diff --git a/src/api/business/process-config.js b/src/api/business/process-config.js index a8aa28e..62fd4e3 100644 --- a/src/api/business/process-config.js +++ b/src/api/business/process-config.js @@ -22,6 +22,18 @@ export const getVoucherImages = (waybillId, params = {}) => ...params, }, }); +export const getVoucherFolders = waybillId => + request({ + url: '/blade-transport/process-config/voucher-folders', + method: 'get', + params: { waybillId }, + }); +export const getVoucherFolderDetail = (voucherId, plateNo) => + request({ + url: '/blade-transport/process-config/voucher-folder-detail', + method: 'get', + params: { voucherId, plateNo }, + }); export const submit = api.submit; export const remove = api.remove; export const copy = api.copy; diff --git a/src/option/business/loading-manage.js b/src/option/business/loading-manage.js index 4fa54d8..4920d79 100644 --- a/src/option/business/loading-manage.js +++ b/src/option/business/loading-manage.js @@ -31,7 +31,7 @@ export const loadingManageConfig = { exportColumns: [ { prop: 'loadingNo', label: '配载单号' }, { prop: 'loadingSubNos', label: '配载子单号' }, - { prop: 'vehicleNo', label: '车牌号/航班号/船号/班列号' }, + { prop: 'vehicleNo', label: '车牌号/船班号/船次号/班次号' }, { prop: 'driverName', label: '司机' }, { prop: 'driverPhone', label: '联系电话' }, { prop: 'carrierType', label: '承运类型' }, diff --git a/src/option/business/waybill-manage.js b/src/option/business/waybill-manage.js index c981066..e2b9760 100644 --- a/src/option/business/waybill-manage.js +++ b/src/option/business/waybill-manage.js @@ -565,10 +565,10 @@ export const option = { display: false, }, { - label: '车牌号/航班号/船号/班列号', + label: '车牌号/船班号/船次号/班次号', prop: 'vehicleNo', search: true, - searchLabel: '车/船/航班/班列', + searchLabel: '车牌号/船班号/船次号/班次号', searchOrder: 13, minWidth: 210, display: false, diff --git a/src/option/settlement/receivable-payable-detail.js b/src/option/settlement/receivable-payable-detail.js index 7987665..84f2951 100644 --- a/src/option/settlement/receivable-payable-detail.js +++ b/src/option/settlement/receivable-payable-detail.js @@ -104,7 +104,7 @@ export const generateWaybillColumns = [ { label: '运单号', prop: 'waybillNo', minWidth: 160, link: true }, { label: '项目名称', prop: 'projectName', minWidth: 160 }, { label: '客户/委托方', prop: 'customerName', minWidth: 160 }, - { label: '车牌号/航班号/船号/班列号', prop: 'vehicleNo', minWidth: 190 }, + { label: '车牌号/船班号/船次号/班次号', prop: 'vehicleNo', minWidth: 190 }, { label: '司机', prop: 'driverName', minWidth: 120 }, { label: '承运商', prop: 'carrierName', minWidth: 160 }, { label: '运输类型', prop: 'transportType', minWidth: 130 }, diff --git a/src/views/business/components/business-crud-page.vue b/src/views/business/components/business-crud-page.vue index 4c2f4f3..7498184 100644 --- a/src/views/business/components/business-crud-page.vue +++ b/src/views/business/components/business-crud-page.vue @@ -2423,7 +2423,7 @@ - - + @@ -3514,7 +3514,7 @@ @@ -6075,7 +6075,7 @@ export default { return this.config.permission === 'waybill_manage' && !this.isRoadTransport; }, transportVehicleNoLabel() { - return this.isRoadTransport ? '车牌号' : '船/航/班列号'; + return this.isRoadTransport ? '车牌号' : '船班号/船次号/班次号'; }, transportPlanImportDuplicateCount() { return this.transportPlanImportRows.filter(row => row._duplicate).length; @@ -7121,7 +7121,7 @@ export default { return String(row.carrierTypeName || row.carrierType || '').trim() === '承运商'; }, waybillVehicleNoLabel(row = {}) { - return this.waybillIsRoadTransport(row) ? '车牌号' : '船/航/班列号'; + return this.waybillIsRoadTransport(row) ? '车牌号' : '船班号/船次号/班次号'; }, waybillUnitPrice(row = {}) { const price = row.unitPrice || row.price || ''; @@ -9491,7 +9491,7 @@ export default { } } else { const invalidLengthField = [ - ['vehicleNo', '船/航/班列号', 30], + ['vehicleNo', '船班号/船次号/班次号', 30], ['captainName', '船长', 20], ['cabinNo', '舱位', 30], ['containerNo', '箱号', 30], @@ -13278,7 +13278,7 @@ export default { [ 'vehicleNo', ['water', 'rail', 'air'].includes(this.resolveTransportMode(row.transportType)) - ? '船/航/班列号' + ? '船班号/船次号/班次号' : '车牌号', ], ]; @@ -13358,7 +13358,7 @@ export default { ['escortPhone', '押运人手机号', 20], ] : [ - ['vehicleNo', '船/航/班列号', 30], + ['vehicleNo', '船班号/船次号/班次号', 30], ['captainName', '船长', 20], ['cabinNo', '舱位', 30], ['containerNo', '箱号', 30], diff --git a/src/views/business/components/master-order-dispatch.vue b/src/views/business/components/master-order-dispatch.vue index 46a18a9..c5efbd2 100644 --- a/src/views/business/components/master-order-dispatch.vue +++ b/src/views/business/components/master-order-dispatch.vue @@ -248,7 +248,7 @@ - + @@ -1401,7 +1401,7 @@ @@ -8123,7 +8123,7 @@ export default { [ 'vehicleNo', ['water', 'rail', 'air'].includes(this.resolveTransportMode(row.transportType)) - ? '船/航/班列号' + ? '船班号/船次号/班次号' : '车牌号', ], ]; @@ -8204,7 +8204,7 @@ export default { ['escortPhone', '押运人手机号', 20], ] : [ - ['vehicleNo', '船/航/班列号', 30], + ['vehicleNo', '船班号/船次号/班次号', 30], ['captainName', '船长', 20], ['cabinNo', '舱位', 30], ['containerNo', '箱号', 30], diff --git a/src/views/business/components/voucher-execution-detail.vue b/src/views/business/components/voucher-execution-detail.vue new file mode 100644 index 0000000..0de4939 --- /dev/null +++ b/src/views/business/components/voucher-execution-detail.vue @@ -0,0 +1,274 @@ + + + + + diff --git a/src/views/business/components/waybill-import-dialog.vue b/src/views/business/components/waybill-import-dialog.vue index 2e6adcc..2bc027e 100644 --- a/src/views/business/components/waybill-import-dialog.vue +++ b/src/views/business/components/waybill-import-dialog.vue @@ -202,7 +202,7 @@ - + + - + +
项目信息
@@ -444,16 +447,21 @@ +
导入运单明细
+

+ 请先选择项目、客户合同和承运信息,再导入运单明细 +

添加附件导入请上传运单明细表,仅支持 excel 格式;日期支持 2026-08-02、2026-8-2、2026/8/2 等写法下载模板 @@ -479,6 +487,7 @@ :data="previewRows" border max-height="440" + :row-class-name="({ row }) => (row._duplicate ? 'is-duplicate-row' : '')" @selection-change="rowSelection = $event" >{{ formatCell(row, column) }}{{ formatCell(row, column) }} @@ -586,7 +600,7 @@