diff --git a/src/components/Designer/src/components/componentProperty/PropertyOption.vue b/src/components/Designer/src/components/componentProperty/PropertyOption.vue index 1d3de60..6d5c51b 100644 --- a/src/components/Designer/src/components/componentProperty/PropertyOption.vue +++ b/src/components/Designer/src/components/componentProperty/PropertyOption.vue @@ -418,26 +418,28 @@ + + - - - - - - - - - - - {{ t('百分比') }} - {{ t('定宽') }} - - - - - - - diff --git a/src/components/Form/src/components/SubFormV2.vue b/src/components/Form/src/components/SubFormV2.vue index ad3fe98..a86bf8c 100644 --- a/src/components/Form/src/components/SubFormV2.vue +++ b/src/components/Form/src/components/SubFormV2.vue @@ -428,7 +428,6 @@ }; const getComponentsProps = (componentProps, dataIndex, record, index) => { - console.log('getComponentsProps', cacheMap.get(dataIndex), componentProps.disabled); if (!componentProps) return; if (isFunction(componentProps)) { componentProps = diff --git a/src/components/SecondDev/OpinionDialog.vue b/src/components/SecondDev/OpinionDialog.vue index 4df2bf8..6d6e644 100644 --- a/src/components/SecondDev/OpinionDialog.vue +++ b/src/components/SecondDev/OpinionDialog.vue @@ -5,6 +5,9 @@ {{ formState.nextNodeName }} + + + {{ item.activityName }} @@ -26,20 +29,23 @@ const isOpen = ref(false); const rejectNodeList = ref([]); const rejectNodeId = ref(''); + const nextAssigneeName = ref(''); // 不可选审批人 + const nextAssignees = ref([]); let _action = ref('agree'); let _processId = ''; let _taskId = ''; - + let _nextNodes = []; let _callback = null; const formState = reactive({ nextNodeName: '', opinion: '', + assignees: [], opinionList: ['同意。', '请领导审批。'] }); - function toggleDialog({ isClose, action, callback, processId, taskId } = {}) { + function toggleDialog({ isClose, action, callback, processId, taskId, nextNodes } = {}) { if (isClose) { isOpen.value = false; return; @@ -49,8 +55,27 @@ _callback = callback; _processId = processId; _taskId = taskId; + _nextNodes = nextNodes; formState.opinion = ''; dialogTitle.value = `审批`; + if (nextNodes && nextNodes.length === 1) { + // 下一个节点唯一时(可能有并行节点) + const nNode = nextNodes[0]; + formState.nextNodeName = nNode.activityName; + if (nNode.chooseAssign) { + const selected = []; + nextAssignees.value = nNode.userList.map((item) => { + if (item.checked || nNode.userList.length === 1) { + // 只有一个人的时候必须选他 + selected.push(item['F_UserId']); + } + return { + value: item['F_UserId'], + label: item['F_RealName'] + }; + }); + } + } if (action === 'reject') { loadRejectNodeList(); } diff --git a/src/views/secondDev/approveFlowPage.vue b/src/views/secondDev/approveFlowPage.vue index f2bab17..5302e90 100644 --- a/src/views/secondDev/approveFlowPage.vue +++ b/src/views/secondDev/approveFlowPage.vue @@ -3,7 +3,7 @@
- + @@ -46,6 +46,7 @@ :opinionsComponents="data.opinionsComponents" @get-form-configs="(config) => (formConfigs = config)" /> +
@@ -56,14 +57,18 @@ import { onMounted, reactive, ref, unref } from 'vue'; import FormInformation from '/@/views/secondDev/FormInformation.vue'; import userTaskItem from '/@/views/workflow/task/hooks/userTaskItem'; - import { getApprovalProcess, postApproval } from '/@/api/workflow/task'; + import { getApprovalProcess, postApproval, postGetNextTaskMaybeArrival } from '/@/api/workflow/task'; import { ApproveCode, ApproveType } from '/@/enums/workflowEnum'; import { CheckCircleOutlined, StopOutlined, CloseOutlined, DownOutlined } from '@ant-design/icons-vue'; import OpinionDialog from '/@/components/SecondDev/OpinionDialog.vue'; import { separator } from '/@bpmn/config/info'; + import { useMultipleTabStore } from '/@/store/modules/multipleTab'; + import Title from '/@/components/Title/src/Title.vue'; const { data, approveUserData, initProcessData, notificationError, notificationSuccess } = userTaskItem(); + + const tabStore = useMultipleTabStore(); const router = useRouter(); const currentRoute = router.currentRoute.value; const rQuery = currentRoute.query; @@ -96,12 +101,19 @@ function onMoreClick() {} + function close() { + tabStore.closeTab(currentRoute, router); + } + async function onApproveClick() { await submit(); + const params = await getApproveParams(); + const nextNodes = await postGetNextTaskMaybeArrival(params); approvalData.approvedType = ApproveType.AGREE; approvalData.approvedResult = ApproveCode.AGREE; opinionDlg.value.toggleDialog({ - action: 'agree' + action: 'agree', + nextNodes }); } @@ -203,26 +215,29 @@ return fileFolderIds; } + async function getApproveParams(){ + let formModels = await formInformation.value.getFormModels(); + let system = formInformation.value.getSystemType(); + let fileFolderIds = getUploadFileFolderIds(formModels); + return { + approvedType: approvalData.approvedType, + approvedResult: approvalData.approvedResult, // approvalData.approvedType 审批结果 如果为 4 就需要传buttonCode + approvedContent: approvalData.approvedContent, + formData: formModels, + rejectNodeActivityId: approvalData.rejectNodeActivityId, + taskId: taskId.value, + fileFolderIds, + circulateConfigs: approvalData.circulateConfigs, + /*stampId: values.stampId, + stampPassword: values.password,*/ + isOldSystem: system + }; + } + async function onFinish(values) { try { if (/*validateSuccess.value*/ true) { - let formModels = await formInformation.value.getFormModels(); - let system = formInformation.value.getSystemType(); - let fileFolderIds = getUploadFileFolderIds(formModels); - let params = { - approvedType: approvalData.approvedType, - approvedResult: approvalData.approvedResult, // approvalData.approvedType 审批结果 如果为 4 就需要传buttonCode - approvedContent: approvalData.approvedContent, - formData: formModels, - rejectNodeActivityId: approvalData.rejectNodeActivityId, - taskId: taskId.value, - fileFolderIds, - circulateConfigs: approvalData.circulateConfigs, - stampId: values.stampId, - stampPassword: values.password, - isOldSystem: system - }; - + let params = await getApproveParams(); let res = await postApproval(params); // 下一节点审批人 let taskList = []; diff --git a/src/views/workflow/task/components/ApprovalProcess.vue b/src/views/workflow/task/components/ApprovalProcess.vue index 0384206..33b1de6 100644 --- a/src/views/workflow/task/components/ApprovalProcess.vue +++ b/src/views/workflow/task/components/ApprovalProcess.vue @@ -406,9 +406,6 @@ stampPassword: values.password, isOldSystem: system, }; - let result=await postGetNextTaskMaybeArrival(params); - console.info(result); - //return; let res = await postApproval(params); // 下一节点审批人 let taskList: Array = [];