diff --git a/klp-ui/src/components/EmployeeSelector/index.vue b/klp-ui/src/components/EmployeeSelector/index.vue index d44dbebf..9967e960 100644 --- a/klp-ui/src/components/EmployeeSelector/index.vue +++ b/klp-ui/src/components/EmployeeSelector/index.vue @@ -279,10 +279,13 @@ export default { findSelectedEmployees(values) { if (this.employeeList.length > 0) { this.selectedEmployees = this.employeeList.filter(item => values.includes(item[this.keyField])) + // 因为员工可能出现重名,所以需要去重,保证selectedEmployees[i][this.keyField]是唯一的 + this.selectedEmployees = this.selectedEmployees.filter((item, index, arr) => arr.findIndex(t => t[this.keyField] === item[this.keyField]) === index) } else { // 如果员工列表为空,先获取列表再查找 this.getEmployeeList().then(() => { this.selectedEmployees = this.employeeList.filter(item => values.includes(item[this.keyField])) + this.selectedEmployees = this.selectedEmployees.filter((item, index, arr) => arr.findIndex(t => t[this.keyField] === item[this.keyField]) === index) }) } }