Prechádzať zdrojové kódy

Merge branch '3.3.4-kdyh' of http://192.168.1.43:3000/git/sass-lab-web into 3.3.4-kdyh

heyang 1 rok pred
rodič
commit
3152efbf98

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

@@ -199,25 +199,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="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-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="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">
@@ -368,6 +403,7 @@ import {
 } from '@/api/laboratory/subject'
 import { getSensorList } from "@/api/laboratory/sensor";
 import { subjectList } from '@/api/gasManage3_0/gasManage'
+import { listRelay } from '@/api/laboratory/relay'
 export default {
   name: "deviceList",
   props:{
@@ -386,7 +422,21 @@ export default {
       listXxp:[],//电子信息牌
       form:{
       },
-      laboratoryOptions:[],
+      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:[
@@ -453,6 +503,7 @@ export default {
   created() {
     this.listBySubjectId();
     this.getSensorList();
+    this.getRelayList();
   },
   mounted(){
 
@@ -485,6 +536,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 => {
@@ -613,6 +725,7 @@ export default {
     //新增控制设备
     addHardwareTwo(){
       let obj = {
+        name:this.form.name,
         type:this.form.type,
         hardwareType:this.form.hardwareType,
         relayCode:this.form.relayCode,
@@ -622,6 +735,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)
@@ -641,6 +755,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)
@@ -871,15 +987,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 = '新增摄像头';

+ 16 - 1
src/views/emergencyManagement/smartLoT/hardware/powerControl.vue

@@ -528,7 +528,22 @@
               }
               list.push(obj);
             }
-            this.relayNumList = 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},
+              ]
+            }
           }
         });
       },

+ 16 - 1
src/views/emergencyManagement/smartLoT/hardware/smartVentilation.vue

@@ -510,7 +510,22 @@
               }
               list.push(obj);
             }
-            this.relayNumList = 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},
+              ]
+            }
           }
         });
       },

+ 3 - 2
src/views/medicUniversity-3_1/chemicalManagement/deviceManagement/smartAlarm/index.vue

@@ -191,7 +191,7 @@
             <el-radio :label="item.value" :key="item.value" v-for="(item,index) in hardwardTypeList">{{item.label}}</el-radio>
           </el-radio-group>
         </el-form-item>
-        <el-form-item label="绑定继电器" prop="relayCode" v-if="form.hardwareType==1">
+        <el-form-item label="绑定继电器" prop="relayCode" v-if="form.hardwareType==1 || form.hardwareType==3">
           <el-select v-model="form.relayCode" placeholder="请选择继电器" clearable style="width:360px;">
             <el-option v-for="relay in relayList"
                        :key="relay.code"
@@ -379,7 +379,8 @@
         ],
         hardwardTypeList:[
           {value:1,label:"老继电器"},
-          {value:2,label:"新继电器"}
+          {value:2,label:"新继电器"},
+          {value:3,label:"泥人继电器"}
         ]
       };
     },

+ 115 - 14
src/views/oneKeyOutfire/planExecuteRecord/planExecuteRecordDetail.vue

@@ -42,22 +42,42 @@
       <div class="addPage_b_b">
         <div class="small_title">风险轨迹</div>
         <div class="addPage_b_b_b">
-          <div class="time-box">
-            <ul>
-              <li :class="(item.riskStatus==1||item.riskStatus==2)?'risk_trend':'hardware'" v-for="(item,index2) in planAxis" :key="index2">
-                <p v-if="(index2 !=0 && index2 !=planAxis.length-1)" :class="(item.riskStatus==1||item.riskStatus==2)?'dot':'dot_tow'"></p>
+          <div class="new-time-box">
+            <div class="for-planAxis" v-for="(item,index) in planAxis">
+              <div class="for-planAxis-min-box">
+                <div class="for-planAxis-top-box">
+                  <p v-if="(item.riskStatus==1||item.riskStatus==2)">{{index == 0?item.riskPlanName+'('+item.riskPlanLevelName+')':item.riskPlanName}}</p>
+                  <p v-if="(item.riskStatus==1||item.riskStatus==2)">{{item.sensorJsonName}}:<span>{{item.sensorJsonValue}}</span></p>
+                  <p v-if="(item.riskStatus==1||item.riskStatus==2)">时间:{{item.createTime}}</p>
+                </div>
+                <div class="for-planAxis-center-box">
+                  <p :class="index == 0 || index == planAxis.length-1?'dot-p-A':'dot-p-B'"></p>
+                  <p class="line-p" v-if="index != planAxis.length-1"></p>
+                </div>
+                <div class="for-planAxis-bottom-box">
+                  <p v-if="(item.riskStatus!=1&& item.riskStatus!=2)">{{item.riskPlanName}}</p>
+                  <p v-if="(item.riskStatus!=1&& item.riskStatus!=2)">{{item.sensorJsonName}}:<span>{{item.sensorJsonValue}}</span></p>
+                  <p v-if="(item.riskStatus!=1&& item.riskStatus!=2)">时间:{{item.createTime}}</p>
+                </div>
+              </div>
+            </div>
+          </div>
+          <!--<div class="time-box">-->
+            <!--<ul>-->
+              <!--<li :class="(item.riskStatus==1||item.riskStatus==2)?'risk_trend':'hardware'" v-for="(item,index2) in planAxis" :key="index2">-->
+                <!--<p v-if="(index2 !=0 && index2 !=planAxis.length-1)" :class="(item.riskStatus==1||item.riskStatus==2)?'dot':'dot_tow'"></p>-->
 
