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