Toggle navigation
Toggle navigation
This project
Loading...
Sign in
Fedex
/
EcomWeb
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Snippets
Network
Create a new issue
Builds
Commits
Issue Boards
Authored by
zhanbo.xu
2025-06-17 16:13:40 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
eeae54c3f1c3aab2b93fbd8319ed202f6ac9d831
eeae54c3
1 parent
395f54d4
feat: 新增PDD
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
322 additions
and
407 deletions
src/views/pdd-info/detail.vue
src/views/pdd-info/detail.vue
View file @
eeae54c
...
...
@@ -17,11 +17,11 @@
>
<el-row :gutter="5">
<el-col :span="3">
<Formitem label="电商企业名称" prop="eb
cc
ode">
<Formitem label="电商企业名称" prop="eb
pC
ode">
<el-select
type="text"
id="inputInner--eb
cc
ode"
v-model="formData.eb
cc
ode"
id="inputInner--eb
pC
ode"
v-model="formData.eb
pC
ode"
clearable
filterable
placeholder=""
...
...
@@ -35,23 +35,20 @@
</el-select>
</Formitem>
</el-col>
<!-- 订单编号 -->
<el-col :span="3">
<Formitem label="订单编号" prop="
logisticsCode
">
<Formitem label="订单编号" prop="
orderNo
">
<el-input
type="text"
class="inputShadow"
id="inputInner--
logisticsCode
"
id="inputInner--
orderNo
"
resize="none"
v-model="formData.
logisticsCode
"
v-model="formData.
orderNo
"
disabled
clearable
placeholder=""
></el-input>
</Formitem>
</el-col>
<!-- 电商平台名称 -->
<el-col :span="3">
<Formitem label="物流运单编号" prop="logisticsNo">
<el-input
...
...
@@ -65,8 +62,6 @@
></el-input>
</Formitem>
</el-col>
<!-- 电商平台代码、电商平台名称、生产销售企业代码、生产销售企业名称、申报业务类型 -->
<el-col :span="3">
<Formitem label="电商平台代码" prop="ebpCode">
<el-input
...
...
@@ -80,7 +75,7 @@
></el-input>
</Formitem>
</el-col>
<el-col :span="
6
">
<el-col :span="
3
">
<Formitem label="电商平台名称" prop="ebpName">
<el-input
type="text"
...
...
@@ -93,43 +88,38 @@
></el-input>
</Formitem>
</el-col>
</el-row>
<el-row :gutter="5">
<el-col :span="3">
<Formitem
label="生产销售企业代码"
prop="productionSaleEnterpriseCode"
>
<Formitem label="生产销售企业代码" prop="ownerCode">
<el-input
type="text"
class="inputShadow"
id="inputInner--
productionSaleEnterprise
Code"
id="inputInner--
owner
Code"
resize="none"
v-model="formData.
productionSaleEnterprise
Code"
v-model="formData.
owner
Code"
clearable
placeholder=""
></el-input>
</Formitem>
</el-col>
<el-col :span="
6
">
<Formitem label="生产销售企业名称" prop="
ebc
Name">
<el-col :span="
3
">
<Formitem label="生产销售企业名称" prop="
owner
Name">
<el-input
type="text"
class="inputShadow"
id="inputInner--
ebc
Name"
id="inputInner--
owner
Name"
resize="none"
v-model="formData.
ebc
Name"
v-model="formData.
owner
Name"
clearable
placeholder=""
></el-input>
</Formitem>
</el-col>
<el-col :span="3">
<Formitem label="运抵国(地区)" prop="
destinationCountryRegion
">
<Formitem label="运抵国(地区)" prop="
country
">
<el-select
type="text"
id="inputInner--
destinationCountryRegion
"
v-model="formData.
destinationCountryRegion
"
id="inputInner--
country
"
v-model="formData.
country
"
clearable
filterable
placeholder=""
...
...
@@ -145,11 +135,11 @@
</Formitem>
</el-col>
<el-col :span="3">
<Formitem label="指运港代码" prop="po
rtCode
">
<Formitem label="指运港代码" prop="po
d
">
<el-select
type="text"
id="inputInner--po
rtCode
"
v-model="formData.po
rtCode
"
id="inputInner--po
d
"
v-model="formData.po
d
"
clearable
filterable
placeholder=""
...
...
@@ -165,13 +155,13 @@
</Formitem>
</el-col>
<el-col :span="3">
<Formitem label="贸易方式" prop="
appTyp
e">
<Formitem label="贸易方式" prop="
tradeMod
e">
<el-input
type="text"
class="inputShadow"
id="inputInner--
appTyp
e"
id="inputInner--
tradeMod
e"
resize="none"
v-model="formData.
appTyp
e"
v-model="formData.
tradeMod
e"
disabled
clearable
placeholder=""
...
...
@@ -328,13 +318,13 @@
</Formitem>
</el-col>
<el-col :span="6">
<Formitem label="主要货物信息" prop="
mainG
oodsInfo">
<Formitem label="主要货物信息" prop="
g
oodsInfo">
<el-input
type="text"
class="inputShadow"
id="inputInner--
mainG
oodsInfo"
id="inputInner--
g
oodsInfo"
resize="none"
v-model="formData.
mainG
oodsInfo"
v-model="formData.
g
oodsInfo"
clearable
placeholder=""
></el-input>
...
...
@@ -354,11 +344,89 @@
</Formitem>
</el-col>
<el-col :span="3">
<Formitem label="
包装种类代码" prop="packageTypeCode
">
<Formitem label="
申报业务类型" prop="statisticsFlag
">
<el-select
type="text"
id="inputInner--packageTypeCode"
v-model="formData.packageTypeCode"
id="inputInner--statisticsFlag"
v-model="formData.statisticsFlag"
clearable
placeholder=""
>
<el-option
v-for="(item, index) in $store.getters.dict
.DECLARE_STATISTICS_FLAG"
:key="index"
:label="item.itemChineseName"
:value="item.itemValue"
></el-option>
</el-select>
</Formitem>
</el-col>
<el-col :span="3">
<Formitem label="申报地海关" prop="port">
<el-select
type="text"
id="inputInner--port"
v-model="formData.port"
filterable
clearable
placeholder=""
>
<el-option
v-for="(item, index) in declareCustomsDataList"
:key="index"
:label="item.declarationPortCode"
:value="item.declarationPortCode"
></el-option>
</el-select>
</Formitem>
</el-col>
<el-col :span="3">
<Formitem label="区内企业代码" prop="iacCode">
<el-input
class="inputShadow"
id="inputInner--iacCode"
resize="none"
maxlength="9"
v-model.number="formData.iacCode"
clearable
placeholder=""
></el-input>
</Formitem>
</el-col>
<el-col :span="3">
<Formitem label="区内企业名称" prop="iacName">
<el-input
class="inputShadow"
id="inputInner--iacName"
resize="none"
maxlength="9"
v-model.number="formData.iacName"
clearable
placeholder=""
></el-input>
</Formitem>
</el-col>
<el-col :span="3">
<Formitem label="账册编号" prop="emsNo">
<el-input
class="inputShadow"
id="inputInner--emsNo"
resize="none"
maxlength="9"
v-model.number="formData.emsNo"
clearable
placeholder=""
></el-input>
</Formitem>
</el-col>
<el-col :span="3">
<Formitem label="包装种类代码" prop="wrapType">
<el-select
type="text"
id="inputInner--wrapType"
v-model="formData.wrapType"
clearable
placeholder=""
>
...
...
@@ -411,9 +479,9 @@
></el-input>
</Formitem>
</el-col>
<!-- ===================== --
>
<el-col :span="3">
</el-row>
<el-row :gutter="5"
>
<
!-- <
el-col :span="3">
<Formitem label="出口日期" prop="exportDate">
<el-date-picker
class="inputInner--createTime"
...
...
@@ -425,12 +493,8 @@
value-format="yyyy-MM-dd"
/>
</Formitem>
</el-col>
<!-- 商品金额 -->
</el-row>
<el-row :gutter="5">
<el-col :span="3">
</el-col> -->
<!-- <el-col :span="3">
<Formitem label="航班号" prop="flightNumber">
<el-input
type="text"
...
...
@@ -442,9 +506,8 @@
placeholder=""
></el-input>
</Formitem>
</el-col>
<!-- 备注 -->
<el-col :span="3">
</el-col> -->
<!-- <el-col :span="3">
<Formitem label="提运单号" prop="billno">
<el-input
type="text"
...
...
@@ -456,8 +519,8 @@
placeholder=""
></el-input>
</Formitem>
</el-col>
<el-col :span="3">
</el-col>
-->
<
!-- <
el-col :span="3">
<Formitem label="总包号" prop="totalPackageNo">
<el-input
type="text"
...
...
@@ -469,8 +532,8 @@
placeholder=""
></el-input>
</Formitem>
</el-col>
<el-col :span="3">
</el-col>
-->
<
!-- <
el-col :span="3">
<Formitem label="监管场所代码" prop="regulatoryVenueCode">
<el-input
type="text"
...
...
@@ -482,8 +545,8 @@
placeholder=""
></el-input>
</Formitem>
</el-col>
<el-col :span="3">
</el-col>
-->
<
!-- <
el-col :span="3">
<Formitem label="许可证号" prop="licenseKey">
<el-input
type="text"
...
...
@@ -495,7 +558,7 @@
placeholder=""
></el-input>
</Formitem>
</el-col>
</el-col>
-->
</el-row>
</el-form>
</section>
...
...
@@ -527,7 +590,7 @@
:rowKey="'gnum'"
:expandRowKeys="expandRowKeys"
>
<template slot="rowDataEdit" slot-scope="props">
<
!-- <
template slot="rowDataEdit" slot-scope="props">
<RowDataEditForm
ref="rowEditForm"
:rowDatas="props"
...
...
@@ -535,7 +598,7 @@
@rowFormDataSave="rowFormDataSave"
@updateLastItemValid="handleUpdateLastItemValid"
/>
</template>
</template>
-->
<template v-slot:destinationCountryRegionCode="scope">
<span>{{
mapDicDatas(
...
...
@@ -570,7 +633,7 @@
mapCurrencyDatas($store.getters.dict.CURRENCY, scope.row.currency)
}}</span>
</template>
<template slot="optionColumn">
<
!-- <
template slot="optionColumn">
<el-table-column align="left" label="操作" width="100">
<template slot-scope="scope">
<el-button type="text" @click="updateRow(scope.row)">
...
...
@@ -581,36 +644,19 @@
</el-button>
</template>
</el-table-column>
</template>
</template>
-->
</Table>
</section>
<div class="addNewItem">
<i class="el-icon-circle-plus-outline" @click="addNewItem"></i>
<span @click="addNewItem">添加新商品</span>
</div>
<div style="margin-top: 20px; text-align: center">
<el-button
class="entrySaveButton entrySaveButton-background revokeSubmitBtn"
type="primary"
@click="submitEditedReportDatas"
>保存</el-button
>
<el-button class="entrySaveButton" @click="back">返回</el-button>
</div>
</div>
</template>
<script>
import RowDataEditForm from "./RowDataEditForm.vue";
import {
getCustomerList,
getPortList,
getDeclareData,
updateDeclareData,
} from "@/api/declareData-api.js";
// import RowDataEditForm from "./RowDataEditForm.vue";
import { getCustomerDeclareDataId } from "@/api/pdd-info";
import { getCustomerList, getPortList } from "@/api/declareData-api.js";
export default {
name: "",
components: { RowDataEditForm },
//
components: { RowDataEditForm },
data() {
var checkNegativeNum = (rule, value, callback) => {
if (value < 0) {
...
...
@@ -653,168 +699,168 @@ export default {
appType: 9610,
},
formRules: {
ebccode: [
{ required: true, message: "请选择电商企业", trigger: "change" },
],
logisticsCode: [
{ required: true, message: "请选择物流企业", trigger: "change" },
],
orderNo: [
{ required: true, message: "请输入订单编号", trigger: "blur" },
{ max: 60, message: "长度不能超过60个字符", trigger: "blur" },
],
logisticsNo: [
{ required: true, message: "请输入物流运单编号", trigger: "blur" },
{ max: 80, message: "长度不能超过80个字符", trigger: "blur" },
],
declareCustomsCode: [
{ required: true, message: "请选择申报地海关", trigger: "change" },
],
exportDate: [{ message: "请选择出口日期", trigger: "change" }],
goodsValue: [
{ required: true, message: "请输入商品金额", trigger: "blur" },
],
miscellaneousFreight: [
{ validator: checkNegativeNum, trigger: "blur" },
],
currency: [
{ required: true, message: "请选择币制", trigger: "change" },
],
mainGoodsInfo: [
{ required: true, message: "请输入主要物品信息", trigger: "blur" },
{ max: 200, message: "长度不能超过200个字符", trigger: "blur" },
],
flightNumber: [
{ required: true, message: "请输入航班号", trigger: "blur" },
{ max: 32, message: "长度不能超过32个字符", trigger: "blur" },
],
billno: [
{ required: true, message: "请输入提运单号", trigger: "blur" },
{ max: 37, message: "长度不能超过37个字符", trigger: "blur" },
],
totalPackageNo: [
{ max: 37, message: "长度不能超过37个字符", trigger: "blur" },
],
regulatoryVenueCode: [
{ max: 10, message: "长度不能超过10个字符", trigger: "blur" },
],
licenseKey: [
{ max: 19, message: "长度不能超过19个字符", trigger: "blur" },
],
destinationCountryRegion: [
{ required: true, message: "请选择运抵国", trigger: "change" },
],
portCode: [
{ required: true, message: "请选择运指运港代码", trigger: "change" },
],
freight: [
{ required: true, message: "请输入运费", trigger: "blur" },
{ validator: checkNegativeNum, trigger: "blur" },
],
freightCurrency: [
{ required: true, message: "请选择运费币制", trigger: "change" },
],
freightTag: [
{ required: true, message: "请选择运费标志", trigger: "change" },
],
insuredfee: [
{ required: true, message: "请输入保费", trigger: "blur" },
{ validator: checkInsuredFee, trigger: "blur" },
],
insuredfeeCurrency: [
{ required: true, message: "请输入保费币制", trigger: "blur" },
],
insuredfeeTag: [
{ required: true, message: "请输选择保费标志", trigger: "change" },
],
packageTypeCode: [
{ required: true, message: "请选择包装种类代码", trigger: "change" },
],
packNo: [
{ required: true, message: "请输入件数", trigger: "blur" },
{ validator: checkPackNo, trigger: "blur" },
],
weight: [
{ required: true, message: "请输入毛重", trigger: "blur" },
{ validator: checkNegativeNum, trigger: "blur" },
],
netWeight: [{ required: true, message: "请输入净重", trigger: "blur" }],
remark: [
{ max: 1000, message: "长度不能超过1000个字符", trigger: "blur" },
],
ebpCode: [
{ required: true, message: "请输入电商平台代码", trigger: "blur" },
],
ebpName: [
{ required: true, message: "请输入电商平台名称", trigger: "blur" },
],
productionSaleEnterpriseCode: [
{
required: true,
message: "请输入生产销售企业代码",
trigger: "blur",
},
],
ebcName: [
{
required: true,
message: "请输入生产销售企业名称",
trigger: "blur",
},
],
declareBusinessType: [
{ required: true, message: "请选择申报业务类型", trigger: "change" },
],
//
ebccode: [
//
{ required: true, message: "请选择电商企业", trigger: "change" },
//
],
//
logisticsCode: [
//
{ required: true, message: "请选择物流企业", trigger: "change" },
//
],
//
orderNo: [
//
{ required: true, message: "请输入订单编号", trigger: "blur" },
//
{ max: 60, message: "长度不能超过60个字符", trigger: "blur" },
//
],
//
logisticsNo: [
//
{ required: true, message: "请输入物流运单编号", trigger: "blur" },
//
{ max: 80, message: "长度不能超过80个字符", trigger: "blur" },
//
],
//
declareCustomsCode: [
//
{ required: true, message: "请选择申报地海关", trigger: "change" },
//
],
//
exportDate: [{ message: "请选择出口日期", trigger: "change" }],
//
goodsValue: [
//
{ required: true, message: "请输入商品金额", trigger: "blur" },
//
],
//
miscellaneousFreight: [
//
{ validator: checkNegativeNum, trigger: "blur" },
//
],
//
currency: [
//
{ required: true, message: "请选择币制", trigger: "change" },
//
],
//
mainGoodsInfo: [
//
{ required: true, message: "请输入主要物品信息", trigger: "blur" },
//
{ max: 200, message: "长度不能超过200个字符", trigger: "blur" },
//
],
//
flightNumber: [
//
{ required: true, message: "请输入航班号", trigger: "blur" },
//
{ max: 32, message: "长度不能超过32个字符", trigger: "blur" },
//
],
//
billno: [
//
{ required: true, message: "请输入提运单号", trigger: "blur" },
//
{ max: 37, message: "长度不能超过37个字符", trigger: "blur" },
//
],
//
totalPackageNo: [
//
{ max: 37, message: "长度不能超过37个字符", trigger: "blur" },
//
],
//
regulatoryVenueCode: [
//
{ max: 10, message: "长度不能超过10个字符", trigger: "blur" },
//
],
//
licenseKey: [
//
{ max: 19, message: "长度不能超过19个字符", trigger: "blur" },
//
],
//
destinationCountryRegion: [
//
{ required: true, message: "请选择运抵国", trigger: "change" },
//
],
//
portCode: [
//
{ required: true, message: "请选择运指运港代码", trigger: "change" },
//
],
//
freight: [
//
{ required: true, message: "请输入运费", trigger: "blur" },
//
{ validator: checkNegativeNum, trigger: "blur" },
//
],
//
freightCurrency: [
//
{ required: true, message: "请选择运费币制", trigger: "change" },
//
],
//
freightTag: [
//
{ required: true, message: "请选择运费标志", trigger: "change" },
//
],
//
insuredfee: [
//
{ required: true, message: "请输入保费", trigger: "blur" },
//
{ validator: checkInsuredFee, trigger: "blur" },
//
],
//
insuredfeeCurrency: [
//
{ required: true, message: "请输入保费币制", trigger: "blur" },
//
],
//
insuredfeeTag: [
//
{ required: true, message: "请输选择保费标志", trigger: "change" },
//
],
//
packageTypeCode: [
//
{ required: true, message: "请选择包装种类代码", trigger: "change" },
//
],
//
packNo: [
//
{ required: true, message: "请输入件数", trigger: "blur" },
//
{ validator: checkPackNo, trigger: "blur" },
//
],
//
weight: [
//
{ required: true, message: "请输入毛重", trigger: "blur" },
//
{ validator: checkNegativeNum, trigger: "blur" },
//
],
//
netWeight: [{ required: true, message: "请输入净重", trigger: "blur" }],
//
remark: [
//
{ max: 1000, message: "长度不能超过1000个字符", trigger: "blur" },
//
],
//
ebpCode: [
//
{ required: true, message: "请输入电商平台代码", trigger: "blur" },
//
],
//
ebpName: [
//
{ required: true, message: "请输入电商平台名称", trigger: "blur" },
//
],
//
productionSaleEnterpriseCode: [
//
{
//
required: true,
//
message: "请输入生产销售企业代码",
//
trigger: "blur",
//
},
//
],
//
ebcName: [
//
{
//
required: true,
//
message: "请输入生产销售企业名称",
//
trigger: "blur",
//
},
//
],
//
declareBusinessType: [
//
{ required: true, message: "请选择申报业务类型", trigger: "change" },
//
],
},
detailData: [],
detialHeaderData: [
{
value: "rowDataEdit",
expand: true,
width: 0,
},
//
{
//
value: "rowDataEdit",
//
expand: true,
//
width: 0,
//
},
{
name: "企业商品货号",
value: "
enterpriseProductCode
",
value: "
itemNo
",
width: "",
align: "left",
},
{
name: "企业商品名称",
value: "
enterpriseProduct
Name",
value: "
item
Name",
width: "",
align: "left",
},
{
name: "企业商品描述",
value: "
enterpriseProduct
Describe",
value: "
item
Describe",
width: "",
align: "left",
},
{
name: "商品名称",
value: "
product
Name",
value: "
item
Name",
width: "",
align: "left",
},
{
name: "商品编码",
value: "
product
Code",
value: "
hs
Code",
width: "",
align: "left",
},
{
name: "规格型号",
value: "model",
width: "",
align: "left",
},
{
name: "账册备案料号",
value: "accountBookMaterialNumber",
value: "gmodel",
width: "",
align: "left",
},
// {
// name: "账册备案料号",
// value: "accountBookMaterialNumber",
// width: "",
// align: "left",
// },
{
name: "条形码",
value: "barCode",
...
...
@@ -828,41 +874,42 @@ export default {
align: "left",
slot: true,
},
{
name: "
计量单位
",
value: "
unit
",
name: "
数量
",
value: "
qty
",
width: "",
align: "left",
slot: true,
},
{
name: "
数量
",
value: "
qty
",
name: "
计量单位
",
value: "
unit
",
width: "",
align: "left",
slot: true,
},
{
name: "法定数量",
value: "
legalQty
",
value: "
qty1
",
width: "",
align: "left",
},
{
name: "法定计量单位",
value: "unit
LegalFirstCode
",
value: "unit
1
",
width: "",
align: "left",
slot: true,
},
{
name: "第二数量",
value: "
secondQty
",
value: "
qty2
",
width: "",
align: "left",
},
{
name: "第二计量单位",
value: "unit
LegalSecondCode
",
value: "unit
2
",
width: "",
align: "left",
slot: true,
...
...
@@ -886,18 +933,18 @@ export default {
width: "",
align: "left",
},
{
name: "净重",
value: "netWeight",
width: "",
align: "left",
},
{
name: "备注",
value: "remark",
width: "",
align: "left",
},
//
{
//
name: "净重",
//
value: "netWeight",
//
width: "",
//
align: "left",
//
},
//
{
//
name: "备注",
//
value: "remark",
//
width: "",
//
align: "left",
//
},
],
loadings: {
entryLoading: false,
...
...
@@ -914,7 +961,7 @@ export default {
},
created() {
if (this.$route.params.data) {
this.declareId = this.$route.params.data.
declareI
d;
this.declareId = this.$route.params.data.
i
d;
this.queryDeclareData(this.declareId);
this.queryCustomerList();
this.queryPortList();
...
...
@@ -939,7 +986,9 @@ export default {
}
},
mapCurrencyDatas(dicArr, code) {
if (code != "") {
console.log(dicArr, code);
if (code != "" && code) {
return dicArr.filter((item) => item.itemValue == code)[0]
.itemChineseName;
} else {
...
...
@@ -975,16 +1024,16 @@ export default {
});
},
//获取申报数据
queryDeclareData(
declareI
d) {
get
DeclareData({ declareI
d })
queryDeclareData(
i
d) {
get
CustomerDeclareDataId({ customerDeclareDataId: i
d })
.then((res) => {
// console.log(1111, res)
if (res.code == 200) {
res.data.
declare.orderNo = res.data.declare.ordern
o;
this.formData = res.data
.declare
;
res.data.
orderNo = res.data.orderN
o;
this.formData = res.data;
this.formData.appType = 9610;
this.detailData = res.data.product.length
? res.data.product.map((item, index) => {
this.detailData = res.data.product
List
.length
? res.data.product
List
.map((item, index) => {
item.gnum = index + 1;
return item;
})
...
...
@@ -1006,86 +1055,25 @@ export default {
this.$router.go(-1);
},
//添加新商品
async addNewItem() {
// 如果上一次新增的 item 没有通过校验,则不允许新增
//console.log("this",this.lastItemValid)
// if (!this.lastItemValid) {
// console.log(11)
// this.$message.warning('请先完善新增的商品信息');
// return;
// }
// 获取最后一个 item 的引用
const lastItem = this.detailData[this.detailData.length - 1];
// 如果存在上一次新增的 item,则进行校验
if (lastItem) {
// 获取 RowDataEditForm 组件的引用
const rowEditForm = this.$refs.rowEditForm;
if (rowEditForm) {
// 调用校验方法
const isValid = await rowEditForm.validate();
// console.log("y:",this.lastItemValid)
// console.log("!",isValid)
if (!isValid) {
// console.log(22)
this.lastItemValid = false; // 标记上一次新增的 item 未通过校验
this.$message.warning("请先完善新增的商品信息");
return;
}
}
}
// 校验通过,允许新增 item
let orderNum =
this.detailData.at(-1) === undefined
? 1
: this.detailData.at(-1).gnum + 1;
this.detailData.push({
gnum: orderNum,
accountBookMaterialNumber: "",
barCode: "",
currency: "",
destinationCountryRegionCode: "",
enterpriseProductCode: "",
enterpriseProductDescribe: "",
enterpriseProductName: "",
legalQty: 0,
secondQty: 0,
model: "",
netWeight: 0,
price: 0,
productCode: "",
productName: "",
qty: 0,
remark: "",
totalPrice: 0,
unit: "",
isNew: true, // 添加 isNew 标志
});
// updateRow(row) {
// if (this.expandRowKeys.length > 0) return;
// this.expandRowKeys = [row.gnum];
// this.currentRowKey = row.gnum; // 设置当前行的 gnum
this.$nextTick(() => {
this.expandRowKeys = [orderNum];
this.lastItemValid = true; // 重置标志位
});
},
updateRow(row) {
if (this.expandRowKeys.length > 0) return;
this.expandRowKeys = [row.gnum];
this.currentRowKey = row.gnum; // 设置当前行的 gnum
// // 保存原始数据
// this.originalDetailData[row.gnum] = { ...row };
// 保存原始数据
this.originalDetailData[row.gnum] = { ...row };
// let obj = {};
// for (let key in row) {
// obj[key] = row[key];
// }
let obj = {};
for (let key in row) {
obj[key] = row[key];
}
this.$nextTick(() => {
this.$refs.rowEditForm.tableRowformData = obj;
// const table = this.$refs.entryTable.$el.querySelector('.el-table__body-wrapper');
// table.scrollTop = row.gnum*51+10
});
},
// this.$nextTick(() => {
// this.$refs.rowEditForm.tableRowformData = obj;
// // const table = this.$refs.entryTable.$el.querySelector('.el-table__body-wrapper');
// // table.scrollTop = row.gnum*51+10
// });
// },
getTotalNumber() {
let totalNetWeight = 0;
let totalGoodsValue = 0;
...
...
@@ -1096,80 +1084,21 @@ export default {
this.formData.netWeight = totalNetWeight.toFixed(5);
this.formData.goodsValue = totalGoodsValue.toFixed(5);
},
deleteRow(row) {
this.detailData = this.detailData
.filter((item) => item.gnum != row.gnum)
.map((item, index) => {
item.gnum = index + 1;
return item;
});
this.$nextTick(() => {
this.getTotalNumber();
this.expandRowKeys = [];
this.detailData.length;
this.lastItemValid = this.detailData.length === row.index;
});
},
rowFormDataSave(props) {
this.detailData.map((item) => {
if (item.gnum == props.gnum) {
item = Object.assign(item, props.tableRowformData);
return item;
}
});
this.expandRowKeys = [];
this.$nextTick(() => {
this.lastItemValid = true;
this.getTotalNumber();
});
},
cancelEditRowData(index) {
this.lastItemValid = true; // 重置标志位
this.expandRowKeys = [];
if (index !== undefined) {
const gnum = this.detailData[index].gnum;
if (this.detailData[index].isNew) {
// 如果是新添加的项,则删除该项
this.detailData.splice(index, 1);
} else {
// 否则,恢复原始数据
if (this.originalDetailData[gnum]) {
this.detailData[index] = { ...this.originalDetailData[gnum] };
delete this.originalDetailData[gnum]; // 删除保存的原始数据
}
}
}
},
// 更新 lastItemValid
handleUpdateLastItemValid(isValid) {
this.lastItemValid = isValid;
},
//提交更新数据
submitEditedReportDatas() {
this.$refs.editForm.validate((valid) => {
if (valid) {
let data = {
declare: this.formData,
product: this.detailData,
};
updateDeclareData(data)
.then((res) => {
if (res.code == 200) {
this.msgSuccess("数据更新成功");
this.queryDeclareData(this.declareId);
this.lastItemValid = true;
} else {
this.alertWarningMsg(res.message);
}
})
.catch((err) => {
console.log(err);
});
} else {
return false;
}
});
},
// deleteRow(row) {
// this.detailData = this.detailData
// .filter((item) => item.gnum != row.gnum)
// .map((item, index) => {
// item.gnum = index + 1;
// return item;
// });
// this.$nextTick(() => {
// this.getTotalNumber();
// this.expandRowKeys = [];
// this.detailData.length;
// this.lastItemValid = this.detailData.length === row.index;
// });
// },
//取消编辑
cancelEditedReportDatas() {},
},
...
...
@@ -1202,21 +1131,7 @@ export default {
border-bottom: 1px solid #333;
}
}
.addNewItem {
display: flex;
justify-content: flex-start;
align-items: center;
color: #007ab7;
line-height: 38px;
i {
margin-right: 3px;
}
span {
font-size: 13px;
font-weight: 500;
cursor: pointer;
}
}
.formRowDataOperate {
text-align: right;
padding: 0 20px;
...
...
Please
register
or
login
to post a comment