Files
svc-hall-hall/src/api/module/approvalAdapter.ts
T
chenxing d7d8789d1a
build / build (push) Successful in 2m0s
feat(p3.5): 我的审批扩四页签——我已审批/抄送我的(行映射与漂移登记)
- types 增 DoneTask/CcRow 行契约与 api.done/cc;列表组件 tabs 扩 'done'|'cc'
  (done=我办理的节点+办理时间;cc=抄送节点+抄送时间;行详情跳转只用本行 bizId 构造)
- ApprovalApi.done/cc + adapter 映射;页头文案更新
- 门禁:vue-tsc 18 零新增+build 绿(Stage S5/P3.5)
2026-10-20 00:16:24 +08:00

31 lines
1.5 KiB
TypeScript

import type { FlowApprovalApi } from "@/components/flow-approval/types";
import { approvalApi, applyApi } from "@/api/module/svc";
/**
* svc-hall 应用内审批适配器(唯一映射位置;沿 Notice approvalAdapter 形态)。
*
* 纪律:
* - 身份三字段(operatorId/operatorName/schId)不出现——后端从 CAS 会话取;
* - 写面 bizId=applyId 是必需上下文(后端写面双闸),组件契约层已强制携带;
* - trace 复用既有 /api/apply/{id}/progress(卡片不自取轨迹,宿主转换后经 props 传入);
* - alova Method 是 thenable,组件 await 即发。
*/
export const svcFlowApprovalApi: FlowApprovalApi = {
todo: (p) => approvalApi.todo(p?.page ?? 1, p?.size ?? 10).send(),
my: (p) =>
approvalApi
.my(p?.page ?? 1, p?.size ?? 10, p?.flowStatus ?? null)
.send(),
done: (p) => approvalApi.done(p?.page ?? 1, p?.size ?? 10).send(),
cc: (p) => approvalApi.cc(p?.page ?? 1, p?.size ?? 10).send(),
byBiz: (bizId) => approvalApi.byBiz(Number(bizId)).send(),
trace: (bizId) => applyApi.progress(Number(bizId)).send(),
approve: (taskId, opinion, edgeName, bizId) =>
approvalApi.approve(taskId, Number(bizId), opinion, edgeName).send(),
reject: (taskId, opinion, bizId) => approvalApi.reject(taskId, Number(bizId), opinion).send(),
recordUrl: (bizId) => approvalApi.recordUrl(Number(bizId)).send(),
taskPageUrl: (bizId, taskId) => approvalApi.taskPageUrl(Number(bizId), taskId).send(),
};
export default svcFlowApprovalApi;