From d8a9aef90a5c13212180c32c7735d039eca8192c Mon Sep 17 00:00:00 2001 From: wuzilong <704541015@qq.com> Date: Sun, 1 Nov 2026 22:31:42 +0800 Subject: [PATCH] =?UTF-8?q?docs(pl):=20=E8=AE=B0=E5=BD=95=E7=BB=9F?= =?UTF-8?q?=E8=AE=A1=E7=95=8C=E9=9D=A2=E5=A4=8D=E5=AE=A1=E4=B8=8E=E7=9C=9F?= =?UTF-8?q?=E5=AE=9E=E4=BA=A7=E7=89=A9=E6=B5=8F=E8=A7=88=E5=99=A8=E9=AA=8C?= =?UTF-8?q?=E8=AF=81=E5=B9=B6=E8=A1=A5=E5=85=85=E6=A8=A1=E5=BC=8F=E7=B4=A2?= =?UTF-8?q?=E5=BC=95=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../plans/2026-11-01-pl-stop-cert-management.md | 14 +++++++++----- docs/web-admin-ui-pattern-index.md | 2 ++ openspec/changes/pl-stop-cert-management/tasks.md | 2 +- 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/docs/superpowers/plans/2026-11-01-pl-stop-cert-management.md b/docs/superpowers/plans/2026-11-01-pl-stop-cert-management.md index 21874ecf5..0e1bca6db 100644 --- a/docs/superpowers/plans/2026-11-01-pl-stop-cert-management.md +++ b/docs/superpowers/plans/2026-11-01-pl-stop-cert-management.md @@ -75,18 +75,22 @@ Files: 新增`backend/app/services/pl_quota_statistics.py`及tests;修改`back Task 3B证据:提交`f9c206c91`,相关78项SQLite回归通过;独立规格、质量审查均通过,各自统计/API 24项验证通过。实际MySQL执行性能未验证。 +后端组合验证(Web实施前):主目录venv在任务backend执行`python -m pytest tests/test_pl_quota*.py tests/test_pl_legal_use_document.py tests/test_pl_stop_legal_document.py tests/test_pl_child_differential_save.py -q`,**505 passed / 14既有警告**,17.05秒。所有数据为SQLite合成fixture、识别请求已mock,无外部业务数据库调用;日志`.local/agent/stop-cert-v3/backend-combined.log`。 + ## Task 4: 五Tab容器和复用统计面板 Files: `web-admin/src/api/pl/quota-cert.ts`;新`web-admin/src/views/pl/contract-quota/index.vue`、`web-admin/src/views/pl/certificate-usage/index.vue`和复用统计面板;修改router和`ContractDetailDialog.vue`。 -- [ ] 增加API类型和请求方法与Task2/3一致,分页保留数值字符串。用组件行为测试覆盖Tab切换正确视图、合同固定id、切换合同清空旧响应、统计不相加共享余额。 -- [ ] 沿用现有ArtGroupLeafTabs路由组扩为五个叶子,避免再嵌套第二层Tab;静态路由和数据库菜单迁移同步维护。仅有合法证明菜单权限时不请求额度API。旧Web菜单URL保留,移动路由保持原组件;复用已有建档/计划组件,面板嵌入合同详情时补`embedded`支持避免双标题/双padding。 +- [x] 增加API类型和请求方法与Task2/3一致,分页保留数值字符串。用组件行为测试覆盖Tab切换正确视图、合同固定id、切换合同清空旧响应、统计不相加共享余额。 +- [x] 沿用现有ArtGroupLeafTabs路由组扩为五个叶子,避免再嵌套第二层Tab;静态路由和数据库菜单迁移同步维护。仅有合法证明菜单权限时不请求额度API。旧Web菜单URL保留,移动路由保持原组件;复用已有建档/计划组件,面板嵌入合同详情时补`embedded`支持避免双标题/双padding。 ```ts const tabPaths = ['quota-cert', 'contract-quota', 'certificate-usage', 'plan-cert', 'legal-use-document'] as const ``` -- [ ] 统计面板使用ListQuickSearchInput/ListToolbarEndActions/ColumnHeaderFilter、服务端分页、展开按需取明细。合同面板prop`contractId?: string`固定范围,复用ContractScopeDialog维护绑定;证件面板按证种展示全局数量和各合同明细,展开段产品用量。 -- [ ] 合同详情运输计划后插入“合同证件与额度”lazy Tab,按菜单权限显示,挂载ContractQuotaPanel并固定contractId,切换合同销毁旧状态。“运输计划合法使用证明”Tab随Task 6组件一起接入,避免引用尚不存在的组件。 -- [ ] 定向tsx/node:test及类型检查(区分历史错误);提交。 +- [x] 统计面板使用ListQuickSearchInput/ListToolbarEndActions/ColumnHeaderFilter、服务端分页、展开按需取明细。合同面板prop`contractId?: string`固定范围,复用ContractScopeDialog维护绑定;证件面板按证种展示全局数量和各合同明细,展开段产品用量。 +- [x] 合同详情运输计划后插入“合同证件与额度”lazy Tab,按菜单权限显示,挂载ContractQuotaPanel并固定contractId,切换合同销毁旧状态。“运输计划合法使用证明”Tab随Task 6组件一起接入,避免引用尚不存在的组件。 +- [x] 定向tsx/node:test及类型检查(区分历史错误);提交。 + +Task 4证据:`0d1d264bc`及后续修复至`bd90d2099`;规格和质量审查通过,相关前端43项通过,最后局部23项通过,类型检查499→499无新增。统计字段/筛选增量后端30项通过。任务pnpm build成功(39.12秒),构建产物在无HTTP服务的Playwright路由中加载,API全部合成拦截;两页加载/展开/第二页/组合筛选通过,unknown请求与pageerror均0,截图已查看。复核并修复默认Boolean wrapper、分页归零、权限初始化、重开弹窗响应和展开区宽度边界。浏览器脚本与截图在`.local/agent/stop-cert-v3/`;全流程最终验收仍在Task 6。 ## Task 5: 建档绑定、段次与安排UI diff --git a/docs/web-admin-ui-pattern-index.md b/docs/web-admin-ui-pattern-index.md index 27c8aad84..593a0b28e 100644 --- a/docs/web-admin-ui-pattern-index.md +++ b/docs/web-admin-ui-pattern-index.md @@ -457,6 +457,8 @@ const viewSections = computed(() => [{ | ~~crm/quote/approver-setting~~ / ~~crm/contract/approver-setting~~ | 已合并至 `system/approver-setting`(路由保留、侧栏隐藏) | | crm/quote、crm/quote/approval(`QuoteListPage` mode) | P08 · 管理=全部/我的;审批=待审批/已审批(独立菜单 `crm:quote:approve`) | | crm/contract、crm/contract/approval(`ContractListPage` mode) | P08 · 管理=全部/我的/执行中/已完成/已作废;审批=待审批/已审批(`crm:contract:approve`) | +| pl/contract-quota、pl/certificate-usage | P02 · 复用 `pl/quota-statistics/StatisticsPanel.vue`;参考 `pl/plan-quota/index.vue` 与 `demo/order/index.vue` 的检索、漏斗、工具栏和分页 | +| crm/contract(合同证件与额度 Tab) | P10 · 沿用 `crm/contract/components/ContractDetailDialog.vue`,嵌入固定当前合同的 `pl/contract-quota/ContractQuotaPanel.vue` | --- diff --git a/openspec/changes/pl-stop-cert-management/tasks.md b/openspec/changes/pl-stop-cert-management/tasks.md index dfa6e1b74..c40698683 100644 --- a/openspec/changes/pl-stop-cert-management/tasks.md +++ b/openspec/changes/pl-stop-cert-management/tasks.md @@ -12,7 +12,7 @@ - [x] 校验安排、调整、释放、归档、异常补量及旧客户端不能绕过正式规则。 ## 3. Web界面 -- [ ] 实现五Tab容器及共用合同、证件、段次明细组件。 +- [x] 实现五Tab路由及共用合同、证件统计组件;段次明细组件随后续Task 5完成。 - [ ] 建档增加合同产品绑定,保留单附件解析和人工核对。 - [ ] 合同详情增加两个独立Tab,固定当前合同并复用主模块面板。 - [ ] 安排显示逐段预检与定位异常;资料按段产品独立上传。