From 2d8c52211195ec665cb679d15d20db246590edbe Mon Sep 17 00:00:00 2001 From: shunli Date: Mon, 25 May 2026 10:47:29 +0800 Subject: [PATCH] =?UTF-8?q?OAFRONT5=20=E5=9B=9E=E5=A1=ABPC=E8=A7=86?= =?UTF-8?q?=E8=A7=89=E5=9B=9E=E5=BD=92=E8=AF=81=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...05-25_00-55-14-oa-pc-launch-ui-cleanup-v1.csv | 14 +++++++------- ...9-17-51-oa-pc-post-deploy-ui-hardening-v1.csv | 16 ++++++++-------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/issues/2026-05-25_00-55-14-oa-pc-launch-ui-cleanup-v1.csv b/issues/2026-05-25_00-55-14-oa-pc-launch-ui-cleanup-v1.csv index 204131f1..e3f4138e 100644 --- a/issues/2026-05-25_00-55-14-oa-pc-launch-ui-cleanup-v1.csv +++ b/issues/2026-05-25_00-55-14-oa-pc-launch-ui-cleanup-v1.csv @@ -1,11 +1,11 @@ "ID","Title","Description","Acceptance","Test_Method","Tools","Dev_Status","Review1_Status","Regression_Status","Files","Dependencies","Notes" "OAFRONT4-0","建立 PC 启用前 UI 清理执行合同","基于 OAFRONT3 公网 PC 只读视觉证据,规划正式启用前最小 PC 体验清理批次;本合同只规划任务,不直接修改业务代码、不部署、不写公网业务数据。","本 CSV 校验通过;任务按 P0/P1/P2 分层;每项都有业务流程、受影响文件、自动化验证和人工门禁;明确不做大重构、不改变权限、审批状态机、付款执行或数据库 schema。","受影响流程:OAFRONT3 证据 -> OAFRONT4 任务拆分 -> 用户审查采纳 -> 后续实施合同;验证步骤:validate_issues_csv.py 本 CSV;check-process-contract general;git diff --check。","python3|node|git|manual","DONE","DONE","DONE","issues/2026-05-25_00-55-14-oa-pc-launch-ui-cleanup-v1.csv","[]","MAGI 审视:付款批次 UUID/英文状态为 P1;Portal 本地化覆盖面最大;合同/资产/票据/采购日期与码值为 P1/P2。执行:拆成小批次避免一次性视觉重排。提升:先修影响正式启用专业感和财务闭环的硬问题,Portal hero 和页面拆分后置。" "OAFRONT4-1","把 OAFRONT3 PC 只读矩阵纳入后续 UI 回归门禁","复用已新增的 PC no-write visual evidence,作为后续 PC 页面清理前后对比门禁;避免继续使用会创建报销草稿的 project-wide visual 公网路径。","后续 PC UI 实现前先跑一次 OAFRONT3 矩阵作为 baseline;实现后复跑并比较 P1/P2 数量;报告只含角色、路由、截图路径、脱敏指标,不含密码、token、Secret、完整账号、票据原图、合同正文或银行回单。","受影响流程:PC 登录 -> 角色化只读访问 -> 截图/DOM 指标 -> 变更前后对比;验证步骤:命令 bash scripts/qa/run-oafront3-pc-readonly-visual.sh;检查 summary.json 为 PASS 或 PASS_WITH_FINDINGS 且隐私扫描通过。","playwright|bash|node","DONE","DONE","DONE","scripts/qa/run-oafront3-pc-readonly-visual.sh;client/tests/e2e/oafront3-pc-readonly-visual.spec.ts;artifacts/qa-flow/oafront3-pc-readonly-visual-*","[""OAFRONT4-0""]","已完成部署前只读 baseline:artifacts/qa-flow/oafront3-pc-readonly-visual-20260525-074424/summary.json 为 PASS_WITH_FINDINGS;报告来自尚未部署 OAFRONT4 的现网旧版本,只作为前后对比基线,不关闭实施项 Regression。只读;未创建业务数据。" -"OAFRONT4-2","付款批次 PC 主展示去内部化","修复付款批次页面在 finance/finance_mgr 视角暴露内部 UUID、英文状态 EXECUTED/DRAFT、日期英文占位和长内部流水的问题;保持付款批次真实执行仍走线下银行,不新增真实支付能力。","付款批次列表和详情主展示使用付款批次号、实体业务编号、中文状态、中文日期展示;内部 UUID 只允许管理员审计/调试折叠区可见;不改变付款批次创建、上传回单、执行、取消、复核逻辑。","受影响流程:财务登录 -> 打开付款批次 -> 查看批次列表/详情/批次项 -> 上传回单入口可见但不自动上传 -> 不执行真实付款;验证步骤:cd client && npm run typecheck && npm run build;bash scripts/qa/run-oafront3-pc-readonly-visual.sh;finance/finance_mgr /payment-batches 不再有 P1 UUID 主展示,英文状态和日期占位显著下降。","typescript|playwright|manual","DONE","DONE","TODO","client/src/pages/PaymentBatchesPage.tsx;client/src/api/paymentBatches.ts;client/src/lib/formatters.ts","[""OAFRONT4-1""]","已完成本地实现:付款批次主文案、状态、日期、渠道和批次项状态中文化;未改后端状态机,未执行真实付款。Regression 待公网 OAFRONT3 只读矩阵复跑后关闭。" -"OAFRONT4-3","PC 导航 Portal 本地化最小修复","将 PC 主导航和页面主展示中的 Portal 英文称呼收口为“工作台”,同时避免把 smoke 账号英文角色名作为普通用户首页主称呼;不重排 Portal 首屏 hero。","左侧导航、面包屑/标题、可见主入口不再以 Portal 作为普通用户主展示;测试账号在 UI 中优先显示中文姓名或中文职能名;管理员排障页可保留 role code。","受影响流程:员工/主管/财务/管理员登录 PC -> 左侧导航 -> 工作台 -> 顶栏账号展示;验证步骤:rg -n 'Portal' client/src;cd client && npm run typecheck && npm run build;OAFRONT3 PC 矩阵中 A/B 页面 Portal 英文主展示 finding 清零或仅剩 C 类后台例外。","typescript|playwright|rg","DONE","DONE","TODO","client/src/components/navigation/NavLinks.tsx;client/src/features/navigation/schema.ts;client/src/pages/PortalHomePage.tsx;server/scripts|server/src/seeds","[""OAFRONT4-1""]","已完成本地实现:主导航、系统导航配置、工作区设置、功能开关、周报提示和工作台加载文案收口为“工作台”;类型名和 Radix Portal 组件名保留。Regression 待公网 OAFRONT3 只读矩阵复跑后关闭。" -"OAFRONT4-4","合同台账 PC 表单与状态中文化收口","修复合同台账 active/draft/archived 英文状态、日期控件英文占位、输入裁切和过长表单首屏压力;维持合同正文不上传 OA 的边界。","合同状态、操作和筛选展示中文;日期字段提供中文标签/格式提示或自定义展示;疑似裁切输入修复;新建合同表单保留必要字段,归档/续约/敏感字段可折叠或分区。","受影响流程:管理员录入合同摘要 -> 设置状态/日期/责任人/归档位置 -> 列表筛选 -> 查看/编辑 -> 权限负例普通员工不可见敏感入口;验证步骤:client typecheck/build;OAFRONT3 矩阵 admin /contracts-registry 英文状态、日期占位、裁切 finding 下降;手工确认不上传合同正文。","typescript|playwright|manual","DONE","DONE","TODO","client/src/pages/ContractsRegistryPage.tsx;client/src/api/contractsRegistry.ts","[""OAFRONT4-1""]","已完成本地实现:合同编辑状态、过期提示、列表状态、日期展示和归档动作中文化;未新增合同正文上传或电子签章能力。Regression 待公网 OAFRONT3 只读矩阵复跑后关闭。" -"OAFRONT4-5","资产台账 PC 首屏与字段密度治理","结合 ASSET1D 试录和 OAFRONT3 截图,调整资产台账首屏主次:建卡、筛选、列表、详情优先,分类维护降级;清理资产状态码、长内部流水、日期英文占位和过密扩展字段展示。","管理员能清楚完成 FA/EA-SYS/EA-REPO/EA-BKP 建卡和查看;资产列表主列不显示内部长流水为主标识;电子资产扩展 JSON 不作为普通主展示,改为摘要/折叠/调试区;日期字段中文化。","受影响流程:管理员资产建卡 -> 筛选 -> 查看详情 -> 领用/归还/盘点入口;普通员工查看自己相关资产;验证步骤:client typecheck/build;OAFRONT3 矩阵 admin /assets finding 下降;ASSET1D 手工试录路径不回归。","typescript|playwright|manual","DONE","DONE","TODO","client/src/pages/AssetRegistryPage.tsx;client/src/api/assets.ts","[""OAFRONT4-1""]","已完成本地实现:资产日期输入中文化,ERP 更新时间中文格式化;继续保持不录入账号密码、token、Secret、源码包或完整路径。Regression 待部署后公网 OAFRONT3 矩阵复跑关闭。" -"OAFRONT4-6","票据/采购/项目 PC 长内部流水与日期控件清理","处理 OAFRONT3 中票据中心、采购申请和项目页的长内部流水、日期英文占位和空态弱提示;不改变 OCR、采购审批、项目关联或后端接口语义。","票据、采购、项目列表/详情主展示使用业务编号、摘要、申请人、金额/日期和中文状态;长内部流水不作为主文案;日期输入和展示中文化;空态给出下一步动作且不重复大段解释。","受影响流程:员工查看票据中心 -> 采购申请列表/详情 -> 主管查看项目列表;验证步骤:client typecheck/build;OAFRONT3 矩阵 /invoice-pool、/purchase-requests、/projects 相关 P2 finding 下降;真实 OCR/采购流程回归不变。","typescript|playwright|manual","DONE","DONE","TODO","client/src/pages/InvoicePoolPage.tsx;client/src/pages/invoice-pool/*;client/src/pages/ReimbursementDetailPage.tsx;client/src/pages/PurchaseRequestsPage.tsx;client/src/pages/ProjectsPage.tsx;client/src/pages/ProjectDetailPage.tsx","[""OAFRONT4-1""]","已完成本地实现:采购和项目日期输入中文化,采购附件/归档/ERP 时间中文格式化,项目列表日期中文化,项目详情角色/里程碑/任务/风险状态中文化;票据列表主标题不再用发票号兜底,票据详情/核验记录日期中文化,人工修正日期改用统一 DateTextInput,报销详情里的票据开票日期也改为中文展示;未改变 OCR、采购审批或项目接口语义。Regression 待部署后公网 OAFRONT3 矩阵复跑关闭。" -"OAFRONT4-7","PC 日期与状态展示小组件化","若 OAFRONT4-2/4/5/6 出现重复实现,抽出轻量前端 helper 或小组件统一日期展示、中文状态标签和内部 ID 折叠规则;避免每页手写不同 label。","存在可复用的 status/date/display helper;付款、合同、资产、票据/采购至少两个页面复用;不引入新 UI 框架;C 类后台仍可显示必要内部码值但 A/B 类默认隐藏。","受影响流程:PC A/B 类页面展示业务对象 -> 状态/日期/内部 ID 一致;验证步骤:client typecheck/build;check-ui-design-rules;OAFRONT3 矩阵 P1/P2 下降;无 circular chunk warning。","typescript|node|playwright","DONE","DONE","TODO","client/src/lib/*;client/src/components/common/*;client/src/pages/PaymentBatchesPage.tsx;client/src/pages/ContractsRegistryPage.tsx;client/src/pages/AssetRegistryPage.tsx","[""OAFRONT4-2"",""OAFRONT4-4"",""OAFRONT4-5""]","已新增 client/src/lib/displayFormat.ts 与 DateTextInput,付款、合同、资产、采购、项目页已复用日期展示/输入;StatusBadge 补充 reviewed/executed。Regression 待部署后公网 OAFRONT3 矩阵复跑关闭。" -"OAFRONT4-8","PC 修复后自动回归与截图证据","在完成任一实施批次后,执行前端构建、设计规则、PC 只读视觉矩阵和必要业务回归;输出脱敏截图和 summary,并回填本 CSV 状态。","相关实施项的 Test_Method 均执行通过;OAFRONT3 矩阵 P1 清零,P2 有明确剩余解释;报告无密码、token、Secret、完整邮箱/手机号、完整本地路径、票据原图、合同正文、银行流水或原始 payload。","受影响流程:PC 修复实现 -> 前端构建 -> 设计规则 -> 公网只读视觉矩阵 -> Issue 状态回填;验证步骤:cd client && npm run typecheck && npm run build;node scripts/qa/check-ui-design-rules.mjs --json;bash scripts/qa/run-oafront3-pc-readonly-visual.sh;git diff --check;必要时跑 bash scripts/check-minimal.sh。","npm|node|playwright|bash|git","DOING","TODO","TODO","client/tests/e2e/oafront3-pc-readonly-visual.spec.ts;scripts/qa/run-oafront3-pc-readonly-visual.sh;artifacts/qa-flow","[""OAFRONT4-2"",""OAFRONT4-3"",""OAFRONT4-4"",""OAFRONT4-5"",""OAFRONT4-6""]","已完成本地 typecheck、build、check-ui-design-rules 和 check-minimal;build 无 Vite circular chunk warning。2026-05-25 再次执行部署前门禁:validate_issues_csv、check-process-contract baseline/general、check-ui-design-rules、server prisma validate、脚本 bash -n、client typecheck/build、git diff --check、check-minimal 均通过;公网 /ready 只读检查返回 ok=true。已跑公网只读 baseline:artifacts/qa-flow/oafront3-pc-readonly-visual-20260525-074424/summary.json 为 PASS_WITH_FINDINGS,但它验证的是尚未部署的现网旧版本;第二批和第三批本地 build 同样通过,第三批补票据中心标题/日期和报销详情票据日期清理。Regression 待部署后复跑关闭。回滚路径:只读公网矩阵不写业务数据、不需清理;若部署后 UI 回归,回滚 OAFRONT4 前端提交并复跑矩阵。" +"OAFRONT4-2","付款批次 PC 主展示去内部化","修复付款批次页面在 finance/finance_mgr 视角暴露内部 UUID、英文状态 EXECUTED/DRAFT、日期英文占位和长内部流水的问题;保持付款批次真实执行仍走线下银行,不新增真实支付能力。","付款批次列表和详情主展示使用付款批次号、实体业务编号、中文状态、中文日期展示;内部 UUID 只允许管理员审计/调试折叠区可见;不改变付款批次创建、上传回单、执行、取消、复核逻辑。","受影响流程:财务登录 -> 打开付款批次 -> 查看批次列表/详情/批次项 -> 上传回单入口可见但不自动上传 -> 不执行真实付款;验证步骤:cd client && npm run typecheck && npm run build;bash scripts/qa/run-oafront3-pc-readonly-visual.sh;finance/finance_mgr /payment-batches 不再有 P1 UUID 主展示,英文状态和日期占位显著下降。","typescript|playwright|manual","DONE","DONE","DONE","client/src/pages/PaymentBatchesPage.tsx;client/src/api/paymentBatches.ts;client/src/lib/formatters.ts","[""OAFRONT4-1""]","已完成并部署:付款批次主文案、状态、日期、渠道和批次项状态中文化;OAFRONT5-9 进一步隐藏复核人内部 UUID;最终公网矩阵 artifacts/qa-flow/oafront3-pc-readonly-visual-20260525-101659/summary.json 中 /payment-batches P1/P2 清零。未改后端状态机,未执行真实付款。" +"OAFRONT4-3","PC 导航 Portal 本地化最小修复","将 PC 主导航和页面主展示中的 Portal 英文称呼收口为“工作台”,同时避免把 smoke 账号英文角色名作为普通用户首页主称呼;不重排 Portal 首屏 hero。","左侧导航、面包屑/标题、可见主入口不再以 Portal 作为普通用户主展示;测试账号在 UI 中优先显示中文姓名或中文职能名;管理员排障页可保留 role code。","受影响流程:员工/主管/财务/管理员登录 PC -> 左侧导航 -> 工作台 -> 顶栏账号展示;验证步骤:rg -n 'Portal' client/src;cd client && npm run typecheck && npm run build;OAFRONT3 PC 矩阵中 A/B 页面 Portal 英文主展示 finding 清零或仅剩 C 类后台例外。","typescript|playwright|rg","DONE","DONE","DONE","client/src/components/navigation/NavLinks.tsx;client/src/features/navigation/schema.ts;client/src/pages/PortalHomePage.tsx;server/scripts|server/src/seeds","[""OAFRONT4-1""]","已完成并部署:主导航、系统导航配置、工作区设置、功能开关、周报提示和工作台加载文案收口为“工作台”;最终公网矩阵 artifacts/qa-flow/oafront3-pc-readonly-visual-20260525-101659/summary.json 中 A/B 页面 Portal finding 清零。类型名和 Radix Portal 组件名保留。回滚路径:还原导航/工作台文案提交并复跑 PC 只读矩阵;无需清理公网业务数据。" +"OAFRONT4-4","合同台账 PC 表单与状态中文化收口","修复合同台账 active/draft/archived 英文状态、日期控件英文占位、输入裁切和过长表单首屏压力;维持合同正文不上传 OA 的边界。","合同状态、操作和筛选展示中文;日期字段提供中文标签/格式提示或自定义展示;疑似裁切输入修复;新建合同表单保留必要字段,归档/续约/敏感字段可折叠或分区。","受影响流程:管理员录入合同摘要 -> 设置状态/日期/责任人/归档位置 -> 列表筛选 -> 查看/编辑 -> 权限负例普通员工不可见敏感入口;验证步骤:client typecheck/build;OAFRONT3 矩阵 admin /contracts-registry 英文状态、日期占位、裁切 finding 下降;手工确认不上传合同正文。","typescript|playwright|manual","DONE","DONE","DONE","client/src/pages/ContractsRegistryPage.tsx;client/src/api/contractsRegistry.ts","[""OAFRONT4-1""]","已完成并部署:合同编辑状态、过期提示、列表状态、日期展示和归档动作中文化;最终公网矩阵 artifacts/qa-flow/oafront3-pc-readonly-visual-20260525-101659/summary.json 中 /contracts-registry finding 清零。未新增合同正文上传或电子签章能力。回滚路径:还原合同台账前端展示提交;不删除或修改公网合同台账业务数据。" +"OAFRONT4-5","资产台账 PC 首屏与字段密度治理","结合 ASSET1D 试录和 OAFRONT3 截图,调整资产台账首屏主次:建卡、筛选、列表、详情优先,分类维护降级;清理资产状态码、长内部流水、日期英文占位和过密扩展字段展示。","管理员能清楚完成 FA/EA-SYS/EA-REPO/EA-BKP 建卡和查看;资产列表主列不显示内部长流水为主标识;电子资产扩展 JSON 不作为普通主展示,改为摘要/折叠/调试区;日期字段中文化。","受影响流程:管理员资产建卡 -> 筛选 -> 查看详情 -> 领用/归还/盘点入口;普通员工查看自己相关资产;验证步骤:client typecheck/build;OAFRONT3 矩阵 admin /assets finding 下降;ASSET1D 手工试录路径不回归。","typescript|playwright|manual","DONE","DONE","DONE","client/src/pages/AssetRegistryPage.tsx;client/src/api/assets.ts","[""OAFRONT4-1""]","已完成并部署:资产日期输入中文化,ERP 更新时间、变更类型和资产状态中文化;继续保持不录入账号密码、token、Secret、源码包或完整路径。最终公网矩阵 artifacts/qa-flow/oafront3-pc-readonly-visual-20260525-101659/summary.json 中 /assets 仅剩 1 个可解释长数字 P2,来自测试分类/业务标识,不是 UUID 或敏感原文。" +"OAFRONT4-6","票据/采购/项目 PC 长内部流水与日期控件清理","处理 OAFRONT3 中票据中心、采购申请和项目页的长内部流水、日期英文占位和空态弱提示;不改变 OCR、采购审批、项目关联或后端接口语义。","票据、采购、项目列表/详情主展示使用业务编号、摘要、申请人、金额/日期和中文状态;长内部流水不作为主文案;日期输入和展示中文化;空态给出下一步动作且不重复大段解释。","受影响流程:员工查看票据中心 -> 采购申请列表/详情 -> 主管查看项目列表;验证步骤:client typecheck/build;OAFRONT3 矩阵 /invoice-pool、/purchase-requests、/projects 相关 P2 finding 下降;真实 OCR/采购流程回归不变。","typescript|playwright|manual","DONE","DONE","DONE","client/src/pages/InvoicePoolPage.tsx;client/src/pages/invoice-pool/*;client/src/pages/ReimbursementDetailPage.tsx;client/src/pages/PurchaseRequestsPage.tsx;client/src/pages/ProjectsPage.tsx;client/src/pages/ProjectDetailPage.tsx","[""OAFRONT4-1""]","已完成并部署:采购和项目日期输入中文化,采购附件/归档/ERP 时间中文格式化,项目列表日期中文化,项目详情角色/里程碑/任务/风险状态中文化;票据列表主标题不再用发票号兜底,票据详情/核验记录日期中文化,人工修正日期改用统一 DateTextInput,报销详情里的票据开票日期也改为中文展示;未改变 OCR、采购审批或项目接口语义。最终公网矩阵 artifacts/qa-flow/oafront3-pc-readonly-visual-20260525-101659/summary.json 中仅剩票据真实发票号/采购测试业务编号长数字 P2,作为 accepted follow-up,不阻断前端启用。" +"OAFRONT4-7","PC 日期与状态展示小组件化","若 OAFRONT4-2/4/5/6 出现重复实现,抽出轻量前端 helper 或小组件统一日期展示、中文状态标签和内部 ID 折叠规则;避免每页手写不同 label。","存在可复用的 status/date/display helper;付款、合同、资产、票据/采购至少两个页面复用;不引入新 UI 框架;C 类后台仍可显示必要内部码值但 A/B 类默认隐藏。","受影响流程:PC A/B 类页面展示业务对象 -> 状态/日期/内部 ID 一致;验证步骤:client typecheck/build;check-ui-design-rules;OAFRONT3 矩阵 P1/P2 下降;无 circular chunk warning。","typescript|node|playwright","DONE","DONE","DONE","client/src/lib/*;client/src/components/common/*;client/src/pages/PaymentBatchesPage.tsx;client/src/pages/ContractsRegistryPage.tsx;client/src/pages/AssetRegistryPage.tsx","[""OAFRONT4-2"",""OAFRONT4-4"",""OAFRONT4-5""]","已新增并复用 client/src/lib/displayFormat.ts 与 DateTextInput,付款、合同、资产、采购、项目、AP 和 People 页复用日期展示/输入;StatusBadge 补充 reviewed/executed。最终构建与公网构建均无 Vite circular chunk warning;check-ui-design-rules findings=0。" +"OAFRONT4-8","PC 修复后自动回归与截图证据","在完成任一实施批次后,执行前端构建、设计规则、PC 只读视觉矩阵和必要业务回归;输出脱敏截图和 summary,并回填本 CSV 状态。","相关实施项的 Test_Method 均执行通过;OAFRONT3 矩阵 P1 清零,P2 有明确剩余解释;报告无密码、token、Secret、完整邮箱/手机号、完整本地路径、票据原图、合同正文、银行流水或原始 payload。","受影响流程:PC 修复实现 -> 前端构建 -> 设计规则 -> 公网只读视觉矩阵 -> Issue 状态回填;验证步骤:cd client && npm run typecheck && npm run build;node scripts/qa/check-ui-design-rules.mjs --json;bash scripts/qa/run-oafront3-pc-readonly-visual.sh;git diff --check;必要时跑 bash scripts/check-minimal.sh。","npm|node|playwright|bash|git","DONE","DONE","DONE","client/tests/e2e/oafront3-pc-readonly-visual.spec.ts;scripts/qa/run-oafront3-pc-readonly-visual.sh;artifacts/qa-flow","[""OAFRONT4-2"",""OAFRONT4-3"",""OAFRONT4-4"",""OAFRONT4-5"",""OAFRONT4-6""]","最终公网证据:artifacts/qa-flow/oafront3-pc-readonly-visual-20260525-101659/summary.json 为 PASS_WITH_FINDINGS,P1=0,P2=3;剩余 P2 均为真实发票号/采购测试业务编号/资产测试分类标识的长数字探针提示,不是 UUID、英文状态、日期控件或敏感原文。部署证据:/ready ok,live smoke 3/3,通过公网前端资源扫描 findings=0;OAOPS1 daily artifacts/qa-flow/oa-real-use-daily-20260525-094437/summary.json 为 PASS_OA_REAL_USE_DAILY_READY。回滚路径:只读公网矩阵不写业务数据、不需清理;若 UI 回归,回滚 OAFRONT4/OAFRONT5 前端提交并复跑矩阵。" "OAFRONT4-9","用户采纳与实施顺序门禁","把本合同提交给用户审查,明确先做哪组、哪些后置;未被采纳的 UI 改动不得进入实现。","用户对实施顺序给出 A/B/C 选择并回填 Notes;采纳后才进入代码修改;若选择暂停,则保留本合同为建议证据,不改页面。","受影响流程:PC 证据 -> 用户决策 -> 采纳项进入实现 -> 未采纳项后置;验证步骤:人工问答 A=按推荐顺序先修付款批次+Portal本地化+合同资产;B=只修 P1 付款批次,其他等 7 天反馈;C=暂停 PC UI 修复,继续真实使用稳定化;回填选择并 validate CSV。","manual|python3","DONE","DONE","DONE","issues/2026-05-25_00-55-14-oa-pc-launch-ui-cleanup-v1.csv","[""OAFRONT4-0""]","用户已批准开始实施,按默认推荐 A 先执行第一批 OAFRONT4-2+3+4;第二批 OAFRONT4-5+6 后置,Portal hero/视觉 token/大页面拆分继续后置。" diff --git a/issues/2026-05-25_09-17-51-oa-pc-post-deploy-ui-hardening-v1.csv b/issues/2026-05-25_09-17-51-oa-pc-post-deploy-ui-hardening-v1.csv index 0678cc42..c5f23b93 100644 --- a/issues/2026-05-25_09-17-51-oa-pc-post-deploy-ui-hardening-v1.csv +++ b/issues/2026-05-25_09-17-51-oa-pc-post-deploy-ui-hardening-v1.csv @@ -1,12 +1,12 @@ "ID","Title","Description","Acceptance","Test_Method","Tools","Dev_Status","Review1_Status","Regression_Status","Files","Dependencies","Notes" "OAFRONT5-0","建立 OAFRONT4 部署后 PC 体验收口合同","承接 OAFRONT4 已完成的本地 PC 清理,规划部署后只读回归、剩余 PC 体验硬化和 OALAUNCH1 对齐;本合同只作为待审执行合同,不代表批准部署或继续改代码。","CSV 校验通过;明确 OAFRONT5 必须先部署并复跑只读矩阵,之后按 finding 决定是否修 AP/报销/HR/后台日期与密度问题;不得绕过用户采纳门禁。","受影响流程:OAFRONT4 本地完成 -> 公网部署 -> 只读视觉矩阵 -> OAFRONT5 采纳决策;验证步骤:validate_issues_csv.py 本 CSV;check-process-contract general;git diff --check。","python3|node|git|manual","DONE","DONE","DONE","issues/2026-05-25_09-17-51-oa-pc-post-deploy-ui-hardening-v1.csv","[]","MAGI 审视:OAFRONT4 已可部署但未公网验证;执行:先做部署前门禁,不再盲改旧现网截图;提升:把后续分成部署回归、财务/AP、报销高频、HR/后台后置和 OALAUNCH1 对齐。" -"OAFRONT5-1","部署 OAFRONT4 并复跑公网只读回归","在用户明确批准后,部署当前 OAFRONT4 提交到公网 OA,并立即执行健康检查、OAOPS1 只读巡检和 PC 只读视觉矩阵。","部署使用 SYNC_ENV=0,不覆盖远端 .env;/ready 通过;OAOPS1 只读巡检通过或 finding 可解释;OAFRONT3 PC 只读矩阵生成新 summary;不创建业务数据、不执行真实付款。","受影响流程:部署 -> /ready -> live smoke readiness -> OAOPS1 daily -> PC 视觉矩阵;验证步骤:SYNC_ENV=0 bash deploy/trialrun/deploy.sh;curl -fsS https://oa.hyinda.com/ready;LIVE_SMOKE_BASE_URL=https://oa.hyinda.com bash scripts/qa/run-oa-real-use-daily.sh;bash scripts/qa/run-oafront3-pc-readonly-visual.sh。","bash|curl|playwright","TODO","TODO","TODO","deploy/trialrun/deploy.sh;scripts/qa/run-oa-real-use-daily.sh;scripts/qa/run-oafront3-pc-readonly-visual.sh;artifacts/qa-flow","[""OAFRONT5-0""]","需要人工确认才执行部署。回滚路径:按 trialrun runbook 回滚到上一稳定镜像;视觉矩阵只读,不写业务数据。" -"OAFRONT5-2","关闭 OAFRONT4 Regression 并回填证据","部署后根据新公网矩阵回填 OAFRONT4-2..8 的 Regression_Status;若 P1 清零且 P2 可解释,关闭 OAFRONT4;若仍有 P1,转入 OAFRONT5 修复。","OAFRONT4 的 Regression 不再依赖旧现网 baseline;所有关闭项都有新 summary 路径;未清零的 finding 必须分类为 blocker、follow-up 或 accepted-risk。","受影响流程:PC 只读矩阵 -> finding 分类 -> OAFRONT4 状态回填 -> 后续修复决策;验证步骤:检查新 artifacts/qa-flow/oafront3-pc-readonly-visual-*/summary.json;validate OAFRONT4 CSV;git diff --check。","python3|node|git|manual","TODO","TODO","TODO","issues/2026-05-25_00-55-14-oa-pc-launch-ui-cleanup-v1.csv;artifacts/qa-flow/oafront3-pc-readonly-visual-*","[""OAFRONT5-1""]","不得用部署前旧矩阵关闭回归;报告不得包含密码、token、Secret、完整账号、票据原图、合同正文或银行流水。回滚/清理:若回填分类有误,仅回滚 Issue CSV 状态提交;只读矩阵报告保留为审计证据。" -"OAFRONT5-3","财务/AP 页面 PC 日期与密度二次收口","若部署后矩阵仍显示 AP/财务运营页日期英文占位、表单密度或状态展示问题,则优先处理 ApOperationsPage;不改变 AP、付款、导出或银行回单业务语义。","AP 账期、到期日、回单日期等高频字段改用统一中文日期输入/展示;财务列表主展示保持业务编号、供应商/对象、金额、状态和下一步;不新增真实支付或 ERP 能力。","受影响流程:财务登录 -> AP 运营 -> 查看账期/到期/回单 -> 导出/对账;验证步骤:client typecheck/build;check-ui-design-rules;finance 角色 PC 只读截图;OAOPS1 daily 通过。","typescript|playwright|node","DONE","DONE","TODO","client/src/pages/ApOperationsPage.tsx;client/src/components/common/DateTextInput.tsx;client/src/lib/displayFormat.ts","[""OAFRONT5-2""]","本地已修:AP 报销日期/创建时间筛选改用 DateTextInput,付款日期展示统一中文日期,通用 smoke 英文姓名改为中文测试名;typecheck/build、check-ui-design-rules 通过。Regression 待部署后 PC 矩阵确认 AP P2 清零。回滚路径:还原 AP 前端展示提交,不触碰后端付款状态。" -"OAFRONT5-4","报销高频页日期输入统一化","如果部署后或真实使用反馈仍认为报销筛选、明细发生日期、付款动作日期有英文原生日期控件风险,则把报销高频页面改用 DateTextInput;保持 PDF OCR、审批、付款语义不变。","报销列表筛选、报销明细日期、付款日期等员工/财务高频路径不再出现英文原生日期占位;已有数据保存格式仍为 YYYY-MM-DD;不改变报销 API。","受影响流程:员工编辑报销明细 -> 提交审批;财务筛选报销 -> 标记付款;验证步骤:client typecheck/build;报销详情和列表 Playwright/视觉截图;回归提交草稿和编辑明细。","typescript|playwright|manual","TODO","TODO","TODO","client/src/pages/ReimbursementDashboardPage.tsx;client/src/pages/reimbursement-detail/ReimbursementItemEditor.tsx;client/src/pages/reimbursement-detail/ReimbursementActions.tsx","[""OAFRONT5-2""]","优先级 P1/P2;真实业务路径优先于后台配置页;回滚路径:还原前端输入组件变更。" -"OAFRONT5-5","HR/考勤/后台配置日期控件后置清单","把 EmployeeProfile、People、Attendance、TeamPresence、Leave、Performance、Budgets、Travel 等页面残留 type=date 分类为 HR/配置/冻结域后置,不在 launch 前大面积改。","后置清单清楚说明哪些页面属于 C 类后台或冻结域;除非真实使用出现 blocker,否则不抢 OALAUNCH1 主线。","受影响流程:HR/管理员维护员工资料、团队状态、考勤镜像和预算/差旅冻结页;验证步骤:rg -n 'type=""date""' client/src/pages client/src/components;人工按 A/B/C 页面分层确认。","rg|manual","DONE","DONE","TODO","client/src/pages/EmployeeProfilePage.tsx;client/src/pages/PeoplePage.tsx;client/src/pages/AttendancePage.tsx;client/src/pages/TeamPresencePage.tsx;client/src/pages/LeaveRequestPage.tsx;client/src/pages/BudgetsPage.tsx;client/src/pages/TravelRequestsPage.tsx","[""OAFRONT5-2""]","本地已修 PC 矩阵命中的 HR People 入职日期筛选,改用 DateTextInput;其他 HR/考勤/预算/差旅冻结域日期控件继续后置,不抢 OALAUNCH1 主线;typecheck/build、check-ui-design-rules 通过。Regression 待部署后矩阵确认 hr /people P2 清零。回滚路径:还原 PeoplePage 日期输入组件改动;不修改员工数据、企微 HR/考勤主办边界或真实人员状态。" +"OAFRONT5-1","部署 OAFRONT4 并复跑公网只读回归","在用户明确批准后,部署当前 OAFRONT4 提交到公网 OA,并立即执行健康检查、OAOPS1 只读巡检和 PC 只读视觉矩阵。","部署使用 SYNC_ENV=0,不覆盖远端 .env;/ready 通过;OAOPS1 只读巡检通过或 finding 可解释;OAFRONT3 PC 只读矩阵生成新 summary;不创建业务数据、不执行真实付款。","受影响流程:部署 -> /ready -> live smoke readiness -> OAOPS1 daily -> PC 视觉矩阵;验证步骤:SYNC_ENV=0 bash deploy/trialrun/deploy.sh;curl -fsS https://oa.hyinda.com/ready;LIVE_SMOKE_BASE_URL=https://oa.hyinda.com bash scripts/qa/run-oa-real-use-daily.sh;bash scripts/qa/run-oafront3-pc-readonly-visual.sh。","bash|curl|playwright","DONE","DONE","DONE","deploy/trialrun/deploy.sh;scripts/qa/run-oa-real-use-daily.sh;scripts/qa/run-oafront3-pc-readonly-visual.sh;artifacts/qa-flow","[""OAFRONT5-0""]","已部署两次收口提交,均使用 SYNC_ENV=0 且未覆盖远端 .env;最终部署 /ready ok、live smoke 3/3、公网资源扫描 findings=0;OAOPS1 daily artifacts/qa-flow/oa-real-use-daily-20260525-094437/summary.json 为 PASS_OA_REAL_USE_DAILY_READY。回滚路径:按 trialrun runbook 回滚到上一稳定镜像;视觉矩阵只读,不写业务数据。" +"OAFRONT5-2","关闭 OAFRONT4 Regression 并回填证据","部署后根据新公网矩阵回填 OAFRONT4-2..8 的 Regression_Status;若 P1 清零且 P2 可解释,关闭 OAFRONT4;若仍有 P1,转入 OAFRONT5 修复。","OAFRONT4 的 Regression 不再依赖旧现网 baseline;所有关闭项都有新 summary 路径;未清零的 finding 必须分类为 blocker、follow-up 或 accepted-risk。","受影响流程:PC 只读矩阵 -> finding 分类 -> OAFRONT4 状态回填 -> 后续修复决策;验证步骤:检查新 artifacts/qa-flow/oafront3-pc-readonly-visual-*/summary.json;validate OAFRONT4 CSV;git diff --check。","python3|node|git|manual","DONE","DONE","DONE","issues/2026-05-25_00-55-14-oa-pc-launch-ui-cleanup-v1.csv;artifacts/qa-flow/oafront3-pc-readonly-visual-*","[""OAFRONT5-1""]","已回填并关闭 OAFRONT4-2..8 Regression;最终矩阵 artifacts/qa-flow/oafront3-pc-readonly-visual-20260525-101659/summary.json 为 PASS_WITH_FINDINGS,P1=0,P2=3。剩余 P2 分类为 accepted follow-up:真实发票号、采购测试业务编号、资产测试分类标识长数字,不是 UUID/英文状态/日期控件/敏感原文。回滚/清理:若回填分类有误,仅回滚 Issue CSV 状态提交;只读矩阵报告保留为审计证据。" +"OAFRONT5-3","财务/AP 页面 PC 日期与密度二次收口","若部署后矩阵仍显示 AP/财务运营页日期英文占位、表单密度或状态展示问题,则优先处理 ApOperationsPage;不改变 AP、付款、导出或银行回单业务语义。","AP 账期、到期日、回单日期等高频字段改用统一中文日期输入/展示;财务列表主展示保持业务编号、供应商/对象、金额、状态和下一步;不新增真实支付或 ERP 能力。","受影响流程:财务登录 -> AP 运营 -> 查看账期/到期/回单 -> 导出/对账;验证步骤:client typecheck/build;check-ui-design-rules;finance 角色 PC 只读截图;OAOPS1 daily 通过。","typescript|playwright|node","DONE","DONE","DONE","client/src/pages/ApOperationsPage.tsx;client/src/components/common/DateTextInput.tsx;client/src/lib/displayFormat.ts","[""OAFRONT5-2""]","已修并部署:AP 报销日期/创建时间筛选改用 DateTextInput,付款日期展示统一中文日期,通用 smoke 英文姓名改为中文测试名;最终矩阵 artifacts/qa-flow/oafront3-pc-readonly-visual-20260525-101659/summary.json 中 AP P2 清零。回滚路径:还原 AP 前端展示提交,不触碰后端付款状态。" +"OAFRONT5-4","报销高频页日期输入统一化","如果部署后或真实使用反馈仍认为报销筛选、明细发生日期、付款动作日期有英文原生日期控件风险,则把报销高频页面改用 DateTextInput;保持 PDF OCR、审批、付款语义不变。","报销列表筛选、报销明细日期、付款日期等员工/财务高频路径不再出现英文原生日期占位;已有数据保存格式仍为 YYYY-MM-DD;不改变报销 API。","受影响流程:员工编辑报销明细 -> 提交审批;财务筛选报销 -> 标记付款;验证步骤:client typecheck/build;报销详情和列表 Playwright/视觉截图;回归提交草稿和编辑明细。","typescript|playwright|manual","DONE","DONE","DONE","client/src/pages/ReimbursementDashboardPage.tsx;client/src/pages/reimbursement-detail/ReimbursementItemEditor.tsx;client/src/pages/reimbursement-detail/ReimbursementActions.tsx","[""OAFRONT5-2""]","最终矩阵 artifacts/qa-flow/oafront3-pc-readonly-visual-20260525-101659/summary.json 中报销高频页未再出现日期控件 P1/P2,本项无需额外改代码;若 7 天真实使用反馈仍有报销日期输入问题,再另开更窄修复。回滚路径:本项无新增代码;如后续改动失败,回滚对应前端提交。" +"OAFRONT5-5","HR/考勤/后台配置日期控件后置清单","把 EmployeeProfile、People、Attendance、TeamPresence、Leave、Performance、Budgets、Travel 等页面残留 type=date 分类为 HR/配置/冻结域后置,不在 launch 前大面积改。","后置清单清楚说明哪些页面属于 C 类后台或冻结域;除非真实使用出现 blocker,否则不抢 OALAUNCH1 主线。","受影响流程:HR/管理员维护员工资料、团队状态、考勤镜像和预算/差旅冻结页;验证步骤:rg -n 'type=""date""' client/src/pages client/src/components;人工按 A/B/C 页面分层确认。","rg|manual","DONE","DONE","DONE","client/src/pages/EmployeeProfilePage.tsx;client/src/pages/PeoplePage.tsx;client/src/pages/AttendancePage.tsx;client/src/pages/TeamPresencePage.tsx;client/src/pages/LeaveRequestPage.tsx;client/src/pages/BudgetsPage.tsx;client/src/pages/TravelRequestsPage.tsx","[""OAFRONT5-2""]","已修并部署 PC 矩阵命中的 HR People 入职日期筛选,改用 DateTextInput;最终矩阵 artifacts/qa-flow/oafront3-pc-readonly-visual-20260525-101659/summary.json 中 hr /people 日期控件 P2 清零。其他 HR/考勤/预算/差旅冻结域日期控件继续后置,不抢 OALAUNCH1 主线。回滚路径:还原 PeoplePage 日期输入组件改动;不修改员工数据、企微 HR/考勤主办边界或真实人员状态。" "OAFRONT5-6","Portal 首屏工作台化继续观察","OAFRONT4 已完成 Portal 命名本地化;首屏 hero 是否继续收敛,等部署后截图和真实 7 天反馈,不凭主观审美立即重排。","如果真实用户反馈首屏找不到待办/常用/财务入口,再做小步重排;否则保留现布局,只记录 P2 视觉优化建议。","受影响流程:PC 登录 -> 工作台 -> 找待办/草稿/财务/合同/资产入口;验证步骤:部署后 PC 截图;7 天真实反馈;不得复制竞品文案或做营销式 hero。","playwright|manual","TODO","TODO","TODO","client/src/pages/PortalHomePage.tsx;docs/trialrun/人工试运行报告.md","[""OAFRONT5-1""]","优先级 P2;不作为部署 blocker。回滚路径:如后续采纳并修改 Portal 后反馈变差,回滚对应前端提交;本观察项本身只记录证据,无需清理公网数据。" -"OAFRONT5-7","OALAUNCH1 启用门禁对齐","把部署后 UI 回归结果接入 OALAUNCH1:前端可用性只是启动条件之一,最终启用仍取决于真实业务闭环、权限矩阵、备份恢复、7 天稳定化和 Go/No-Go。","OALAUNCH1 汇总能引用最新 OAFRONT4/OAFRONT5 视觉回归结论;不因 UI 自动通过而跳过真实报销、采购、合同、资产、备份和人工 Go/No-Go。","受影响流程:前端回归 -> OALAUNCH1 汇总 -> Day 7 决策;验证步骤:LIVE_SMOKE_BASE_URL=https://oa.hyinda.com bash scripts/qa/run-oa-real-use-daily.sh;OALAUNCH_STABILIZATION_START_DATE= bash scripts/qa/run-oa-final-launch-readiness.sh。","bash|manual","TODO","TODO","TODO","issues/2026-05-23_16-49-39-oa-final-launch-readiness-v1.csv;scripts/qa/run-oa-final-launch-readiness.sh","[""OAFRONT5-2""]","仍需人工/运维:真实业务样本、备份恢复演练、Day 7 Go/No-Go;自动化只能证明入口和只读巡检。回滚/清理:若 OALAUNCH1 引用错误,仅回滚 Issue CSV/报告引用;不修改公网业务数据。" +"OAFRONT5-7","OALAUNCH1 启用门禁对齐","把部署后 UI 回归结果接入 OALAUNCH1:前端可用性只是启动条件之一,最终启用仍取决于真实业务闭环、权限矩阵、备份恢复、7 天稳定化和 Go/No-Go。","OALAUNCH1 汇总能引用最新 OAFRONT4/OAFRONT5 视觉回归结论;不因 UI 自动通过而跳过真实报销、采购、合同、资产、备份和人工 Go/No-Go。","受影响流程:前端回归 -> OALAUNCH1 汇总 -> Day 7 决策;验证步骤:LIVE_SMOKE_BASE_URL=https://oa.hyinda.com bash scripts/qa/run-oa-real-use-daily.sh;OALAUNCH_STABILIZATION_START_DATE= bash scripts/qa/run-oa-final-launch-readiness.sh。","bash|manual","DONE","DONE","DONE","issues/2026-05-23_16-49-39-oa-final-launch-readiness-v1.csv;scripts/qa/run-oa-final-launch-readiness.sh","[""OAFRONT5-2""]","已跑 OALAUNCH1 只读汇总 artifacts/qa-flow/oa-final-launch-readiness-20260525-095140/summary.json,结论 PAUSED_MANUAL_CONFIRMATION:前端/OAOPS1 自动证据可用,但最终启用仍缺真实业务样本、备份恢复演练、7 天稳定化和 Day 7 Go/No-Go。回滚/清理:若 OALAUNCH1 引用错误,仅回滚 Issue CSV/报告引用;不修改公网业务数据。" "OAFRONT5-8","用户采纳门禁","用户审查 OAFRONT5 后决定是否先部署 OAFRONT4,是否采纳 AP/报销日期收口,是否继续后置 HR/Portal。","用户至少给出 A/B/C:A=先部署并复跑矩阵;B=不部署,先继续本地修 AP/报销;C=暂停前端,回到 OALAUNCH1 人工业务闭环。未采纳前不得执行部署或新增代码修复。","受影响流程:OAFRONT5 合同 -> 用户决策 -> 部署/修复/暂停;验证步骤:人工回填选择并 validate CSV。","manual|python3","DONE","DONE","DONE","issues/2026-05-25_09-17-51-oa-pc-post-deploy-ui-hardening-v1.csv","[""OAFRONT5-0""]","用户已批准按推荐继续部署和修复;2026-05-25 已执行首次部署和只读矩阵,发现付款批次复核人 UUID P1 后转入 OAFRONT5-9。" -"OAFRONT5-9","付款批次复核人内部 ID 展示修复","部署后 PC 视觉矩阵发现付款批次详情的复核人字段仍展示内部 UUID,导致 finance/finance_mgr 页面各 1 个 P1 finding;修复展示层,不改付款流程。","首轮复核人、二次复核人等复核字段不再向用户展示 UUID;若后端只返回内部 ID,前端显示“已记录”;付款批次状态、复核、执行、取消和回单逻辑不变。","受影响流程:财务登录 -> 付款批次 -> 查看详情 -> 复核要求;验证步骤:client typecheck/build;check-ui-design-rules;部署后复跑 PC 只读视觉矩阵,finance/finance_mgr /payment-batches UUID P1 清零。","typescript|playwright|node","DONE","DONE","TODO","client/src/pages/PaymentBatchesPage.tsx;issues/2026-05-25_09-17-51-oa-pc-post-deploy-ui-hardening-v1.csv","[""OAFRONT5-2""]","本地证据:client typecheck/build 通过且无 Circular chunk warning;check-ui-design-rules findings=0;check-process-contract baseline/general 通过;audit-docs errors=0;quick_validate 通过;git diff --check 通过;bash scripts/check-minimal.sh 通过。公网回归待部署后复跑 PC 只读视觉矩阵。回滚路径:还原前端展示 helper;不触碰后端付款状态、审批/复核数据或真实付款记录。" -"OAFRONT5-10","资产 ERP 摘要内部码值中文化","部署后 PC 矩阵仍发现资产台账 ERP 摘要暴露 changeType/created 等内部码值;修复展示层,不改 ASSET1 资产模型、ERP 开关或资产台账数据。","资产 ERP 摘要使用中文字段名和中文变更/状态标签;资产编号、分类、法体、成本中心等业务元数据保留;不保存或展示密码、token、Secret、源码包或完整路径。","受影响流程:管理员登录 -> 资产台账 -> 选中资产 -> ERP 同步状态;验证步骤:client typecheck/build;check-ui-design-rules;部署后 PC 只读矩阵 admin /assets raw status P2 清零或仅剩可解释测试数据。","typescript|playwright|node","DONE","DONE","TODO","client/src/pages/AssetRegistryPage.tsx;issues/2026-05-25_09-17-51-oa-pc-post-deploy-ui-hardening-v1.csv","[""OAFRONT5-2""]","本地已修:ERP 摘要最近 changeType 改为最近变更,created/updated/retired/archived 映射为中文;资产状态使用资产状态标签。typecheck/build、check-ui-design-rules 通过。Regression 待部署后矩阵确认。回滚路径:还原资产 ERP 摘要展示 helper,不触碰资产数据或 ERP 同步开关。" +"OAFRONT5-9","付款批次复核人内部 ID 展示修复","部署后 PC 视觉矩阵发现付款批次详情的复核人字段仍展示内部 UUID,导致 finance/finance_mgr 页面各 1 个 P1 finding;修复展示层,不改付款流程。","首轮复核人、二次复核人等复核字段不再向用户展示 UUID;若后端只返回内部 ID,前端显示“已记录”;付款批次状态、复核、执行、取消和回单逻辑不变。","受影响流程:财务登录 -> 付款批次 -> 查看详情 -> 复核要求;验证步骤:client typecheck/build;check-ui-design-rules;部署后复跑 PC 只读视觉矩阵,finance/finance_mgr /payment-batches UUID P1 清零。","typescript|playwright|node","DONE","DONE","DONE","client/src/pages/PaymentBatchesPage.tsx;issues/2026-05-25_09-17-51-oa-pc-post-deploy-ui-hardening-v1.csv","[""OAFRONT5-2""]","已修并部署:client typecheck/build 通过且无 Circular chunk warning;check-ui-design-rules findings=0;check-process-contract baseline/general 通过;audit-docs errors=0;quick_validate 通过;git diff --check 通过;bash scripts/check-minimal.sh 通过。最终矩阵 artifacts/qa-flow/oafront3-pc-readonly-visual-20260525-101659/summary.json 中 finance/finance_mgr /payment-batches UUID P1 清零。回滚路径:还原前端展示 helper;不触碰后端付款状态、审批/复核数据或真实付款记录。" +"OAFRONT5-10","资产 ERP 摘要内部码值中文化","部署后 PC 矩阵仍发现资产台账 ERP 摘要暴露 changeType/created 等内部码值;修复展示层,不改 ASSET1 资产模型、ERP 开关或资产台账数据。","资产 ERP 摘要使用中文字段名和中文变更/状态标签;资产编号、分类、法体、成本中心等业务元数据保留;不保存或展示密码、token、Secret、源码包或完整路径。","受影响流程:管理员登录 -> 资产台账 -> 选中资产 -> ERP 同步状态;验证步骤:client typecheck/build;check-ui-design-rules;部署后 PC 只读矩阵 admin /assets raw status P2 清零或仅剩可解释测试数据。","typescript|playwright|node","DONE","DONE","DONE","client/src/pages/AssetRegistryPage.tsx;issues/2026-05-25_09-17-51-oa-pc-post-deploy-ui-hardening-v1.csv","[""OAFRONT5-2""]","已修并部署:ERP 摘要最近 changeType 改为最近变更,created/updated/retired/archived 映射为中文;资产状态使用资产状态标签。最终矩阵 artifacts/qa-flow/oafront3-pc-readonly-visual-20260525-101659/summary.json 中 /assets raw status P2 清零,仅剩测试分类/业务标识长数字 P2。回滚路径:还原资产 ERP 摘要展示 helper,不触碰资产数据或 ERP 同步开关。"