From 8bfd657326eb9d4bd9b63920cfe3bd362cea4445 Mon Sep 17 00:00:00 2001
From: 罗广辉 <guanghui.luo@foxmail.com>
Date: Fri, 10 Oct 2025 20:59:07 +0800
Subject: [PATCH] Merge branch 'feature/v6.0/6.0.4' into prod

---
 src/views/system/dept.vue |   70 +++++++++++++++++++++++-----------
 1 files changed, 47 insertions(+), 23 deletions(-)

diff --git a/src/views/system/dept.vue b/src/views/system/dept.vue
index 0a758e9..9ba06be 100644
--- a/src/views/system/dept.vue
+++ b/src/views/system/dept.vue
@@ -40,10 +40,12 @@
 import { getLazyTree } from '@/api/base/region'
 import { mapGetters } from 'vuex'
 import website from '@/config/website'
+import { getList } from '@/api/device/device';
 
 export default {
   data () {
     return {
+      treeResolveMap: new Map(),
       form: {},
       selectionList: [],
       query: {},
@@ -73,33 +75,33 @@
 
         column: [
           {
-            label: '机构名称',
+            label: '部门名称',
             prop: 'deptName',
             search: true,
             labelWidth: 120,
             rules: [
               {
                 required: true,
-                message: '请输入机构名称',
+                message: '请输入部门名称',
                 trigger: 'blur',
               },
             ],
           },
           {
-            label: '机构全称',
+            label: '部门全称',
             prop: 'fullName',
             search: true,
             labelWidth: 120,
             rules: [
               {
                 required: true,
-                message: '请输入机构全称',
+                message: '请输入部门全称',
                 trigger: 'blur',
               },
             ],
           },
           {
-            label: '上级机构',
+            label: '上级部门',
             prop: 'parentId',
             dicData: [],
             type: 'tree',
@@ -113,13 +115,13 @@
             rules: [
               {
                 required: false,
-                message: '请选择上级机构',
+                message: '请选择上级部门',
                 trigger: 'click',
               },
             ],
           },
           {
-            label: '机构类型',
+            label: '部门类型',
             type: 'select',
             dicUrl: '/blade-system/dict/dictionary?code=org_category',
             props: {
@@ -134,13 +136,13 @@
             rules: [
               {
                 required: true,
-                message: '请输入机构类型',
+                message: '请输入部门类型',
                 trigger: 'blur',
               },
             ],
           },
           {
-            label: '机构性质',
+            label: '部门性质',
             type: 'select',
             dicUrl: '/blade-system/dict/dictionary?code=org_nature',
             props: {
@@ -155,7 +157,7 @@
             rules: [
               {
                 required: true,
-                message: '请输入机构性质',
+                message: '请输入部门性质',
                 trigger: 'blur',
               },
             ],
@@ -379,6 +381,14 @@
             type: 'success',
             message: '操作成功!',
           })
+          this.parentId = ''
+          const resolve = this.treeResolveMap.get(row.parentId)
+          if (resolve) {
+            // 重新加载子节点数据
+            getChildLazyTree({ parentId: row.parentId }).then(res => {
+              resolve(res.data.data)
+            })
+          }
           this.onLoad(this.page)
           done(row)
         },
@@ -394,7 +404,7 @@
         loading()
         return
       }
-      console.log('--- Start rowUpdate ---')
+      // console.log('--- Start rowUpdate ---')
 
       // 提交时只使用县级代码
       const submitData = {
@@ -402,27 +412,33 @@
         areaCode: row.areaCode.split(',').pop(), // 取最后一个代码(县级)
       }
 
-      console.log('Row data before submit:', row)
+      console.log('编辑', row)
 
       update(submitData)
         .then(
           res => {
-            console.log('Update response:', res.data)
+            const resolve = this.treeResolveMap.get(row.parentId)
+            if (resolve) {
+              // 重新加载子节点数据
+              getChildLazyTree({ parentId: row.parentId }).then(res => {
+                resolve(res.data.data)
+              })
+            }
+            this.onLoad(this.page)
             this.$message({
               type: 'success',
               message: '操作成功!',
             })
-            this.onLoad(this.page)
             done(row)
           },
           error => {
-            console.log('Update error:', error)
+            // console.log('Update error:', error)
             this.loading = false
             loading()
           }
         )
         .catch(error => {
-          console.log('Update promise rejected:', error)
+          // console.log('Update promise rejected:', error)
           this.loading = false
         })
     },
@@ -436,11 +452,18 @@
           return remove(row.id)
         })
         .then(() => {
+          const resolve = this.treeResolveMap.get(row.parentId)
+          if (resolve) {
+            // 重新加载子节点数据
+            getChildLazyTree({ parentId: row.parentId }).then(res => {
+              resolve(res.data.data)
+            })
+          }
+          this.onLoad(this.page)
           this.$message({
             type: 'success',
             message: '操作成功!',
           })
-          this.onLoad(this.page)
           done(row)
         })
     },
@@ -542,11 +565,11 @@
     },
     onLoad (page, params = {}) {
       this.loading = true
-      console.log('onLoad triggered with page:', page, 'params:', params)
-      console.log('Current parentId:', this.parentId, 'query:', this.query)
+      // console.log('onLoad triggered with page:', page, 'params:', params)
+      // console.log('Current parentId:', this.parentId, 'query:', this.query)
       getLazyList(this.parentId, Object.assign(params, this.query))
         .then(res => {
-          console.log('onLoad response:', res.data)
+          // console.log('onLoad response:', res.data)
           // 处理 areaCode,确保是单一字符串
           const data = (res.data.data || []).map(item => {
             const fullAreaCode = this.getFullAreaCode(item.areaCode)
@@ -561,16 +584,17 @@
           this.data = data
           this.loading = false
           this.selectionClear()
-          console.log('Table data after onLoad:', this.data)
+          // console.log('Table data after onLoad:', this.data)
         })
         .catch(error => {
-          console.log('onLoad error:', error)
+          // console.log('onLoad error:', error)
           this.loading = false
           this.data = this.data // 保留当前数据
-          console.log('Table data after onLoad error:', this.data)
+          // console.log('Table data after onLoad error:', this.data)
         })
     },
     treeLoad (tree, treeNode, resolve) {
+      this.treeResolveMap.set(tree.id, resolve)
       getChildLazyTree({ parentId: tree.id }).then(res => {
         resolve(res.data.data)
       })

--
Gitblit v1.9.3