zhanbo.xu

feat: 合并代码

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