From 0c85820e81bae62e8ff5f066803995dab1d3503f Mon Sep 17 00:00:00 2001
From: zhangwencui <1064582902@qq.com>
Date: 星期二, 21 七月 2026 10:01:30 +0800
Subject: [PATCH] Merge branch 'dev_pro2.0' of http://114.132.189.42:9002/r/mom-pro2-before into dev_pro2.0
---
src/views/basicData/mdm/data.ts | 30 ++++++++++++++++++++++++++----
1 files changed, 26 insertions(+), 4 deletions(-)
diff --git a/src/views/basicData/mdm/data.ts b/src/views/basicData/mdm/data.ts
index 3ff52a2..c77d66f 100644
--- a/src/views/basicData/mdm/data.ts
+++ b/src/views/basicData/mdm/data.ts
@@ -18,6 +18,24 @@
let unitListCache: any[] | null = null;
let unitListPromise: Promise<any[]> | null = null;
+/** 灏嗘墎骞冲垎绫诲垪琛ㄨ浆涓� TreeSelect 鎵�闇�鐨勬爲褰㈢粨鏋� */
+function buildCategoryTree(list: any[]): any[] {
+ const map = new Map<number, any>();
+ const roots: any[] = [];
+ for (const item of list) {
+ map.set(item.id, { label: item.name, value: item.id, children: [] });
+ }
+ for (const item of list) {
+ const node = map.get(item.id)!;
+ if (item.parentId && map.has(item.parentId)) {
+ map.get(item.parentId)!.children.push(node);
+ } else {
+ roots.push(node);
+ }
+ }
+ return roots;
+}
+
/** 鑾峰彇鍗曚綅鍒楄〃锛堝甫缂撳瓨锛� */
async function getUnitListCached() {
if (unitListCache) {
@@ -33,6 +51,11 @@
unitListPromise = null;
});
return unitListPromise;
+}
+
+/** 娓呴櫎鍗曚綅鍒楄〃缂撳瓨 */
+export function clearUnitListCache() {
+ unitListCache = null;
}
/** 鏂板/淇敼鐨勮〃鍗� */
@@ -80,19 +103,18 @@
rules: "required",
},
{
- component: "ApiSelect",
+ component: "ApiTreeSelect",
fieldName: "categoryId",
label: "鐗╂枡鍒嗙被",
rules: "selectRequired",
componentProps: {
placeholder: "璇烽�夋嫨鐗╂枡鍒嗙被",
allowClear: true,
+ treeDefaultExpandAll: true,
api: async () => {
const res = await getItemTypeSimpleList();
- return res || [];
+ return buildCategoryTree(res || []);
},
- labelField: "name",
- valueField: "id",
},
},
{
--
Gitblit v1.9.3