From c35932e24cf9dda9ef396ab5a45fb1a6e5539748 Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期五, 29 十月 2021 11:22:22 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/wvp-28181-2.0' into wvp-28181-2.0

---
 web_src/src/components/DeviceList.vue |   92 +++++++++++++++++++++++++++++++---------------
 1 files changed, 62 insertions(+), 30 deletions(-)

diff --git a/web_src/src/components/DeviceList.vue b/web_src/src/components/DeviceList.vue
index 8a3f1c0..8d97833 100644
--- a/web_src/src/components/DeviceList.vue
+++ b/web_src/src/components/DeviceList.vue
@@ -13,23 +13,14 @@
 				</div>
 				<!-- <devicePlayer ref="devicePlayer"></devicePlayer> -->
 				<!--璁惧鍒楄〃-->
-				<el-table :data="deviceList" border style="width: 100%" :height="winHeight">
-					<el-table-column prop="name" label="鍚嶇О" width="180" align="center">
+				<el-table :data="deviceList" border style="width: 100%;font-size: 12px;" :height="winHeight">
+					<el-table-column prop="name" label="鍚嶇О"  align="center">
 					</el-table-column>
-					<el-table-column prop="deviceId" label="璁惧缂栧彿" width="240" 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.hostAddress }}</el-tag>
-							</div>
-						</template>
+					<el-table-column prop="deviceId" label="璁惧缂栧彿" width="180" align="center">
 					</el-table-column>
 					<el-table-column prop="manufacturer" label="鍘傚" align="center">
 					</el-table-column>
-					<el-table-column prop="model" label="鍥轰欢鐗堟湰" align="center">
-					</el-table-column>
-					<el-table-column label="娴佷紶杈撴ā寮�" align="center" width="160">
+					<el-table-column label="娴佷紶杈撴ā寮�" align="center" width="120">
             <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>
@@ -40,7 +31,7 @@
 					</el-table-column>
 					<el-table-column prop="channelCount" label="閫氶亾鏁�" align="center">
 					</el-table-column>
-					<el-table-column label="鐘舵��" width="80" align="center">
+					<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.online == 1">鍦ㄧ嚎</el-tag>
@@ -48,14 +39,29 @@
 							</div>
 						</template>
 					</el-table-column>
-
+          <el-table-column prop="keepaliveTime" label="鏈�杩戝績璺�" align="center" width="140">
+          </el-table-column>
+          <el-table-column prop="registerTime" label="鏈�杩戞敞鍐�" align="center" width="140">
+          </el-table-column>
+          <el-table-column prop="updateTime" label="鏇存柊鏃堕棿" align="center" width="140">
+          </el-table-column>
+          <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" align="center" width="140">
+          </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.hostAddress }}</el-tag>
+              </div>
+            </template>
+          </el-table-column>
 					<el-table-column label="鎿嶄綔" width="360" align="center" fixed="right">
 						<template slot-scope="scope">
-							<el-button size="mini" :ref="scope.row.deviceId + 'refbtn' " icon="el-icon-refresh"  @click="refDevice(scope.row)">鍒锋柊</el-button>
+							<el-button size="mini" :ref="scope.row.deviceId + 'refbtn' "  v-if="scope.row.online!=0" icon="el-icon-refresh"  @click="refDevice(scope.row)">鍒锋柊</el-button>
 							<el-button-group>
