chore(task): 归档移动端轻动作页面重构

这个提交包含在:
2026-05-30 13:52:55 +08:00
父节点 695f5c2c75
当前提交 e1479ac3cc
共修改 5 个文件,包含 2 行新增和 2 行删除
@@ -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,60 @@
# 移动端轻动作页面统一重构
## 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
- [x] 移动端所有核心页面都符合焦点卡/卡片列表/底部动作的统一结构。
- [x] 小屏按钮文字完整可读,底部动作避开安全区和键盘遮挡。
- [x] 移动通知不复制待办处理列表。
- [x] 移动 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 管理壳搬到移动端。
- 2026-05-30 实施:移动首页请假入口改为请假记录/企微主办;移动审批去掉批量处理,只保留列表筛选和详情底部处理;移动报销/采购列表补搜索;移动我的去掉没有移动页承接的项目动态入口;移动视觉测试改为验证请假只读记录页。
- 验证:`cd client && npm run typecheck`、`cd client && npm run build`、`cd client && npx playwright test tests/e2e/r6-mobile-unified-design-rollout.spec.ts --workers=1 --reporter=list`、`python3 ./.trellis/scripts/task.py validate 05-30-mobile-light-action-surfaces`、`node scripts/qa/check-trellis-governance.mjs`、`git diff --check`。
@@ -0,0 +1,26 @@
{
"id": "mobile-light-action-surfaces",
"name": "mobile-light-action-surfaces",
"title": "移动端轻动作页面统一重构",
"description": "统一移动首页、移动审批、移动报销、移动采购、移动通知、移动我的的焦点卡、卡片列表和底部动作规则。",
"status": "completed",
"dev_type": null,
"scope": "frontend-page-redesign",
"package": null,
"priority": "P2",
"creator": "shunli",
"assignee": "shunli",
"createdAt": "2026-05-30",
"completedAt": "2026-05-30",
"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": {}
}