From 53692fd024919cf1e03d673e232cba31ccf6a0ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A0=82=E7=B3=96?= Date: Mon, 16 Mar 2026 17:32:28 +0800 Subject: [PATCH] =?UTF-8?q?fix(EmployeeSelector):=20=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E5=91=98=E5=B7=A5=E9=80=89=E6=8B=A9=E5=99=A8=E4=B8=AD=E9=87=8D?= =?UTF-8?q?=E5=A4=8D=E5=91=98=E5=B7=A5=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 因为员工可能出现重名情况,添加去重逻辑确保selectedEmployees中每个员工的keyField是唯一的 --- klp-ui/src/components/EmployeeSelector/index.vue | 3 +++ 1 file changed, 3 insertions(+) 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) }) } }