From 42c883fe7d95807386cf6d6502d9f9af8dc4179d Mon Sep 17 00:00:00 2001 From: duxingchen Date: Thu, 17 Sep 2026 17:06:00 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E7=A7=BB=E5=8A=A8=E7=AB=AF=E7=9B=B4?= =?UTF-8?q?=E6=8E=A5=E5=AE=8C=E7=BB=93=E5=85=A5=E5=8F=A3=E3=80=81=E6=9D=83?= =?UTF-8?q?=E9=99=90=E4=B8=8E=E6=B4=BE=E5=8F=91=E8=A7=A3=E7=BB=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 【直接完结入口(双重门槛)】 - 转交弹窗新增「🏁 直接完结」选项,与「入库」互斥 - 角色门槛:仅超管 / 主管可见可操作(与后端 ADMIN_ROLES 对齐,两个角色都判 —— 本文件既有的 canEditOverallStatus 只判了 SUPER_ADMIN 漏了 SUPERVISOR) - 场景门槛:新增 showFinishDirect,要求产品确实是「已出库」。普通生产设备若被 直接完结,既无下游任务、又不在仓库池,会变成卡在工人名下的孤儿数据 - transferMode 的 direct 分支同步校验双门槛,防残留选中态把 finish_directly 发出去 【修复售后"鸡生蛋"死锁】 - 已出库设备的下拉工序改走售后词表:taskOptionsFor 增加 overall_status 入参, 已出库与 AFTER_SALES 同等待遇。此前只认 lifecycle_phase,而上一轮已禁止后端 因"正常已出库做质检"翻转该阶段 → 工人选不到工序 → 进不了售后 → 更选不到 【派发入口与仓库位置解绑】 - 原条件硬性要求 current_location_id === 'virtual_warehouse',直接完结后的设备 位置停在最后经手人名下,派发入口彻底消失,产品再也无法流转 - 新增豁免:产品空闲(无活跃主线任务)+ 超管/主管即可派发;新增 hasActiveMainTask 只算主干,协助分支(SPAWN)不阻塞派发 - 文案与图标按场景动态化(在仓库 / 任务已完结) 【顺带修复】 - isWarehouseTransfer 死标志位:openWarehouseTransfer 先置 true,紧接着调用的 openCreateFirstTask 又立刻重置为 false,导致弹窗标题永远显示「发起首道工序」, 仓库转出文案从未生效。改为在 openCreateFirstTask 内按产品实际位置推导 --- track-uniapp/src/pages/scan/detail.vue | 95 +++++++++++++++++++++++--- track-uniapp/src/utils/lifecycle.js | 27 +++++++- 2 files changed, 109 insertions(+), 13 deletions(-) diff --git a/track-uniapp/src/pages/scan/detail.vue b/track-uniapp/src/pages/scan/detail.vue index 94e160a..e8a2e07 100644 --- a/track-uniapp/src/pages/scan/detail.vue +++ b/track-uniapp/src/pages/scan/detail.vue @@ -38,10 +38,10 @@ - - 📤 - 该产品在仓库中 — 点击此处转出并派发给指定人员 + + {{ dispatchBannerIcon }} + {{ dispatchBannerText }} @@ -156,8 +156,10 @@ 📦 入库 (virtual_warehouse) - 🏁 直接完结 (不入库) - 🏁 直接完结:结束本任务且不创建下游任务,产品状态保持原样(不进入「待仓库收货」)。用于售后返厂直接发走、半成品被直接提走等无需入库的场景 + 交接备注 *