From e6bb5e6dc6dd102adaf4b8a1c42f5f178cc26bc8 Mon Sep 17 00:00:00 2001 From: Codex Date: Tue, 30 Jun 2026 17:48:29 +0800 Subject: [PATCH] =?UTF-8?q?feat(M08-B):=20=E8=A1=A5=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E8=AF=A6=E6=83=85=E7=85=A7=E7=89=87=E9=A2=84=E8=A7=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 4 +- admin/src/components/CleaningTasksPanel.vue | 56 +++++++++++++++++++++ admin/src/styles.css | 29 ++++++++++- docs/devlogs/2026-06-25-M08-B-保洁端.md | 13 ++++- docs/feature-status.md | 4 +- docs/module-status.md | 6 +-- scripts/check-admin-m08-b.mjs | 4 ++ 7 files changed, 105 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index 9a497f6..7669e5d 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ ## 目录 - `backend/`:Fastify + TypeScript 后端 API;若实际后端位于仓库根目录,以 `docs/repository-map.md` 为准 -- `admin/`:Vue3 后台管理端,已接入 M08-B 保洁运营工作台、协作者管理、结算详情、统计明细、每日趋势、保洁员资料管理、微信绑定状态、保洁员选择器和任务/结算筛选,必须适配桌面、平板和手机 +- `admin/`:Vue3 后台管理端,已接入 M08-B 保洁运营工作台、协作者管理、任务详情照片预览、结算详情、统计明细、每日趋势、保洁员资料管理、微信绑定状态、保洁员选择器和任务/结算筛选,必须适配桌面、平板和手机 - `miniapp/`:微信原生小程序 - `database/`:迁移、种子和兼容 SQL - `deploy/`:Nginx、PM2、EMQX 模板与部署版本 @@ -121,7 +121,7 @@ WSL 已验证:EMQX `5.8.9`、MQTTX CLI `1.13.0`、EMQX 服务 `active (running 项目已开发部分模块。具体完成度不得从 README 猜测,必须以现有代码、测试、数据库迁移、Git 历史以及 `docs/current-baseline.md`、`docs/module-status.md`、`docs/feature-status.md` 为准。 - 当前执行游标:`M08-B`(PARTIAL) -- 最近工程提交:`M08-B任务结算筛选增量`,本轮补齐任务/结算列表的门店和保洁员筛选。 +- 最近工程提交:`M08-B任务详情照片预览增量`,本轮补齐后台保洁任务详情、时间线和照片预览。 - 下一工程目标:继续 M08-B,补更完整保洁运营管理界面。 ## 版本递进 diff --git a/admin/src/components/CleaningTasksPanel.vue b/admin/src/components/CleaningTasksPanel.vue index 386756f..647395c 100644 --- a/admin/src/components/CleaningTasksPanel.vue +++ b/admin/src/components/CleaningTasksPanel.vue @@ -90,6 +90,7 @@ + + +
+
+ 任务号{{ detailDialog.task.taskNo }} + 状态{{ detailDialog.task.status }} + 奖励{{ money(detailDialog.task.rewardCents) }} + 保洁员{{ compactText(detailDialog.task.cleanerUserId) }} +
+ + + {{ detailDialog.task.storeName }} · {{ detailDialog.task.roomName || detailDialog.task.roomNo }} + + + {{ compactText(detailDialog.task.orderNo) }} + + + {{ compactText(detailDialog.task.requirement) }} + + + {{ compactText(detailDialog.task.rejectReason) }} + + +
+ 领取{{ shortDate(detailDialog.task.claimedAt) }} + 开始{{ shortDate(detailDialog.task.startedAt) }} + 提交{{ shortDate(detailDialog.task.submittedAt) }} + 完成{{ shortDate(detailDialog.task.completedAt) }} +
+
+ +
+ +
+ +