From ac1a4a027a7bd88efb32e9da666bdba4b5fa166f Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期五, 14 一月 2022 17:04:26 +0800
Subject: [PATCH] 支持国标级联的目录订阅功能

---
 web_src/src/components/dialog/chooseChannelForGb.vue |   77 ++++++++++++++++++++++----------------
 1 files changed, 45 insertions(+), 32 deletions(-)

diff --git a/web_src/src/components/dialog/chooseChannelForGb.vue b/web_src/src/components/dialog/chooseChannelForGb.vue
index b21416c..4b2be34 100644
--- a/web_src/src/components/dialog/chooseChannelForGb.vue
+++ b/web_src/src/components/dialog/chooseChannelForGb.vue
@@ -21,13 +21,13 @@
             <el-option label="绂荤嚎" value="false"></el-option>
         </el-select>
 
-        <el-checkbox @change="shareAllCheckedChanage">鍏ㄩ儴鍏变韩</el-checkbox>
+        <el-checkbox @change="shareAllCheckedChange">鍏ㄩ儴鍏变韩</el-checkbox>
     </div>
-    <el-table ref="gbChannelsTable" :data="gbChannels" border style="width: 100%" @selection-change="checkedChanage" >
+    <el-table ref="gbChannelsTable" :data="gbChannels" border style="width: 100%" @selection-change="checkedChange" >
         <el-table-column type="selection" width="55" align="center" fixed > </el-table-column>
         <el-table-column prop="channelId" label="閫氶亾缂栧彿" width="210">
         </el-table-column>
-        <el-table-column prop="name" label="閫氶亾鍚嶇О">
+        <el-table-column prop="name" label="閫氶亾鍚嶇О" show-overflow-tooltip>
         </el-table-column>
         <el-table-column prop="deviceId" label="璁惧缂栧彿" width="210" >
         </el-table-column>
@@ -49,7 +49,6 @@
 <script>
 export default {
     name: 'chooseChannelForGb',
-    props: {},
     computed: {
         // getPlayerShared: function () {
         //     return {
@@ -59,7 +58,7 @@
         //     };
         // }
     },
-    props: ['platformId'],
+    props: ['platformId', 'updateChoosedCallback'],
     created() {
         this.initData();
     },
@@ -71,7 +70,8 @@
             channelType: "",
             online: "",
             choosed: "",
-            currentPage: 0,
+            catalogId: null,
+            currentPage: 1,
             count: 10,
             total: 0,
             eventEnanle: false
@@ -82,7 +82,7 @@
         platformId(newData, oldData){
             console.log(newData)
             this.initData()
-            
+
         },
     },
     methods: {
@@ -97,28 +97,28 @@
             this.count = val;
             console.log(val)
             this.initData();
-
         },
-        rowcheckedChanage: function (val, row) {
+        rowcheckedChange: function (val, row) {
             console.log(val)
             console.log(row)
         },
-        checkedChanage: function (val) {
-            var that = this;
+        // selectDisable: function (){
+        //   if (this.catalogId == null) {
+        //     return false;
+        //   }
+        // },
+        checkedChange: function (val) {
+            let that = this;
             if (!that.eventEnanle) {
                 return;
             }
-            var tabelData = JSON.parse(JSON.stringify(this.$refs.gbChannelsTable.data));
-            console.log("checkedChanage")
-            console.log(val)
-
-            var newData = {};
-            var addData = [];
-            var delData = [];
+            let newData = {};
+            let addData = [];
+            let delData = [];
             if (val.length > 0) {
                 for (let i = 0; i < val.length; i++) {
                     const element = val[i];
-                    var key = element.deviceId + "_" + element.channelId;
+                    let key = element.deviceId + "_" + element.channelId;
                     newData[key] = element;
                     if (!!!that.gbChoosechannel[key]){
                         addData.push(element)
@@ -126,17 +126,17 @@
                         delete that.gbChoosechannel[key]
                     }
                 }
-                 
-                 var oldKeys = Object.keys(that.gbChoosechannel);
+
+                let oldKeys = Object.keys(that.gbChoosechannel);
                 if (oldKeys.length > 0) {
                     for (let i = 0; i < oldKeys.length; i++) {
                         const key = oldKeys[i];
                         delData.push(that.gbChoosechannel[key])
                     }
                 }
-                
+
             }else{
-                var oldKeys = Object.keys(that.gbChoosechannel);
+                let oldKeys = Object.keys(that.gbChoosechannel);
                 if (oldKeys.length > 0) {
                     for (let i = 0; i < oldKeys.length; i++) {
                         const key = oldKeys[i];
@@ -149,40 +149,49 @@
             if (Object.keys(addData).length >0) {
                 that.$axios({
                     method:"post",
-                    url:"/api/platforms/updateChannelForGB",
+                    url:"/api/platform/update_channel_for_gb",
                     data:{
                         platformId:  that.platformId,
-                        channelReduces: addData
+                        channelReduces: addData,
+                        catalogId: that.catalogId
                     }
                 }).then((res)=>{
                     console.log("淇濆瓨鎴愬姛")
+                    if(that.updateChoosedCallback)that.updateChoosedCallback(that.catalogId)
                 }).catch(function (error) {
                     console.log(error);
                 });
             }
-            if (Object.keys(delData).length >0) {
+            if (delData.length >0) {
                  that.$axios({
-                    method:"post",
-                    url:"/api/platforms/delChannelForGB",
+                    method:"delete",
+                    url:"/api/platform/del_channel_for_gb",
                     data:{
                         platformId:  that.platformId,
                         channelReduces: delData
                     }
                 }).then((res)=>{
                     console.log("绉婚櫎鎴愬姛")
+                   let nodeIds = new Array();
+                   for (let i = 0; i < delData.length; i++) {
+                     nodeIds.push(delData[i].channelId)
+                   }
+                   if(that.updateChoosedCallback)that.updateChoosedCallback(null, nodeIds)
                 }).catch(function (error) {
                     console.log(error);
                 });
             }
 
         },
-        shareAllCheckedChanage: function (val) {
+        shareAllCheckedChange: function (val) {
             this.chooseChanage(null, val)
         },
         getChannelList: function () {
             let that = this;
 
-            this.$axios.get(`/api/platforms/channelList`, {
+            this.$axios({
+                    method:"get",
+                    url:`/api/platform/channel_list`,
                     params: {
                         page: that.currentPage,
                         count: that.count,
@@ -209,11 +218,11 @@
                                 that.$refs.gbChannelsTable.toggleRowSelection(row, true);
                                 chooseGBS.push(row)
                                 that.gbChoosechannel[row.deviceId+ "_" + row.channelId] = row;
-                               
+
                             }
                         }
                          that.eventEnanle = true;
-                        // that.checkedChanage(chooseGBS)
+                        // that.checkedChange(chooseGBS)
                     })
                     console.log(that.gbChoosechannel)
                 })
@@ -228,6 +237,10 @@
         handleGBSelectionChange: function() {
             this.initData();
         },
+        catalogIdChange: function(id) {
+            this.catalogId = id;
+            console.log("閫氶亾閫夋嫨妯″潡鏀跺埌锛� " + id)
+        },
     }
 };
 </script>

--
Gitblit v1.8.0