diff --git a/src/views/emis/emisTmsScanRecord/signAndAbPanel/SignAndAbDiffDtl.vue b/src/views/emis/emisTmsScanRecord/signAndAbPanel/SignAndAbDiffDtl.vue index 9514a9e2..aad7ec27 100644 --- a/src/views/emis/emisTmsScanRecord/signAndAbPanel/SignAndAbDiffDtl.vue +++ b/src/views/emis/emisTmsScanRecord/signAndAbPanel/SignAndAbDiffDtl.vue @@ -10,7 +10,7 @@ v-loading="loading" border size="mini" - + ref="refTable" storageName="emisStatRecordList_main_240817" :data="emisStatRecordList" @@ -24,6 +24,19 @@ @sort-change="handleSortChange" > +
+ + + 导出 + +
@@ -61,7 +74,7 @@ {{ (scope.row.waybillDetail.destinationName) }} - + @@ -111,6 +124,20 @@ {{ (scope.row.waybillDetail.receiveAddress) }} + + + + + + + + + + @@ -127,7 +154,7 @@ export default { }, }, components: { }, - dicts: ['emis_scan_type'], + dicts: ['emis_scan_type','emis_declare_mode','emis_customs_clear'], data() { return { // 调整表格的高度,不允许滚动 @@ -191,6 +218,113 @@ export default { // this.queryParams.isAsc = column.order; // this.queryData(); }, + /** 导出按钮操作 */ + handleExport() { + const loadingInstance = this.$loading({ + text: '正在导出...' + }) + if (this.selectList && this.selectList.length > 0) { + this.exportData(this.selectList, loadingInstance); + } else { + queryScanStatRecordList({...this.queryInfo,pageSize:10000}).then(response => { + if (response.code === 200) { + this.exportData(response.rows, loadingInstance); + } + }); + } + }, + exportData(selData, loadingInstance) { + const curList = selData + import('@/vendor/Export2Excel').then(excel => { + const exportParam = this.$refs.refTable.getExportParam(); + const tHeader = exportParam.header; + const filterVal = exportParam.filter; + const data = this.formatJson(filterVal, curList, selData) + excel.export_json_to_excel({ + header: tHeader, + data, + filename: '未签收列表', + autoWidth: true + }) + loadingInstance.close() + }) + }, + formatJson(filterVal, jsonData, resData) { + let index = 0 + return jsonData.map(v => filterVal.map(j => { + if (j === 'index') { + return ++index + } + if (j === 'status') { + var statusStr = 'xxx' + if (v[j] == 10) { + statusStr = 'xxx' + } + return statusStr; + } + //报关方式 + if (j === 'waybillDetail.customsEclaration') { + return this.selectDictLabel(this.dict.type.emis_declare_mode,v['waybillDetail']['customsEclaration']); + } + //清关方式 + if (j === 'waybillDetail.customsClear') { + return this.selectDictLabel(this.dict.type.emis_customs_clear,v['waybillDetail']['customsClear']); + } + //始发网点 + if (j === 'waybillDetail.startSiteName') { + return v['waybillDetail']['startSiteName']; + } + //销售联系人 + if (j === 'waybillDetail.salesmen') { + return v['waybillDetail']['salesmen']; + } + // 目的地 + if (j === 'destinationName') { + return v['waybillDetail']['destinationName']; + } + // 寄件网点 + if (j === 'sendSiteName') { + return v['waybillDetail']['sendSiteName']; + } + // 目的网点 + if (j === 'dispatchUnderlingSiteName') { + return v['waybillDetail']['dispatchUnderlingSiteName']; + } + //件数 + if (j === 'parcelQty') { + return v['waybillDetail']['parcelQty']; + } + // 实际重量 + if (j === 'billWeight') { + return v['waybillDetail']['billWeight']; + } + // 子单号 + if (j === 'billCodeSub') { + return v['waybillDetail']['billCodeSub']; + } + // 产品类型 + if(j=== 'productTypeName'){ + return v['waybillDetail']['productTypeName']; + } + // 预计送达时间 + if (j === 'estimateDate') { + return v['waybillDetail']['estimateDate']; + } + // 收件人 + if (j === 'receiveName') { + return v['waybillDetail']['receiveName']; + } + // 收件电话 + if (j === 'receiveMobile') { + return v['waybillDetail']['receiveMobile']; + } + //收件地址 + if (j === 'receiveAddress') { + return v['waybillDetail']['receiveAddress']; + } + return v[j] + })) + }, } };