From 94b8b8b31ca3c4549a30750851fabfb4c3822384 Mon Sep 17 00:00:00 2001 From: ouyangxq <775153912@qq.com> Date: Sat, 3 Oct 2026 06:27:30 +0800 Subject: [PATCH] fix(fleet): fit booking action column to trip stage --- src/modules/overseas-master-data/PROTOTYPE_MATRIX.md | 2 +- .../overseas-master-data/components/TripBookingPanel.vue | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/modules/overseas-master-data/PROTOTYPE_MATRIX.md b/src/modules/overseas-master-data/PROTOTYPE_MATRIX.md index 0e83b6f8..ba7ad62e 100644 --- a/src/modules/overseas-master-data/PROTOTYPE_MATRIX.md +++ b/src/modules/overseas-master-data/PROTOTYPE_MATRIX.md @@ -69,7 +69,7 @@ | 创建、编辑计划 | 出车记录新增/编辑为 `modal-vehicle-trip`;新计划语义另见业务确认 | 居中计划弹框,路线表格整行 | 已按确认方案接入计划弹框;不将原型手填统计值当作计划字段 | | 分配车辆司机、关联/解除排车 | 新业务规则,无原型对应操作 | 详情页内分区 | 已按用户确认接入首版;真实页面验收待执行 | | 调度/理货审核 | 原型有详情、通过及打回;已确认调度先于拣货、理货先于发车 | 关联排车行独立审核,实际装载分区整车理货审核,打回居中填写原因 | 首版已接入独立权限和服务端审核状态;真实页面验收待执行 | -| 外接询价、详情与承运占位 | 用户确认运营后台登记外接业务;首版不扩展客户在线撮合 | 车次详情外接页签、1080px居中三列表单,详情只读、确认/取消居中确认 | 已接登记/编辑/确认/取消、独立权限及已确认预订余位;已接真实来货登记、实收复核和排车关联;真实页面仍待验收 | +| 外接询价、详情与承运占位 | 用户确认运营后台登记外接业务;首版不扩展客户在线撮合 | 车次详情外接页签、1080px居中三列表单,详情只读、确认/取消居中确认;操作列随计划/执行阶段使用320/170px,保留原行操作 | 已接登记/编辑/确认/取消、独立权限及已确认预订余位;已接真实来货登记、实收复核和排车关联。2026-10-03截图`fleet-external-booking-1920.png`及DOM复现旧440px操作列使1640px详情容器内表格宽1720px;本次仅收窄闲置列宽,部署后的1920×1080复验仍待完成 | | 计划容量与剩余运力 | 本轮外接剩余运力方案,原型无完整占位工作台 | 车次详情独立页签,复用托盘核对表,显示预计值和每段剩余托位/kg/m³ | 源码已接计划容量;已扣除确认承运的外接占位;不把预订当实物装载 | | 实际装载确认 | 新业务规则,无原型对应操作 | 详情页内实物托盘表及确认区 | 已按用户确认接入首版;真实页面验收待执行 | | 货物结案、结束车辆/司机任务 | 新业务规则,无原型对应操作 | 详情页展示服务端检查结果,提交前居中确认 | 已接独立命令和确认;结案与资源释放独立 | diff --git a/src/modules/overseas-master-data/components/TripBookingPanel.vue b/src/modules/overseas-master-data/components/TripBookingPanel.vue index b34fad24..9cd91c52 100644 --- a/src/modules/overseas-master-data/components/TripBookingPanel.vue +++ b/src/modules/overseas-master-data/components/TripBookingPanel.vue @@ -29,8 +29,8 @@ let generation = 0, searchSequence = 0 let searchTimer: ReturnType | undefined const planned = computed(() => props.trip.status === 'PLANNED') const quotedAmount = computed(() => form.unitPrice == null ? null : form.priceBasis === 'ORDER' ? form.unitPrice : form.palletSpaces == null ? null : Math.round(form.unitPrice * form.palletSpaces * 100) / 100) -const columns: DataTableColumn[] = [ - { key: 'actions', label: '操作', slotName: 'actions', width: 440, fixed: 'left' }, +const columns = computed(() => [ + { key: 'actions', label: '操作', slotName: 'actions', width: planned.value ? 320 : 170, fixed: 'left' }, { key: 'bookingNo', prop: 'bookingNo', label: '外接预订号', minWidth: 225 }, { key: 'customerName', prop: 'customerName', label: '委托客户', minWidth: 170 }, { key: 'destinationLabel', prop: 'destinationLabel', label: '卸货站', minWidth: 140 }, @@ -38,7 +38,7 @@ const columns: DataTableColumn[] = [ { key: 'cargo', label: '承运货量', slotName: 'cargo', minWidth: 225 }, { key: 'amount', label: '约定运费', slotName: 'amount', minWidth: 160 }, { key: 'documents', label: '来货 / 排车', slotName: 'documents', minWidth: 230 }, -] +]) async function load() { const current = ++generation; loading.value = true; error.value = null try { const value = await listTripBookings(props.trip.tripNo); if (current === generation) { records.value = value.records; version.value = value.tripRecordVersion