From a47a7ccb5475d288e64939fce5a0f35e55a9de53 Mon Sep 17 00:00:00 2001
From: Lawrence <1934378145@qq.com>
Date: 星期一, 11 一月 2021 09:13:03 +0800
Subject: [PATCH] 修正个别错误

---
 web_src/src/components/channelList.vue |   85 +++++++++++++++++++++++-------------------
 1 files changed, 46 insertions(+), 39 deletions(-)

diff --git a/web_src/src/components/channelList.vue b/web_src/src/components/channelList.vue
index 4bcbe31..e221974 100644
--- a/web_src/src/components/channelList.vue
+++ b/web_src/src/components/channelList.vue
@@ -19,14 +19,14 @@
                     <el-option label="璁惧" value="false"></el-option>
                     <el-option label="瀛愮洰褰�" value="true"></el-option>
                 </el-select>
-                鍦ㄧ嚎鐘舵��: <el-select size="mini" @change="search" v-model="online" placeholder="璇烽�夋嫨" default-first-option>
+                鍦ㄧ嚎鐘舵��: <el-select size="mini" style="margin-right: 1rem;" @change="search" v-model="online" placeholder="璇烽�夋嫨" default-first-option>
                     <el-option label="鍏ㄩ儴" value=""></el-option>
-                    <el-option label="鍦ㄧ嚎" value="on"></el-option>
-                    <el-option label="绂荤嚎" value="off"></el-option>
+                    <el-option label="鍦ㄧ嚎" value="true"></el-option>
+                    <el-option label="绂荤嚎" value="false"></el-option>
                 </el-select>
-
+                <el-checkbox size="mini" style="margin-right: 1rem; float: right;" v-model="autoList" @change="autoListChange">鑷姩鍒锋柊</el-checkbox>
             </div>
-            <devicePlayer ref="devicePlayer"></devicePlayer>
+            <devicePlayer ref="devicePlayer" v-loading="isLoging"></devicePlayer>
             <!--璁惧鍒楄〃-->
             <el-table ref="channelListTable" :data="deviceChannelList" :height="winHeight" border style="width: 100%">
                 <el-table-column prop="channelId" label="閫氶亾缂栧彿" width="210">
@@ -56,10 +56,10 @@
                         <el-button-group>
                             <!-- <el-button size="mini" icon="el-icon-video-play" v-if="scope.row.parental == 0" @click="sendDevicePush(scope.row)">鎾斁</el-button> -->
                             <el-button size="mini" icon="el-icon-video-play" @click="sendDevicePush(scope.row)">鎾斁</el-button>
-                            <el-button size="mini" icon="el-icon-switch-button" type="danger" v-if="scope.row.play" @click="stopDevicePush(scope.row)">鍋滄</el-button>
+                            <el-button size="mini" icon="el-icon-switch-button" type="danger" v-if="!!scope.row.streamId" @click="stopDevicePush(scope.row)">鍋滄</el-button>
                             <el-button size="mini" icon="el-icon-s-open" type="primary" v-if="scope.row.parental == 1" @click="changeSubchannel(scope.row)">鏌ョ湅</el-button>
-                            <!--                  <el-button size="mini" icon="el-icon-video-camera" type="primary" >璁惧褰曡薄</el-button>-->
-                            <!-- <el-button size="mini" @click="sendDevicePush(scope.row)">褰曞儚鏌ヨ</el-button> -->
+                            <el-button size="mini" icon="el-icon-video-camera" type="primary" @click="queryRecords(scope.row)">璁惧褰曡薄</el-button>
+                            <!--                             <el-button size="mini" @click="sendDevicePush(scope.row)">褰曞儚鏌ヨ</el-button> -->
                         </el-button-group>
                     </template>
                 </el-table-column>
@@ -69,20 +69,18 @@
 
         </el-main>
     </el-container>
-    <Loading v-if="isLoging" marginTop="-50%"></Loading>
 </div>
 </template>
 
 <script>
 import devicePlayer from './gb28181/devicePlayer.vue'
 import uiHeader from './UiHeader.vue'
