From 521cbe9d38ddfb3c3a5d84da29c069923adcc1da Mon Sep 17 00:00:00 2001 From: yml2213 Date: Sat, 15 Aug 2026 16:04:36 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E8=AE=A2=E5=8D=95=E7=8A=B6?= =?UTF-8?q?=E6=80=81=E9=A2=9C=E8=89=B2=E5=B1=95=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pages/admin/panels/WorkOrdersPanel.tsx | 23 ++++++++++++------- .../src/pages/admin/panels/shared.tsx | 17 +++++++++----- 2 files changed, 26 insertions(+), 14 deletions(-) diff --git a/apps/frontend/src/pages/admin/panels/WorkOrdersPanel.tsx b/apps/frontend/src/pages/admin/panels/WorkOrdersPanel.tsx index 0860dc3c..6d45344b 100644 --- a/apps/frontend/src/pages/admin/panels/WorkOrdersPanel.tsx +++ b/apps/frontend/src/pages/admin/panels/WorkOrdersPanel.tsx @@ -115,6 +115,17 @@ import { type DetailFieldItem, } from './shared' +const FILTERABLE_WORK_ORDER_STATUSES = [ + 'pending_material', + 'unassigned', + 'open', + 'in_progress', + 'pending_acceptance', + 'problem', + 'accepted', + 'cancelled', +] as const + export default function WorkOrdersPanel() { const { message, modal } = App.useApp() const navigate = useNavigate() @@ -826,14 +837,10 @@ export default function WorkOrdersPanel() { style={{ width: 150 }} options={[ { value: '', label: '全部状态' }, - { value: 'pending_material', label: '待完善' }, - { value: 'unassigned', label: '未分配' }, - { value: 'open', label: '待抢单' }, - { value: 'in_progress', label: '代练中' }, - { value: 'pending_acceptance', label: '待验收' }, - { value: 'problem', label: '问题单' }, - { value: 'accepted', label: '已验收' }, - { value: 'cancelled', label: '已取消' }, + ...FILTERABLE_WORK_ORDER_STATUSES.map((item) => ({ + value: item, + label: {formatStatus(item)}, + })), ]} onChange={(nextStatus) => { setStatus(nextStatus) diff --git a/apps/frontend/src/pages/admin/panels/shared.tsx b/apps/frontend/src/pages/admin/panels/shared.tsx index d07a10c3..4c53c21e 100644 --- a/apps/frontend/src/pages/admin/panels/shared.tsx +++ b/apps/frontend/src/pages/admin/panels/shared.tsx @@ -226,11 +226,17 @@ export function formatStatus(status: string) { } export function resolveStatusColor(status: string) { - if (status === 'accepted') return 'green' - if (status === 'problem') return 'red' - if (status === 'pending_acceptance') return 'gold' - if (status === 'open') return 'blue' - return 'default' + const colors: Record = { + pending_material: 'orange', + unassigned: 'cyan', + open: 'blue', + in_progress: 'geekblue', + pending_acceptance: 'purple', + problem: 'red', + accepted: 'green', + cancelled: 'default', + } + return colors[status] || 'default' } export function formatWorkerStatus(status: string) { @@ -259,4 +265,3 @@ export function resolveSharingShareStatusColor(status: string) { if (status === 'cancelled') return 'default' return 'purple' } -