拆分页面改造任务(page-design-rules-audit)
这个提交包含在:
@@ -1308,25 +1308,36 @@ V1 业务口径:固定资产不另做复杂财务固定资产系统,而是
|
||||
|
||||
## 5. 后续实施优先级
|
||||
|
||||
P0:不继续整改,保持当前已收敛方向
|
||||
本轮已拆成 8 个后续实施 Trellis 子任务。执行时一次只启动一个子任务,避免单人开发同时改动过多页面。每个子任务必须先按自己的 `prd.md` 给实现方案,再进入代码改造、前端构建和聚焦 Playwright/截图验证。
|
||||
|
||||
P0:保持当前已收敛方向,不单独开实施任务
|
||||
|
||||
- 工作台:保持任务优先,不恢复快速上手常驻区。
|
||||
- 待我处理:保持查看处理优先,不恢复 HR/考勤 OA 快批。
|
||||
- 报销列表:保持我的报销 + 台账工具模式。
|
||||
|
||||
P1:建议下一批优先优化
|
||||
P1:下一批优先实施
|
||||
|
||||
- 报销详情:减少重复付款/摘要展示,进一步规范更多区和右侧动作区。
|
||||
- 采购页:从后台双栏表单改为任务/状态/证据/动作顺序。
|
||||
- 请假记录、考勤、企微审批历史:统一企微主办镜像口径,避免误导为 OA 日常入口。
|
||||
- 个人设置:确认默认只保留个人资料、密码/安全、通知偏好、企微绑定,折叠组织/角色。
|
||||
| 子任务 | 页面范围 | 目标 |
|
||||
| --- | --- | --- |
|
||||
| `05-30-reimbursement-detail-evidence-actions` | 报销详情 | 减少重复付款/摘要展示,规范证据区、更多区和右侧动作区 |
|
||||
| `05-30-purchase-request-task-layout` | 采购 PC/移动 | 从后台双栏表单改为任务卡、状态、证据、动作顺序 |
|
||||
| `05-30-wecom-hr-boundary-pages` | 请假记录、考勤、企微审批历史、移动请假 | 统一企微主办镜像口径,避免误导为 OA 日常入口 |
|
||||
| `05-30-profile-settings-boundary` | 个人设置、移动我的、管理入口 | 个人只保留个人资料、密码/安全、通知偏好、企微绑定;管理能力统一进管理 |
|
||||
|
||||
P2:低频/管理页统一规范
|
||||
P2:后续批次
|
||||
|
||||
- 付款、AP、票据:统一“台账工具”与异常优先模式。
|
||||
- 项目、合同、资产:统一轻管理台账 + 详情命令面板。
|
||||
- 管理配置:统一管理聚合、命令栏、表格、风险确认和审计提示。
|
||||
- 移动端:统一焦点卡、卡片列表、底部动作和 HR/考勤企微边界文案。
|
||||
| 子任务 | 页面范围 | 目标 |
|
||||
| --- | --- | --- |
|
||||
| `05-30-finance-ledger-tools-redesign` | 付款、AP、票据 | 统一台账工具、异常优先、付款动作集中和代账交接摘要 |
|
||||
| `05-30-project-contract-ledger-detail-shell` | 项目、项目详情、合同台账 | 统一轻管理台账、详情命令面板和跨模块摘要跳转 |
|
||||
| `05-30-asset-inventory-mobile-redesign` | 资产、盘点、移动资产扫码 | 统一资产责任链、盘点任务和移动扫码确认 |
|
||||
| `05-30-mobile-light-action-surfaces` | 移动首页、审批、报销、采购、通知、我的 | 统一焦点卡、卡片列表、底部动作和移动轻动作边界 |
|
||||
|
||||
P3:暂不拆独立任务
|
||||
|
||||
- 管理配置页整体重构:先由 `05-30-profile-settings-boundary` 收敛个人/管理边界;后续如仍复杂,再单独拆管理配置统一任务。
|
||||
- 差旅、预算、周报、公告、团队、Payroll、Performance、ERP 集成、切换控制台等低频/冻结/管理页面:仅在真实使用频率上升或前置任务发现入口冲突时再拆。
|
||||
|
||||
## 6. 回写建议
|
||||
|
||||
|
||||
@@ -83,15 +83,16 @@
|
||||
- `2026-05-30`:财务台账 V1 只做付款准备、付款批次、回单留痕、AP 状态、票据/OCR 状态和代账交接摘要,不做完整财务软件。银行直连真实支付、银行流水自动导入、ERP/总账、凭证生成、自动对账和税务申报不进入当前财务页面;真实付款继续在线下银行或既有财务/代账流程完成,OA 只记录状态、证据和交接摘要。
|
||||
- `2026-05-30`:个人设置和管理配置彻底分离。`个人设置` 只放个人资料、密码/安全、通知偏好和企业微信绑定;组织、角色、审批规则、功能开关、主数据、审计日志、人员维护和系统配置统一进入 `管理`,不出现在普通员工路径或个人资料页里。
|
||||
- `2026-05-30`:多角色用户不做全局身份切换器。用户一人多岗时,页面按当前任务自动显示最相关视角;需要跨范围查看时,只在具体台账内提供 `我相关 / 我负责 / 财务处理 / 全范围` 等授权范围切换,不要求用户先选择“员工/财务/管理员”身份再使用系统。
|
||||
- `2026-05-30`:后续页面整改已拆成 8 个 Trellis 子任务。P1 先做报销详情、采购、企微主办 HR/考勤、个人设置边界;P2 再做财务台账、项目/合同、资产/盘点/移动扫码、移动端轻动作统一。工作台、待我处理和报销列表保持当前已收敛方向,不单独开实施任务。
|
||||
|
||||
## Acceptance Criteria
|
||||
|
||||
- [ ] `design.md` 覆盖当前路由清单中的所有页面或页面族,并给出布局/操作/降噪建议。
|
||||
- [ ] 规则能直接指导工作台、报销列表、报销详情、审批列表、审批详情、通知、管理配置、移动端等后续页面整改。
|
||||
- [ ] 明确 A/B/C 页面分级和优先级,能用于拆分后续 Trellis 实施任务。
|
||||
- [ ] 明确 OA/企业微信边界,避免请假、补卡、外出、加班等日常 HR/考勤流程在 OA 中重复处理。
|
||||
- [ ] 明确哪些规则应回写到长期事实源,哪些仅保留为本任务审查建议。
|
||||
- [ ] 验证计划覆盖文档治理校验,不把“规则梳理”误报为页面已整改或已部署。
|
||||
- [x] `design.md` 覆盖当前路由清单中的所有页面或页面族,并给出布局/操作/降噪建议。
|
||||
- [x] 规则能直接指导工作台、报销列表、报销详情、审批列表、审批详情、通知、管理配置、移动端等后续页面整改。
|
||||
- [x] 明确 A/B/C 页面分级和优先级,能用于拆分后续 Trellis 实施任务。
|
||||
- [x] 明确 OA/企业微信边界,避免请假、补卡、外出、加班等日常 HR/考勤流程在 OA 中重复处理。
|
||||
- [x] 明确哪些规则应回写到长期事实源,哪些仅保留为本任务审查建议。
|
||||
- [x] 验证计划覆盖文档治理校验,不把“规则梳理”误报为页面已整改或已部署。
|
||||
|
||||
## Test Plan
|
||||
|
||||
|
||||
@@ -18,7 +18,16 @@
|
||||
"commit": null,
|
||||
"pr_url": null,
|
||||
"subtasks": [],
|
||||
"children": [],
|
||||
"children": [
|
||||
"05-30-reimbursement-detail-evidence-actions",
|
||||
"05-30-purchase-request-task-layout",
|
||||
"05-30-wecom-hr-boundary-pages",
|
||||
"05-30-profile-settings-boundary",
|
||||
"05-30-finance-ledger-tools-redesign",
|
||||
"05-30-project-contract-ledger-detail-shell",
|
||||
"05-30-asset-inventory-mobile-redesign",
|
||||
"05-30-mobile-light-action-surfaces"
|
||||
],
|
||||
"parent": null,
|
||||
"relatedFiles": [
|
||||
".trellis/tasks/05-29-page-design-rules-audit/prd.md",
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
{"file": ".trellis/spec/hyb-oa/project-governance.md", "reason": "Required task validation and commit gate"}
|
||||
{"file": ".trellis/spec/hyb-oa/frontend-react-vite-design.md", "reason": "Required frontend typecheck/build and focused visual/Playwright checks"}
|
||||
{"file": ".trellis/spec/hyb-oa/security-privacy.md", "reason": "Check no secret, raw path or high-sensitive electronic asset leakage"}
|
||||
{"file": ".trellis/spec/hyb-oa/docs-and-evidence.md", "reason": "Evidence and report privacy rules"}
|
||||
@@ -0,0 +1,19 @@
|
||||
# 资产盘点与移动扫码页面重构设计
|
||||
|
||||
## Page Template
|
||||
|
||||
资产页使用 `主从工作台`,盘点页使用盘点任务工作台,移动扫码使用移动焦点卡 + 单一确认动作。
|
||||
|
||||
## Implementation Shape
|
||||
|
||||
- 资产台账主列聚焦资产编号、名称、类型、责任人/保管人、位置、状态和最近盘点。
|
||||
- 固定资产 `FA` 区分领用、归还、调拨、盘点和处置确认。
|
||||
- 电子资产只展示责任、权限回收、验证和归档索引,不做文件库。
|
||||
- 盘点任务与资产台账主动作分离。
|
||||
- 移动扫码先展示资产摘要,再确认盘点/归还/转交等动作。
|
||||
|
||||
## Verification Focus
|
||||
|
||||
- 固定资产、电子资料、盘点任务和分类维护不混在一个首屏。
|
||||
- 电子资产不展示密钥、源码、完整路径或备份内容。
|
||||
- 移动扫码在二维码不可用时可用资产编号或序列号兜底。
|
||||
@@ -0,0 +1,4 @@
|
||||
{"file": ".trellis/spec/hyb-oa/project-governance.md", "reason": "Trellis task, approval and solo-developer execution constraints"}
|
||||
{"file": ".trellis/spec/hyb-oa/frontend-react-vite-design.md", "reason": "Master-detail, mobile scan, sensitive action and page template rules"}
|
||||
{"file": ".trellis/spec/hyb-oa/security-privacy.md", "reason": "Electronic asset, secret and sensitive path display boundaries"}
|
||||
{"file": ".trellis/spec/hyb-oa/docs-and-evidence.md", "reason": "Evidence and report privacy rules"}
|
||||
@@ -0,0 +1,51 @@
|
||||
# 资产盘点与移动扫码页面重构
|
||||
|
||||
## Goal
|
||||
|
||||
统一资产台账、盘点任务和移动扫码页面,让资产页面优先回答“资产在哪、谁在用、谁负责、状态如何、是否需要盘点或离职交接”,避免把固定资产、电子资料、分类维护、盘点和流转动作混成后台大表单。
|
||||
|
||||
## Scope
|
||||
|
||||
- In scope:资产台账、盘点任务、移动资产扫码页面的信息结构、动作区和验证断言。
|
||||
- Out of scope:完整财务固定资产账、折旧凭证、密码库、源码托管、备份内容浏览和强制拍照盘点。
|
||||
|
||||
## Pages
|
||||
|
||||
- `client/src/pages/AssetRegistryPage.tsx`
|
||||
- `client/src/pages/InventoryChecksPage.tsx`
|
||||
- `client/src/pages/MobileAssetScanPage.tsx`
|
||||
|
||||
## Requirements
|
||||
|
||||
- 资产台账默认展示资产编号、名称、类型、责任人/保管人、位置、状态、最近盘点和下一步。
|
||||
- 固定资产 `FA` 突出二维码/序列号、领用/归还/调拨、盘点和处置确认。
|
||||
- 电子资料/系统/仓库/备份资产只展示索引、负责人、权限回收、备份/恢复验证和归档摘要,不做文件库、密码库或源码托管。
|
||||
- 采购/报销来源只作为资产候选和来源关联,不自动生成资产卡片。
|
||||
- 盘点页是盘点任务工作台,不和资产台账主动作混淆。
|
||||
- 移动扫码优先扫码,二维码不可用时允许输入资产编号或序列号;扫码后先展示摘要再确认动作。
|
||||
|
||||
## Out of Scope
|
||||
|
||||
- 不做完整财务固定资产账、折旧、残值、会计科目或月度折旧凭证。
|
||||
- 不保存密码、token、Secret、源码包、完整配置、真实完整路径或备份内容。
|
||||
- 不强制复杂拍照盘点,不给不适合贴标的资产硬贴标签。
|
||||
|
||||
## Acceptance Criteria
|
||||
|
||||
- [ ] 资产台账不把分类维护、盘点任务、资产流转和 ERP 同步混成一组首屏按钮。
|
||||
- [ ] 资产详情能说明责任链、位置、状态、来源和下一步。
|
||||
- [ ] 盘点任务和移动扫码动作清楚、单一、可确认。
|
||||
- [ ] 高敏电子资产只展示脱敏索引和责任摘要。
|
||||
|
||||
## Test Plan
|
||||
|
||||
- `cd client && npm run typecheck`
|
||||
- `cd client && npm run build`
|
||||
- 聚焦资产、盘点、移动资产扫描相关 Playwright/截图。
|
||||
- `node scripts/qa/check-trellis-governance.mjs`
|
||||
- `git diff --check`
|
||||
|
||||
## Implementation Notes
|
||||
|
||||
- 优先按 `FA` 固定资产主路径收敛页面,再处理电子资料索引展示。
|
||||
- 处置、下载、导出等高风险动作必须二次确认并展示对象摘要。
|
||||
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"id": "asset-inventory-mobile-redesign",
|
||||
"name": "asset-inventory-mobile-redesign",
|
||||
"title": "资产盘点与移动扫码页面重构",
|
||||
"description": "统一资产台账、盘点任务和移动扫码页面:固定资产责任链、二维码/序列号兜底、流转和处置动作归位。",
|
||||
"status": "planning",
|
||||
"dev_type": null,
|
||||
"scope": "frontend-page-redesign",
|
||||
"package": null,
|
||||
"priority": "P2",
|
||||
"creator": "shunli",
|
||||
"assignee": "shunli",
|
||||
"createdAt": "2026-05-30",
|
||||
"completedAt": null,
|
||||
"branch": null,
|
||||
"base_branch": "main",
|
||||
"worktree_path": null,
|
||||
"commit": null,
|
||||
"pr_url": null,
|
||||
"subtasks": [],
|
||||
"children": [],
|
||||
"parent": "05-29-page-design-rules-audit",
|
||||
"relatedFiles": [],
|
||||
"notes": "",
|
||||
"meta": {}
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
{"file": ".trellis/spec/hyb-oa/project-governance.md", "reason": "Required task validation and commit gate"}
|
||||
{"file": ".trellis/spec/hyb-oa/frontend-react-vite-design.md", "reason": "Required frontend typecheck/build and focused visual/Playwright checks"}
|
||||
{"file": ".trellis/spec/hyb-oa/reimbursement-invoice-ocr.md", "reason": "Check finance/payment/invoice boundary compliance"}
|
||||
{"file": ".trellis/spec/hyb-oa/docs-and-evidence.md", "reason": "Evidence and sensitive report rules"}
|
||||
@@ -0,0 +1,18 @@
|
||||
# 财务台账工具与异常优先重构设计
|
||||
|
||||
## Page Template
|
||||
|
||||
付款、应付账款、票据使用 `业务台账列表`。首屏突出待复核、待付款、待补回单、异常和导出/交接状态;低频工具进入台账工具。
|
||||
|
||||
## Implementation Shape
|
||||
|
||||
- 统一财务状态 strip 和命令栏。
|
||||
- 付款动作集中在付款/财务处理详情或明确任务面板。
|
||||
- AP、票据和付款页面各自保持语义,不把三类能力混成一个首屏。
|
||||
- 导出、全范围、批量和代账交接进入台账工具或选中后上下文条。
|
||||
|
||||
## Verification Focus
|
||||
|
||||
- 财务/出纳默认看到待处理财务事项。
|
||||
- 普通业务详情不直接执行付款动作。
|
||||
- 导出和回单相关操作受权限和审计提示约束。
|
||||
@@ -0,0 +1,4 @@
|
||||
{"file": ".trellis/spec/hyb-oa/project-governance.md", "reason": "Trellis task, approval and solo-developer execution constraints"}
|
||||
{"file": ".trellis/spec/hyb-oa/frontend-react-vite-design.md", "reason": "Finance ledger, table, command bar and payment action placement rules"}
|
||||
{"file": ".trellis/spec/hyb-oa/reimbursement-invoice-ocr.md", "reason": "Reimbursement, invoice, payment batch and AP export boundaries"}
|
||||
{"file": ".trellis/spec/hyb-oa/docs-and-evidence.md", "reason": "Evidence and sensitive report rules"}
|
||||
@@ -0,0 +1,51 @@
|
||||
# 财务台账工具与异常优先重构
|
||||
|
||||
## Goal
|
||||
|
||||
统一付款、应付账款和票据页面的财务台账体验:默认看待复核、待付款、待补回单、异常和导出/交接状态;真实付款仍在线下银行或既有财务流程完成,OA 只记录状态、证据和代账交接摘要。
|
||||
|
||||
## Scope
|
||||
|
||||
- In scope:付款、应付账款、票据页面的台账工具、异常优先、付款入口和财务验证断言。
|
||||
- Out of scope:银行直连、ERP/总账、凭证生成、自动对账、税务申报和真实付款执行。
|
||||
|
||||
## Pages
|
||||
|
||||
- `client/src/pages/PaymentBatchesPage.tsx`
|
||||
- `client/src/pages/ApOperationsPage.tsx`
|
||||
- `client/src/pages/InvoicePoolPage.tsx`
|
||||
- 必要时影响报销列表/详情中的付款入口展示。
|
||||
|
||||
## Requirements
|
||||
|
||||
- 财务页面默认按 `待复核/待付款/待补回单/异常` 组织,不默认进入全量大表。
|
||||
- `导出`、`批量`、`全范围`、`高级筛选`、`代账交接` 进入台账工具或选中后上下文工具。
|
||||
- 付款动作只在付款/财务处理详情或明确财务任务面板中执行,并展示金额、对象、来源单据、线下付款说明、证据和回单要求。
|
||||
- 票据池面向财务/OCR 状态和异常处理,不作为普通员工主导航和万能发票入口。
|
||||
- AP、报销、付款、票据概念清楚分开,不在一个首屏混合所有财务能力。
|
||||
|
||||
## Out of Scope
|
||||
|
||||
- 不做银行直连、银行流水导入、ERP/总账、凭证生成、自动对账或税务申报。
|
||||
- 不改变付款批次后端状态机或财务权限,除非现有 UI 暴露出必要只读字段缺口。
|
||||
- 不把真实回单、发票原件或敏感付款信息写入自动化报告。
|
||||
|
||||
## Acceptance Criteria
|
||||
|
||||
- [ ] 财务/出纳默认看到最需要处理的财务事项和异常。
|
||||
- [ ] 报销、采购、合同、项目普通详情不直接执行付款动作。
|
||||
- [ ] 财务导出和批量操作不作为首屏主按钮,并说明范围和敏感内容。
|
||||
- [ ] 票据、AP、付款页面文案使用自然中文,不使用 `AP 运营` 等内部平台词作为用户主语义。
|
||||
|
||||
## Test Plan
|
||||
|
||||
- `cd client && npm run typecheck`
|
||||
- `cd client && npm run build`
|
||||
- 聚焦付款、AP、票据和报销付款入口相关 Playwright/截图。
|
||||
- `node scripts/qa/check-trellis-governance.mjs`
|
||||
- `git diff --check`
|
||||
|
||||
## Implementation Notes
|
||||
|
||||
- 优先复用 finance/ops 状态条、列表卡和命令栏样式。
|
||||
- 财务页面的高风险动作必须有对象摘要、后果和审计路径。
|
||||
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"id": "finance-ledger-tools-redesign",
|
||||
"name": "finance-ledger-tools-redesign",
|
||||
"title": "财务台账工具与异常优先重构",
|
||||
"description": "统一付款、应付账款、票据页面的台账工具、异常优先、付款动作集中和代账交接摘要边界。",
|
||||
"status": "planning",
|
||||
"dev_type": null,
|
||||
"scope": "frontend-page-redesign",
|
||||
"package": null,
|
||||
"priority": "P2",
|
||||
"creator": "shunli",
|
||||
"assignee": "shunli",
|
||||
"createdAt": "2026-05-30",
|
||||
"completedAt": null,
|
||||
"branch": null,
|
||||
"base_branch": "main",
|
||||
"worktree_path": null,
|
||||
"commit": null,
|
||||
"pr_url": null,
|
||||
"subtasks": [],
|
||||
"children": [],
|
||||
"parent": "05-29-page-design-rules-audit",
|
||||
"relatedFiles": [],
|
||||
"notes": "",
|
||||
"meta": {}
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
{"file": ".trellis/spec/hyb-oa/project-governance.md", "reason": "Required task validation and commit gate"}
|
||||
{"file": ".trellis/spec/hyb-oa/frontend-react-vite-design.md", "reason": "Required frontend typecheck/build and representative mobile screenshot checks"}
|
||||
{"file": ".trellis/spec/hyb-oa/wecom-boundary.md", "reason": "Check mobile HR/attendance ownership boundaries"}
|
||||
{"file": ".trellis/spec/hyb-oa/docs-and-evidence.md", "reason": "Evidence and report privacy rules"}
|
||||
@@ -0,0 +1,19 @@
|
||||
# 移动端轻动作页面统一重构设计
|
||||
|
||||
## Page Template
|
||||
|
||||
移动端是 PC 六类模板的移动表达:顶部状态/焦点卡、卡片列表或分区详情、底部安全区主动作。不创建 PC 管理台缩小版。
|
||||
|
||||
## Implementation Shape
|
||||
|
||||
- 移动首页只展示状态摘要、今日待处理和条件出现的进度/提醒。
|
||||
- 移动列表统一搜索/状态筛选 + 卡片列表 + 一个主动作。
|
||||
- 移动详情统一顶部焦点卡 + 分区内容 + 底部动作。
|
||||
- 移动通知只做事件卡片流,点击直达目标业务或任务。
|
||||
- HR/考勤移动入口继续遵循企业微信主办边界。
|
||||
|
||||
## Verification Focus
|
||||
|
||||
- 代表性移动视口截图覆盖首页、审批、报销、采购、通知和我的。
|
||||
- 底部动作不遮挡内容,危险动作进入确认面板。
|
||||
- 移动端不出现全范围管理、批量导出、流程配置和宽表。
|
||||
@@ -0,0 +1,5 @@
|
||||
{"file": ".trellis/spec/hyb-oa/project-governance.md", "reason": "Trellis task, approval and solo-developer execution constraints"}
|
||||
{"file": ".trellis/spec/hyb-oa/frontend-react-vite-design.md", "reason": "Mobile shell, card list, focus card and bottom action rules"}
|
||||
{"file": ".trellis/spec/hyb-oa/wecom-boundary.md", "reason": "Mobile Enterprise WeChat and HR/attendance ownership boundaries"}
|
||||
{"file": ".trellis/spec/hyb-oa/reimbursement-invoice-ocr.md", "reason": "Mobile reimbursement and invoice capture boundaries"}
|
||||
{"file": ".trellis/spec/hyb-oa/docs-and-evidence.md", "reason": "Evidence and report privacy rules"}
|
||||
@@ -0,0 +1,58 @@
|
||||
# 移动端轻动作页面统一重构
|
||||
|
||||
## Goal
|
||||
|
||||
统一移动首页、移动审批、移动报销、移动采购、移动通知和移动我的的轻动作体验。手机和企业微信 WebView 只服务提交、补材料、查状态、处理待办、扫码/上传和消息直达,不复制 PC 管理台。
|
||||
|
||||
## Scope
|
||||
|
||||
- In scope:移动首页、移动审批、移动报销、移动采购、移动通知、移动我的和移动发票上传的统一轻动作结构。
|
||||
- Out of scope:原生 App、离线同步、服务端权限/状态机、全范围管理和移动端批量财务/审批工具。
|
||||
|
||||
## Pages
|
||||
|
||||
- `client/src/pages/MobilePortalPage.tsx`
|
||||
- `client/src/pages/MobileApprovalsPage.tsx`
|
||||
- `client/src/pages/MobileReimbursementsPage.tsx`
|
||||
- `client/src/pages/MobileReimbursementDetailPage.tsx`
|
||||
- `client/src/pages/MobilePurchaseRequestsPage.tsx`
|
||||
- `client/src/pages/MobilePurchaseRequestDetailPage.tsx`
|
||||
- `client/src/pages/MobileNotificationsPage.tsx`
|
||||
- `client/src/pages/MobileMePage.tsx`
|
||||
- `client/src/pages/MobileProfilePage.tsx`
|
||||
- `client/src/pages/MobileCapturePage.tsx`
|
||||
|
||||
## Requirements
|
||||
|
||||
- 移动首页使用顶部状态摘要、今日待处理和条件出现的进度/提醒,不放模块大全。
|
||||
- 移动列表统一为搜索/状态筛选、卡片列表和一个主动作,不使用宽表。
|
||||
- 移动详情统一为顶部焦点卡、分区内容和底部安全区动作。
|
||||
- 移动审批只处理 OA 主办审批;企微主办 HR/考勤回企微处理或只看历史/镜像。
|
||||
- 移动通知是事件卡片流,点击直达业务详情、审批任务或失败解释页,不复制审批列表。
|
||||
- 底部动作不遮挡内容,危险动作进入确认面板。
|
||||
|
||||
## Out of Scope
|
||||
|
||||
- 不在移动端承接全范围管理、批量导出、批量审批、批量付款、流程配置、功能开关、复杂筛选和管理配置。
|
||||
- 不新增原生 App 能力、离线同步或真机专属功能。
|
||||
- 不改变服务端权限和状态机。
|
||||
|
||||
## Acceptance Criteria
|
||||
|
||||
- [ ] 移动端所有核心页面都符合焦点卡/卡片列表/底部动作的统一结构。
|
||||
- [ ] 小屏按钮文字完整可读,底部动作避开安全区和键盘遮挡。
|
||||
- [ ] 移动通知不复制待办处理列表。
|
||||
- [ ] 移动 HR/考勤不误导为 OA 日常提交入口。
|
||||
|
||||
## Test Plan
|
||||
|
||||
- `cd client && npm run typecheck`
|
||||
- `cd client && npm run build`
|
||||
- 代表性移动视口 Playwright/截图:移动首页、审批、报销、采购、通知、我的。
|
||||
- `node scripts/qa/check-trellis-governance.mjs`
|
||||
- `git diff --check`
|
||||
|
||||
## Implementation Notes
|
||||
|
||||
- 这是跨多个移动页面的统一任务,实施时应分页面小步提交或至少分阶段验证截图。
|
||||
- 若发现 PC 与移动共享组件冲突,优先保留移动轻动作语义,不把 PC 管理壳搬到移动端。
|
||||
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"id": "mobile-light-action-surfaces",
|
||||
"name": "mobile-light-action-surfaces",
|
||||
"title": "移动端轻动作页面统一重构",
|
||||
"description": "统一移动首页、移动审批、移动报销、移动采购、移动通知、移动我的的焦点卡、卡片列表和底部动作规则。",
|
||||
"status": "planning",
|
||||
"dev_type": null,
|
||||
"scope": "frontend-page-redesign",
|
||||
"package": null,
|
||||
"priority": "P2",
|
||||
"creator": "shunli",
|
||||
"assignee": "shunli",
|
||||
"createdAt": "2026-05-30",
|
||||
"completedAt": null,
|
||||
"branch": null,
|
||||
"base_branch": "main",
|
||||
"worktree_path": null,
|
||||
"commit": null,
|
||||
"pr_url": null,
|
||||
"subtasks": [],
|
||||
"children": [],
|
||||
"parent": "05-29-page-design-rules-audit",
|
||||
"relatedFiles": [],
|
||||
"notes": "",
|
||||
"meta": {}
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
{"file": ".trellis/spec/hyb-oa/project-governance.md", "reason": "Required task validation and commit gate"}
|
||||
{"file": ".trellis/spec/hyb-oa/frontend-react-vite-design.md", "reason": "Required frontend typecheck/build and focused visual/Playwright checks"}
|
||||
{"file": ".trellis/spec/hyb-oa/security-privacy.md", "reason": "Check no role code, secret or sensitive account leakage"}
|
||||
{"file": ".trellis/spec/hyb-oa/docs-and-evidence.md", "reason": "Evidence and report privacy rules"}
|
||||
@@ -0,0 +1,18 @@
|
||||
# 个人设置与管理配置边界重构设计
|
||||
|
||||
## Page Template
|
||||
|
||||
个人设置使用轻量账号详情页;管理配置继续使用 `管理配置页`。二者入口、字段和动作分离,不共享复杂配置表单。
|
||||
|
||||
## Implementation Shape
|
||||
|
||||
- 个人设置主区只保留个人资料、安全、通知偏好和企微绑定。
|
||||
- 组织归属、直属上级和角色摘要折叠展示,隐藏权限 code 和维护动作。
|
||||
- 管理能力在 `SystemSettingsPage` 或对应管理页分组承接。
|
||||
- 移动我的只保留账号、通知、企微绑定和退出登录。
|
||||
|
||||
## Verification Focus
|
||||
|
||||
- 普通员工从工作台进入个人资料不会看到管理配置。
|
||||
- 管理员仍能从管理入口进入人员、组织、规则和系统配置。
|
||||
- 移动我的不展示管理矩阵。
|
||||
@@ -0,0 +1,4 @@
|
||||
{"file": ".trellis/spec/hyb-oa/project-governance.md", "reason": "Trellis task, approval and solo-developer execution constraints"}
|
||||
{"file": ".trellis/spec/hyb-oa/frontend-react-vite-design.md", "reason": "Profile, management page, shell and action placement rules"}
|
||||
{"file": ".trellis/spec/hyb-oa/security-privacy.md", "reason": "Sensitive account, role and identity information display boundaries"}
|
||||
{"file": ".trellis/spec/hyb-oa/docs-and-evidence.md", "reason": "Evidence and report privacy rules"}
|
||||
@@ -0,0 +1,52 @@
|
||||
# 个人设置与管理配置边界重构
|
||||
|
||||
## Goal
|
||||
|
||||
把个人设置、移动我的和管理配置边界彻底拆清:个人页面只服务本人资料、安全、通知偏好和企业微信绑定;组织、角色、审批规则、功能开关、主数据、审计和系统配置统一进入管理。
|
||||
|
||||
## Scope
|
||||
|
||||
- In scope:个人设置、移动我的、移动个人资料、管理入口边界和相关导航/入口断言。
|
||||
- Out of scope:权限模型、角色体系、账号绑定后端、企业微信 OAuth 后端和管理配置完整重构。
|
||||
|
||||
## Pages
|
||||
|
||||
- `client/src/pages/ProfilePage.tsx`
|
||||
- `client/src/pages/MobileMePage.tsx`
|
||||
- `client/src/pages/MobileProfilePage.tsx`
|
||||
- `client/src/pages/SystemSettingsPage.tsx`
|
||||
- 必要时同步管理入口页中与个人设置混淆的链接。
|
||||
|
||||
## Requirements
|
||||
|
||||
- 个人设置默认只展示个人资料、密码/安全、通知偏好、企业微信绑定。
|
||||
- 组织归属、直属上级、角色摘要可以折叠查看,但不提供维护矩阵或权限 code。
|
||||
- 移动我的只放账号身份、企微绑定、通知、退出登录和必要个人入口。
|
||||
- 管理配置统一承接人员、组织、角色、审批规则、主数据、通知渠道、外部系统、功能开关和审计。
|
||||
- 普通员工路径不展示系统配置、人员维护、流程定义或功能开关入口。
|
||||
|
||||
## Out of Scope
|
||||
|
||||
- 不改权限模型、不新增角色、不改变已有管理接口。
|
||||
- 不开发新的账号绑定后端或企业微信 OAuth 能力。
|
||||
- 不重做管理配置完整信息架构,只收敛个人/管理边界和入口误导。
|
||||
|
||||
## Acceptance Criteria
|
||||
|
||||
- [ ] 从工作台或快速入口进入个人资料时,用户不会看到复杂组织/权限/系统配置表单。
|
||||
- [ ] 个人设置没有审批规则、功能开关、主数据、审计日志和人员维护入口。
|
||||
- [ ] 管理配置入口能清楚承接低频系统能力。
|
||||
- [ ] 移动我的不出现管理矩阵。
|
||||
|
||||
## Test Plan
|
||||
|
||||
- `cd client && npm run typecheck`
|
||||
- `cd client && npm run build`
|
||||
- 聚焦个人设置、移动我的、管理配置入口和导航相关 Playwright/截图。
|
||||
- `node scripts/qa/check-trellis-governance.mjs`
|
||||
- `git diff --check`
|
||||
|
||||
## Implementation Notes
|
||||
|
||||
- 优先通过信息分组和入口显隐解决,不新增复杂设置框架。
|
||||
- 所有权限和数据范围仍由服务端校验,前端只做体验收敛。
|
||||
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"id": "profile-settings-boundary",
|
||||
"name": "profile-settings-boundary",
|
||||
"title": "个人设置与管理配置边界重构",
|
||||
"description": "重构个人设置、移动我的和管理配置入口边界:个人只放个人资料/安全/通知/企微绑定,管理能力统一进管理。",
|
||||
"status": "planning",
|
||||
"dev_type": null,
|
||||
"scope": "frontend-page-redesign",
|
||||
"package": null,
|
||||
"priority": "P1",
|
||||
"creator": "shunli",
|
||||
"assignee": "shunli",
|
||||
"createdAt": "2026-05-30",
|
||||
"completedAt": null,
|
||||
"branch": null,
|
||||
"base_branch": "main",
|
||||
"worktree_path": null,
|
||||
"commit": null,
|
||||
"pr_url": null,
|
||||
"subtasks": [],
|
||||
"children": [],
|
||||
"parent": "05-29-page-design-rules-audit",
|
||||
"relatedFiles": [],
|
||||
"notes": "",
|
||||
"meta": {}
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
{"file": ".trellis/spec/hyb-oa/project-governance.md", "reason": "Required task validation and commit gate"}
|
||||
{"file": ".trellis/spec/hyb-oa/frontend-react-vite-design.md", "reason": "Required frontend typecheck/build and focused visual/Playwright checks"}
|
||||
{"file": ".trellis/spec/hyb-oa/docs-and-evidence.md", "reason": "Evidence and sensitive material report rules"}
|
||||
{"file": ".trellis/spec/hyb-oa/security-privacy.md", "reason": "Check no sensitive contract/project material leakage"}
|
||||
@@ -0,0 +1,18 @@
|
||||
# 项目合同轻台账与详情命令面板重构设计
|
||||
|
||||
## Page Template
|
||||
|
||||
项目列表和合同台账使用 `业务台账列表`,项目详情和未来合同详情使用 `详情工作区`。关联区只做摘要和跳转。
|
||||
|
||||
## Implementation Shape
|
||||
|
||||
- 项目列表按我负责/我参与、进行中、有风险和近期跟进排序。
|
||||
- 项目详情按状态、负责人、里程碑/任务、风险、交付和关联业务摘要组织。
|
||||
- 合同台账突出待补附件、即将到期、待归档和关联缺失。
|
||||
- 合同附件和高敏材料默认摘要展示,查看/下载走授权路径。
|
||||
|
||||
## Verification Focus
|
||||
|
||||
- 项目和合同页面不承诺完整 PM/CLM 能力。
|
||||
- 关联采购、报销、付款、资产时不复制对方流程。
|
||||
- 无权限用户不能因关联摘要看到高敏字段。
|
||||
@@ -0,0 +1,5 @@
|
||||
{"file": ".trellis/spec/hyb-oa/project-governance.md", "reason": "Trellis task, approval and solo-developer execution constraints"}
|
||||
{"file": ".trellis/spec/hyb-oa/frontend-react-vite-design.md", "reason": "Ledger/detail template, relation summary and sensitive action placement rules"}
|
||||
{"file": ".trellis/spec/hyb-oa/approval-workflow.md", "reason": "Approval action boundaries if project/contract links to workflow tasks"}
|
||||
{"file": ".trellis/spec/hyb-oa/security-privacy.md", "reason": "Sensitive contract, attachment and project information display boundaries"}
|
||||
{"file": ".trellis/spec/hyb-oa/docs-and-evidence.md", "reason": "Evidence and sensitive material report rules"}
|
||||
@@ -0,0 +1,50 @@
|
||||
# 项目合同轻台账与详情命令面板重构
|
||||
|
||||
## Goal
|
||||
|
||||
统一项目和合同页面的轻台账、详情命令面板和跨模块关联方式。项目只做状态、负责人/成员、里程碑/任务、风险、交付记录和关联业务摘要;合同只做登记、归档、到期/续签提醒和关联项目/采购/付款。
|
||||
|
||||
## Scope
|
||||
|
||||
- In scope:项目列表、项目详情、合同台账的轻台账结构、详情命令面板和关联摘要展示。
|
||||
- Out of scope:完整项目管理软件、完整 CLM、电子签、条款库、合同审批工作台和正式成本核算。
|
||||
|
||||
## Pages
|
||||
|
||||
- `client/src/pages/ProjectsPage.tsx`
|
||||
- `client/src/pages/ProjectDetailPage.tsx`
|
||||
- `client/src/pages/ContractsRegistryPage.tsx`
|
||||
|
||||
## Requirements
|
||||
|
||||
- 项目列表默认展示我负责/我参与,优先进行中、有风险、近期需跟进项目。
|
||||
- 项目详情按状态、负责人、下一步、风险/里程碑、交付记录、关联报销/采购/合同/付款摘要组织。
|
||||
- 合同台账默认展示我负责/我可见,突出待补附件、即将到期、待归档、关联缺失和敏感下载待审计。
|
||||
- 合同详情使用状态与下一步、相对方、负责人、到期/续签提醒、附件完整性、关联项目/采购/付款、审计记录。
|
||||
- 跨模块关联只展示摘要和跳转,不直接审批采购、标记付款、处理发票/OCR、下载合同正文或处理资产。
|
||||
|
||||
## Out of Scope
|
||||
|
||||
- 不做完整项目管理软件、甘特图、复杂依赖、工时、资源排期、OKR 或项目组合管理。
|
||||
- 不做完整 CLM、电子签、条款库、红线审查、版本协同或法务会签工作台。
|
||||
- 不新增项目预算控制或正式成本核算。
|
||||
|
||||
## Acceptance Criteria
|
||||
|
||||
- [ ] 项目页能看清当前项目状态、风险、下一步和关联业务摘要。
|
||||
- [ ] 合同页能看清到期、附件完整性、归档和关联上下文。
|
||||
- [ ] 项目/合同关联区不突破原业务模块权限。
|
||||
- [ ] 高敏合同正文、报价、银行材料不出现在普通列表和自动化截图中。
|
||||
|
||||
## Test Plan
|
||||
|
||||
- `cd client && npm run typecheck`
|
||||
- `cd client && npm run build`
|
||||
- 聚焦项目、项目详情、合同台账相关 Playwright/截图。
|
||||
- `node scripts/qa/check-trellis-governance.mjs`
|
||||
- `git diff --check`
|
||||
|
||||
## Implementation Notes
|
||||
|
||||
- 先统一项目和合同的列表/详情信息顺序,再考虑抽取轻台账详情分区。
|
||||
- 如合同未来需要审批,仍跳转统一审批中心,不在合同台账内自建审批工作台。
|
||||
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"id": "project-contract-ledger-detail-shell",
|
||||
"name": "project-contract-ledger-detail-shell",
|
||||
"title": "项目合同轻台账与详情命令面板重构",
|
||||
"description": "统一项目和合同轻台账、详情命令面板、跨模块摘要跳转和敏感资料边界。",
|
||||
"status": "planning",
|
||||
"dev_type": null,
|
||||
"scope": "frontend-page-redesign",
|
||||
"package": null,
|
||||
"priority": "P2",
|
||||
"creator": "shunli",
|
||||
"assignee": "shunli",
|
||||
"createdAt": "2026-05-30",
|
||||
"completedAt": null,
|
||||
"branch": null,
|
||||
"base_branch": "main",
|
||||
"worktree_path": null,
|
||||
"commit": null,
|
||||
"pr_url": null,
|
||||
"subtasks": [],
|
||||
"children": [],
|
||||
"parent": "05-29-page-design-rules-audit",
|
||||
"relatedFiles": [],
|
||||
"notes": "",
|
||||
"meta": {}
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
{"file": ".trellis/spec/hyb-oa/project-governance.md", "reason": "Required task validation and commit gate"}
|
||||
{"file": ".trellis/spec/hyb-oa/frontend-react-vite-design.md", "reason": "Required frontend typecheck/build and focused visual/Playwright checks"}
|
||||
{"file": ".trellis/spec/hyb-oa/approval-workflow.md", "reason": "Check approval action placement"}
|
||||
{"file": ".trellis/spec/hyb-oa/docs-and-evidence.md", "reason": "Evidence and report privacy rules"}
|
||||
@@ -0,0 +1,18 @@
|
||||
# 采购申请任务化页面重构设计
|
||||
|
||||
## Page Template
|
||||
|
||||
PC 使用 `业务台账列表` 或轻量 `主从工作台`,移动使用卡片列表和分区详情。列表/左栏只查找和看状态,处理动作进入当前对象详情或审批任务。
|
||||
|
||||
## Implementation Shape
|
||||
|
||||
- 顶部增加采购任务卡,覆盖草稿、审批中、退回/待补材料、待验收/归档。
|
||||
- 默认范围为我发起/我相关,全范围、导出和高级筛选进入台账工具。
|
||||
- 详情区按状态、业务摘要、明细/供应商、材料证据、关联摘要、历史和动作组织。
|
||||
- 审批、付款、资产建卡和合同正文下载均回到归属模块。
|
||||
|
||||
## Verification Focus
|
||||
|
||||
- 普通员工、审批人、采购/管理角色的默认视角。
|
||||
- 采购草稿、审批中、退回、已通过和待验收状态。
|
||||
- PC 与移动页面不会复制高风险动作。
|
||||
@@ -0,0 +1,4 @@
|
||||
{"file": ".trellis/spec/hyb-oa/project-governance.md", "reason": "Trellis task, approval and solo-developer execution constraints"}
|
||||
{"file": ".trellis/spec/hyb-oa/frontend-react-vite-design.md", "reason": "Business ledger/master-detail template and action placement rules"}
|
||||
{"file": ".trellis/spec/hyb-oa/approval-workflow.md", "reason": "Approval action ownership and workflow boundaries"}
|
||||
{"file": ".trellis/spec/hyb-oa/docs-and-evidence.md", "reason": "Evidence and report privacy rules"}
|
||||
@@ -0,0 +1,52 @@
|
||||
# 采购申请任务化页面重构
|
||||
|
||||
## Goal
|
||||
|
||||
把采购申请页从偏后台表单/双栏页面收敛为小团队可理解的任务化业务页:先看草稿、审批中、退回待补、待验收/归档等事项,再进入当前采购对象详情处理材料、状态和关联。
|
||||
|
||||
## Scope
|
||||
|
||||
- In scope:采购申请 PC 页面、移动采购列表/详情、采购状态/证据/动作展示和对应测试。
|
||||
- Out of scope:采购后端状态机、采购订单全生命周期、库存、ERP 和供应商生命周期。
|
||||
|
||||
## Pages
|
||||
|
||||
- `client/src/pages/PurchaseRequestsPage.tsx`
|
||||
- `client/src/pages/MobilePurchaseRequestsPage.tsx`
|
||||
- `client/src/pages/MobilePurchaseRequestDetailPage.tsx`
|
||||
|
||||
## Requirements
|
||||
|
||||
- PC 顶部展示采购任务卡:草稿待完善、审批中、退回/待补材料、待验收或待归档。
|
||||
- 默认视角按当前用户收敛为 `我发起/我相关`,管理或全范围入口进入台账工具。
|
||||
- 列表只展示采购编号、对象、金额/数量、项目/合同摘要、当前状态、证据完整性和下一步。
|
||||
- 详情按状态、业务摘要、明细/供应商、材料证据、关联项目/合同/报销/资产候选/付款摘要、历史和动作组织。
|
||||
- 审批动作不在采购列表或普通详情直接执行;进入 `待我处理` 或审批详情。
|
||||
- 付款/AP 只展示状态和入口,不直接执行付款动作。
|
||||
- 资产候选只表示后续可能建卡,不自动入库、不自动形成固定资产。
|
||||
|
||||
## Out of Scope
|
||||
|
||||
- 不做采购订单全生命周期、库存、三单匹配、招采评标、供应商生命周期或 ERP 入账。
|
||||
- 不改采购审批规则和服务端状态机,除非 UI 发现必须补充只读状态字段。
|
||||
- 不新增合同审批或付款执行能力。
|
||||
|
||||
## Acceptance Criteria
|
||||
|
||||
- [ ] 普通员工进入采购页先看到自己相关任务和下一步,不默认进入全范围管理视图。
|
||||
- [ ] 采购列表没有直接审批、付款、合同下载或资产建卡动作。
|
||||
- [ ] 采购详情能清楚说明是否可提交、可补材料、可查看进度或需进入审批任务。
|
||||
- [ ] 移动采购只保留卡片列表、详情摘要和必要保存/提交/补附件动作。
|
||||
|
||||
## Test Plan
|
||||
|
||||
- `cd client && npm run typecheck`
|
||||
- `cd client && npm run build`
|
||||
- 聚焦采购申请 PC/移动 Playwright 或截图断言。
|
||||
- `node scripts/qa/check-trellis-governance.mjs`
|
||||
- `git diff --check`
|
||||
|
||||
## Implementation Notes
|
||||
|
||||
- 与报销列表已有“任务卡 + 台账工具”模式对齐。
|
||||
- 跨模块关联只做摘要和跳转,避免采购页成为项目、合同、报销、付款和资产的混合后台。
|
||||
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"id": "purchase-request-task-layout",
|
||||
"name": "purchase-request-task-layout",
|
||||
"title": "采购申请任务化页面重构",
|
||||
"description": "按全页面设计规则重构采购申请页:任务卡、状态/证据/动作顺序、跨模块摘要跳转和审批动作归位。",
|
||||
"status": "planning",
|
||||
"dev_type": null,
|
||||
"scope": "frontend-page-redesign",
|
||||
"package": null,
|
||||
"priority": "P1",
|
||||
"creator": "shunli",
|
||||
"assignee": "shunli",
|
||||
"createdAt": "2026-05-30",
|
||||
"completedAt": null,
|
||||
"branch": null,
|
||||
"base_branch": "main",
|
||||
"worktree_path": null,
|
||||
"commit": null,
|
||||
"pr_url": null,
|
||||
"subtasks": [],
|
||||
"children": [],
|
||||
"parent": "05-29-page-design-rules-audit",
|
||||
"relatedFiles": [],
|
||||
"notes": "",
|
||||
"meta": {}
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
{"file": ".trellis/spec/hyb-oa/project-governance.md", "reason": "Required task validation and commit gate"}
|
||||
{"file": ".trellis/spec/hyb-oa/frontend-react-vite-design.md", "reason": "Required frontend typecheck/build and focused visual/Playwright checks"}
|
||||
{"file": ".trellis/spec/hyb-oa/reimbursement-invoice-ocr.md", "reason": "Check reimbursement/OCR/payment boundary compliance"}
|
||||
{"file": ".trellis/spec/hyb-oa/docs-and-evidence.md", "reason": "Evidence and report privacy rules"}
|
||||
@@ -0,0 +1,18 @@
|
||||
# 报销详情证据与动作区重构设计
|
||||
|
||||
## Page Template
|
||||
|
||||
使用 `详情工作区`:顶部概览 + 主区事实证据 + 右侧摘要/命令 + 历史。移动或窄屏按顶部焦点卡、分区详情、底部动作降级。
|
||||
|
||||
## Implementation Shape
|
||||
|
||||
- 先审计现有 `ReimbursementDetailPage.tsx` 中重复摘要、付款状态、更多区和动作区。
|
||||
- 保留既有数据读取和权限判断,优先重排展示结构。
|
||||
- 证据分区按明细、PDF 发票、普通附件、付款/回单摘要和跨模块关联组织。
|
||||
- 付款动作只保留跳转入口,不在报销详情执行。
|
||||
|
||||
## Verification Focus
|
||||
|
||||
- 草稿、审批中、被驳回、已通过、待付款、已付款状态。
|
||||
- 发票/附件缺失与完整状态。
|
||||
- 财务角色和普通员工看到的动作差异。
|
||||
@@ -0,0 +1,4 @@
|
||||
{"file": ".trellis/spec/hyb-oa/project-governance.md", "reason": "Trellis task, approval and solo-developer execution constraints"}
|
||||
{"file": ".trellis/spec/hyb-oa/frontend-react-vite-design.md", "reason": "Detail page template, action placement, evidence structure and frontend validation rules"}
|
||||
{"file": ".trellis/spec/hyb-oa/reimbursement-invoice-ocr.md", "reason": "Reimbursement, invoice, attachment, payment and OCR implementation boundaries"}
|
||||
{"file": ".trellis/spec/hyb-oa/docs-and-evidence.md", "reason": "Evidence and report privacy rules"}
|
||||
@@ -0,0 +1,52 @@
|
||||
# 报销详情证据与动作区重构
|
||||
|
||||
## Goal
|
||||
|
||||
按全页面设计规则重构报销详情页,让用户先看清状态、下一步、业务摘要和证据,再处理补材料、查看进度、导出或付款相关入口。目标是降低报销详情首屏信息噪音,避免普通报销详情复制财务付款动作。
|
||||
|
||||
## Scope
|
||||
|
||||
- In scope:报销详情 PC 页面、相关详情分区组件、报销详情断言和必要视觉截图。
|
||||
- Out of scope:报销列表、报销后端状态机、OCR 服务、付款后端和公网部署。
|
||||
|
||||
## Pages
|
||||
|
||||
- `client/src/pages/ReimbursementDetailPage.tsx`
|
||||
- 相关共享组件和 E2E:仅在确有复用价值或断言需要时调整。
|
||||
|
||||
## Requirements
|
||||
|
||||
- 顶部固定展示报销单状态、下一步、报销人、金额、项目/事由和当前节点。
|
||||
- 主区按统一顺序组织:业务摘要、明细、PDF 发票、普通附件、风险/校验提示、审批/处理历史。
|
||||
- 右侧命令区只放当前对象可执行动作和原因说明,不重复付款状态、摘要或历史。
|
||||
- 付款相关动作只显示付款状态、回单状态、`查看付款`、`补回单` 或进入付款记录入口;不直接放 `标记已付款`、`取消付款`、`批量付款`、`执行付款`。
|
||||
- 发票、附件、合同材料、资产候选和付款记录按“摘要 + 跳转”展示,不复制对方模块流程。
|
||||
- 普通用户不展示 UUID、taskId、内部状态码、OCR provider、原始 payload 或完整本地路径。
|
||||
|
||||
## Out of Scope
|
||||
|
||||
- 不改报销状态机、审批规则、付款后端逻辑或 OCR 识别逻辑。
|
||||
- 不新增银行直连、ERP/总账、自动对账或真实付款能力。
|
||||
- 不改变附件存储、下载权限和审计策略,除非发现现有 UI 与既有接口不一致。
|
||||
|
||||
## Acceptance Criteria
|
||||
|
||||
- [ ] 报销详情第一屏能回答“现在是什么状态、谁要处理、下一步是什么、证据是否完整”。
|
||||
- [ ] 已通过/待付款/已付款状态下,报销详情不出现可直接执行的付款动作。
|
||||
- [ ] 发票、附件、付款和跨模块关联都按摘要、缺失提示和跳转组织。
|
||||
- [ ] PC 详情右侧动作区和移动/窄屏布局不遮挡内容。
|
||||
- [ ] 现有报销主链路 Playwright 断言更新并通过。
|
||||
|
||||
## Test Plan
|
||||
|
||||
- `cd client && npm run typecheck`
|
||||
- `cd client && npm run build`
|
||||
- 聚焦报销详情、报销主流程和视觉壳层相关 Playwright。
|
||||
- `node scripts/qa/check-trellis-governance.mjs`
|
||||
- `git diff --check`
|
||||
|
||||
## Implementation Notes
|
||||
|
||||
- 先盘点当前详情页重复展示的付款、摘要和更多区,再收敛结构。
|
||||
- 优先复用 `PageHeader`、`WorkspaceHeader`、`PrimaryTable`、`ops-*` 和既有状态/附件组件。
|
||||
- 若需要新增共享详情分区组件,必须确认采购、合同、项目是否会复用;否则保持页面内小改。
|
||||
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"id": "reimbursement-detail-evidence-actions",
|
||||
"name": "reimbursement-detail-evidence-actions",
|
||||
"title": "报销详情证据与动作区重构",
|
||||
"description": "按全页面设计规则重构报销详情:状态与下一步先行,证据材料居中,付款动作集中,右侧动作区降噪。",
|
||||
"status": "planning",
|
||||
"dev_type": null,
|
||||
"scope": "frontend-page-redesign",
|
||||
"package": null,
|
||||
"priority": "P1",
|
||||
"creator": "shunli",
|
||||
"assignee": "shunli",
|
||||
"createdAt": "2026-05-30",
|
||||
"completedAt": null,
|
||||
"branch": null,
|
||||
"base_branch": "main",
|
||||
"worktree_path": null,
|
||||
"commit": null,
|
||||
"pr_url": null,
|
||||
"subtasks": [],
|
||||
"children": [],
|
||||
"parent": "05-29-page-design-rules-audit",
|
||||
"relatedFiles": [],
|
||||
"notes": "",
|
||||
"meta": {}
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
{"file": ".trellis/spec/hyb-oa/project-governance.md", "reason": "Required task validation and commit gate"}
|
||||
{"file": ".trellis/spec/hyb-oa/frontend-react-vite-design.md", "reason": "Required frontend typecheck/build and focused visual/Playwright checks"}
|
||||
{"file": ".trellis/spec/hyb-oa/wecom-boundary.md", "reason": "Check no Enterprise WeChat write or HR ownership drift"}
|
||||
{"file": ".trellis/spec/hyb-oa/docs-and-evidence.md", "reason": "Evidence and privacy rules for WeCom/HR reports"}
|
||||
@@ -0,0 +1,18 @@
|
||||
# 企微主办 HR 考勤页面收敛设计
|
||||
|
||||
## Page Template
|
||||
|
||||
请假记录、考勤和企微审批历史使用 `业务台账列表` 的只读/镜像表达;移动请假使用移动卡片列表和状态详情,不做 PC 表单壳。
|
||||
|
||||
## Implementation Shape
|
||||
|
||||
- 页面首屏固定说明企业微信主办,OA 只做留存、镜像、异常和应急。
|
||||
- 移除或弱化普通员工日常提交主动作;仅在应急或管理状态显示说明型入口。
|
||||
- 历史和考勤异常只展示摘要、同步状态、审批链/打卡摘要和下一步。
|
||||
- 不新增任何企业微信写入调用。
|
||||
|
||||
## Verification Focus
|
||||
|
||||
- 请假、补卡、外出、加班不会出现 OA 快批误导。
|
||||
- 同步失败、未映射、无权限等状态使用自然中文。
|
||||
- 移动端入口和 PC 入口口径一致。
|
||||
@@ -0,0 +1,5 @@
|
||||
{"file": ".trellis/spec/hyb-oa/project-governance.md", "reason": "Trellis task, approval and solo-developer execution constraints"}
|
||||
{"file": ".trellis/spec/hyb-oa/frontend-react-vite-design.md", "reason": "Page template, mobile and shell rules"}
|
||||
{"file": ".trellis/spec/hyb-oa/wecom-boundary.md", "reason": "Enterprise WeChat ownership and write-gate boundaries"}
|
||||
{"file": ".trellis/spec/hyb-oa/approval-workflow.md", "reason": "Approval action boundaries for OA vs WeCom-owned flows"}
|
||||
{"file": ".trellis/spec/hyb-oa/docs-and-evidence.md", "reason": "Evidence and report privacy rules"}
|
||||
@@ -0,0 +1,51 @@
|
||||
# 企微主办 HR 考勤页面收敛
|
||||
|
||||
## Goal
|
||||
|
||||
统一请假记录、考勤、企微审批历史和移动请假的页面口径:企业微信主办打卡、请假、补卡、外出、加班等日常动作;OA 只做镜像、历史、审计、异常解释和明确应急接管。
|
||||
|
||||
## Scope
|
||||
|
||||
- In scope:请假记录、考勤、企微审批历史、移动请假页面文案、入口和动作显隐。
|
||||
- Out of scope:企业微信写入、模板创建、真实审批提交、深度考勤排班和应急接管后端。
|
||||
|
||||
## Pages
|
||||
|
||||
- `client/src/pages/LeaveRequestPage.tsx`
|
||||
- `client/src/pages/AttendancePage.tsx`
|
||||
- `client/src/pages/WecomApprovalArchivePage.tsx`
|
||||
- `client/src/pages/MobileLeavePage.tsx`
|
||||
|
||||
## Requirements
|
||||
|
||||
- 页面标题和首屏文案明确 `企业微信主办`、`OA 留存/镜像`、`仅历史/异常/应急`。
|
||||
- 默认不突出 `提交请假`、`补卡`、`外出`、`加班` 等 OA 日常主动作;只有应急模式或管理场景才展示。
|
||||
- 企微审批历史只读展示摘要、外部单号、同步状态、审批链和失败下一步,不出现 OA 快批。
|
||||
- 考勤页展示月度/周期摘要、异常、同步状态和解释记录,不做打卡入口。
|
||||
- 移动请假默认是状态/历史查看,不误导用户在 OA 里重复发起。
|
||||
|
||||
## Out of Scope
|
||||
|
||||
- 不写企业微信、不创建企微审批模板、不提交真实审批单。
|
||||
- 不开发深度考勤排班、假期额度、恢复回写或应急接管后端。
|
||||
- 不改已有归档数据结构和审批链校验。
|
||||
|
||||
## Acceptance Criteria
|
||||
|
||||
- [ ] HR/考勤页面不会让普通员工误以为 OA 是日常请假/打卡主入口。
|
||||
- [ ] 企微历史页没有通过、驳回、退回、转审等 OA 审批动作。
|
||||
- [ ] 异常状态说明同步来源、影响和下一步,不展示接口错误或原始 payload。
|
||||
- [ ] 移动端符合顶部状态/卡片列表/底部轻动作规则。
|
||||
|
||||
## Test Plan
|
||||
|
||||
- `cd client && npm run typecheck`
|
||||
- `cd client && npm run build`
|
||||
- 聚焦请假、考勤、企微历史、移动请假相关 Playwright/截图。
|
||||
- `node scripts/qa/check-trellis-governance.mjs`
|
||||
- `git diff --check`
|
||||
|
||||
## Implementation Notes
|
||||
|
||||
- 只读和异常解释优先,不新增企微写入。
|
||||
- 页面文案使用自然中文,不暴露企微 API 细节、模板 ID 或回调 payload。
|
||||
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"id": "wecom-hr-boundary-pages",
|
||||
"name": "wecom-hr-boundary-pages",
|
||||
"title": "企微主办 HR 考勤页面收敛",
|
||||
"description": "收敛请假记录、考勤、企微审批历史和移动请假页面:明确企微主办,OA 只做镜像、历史、异常和应急。",
|
||||
"status": "planning",
|
||||
"dev_type": null,
|
||||
"scope": "frontend-page-redesign",
|
||||
"package": null,
|
||||
"priority": "P1",
|
||||
"creator": "shunli",
|
||||
"assignee": "shunli",
|
||||
"createdAt": "2026-05-30",
|
||||
"completedAt": null,
|
||||
"branch": null,
|
||||
"base_branch": "main",
|
||||
"worktree_path": null,
|
||||
"commit": null,
|
||||
"pr_url": null,
|
||||
"subtasks": [],
|
||||
"children": [],
|
||||
"parent": "05-29-page-design-rules-audit",
|
||||
"relatedFiles": [],
|
||||
"notes": "",
|
||||
"meta": {}
|
||||
}
|
||||
在新工单中引用
屏蔽一个用户