web_src/src/components/dialog/chooseChannelForStream.vue
old mode 100644 new mode 100755
@@ -1,5 +1,5 @@
<template>
<div id="chooseChannelFoStream" >
<div id="chooseChannelFoStream" v-loading="loading">
    <div style="font-size: 17px; color: #606060; white-space: nowrap; line-height: 30px; font-family: monospace;">
      <span v-if="catalogId == null">{{catalogName}}的直播通道</span>
      <span v-if="catalogId != null">{{catalogName}}({{catalogId}})的直播通道</span>
@@ -24,6 +24,8 @@
      </el-select>
      <el-button v-if="catalogId !== null" icon="el-icon-delete" size="mini" style="margin-right: 1rem;" :disabled="gbStreams.length === 0 || multipleSelection.length === 0" type="danger" @click="batchDel">批量移除</el-button>
      <el-button v-if="catalogId === null" icon="el-icon-plus" size="mini" style="margin-right: 1rem;" :disabled="gbStreams.length === 0 || multipleSelection.length === 0" @click="batchAdd">批量添加</el-button>
      <el-button v-if="catalogId === null"  icon="el-icon-plus" size="mini" style="margin-right: 1rem;" @click="add()">全部添加</el-button>
      <el-button v-if="catalogId !== null" type="danger" icon="el-icon-delete" size="mini" style="margin-right: 1rem;" @click="remove()">全部移除</el-button>
    </div>
    <el-table ref="gbStreamsTable" :data="gbStreams" border style="width: 100%" :height="winHeight" :row-key="(row)=> row.app + row.stream" @selection-change="handleSelectionChange">
        <el-table-column align="center" type="selection" :reserve-selection="true" width="55">
@@ -83,6 +85,7 @@
    },
    data() {
        return {
            loading: false,
            gbStreams: [],
            gbChoosechannel:{},
            channelType: "",
@@ -128,41 +131,64 @@
        },
        add: function (row, scope) {
          let all = typeof(row) === "undefined"
          this.getCatalogFromUser((catalogId)=>{
            let task = null;
            this.$axios({
              method:"post",
              url:"/api/gbStream/add",
              data:{
                platformId: this.platformId,
                catalogId: catalogId,
                gbStreams:  [row],
                all: all,
                gbStreams: all?[]:[row],
              }
            }).then((res)=>{
              console.log("保存成功")
              window.clearTimeout(task);
              this.loading = false;
              // this.gbStreams.splice(scope.$index,1)
              this.getChannelList();
            }).catch(function (error) {
              window.clearTimeout(task);
              this.loading = false;
              console.log(error);
            });
            task= setTimeout(()=>{
              this.loading = true;
            }, 200)
          })
        },
        remove: function (row, scope) {
          this.$axios({
            method:"delete",
            url:"/api/gbStream/del",
            data:{
              platformId: this.platformId,
              gbStreams:  [row],
            }
          }).then((res)=>{
            console.log("移除成功")
            // this.gbStreams.splice(scope.$index,1)
            this.getChannelList();
          }).catch(function (error) {
            console.log(error);
          let all = typeof(row) === "undefined"
          this.$confirm(`确定移除${all?"所有通道":""}吗?`, '提示', {
            dangerouslyUseHTMLString: true,
            confirmButtonText: '确定',
            cancelButtonText: '取消',
            type: 'warning'
          }).then(() => {
            this.$axios({
              method:"delete",
              url:"/api/gbStream/del",
              data:{
                platformId: this.platformId,
                all: all,
                gbStreams: all?[]:[row],
              }
            }).then((res)=>{
              console.log("移除成功")
              // this.gbStreams.splice(scope.$index,1)
              this.getChannelList();
            }).catch(function (error) {
              console.log(error);
            });
          }).catch(() => {
          });
        },
        getChannelList: function () {
            let that = this;