文件
hyb-oa/.trellis/tasks/05-30-fix-erp-boundary-asset-consistency/prd.md
T

5.8 KiB
原始文件 Blame 文件历史

修正 ERP 边界与资产页面一致性

Goal

把用户反馈的产品边界和资产页面一致性问题收口到同一批改造:OA 不再出现 ERP 作为当前或未来接入对象;账号展示使用中文姓名和员工编号;资产列表、资产详情和资产操作区回到全系统统一的成熟企业台账/详情页规则。

What I already know

  • 目标用户是国内、小于 10 人的科技初创公司,页面应优先采用成熟 OA / Feishu / Ant Design Pro 式常规交互,不做创新型操作命名或解释性堆砌。
  • 用户明确确认:系统中没有 ERP,以后也不会有 ERP。
  • 员工账号应有中文姓名和员工编号,不能在真实可见路径里默认展示 Admin、Employee、Finance Manager 这类英文角色名。
  • client/src/pages/AssetRegistryPage.tsx 的资产列表仍使用页面本地 Table 组件结构,视觉密度和报销等列表不一致。
  • 资产详情页仍是单列大卡堆叠,存在基础信息、责任归档、流转、ERP 同步、AI 建议、保存动作等多处操作与说明,和统一详情工作区的右侧状态/动作面板不一致。
  • server/src/scripts/seed-dev.js 默认开发账号姓名为英文角色名;client/tests/e2e/helpers/auth.ts 和多条 E2E fixture 也有英文名。
  • docs/产品设计规则.md 和 .trellis/spec/hyb-oa/frontend-react-vite-design.md 已有部分 no-ERP 事实,但仍把 ERP 写成“外部能力/外部系统”或资产高级轨道。

Requirements

  • 用户可见 UI、导航、设置、功能开关和资产/采购/报销详情的默认路径不得出现 ERP 文案、ERP 入口或 ERP 未来接入口径。
  • 后端 API、数据库表、历史迁移或内部代码中的 erp_* 技术遗留不在本任务大拆;但不能通过前端入口、菜单或说明暴露为产品能力。
  • 开发和自动化默认账号改为中文姓名,并保留员工编号。测试代码中需要登录识别的用户对象也应同步中文显示名。
  • 资产列表采用与报销列表一致的业务台账样式:单列列表首屏、统一 PrimaryTable + table-row/table-td 密度、右侧操作列、移动端卡片尾部动作。
  • 资产台账工具只承接低频管理能力,例如分类维护、高级筛选和新建资产;首屏不把工具详情铺在左侧或常驻在列表旁。
  • 资产详情采用统一详情工作区:顶部摘要、主内容区信息/证据、PC 右侧状态与操作面板,移动端保持单列和底部/就近主动作。
  • 资产流转动作集中到详情操作区,按钮横向排列;基础信息保存、领用、归还、调拨等动作位置稳定,不分散在多个大卡下方。
  • 资产详情默认减少解释性句子,仅保留安全/权限/高敏字段等必要边界提示。

Scope

  • 前端页面:资产台账/详情、报销详情财务导出暴露面、顶部账号展示、导航/设置/功能开关中的 ERP 入口隐藏。
  • 开发与测试账号:开发种子和常用 E2E fixture 的默认显示名改为中文,并保留员工编号展示。
  • 事实源:更新 docs/产品设计规则.md 和 .trellis/spec/hyb-oa/frontend-react-vite-design.md 中的 no-ERP 和资产详情操作区规则。
  • 验证:前端类型检查、构建、聚焦 Playwright/mock 视觉检查、Trellis task 校验、governance 和 diff 检查。

Acceptance Criteria

  • /assets PC 首屏资产列表和报销等台账使用一致的表格密度、右侧操作列和单列首屏结构。
  • 资产详情 PC 端出现统一右侧状态/动作面板;流转、保存、返回等动作不再分散在页面底部或独立大块中。
  • 资产详情默认不显示 ERP 同步状态、ERP 资产编号或 ERP 重试操作。
  • 管理入口、功能开关和普通业务页面不再向用户展示 ERP 作为系统能力。
  • 开发/E2E 默认账号中文显示名与员工编号同步,顶部账号、人员选择和测试 fixture 不再默认依赖英文角色名。
  • 文档和 Trellis spec 固化:OA 无 ERP,未来也不规划接入;资产页不以 ERP/会计固定资产账为产品口径。
  • 前端类型检查、构建、相关 Playwright 或截图检查通过;Trellis governance 和 git diff --check 通过。真实资产 E2E 因本地数据库 schema 漂移阻断,已记录在 implement.md。

Out of Scope

  • 不删除历史数据库迁移、已有后端 ERP 命名服务、历史 API 路径或老数据表,以免扩大破坏面;本任务只清理产品暴露面和当前默认 UI。
  • 不引入新的外部系统、财务软件、总账、银行直连、自动凭证或折旧模块。
  • 不重做资产数据模型、盘点任务引擎或二维码贴标全流程。
  • 不修改公网真实数据,除非后续部署/验证步骤明确需要并获得批准。

Test Plan

  • cd client && npm run typecheck
  • cd client && npm run build
  • 聚焦 Playwright:资产列表/详情、跨页面 UI 一致性、登录/顶部账号显示相关用例。
  • python3 ./.trellis/scripts/task.py validate 05-30-fix-erp-boundary-asset-consistency
  • node scripts/qa/check-trellis-governance.mjs
  • git diff --check
  • 若需要告知线上可测,部署后再跑公网 /ready、bundle copy 扫描和可用凭据范围内的 live smoke。

Technical Notes

  • 主要前端文件:client/src/pages/AssetRegistryPage.tsx、client/src/pages/ErpIntegrationPage.tsx、client/src/pages/SystemSettingsPage.tsx、client/src/pages/FeatureFlagsPage.tsx、client/src/features/navigation/schema.ts。
  • 账号/fixture:server/src/scripts/seed-dev.js、server/src/scripts/seed-trialrun.js、client/tests/e2e/helpers/auth.ts 和涉及 mock me.name 的 E2E。
  • 事实源:docs/产品设计规则.md、.trellis/spec/hyb-oa/frontend-react-vite-design.md。
  • 设计裁决按 frontend-design skill 和现有成熟企业页面基线执行。