From d74a60eefedbd7c8e491197f4a97bcd374612ef9 Mon Sep 17 00:00:00 2001 From: gssong <1742057357@qq.com> Date: Sat, 15 Jul 2023 17:23:34 +0800 Subject: [PATCH] =?UTF-8?q?add=20=E6=B7=BB=E5=8A=A0=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E5=8A=A0=E7=AD=BE=EF=BC=8C=E5=87=8F=E7=AD=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/workflow/task/index.ts | 26 ++ src/api/workflow/workflowUser/index.ts | 39 ++ src/components/Process/multiInstance-user.vue | 353 ++++++++++++++++++ .../workflow/processDefinition/index.vue | 6 +- src/views/workflow/task/allTaskWaiting.vue | 27 ++ 5 files changed, 450 insertions(+), 1 deletion(-) create mode 100644 src/api/workflow/workflowUser/index.ts create mode 100644 src/components/Process/multiInstance-user.vue diff --git a/src/api/workflow/task/index.ts b/src/api/workflow/task/index.ts index 68e49f8..caa364d 100644 --- a/src/api/workflow/task/index.ts +++ b/src/api/workflow/task/index.ts @@ -127,3 +127,29 @@ export const getBusinessStatus = (taskId: string) => { }); }; +/** + * 加签 + * @param data + * @returns + */ +export const addMultiInstanceExecution = (data: object) => { + return request({ + url: '/workflow/task/addMultiInstanceExecution', + method: 'post', + data: data + }); +}; + +/** + * 减签 + * @param data + * @returns + */ +export const deleteMultiInstanceExecution = (data: object) => { + return request({ + url: '/workflow/task/deleteMultiInstanceExecution', + method: 'post', + data: data + }); +}; + diff --git a/src/api/workflow/workflowUser/index.ts b/src/api/workflow/workflowUser/index.ts new file mode 100644 index 0000000..94ec313 --- /dev/null +++ b/src/api/workflow/workflowUser/index.ts @@ -0,0 +1,39 @@ +import request from '@/utils/request'; + +/** + * 分页查询工作流选择加签人员 + * @param query + * @returns {*} + */ +export const getWorkflowAddMultiListByPage = (query: object) => { + return request({ + url: '/workflow/user/getWorkflowAddMultiListByPage', + method: 'get', + params: query + }); +}; + +/** + * 查询工作流选择减签人员 + * @param query + * @returns {*} + */ +export const getWorkflowDeleteMultiInstanceList = (taskId: string) => { + return request({ + url: '/workflow/user/getWorkflowDeleteMultiInstanceList/' + taskId, + method: 'get' + }); +}; + +/** + * 按照用户id查询用户 + * @param query + * @returns {*} + */ +export const getUserListByIds = (userIdList: Array) => { + return request({ + url: '/workflow/user/getUserListByIds/' + userIdList, + method: 'get' + }); +}; + diff --git a/src/components/Process/multiInstance-user.vue b/src/components/Process/multiInstance-user.vue new file mode 100644 index 0000000..1cdadc2 --- /dev/null +++ b/src/components/Process/multiInstance-user.vue @@ -0,0 +1,353 @@ + + + \ No newline at end of file diff --git a/src/views/workflow/processDefinition/index.vue b/src/views/workflow/processDefinition/index.vue index 4e07eeb..6538d10 100644 --- a/src/views/workflow/processDefinition/index.vue +++ b/src/views/workflow/processDefinition/index.vue @@ -174,7 +174,8 @@ const queryParams = ref>({ const submitFormData = ref>({ businessKey: '', - processKey: '' + processKey: '', + variables: {} }); onMounted(() => { @@ -298,6 +299,9 @@ const handleConvertToModel = async (row: any) => { const openHandleStartWorkFlow = async (row: any) => { submitFormData.value.processKey = row.key; submitFormData.value.businessKey = Date.parse(new Date()); + submitFormData.value.variables = { + userList:[1,2] + } dialog.visible = true; }; /** 启动流程 */ diff --git a/src/views/workflow/task/allTaskWaiting.vue b/src/views/workflow/task/allTaskWaiting.vue index 7d6f849..99434b9 100644 --- a/src/views/workflow/task/allTaskWaiting.vue +++ b/src/views/workflow/task/allTaskWaiting.vue @@ -78,6 +78,12 @@ 审批记录 + + 加签 + + + 减签 + @@ -94,6 +100,8 @@ + + @@ -102,10 +110,13 @@ import { getAllTaskWaitByPage, getAllTaskFinishByPage } from '@/api/workflow/tas import { ComponentInternalInstance } from 'vue'; import ApprovalRecord from '@/components/Process/approvalRecord.vue'; import SubmitVerify from '@/components/Process/submitVerify.vue'; +import MultiInstanceUser from '@/components/Process/multiInstance-user.vue'; //提交组件 const submitVerifyRef = ref>(); //审批记录组件 const approvalRecordRef = ref>(); +//加签组件 +const multiInstanceUserRef = ref>(); const { proxy } = getCurrentInstance() as ComponentInternalInstance; // 遮罩层 const loading = ref(true); @@ -123,6 +134,8 @@ const total = ref(0); const taskList = ref([]); // 任务id const taskId = ref(''); +const title = ref(''); +const userIdList = ref>([]); // 查询参数 const queryParams = ref>({ pageNum: 1, @@ -141,6 +154,20 @@ const handleApprovalRecord = (row: any) => { approvalRecordRef.value.init(row.processInstanceId); } }; +//加签 +const addMultiInstanceUser = (row: any) => { + if (multiInstanceUserRef.value) { + title.value = '加签人员'; + multiInstanceUserRef.value.getAddMultiInstanceList(row.id, []); + } +}; +//减签 +const deleteMultiInstanceUser = (row: any) => { + if (multiInstanceUserRef.value) { + title.value = '减签人员'; + multiInstanceUserRef.value.getDeleteMultiInstanceList(row.id); + } +}; /** 搜索按钮操作 */ const handleQuery = () => { if ('waiting' === tab.value) {