diff --git a/ruoyi-ui/src/plugins/package/penal/task/task-components/TagSelect.vue b/ruoyi-ui/src/plugins/package/penal/task/task-components/TagSelect.vue index e9906b1e..7a54ca50 100644 --- a/ruoyi-ui/src/plugins/package/penal/task/task-components/TagSelect.vue +++ b/ruoyi-ui/src/plugins/package/penal/task/task-components/TagSelect.vue @@ -17,7 +17,7 @@ export default { name: 'TagSelect', props: { value: { - type: [Object, Array] + type: [Object, Array, String] } }, data () { 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 193946d3..bde1b6cf 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 @@ -8,8 +8,10 @@ - 固定 - 动态 + + 固定 + 动态 + @@ -73,13 +75,8 @@ - - + + @@ -212,10 +209,10 @@ export default { } else if (key === "candidateGroups") { // TODO 2022/01/28 添加候选组的设值 this.$set(this.userTaskForm, key, value); } else if (key === "assignee") { + this.formData.groupType = 'ASSIGNEE'; let val = this.bpmnElement?.businessObject[key] || this.defaultTaskForm[key]; // 判断是否为动态用户 if (val && val.startsWith('${') && val.endsWith('}')) { - this.formData.groupType = 'ASSIGNEE'; this.formData.assignType = '2'; this.$set(this.userTaskForm, key, val); } else { @@ -265,6 +262,17 @@ export default { } ); }, + selectEnable(row, index) { + if (this.formData.groupType === 'ASSIGNEE') { + if (this.selectedUserDate.length > 0) { + return this.selectedUserDate[0].userId === row.userId; + } else { + return true; + } + } else { + return true; + } + }, // 筛选节点 filterNode(value, data) { if (!value) return true; @@ -278,6 +286,7 @@ export default { // 关闭标签 handleClose(tag) { this.selectedUserDate.splice(this.selectedUserDate.indexOf(tag), 1); + this.$refs.multipleTable.toggleRowSelection(tag); }, // 多选框选中数据 handleSelectionChange(selection) { @@ -304,9 +313,15 @@ export default { }, onGroupTypeChange(val) { this.userTaskForm = {} + // 清空已选候选人数据 if (val === 'ASSIGNEE') { this.formData.assignType = '1' } + this.selectedUserDate = [] + this.$refs.multipleTable?.clearSelection(); + }, + onAssignTypeChange() { + this.userTaskForm.assignee = null }, onSelectAssignee() { this.getDeptTreeSelect();