From 730a64be077b51add311b9d880bb23f5162253ec Mon Sep 17 00:00:00 2001
From: panlinlin <648540858@qq.com>
Date: 星期二, 05 一月 2021 14:35:43 +0800
Subject: [PATCH] 优化录像查询,优化注释

---
 web_src/src/components/videoList.vue |   71 ++++++++++++++++++++++++++---------
 1 files changed, 53 insertions(+), 18 deletions(-)

diff --git a/web_src/src/components/videoList.vue b/web_src/src/components/videoList.vue
index 234ddc8..46b4aac 100644
--- a/web_src/src/components/videoList.vue
+++ b/web_src/src/components/videoList.vue
@@ -1,7 +1,6 @@
 <template>
 	<div id="app">
 		<el-container>
-
 			<el-header>
 				<uiHeader></uiHeader>
 			</el-header>
@@ -9,7 +8,7 @@
 				<div style="background-color: #FFFFFF; margin-bottom: 1rem; position: relative; padding: 0.5rem; text-align: left;">
 					<span style="font-size: 1rem; font-weight: bold;">璁惧鍒楄〃</span>
 					<div style="position: absolute; right: 1rem; top: 0.3rem;">
-						<el-button icon="el-icon-refresh-right" circle size="mini" @click="getDeviceList()"></el-button>
+						<el-button icon="el-icon-refresh-right" circle size="mini" :loading="getDeviceListLoading" @click="getDeviceList()"></el-button>
 					</div>
 				</div>
 				<devicePlayer ref="devicePlayer"></devicePlayer>
@@ -22,7 +21,7 @@
 					<el-table-column label="鍦板潃" width="180" align="center">
 						<template slot-scope="scope">
 							<div slot="reference" class="name-wrapper">
-								<el-tag size="medium">{{ scope.row.host.address }}</el-tag>
+								<el-tag size="medium">{{ scope.row.hostAddress }}</el-tag>
 							</div>
 						</template>
 					</el-table-column>
@@ -30,21 +29,29 @@
 					</el-table-column>
 					<el-table-column prop="model" label="鍥轰欢鐗堟湰" align="center">
 					</el-table-column>
-					<el-table-column prop="transport" label="閫氳鏂瑰紡" align="center">
+					<el-table-column label="娴佷紶杈撴ā寮�" align="center" width="160">
+            <template slot-scope="scope">
+              <el-select size="mini" @change="transportChange(scope.row)" v-model="scope.row.streamMode" placeholder="璇烽�夋嫨">
+                <el-option key="UDP" label="UDP" value="UDP"></el-option>
+                <el-option key="TCP-ACTIVE" label="TCP涓诲姩妯″紡" :disabled="true" value="TCP-ACTIVE"></el-option>
+                <el-option key="TCP-PASSIVE" label="TCP琚姩妯″紡"  value="TCP-PASSIVE"></el-option>
+              </el-select>
+            </template>
 					</el-table-column>
 					<el-table-column prop="channelCount" label="閫氶亾鏁�" align="center">
 					</el-table-column>
 					<el-table-column label="鐘舵��" width="180" align="center">
 						<template slot-scope="scope">
 							<div slot="reference" class="name-wrapper">
-								<el-tag size="medium">{{ scope.row.online==1?'鍦ㄧ嚎' :'绂荤嚎'}}</el-tag>
+								<el-tag size="medium" v-if="scope.row.online == 1">鍦ㄧ嚎</el-tag>
+								<el-tag size="medium" type="info" v-if="scope.row.online == 0">绂荤嚎</el-tag>
 							</div>
 						</template>
 					</el-table-column>
 
 					<el-table-column label="鎿嶄綔" width="240" align="center" fixed="right">
 						<template slot-scope="scope">
-							<el-button size="mini" icon="el-icon-refresh"  @click="refDevice(scope.row)">鍒锋柊</el-button>
+							<el-button size="mini" :ref="scope.row.deviceId + 'refbtn' " icon="el-icon-refresh"  @click="refDevice(scope.row)">鍒锋柊閫氶亾</el-button>
 							<el-button size="mini" icon="el-icon-s-open"  type="primary" @click="showChannelList(scope.row)">鏌ョ湅閫氶亾</el-button>
 						</template>
 					</el-table-column>
@@ -66,12 +73,10 @@
 </template>
 
 <script>
-	 import devicePlayer from './gb28181/devicePlayer.vue'
 	 import uiHeader from './UiHeader.vue'
 	export default {
 		name: 'app',
 		components: {
-			devicePlayer,
 			uiHeader
 		},
 		data() {
@@ -85,7 +90,8 @@
 				winHeight: window.innerHeight - 200,
 				currentPage:1,
 				count:15,
-				total:0
+				total:0,
+				getDeviceListLoading: false
 			};
 		},
 		computed: {
@@ -125,7 +131,7 @@
 			},
 			getDeviceList: function() {
 				let that = this;
-
+				this.getDeviceListLoading = true;
 				this.$axios.get(`/api/devices`,{
 					params: {
 						page: that.currentPage - 1,
@@ -134,11 +140,14 @@
 				} )
 				.then(function (res) {
 					console.log(res);
+					console.log(res.data.list);
 					that.total = res.data.total;
-					that.deviceList = res.data.data;
+					that.deviceList = res.data.list;
+					that.getDeviceListLoading = false;
 				})
 				.catch(function (error) {
 					console.log(error);
+					that.getDeviceListLoading = false;
 				});
 
 			},
@@ -153,17 +162,31 @@
 			refDevice: function(itemData) {
 				///api/devices/{deviceId}/sync
 				console.log("鍒锋柊瀵瑰簲璁惧:" + itemData.deviceId);
+				var that = this;
+				that.$refs[itemData.deviceId + 'refbtn' ].loading = true;
 				this.$axios({
 					method: 'post',
 					url: '/api/devices/' + itemData.deviceId + '/sync'
 				}).then(function(res) {
-					// console.log("鍒锋柊璁惧缁撴灉锛�"+JSON.stringify(res));
+					console.log("鍒锋柊璁惧缁撴灉锛�"+JSON.stringify(res));
+					if (!res.data.deviceId) {
+						that.$message({
+							showClose: true,
+							message: res.data,
+							type: 'error'
+						});
+					}else{
+						that.$message({
+							showClose: true,
+							message: '璇锋眰鎴愬姛',
+							type: 'success'
+						});
+					}
+					that.initData()
+					that.$refs[itemData.deviceId + 'refbtn' ].loading = false;
 				}).catch(function(e) {
-					that.$message({
-						showClose: true,
-						message: '璇锋眰鎴愬姛',
-						type: 'success'
-					});
+					console.error(e)
+					that.$refs[itemData.deviceId + 'refbtn' ].loading = false;
 				});;
 			},
 			//閫氱煡璁惧涓婁紶濯掍綋娴�
@@ -180,7 +203,19 @@
 					that.$refs.devicePlayer.play(ssrc,deviceId,channelId);
 				}).catch(function(e) {
 				});
-			}
+			},
+      transportChange: function (row) {
+        console.log(row);
+        console.log(`淇敼浼犺緭鏂瑰紡涓� ${row.streamMode}锛�${row.deviceId} `);
+        let that = this;
+        this.$axios({
+          method: 'get',
+          url: '/api/devices/' + row.deviceId + '/transport/' + row.streamMode
+        }).then(function(res) {
+
+        }).catch(function(e) {
+        });
+      }
 
 		}
 	};

--
Gitblit v1.8.0