From c922ea3b9c5eefd2e3cd6bfcf0ed1c4d2f608c3f Mon Sep 17 00:00:00 2001 From: gssong <1742057357@qq.com> Date: 星期三, 03 四月 2024 20:42:05 +0800 Subject: [PATCH] add 添加委托 --- src/components/Process/submitVerify.vue | 43 +++++++++++++++++++++++++++++++++++-------- 1 files changed, 35 insertions(+), 8 deletions(-) diff --git a/src/components/Process/submitVerify.vue b/src/components/Process/submitVerify.vue index 0d7e413..b0e4c11 100644 --- a/src/components/Process/submitVerify.vue +++ b/src/components/Process/submitVerify.vue @@ -24,6 +24,7 @@ <template #footer> <span class="dialog-footer"> <el-button v-loading="buttonLoading" type="primary" @click="handleCompleteTask"> 鎻愪氦 </el-button> + <el-button v-if="task.businessStatus === 'waiting'" v-loading="buttonLoading" type="primary" @click="openDelegateTask"> 濮旀墭 </el-button> <el-button v-if="task.businessStatus === 'waiting'" v-loading="buttonLoading" type="primary" @click="openTransferTask"> 杞姙 </el-button> <el-button v-if="task.businessStatus === 'waiting' && task.multiInstance" v-loading="buttonLoading" type="primary" @click="addMultiInstanceUser"> 鍔犵 </el-button> <el-button v-if="task.businessStatus === 'waiting' && task.multiInstance" v-loading="buttonLoading" type="primary" @click="deleteMultiInstanceUser"> 鍑忕 </el-button> @@ -33,9 +34,11 @@ </span> </template> <!-- 鎶勯�� --> - <UserSelect ref="userSelectCopyRef" :multiple="userMultiple" :data="selectCopyUserIds" @confirm-call-back="userSelectCopyCallBack"></UserSelect> + <UserSelect ref="userSelectCopyRef" :multiple="true" :data="selectCopyUserIds" @confirm-call-back="userSelectCopyCallBack"></UserSelect> <!-- 杞姙 --> - <UserSelect ref="transferTaskRef" :multiple="userMultiple" @confirm-call-back="handleTransferTask"></UserSelect> + <UserSelect ref="transferTaskRef" :multiple="false" @confirm-call-back="handleTransferTask"></UserSelect> + <!-- 濮旀墭 --> + <UserSelect ref="delegateTaskRef" :multiple="false" @confirm-call-back="handleDelegateTask"></UserSelect> <!-- 鍔犵缁勪欢 --> <multiInstanceUser ref="multiInstanceUserRef" :title="title" @submit-callback='closeDialog' /> @@ -78,7 +81,7 @@ import { ref } from 'vue'; import { ComponentInternalInstance } from 'vue'; import { ElForm } from 'element-plus'; -import { completeTask, backProcess, getTaskById,transferTask,terminationTask,getTaskNodeList } from '@/api/workflow/task'; +import { completeTask, backProcess, getTaskById,transferTask,terminationTask,getTaskNodeList,delegateTask } from '@/api/workflow/task'; import UserSelect from '@/components/UserSelect'; import MultiInstanceUser from '@/components/Process/multiInstanceUser.vue'; const { proxy } = getCurrentInstance() as ComponentInternalInstance; @@ -86,6 +89,8 @@ import { TaskVO } from '@/api/workflow/task/types'; const userSelectCopyRef = ref<InstanceType<typeof UserSelect>>(); const transferTaskRef = ref<InstanceType<typeof UserSelect>>(); +const delegateTaskRef = ref<InstanceType<typeof UserSelect>>(); + //鍔犵缁勪欢 const multiInstanceUserRef = ref<InstanceType<typeof MultiInstanceUser>>(); @@ -105,8 +110,6 @@ const selectCopyUserList = ref<UserVO[]>([]); //鎶勯�佷汉id const selectCopyUserIds = ref<string>(undefined); -//鏄惁澶氶�変汉鍛� -const userMultiple = ref(false); // 椹冲洖鏄惁鏄剧ず const backVisible = ref(false); const backLoading = ref(true); @@ -137,7 +140,10 @@ processDefinitionName: undefined, processDefinitionKey: undefined, participantVo: undefined, - multiInstance: undefined + multiInstance: undefined, + businessKey: undefined, + wfNodeConfigVo: undefined, + wfDefinitionConfigVo: undefined }); //鍔犵 鍑忕鏍囬 const title = ref(''); @@ -240,7 +246,6 @@ }; //鎵撳紑鎶勯�佷汉鍛� const openUserSelectCopy = () => { - userMultiple.value = true userSelectCopyRef.value.open(); }; //纭鎶勯�佷汉鍛� @@ -274,7 +279,6 @@ }; //鎵撳紑杞姙 const openTransferTask = () => { - userMultiple.value = false transferTaskRef.value.open(); }; //杞姙 @@ -297,6 +301,29 @@ } } +//鎵撳紑濮旀墭 +const openDelegateTask = () => { + delegateTaskRef.value.open(); +}; +//濮旀墭 +const handleDelegateTask = async (data) => { + if(data && data.length > 0){ + let params = { + taskId: taskId.value, + userId: data[0].userId, + nickName: data[0].nickName + } + await proxy?.$modal.confirm('鏄惁纭鎻愪氦锛�'); + loading.value = true; + buttonLoading.value = true; + await delegateTask(params).finally(() => (loading.value = false)); + dialog.visible = false; + emits('submitCallback'); + proxy?.$modal.msgSuccess('鎿嶄綔鎴愬姛'); + }else{ + proxy?.$modal.msgWarning('璇烽�夋嫨鐢ㄦ埛锛�'); + } +} //缁堟浠诲姟 const handleTerminationTask = async (data) => { let params = { -- Gitblit v1.9.3