-import Loading from './Loading.vue'
+import moment from "moment";
 export default {
     name: 'channelList',
     components: {
         devicePlayer,
-        uiHeader,
-        Loading
+        uiHeader
     },
     data() {
         return {
@@ -100,13 +98,17 @@
             count: parseInt(this.$route.params.count),
             total: 0,
             beforeUrl: "/videoList",
-            isLoging: false
+            isLoging: false,
+            autoList: false
         };
     },
 
     mounted() {
         this.initData();
-        // this.updateLooper = setInterval(this.initData, 10000);
+        if (this.autoList) {
+            this.updateLooper = setInterval(this.initData, 1500);
+        }
+        
     },
     destroyed() {
         this.$destroy('videojs');
@@ -163,7 +165,7 @@
                 .then(function (res) {
                     console.log(res);
                     that.total = res.data.total;
-                    that.deviceChannelList = res.data.data;
+                    that.deviceChannelList = res.data.list;
                     // 闃叉鍑虹幇琛ㄦ牸閿欎綅
                     that.$nextTick(() => {
                         that.$refs.channelListTable.doLayout();
@@ -175,56 +177,54 @@
 
         },
 
-        //gb28181骞冲彴瀵规帴
-        //鍒锋柊璁惧淇℃伅
-        refDevice: function (itemData) {
-            ///api/devices/{deviceId}/sync
-            console.log("鍒锋柊瀵瑰簲璁惧:" + itemData.deviceId);
-            this.$axios({
-                method: 'post',
-                url: '/api/devices/' + itemData.deviceId + '/sync'
-            }).then(function (res) {
-                // console.log("鍒锋柊璁惧缁撴灉锛�"+JSON.stringify(res));
-            }).catch(function (e) {
-                that.$message({
-                    showClose: true,
-                    message: '璇锋眰鎴愬姛',
-                    type: 'success'
-                });
-            });
-        },
         //閫氱煡璁惧涓婁紶濯掍綋娴�
         sendDevicePush: function (itemData) {
             console.log(itemData)
             let deviceId = this.deviceId;
             this.isLoging = true;
             let channelId = itemData.channelId;
-            console.log("閫氱煡璁惧鎺ㄦ祦1锛�" + deviceId + " : " + channelId);
+            console.log("閫氱煡璁惧鎺ㄦ祦1锛�" + deviceId + " : " + channelId );
             let that = this;
             this.$axios({
                 method: 'get',
                 url: '/api/play/' + deviceId + '/' + channelId
             }).then(function (res) {
                 console.log(res.data)
-                let ssrc = res.data.ssrc;
+                let streamId = res.data.streamId;
                 that.isLoging = false;
-                if (!!ssrc) {
-                    that.$refs.devicePlayer.play(res.data, deviceId, channelId, itemData.hasAudio);
+                if (!!streamId) {
+                    // that.$refs.devicePlayer.play(res.data, deviceId, channelId, itemData.hasAudio);
+                    that.$refs.devicePlayer.openDialog("media", deviceId, channelId, {
+                        streamInfo: res.data,
+                        hasAudio: itemData.hasAudio
+                    });
                     that.initData();
                 } else {
                     that.$message.error(res.data);
                 }
             }).catch(function (e) {});
         },
+        queryRecords: function (itemData) {
+            var format = moment().format("YYYY-M-D");
+            let deviceId = this.deviceId;
+            let channelId = itemData.channelId;
+            this.$refs.devicePlayer.openDialog("record", deviceId, channelId, {date: format})
+        },
         stopDevicePush: function (itemData) {
             console.log(itemData)
             var that = this;
             this.$axios({
                 method: 'post',
-                url: '/api/play/' + itemData.ssrc + '/stop'
+                url: '/api/play/' + itemData.streamId + '/stop'
             }).then(function (res) {
                 console.log(JSON.stringify(res));
                 that.initData();
+            }).catch(function (error) {
+              if (error.response.status == 402) { // 宸茬粡鍋滄杩�
+                that.initData();
+              }else {
+                console.log(e)
+              }
             });
         },
 
@@ -261,7 +261,7 @@
                 })
                 .then(function (res) {
                     that.total = res.data.total;
-                    that.deviceChannelList = res.data.data;
+                    that.deviceChannelList = res.data.list;
                     // 闃叉鍑虹幇琛ㄦ牸閿欎綅
                     that.$nextTick(() => {
                         that.$refs.channelListTable.doLayout();
@@ -286,6 +286,13 @@
             }).then(function (res) {
                 console.log(JSON.stringify(res));
             });
+        },
+        autoListChange: function () {
+            if (this.autoList) {
+                this.updateLooper = setInterval(this.initData, 1500);
+            }else{
+                window.clearInterval(this.updateLooper);
+            }
         }
 
     }

--
Gitblit v1.8.0