diff --git a/src/components/SecondDev/OpinionDialog.vue b/src/components/SecondDev/OpinionDialog.vue index 46655d1..0fcc739 100644 --- a/src/components/SecondDev/OpinionDialog.vue +++ b/src/components/SecondDev/OpinionDialog.vue @@ -10,7 +10,8 @@ {{ formState.nextNodeName }} - + + {{ getAssigneeText() }} @@ -38,6 +39,7 @@ const nextAssignees = ref([]); const loading = ref(false); const isEnd = ref(false); + const chooseAssign = ref(true); let _action = ref('agree'); let _processId = ''; @@ -52,6 +54,14 @@ opinionList: ['同意。', '请领导审批。'] }); + function getAssigneeText() { + // 注意这里用的是下拉框的数据结构 所以字段是value和label + return (nextAssignees.value || []) + .filter((item) => formState.assignees.includes(item.value)) + .map((item) => item.label) + .join('、'); + } + function toggleDialog({ isClose, action, callback, processId, taskId, nextNodes } = {}) { if (isClose) { isOpen.value = false; @@ -71,7 +81,7 @@ const nNode = nextNodes[0]; formState.nextNodeName = nNode.activityName; isEnd.value = nNode.isEnd; - if (nNode.chooseAssign) { + if (nNode.userList?.length) { const selected = []; nextAssignees.value = nNode.userList.map((item) => { if (item.checked || nNode.userList.length === 1) { @@ -84,7 +94,12 @@ }; }); formState.assignees = selected; + if (!nNode.chooseAssign) { + // 不需要选审批人的时候 所有备选人都要放到下个节点 + formState.assignees = nNode.userList.map((item) => item['F_UserId']); + } } + chooseAssign.value = nNode.chooseAssign; } if (action === 'reject') { loadRejectNodeList();