This commit is contained in:
linfso 2025-06-29 16:15:33 +08:00
parent 93346b3725
commit 7c25bdfadb
4 changed files with 276 additions and 5 deletions

View File

@ -273,7 +273,7 @@
</el-dialog>
<!-- 添加或修改地球洲对话框 -->
<el-dialog :title="titleForm" :visible.sync="openForm" :destroy-on-close="true" width="500px" v-dialogDrag append-to-body>
<el-dialog :title="titleForm" :visible.sync="openForm" :destroy-on-close="true" width="500px" :close-on-click-modal="false" v-dialogDrag append-to-body>
<emisContinentForm :id="currentContinentId" @on-changed="handleFormChanged" @on-cancel="cancelForm"></EmisContinentForm>
</el-dialog>
</div>

View File

@ -153,6 +153,16 @@
>导出</el-button>
</el-col>
<el-button style="margin-right: 5px;"
type="warning"
plain
:disabled="single"
icon="el-icon-download"
size="mini"
@click="handleDownBatchDtl"
>导出成本明细</el-button>
<el-col :span="1.5">
<el-button
type="primary"
@ -595,6 +605,249 @@ export default {
return v[j]
}))
},
handleDownBatchDtl(batchName){
const loadingInstance = this.$loading({
text: '正在导出...'
})
if(this.selectionList&&this.selectionList.length>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

View File

@ -206,7 +206,6 @@
<!-- <el-col :span="6">
</el-col> -->
<el-col :span="24" v-if="isShowWaybillList">
<el-form-item label="关联单号" prop="billCode" >
@ -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){
// 基础信息

View File

@ -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';