From eacd4b1975a11a9fb56df98ad85b179a3c09906f Mon Sep 17 00:00:00 2001 From: konbai <1527468660@qq.com> Date: Wed, 14 Dec 2022 23:52:23 +0800 Subject: [PATCH] =?UTF-8?q?fix(=E6=B5=81=E7=A8=8B=E8=AE=BE=E8=AE=A1):=20?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=A4=9A=E5=AE=9E=E4=BE=8B=E4=BC=9A=E7=AD=BE?= =?UTF-8?q?=EF=BC=8C=E7=94=A8=E6=88=B7=E4=BB=BB=E5=8A=A1=E7=BC=BA=E5=A4=B1?= =?UTF-8?q?=20assignee:=20'${assignee}'=20=E5=AF=BC=E8=87=B4=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E6=8C=87=E6=B4=BE=E5=A4=B1=E8=B4=A5=E7=9A=84=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../penal/task/task-components/UserTask.vue | 59 ++++++++++++++----- 1 file changed, 45 insertions(+), 14 deletions(-) diff --git a/ruoyi-ui/src/plugins/package/penal/task/task-components/UserTask.vue b/ruoyi-ui/src/plugins/package/penal/task/task-components/UserTask.vue index 0e92653e..a539ee46 100644 --- a/ruoyi-ui/src/plugins/package/penal/task/task-components/UserTask.vue +++ b/ruoyi-ui/src/plugins/package/penal/task/task-components/UserTask.vue @@ -41,7 +41,7 @@ checkStrictly nodeKey="id" :checkedKeys="deptIds" - @checked-change="checkedDeptChange"> + @change="checkedDeptChange"> @@ -348,22 +348,53 @@ export default { this.userOpen = false; }, changeSelectRoles(val) { - userTaskForm.dataType = 'ROLES'; - userTaskForm.candidateGroups = val.join() || null; - let textArr = this.roleOptions.filter(k => val.indexOf(`ROLE${k.roleId}`) >= 0); - userTaskForm.text = textArr?.map(k => k.roleName).join() || null; + let groups = null; + let text = null; + if (val && val.length > 0) { + userTaskForm.dataType = 'ROLES'; + groups = val.join() || null; + let textArr = this.roleOptions.filter(k => val.indexOf(`ROLE${k.roleId}`) >= 0); + text = textArr?.map(k => k.roleName).join() || null; + } else { + userTaskForm.dataType = null; + this.multiLoopType = 'Null'; + } + userTaskForm.candidateGroups = groups; + userTaskForm.text = text; this.updateElementTask(); + this.changeMultiLoopType(this.multiLoopType); }, - checkedDeptChange(checkedIds, checkedData) { - userTaskForm.dataType = 'DEPTS'; + checkedDeptChange(checkedIds) { + let groups = null; + let text = null; + this.deptIds = checkedIds; if (checkedIds && checkedIds.length > 0) { - this.deptIds = checkedIds; - } - if (checkedData && checkedData.length > 0) { - userTaskForm.candidateGroups = checkedData.map(k => k.id).join() || null - userTaskForm.text = checkedData.map(k => k.label).join() || null - this.updateElementTask(); + userTaskForm.dataType = 'DEPTS'; + groups = checkedIds.join() || null; + let textArr = [] + let treeStarkData = JSON.parse(JSON.stringify(this.deptTreeData)); + checkedIds.forEach(id => { + let stark = [] + stark = stark.concat(treeStarkData); + while(stark.length) { + let temp = stark.shift(); + if(temp.children) { + stark = temp.children.concat(stark); + } + if(id === temp.id) { + textArr.push(temp); + } + } + }) + text = textArr?.map(k => k.label).join() || null; + } else { + userTaskForm.dataType = null; + this.multiLoopType = 'Null'; } + userTaskForm.candidateGroups = groups; + userTaskForm.text = text; + this.updateElementTask(); + this.changeMultiLoopType(this.multiLoopType); }, changeDataType(val) { // 清空 userTaskForm 所有属性值 @@ -437,7 +468,7 @@ export default { changeMultiLoopType(type) { // 取消多实例配置 if (type === "Null") { - window.bpmnInstances.modeling.updateProperties(this.bpmnElement, { loopCharacteristics: null }); + window.bpmnInstances.modeling.updateProperties(this.bpmnElement, { loopCharacteristics: null, assignee: null }); return; } this.multiLoopInstance = window.bpmnInstances.moddle.create("bpmn:MultiInstanceLoopCharacteristics", { isSequential: this.isSequential });