diff --git a/src/api/approval/instance/index.ts b/src/api/approval/instance/index.ts index 20975e0..ac73f01 100644 --- a/src/api/approval/instance/index.ts +++ b/src/api/approval/instance/index.ts @@ -38,6 +38,20 @@ export async function saveCoordination(data: ApprovalCoordinationForm) { return Promise.reject(new Error(res.data.message)); } +/** + * 新建或保存任意单据草稿(按流程编码路由),返回实例id + */ +export async function saveDocument(flowCode: string, data: Record) { + const res = await request.post>( + THINK_API_URL + '/approval/instance/' + flowCode, + data + ); + if (res.data.code === 0) { + return res.data.data as number; + } + return Promise.reject(new Error(res.data.message)); +} + /** * 提交或重提 */ diff --git a/src/api/approval/task/index.ts b/src/api/approval/task/index.ts index 462f0d5..bd0233a 100644 --- a/src/api/approval/task/index.ts +++ b/src/api/approval/task/index.ts @@ -19,10 +19,28 @@ export async function getTodoCount() { /** * 通过(意见可选) */ -export async function approveTask(id: number, opinion?: string) { +export async function approveTask( + id: number, + opinion?: string, + fields?: Record +) { const res = await request.post>( THINK_API_URL + '/approval/task/' + id + '/approve', - { opinion } + { opinion, fields } + ); + if (res.data.code === 0 && res.data.data) { + return res.data; + } + return Promise.reject(new Error(res.data.message)); +} + +/** + * 回填(只写字段,不推进节点) + */ +export async function backfillTask(id: number, fields: Record) { + const res = await request.post>( + THINK_API_URL + '/approval/task/' + id + '/backfill', + { fields } ); if (res.data.code === 0 && res.data.data) { return res.data; diff --git a/src/packageApproval/pages/form-completion.vue b/src/packageApproval/pages/form-completion.vue index 5fdb5c9..825b333 100644 --- a/src/packageApproval/pages/form-completion.vue +++ b/src/packageApproval/pages/form-completion.vue @@ -115,6 +115,7 @@ import { showError, showSuccess } from '@/utils/app'; const userStore = useUserStore(); const categories = [ { value: 'SIGNED', label: '签字件' }, + { value: 'VOUCHER', label: '凭证' }, { value: 'OTHER', label: '其他' } ]; diff --git a/src/packageApproval/pages/form-coordination.vue b/src/packageApproval/pages/form-coordination.vue index fadaa0e..23ba569 100644 --- a/src/packageApproval/pages/form-coordination.vue +++ b/src/packageApproval/pages/form-coordination.vue @@ -126,6 +126,7 @@ import { showError, showSuccess } from '@/utils/app'; const userStore = useUserStore(); const categories = [ { value: 'SIGNED', label: '签字件' }, + { value: 'VOUCHER', label: '凭证' }, { value: 'OTHER', label: '其他' } ];