From 966b804bfc8fa3bb006b1492a719a4c6d0d7444d Mon Sep 17 00:00:00 2001 From: yml2213 Date: Sun, 11 Oct 2026 15:39:10 +0800 Subject: [PATCH] =?UTF-8?q?feat(worker):=20=E4=BF=9D=E7=95=99=E8=B6=85?= =?UTF-8?q?=E6=97=B6=E8=AE=A2=E5=8D=95=E4=B9=B0=E5=AE=B6=E8=B5=84=E6=96=99?= =?UTF-8?q?=E4=B8=8E=E5=BF=AB=E6=8D=B7=E5=A4=8D=E5=88=B6=E5=8A=9F=E8=83=BD?= =?UTF-8?q?=E4=BB=A5=E6=96=B9=E4=BE=BF=E6=89=93=E6=89=8B=E6=A0=B8=E5=AF=B9?= =?UTF-8?q?=E8=BE=A8=E8=AE=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 调整目的:打手在订单超时退回大厅或被抢后,需要核对游戏内对应的好友与账号以分辨是哪一单,避免误认; - 列表与抽屉展示:在桌面端表格、移动端卡片及详情抽屉中,恢复买家资料与主页截图展示,保留「复制信息」「复制图片」按钮,并补充「已超时,仅供核对辨认」轻量警示; - 履约隔离:依然严格禁用一切提交验收、修改截图与申请取消等履约操作; - 验证方式:通过前端 prettier、eslint、tsc、vitest、vite build 与后端全部 676 个测试。 --- .../pages/worker/WorkerOrderDetailDrawer.tsx | 30 +++++++++---------- .../pages/worker/WorkerOrderMobileList.tsx | 23 +++++--------- .../pages/worker/WorkerOrderTableColumns.tsx | 18 ++++------- 3 files changed, 29 insertions(+), 42 deletions(-) diff --git a/apps/frontend/src/pages/worker/WorkerOrderDetailDrawer.tsx b/apps/frontend/src/pages/worker/WorkerOrderDetailDrawer.tsx index 4c3b5a26..ebab51c9 100644 --- a/apps/frontend/src/pages/worker/WorkerOrderDetailDrawer.tsx +++ b/apps/frontend/src/pages/worker/WorkerOrderDetailDrawer.tsx @@ -171,23 +171,23 @@ export function WorkerOrderDetailDrawer({ + {renderDetailFieldValues(getMaterialDetailItems(order), '当前还没有资料内容')} + {getMaterialScreenshots(order).length > 0 ? ( +
+ 买家主页截图 +
+ +
+
+ ) : null} {isTimedOut ? ( - - 工单已超时退回大厅,游戏资料已锁定。严禁在游戏内向买家赠送或履约! + + 提示:该订单已超时退回大厅,保留资料仅供核对分辨,请勿在游戏内继续赠送。 - ) : ( - <> - {renderDetailFieldValues(getMaterialDetailItems(order), '当前还没有资料内容')} - {getMaterialScreenshots(order).length > 0 ? ( -
- 买家主页截图 -
- -
-
- ) : null} - - )} + ) : null}
{isFriendGiftOrder(order) && order.gift && !isTimedOut ? ( diff --git a/apps/frontend/src/pages/worker/WorkerOrderMobileList.tsx b/apps/frontend/src/pages/worker/WorkerOrderMobileList.tsx index fd38263f..2327befc 100644 --- a/apps/frontend/src/pages/worker/WorkerOrderMobileList.tsx +++ b/apps/frontend/src/pages/worker/WorkerOrderMobileList.tsx @@ -340,21 +340,7 @@ function WorkerOrderMobileCard({ {order.problemNote} ) : null} - {order.status === 'open' || order.timeoutNotice?.isTimedOut ? ( -
- 工单已超时退回大厅,资料已锁定,禁止继续向该买家履约。 -
- ) : items.length > 0 || screenshots.length > 0 ? ( + {items.length > 0 || screenshots.length > 0 ? (
{items.length > 0 ? (
@@ -390,6 +376,13 @@ function WorkerOrderMobileCard({ 复制图片 ) : null} + {order.status === 'open' || order.timeoutNotice?.isTimedOut ? ( + + ⚠️ 已超时核对 + + ) : null}
) : null} diff --git a/apps/frontend/src/pages/worker/WorkerOrderTableColumns.tsx b/apps/frontend/src/pages/worker/WorkerOrderTableColumns.tsx index a5d91b2a..e1e84592 100644 --- a/apps/frontend/src/pages/worker/WorkerOrderTableColumns.tsx +++ b/apps/frontend/src/pages/worker/WorkerOrderTableColumns.tsx @@ -182,20 +182,9 @@ export function buildWorkerOrderTableColumns({ title: '快捷复制', width: 250, render: (_, row) => { - if (row.status === 'open' || row.timeoutNotice?.isTimedOut) { - return ( -
- - 工单已超时退回大厅 - - - 已锁定资料,禁止继续履约 - -
- ) - } const items = getMaterialDetailItems(row).filter((item) => String(item.value || '').trim()) const screenshots = getMaterialScreenshots(row) + const isTimedOut = row.status === 'open' || Boolean(row.timeoutNotice?.isTimedOut) return (
{items.length > 0 ? ( @@ -233,6 +222,11 @@ export function buildWorkerOrderTableColumns({ ) : null} + {isTimedOut ? ( + + ⚠️ 已超时,仅供核对辨认 + + ) : null}
) },