From 7c25bdfadb16f78c793e363be7b1165f8ce3c579 Mon Sep 17 00:00:00 2001 From: linfso Date: Sun, 29 Jun 2025 16:15:33 +0800 Subject: [PATCH] md --- src/views/emis/emisCountry/index.vue | 2 +- .../emisTmsCostFee/EmisTmsCostFeeList.vue | 253 ++++++++++++++++++ .../emisTmsCostFee/emisTmsCostFeeForm.vue | 21 +- .../emisTransPlanRuleForm.vue | 5 +- 4 files changed, 276 insertions(+), 5 deletions(-) diff --git a/src/views/emis/emisCountry/index.vue b/src/views/emis/emisCountry/index.vue index 8c975d9c..7c8d81fe 100644 --- a/src/views/emis/emisCountry/index.vue +++ b/src/views/emis/emisCountry/index.vue @@ -273,7 +273,7 @@ - + diff --git a/src/views/emis/emisTmsCostFee/EmisTmsCostFeeList.vue b/src/views/emis/emisTmsCostFee/EmisTmsCostFeeList.vue index 1ad5c0c4..24f11e9c 100644 --- a/src/views/emis/emisTmsCostFee/EmisTmsCostFeeList.vue +++ b/src/views/emis/emisTmsCostFee/EmisTmsCostFeeList.vue @@ -153,6 +153,16 @@ >导出 + 导出成本明细 + + 0){ + this.selectionList.forEach(item=>{ + let qExportParam={ + pageNum:1, + pageSize:20000, + batchNo: item.batchNo + }; + let batchName=item.batchNo; + listEmisTmsSiteBatchDtl(qExportParam).then(response => { + if (response.code === 200) { + this.exportDataDtl(batchName,response.rows,loadingInstance); + } + }); + + }); + } + }, + exportDataDtl(batchName,selData,loadingInstance){ + const curList =selData + import('@/vendor/Export2Excel').then(excel => { + const tHeader = ['运单号','寄件国家','目的国家','线路','产品类型','预计到达时间','总件数','实际重量','总体积','体积重量','结算重量','收件人','收件公司','取件方式','付款方式','运费','寄件人','寄件公司','录单备注','寄件网点','清关方式','报关方式']; + const filterVal=[ + "billCode", + "sendCountryName", + "receiveCountryName", + "transLineTypeName", + "productTypeName", + "estimateDate", + "parcelQty", + "billWeight", + "totalVolume", + "volumeWeight", + "settlementWeight", + "receiveName", + "receiveCompany", + "pickupMethod", + "paymentType", + "freight", + "sendName", + "sendCompany", + "remark", + "sendSiteName", + "customsEclaration", + "customsClear" + ]; + + const data = this.formatJsonDtl(filterVal, curList, selData) + excel.export_json_to_excel({ + header: tHeader, + data, + filename: batchName+'批次明细表', + autoWidth: true + }) + loadingInstance.close() + }) + }, + formatJsonDtl(filterVal, jsonData, resData) { + let index = 0 + return jsonData.map(v => filterVal.map(j => { + + + if (j === 'index') { + return ++index + } + if (j === 'kjlx') { + return v['waybillDetail']['sendSiteName']+'--'+v['waybillDetail']['dispatchUnderlingSiteName']; + } + if (j === 'fjr') { + return v['sendName']+'--'+v['receiveName']; + } + + if (j === 'receiveCountryName') { + return v['waybillDetail']['receiveCountryName']; + } + + if (j === 'sendCountryName') { + return v['waybillDetail']['sendCountryName']; + } + + + if (j === 'estimateDate') { + return v['waybillDetail']['estimateDate']; + } + + if (j === 'sendSiteName') { + return v['waybillDetail']['sendSiteName']; + } + + if (j === 'sendName') { + return v['waybillDetail']['sendName']; + } + + if (j === 'receiveName') { + return v['waybillDetail']['receiveName']; + } + + if (j === 'sendDate') { + return v['waybillDetail']['sendDate']; + } + + if (j === 'sendCompany') { + return v['waybillDetail']['sendCompany']; + } + + if (j === 'receiveCompany') { + return v['waybillDetail']['receiveCompany']; + } + + if (j === 'transLineTypeName') { + return v['waybillDetail']['transLineTypeName']; + } + + if (j === 'productTypeName') { + return v['waybillDetail']['productTypeName']; + } + + + if (j === 'sendName') { + return v['waybillDetail']['sendName']; + } + + if (j === 'parcelQty') { + return v['waybillDetail']['parcelQty']; + } + + if (j === 'billWeight') { + return v['waybillDetail']['billWeight']; + } + + if (j === 'volumeWeight') { + return v['waybillDetail']['volumeWeight']; + } + + if (j === 'totalVolume') { + return v['waybillDetail']['totalVolume']; + } + + if (j === 'settlementWeight') { + return v['waybillDetail']['settlementWeight']; + } + + if (j === 'freight') { + return v['waybillDetail']['freight']; + } + + if (j === 'realFee') { + return v['waybillDetail']['realFee']; + } + + if (j === 'remark') { + return v['waybillDetail']['remark']; + } + + if (j === 'feeRemark') { + return v['waybillDetail']['feeRemark']; + } + + if (j === 'salesmen') { + return v['waybillDetail']['salesmen']; + } + + if (j === 'payee') { + return v['waybillDetail']['payee']; + } + + if (j === 'payee') { + return v['waybillDetail']['payee']; + } + + if (j === 'problemTypeName') { + return v['waybillDetail']['problemTypeName']; + } + + if (j === 'problemCause') { + return v['waybillDetail']['problemCause']; + } + + if (j === 'sendMobile') { + return ""; + } + + if (j === 'calcFeeType') { + return this.selectDictLabel(this.dict.type.emis_calc_fee_type,v['waybillDetail']['calcFeeType']); + } + + if (j === 'waybillDetail.paymentStatus') { + return this.selectDictLabel(this.dict.type.emis_payment_status,v['waybillDetail']['paymentStatus']); + } + + if (j === 'pickupMethod') { + return this.selectDictLabel(this.dict.type.emis_qujian_fangshi,v['waybillDetail']['pickupMethod']); + } + if (j === 'customsEclaration') { + return this.selectDictLabel(this.dict.type.emis_declare_mode,v['waybillDetail']['customsEclaration']); + } + if (j === 'customsClear') { + return this.selectDictLabel(this.dict.type.emis_customs_clear,v['waybillDetail']['customsClear']); + } + if (j === 'packType') { + return this.selectDictLabels(this.dict.type.emis_tab_packing_type,v['waybillDetail']['packType']); + } + + if (j === 'dispatchMethod') { + if(v['waybillDetail']['dispatchMethod'] == 1){ + return '派送'; + }else{ + return '自提'; + } + } + if (j === 'blMessage') { + if(v['waybillDetail']['blMessage'] == 1){ + return '发送'; + }else{ + return '不发送'; + } + } + if (j === 'blAcceptMessage') { + if(v['waybillDetail']['blAcceptMessage'] == 1){ + return '发送'; + }else{ + return '不发送'; + } + } + if (j === 'blSign') { + if(v['waybillDetail']['blSign'] == 1){ + return '已签收'; + }else{ + return '未签收'; + } + } + if (j === 'paymentType') { + return this.selectDictLabel(this.dict.type.emis_payment_type,v['waybillDetail']['paymentType']); + } + return v[j] + })) + }, + /** 列索引函数 */ getIndex($index) { return (this.queryParams.pageNum - 1) * this.queryParams.pageSize + $index + 1 diff --git a/src/views/emis/emisTmsCostFee/emisTmsCostFeeForm.vue b/src/views/emis/emisTmsCostFee/emisTmsCostFeeForm.vue index 5187502a..5a68d39b 100644 --- a/src/views/emis/emisTmsCostFee/emisTmsCostFeeForm.vue +++ b/src/views/emis/emisTmsCostFee/emisTmsCostFeeForm.vue @@ -206,7 +206,6 @@ - @@ -522,6 +521,26 @@ export default { } }, + async reloadSubBillList(){ + // 运单列表信息 + this.loading = true; + let resBatch=await listEmisTmsSiteBatchDtl({batchNo: this.form.batchNo}); + if(resBatch.code==200){ + if(resBatch.rows&&resBatch.rows.length>0){ + this.form.billRelList=[]; + let uniqMap = new Map(); + resBatch.rows.forEach(itemWaybill=>{ + let relItem={...itemWaybill}; + if(!(relItem.billCode in uniqMap)){ + uniqMap[relItem.billCode]=1; + this.form.billRelList.push(relItem); + } + + }); + } + } + this.loading = false; + }, async onSelecTmsBatch(item){ // 基础信息 diff --git a/src/views/emis/emisTransPlanRule/emisTransPlanRuleForm.vue b/src/views/emis/emisTransPlanRule/emisTransPlanRuleForm.vue index 997568f1..7753a515 100644 --- a/src/views/emis/emisTransPlanRule/emisTransPlanRuleForm.vue +++ b/src/views/emis/emisTransPlanRule/emisTransPlanRuleForm.vue @@ -77,14 +77,13 @@ import { listEmisTransPlanRule, getEmisTransPlanRule, delEmisTransPlanRule, addE import emisTransPlanRuleForm from '@/views/emis/emisTransPlanRule/emisTransPlanRuleForm'; -import EmisSiteSimplePicker1 from '@/views/emis/EmisBaseTools/EmisSiteSimplePicker.vue'; -import EmisSiteSimplePicker2 from '@/views/emis/EmisBaseTools/EmisSiteSimplePicker.vue'; import TransLinePicker from '@/views/emis/EmisBaseTools/TransLinePicker.vue'; import TransProductPicker from '@/views/emis/EmisBaseTools/TransProductPicker.vue'; import TransProductMultiplePicker from '@/views/emis/EmisBaseTools/TransProductMultiplePicker.vue'; - +import EmisSiteSimplePicker1 from '@/views/emis/EmisBaseTools/EmisSiteSimplePicker.vue'; +import EmisSiteSimplePicker2 from '@/views/emis/EmisBaseTools/EmisSiteSimplePicker.vue'; import EmisSupplierMultiplePicker from '@/views/emis/EmisBaseTools/EmisSupplierMultiplePicker'; import EmpNamePicker from '@/views/emis/EmisBaseTools/EmpNamePicker.vue';