From 777e7dca91a99045a42847771cef4977a91ee0c5 Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Tue, 27 Jan 2026 11:32:36 +0800
Subject: [PATCH] Merge branch 'master' of http://139.196.74.78:10010/r/jagzwxm/ja_web

---
 applications/task-work-order/src/views/orderView/organizational/agenciesManagement/FormDiaLog.vue |   67 ++++++++++++++++++++++++++++++---
 1 files changed, 61 insertions(+), 6 deletions(-)

diff --git a/applications/task-work-order/src/views/orderView/organizational/agenciesManagement/FormDiaLog.vue b/applications/task-work-order/src/views/orderView/organizational/agenciesManagement/FormDiaLog.vue
index d29556b..205905a 100644
--- a/applications/task-work-order/src/views/orderView/organizational/agenciesManagement/FormDiaLog.vue
+++ b/applications/task-work-order/src/views/orderView/organizational/agenciesManagement/FormDiaLog.vue
@@ -43,15 +43,24 @@
         </el-col>
         <el-col :span="12">
           <el-form-item label="所属区划" prop="areaCode">
-            <el-select
+            <el-tree-select
               class="gd-select"
-              popper-class="gd-select-popper"
+              popper-class="gd-tree-select-popper"
               v-model="formData.areaCode"
+              node-key="id"
+              :props="{
+                value: 'id',
+                label: 'name',
+                children: 'children'
+              }"
               placeholder="请选择"
               clearable
-            >
-              <el-option v-for="item in regionOptions" :key="item.value" :label="item.title" :value="item.value" />
-            </el-select>
+              filterable
+              :check-strictly="true"
+              lazy
+              :load="loadRegionNode"
+              :render-after-expand="false"
+            />
           </el-form-item>
         </el-col>
         <el-col :span="12">
@@ -104,6 +113,7 @@
 import {
   agenciesSubmitApi,
   agenciesDetailApi,
+  regionLazyTreeApi
 } from './agenciesApi'
 
 // 初始化表单数据
@@ -173,8 +183,53 @@
     await loadDetail()
   }
 }
-
+// 懒加载获取区域节点数据
+async function loadRegionNode(node, resolve) {
+  try {
+    const parentCode = node.data?.id  || '360800000000'
+    const res = await regionLazyTreeApi({ parentCode })
+    const nodes = res?.data?.data || []
+    
+    // 处理返回的节点数据
+    const processedNodes = nodes.map(item => {
+      return {
+        id: item.id || item.value,
+        name: item.name || item.title || item.label,
+        hasChildren: item.hasChildren || false
+      }
+    })
+    
+    resolve(processedNodes)
+  } catch (error) {
+    console.error('获取区域数据失败:', error)
+    resolve([])
+  }
+}
+// 获取初始区域数据(根节点)
+async function getRegionList() {
+  try {
+    // 懒加载模式下,只需要初始化根节点
+    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) {
+    console.error('获取区域数据失败:', error)
+    ElMessage.error('获取区域数据失败')
+  }
+}
 defineExpose({ open })
+
+onMounted(() => {
+  getRegionList()
+})
 </script>
 
 <style scoped lang="scss">

--
Gitblit v1.9.3