fix(meal): 修复堂食和打包成员选择器互斥问题
添加禁用已选成员的逻辑,防止同一成员被同时选为堂食和打包
This commit is contained in:
@@ -8,10 +8,11 @@
|
||||
style="width: 200px;"
|
||||
:multiple="multiple" collapse-tags>
|
||||
<el-option
|
||||
v-for="item in dictOptions"
|
||||
v-for="item in disabledOptions"
|
||||
:key="item.dictValue"
|
||||
:label="item.dictLabel"
|
||||
:value="item.dictValue"
|
||||
:disabled="item.disabled"
|
||||
/>
|
||||
</el-select>
|
||||
|
||||
@@ -152,11 +153,12 @@ export default {
|
||||
props: {
|
||||
dictType: { type: String, default: '' },
|
||||
editable: { type: Boolean, default: true },
|
||||
kisv: { type: Boolean, default: false },
|
||||
kisv: { type: Boolean, default: true },
|
||||
value: { type: String, default: '' },
|
||||
placeholder: { type: String, default: '请选择' },
|
||||
refresh: { type: Boolean, default: true },
|
||||
multiple: { type: Boolean, default: false },
|
||||
disables: { type: String, default: '' },
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
@@ -199,7 +201,15 @@ export default {
|
||||
this.$emit('change', val)
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
disabledOptions() {
|
||||
return this.dictOptions.map(item => {
|
||||
return {
|
||||
...item,
|
||||
disabled: this.disabledFormat(item.dictValue)
|
||||
}
|
||||
})
|
||||
},
|
||||
},
|
||||
watch: {
|
||||
dictType: {
|
||||
@@ -235,6 +245,13 @@ export default {
|
||||
this.dictId = res.rows[0].dictId
|
||||
return this.dictId
|
||||
},
|
||||
disabledFormat(item) {
|
||||
if (this.disables) {
|
||||
const list = this.disables.split(',')
|
||||
return list.includes(item)
|
||||
}
|
||||
return false
|
||||
},
|
||||
// 新增:刷新字典数据
|
||||
async handleRefresh() {
|
||||
this.loading = true
|
||||
|
||||
@@ -163,11 +163,11 @@
|
||||
<DictSelect dictType="hrm_department" v-model="form.deptName" placeholder="请选择部门名称"></DictSelect>
|
||||
</el-form-item>
|
||||
<el-form-item label="堂食成员" prop="dineInPeopleList">
|
||||
<dict-select dictType="hrm_leave_employee" v-model="form.dineInPeopleList" placeholder="请选择堂食成员" multiple @change="handleDineInPeopleChange"/>
|
||||
<dict-select dictType="hrm_leave_employee" v-model="form.dineInPeopleList" placeholder="请选择堂食成员" multiple @change="handleDineInPeopleChange" :disables="form.takeoutPeopleList"/>
|
||||
<div>({{ form.dineInPeople || 0 }}人)</div>
|
||||
</el-form-item>
|
||||
<el-form-item label="打包成员" prop="takeoutPeopleList">
|
||||
<dict-select dictType="hrm_leave_employee" v-model="form.takeoutPeopleList" placeholder="请选择打包成员" multiple @change="handleTakeoutPeopleChange"/>
|
||||
<dict-select dictType="hrm_leave_employee" v-model="form.takeoutPeopleList" placeholder="请选择打包成员" multiple @change="handleTakeoutPeopleChange" :disables="form.dineInPeopleList"/>
|
||||
<div>({{ form.takeoutPeople || 0 }}人)</div>
|
||||
</el-form-item>
|
||||
<el-form-item label="用餐总人数" prop="totalPeople">
|
||||
|
||||
Reference in New Issue
Block a user