panlinlin
2021-05-08 e48fa711a3664bece9b3e58840a75fe7c05bc47c
web_src/src/components/StreamProxyList.vue
@@ -10,6 +10,7 @@
            </div>
            <div style="background-color: #FFFFFF; margin-bottom: 1rem; position: relative; padding: 0.5rem; text-align: left;font-size: 14px;">
               <el-button icon="el-icon-plus" size="mini" style="margin-right: 1rem;" type="primary" @click="addStreamProxy">添加代理</el-button>
               <el-button v-if="false" icon="el-icon-search" size="mini" style="margin-right: 1rem;" type="primary" @click="addOnvif">搜索ONVIF</el-button>
            </div>
            <devicePlayer ref="devicePlayer"></devicePlayer>
            <el-table :data="streamProxyList" border style="width: 100%" :height="winHeight">
@@ -32,6 +33,14 @@
                  </template>
               </el-table-column>
               <el-table-column prop="gbId" label="国标编码" width="180" align="center" show-overflow-tooltip/>
          <el-table-column label="启用" width="120" align="center">
            <template slot-scope="scope">
              <div slot="reference" class="name-wrapper">
                <el-tag size="medium" v-if="scope.row.enable">已启用</el-tag>
                <el-tag size="medium" type="info" v-if="!scope.row.enable">未启用</el-tag>
              </div>
            </template>
          </el-table-column>
               <el-table-column label="转HLS" width="120" align="center">
                  <template slot-scope="scope">
                  <div slot="reference" class="name-wrapper">
@@ -48,14 +57,7 @@
                  </div>
                  </template>
               </el-table-column>
               <el-table-column label="启用" width="120" align="center">
                  <template slot-scope="scope">
                  <div slot="reference" class="name-wrapper">
                     <el-tag size="medium" v-if="scope.row.enable">已启用</el-tag>
                     <el-tag size="medium" type="info" v-if="!scope.row.enable">未启用</el-tag>
                  </div>
                  </template>
               </el-table-column>
               <el-table-column label="操作" width="360" align="center" fixed="right">
                  <template slot-scope="scope">
@@ -79,6 +81,7 @@
               :total="total">
            </el-pagination>
         <streamProxyEdit ref="streamProxyEdit" ></streamProxyEdit>
         <onvifEdit ref="onvifEdit" ></onvifEdit>
         </el-main>
      </el-container>
   </div>
@@ -86,6 +89,7 @@
<script>
   import streamProxyEdit from './dialog/StreamProxyEdit.vue'
   import onvifEdit from './dialog/onvifEdit.vue'
   import devicePlayer from './dialog/devicePlayer.vue'
   import uiHeader from './UiHeader.vue'
   export default {
@@ -93,6 +97,7 @@
      components: {
         devicePlayer,
         streamProxyEdit,
      onvifEdit,
         uiHeader
      },
      data() {
@@ -113,7 +118,7 @@
      },
      mounted() {
         this.initData();
         // this.updateLooper = setInterval(this.initData, 10000);
         this.updateLooper = setInterval(this.initData, 1000);
      },
      destroyed() {
         this.$destroy('videojs');
@@ -155,6 +160,36 @@
         addStreamProxy: function(){
            this.$refs.streamProxyEdit.openDialog(null, this.initData)
         },
      addOnvif: function(){
        this.getListLoading = true;
        this.getListLoading = true;
        this.$axios({
          method: 'get',
          url:`/api/onvif/search?timeout=3000`,
        }).then((res) =>{
          this.getListLoading = false;
          if (res.data.code == 0 ){
            if (res.data.data.length > 0) {
              console.log(res.data.data)
              this.$refs.onvifEdit.openDialog(res.data.data, (url)=>{
                  if (url != null) {
                    this.$refs.onvifEdit.close();
                    this.$refs.streamProxyEdit.openDialog({type: "default", url: url, src_url: url}, this.initData())
                  }
              })
            }else {
              this.$message.success("未找到可用设备");
            }
        }else {
            this.$message.error(res.data.msg);
          }
        }).catch((error)=> {
          this.getListLoading = false;
          this.$message.error(error.response.data.msg);
        });
         },
         saveStreamProxy: function(){
         },
         play: function(row){
@@ -194,7 +229,7 @@
                         that.initData()
                }).catch(function (error) {
                    console.log(error);
               that.getListLoading = false;
                         that.getListLoading = false;
                });
         },
         start: function(row){