From 9f16b5c553b479ea12fe368a7ecc748872ea8b98 Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期四, 12 六月 2025 11:11:27 +0800
Subject: [PATCH] 修改配置文件

---
 web_src/src/components/dialog/chooseChannelForCatalog.vue |  109 ++++++++++++++++++++++++++++--------------------------
 1 files changed, 57 insertions(+), 52 deletions(-)

diff --git a/web_src/src/components/dialog/chooseChannelForCatalog.vue b/web_src/src/components/dialog/chooseChannelForCatalog.vue
old mode 100644
new mode 100755
index 4e4339f..ae79e64
--- a/web_src/src/components/dialog/chooseChannelForCatalog.vue
+++ b/web_src/src/components/dialog/chooseChannelForCatalog.vue
@@ -7,26 +7,28 @@
        empty-text="鏈煡鑺傜偣"
        node-key="id"
        default-expand-all
-       :highlight-current="true"
+       :highlight-current="false"
        :expand-on-click-node="false"
        :props="props"
        :load="loadNode"
        @node-contextmenu="contextmenuEventHandler"
+       @node-click="nodeClickHandler"
        lazy>
        <span class="custom-tree-node" slot-scope="{ node, data }" style="width: 100%">
-         <el-radio v-if="node.data.type === 0" style="margin-right: 0" v-model="chooseId" :label="node.data.id">{{''}}</el-radio>
+         <el-radio v-if="node.data.type === 0 || node.data.type === -1" style="margin-right: 0" v-model="chooseId" :label="node.data.id">{{''}}</el-radio>
+         <span v-if="node.data.type === -1 && node.level === 1" style="font-size: 12px" class="iconfont icon-ziyuan"></span>
          <span v-if="node.data.type === 0 && node.level === 1" class="el-icon-s-home"></span>
          <span v-if="node.data.type === 0 && node.level > 1"  class="el-icon-folder-opened"></span>
          <span v-if="node.data.type === 1" class="iconfont icon-shexiangtou"></span>
          <span v-if="node.data.type === 2" class="iconfont icon-zhibo"></span>
-        <span style="padding-left: 1px">{{ node.label }}</span>
+        <span style=" padding-left: 1px">{{ node.label }}</span>
         <span>
-          <i style="margin-left: 5rem; color: #9d9d9d; padding-right: 20px" v-if="node.data.id === defaultCatalogId">榛樿</i>
+          <i style="margin-left: 5rem; color: #9d9d9d; padding-right: 20px" v-if="node.data.id === defaultCatalogIdSign">榛樿</i>
         </span>
       </span>
      </el-tree>
    </div>
-    <catalogEdit ref="catalogEdit" :platformId="platformId"></catalogEdit>
+    <catalogEdit ref="catalogEdit" :platformId="platformId" :platformDeviceId="platformDeviceId"></catalogEdit>
 </div>
 </template>
 
@@ -36,11 +38,13 @@
 import catalogEdit from './catalogEdit.vue'
 export default {
     name: 'chooseChannelForCatalog',
-    props: ['platformId', 'platformName', 'defaultCatalogId', 'catalogIdChange'],
+    props: ['platformId', 'platformDeviceId', 'platformName', 'defaultCatalogId', 'catalogIdChange'],
     created() {
+        this.chooseId = this.defaultCatalogId;
+        this.defaultCatalogIdSign = this.defaultCatalogId;
         this.initData();
         setTimeout(()=>{
-          if (this.catalogIdChange)this.catalogIdChange(this.defaultCatalogId);
+          if (this.catalogIdChange)this.catalogIdChange(this.defaultCatalogId, this.platformName);
         }, 100)
 
     },
@@ -54,8 +58,10 @@
             children: 'children',
             isLeaf: 'leaf'
           },
+          defaultCatalogIdSign: null,
           chooseNode: null,
-          chooseId: this.defaultCatalogId,
+          chooseId: "",
+          chooseName: "",
           catalogTree: null,
           contextmenuShow: false
 
@@ -65,10 +71,6 @@
         platformId(newData, oldData){
             console.log(newData)
             this.initData()
-        },
-        chooseId(newData, oldData){
-          console.log("鍙戦�侊細 " + newData)
-          if (this.catalogIdChange)this.catalogIdChange(newData);
         },
     },
     methods: {
@@ -85,22 +87,11 @@
                         platformId: that.platformId,
                         parentId: parentId
                     }
