V1-V6 收口移动视口与 PDF 发票上传

这个提交包含在:
2026-05-10 23:30:13 +08:00
父节点 3c9cd3aa41
当前提交 491b42a232
共修改 47 个文件,包含 387 行新增和 244 行删除
+3 -3
查看文件
@@ -5,11 +5,11 @@
- **关联 Issue**: S2
## 背景
当前系统为响应式 Web。业务关注移动场景下的“离线拍照、弱网上传、回填状态可追踪”。
当前系统为响应式 Web。业务关注移动场景下的“离线 PDF 发票上传、弱网上传、回填状态可追踪”。
## 决策目标
1. 选择下一阶段移动路线。
2. 验证离线拍照与上传可靠性。
2. 验证离线 PDF 发票上传可靠性。
3. 输出成本、风险、回滚方案。
## 备选方案
@@ -37,7 +37,7 @@
## PoC 结果
- PWA 原型验证:
- 离线缓存拍照元数据可行;
- 离线缓存 PDF 发票元数据可行;
- 网络恢复后自动上传成功率高;
- 异常重试与失败提示可在现有前端框架中快速实现。
- RN 原型验证:
+1 -1
查看文件
@@ -126,7 +126,7 @@
| G6 | 回归脚本与文档收口 | §16(回归工程化) | 2026-02-11-p11-p12-governance-mobile.csv | 2026-02-11-p11-p12-governance-mobile.csv | 2026-02-11 | DONE | server/scripts/regression-feature-flags.sh | none |
| H1 | 安全与压测门槛 | §16(非功能治理) | 2026-02-11-p11-p12-governance-mobile.csv | 2026-02-11-p11-p12-governance-mobile.csv | 2026-02-11 | DONE | server/scripts/security-baseline.sh + benchmark-dashboard.sh | none |
| M1 | PWA基础设施 | §16(移动端治理) | 2026-02-11-p11-p12-governance-mobile.csv | 2026-02-11-p11-p12-governance-mobile.csv | 2026-02-11 | DONE | client:typecheck/build | none |
| M2 | 移动拍照与离线上传队列 | §16(移动端治理) | 2026-02-11-p11-p12-governance-mobile.csv | 2026-02-11-p11-p12-governance-mobile.csv | 2026-02-11 | DONE | manual + client:typecheck/build | iOS前台恢复重放 |
| M2 | 移动 PDF 发票与离线上传队列 | §16(移动端治理) | 2026-02-11-p11-p12-governance-mobile.csv | 2026-02-11-p11-p12-governance-mobile.csv | 2026-02-11 | DONE | manual + client:typecheck/build | iOS前台恢复重放 |
| M3 | 移动审批快捷处理 | §16(移动端治理) | 2026-02-11-p11-p12-governance-mobile.csv | 2026-02-11-p11-p12-governance-mobile.csv | 2026-02-11 | DONE | manual + client:typecheck/build | none |
| M4 | P12验收与收口 | §16(状态治理) | 2026-02-11-p11-p12-governance-mobile.csv | 2026-02-11-p11-p12-governance-mobile.csv | 2026-02-11 | DONE | docs/mobile/pwa-regression-checklist.md | none |
+3 -3
查看文件
@@ -13,9 +13,9 @@
期望:离线壳可访问,不应白屏崩溃。
## 场景 B:移动拍照离线上传
1. 访问 `移动拍照` 页面。
2. 断网,选择图片文件,点击“立即上传”。
## 场景 B:移动 PDF 发票离线上传
1. 访问 `移动 PDF 发票上传` 页面。
2. 断网,选择 PDF 文件,点击“立即上传”。
3. 确认提示“已加入待上传队列”。
4. 恢复网络,点击“同步队列”或等待自动重放。
5. 进入票据中心确认文件已上传。
+3 -2
查看文件
@@ -87,8 +87,9 @@ OA 页面应参考公司主页 `www.hyinda.com` 的视觉气质,但不能做
- 草稿允许删除;审批中使用撤回;已通过和已支付不提供删除。
- 报销明细存在且只有一条时,上传发票默认绑定该明细。
- 多条明细时优先按金额匹配;无法匹配时自动生成新明细,不向普通用户暴露“绑定整单”。
- 发票上传支持批量,OCR 显示明确状态和可重试入口,不长期停留在“上传中/处理中”。
- PC 端适合完整明细和对账;手机端适合拍照上传、补充说明、继续编辑草稿和查状态。
- 发票上传支持批量 PDF,OCR 显示明确状态和可重试入口,不长期停留在“上传中/处理中”。
- PC 端适合完整明细和对账;手机端适合上传 PDF 发票、补充说明、继续编辑草稿和查状态。
- 报销详情等深层页的底部主操作在 iPhone 11 等小屏上仍保持同行双按钮,不因适配降级为单列。
## 请假、票据、采购、差旅规则
+3 -3
查看文件
@@ -33,7 +33,7 @@
## 上传与 OCR
- PDF 和图片均可上传;若走腾讯 OCR,PDF 可先转图片再识别,具体实现以当前 OCR provider 能力为准。
- 发票/OCR 上传只允许 PDF 发票文件;图片、拍照直传和 HTML `capture` 入口不作为正式发票上传方式。
- 上传后页面必须显示明确状态,不应长期停留在“上传中”。
- OCR 完成后,添加发票弹窗应自动刷新并尝试添加可用发票。
- OCR 失败、重复、已使用、他人已使用都要显示可理解原因。
@@ -103,10 +103,10 @@ PC 端:
手机/企业微信端:
- 适合新建、继续编辑草稿、拍照/上传发票、补充附件、提交审批、查状态。
- 适合新建、继续编辑草稿、上传 PDF 发票、补充附件、提交审批、查状态。
- 不显示桌面表格。
- 添加发票不默认聚焦搜索框,不自动弹键盘。
- 底部操作区紧凑,选中态使用品牌实心色。
- 底部操作区紧凑,选中态使用品牌实心色;核心操作在 iPhone 11 等小屏上仍保持同行双按钮,不降级为单列。
## 自动化验收
+1 -1
查看文件
@@ -9,7 +9,7 @@
"项目、合同台账与涉密边界","must_cover","/projects|/projects/:projectId|/contracts-registry","manager|admin|project roles","PROJECT_DOMAIN_ENABLED|PROJECT_LINKING_ENABLED|PROJECT_COMMUNICATION_LOG_ENABLED|PROJECT_CLOSURE_CHECKLIST_ENABLED|CONFIDENTIAL_DOC_REFS_ENABLED","project_domain_v1|project_linking_v1|project_communication_log_v1|project_closure_checklist_v1|confidential_doc_refs_v1","partial","docs/trialrun/manual-trialrun-report.md|client/tests/e2e/project-workbench.spec.ts|client/tests/e2e/confidential-boundary.spec.ts|client/tests/e2e/manual/r70-trialrun-assist.spec.ts","项目工作台沟通回填、收口面板、Portal 摘要、涉密搜索边界已自动化;经理人工确认项目入口可理解。","合同台账页面本轮只验证入口,没有当前 trialrun 下的浏览/编辑证据;真实项目创建与成员协同未重跑。","A4 可补项目详情与合同台账只读 smoke;重交互保持后置。"
"采购","enabled_admin","/purchase-requests","employee|manager|finance","none","none","partial_done","artifacts/r69/acceptance-report.md|client/tests/e2e/procurement-flow.spec.ts|issues/2026-03-24_17-00-26-r33-3-transaction-timeout-tail-cleanup.csv","员工提单、经理审批、财务归档链路已自动化通过,且事务超时问题已收口。","未进入 R70 人工试运行,当前 trialrun DB 下没有业务体验反馈。","若采购进入试运行范围,先补一次人工 happy path;否则保留自动化证据即可。"
"资产与盘点","enabled_admin","/assets|/inventory-checks|/mobile/assets/scan","employee|asset admin","none","none","partial_done","artifacts/r69/acceptance-report.md|client/tests/e2e/assets-flow.spec.ts|issues/2026-03-24_17-00-26-r33-3-transaction-timeout-tail-cleanup.csv","资产建卡、领用归还、调拨、盘点主链路已自动化通过。","未进入 R70 人工试运行;移动扫描真实设备与摄像头场景未验证。","保持自动化证据;真实移动扫描转 A5 或独立移动专项。"
"差旅与移动审批","enabled_admin","/travel-requests|/mobile/approvals|/mobile/capture","employee|manager|finance","WECOM_ENTRY_ENABLED","wecom_entry_v1","partial_done","artifacts/r69/acceptance-report.md|client/tests/e2e/travel-payment-flow.spec.ts|client/tests/e2e/travel-reconciliation-flow.spec.ts|client/tests/e2e/mobile-approvals-offline.spec.ts|docs/trialrun/manual-trialrun-report.md","差旅申请、审批、支付、绑票、对账批次,以及移动审批 deep link 离线重放都有自动化证据;R70 人工仅确认移动入口可理解。","真实 IM deep link、真实移动设备拍照上传、多人并发审批未验证。","保留自动化为主;真实设备和 IM 深链并入 A5。"
"差旅与移动审批","enabled_admin","/travel-requests|/mobile/approvals|/mobile/capture","employee|manager|finance","WECOM_ENTRY_ENABLED","wecom_entry_v1","partial_done","artifacts/r69/acceptance-report.md|client/tests/e2e/travel-payment-flow.spec.ts|client/tests/e2e/travel-reconciliation-flow.spec.ts|client/tests/e2e/mobile-approvals-offline.spec.ts|docs/trialrun/manual-trialrun-report.md","差旅申请、审批、支付、绑票、对账批次,以及移动审批 deep link 离线重放都有自动化证据;R70 人工仅确认移动入口可理解。","真实 IM deep link、真实移动设备 PDF 上传、多人并发审批未验证。","保留自动化为主;真实设备和 IM 深链并入 A5。"
"预算、支付批次与 AP 运营","optional","/budgets|/payment-batches|/ap-operations","finance|admin","BUDGET_PRECHECK_ENABLED|PAYMENT_BATCH_ENABLED|ERP_SYNC_ENABLED","budget_precheck_v1|payment_batch_v1|erp_sync","partial_done","issues/2026-03-29_08-07-14-p25-lite-budget-ap.csv|issues/2026-04-06_r52-ap-operations.csv|issues/2026-04-29_10-14-27-r78-reimbursement-payment-tail.csv|client/tests/e2e/reimbursement-payment-batch-flow.spec.ts|server/scripts/regression-payment-batches.sh","支付批次 maker-checker、AP 待付款快捷复核、finance 执行报销付款批次,以及 reimbursement paid 后 ERP preview pending outbox 已在本地 focused regression 跑通;历史 budget/AP 视图与 review 证据仍保留。","预算预检页面级联动、高风险两轮复核、大额批次与非报销实体付款未在本轮 focused local 回归中重跑。","若财务域继续扩大试运行,再补 budget precheck 与高风险二次复核专项;当前 payment batch/AP happy path 已具备本地回归证据。"
"ERP 集成与切换控制台","external","/system/integrations/erp|/system/cutover","integration admin|system.settings","ERP_SYNC_ENABLED|CUTOVER_CONSOLE_ENABLED","erp_sync|cutover_console_v1","partial_external","issues/2026-03-08_14-10-53-p19-erp-1-l5-masterdata-journal-bridge.csv|issues/2026-03-21_11-10-00-p29-replacement-readiness-refresh.csv|client/tests/e2e/live-smoke.spec.ts","ERP 管理页、mock/http 回归和只读 live smoke 有历史证据。","当前本地 trialrun 没有真实 ERP 出入站或 cutover 操作验证。","仅在外部环境专项下执行,不进入默认 trialrun gate。"
"系统治理、功能开关与审计","enabled_admin","/system/workspace|/system/settings|/system/feature-flags|/system/workflow-definitions|/audit-logs|/system/notification-channels","admin","WORKFLOW_DEFINITION_ADMIN_ENABLED","workflow_definition_admin_v1","partial_done","docs/trialrun/manual-trialrun-report.md|client/tests/e2e/settings-governance.spec.ts|client/tests/e2e/live-smoke.spec.ts|server/src/scripts/smoke-trialrun-runtime.js|client/tests/e2e/r75-automation-gap-fill.spec.ts|issues/2026-05-05_20-01-18-r90-r91-trialrun-closeout.csv","工作区设置、系统设置、功能开关、审计日志打开与导航边界有自动化和人工证据;R74 本地门禁已检查 workspace/flag/navigation 基线,R75 已补功能开关备注保存并恢复写路径。R80 已把 `wecom_entry_v1` 从 `force_off` 调整为 `inherit`,R90 已把旧公网诊断从当前事实中剥离。","流程定义、通知渠道、工作区其他写操作和审计留痕写入效果仍未在当前 trialrun 做完整专项;公网 `announcements_v1` / `global_search_v1` 仍需在 live smoke 中重新核对。","保留 partial_done;R90/R91 先收口公网 feature flag 与 live smoke,再补通知渠道与流程定义写路径。"
1 Domain Tier Routes Primary_Roles Env_Gates Feature_Flags Coverage_Status Evidence Validated_Flows Gaps Next_Action
9 项目、合同台账与涉密边界 must_cover /projects|/projects/:projectId|/contracts-registry manager|admin|project roles PROJECT_DOMAIN_ENABLED|PROJECT_LINKING_ENABLED|PROJECT_COMMUNICATION_LOG_ENABLED|PROJECT_CLOSURE_CHECKLIST_ENABLED|CONFIDENTIAL_DOC_REFS_ENABLED project_domain_v1|project_linking_v1|project_communication_log_v1|project_closure_checklist_v1|confidential_doc_refs_v1 partial docs/trialrun/manual-trialrun-report.md|client/tests/e2e/project-workbench.spec.ts|client/tests/e2e/confidential-boundary.spec.ts|client/tests/e2e/manual/r70-trialrun-assist.spec.ts 项目工作台沟通回填、收口面板、Portal 摘要、涉密搜索边界已自动化;经理人工确认项目入口可理解。 合同台账页面本轮只验证入口,没有当前 trialrun 下的浏览/编辑证据;真实项目创建与成员协同未重跑。 A4 可补项目详情与合同台账只读 smoke;重交互保持后置。
10 采购 enabled_admin /purchase-requests employee|manager|finance none none partial_done artifacts/r69/acceptance-report.md|client/tests/e2e/procurement-flow.spec.ts|issues/2026-03-24_17-00-26-r33-3-transaction-timeout-tail-cleanup.csv 员工提单、经理审批、财务归档链路已自动化通过,且事务超时问题已收口。 未进入 R70 人工试运行,当前 trialrun DB 下没有业务体验反馈。 若采购进入试运行范围,先补一次人工 happy path;否则保留自动化证据即可。
11 资产与盘点 enabled_admin /assets|/inventory-checks|/mobile/assets/scan employee|asset admin none none partial_done artifacts/r69/acceptance-report.md|client/tests/e2e/assets-flow.spec.ts|issues/2026-03-24_17-00-26-r33-3-transaction-timeout-tail-cleanup.csv 资产建卡、领用归还、调拨、盘点主链路已自动化通过。 未进入 R70 人工试运行;移动扫描真实设备与摄像头场景未验证。 保持自动化证据;真实移动扫描转 A5 或独立移动专项。
12 差旅与移动审批 enabled_admin /travel-requests|/mobile/approvals|/mobile/capture employee|manager|finance WECOM_ENTRY_ENABLED wecom_entry_v1 partial_done artifacts/r69/acceptance-report.md|client/tests/e2e/travel-payment-flow.spec.ts|client/tests/e2e/travel-reconciliation-flow.spec.ts|client/tests/e2e/mobile-approvals-offline.spec.ts|docs/trialrun/manual-trialrun-report.md 差旅申请、审批、支付、绑票、对账批次,以及移动审批 deep link 离线重放都有自动化证据;R70 人工仅确认移动入口可理解。 真实 IM deep link、真实移动设备拍照上传、多人并发审批未验证。 真实 IM deep link、真实移动设备 PDF 上传、多人并发审批未验证。 保留自动化为主;真实设备和 IM 深链并入 A5。
13 预算、支付批次与 AP 运营 optional /budgets|/payment-batches|/ap-operations finance|admin BUDGET_PRECHECK_ENABLED|PAYMENT_BATCH_ENABLED|ERP_SYNC_ENABLED budget_precheck_v1|payment_batch_v1|erp_sync partial_done issues/2026-03-29_08-07-14-p25-lite-budget-ap.csv|issues/2026-04-06_r52-ap-operations.csv|issues/2026-04-29_10-14-27-r78-reimbursement-payment-tail.csv|client/tests/e2e/reimbursement-payment-batch-flow.spec.ts|server/scripts/regression-payment-batches.sh 支付批次 maker-checker、AP 待付款快捷复核、finance 执行报销付款批次,以及 reimbursement paid 后 ERP preview pending outbox 已在本地 focused regression 跑通;历史 budget/AP 视图与 review 证据仍保留。 预算预检页面级联动、高风险两轮复核、大额批次与非报销实体付款未在本轮 focused local 回归中重跑。 若财务域继续扩大试运行,再补 budget precheck 与高风险二次复核专项;当前 payment batch/AP happy path 已具备本地回归证据。
14 ERP 集成与切换控制台 external /system/integrations/erp|/system/cutover integration admin|system.settings ERP_SYNC_ENABLED|CUTOVER_CONSOLE_ENABLED erp_sync|cutover_console_v1 partial_external issues/2026-03-08_14-10-53-p19-erp-1-l5-masterdata-journal-bridge.csv|issues/2026-03-21_11-10-00-p29-replacement-readiness-refresh.csv|client/tests/e2e/live-smoke.spec.ts ERP 管理页、mock/http 回归和只读 live smoke 有历史证据。 当前本地 trialrun 没有真实 ERP 出入站或 cutover 操作验证。 仅在外部环境专项下执行,不进入默认 trialrun gate。
15 系统治理、功能开关与审计 enabled_admin /system/workspace|/system/settings|/system/feature-flags|/system/workflow-definitions|/audit-logs|/system/notification-channels admin WORKFLOW_DEFINITION_ADMIN_ENABLED workflow_definition_admin_v1 partial_done docs/trialrun/manual-trialrun-report.md|client/tests/e2e/settings-governance.spec.ts|client/tests/e2e/live-smoke.spec.ts|server/src/scripts/smoke-trialrun-runtime.js|client/tests/e2e/r75-automation-gap-fill.spec.ts|issues/2026-05-05_20-01-18-r90-r91-trialrun-closeout.csv 工作区设置、系统设置、功能开关、审计日志打开与导航边界有自动化和人工证据;R74 本地门禁已检查 workspace/flag/navigation 基线,R75 已补功能开关备注保存并恢复写路径。R80 已把 `wecom_entry_v1` 从 `force_off` 调整为 `inherit`,R90 已把旧公网诊断从当前事实中剥离。 流程定义、通知渠道、工作区其他写操作和审计留痕写入效果仍未在当前 trialrun 做完整专项;公网 `announcements_v1` / `global_search_v1` 仍需在 live smoke 中重新核对。 保留 partial_done;R90/R91 先收口公网 feature flag 与 live smoke,再补通知渠道与流程定义写路径。
+1 -1
查看文件
@@ -38,7 +38,7 @@
| 领域 | 当前合理点 | 主要差距 | 优化优先级 |
| --- | --- | --- | --- |
| 企业微信入口 | 已有 `/mobile`、OAuth config、移动底部导航和公网入口配置 | 真机企业微信 OAuth + 真实账号回跳证据不足;仍需防 PC 页面误入 | P0 |
| 报销与票据 | 已支持报销、发票上传、OCR、绑定、解绑、查重、付款批次 | OCR 真实耗时、状态变化和失败提示需要 live 证据;票据入口需继续区分拍照/图片/PDF | P0 |
| 报销与票据 | 已支持报销、PDF 发票上传、OCR、绑定、解绑、查重、付款批次 | OCR 真实耗时、状态变化和失败提示需要 live 证据;票据入口需确认 PDF-only 在企业微信文件选择器中可用 | P0 |
| 费用规则 | 已有费用类型、审批规则、预算预检、支付批次 | 普通用户流程还需更强的提交前解释和异常引导 | P1 |
| 审批 | PC/移动审批和离线队列已有自动化 | 多人并发、代理审批、真实企业微信 deep link 还缺 live 证据 | P1 |
| 电子档案 | 发票、附件、审批、付款、ERP preview 已有链路 | 财务视角归档检索、合同/发票/付款跨域追溯仍偏分散 | P1 |
+2 -2
查看文件
@@ -13,8 +13,8 @@
## 真实 OCR 复核
- `PLAYWRIGHT_OCR_LIVE_FILE`:单张真实测试发票 PDF/JPG/PNG/WEBP。
- 或 `PLAYWRIGHT_OCR_LIVE_DIR`:批量票样目录。
- `PLAYWRIGHT_OCR_LIVE_FILE`:单张真实测试发票 PDF。
- 或 `PLAYWRIGHT_OCR_LIVE_DIR`:批量 PDF 票样目录。
- 可选 `PLAYWRIGHT_OCR_LIVE_IDENTIFIER` / `PLAYWRIGHT_OCR_LIVE_PASSWORD`:专用 OCR 测试员工账号;未提供时复用 `LIVE_SMOKE_EMPLOYEE_*`。
- 可选 `PLAYWRIGHT_OCR_ALLOW_DUPLICATE=1`:允许重复样本被识别为重复,用于反复测试同一张票。
@@ -2,7 +2,7 @@
**文档状态**:当前操作手册,用于真实手机、企业微信和移动浏览器人工验收。
适用范围:使用真实手机访问 `https://oa.hyinda.com`,重点验证企业微信工作台、手机浏览器、拍照/PDF 上传、真实 OCR 状态反馈和移动核心流程。
适用范围:使用真实手机访问 `https://oa.hyinda.com`,重点验证企业微信工作台、手机浏览器、PDF 发票上传、真实 OCR 状态反馈和移动核心流程。
## 测试前信息
@@ -15,7 +15,7 @@
- 企业微信版本:
- 浏览器:
- 网络:公司 Wi-Fi / 4G / 5G / 其他
- 测试发票样本:PDF / JPG / PNG / WEBP
- 测试发票样本:PDF
## 企业微信入口
@@ -46,9 +46,9 @@
## 票据上传
- 报销详情“添加发票”上传页应同时提供“拍照或选图片”和“选择 PDF/文件”两个入口。
- “拍照或选图片”入口可打开摄像头或相册,支持 JPG、PNG、WEBP。
- “选择 PDF/文件”入口不应直接打开摄像头,应允许选择 PDF 文件;在企业微信里重点记录是否能进入系统文件选择器。
- 报销详情“添加发票”上传页只提供 PDF 发票上传入口。
- 发票/OCR 上传不提供拍照、图片或 HTML `capture` 直拍入口;附件材料仍可按业务需要上传图片或 PDF。
- PDF 上传入口不应直接打开摄像头,应允许选择 PDF 文件;在企业微信里重点记录是否能进入系统文件选择器。
- 上传后显示当前文件名、上传进度或失败原因。
- 网络中断或失败时有明确提示,可重试。
@@ -69,7 +69,7 @@
| 验收项 | 账号角色 | 直属上级 | 提交人 | 期望审批人 | 结果 | 截图或录屏位置 |
| --- | --- | --- | --- | --- | --- | --- |
| 普通低/中额单据 | `SMOKE002` / 测试员工 | `SMOKE101` | `SMOKE002` | `SMOKE101` | | |
| 普通低/中额单据 | `SMOKE002` / 测试员工 | `SMOKE101` | `SMOKE002` | `SMOKE101` | 通过:`oa_smoke_01 -> SMOKE002` 提交,`oa_smoke_02 -> SMOKE101` 审批 | 用户确认;截图/录屏不提交仓库 |
| 高额/高风险/例外单据 | `SMOKE002` / 测试员工 | `SMOKE101` | `SMOKE002` | `SMOKE101 -> SMOKE201 -> SMOKE302/SMOKE301`,以现有金额和财务规则为准 | | |
| 主管本人申请 | `SMOKE101` / 测试主管 | `SMOKE201` | `SMOKE101` | `SMOKE201` | | |
| 公司负责人本人申请 | `SMOKE201` / 测试负责人 | 无直属上级 | `SMOKE201` | 阻断或非本人兜底审批人 | | |
@@ -83,6 +83,8 @@
- `SMOKE001` 仅凭 `admin` 审批业务待办被拒绝,HTTP `403/PERM_002`。
- 小额报销经 `SMOKE101` 后进入 `finance` role;大额报销进入 `SMOKE101 -> ceo -> finance_mgr`,由 `SMOKE301/SMOKE302` 测试角色验证。
- 企业微信原生工作台、OAuth 绑定、通知 deeplink 和真机截图/录屏仍待使用企业微信测试成员完成;未完成前 R5/O3 不标 `DONE`。
- `2026-05-10` 真机补充:iPhone 11(iOS 14)与 Redmi K60(MIUI)企业微信最新版下,`oa_smoke_01 -> SMOKE002`、`oa_smoke_02 -> SMOKE101` 绑定、工作台进入、免登录、提交和审批详情/结果均通过。
- `2026-05-10` 阻断:真机发现移动底部导航和报销详情深层页在不同分辨率下存在底部区域不可见或控件挤压;发票上传正式口径改为 PDF-only。本地修复已完成,部署与真机复测完成前,S5/O3/R5 不标 `DONE`。
- 经理账号可在移动端看到审批待办。
- 审批详情可查看申请摘要、附件、发票、审批记录。
@@ -107,5 +109,5 @@
- 企业微信工作台和手机浏览器均可进入。
- 移动端不出现 PC 页面壳、桌面表格、横向溢出。
- 报销、票据、审批、我的、通知主流程可完成。
- 发票上传和真实 OCR 有明确状态变化和终态反馈。
- PDF 发票上传和真实 OCR 有明确状态变化和终态反馈。
- 已知问题文案和原始码值不再出现。
+1 -1
查看文件
@@ -47,7 +47,7 @@
| [试运行与自动化验证 Runbook](./trialrun-runbook.md) | 本地、公网、企业微信试运行操作 | 涉及公网或企业微信真机时必须看 |
| [发布试运行准备清单](./trialrun/release-readiness-checklist.md) | 发布候选证据、权限直连审计、部署预检、live smoke 和小范围试运行顺序 | 从本地可回归进入公网/真机验收前必须看 |
| [公网 live smoke 与真实 OCR 准备清单](./trialrun/live-smoke-readiness.md) | 公网、真实 OCR、企业微信入口复核准备 | 只有部署后才能给出真机验收结论 |
| [真机公网测试清单](./trialrun/real-device-public-checklist.md) | 手机、企业微信、拍照/PDF 上传人工验证 | 用于上线前人工验收 |
| [真机公网测试清单](./trialrun/real-device-public-checklist.md) | 手机、企业微信、PDF 发票上传人工验证 | 用于上线前人工验收 |
## 实现状态与证据
+1 -1
查看文件
@@ -176,7 +176,7 @@ OA 是公司唯一正式审批中心。以下审批必须在 OA 内提交、审
### 6.4 验收
- 手机拍照或上传发票后,能完成 OCR、查重、绑定、提交。
- 手机上上传 PDF 发票后,能完成 OCR、查重、绑定、提交。
- 报销审批通过后,财务能付款标记并导出。
- 重复发票、OCR 失败、附件缺失、金额不一致等异常有明确提示。
+3 -3
查看文件
@@ -46,7 +46,7 @@
| 入口 | 适用场景 | 要求 |
| --- | --- | --- |
| PC 报销列表/详情 | 明细编辑、批量查看、财务复核、导出 | 可查看完整字段、审批历史、发票和附件 |
| 手机报销页 | 拍照上传、继续草稿、补充附件、提交审批、查状态 | 不使用桌面宽表,操作路径短 |
| 手机报销页 | 上传 PDF 发票、继续草稿、补充附件、提交审批、查状态 | 不使用桌面宽表,操作路径短 |
| 企业微信自建应用 | 手机工作台入口和消息 deeplink | 默认进入 OA 移动端,审批动作仍在 OA 内完成 |
| 票据或发票添加弹窗 | 从报销草稿中添加发票 | 普通员工只看到“添加发票”,不暴露“发票池”等内部概念 |
| 财务导出页 | 财务按期间、人员、项目、状态导出 | 导出前必须校验财务权限 |
@@ -225,7 +225,7 @@
附件用于补充业务事实,包括支付截图、订单、合同、聊天记录、情况说明、验收材料等。
- 支持 PDF、JPG、PNG、WEBP。
- 发票/OCR 上传仅支持 PDF;附件材料可继续支持 PDF、JPG、PNG、WEBP。
- 支持多文件上传。
- 不参与 OCR。
- 不参与发票查重。
@@ -255,7 +255,7 @@
| 归档内容 | 要求 |
| --- | --- |
| 报销单快照 | 包含报销单号、申请人、实际报销人、部门、项目、明细、金额、状态和提交时间 |
| 发票原件 | 保留上传的图片或 PDF 原件,不以 OCR 结果替代原件 |
| 发票原件 | 保留上传的 PDF 原件,不以 OCR 结果替代原件 |
| OCR 结果 | 保留识别字段、识别状态、失败原因和人工修正记录 |
| 附件 | 保留支付截图、订单、合同、聊天记录、情况说明等非发票材料 |
| 审批历史 | 保留提交、通过、驳回、退回、撤回、转审和处理意见 |