-                <p v-if="(item.riskStatus==1||item.riskStatus==2) && item.riskPlanName !='风险解除'"> {{item.riskPlanName}} ({{item.riskPlanLevelName}})</p>
-                <p v-if="(item.riskStatus==1||item.riskStatus==2) && item.riskPlanName =='风险解除'"> {{item.riskPlanName}}</p>
+                <!--<p v-if="(item.riskStatus==1||item.riskStatus==2) && item.riskPlanName !='风险解除'"> {{item.riskPlanName}} ({{item.riskPlanLevelName}})</p>-->
+                <!--<p v-if="(item.riskStatus==1||item.riskStatus==2) && item.riskPlanName =='风险解除'"> {{item.riskPlanName}}</p>-->
 
-                <p v-if="(item.riskStatus!=1&& item.riskStatus!=2)">{{item.riskPlanName}}</p>
-                <p class="sensor_val">{{item.sensorJsonName}}:<i class="color: #FF3131;">{{item.sensorJsonValue}}</i></p>
-                <p class="sensor_timer">时间:<i>{{item.createTime}}</i></p>
+                <!--<p v-if="(item.riskStatus!=1&& item.riskStatus!=2)">{{item.riskPlanName}}</p>-->
+                <!--<p class="sensor_val">{{item.sensorJsonName}}:<i class="color: #FF3131;">{{item.sensorJsonValue}}</i></p>-->
+                <!--<p class="sensor_timer">时间:<i>{{item.createTime}}</i></p>-->
 
-                <p v-if="index2 !=planAxis.length-1" :class="(item.riskStatus==1||item.riskStatus==2)?'ledgement':'ledgement_tow'"></p>
-              </li>
-            </ul>
-          </div>
+                <!--<p v-if="index2 !=planAxis.length-1" :class="(item.riskStatus==1||item.riskStatus==2)?'ledgement':'ledgement_tow'"></p>-->
+              <!--</li>-->
+            <!--</ul>-->
+          <!--</div>-->
         </div>
       </div>
     </div>
@@ -278,6 +298,88 @@ export default {
     }
     .addPage_b_b{
       margin-top: 84px;
+      .new-time-box{
+        height: 280px;
+        overflow-x: auto;
+        overflow-y: hidden;
+        white-space: nowrap;
+        .for-planAxis{
+          display: inline-block;
+          font-weight:500;
+          overflow: hidden;
+          .for-planAxis-min-box{
+            overflow: hidden;
+            display: flex;
+            flex-direction: column;
+            .for-planAxis-top-box{
+              height:90px;
+              p{
+                margin-left:28px;
+                margin-right:40px;
+                font-size:14px;
+                line-height:30px;
+              }
+              p:nth-child(1){
+                color:#333;
+              }
+              p:nth-child(2){
+                color:#666;
+                span{
+                  color:#FF3131;
+                }
+              }
+              p:nth-child(3){
+                color:#666;
+              }
+            }
+            .for-planAxis-center-box{
+              display: flex;
+              .dot-p-A{
+                width:23px;
+                height:23px;
+                background: #fff;
+                border:2px solid #0183fa;
+                margin:17px;
+                border-radius:50%;
+              }
+              .dot-p-B{
+                width:17px;
+                height:17px;
+                margin:20px;
+                background: #0183fa;
+                border-radius:50%;
+              }
+              .line-p{
+                flex:1;
+                height:1px;
+                margin-top:28px;
+                background: #dedede;
+              }
+            }
+            .for-planAxis-bottom-box{
+              height:90px;
+              p{
+                margin-left:28px;
+                margin-right:40px;
+                font-size:14px;
+                line-height:30px;
+              }
+              p:nth-child(1){
+                color:#333;
+              }
+              p:nth-child(2){
+                color:#666;
+                span{
+                  color:#FF3131;
+                }
+              }
+              p:nth-child(3){
+                color:#666;
+              }
+            }
+          }
+        }
+      }
       .time-box{
         width: 100%;
         overflow-y: auto;
@@ -440,7 +542,6 @@ export default {
         }
 
 
-
       }
     }
   }