zhanbo.xu

feat: 新增PDD

1 +import request from "@/utils/request";
2 +// GET
3 +// /customerDeclareData/info/{customerDeclareDataId}
4 +// 查询客户申报数据信息
5 +export function getCustomerDeclareDataId({ customerDeclareDataId }) {
6 + return request({
7 + url: `/bus-customer/customerDeclareData/info/${customerDeclareDataId}`,
8 + method: "get",
9 + });
10 +}
11 +
12 +// POST
13 +// /customerDeclareData/search
14 +// 查询客户申报数据列表
15 +export function getPddInfo(data) {
16 + return request({
17 + url: "/bus-customer/customerDeclareData/search",
18 + method: "post",
19 + data: data,
20 + });
21 +}
...@@ -5,7 +5,6 @@ Vue.use(Router); ...@@ -5,7 +5,6 @@ Vue.use(Router);
5 5
6 /* Layout */ 6 /* Layout */
7 import Layout from "@/layout"; 7 import Layout from "@/layout";
8 -import ParentView from "@/components/ParentView";
9 8
10 /** 9 /**
11 * Note: 路由配置项 10 * Note: 路由配置项
...@@ -198,6 +197,14 @@ export const constantRoutes = [ ...@@ -198,6 +197,14 @@ export const constantRoutes = [
198 hidden: true, 197 hidden: true,
199 meta: { title: "运抵详情", icon: "" }, 198 meta: { title: "运抵详情", icon: "" },
200 }, 199 },
200 + {
201 + path: "/pdd-detail",
202 + component: (resolve) =>
203 + require(["@/views/pdd-info/detail.vue"], resolve),
204 + name: "PddListDetail",
205 + hidden: true,
206 + meta: { title: "PDD数据详情", icon: "" },
207 + },
201 ], 208 ],
202 }, 209 },
203 { 210 {
......
1 +<template>
2 + <div class="entry" v-loading="loadings.entryLoading">
3 + <div class="entryTitle">
4 + <div>详情</div>
5 + <div>
6 + <el-button class="entrySaveButton" @click="back">返 回</el-button>
7 + </div>
8 + </div>
9 + <section :class="{ partsHidden: !isFold }">
10 + <el-form
11 + class="fedexFormStyle fedexFormEditStyle"
12 + ref="editForm"
13 + :model="formData"
14 + :rules="formRules"
15 + label-position="top"
16 + size="small"
17 + >
18 + <el-row :gutter="5">
19 + <el-col :span="3">
20 + <Formitem label="电商企业名称" prop="ebccode">
21 + <el-select
22 + type="text"
23 + id="inputInner--ebccode"
24 + v-model="formData.ebccode"
25 + clearable
26 + filterable
27 + placeholder=""
28 + >
29 + <el-option
30 + v-for="(item, index) in ebcDataList"
31 + :key="index"
32 + :label="item.ecomEntName"
33 + :value="item.ecomEntCode"
34 + ></el-option>
35 + </el-select>
36 + </Formitem>
37 + </el-col>
38 + <!-- 订单编号 -->
39 + <el-col :span="3">
40 + <Formitem label="订单编号" prop="logisticsCode">
41 + <el-input
42 + type="text"
43 + class="inputShadow"
44 + id="inputInner--logisticsCode"
45 + resize="none"
46 + v-model="formData.logisticsCode"
47 + disabled
48 + clearable
49 + placeholder=""
50 + ></el-input>
51 + </Formitem>
52 + </el-col>
53 +
54 + <!-- 电商平台名称 -->
55 + <el-col :span="3">
56 + <Formitem label="物流运单编号" prop="logisticsNo">
57 + <el-input
58 + type="text"
59 + class="inputShadow"
60 + id="inputInner--logisticsNo"
61 + resize="none"
62 + v-model="formData.logisticsNo"
63 + clearable
64 + placeholder=""
65 + ></el-input>
66 + </Formitem>
67 + </el-col>
68 +
69 + <!-- 电商平台代码、电商平台名称、生产销售企业代码、生产销售企业名称、申报业务类型 -->
70 + <el-col :span="3">
71 + <Formitem label="电商平台代码" prop="ebpCode">
72 + <el-input
73 + type="text"
74 + class="inputShadow"
75 + id="inputInner--ebpCode"
76 + resize="none"
77 + v-model="formData.ebpCode"
78 + clearable
79 + placeholder=""
80 + ></el-input>
81 + </Formitem>
82 + </el-col>
83 + <el-col :span="6">
84 + <Formitem label="电商平台名称" prop="ebpName">
85 + <el-input
86 + type="text"
87 + class="inputShadow"
88 + id="inputInner--ebpName"
89 + resize="none"
90 + v-model="formData.ebpName"
91 + clearable
92 + placeholder=""
93 + ></el-input>
94 + </Formitem>
95 + </el-col>
96 + </el-row>
97 + <el-row :gutter="5">
98 + <el-col :span="3">
99 + <Formitem
100 + label="生产销售企业代码"
101 + prop="productionSaleEnterpriseCode"
102 + >
103 + <el-input
104 + type="text"
105 + class="inputShadow"
106 + id="inputInner--productionSaleEnterpriseCode"
107 + resize="none"
108 + v-model="formData.productionSaleEnterpriseCode"
109 + clearable
110 + placeholder=""
111 + ></el-input>
112 + </Formitem>
113 + </el-col>
114 + <el-col :span="6">
115 + <Formitem label="生产销售企业名称" prop="ebcName">
116 + <el-input
117 + type="text"
118 + class="inputShadow"
119 + id="inputInner--ebcName"
120 + resize="none"
121 + v-model="formData.ebcName"
122 + clearable
123 + placeholder=""
124 + ></el-input>
125 + </Formitem>
126 + </el-col>
127 + <el-col :span="3">
128 + <Formitem label="运抵国(地区)" prop="destinationCountryRegion">
129 + <el-select
130 + type="text"
131 + id="inputInner--destinationCountryRegion"
132 + v-model="formData.destinationCountryRegion"
133 + clearable
134 + filterable
135 + placeholder=""
136 + >
137 + <el-option
138 + v-for="(item, index) in $store.getters.dict
139 + .COUNTRY_REGION_CODE"
140 + :key="index"
141 + :label="item.itemChineseName"
142 + :value="item.itemCode"
143 + ></el-option>
144 + </el-select>
145 + </Formitem>
146 + </el-col>
147 + <el-col :span="3">
148 + <Formitem label="指运港代码" prop="portCode">
149 + <el-select
150 + type="text"
151 + id="inputInner--portCode"
152 + v-model="formData.portCode"
153 + clearable
154 + filterable
155 + placeholder=""
156 + >
157 + <el-option
158 + v-for="(item, index) in $store.getters.dict
159 + .COUNTRY_REGION_CODE"
160 + :key="index"
161 + :label="item.itemChineseName"
162 + :value="item.itemCode"
163 + ></el-option>
164 + </el-select>
165 + </Formitem>
166 + </el-col>
167 + <el-col :span="3">
168 + <Formitem label="贸易方式" prop="appType">
169 + <el-input
170 + type="text"
171 + class="inputShadow"
172 + id="inputInner--appType"
173 + resize="none"
174 + v-model="formData.appType"
175 + disabled
176 + clearable
177 + placeholder=""
178 + ></el-input>
179 + </Formitem>
180 + </el-col>
181 + <el-col :span="3">
182 + <Formitem label="运费" prop="freight">
183 + <el-input
184 + type="number"
185 + class="inputShadow"
186 + id="inputInner--freight"
187 + resize="none"
188 + v-model="formData.freight"
189 + :min="0"
190 + clearable
191 + placeholder=""
192 + ></el-input>
193 + </Formitem>
194 + </el-col>
195 + <el-col :span="3">
196 + <Formitem label="运费币制" prop="freightCurrency">
197 + <el-select
198 + type="text"
199 + id="inputInner--freightCurrency"
200 + v-model="formData.freightCurrency"
201 + clearable
202 + filterable
203 + placeholder=""
204 + >
205 + <el-option
206 + v-for="(item, index) in $store.getters.dict.CURRENCY"
207 + :key="index"
208 + :label="item.itemChineseName"
209 + :value="item.itemValue"
210 + ></el-option>
211 + </el-select>
212 + </Formitem>
213 + </el-col>
214 + <el-col :span="3">
215 + <Formitem label="运费标志" prop="freightTag">
216 + <el-select
217 + type="text"
218 + id="inputInner--freightTag"
219 + v-model="formData.freightTag"
220 + clearable
221 + placeholder=""
222 + >
223 + <el-option
224 + v-for="(item, index) in $store.getters.dict.DECLARE_F_FLAG"
225 + :key="index"
226 + :label="item.itemChineseName"
227 + :value="item.itemValue"
228 + ></el-option>
229 + </el-select>
230 + </Formitem>
231 + </el-col>
232 + <el-col :span="3">
233 + <Formitem label="保费" prop="insuredfee">
234 + <el-input
235 + type="number"
236 + class="inputShadow"
237 + id="inputInner--insuredfee"
238 + resize="none"
239 + v-model="formData.insuredfee"
240 + clearable
241 + placeholder=""
242 + ></el-input>
243 + </Formitem>
244 + </el-col>
245 + <el-col :span="3">
246 + <Formitem label="保费币制" prop="insuredfeeCurrency">
247 + <el-select
248 + type="text"
249 + id="inputInner--insuredfeeCurrency"
250 + v-model="formData.insuredfeeCurrency"
251 + clearable
252 + filterable
253 + placeholder=""
254 + >
255 + <el-option
256 + v-for="(item, index) in $store.getters.dict.CURRENCY"
257 + :key="index"
258 + :label="item.itemChineseName"
259 + :value="item.itemValue"
260 + ></el-option>
261 + </el-select>
262 + </Formitem>
263 + </el-col>
264 + <el-col :span="3">
265 + <Formitem label="保费标志" prop="insuredfeeTag">
266 + <el-select
267 + type="text"
268 + id="inputInner--insuredfeeTag"
269 + v-model="formData.insuredfeeTag"
270 + clearable
271 + placeholder=""
272 + >
273 + <el-option
274 + v-for="(item, index) in $store.getters.dict.DECLARE_F_FLAG"
275 + :key="index"
276 + :label="item.itemChineseName"
277 + :value="item.itemValue"
278 + ></el-option>
279 + </el-select>
280 + </Formitem>
281 + </el-col>
282 + <el-col :span="3">
283 + <Formitem label="商品金额" prop="goodsValue">
284 + <el-input
285 + type="number"
286 + class="inputShadow"
287 + id="inputInner--goodsValue"
288 + resize="none"
289 + v-model="formData.goodsValue"
290 + disabled
291 + clearable
292 + placeholder=""
293 + ></el-input>
294 + </Formitem>
295 + </el-col>
296 + <!-- 运杂费 -->
297 + <el-col :span="3">
298 + <Formitem label="运杂费" prop="miscellaneousFreight">
299 + <el-input
300 + type="number"
301 + class="inputShadow"
302 + id="inputInner--miscellaneousFreight"
303 + resize="none"
304 + v-model="formData.miscellaneousFreight"
305 + clearable
306 + placeholder=""
307 + ></el-input>
308 + </Formitem>
309 + </el-col>
310 + <!-- 币制 -->
311 + <el-col :span="3">
312 + <Formitem label="币制" prop="currency">
313 + <el-select
314 + type="text"
315 + id="inputInner--currency"
316 + v-model="formData.currency"
317 + filterable
318 + clearable
319 + placeholder=""
320 + >
321 + <el-option
322 + v-for="(item, index) in $store.getters.dict.CURRENCY"
323 + :key="index"
324 + :label="item.itemChineseName"
325 + :value="item.itemValue"
326 + ></el-option>
327 + </el-select>
328 + </Formitem>
329 + </el-col>
330 + <el-col :span="6">
331 + <Formitem label="主要货物信息" prop="mainGoodsInfo">
332 + <el-input
333 + type="text"
334 + class="inputShadow"
335 + id="inputInner--mainGoodsInfo"
336 + resize="none"
337 + v-model="formData.mainGoodsInfo"
338 + clearable
339 + placeholder=""
340 + ></el-input>
341 + </Formitem>
342 + </el-col>
343 + <el-col :span="3">
344 + <Formitem label="件数" prop="packNo">
345 + <el-input
346 + class="inputShadow"
347 + id="inputInner--packNo"
348 + resize="none"
349 + maxlength="9"
350 + v-model.number="formData.packNo"
351 + clearable
352 + placeholder=""
353 + ></el-input>
354 + </Formitem>
355 + </el-col>
356 + <el-col :span="3">
357 + <Formitem label="包装种类代码" prop="packageTypeCode">
358 + <el-select
359 + type="text"
360 + id="inputInner--packageTypeCode"
361 + v-model="formData.packageTypeCode"
362 + clearable
363 + placeholder=""
364 + >
365 + <el-option
366 + v-for="(item, index) in $store.getters.dict.PACKAGE_TYPE_CODE"
367 + :key="index"
368 + :label="item.itemChineseName"
369 + :value="item.itemCode"
370 + ></el-option>
371 + </el-select>
372 + </Formitem>
373 + </el-col>
374 + <el-col :span="3">
375 + <Formitem label="毛重(公斤)" prop="weight">
376 + <el-input
377 + type="number"
378 + class="inputShadow"
379 + id="inputInner--weight"
380 + resize="none"
381 + v-model="formData.weight"
382 + clearable
383 + placeholder=""
384 + ></el-input>
385 + </Formitem>
386 + </el-col>
387 + <el-col :span="3">
388 + <Formitem label="净重(公斤)" prop="netWeight">
389 + <el-input
390 + type="number"
391 + class="inputShadow"
392 + id="inputInner--netWeight"
393 + resize="none"
394 + v-model="formData.netWeight"
395 + disabled
396 + clearable
397 + placeholder=""
398 + ></el-input>
399 + </Formitem>
400 + </el-col>
401 + <el-col :span="6">
402 + <Formitem label="备注" prop="remark">
403 + <el-input
404 + type="text"
405 + class="inputShadow"
406 + id="inputInner--remark"
407 + resize="none"
408 + v-model="formData.remark"
409 + clearable
410 + placeholder=""
411 + ></el-input>
412 + </Formitem>
413 + </el-col>
414 +
415 + <!-- ===================== -->
416 + <el-col :span="3">
417 + <Formitem label="出口日期" prop="exportDate">
418 + <el-date-picker
419 + class="inputInner--createTime"
420 + id="inputInner--exportDate"
421 + v-model="formData.exportDate"
422 + type="date"
423 + format="yyyy-MM-dd"
424 + prefix-icon="none"
425 + value-format="yyyy-MM-dd"
426 + />
427 + </Formitem>
428 + </el-col>
429 +
430 + <!-- 商品金额 -->
431 + </el-row>
432 + <el-row :gutter="5">
433 + <el-col :span="3">
434 + <Formitem label="航班号" prop="flightNumber">
435 + <el-input
436 + type="text"
437 + class="inputShadow"
438 + id="inputInner--flightNumber"
439 + resize="none"
440 + v-model="formData.flightNumber"
441 + clearable
442 + placeholder=""
443 + ></el-input>
444 + </Formitem>
445 + </el-col>
446 + <!-- 备注 -->
447 + <el-col :span="3">
448 + <Formitem label="提运单号" prop="billno">
449 + <el-input
450 + type="text"
451 + class="inputShadow"
452 + id="inputInner--billno"
453 + resize="none"
454 + v-model="formData.billno"
455 + clearable
456 + placeholder=""
457 + ></el-input>
458 + </Formitem>
459 + </el-col>
460 + <el-col :span="3">
461 + <Formitem label="总包号" prop="totalPackageNo">
462 + <el-input
463 + type="text"
464 + class="inputShadow"
465 + id="inputInner--totalPackageNo"
466 + resize="none"
467 + v-model="formData.totalPackageNo"
468 + clearable
469 + placeholder=""
470 + ></el-input>
471 + </Formitem>
472 + </el-col>
473 + <el-col :span="3">
474 + <Formitem label="监管场所代码" prop="regulatoryVenueCode">
475 + <el-input
476 + type="text"
477 + class="inputShadow"
478 + id="inputInner--regulatoryVenueCode"
479 + resize="none"
480 + v-model="formData.regulatoryVenueCode"
481 + clearable
482 + placeholder=""
483 + ></el-input>
484 + </Formitem>
485 + </el-col>
486 + <el-col :span="3">
487 + <Formitem label="许可证号" prop="licenseKey">
488 + <el-input
489 + type="text"
490 + class="inputShadow"
491 + id="inputInner--licenseKey"
492 + resize="none"
493 + v-model="formData.licenseKey"
494 + clearable
495 + placeholder=""
496 + ></el-input>
497 + </Formitem>
498 + </el-col>
499 + </el-row>
500 + </el-form>
501 + </section>
502 + <div class="fold-unfold">
503 + <img
504 + v-if="isFold"
505 + src="@/assets/images/fold.png"
506 + @click="() => (isFold = false)"
507 + alt=""
508 + />
509 + <img
510 + v-if="!isFold"
511 + src="@/assets/images/unfold.png"
512 + @click="() => (isFold = true)"
513 + alt=""
514 + />
515 + </div>
516 + <div class="entryTitle" style="margin-top: 10px">商品明细</div>
517 + <section style="position: relative">
518 + <Table
519 + class="fedexDetialTable fedexSreachTable editableTable"
520 + ref="entryTable"
521 + :pagination="false"
522 + :data="detailData"
523 + :headerData="detialHeaderData"
524 + :border="true"
525 + :order="true"
526 + :noWidth="0"
527 + :rowKey="'gnum'"
528 + :expandRowKeys="expandRowKeys"
529 + >
530 + <template slot="rowDataEdit" slot-scope="props">
531 + <RowDataEditForm
532 + ref="rowEditForm"
533 + :rowDatas="props"
534 + @cancelEditRowData="cancelEditRowData"
535 + @rowFormDataSave="rowFormDataSave"
536 + @updateLastItemValid="handleUpdateLastItemValid"
537 + />
538 + </template>
539 + <template v-slot:destinationCountryRegionCode="scope">
540 + <span>{{
541 + mapDicDatas(
542 + $store.getters.dict.COUNTRY_REGION_CODE,
543 + scope.row.destinationCountryRegionCode
544 + )
545 + }}</span>
546 + </template>
547 + <template v-slot:unit="scope">
548 + <span>{{
549 + mapDicDatas($store.getters.dict.MEASUREMENT_UNIT, scope.row.unit)
550 + }}</span>
551 + </template>
552 + <template v-slot:unitLegalFirstCode="scope">
553 + <span>{{
554 + mapDicDatas(
555 + $store.getters.dict.MEASUREMENT_UNIT,
556 + scope.row.unitLegalFirstCode
557 + )
558 + }}</span>
559 + </template>
560 + <template v-slot:unitLegalSecondCode="scope">
561 + <span>{{
562 + mapDicDatas(
563 + $store.getters.dict.MEASUREMENT_UNIT,
564 + scope.row.unitLegalSecondCode
565 + )
566 + }}</span>
567 + </template>
568 + <template v-slot:currency="scope">
569 + <span>{{
570 + mapCurrencyDatas($store.getters.dict.CURRENCY, scope.row.currency)
571 + }}</span>
572 + </template>
573 + <template slot="optionColumn">
574 + <el-table-column align="left" label="操作" width="100">
575 + <template slot-scope="scope">
576 + <el-button type="text" @click="updateRow(scope.row)">
577 + 修改
578 + </el-button>
579 + <el-button type="text" @click="deleteRow(scope.row)">
580 + 删除
581 + </el-button>
582 + </template>
583 + </el-table-column>
584 + </template>
585 + </Table>
586 + </section>
587 + <div class="addNewItem">
588 + <i class="el-icon-circle-plus-outline" @click="addNewItem"></i>
589 + <span @click="addNewItem">添加新商品</span>
590 + </div>
591 + <div style="margin-top: 20px; text-align: center">
592 + <el-button
593 + class="entrySaveButton entrySaveButton-background revokeSubmitBtn"
594 + type="primary"
595 + @click="submitEditedReportDatas"
596 + >保存</el-button
597 + >
598 + <el-button class="entrySaveButton" @click="back">返回</el-button>
599 + </div>
600 + </div>
601 +</template>
602 +
603 +<script>
604 +import RowDataEditForm from "./RowDataEditForm.vue";
605 +import {
606 + getCustomerList,
607 + getPortList,
608 + getDeclareData,
609 + updateDeclareData,
610 +} from "@/api/declareData-api.js";
611 +export default {
612 + name: "",
613 + components: { RowDataEditForm },
614 + data() {
615 + var checkNegativeNum = (rule, value, callback) => {
616 + if (value < 0) {
617 + callback(new Error("数值不能为负"));
618 + } else {
619 + callback();
620 + }
621 + };
622 + var checkInsuredFee = (rule, value, callback) => {
623 + if (value < 0) {
624 + callback(new Error("数值不能为负"));
625 + }
626 + if (value !== "" && value !== undefined) {
627 + const regex = /^\d{0,14}(\.\d{1,5})?$/;
628 + if (!regex.test(value)) {
629 + callback(new Error("整数最多14位,小数最多5位"));
630 + } else {
631 + callback();
632 + }
633 + } else {
634 + callback();
635 + }
636 + };
637 + var checkPackNo = (rule, value, callback) => {
638 + if (!Number.isInteger(value)) {
639 + callback(new Error("请输入整数值"));
640 + } else {
641 + if (value < 0) {
642 + callback(new Error("数值不能为负"));
643 + } else {
644 + callback();
645 + }
646 + }
647 + };
648 + return {
649 + ebcDataList: [],
650 + declareCustomsDataList: [],
651 + declareId: null,
652 + formData: {
653 + appType: 9610,
654 + },
655 + formRules: {
656 + ebccode: [
657 + { required: true, message: "请选择电商企业", trigger: "change" },
658 + ],
659 + logisticsCode: [
660 + { required: true, message: "请选择物流企业", trigger: "change" },
661 + ],
662 + orderNo: [
663 + { required: true, message: "请输入订单编号", trigger: "blur" },
664 + { max: 60, message: "长度不能超过60个字符", trigger: "blur" },
665 + ],
666 + logisticsNo: [
667 + { required: true, message: "请输入物流运单编号", trigger: "blur" },
668 + { max: 80, message: "长度不能超过80个字符", trigger: "blur" },
669 + ],
670 + declareCustomsCode: [
671 + { required: true, message: "请选择申报地海关", trigger: "change" },
672 + ],
673 + exportDate: [{ message: "请选择出口日期", trigger: "change" }],
674 + goodsValue: [
675 + { required: true, message: "请输入商品金额", trigger: "blur" },
676 + ],
677 + miscellaneousFreight: [
678 + { validator: checkNegativeNum, trigger: "blur" },
679 + ],
680 + currency: [
681 + { required: true, message: "请选择币制", trigger: "change" },
682 + ],
683 + mainGoodsInfo: [
684 + { required: true, message: "请输入主要物品信息", trigger: "blur" },
685 + { max: 200, message: "长度不能超过200个字符", trigger: "blur" },
686 + ],
687 + flightNumber: [
688 + { required: true, message: "请输入航班号", trigger: "blur" },
689 + { max: 32, message: "长度不能超过32个字符", trigger: "blur" },
690 + ],
691 + billno: [
692 + { required: true, message: "请输入提运单号", trigger: "blur" },
693 + { max: 37, message: "长度不能超过37个字符", trigger: "blur" },
694 + ],
695 + totalPackageNo: [
696 + { max: 37, message: "长度不能超过37个字符", trigger: "blur" },
697 + ],
698 + regulatoryVenueCode: [
699 + { max: 10, message: "长度不能超过10个字符", trigger: "blur" },
700 + ],
701 + licenseKey: [
702 + { max: 19, message: "长度不能超过19个字符", trigger: "blur" },
703 + ],
704 + destinationCountryRegion: [
705 + { required: true, message: "请选择运抵国", trigger: "change" },
706 + ],
707 + portCode: [
708 + { required: true, message: "请选择运指运港代码", trigger: "change" },
709 + ],
710 + freight: [
711 + { required: true, message: "请输入运费", trigger: "blur" },
712 + { validator: checkNegativeNum, trigger: "blur" },
713 + ],
714 + freightCurrency: [
715 + { required: true, message: "请选择运费币制", trigger: "change" },
716 + ],
717 + freightTag: [
718 + { required: true, message: "请选择运费标志", trigger: "change" },
719 + ],
720 + insuredfee: [
721 + { required: true, message: "请输入保费", trigger: "blur" },
722 + { validator: checkInsuredFee, trigger: "blur" },
723 + ],
724 + insuredfeeCurrency: [
725 + { required: true, message: "请输入保费币制", trigger: "blur" },
726 + ],
727 + insuredfeeTag: [
728 + { required: true, message: "请输选择保费标志", trigger: "change" },
729 + ],
730 + packageTypeCode: [
731 + { required: true, message: "请选择包装种类代码", trigger: "change" },
732 + ],
733 + packNo: [
734 + { required: true, message: "请输入件数", trigger: "blur" },
735 + { validator: checkPackNo, trigger: "blur" },
736 + ],
737 + weight: [
738 + { required: true, message: "请输入毛重", trigger: "blur" },
739 + { validator: checkNegativeNum, trigger: "blur" },
740 + ],
741 + netWeight: [{ required: true, message: "请输入净重", trigger: "blur" }],
742 + remark: [
743 + { max: 1000, message: "长度不能超过1000个字符", trigger: "blur" },
744 + ],
745 + ebpCode: [
746 + { required: true, message: "请输入电商平台代码", trigger: "blur" },
747 + ],
748 + ebpName: [
749 + { required: true, message: "请输入电商平台名称", trigger: "blur" },
750 + ],
751 + productionSaleEnterpriseCode: [
752 + {
753 + required: true,
754 + message: "请输入生产销售企业代码",
755 + trigger: "blur",
756 + },
757 + ],
758 + ebcName: [
759 + {
760 + required: true,
761 + message: "请输入生产销售企业名称",
762 + trigger: "blur",
763 + },
764 + ],
765 + declareBusinessType: [
766 + { required: true, message: "请选择申报业务类型", trigger: "change" },
767 + ],
768 + },
769 + detailData: [],
770 + detialHeaderData: [
771 + {
772 + value: "rowDataEdit",
773 + expand: true,
774 + width: 0,
775 + },
776 + {
777 + name: "企业商品货号",
778 + value: "enterpriseProductCode",
779 + width: "",
780 + align: "left",
781 + },
782 + {
783 + name: "企业商品名称",
784 + value: "enterpriseProductName",
785 + width: "",
786 + align: "left",
787 + },
788 + {
789 + name: "企业商品描述",
790 + value: "enterpriseProductDescribe",
791 + width: "",
792 + align: "left",
793 + },
794 + {
795 + name: "商品名称",
796 + value: "productName",
797 + width: "",
798 + align: "left",
799 + },
800 + {
801 + name: "商品编码",
802 + value: "productCode",
803 + width: "",
804 + align: "left",
805 + },
806 + {
807 + name: "规格型号",
808 + value: "model",
809 + width: "",
810 + align: "left",
811 + },
812 + {
813 + name: "账册备案料号",
814 + value: "accountBookMaterialNumber",
815 + width: "",
816 + align: "left",
817 + },
818 + {
819 + name: "条形码",
820 + value: "barCode",
821 + width: "",
822 + align: "left",
823 + },
824 + {
825 + name: "目的国(地区)代码",
826 + value: "destinationCountryRegionCode",
827 + width: "",
828 + align: "left",
829 + slot: true,
830 + },
831 + {
832 + name: "计量单位",
833 + value: "unit",
834 + width: "",
835 + align: "left",
836 + slot: true,
837 + },
838 + {
839 + name: "数量",
840 + value: "qty",
841 + width: "",
842 + align: "left",
843 + },
844 + {
845 + name: "法定数量",
846 + value: "legalQty",
847 + width: "",
848 + align: "left",
849 + },
850 + {
851 + name: "法定计量单位",
852 + value: "unitLegalFirstCode",
853 + width: "",
854 + align: "left",
855 + slot: true,
856 + },
857 + {
858 + name: "第二数量",
859 + value: "secondQty",
860 + width: "",
861 + align: "left",
862 + },
863 + {
864 + name: "第二计量单位",
865 + value: "unitLegalSecondCode",
866 + width: "",
867 + align: "left",
868 + slot: true,
869 + },
870 + {
871 + name: "币制",
872 + value: "currency",
873 + width: "",
874 + align: "left",
875 + slot: true,
876 + },
877 + {
878 + name: "单价",
879 + value: "price",
880 + width: "",
881 + align: "left",
882 + },
883 + {
884 + name: "总价",
885 + value: "totalPrice",
886 + width: "",
887 + align: "left",
888 + },
889 + {
890 + name: "净重",
891 + value: "netWeight",
892 + width: "",
893 + align: "left",
894 + },
895 + {
896 + name: "备注",
897 + value: "remark",
898 + width: "",
899 + align: "left",
900 + },
901 + ],
902 + loadings: {
903 + entryLoading: false,
904 + },
905 + logtableType: true,
906 + expandRowKeys: [],
907 + isFold: false,
908 + // 用于保存原始数据
909 + originalDetailData: {},
910 + // 当前编辑行的 gnum
911 + currentRowKey: null,
912 + lastItemValid: true, // 默认值为 true,表示没有新增项或上一次新增项通过了校验
913 + };
914 + },
915 + created() {
916 + if (this.$route.params.data) {
917 + this.declareId = this.$route.params.data.declareId;
918 + this.queryDeclareData(this.declareId);
919 + this.queryCustomerList();
920 + this.queryPortList();
921 + } else {
922 + this.back();
923 + }
924 + },
925 + beforeRouteLeave(to, from, next) {
926 + if (to.name === "ReportingData") {
927 + // 设置一个标志表示需要刷新数据
928 + to.meta.needsRefresh = true;
929 + }
930 + next();
931 + },
932 + methods: {
933 + mapDicDatas(dicArr, code) {
934 + if (code != "" && code) {
935 + return dicArr.filter((item) => item.itemCode == code)[0]
936 + .itemChineseName;
937 + } else {
938 + return "";
939 + }
940 + },
941 + mapCurrencyDatas(dicArr, code) {
942 + if (code != "") {
943 + return dicArr.filter((item) => item.itemValue == code)[0]
944 + .itemChineseName;
945 + } else {
946 + return "";
947 + }
948 + },
949 + //获取客户下拉列表数据
950 + queryCustomerList() {
951 + getCustomerList()
952 + .then((res) => {
953 + if (res.code == 200) {
954 + this.ebcDataList = res.data.value;
955 + } else {
956 + this.ebcDataList = [];
957 + }
958 + })
959 + .catch((err) => {
960 + console.log(err);
961 + });
962 + },
963 + //获取口岸表数据
964 + queryPortList() {
965 + getPortList()
966 + .then((res) => {
967 + if (res.code == 200) {
968 + this.declareCustomsDataList = res.data.value;
969 + } else {
970 + this.declareCustomsDataList = [];
971 + }
972 + })
973 + .catch((err) => {
974 + console.log(err);
975 + });
976 + },
977 + //获取申报数据
978 + queryDeclareData(declareId) {
979 + getDeclareData({ declareId })
980 + .then((res) => {
981 + // console.log(1111, res)
982 + if (res.code == 200) {
983 + res.data.declare.orderNo = res.data.declare.orderno;
984 + this.formData = res.data.declare;
985 + this.formData.appType = 9610;
986 + this.detailData = res.data.product.length
987 + ? res.data.product.map((item, index) => {
988 + item.gnum = index + 1;
989 + return item;
990 + })
991 + : [];
992 + } else {
993 + this.detailData = [];
994 + this.formData = {};
995 + }
996 + })
997 + .catch((err) => {
998 + console.log(err);
999 + });
1000 + },
1001 +
1002 + hiddenLogTable() {
1003 + this.logtableType = !this.logtableType;
1004 + },
1005 + back() {
1006 + this.$router.go(-1);
1007 + },
1008 +
1009 + //添加新商品
1010 + async addNewItem() {
1011 + // 如果上一次新增的 item 没有通过校验,则不允许新增
1012 + //console.log("this",this.lastItemValid)
1013 + // if (!this.lastItemValid) {
1014 + // console.log(11)
1015 + // this.$message.warning('请先完善新增的商品信息');
1016 + // return;
1017 + // }
1018 + // 获取最后一个 item 的引用
1019 + const lastItem = this.detailData[this.detailData.length - 1];
1020 + // 如果存在上一次新增的 item,则进行校验
1021 + if (lastItem) {
1022 + // 获取 RowDataEditForm 组件的引用
1023 + const rowEditForm = this.$refs.rowEditForm;
1024 + if (rowEditForm) {
1025 + // 调用校验方法
1026 + const isValid = await rowEditForm.validate();
1027 + // console.log("y:",this.lastItemValid)
1028 + // console.log("!",isValid)
1029 + if (!isValid) {
1030 + // console.log(22)
1031 + this.lastItemValid = false; // 标记上一次新增的 item 未通过校验
1032 + this.$message.warning("请先完善新增的商品信息");
1033 + return;
1034 + }
1035 + }
1036 + }
1037 + // 校验通过,允许新增 item
1038 + let orderNum =
1039 + this.detailData.at(-1) === undefined
1040 + ? 1
1041 + : this.detailData.at(-1).gnum + 1;
1042 + this.detailData.push({
1043 + gnum: orderNum,
1044 + accountBookMaterialNumber: "",
1045 + barCode: "",
1046 + currency: "",
1047 + destinationCountryRegionCode: "",
1048 + enterpriseProductCode: "",
1049 + enterpriseProductDescribe: "",
1050 + enterpriseProductName: "",
1051 + legalQty: 0,
1052 + secondQty: 0,
1053 + model: "",
1054 + netWeight: 0,
1055 + price: 0,
1056 + productCode: "",
1057 + productName: "",
1058 + qty: 0,
1059 + remark: "",
1060 + totalPrice: 0,
1061 + unit: "",
1062 + isNew: true, // 添加 isNew 标志
1063 + });
1064 +
1065 + this.$nextTick(() => {
1066 + this.expandRowKeys = [orderNum];
1067 + this.lastItemValid = true; // 重置标志位
1068 + });
1069 + },
1070 + updateRow(row) {
1071 + if (this.expandRowKeys.length > 0) return;
1072 + this.expandRowKeys = [row.gnum];
1073 + this.currentRowKey = row.gnum; // 设置当前行的 gnum
1074 +
1075 + // 保存原始数据
1076 + this.originalDetailData[row.gnum] = { ...row };
1077 +
1078 + let obj = {};
1079 + for (let key in row) {
1080 + obj[key] = row[key];
1081 + }
1082 +
1083 + this.$nextTick(() => {
1084 + this.$refs.rowEditForm.tableRowformData = obj;
1085 + // const table = this.$refs.entryTable.$el.querySelector('.el-table__body-wrapper');
1086 + // table.scrollTop = row.gnum*51+10
1087 + });
1088 + },
1089 + getTotalNumber() {
1090 + let totalNetWeight = 0;
1091 + let totalGoodsValue = 0;
1092 + for (let i = 0; i < this.detailData.length; i++) {
1093 + totalNetWeight += Number(this.detailData[i].netWeight);
1094 + totalGoodsValue += Number(this.detailData[i].totalPrice);
1095 + }
1096 + this.formData.netWeight = totalNetWeight.toFixed(5);
1097 + this.formData.goodsValue = totalGoodsValue.toFixed(5);
1098 + },
1099 + deleteRow(row) {
1100 + this.detailData = this.detailData
1101 + .filter((item) => item.gnum != row.gnum)
1102 + .map((item, index) => {
1103 + item.gnum = index + 1;
1104 + return item;
1105 + });
1106 + this.$nextTick(() => {
1107 + this.getTotalNumber();
1108 + this.expandRowKeys = [];
1109 + this.detailData.length;
1110 + this.lastItemValid = this.detailData.length === row.index;
1111 + });
1112 + },
1113 + rowFormDataSave(props) {
1114 + this.detailData.map((item) => {
1115 + if (item.gnum == props.gnum) {
1116 + item = Object.assign(item, props.tableRowformData);
1117 + return item;
1118 + }
1119 + });
1120 + this.expandRowKeys = [];
1121 + this.$nextTick(() => {
1122 + this.lastItemValid = true;
1123 + this.getTotalNumber();
1124 + });
1125 + },
1126 + cancelEditRowData(index) {
1127 + this.lastItemValid = true; // 重置标志位
1128 + this.expandRowKeys = [];
1129 + if (index !== undefined) {
1130 + const gnum = this.detailData[index].gnum;
1131 + if (this.detailData[index].isNew) {
1132 + // 如果是新添加的项,则删除该项
1133 + this.detailData.splice(index, 1);
1134 + } else {
1135 + // 否则,恢复原始数据
1136 + if (this.originalDetailData[gnum]) {
1137 + this.detailData[index] = { ...this.originalDetailData[gnum] };
1138 + delete this.originalDetailData[gnum]; // 删除保存的原始数据
1139 + }
1140 + }
1141 + }
1142 + },
1143 + // 更新 lastItemValid
1144 + handleUpdateLastItemValid(isValid) {
1145 + this.lastItemValid = isValid;
1146 + },
1147 + //提交更新数据
1148 + submitEditedReportDatas() {
1149 + this.$refs.editForm.validate((valid) => {
1150 + if (valid) {
1151 + let data = {
1152 + declare: this.formData,
1153 + product: this.detailData,
1154 + };
1155 + updateDeclareData(data)
1156 + .then((res) => {
1157 + if (res.code == 200) {
1158 + this.msgSuccess("数据更新成功");
1159 + this.queryDeclareData(this.declareId);
1160 + this.lastItemValid = true;
1161 + } else {
1162 + this.alertWarningMsg(res.message);
1163 + }
1164 + })
1165 + .catch((err) => {
1166 + console.log(err);
1167 + });
1168 + } else {
1169 + return false;
1170 + }
1171 + });
1172 + },
1173 + //取消编辑
1174 + cancelEditedReportDatas() {},
1175 + },
1176 +};
1177 +</script>
1178 +
1179 +<style scoped lang="scss">
1180 +.entry {
1181 + width: 100%;
1182 + height: 100%;
1183 + padding: 10px;
1184 + background-color: #fff;
1185 + overflow: auto;
1186 +
1187 + .entryInformation {
1188 + width: 100%;
1189 + height: 100%;
1190 + }
1191 +
1192 + .entryTitle {
1193 + display: flex;
1194 + justify-content: space-between;
1195 + font-weight: 600;
1196 + font-weight: 16px;
1197 + color: #000;
1198 + margin-bottom: 10px;
1199 + }
1200 +
1201 + .titleBorder {
1202 + border-bottom: 1px solid #333;
1203 + }
1204 +}
1205 +.addNewItem {
1206 + display: flex;
1207 + justify-content: flex-start;
1208 + align-items: center;
1209 + color: #007ab7;
1210 + line-height: 38px;
1211 + i {
1212 + margin-right: 3px;
1213 + }
1214 + span {
1215 + font-size: 13px;
1216 + font-weight: 500;
1217 + cursor: pointer;
1218 + }
1219 +}
1220 +.formRowDataOperate {
1221 + text-align: right;
1222 + padding: 0 20px;
1223 + a {
1224 + color: #007ab7;
1225 + font-weight: 600;
1226 + &:first-child {
1227 + margin-right: 5px;
1228 + }
1229 + }
1230 +}
1231 +.fedexFormEditStyle .el-form-item:has(.formError) {
1232 + margin-bottom: 30px !important;
1233 +}
1234 +.fedexFormEditStyle .el-form-item .formError {
1235 + padding: 0 0.9375rem !important;
1236 +}
1237 +.partsHidden {
1238 + height: 164px;
1239 + overflow: hidden;
1240 +}
1241 +.fold-unfold {
1242 + display: flex;
1243 + justify-content: center;
1244 + padding-top: 8px;
1245 + cursor: pointer;
1246 + img {
1247 + width: 22px;
1248 + }
1249 +}
1250 +</style>
......
...@@ -9,13 +9,13 @@ ...@@ -9,13 +9,13 @@
9 > 9 >
10 <el-row class="row-border"> 10 <el-row class="row-border">
11 <el-col :span="5"> 11 <el-col :span="5">
12 - <Formitem label="提运单号" prop="billNo"> 12 + <Formitem label="订单编号" prop="orderNo">
13 <el-input 13 <el-input
14 type="text" 14 type="text"
15 class="inputShadow" 15 class="inputShadow"
16 - id="inputInner--billNo" 16 + id="inputInner--orderNo"
17 resize="none" 17 resize="none"
18 - v-model="sreachFormData.billNo" 18 + v-model="sreachFormData.orderNo"
19 clearable 19 clearable
20 placeholder="" 20 placeholder=""
21 ></el-input> 21 ></el-input>
...@@ -23,43 +23,49 @@ ...@@ -23,43 +23,49 @@
23 </el-col> 23 </el-col>
24 <el-col :span="5"> 24 <el-col :span="5">
25 <Formitem label="物流运单编号" prop="logisticsNo"> 25 <Formitem label="物流运单编号" prop="logisticsNo">
26 - <FormTextareaInput 26 + <!-- <FormTextareaInput
27 :formData="sreachFormData" 27 :formData="sreachFormData"
28 dataKey="logisticsNo" 28 dataKey="logisticsNo"
29 @formChange="formChange" 29 @formChange="formChange"
30 - /> 30 + /> -->
31 + <el-input
32 + type="text"
33 + class="inputShadow"
34 + id="inputInner--logisticsNo"
35 + resize="none"
36 + v-model="sreachFormData.logisticsNo"
37 + clearable
38 + placeholder=""
39 + ></el-input>
31 </Formitem> 40 </Formitem>
32 </el-col> 41 </el-col>
33 - 42 + <!-- 0未转发、未回传1已转发、已回传 -->
34 <el-col :span="5"> 43 <el-col :span="5">
35 - <Formitem label="回执状态" prop="returnStatus"> 44 + <Formitem label="转发状态" prop="forwardStatus">
36 <el-select 45 <el-select
37 type="text" 46 type="text"
38 - id="inputInner--returnStatus" 47 + id="inputInner--forwardStatus"
39 - v-model="sreachFormData.returnStatus" 48 + v-model="sreachFormData.forwardStatus"
40 clearable 49 clearable
41 placeholder="" 50 placeholder=""
42 > 51 >
43 - <el-option 52 + <el-option label="未转发" value="0"></el-option>
44 - v-for="(item, index) in $store.getters.dict.RECEIPT_STATUS" 53 + <el-option label="已转发" value="1"></el-option>
45 - :key="index"
46 - :label="item.itemChineseName"
47 - :value="item.itemValue"
48 - ></el-option>
49 </el-select> 54 </el-select>
50 </Formitem> 55 </Formitem>
51 </el-col> 56 </el-col>
52 <el-col :span="5"> 57 <el-col :span="5">
53 - <Formitem label="电子口岸编号" prop="preNo"> 58 + <Formitem label="转发状态" prop="returnStatus">
54 - <el-input 59 + <el-select
55 type="text" 60 type="text"
56 - class="inputShadow" 61 + id="inputInner--returnStatus"
57 - id="inputInner--preNo" 62 + v-model="sreachFormData.returnStatus"
58 - resize="none"
59 - v-model="sreachFormData.preNo"
60 clearable 63 clearable
61 placeholder="" 64 placeholder=""
62 - ></el-input> 65 + >
66 + <el-option label="未回传" value="0"></el-option>
67 + <el-option label="已回传" value="1"></el-option>
68 + </el-select>
63 </Formitem> 69 </Formitem>
64 </el-col> 70 </el-col>
65 <el-col :span="2"> 71 <el-col :span="2">
...@@ -86,6 +92,23 @@ ...@@ -86,6 +92,23 @@
86 </el-form-item> 92 </el-form-item>
87 </el-col> 93 </el-col>
88 </el-row> 94 </el-row>
95 + <el-row>
96 + <el-col :span="5">
97 + <Formitem label="创建时间" prop="createTime" :activeType="true">
98 + <el-date-picker
99 + class="inputInner--createTime"
100 + id="inputInner-edit-createTime"
101 + v-model="sreachFormData.createTime"
102 + type="daterange"
103 + format="yyyy-MM-dd"
104 + prefix-icon="none"
105 + value-format="yyyy-MM-dd"
106 + range-separator="至"
107 + @change="dateChange"
108 + />
109 + </Formitem>
110 + </el-col>
111 + </el-row>
89 </el-form> 112 </el-form>
90 113
91 <Table 114 <Table
...@@ -106,29 +129,9 @@ ...@@ -106,29 +129,9 @@
106 :selectFixed="false" 129 :selectFixed="false"
107 :rowSelectDataType="false" 130 :rowSelectDataType="false"
108 > 131 >
109 - <template v-slot:returnStatus="scope"> 132 + <template v-slot:logisticsNo="scope">
110 - <TablePopover
111 - ref="returnStatusPopover"
112 - dataKey="returnStatus"
113 - :parentDom="$refs.entryTable"
114 - :receiptDataHead="receiptDataHead"
115 - :rowData="scope.row"
116 - :tableData="tableData"
117 - @popoverChange="popoverChange"
118 - @popoverClose="popoverClose"
119 - >
120 - <div slot="title">
121 - <span style="font-weight: 700; color: #515a6e">提运单号:</span
122 - >{{ scope.row.billNo }}
123 - </div>
124 - <div slot="buttonLabel">
125 - {{ scope.row.returnStatus }}
126 - </div>
127 - </TablePopover>
128 - </template>
129 - <template v-slot:billNo="scope">
130 <el-button type="text" @click="view(scope.row)">{{ 133 <el-button type="text" @click="view(scope.row)">{{
131 - scope.row.billNo 134 + scope.row.logisticsNo
132 }}</el-button> 135 }}</el-button>
133 </template> 136 </template>
134 </Table> 137 </Table>
...@@ -136,20 +139,18 @@ ...@@ -136,20 +139,18 @@
136 </template> 139 </template>
137 140
138 <script> 141 <script>
139 -import { 142 +import { getPddInfo } from "@/api/pdd-info";
140 - getExportArrivalInList,
141 - getExportArrivalInReceipt,
142 -} from "@/api/arrivalList-api";
143 export default { 143 export default {
144 name: "ArrivalList", 144 name: "ArrivalList",
145 components: {}, 145 components: {},
146 data() { 146 data() {
147 return { 147 return {
148 sreachFormData: { 148 sreachFormData: {
149 - logisticsNo: [], 149 + orderNo: "",
150 - billNo: "", 150 + forwardStatus: "",
151 returnStatus: "", 151 returnStatus: "",
152 - preNo: "", 152 + logisticsNo: "",
153 + createTime: [],
153 }, 154 },
154 page: { 155 page: {
155 pageIndex: 1, 156 pageIndex: 1,
...@@ -157,74 +158,55 @@ export default { ...@@ -157,74 +158,55 @@ export default {
157 total: 0, 158 total: 0,
158 }, 159 },
159 tableData: [], 160 tableData: [],
160 - receiptDataHead: [ 161 +
161 - {
162 - name: "回执状态",
163 - value: "returnStatus",
164 - width: "120",
165 - align: "left",
166 - },
167 - {
168 - name: "状态时间",
169 - value: "returnTime",
170 - width: "",
171 - align: "left",
172 - },
173 - {
174 - name: "回执描述",
175 - value: "returnInfo",
176 - width: "",
177 - align: "left",
178 - },
179 - ],
180 headerData: [ 162 headerData: [
181 { 163 {
182 - name: "回执状态", 164 + name: "物流运单编号",
183 - value: "returnStatus", 165 + value: "logisticsNo",
184 width: "", 166 width: "",
185 align: "left", 167 align: "left",
186 slot: true, 168 slot: true,
187 }, 169 },
188 { 170 {
189 - name: "提运单号", 171 + name: "订单编号",
190 - value: "billNo", 172 + value: "orderNo",
191 width: "", 173 width: "",
192 align: "left", 174 align: "left",
193 - slot: true,
194 }, 175 },
176 +
195 { 177 {
196 - name: "物流运单编号", 178 + name: "运抵国(地区)",
197 - value: "logisticsNo", 179 + value: "country",
198 width: "", 180 width: "",
199 align: "left", 181 align: "left",
200 }, 182 },
201 { 183 {
202 - name: "电商企业代码", 184 + name: "件数",
203 - value: "ebccode", 185 + value: "packNo",
204 width: "", 186 width: "",
205 align: "left", 187 align: "left",
206 }, 188 },
207 { 189 {
208 - name: "电子口岸编号", 190 + name: "毛重(公斤)",
209 - value: "preNo", 191 + value: "grossWeight",
210 width: "", 192 width: "",
211 align: "left", 193 align: "left",
212 }, 194 },
213 { 195 {
214 - name: "监管场所经营人代码", 196 + name: "净重(公斤)",
215 - value: "operatorCode", 197 + value: "netWeight",
216 width: "", 198 width: "",
217 align: "left", 199 align: "left",
218 }, 200 },
219 { 201 {
220 - name: "监管场所经营人名称", 202 + name: "转发状态",
221 - value: "operatorName", 203 + value: "forwardStatus",
222 width: "", 204 width: "",
223 align: "left", 205 align: "left",
224 }, 206 },
225 { 207 {
226 - name: "监管场所代码", 208 + name: "回传状态",
227 - value: "loctNo", 209 + value: "returnStatus",
228 width: "", 210 width: "",
229 align: "left", 211 align: "left",
230 }, 212 },
...@@ -239,7 +221,6 @@ export default { ...@@ -239,7 +221,6 @@ export default {
239 searchLoading: false, 221 searchLoading: false,
240 }, 222 },
241 tableMaxheight: null, 223 tableMaxheight: null,
242 - originalLogisticsNo: "", // 用于保存原始的 logisticsNo 字符串
243 }; 224 };
244 }, 225 },
245 created() { 226 created() {
...@@ -249,72 +230,30 @@ export default { ...@@ -249,72 +230,30 @@ export default {
249 this.tableMaxheight = window.innerHeight - 300; 230 this.tableMaxheight = window.innerHeight - 300;
250 }, 231 },
251 methods: { 232 methods: {
252 - popoverClose(val) { 233 + dateChange(val) {
253 - this.tableData.forEach((item) => { 234 + if (val == "" || val == null) {
254 - item.returnStatusPopoverType = false; 235 + this.$nextTick(() => {
255 - item.popoverData = []; 236 + this.sreachFormData.createTime = [];
256 - });
257 - this.$refs.entryTable.$refs.tables.$refs.bodyWrapper.style.overflowY =
258 - "auto";
259 - },
260 - popoverChange(val) {
261 - console.log(val);
262 - this.tableData = val.tableData;
263 - this.receiptApi(val.data.copNo, val.status)
264 - .then((res) => {
265 - val.tableData.forEach((item) => {
266 - if (item.declareId == val.data.declareId) {
267 - item.popoverData = res;
268 - }
269 - });
270 - this.tableData = val.tableData;
271 - })
272 - .finally(() => {
273 - this.$nextTick(() => {
274 - this.$store.dispatch("setLoadingState", false);
275 - this.$refs.returnStatusPopover.tableLoading = false;
276 - });
277 }); 237 });
238 + }
278 }, 239 },
279 - //查询回执 240 +
280 - receiptApi(id) {
281 - return new Promise((resolve, reject) => {
282 - let obj = { copNo: id };
283 - getExportArrivalInReceipt(obj)
284 - .then((res) => {
285 - if (res.code === "200") {
286 - resolve(res.data);
287 - } else {
288 - reject();
289 - }
290 - })
291 - .catch((err) => {
292 - console.log(err);
293 - reject();
294 - });
295 - });
296 - },
297 //查询详情 241 //查询详情
298 view(val) { 242 view(val) {
299 this.$router.push({ 243 this.$router.push({
300 - name: "ArrivalListDetail", 244 + name: "PddListDetail",
301 params: { data: val }, 245 params: { data: val },
302 }); 246 });
303 }, 247 },
304 - formChange(val) {
305 - this.sreachFormData = val;
306 - this.originalLogisticsNo = val.logisticsNo; // 保存原始的 logisticsNo 字符串
307 - },
308 // 清空 248 // 清空
309 clear() { 249 clear() {
310 this.sreachFormData = { 250 this.sreachFormData = {
311 - ogisticsNo: [], 251 + orderNo: "",
312 - billNo: "", 252 + forwardStatus: "",
313 returnStatus: "", 253 returnStatus: "",
314 - preNo: "", 254 + logisticsNo: "",
255 + createTime: [],
315 }; 256 };
316 - this.originalLogisticsNo = "";
317 - // this.search(0);
318 }, 257 },
319 //查询 258 //查询
320 search(val) { 259 search(val) {
...@@ -325,14 +264,15 @@ export default { ...@@ -325,14 +264,15 @@ export default {
325 let obj = { ...this.sreachFormData }; // 使用对象展开运算符复制 sreachFormData 264 let obj = { ...this.sreachFormData }; // 使用对象展开运算符复制 sreachFormData
326 obj.pageIndex = this.page.pageIndex; 265 obj.pageIndex = this.page.pageIndex;
327 obj.pageSize = this.page.pageSize; 266 obj.pageSize = this.page.pageSize;
328 - obj.logisticsNo = this.originalLogisticsNo; 267 +
329 - if (obj.logisticsNo != null && obj.logisticsNo != "") { 268 + obj.startTime = "";
330 - obj.logisticsNo = obj.logisticsNo.split("\n"); 269 + obj.endTime = "";
331 - } else { 270 + if (this.sreachFormData.createTime.length > 0) {
332 - obj.logisticsNo = []; 271 + obj.startTime = obj.createTime[0];
272 + obj.endTime = obj.createTime[1];
333 } 273 }
334 274
335 - getExportArrivalInList(obj) 275 + getPddInfo(obj)
336 .then((res) => { 276 .then((res) => {
337 if (res.code === "200") { 277 if (res.code === "200") {
338 this.tableData = res.data.value; 278 this.tableData = res.data.value;
......