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/FormDiaLog.vue | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 50 insertions(+), 2 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 b0da69e..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
@@ -47,7 +47,6 @@
class="gd-select"
popper-class="gd-tree-select-popper"
v-model="formData.areaCode"
- :data="regionOptions"
node-key="id"
:props="{
value: 'id',
@@ -58,6 +57,9 @@
clearable
filterable
:check-strictly="true"
+ lazy
+ :load="loadRegionNode"
+ :render-after-expand="false"
/>
</el-form-item>
</el-col>
@@ -111,6 +113,7 @@
import {
agenciesSubmitApi,
agenciesDetailApi,
+ regionLazyTreeApi
} from './agenciesApi'
// 初始化表单数据
@@ -180,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