fix -- 修改流程设计用户任务选择,选择固定用户限制只能选择一个用户。

This commit is contained in:
hewenqiang
2022-02-12 14:51:22 +08:00
parent 880403a31a
commit 39ef71246b
2 changed files with 26 additions and 11 deletions

View File

@@ -17,7 +17,7 @@ export default {
name: 'TagSelect',
props: {
value: {
type: [Object, Array]
type: [Object, Array, String]
}
},
data () {

View File

@@ -8,8 +8,10 @@
</el-select>
</el-form-item>
<el-form-item label="指定方式" v-if="formData.groupType === 'ASSIGNEE'">
<el-radio v-model="formData.assignType" label="1">固定</el-radio>
<el-radio v-model="formData.assignType" label="2">动态</el-radio>
<el-radio-group v-model="formData.assignType" @change="onAssignTypeChange">
<el-radio :label="'1'">固定</el-radio>
<el-radio :label="'2'">动态</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="处理用户" v-if="formData.groupType === 'ASSIGNEE'">
<tag-select v-if="formData.assignType === '1'" v-model="userTaskForm.assignee">
@@ -73,13 +75,8 @@
</el-card>
</el-col>
<el-col :span="14">
<el-table
ref="singleTable"
height="600"
:data="userList"
border
@selection-change="handleSelectionChange">
<el-table-column type="selection" width="50" align="center" />
<el-table ref="multipleTable" height="600" :data="userList" border @selection-change="handleSelectionChange">
<el-table-column type="selection" width="50" align="center" :selectable="selectEnable" />
<el-table-column label="用户名" align="center" prop="nickName" />
<el-table-column label="部门" align="center" prop="dept.deptName" />
</el-table>
@@ -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();