R7P 准备扩大试运行草案与运维培训材料

这个提交包含在:
2026-05-12 17:58:49 +08:00
父节点 bc03e9946c
当前提交 b6b7b77c41
共修改 8 个文件,包含 406 行新增和 4 行删除
+1 -1
查看文件
@@ -107,4 +107,4 @@ Final responses should include:
- Role-specific pages should use one shared OA/mobile framework and tailor summaries, entries, actions, and sensitive fields by role. Do not create unrelated UI systems for employee, approver, finance, admin, or CEO views.
- After MUD6, `R6-ISSUE-001` is treated as resolved based on representative real-device confirmation; future mobile regressions should be recorded as new Issues rather than reopening the old WCM6/MME6 gate unless the same production behavior returns.
- After AP6, approval reminder, overdue reminder, and workflow productivity summary are current product facts, not open planning items. Reuse `POST /api/workflow/tasks/:taskId/remind`, `GET /api/workflow/tasks/summary`, `job:workflow-overdue-reminders`, existing workflow history, audit logs, notifications, and WeCom personal app delivery semantics. Do not add a parallel reminder channel, change approval status from reminders, or expand into complex BPM/SLA escalation without a new Issue.
- After RI6 and LP6, the default next implementation batch is ME6 mobile second-pass experience, then QG6 QA governance, then a new R7 expanded-trialrun preparation contract. Keep existing ME6/QG6 CSV contracts instead of creating duplicate roadmap contracts. If ME6 automation/deployment is done but representative real-device testing is paused, keep `ME6-3` open and allow only non-business QG6 governance, documentation, and R7 draft preparation; do not treat QG6 as a real-device substitute and do not start real R7 without a dedicated Issue CSV plus user-confirmed participants, roles, window, rollback contact, and daily closeout.
- After RI6, LP6, ME6 automation, QG6, and R7/OPS7/DOC7 draft materials, keep `ME6-3` open until representative real-device testing passes or the user explicitly accepts that risk. R7 draft rows may be `DONE`, but `R7E-*` true execution rows must stay `TODO` until the user confirms participants, roles, window, rollback contact, issue owner, and daily closeout. Do not treat QG6 or public mobile visual automation as a real-device substitute, and do not start real R7 from documentation alone.
+1 -1
查看文件
@@ -90,7 +90,7 @@ AGENTS.md 只放硬约束和入口,不复制长规则。
- 角色差异采用“同框架、按角色裁剪内容和动作”:员工、审批人、财务、管理员、负责人看到不同入口和动作,但不创建互不一致的角色专属移动 UI。
- 真机验证暂停时记录为 `PAUSED`;自动化通过不能替代代表性真机确认,也不能关闭仍待人工确认的移动阻断。
截至 ND9,RI6 报销票据体验、LP6 请假采购体验和 ME6 自动化/部署收口均已完成;`ME6-3` 代表性企业微信真机抽查因设备不便继续待确认。后续默认路线为 `QG6 QA 治理升级 -> R7 扩大试运行草案 -> OPS7/DOC7 运维和培训材料`。真机暂缓期间可继续做 QG6、文档和草案类非业务治理,但不得关闭 `ME6-3`,不得把 QG6 当成真机替代,也不得真实启动 R7;R7 必须另建合同固定人员、角色、窗口、回滚联系人和每日收口节奏,不能直接等同全面正式上线。
截至 R7P,RI6 报销票据体验、LP6 请假采购体验、ME6 自动化/部署收口、QG6 QA 治理以及 R7/OPS7/DOC7 草案材料均已完成;`ME6-3` 代表性企业微信真机抽查因设备不便继续待确认。后续默认进入等待门禁状态:不得关闭 `ME6-3`,不得把 QG6 或公网移动视觉矩阵当成真机替代,也不得从文档草案直接启动真实 R7。R7 真实执行必须保持 `R7E-*` 为 TODO,直到用户确认最终人员、角色、窗口、回滚联系人、问题登记负责人和每日收口节奏,并补足真机门禁或明确接受风险。
### 7. 提交要小批次、中文、可回滚
+4 -2
查看文件
@@ -15,7 +15,7 @@
| --- | --- |
| 公网地址 | `https://oa.hyinda.com` |
| 当前门禁 | R5 已 `DONE/DONE/DONE`;R6 首轮小范围试运行已完成;R6-ISSUE-003 采购提交阻断已热修、部署并复跑通过;PC6/PA6/FL6/AP6/RI6/LP6 后续优化已完成;ME6 自动化、部署和公网视觉复检已完成,`ME6-3` 代表性企业微信真机抽查因设备不便暂缓;QG6 非业务 QA 治理已完成但不替代真机 |
| 当前代码基线 | QG6 QA 治理升级已部署到 `https://oa.hyinda.com`,并完成 `/ready`、public bundle、live smoke readiness、公网移动视觉矩阵复检;真机抽查待用户确认 |
| 当前代码基线 | QG6 QA 治理升级已部署到 `https://oa.hyinda.com`,并完成 `/ready`、public bundle、live smoke readiness、公网移动视觉矩阵复检;R7/OPS7/DOC7 草案材料已准备;真机抽查待用户确认 |
| 试运行窗口 | `2026-05-12 14:00-17:00 Asia/Shanghai`;若现场无法执行,顺延到 `2026-05-13 14:00-17:00 Asia/Shanghai` |
| 回滚联系人 | `wangshunli` |
| 问题登记负责人 | `wangshunli` |
@@ -96,12 +96,14 @@ LP6 收口(2026-05-12):请假采购体验完善已完成并部署。请假
LP6 本地验证:`leave-flow.spec.ts`、`leave-team-calendar.spec.ts`、`procurement-flow.spec.ts`、`workflow-quick-approve.spec.ts` 共 8 passed;`permission-direct-access.spec.ts -g "PA6 请假和采购自审"` 1 passed,确认请假/采购自审和 admin-only 业务审批仍由服务端拒绝;`BUSINESS_FLOW_GROUPS=leave,procurement bash scripts/qa/run-business-flow-gates.sh local` 在临时库通过,报告 `artifacts/qa-flow/business-flow-20260512-124643`;`server prisma:validate`、`node --check src/routes/leave.js`、`node --check src/routes/purchaseRequests.js`、`client typecheck/build`、`check-ui-design-rules --strict`、`git diff --check` 均通过。视觉证据输出到 `output/playwright/lp6-leave-procurement-polish/`,覆盖 PC 1440x960 请假/采购/审批与移动 390x844 请假/审批,均无横向溢出、无可见原生文件控件、无 `Choose File` 文案、无 console error。已部署到 `https://oa.hyinda.com`,公网 `/ready` 正常,public bundle `findings=0`,live smoke readiness 通过,报告 `artifacts/qa-flow/live-smoke-readiness-20260512-125740`;本地未提供完整 live smoke 凭据和真实 OCR 样票,脚本按规则跳过网页 live smoke 与真实 OCR,不影响 LP6 请假采购体验验收。下一批默认进入 ME6 移动二轮体验;R7 仍需在 LP6/ME6 至少完成一轮后另建合同。
ME6 自动化与部署收口(2026-05-12):移动二轮体验小修已完成。修复点限定在专用 `/mobile` 路由体验稳定性:移动首页对 AP6 审批效率摘要响应增加缺省容错,请假记录对旧数据缺少 `approvalHistory` 时不再渲染崩溃;历史移动视觉专项补齐 `/api/workflow/tasks/summary` mock,并将统一移动矩阵截图目录支持切换到 `output/playwright/r6-mobile-experience-second-pass/`。本地 `client typecheck`、`client build`、`check-ui-design-rules --strict` 通过;ME6 移动矩阵 7 passed,覆盖 320/360/375/390/393/414/430px、企业微信 iOS UA、企业微信 Android UA 和普通移动 UA;R5 真机反馈移动专项 2 passed,RS6 移动响应式专项 7 passed,WCM6 企业微信多手机专项 8 passed,R124 移动入口矩阵 1 passed。已部署到 `https://oa.hyinda.com`,公网 `/ready` 正常,public bundle `findings=0`,live smoke readiness PASS,报告 `artifacts/qa-flow/live-smoke-readiness-20260512-135035`;缺少完整 live smoke 凭据和真实 OCR 样票时,脚本按规则跳过网页 live smoke 与真实 OCR。公网 ME6 移动视觉矩阵 7 passed,截图输出到 `output/playwright/r6-mobile-experience-second-pass-live/`。ME6-3 真机抽查仍待用户确认:iPhone 12 iOS14 企业微信、iPhone 14 iOS16.2 企业微信、Redmi K60 企业微信的首页、审批、报销详情、我的、通知和请假;敏感截图不提交仓库。真机通过后再进入 QG6,不直接启动 R7。
ME6 自动化与部署收口(2026-05-12):移动二轮体验小修已完成。修复点限定在专用 `/mobile` 路由体验稳定性:移动首页对 AP6 审批效率摘要响应增加缺省容错,请假记录对旧数据缺少 `approvalHistory` 时不再渲染崩溃;历史移动视觉专项补齐 `/api/workflow/tasks/summary` mock,并将统一移动矩阵截图目录支持切换到 `output/playwright/r6-mobile-experience-second-pass/`。本地 `client typecheck`、`client build`、`check-ui-design-rules --strict` 通过;ME6 移动矩阵 7 passed,覆盖 320/360/375/390/393/414/430px、企业微信 iOS UA、企业微信 Android UA 和普通移动 UA;R5 真机反馈移动专项 2 passed,RS6 移动响应式专项 7 passed,WCM6 企业微信多手机专项 8 passed,R124 移动入口矩阵 1 passed。已部署到 `https://oa.hyinda.com`,公网 `/ready` 正常,public bundle `findings=0`,live smoke readiness PASS,报告 `artifacts/qa-flow/live-smoke-readiness-20260512-135035`;缺少完整 live smoke 凭据和真实 OCR 样票时,脚本按规则跳过网页 live smoke 与真实 OCR。公网 ME6 移动视觉矩阵 7 passed,截图输出到 `output/playwright/r6-mobile-experience-second-pass-live/`。ME6-3 真机抽查仍待用户确认:iPhone 12 iOS14 企业微信、iPhone 14 iOS16.2 企业微信、Redmi K60 企业微信的首页、审批、报销详情、我的、通知和请假;敏感截图不提交仓库。ND9 之后允许先做 QG6 非业务治理和 R7 草案材料,但不能把这些工作当成真机替代,也不能直接启动真实 R7。
ND9 非真机延续(2026-05-12):用户反馈当前不方便做代表性企业微信真机抽查,因此 `ME6-3` 继续保持 `TODO`,不得伪造完成或用自动化替代。后续可先执行 QG6 QA 治理、R7 草案、运维交接和培训材料等不依赖真机的工作;这些工作不得改变业务规则、审批链、PDF-only、企业微信通知通道或财务规则。R7 真实扩大试运行仍需用户确认最终人员、窗口,并补足 ME6 真机门禁或明确接受该风险。
QG6 QA 治理收口(2026-05-12):非真机阶段 QA 治理升级已完成并部署。`check-ui-design-rules.mjs` 已增强 UUID 主展示、内部术语、英文上传、移动桌面表格和 PC 壳扫描,新增 `--self-test` 和白名单说明;PC 审批详情不再展示任务 UUID 或 workflow instance UUID。新增 `scripts/qa/run-visual-matrix.sh` 固定视觉矩阵,项目级视觉报告支持 issue-id、baseURL、commit 和状态字段;`run-business-flow-gates.sh` 与 `run-live-smoke-readiness.sh` 输出统一 `summary.json`。本地 `client typecheck/build`、`server prisma:validate`、`check-ui-design-rules --self-test/--strict` 通过;QG6 本地视觉矩阵 8 passed,报告 `artifacts/qa-flow/qg6-qa-governance-upgrade-visual-matrix-20260512-172418`,业务流 `reimbursement,leave,procurement` 全部通过,报告 `artifacts/qa-flow/business-flow-20260512-172944`。已部署到 `https://oa.hyinda.com`,公网 `/ready` 正常,public bundle `findings=0`,live smoke readiness PASS,报告 `artifacts/qa-flow/live-smoke-readiness-20260512-174055`;公网移动视觉矩阵 7 passed,报告 `artifacts/qa-flow/qg6-qa-governance-upgrade-visual-matrix-20260512-174055`。`ME6-3` 代表性企业微信真机抽查仍为 TODO,QG6 不替代真机验收;下一步只允许 R7 草案、OPS7/DOC7 材料等非真机准备,真实 R7 仍需用户确认人员、窗口和风险接受。
R7/OPS7/DOC7 非真机准备(2026-05-12):已创建 `issues/2026-05-12_17-49-03-r7-expanded-trialrun-prep-ops-doc-materials.csv`。R7 草案见 `docs/trialrun/r7-expanded-trialrun-prep.md`,只固定范围、角色占位、门禁、问题分级、每日收口和退出标准;`R7E-1..R7E-3` 继续保持 `TODO`,真实 R7 未启动。OPS7 运维交接 Runbook 见 `docs/trialrun/ops7-runbook.md`,只记录部署、回滚、备份恢复、账号交接、live readiness 和企业微信通知检查清单,不执行生产配置变更或数据库恢复。DOC7 用户手册与 FAQ 见 `docs/trialrun/r7-user-guide-and-faq.md`,只描述当前已实现的报销、请假、采购、审批、企业微信入口和财务台账能力,不承诺预算、ERP、AI、完整差旅、复杂 BPM 或审批设计器。`ME6-3` 真机门禁仍未关闭;R7 真实启动仍需用户确认最终人员、窗口,并补足真机门禁或明确接受风险。
## 结论
R70 初次试运行暂停项已在 2026-04-28 的 R71 定向修复后关闭。基于本地环境复测,经理团队日历与员工报销缺票提示/发票上传绑定提交链路均已通过,可恢复下一轮本地人工试运行。
+136
查看文件
@@ -0,0 +1,136 @@
# OPS7 运维交接 Runbook
**文档状态**:草案。用于 R7 前运维交接和上线前检查;不代表已执行回滚、恢复或生产配置变更。
## 1. 原则
- 所有生产或试运行配置变更必须先确认窗口、负责人和回滚路径。
- 不得记录密码、不得记录 token、不得打印 secret、不得提交真实票据或导出文件。
- 备份恢复、Caddy/systemd 调整、数据库写操作都必须单独确认,不在本 Runbook 中直接执行。
- 企业微信只承担入口、免登/绑定、个人应用消息和 deeplink;正式审批仍以 OA 审批历史和审计日志为准。
## 2. 发布前检查
```bash
git status --short
python3 /home/shunli/.codex/skills/plan/scripts/validate_issues_csv.py issues/<target>.csv
node scripts/qa/check-ui-design-rules.mjs --strict
cd client && npm run typecheck && npm run build
cd server && npm run prisma:validate
```
公网检查:
```bash
curl -fsS https://oa.hyinda.com/ready
PUBLIC_BASE_URL=https://oa.hyinda.com node scripts/qa/check-public-bundle-copy.mjs
LIVE_SMOKE_BASE_URL=https://oa.hyinda.com bash scripts/qa/run-live-smoke-readiness.sh
```
若缺少 live smoke 凭据或真实 OCR 样票,脚本应记录 `SKIP`,不得把 `SKIP` 写成真实业务通过。
## 3. 部署
标准部署命令:
```bash
bash deploy/trialrun/deploy.sh
```
默认不覆盖远端 `.env`。只有确认本地 `deploy/trialrun/.env` 可直接上服务器时,才允许在单独确认后使用:
```bash
SYNC_ENV=1 bash deploy/trialrun/deploy.sh
```
部署完成后必须记录:
- 本地提交 hash。
- 公网 `/ready` 结果。
- public bundle 扫描结果。
- live readiness 报告目录。
- 如执行视觉矩阵,记录 `output/playwright/<issue-id>/` 和 `artifacts/qa-flow/<issue-id>/`。
## 4. 回滚
回滚前先判断问题级别:
- 阻断:主链路无法提交、审批、查看状态或权限泄露。
- 严重:影响多人使用或财务/审批可信度,但存在临时绕行。
- 一般:不阻断主链路的文案、视觉或效率问题。
回滚需要人工确认:
1. 确认回滚联系人和执行窗口。
2. 确认目标版本或上一个部署包。
3. 确认数据库是否需要回滚。多数前端/脚本问题不应回滚数据库。
4. 执行回滚后重新检查 `/ready`、public bundle、live readiness。
不得在未确认时执行:
- 删除数据库。
- 手工修改生产表结构。
- 覆盖生产 `.env`。
- 清理真实票据、附件或审计记录。
## 5. 备份与恢复
上线或 R7 前至少确认备份策略:
- 数据库备份文件位置、时间、负责人。
- 附件或对象存储备份位置、时间、负责人。
- 恢复演练负责人和预估耗时。
- 恢复后检查命令:`/ready`、登录、报销详情、附件下载、财务台账。
恢复演练只在独立窗口执行。演练记录只写备份文件名、恢复环境、恢复耗时和检查结果,不记录真实文件内容。
## 6. 账号交接
R7 前账号交接只记录角色和交付状态:
| 账号/角色 | 检查项 |
| --- | --- |
| 员工 | active、employee、直属主管正确、可登录 |
| 审批人 | active、正式审批角色、不是 admin-only 代批 |
| 财务 `wangzhiling` | active、employee + finance、不授予管理员 |
| 管理员 `wangshunli` | 系统管理、回滚联系人、问题登记负责人 |
一次性密码只能通过仓库外安全渠道交付,不写入 Issue、文档、截图或聊天摘要。
## 7. 企业微信通知检查
执行前只读确认:
```bash
curl -fsS https://oa.hyinda.com/api/auth/wecom/config
```
检查点:
- `status=ready`。
- 工作台入口指向 OA 移动入口。
- 个人应用消息通道启用。
- 回调和可信域名与公网域名一致。
- 配置接口不返回 secret。
人工检查点:
- 企业微信工作台能看到海音达工作台。
- 已绑定用户从手机企业微信进入后不反复要求登录。
- 收到审批消息后能 deeplink 回 OA 移动审批或详情。
## 8. 问题登记模板
每个问题至少记录:
- 编号:
- 等级:阻断 / 严重 / 一般 / 体验建议
- 角色与账号:
- 设备与入口:
- URL 或页面:
- 操作步骤:
- 期望结果:
- 实际结果:
- 证据位置:
- 负责人:
- 当日处理结论:修复 / 降级 / 回滚 / 后续 Issue
+128
查看文件
@@ -0,0 +1,128 @@
# R7 扩大试运行草案
**文档状态**:草案。当前只用于准备 R7,不代表 R7 已启动。
**当前前提**:R6、PC6、PA6、FL6、AP6、RI6、LP6、ME6 自动化、QG6 已完成;`ME6-3` 代表性企业微信真机抽查仍待确认。
## 1. 启动边界
R7 是受控扩大试运行,不是全面正式上线。真实启动前必须同时满足:
- 用户确认最终参与名单、角色、时间窗口、回滚联系人和问题登记负责人。
- `ME6-3` 真机门禁通过,或用户明确接受“真机未补测”的风险。
- 公网 `/ready`、public bundle、live readiness、核心业务流和账号角色只读核验通过。
- 阻断问题为 0;严重问题已有当天修复、降级或回滚判断。
真机不方便期间,只能做草案、运维材料和培训材料,不启动真实 R7。
## 2. 试运行范围
R7 只覆盖当前已完成并部署的主链路:
- 报销:提交、PDF 发票或附件、审批、付款状态、财务台账/导出。
- 请假:提交、审批、状态查看、退回/驳回说明。
- 采购:提交、审批、历史查看、附件说明。
- 审批中心:待办、已办、详情、催办、超时/效率摘要只读展示。
- 企业微信:工作台入口、免登或账号密码回退、个人应用消息、deeplink 回 OA。
- 财务:`wangzhiling` 查看台账、导出或付款状态,按权限边界执行。
不进入 R7 的范围:
- 预算扩展、ERP 实时集成、AI、完整差旅、复杂 BPM、审批设计器。
- 企业微信原生审批。
- 现场临时扩大的新功能开发。
- 真实票据、隐私截图或导出文件提交到仓库。
## 3. 参与角色占位
最终名单由用户确认。草案默认配置:
| 角色 | 人数/账号 | 职责 |
| --- | --- | --- |
| 员工 | 3-5 人,待用户确认 | 提交报销、请假、采购;使用企业微信移动入口查看通知和详情 |
| 审批人 | 1-2 人,待用户确认 | 处理报销、请假、采购待办;覆盖通过,必要时覆盖退回/驳回 |
| 财务 | `wangzhiling` | 查看财务台账、导出或付款状态;不授予管理员能力 |
| 管理员/拍板人 | `wangshunli` | 决定暂停、继续、降级或回滚 |
| 回滚联系人 | 默认 `wangshunli` | 维护回滚窗口和执行授权 |
| 问题登记负责人 | 默认 `wangshunli` | 每日收口、分级、追踪后续 Issue |
## 4. 执行前检查
执行前先完成以下自动和只读检查:
```bash
curl -fsS https://oa.hyinda.com/ready
PUBLIC_BASE_URL=https://oa.hyinda.com node scripts/qa/check-public-bundle-copy.mjs
QA_ISSUE_ID=r7-expanded-trialrun LIVE_SMOKE_BASE_URL=https://oa.hyinda.com bash scripts/qa/run-live-smoke-readiness.sh
QA_ISSUE_ID=r7-expanded-trialrun E2E_BASE_URL=https://oa.hyinda.com bash scripts/qa/run-visual-matrix.sh live
```
如本地需要复核业务流:
```bash
QA_ISSUE_ID=r7-expanded-trialrun BUSINESS_FLOW_GROUPS=reimbursement,leave,procurement bash scripts/qa/run-business-flow-gates.sh local
```
账号和角色只读核验:
- 员工账号均为 `active`,有 `employee` 角色。
- 审批人账号均为 `active`,有正式业务审批角色,不依赖 admin-only。
- `wangzhiling` 为 `active + employee,finance`,不授予管理员能力。
- `wangshunli` 作为管理员/拍板人,不默认获得业务审批权。
企业微信前置:
- `/api/auth/wecom/config` 为 ready,且不返回 secret。
- 企业微信自建应用可见范围覆盖参与者。
- 个人应用消息通道启用,通知失败只登记,不改变业务状态。
## 5. 执行路径
每名员工至少覆盖:
1. 登录 PC 或企业微信移动入口。
2. 提交 1 条报销,包含 PDF 发票或附件。
3. 提交 1 条请假。
4. 提交 1 条采购。
5. 查看通知、我的申请和状态变化。
审批人至少覆盖:
1. PC 审批中心筛选报销、请假、采购。
2. 处理待办,至少覆盖通过。
3. 如时间允许,覆盖退回或驳回说明。
4. 点击企业微信消息 deeplink 回到 OA 移动审批或详情。
财务至少覆盖:
1. 查看财务台账。
2. 验证待付款、已付款或导出入口。
3. 检查普通员工无法直连财务数据。
## 6. 问题分级
| 等级 | 定义 | 处理 |
| --- | --- | --- |
| 阻断 | 主链路无法提交、审批、查看状态或权限泄露 | 立即暂停 R7,决定修复、降级或回滚 |
| 严重 | 影响多人操作或财务/审批可信度,但有临时绕行 | 当天判断修复、降级或回滚 |
| 一般 | 单页文案、视觉、效率或非主链路问题 | 登记后排后续 Issue |
| 体验建议 | 不影响完成任务的优化建议 | 进入后续产品优化池 |
所有问题必须记录:账号角色、设备、浏览器/企业微信、路径、操作步骤、期望、实际、证据位置和负责人。
## 7. 每日收口
每日收口只回答四个问题:
1. 今天是否出现阻断或严重问题。
2. 哪些问题需要当天修复、降级或回滚。
3. 哪些一般问题进入后续 Issue。
4. 明天是否继续、缩小范围或暂停。
结论只能是:
- 继续试运行。
- 修复后继续。
- 暂停并回滚。
- 进入下一批优化。
R7 通过后也不直接宣布全面正式上线;正式上线前还需要 OPS7 运维确认、最终培训、备份恢复演练和上线窗口确认。
+123
查看文件
@@ -0,0 +1,123 @@
# R7 试运行用户手册与 FAQ
**文档状态**:草案。用于 R7 扩大试运行前培训,不承诺未实现功能。
## 1. 适用范围
本手册只覆盖当前已实现并部署的能力:
- 报销、PDF 发票或附件、审批、付款状态。
- 请假提交、审批、退回/驳回说明和状态查看。
- 采购提交、附件说明、审批和历史查看。
- 企业微信工作台入口、个人应用消息和 deeplink 回 OA。
- 财务台账、导出或付款状态查看。
不承诺预算扩展、ERP 实时集成、AI、完整差旅、复杂 BPM、审批设计器或企业微信原生审批。
## 2. 员工操作
### 2.1 登录
- PC:打开 `https://oa.hyinda.com`,使用账号密码登录。
- 手机:从企业微信打开 `海音达工作台`,进入移动工作台。
- 如果企业微信免登失败,先用账号密码登录,再到 `个人设置 -> 企业微信绑定` 检查绑定状态。
### 2.2 提交报销
1. 进入 `报销`。
2. 新建或继续草稿。
3. 填写报销说明和明细。
4. 在报销详情添加 PDF 发票或附件。
5. 确认发票状态和附件后提交审批。
6. 提交后在详情页查看审批流、催办入口、付款状态和历史记录。
发票状态说明:
- `识别中`:系统正在处理,稍后刷新。
- `识别失败`:查看提示后重新上传清晰 PDF 或联系负责人。
- `可添加`:可以添加到当前报销。
- `已添加`:已加入当前报销。
- `重复票据`:系统发现相同票据,按提示处理,不要重复提交。
- `已归档/已报销`:票据已进入其他记录或历史归档,不能重复使用。
### 2.3 提交请假
1. 进入 `请假`。
2. 选择假别、开始日期、结束日期和上午/下午。
3. 填写原因。
4. 保存草稿或提交审批。
5. 退回或驳回时查看审批意见后再处理。
### 2.4 提交采购
1. 进入 `采购申请`。
2. 填写标题、供应商、金额、分类、原因和附件。
3. 缺预算池提示只说明当前预算配置不完整;试运行规则允许时仍会继续提交,不能继续时会给出业务提示。
4. 提交后查看审批历史和状态。
## 3. 审批人操作
1. PC 进入 `审批中心`,或从企业微信消息打开移动审批。
2. 用业务类型筛选报销、请假或采购。
3. 先查看详情,再执行通过、退回或驳回。
4. 退回或驳回必须填写可理解说明。
5. 不处理自己提交的单据;系统会阻断自审。
6. 管理员账号不等于业务审批人,除非同时具备正式业务审批角色且不是自审。
## 4. 财务操作
1. 使用财务账号进入财务页面。
2. 查看财务台账,按状态筛选待复核、待付款或已付款。
3. 需要时执行导出或查看付款状态。
4. 普通员工不能访问全量财务台账;如看到权限异常,立即登记问题。
5. 不在仓库、截图或聊天中保存真实导出文件。
## 5. 企业微信使用
- 企业微信只做入口、提醒和 deeplink,不作为正式审批系统。
- 收到审批消息后,点击进入 OA 页面处理。
- 如果打开后仍要求登录,先检查是否已绑定企业微信。
- 如果页面显示异常,记录设备、系统版本、企业微信版本、路径和截图位置;敏感截图不提交仓库。
## 6. FAQ
### 企业微信进不去怎么办?
先用 PC 或普通浏览器确认账号密码能登录。再检查 `个人设置 -> 企业微信绑定`。如果仍失败,记录设备、企业微信版本、入口路径和错误提示。
### 收不到企业微信消息怎么办?
先确认站内通知是否存在。若站内通知存在但企业微信没有消息,登记为通知投递问题;不要重复提交业务单据。
### 发票提示重复怎么办?
重复票据说明系统发现相同发票已被使用或已归档。先查看提示中的原因,再联系问题登记负责人判断是否需要财务或管理员处理。
### 审批人看不到待办怎么办?
确认该单据是否已提交、是否分配给当前审批人、审批人账号是否有正式业务审批角色。管理员单角色不自动拥有业务审批权。
### 付款状态是什么意思?
- 待复核:审批已通过,等待财务处理。
- 待付款:财务已进入付款处理阶段。
- 已付款:财务已完成付款标记或相关状态更新。
- 已导出:已生成财务核对或处理用导出记录。
### 可以在现场要求加新功能吗?
R7 期间不现场扩大功能。新需求先登记为体验建议或后续 Issue,再由负责人排期。
## 7. 反馈模板
请按以下格式反馈:
- 角色:
- 账号:
- 设备和入口:
- 页面:
- 操作步骤:
- 期望结果:
- 实际结果:
- 问题等级建议:
- 证据位置:
+3
查看文件
@@ -48,6 +48,9 @@
| [发布试运行准备清单](./trialrun/release-readiness-checklist.md) | 发布候选证据、权限直连审计、部署预检、live smoke 和小范围试运行顺序 | 从本地可回归进入公网/真机验收前必须看 |
| [公网 live smoke 与真实 OCR 准备清单](./trialrun/live-smoke-readiness.md) | 公网、真实 OCR、企业微信入口复核准备 | 只有部署后才能给出真机验收结论 |
| [真机公网测试清单](./trialrun/real-device-public-checklist.md) | 手机、企业微信、PDF 发票上传人工验证 | 用于上线前人工验收 |
| [R7 扩大试运行草案](./trialrun/r7-expanded-trialrun-prep.md) | R7 参与角色、范围、门禁、问题分级、每日收口和退出标准草案 | 仅为草案;真实 R7 仍需用户确认人员、窗口和 ME6-3 真机门禁或风险接受 |
| [OPS7 运维交接 Runbook](./trialrun/ops7-runbook.md) | 部署、回滚、备份恢复、账号交接、live readiness 和企业微信通知检查清单 | 不代表已执行生产配置变更、恢复演练或回滚 |
| [DOC7 试运行用户手册与 FAQ](./trialrun/r7-user-guide-and-faq.md) | 员工、审批人、财务在 R7 中使用报销、请假、采购、审批、企业微信和财务台账的说明 | 只描述当前已实现能力,不承诺预算、ERP、AI、完整差旅、复杂 BPM 或审批设计器 |
## 实现状态与证据
@@ -0,0 +1,10 @@
ID,Title,Description,Acceptance,Test_Method,Tools,Dev_Status,Review1_Status,Regression_Status,Files,Dependencies,Notes
R7P-1,R7 非真机准备合同建档,建立 R7 扩大试运行草案与 OPS7/DOC7 材料合同,明确当前不启动真实 R7。,"1) 本 CSV 校验通过;2) ME6-3 仍保持 TODO;3) R7 真实执行行保持 TODO;4) 不新增业务范围。","流程级验证:python3 /home/shunli/.codex/skills/plan/scripts/validate_issues_csv.py issues/2026-05-12_17-49-03-r7-expanded-trialrun-prep-ops-doc-materials.csv;rg -n 'ME6-3|不启动真实 R7|TODO' issues/2026-05-12_17-49-03-r7-expanded-trialrun-prep-ops-doc-materials.csv。",python3|rg,DONE,DONE,DONE,issues/2026-05-12_17-49-03-r7-expanded-trialrun-prep-ops-doc-materials.csv,[],草案合同;不部署;回滚路径:删除本 CSV 和对应草案文档。
R7P-2,R7 扩大试运行草案,编写 R7 参与角色、范围、门禁、问题分级、每日收口和退出标准草案。,"1) 文档说明 R7 仍需用户确认人员和窗口;2) 参与名单使用占位,wangzhiling/wangshunli 只按既定角色出现;3) 范围限定报销、请假、采购、审批、企微消息/deeplink、财务台账/导出;4) 不扩预算、ERP、AI、完整差旅、复杂 BPM、审批设计器。","流程级验证:rg -n '草案|员工 3-5|审批人 1-2|wangzhiling|wangshunli|不启动|预算|ERP|AI|复杂 BPM' docs/trialrun/r7-expanded-trialrun-prep.md。",rg,DONE,DONE,DONE,docs/trialrun/r7-expanded-trialrun-prep.md,["R7P-1"],R7 真正启动前必须另由用户确认最终名单、窗口和风险接受。
R7P-3,R7 执行前检查清单,在 R7 草案中固定执行前自动检查、账号角色只读核验、真机门禁和风险接受条件。,"1) 检查项包含 /ready、public bundle、live readiness、账号 active/role、企业微信配置;2) 明确 ME6-3 真机未过时只能草案或风险接受;3) 不要求用户现在做真机。","流程级验证:rg -n '/ready|public bundle|live readiness|active|role|ME6-3|风险接受|企业微信' docs/trialrun/r7-expanded-trialrun-prep.md。",rg,DONE,DONE,DONE,docs/trialrun/r7-expanded-trialrun-prep.md,["R7P-2"],只读核验,不打印密码、token、真实票据或隐私截图。
OPS7-1,运维交接 Runbook 草案,编写部署、回滚、备份恢复、账号交接、live readiness 和企业微信通知检查的管理员清单。,"1) 文档只给可复用检查命令和人工确认项;2) 不改生产配置;3) 不执行数据库恢复;4) 不包含密钥或密码。","流程级验证:rg -n '部署|回滚|备份|恢复|账号交接|live readiness|企业微信|不得记录密码|不得记录 token' docs/trialrun/ops7-runbook.md。",rg,DONE,DONE,DONE,docs/trialrun/ops7-runbook.md,["R7P-1"],真实回滚或恢复演练必须另行确认窗口和备份。
DOC7-1,试运行用户手册与 FAQ 草案,编写员工、审批人、财务的 R7 试运行使用说明和常见问题。,"1) 覆盖报销、请假、采购、审批、财务台账/导出、企业微信入口;2) FAQ 覆盖进不去、收不到消息、发票重复、看不到审批、付款状态;3) 不承诺未实现功能。","流程级验证:rg -n '员工|审批人|财务|报销|请假|采购|企业微信|发票重复|付款状态|不承诺' docs/trialrun/r7-user-guide-and-faq.md。",rg,DONE,DONE,DONE,docs/trialrun/r7-user-guide-and-faq.md,["R7P-1"],仅描述当前已实现能力。
R7P-4,文档索引与报告同步,把 R7 草案、OPS7 Runbook 和 DOC7 手册加入当前操作手册索引,并在人工报告中记录非真机阶段准备完成。,"1) docs/文档索引.md 包含三份新文档;2) manual report 说明 R7 未启动;3) 不关闭 ME6-3。","流程级验证:rg -n 'R7 扩大试运行草案|OPS7|DOC7|ME6-3|未启动' docs/文档索引.md docs/trialrun/manual-trialrun-report.md。",rg,DONE,DONE,DONE,docs/文档索引.md|docs/trialrun/manual-trialrun-report.md,"[""R7P-2"",""OPS7-1"",""DOC7-1""]",事实源同步,不部署。
R7E-1,R7 真实启动门禁,用户确认最终参与名单、窗口、回滚联系人和问题登记负责人,并补足 ME6-3 真机门禁或明确风险接受。,"1) 最终名单和窗口已确认;2) ME6-3 已 PASS 或用户明确接受风险;3) 自动前检查通过;4) 阻断问题为 0。","流程级验证:按 docs/trialrun/r7-expanded-trialrun-prep.md 的执行前检查完成;所有结果写入 manual trialrun report。",manual,TODO,TODO,TODO,external,["R7P-4"],真实 R7 未启动;等待用户确认。
R7E-2,R7 扩大试运行执行,按确认名单完成报销、请假、采购、审批、企业微信消息/deeplink 和财务台账/导出真实流程。,"1) 员工提交真实试运行单据;2) 审批人处理待办;3) 财务查看台账/导出或付款状态;4) 企业微信消息能回流 OA。","流程级验证:真实参与者按 R7 草案路径执行;问题按阻断、严重、一般、体验建议登记。",manual,TODO,TODO,TODO,external,["R7E-1"],不得现场扩展预算、ERP、AI、完整差旅、复杂 BPM 或审批设计器。
R7E-3,R7 每日收口与结论,完成每日问题分级、修复/降级/回滚判断和 R7 结论。,"1) 每日收口记录完整;2) 阻断问题已暂停或解决;3) 输出继续试运行/修复后继续/暂停回滚/进入下一批优化结论;4) 不直接宣布全面上线。","流程级验证:manual trialrun report 记录每日收口和最终结论;相关 Issue CSV 状态真实回填。",manual,TODO,TODO,TODO,docs/trialrun/manual-trialrun-report.md,["R7E-2"],R7 通过后再规划正式上线前准备。
无法渲染此文件,因为它包含了意外字符,其位于第 3 行和第 663 列。