zhanbo.xu

feat: 新增功能

...@@ -55,9 +55,69 @@ export function getPvgWaybillList(data) { ...@@ -55,9 +55,69 @@ export function getPvgWaybillList(data) {
55 // GET 55 // GET
56 // /exportWaybill/pvg/receipt​/{id} 56 // /exportWaybill/pvg/receipt​/{id}
57 // 获取PVG订单回执信息 57 // 获取PVG订单回执信息
58 -export function getPvgWaybillReceiptInfo(id) { 58 +export function getPvgWaybillReceiptInfo({ id }) {
59 return request({ 59 return request({
60 url: `/bus-customer/exportWaybill/pvg/receipt/${id}`, 60 url: `/bus-customer/exportWaybill/pvg/receipt/${id}`,
61 method: "get", 61 method: "get",
62 }); 62 });
63 } 63 }
64 +
65 +// GET
66 +// /exportList/pvg/info/{listId}
67 +// 获取pvg出口清单详情
68 +export function getPvgListInfo({ listId }) {
69 + return request({
70 + url: `/bus-customer/exportList/pvg/info/${listId}`,
71 + method: "get",
72 + });
73 +}
74 +
75 +// GET
76 +// /exportList/pvg/receipt/{listId}
77 +// 获取pvg出口清单回执
78 +export function getPvgListReceipt({ listId }) {
79 + return request({
80 + url: `/bus-customer/exportList/pvg/receipt/${listId}`,
81 + method: "get",
82 + });
83 +}
84 +// POST
85 +// /exportList/pvg/search
86 +// 根据条件搜索pvg出口清单
87 +export function getPvgListSearch(data) {
88 + return request({
89 + url: "/bus-customer/exportList/pvg/search",
90 + method: "post",
91 + data: data,
92 + });
93 +}
94 +
95 +// GET
96 +// /exportArrivalIn/pvg/info/{arrivalInId}
97 +// 查询pvg运抵单详情
98 +export function getPvgArrivalInInfo(arrivalInId) {
99 + return request({
100 + url: `/bus-customer/exportArrivalIn/pvg/info/${arrivalInId}`,
101 + method: "get",
102 + });
103 +}
104 +
105 +// GET
106 +// /exportArrivalIn/pvg/receipt/arrivalInId
107 +// 获取运抵单回执
108 +export function getPvgArrivalInReceipt(arrivalInId) {
109 + return request({
110 + url: `/bus-customer/exportArrivalIn/pvg/receipt/${arrivalInId}`,
111 + method: "get",
112 + });
113 +}
114 +// POST
115 +// /exportArrivalIn/pvg/search
116 +// 查询pvg运抵单列表
117 +export function getPvgArrivalInList(data) {
118 + return request({
119 + url: "/bus-customer/exportArrivalIn/pvg/search",
120 + method: "post",
121 + data: data,
122 + });
123 +}
......
...@@ -214,6 +214,22 @@ export const constantRoutes = [ ...@@ -214,6 +214,22 @@ export const constantRoutes = [
214 name: "PvgOrderDetail", 214 name: "PvgOrderDetail",
215 meta: { title: "PVG订单详情", icon: "" }, 215 meta: { title: "PVG订单详情", icon: "" },
216 }, 216 },
217 + {
218 + path: "/pvg-list-detail",
219 + component: (resolve) =>
220 + require(["@/views/pvgList/detail.vue"], resolve),
221 + hidden: true,
222 + name: "PvgListDetail",
223 + meta: { title: "PVG清单详情", icon: "" },
224 + },
225 + {
226 + path: "/pvg-waybill-detail",
227 + component: (resolve) =>
228 + require(["@/views/pvgWaybill/detail.vue"], resolve),
229 + hidden: true,
230 + name: "PvgWaybillDetail",
231 + meta: { title: "PVG运单详情", icon: "" },
232 + },
217 ], 233 ],
218 }, 234 },
219 { 235 {
......
...@@ -257,7 +257,6 @@ ...@@ -257,7 +257,6 @@
257 ></el-input> 257 ></el-input>
258 </Formitem> 258 </Formitem>
259 </el-col> 259 </el-col>
260 - <!-- 申报类型 -->
261 <el-col :span="3"> 260 <el-col :span="3">
262 <Formitem label="贸易方式" prop="appType"> 261 <Formitem label="贸易方式" prop="appType">
263 <el-input 262 <el-input
......
...@@ -411,12 +411,6 @@ ...@@ -411,12 +411,6 @@
411 clearable 411 clearable
412 placeholder="" 412 placeholder=""
413 > 413 >
414 - <!-- <el-option
415 - v-for="(item, index) in dictData.currency"
416 - :key="index"
417 - :label="item.name"
418 - :value="item.value"
419 - ></el-option> -->
420 </el-select> 414 </el-select>
421 </Formitem> 415 </Formitem>
422 </el-col> 416 </el-col>
...@@ -430,12 +424,6 @@ ...@@ -430,12 +424,6 @@
430 clearable 424 clearable
431 placeholder="" 425 placeholder=""
432 > 426 >
433 - <!-- <el-option
434 - v-for="(item, index) in dictData.currency"
435 - :key="index"
436 - :label="item.name"
437 - :value="item.value"
438 - ></el-option> -->
439 </el-select> 427 </el-select>
440 </Formitem> 428 </Formitem>
441 </el-col> 429 </el-col>
......
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 + <el-form
10 + class="fedexFormStyle"
11 + ref="sreachForm"
12 + :model="formData"
13 + label-position="top"
14 + disabled
15 + size="small"
16 + >
17 + <el-row :gutter="5">
18 + <!-- 订单编号 -->
19 + <el-col :span="3">
20 + <Formitem label="电商订单/海外仓订仓编号" prop="orderNo">
21 + <el-input
22 + type="text"
23 + class="inputShadow"
24 + id="inputInner--orderNo"
25 + resize="none"
26 + v-model="formData.orderNo"
27 + clearable
28 + placeholder=""
29 + ></el-input>
30 + </Formitem>
31 + </el-col>
32 + <!-- 物流申报企业平台代码 -->
33 + <el-col :span="3">
34 + <Formitem label="物流申报企业平台代码" prop="logisticsSenderCode">
35 + <el-input
36 + type="text"
37 + class="inputShadow"
38 + id="inputInner--logisticsSenderCode"
39 + resize="none"
40 + v-model="formData.logisticsSenderCode"
41 + clearable
42 + placeholder=""
43 + ></el-input>
44 + </Formitem>
45 + </el-col>
46 + <!-- 申报类型 -->
47 + <el-col :span="3">
48 + <Formitem label="申报类型" prop="appType">
49 + <el-input
50 + type="text"
51 + class="inputShadow"
52 + id="inputInner--appType"
53 + resize="none"
54 + v-model="formData.appType"
55 + clearable
56 + placeholder=""
57 + ></el-input>
58 + </Formitem>
59 + </el-col>
60 + <!-- 电商平台代码 -->
61 + <el-col :span="3">
62 + <Formitem label="电商平台代码" prop="ebpCode">
63 + <el-input
64 + type="text"
65 + class="inputShadow"
66 + id="inputInner--ebpCode"
67 + resize="none"
68 + v-model="formData.ebpCode"
69 + clearable
70 + placeholder=""
71 + ></el-input>
72 + </Formitem>
73 + </el-col>
74 + <!-- 电商平台/海外仓名称 -->
75 + <el-col :span="6">
76 + <Formitem label="电商平台/海外仓名称" prop="ebpName">
77 + <el-input
78 + type="text"
79 + class="inputShadow"
80 + id="inputInner--ebpName"
81 + resize="none"
82 + v-model="formData.ebpName"
83 + clearable
84 + placeholder=""
85 + ></el-input>
86 + </Formitem>
87 + </el-col>
88 + <!-- 电商企业代码 -->
89 + <el-col :span="3">
90 + <Formitem label="电商企业代码" prop="ebcCode">
91 + <el-input
92 + type="text"
93 + class="inputShadow"
94 + id="inputInner--ebcCode"
95 + resize="none"
96 + v-model="formData.ebcCode"
97 + clearable
98 + placeholder=""
99 + ></el-input>
100 + </Formitem>
101 + </el-col>
102 + <!-- 电商企业 -->
103 + <el-col :span="6">
104 + <Formitem label="电商企业名称" prop="ebcName">
105 + <el-input
106 + type="text"
107 + class="inputShadow"
108 + id="inputInner--ebcName"
109 + resize="none"
110 + v-model="formData.ebcName"
111 + clearable
112 + placeholder=""
113 + ></el-input>
114 + </Formitem>
115 + </el-col>
116 + </el-row>
117 + <el-row :gutter="5">
118 + <!-- 商品金额 -->
119 + <el-col :span="3">
120 + <Formitem label="商品金额" prop="totalPrice">
121 + <el-input
122 + type="text"
123 + class="inputShadow"
124 + id="inputInner--totalPrice"
125 + resize="none"
126 + v-model="formData.totalPrice"
127 + clearable
128 + placeholder=""
129 + ></el-input>
130 + </Formitem>
131 + </el-col>
132 + <!-- 运杂费 -->
133 + <el-col :span="3">
134 + <Formitem label="运杂费" prop="freight">
135 + <el-input
136 + type="text"
137 + class="inputShadow"
138 + id="inputInner--freight"
139 + resize="none"
140 + v-model="formData.freight"
141 + clearable
142 + placeholder=""
143 + ></el-input>
144 + </Formitem>
145 + </el-col>
146 + <!-- 币制 -->
147 + <el-col :span="3">
148 + <Formitem label="币制" prop="currency">
149 + <el-select
150 + type="text"
151 + id="inputInner--currency"
152 + v-model="formData.currency"
153 + clearable
154 + placeholder=""
155 + >
156 + <el-option
157 + v-for="(item, index) in $store.getters.dict.CURRENCY"
158 + :key="index"
159 + :label="item.itemChineseName"
160 + :value="item.itemValue"
161 + ></el-option>
162 + </el-select>
163 + </Formitem>
164 + </el-col>
165 + <!-- 收货人名称 -->
166 + <el-col :span="3">
167 + <Formitem label="收货人名称" prop="consignee">
168 + <el-input
169 + type="text"
170 + class="inputShadow"
171 + id="inputInner--consignee"
172 + resize="none"
173 + v-model="formData.consignee"
174 + clearable
175 + placeholder=""
176 + ></el-input>
177 + </Formitem>
178 + </el-col>
179 + <!-- 收货人电话 -->
180 + <el-col :span="3">
181 + <Formitem label="收货人电话" prop="consigneeTelephone">
182 + <el-input
183 + type="text"
184 + class="inputShadow"
185 + id="inputInner--consigneeTelephone"
186 + resize="none"
187 + v-model="formData.consigneeTelephone"
188 + clearable
189 + placeholder=""
190 + ></el-input>
191 + </Formitem>
192 + </el-col>
193 + <!-- 收货人地址 -->
194 + <el-col :span="3">
195 + <Formitem label="收货人地址" prop="consigneeAddress">
196 + <el-input
197 + type="text"
198 + class="inputShadow"
199 + id="inputInner--consigneeAddress"
200 + resize="none"
201 + v-model="formData.consigneeAddress"
202 + clearable
203 + placeholder=""
204 + ></el-input>
205 + </Formitem>
206 + </el-col>
207 + <!-- 收货人所在国 -->
208 + <el-col :span="3">
209 + <Formitem label="收货人所在国" prop="consigneeCountry">
210 + <el-input
211 + type="text"
212 + class="inputShadow"
213 + id="inputInner--consigneeCountry"
214 + resize="none"
215 + v-model="formData.consigneeCountry"
216 + clearable
217 + placeholder=""
218 + ></el-input>
219 + </Formitem>
220 + </el-col>
221 + <!-- 发货人名称 -->
222 + <el-col :span="3">
223 + <Formitem label="发货人名称" prop="shipper">
224 + <el-input
225 + type="text"
226 + class="inputShadow"
227 + id="inputInner--shipper"
228 + resize="none"
229 + v-model="formData.shipper"
230 + clearable
231 + placeholder=""
232 + ></el-input>
233 + </Formitem>
234 + </el-col>
235 + <!-- 发货人电话 -->
236 + <el-col :span="3">
237 + <Formitem label="发货人电话" prop="shipperTelephone">
238 + <el-input
239 + type="text"
240 + class="inputShadow"
241 + id="inputInner--shipperTelephone"
242 + resize="none"
243 + v-model="formData.shipperTelephone"
244 + clearable
245 + placeholder=""
246 + ></el-input>
247 + </Formitem>
248 + </el-col>
249 + <!-- 发货人地址 -->
250 + <el-col :span="3">
251 + <Formitem label="发货人地址" prop="shipperAddress">
252 + <el-input
253 + type="text"
254 + class="inputShadow"
255 + id="inputInner--shipperAddress"
256 + resize="none"
257 + v-model="formData.shipperAddress"
258 + clearable
259 + placeholder=""
260 + ></el-input>
261 + </Formitem>
262 + </el-col>
263 + <!-- 发货人所在国 -->
264 + <el-col :span="3">
265 + <Formitem label="发货人所在国" prop="shipperCountry">
266 + <el-input
267 + type="text"
268 + class="inputShadow"
269 + id="inputInner--shipperCountry"
270 + resize="none"
271 + v-model="formData.shipperCountry"
272 + clearable
273 + placeholder=""
274 + ></el-input>
275 + </Formitem>
276 + </el-col>
277 + <el-col :span="3">
278 + <Formitem label="平台编码" prop="crossOrderId">
279 + <el-input
280 + type="text"
281 + class="inputShadow"
282 + id="inputInner--crossOrderId"
283 + resize="none"
284 + v-model="formData.crossOrderId"
285 + clearable
286 + placeholder=""
287 + ></el-input>
288 + </Formitem>
289 + </el-col>
290 + <el-col :span="9">
291 + <Formitem label="备注" prop="note">
292 + <el-input
293 + type="text"
294 + class="inputShadow"
295 + id="inputInner--note"
296 + resize="none"
297 + v-model="formData.note"
298 + clearable
299 + placeholder=""
300 + ></el-input>
301 + </Formitem>
302 + </el-col>
303 + </el-row>
304 + </el-form>
305 + <div
306 + :class="{ entryTitle: true, titleBorder: logtableType ? false : true }"
307 + style="margin-top: 10px"
308 + >
309 + <div>
310 + 回执信息
311 + <el-button type="text" @click="hiddenLogTable">
312 + <svg-icon v-if="logtableType" icon-class="downIcon"></svg-icon>
313 + <svg-icon v-else icon-class="upIcon"></svg-icon>
314 + </el-button>
315 + </div>
316 + </div>
317 + <ReceiptInfoTable
318 + v-if="logtableType"
319 + :tableData="logData"
320 + :headerData="logHeaderData"
321 + />
322 + <div class="entryTitle" style="margin-top: 10px">商品明细</div>
323 + <ProductDetailTable
324 + :tableData="detailData"
325 + :bodyHeader="detialHeaderData"
326 + />
327 + <div style="margin-bottom: 20px; text-align: center"></div>
328 + </div>
329 +</template>
330 +
331 +<script>
332 +import ReceiptInfoTable from "../components/ReceiptInfoTable/index.vue";
333 +import ProductDetailTable from "../components/ProductDetailTable/index.vue";
334 +import { getPvgWaybillInfo } from "@/api/pvg.js";
335 +export default {
336 + name: "",
337 + components: { ProductDetailTable, ReceiptInfoTable },
338 + data() {
339 + return {
340 + id: null,
341 + formData: {},
342 + logData: [],
343 + logHeaderData: [
344 + {
345 + name: "回执状态",
346 + value: "rspCode",
347 + width: "200",
348 + align: "left",
349 + },
350 + {
351 + name: "状态时间",
352 + value: "rspTime",
353 + width: "400",
354 + align: "left",
355 + },
356 + {
357 + name: "回执描述",
358 + value: "rspMsg",
359 + width: "",
360 + align: "left",
361 + },
362 + ],
363 + detailData: [],
364 + detialHeaderData: [
365 + {
366 + name: "序号",
367 + value: "gnum",
368 + width: "",
369 + align: "left",
370 + },
371 + {
372 + name: "商品名称",
373 + value: "itemName",
374 + width: "",
375 + align: "left",
376 + },
377 + {
378 + name: "企业商品货号",
379 + value: "itemNo",
380 + width: "",
381 + align: "left",
382 + },
383 + {
384 + name: "商品编码",
385 + value: "gcode",
386 + width: "",
387 + align: "left",
388 + },
389 + {
390 + name: "规格型号",
391 + value: "itemDescribe",
392 + width: "",
393 + align: "left",
394 + },
395 + {
396 + name: "申报数量",
397 + value: "barCode",
398 + width: "",
399 + align: "left",
400 + },
401 + {
402 + name: "法定数量",
403 + value: "qty1",
404 + width: "",
405 + align: "left",
406 + },
407 + {
408 + name: "法定计量单位",
409 + value: "unit1",
410 + width: "",
411 + align: "left",
412 + slot: true,
413 + },
414 + {
415 + name: "第二数量",
416 + value: "qty2",
417 + width: "",
418 + align: "left",
419 + },
420 + {
421 + name: "第二计量单位",
422 + value: "unit2",
423 + width: "",
424 + align: "left",
425 + slot: true,
426 + },
427 + {
428 + name: "申报计量单位",
429 + value: "unit",
430 + width: "",
431 + align: "left",
432 + },
433 + {
434 + name: "商品品牌",
435 + value: "brand",
436 + width: "",
437 + align: "left",
438 + },
439 + {
440 + name: "企业商品描述",
441 + value: "itemDescribe",
442 + width: "",
443 + align: "left",
444 + },
445 + {
446 + name: "单价",
447 + value: "price",
448 + width: "",
449 + align: "left",
450 + },
451 + {
452 + name: "总价",
453 + value: "totalPrice",
454 + width: "",
455 + align: "left",
456 + },
457 + {
458 + name: "币制",
459 + value: "currency",
460 + width: "",
461 + align: "left",
462 + slot: true,
463 + },
464 + {
465 + name: "条形码",
466 + value: "gmodel",
467 + width: "",
468 + align: "left",
469 + },
470 + {
471 + name: "备注",
472 + value: "note",
473 + width: "",
474 + align: "left",
475 + },
476 + ],
477 + loadings: {
478 + entryLoading: false,
479 + },
480 + logtableType: true,
481 + };
482 + },
483 + created() {
484 + if (this.$route.params.data) {
485 + this.id = this.$route.params.data.id;
486 + this.searchData();
487 + } else {
488 + this.back();
489 + }
490 + },
491 + methods: {
492 + searchData() {
493 + this.loadings.entryLoading = true;
494 + getPvgWaybillInfo({ id: this.id })
495 + .then((res) => {
496 + if (res.code === "200") {
497 + this.formData = res.data.pvgExportOrderVo;
498 + this.detailData = res.data.pvgExportOrderProductVo;
499 + this.logData = res.data.pvgExportOrderReceiptVo;
500 + this.detailData.forEach((item, idx) => {
501 + item.index = idx;
502 + });
503 + } else {
504 + this.alertWarningMsg(res.message);
505 + }
506 + this.loadings.entryLoading = false;
507 + })
508 + .catch((err) => {
509 + console.log(err);
510 + this.loadings.entryLoading = false;
511 + });
512 + },
513 + searchLogData() {},
514 + hiddenLogTable() {
515 + this.logtableType = !this.logtableType;
516 + },
517 + back() {
518 + this.$router.go(-1);
519 + },
520 + },
521 +};
522 +</script>
523 +
524 +<style scoped lang="scss">
525 +.entry {
526 + width: 100%;
527 + height: 100%;
528 + padding: 10px;
529 + background-color: #fff;
530 + overflow: auto;
531 +
532 + .entryInformation {
533 + width: 100%;
534 + height: 100%;
535 + }
536 +
537 + .entryTitle {
538 + display: flex;
539 + justify-content: space-between;
540 + font-weight: 600;
541 + font-weight: 16px;
542 + color: #000;
543 + margin-bottom: 10px;
544 + }
545 +
546 + .titleBorder {
547 + border-bottom: 1px solid #333;
548 + }
549 +}
550 +</style>
1 +<template>
2 + <div class="entrySreach">
3 + <el-form
4 + class="fedexFormStyle fedexformSreach fedexformSreachBottomBorder"
5 + ref="sreachForm"
6 + :model="sreachFormData"
7 + label-position="top"
8 + size="small"
9 + >
10 + <el-row class="row-border">
11 + <!-- 回执状态 -->
12 + <el-col :span="5">
13 + <Formitem label="回执状态" prop="rspCode">
14 + <el-select
15 + type="text"
16 + id="inputInner--rspCode"
17 + v-model="sreachFormData.rspCode"
18 + clearable
19 + placeholder=""
20 + >
21 + <el-option
22 + v-for="(
23 + item, index
24 + ) in $store.getters.dict.RECEIPT_STATUS.filter(
25 + (fItem) => fItem.itemChineseName !== '已提交'
26 + )"
27 + :key="index"
28 + :label="item.itemChineseName"
29 + :value="item.itemValue"
30 + ></el-option>
31 + </el-select>
32 + </Formitem>
33 + </el-col>
34 + <!-- 运单编号 -->
35 + <el-col :span="5">
36 + <Formitem label="物流运单编号" prop="logisticsNo">
37 + <FormTextareaInput
38 + :formData="sreachFormData"
39 + dataKey="logisticsNo"
40 + @formChange="formChange"
41 + />
42 + </Formitem>
43 + </el-col>
44 + <!-- 订单编号 -->
45 + <el-col :span="5">
46 + <Formitem label="提运单号" prop="billNo">
47 + <el-input
48 + type="text"
49 + class="inputShadow"
50 + id="inputInner--billNo"
51 + resize="none"
52 + v-model="sreachFormData.billNo"
53 + clearable
54 + placeholder=""
55 + ></el-input>
56 + </Formitem>
57 + </el-col>
58 + <!-- 电商企业代码 -->
59 + <el-col :span="5">
60 + <Formitem label="订单编号" prop="orderNo">
61 + <el-input
62 + type="text"
63 + class="inputShadow"
64 + id="inputInner--orderNo"
65 + resize="none"
66 + v-model="sreachFormData.orderNo"
67 + clearable
68 + placeholder=""
69 + ></el-input>
70 + </Formitem>
71 + </el-col>
72 +
73 + <el-col :span="2">
74 + <el-form-item class="textCenter">
75 + <el-button
76 + class="entrySreachButton"
77 + type="text"
78 + icon="el-icon-search"
79 + :loading="loadings.searchLoading"
80 + @click="search(0)"
81 + ></el-button>
82 + </el-form-item>
83 + </el-col>
84 + <el-col :span="2">
85 + <el-form-item class="textCenter">
86 + <el-button
87 + type="text"
88 + size="small"
89 + icon="el-icon-refresh"
90 + @click="clear"
91 + >
92 + 重置
93 + </el-button>
94 + </el-form-item>
95 + </el-col>
96 + <!-- 创建时间 -->
97 + <el-col :span="5">
98 + <Formitem label="创建时间" prop="createTime" :activeType="true">
99 + <el-date-picker
100 + class="inputInner--createTime"
101 + id="inputInner--createTime"
102 + v-model="sreachFormData.createTime"
103 + type="daterange"
104 + format="yyyy-MM-dd"
105 + prefix-icon="none"
106 + value-format="yyyy-MM-dd"
107 + range-separator="至"
108 + @change="dateChange"
109 + />
110 + </Formitem>
111 + </el-col>
112 + </el-row>
113 + </el-form>
114 + <div class="optionButton">
115 + <!-- <el-button
116 + class="entrySaveButton"
117 + size="small"
118 + icon="el-icon-download"
119 + @click="downloadData"
120 + >
121 + 导出
122 + </el-button> -->
123 + </div>
124 + <Table
125 + class="fedexDetialTable fedexSreachTable"
126 + ref="entryTable"
127 + :data="tableData"
128 + :headerData="headerData"
129 + :maxHeight="tableMaxheight"
130 + :border="true"
131 + :pagination="true"
132 + :order="false"
133 + :loading="loadings.searchLoading"
134 + :page="page.pageIndex"
135 + :totalCount="page.total"
136 + @sizeChange="sizeChange"
137 + @currentChange="currentChange"
138 + @cellClick="cellClick"
139 + :selection="false"
140 + :selectFixed="false"
141 + :rowSelectDataType="false"
142 + >
143 + <template v-slot:rspCode="scope">
144 + <TablePopover
145 + ref="returnStatusPopover"
146 + dataKey="returnStatus"
147 + :parentDom="$refs.entryTable"
148 + :receiptDataHead="receiptDataHead"
149 + :rowData="scope.row"
150 + :tableData="tableData"
151 + @popoverChange="popoverChange"
152 + @popoverClose="popoverClose"
153 + >
154 + <div slot="title">
155 + <span style="font-weight: 700; color: #515a6e">订单编号:</span
156 + >{{ scope.row.orderNo }}
157 + </div>
158 + <div slot="buttonLabel">
159 + {{ scope.row.rspCode }}
160 + </div>
161 + </TablePopover>
162 + </template>
163 + <template v-slot:logisticsNo="scope">
164 + <el-button type="text" @click="view(scope.row)">{{
165 + scope.row.logisticsNo
166 + }}</el-button>
167 + </template>
168 + </Table>
169 + </div>
170 +</template>
171 +
172 +<script>
173 +import { getPvgWaybillList, getPvgWaybillReceiptInfo } from "@/api/pvg.js";
174 +
175 +export default {
176 + name: "ExportBillQuery",
177 + data() {
178 + return {
179 + sreachFormData: {
180 + billNo: "",
181 + orderNo: "",
182 + rspCode: "",
183 + createTime: [],
184 + logisticsNo: "",
185 + },
186 + originalLogisticsNo: "", // 用于保存原始的 logisticsNo 字符串
187 + page: {
188 + pageIndex: 1,
189 + pageSize: 20,
190 + total: 0,
191 + },
192 + tableData: [],
193 + headerData: [
194 + {
195 + name: "回执状态",
196 + value: "rspCode",
197 + width: "",
198 + align: "left",
199 + slot: true,
200 + },
201 + {
202 + name: "物流运单编号",
203 + value: "logisticsNo",
204 + width: "",
205 + align: "left",
206 + slot: true,
207 + },
208 + {
209 + name: "提运单号",
210 + value: "billNo",
211 + width: "",
212 + align: "left",
213 + },
214 + {
215 + name: "订单编号",
216 + value: "orderNo",
217 + width: "",
218 + align: "left",
219 + },
220 + {
221 + name: "大包裹号",
222 + value: "totalPackageNo",
223 + width: "",
224 + align: "left",
225 + },
226 + {
227 + name: "主要货物信息",
228 + value: "mainGName",
229 + width: "",
230 + align: "left",
231 + },
232 + {
233 + name: "报送类型",
234 + value: "appType",
235 + width: "",
236 + align: "left",
237 + },
238 +
239 + {
240 + name: "创建时间",
241 + value: "createTime",
242 + width: "",
243 + align: "left",
244 + },
245 + ],
246 + receiptDataHead: [
247 + {
248 + name: "回执状态",
249 + value: "rspCode",
250 + width: "120",
251 + align: "left",
252 + },
253 + {
254 + name: "状态时间",
255 + value: "rspTime",
256 + width: "",
257 + align: "left",
258 + },
259 + {
260 + name: "回执描述",
261 + value: "rspMsg",
262 + width: "",
263 + align: "left",
264 + },
265 + ],
266 +
267 + loadings: {
268 + searchLoading: false,
269 + },
270 + textareaVisible: {
271 + formItemconsignmentCode: false,
272 + formItemconsignmentHeadCode: false,
273 + },
274 + tableMaxheight: null,
275 + };
276 + },
277 + created() {
278 + this.search(0);
279 + },
280 + mounted() {
281 + this.tableMaxheight = window.innerHeight - 300;
282 + },
283 + watch: {
284 + $route() {
285 + this.popoverClose();
286 + },
287 + },
288 + methods: {
289 + //查询
290 + search(val) {
291 + this.loadings.searchLoading = true;
292 + if (val == 0) {
293 + this.page.pageIndex = 1;
294 + }
295 + let obj = { ...this.sreachFormData }; // 使用对象展开运算符复制 sreachFormData
296 + //let obj = this.sreachFormData;
297 + obj.pageIndex = this.page.pageIndex;
298 + obj.pageSize = this.page.pageSize;
299 + obj.createTimeStart = "";
300 + obj.createTimeEnd = "";
301 + if (obj.createTime.length > 0) {
302 + obj.startCreateTime = obj.createTime[0];
303 + obj.endCreateTime = obj.createTime[1];
304 + }
305 + // 使用保存的原始 logisticsNo 字符串
306 + obj.logisticsNo = this.originalLogisticsNo;
307 + if (obj.logisticsNo != null && obj.logisticsNo != "") {
308 + obj.logisticsNo = obj.logisticsNo.split("\n");
309 + } else {
310 + obj.logisticsNo = [];
311 + }
312 + getPvgWaybillList(obj)
313 + .then((res) => {
314 + if (res.code === "200") {
315 + this.tableData = res.data.value;
316 + this.page.total = res.data.totalItems;
317 + this.tableData.forEach((item, idx) => {
318 + item.index = idx;
319 + item.returnStatusPopoverType = false;
320 + item.popoverData = [];
321 + });
322 + } else {
323 + this.alertWarningMsg(res.message);
324 + }
325 + this.loadings.searchLoading = false;
326 + })
327 + .catch((err) => {
328 + console.log(err);
329 + this.loadings.searchLoading = false;
330 + });
331 + },
332 + //重置
333 + clear() {
334 + this.sreachFormData = {
335 + billNo: "",
336 + orderNo: "",
337 + rspCode: "",
338 + createTime: [],
339 + };
340 + this.originalLogisticsNo = "";
341 + },
342 + //导出
343 + downloadData() {},
344 + //查询详情
345 + view(val) {
346 + this.$router.push({
347 + name: "PvgOrderDetail",
348 + params: { data: val },
349 + });
350 + },
351 + popoverChange(val) {
352 + console.log(val);
353 + this.tableData = val.tableData;
354 + this.receiptApi(val.data.id, val.status)
355 + .then((res) => {
356 + val.tableData.forEach((item) => {
357 + if (item.declareId == val.data.declareId) {
358 + item.popoverData = res;
359 + }
360 + });
361 + this.tableData = val.tableData;
362 + })
363 + .finally(() => {
364 + this.$nextTick(() => {
365 + this.$store.dispatch("setLoadingState", false);
366 + this.$refs.returnStatusPopover.tableLoading = false;
367 + });
368 + });
369 + },
370 + //查询回执
371 + receiptApi(id) {
372 + return new Promise((resolve, reject) => {
373 + let obj = { id: id };
374 + getPvgWaybillReceiptInfo(obj)
375 + .then((res) => {
376 + if (res.code === "200") {
377 + resolve(res.data);
378 + } else {
379 + reject();
380 + }
381 + })
382 + .catch((err) => {
383 + console.log(err);
384 + reject();
385 + });
386 + });
387 + },
388 + popoverClose(val) {
389 + this.tableData.forEach((item) => {
390 + item.returnStatusPopoverType = false;
391 + item.popoverData = [];
392 + });
393 + this.$refs.entryTable.$refs.tables.$refs.bodyWrapper.style.overflowY =
394 + "auto";
395 + },
396 + formChange(val) {
397 + this.sreachFormData = val;
398 + this.originalLogisticsNo = val.logisticsNo; // 保存原始的 logisticsNo 字符串
399 + },
400 + //分页
401 + currentChange(val) {
402 + this.page.pageIndex = val.page;
403 + this.search(1);
404 + },
405 + sizeChange(val) {
406 + this.page.pageSize = val;
407 + this.search(1);
408 + },
409 + cellClick() {
410 + this.popoverClose();
411 + },
412 + dateChange(val) {
413 + if (val == "" || val == null) {
414 + this.$nextTick(() => {
415 + this.sreachFormData.createTime = [];
416 + });
417 + }
418 + },
419 + input() {
420 + this.$forceUpdate();
421 + },
422 + },
423 +};
424 +</script>
425 +
426 +<style scoped lang="scss">
427 +@import "@/assets/styles/variables.scss";
428 +.entrySreach {
429 + height: 100%;
430 + background-color: $menuLightBg;
431 +
432 + .entrySreachButton {
433 + display: inline-block;
434 + font-size: 20px;
435 + color: $fedexButton !important;
436 + }
437 +
438 + .optionButton {
439 + padding: 10px;
440 + text-align: right;
441 +
442 + .el-button {
443 + color: $fedexButton;
444 + border-color: $fedexButton !important;
445 +
446 + svg {
447 + display: inline-block;
448 + margin-right: 5px;
449 + fill: $fedexButton;
450 + }
451 + }
452 +
453 + .entrySaveButton:hover,
454 + .entrySaveButton:focus {
455 + color: $menuLightBg !important;
456 + background-color: $fedexButton !important;
457 + }
458 + }
459 +}
460 +
461 +.texttareaTip {
462 + position: absolute;
463 + top: 52%;
464 + right: 20px;
465 + transform: translate(0, -50%);
466 + z-index: 10;
467 +}
468 +</style>
1 +<template>
2 + <div class="entry" v-loading="loadings.entryLoading">
3 + <div class="entryTitle">
4 + <div>PVG清单详情</div>
5 + <div>
6 + <el-button class="entrySaveButton" @click="back">返 回</el-button>
7 + </div>
8 + </div>
9 + <el-form
10 + class="fedexFormStyle"
11 + ref="sreachForm"
12 + :model="formData"
13 + label-position="top"
14 + disabled
15 + size="small"
16 + >
17 + <el-row :gutter="5">
18 + <el-col :span="3">
19 + <Formitem label="清单编号" prop="invtNo">
20 + <el-input
21 + type="text"
22 + class="inputShadow"
23 + id="inputInner--invtNo"
24 + resize="none"
25 + v-model="formData.invtNo"
26 + clearable
27 + placeholder=""
28 + ></el-input>
29 + </Formitem>
30 + </el-col>
31 + <el-col :span="3">
32 + <Formitem label="发货人代码" prop="ebcCode">
33 + <el-input
34 + type="text"
35 + class="inputShadow"
36 + id="inputInner--ebcCode"
37 + resize="none"
38 + v-model="formData.ebcCode"
39 + clearable
40 + placeholder=""
41 + ></el-input>
42 + </Formitem>
43 + </el-col>
44 + <el-col :span="3">
45 + <Formitem label="发货人名称" prop="ebcName">
46 + <el-input
47 + type="text"
48 + class="inputShadow"
49 + id="inputInner--ebcName"
50 + resize="none"
51 + v-model="formData.ebcName"
52 + clearable
53 + placeholder=""
54 + ></el-input>
55 + </Formitem>
56 + </el-col>
57 + <el-col :span="3">
58 + <Formitem label="电商平台名称" prop="ebpName">
59 + <el-input
60 + type="text"
61 + class="inputShadow"
62 + id="inputInner--ebpName"
63 + resize="none"
64 + v-model="formData.ebpName"
65 + clearable
66 + placeholder=""
67 + ></el-input>
68 + </Formitem>
69 + </el-col>
70 + <el-col :span="3">
71 + <Formitem label="贸易方式" prop="tradeMode">
72 + <el-select
73 + type="text"
74 + id="inputInner--tradeMode"
75 + v-model="formData.tradeMode"
76 + clearable
77 + placeholder=""
78 + >
79 + <el-option
80 + v-for="(item, index) in $store.getters.dict.CURRENCY"
81 + :key="index"
82 + :label="item.itemChineseName"
83 + :value="item.itemValue"
84 + ></el-option>
85 + </el-select>
86 + </Formitem>
87 + </el-col>
88 + <el-col :span="3">
89 + <Formitem label="物流运单编号" prop="logisticsNo">
90 + <el-input
91 + type="text"
92 + class="inputShadow"
93 + id="inputInner--logisticsNo"
94 + resize="none"
95 + v-model="formData.logisticsNo"
96 + clearable
97 + placeholder=""
98 + ></el-input>
99 + </Formitem>
100 + </el-col>
101 + <el-col :span="3">
102 + <Formitem label="提运单号" prop="billNo">
103 + <el-input
104 + type="text"
105 + class="inputShadow"
106 + id="inputInner--billNo"
107 + resize="none"
108 + v-model="formData.billNo"
109 + clearable
110 + placeholder=""
111 + ></el-input>
112 + </Formitem>
113 + </el-col>
114 + <el-col :span="3">
115 + <Formitem label="订单编号" prop="orderNo">
116 + <el-input
117 + type="text"
118 + class="inputShadow"
119 + id="inputInner--orderNo"
120 + resize="none"
121 + v-model="formData.orderNo"
122 + clearable
123 + placeholder=""
124 + ></el-input>
125 + </Formitem>
126 + </el-col>
127 + <el-col :span="3">
128 + <Formitem label="物流企业代码" prop="logisticsCode">
129 + <el-input
130 + type="text"
131 + class="inputShadow"
132 + id="inputInner--logisticsCode"
133 + resize="none"
134 + v-model="formData.logisticsCode"
135 + clearable
136 + placeholder=""
137 + ></el-input>
138 + </Formitem>
139 + </el-col>
140 + <!-- <el-col :span="3">
141 + <Formitem label="币制" prop="currency">
142 + <el-select
143 + type="text"
144 + id="inputInner--currency"
145 + v-model="formData.currency"
146 + clearable
147 + placeholder=""
148 + >
149 + <el-option
150 + v-for="(item, index) in $store.getters.dict.CURRENCY"
151 + :key="index"
152 + :label="item.itemChineseName"
153 + :value="item.itemValue"
154 + ></el-option>
155 + </el-select>
156 + </Formitem>
157 + </el-col> -->
158 + <el-col :span="3">
159 + <Formitem label="物流企业名称" prop="logisticsName">
160 + <el-input
161 + type="text"
162 + class="inputShadow"
163 + id="inputInner--logisticsName"
164 + resize="none"
165 + v-model="formData.logisticsName"
166 + clearable
167 + placeholder=""
168 + ></el-input>
169 + </Formitem>
170 + </el-col>
171 + <el-col :span="3">
172 + <Formitem label="申报海关企业代码" prop="agentCode">
173 + <el-input
174 + type="text"
175 + class="inputShadow"
176 + id="inputInner--agentCode"
177 + resize="none"
178 + v-model="formData.agentCode"
179 + clearable
180 + placeholder=""
181 + ></el-input>
182 + </Formitem>
183 + </el-col>
184 + <el-col :span="3">
185 + <Formitem label="申报海关企业名称" prop="agentName">
186 + <el-input
187 + type="text"
188 + class="inputShadow"
189 + id="inputInner--agentName"
190 + resize="none"
191 + v-model="formData.agentName"
192 + clearable
193 + placeholder=""
194 + ></el-input>
195 + </Formitem>
196 + </el-col>
197 + <el-col :span="3">
198 + <Formitem label="大包裹号" prop="totalPackageNo">
199 + <el-input
200 + type="text"
201 + class="inputShadow"
202 + id="inputInner--totalPackageNo"
203 + resize="none"
204 + v-model="formData.totalPackageNo"
205 + clearable
206 + placeholder=""
207 + ></el-input>
208 + </Formitem>
209 + </el-col>
210 + <el-col :span="3">
211 + <Formitem label="小包数量" prop="shipper">
212 + <el-input
213 + type="text"
214 + class="inputShadow"
215 + id="inputInner--shipper"
216 + resize="none"
217 + v-model="formData.shipper"
218 + clearable
219 + placeholder=""
220 + ></el-input>
221 + </Formitem>
222 + </el-col>
223 + <!-- 发货人电话 -->
224 + <el-col :span="3">
225 + <Formitem label="包装种类" prop="wrapType">
226 + <el-input
227 + type="text"
228 + class="inputShadow"
229 + id="inputInner--wrapType"
230 + resize="none"
231 + v-model="formData.wrapType"
232 + clearable
233 + placeholder=""
234 + ></el-input>
235 + </Formitem>
236 + </el-col>
237 + <!-- 发货人地址 -->
238 + <el-col :span="3">
239 + <Formitem label="申报业务类型" prop="statisticsFlag">
240 + <el-input
241 + type="text"
242 + class="inputShadow"
243 + id="inputInner--statisticsFlag"
244 + resize="none"
245 + v-model="formData.statisticsFlag"
246 + clearable
247 + placeholder=""
248 + ></el-input>
249 + </Formitem>
250 + </el-col>
251 + <!-- 发货人所在国 -->
252 + <el-col :span="3">
253 + <Formitem label="出口口岸代码" prop="portCode">
254 + <el-input
255 + type="text"
256 + class="inputShadow"
257 + id="inputInner--portCode"
258 + resize="none"
259 + v-model="formData.portCode"
260 + clearable
261 + placeholder=""
262 + ></el-input>
263 + </Formitem>
264 + </el-col>
265 + <el-col :span="3">
266 + <Formitem label="出口日期" prop="ieDate">
267 + <el-input
268 + type="text"
269 + class="inputShadow"
270 + id="inputInner--ieDate"
271 + resize="none"
272 + v-model="formData.ieDate"
273 + clearable
274 + placeholder=""
275 + ></el-input>
276 + </Formitem>
277 + </el-col>
278 + <el-col :span="3">
279 + <Formitem label="申报地海关代码" prop="customsCode">
280 + <el-input
281 + type="text"
282 + class="inputShadow"
283 + id="inputInner--customsCode"
284 + resize="none"
285 + v-model="formData.customsCode"
286 + clearable
287 + placeholder=""
288 + ></el-input>
289 + </Formitem>
290 + </el-col>
291 + <el-col :span="3">
292 + <Formitem label="申报日期" prop="crossOrderId">
293 + <el-input
294 + type="text"
295 + class="inputShadow"
296 + id="inputInner--crossOrderId"
297 + resize="none"
298 + v-model="formData.crossOrderId"
299 + clearable
300 + placeholder=""
301 + ></el-input>
302 + </Formitem>
303 + </el-col>
304 + <el-col :span="3">
305 + <Formitem label="毛重(kg)" prop="grossWeight">
306 + <el-input
307 + type="text"
308 + class="inputShadow"
309 + id="inputInner--grossWeight"
310 + resize="none"
311 + v-model="formData.grossWeight"
312 + clearable
313 + placeholder=""
314 + ></el-input>
315 + </Formitem>
316 + </el-col>
317 + <el-col :span="3">
318 + <Formitem label="净重(kg)" prop="netWt">
319 + <el-input
320 + type="text"
321 + class="inputShadow"
322 + id="inputInner--netWt"
323 + resize="none"
324 + v-model="formData.netWt"
325 + clearable
326 + placeholder=""
327 + ></el-input>
328 + </Formitem>
329 + </el-col>
330 + <el-col :span="3">
331 + <Formitem label="件数" prop="packNo">
332 + <el-input
333 + type="text"
334 + class="inputShadow"
335 + id="inputInner--packNo"
336 + resize="none"
337 + v-model="formData.packNo"
338 + clearable
339 + placeholder=""
340 + ></el-input>
341 + </Formitem>
342 + </el-col>
343 + <el-col :span="3">
344 + <Formitem label="运输方式" prop="trafMode">
345 + <el-input
346 + type="text"
347 + class="inputShadow"
348 + id="inputInner--trafMode"
349 + resize="none"
350 + v-model="formData.trafMode"
351 + clearable
352 + placeholder=""
353 + ></el-input>
354 + </Formitem>
355 + </el-col>
356 + <el-col :span="3">
357 + <Formitem label="航班航次号" prop="voyageNo">
358 + <el-input
359 + type="text"
360 + class="inputShadow"
361 + id="inputInner--voyageNo"
362 + resize="none"
363 + v-model="formData.voyageNo"
364 + clearable
365 + placeholder=""
366 + ></el-input>
367 + </Formitem>
368 + </el-col>
369 + <el-col :span="3">
370 + <Formitem label="运抵国(地区)" prop="country" :activeType="true">
371 + <el-select
372 + type="text"
373 + id="inputInner--country"
374 + v-model="formData.country"
375 + clearable
376 + filterable
377 + placeholder=""
378 + >
379 + <el-option
380 + v-for="(item, index) in $store.getters.dict.COUNTRY_REGION_CODE"
381 + :key="index"
382 + :label="item.itemChineseName"
383 + :value="item.itemCode"
384 + ></el-option>
385 + </el-select>
386 + </Formitem>
387 + </el-col>
388 + <el-col :span="3">
389 + <Formitem label="指运港" prop="pod">
390 + <el-input
391 + type="text"
392 + class="inputShadow"
393 + id="inputInner--pod"
394 + resize="none"
395 + v-model="formData.pod"
396 + clearable
397 + placeholder=""
398 + ></el-input>
399 + </Formitem>
400 + </el-col>
401 + <el-col :span="3">
402 + <Formitem label="监管场所代码" prop="loctNo">
403 + <el-input
404 + type="text"
405 + class="inputShadow"
406 + id="inputInner--loctNo"
407 + resize="none"
408 + v-model="formData.loctNo"
409 + clearable
410 + placeholder=""
411 + ></el-input>
412 + </Formitem>
413 + </el-col>
414 + <el-col :span="3">
415 + <Formitem label="保费" prop="insuredFee">
416 + <el-input
417 + type="text"
418 + class="inputShadow"
419 + id="inputInner--insuredFee"
420 + resize="none"
421 + v-model="formData.insuredFee"
422 + clearable
423 + placeholder=""
424 + ></el-input>
425 + </Formitem>
426 + </el-col>
427 + <el-col :span="3">
428 + <Formitem label="保费币制" prop="icurrency">
429 + <el-input
430 + type="text"
431 + class="inputShadow"
432 + id="inputInner--icurrency"
433 + resize="none"
434 + v-model="formData.icurrency"
435 + clearable
436 + placeholder=""
437 + ></el-input>
438 + </Formitem>
439 + </el-col>
440 + <el-col :span="3">
441 + <Formitem label="保费标志" prop="iflag">
442 + <el-input
443 + type="text"
444 + class="inputShadow"
445 + id="inputInner--iflag"
446 + resize="none"
447 + v-model="formData.iflag"
448 + clearable
449 + placeholder=""
450 + ></el-input>
451 + </Formitem>
452 + </el-col>
453 + <el-col :span="3">
454 + <Formitem label="运费" prop="freight">
455 + <el-input
456 + type="text"
457 + class="inputShadow"
458 + id="inputInner--freight"
459 + resize="none"
460 + v-model="formData.freight"
461 + clearable
462 + placeholder=""
463 + ></el-input>
464 + </Formitem>
465 + </el-col>
466 + <el-col :span="3">
467 + <Formitem label="运费币制" prop="fcurrency">
468 + <el-input
469 + type="text"
470 + class="inputShadow"
471 + id="inputInner--fcurrency"
472 + resize="none"
473 + v-model="formData.fcurrency"
474 + clearable
475 + placeholder=""
476 + ></el-input>
477 + </Formitem>
478 + </el-col>
479 + <el-col :span="3">
480 + <Formitem label="生产销售企业代码" prop="ownerCode">
481 + <el-input
482 + type="text"
483 + class="inputShadow"
484 + id="inputInner--ownerCode"
485 + resize="none"
486 + v-model="formData.ownerCode"
487 + clearable
488 + placeholder=""
489 + ></el-input>
490 + </Formitem>
491 + </el-col>
492 + <el-col :span="3">
493 + <Formitem label="生产销售企业名称" prop="ownerName">
494 + <el-input
495 + type="text"
496 + class="inputShadow"
497 + id="inputInner--ownerName"
498 + resize="none"
499 + v-model="formData.ownerName"
500 + clearable
501 + placeholder=""
502 + ></el-input>
503 + </Formitem>
504 + </el-col>
505 + <el-col :span="3">
506 + <Formitem label="运输工具名称" prop="trafName">
507 + <el-input
508 + type="text"
509 + class="inputShadow"
510 + id="inputInner--trafName"
511 + resize="none"
512 + v-model="formData.trafName"
513 + clearable
514 + placeholder=""
515 + ></el-input>
516 + </Formitem>
517 + </el-col>
518 + <el-col :span="3">
519 + <Formitem label="区内企业代码" prop="iacCode">
520 + <el-input
521 + type="text"
522 + class="inputShadow"
523 + id="inputInner--iacCode"
524 + resize="none"
525 + v-model="formData.iacCode"
526 + clearable
527 + placeholder=""
528 + ></el-input>
529 + </Formitem>
530 + </el-col>
531 + <el-col :span="3">
532 + <Formitem label="区内企业名称" prop="iacName">
533 + <el-input
534 + type="text"
535 + class="inputShadow"
536 + id="inputInner--iacName"
537 + resize="none"
538 + v-model="formData.iacName"
539 + clearable
540 + placeholder=""
541 + ></el-input>
542 + </Formitem>
543 + </el-col>
544 + <el-col :span="3">
545 + <Formitem label="账册编号" prop="emsNo">
546 + <el-input
547 + type="text"
548 + class="inputShadow"
549 + id="inputInner--emsNo"
550 + resize="none"
551 + v-model="formData.emsNo"
552 + clearable
553 + placeholder=""
554 + ></el-input>
555 + </Formitem>
556 + </el-col>
557 + <el-col :span="3">
558 + <Formitem label="许可证号" prop="licenseNo">
559 + <el-input
560 + type="text"
561 + class="inputShadow"
562 + id="inputInner--licenseNo"
563 + resize="none"
564 + v-model="formData.licenseNo"
565 + clearable
566 + placeholder=""
567 + ></el-input>
568 + </Formitem>
569 + </el-col>
570 + <el-col :span="9">
571 + <Formitem label="备注" prop="note">
572 + <el-input
573 + type="text"
574 + class="inputShadow"
575 + id="inputInner--note"
576 + resize="none"
577 + v-model="formData.note"
578 + clearable
579 + placeholder=""
580 + ></el-input>
581 + </Formitem>
582 + </el-col>
583 + </el-row>
584 + </el-form>
585 + <div
586 + :class="{ entryTitle: true, titleBorder: logtableType ? false : true }"
587 + style="margin-top: 10px"
588 + >
589 + <div>
590 + 回执信息
591 + <el-button type="text" @click="hiddenLogTable">
592 + <svg-icon v-if="logtableType" icon-class="downIcon"></svg-icon>
593 + <svg-icon v-else icon-class="upIcon"></svg-icon>
594 + </el-button>
595 + </div>
596 + </div>
597 + <ReceiptInfoTable
598 + v-if="logtableType"
599 + :tableData="logData"
600 + :headerData="logHeaderData"
601 + />
602 + <div class="entryTitle" style="margin-top: 10px">商品明细</div>
603 + <ProductDetailTable
604 + :tableData="detailData"
605 + :bodyHeader="detialHeaderData"
606 + />
607 + <div style="margin-bottom: 20px; text-align: center"></div>
608 + </div>
609 +</template>
610 +
611 +<script>
612 +import ReceiptInfoTable from "../components/ReceiptInfoTable/index.vue";
613 +import ProductDetailTable from "../components/ProductDetailTable/index.vue";
614 +import { getPvgListInfo } from "@/api/pvg.js";
615 +export default {
616 + name: "",
617 + components: { ProductDetailTable, ReceiptInfoTable },
618 + data() {
619 + return {
620 + id: null,
621 + formData: {},
622 + logData: [],
623 + logHeaderData: [
624 + {
625 + name: "回执状态",
626 + value: "rspCode",
627 + width: "200",
628 + align: "left",
629 + },
630 + {
631 + name: "状态时间",
632 + value: "rspTime",
633 + width: "400",
634 + align: "left",
635 + },
636 + {
637 + name: "回执描述",
638 + value: "rspMsg",
639 + width: "",
640 + align: "left",
641 + },
642 + ],
643 + detailData: [],
644 + detialHeaderData: [
645 + {
646 + name: "序号",
647 + value: "gnum",
648 + width: "",
649 + align: "left",
650 + },
651 + {
652 + name: "商品名称",
653 + value: "itemName",
654 + width: "",
655 + align: "left",
656 + },
657 +
658 + {
659 + name: "商品编码",
660 + value: "gcode",
661 + width: "",
662 + align: "left",
663 + },
664 + {
665 + name: "规格型号",
666 + value: "itemDescribe",
667 + width: "",
668 + align: "left",
669 + },
670 + {
671 + name: "申报数量",
672 + value: "barCode",
673 + width: "",
674 + align: "left",
675 + },
676 + {
677 + name: "法定数量",
678 + value: "qty1",
679 + width: "",
680 + align: "left",
681 + },
682 + {
683 + name: "法定计量单位",
684 + value: "unit1",
685 + width: "",
686 + align: "left",
687 + slot: true,
688 + },
689 + {
690 + name: "第二数量",
691 + value: "qty2",
692 + width: "",
693 + align: "left",
694 + },
695 + {
696 + name: "第二计量单位",
697 + value: "unit2",
698 + width: "",
699 + align: "left",
700 + slot: true,
701 + },
702 + {
703 + name: "申报计量单位",
704 + value: "unit",
705 + width: "",
706 + align: "left",
707 + },
708 + {
709 + name: "商品品牌",
710 + value: "brand",
711 + width: "",
712 + align: "left",
713 + },
714 + {
715 + name: "企业商品描述",
716 + value: "itemDescribe",
717 + width: "",
718 + align: "left",
719 + },
720 + {
721 + name: "单价",
722 + value: "price",
723 + width: "",
724 + align: "left",
725 + },
726 + {
727 + name: "总价",
728 + value: "totalPrice",
729 + width: "",
730 + align: "left",
731 + },
732 + {
733 + name: "币制",
734 + value: "currency",
735 + width: "",
736 + align: "left",
737 + slot: true,
738 + },
739 + {
740 + name: "条形码",
741 + value: "gmodel",
742 + width: "",
743 + align: "left",
744 + },
745 + {
746 + name: "备注",
747 + value: "note",
748 + width: "",
749 + align: "left",
750 + },
751 + ],
752 + loadings: {
753 + entryLoading: false,
754 + },
755 + logtableType: true,
756 + };
757 + },
758 + created() {
759 + if (this.$route.params.data) {
760 + this.id = this.$route.params.data.id;
761 + this.searchData();
762 + } else {
763 + this.back();
764 + }
765 + },
766 + methods: {
767 + searchData() {
768 + this.loadings.entryLoading = true;
769 + getPvgListInfo({ listId: this.id })
770 + .then((res) => {
771 + if (res.code === "200") {
772 + this.formData = res.data.pvgExportOrderVo;
773 + this.detailData = res.data.pvgExportOrderProductVo;
774 + this.logData = res.data.pvgExportOrderReceiptVo;
775 + this.detailData.forEach((item, idx) => {
776 + item.index = idx;
777 + });
778 + } else {
779 + this.alertWarningMsg(res.message);
780 + }
781 + this.loadings.entryLoading = false;
782 + })
783 + .catch((err) => {
784 + console.log(err);
785 + this.loadings.entryLoading = false;
786 + });
787 + },
788 + searchLogData() {},
789 + hiddenLogTable() {
790 + this.logtableType = !this.logtableType;
791 + },
792 + back() {
793 + this.$router.go(-1);
794 + },
795 + },
796 +};
797 +</script>
798 +
799 +<style scoped lang="scss">
800 +.entry {
801 + width: 100%;
802 + height: 100%;
803 + padding: 10px;
804 + background-color: #fff;
805 + overflow: auto;
806 +
807 + .entryInformation {
808 + width: 100%;
809 + height: 100%;
810 + }
811 +
812 + .entryTitle {
813 + display: flex;
814 + justify-content: space-between;
815 + font-weight: 600;
816 + font-weight: 16px;
817 + color: #000;
818 + margin-bottom: 10px;
819 + }
820 +
821 + .titleBorder {
822 + border-bottom: 1px solid #333;
823 + }
824 +}
825 +</style>
1 +<template>
2 + <div class="entrySreach">
3 + <el-form
4 + class="fedexFormStyle fedexformSreach fedexformSreachBottomBorder"
5 + ref="sreachForm"
6 + :model="sreachFormData"
7 + label-position="top"
8 + size="small"
9 + >
10 + <el-row class="row-border">
11 + <el-col :span="5">
12 + <Formitem label="回执状态" prop="rspCode">
13 + <el-select
14 + type="text"
15 + id="inputInner--rspCode"
16 + v-model="sreachFormData.rspCode"
17 + clearable
18 + placeholder=""
19 + >
20 + <el-option
21 + v-for="(
22 + item, index
23 + ) in $store.getters.dict.RECEIPT_STATUS.filter(
24 + (fItem) => fItem.itemChineseName !== '已提交'
25 + )"
26 + :key="index"
27 + :label="item.itemChineseName"
28 + :value="item.itemValue"
29 + ></el-option>
30 + </el-select>
31 + </Formitem>
32 + </el-col>
33 + <el-col :span="5">
34 + <Formitem label="物流运单编号" prop="logisticsNo">
35 + <FormTextareaInput
36 + :formData="sreachFormData"
37 + dataKey="logisticsNo"
38 + @formChange="formChange"
39 + />
40 + </Formitem>
41 + </el-col>
42 + <el-col :span="5">
43 + <Formitem label="提运单号" prop="billNo">
44 + <el-input
45 + type="text"
46 + class="inputShadow"
47 + id="inputInner--billNo"
48 + resize="none"
49 + v-model="sreachFormData.billNo"
50 + clearable
51 + placeholder=""
52 + ></el-input>
53 + </Formitem>
54 + </el-col>
55 + <el-col :span="5">
56 + <Formitem label="订单编号" prop="orderNo">
57 + <el-input
58 + type="text"
59 + class="inputShadow"
60 + id="inputInner--orderNo"
61 + resize="none"
62 + v-model="sreachFormData.orderNo"
63 + clearable
64 + placeholder=""
65 + ></el-input>
66 + </Formitem>
67 + </el-col>
68 +
69 + <el-col :span="2">
70 + <el-form-item class="textCenter">
71 + <el-button
72 + class="entrySreachButton"
73 + type="text"
74 + icon="el-icon-search"
75 + :loading="loadings.searchLoading"
76 + @click="search(0)"
77 + ></el-button>
78 + </el-form-item>
79 + </el-col>
80 + <el-col :span="2">
81 + <el-form-item class="textCenter">
82 + <el-button
83 + type="text"
84 + size="small"
85 + icon="el-icon-refresh"
86 + @click="clear"
87 + >
88 + 重置
89 + </el-button>
90 + </el-form-item>
91 + </el-col>
92 + <!-- 创建时间 -->
93 + <el-col :span="5">
94 + <Formitem label="清单编号" prop="invtNo">
95 + <el-input
96 + type="text"
97 + class="inputShadow"
98 + id="inputInner--invtNo"
99 + resize="none"
100 + v-model="sreachFormData.invtNo"
101 + clearable
102 + placeholder=""
103 + ></el-input>
104 + </Formitem>
105 + </el-col>
106 + <el-col :span="5">
107 + <Formitem label="大包裹号" prop="totalPackageNo">
108 + <el-input
109 + type="text"
110 + class="inputShadow"
111 + id="inputInner--totalPackageNo"
112 + resize="none"
113 + v-model="sreachFormData.totalPackageNo"
114 + clearable
115 + placeholder=""
116 + ></el-input>
117 + </Formitem>
118 + </el-col>
119 + <el-col :span="5">
120 + <Formitem label="创建时间" prop="createTime" :activeType="true">
121 + <el-date-picker
122 + class="inputInner--createTime"
123 + id="inputInner--createTime"
124 + v-model="sreachFormData.createTime"
125 + type="daterange"
126 + format="yyyy-MM-dd"
127 + prefix-icon="none"
128 + value-format="yyyy-MM-dd"
129 + range-separator="至"
130 + @change="dateChange"
131 + />
132 + </Formitem>
133 + </el-col>
134 + </el-row>
135 + </el-form>
136 + <div class="optionButton"></div>
137 + <Table
138 + class="fedexDetialTable fedexSreachTable"
139 + ref="entryTable"
140 + :data="tableData"
141 + :headerData="headerData"
142 + :maxHeight="tableMaxheight"
143 + :border="true"
144 + :pagination="true"
145 + :order="false"
146 + :loading="loadings.searchLoading"
147 + :page="page.pageIndex"
148 + :totalCount="page.total"
149 + @sizeChange="sizeChange"
150 + @currentChange="currentChange"
151 + @cellClick="cellClick"
152 + :selection="false"
153 + :selectFixed="false"
154 + :rowSelectDataType="false"
155 + >
156 + <template v-slot:rspCode="scope">
157 + <TablePopover
158 + ref="returnStatusPopover"
159 + dataKey="returnStatus"
160 + :parentDom="$refs.entryTable"
161 + :receiptDataHead="receiptDataHead"
162 + :rowData="scope.row"
163 + :tableData="tableData"
164 + @popoverChange="popoverChange"
165 + @popoverClose="popoverClose"
166 + >
167 + <div slot="title">
168 + <span style="font-weight: 700; color: #515a6e">订单编号:</span
169 + >{{ scope.row.orderNo }}
170 + </div>
171 + <div slot="buttonLabel">
172 + {{ scope.row.rspCode }}
173 + </div>
174 + </TablePopover>
175 + </template>
176 + <template v-slot:logisticsNo="scope">
177 + <el-button type="text" @click="view(scope.row)">{{
178 + scope.row.logisticsNo
179 + }}</el-button>
180 + </template>
181 + </Table>
182 + </div>
183 +</template>
184 +
185 +<script>
186 +import { getPvgListSearch, getPvgListReceipt } from "@/api/pvg.js";
187 +
188 +export default {
189 + name: "ExportBillQuery",
190 + data() {
191 + return {
192 + sreachFormData: {
193 + billNo: "",
194 + orderNo: "",
195 + totalPackageNo: "",
196 + invtNo: "",
197 + rspCode: "",
198 + createTime: [],
199 + logisticsNo: "",
200 + },
201 + originalLogisticsNo: "", // 用于保存原始的 logisticsNo 字符串
202 + page: {
203 + pageIndex: 1,
204 + pageSize: 20,
205 + total: 0,
206 + },
207 + tableData: [],
208 + headerData: [
209 + {
210 + name: "回执状态",
211 + value: "rspCode",
212 + width: "",
213 + align: "left",
214 + slot: true,
215 + },
216 + {
217 + name: "物流运单编号",
218 + value: "logisticsNo",
219 + width: "",
220 + align: "left",
221 + slot: true,
222 + },
223 + {
224 + name: "提运单号",
225 + value: "billNo",
226 + width: "",
227 + align: "left",
228 + },
229 + {
230 + name: "订单编号",
231 + value: "orderNo",
232 + width: "",
233 + align: "left",
234 + },
235 + {
236 + name: "清单编号",
237 + value: "invtNo",
238 + width: "",
239 + align: "left",
240 + },
241 + {
242 + name: "大包裹号",
243 + value: "totalPackageNo",
244 + width: "",
245 + align: "left",
246 + },
247 + {
248 + name: "电商企业名称",
249 + value: "ebpName",
250 + width: "",
251 + align: "left",
252 + },
253 + {
254 + name: "申报类型",
255 + value: "appType",
256 + width: "",
257 + align: "left",
258 + },
259 +
260 + {
261 + name: "创建时间",
262 + value: "createTime",
263 + width: "",
264 + align: "left",
265 + },
266 + ],
267 + receiptDataHead: [
268 + {
269 + name: "回执状态",
270 + value: "rspCode",
271 + width: "120",
272 + align: "left",
273 + },
274 + {
275 + name: "状态时间",
276 + value: "rspTime",
277 + width: "",
278 + align: "left",
279 + },
280 + {
281 + name: "回执描述",
282 + value: "rspMsg",
283 + width: "",
284 + align: "left",
285 + },
286 + ],
287 +
288 + loadings: {
289 + searchLoading: false,
290 + },
291 + textareaVisible: {
292 + formItemconsignmentCode: false,
293 + formItemconsignmentHeadCode: false,
294 + },
295 + tableMaxheight: null,
296 + };
297 + },
298 + created() {
299 + this.search(0);
300 + },
301 + mounted() {
302 + this.tableMaxheight = window.innerHeight - 300;
303 + },
304 + watch: {
305 + $route() {
306 + this.popoverClose();
307 + },
308 + },
309 + methods: {
310 + //查询
311 + search(val) {
312 + this.loadings.searchLoading = true;
313 + if (val == 0) {
314 + this.page.pageIndex = 1;
315 + }
316 + let obj = { ...this.sreachFormData }; // 使用对象展开运算符复制 sreachFormData
317 + //let obj = this.sreachFormData;
318 + obj.pageIndex = this.page.pageIndex;
319 + obj.pageSize = this.page.pageSize;
320 + obj.createTimeStart = "";
321 + obj.createTimeEnd = "";
322 + if (obj.createTime.length > 0) {
323 + obj.startTime = obj.createTime[0];
324 + obj.endTime = obj.createTime[1];
325 + }
326 + // 使用保存的原始 logisticsNo 字符串
327 + obj.logisticsNo = this.originalLogisticsNo;
328 + if (obj.logisticsNo != null && obj.logisticsNo != "") {
329 + obj.logisticsNo = obj.logisticsNo.split("\n");
330 + } else {
331 + obj.logisticsNo = [];
332 + }
333 + getPvgListSearch(obj)
334 + .then((res) => {
335 + if (res.code === "200") {
336 + this.tableData = res.data.value;
337 + this.page.total = res.data.totalItems;
338 + this.tableData.forEach((item, idx) => {
339 + item.index = idx;
340 + item.returnStatusPopoverType = false;
341 + item.popoverData = [];
342 + });
343 + } else {
344 + this.alertWarningMsg(res.message);
345 + }
346 + this.loadings.searchLoading = false;
347 + })
348 + .catch((err) => {
349 + console.log(err);
350 + this.loadings.searchLoading = false;
351 + });
352 + },
353 + //重置
354 + clear() {
355 + this.sreachFormData = {
356 + billNo: "",
357 + orderNo: "",
358 + rspCode: "",
359 + totalPackageNo: "",
360 + invtNo: "",
361 + createTime: [],
362 + };
363 + this.originalLogisticsNo = "";
364 + },
365 + //导出
366 + downloadData() {},
367 + //查询详情
368 + view(val) {
369 + this.$router.push({
370 + name: "PvgListDetail",
371 + params: { data: val },
372 + });
373 + },
374 + popoverChange(val) {
375 + console.log(val);
376 + this.tableData = val.tableData;
377 + this.receiptApi(val.data.id, val.status)
378 + .then((res) => {
379 + val.tableData.forEach((item) => {
380 + if (item.declareId == val.data.declareId) {
381 + item.popoverData = res;
382 + }
383 + });
384 + this.tableData = val.tableData;
385 + })
386 + .finally(() => {
387 + this.$nextTick(() => {
388 + this.$store.dispatch("setLoadingState", false);
389 + this.$refs.returnStatusPopover.tableLoading = false;
390 + });
391 + });
392 + },
393 + //查询回执
394 + receiptApi(id) {
395 + return new Promise((resolve, reject) => {
396 + let obj = { listId: id };
397 + getPvgListReceipt(obj)
398 + .then((res) => {
399 + if (res.code === "200") {
400 + resolve(res.data);
401 + } else {
402 + reject();
403 + }
404 + })
405 + .catch((err) => {
406 + console.log(err);
407 + reject();
408 + });
409 + });
410 + },
411 + popoverClose(val) {
412 + this.tableData.forEach((item) => {
413 + item.returnStatusPopoverType = false;
414 + item.popoverData = [];
415 + });
416 + this.$refs.entryTable.$refs.tables.$refs.bodyWrapper.style.overflowY =
417 + "auto";
418 + },
419 + formChange(val) {
420 + this.sreachFormData = val;
421 + this.originalLogisticsNo = val.logisticsNo; // 保存原始的 logisticsNo 字符串
422 + },
423 + //分页
424 + currentChange(val) {
425 + this.page.pageIndex = val.page;
426 + this.search(1);
427 + },
428 + sizeChange(val) {
429 + this.page.pageSize = val;
430 + this.search(1);
431 + },
432 + cellClick() {
433 + this.popoverClose();
434 + },
435 + dateChange(val) {
436 + if (val == "" || val == null) {
437 + this.$nextTick(() => {
438 + this.sreachFormData.createTime = [];
439 + });
440 + }
441 + },
442 + input() {
443 + this.$forceUpdate();
444 + },
445 + },
446 +};
447 +</script>
448 +
449 +<style scoped lang="scss">
450 +@import "@/assets/styles/variables.scss";
451 +.entrySreach {
452 + height: 100%;
453 + background-color: $menuLightBg;
454 +
455 + .entrySreachButton {
456 + display: inline-block;
457 + font-size: 20px;
458 + color: $fedexButton !important;
459 + }
460 +
461 + .optionButton {
462 + padding: 10px;
463 + text-align: right;
464 +
465 + .el-button {
466 + color: $fedexButton;
467 + border-color: $fedexButton !important;
468 +
469 + svg {
470 + display: inline-block;
471 + margin-right: 5px;
472 + fill: $fedexButton;
473 + }
474 + }
475 +
476 + .entrySaveButton:hover,
477 + .entrySaveButton:focus {
478 + color: $menuLightBg !important;
479 + background-color: $fedexButton !important;
480 + }
481 + }
482 +}
483 +
484 +.texttareaTip {
485 + position: absolute;
486 + top: 52%;
487 + right: 20px;
488 + transform: translate(0, -50%);
489 + z-index: 10;
490 +}
491 +</style>
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 + <el-form
10 + class="fedexFormStyle"
11 + ref="sreachForm"
12 + :model="formData"
13 + label-position="top"
14 + disabled
15 + size="small"
16 + >
17 + <el-row :gutter="5">
18 + <!-- 订单编号 -->
19 + <el-col :span="3">
20 + <Formitem label="电商订单/海外仓订仓编号" prop="orderNo">
21 + <el-input
22 + type="text"
23 + class="inputShadow"
24 + id="inputInner--orderNo"
25 + resize="none"
26 + v-model="formData.orderNo"
27 + clearable
28 + placeholder=""
29 + ></el-input>
30 + </Formitem>
31 + </el-col>
32 + <!-- 物流申报企业平台代码 -->
33 + <el-col :span="3">
34 + <Formitem label="物流申报企业平台代码" prop="logisticsSenderCode">
35 + <el-input
36 + type="text"
37 + class="inputShadow"
38 + id="inputInner--logisticsSenderCode"
39 + resize="none"
40 + v-model="formData.logisticsSenderCode"
41 + clearable
42 + placeholder=""
43 + ></el-input>
44 + </Formitem>
45 + </el-col>
46 + <!-- 申报类型 -->
47 + <el-col :span="3">
48 + <Formitem label="申报类型" prop="appType">
49 + <el-input
50 + type="text"
51 + class="inputShadow"
52 + id="inputInner--appType"
53 + resize="none"
54 + v-model="formData.appType"
55 + clearable
56 + placeholder=""
57 + ></el-input>
58 + </Formitem>
59 + </el-col>
60 + <!-- 电商平台代码 -->
61 + <el-col :span="3">
62 + <Formitem label="电商平台代码" prop="ebpCode">
63 + <el-input
64 + type="text"
65 + class="inputShadow"
66 + id="inputInner--ebpCode"
67 + resize="none"
68 + v-model="formData.ebpCode"
69 + clearable
70 + placeholder=""
71 + ></el-input>
72 + </Formitem>
73 + </el-col>
74 + <!-- 电商平台/海外仓名称 -->
75 + <el-col :span="6">
76 + <Formitem label="电商平台/海外仓名称" prop="ebpName">
77 + <el-input
78 + type="text"
79 + class="inputShadow"
80 + id="inputInner--ebpName"
81 + resize="none"
82 + v-model="formData.ebpName"
83 + clearable
84 + placeholder=""
85 + ></el-input>
86 + </Formitem>
87 + </el-col>
88 + <!-- 电商企业代码 -->
89 + <el-col :span="3">
90 + <Formitem label="电商企业代码" prop="ebcCode">
91 + <el-input
92 + type="text"
93 + class="inputShadow"
94 + id="inputInner--ebcCode"
95 + resize="none"
96 + v-model="formData.ebcCode"
97 + clearable
98 + placeholder=""
99 + ></el-input>
100 + </Formitem>
101 + </el-col>
102 + <!-- 电商企业 -->
103 + <el-col :span="6">
104 + <Formitem label="电商企业名称" prop="ebcName">
105 + <el-input
106 + type="text"
107 + class="inputShadow"
108 + id="inputInner--ebcName"
109 + resize="none"
110 + v-model="formData.ebcName"
111 + clearable
112 + placeholder=""
113 + ></el-input>
114 + </Formitem>
115 + </el-col>
116 + </el-row>
117 + <el-row :gutter="5">
118 + <!-- 商品金额 -->
119 + <el-col :span="3">
120 + <Formitem label="商品金额" prop="totalPrice">
121 + <el-input
122 + type="text"
123 + class="inputShadow"
124 + id="inputInner--totalPrice"
125 + resize="none"
126 + v-model="formData.totalPrice"
127 + clearable
128 + placeholder=""
129 + ></el-input>
130 + </Formitem>
131 + </el-col>
132 + <!-- 运杂费 -->
133 + <el-col :span="3">
134 + <Formitem label="运杂费" prop="freight">
135 + <el-input
136 + type="text"
137 + class="inputShadow"
138 + id="inputInner--freight"
139 + resize="none"
140 + v-model="formData.freight"
141 + clearable
142 + placeholder=""
143 + ></el-input>
144 + </Formitem>
145 + </el-col>
146 + <!-- 币制 -->
147 + <el-col :span="3">
148 + <Formitem label="币制" prop="currency">
149 + <el-select
150 + type="text"
151 + id="inputInner--currency"
152 + v-model="formData.currency"
153 + clearable
154 + placeholder=""
155 + >
156 + <el-option
157 + v-for="(item, index) in $store.getters.dict.CURRENCY"
158 + :key="index"
159 + :label="item.itemChineseName"
160 + :value="item.itemValue"
161 + ></el-option>
162 + </el-select>
163 + </Formitem>
164 + </el-col>
165 + <!-- 收货人名称 -->
166 + <el-col :span="3">
167 + <Formitem label="收货人名称" prop="consignee">
168 + <el-input
169 + type="text"
170 + class="inputShadow"
171 + id="inputInner--consignee"
172 + resize="none"
173 + v-model="formData.consignee"
174 + clearable
175 + placeholder=""
176 + ></el-input>
177 + </Formitem>
178 + </el-col>
179 + <!-- 收货人电话 -->
180 + <el-col :span="3">
181 + <Formitem label="收货人电话" prop="consigneeTelephone">
182 + <el-input
183 + type="text"
184 + class="inputShadow"
185 + id="inputInner--consigneeTelephone"
186 + resize="none"
187 + v-model="formData.consigneeTelephone"
188 + clearable
189 + placeholder=""
190 + ></el-input>
191 + </Formitem>
192 + </el-col>
193 + <!-- 收货人地址 -->
194 + <el-col :span="3">
195 + <Formitem label="收货人地址" prop="consigneeAddress">
196 + <el-input
197 + type="text"
198 + class="inputShadow"
199 + id="inputInner--consigneeAddress"
200 + resize="none"
201 + v-model="formData.consigneeAddress"
202 + clearable
203 + placeholder=""
204 + ></el-input>
205 + </Formitem>
206 + </el-col>
207 + <!-- 收货人所在国 -->
208 + <el-col :span="3">
209 + <Formitem label="收货人所在国" prop="consigneeCountry">
210 + <el-input
211 + type="text"
212 + class="inputShadow"
213 + id="inputInner--consigneeCountry"
214 + resize="none"
215 + v-model="formData.consigneeCountry"
216 + clearable
217 + placeholder=""
218 + ></el-input>
219 + </Formitem>
220 + </el-col>
221 + <!-- 发货人名称 -->
222 + <el-col :span="3">
223 + <Formitem label="发货人名称" prop="shipper">
224 + <el-input
225 + type="text"
226 + class="inputShadow"
227 + id="inputInner--shipper"
228 + resize="none"
229 + v-model="formData.shipper"
230 + clearable
231 + placeholder=""
232 + ></el-input>
233 + </Formitem>
234 + </el-col>
235 + <!-- 发货人电话 -->
236 + <el-col :span="3">
237 + <Formitem label="发货人电话" prop="shipperTelephone">
238 + <el-input
239 + type="text"
240 + class="inputShadow"
241 + id="inputInner--shipperTelephone"
242 + resize="none"
243 + v-model="formData.shipperTelephone"
244 + clearable
245 + placeholder=""
246 + ></el-input>
247 + </Formitem>
248 + </el-col>
249 + <!-- 发货人地址 -->
250 + <el-col :span="3">
251 + <Formitem label="发货人地址" prop="shipperAddress">
252 + <el-input
253 + type="text"
254 + class="inputShadow"
255 + id="inputInner--shipperAddress"
256 + resize="none"
257 + v-model="formData.shipperAddress"
258 + clearable
259 + placeholder=""
260 + ></el-input>
261 + </Formitem>
262 + </el-col>
263 + <!-- 发货人所在国 -->
264 + <el-col :span="3">
265 + <Formitem label="发货人所在国" prop="shipperCountry">
266 + <el-input
267 + type="text"
268 + class="inputShadow"
269 + id="inputInner--shipperCountry"
270 + resize="none"
271 + v-model="formData.shipperCountry"
272 + clearable
273 + placeholder=""
274 + ></el-input>
275 + </Formitem>
276 + </el-col>
277 + <el-col :span="3">
278 + <Formitem label="平台编码" prop="crossOrderId">
279 + <el-input
280 + type="text"
281 + class="inputShadow"
282 + id="inputInner--crossOrderId"
283 + resize="none"
284 + v-model="formData.crossOrderId"
285 + clearable
286 + placeholder=""
287 + ></el-input>
288 + </Formitem>
289 + </el-col>
290 + <el-col :span="9">
291 + <Formitem label="备注" prop="note">
292 + <el-input
293 + type="text"
294 + class="inputShadow"
295 + id="inputInner--note"
296 + resize="none"
297 + v-model="formData.note"
298 + clearable
299 + placeholder=""
300 + ></el-input>
301 + </Formitem>
302 + </el-col>
303 + </el-row>
304 + </el-form>
305 + <div
306 + :class="{ entryTitle: true, titleBorder: logtableType ? false : true }"
307 + style="margin-top: 10px"
308 + >
309 + <div>
310 + 回执信息
311 + <el-button type="text" @click="hiddenLogTable">
312 + <svg-icon v-if="logtableType" icon-class="downIcon"></svg-icon>
313 + <svg-icon v-else icon-class="upIcon"></svg-icon>
314 + </el-button>
315 + </div>
316 + </div>
317 + <ReceiptInfoTable
318 + v-if="logtableType"
319 + :tableData="logData"
320 + :headerData="logHeaderData"
321 + />
322 + <div class="entryTitle" style="margin-top: 10px">商品明细</div>
323 + <ProductDetailTable
324 + :tableData="detailData"
325 + :bodyHeader="detialHeaderData"
326 + />
327 + <div style="margin-bottom: 20px; text-align: center"></div>
328 + </div>
329 +</template>
330 +
331 +<script>
332 +import ReceiptInfoTable from "../components/ReceiptInfoTable/index.vue";
333 +import ProductDetailTable from "../components/ProductDetailTable/index.vue";
334 +import { getPvgWaybillInfo } from "@/api/pvg.js";
335 +export default {
336 + name: "",
337 + components: { ProductDetailTable, ReceiptInfoTable },
338 + data() {
339 + return {
340 + id: null,
341 + formData: {},
342 + logData: [],
343 + logHeaderData: [
344 + {
345 + name: "回执状态",
346 + value: "rspCode",
347 + width: "200",
348 + align: "left",
349 + },
350 + {
351 + name: "状态时间",
352 + value: "rspTime",
353 + width: "400",
354 + align: "left",
355 + },
356 + {
357 + name: "回执描述",
358 + value: "rspMsg",
359 + width: "",
360 + align: "left",
361 + },
362 + ],
363 + detailData: [],
364 + detialHeaderData: [
365 + {
366 + name: "序号",
367 + value: "gnum",
368 + width: "",
369 + align: "left",
370 + },
371 + {
372 + name: "商品名称",
373 + value: "itemName",
374 + width: "",
375 + align: "left",
376 + },
377 + {
378 + name: "企业商品货号",
379 + value: "itemNo",
380 + width: "",
381 + align: "left",
382 + },
383 + {
384 + name: "商品编码",
385 + value: "gcode",
386 + width: "",
387 + align: "left",
388 + },
389 + {
390 + name: "规格型号",
391 + value: "itemDescribe",
392 + width: "",
393 + align: "left",
394 + },
395 + {
396 + name: "申报数量",
397 + value: "barCode",
398 + width: "",
399 + align: "left",
400 + },
401 + {
402 + name: "法定数量",
403 + value: "qty1",
404 + width: "",
405 + align: "left",
406 + },
407 + {
408 + name: "法定计量单位",
409 + value: "unit1",
410 + width: "",
411 + align: "left",
412 + slot: true,
413 + },
414 + {
415 + name: "第二数量",
416 + value: "qty2",
417 + width: "",
418 + align: "left",
419 + },
420 + {
421 + name: "第二计量单位",
422 + value: "unit2",
423 + width: "",
424 + align: "left",
425 + slot: true,
426 + },
427 + {
428 + name: "申报计量单位",
429 + value: "unit",
430 + width: "",
431 + align: "left",
432 + },
433 + {
434 + name: "商品品牌",
435 + value: "brand",
436 + width: "",
437 + align: "left",
438 + },
439 + {
440 + name: "企业商品描述",
441 + value: "itemDescribe",
442 + width: "",
443 + align: "left",
444 + },
445 + {
446 + name: "单价",
447 + value: "price",
448 + width: "",
449 + align: "left",
450 + },
451 + {
452 + name: "总价",
453 + value: "totalPrice",
454 + width: "",
455 + align: "left",
456 + },
457 + {
458 + name: "币制",
459 + value: "currency",
460 + width: "",
461 + align: "left",
462 + slot: true,
463 + },
464 + {
465 + name: "条形码",
466 + value: "gmodel",
467 + width: "",
468 + align: "left",
469 + },
470 + {
471 + name: "备注",
472 + value: "note",
473 + width: "",
474 + align: "left",
475 + },
476 + ],
477 + loadings: {
478 + entryLoading: false,
479 + },
480 + logtableType: true,
481 + };
482 + },
483 + created() {
484 + if (this.$route.params.data) {
485 + this.id = this.$route.params.data.id;
486 + this.searchData();
487 + } else {
488 + this.back();
489 + }
490 + },
491 + methods: {
492 + searchData() {
493 + this.loadings.entryLoading = true;
494 + getPvgWaybillInfo({ id: this.id })
495 + .then((res) => {
496 + if (res.code === "200") {
497 + this.formData = res.data.pvgExportOrderVo;
498 + this.detailData = res.data.pvgExportOrderProductVo;
499 + this.logData = res.data.pvgExportOrderReceiptVo;
500 + this.detailData.forEach((item, idx) => {
501 + item.index = idx;
502 + });
503 + } else {
504 + this.alertWarningMsg(res.message);
505 + }
506 + this.loadings.entryLoading = false;
507 + })
508 + .catch((err) => {
509 + console.log(err);
510 + this.loadings.entryLoading = false;
511 + });
512 + },
513 + searchLogData() {},
514 + hiddenLogTable() {
515 + this.logtableType = !this.logtableType;
516 + },
517 + back() {
518 + this.$router.go(-1);
519 + },
520 + },
521 +};
522 +</script>
523 +
524 +<style scoped lang="scss">
525 +.entry {
526 + width: 100%;
527 + height: 100%;
528 + padding: 10px;
529 + background-color: #fff;
530 + overflow: auto;
531 +
532 + .entryInformation {
533 + width: 100%;
534 + height: 100%;
535 + }
536 +
537 + .entryTitle {
538 + display: flex;
539 + justify-content: space-between;
540 + font-weight: 600;
541 + font-weight: 16px;
542 + color: #000;
543 + margin-bottom: 10px;
544 + }
545 +
546 + .titleBorder {
547 + border-bottom: 1px solid #333;
548 + }
549 +}
550 +</style>
1 +<template>
2 + <div class="entrySreach">
3 + <el-form
4 + class="fedexFormStyle fedexformSreach fedexformSreachBottomBorder"
5 + ref="sreachForm"
6 + :model="sreachFormData"
7 + label-position="top"
8 + size="small"
9 + >
10 + <el-row class="row-border">
11 + <!-- 回执状态 -->
12 + <el-col :span="5">
13 + <Formitem label="回执状态" prop="rspCode">
14 + <el-select
15 + type="text"
16 + id="inputInner--rspCode"
17 + v-model="sreachFormData.rspCode"
18 + clearable
19 + placeholder=""
20 + >
21 + <el-option
22 + v-for="(
23 + item, index
24 + ) in $store.getters.dict.RECEIPT_STATUS.filter(
25 + (fItem) => fItem.itemChineseName !== '已提交'
26 + )"
27 + :key="index"
28 + :label="item.itemChineseName"
29 + :value="item.itemValue"
30 + ></el-option>
31 + </el-select>
32 + </Formitem>
33 + </el-col>
34 + <!-- 运单编号 -->
35 + <el-col :span="5">
36 + <Formitem label="物流运单编号" prop="logisticsNo">
37 + <FormTextareaInput
38 + :formData="sreachFormData"
39 + dataKey="logisticsNo"
40 + @formChange="formChange"
41 + />
42 + </Formitem>
43 + </el-col>
44 + <!-- 订单编号 -->
45 + <el-col :span="5">
46 + <Formitem label="提运单号" prop="billNo">
47 + <el-input
48 + type="text"
49 + class="inputShadow"
50 + id="inputInner--billNo"
51 + resize="none"
52 + v-model="sreachFormData.billNo"
53 + clearable
54 + placeholder=""
55 + ></el-input>
56 + </Formitem>
57 + </el-col>
58 + <!-- 电商企业代码 -->
59 + <el-col :span="5">
60 + <Formitem label="订单编号" prop="orderNo">
61 + <el-input
62 + type="text"
63 + class="inputShadow"
64 + id="inputInner--orderNo"
65 + resize="none"
66 + v-model="sreachFormData.orderNo"
67 + clearable
68 + placeholder=""
69 + ></el-input>
70 + </Formitem>
71 + </el-col>
72 +
73 + <el-col :span="2">
74 + <el-form-item class="textCenter">
75 + <el-button
76 + class="entrySreachButton"
77 + type="text"
78 + icon="el-icon-search"
79 + :loading="loadings.searchLoading"
80 + @click="search(0)"
81 + ></el-button>
82 + </el-form-item>
83 + </el-col>
84 + <el-col :span="2">
85 + <el-form-item class="textCenter">
86 + <el-button
87 + type="text"
88 + size="small"
89 + icon="el-icon-refresh"
90 + @click="clear"
91 + >
92 + 重置
93 + </el-button>
94 + </el-form-item>
95 + </el-col>
96 + <!-- 创建时间 -->
97 + <el-col :span="5">
98 + <Formitem label="创建时间" prop="createTime" :activeType="true">
99 + <el-date-picker
100 + class="inputInner--createTime"
101 + id="inputInner--createTime"
102 + v-model="sreachFormData.createTime"
103 + type="daterange"
104 + format="yyyy-MM-dd"
105 + prefix-icon="none"
106 + value-format="yyyy-MM-dd"
107 + range-separator="至"
108 + @change="dateChange"
109 + />
110 + </Formitem>
111 + </el-col>
112 + </el-row>
113 + </el-form>
114 + <div class="optionButton">
115 + <!-- <el-button
116 + class="entrySaveButton"
117 + size="small"
118 + icon="el-icon-download"
119 + @click="downloadData"
120 + >
121 + 导出
122 + </el-button> -->
123 + </div>
124 + <Table
125 + class="fedexDetialTable fedexSreachTable"
126 + ref="entryTable"
127 + :data="tableData"
128 + :headerData="headerData"
129 + :maxHeight="tableMaxheight"
130 + :border="true"
131 + :pagination="true"
132 + :order="false"
133 + :loading="loadings.searchLoading"
134 + :page="page.pageIndex"
135 + :totalCount="page.total"
136 + @sizeChange="sizeChange"
137 + @currentChange="currentChange"
138 + @cellClick="cellClick"
139 + :selection="false"
140 + :selectFixed="false"
141 + :rowSelectDataType="false"
142 + >
143 + <template v-slot:rspCode="scope">
144 + <TablePopover
145 + ref="returnStatusPopover"
146 + dataKey="returnStatus"
147 + :parentDom="$refs.entryTable"
148 + :receiptDataHead="receiptDataHead"
149 + :rowData="scope.row"
150 + :tableData="tableData"
151 + @popoverChange="popoverChange"
152 + @popoverClose="popoverClose"
153 + >
154 + <div slot="title">
155 + <span style="font-weight: 700; color: #515a6e">订单编号:</span
156 + >{{ scope.row.orderNo }}
157 + </div>
158 + <div slot="buttonLabel">
159 + {{ scope.row.rspCode }}
160 + </div>
161 + </TablePopover>
162 + </template>
163 + <template v-slot:logisticsNo="scope">
164 + <el-button type="text" @click="view(scope.row)">{{
165 + scope.row.logisticsNo
166 + }}</el-button>
167 + </template>
168 + </Table>
169 + </div>
170 +</template>
171 +
172 +<script>
173 +import { getPvgWaybillList, getPvgWaybillReceiptInfo } from "@/api/pvg.js";
174 +
175 +export default {
176 + name: "ExportBillQuery",
177 + data() {
178 + return {
179 + sreachFormData: {
180 + billNo: "",
181 + orderNo: "",
182 + rspCode: "",
183 + createTime: [],
184 + logisticsNo: "",
185 + },
186 + originalLogisticsNo: "", // 用于保存原始的 logisticsNo 字符串
187 + page: {
188 + pageIndex: 1,
189 + pageSize: 20,
190 + total: 0,
191 + },
192 + tableData: [],
193 + headerData: [
194 + {
195 + name: "回执状态",
196 + value: "rspCode",
197 + width: "",
198 + align: "left",
199 + slot: true,
200 + },
201 + {
202 + name: "物流运单编号",
203 + value: "logisticsNo",
204 + width: "",
205 + align: "left",
206 + slot: true,
207 + },
208 + {
209 + name: "提运单号",
210 + value: "billNo",
211 + width: "",
212 + align: "left",
213 + },
214 + {
215 + name: "订单编号",
216 + value: "orderNo",
217 + width: "",
218 + align: "left",
219 + },
220 + {
221 + name: "大包裹号",
222 + value: "totalPackageNo",
223 + width: "",
224 + align: "left",
225 + },
226 + {
227 + name: "主要货物信息",
228 + value: "mainGName",
229 + width: "",
230 + align: "left",
231 + },
232 + {
233 + name: "报送类型",
234 + value: "appType",
235 + width: "",
236 + align: "left",
237 + },
238 +
239 + {
240 + name: "创建时间",
241 + value: "createTime",
242 + width: "",
243 + align: "left",
244 + },
245 + ],
246 + receiptDataHead: [
247 + {
248 + name: "回执状态",
249 + value: "rspCode",
250 + width: "120",
251 + align: "left",
252 + },
253 + {
254 + name: "状态时间",
255 + value: "rspTime",
256 + width: "",
257 + align: "left",
258 + },
259 + {
260 + name: "回执描述",
261 + value: "rspMsg",
262 + width: "",
263 + align: "left",
264 + },
265 + ],
266 +
267 + loadings: {
268 + searchLoading: false,
269 + },
270 + textareaVisible: {
271 + formItemconsignmentCode: false,
272 + formItemconsignmentHeadCode: false,
273 + },
274 + tableMaxheight: null,
275 + };
276 + },
277 + created() {
278 + this.search(0);
279 + },
280 + mounted() {
281 + this.tableMaxheight = window.innerHeight - 300;
282 + },
283 + watch: {
284 + $route() {
285 + this.popoverClose();
286 + },
287 + },
288 + methods: {
289 + //查询
290 + search(val) {
291 + this.loadings.searchLoading = true;
292 + if (val == 0) {
293 + this.page.pageIndex = 1;
294 + }
295 + let obj = { ...this.sreachFormData }; // 使用对象展开运算符复制 sreachFormData
296 + //let obj = this.sreachFormData;
297 + obj.pageIndex = this.page.pageIndex;
298 + obj.pageSize = this.page.pageSize;
299 + obj.createTimeStart = "";
300 + obj.createTimeEnd = "";
301 + if (obj.createTime.length > 0) {
302 + obj.startCreateTime = obj.createTime[0];
303 + obj.endCreateTime = obj.createTime[1];
304 + }
305 + // 使用保存的原始 logisticsNo 字符串
306 + obj.logisticsNo = this.originalLogisticsNo;
307 + if (obj.logisticsNo != null && obj.logisticsNo != "") {
308 + obj.logisticsNo = obj.logisticsNo.split("\n");
309 + } else {
310 + obj.logisticsNo = [];
311 + }
312 + getPvgWaybillList(obj)
313 + .then((res) => {
314 + if (res.code === "200") {
315 + this.tableData = res.data.value;
316 + this.page.total = res.data.totalItems;
317 + this.tableData.forEach((item, idx) => {
318 + item.index = idx;
319 + item.returnStatusPopoverType = false;
320 + item.popoverData = [];
321 + });
322 + } else {
323 + this.alertWarningMsg(res.message);
324 + }
325 + this.loadings.searchLoading = false;
326 + })
327 + .catch((err) => {
328 + console.log(err);
329 + this.loadings.searchLoading = false;
330 + });
331 + },
332 + //重置
333 + clear() {
334 + this.sreachFormData = {
335 + billNo: "",
336 + orderNo: "",
337 + rspCode: "",
338 + createTime: [],
339 + };
340 + this.originalLogisticsNo = "";
341 + },
342 + //导出
343 + downloadData() {},
344 + //查询详情
345 + view(val) {
346 + this.$router.push({
347 + name: "PvgOrderDetail",
348 + params: { data: val },
349 + });
350 + },
351 + popoverChange(val) {
352 + console.log(val);
353 + this.tableData = val.tableData;
354 + this.receiptApi(val.data.id, val.status)
355 + .then((res) => {
356 + val.tableData.forEach((item) => {
357 + if (item.declareId == val.data.declareId) {
358 + item.popoverData = res;
359 + }
360 + });
361 + this.tableData = val.tableData;
362 + })
363 + .finally(() => {
364 + this.$nextTick(() => {
365 + this.$store.dispatch("setLoadingState", false);
366 + this.$refs.returnStatusPopover.tableLoading = false;
367 + });
368 + });
369 + },
370 + //查询回执
371 + receiptApi(id) {
372 + return new Promise((resolve, reject) => {
373 + let obj = { id: id };
374 + getPvgWaybillReceiptInfo(obj)
375 + .then((res) => {
376 + if (res.code === "200") {
377 + resolve(res.data);
378 + } else {
379 + reject();
380 + }
381 + })
382 + .catch((err) => {
383 + console.log(err);
384 + reject();
385 + });
386 + });
387 + },
388 + popoverClose(val) {
389 + this.tableData.forEach((item) => {
390 + item.returnStatusPopoverType = false;
391 + item.popoverData = [];
392 + });
393 + this.$refs.entryTable.$refs.tables.$refs.bodyWrapper.style.overflowY =
394 + "auto";
395 + },
396 + formChange(val) {
397 + this.sreachFormData = val;
398 + this.originalLogisticsNo = val.logisticsNo; // 保存原始的 logisticsNo 字符串
399 + },
400 + //分页
401 + currentChange(val) {
402 + this.page.pageIndex = val.page;
403 + this.search(1);
404 + },
405 + sizeChange(val) {
406 + this.page.pageSize = val;
407 + this.search(1);
408 + },
409 + cellClick() {
410 + this.popoverClose();
411 + },
412 + dateChange(val) {
413 + if (val == "" || val == null) {
414 + this.$nextTick(() => {
415 + this.sreachFormData.createTime = [];
416 + });
417 + }
418 + },
419 + input() {
420 + this.$forceUpdate();
421 + },
422 + },
423 +};
424 +</script>
425 +
426 +<style scoped lang="scss">
427 +@import "@/assets/styles/variables.scss";
428 +.entrySreach {
429 + height: 100%;
430 + background-color: $menuLightBg;
431 +
432 + .entrySreachButton {
433 + display: inline-block;
434 + font-size: 20px;
435 + color: $fedexButton !important;
436 + }
437 +
438 + .optionButton {
439 + padding: 10px;
440 + text-align: right;
441 +
442 + .el-button {
443 + color: $fedexButton;
444 + border-color: $fedexButton !important;
445 +
446 + svg {
447 + display: inline-block;
448 + margin-right: 5px;
449 + fill: $fedexButton;
450 + }
451 + }
452 +
453 + .entrySaveButton:hover,
454 + .entrySaveButton:focus {
455 + color: $menuLightBg !important;
456 + background-color: $fedexButton !important;
457 + }
458 + }
459 +}
460 +
461 +.texttareaTip {
462 + position: absolute;
463 + top: 52%;
464 + right: 20px;
465 + transform: translate(0, -50%);
466 + z-index: 10;
467 +}
468 +</style>
...@@ -143,7 +143,7 @@ ...@@ -143,7 +143,7 @@
143 <template v-slot:rspCode="scope"> 143 <template v-slot:rspCode="scope">
144 <TablePopover 144 <TablePopover
145 ref="returnStatusPopover" 145 ref="returnStatusPopover"
146 - dataKey="rspCode" 146 + dataKey="returnStatus"
147 :parentDom="$refs.entryTable" 147 :parentDom="$refs.entryTable"
148 :receiptDataHead="receiptDataHead" 148 :receiptDataHead="receiptDataHead"
149 :rowData="scope.row" 149 :rowData="scope.row"
...@@ -219,19 +219,19 @@ export default { ...@@ -219,19 +219,19 @@ export default {
219 }, 219 },
220 { 220 {
221 name: "电商企业代码", 221 name: "电商企业代码",
222 - value: "ebccode", 222 + value: "ebcCode",
223 width: "", 223 width: "",
224 align: "left", 224 align: "left",
225 }, 225 },
226 { 226 {
227 name: "电商企业名称", 227 name: "电商企业名称",
228 - value: "ebcname", 228 + value: "ebcName",
229 width: "", 229 width: "",
230 align: "left", 230 align: "left",
231 }, 231 },
232 { 232 {
233 name: "物流申报企业平台代码", 233 name: "物流申报企业平台代码",
234 - value: "agentName", 234 + value: "logisticsSenderCode",
235 width: "", 235 width: "",
236 align: "left", 236 align: "left",
237 }, 237 },
...@@ -252,13 +252,13 @@ export default { ...@@ -252,13 +252,13 @@ export default {
252 }, 252 },
253 { 253 {
254 name: "状态时间", 254 name: "状态时间",
255 - value: "returnTime", 255 + value: "rspTime",
256 width: "", 256 width: "",
257 align: "left", 257 align: "left",
258 }, 258 },
259 { 259 {
260 name: "回执描述", 260 name: "回执描述",
261 - value: "returnInfo", 261 + value: "rspMsg",
262 width: "", 262 width: "",
263 align: "left", 263 align: "left",
264 }, 264 },
......
1 <template> 1 <template>
2 <div class="entry" v-loading="loadings.entryLoading"> 2 <div class="entry" v-loading="loadings.entryLoading">
3 <div class="entryTitle"> 3 <div class="entryTitle">
4 - <div>出口订单详情</div> 4 + <div>PVG运单详情</div>
5 <div> 5 <div>
6 <el-button class="entrySaveButton" @click="back">返 回</el-button> 6 <el-button class="entrySaveButton" @click="back">返 回</el-button>
7 </div> 7 </div>
...@@ -15,135 +15,98 @@ ...@@ -15,135 +15,98 @@
15 size="small" 15 size="small"
16 > 16 >
17 <el-row :gutter="5"> 17 <el-row :gutter="5">
18 - <!-- 订单编号 -->
19 <el-col :span="3"> 18 <el-col :span="3">
20 - <Formitem label="电商订单/海外仓订仓编号" prop="orderNo"> 19 + <Formitem label="提运单号" prop="billNo">
21 <el-input 20 <el-input
22 type="text" 21 type="text"
23 class="inputShadow" 22 class="inputShadow"
24 - id="inputInner--orderNo" 23 + id="inputInner--billNo"
25 - resize="none"
26 - v-model="formData.orderNo"
27 - clearable
28 - placeholder=""
29 - ></el-input>
30 - </Formitem>
31 - </el-col>
32 - <!-- 物流申报企业平台代码 -->
33 - <el-col :span="3">
34 - <Formitem label="物流申报企业平台代码" prop="logisticsSenderCode">
35 - <el-input
36 - type="text"
37 - class="inputShadow"
38 - id="inputInner--logisticsSenderCode"
39 - resize="none"
40 - v-model="formData.logisticsSenderCode"
41 - clearable
42 - placeholder=""
43 - ></el-input>
44 - </Formitem>
45 - </el-col>
46 - <!-- 申报类型 -->
47 - <el-col :span="3">
48 - <Formitem label="申报类型" prop="appType">
49 - <el-input
50 - type="text"
51 - class="inputShadow"
52 - id="inputInner--appType"
53 resize="none" 24 resize="none"
54 - v-model="formData.appType" 25 + v-model="formData.billNo"
55 clearable 26 clearable
56 placeholder="" 27 placeholder=""
57 ></el-input> 28 ></el-input>
58 </Formitem> 29 </Formitem>
59 </el-col> 30 </el-col>
60 - <!-- 电商平台代码 -->
61 <el-col :span="3"> 31 <el-col :span="3">
62 - <Formitem label="电商平台代码" prop="ebpCode"> 32 + <Formitem label="物流运单编号" prop="logisticsNo">
63 <el-input 33 <el-input
64 type="text" 34 type="text"
65 class="inputShadow" 35 class="inputShadow"
66 - id="inputInner--ebpCode" 36 + id="inputInner--logisticsNo"
67 resize="none" 37 resize="none"
68 - v-model="formData.ebpCode" 38 + v-model="formData.logisticsNo"
69 clearable 39 clearable
70 placeholder="" 40 placeholder=""
71 ></el-input> 41 ></el-input>
72 </Formitem> 42 </Formitem>
73 </el-col> 43 </el-col>
74 - <!-- 电商平台/海外仓名称 -->
75 <el-col :span="6"> 44 <el-col :span="6">
76 - <Formitem label="电商平台/海外仓名称" prop="ebpName"> 45 + <Formitem label="商品信息" prop="mainGName">
77 <el-input 46 <el-input
78 type="text" 47 type="text"
79 class="inputShadow" 48 class="inputShadow"
80 - id="inputInner--ebpName" 49 + id="inputInner--mainGName"
81 resize="none" 50 resize="none"
82 - v-model="formData.ebpName" 51 + v-model="formData.mainGName"
83 clearable 52 clearable
84 placeholder="" 53 placeholder=""
85 ></el-input> 54 ></el-input>
86 </Formitem> 55 </Formitem>
87 </el-col> 56 </el-col>
88 - <!-- 电商企业代码 -->
89 <el-col :span="3"> 57 <el-col :span="3">
90 - <Formitem label="电商企业代码" prop="ebcCode"> 58 + <Formitem label="大包裹号" prop="totalPackageNo">
91 <el-input 59 <el-input
92 type="text" 60 type="text"
93 class="inputShadow" 61 class="inputShadow"
94 - id="inputInner--ebcCode" 62 + id="inputInner--totalPackageNo"
95 resize="none" 63 resize="none"
96 - v-model="formData.ebcCode" 64 + v-model="formData.totalPackageNo"
97 clearable 65 clearable
98 placeholder="" 66 placeholder=""
99 ></el-input> 67 ></el-input>
100 </Formitem> 68 </Formitem>
101 </el-col> 69 </el-col>
102 - <!-- 电商企业 --> 70 + <el-col :span="3">
103 - <el-col :span="6"> 71 + <Formitem label="小包数量" prop="packageNum">
104 - <Formitem label="电商企业名称" prop="ebcName">
105 <el-input 72 <el-input
106 type="text" 73 type="text"
107 class="inputShadow" 74 class="inputShadow"
108 - id="inputInner--ebcName" 75 + id="inputInner--packageNum"
109 resize="none" 76 resize="none"
110 - v-model="formData.ebcName" 77 + v-model="formData.packageNum"
111 clearable 78 clearable
112 placeholder="" 79 placeholder=""
113 ></el-input> 80 ></el-input>
114 </Formitem> 81 </Formitem>
115 </el-col> 82 </el-col>
116 - </el-row>
117 - <el-row :gutter="5">
118 - <!-- 商品金额 -->
119 <el-col :span="3"> 83 <el-col :span="3">
120 - <Formitem label="商品金额" prop="totalPrice"> 84 + <Formitem label="运费" prop="freight">
121 <el-input 85 <el-input
122 type="text" 86 type="text"
123 class="inputShadow" 87 class="inputShadow"
124 - id="inputInner--totalPrice" 88 + id="inputInner--freight"
125 resize="none" 89 resize="none"
126 - v-model="formData.totalPrice" 90 + v-model="formData.freight"
127 clearable 91 clearable
128 placeholder="" 92 placeholder=""
129 ></el-input> 93 ></el-input>
130 </Formitem> 94 </Formitem>
131 </el-col> 95 </el-col>
132 - <!-- 运杂费 --> 96 + <!-- 电商企业 -->
133 <el-col :span="3"> 97 <el-col :span="3">
134 - <Formitem label="运杂费" prop="freight"> 98 + <Formitem label="保费" prop="insuredFee">
135 <el-input 99 <el-input
136 type="text" 100 type="text"
137 class="inputShadow" 101 class="inputShadow"
138 - id="inputInner--freight" 102 + id="inputInner--insuredFee"
139 resize="none" 103 resize="none"
140 - v-model="formData.freight" 104 + v-model="formData.insuredFee"
141 clearable 105 clearable
142 placeholder="" 106 placeholder=""
143 ></el-input> 107 ></el-input>
144 </Formitem> 108 </Formitem>
145 </el-col> 109 </el-col>
146 - <!-- 币制 -->
147 <el-col :span="3"> 110 <el-col :span="3">
148 <Formitem label="币制" prop="currency"> 111 <Formitem label="币制" prop="currency">
149 <el-select 112 <el-select
...@@ -162,131 +125,143 @@ ...@@ -162,131 +125,143 @@
162 </el-select> 125 </el-select>
163 </Formitem> 126 </Formitem>
164 </el-col> 127 </el-col>
165 - <!-- 收货人名称 -->
166 <el-col :span="3"> 128 <el-col :span="3">
167 - <Formitem label="收货人名称" prop="consignee"> 129 + <Formitem label="毛重" prop="grossWeight">
168 <el-input 130 <el-input
169 type="text" 131 type="text"
170 class="inputShadow" 132 class="inputShadow"
171 - id="inputInner--consignee" 133 + id="inputInner--grossWeight"
172 resize="none" 134 resize="none"
173 - v-model="formData.consignee" 135 + v-model="formData.grossWeight"
174 clearable 136 clearable
175 placeholder="" 137 placeholder=""
176 ></el-input> 138 ></el-input>
177 </Formitem> 139 </Formitem>
178 </el-col> 140 </el-col>
179 - <!-- 收货人电话 -->
180 <el-col :span="3"> 141 <el-col :span="3">
181 - <Formitem label="收货人电话" prop="consigneeTelephone"> 142 + <Formitem label="件数" prop="packNo">
182 <el-input 143 <el-input
183 type="text" 144 type="text"
184 class="inputShadow" 145 class="inputShadow"
185 - id="inputInner--consigneeTelephone" 146 + id="inputInner--packNo"
186 resize="none" 147 resize="none"
187 - v-model="formData.consigneeTelephone" 148 + v-model="formData.packNo"
188 clearable 149 clearable
189 placeholder="" 150 placeholder=""
190 ></el-input> 151 ></el-input>
191 </Formitem> 152 </Formitem>
192 </el-col> 153 </el-col>
193 - <!-- 收货人地址 -->
194 <el-col :span="3"> 154 <el-col :span="3">
195 - <Formitem label="收货人地址" prop="consigneeAddress"> 155 + <Formitem label="运输方式" prop="cusTrafMode">
156 + <el-select
157 + type="text"
158 + id="inputInner--cusTrafMode"
159 + v-model="formData.cusTrafMode"
160 + clearable
161 + placeholder=""
162 + >
163 + <el-option
164 + v-for="(item, index) in $store.getters.dict.DECLARE_TRAFMODE"
165 + :key="index"
166 + :label="item.itemChineseName"
167 + :value="item.itemValue"
168 + ></el-option>
169 + </el-select>
170 + </Formitem>
171 + </el-col>
172 +
173 + <el-col :span="6">
174 + <Formitem label="物流企业名称" prop="logisticsName">
196 <el-input 175 <el-input
197 type="text" 176 type="text"
198 class="inputShadow" 177 class="inputShadow"
199 - id="inputInner--consigneeAddress" 178 + id="inputInner--logisticsName"
200 resize="none" 179 resize="none"
201 - v-model="formData.consigneeAddress" 180 + v-model="formData.logisticsName"
202 clearable 181 clearable
203 placeholder="" 182 placeholder=""
204 ></el-input> 183 ></el-input>
205 </Formitem> 184 </Formitem>
206 </el-col> 185 </el-col>
207 - <!-- 收货人所在国 -->
208 <el-col :span="3"> 186 <el-col :span="3">
209 - <Formitem label="收货人所在国" prop="consigneeCountry"> 187 + <Formitem label="物流企业代码" prop="logisticsCode">
210 <el-input 188 <el-input
211 type="text" 189 type="text"
212 class="inputShadow" 190 class="inputShadow"
213 - id="inputInner--consigneeCountry" 191 + id="inputInner--logisticsCode"
214 resize="none" 192 resize="none"
215 - v-model="formData.consigneeCountry" 193 + v-model="formData.logisticsCode"
216 clearable 194 clearable
217 placeholder="" 195 placeholder=""
218 ></el-input> 196 ></el-input>
219 </Formitem> 197 </Formitem>
220 </el-col> 198 </el-col>
221 - <!-- 发货人名称 -->
222 <el-col :span="3"> 199 <el-col :span="3">
223 - <Formitem label="发货人名称" prop="shipper"> 200 + <Formitem label="电商企业代码" prop="ebcName">
224 <el-input 201 <el-input
225 type="text" 202 type="text"
226 class="inputShadow" 203 class="inputShadow"
227 - id="inputInner--shipper" 204 + id="inputInner--ebcName"
228 resize="none" 205 resize="none"
229 - v-model="formData.shipper" 206 + v-model="formData.ebcName"
230 clearable 207 clearable
231 placeholder="" 208 placeholder=""
232 ></el-input> 209 ></el-input>
233 </Formitem> 210 </Formitem>
234 </el-col> 211 </el-col>
235 - <!-- 发货人电话 --> 212 + <el-col :span="6">
236 - <el-col :span="3"> 213 + <Formitem label="电商企业名称" prop="ebcCode">
237 - <Formitem label="发货人电话" prop="shipperTelephone">
238 <el-input 214 <el-input
239 type="text" 215 type="text"
240 class="inputShadow" 216 class="inputShadow"
241 - id="inputInner--shipperTelephone" 217 + id="inputInner--ebcCode"
242 resize="none" 218 resize="none"
243 - v-model="formData.shipperTelephone" 219 + v-model="formData.ebcCode"
244 clearable 220 clearable
245 placeholder="" 221 placeholder=""
246 ></el-input> 222 ></el-input>
247 </Formitem> 223 </Formitem>
248 </el-col> 224 </el-col>
249 - <!-- 发货人地址 -->
250 <el-col :span="3"> 225 <el-col :span="3">
251 - <Formitem label="发货人地址" prop="shipperAddress"> 226 + <Formitem label="订单编号" prop="orderNo">
252 <el-input 227 <el-input
253 type="text" 228 type="text"
254 class="inputShadow" 229 class="inputShadow"
255 - id="inputInner--shipperAddress" 230 + id="inputInner--orderNo"
256 resize="none" 231 resize="none"
257 - v-model="formData.shipperAddress" 232 + v-model="formData.orderNo"
258 clearable 233 clearable
259 placeholder="" 234 placeholder=""
260 ></el-input> 235 ></el-input>
261 </Formitem> 236 </Formitem>
262 </el-col> 237 </el-col>
263 - <!-- 发货人所在国 -->
264 <el-col :span="3"> 238 <el-col :span="3">
265 - <Formitem label="发货人所在国" prop="shipperCountry"> 239 + <Formitem label="电商企业电话" prop="ebcTelephone">
266 <el-input 240 <el-input
267 type="text" 241 type="text"
268 class="inputShadow" 242 class="inputShadow"
269 - id="inputInner--shipperCountry" 243 + id="inputInner--ebcTelephone"
270 resize="none" 244 resize="none"
271 - v-model="formData.shipperCountry" 245 + v-model="formData.ebcTelephone"
272 clearable 246 clearable
273 placeholder="" 247 placeholder=""
274 ></el-input> 248 ></el-input>
275 </Formitem> 249 </Formitem>
276 </el-col> 250 </el-col>
277 <el-col :span="3"> 251 <el-col :span="3">
278 - <Formitem label="平台编码" prop="crossOrderId"> 252 + <Formitem label="监管场所代码" prop="operatorCode">
279 <el-input 253 <el-input
280 type="text" 254 type="text"
281 class="inputShadow" 255 class="inputShadow"
282 - id="inputInner--crossOrderId" 256 + id="inputInner--operatorCode"
283 resize="none" 257 resize="none"
284 - v-model="formData.crossOrderId" 258 + v-model="formData.operatorCode"
285 clearable 259 clearable
286 placeholder="" 260 placeholder=""
287 ></el-input> 261 ></el-input>
288 </Formitem> 262 </Formitem>
289 </el-col> 263 </el-col>
264 +
290 <el-col :span="9"> 265 <el-col :span="9">
291 <Formitem label="备注" prop="note"> 266 <Formitem label="备注" prop="note">
292 <el-input 267 <el-input
...@@ -319,22 +294,21 @@ ...@@ -319,22 +294,21 @@
319 :tableData="logData" 294 :tableData="logData"
320 :headerData="logHeaderData" 295 :headerData="logHeaderData"
321 /> 296 />
322 - <div class="entryTitle" style="margin-top: 10px">商品明细</div> 297 + <!-- <div class="entryTitle" style="margin-top: 10px">商品明细</div>
323 <ProductDetailTable 298 <ProductDetailTable
324 :tableData="detailData" 299 :tableData="detailData"
325 :bodyHeader="detialHeaderData" 300 :bodyHeader="detialHeaderData"
326 - /> 301 + /> -->
327 <div style="margin-bottom: 20px; text-align: center"></div> 302 <div style="margin-bottom: 20px; text-align: center"></div>
328 </div> 303 </div>
329 </template> 304 </template>
330 305
331 <script> 306 <script>
332 import ReceiptInfoTable from "../components/ReceiptInfoTable/index.vue"; 307 import ReceiptInfoTable from "../components/ReceiptInfoTable/index.vue";
333 -import ProductDetailTable from "../components/ProductDetailTable/index.vue";
334 import { getPvgWaybillInfo } from "@/api/pvg.js"; 308 import { getPvgWaybillInfo } from "@/api/pvg.js";
335 export default { 309 export default {
336 name: "", 310 name: "",
337 - components: { ProductDetailTable, ReceiptInfoTable }, 311 + components: { ReceiptInfoTable },
338 data() { 312 data() {
339 return { 313 return {
340 id: null, 314 id: null,
...@@ -360,120 +334,7 @@ export default { ...@@ -360,120 +334,7 @@ export default {
360 align: "left", 334 align: "left",
361 }, 335 },
362 ], 336 ],
363 - detailData: [], 337 +
364 - detialHeaderData: [
365 - {
366 - name: "序号",
367 - value: "gnum",
368 - width: "",
369 - align: "left",
370 - },
371 - {
372 - name: "商品名称",
373 - value: "itemName",
374 - width: "",
375 - align: "left",
376 - },
377 - {
378 - name: "企业商品货号",
379 - value: "itemNo",
380 - width: "",
381 - align: "left",
382 - },
383 - {
384 - name: "商品编码",
385 - value: "gcode",
386 - width: "",
387 - align: "left",
388 - },
389 - {
390 - name: "规格型号",
391 - value: "itemDescribe",
392 - width: "",
393 - align: "left",
394 - },
395 - {
396 - name: "申报数量",
397 - value: "barCode",
398 - width: "",
399 - align: "left",
400 - },
401 - {
402 - name: "法定数量",
403 - value: "qty1",
404 - width: "",
405 - align: "left",
406 - },
407 - {
408 - name: "法定计量单位",
409 - value: "unit1",
410 - width: "",
411 - align: "left",
412 - slot: true,
413 - },
414 - {
415 - name: "第二数量",
416 - value: "qty2",
417 - width: "",
418 - align: "left",
419 - },
420 - {
421 - name: "第二计量单位",
422 - value: "unit2",
423 - width: "",
424 - align: "left",
425 - slot: true,
426 - },
427 - {
428 - name: "申报计量单位",
429 - value: "unit",
430 - width: "",
431 - align: "left",
432 - },
433 - {
434 - name: "商品品牌",
435 - value: "brand",
436 - width: "",
437 - align: "left",
438 - },
439 - {
440 - name: "企业商品描述",
441 - value: "itemDescribe",
442 - width: "",
443 - align: "left",
444 - },
445 - {
446 - name: "单价",
447 - value: "price",
448 - width: "",
449 - align: "left",
450 - },
451 - {
452 - name: "总价",
453 - value: "totalPrice",
454 - width: "",
455 - align: "left",
456 - },
457 - {
458 - name: "币制",
459 - value: "currency",
460 - width: "",
461 - align: "left",
462 - slot: true,
463 - },
464 - {
465 - name: "条形码",
466 - value: "gmodel",
467 - width: "",
468 - align: "left",
469 - },
470 - {
471 - name: "备注",
472 - value: "note",
473 - width: "",
474 - align: "left",
475 - },
476 - ],
477 loadings: { 338 loadings: {
478 entryLoading: false, 339 entryLoading: false,
479 }, 340 },
...@@ -494,12 +355,8 @@ export default { ...@@ -494,12 +355,8 @@ export default {
494 getPvgWaybillInfo({ id: this.id }) 355 getPvgWaybillInfo({ id: this.id })
495 .then((res) => { 356 .then((res) => {
496 if (res.code === "200") { 357 if (res.code === "200") {
497 - this.formData = res.data.pvgExportOrderVo; 358 + this.formData = res.data.pvgExportWaybillVO;
498 - this.detailData = res.data.pvgExportOrderProductVo; 359 + this.logData = res.data.pvgExportWaybillReceiptVOList;
499 - this.logData = res.data.pvgExportOrderReceiptVo;
500 - this.detailData.forEach((item, idx) => {
501 - item.index = idx;
502 - });
503 } else { 360 } else {
504 this.alertWarningMsg(res.message); 361 this.alertWarningMsg(res.message);
505 } 362 }
......
...@@ -143,7 +143,7 @@ ...@@ -143,7 +143,7 @@
143 <template v-slot:rspCode="scope"> 143 <template v-slot:rspCode="scope">
144 <TablePopover 144 <TablePopover
145 ref="returnStatusPopover" 145 ref="returnStatusPopover"
146 - dataKey="rspCode" 146 + dataKey="returnStatus"
147 :parentDom="$refs.entryTable" 147 :parentDom="$refs.entryTable"
148 :receiptDataHead="receiptDataHead" 148 :receiptDataHead="receiptDataHead"
149 :rowData="scope.row" 149 :rowData="scope.row"
...@@ -252,13 +252,13 @@ export default { ...@@ -252,13 +252,13 @@ export default {
252 }, 252 },
253 { 253 {
254 name: "状态时间", 254 name: "状态时间",
255 - value: "returnTime", 255 + value: "rspTime",
256 width: "", 256 width: "",
257 align: "left", 257 align: "left",
258 }, 258 },
259 { 259 {
260 name: "回执描述", 260 name: "回执描述",
261 - value: "returnInfo", 261 + value: "rspMsg",
262 width: "", 262 width: "",
263 align: "left", 263 align: "left",
264 }, 264 },
...@@ -344,7 +344,7 @@ export default { ...@@ -344,7 +344,7 @@ export default {
344 //查询详情 344 //查询详情
345 view(val) { 345 view(val) {
346 this.$router.push({ 346 this.$router.push({
347 - name: "PvgOrderDetail", 347 + name: "PvgWaybillDetail",
348 params: { data: val }, 348 params: { data: val },
349 }); 349 });
350 }, 350 },
......