| | |
| | | <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> |
| | |
| | | <script> |
| | | export default { |
| | | name: 'chooseChannelForGb', |
| | | props: {}, |
| | | computed: { |
| | | // getPlayerShared: function () { |
| | | // return { |
| | |
| | | // }; |
| | | // } |
| | | }, |
| | | props: ['platformId'], |
| | | props: ['platformId', 'updateChoosedCallback'], |
| | | created() { |
| | | this.initData(); |
| | | }, |
| | |
| | | channelType: "", |
| | | online: "", |
| | | choosed: "", |
| | | currentPage: 0, |
| | | catalogId: null, |
| | | currentPage: 1, |
| | | count: 10, |
| | | total: 0, |
| | | eventEnanle: false |
| | |
| | | platformId(newData, oldData){ |
| | | console.log(newData) |
| | | this.initData() |
| | | |
| | | |
| | | }, |
| | | }, |
| | | methods: { |
| | |
| | | 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) |
| | |
| | | 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]; |
| | |
| | | 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:"delete", |
| | | url:"/api/platform/del_channel_for_gb", |
| | |
| | | } |
| | | }).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/platform/channel_list`, { |
| | | this.$axios({ |
| | | method:"get", |
| | | url:`/api/platform/channel_list`, |
| | | params: { |
| | | page: that.currentPage, |
| | | count: that.count, |
| | |
| | | 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) |
| | | }) |
| | |
| | | handleGBSelectionChange: function() { |
| | | this.initData(); |
| | | }, |
| | | catalogIdChange: function(id) { |
| | | this.catalogId = id; |
| | | console.log("通道选择模块收到: " + id) |
| | | }, |
| | | } |
| | | }; |
| | | </script> |