From 40a806329ce08d5f50795cf965ef773aa48fdd3e Mon Sep 17 00:00:00 2001
From: 648540858 <456panlinlin>
Date: 星期五, 15 四月 2022 09:37:33 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/wvp-28181-2.0' into map

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

diff --git a/web_src/src/components/DeviceList.vue b/web_src/src/components/DeviceList.vue
index 74e3fbc..4f8b460 100644
--- a/web_src/src/components/DeviceList.vue
+++ b/web_src/src/components/DeviceList.vue
@@ -57,7 +57,7 @@
 
 					<el-table-column label="鎿嶄綔" width="450" align="center" fixed="right">
 						<template slot-scope="scope">
-							<el-button size="mini" :loading="scope.row.loading"  v-if="scope.row.online!=0" icon="el-icon-refresh"  @click="refDevice(scope.row)">鍒锋柊</el-button>
+              <el-button size="mini" v-if="scope.row.online!=0" icon="el-icon-refresh" @click="refDevice(scope.row)" @mouseover="getTooltipContent(scope.row.deviceId)">鍒锋柊</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>
@@ -78,6 +78,7 @@
 					:total="total">
 				</el-pagination>
         <deviceEdit ref="deviceEdit" ></deviceEdit>
+        <syncChannelProgress ref="syncChannelProgress" ></syncChannelProgress>
 			</el-main>
 		</el-container>
 	</div>
@@ -86,11 +87,13 @@
 <script>
 	import uiHeader from './UiHeader.vue'
 	import deviceEdit from './dialog/deviceEdit.vue'
+	import syncChannelProgress from './dialog/SyncChannelProgress.vue'
 	export default {
 		name: 'app',
 		components: {
 			uiHeader,
-      deviceEdit
+      deviceEdit,
+      syncChannelProgress,
 		},
 		data() {
 			return {
@@ -104,7 +107,7 @@
 				currentPage:1,
 				count:15,
 				total:0,
-				getDeviceListLoading: false
+				getDeviceListLoading: false,
 			};
 		},
 		computed: {
@@ -117,8 +120,6 @@
 					});
 					this.currentDeviceChannelsLenth = channels.length;
 				}
-
-				console.log("鏁版嵁锛�" + JSON.stringify(channels));
 				return channels;
 			}
 		},
@@ -153,13 +154,11 @@
 						count: that.count
 					}
 				}).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) {
-					console.log(error);
+					console.error(error);
 					that.getDeviceListLoading = false;
 				});
 
@@ -182,7 +181,7 @@
           }).then((res)=>{
             this.getDeviceList();
           }).catch((error) =>{
-            console.log(error);
+            console.error(error);
           });
         }).catch(() => {
 
@@ -191,11 +190,9 @@
 
 			},
 			showChannelList: function(row) {
-				console.log(JSON.stringify(row))
 				this.$router.push(`/channelList/${row.deviceId}/0/15/1`);
 			},
 			showDevicePosition: function(row) {
-				console.log(JSON.stringify(row))
 				this.$router.push(`/devicePosition/${row.deviceId}/0/15/1`);
 			},
 
@@ -203,12 +200,11 @@
 			//鍒锋柊璁惧淇℃伅
 			refDevice: function(itemData) {
 				console.log("鍒锋柊瀵瑰簲璁惧:" + itemData.deviceId);
-				var that = this;
-        that.$set(itemData,"loading", true);
+				let that = this;
 				this.$axios({
 					method: 'post',
 					url: '/api/device/query/devices/' + itemData.deviceId + '/sync'
-				}).then(function(res) {
+				}).then((res) => {
 					console.log("鍒锋柊璁惧缁撴灉锛�"+JSON.stringify(res));
 					if (res.data.code !==0) {
 						that.$message({
@@ -217,24 +213,44 @@
 							type: 'error'
 						});
 					}else{
-						that.$message({
-							showClose: true,
-							message: res.data.msg,
-							type: 'success'
-						});
+						// that.$message({
+						// 	showClose: true,
+						// 	message: res.data.msg,
+						// 	type: 'success'
+						// });
+            this.$refs.syncChannelProgress.openDialog(itemData.deviceId)
 					}
 					that.initData()
-          that.$set(itemData,"loading", true);
-				}).catch(function(e) {
+				}).catch((e) => {
 					console.error(e)
           that.$message({
             showClose: true,
             message: e,
             type: 'error'
           });
-          that.$set(itemData,"loading", true);
 				});
+
 			},
+
+      getTooltipContent: async function (deviceId){
+         let result = "";
+         await this.$axios({
+            method: 'get',
+            async: false,
+            url:`/api/device/query/${deviceId}/sync_status/`,
+          }).then((res) => {
+           if (res.data.code == 0) {
+             if (res.data.data.errorMsg !== null) {
+               result = res.data.data.errorMsg
+             } else if (res.data.msg !== null) {
+               result = res.data.msg
+             } else {
+               result = `鍚屾涓�...[${res.data.data.current}/${res.data.data.total}]`;
+             }
+           }
+         })
+         return result;
+      },
 			//閫氱煡璁惧涓婁紶濯掍綋娴�
 			sendDevicePush: function(itemData) {
 				// let deviceId = this.currentDevice.deviceId;
@@ -251,7 +267,6 @@
 				// });
 			},
       transportChange: function (row) {
-        console.log(row);
         console.log(`淇敼浼犺緭鏂瑰紡涓� ${row.streamMode}锛�${row.deviceId} `);
         let that = this;
         this.$axios({
@@ -263,7 +278,6 @@
         });
       },
       edit: function (row) {
-        console.log(row);
         this.$refs.deviceEdit.openDialog(row, ()=>{
           this.$refs.deviceEdit.close();
           this.$message({

--
Gitblit v1.8.0