-							<el-button size="mini" icon="el-icon-video-camera-solid" v-bind:disabled="scope.row.online==0"  type="primary" @click="showChannelList(scope.row)">閫氶亾</el-button>
-							<el-button size="mini" icon="el-icon-location" v-bind:disabled="scope.row.online==0"  type="primary" @click="showDevicePosition(scope.row)">瀹氫綅</el-button>
-							<el-button size="mini" icon="el-icon-s-tools" v-bind:disabled="scope.row.online==0"  type="primary">鎺у埗</el-button>
+                <el-button size="mini" icon="el-icon-video-camera-solid" v-bind:disabled="scope.row.online==0"  type="primary" @click="showChannelList(scope.row)">閫氶亾</el-button>
+                <el-button size="mini" icon="el-icon-location" v-bind:disabled="scope.row.online==0"  type="primary" @click="showDevicePosition(scope.row)">瀹氫綅</el-button>
+                <el-button size="mini" icon="el-icon-edit" type="primary" @click="edit(scope.row)">缂栬緫</el-button>
+                <el-button size="mini" icon="el-icon-delete" type="danger" v-if="scope.row.online==0"  @click="deleteDevice(scope.row)">鍒犻櫎</el-button>
 							</el-button-group>
 							</template>
 					</el-table-column>
@@ -70,7 +76,7 @@
 					layout="total, sizes, prev, pager, next"
 					:total="total">
 				</el-pagination>
-
+        <deviceEdit ref="deviceEdit" ></deviceEdit>
 			</el-main>
 		</el-container>
 	</div>
@@ -78,10 +84,12 @@
 
 <script>
 	import uiHeader from './UiHeader.vue'
+	import deviceEdit from './dialog/deviceEdit.vue'
 	export default {
 		name: 'app',
 		components: {
-			uiHeader
+			uiHeader,
+      deviceEdit
 		},
 		data() {
 			return {
@@ -136,22 +144,34 @@
 			getDeviceList: function() {
 				let that = this;
 				this.getDeviceListLoading = true;
-				this.$axios.get(`/api/devices`,{
+				this.$axios({
+					method: 'get',
+					url:`/api/device/query/devices`,
 					params: {
 						page: that.currentPage,
 						count: that.count
 					}
-				} )
-				.then(function (res) {
+				}).then(function (res) {
 					console.log(res);
 					console.log(res.data.list);
 					that.total = res.data.total;
 					that.deviceList = res.data.list;
 					that.getDeviceListLoading = false;
-				})
-				.catch(function (error) {
+				}).catch(function (error) {
 					console.log(error);
 					that.getDeviceListLoading = false;
+				});
+
+			},
+      deleteDevice: function(row) {
+				let that = this;
+				this.$axios({
+					method: 'delete',
+					url:`/api/device/query/devices/${row.deviceId}/delete`
+				}).then((res)=>{
+          this.getDeviceList();
+				}).catch((error) =>{
+					console.log(error);
 				});
 
 			},
@@ -167,13 +187,12 @@
 			//gb28181骞冲彴瀵规帴
 			//鍒锋柊璁惧淇℃伅
 			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'
+					url: '/api/device/query/devices/' + itemData.deviceId + '/sync'
 				}).then(function(res) {
 					console.log("鍒锋柊璁惧缁撴灉锛�"+JSON.stringify(res));
 					if (!res.data.deviceId) {
@@ -216,12 +235,25 @@
         console.log(`淇敼浼犺緭鏂瑰紡涓� ${row.streamMode}锛�${row.deviceId} `);
         let that = this;
         this.$axios({
-          method: 'get',
-          url: '/api/devices/' + row.deviceId + '/transport/' + row.streamMode
+          method: 'post',
+          url: '/api/device/query/transport/' + row.deviceId + '/' + row.streamMode
         }).then(function(res) {
 
         }).catch(function(e) {
         });
+      },
+      edit: function (row) {
+        console.log(row);
+        this.$refs.deviceEdit.openDialog(row, ()=>{
+          this.$refs.deviceEdit.close();
+          this.$message({
+            showClose: true,
+            message: "璁惧淇敼鎴愬姛锛岄�氶亾瀛楃闆嗗皢鍦ㄤ笅娆℃洿鏂扮敓鏁�",
+            type: "success",
+          });
+          setTimeout(this.getDeviceList, 200)
+
+        })
       }
 
 		}

--
Gitblit v1.8.0