| 
					
				 | 
			
			
				@@ -182,7 +182,7 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                :max="16" label="描述文字" size="small"></el-input-number> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             </el-col> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           </el-row> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          <el-table class="w-auto" height="350" border :data="formData.subSystemList"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <el-table class="w-auto" max-height="350" border :data="formData.subSystemList"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             <el-table-column label="子系统号" width="120" align="center"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               <template slot-scope="r"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 <el-input v-model="r.row.subSystemIndex" maxlength="50" placeholder=""/> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -202,13 +202,73 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 </el-radio-group> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             </el-table-column> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <el-table-column label="操作列表" width="140" align="center"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <el-table-column label="操作列表" width="90" align="center"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               <template slot-scope="r"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 <btn-tip type="text" v-if="showSubSystemDeleted(r.row)" @click="deleteSunSystem(r.row, r.$index)">删除 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 </btn-tip> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             </el-table-column> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           </el-table> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <el-divider class="sensor-divider"></el-divider> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <el-row :gutter="48" style="margin-top: 1px"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <el-col :span='12' style='text-align: left'> 报警输入</el-col> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <el-col :span='12' style='text-align: right'> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <span>报警输入数量 :</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <el-input-number style="margin-left: 15px" @change="inputSensorNumsChange" v-model="formData.inputSensorNums" :min="1" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                               :max="16" label="描述文字" size="small"></el-input-number> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </el-col> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </el-row> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <el-table class="w-auto" max-height="350" border :data="formData.inputSensorList"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <el-table-column label="序号" width="120" align="center"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <template slot-scope="r"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <el-input v-model="r.row.inputSensorIndex" maxlength="50" placeholder=""/> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </el-table-column> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <el-table-column label="名称" align="center"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <template slot-scope="r"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <el-input v-model="r.row.subSystemName" maxlength="50" placeholder=""/> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </el-table-column> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <el-table-column label="网络模块" align="center" > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <template slot-scope="r"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <el-input v-model="r.row.moduleAddress" maxlength="50" placeholder="" disabled/> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </el-table-column> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <el-table-column label="子系统号" align="center"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <template slot-scope="r"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <el-input v-model="r.row.subSystemIndex" maxlength="50" placeholder=""/> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </el-table-column> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <el-table-column label="防区类型" align="center"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <template slot-scope="r"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  <el-select prop="sensorType" v-model="r.row.sensorType"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <el-option 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      v-for="dict in sensorTypeList" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      :key="dict.key" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      :label="dict.label" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      :value="dict.key" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  </el-select> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </el-table-column> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <el-table-column label="是否启用" width="160" align="center"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <template slot-scope="r"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <el-radio-group v-model="r.row.enable"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  <el-radio :label="0">启用</el-radio> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  <el-radio :label="1">禁用</el-radio> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                </el-radio-group> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </el-table-column> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <el-table-column label="操作列表" width="90" align="center"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <template slot-scope="r"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <btn-tip type="text" v-if="showInputSensorDeleted(r.row)" @click="deleteInputSensor(r.row, r.$index)">删除 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                </btn-tip> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </el-table-column> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </el-table> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         </el-form> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -222,7 +282,7 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 <script> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import {mapMutations, mapState} from "vuex"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import {editDvrHostDevice, getProductDisplayName} from "@/api/iot/deviceInfo"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import {editAlarmHostDevice, getProductDisplayName} from "@/api/iot/deviceInfo"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import KSelect from "@/components/common/userselect.vue"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import OrgTree from "@/components/orgTree/orgQuerySelector.vue"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import * as iotApi from "@/api/iot/alarmRule"; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -240,6 +300,23 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       productList: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       modelList: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       hostConnectList: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      sensorTypeList: [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        {key:'Other',label:'其他'}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        {key:'Displacement',label:'位移'}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        {key:'Broken',label:'破碎'}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        {key:'Infrared',label:'红外'}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        {key:'Soaking',label:'水浸'}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        {key:'Shock',label:'震动'}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        {key:'Tamper',label:'防拆'}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        {key:'Humidity',label:'湿度'}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        {key:'Temperature',label:'温度'}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        {key:'Intrusion',label:'入侵'}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        {key:'DoorSensor',label:'门磁'}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        {key:'Smoke',label:'烟感'}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        {key:'IMDualidentification',label:'红外微波双鉴'}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        {key:'Microwave',label:'微波'}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        {key:'EmergencyButton',label:'紧急按钮'}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       hostDeviceTypeList: [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         {id: 17, label: 'ICP_CMS6_CHI_V1_00'}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         {id: 18, label: 'AMAX2000'}, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -310,12 +387,22 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         models: "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         hostDeviceType: "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         enable: 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        subSystemNums: 1, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         subSystemList: [{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           subSystemIndex: 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          subSystemName: '111', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          subSystemName: '子系统1', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           enable: 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        subSystemNums: 1, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        inputSensorNums: 1, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        inputSensorList: [{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          inputSensorIndex: 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          inputSensorName: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          moduleAddress: '0', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          subSystemIndex: '0', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          sensorType: 'Other', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          enable: 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         ...other, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -344,7 +431,7 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     async onSubmit() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       this.$refs["form"].validate((valid) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (valid) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          editDvrHostDevice(this.formData).then(r => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          editAlarmHostDevice(this.formData).then(r => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (!this.formData.id) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               this.$modal.msgSuccess("新增成功"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } else { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -500,6 +587,38 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         this.formData.subSystemList.pop(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       this.formData.subSystemNums = this.formData.subSystemList.length; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    deleteInputSensor(row, index) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (this.formData.inputSensorList.length === 1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.formData.inputSensorList.splice(index, 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.formData.inputSensorNums = this.formData.inputSensorList.length; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    showInputSensorDeleted(row) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      //如果当前元素在this.formData.subSystemList第一个的位置 不显示删除按钮 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return this.formData.inputSensorList.indexOf(row) != 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    inputSensorNumsChange(nums) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      while (this.formData.inputSensorList.length < nums) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let end=this.formData.inputSensorList[this.formData.inputSensorList.length-1]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.formData.inputSensorList.push({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          inputSensorIndex: end.inputSensorIndex+1, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          inputSensorName: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          moduleAddress: '0', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          subSystemIndex: '0', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          sensorType: 'Other', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          enable: 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      while (this.formData.inputSensorList.length > nums) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.formData.inputSensorList.pop(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.formData.subSystemNums = this.formData.inputSensorList.length; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -509,4 +628,7 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 .custom-divider { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   margin-top: 1px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+.sensor-divider { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  margin-top: 30px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 </style> 
			 |