|
|
@@ -5,11 +5,12 @@
|
|
|
<deptSelect v-model="form.groupId" @changeGroup="searchDeptNodeClick" />
|
|
|
</el-form-item>
|
|
|
|
|
|
- <el-form-item label="执行人员:" prop="qualityId">
|
|
|
+ <el-form-item label="执行人员:" prop="qualityIdList">
|
|
|
<el-select
|
|
|
- v-model="form.qualityId"
|
|
|
+ v-model="form.qualityIdList"
|
|
|
@change="changeExecutor"
|
|
|
filterable
|
|
|
+ multiple
|
|
|
style="width: 100%"
|
|
|
>
|
|
|
<el-option
|
|
|
@@ -55,15 +56,21 @@
|
|
|
id: '',
|
|
|
groupId: '',
|
|
|
groupName: '',
|
|
|
- qualityId: '',
|
|
|
- qualityName: ''
|
|
|
+ qualityIdList: [],
|
|
|
+ qualityName: []
|
|
|
},
|
|
|
rules: {
|
|
|
groupId: [
|
|
|
{ required: true, message: '请选择执行部门', trigger: 'change' }
|
|
|
],
|
|
|
- qualityId: [
|
|
|
- { required: true, message: '请选择执行人员:', trigger: 'change' }
|
|
|
+ qualityIdList: [
|
|
|
+ {
|
|
|
+ required: true,
|
|
|
+ type: 'array',
|
|
|
+ min: 1,
|
|
|
+ message: '请选择执行人员:',
|
|
|
+ trigger: 'change'
|
|
|
+ }
|
|
|
]
|
|
|
},
|
|
|
executorList: []
|
|
|
@@ -79,8 +86,8 @@
|
|
|
this.form.groupName = row.name;
|
|
|
this.getUserList(params);
|
|
|
} else {
|
|
|
- this.form.qualityId = null;
|
|
|
- this.form.qualityName = null;
|
|
|
+ this.form.qualityIdList = [];
|
|
|
+ this.form.qualityName = [];
|
|
|
this.executorList = [];
|
|
|
}
|
|
|
},
|
|
|
@@ -94,24 +101,35 @@
|
|
|
}
|
|
|
const res = await getUserPage(data);
|
|
|
this.executorList = res.list;
|
|
|
- this.form.qualityId = null;
|
|
|
- this.form.qualityName = null;
|
|
|
+ this.form.qualityIdList = [];
|
|
|
+ this.form.qualityName = [];
|
|
|
} catch (error) {}
|
|
|
},
|
|
|
changeExecutor(val) {
|
|
|
console.log(val);
|
|
|
|
|
|
- if (val) {
|
|
|
- this.form.qualityId = val;
|
|
|
- this.form.qualityName = this.executorList.find(
|
|
|
- (item) => item.id === val
|
|
|
- ).name;
|
|
|
+ if (Array.isArray(val) && val.length) {
|
|
|
+ this.form.qualityIdList = val;
|
|
|
+ this.form.qualityName = val
|
|
|
+ .map((id) => {
|
|
|
+ const match = this.executorList.find((item) => item.id === id);
|
|
|
+ return match ? match.name : '';
|
|
|
+ })
|
|
|
+ .filter(Boolean);
|
|
|
+ } else {
|
|
|
+ this.form.qualityIdList = [];
|
|
|
+ this.form.qualityName = [];
|
|
|
}
|
|
|
},
|
|
|
consfirm() {
|
|
|
this.$refs.form.validate(async (valid) => {
|
|
|
if (valid) {
|
|
|
- await transferQualityWork(this.form);
|
|
|
+ const payload = {
|
|
|
+ ...this.form,
|
|
|
+ qualityIdList: this.form.qualityIdList.join(','),
|
|
|
+ qualityName: this.form.qualityName.join(',')
|
|
|
+ };
|
|
|
+ await transferQualityWork(payload);
|
|
|
this.$emit('success', this.form.id);
|
|
|
}
|
|
|
});
|