heyang 1 rok temu
rodzic
commit
d698aca3a6

+ 130 - 12
src/views/comprehensive/laboratoryManagement/subject/deviceList.vue

@@ -179,25 +179,60 @@
               <el-option key="2" label="智能通风" value="2"></el-option>
             </el-select>
           </el-form-item>
-          <el-form-item label="设备版本" prop="hardwareType">
+          <el-form-item label="硬件名称"  prop="name">
+            <el-input
+              v-model="form.name"
+              placeholder="请输入硬件名称"
+              clearable
+              size="small"
+              maxLength="8"
+            />
+          </el-form-item>
+          <el-form-item label="继电器类型" prop="hardwareType">
             <el-radio-group v-model="form.hardwareType">
               <el-radio :label="1">老继电器</el-radio>
               <el-radio :label="2">新继电器</el-radio>
               <el-radio :label="3">泥人继电器</el-radio>
             </el-radio-group>
           </el-form-item>
-          <el-form-item label="设备编号" prop="relayCode">
-            <el-input v-model="form.relayCode" placeholder="请输入设备编号"
-                      maxlength="30" style="width:320px;"/>
+          <el-form-item label="绑定继电器" prop="relayCode" v-if="form.hardwareType==1 || form.hardwareType==3">
+            <el-select v-model="form.relayCode" placeholder="请选择继电器" clearable @change="loadRelayNum" @clear="loadClear">
+              <el-option v-for="relay in relayList"
+                         :key="relay.code"
+                         :label="relay.code"
+                         :value="relay.code">
+              </el-option>
+            </el-select>
           </el-form-item>
-          <el-form-item label="设备路由" prop="bit">
-            <el-input v-model="form.bit" oninput="value=value.replace(/[^0-9.]/g,'')" maxlength="2" placeholder="请输入路由" style="width:320px;"></el-input>
+          <el-form-item label="继电器编号"  prop="relayCode" v-if="form.hardwareType==2">
+            <el-input
+              v-model="form.relayCode"
+              placeholder="请输入继电器编号"
+              clearable
+              size="small"
+              maxlength="20"
+            />
+          </el-form-item>
+          <el-form-item label="继电器位置" prop="bit" >
+            <el-select v-model="form.bit" placeholder="请选择继电器位置" clearable >
+              <el-option v-for="lab in relayNumList"
+                         :key="lab.name"
+                         :label="lab.name"
+                         :value="lab.name">
+              </el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item label="是否灭火主机" prop="isPcfire">
+            <el-radio-group v-model="form.isPcfire">
+              <el-radio :label="0">否</el-radio>
+              <el-radio :label="1">是</el-radio>
+            </el-radio-group>
           </el-form-item>
-          <el-form-item label="设备参数" prop="configName" v-if="form.hardwareType == 2">
-            <el-input v-model="form.configName" maxlength="30" placeholder="请输入设备参数" style="width:320px;"></el-input>
+          <el-form-item label="配置名称" prop="configName" v-if="form.hardwareType == 2">
+            <el-input v-model="form.configName" maxlength="30" placeholder="请输入配置名称" style="width:320px;"></el-input>
           </el-form-item>
-          <el-form-item label="参数状态" prop="configStatus" v-if="form.hardwareType == 2">
-            <el-input v-model="form.configStatus" maxlength="30" placeholder="请输入参数状态" style="width:320px;"></el-input>
+          <el-form-item label="配置状态" prop="configStatus" v-if="form.hardwareType == 2">
+            <el-input v-model="form.configStatus" maxlength="30" placeholder="请输入配置状态" style="width:320px;"></el-input>
           </el-form-item>
         </div>
         <div v-if="upType == 4 || upType == 8">
@@ -281,6 +316,7 @@
 <script>
 import { listBySubjectId,addSensor,putSensor,delSensor,addHardware,putHardware,delHardware } from "@/api/laboratory/subject";
 import { getSensorList } from "@/api/laboratory/sensor";
+import { listRelay } from '@/api/laboratory/relay'
 export default {
   name: "deviceList",
   props:{
@@ -297,6 +333,21 @@ export default {
       listHK:[],//智能门禁
       form:{
       },
+      relayList: [],
+      relayNumList:[
+        {name:1},
+        {name:2},
+        {name:3},
+        {name:4},
+        {name:5},
+        {name:6},
+        {name:7},
+        {name:8},
+        {name:9},
+        {name:10},
+        {name:11},
+        {name:12}
+      ],
       // 表单校验
       rules: {
         name:[
@@ -356,6 +407,7 @@ export default {
   created() {
     this.listBySubjectId();
     this.getSensorList();
+    this.getRelayList();
   },
   mounted(){
 
@@ -365,6 +417,67 @@ export default {
     cancel() {
       this.addType = false;
     },
+    // 查询继电器列表
+    getRelayList(){
+      listRelay({"type": 1}).then(response => {
+        this.relayList = response.data;
+        if(this.form.relayCode){
+          let self = this
+          let num = ""
+          for(let i=0;i<self.relayList.length;i++){
+            if(self.relayList[i].code == this.form.relayCode){
+              num = self.relayList[i].routeNum
+            }
+          }
+          let list = [];
+          for(let i=0;i<num;i++){
+            let obj = {
+              name:i+1
+            }
+            list.push(obj);
+          }
+          this.relayNumList = list;
+        }
+      });
+    },
+    loadRelayNum(e){
+      let self = this;
+      let num = ""
+      for(let i=0;i<self.relayList.length;i++){
+        if(self.relayList[i].code == e){
+          num = self.relayList[i].routeNum
+        }
+      }
+      let list = [];
+      for(let i=0;i<num;i++){
+        let obj = {
+          name:i+1
+        }
+        list.push(obj);
+      }
+      console.log(list)
+      if(list.length>0){
+        this.relayNumList = list;
+      }else{
+        this.relayNumList =[
+          {name:1},
+          {name:2},
+          {name:3},
+          {name:4},
+          {name:5},
+          {name:6},
+          {name:7},
+          {name:8},
+          {name:9},
+          {name:10},
+        ]
+      }
+
+    },
+    //清空按钮
+    loadClear(){
+      this.form.bit = '';
+    },
     // 提交
     submitForm() {
       this.$refs["form"].validate(valid => {
@@ -470,6 +583,7 @@ export default {
     //新增控制设备
     addHardwareTwo(){
       let obj = {
+        name:this.form.name,
         type:this.form.type,
         hardwareType:this.form.hardwareType,
         relayCode:this.form.relayCode,
@@ -479,6 +593,7 @@ export default {
         subjectId:this.subjectData.id,
         deptId:this.subjectData.deptId,
         deptName:this.subjectData.deptName,
+        isPcfire:this.form.isPcfire,
       }
       addHardware(obj).then(response => {
         this.msgSuccess(response.msg)
@@ -498,6 +613,8 @@ export default {
         subjectId:this.form.subjectId,
         deptId:this.form.deptId,
         deptName:this.form.deptName,
+        name:this.form.name,
+        isPcfire:this.form.isPcfire,
       }
       putHardware(obj).then(response => {
         this.msgSuccess(response.msg)
@@ -691,15 +808,16 @@ export default {
         });
       }else if(type == 3){
         this.title = '新增控制设备';
-        this.form.hardwareType = 1;
         this.disabledType = false;
         this.$set(this,'form',{
+          name:"",
           type:"",
-          hardwareType:"",
+          hardwareType:1,
           relayCode:"",
           bit:"",
           configName:"",
           configStatus:"",
+          isPcfire:0,
         });
       }else if(type == 4){
         this.title = '新增摄像头';