From 871b878fac8244fe2ee5b7ece0cf7e2ec77594f7 Mon Sep 17 00:00:00 2001
From: 张含笑 <zhx18749296735@163.com>
Date: Tue, 27 Jan 2026 11:22:53 +0800
Subject: [PATCH] feat:加载数据

---
 applications/task-work-order/src/views/orderView/organizational/agenciesManagement/index.vue |   51 +++++++++++++++++++++++++++++++--------------------
 1 files changed, 31 insertions(+), 20 deletions(-)

diff --git a/applications/task-work-order/src/views/orderView/organizational/agenciesManagement/index.vue b/applications/task-work-order/src/views/orderView/organizational/agenciesManagement/index.vue
index 12c3cfe..457e203 100644
--- a/applications/task-work-order/src/views/orderView/organizational/agenciesManagement/index.vue
+++ b/applications/task-work-order/src/views/orderView/organizational/agenciesManagement/index.vue
@@ -26,7 +26,6 @@
           class="gd-select gray"
           popper-class="gd-tree-select-popper"
           v-model="searchParams.areaCode"
-          :data="regionOptions"
           node-key="id"
           :props="treeSelectProps"
           placeholder="请选择"
@@ -34,7 +33,9 @@
           filterable
           @change="handleSearch"
           :check-strictly="true"
-          
+          lazy
+          :load="loadRegionNode"
+          :render-after-expand="false"
         />
       </el-form-item>
 
@@ -192,37 +193,47 @@
   })
 }
 
-// 递归获取区域树形数据
-async function getRegionTree(parentCode = '360800000000') {
+// 懒加载获取区域节点数据
+async function loadRegionNode(node, resolve) {
+
   try {
+    const parentCode = node.data?.id || '360800000000'
     const res = await regionLazyTreeApi({ parentCode })
     const nodes = res?.data?.data || []
     
-    // 如果节点有子节点,递归获取子节点
-    for (let node of nodes) {
-      if (node.hasChildren) {
-        node.children = await getRegionTree(node.id)
-      } else {
-        node.children = []
+    // 处理返回的节点数据
+    const processedNodes = nodes.map(item => {
+      return {
+        id: item.id || item.value,
+        name: item.name || item.title || item.label,
+        hasChildren: item.hasChildren || false
       }
-      node.name = node.name || node.title || node.label
-      // 确保 id 属性存在
-      node.id = node.id || node.value
-    }
-    return nodes
+    })
+    
+    resolve(processedNodes)
   } catch (error) {
     console.error('获取区域数据失败:', error)
-    return []
+    resolve([])
   }
 }
 
-// 获取完整的区域树形数据
+// 获取初始区域数据(根节点)
 async function getRegionList() {
   try {
-    regionOptions.value = await getRegionTree()
-    console.log('区域树形数据:', regionOptions.value)
+    // 懒加载模式下,只需要初始化根节点
+    const res = await regionLazyTreeApi({ parentCode: '360800000000' })
+    const nodes = res?.data?.data || []
+    
+    // 处理根节点数据
+    regionOptions.value = nodes.map(item => {
+      return {
+        id: item.id || item.value,
+        name: item.name || item.title || item.label,
+        hasChildren: item.hasChildren || false
+      }
+    })
   } catch (error) {
-    ElMessage.error('获取区域数据失败')
+    console.error('获取区域数据失败:', error)
   }
 }
 

--
Gitblit v1.9.3