From c2e2e24551f4603d2ef01c170de37359cf44afce Mon Sep 17 00:00:00 2001
From: 648540858 <456panlinlin>
Date: 星期二, 12 四月 2022 11:04:08 +0800
Subject: [PATCH] 优化通道刷新

---
 web_src/src/components/DeviceList.vue |   61 +++++++++++++++++-------------
 1 files changed, 34 insertions(+), 27 deletions(-)

diff --git a/web_src/src/components/DeviceList.vue b/web_src/src/components/DeviceList.vue
index 0dab746..8a156d5 100644
--- a/web_src/src/components/DeviceList.vue
+++ b/web_src/src/components/DeviceList.vue
@@ -55,14 +55,14 @@
           <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" align="center" width="140">
           </el-table-column>
 
-					<el-table-column label="鎿嶄綔" width="360" align="center" fixed="right">
+					<el-table-column label="鎿嶄綔" width="450" align="center" fixed="right">
 						<template slot-scope="scope">
-							<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 size="mini" :loading="syncDevices.includes(scope.row.deviceId)"  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-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 size="mini" icon="el-icon-delete" type="danger" @click="deleteDevice(scope.row)">鍒犻櫎</el-button>
 							</el-button-group>
 							</template>
 					</el-table-column>
@@ -104,7 +104,8 @@
 				currentPage:1,
 				count:15,
 				total:0,
-				getDeviceListLoading: false
+				getDeviceListLoading: false,
+        syncDevices:[]
 			};
 		},
 		computed: {
@@ -117,8 +118,6 @@
 					});
 					this.currentDeviceChannelsLenth = channels.length;
 				}
-
-				console.log("鏁版嵁锛�" + JSON.stringify(channels));
 				return channels;
 			}
 		},
@@ -153,35 +152,45 @@
 						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;
 				});
 
 			},
       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);
-				});
+        let msg = "纭畾鍒犻櫎姝よ澶囷紵"
+        if (row.online !== 0) {
+          msg = "鍦ㄧ嚎璁惧鍒犻櫎鍚庝粛鍙�氳繃娉ㄥ唽鍐嶆涓婄嚎銆�<br/>濡傞渶褰诲簳鍒犻櫎璇峰厛灏嗚澶囩绾裤��<br/><strong>纭畾鍒犻櫎姝よ澶囷紵</strong>"
+        }
+        this.$confirm(msg, '鎻愮ず', {
+          dangerouslyUseHTMLString : true,
+          confirmButtonText: '纭畾',
+          cancelButtonText: '鍙栨秷',
+          center: true,
+          type: 'warning'
+        }).then(() => {
+          this.$axios({
+            method: 'delete',
+            url:`/api/device/query/devices/${row.deviceId}/delete`
+          }).then((res)=>{
+            this.getDeviceList();
+          }).catch((error) =>{
+            console.error(error);
+          });
+        }).catch(() => {
+
+        });
+
 
 			},
 			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`);
 			},
 
@@ -190,11 +199,11 @@
 			refDevice: function(itemData) {
 				console.log("鍒锋柊瀵瑰簲璁惧:" + itemData.deviceId);
 				var that = this;
-				that.$refs[itemData.deviceId + 'refbtn' ].loading = true;
+        this.syncDevices.push(itemData.deviceId)
 				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({
@@ -210,15 +219,15 @@
 						});
 					}
 					that.initData()
-					that.$refs[itemData.deviceId + 'refbtn' ].loading = false;
-				}).catch(function(e) {
+          this.syncDevices.splice(this.syncDevices.indexOf(itemData.deviceId, 1));
+				}).catch((e) => {
 					console.error(e)
           that.$message({
             showClose: true,
             message: e,
             type: 'error'
           });
-					that.$refs[itemData.deviceId + 'refbtn' ].loading = false;
+          this.syncDevices.splice(this.syncDevices.indexOf(itemData.deviceId, 1));
 				});
 			},
 			//閫氱煡璁惧涓婁紶濯掍綋娴�
@@ -237,7 +246,6 @@
 				// });
 			},
       transportChange: function (row) {
-        console.log(row);
         console.log(`淇敼浼犺緭鏂瑰紡涓� ${row.streamMode}锛�${row.deviceId} `);
         let that = this;
         this.$axios({
@@ -249,7 +257,6 @@
         });
       },
       edit: function (row) {
-        console.log(row);
         this.$refs.deviceEdit.openDialog(row, ()=>{
           this.$refs.deviceEdit.close();
           this.$message({

--
Gitblit v1.8.0