diff --git a/src/api/approval/directory/index.ts b/src/api/approval/directory/index.ts new file mode 100644 index 0000000..d3a3266 --- /dev/null +++ b/src/api/approval/directory/index.ts @@ -0,0 +1,17 @@ +import request from '@/utils/request'; +import type { ApiResult } from '@/api'; +import type { ApprovalOrganization } from '../model'; +import { THINK_API_URL } from '@/config/setting'; + +/** + * 启用组织(内部协调单受理部门选择) + */ +export async function getOrganizations() { + const res = await request.get>( + THINK_API_URL + '/approval/directory/organizations' + ); + if (res.data.code === 0 && res.data.data) { + return res.data.data; + } + return Promise.reject(new Error(res.data.message)); +} diff --git a/src/api/approval/instance/index.ts b/src/api/approval/instance/index.ts index 21a41fd..20975e0 100644 --- a/src/api/approval/instance/index.ts +++ b/src/api/approval/instance/index.ts @@ -2,6 +2,7 @@ import request from '@/utils/request'; import type { ApiResult, PageResult } from '@/api'; import type { ApprovalCompletionForm, + ApprovalCoordinationForm, ApprovalInstance, ApprovalItem, ApprovalMineParam, @@ -23,6 +24,20 @@ export async function saveCompletion(data: ApprovalCompletionForm) { return Promise.reject(new Error(res.data.message)); } +/** + * 新建或保存内部协调单草稿,返回实例id + */ +export async function saveCoordination(data: ApprovalCoordinationForm) { + const res = await request.post>( + THINK_API_URL + '/approval/instance/coordination', + 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/model/index.ts b/src/api/approval/model/index.ts index bd2d258..af22166 100644 --- a/src/api/approval/model/index.ts +++ b/src/api/approval/model/index.ts @@ -128,6 +128,17 @@ export interface ApprovalCompletionForm { serviceContent: string; } +/** + * 内部协调单草稿参数 + */ +export interface ApprovalCoordinationForm { + id?: number; + acceptOrgId?: number; + title: string; + content: string; + remark?: string; +} + /** * 我发起的查询参数 */ diff --git a/src/packageApproval/pages/detail.vue b/src/packageApproval/pages/detail.vue index eb591a8..e4f3ec8 100644 --- a/src/packageApproval/pages/detail.vue +++ b/src/packageApproval/pages/detail.vue @@ -232,13 +232,19 @@ async function load() { } function editAndResubmit() { - if (detail.value?.docType !== 'completion') { + const docType = detail.value?.docType; + const page = + docType === 'completion' + ? 'form-completion' + : docType === 'coordination' + ? 'form-coordination' + : ''; + if (!page) { showError('该单据类型暂不支持在线修改', null); return; } uni.navigateTo({ - url: - '/packageApproval/pages/form-completion?mode=edit&id=' + instanceId.value + url: `/packageApproval/pages/${page}?mode=edit&id=` + instanceId.value }); } diff --git a/src/packageApproval/pages/form-coordination.vue b/src/packageApproval/pages/form-coordination.vue new file mode 100644 index 0000000..eb9fb94 --- /dev/null +++ b/src/packageApproval/pages/form-coordination.vue @@ -0,0 +1,575 @@ +