docs: record mobile OA start phase-2 acceptance notes

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
zlwuandCursor committed 2026-08-11 14:06:57 +08:00
1 parent e83d925994
commit ad6208a73a
3 files changed
+45 -23

No files matched your search

@@ -14,6 +14,8 @@
**Out of scope(本计划不做):** 待办/已办/抄送办理、Web 设计器改造、小程序内直挂 form-create、草稿箱独立列表页(仅支持发起页内暂存)、套件与 Web 100% 业务细节(请假节假日等放 Task 8 可分期)。
**实现状态(2026-08-11):** Task 1~8 代码已落地并提交;Task 9 静态 type 核对已完成;真机全链路与菜单库授权仍待验收(见 spike 笔记验收表)。
---
## File map
@@ -688,15 +690,15 @@ git commit -m "feat: register mobile OA start menu and wire mini menus API to ho
- Create: `mobile-oa-h5/src/oa/kit-runtime.js`(从 Web `oa-form-create-*-kit.ts` 移植纯函数部分)
- Modify: `mobile-oa-h5/src/views/OaStart.vue`(watch formData 时调用 sync)
- [ ] **Step 1: 按 zkxw-sc 已发布模板优先级移植**
- [x] **Step 1: 按 zkxw-sc 已发布模板优先级移植**(commit `e83d9259`)
顺序:`leaveKit` 时长 → `overtimeKit`(含节假日 API 若 Web 已有)→ `tripKit` 天数 → `confirmationKit` / `resignationKit` / owner 默认值。
原则:只搬**纯函数**(输入 schema+formData → 新 formData),不搬 Element UI。
- [ ] **Step 2: 双端对照清单**(同一模板 Web vs 小程序:默认值、改开始时间后时长、提交 payload)。
- [ ] **Step 2: 双端对照清单**(同一模板 Web vs 小程序:默认值、改开始时间后时长、提交 payload)。**待真机**
- [ ] **Step 3: Commit**
- [x] **Step 3: Commit**
```bash
git add mobile-oa-h5/src/oa/kit-runtime.js mobile-oa-h5/src/views/OaStart.vue
@@ -713,7 +715,7 @@ git commit -m "feat(mobile-oa-h5): align OA kit runtime helpers with web-admin"
- Modify: `docs/superpowers/specs/2026-08-11-mobile-oa-form-sink-spike-notes.md`(可追加阶段二验收记录)
- 可选:更新设计文档 §9 实施顺序勾选状态
- [ ] **Step 1: 验收清单(全部勾选才算阶段二完成)**
- [ ] **Step 1: 验收清单(全部勾选才算阶段二完成)** — 代码侧就绪;**真机 1~8 项见 spike 笔记「Task 9 验收记录」待勾**
| # | 项 | 通过标准 |
|---|----|----------|
@@ -726,19 +728,14 @@ git commit -m "feat(mobile-oa-h5): align OA kit runtime helpers with web-admin"
| 7 | 提交 | 实例创建成功,返回小程序 |
| 8 | 部署 | 测试环境 `OA_H5_ORIGIN` + 业务域名 + `/api` 反代正确 |
- [ ] **Step 2: 跑一遍 type 统计,确认无未注册 type**
- [x] **Step 2: 跑一遍 type 统计,确认无未注册 type**(2026-08-11:`published_latest_apps=27`,CUSTOM 均已注册)
```bash
cd backend && source venv/bin/activate
python ../scripts/oa_form_type_stats.py
```
- [ ] **Step 3: Commit 文档**
```bash
git add docs/superpowers/specs/2026-08-11-mobile-oa-form-sink-spike-notes.md
git commit -m "docs: record mobile OA start phase-2 acceptance notes"
```
- [x] **Step 3: Commit 文档**
---
@@ -29,7 +29,7 @@
- `leaveKit` / `overtimeKit` / `confirmationKit` / `resignationKit` / `tripKit`:与 Web 相同为 **slot 容器**,子字段由 `children` 渲染
- `tripItinerary`:行程多段编辑(交通/城市/日期时段)
- 说明:Web 端「时长自动计算 / 节假日联动」等运行时逻辑尚未移植,真模板联调时再对齐
- 时长/天数/owner 默认值等运行时:已移植到 `mobile-oa-h5/src/oa/kit/`,在 `/oa-start` 同步(加班节假日走 `/cn-holiday/range`)
## 附件拍照(真机 / 微信 web-view)
@@ -42,7 +42,7 @@
1. `cd mobile-oa-h5 && npm run dev`
2. 将 `OA_H5_ORIGIN` 改为手机可达地址(不要用 `127.0.0.1` 给真机)
3. 微信开发者工具可勾选「不校验合法域名」;体验版须配置业务域名
4. 小程序首页 →「表单水槽测试」
4. 小程序首页 →「表单水槽测试」或「发起审批」
## 阶段二进度(2026-08-11)
@@ -50,7 +50,32 @@
- [x] schema 最小预处理 + `/oa-start` 正式页 + `OaFlowPreview`
- [x] 小程序模板列表 + web-view 发起页
- [x] `GET /api/mini/menus` + SQL 种子 `docs/sql/mobile_menu_oa_start.sql` + 首页拉菜单(失败时 fallback)
- [x] Task 8 套件运行时(请假/加班/出差/转正/离职/owner 默认值)已移植并接入 `/oa-start`
- [x] Task 9 静态核对:`oa_form_type_stats.py`(2026-08-11)已发布模板 27 个;CUSTOM type 均与 `register-components.js` 对齐,无缺口
- [ ] 测试库执行 SQL 并在角色中勾选「发起审批」
- [ ] 真机:列表 → 填写 → 草稿/提交 全链路
- [x] Task 8 套件运行时(请假/加班/出差/转正/离职/owner 默认值)已移植并接入 `/oa-start`(节假日走 `/cn-holiday/range`)
- [ ] 真机:含套件模板与 Web 对照回归
## 阶段二验收清单(Task 9)
| # | 项 | 状态 | 说明 |
|---|----|------|------|
| 1 | 首页菜单 | 代码就绪 / 待库授权 | SQL + `/api/mini/menus` + 首页;需执行种子并勾角色 |
| 2 | 模板列表 | 代码就绪 / 待真机 | `pages/oa/start/index` |
| 3 | 打开填写 | 代码就绪 / 待真机 | web-view → `/oa-start` + `token` |
| 4 | 动态表单 | 代码就绪 / 待真机 | 自研 type 已注册;库内 CUSTOM 无未注册 |
| 5 | 审批流 | 代码就绪 / 待真机 | `OaFlowPreview` + initiator_select |
| 6 | 暂存 | 代码就绪 / 待真机 | drafts API |
| 7 | 提交 | 代码就绪 / 待真机 | instances + navigateBack |
| 8 | 部署 | 配置已写 / 待发布验证 | Nginx `/oa-h5/`;`OA_H5_ORIGIN=https://www.chengyantek.cn/oa-h5` |
**type 统计摘要(zkxw-sc,`published_latest_apps=27`):**
CUSTOM 出现:`upload`(31) `money`(13) `relatedApproval`(11) `receiveAccount`(7) `dept`(5) `person`(3) `overtimeKit`(2) + 各套件/owner/post/trip 各 1。
H5 已注册:`money`/`upload`/`receiveAccount`/`relatedApproval`/`person`/`dept`/`post`/`owner*`/`leaveKit`/`overtimeKit`/`confirmationKit`/`resignationKit`/`tripKit`/`tripItinerary`/`inputNumber`。
**真机验收最小步骤:**
1. 执行 `docs/sql/mobile_menu_oa_start.sql`,角色勾选「发起审批」,重启后端
2. 部署 `mobile-oa-h5` dist → `/root/zkxw/static/oa-h5`(或本地 `npm run dev` + 可达 `OA_H5_ORIGIN`)
3. 小程序:首页 → 发起审批 → 选模板 → 填表 → 暂存 → 再开草稿 → 提交
4. 选含请假/加班的模板,改开始/结束时间,对照 Web 核对时长
@@ -218,15 +218,15 @@ H5 建议独立目录(如 `mobile-oa-h5/`),Vite 构建并部署到已配
## 9. 实施顺序
| 序号 | 内容 |
|------|------|
| P0 | 独立 H5 工程骨架 + Vant + `@form-create/vant` |
| P1 | 水槽页 + 全 type 注册(可先 mock 未完成的自研控件) |
| P2 | 小程序:测试菜单 + 整页 web-view 打开水槽;真机验收 |
| P3 | 按序完成自研组件/套件真实实现 |
| P4 | H5 `/oa-start`:模板 API + flow-preview + 草稿/提交 |
| P5 | 小程序原生模板列表 + 菜单注册 + 首页菜单联调 |
| P6 | 已发布模板全量回归(移动端可完整发起) |
| 序号 | 内容 | 状态(2026-08-11) |
|------|------|-------------------|
| P0 | 独立 H5 工程骨架 + Vant + `@form-create/vant` | 完成 |
| P1 | 水槽页 + 全 type 注册(可先 mock 未完成的自研控件) | 完成(已换真实控件) |
| P2 | 小程序:测试菜单 + 整页 web-view 打开水槽;真机验收 | 完成(水槽入口保留) |
| P3 | 按序完成自研组件/套件真实实现 | 完成 |
| P4 | H5 `/oa-start`:模板 API + flow-preview + 草稿/提交 | 完成 |
| P5 | 小程序原生模板列表 + 菜单注册 + 首页菜单联调 | 完成(待库授权) |
| P6 | 已发布模板全量回归(移动端可完整发起) | 进行中(待真机) |
---