瀏覽代碼

Merge branch 'master' of http://113.204.105.114:10011/TwoKe/zhgkpt-datav

liuxing 1 年之前
父節點
當前提交
df0347b314

+ 6 - 0
app/src/api/iot.js

@@ -163,3 +163,9 @@ export function getChartMapData(params) {
     params,
   });
 }
+export function getzhxfSelect() {
+  return request({
+    url: "/system/xz/zhxf/select",
+    method: "get",
+  });
+}

+ 3 - 1
app/src/assets/css/main.css

@@ -133,7 +133,9 @@ html,body {
 .el-date-table th  {
   border-bottom: 1px solid rgba(0, 213, 255, 0.6) !important;
 }
-
+.el-select-dropdown.is-multiple .el-select-dropdown__item.selected {
+  background:   rgba(0, 213, 255, 0.19) !important;
+}
 /* 全局滚动条样式设置 */
 /** 滚动条 */
 ::-webkit-scrollbar,

二進制
app/src/assets/images/fxyj33.png


二進制
app/src/assets/images/fxyjj.png


+ 4 - 6
app/src/views/Home/components/MapChartsCategory.vue

@@ -1,12 +1,10 @@
 <template>
   <div style="position: relative; width: 100%; height: 95%;">
     <div class="map-box" ref="map"></div>
-    <img src="../../../assets/images/dd_wh.png" alt="" @click="getShoeInfo('whFxModal')">
+    <img class="imgs" src="../../../assets/images/dd_wh.png" alt="" @click="getShoeInfo('whFxModal')">
     <basic-modal top="30px" ref="whFxModal" name="区域高层建筑消防安全风险分色判定标准" width="90%">
-      <div style="display: flex; justify-content: center">
-        <!-- <img src="../../assets/images/dd-exp-fx.png" /> -->
-        <div v-html="textInfo"></div>
-      </div>
+        <img src="../../../assets/images/fxyjj.png" />
+        <!-- <div v-html="textInfo"></div> -->
     </basic-modal>
   </div>
   <!-- 风险问号弹窗 -->
@@ -684,7 +682,7 @@ export default {
   height: 632px;
   /* background: blue; */
 }
-img{
+.imgs{
  position: absolute;
  right: 60px;
  bottom: 150px;

+ 123 - 30
app/src/views/Home/components/WisdomFire.vue

@@ -18,18 +18,18 @@
         <div class="build-num" style="background: none; margin-bottom: 10px">
           <div class="build">
             <span
-              >点位总数
-              <span class="num">{{ iotList?.jrsbzs }}</span> 个
+              >点位总数 <span class="num">{{ iotList?.jrsbzs }}</span> 个
             </span>
             <span
-              >在线
-              <span class="online">{{ iotList?.jrsbzxs }}</span>个
+              >在线 <span class="online">{{ iotList?.jrsbzxs }}</span
+              >个
             </span>
             <span
               >告警
               <span class="warning">{{
                 iotList?.jrsbgjgs ? iotList?.jrsbgjgs : 0
-              }}</span>个
+              }}</span
+              >个
             </span>
           </div>
         </div>
@@ -39,8 +39,18 @@
         </div>
         <div class="pressure">
           <!-- 水压 -->
-          <div class="pressure-num" @click="toIot('水压监测')">
-            <div class="pressure-bg" >
+          <div class="pressure-num">
+            <div
+              class="pressure-bg"
+              @click="
+                toIot({
+                  name: '水压监测',
+                  zt: '',
+                  onLineOrder: 1,
+                  isShowOnLineAndAlarm: '',
+                })
+              "
+            >
               {{ frieList.syzs ? frieList.syzs : 0
               }}<span style="margin-right: 1px"
                 ><span style="margin-right: 1px">/</span></span
@@ -49,11 +59,21 @@
               <div style="font-size: 12px; margin-top: 5px">(个/栋)</div>
             </div>
 
-            <ul class="pressure-list" >
+            <ul class="pressure-list">
               <li style="font-size: 12px; margin: 6px 0 0 10px">
                 {{ listNum[0] }}
               </li>
-              <li class="pressure-line">
+              <li
+                class="pressure-line"
+                @click="
+                  toIot({
+                    name: '水压监测',
+                    zt: '在线',
+                    onLineOrder: '',
+                    isShowOnLineAndAlarm: '',
+                  })
+                "
+              >
                 <!-- 在线 -->
                 <span class="onlines on-line"></span>
                 <!-- <img
@@ -68,7 +88,17 @@
                   <span class="unit" style="font-size: 12px">(个/栋)</span>
                 </span>
               </li>
-              <li class="pressure-line" >
+              <li
+                class="pressure-line"
+                @click="
+                  toIot({
+                    name: '水压监测',
+                    zt: '',
+                    onLineOrder: 1,
+                    isShowOnLineAndAlarm: 1,
+                  })
+                "
+              >
                 <!-- 离线 -->
                 <span class="offlines on-line"></span>
                 <!-- <img
@@ -87,7 +117,17 @@
             </ul>
           </div>
           <!--点气火灾  -->
-          <div class="pressure-num" @click="toIot('电气火灾监测')">
+          <div
+            class="pressure-num"
+            @click="
+              toIot({
+                name: '电气火灾监测',
+                zt: '',
+                onLineOrder: 1,
+                isShowOnLineAndAlarm: '',
+              })
+            "
+          >
             <div class="pressure-bg">
               {{ frieList.dqhzzs ? frieList.dqhzzs : 0
               }}<span style="margin-right: 1px">/</span>
@@ -99,7 +139,17 @@
               <li style="font-size: 12px; margin: 6px 0 0 10px">
                 {{ listNum[1] }}
               </li>
-              <li class="pressure-line">
+              <li
+                class="pressure-line"
+                @click="
+                  toIot({
+                    name: '电气火灾监测',
+                    zt: '在线',
+                    onLineOrder: '',
+                    isShowOnLineAndAlarm: '',
+                  })
+                "
+              >
                 <!-- 在线 -->
                 <span class="onlines on-line"></span>
                 <!-- <img
@@ -114,7 +164,17 @@
                   <span class="unit" style="font-size: 12px">(个/栋)</span>
                 </span>
               </li>
-              <li class="pressure-line">
+              <li
+                class="pressure-line"
+                @click="
+                  toIot({
+                    name: '电气火灾监测',
+                    zt: '',
+                    onLineOrder: 1,
+                    isShowOnLineAndAlarm: 1,
+                  })
+                "
+              >
                 <!-- 离线 -->
                 <span class="offlines on-line"></span>
                 <!-- <img
@@ -133,7 +193,17 @@
             </ul>
           </div>
           <!-- 生命通道 -->
-          <div class="pressure-num" @click="toIot('生命通道监测')">
+          <div
+            class="pressure-num"
+            @click="
+              toIot({
+                name: '生命通道监测',
+                zt: '',
+                onLineOrder: 1,
+                isShowOnLineAndAlarm: '',
+              })
+            "
+          >
             <div class="pressure-bg">
               {{ frieList.smtdzs ? frieList.smtdzs : 0
               }}<span style="margin-right: 1px"></span>
@@ -145,7 +215,17 @@
               <li style="font-size: 12px; margin: 6px 0 0 10px">
                 {{ listNum[2] }}
               </li>
-              <li class="pressure-line">
+              <li
+                class="pressure-line"
+                @click="
+                  toIot({
+                    name: '生命通道监测',
+                    zt: '在线',
+                    onLineOrder: '',
+                    isShowOnLineAndAlarm: '',
+                  })
+                "
+              >
                 <!-- 在线 -->
                 <span class="onlines on-line"></span>
                 <!-- <img
@@ -154,13 +234,23 @@
                   alt=""
                 /> -->
                 <span class="bumer" style="font-size: 16px; margin-left: 2px"
-                  >{{ frieList.smtdzxs?frieList.smtdzxs : 0}}
+                  >{{ frieList.smtdzxs ? frieList.smtdzxs : 0 }}
                   <!-- <span style="margin-right: 1px">/</span> -->
                   <!-- <span>{{ frieList.smtdzxlds ? frieList.smtdzxlds : 0 }}</span> -->
                   <span class="unit" style="font-size: 12px">(个)</span>
                 </span>
               </li>
-              <li class="pressure-line">
+              <li
+                class="pressure-line"
+                @click="
+                  toIot({
+                    name: '生命通道监测',
+                    zt: '',
+                    onLineOrder: 1,
+                    isShowOnLineAndAlarm: 1,
+                  })
+                "
+              >
                 <!-- 离线 -->
                 <span class="offlines on-line"></span>
                 <!-- <img
@@ -188,31 +278,30 @@
 </template>
 
 <script>
-import fxfbCont from '../../Iot/components/fxfbCont.vue';
+import fxfbCont from "../../Iot/components/fxfbCont.vue";
 export default {
   props: {
     frieList: Object,
     iotList: Object,
-    qy:String
+    qy: String,
   },
-components:{fxfbCont},
+  components: { fxfbCont },
   data() {
     return {
       listNum: ["水压监测点位", "电气火灾监测点位", "生命通道监测点位"],
-      sbType:''
+      sbType: {},
     };
   },
-  mounted() {
-  },
-  methods:{
+  mounted() {},
+  methods: {
     openFrieModal1() {
       this.showModal("feirModal1");
     },
-    toIot(val){
-      this.sbType=val
-      this.showModal('feirModal1')
-    }
-  }
+    toIot(val) {
+      this.sbType = val;
+      this.showModal("feirModal1");
+    },
+  },
 };
 </script>
 
@@ -226,7 +315,11 @@ components:{fxfbCont},
 .build-num {
   width: 100%;
   height: 42px;
-  background: linear-gradient(180deg,  rgba(5,134,253, .18) 0%, rgba(0, 224, 255, .5) 100%);
+  background: linear-gradient(
+    180deg,
+    rgba(5, 134, 253, 0.18) 0%,
+    rgba(0, 224, 255, 0.5) 100%
+  );
   border-radius: 5px;
 }
 .build {

+ 4 - 4
app/src/views/Home/index.vue

@@ -80,8 +80,8 @@
       <!-- 风险问号弹窗 -->
       <basic-modal top="30px" ref="whFxModal" name="高层建筑消防安全风险分级分色判定标准" width="90%">
       <div style="display: flex; flex-direction: column; justify-content: center">
-        <img class="imgs" src="../../assets/images/qxs.png" />
-        <div v-html="textInfo"></div>
+        <img class="imgs" src="../../assets/images/fxyj33.png" />
+        <!-- <div v-html="textInfo"></div> -->
       </div>
     </basic-modal>
   </div>
@@ -797,7 +797,7 @@ export default {
 }
 .imgs{
   display: inline-block;
-  width: 100%;
-  height: 700px;
+  /* width: 100%;
+  height: 700px; */
 }
 </style>

+ 64 - 45
app/src/views/Iot/components/fxfbCont.vue

@@ -1,6 +1,6 @@
 <script>
 import { getGcjztjUnit } from "@/api/index.js";
-import { getZhxf } from "@/api/iot.js";
+import { getZhxf,getzhxfSelect } from "@/api/iot.js";
 import { area } from "@/api/area";
 import punishmentMixin from "@/mixin/unit.js";
 export default {
@@ -46,38 +46,38 @@ export default {
       ],
       // 告警状态
       DeviceStatusList: [
-        {
-          value: "消音,手动报警,查岗应答",
-          label: "消音,手动报警,查岗应答",
-        },
-        {
-          value: "压力下线报警,电源正常,无故障",
-          label: "压力下线报警,电源正常,无故障",
-        },
-        {
-          value: "压力上线报警",
-          label: "压力上线报警",
-        },
-        {
-          value: "火警",
-          label: "火警",
-        },
-        {
-          value: "停车侦测",
-          label: "停车侦测",
-        },
-        {
-          value: "人员离岗",
-          label: "人员离岗",
-        },
-        {
-          value: "机动车违停",
-          label: "机动车违停",
-        },
-        {
-          value: "区域内人数报警",
-          label: "区域内人数报警",
-        },
+        // {
+        //   value: "消音,手动报警,查岗应答",
+        //   label: "消音,手动报警,查岗应答",
+        // },
+        // {
+        //   value: "压力下线报警,电源正常,无故障",
+        //   label: "压力下线报警,电源正常,无故障",
+        // },
+        // {
+        //   value: "压力上线报警",
+        //   label: "压力上线报警",
+        // },
+        // {
+        //   value: "火警",
+        //   label: "火警",
+        // },
+        // {
+        //   value: "停车侦测",
+        //   label: "停车侦测",
+        // },
+        // {
+        //   value: "人员离岗",
+        //   label: "人员离岗",
+        // },
+        // {
+        //   value: "机动车违停",
+        //   label: "机动车违停",
+        // },
+        // {
+        //   value: "区域内人数报警",
+        //   label: "区域内人数报警",
+        // },
       ],
       fxdjList: [],
       tableData: [],
@@ -95,12 +95,11 @@ export default {
   },
   props: {
     qy: String,
-    sbType: String,
+    sbType: Object,
   },
   watch: {
     qy: {
       handler(val) {
-        console.log('0000000',val);
         this.value = val;
         this.funUnitList();
         this.handUnitList();
@@ -110,7 +109,23 @@ export default {
     },
     sbType: {
       handler(val) {
-        this.sblx = val;
+        this.sblx=val.name,
+        this.params.onLineOrder=val.onLineOrder
+        this.params.isShowOnLineAndAlarm=val.isShowOnLineAndAlarm
+        this.gjzt=val.zt
+        // console.log('-----传参',obj);
+        // if(obj.name){
+        //   this.sblx = obj.name;
+        //   this.gjzt=''
+        //   this.params.onLineOrder=1
+        // }
+        // if(obj.zt){
+        //   this.gjzt=obj.zt
+        // }
+        // if(obj.ywzt){
+        //   this.params.onLineOrder=1
+        //   this.params.isShowOnLineAndAlarm=1
+        // }
         this.funUnitList();
         this.handUnitList();
       },
@@ -128,7 +143,7 @@ export default {
         gcjzmc: this.search,
         zt: this.gjzt, //设备状态
         sblx: this.sblx,
-        ywzt: this.ywzt, //告警状态
+        ywzt: this.ywzt?.join("@"), //告警状态
         ...this.params,
       }).then((res) => {
         this.tableData = res.data.rows;
@@ -151,12 +166,19 @@ export default {
         const list = res.data.rows[0];
       });
     },
+    // 告警类型
+    fnGjType(){
+      getzhxfSelect().then(res=>{
+        this.DeviceStatusList=res.data.data
+      })
+    },
     resetForm() {
       this.value = "";
       this.search = "";
       this.zjjc = "";
-      this.gjzt=''
+      this.gjzt = "";
       this.sblx = "";
+      this.ywzt = null;
       (this.params = {
         pageSize: 10,
         pageNum: 1,
@@ -164,9 +186,6 @@ export default {
         (this.params.jcj = "");
       this.funUnitList();
     },
-    changeSlet(node) {
-      console.log("-------状态", node);
-    },
   },
   created() {
     this.funUnitList();
@@ -177,6 +196,7 @@ export default {
     }).then((res) => {
       this.options = res.data.rows;
     });
+    this.fnGjType()
   },
 };
 </script>
@@ -198,7 +218,7 @@ export default {
           </el-select>
         </div>
         <div class="inp">
-          <el-input v-model="search" placeholder="请输入建筑名称" ></el-input>
+          <el-input v-model="search" placeholder="请输入建筑名称"></el-input>
         </div>
         <div>
           <el-select v-model="sblx" placeholder="火灾报警主机检测" filterable>
@@ -228,12 +248,11 @@ export default {
             placeholder="告警状态"
             multiple
             filterable
-            @change="changeSlet"
             style="height: 30px"
           >
             <el-option
-              :value="item.value"
-              :label="item.lable"
+              :value="item.warning_type"
+              :label="item.warning_type"
               v-for="(item, index) in DeviceStatusList"
               :key="index"
             >