| 
					
				 | 
			
			
				@@ -1,26 +1,26 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 <template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   <div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     <DialogCom :title="title" :visible.sync="isShow" width="60%"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      <el-descriptions border :column="2" size="small"  style="width: 60%"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        <el-descriptions-item label="规则名称">{{data.ruleName}}</el-descriptions-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        <el-descriptions-item label="规则描述">{{data.ruleRemark}}</el-descriptions-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <el-descriptions border :column="2" size="small" style="width: 60%"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <el-descriptions-item label="规则名称">{{ data.ruleName }}</el-descriptions-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <el-descriptions-item label="规则描述">{{ data.ruleRemark }}</el-descriptions-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       </el-descriptions> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      <el-form  ref="queryForm" size="small" :inline="true"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-       <div > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<!--        <div class="disDiv"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          <el-form-item label="名称" >{{data.ruleName}}</el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          <el-form-item label="描述" prop="taskName" > {{data.ruleRemark}} </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        </div>--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<!--        <div class="disDiv"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          <el-form-item label="启动" prop="taskName"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <el-switch v-model="data.enable"> </el-switch> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        </div>--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-       </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <el-form ref="queryForm" size="small" :inline="true"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <!--        <div class="disDiv"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <el-form-item label="名称" >{{data.ruleName}}</el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <el-form-item label="描述" prop="taskName" > {{data.ruleRemark}} </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  </div>--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <!--        <div class="disDiv"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <el-form-item label="启动" prop="taskName"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      <el-switch v-model="data.enable"> </el-switch> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  </div>--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         <el-tabs type="border-card" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        v-if="data.typeDataList.length > 0" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        class="tabs" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        v-model="selectedTab" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                 v-if="data.typeDataList.length > 0" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                 class="tabs" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                 v-model="selectedTab" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                  @tab-click="handleTabClick" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           <el-tab-pane 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -31,7 +31,7 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             :label="entity.typeText" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           </el-tab-pane> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          <relevanceDialogCom :deviceData="currentTypeData" @updateDeviceData="updateDeviceData" ></relevanceDialogCom> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <relevanceDialogCom :deviceData="currentTypeData" @updateDeviceData="updateDeviceData"></relevanceDialogCom> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         </el-tabs> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       </el-form> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -44,7 +44,8 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 <script> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import relevanceDialogCom from "@/views/warnRule/relevanceDialogCom.vue"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import {alarmDeviceDetail,saveDevice} from "@/api/iot/alarmRule"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import {alarmDeviceDetail, saveDevice} from "@/api/iot/alarmRule"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const defaultDetail = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ruleId: 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ruleName: "", 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -68,10 +69,8 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         type: -1, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         typeText: "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      data:defaultDetail, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      queryParams:{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      data: defaultDetail, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      queryParams: {}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   mounted() { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -82,16 +81,16 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       this.isShow = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       this.init(ruleId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    init(ruleId){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    init(ruleId) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       this.queryParams.ruleId = ruleId; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       alarmDeviceDetail(this.queryParams) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         .then((response) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           this.data = response.data; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          if(this.data.typeDataList.length > 0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            setTimeout(()=>{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          if (this.data.typeDataList.length > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            setTimeout(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               this.selectedTab = String(this.data.typeDataList[0].type); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               this.currentTypeData = this.data.typeDataList[0]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            },200); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }, 200); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         .catch(() => { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -103,16 +102,16 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         (t) => t.type == this.selectedTab 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    updateDeviceData(rel){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        this.data.typeDataList.forEach((obj,index) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          if(obj.type === rel.type){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            obj.deviceTempList = rel.deviceTempList; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            obj.isAllDeviceEnable = rel.isAllDeviceEnable; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            obj.valueType = rel.valueType; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    updateDeviceData(rel) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.data.typeDataList.forEach((obj, index) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (obj.type === rel.type) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          obj.deviceTempList = rel.deviceTempList; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          obj.isAllDeviceEnable = rel.isAllDeviceEnable; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          obj.valueType = rel.valueType; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    submitData(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    submitData() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       saveDevice(this.data) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         .then((response) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           this.$message('保存成功!'); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -131,15 +130,51 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 </script> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 <style lang="scss" scoped> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-.disDiv{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+.disDiv { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   display: flex; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   justify-content: space-between; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-.dialog-footer{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+.dialog-footer { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   float: right; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   margin-top: 10px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   margin-bottom: 10px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   margin-right: 17px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+/* 鼠标选中时样式 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+::v-deep .el-tabs__item.is-active { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  opacity: 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  font-size: 16px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  font-weight: bold; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  color: white !important; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  font-family:  Arial, sans-serif; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+/* 鼠标悬浮时样式 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+::v-deep .el-tabs__item:hover { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  cursor: pointer; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  opacity: 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  font-size: 16px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  font-weight: bold; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  color: white !important; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  font-family:  Arial, sans-serif; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+::v-deep .el-tabs__item { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  color: #dceeee; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  opacity: 0.9; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  font-size: 16px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  font-weight: bold; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  font-family:  Arial, sans-serif; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+::v-deep .el-tabs__nav-wrap{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  background-color: #d7d7d7 !important; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+::v-deep .el-tabs--border-card>.el-tabs__header .el-tabs__item.is-active{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  background-color: #3a3b3b; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 </style> 
			 |