docs(M08-B): 回填现场记录与M08-C游标

This commit is contained in:
Codex
2026-08-10 09:48:55 +08:00
parent 90e230c153
commit 1160f16e8d
5 changed files with 28 additions and 15 deletions
+3 -3
View File
@@ -120,9 +120,9 @@ 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` 为准。 项目已开发部分模块。具体完成度不得从 README 猜测,必须以现有代码、测试、数据库迁移、Git 历史以及 `docs/current-baseline.md``docs/module-status.md``docs/feature-status.md` 为准。
- 当前执行游标:`M08-B`PARTIAL - 当前执行游标:`M08-C`DOING);`M08-B` 的可独立工程内容已完成,真实商户、微信和硬件现场验收保持 `BLOCKED_EXTERNAL`
- 最近工程提交:`96c5fa4` / `M08-B联调筛选清除增量`,本轮补齐现场联调分类、状态、负责人和关键字筛选的一键清除,不会重置已填写的联调草稿 - 最近工程提交:`90e230c` / `M08-B现场执行记录追溯`,联调检查项可追加多次执行结果,历史随搜索、快照、报告、CSV 和归档包保留
- 下一工程目标:继续 M08-B,补更完整保洁运营管理界面和真实商户现场执行记录 - 下一工程目标:继续 M08-C,完成管理员/员工小程序的门店概况、房态与订单管理首段闭环
## 版本递进 ## 版本递进
+2 -2
View File
@@ -2,7 +2,7 @@
> V5.0 首次核验日期:2026-06-16 > V5.0 首次核验日期:2026-06-16
> audited_commit: `4ae9296` > audited_commit: `4ae9296`
> next_engineering_target: 继续 M08-B 更完整保洁运营管理界面 > next_engineering_target: 继续 M08-C 管理员/员工小程序门店概况、房态与订单管理
> 事实源:当前工作区、Git 历史、状态文档、Windows/WSL 检查脚本。 > 事实源:当前工作区、Git 历史、状态文档、Windows/WSL 检查脚本。
## 总体结论 ## 总体结论
@@ -12,7 +12,7 @@
| 总纲版本 | V5.4 已成为当前权威总纲,旧版已保留为历史备份 | 根目录存在 `V5.4.md` 及旧版总纲 | 可继续按 V5.4 的执行游标开发 | | 总纲版本 | V5.4 已成为当前权威总纲,旧版已保留为历史备份 | 根目录存在 `V5.4.md` 及旧版总纲 | 可继续按 V5.4 的执行游标开发 |
| Git 远端 | `origin=ssh://git@git.txyundm.cn:2222/panda/qipai.git`,分支 `main` | `git rev-list main...origin/main``0 0` | 本地与远端同步 | | Git 远端 | `origin=ssh://git@git.txyundm.cn:2222/panda/qipai.git`,分支 `main` | `git rev-list main...origin/main``0 0` | 本地与远端同步 |
| 正式后端 | 已完成 Fastify、迁移兼容、outbox/worker、多应用租户、微信身份/会话,以及六角色 RBAC 和门店范围 | `backend/src/auth/**``database/migrations/2026061805_m02c_rbac.*.sql``backend/tests/**` | M01、M02-A/B/C DONEMySQL 已验证 capability 和跨租户门店授权拒绝;下一阶段 M02-D | | 正式后端 | 已完成 Fastify、迁移兼容、outbox/worker、多应用租户、微信身份/会话,以及六角色 RBAC 和门店范围 | `backend/src/auth/**``database/migrations/2026061805_m02c_rbac.*.sql``backend/tests/**` | M01、M02-A/B/C DONEMySQL 已验证 capability 和跨租户门店授权拒绝;下一阶段 M02-D |
| 后台管理端 | 已建立 Vue3 + Vite + TypeScript + Element Plus 工程,并接入 M08-B 保洁任务、免清洁标记、批量免清洁、免清洁统计展示、协作者管理、结算详情、统计明细、每日趋势、保洁员资料管理、手机号维护、微信绑定状态、微信转账预检界面现场联调检查项搜索、筛选结果导出和筛选清除 | `admin/src/App.vue``admin/src/components/CleaningTasksPanel.vue``admin/src/components/CleaningSettlementsPanel.vue``admin/src/components/CleaningStatisticsPanel.vue``admin/src/components/CleanersPanel.vue``admin/src/components/CleaningFieldHandoffPanel.vue``scripts/check-admin-m08-b.mjs` | M08-B 后台起点已具备,可维护任务成员、单条或批量标记任务免清洁、查看免清洁汇总/门店/趋势统计、查看结算详情、统计明细、每日趋势、管理保洁员资料完整度、检索现场联调检查项、导出或清除当前筛选联调结果和查看结算微信转账前置条件;M09 完整后台仍未开始,不能标记 DONE | | 后台管理端 | 已建立 Vue3 + Vite + TypeScript + Element Plus 工程,并接入 M08-B 保洁任务、免清洁标记、批量免清洁、免清洁统计展示、协作者管理、结算详情、统计明细、每日趋势、保洁员资料管理、手机号维护、微信绑定状态、微信转账预检界面现场联调执行记录追溯 | `admin/src/App.vue``admin/src/components/CleaningTasksPanel.vue``admin/src/components/CleaningSettlementsPanel.vue``admin/src/components/CleaningStatisticsPanel.vue``admin/src/components/CleanersPanel.vue``admin/src/components/CleaningFieldHandoffPanel.vue``scripts/check-admin-m08-b.mjs` | M08-B 可独立工程内容已完成;联调检查项支持多次执行历史、搜索、快照、报告、CSV 和归档,真实商户/微信/硬件现场验收保持外部阻塞;执行游标进入 M08-C |
| 微信小程序 | 已纳管微信原生模板,并完成顾客端订单、充值、权益明细、下单抵扣主体链路和保洁任务端照片上传/补做主体链路 | `miniapp/pages/index``miniapp/pages/store/detail``miniapp/pages/room/detail``miniapp/pages/orders/*``miniapp/pages/recharge/*``miniapp/pages/profile/*``miniapp/pages/cleaner/*``miniapp/utils/api.js``scripts/check-miniapp-m08-a.mjs` | M08 PARTIALM08-A 顾客端工程闭环按外部阻塞旁路,M08-B 已支持保洁任务大厅、我的任务、接单、开始、照片上传、提交验收、驳回补做、订单结束自动建任务、统计、管理侧查询/指派/验收/驳回/免清洁、超时回收、协作者查看/添加/移除、待结算候选、正式结算单生成/确认、发放记录、微信转账预检、主动同步、通知回调、后台协作者管理、结算详情、统计明细、每日趋势、保洁员资料管理、手机号维护和微信绑定状态,仍不能标记 DONE | | 微信小程序 | 已纳管微信原生模板,并完成顾客端订单、充值、权益明细、下单抵扣主体链路和保洁任务端照片上传/补做主体链路 | `miniapp/pages/index``miniapp/pages/store/detail``miniapp/pages/room/detail``miniapp/pages/orders/*``miniapp/pages/recharge/*``miniapp/pages/profile/*``miniapp/pages/cleaner/*``miniapp/utils/api.js``scripts/check-miniapp-m08-a.mjs` | M08 PARTIALM08-A 顾客端工程闭环按外部阻塞旁路,M08-B 已支持保洁任务大厅、我的任务、接单、开始、照片上传、提交验收、驳回补做、订单结束自动建任务、统计、管理侧查询/指派/验收/驳回/免清洁、超时回收、协作者查看/添加/移除、待结算候选、正式结算单生成/确认、发放记录、微信转账预检、主动同步、通知回调、后台协作者管理、结算详情、统计明细、每日趋势、保洁员资料管理、手机号维护和微信绑定状态,仍不能标记 DONE |
| 数据库迁移 | 已新增 M01-B 核心 schema up/down/verify SQL、最小脱敏 seed、旧库结构 fixture、迁移计划/执行 CLI、验证结果数量门禁和 MySQL 8 集成测试 | `database/migrations/2026061601_m01b_core_schema.*.sql``database/seeds/2026061601_m01b_minimal_seed.sql``database/fixtures/2026061801_m01b_legacy_schema.sql``backend/src/db/migration-runner.ts``backend/tests/mysql-migration-roundtrip.test.mjs` | M01-B DONEWSL MySQL 8.4.9 已验证 8 条旧库 fixture、11 条 up、3 条 verify、10 条 down,并验证租户隔离和旧金额整数分转换;不导入真实旧数据 | | 数据库迁移 | 已新增 M01-B 核心 schema up/down/verify SQL、最小脱敏 seed、旧库结构 fixture、迁移计划/执行 CLI、验证结果数量门禁和 MySQL 8 集成测试 | `database/migrations/2026061601_m01b_core_schema.*.sql``database/seeds/2026061601_m01b_minimal_seed.sql``database/fixtures/2026061801_m01b_legacy_schema.sql``backend/src/db/migration-runner.ts``backend/tests/mysql-migration-roundtrip.test.mjs` | M01-B DONEWSL MySQL 8.4.9 已验证 8 条旧库 fixture、11 条 up、3 条 verify、10 条 down,并验证租户隔离和旧金额整数分转换;不导入真实旧数据 |
| M00 部署脚本 | 已有菜单、状态、HTTPS、Certbot、EMQX、备份检查模板 | `setup.sh``scripts/setup/``deploy/` | PARTIAL,生产未执行 | | M00 部署脚本 | 已有菜单、状态、HTTPS、Certbot、EMQX、备份检查模板 | `setup.sh``scripts/setup/``deploy/` | PARTIAL,生产未执行 |
+15 -3
View File
@@ -623,14 +623,26 @@
- `scripts/check-admin-m08-b.mjs` 扩展检查 `FilterX``hasActiveFilters``clearHandoffFilters` 和按钮文案,避免后续筛选导出能力缺少无损返回全量视图的入口。 - `scripts/check-admin-m08-b.mjs` 扩展检查 `FilterX``hasActiveFilters``clearHandoffFilters` 和按钮文案,避免后续筛选导出能力缺少无损返回全量视图的入口。
- 验证:`npm run build``admin/`PASS`node scripts/check-admin-m08-b.mjs` PASS。 - 验证:`npm run build``admin/`PASS`node scripts/check-admin-m08-b.mjs` PASS。
## 2026-08-10 现场执行记录追溯增量
- `ENGINEERING_DELTA=YES`
- 现场联调检查项新增“执行记录”入口,可按时间、执行人、结果状态、执行结果和证据引用连续追加多次记录;最新记录自动同步检查项当前状态、负责人、结果摘要和证据。
- 执行历史使用独立本地存储,纳入关键字搜索;快照升级为 v2,并继续兼容导入 v1 快照。
- 收口门禁要求非“不适用”检查项至少有一条现场执行记录,避免只改最终状态而没有真实过程证据。
- 执行历史随筛选 CSV、交接报告和收口归档包导出,报告保留失败、重试和通过全过程。
- `scripts/check-admin-m08-b.mjs` 覆盖执行历史入口、持久化键、追加与归一化逻辑、v2 快照和响应式样式。
- 验证:`powershell -ExecutionPolicy Bypass -File scripts/dev/windows/test-all.ps1` 退出码 0;包含后端全量测试、后台生产构建、M08-B 静态验收、迁移计划、固定域名、敏感信息、状态文档和仓库完整性门禁。既有参考 xjar 大文件提示和 Element Plus chunk 警告保留。
- 数据库/API/部署影响:无。
- 工程提交:`90e230c`,已推送并验证 `HEAD == origin/main`
## 状态 ## 状态
M08-B 保持 `PARTIAL`。当前已完成保洁端任务大厅、我的任务、接单、开始、照片上传、提交验收、驳回补做、订单结束自动建保洁任务、统计、管理员任务查询、指派、验收、驳回、免清洁、批量验收、批量驳回、批量免清洁、超时回收、任务事件流水、任务流水导出、多人协作分账、任务成员导出、任务详情协作分账展示、任务详情导出、待结算候选与后台预览/导出、正式结算单生成、确认、结算详情导出、结算列表导出、任务列表导出、结算批量同步微信状态、结算转账状态筛选、微信确认参数展示与导出、微信转账预检资料展示与导出、真实微信转账前自动预检拦截、发放成功标记、发放失败记录、微信商家转账 API 适配、转账中间态落库、主动轮询同步、微信转账通知回调、微信转账预检、非生产 Mock 门禁、后台任务成员协作管理、任务详情照片预览、操作流水、结算单详情、统计明细、统计导出、保洁员绩效排行、保洁员端统计看板、任务免清洁标记、免清洁统计展示、保洁员资料管理界面、保洁员列表导出、保洁员待补资料导出、手机号维护、微信绑定状态、每日统计趋势、任务/结算/统计/候选门店和保洁员筛选、任务/协作者/结算/统计保洁员选择器、运营待处理快捷入口、运营待处理导出以及真实商户/微信/转账/硬件现场联调清单、联调检查项搜索、联调筛选结果导出与筛选清除、联调状态筛选、联调负责人筛选、联调负责人看板、联调执行阶段看板、联调期限记录、联调逾期清单、联调批量标记、联调阻断摘要复制、联调场次信息记录、联调 JSON 快照导入导出、联调分类进度、联调验收结论复制、联调更新时间、联调证据记录、待补证据清单、联调交接报告、联调风险清单导出、联调归档包导出、联调收口签署字段和联调收口门禁;真实商户现场执行和更完整的后台/小程序管理界面仍待继续。M08-A 的真机合法域名、真实微信支付和实物开门验证按外部条件阻塞保留,不阻断 M08-B 工程推进 M08-B 可独立工程内容已完成,并新增可追溯的多次现场执行历史;真实商户凭据、微信后台配置、生产小额转账和实物硬件结果仍缺外部条件,子阶段保持 `PARTIAL/BLOCKED_EXTERNAL`。按 V5.4 外部阻塞旁路规则,唯一执行游标进入 `M08-C` 管理员/员工端,不等待现场条件
## 提交 ## 提交
- 最近工程提交:`96c5fa4` / `M08-B联调筛选清除增量` - 最近工程提交:`90e230c` / `M08-B现场执行记录追溯`
- 上次远端校验:`3bee3c47b6935f382009a6da5c325f03414a9b03` - 上次远端校验:`90e230c153fce98c4c32fcae9f130074a89cc200`
+2 -1
View File
@@ -2,6 +2,8 @@
> 只能使用 TODO / DOING / PARTIAL / BLOCKED_INTERNAL / BLOCKED_EXTERNAL / DONE。 > 只能使用 TODO / DOING / PARTIAL / BLOCKED_INTERNAL / BLOCKED_EXTERNAL / DONE。
> 2026-08-10 M08-B 增量:工程提交 `90e230c` 为 `SYS-001`、`CLN-002`、`CLN-005` 补齐现场联调多次执行记录追溯;历史已纳入搜索、v2 快照(兼容 v1 导入)、CSV、交接报告与归档包。M08-B 可独立工程内容完成,真实商户/微信/硬件验收保持 `BLOCKED_EXTERNAL`,游标进入 M08-C。
| ID | 功能 | 模块子阶段 | 状态 | 最近提交 | 测试/验收证据 | 阻塞原因 | 下一步 | | ID | 功能 | 模块子阶段 | 状态 | 最近提交 | 测试/验收证据 | 阻塞原因 | 下一步 |
|---|---|---|---|---|---|---|---| |---|---|---|---|---|---|---|---|
| ENV-001 | 固定 Windows 工作区 | M00-A/M00-B | DONE | 远端 HEAD | 已确认 `D:\qipai`Git 根、main 分支、固定 origin 和 push 校验通过。 | - | 后续每模块继续复检。 | | ENV-001 | 固定 Windows 工作区 | M00-A/M00-B | DONE | 远端 HEAD | 已确认 `D:\qipai`Git 根、main 分支、固定 origin 和 push 校验通过。 | - | 后续每模块继续复检。 |
@@ -61,4 +63,3 @@
+6 -6
View File
@@ -3,15 +3,15 @@
```yaml ```yaml
execution_cursor: execution_cursor:
current_module: M08 current_module: M08
current_stage: M08-B current_stage: M08-C
stage_status: PARTIAL stage_status: DOING
last_completed_stage: M07-D last_completed_stage: M07-D
next_stage: M08-B next_stage: M08-C
last_engineering_commit: `96c5fa4` last_engineering_commit: `90e230c`
last_push_verified: true last_push_verified: true
base_branch: main base_branch: main
blocked_reason: "M08-A 真机合法域名、真实微信支付和实物开门验证缺微信后台/商户/硬件现场条件;M08-B 已完成照片上传、驳回补做、订单结束自动建保洁任务、管理员查询/指派/验收/驳回/免清洁、批量验收、批量驳回、批量免清洁、超时回收、任务事件流水、任务流水导出、任务成员导出、待结算候选与后台预览/导出、正式结算单生成/确认、多保洁员协作分账策略、任务详情协作分账展示、任务列表导出、任务详情导出、结算详情导出、结算列表导出、结算批量同步微信状态、结算转账状态筛选、微信确认参数展示与导出、发放成功标记、发放失败记录、微信商家转账 API 适配、转账中间态落库、主动轮询同步、微信转账通知回调、微信转账预检、微信转账预检资料展示与导出、真实微信转账前自动预检拦截、非生产 Mock 门禁、后台任务成员协作管理、任务详情照片预览、操作流水、结算单详情、统计明细、统计导出、每日统计趋势、保洁员绩效排行、保洁员端统计看板、任务免清洁标记、免清洁统计展示、保洁员资料管理界面、保洁员列表导出、保洁员待补资料导出、手机号维护、微信绑定状态展示、任务/协作者/结算/统计保洁员选择器、任务/结算/统计/候选门店和保洁员筛选、运营待处理快捷入口、运营待处理导出以及真实商户/微信/转账/硬件现场联调清单、联调检查项搜索、联调筛选结果导出与筛选清除、联调状态筛选、联调负责人筛选、联调负责人看板、联调执行阶段看板、联调期限记录、联调逾期清单、联调批量标记、联调阻断摘要复制、联调场次信息记录、联调 JSON 快照导入导出、联调分类进度、联调验收结论复制、联调更新时间、联调证据记录、待补证据清单、联调交接报告、联调风险清单导出、联调归档包导出、联调收口签署字段和联调收口门禁,仍需继续补真实商户现场执行和更完整的管理界面。M06-G 真实硬件联调仍缺生产 MQTT 账号/ACL、DeviceID、控制箱、门锁、插座和现场配线。" blocked_reason: "M08-A 真机合法域名、真实微信支付和实物开门验证缺微信后台/商户/硬件现场条件;M08-B 可独立工程内容已完成并补齐多次现场执行记录追溯,真实商户凭据、微信后台配置、生产小额转账和实物硬件结果保持 BLOCKED_EXTERNAL,已按规则旁路进入 M08-C。M06-G 真实硬件联调仍缺生产 MQTT 账号/ACL、DeviceID、控制箱、门锁、插座和现场配线。"
updated_at: 2026-07-15T00:00:00+08:00 updated_at: 2026-08-10T09:46:46+08:00
``` ```
| 模块 | 状态 | 最近提交 | 最近开发日志 | 备注 | | 模块 | 状态 | 最近提交 | 最近开发日志 | 备注 |