-                })
-                .then((res)=> {
+                }).then((res)=> {
                   if (res.data.code === 0) {
                     if (typeof(callback) === 'function') {
                       callback(res.data.data)
                     }
-                    //
-
-                    // if (typeof (this.$refs.tree.setCurrentKey) == "undefined") {
-                    //   this.$refs.tree.setCurrentKey(this.defaultCatalogId)
-                    //   let data = this.$refs.tree.getCurrentNode()
-                    //   if (data != null && data.id === this.defaultCatalogId) {
-                    //     this.currentCatalogChange(data, this.$refs.tree.getNode(data.id))
-                    //   }
-                    // }
-
                   }
                 })
                 .catch(function (error) {
@@ -110,8 +101,10 @@
         },
         addCatalog: function (parentId, node){
           let that = this;
+          console.log(this.platformId)
+          console.log(parentId)
           // 鎵撳紑娣诲姞寮圭獥
-          that.$refs.catalogEdit.openDialog(false, null, null, parentId, ()=>{
+          that.$refs.catalogEdit.openDialog(false, null, null, parentId, node.level, ()=>{
             node.loaded = false
             node.expand();
           });
@@ -126,25 +119,16 @@
             let node = this.$refs.tree.getNode(id);
             this.refreshCatalog(node);
           }
-          // if (nodeIds !== null) {
-          //   let refreshNode = {}
-          //   for (let i = 0; i < nodeIds.length; i++) {
-          //     let node = this.$refs.tree.getNode(nodeIds[i]);
-          //     refreshNode[node.parent.data.id] = node.parent
-          //   }
-          //   if (Object.values(refreshNode).length > 0) {
-          //     for (let j = 0; j < Object.values(refreshNode).length; j++) {
-          //       this.refreshCatalog(Object.values(refreshNode)[j]);
-          //     }
-          //   }
-          // }
         },
         editCatalog: function (data, node){
           let that = this;
           // 鎵撳紑娣诲姞寮圭獥
-          that.$refs.catalogEdit.openDialog(true, data.id, data.name, data.parentId, (data)=>{
+          that.$refs.catalogEdit.openDialog(true, data.id, data.name, data.parentId, (newData)=>{
             node.parent.loaded = false
             node.parent.expand();
+            if (data.id === this.chooseId && newData.name !== data.name) {
+              if (this.catalogIdChange)this.catalogIdChange(this.chooseId, newData.name);
+            }
           });
 
         },
@@ -154,15 +138,15 @@
             url:`/api/platform/catalog/del`,
             params: {
               id: id,
+              platformId: this.platformId,
             }
-          })
-            .then((res) => {
+          }).then((res) => {
               if (res.data.code === 0) {
                 console.log("绉婚櫎鎴愬姛")
                 node.parent.loaded = false
                 node.parent.expand();
-                if(this.defaultCatalogId === id) {
-                  this.defaultCatalogId = this.platformId;
+                if (res.data.data) {
+                  this.defaultCatalogIdSign = res.data.data;
                 }
               }
             })
@@ -178,10 +162,9 @@
               platformId: this.platformId,
               catalogId: id,
             }
-          })
-            .then((res)=> {
+          }).then((res)=> {
               if (res.data.code === 0) {
-                this.defaultCatalogId = id;
+                this.defaultCatalogIdSign = id;
               }
             })
             .catch(function (error) {
@@ -189,12 +172,19 @@
             });
         },
         loadNode: function(node, resolve){
+          console.log("this.platformDeviceId锛� " + this.platformDeviceId)
           if (node.level === 0) {
-            resolve([{
-              name: this.platformName,
-              id:  this.platformId,
-              type:  0
-            }]);
+            resolve([
+              {
+              name: "鏈垎閰�",
+              id:  null,
+              type:  -1
+              },{
+                name: this.platformName,
+                id:   this.platformDeviceId,
+                type:  0
+              }
+            ]);
           }
           if (node.level >= 1){
             this.getCatalog(node.data.id, resolve)
@@ -261,13 +251,21 @@
                   disabled: node.level === 1,
                   divided: true,
                   onClick: () => {
-                    this.removeCatalog(data.id, node)
+                    this.$confirm('纭畾鍒犻櫎?', '鎻愮ず', {
+                      confirmButtonText: '纭畾',
+                      cancelButtonText: '鍙栨秷',
+                      type: 'warning'
+                    }).then(() => {
+                      this.removeCatalog(data.id, node)
+                    }).catch(() => {
+
+                    });
                   }
                 },
                 {
                   label: "璁句负榛樿",
                   icon: "el-icon-folder-checked",
-                  disabled: node.data.id === this.defaultCatalogId,
+                  disabled: node.data.id === this.defaultCatalogIdSign,
                   onClick: () => {
                     this.setDefaultCatalog(data.id)
                   },
@@ -301,6 +299,13 @@
 
         return false;
       },
+      nodeClickHandler: function (data, node, tree){
+          console.log(data)
+          console.log(node)
+       this.chooseId = data.id;
+       this.chooseName = data.name;
+       if (this.catalogIdChange)this.catalogIdChange(this.chooseId, this.chooseName);
+      }
     }
 };
 </script>

--
Gitblit v1.8.0