jiaxing.zhou

feat(exportSummary): 新增汇总申请单查询功能

- 添加提运单号、预录入编号、电商企业代码等查询条件
- 新增汇总时间、业务状态等筛选项
- 更新表格展示字段,包括电子口岸预录入编号、提运单号等
-集成新的 API searchExportSummaryList 用于获取汇总申请单数据
...@@ -21,3 +21,14 @@ export function searchExportSummaryList(data){ ...@@ -21,3 +21,14 @@ export function searchExportSummaryList(data){
21 data: data, 21 data: data,
22 }) 22 })
23 } 23 }
24 +
25 +/**
26 + * 查询汇总回执
27 + * @param data.copNo 企业唯一编号
28 + */
29 +export function getExportSummaryReceiptData(data){
30 + return request({
31 + url: '/bus-customer/exportSummary/receipt/' + data.copNo,
32 + method: 'get',
33 + })
34 +}
......
...@@ -201,9 +201,12 @@ ...@@ -201,9 +201,12 @@
201 @sizeChange="sizeChange" 201 @sizeChange="sizeChange"
202 @currentChange="currentChange" 202 @currentChange="currentChange"
203 @cellClick="cellClick" 203 @cellClick="cellClick"
204 - :selection="false" 204 + :selection="true"
205 :selectFixed="false" 205 :selectFixed="false"
206 :rowSelectDataType="false" 206 :rowSelectDataType="false"
207 + @tableSelect="tableSelect"
208 + @tableSelectAll="tableSelectAll"
209 + :selected="selected"
207 > 210 >
208 <template v-slot:returnStatus="scope"> 211 <template v-slot:returnStatus="scope">
209 <TablePopover 212 <TablePopover
...@@ -236,11 +239,8 @@ ...@@ -236,11 +239,8 @@
236 239
237 <script> 240 <script>
238 import { 241 import {
239 - getAllExportingBills, 242 + searchExportSummaryList,
240 - getOrderReceiptData, 243 + getExportSummaryReceiptData
241 -} from "@/api/exportQuery.js";
242 -import {
243 - searchExportSummaryList
244 } from "@/api/exportSummary-api"; 244 } from "@/api/exportSummary-api";
245 export default { 245 export default {
246 name: "ExportBillQuery", 246 name: "ExportBillQuery",
...@@ -264,69 +264,88 @@ export default { ...@@ -264,69 +264,88 @@ export default {
264 total: 0, 264 total: 0,
265 }, 265 },
266 tableData: [], 266 tableData: [],
267 + selected: [],
267 headerData: [ 268 headerData: [
268 { 269 {
270 + name: "回执状态",
271 + value: "returnStatus",
272 + width: "",
273 + align: "left",
274 + slot: true,
275 + },
276 + {
269 name: "电子口岸预录入编号", 277 name: "电子口岸预录入编号",
270 value: "preNo", 278 value: "preNo",
271 width: "", 279 width: "",
272 align: "left", 280 align: "left",
273 - slot: true,
274 }, 281 },
275 { 282 {
276 name: "提运单号", 283 name: "提运单号",
277 value: "billNo", 284 value: "billNo",
278 width: "", 285 width: "",
279 align: "left", 286 align: "left",
280 - slot: true,
281 }, 287 },
282 { 288 {
283 name: "汇总申请单编号", 289 name: "汇总申请单编号",
284 value: "sumNo", 290 value: "sumNo",
285 width: "", 291 width: "",
286 align: "left", 292 align: "left",
287 - slot: true,
288 }, 293 },
289 { 294 {
290 name: "申报企业代码", 295 name: "申报企业代码",
291 value: "agentCode", 296 value: "agentCode",
292 width: "", 297 width: "",
293 align: "left", 298 align: "left",
294 - slot: true,
295 }, 299 },
296 { 300 {
297 name: "申报企业名称", 301 name: "申报企业名称",
298 value: "agentName", 302 value: "agentName",
299 width: "", 303 width: "",
300 align: "left", 304 align: "left",
301 - slot: true,
302 }, 305 },
303 { 306 {
304 name: "收发货人代码", 307 name: "收发货人代码",
305 value: "ebccode", 308 value: "ebccode",
306 width: "", 309 width: "",
307 align: "left", 310 align: "left",
308 - slot: true,
309 }, 311 },
310 { 312 {
311 name: "收发货人名称", 313 name: "收发货人名称",
312 value: "ebcname", 314 value: "ebcname",
313 width: "", 315 width: "",
314 align: "left", 316 align: "left",
315 - slot: true,
316 }, 317 },
317 { 318 {
318 name: "汇总时间", 319 name: "汇总时间",
319 value: "startTime"+"~"+"endTime", 320 value: "startTime"+"~"+"endTime",
320 width: "", 321 width: "",
321 align: "left", 322 align: "left",
322 - slot: true,
323 }, 323 },
324 { 324 {
325 name: "收发货人汇总标志", 325 name: "收发货人汇总标志",
326 value:"summaryFlag", 326 value:"summaryFlag",
327 width: "", 327 width: "",
328 align: "left", 328 align: "left",
329 - slot: true, 329 + },
330 + ],
331 + receiptDataHead: [
332 + {
333 + name: "回执状态",
334 + value: "receiptStatus",
335 + width: "",
336 + align: "left",
337 + },
338 + {
339 + name: "状态时间",
340 + value: "statusTime",
341 + width: "",
342 + align: "left",
343 + },
344 + {
345 + name: "回执描述",
346 + value: "receiptDescription",
347 + width: "",
348 + align: "left",
330 }, 349 },
331 ], 350 ],
332 dictData: { 351 dictData: {
...@@ -404,17 +423,18 @@ export default { ...@@ -404,17 +423,18 @@ export default {
404 //查询详情 423 //查询详情
405 view(val) { 424 view(val) {
406 this.$router.push({ 425 this.$router.push({
407 - name: "ExportBillDetail", 426 + name: "summaryDetail",
408 params: { data: val }, 427 params: { data: val },
409 }); 428 });
410 }, 429 },
411 popoverChange(val) { 430 popoverChange(val) {
412 console.log(val); 431 console.log(val);
413 this.tableData = val.tableData; 432 this.tableData = val.tableData;
414 - this.receiptApi(val.data.declareId, val.status) 433 + this.receiptApi(val.data.copNo, val.status)
415 .then((res) => { 434 .then((res) => {
416 val.tableData.forEach((item) => { 435 val.tableData.forEach((item) => {
417 - if (item.declareId == val.data.declareId) { 436 + console.log("item",item)
437 + if (item.id == val.data.id) {
418 item.popoverData = res; 438 item.popoverData = res;
419 } 439 }
420 }); 440 });
...@@ -427,10 +447,10 @@ export default { ...@@ -427,10 +447,10 @@ export default {
427 }); 447 });
428 }, 448 },
429 //查询回执 449 //查询回执
430 - receiptApi(id) { 450 + receiptApi(copNo) {
431 return new Promise((resolve, reject) => { 451 return new Promise((resolve, reject) => {
432 - let obj = { orderId: id }; 452 + let obj = { copNo: copNo };
433 - getOrderReceiptData(obj) 453 + getExportSummaryReceiptData(obj)
434 .then((res) => { 454 .then((res) => {
435 if (res.code === "200") { 455 if (res.code === "200") {
436 resolve(res.data); 456 resolve(res.data);
...@@ -474,6 +494,12 @@ export default { ...@@ -474,6 +494,12 @@ export default {
474 }); 494 });
475 } 495 }
476 }, 496 },
497 + tableSelect(val) {
498 + this.selected = val.selection;
499 + },
500 + tableSelectAll(val) {
501 + this.selected = val;
502 + },
477 input() { 503 input() {
478 this.$forceUpdate(); 504 this.$forceUpdate();
479 }, 505 },
......
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="billNo">
21 + <el-input
22 + type="text"
23 + class="inputShadow"
24 + id="inputInner--billNo"
25 + resize="none"
26 + v-model="formData.billNo"
27 + clearable
28 + placeholder=""
29 + ></el-input>
30 + </Formitem>
31 + </el-col>
32 + <!-- 电子口岸编号 -->
33 + <el-col :span="3">
34 + <Formitem label="电子口岸编号" prop="preNo">
35 + <el-input
36 + type="text"
37 + class="inputShadow"
38 + id="inputInner--preNo"
39 + resize="none"
40 + v-model="formData.preNo"
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-select
50 + type="text"
51 + id="inputInner--appType"
52 + v-model="formData.appType"
53 + clearable
54 + placeholder=""
55 + >
56 + <el-option
57 + v-for="(item, index) in $store.getters.dict.DECLARE_APPTYPE"
58 + :key="index"
59 + :label="item.itemChineseName"
60 + :value="item.itemValue"
61 + ></el-option>
62 + </el-select>
63 + </Formitem>
64 + </el-col>
65 + <!-- 汇总申请编号 -->
66 + <el-col :span="3">
67 + <Formitem label="汇总申请编号" prop="sumNo">
68 + <el-input
69 + type="text"
70 + class="inputShadow"
71 + id="inputInner--sumNo"
72 + resize="none"
73 + v-model="formData.sumNo"
74 + clearable
75 + placeholder=""
76 + ></el-input>
77 + </Formitem>
78 + </el-col>
79 + <!-- 报关单位代码 -->
80 + <el-col :span="6">
81 + <Formitem label="报关单位代码" prop="declagAgentCode">
82 + <el-input
83 + type="text"
84 + class="inputShadow"
85 + id="inputInner--declagAgentCode"
86 + resize="none"
87 + v-model="formData.declagAgentCode"
88 + clearable
89 + placeholder=""
90 + ></el-input>
91 + </Formitem>
92 + </el-col>
93 + <!-- 报关单位名称 -->
94 + <el-col :span="3">
95 + <Formitem label="报关单位名称" prop="declAgentName">
96 + <el-input
97 + type="text"
98 + class="inputShadow"
99 + id="inputInner--declAgentName"
100 + resize="none"
101 + v-model="formData.declAgentName"
102 + clearable
103 + placeholder=""
104 + ></el-input>
105 + </Formitem>
106 + </el-col>
107 + <!-- 报送时间 -->
108 + <el-col :span="6">
109 + <Formitem label="报送时间" prop="appTime">
110 + <el-input
111 + type="text"
112 + class="inputShadow"
113 + id="inputInner--appTime"
114 + resize="none"
115 + v-model="formData.appTime"
116 + clearable
117 + placeholder=""
118 + ></el-input>
119 + </Formitem>
120 + </el-col>
121 + </el-row>
122 + <el-row :gutter="5">
123 + <!-- 申报企业代码 -->
124 + <el-col :span="3">
125 + <Formitem label="申报企业代码" prop="agentCode">
126 + <el-input
127 + type="text"
128 + class="inputShadow"
129 + id="inputInner--agentCode"
130 + resize="none"
131 + v-model="formData.agentCode"
132 + clearable
133 + placeholder=""
134 + ></el-input>
135 + </Formitem>
136 + </el-col>
137 + <!-- 申报企业名称 -->
138 + <el-col :span="3">
139 + <Formitem label="申报企业名称" prop="agentName">
140 + <el-input
141 + type="text"
142 + class="inputShadow"
143 + id="inputInner--agentName"
144 + resize="none"
145 + v-model="formData.agentName"
146 + clearable
147 + placeholder=""
148 + ></el-input>
149 + </Formitem>
150 + </el-col>
151 + <!-- 收发货人代码 -->
152 + <el-col :span="3">
153 + <Formitem label="收发货人代码" prop="ebccode">
154 + <el-input
155 + type="text"
156 + class="inputShadow"
157 + id="inputInner--ebccode"
158 + resize="none"
159 + v-model="formData.ebccode"
160 + clearable
161 + placeholder=""
162 + ></el-input>
163 + </Formitem>
164 + </el-col>
165 + <!-- 收发货人名称 -->
166 + <el-col :span="6">
167 + <Formitem label="收发货人名称" prop="ebcname">
168 + <el-input
169 + type="text"
170 + class="inputShadow"
171 + id="inputInner--ebcname"
172 + resize="none"
173 + v-model="formData.ebcname"
174 + clearable
175 + placeholder=""
176 + ></el-input>
177 + </Formitem>
178 + </el-col>
179 + <!-- 汇总时间 -->
180 + <el-col :span="6">
181 + <Formitem label="汇总时间" prop="startTime">
182 + <el-input
183 + type="text"
184 + class="inputShadow"
185 + id="inputInner--startTime"
186 + resize="none"
187 + v-model="formData.startTime"
188 + clearable
189 + placeholder=""
190 + ></el-input>
191 + </Formitem>
192 + </el-col>
193 + <!-- 收发货人汇总标志 -->
194 + <el-col :span="9">
195 + <Formitem label="收发货人汇总标志" prop="summaryFlag">
196 + <el-input
197 + type="text"
198 + class="inputShadow"
199 + id="inputInner--summaryFlag"
200 + resize="none"
201 + v-model="formData.summaryFlag"
202 + clearable
203 + placeholder=""
204 + ></el-input>
205 + </Formitem>
206 + </el-col>
207 + <!-- 按商品名汇总标志 -->
208 + <el-col :span="9">
209 + <Formitem label="按商品名汇总标志" prop="itemNameFlag">
210 + <el-input
211 + type="text"
212 + class="inputShadow"
213 + id="inputInner--itemNameFlag"
214 + resize="none"
215 + v-model="formData.itemNameFlag"
216 + clearable
217 + placeholder=""
218 + ></el-input>
219 + </Formitem>
220 + </el-col>
221 + <!-- 监管场所代码 -->
222 + <el-col :span="9">
223 + <Formitem label="监管场所代码" prop="loctNo">
224 + <el-input
225 + type="text"
226 + class="inputShadow"
227 + id="inputInner--loctNo"
228 + resize="none"
229 + v-model="formData.loctNo"
230 + clearable
231 + placeholder=""
232 + ></el-input>
233 + </Formitem>
234 + </el-col>
235 + <!-- 申报地海关代码 -->
236 + <el-col :span="9">
237 + <Formitem label="申报地海关代码" prop="customsCode">
238 + <el-input
239 + type="text"
240 + class="inputShadow"
241 + id="inputInner--customsCode"
242 + resize="none"
243 + v-model="formData.customsCode"
244 + clearable
245 + placeholder=""
246 + ></el-input>
247 + </Formitem>
248 + </el-col>
249 + <!-- 报文总数 -->
250 + <el-col :span="9">
251 + <Formitem label="报文总数" prop="msgCount">
252 + <el-input
253 + type="text"
254 + class="inputShadow"
255 + id="inputInner--msgCount"
256 + resize="none"
257 + v-model="formData.msgCount"
258 + clearable
259 + placeholder=""
260 + ></el-input>
261 + </Formitem>
262 + </el-col>
263 + <!-- 报文序号 -->
264 + <el-col :span="9">
265 + <Formitem label="报文序号" prop="msgSeqNo">
266 + <el-input
267 + type="text"
268 + class="inputShadow"
269 + id="inputInner--msgSeqNo"
270 + resize="none"
271 + v-model="formData.msgSeqNo"
272 + clearable
273 + placeholder=""
274 + ></el-input>
275 + </Formitem>
276 + </el-col>
277 + <!-- 入库时间 -->
278 + <el-col :span="9">
279 + <Formitem label="入库时间" prop="createTime">
280 + <el-input
281 + type="text"
282 + class="inputShadow"
283 + id="inputInner--createTime"
284 + resize="none"
285 + v-model="formData.createTime"
286 + clearable
287 + placeholder=""
288 + ></el-input>
289 + </Formitem>
290 + </el-col>
291 + <!-- 备注 -->
292 + <el-col :span="9">
293 + <Formitem label="备注" prop="note">
294 + <el-input
295 + type="text"
296 + class="inputShadow"
297 + id="inputInner--note"
298 + resize="none"
299 + v-model="formData.note"
300 + clearable
301 + placeholder=""
302 + ></el-input>
303 + </Formitem>
304 + </el-col>
305 + </el-row>
306 + </el-form>
307 + <div
308 + :class="{ entryTitle: true, titleBorder: logtableType ? false : true }"
309 + style="margin-top: 10px"
310 + >
311 + <div>
312 + 回执信息
313 + <el-button type="text" @click="hiddenLogTable">
314 + <svg-icon v-if="logtableType" icon-class="downIcon"></svg-icon>
315 + <svg-icon v-else icon-class="upIcon"></svg-icon>
316 + </el-button>
317 + </div>
318 + </div>
319 + <ReceiptInfoTable
320 + v-if="logtableType"
321 + :tableData="logData"
322 + :headerData="logHeaderData"
323 + />
324 + <div class="entryTitle" style="margin-top: 10px">商品明细</div>
325 + <ProductDetailTable
326 + :tableData="detailData"
327 + :bodyHeader="detialHeaderData"
328 + />
329 + <div style="margin-bottom: 20px; text-align: center"></div>
330 + </div>
331 +</template>
332 +
333 +<script>
334 +import ReceiptInfoTable from "../components/ReceiptInfoTable/index.vue";
335 +import ProductDetailTable from "../components/ProductDetailTable/index.vue";
336 +import { getOrderDetailData } from "@/api/exportDetail-api.js";
337 +export default {
338 + name: "",
339 + components: { ProductDetailTable, ReceiptInfoTable },
340 + data() {
341 + return {
342 + id: null,
343 + formData: {},
344 + logData: [],
345 + logHeaderData: [
346 + {
347 + name: "回执状态",
348 + value: "returnStatus",
349 + width: "200",
350 + align: "left",
351 + },
352 + {
353 + name: "状态时间",
354 + value: "returnTime",
355 + width: "400",
356 + align: "left",
357 + },
358 + {
359 + name: "回执描述",
360 + value: "returnInfo",
361 + width: "",
362 + align: "left",
363 + },
364 + ],
365 + detailData: [],
366 + detialHeaderData: [
367 + {
368 + name: "序号",
369 + value: "gnum",
370 + width: "",
371 + align: "left",
372 + },
373 + {
374 + name: "企业商品货号",
375 + value: "itemNo",
376 + width: "",
377 + align: "left",
378 + },
379 + {
380 + name: "商品企业商品名称",
381 + value: "itemName",
382 + width: "",
383 + align: "left",
384 + },
385 + {
386 + name: "企业商品描述",
387 + value: "itemDescribe",
388 + width: "",
389 + align: "left",
390 + },
391 + {
392 + name: "条码",
393 + value: "barCode",
394 + width: "",
395 + align: "left",
396 + },
397 + {
398 + name: "计量单位",
399 + value: "unit",
400 + width: "",
401 + align: "left",
402 + slot: true,
403 + },
404 + {
405 + name: "币制",
406 + value: "currency",
407 + width: "",
408 + align: "left",
409 + slot: true,
410 + },
411 + {
412 + name: "数量",
413 + value: "qty",
414 + width: "",
415 + align: "left",
416 + },
417 + {
418 + name: "单价",
419 + value: "price",
420 + width: "",
421 + align: "left",
422 + },
423 + {
424 + name: "总价",
425 + value: "totalPrice",
426 + width: "",
427 + align: "left",
428 + },
429 + {
430 + name: "备注",
431 + value: "note",
432 + width: "",
433 + align: "left",
434 + },
435 + ],
436 + loadings: {
437 + entryLoading: false,
438 + },
439 + logtableType: true,
440 + };
441 + },
442 + created() {
443 + if (this.$route.params.data) {
444 + this.id = this.$route.params.data.id;
445 + this.searchData();
446 + } else {
447 + this.back();
448 + }
449 + },
450 + methods: {
451 + searchData() {
452 + this.loadings.entryLoading = true;
453 + getOrderDetailData({ orderId: this.id })
454 + .then((res) => {
455 + if (res.code === "200") {
456 + this.formData = res.data.exportOrder;
457 + this.detailData = res.data.exportOrderProductList;
458 + this.logData = res.data.exportOrderReceiptList;
459 + this.detailData.forEach((item, idx) => {
460 + item.index = idx;
461 + });
462 + } else {
463 + this.alertWarningMsg(res.message);
464 + }
465 + this.loadings.entryLoading = false;
466 + })
467 + .catch((err) => {
468 + console.log(err);
469 + this.loadings.entryLoading = false;
470 + });
471 + },
472 + searchLogData() {},
473 + hiddenLogTable() {
474 + this.logtableType = !this.logtableType;
475 + },
476 + back() {
477 + this.$router.go(-1);
478 + },
479 + },
480 +};
481 +</script>
482 +
483 +<style scoped lang="scss">
484 +.entry {
485 + width: 100%;
486 + height: 100%;
487 + padding: 10px;
488 + background-color: #fff;
489 + overflow: auto;
490 +
491 + .entryInformation {
492 + width: 100%;
493 + height: 100%;
494 + }
495 +
496 + .entryTitle {
497 + display: flex;
498 + justify-content: space-between;
499 + font-weight: 600;
500 + font-weight: 16px;
501 + color: #000;
502 + margin-bottom: 10px;
503 + }
504 +
505 + .titleBorder {
506 + border-bottom: 1px solid #333;
507 + }
508 +}
509 +</style>