|
|
@@ -152,6 +152,19 @@ export function getSummaries(param, key, unit) {
|
|
|
return sums;
|
|
|
}
|
|
|
|
|
|
+// 按 id 去重,保留首次出现的项(用于 v-for :key="item.id" 的列表)
|
|
|
+// 后端返回重复 id 时会导致 Vue 报 "Duplicate keys detected" 并造成选中态/回显错乱
|
|
|
+export function uniqById(list) {
|
|
|
+ if (!Array.isArray(list)) return [];
|
|
|
+ const map = new Map();
|
|
|
+ list.forEach((item) => {
|
|
|
+ if (item && item.id != null && !map.has(item.id)) {
|
|
|
+ map.set(item.id, item);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ return Array.from(map.values());
|
|
|
+}
|
|
|
+
|
|
|
//随机id
|
|
|
export function generateRandomString(num = 5) {
|
|
|
let result = '';
|