From 4d4b1e218991ca64d7c6d098038638243c93d752 Mon Sep 17 00:00:00 2001 From: Your Name Date: Thu, 29 Jan 2026 11:32:36 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=AE=8C=E5=96=84=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E6=8E=92=E9=98=9F=E7=8A=B6=E6=80=81=E6=98=BE=E7=A4=BA=E5=92=8C?= =?UTF-8?q?=E6=8A=A2=E5=8D=95=E6=8C=89=E9=92=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 修改getStatusText函数显示排队中状态 - 修改canGrabTask函数检查canGrab和unlockStatus - 抢单按钮显示排队位置信息 --- frontend/src/views/TaskHall.vue | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/frontend/src/views/TaskHall.vue b/frontend/src/views/TaskHall.vue index 44b0f07..d2d8a42 100644 --- a/frontend/src/views/TaskHall.vue +++ b/frontend/src/views/TaskHall.vue @@ -292,7 +292,7 @@ :title="canGrabTask(task).canGrab ? '点击抢单' : canGrabTask(task).reason" @click.stop="handleGrab(task)" > - {{ canGrabTask(task).canGrab ? '抢单' : '不可接单' }} + {{ canGrabTask(task).canGrab ? '抢单' : (task.unlockStatus === 'queuing' ? `排队中(第${task.queuePosition || 0}位)` : '不可接单') }} @@ -3221,8 +3221,13 @@ const getProcessStage = (task: TaskOrSubTask): string => { return '开始设计中' } - // 4. 任务被接单前:任务正在被抢单中 + // 4. 任务被接单前:根据排队状态显示 if (task.status === 'pending' && !task.receiverId) { + // 检查排队状态 + if (task.unlockStatus === 'queuing') { + const position = task.queuePosition + return position ? `排队中(第${position}位)` : '排队中' + } return '任务正在被抢单中' } @@ -5859,6 +5864,12 @@ const canGrabTask = (task: TaskOrSubTask) => { } } + // 检查5:验证任务是否在排队中(排队中的任务不能抢单) + if (task.canGrab === false && task.unlockStatus === 'queuing') { + const position = task.queuePosition || 0 + return { canGrab: false, reason: `任务排队中,当前位置:第${position}位` } + } + return { canGrab: true, reason: '' } }