fix: 修复无需选人时新版审批对话框无法显示审批人的bug
This commit is contained in:
@ -10,7 +10,8 @@
|
||||
<span>{{ formState.nextNodeName }}</span>
|
||||
</a-form-item>
|
||||
<a-form-item v-if="_action === 'agree' && !isEnd" label="审批人">
|
||||
<a-select v-model:value="formState.assignees" :options="nextAssignees" max-tag-count="responsive" mode="multiple" placeholder="请选择审批人"></a-select>
|
||||
<a-select v-show="chooseAssign" v-model:value="formState.assignees" :options="nextAssignees" max-tag-count="responsive" mode="multiple" placeholder="请选择审批人"></a-select>
|
||||
<span v-show="!chooseAssign">{{ getAssigneeText() }}</span>
|
||||
</a-form-item>
|
||||
<a-form-item v-if="_action === 'reject'" label="退回至" name="rejectNode">
|
||||
<a-select v-model:value="rejectNodeId">
|
||||
@ -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();
|
||||
|
||||
Reference in New Issue
Block a user