diff --git a/src/components/Process/submitVerify.vue b/src/components/Process/submitVerify.vue index 404e2ad..b52854f 100644 --- a/src/components/Process/submitVerify.vue +++ b/src/components/Process/submitVerify.vue @@ -11,7 +11,13 @@ - + + + + {{ user.userName }} + + + @@ -22,6 +28,7 @@ 退回 + @@ -30,7 +37,10 @@ import { ref } from 'vue'; import { ComponentInternalInstance } from 'vue'; import { ElForm } from 'element-plus'; import { completeTask, backProcess, getBusinessStatus } from '@/api/workflow/task'; +import UserSelect from '@/components/UserSelect'; const { proxy } = getCurrentInstance() as ComponentInternalInstance; +import { UserVO } from '@/api/system/user/types'; +const userSelectCopyRef = ref>(); const props = defineProps({ taskVariables: { @@ -46,6 +56,11 @@ const buttonLoading = ref(true); const businessStatus = ref(''); //任务id const taskId = ref(''); +//抄送人 +const selectCopyUserList = ref([]); +//抄送人id +const selectCopyUserIds = ref(''); + const dialog = reactive({ visible: false, @@ -56,10 +71,13 @@ const form = ref>({ taskId: undefined, message: undefined, variables: {}, - messageType: ['1'] + messageType: ['1'], + wfCopyList: [] }); //打开弹窗 const openDialog = (id?: string) => { + selectCopyUserIds.value = '' + selectCopyUserList.value = [] form.value.fileId = undefined taskId.value = id; form.value.message = undefined; @@ -82,6 +100,17 @@ const emits = defineEmits(['submitCallback', 'cancelCallback']); const handleCompleteTask = async () => { form.value.taskId = taskId.value; form.value.taskVariables = props.taskVariables; + if(selectCopyUserList && selectCopyUserList.value.length > 0){ + let wfCopyList = [] + selectCopyUserList.value.forEach( e=> { + let copyUser = { + userId: e.userId, + userName: e.nickName + } + wfCopyList.push(copyUser) + }) + form.value.wfCopyList = wfCopyList + } await proxy?.$modal.confirm('是否确认提交?'); loading.value = true; buttonLoading.value = true; @@ -108,6 +137,25 @@ const cancel = async () => { buttonLoading.value = false; emits('cancelCallback'); }; +//打开抄送人员 +const openUserSelectCopy = () => { + userSelectCopyRef.value.open(); +}; +//确认抄送人员 +const userSelectCopyCallBack = (data: UserVO[]) => { + if(data && data.length > 0){ + selectCopyUserList.value = data + selectCopyUserIds.value = selectCopyUserList.value.map((item) => item.userId).join(','); + } +} +//删除抄送人员 +const handleCopyCloseTag = (user: UserVO) => { + const userId = user.userId; + // 使用split删除用户 + const index = selectCopyUserList.value.findIndex((item) => item.userId === userId); + selectCopyUserList.value.splice(index, 1); + selectCopyUserIds.value = selectCopyUserList.value.map((item) => item.userId).join(','); +}; /** * 对外暴露子组件方法 */