模块: OA 审批 · mobile-oa-h5 / mobile-h5
日期: 2026-08-28
状态: 已实现(mobile-oa-h5)
关联: web 端历史记录已落地(WorkTab + GET /instances/history)
决策记录:
oa:start:history:all 全员;无权限仅本人mobile-h5/pages/oa/mine/index.vue)web-admin「发起审批」已支持按流程查看历史记录。用户希望在微信小程序工作台(mobile-h5)发起流程时,在表单填写页(mobile-oa-h5 的 /oa-start,经 pages/oa/start/webview 加载)底栏「取消」右侧增加「历史记录」,进入该流程的历史列表,并可查看详情。
成功标准:
| 项 | 说明 |
|---|---|
| 入口按钮 | mobile-oa-h5/src/views/OaStart.vue 底栏 |
| 历史列表页 | 新建 OaHistory.vue + 路由 /oa-history |
| API 封装 | mobile-oa-h5/src/api/oa.js 增加 fetchOaInstanceHistory |
| 详情 | 复用已有 /oa-detail?instanceId=(只读) |
| 权限 | 后端已有;前端用响应 canViewAll 控制申请人检索显隐 |
发起审批宫格 → webview 加载 /oa-start?appId=…
│
├─ 取消 → closeToHost
├─ 历史记录 → /oa-history?appId=… (同 H5 路由)
│ │
│ ├─ 上拉分页 / 申请人检索(可选)
│ └─ 点卡片 → /oa-detail?instanceId=…
│ └─ 返回 → 历史列表
├─ 暂存草稿
└─ 提交审批
push / back,不 closeToHost 离开宿主顺序:取消 | 历史记录 | 暂存草稿 | 提交审批
#0a9f6d 系),禁止 web-admin #10b981参考:mobile-h5/pages/oa/mine/index.vue 的 dd-card 结构:
| 区域 | 内容 |
|---|---|
| 角标 | 序号 |
| 标题行 | 审批标题 / 流程名;右侧相对或绝对发起时间 |
| 元信息 | 可选:申请人(全员时更有用)、当前节点、业务预览字段 1~2 行 |
| 底栏 | 状态文案 + 语义色 Tag(进行中 / 已完成 / 已拒绝等) |
检索区(仅 canViewAll):
空态 / 加载 / 加载更多:对齐 mine(VanEmpty 或等价、pulse、已经到底了)
router.push({ path: '/oa-detail', query: { instanceId } })from=history 隐藏;若实现成本高且详情页本无打印,则无需改)复用:
GET /web/admin/oa-approval/instances/history
appId* | initiatorName? | page | pageSize
oa:start:history:all 收窄范围list、total、canViewAllid、appName、initiatorUserName、applyTime、finishTime、instanceStatus、currentNodeName、previewFields 等mobile-oa-h5/src/api/oa.js 新增:
export function fetchOaInstanceHistory(params) {
return get('/web/admin/oa-approval/instances/history', params)
}
mobile-h5 侧本期可不封装(列表跑在 oa-h5 内)。
mobile-oa-h5/src/router.js 增加:
{ path: '/oa-history', component: OaHistory }
Query:appId(必填);可选 appName 用于标题,避免再请求。
onHistory 取当前 appId / 流程名后 router.pushcanViewAll 控制检索;分页 page 递增;卡片字段映射对齐 mine 的 cardTitle / statusText / statusTone/oa-start 加 keep-alive;优先验证默认行为,按需再加| 文件 | 变更 |
|---|---|
mobile-oa-h5/src/views/OaStart.vue |
底栏按钮 + 跳转 |
mobile-oa-h5/src/views/OaHistory.vue |
新建列表页 |
mobile-oa-h5/src/router.js |
注册 /oa-history |
mobile-oa-h5/src/api/oa.js |
fetchOaInstanceHistory |
(可选)OaDetail.vue |
隐藏打印若存在且需按来源隐藏 |
后端 / 菜单 SQL:无需为本期新增。