diff --git a/backend/app/services/dashboard_service.py b/backend/app/services/dashboard_service.py index 9159a2d..49832bd 100644 --- a/backend/app/services/dashboard_service.py +++ b/backend/app/services/dashboard_service.py @@ -162,11 +162,11 @@ async def get_dashboard_stats( from app.models.message import ProductMessage # ── 产品(实时快照,不过滤) ── # 状态口径(用户确认):废弃 Product.status 恒值判断, - # COMPLETED=待仓库收货,ARCHIVED=已入库('在库' 旧命名等价)。 - # 产品流转卡片第三段"已入库"= 全部完结(待收货 + 已实收 + 旧在库),保证三段和 = 总数。 + # COMPLETED=待仓库收货,ARCHIVED=已入库('在库' 旧命名等价),OUTBOUND=已出库。 + # 产品流转卡片第三段"已完结"= 待收货 + 已实收 + 旧在库 + 已出库,保证三段和 = 总数。 p_total = await db.scalar(select(func.count(Product.id))) - finished_cond = Product.overall_status.in_(["待仓库收货", "已入库", "在库"]) + finished_cond = Product.overall_status.in_(["待仓库收货", "已入库", "在库", "已出库"]) p_done = await db.scalar(select(func.count(Product.id)).where(finished_cond)) # 在制 WIP = 未完结 且 存在活跃任务(PENDING/WIP) 的产品数 @@ -685,13 +685,16 @@ async def get_wip_matrix( continue if dimension == "task_name": - # 🔧 在仓库的设备按"已完成/已入库"区分: + # 🔧 在仓库的设备按"已入库/已出库/待仓库收货"区分: # 已入库 = MOM 已扫码实收 (overall_status=='已入库'/'在库' 或 status=='ARCHIVED') + # 已出库 = MOM 已发货出库 (overall_status=='已出库' 或 status=='OUTBOUND') # 待仓库收货 = 完工已转交仓库、MOM 尚未扫码实收 # 否则按最新主任务工序名(活跃/完成态都归该工序) if loc == "virtual_warehouse": if overall_status in ("已入库", "在库") or str(product_status).upper() == "ARCHIVED": key = "已入库" + elif overall_status == "已出库" or str(product_status).upper() == "OUTBOUND": + key = "已出库" else: key = "待仓库收货" else: diff --git a/frontend/src/pages/MyTasksPage.tsx b/frontend/src/pages/MyTasksPage.tsx index 59affbb..e2be184 100644 --- a/frontend/src/pages/MyTasksPage.tsx +++ b/frontend/src/pages/MyTasksPage.tsx @@ -16,6 +16,7 @@ const TABS = [ { key: "WIP", label: "进行中" }, { key: "COMPLETED", label: "已完成" }, { key: "ARCHIVED", label: "已入库" }, + { key: "OUTBOUND", label: "已出库" }, ] as const; type TabKey = (typeof TABS)[number]["key"]; diff --git a/track-uniapp/src/pages/scan/components/WorkspaceArea.vue b/track-uniapp/src/pages/scan/components/WorkspaceArea.vue index e13247a..fa0d0f5 100644 --- a/track-uniapp/src/pages/scan/components/WorkspaceArea.vue +++ b/track-uniapp/src/pages/scan/components/WorkspaceArea.vue @@ -106,7 +106,7 @@