浏览代码

采集周期同步接口地址调整,增加在线设备显示、关闭设备连接功能

chenwen 6 月之前
父节点
当前提交
efd3c8d0f6
共有 2 个文件被更改,包括 107 次插入17 次删除
  1. 16 1
      src/api/gatherConfig.js
  2. 91 16
      src/pages/sys/GatherConfig.vue

+ 16 - 1
src/api/gatherConfig.js

@@ -19,10 +19,25 @@ api.setCycle = ({single,diagram,liquid})=>{
 
 
 api.synall = ()=>{
 api.synall = ()=>{
 	return request({
 	return request({
-	    url: '/gather/cycle/synAllConfig',
+	    url: '/gather/config/synAllConfig',
 		method: 'get'
 		method: 'get'
 	});
 	});
 }
 }
 
 
+api.loadOnlineDevs = ()=>{
+	return request({
+	    url: '/gather/dev/loadOnlineDevs',
+		method: 'get'
+	});
+}
+
+api.closeDev = (serial)=>{
+	return request({
+	    url: '/gather/dev/closeDev',
+		method: 'post',
+	    data:  {serial}
+	});
+}
+
 
 
 export  default api
 export  default api

+ 91 - 16
src/pages/sys/GatherConfig.vue

@@ -1,21 +1,35 @@
 <template>
 <template>
-	<div class="edit-page">
-		<el-form :model="formModel" ref="editForm"  label-width="auto">
-			<el-form-item label="单值采集周期(s)" prop="single">
-				<el-input-number v-model="formModel.single" :precision="0" :min="30"  :max="3600"/>
-			</el-form-item>
-			<el-form-item label="多值采集周期(s)" prop="diagram">
-				<el-input-number v-model="formModel.diagram" :precision="0" :min="300"  :max="7200"/>
-			</el-form-item>
-			<el-form-item label="动液面采集周期(s)" prop="liquid">
-				<el-input-number v-model="formModel.liquid" :precision="0" :min="600"  :max="14400"/>
-			</el-form-item>
-			
-			<el-button type="primary" style="width:280px;" @click="save">保存并应用</el-button>
-			
-			<el-button type="warning" style="width:280px;" @click="synall">同步全部采集配置</el-button>
-		</el-form>
+	<div class="page-container">
+		<div class="edit-page">
+			<el-form :model="formModel" ref="editForm"  label-width="auto">
+				<el-form-item label="单值采集周期(s)" prop="single">
+					<el-input-number v-model="formModel.single" :precision="0" :min="30"  :max="3600"/>
+				</el-form-item>
+				<el-form-item label="多值采集周期(s)" prop="diagram">
+					<el-input-number v-model="formModel.diagram" :precision="0" :min="300"  :max="7200"/>
+				</el-form-item>
+				<el-form-item label="动液面采集周期(s)" prop="liquid">
+					<el-input-number v-model="formModel.liquid" :precision="0" :min="600"  :max="14400"/>
+				</el-form-item>
+				
+				<el-form-item>
+					<el-button type="primary" style="width:280px;" @click="save">保存并应用</el-button>
+				</el-form-item>
+				
+				<el-form-item>
+					<el-button type="warning" style="width:280px;" @click="synall">同步全部采集配置</el-button>
+				</el-form-item>
+			</el-form>
+		</div>	
+		<div class="list-page">
+			<el-button type="primary"  @click="loadOnlineDevs">获取在线网络设备</el-button>
+			<div class="list-dev">
+				<el-button type="success" plain icon="Share" v-for="(dev,index) in onlineDevs" :key="index" @click="closeDev(dev)">{{dev}}</el-button>
+				
+			</div>
+		</div>
 	</div>
 	</div>
+	
 </template>
 </template>
 
 
 <script setup>
 <script setup>
@@ -29,6 +43,8 @@
 		liquid: 600
 		liquid: 600
 	})
 	})
 	
 	
+	const onlineDevs=ref([])
+	
 	onMounted(()=>{
 	onMounted(()=>{
 		load()
 		load()
 	})
 	})
@@ -72,10 +88,69 @@
 			ElMessage.error('操作出错')
 			ElMessage.error('操作出错')
 		})
 		})
 	}
 	}
+	
+	const loadOnlineDevs=()=>{
+		onlineDevs.value=[]
+		api.loadOnlineDevs().then(resp=>{
+			if(resp.code!=0){
+				ElMessage.error(resp.msg || '加载数据失败')
+				return
+			}
+			onlineDevs.value=resp.data
+		}).catch(err=>{
+			console.log(err)
+			ElMessage.error('加载数据出错')
+		})
+		
+		
+	}
+	
+	const closeDev=(serial)=>{
+		ElMessageBox.confirm(
+			'确定要关闭设备连接吗(关闭后一般设备会重连)?',
+			'操作确认',
+			{
+				confirmButtonText:'确定',
+				cancelButtonText:'取消',
+				type: 'warning'
+			}
+		).then(()=>{
+			api.closeDev(serial).then(resp=>{
+				if(resp.code!=0){
+					ElMessage.error(resp.msg || '操作失败')
+					return
+				}
+				ElMessage.success('操作成功')
+				loadOnlineDevs()
+				
+			}).catch(err=>{
+				console.log(err)
+				ElMessage.error('操作出错')
+			})
+			
+		}).catch(()=>{
+			console.log('cancel del')
+		})
+		
+	}
 </script>
 </script>
 
 
 <style scoped>
 <style scoped>
+	.page-container{
+		display: flex;
+		flex-flow:row nowrap;
+		
+	}
 	.edit-page{
 	.edit-page{
 		padding:30px 100px;
 		padding:30px 100px;
 	}
 	}
+	.list-page{
+		flex:1;
+	}
+	
+	.list-dev{
+		padding:20px 0px;
+		display: flex;
+		flex-flow:row nowrap;
+	}
 </style>
 </style>