归档资产与台账一致性任务(05-30)

这个提交包含在:
2026-05-31 10:25:09 +08:00
父节点 ea13726481
当前提交 59c942da54
共修改 10 个文件,包含 6 行新增和 6 行删除
@@ -0,0 +1,3 @@
{"file": ".trellis/spec/hyb-oa/frontend-react-vite-design.md", "reason": "检查列表/详情/动作区是否符合统一成熟页面规则"}
{"file": "docs/产品设计规则.md", "reason": "检查无 ERP、员工姓名编号、资产业务边界是否沉淀"}
{"file": ".trellis/spec/hyb-oa/security-privacy.md", "reason": "检查敏感信息和外部系统文案没有误暴露"}
@@ -0,0 +1,3 @@
{"file": ".trellis/spec/hyb-oa/frontend-react-vite-design.md", "reason": "统一前端页面基线、资产台账和详情页动作区规则"}
{"file": "docs/产品设计规则.md", "reason": "产品边界、无 ERP 口径、资产管理业务事实"}
{"file": ".trellis/spec/hyb-oa/security-privacy.md", "reason": "资产敏感字段与外部系统文案清理的隐私边界"}
@@ -0,0 +1,19 @@
# 实施说明
## 设计决策
- ERP 是产品边界外能力:当前 UI、导航、设置、功能开关和默认业务详情不再暴露 ERP 入口、同步状态或未来接入口径。
- 资产首屏按业务台账处理:列表只负责查找、状态和进入详情,详情采用主内容区加 PC 右侧操作面板。
- 资产操作区集中承接保存、领用、归还和调拨,按钮横向排列,普通解释文案不默认展示。
- 账号默认展示中文姓名和员工编号;已有本地账号的 `employee_no` 不强制更新,因为数据库约束把员工号视为不可变字段。
## 验证限制
- 本地真实资产 E2E 曾受数据库迁移漂移阻断,当前库缺少 `asset_cards.asset_type` 和 `purchase_requests.project_id` 等列;本任务当时未擅自执行数据库迁移。
- 资产页面已用 mock API 做浏览器检查,验证无 ERP 文案、右侧操作区、中文姓名和员工号展示。
## 收口结果
- 实现提交:`f299cee 修正 ERP 边界与资产页面一致性(05-30-fix-erp-boundary-asset-consistency)`。
- 数据库漂移已由 `05-31-fix-assets-e2e-schema-drift` 在用户确认后修复;`assets-flow.spec.ts` 真实主链路已通过。
- 公网部署复检已由 `05-31-deploy-asset-ledger-consistency-public-check` 完成,公网 bundle 文案扫描 findings=0,确认 ERP 产品暴露未回退。
@@ -0,0 +1,67 @@
# 修正 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
- [x] `/assets` PC 首屏资产列表和报销等台账使用一致的表格密度、右侧操作列和单列首屏结构。
- [x] 资产详情 PC 端出现统一右侧状态/动作面板;流转、保存、返回等动作不再分散在页面底部或独立大块中。
- [x] 资产详情默认不显示 ERP 同步状态、ERP 资产编号或 ERP 重试操作。
- [x] 管理入口、功能开关和普通业务页面不再向用户展示 ERP 作为系统能力。
- [x] 开发/E2E 默认账号中文显示名与员工编号同步,顶部账号、人员选择和测试 fixture 不再默认依赖英文角色名。
- [x] 文档和 Trellis spec 固化:OA 无 ERP,未来也不规划接入;资产页不以 ERP/会计固定资产账为产品口径。
- [x] 前端类型检查、构建、相关 Playwright 或截图检查通过;Trellis governance 和 `git diff --check` 通过。真实资产 E2E 的本地数据库 schema 漂移已由后续任务 `05-31-fix-assets-e2e-schema-drift` 解决并通过复检。
## 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 和现有成熟企业页面基线执行。
@@ -0,0 +1,33 @@
{
"id": "fix-erp-boundary-asset-consistency",
"name": "fix-erp-boundary-asset-consistency",
"title": "修正 ERP 边界与资产页面一致性",
"description": "清理用户可见 ERP 产品暴露,统一资产台账/详情交互,并同步中文姓名与员工编号展示。",
"status": "completed",
"dev_type": null,
"scope": "client,server,docs,trellis-spec",
"package": null,
"priority": "P2",
"creator": "shunli",
"assignee": "shunli",
"createdAt": "2026-05-30",
"completedAt": "2026-05-31",
"branch": null,
"base_branch": "main",
"worktree_path": null,
"commit": null,
"pr_url": null,
"subtasks": [],
"children": [],
"parent": null,
"relatedFiles": [
"client/src/pages/AssetRegistryPage.tsx",
"client/src/pages/ReimbursementDetailPage.tsx",
"client/src/components/navigation/Topbar.tsx",
"server/src/scripts/seed-dev.js",
"docs/产品设计规则.md",
".trellis/spec/hyb-oa/frontend-react-vite-design.md"
],
"notes": "",
"meta": {}
}
@@ -0,0 +1,3 @@
{"file":".trellis/spec/hyb-oa/frontend-react-vite-design.md","reason":"检查业务台账是否保持单列列表、显式详情和紧凑筛选。"}
{"file":".trellis/spec/hyb-oa/deployment-trialrun.md","reason":"部署、公网复检和可测试告知边界。"}
{"file":".trellis/spec/hyb-oa/project-governance.md","reason":"检查 Trellis task、提交、验证和交付流程是否闭环。"}
@@ -0,0 +1,3 @@
{"file":".trellis/spec/hyb-oa/frontend-react-vite-design.md","reason":"业务台账首屏、成熟企业页面基线、按钮命名和详情页布局约束。"}
{"file":".trellis/spec/hyb-oa/project-governance.md","reason":"Trellis task、提交、验证和 solo developer 工作流约束。"}
{"file":".trellis/spec/hyb-oa/deployment-trialrun.md","reason":"公网部署、公网检查和可测试告知边界。"}
@@ -0,0 +1,20 @@
# 实施说明
## 页面策略
- 业务台账首屏统一为单列列表:付款、资产、采购、票据、应付账款、报销和项目不得默认渲染详情区。
- 详情必须由用户显式进入:使用 `?id=`、详情路由或行级 `查看详情`,不自动选择第一条记录。
- `台账工具` 固定为页头右侧入口,展开后占据列表上方全宽区域,不作为左侧栏或右侧提示栏。
- 状态摘要使用紧凑 chips/tabs/counts,去掉普通工作流解释句和大型状态卡。
## 风险控制
- 不改后端 API、权限校验、审批状态机和付款执行语义。
- 旧 E2E 按新交互同步:票据上传/绑定先打开 `台账工具`,付款执行进入批次详情。
- 资产盘点保留执行页例外,但首屏不自动选择盘点任务。
## 收口结果
- 实现提交:`16fd9bd 统一业务台账首屏布局(05-30-fix-payment-ledger-layout-consistency)`。
- 公网部署复检已由 `05-31-deploy-asset-ledger-consistency-public-check` 完成,部署基线 `c669401`,公网 `/ready`、bundle 文案扫描、live readiness、登录/工作台视觉和台账/财务视觉检查均通过。
- 部署和复检未覆盖远端 `.env`,未执行真实付款、ERP 写入、企业微信写入或数据库重置。
@@ -0,0 +1,185 @@
# 修正业务台账首屏布局一致性
## Goal
修正用户指出的台账统一规则漏改问题,并扩展为所有业务台账页一致性审查。统一采用成熟企业系统常见的列表边界:首屏只做查找、筛选、状态判断和进入详情;详情通过显式入口进入独立详情/编辑视图;台账工具在页头右侧触发并展开为列表上方的工具区,不挤压列表,不在首屏默认塞入详情工作台。
## What I already know
- 用户明确反馈:
- `付款` 还没按统一规则改。
- 台账虽然是列表,但详情在列表下面,仍然不一致。
- `台账工具` 还在左侧,和其他页面操作区域不一致。
- 需要继续检查其他页面,避免只修局部后同类问题继续存在。
- 已确认的统一规则:
- 业务台账首屏统一为单列列表。
- 不默认左列表/右详情,不自动选中第一条记录。
- 不在列表下方自动展开详情。
- 状态摘要用 Tab/Chip/counts,不使用大状态卡片。
- `台账工具` 属于页头右侧操作,低频工具展开在列表上方或独立面板,不作为左侧栏。
- 详情页采用独立详情工作区:PC 顶部摘要、中部事实/证据/明细、右侧或顶部动作区;移动端单列。
- 已定位代码:
- `client/src/pages/PaymentBatchesPage.tsx`
- 仍有 `WorkspaceHeader` 副标题解释文案。
- 仍有 `finance-status-strip` 五张大指标卡。
- `selectedBatch` 默认回退到 `batches[0]`,会自动选中首条。
- `useEffect` 自动写入 `?id=`。
- 主体为 `xl:grid-cols-[340px,minmax(0,1fr)]` 的左列表/右详情。
- `client/src/pages/AssetRegistryPage.tsx`
- `showLedgerTools` 时使用 `xl:grid-cols-[380px,minmax(0,1fr)]`,台账工具成为左侧列。
- 点击资产行后保持列表并在下方直接渲染详情/编辑区。
- 详情仍依赖 `selectedAssetId || isCreatingAsset` 在列表页面下方展开。
- `client/src/pages/PurchaseRequestsPage.tsx`
- 仍有 `selectedId`、`?id`、行高亮和列表下方详情区。
- `id` 模式仍像内嵌详情,不像独立详情工作区。
- `client/src/pages/InvoicePoolPage.tsx`
- 会在列表数据返回后自动选中第一张票据。
- 仍有页头解释性副标题和五张大状态卡。
- 列表后默认渲染 `InvoiceDetailPanel`。
- `client/src/pages/InventoryChecksPage.tsx`
- 资产盘点是任务执行页而非普通台账,但当前使用大状态卡、左侧新建/列表、右侧详情执行工作台,并自动选中第一条盘点任务。
- 本轮需要判断是否按“资产执行页例外”处理,至少不能混入普通资产台账首屏。
- 已初步检查但不作为主要改造目标:
- `client/src/pages/ReimbursementsPage.tsx`:当前更接近列表优先,详情走独立路由。
- `client/src/pages/ContractsRegistryPage.tsx`:台账工具位于上方,但新建/编辑仍在列表前方,需做防回退和局部降噪检查。
- `client/src/pages/ProjectsPage.tsx`:项目详情走独立路由,台账工具位于上方;工具区内有低频查看侧块,需做一致性检查。
- `client/src/pages/ApOperationsPage.tsx`:应付账款是财务操作页,采用 tabs/list 和上方工具;`财务台账` tab 默认筛选较多,需检查是否压缩到常用筛选/台账工具。
## Assumptions
- `付款`、`资产`、`采购`、`票据` 都是业务台账列表,不是双列工作台。
- `资产`、`采购`、`票据` 的详情/编辑表单可以继续复用现有组件代码,但显示方式改为独立视图,不再压在列表下方。
- `盘点任务` 可以保留执行页属性,但不能影响普通资产台账;如果保留主从工作台,也必须在 PRD/规范中明确它是任务执行页例外,而不是业务台账默认形态。
- 本轮只修 PC 台账一致性;移动资产扫码/移动页面不改业务流程。
- 付款批次主链路测试需要同步更新:创建批次后进入详情视图,详情里的复核、回单、执行操作继续可用。
## Proposed Plan
1. 全量页面归类:
- 业务台账页:`报销`、`采购`、`合同台账`、`项目`、`资产`、`付款`、`应付账款`、`票据`。
- 必改页面:`付款`、`资产`、`采购`、`票据`。
- 防回退检查页面:`报销`、`合同台账`、`项目`、`应付账款`。
- 例外/单独判断页面:`资产盘点` 是任务执行页;`请假记录`、`考勤` 是企业微信边界页;管理配置页不套普通台账首屏规则。
2. `付款` 页面:
- 去掉页头解释性副标题。
- 去掉五张大状态卡,改为列表上方紧凑 Tab/Chip:`全部`、`待复核`、`待付款`、`待补回单`、`异常`。
- 首屏只显示批次列表表格/卡片,列包含批次、实体/金额、状态/复核、回单、操作。
- 不自动选中首条,不自动写入 `?id=`。
- 行操作使用 `查看详情`;可保留低风险快捷动作,但优先详情页处理。
- `?id=<batchId>` 时显示独立付款批次详情视图,不再同时显示左列表。
- `台账工具` 仍为页头右侧按钮;展开时显示在列表上方全宽工具区。
3. `资产` 页面:
- `台账工具` 展开为页头下方全宽工具区,不再作为左侧列。
- 首屏只显示筛选 + 资产列表;点击行进入 `?id=<assetId>` 的独立资产详情/编辑视图,不在列表下方展开。
- `新建资产卡片` 进入独立创建视图,创建完成后进入该资产详情。
- 列表页增加右侧操作列 `查看详情`,保持行点击可用但不高亮当前行。
4. `采购` 页面:
- `/purchase-requests` 首屏只显示筛选 + 采购申请列表。
- `?id=<purchaseRequestId>` 改为独立详情/编辑视图,不在列表下方继续展示详情。
- 行操作统一为 `查看详情`、`继续编辑`、`查看进度` 等常规动作,审批动作仍进入统一待办/审批详情。
- 台账工具仅承接创建、导出、归档/ERP 等低频能力,不作为第二个主体区域。
5. `票据` 页面:
- `/invoice-pool` 不自动选中第一张票据。
- 去掉页头解释性副标题和五张大状态卡,改为紧凑状态 tabs/chips。
- 列表首屏只显示票据列表、识别/绑定状态和操作;详情通过显式 `查看详情` 打开独立详情视图或抽屉。
6. `资产盘点` 页面:
- 先审查并明确页面模板:若作为资产执行页例外保留主从结构,需要在规范中写清“任务执行页例外”;否则改为盘点任务列表 + 独立盘点详情。
- 至少去掉默认自动选中和首屏大段解释文案,避免被误认为普通业务台账模板。
7. 防回退检查:
- `报销`、`合同台账`、`项目`、`应付账款` 保持列表优先、上方工具、详情显式进入。
- 若发现同类内嵌详情、默认选中、左侧工具挤压列表或多行默认筛选,纳入同一轮修正。
8. 测试同步:
- 更新付款批次、资产、采购、票据、视觉一致性相关断言,明确首屏不显示详情面板。
- 保持付款批次主链路仍能创建、复核、上传回单、执行。
9. 验证与发布:
- `cd client && npm run typecheck && npm run build`
- 聚焦 Playwright:付款、资产、采购、票据、财务视觉、跨页面一致性。
- 通过后提交、部署、公网复检。
## Scope
- 前端页面:付款、资产、采购、票据、资产盘点、应付账款、项目、报销。
- 测试:同步受布局变更影响的票据、付款、跨页面一致性、移动票据和高风险动作确认 E2E。
- 规范:沉淀业务台账首屏为单列列表、详情显式进入、台账工具页头右侧展开的统一规则。
- 不触碰后端 API、权限模型、审批状态机、付款执行语义和企业微信边界。
## Test Plan
- `cd client && npm run typecheck`
- `cd client && npm run build`
- `npx playwright test tests/e2e/pc-finance-admin-visual-wave4.spec.ts tests/e2e/r103-cross-page-ui-consistency.spec.ts tests/e2e/r92-mobile-invoice-usability.spec.ts --workers=1 --reporter=list`
- `npx playwright test tests/e2e/r102-reimbursement-main-flow.spec.ts --workers=1 --reporter=list`
- `npx playwright test tests/e2e/system-action-confirmation.spec.ts --workers=1 --reporter=list`
- `git diff --check`
- `python3 ./.trellis/scripts/task.py validate 05-30-fix-payment-ledger-layout-consistency`
- `node scripts/qa/check-trellis-governance.mjs`
## Requirements
- 付款列表首屏不得出现 `payment-batch-detail-panel`、`payment-batch-receipt-panel` 或批次项详情。
- 付款首屏不得出现五张 `finance-metric-card` 大状态卡。
- 付款首屏不得自动选择第一条批次。
- 资产列表首屏不得出现资产详情/编辑表单。
- 资产 `台账工具` 打开后不得作为左侧栏挤压列表;应位于列表上方或作为弹层/抽屉。
- 采购列表首屏不得在列表下方渲染采购详情/编辑区。
- 票据列表首屏不得自动选择第一张票据,不得默认渲染票据详情面板。
- 业务台账首屏不得使用左列表/右详情、左工具/右列表或列表下方详情作为默认形态。
- 业务台账首屏不得使用解释普通工作流的大段副标题、提示卡或说明句。
- 业务台账默认筛选应控制在一行常用项;高级筛选、导出、批量、统计、测试数据进入 `台账工具` 或高级筛选区。
- 所有台账工具按钮位置保持页头右侧。
- 不改变付款、资产、采购、票据的后端 API、权限模型和业务状态机。
## Acceptance Criteria
- [x] `/payment-batches` 首屏为单列列表,未带 `id` 时不渲染付款详情。
- [x] `/payment-batches?id=...` 为独立付款详情/处理视图,操作仍可复核、上传回单、执行。
- [x] `/assets` 首屏为单列资产列表,未带 `id` 时不渲染资产详情。
- [x] `/assets?id=...` 为独立资产详情/编辑视图。
- [x] `/purchase-requests` 首屏为单列采购列表,未带 `id` 时不渲染采购详情/编辑区。
- [x] `/purchase-requests?id=...` 为独立采购详情/编辑视图。
- [x] `/invoice-pool` 首屏为单列票据列表,未带 `id` 时不渲染票据详情。
- [x] `/invoice-pool?id=...` 或显式详情入口为独立票据详情视图/抽屉,不自动选择第一条。
- [x] `台账工具` 在付款、资产页面均为页头右侧入口,展开后不变成左侧栏。
- [x] `报销`、`合同台账`、`项目`、`应付账款` 经检查无默认内嵌详情、默认选中第一条、左侧工具挤压列表或多行默认筛选的回退。
- [x] `资产盘点` 的页面模板和例外口径明确,不误导为普通业务台账默认样式。
- [x] 相关 E2E 和构建通过。
- [x] 部署并公网复检通过后再告知可线上测试。
## Out of Scope
- 不改付款、资产、采购、票据后端模型。
- 不新增付款审批/支付能力。
- 不改企业微信、考勤、请假边界。
- 不重做所有详情页视觉,只处理台账首屏与详情入口一致性。
- 不把管理配置页、审计排障页强行改成普通业务台账页。
## Technical Notes
- 相关规范:
- `.trellis/spec/hyb-oa/frontend-react-vite-design.md`
- `.trellis/spec/hyb-oa/project-governance.md`
- 相关页面:
- `client/src/pages/PaymentBatchesPage.tsx`
- `client/src/pages/AssetRegistryPage.tsx`
- `client/src/pages/PurchaseRequestsPage.tsx`
- `client/src/pages/InvoicePoolPage.tsx`
- `client/src/pages/InventoryChecksPage.tsx`
- `client/src/pages/ReimbursementsPage.tsx`
- `client/src/pages/ContractsRegistryPage.tsx`
- `client/src/pages/ProjectsPage.tsx`
- `client/src/pages/ApOperationsPage.tsx`
- 相关测试候选:
- `client/tests/e2e/main-flow.spec.ts`
- `client/tests/e2e/reimbursement-payment-batch-flow.spec.ts`
- `client/tests/e2e/assets-flow.spec.ts`
- `client/tests/e2e/purchase-requests*.spec.ts`
- `client/tests/e2e/*invoice*.spec.ts`
- `client/tests/e2e/pc-finance-admin-visual-wave4.spec.ts`
- `client/tests/e2e/r103-cross-page-ui-consistency.spec.ts`
## Definition of Done
- 代码、测试、规范/任务文档保持一致。
- 本地构建和聚焦 E2E 通过。
- 提交中文 commit,包含 Trellis task 名称。
- 公网部署和复检通过后,才告知用户可以看线上效果。
@@ -0,0 +1,34 @@
{
"id": "fix-payment-ledger-layout-consistency",
"name": "fix-payment-ledger-layout-consistency",
"title": "修正付款与台账详情布局一致性",
"description": "统一业务台账首屏为单列列表,修正付款、资产、采购、票据、应付账款等页面默认详情和工具区不一致问题。",
"status": "completed",
"dev_type": "frontend",
"scope": "client,docs,trellis-spec",
"package": "hyb-oa",
"priority": "P2",
"creator": "shunli",
"assignee": "shunli",
"createdAt": "2026-05-30",
"completedAt": "2026-05-31",
"branch": null,
"base_branch": "main",
"worktree_path": null,
"commit": null,
"pr_url": null,
"subtasks": [],
"children": [],
"parent": null,
"relatedFiles": [
"client/src/pages/PaymentBatchesPage.tsx",
"client/src/pages/AssetRegistryPage.tsx",
"client/src/pages/PurchaseRequestsPage.tsx",
"client/src/pages/InvoicePoolPage.tsx",
"client/src/pages/ApOperationsPage.tsx",
".trellis/spec/hyb-oa/frontend-react-vite-design.md",
"docs/产品设计规则.md"
],
"notes": "",
"meta": {}
}