Pārlūkot izejas kodu

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

liuxing 1 gadu atpakaļ
vecāks
revīzija
15846e3efa
28 mainītis faili ar 1158 papildinājumiem un 775 dzēšanām
  1. 24 0
      app/src/api/h5.js
  2. 63 5
      app/src/assets/css/main.css
  3. BIN
      app/src/assets/images/jt.png
  4. 1 0
      app/src/views/Basic/components/ChronologicDistributionStatistics.vue
  5. 1 0
      app/src/views/Basic/components/HeightDistribution.vue
  6. 3 3
      app/src/views/Basic/components/Regional.vue
  7. 203 164
      app/src/views/Basic/index.vue
  8. 1 5
      app/src/views/Detail/components/YhModalContent.vue
  9. 1 1
      app/src/views/Fire/components/Construction.vue
  10. 1 1
      app/src/views/FireCondition/components/FireDistribution.vue
  11. 9 9
      app/src/views/FireCondition/components/FireIndex/index.vue
  12. 1 1
      app/src/views/FireCondition/components/hzfxCont.vue
  13. 276 20
      app/src/views/H5/index.vue
  14. 0 31
      app/src/views/Home/components/AlarmingSituationDynamics/AlaemList.vue
  15. 9 9
      app/src/views/Home/components/FireIndex/index.vue
  16. 8 8
      app/src/views/Home/components/MapCharts.vue
  17. 1 1
      app/src/views/Home/components/MapChartsCategory.vue
  18. 2 2
      app/src/views/Home/components/WisdomFire.vue
  19. 8 3
      app/src/views/Home/index.vue
  20. 10 2
      app/src/views/Iot/components/AlarmHandling.vue
  21. 4 1
      app/src/views/PoliceSituation/components/MobilizeStrength.vue
  22. 56 24
      app/src/views/PoliceSituation/components/UnitInfo.vue
  23. 239 215
      app/src/views/PoliceSituation/components/UnitInformation.vue
  24. 220 262
      app/src/views/PoliceSituation/index.vue
  25. 2 2
      app/src/views/Risk/components/Investigation.vue
  26. 2 2
      app/src/views/Risk/components/RiskDanger.vue
  27. 5 1
      app/src/views/Risk/components/Riskdistribution.vue
  28. 8 3
      app/src/views/Risk/index.vue

+ 24 - 0
app/src/api/h5.js

@@ -23,4 +23,28 @@ export function getGcjzjcxx(params) {
 		methods: 'get',
 		params
 	})
+}
+// 主要风险点
+export function getFxdj(params) {
+  return request({
+    url: "/system/zl/jcxxList/zyfxd",
+    methods: "get",
+    params
+  });
+}
+// 维保情况
+export function getWbqk(params) {
+  return request({
+    url: "/system/wbxx/list",
+    method: "get",
+    params,
+  });
+}
+// 生成二维码
+export function getQrcode(params) {
+  return request({
+    url: "/system/api/qrcode",
+    methods: "get",
+    params
+  });
 }

+ 63 - 5
app/src/assets/css/main.css

@@ -85,20 +85,20 @@ html,body {
   background-color: rgba(0,213,255, 0.3) !important;
 }
 
-.el-time-range-picker {
-  background-color: #4167a0;
+.el-time-range-picker,.el-date-range-picker{
+  background-color: rgba(0, 25, 55, 0.8);
   color: #fff;
 }
 
-.el-time-spinner__item.active:not(.disabled) {
-  color: #2f7df2;
+.el-time-spinner__item.active:not(.disabled),.el-time-panel__btn.confirm  {
+  color: rgba(0, 213, 255, 0.8);
 }
 
 .el-time-spinner__item  {
   color: #fff;
 }
 .el-time-spinner__item:hover:not(.disabled):not(.active) {
-  background:  #2f7df2;
+  background:  rgba(0, 213, 255, 0.19);
 }
 .el-time-panel__btn {
   color: #fff;
@@ -109,3 +109,61 @@ html,body {
 .el-date-editor .el-range-separator {
   margin-bottom: 5px;
 }
+.el-time-range-picker.el-picker-panel.el-popper,.el-time-range-picker__body {
+  border: 1px solid rgba(0, 213, 255, 0.6) !important;
+}
+.el-time-range-picker .el-time-panel__footer {
+  border-top: 1px solid rgba(0, 213, 255, 0.6) !important;
+}
+.el-time-range-picker__body.el-time-panel__content::after, .el-time-panel__content.el-time-panel__content::before {
+  border-top: 0px solid rgba(0, 213, 255, 0.6) !important;
+  border-bottom: 0px solid rgba(0, 213, 255, 0.6) !important;
+}
+/* 日期下拉框 */
+
+.el-date-range-picker__content.is-left {
+  border-right: 1px solid rgba(0, 213, 255, 0.6) !important;
+}
+.el-picker-panel {
+  border: 1px solid rgba(0, 213, 255, 0.6) !important;
+}
+.el-picker-panel__content .el-picker-panel__icon-btn  {
+  color: rgba(0, 213, 255, 0.6);
+}
+.el-date-table th  {
+  border-bottom: 1px solid rgba(0, 213, 255, 0.6) !important;
+}
+
+/* 全局滚动条样式设置 */
+/** 滚动条 */
+::-webkit-scrollbar,
+::-webkit-scrollbar,
+::-webkit-scrollbar,
+::-webkit-scrollbar {
+  /*滚动条整体样式*/
+  width: 8px;
+  /*高宽分别对应横竖滚动条的尺寸*/
+  height: 8px;
+}
+
+::-webkit-scrollbar-thumb,
+::-webkit-scrollbar-thumb,
+::-webkit-scrollbar-thumb,
+::-webkit-scrollbar-thumb {
+  /*滚动条里面小方块*/
+  border-radius: 4px;
+  /* box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2); */
+  background: rgba(0, 213, 255, 0.73);
+  opacity: 0.7;
+}
+
+::-webkit-scrollbar-track,
+::-webkit-scrollbar-track,
+::-webkit-scrollbar-track,
+::-webkit-scrollbar-track {
+  /*滚动条里面轨道*/
+  /* box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2); */
+  border-radius: 3px;
+  background: rgba(0, 213, 255, 0.3);
+  opacity: 0.7;
+}

BIN
app/src/assets/images/jt.png


+ 1 - 0
app/src/views/Basic/components/ChronologicDistributionStatistics.vue

@@ -58,6 +58,7 @@ export default {
               value[0].data[1]
             }</span> 栋<span>`;
           },
+          confine: true,
           extraCssText: "z-index: 1000;",
           backgroundColor: "#02809a",
           borderColor: "rgba(0,213,255, .6)",

+ 1 - 0
app/src/views/Basic/components/HeightDistribution.vue

@@ -62,6 +62,7 @@ export default {
             // 坐标轴指示器,坐标轴触发有效
             type: "shadow", // 默认为直线,可选为:'line' | 'shadow'
           },
+          confine: true,
           extraCssText: "z-index: 1000;",
           backgroundColor: "#02809a",
           borderColor: "rgba(0,213,255, .6)",

+ 3 - 3
app/src/views/Basic/components/Regional.vue

@@ -5,7 +5,7 @@
       <span class="count">区域</span>
       <span class="time">总数(栋)</span>
       <span class="unit">有物联网(栋)</span>
-      <span class="is_notice">占比%</span>
+      <span class="is_notice">占比</span>
     </div>
     <VueSeamlessScroll v-if="reload" :class-option="classOption" :data="dataList" class="warp">
       <ul class="item">
@@ -15,8 +15,8 @@
           <span class="type">{{ index + 1 }}</span>
           <span class="count">{{ item.qx }}</span>
           <span class="time">{{ item.zs }}</span>
-          <span class="unit">{{ item.jswlwsl || "-" }}</span>
-          <span class="is_notice">{{ item.zb || "-" }}</span>
+          <span class="unit">{{ item.jswlwsl || "0" }}(栋)</span>
+          <span class="is_notice">{{ item.zb || "0" }}%</span>
         </li>
       </ul>
     </VueSeamlessScroll>

+ 203 - 164
app/src/views/Basic/index.vue

@@ -1,177 +1,216 @@
 <template>
-	<div style="padding: 0px 35px; display: flex; justify-content: space-between; cursor: pointer;">
-		<div>
-			<border-panel height="310px" style="margin-bottom: 6px" title="高层建筑统计" @click="openBasicModal(1)">
-				<BuildNum :list="gcjztjList" :qy="qy" v-if="gcjztjList && gcjztjList.length > 0" />
-			</border-panel>
-			<border-panel height="320px" style="margin-bottom: 6px" title="年代分布统计" @click="openBasicModal(2)">
-				<ChronologicDistributionStatistics :list="NdfbtjList" v-if="NdfbtjList && NdfbtjList.length > 0" />
-			</border-panel>
-			<border-panel height="310px" title="高度分布统计" @click="openBasicModal(3)">
-				<HeightDistribution :list="gdfbtjList" v-if="gdfbtjList && gdfbtjList.length > 0" />
-			</border-panel>
-		</div>
-		<div>
-			<div style="
+  <div
+    style="
+      padding: 0px 35px;
+      display: flex;
+      justify-content: space-between;
+      cursor: pointer;
+    "
+  >
+    <div>
+      <border-panel
+        height="310px"
+        style="margin-bottom: 6px"
+        title="高层建筑统计"
+        @click="openBasicModal(1)"
+      >
+        <BuildNum
+          :list="gcjztjList"
+          :qy="qy"
+          v-if="gcjztjList && gcjztjList.length > 0"
+        />
+      </border-panel>
+      <border-panel
+        height="320px"
+        style="margin-bottom: 6px"
+        title="年代分布统计"
+        @click="openBasicModal(2)"
+      >
+        <ChronologicDistributionStatistics
+          :list="NdfbtjList"
+          v-if="NdfbtjList && NdfbtjList.length > 0"
+        />
+      </border-panel>
+      <border-panel
+        height="310px"
+        title="高度分布统计"
+        @click="openBasicModal(3)"
+      >
+        <HeightDistribution
+          :list="gdfbtjList"
+          v-if="gdfbtjList && gdfbtjList.length > 0"
+        />
+      </border-panel>
+    </div>
+    <div>
+      <div
+        style="
           width: 900px;
           height: 1000px;
           position: relative;
           display: flex;
           padding-top: 150px;
-        ">
-				<MapCharts :formatter="showLabel" 
-				:mapHeatData="heatMap"
-				:qx="qy" @selectArea="area => qy = area" />
-				<div style="position: absolute; width: 500px; top: 10px; left: -20px">
-					<SearchBox :area.sync="qy" />
-				</div>
-			</div>
-		</div>
-		<div>
-			<border-panel height="521px" style="margin-bottom: 6px" title="区域分布">
-				<Regional :list="qyfbList" :qx="qy" v-if="qyfbList && qyfbList.length > 0" />
-			</border-panel>
-			<border-panel height="421px" style="margin-bottom: 6px" title="建筑统计">
-				<BuildingStatistics :list="jztjList" v-if="jztjList && jztjList.length > 0" />
-			</border-panel>
-		</div>
-		<basic-modal top="120px" ref="basicInfoModal" name="高层基础信息">
-			<jcxxCont :qy="qy" :flagVal="flagVal" />
-		</basic-modal>
-		
-	</div>
+        "
+      >
+        <MapCharts
+          :formatter="showLabel"
+          :mapHeatData="heatMap"
+          :qx="qy"
+          @selectArea="(area) => (qy = area)"
+        />
+        <div style="position: absolute; width: 500px; top: 10px; left: -20px">
+          <SearchBox :area.sync="qy" />
+        </div>
+      </div>
+    </div>
+    <div>
+      <border-panel height="521px" style="margin-bottom: 6px" title="区域分布">
+        <Regional
+          :list="qyfbList"
+          :qx="qy"
+          v-if="qyfbList && qyfbList.length > 0"
+        />
+      </border-panel>
+      <border-panel height="421px" style="margin-bottom: 6px" title="建筑统计">
+        <BuildingStatistics
+          :list="jztjList"
+          v-if="jztjList && jztjList.length > 0"
+        />
+      </border-panel>
+    </div>
+    <basic-modal top="120px" ref="basicInfoModal" name="高层基础信息">
+      <jcxxCont :qy="qy" :flagVal="flagVal" />
+    </basic-modal>
+  </div>
 </template>
 <script>
-	import BuildNum from "./components/BuildNum.vue";
-	import Regional from "./components/Regional.vue";
-	import BuildingStatistics from "./components/BuildingStatistics.vue";
-	import HeightDistribution from "./components/HeightDistribution.vue";
-	import ChronologicDistributionStatistics from "./components/ChronologicDistributionStatistics.vue";
-	import MapCharts from "../Home/components/MapCharts.vue";
-	import SearchBox from "@/components/SearchBox.vue";
-	import jcxxCont from "./components/jcxxCont.vue";
+import BuildNum from "./components/BuildNum.vue";
+import Regional from "./components/Regional.vue";
+import BuildingStatistics from "./components/BuildingStatistics.vue";
+import HeightDistribution from "./components/HeightDistribution.vue";
+import ChronologicDistributionStatistics from "./components/ChronologicDistributionStatistics.vue";
+import MapCharts from "../Home/components/MapCharts.vue";
+import SearchBox from "@/components/SearchBox.vue";
+import jcxxCont from "./components/jcxxCont.vue";
 
-	import {
-		toFirst,
-		formatCityData,
-    createMapChartWindowInfo
-	} from '../../utils'
-	import {
-		getJztj,
-		getQyfbList,
-		getNdfbtj,
-		getGcjztj,
-		getGdfbtj,
-	} from "@/api/basicInfor.js";
-	export default {
-		name: "BasicPage",
-		components: {
-			BuildNum,
-			Regional,
-			BuildingStatistics,
-			HeightDistribution,
-			ChronologicDistributionStatistics,
-			MapCharts,
-			SearchBox,
-			jcxxCont,
-		
-		},
-		data() {
-			return {
-				qy: "重庆市",
-				params: {
-					pageSize: 100,
-					pageNum: 1,
-				},
-				jztjList: [],
-				qyfbList: [],
-				NdfbtjList: [],
-				gcjztjList: [],
-				gdfbtjList: [],
-				heatMap: [],
-				flagVal:1
-			};
-		},
-		watch: {
-			qy() {
-				this.getList();
-			},
-		},
-		methods: {
-			showLabel(params) {
-				return createMapChartWindowInfo({
-					title: params.name
-				}, () => `高层建筑数 <span style="font-size: 24px;color:red;font-weight:bold;">${params.value}</span>栋`);
+import { toFirst, formatCityData, createMapChartWindowInfo } from "../../utils";
+import {
+  getJztj,
+  getQyfbList,
+  getNdfbtj,
+  getGcjztj,
+  getGdfbtj,
+} from "@/api/basicInfor.js";
+export default {
+  name: "BasicPage",
+  components: {
+    BuildNum,
+    Regional,
+    BuildingStatistics,
+    HeightDistribution,
+    ChronologicDistributionStatistics,
+    MapCharts,
+    SearchBox,
+    jcxxCont,
+  },
+  data() {
+    return {
+      qy: "重庆市",
+      params: {
+        pageSize: 100,
+        pageNum: 1,
       },
-			openBasicModal(val) {
-				this.flagVal=val
-				this.showModal("basicInfoModal");
-			},
-			getList() {
-				getJztj({
-					...this.params,
-					qx: this.qy === "重庆市" ? "" : this.qy
-				}).then(
-					(res) => {
-						this.jztjList = res.data.rows;
-					}
-				);
-				getQyfbList({
-					...this.params,
-				}).then((res) => {
-					const data = res.data.rows.map(item => ({
-						...item,
-						isActive: item.qx === this.qy
-					}));
-					this.qyfbList = toFirst(data, this.qy, 'qx')
-				});
-				getNdfbtj({
-					...this.params,
-					qx: this.qy === "重庆市" ? "" : this.qy,
-				}).then((res) => {
-					this.NdfbtjList = res.data.rows;
-				});
-				getGcjztj({
-					...this.params,
-					qx: this.qy === "重庆市" ? "" : this.qy,
-				}).then((res) => {
-					let lists=res.data.rows
-					if(lists.length>0){
-						const temp = {
-							jzdx:'高层建筑总数',
-								qx: this.qy,
-							sl: lists.reduce((a,b) => a + b.sl, 0)
-						}
-						lists.unshift(temp)
-					}
-					this.gcjztjList = lists
-
-				});
-				getGdfbtj({
-					...this.params,
-					pageSize: 1000,
-					qx: this.qy === "重庆市" ? "" : this.qy,
-				}).then((res) => {
-					this.gdfbtjList = res.data.rows;
-				});
-				getQyfbList({
-					pageSize: 1000,
-					pageNum: 1
-				}).then((res) => {
-					let lists=res.data.rows
-					this.heatMap = formatCityData(lists.map(item => ({
-						name: item.qx,
-						value: item.zs
-					})))
-					console.log(res.data.rows ,this.heatMap)
-				});
-			},
-		
-		},
-		created() {
-			this.getList();
-		},
-	};
+      jztjList: [],
+      qyfbList: [],
+      NdfbtjList: [],
+      gcjztjList: [],
+      gdfbtjList: [],
+      heatMap: [],
+      flagVal: 1,
+    };
+  },
+  watch: {
+    qy() {
+      this.getList();
+    },
+  },
+  methods: {
+    showLabel(params) {
+      return createMapChartWindowInfo(
+        {
+          title: params.name,
+        },
+        () =>
+          `高层建筑数 <span style="font-size: 24px;color:red;font-weight:bold;">${params.value}</span>栋`
+      );
+    },
+    openBasicModal(val) {
+      this.flagVal = val;
+      this.showModal("basicInfoModal");
+    },
+    getList() {
+      getJztj({
+        ...this.params,
+        qx: this.qy === "重庆市" ? "" : this.qy,
+      }).then((res) => {
+        this.jztjList = res.data.rows;
+      });
+      getQyfbList({
+        ...this.params,
+      }).then((res) => {
+        const data = res.data.rows.map((item) => ({
+          ...item,
+          isActive: item.qx === this.qy,
+        }));
+        this.qyfbList = toFirst(data, this.qy, "qx");
+      });
+      getNdfbtj({
+        ...this.params,
+        qx: this.qy === "重庆市" ? "" : this.qy,
+      }).then((res) => {
+        this.NdfbtjList = res.data.rows;
+      });
+      getGcjztj({
+        ...this.params,
+        qx: this.qy === "重庆市" ? "" : this.qy,
+      }).then((res) => {
+        let lists = res.data.rows;
+        if (lists.length > 0) {
+          const temp = {
+            jzdx: "高层建筑总数",
+            qx: this.qy,
+            sl: lists.reduce((a, b) => a + b.sl, 0),
+          };
+          lists.unshift(temp);
+        }
+        this.gcjztjList = lists;
+      });
+      getGdfbtj({
+        ...this.params,
+        pageSize: 1000,
+        qx: this.qy === "重庆市" ? "" : this.qy,
+      }).then((res) => {
+        this.gdfbtjList = res.data.rows;
+      });
+      getQyfbList({
+        pageSize: 1000,
+        pageNum: 1,
+      }).then((res) => {
+        let lists = res.data.rows;
+        this.heatMap = formatCityData(
+          lists.map((item) => ({
+            name: item.qx,
+            value: item.zs,
+          }))
+        );
+        console.log(res.data.rows, this.heatMap);
+      });
+    },
+  },
+  created() {
+    this.getList();
+  },
+};
 </script>
 
 <style scoped lang="less"></style>

+ 1 - 5
app/src/views/Detail/components/YhModalContent.vue

@@ -107,7 +107,6 @@ export default {
       if (this.params.zgjd) {
         params.yhjd = this.params.zgjd.join(",");
       }
-      console.log(this.params);
       if (this.params.zgsxStr) {
         // 计算
         let endTime = null;
@@ -138,7 +137,7 @@ export default {
         params.gcjzmc = null;
       }
       if (this.params.qx) {
-        params.qx = this.params.qx;
+        params.qx = this.params.qx=='重庆市'?'':this.params.qx;
       } else {
         params.qx = null;
       }
@@ -154,9 +153,6 @@ export default {
 
       params.pageNum = this.params.pageNum;
       params.pageSize = this.params.pageSize;
-
-      console.log(this.params);
-      console.log(params);
       ylycyhzzqdTc(params).then((res) => {
         this.tableData = res.data.rows;
         this.total = res.data.total;

+ 1 - 1
app/src/views/Fire/components/Construction.vue

@@ -32,7 +32,7 @@
 			<div class="unit-num" v-for="(item,index) in wbxsList" :key="index">
 				<div>
 					<LinearText style="display: inline-block" :text="item.sl" fontSize="28px"></LinearText>
-					<span></span>
+					<span></span>
 				</div>
 				<div>{{ item.wbxs }}</div>
 			</div>

+ 1 - 1
app/src/views/FireCondition/components/FireDistribution.vue

@@ -99,7 +99,7 @@ export default {
       if (tq === 0) {
         return "—";
       }
-      return `${parseInt((Math.abs(bn - tq) / tq).toFixed(2) * 100)}%`;
+      return `${Math.ceil((Math.abs(bn - tq) / tq).toFixed(4) * 100)}%`;
     },
     getIcon(bn, tq) {
       if (tq === 0) {

+ 9 - 9
app/src/views/FireCondition/components/FireIndex/index.vue

@@ -257,10 +257,10 @@ export default {
             srstb: tempData.srstb,
             zzjjsstb: tempData.zzjjsstb,
             hzqstb: tempData.hzqstb,
-            wrsp: `${parseInt(Math.abs(tempData.wrstb) * 100)}%`,
-            srsp:  `${parseInt(Math.abs(tempData.srstb) * 100)}%`,
-            zzjjssp: `${parseInt(Math.abs(tempData.zzjjsstb) * 100)}%`,
-            hzqsp: `${parseInt( Math.abs(tempData.hzqstb) * 100)}%`
+            wrsp: `${Math.ceil(Math.abs(tempData.wrstb))}%`,
+            srsp:  `${Math.ceil(Math.abs(tempData.srstb))}%`,
+            zzjjssp: `${Math.ceil(Math.abs(tempData.zzjjsstb)) }%`,
+            hzqsp: `${Math.ceil(Math.abs(tempData.hzqstb))}%`
           }
         } else {
           this.monthTbData = {
@@ -289,10 +289,10 @@ export default {
             srstb: tempData.srstb,
             zzjjsstb: tempData.zzjjsstb,
             hzqstb: tempData.hzqstb,
-            wrsp: `${parseInt(Math.abs(tempData.wrstb) * 100)}%`,
-            srsp:  `${parseInt(Math.abs(tempData.srstb) * 100)}%`,
-            zzjjssp: `${parseInt(Math.abs(tempData.zzjjsstb) * 100)}%`,
-            hzqsp: `${parseInt( Math.abs(tempData.hzqstb) * 100)}%`
+            wrsp: `${Math.ceil(Math.abs(tempData.wrstb))}%`,
+            srsp:  `${Math.ceil(Math.abs(tempData.srstb))}%`,
+            zzjjssp: `${Math.ceil(Math.abs(tempData.zzjjsstb))}%`,
+            hzqsp: `${Math.ceil(Math.abs(tempData.hzqstb))}%`
           }
         } else {
           this.yearTbData = {
@@ -375,7 +375,7 @@ export default {
 		}
 
 		.num {
-			font-size: 16px;
+			font-size: 15px;
 		}
 
 		.num.up {

+ 1 - 1
app/src/views/FireCondition/components/hzfxCont.vue

@@ -491,4 +491,4 @@
 		width: 10px;
 		margin-right: 3px;
 	}
-</style>
+</style>

+ 276 - 20
app/src/views/H5/index.vue

@@ -5,10 +5,33 @@
 			<div class="">{{detail.xq || '暂无'}}</div>
 		</div>
 		<div class="content" v-if="detail">
-			<div class="contPlate">
+			<div class="fxewm">
+				<div style="width: 60%;">
+					<div style="margin-bottom: 19px;">
+						<div class="fxdj">风险等级</div>
+						<div class="fxdjFlex">
+							<div class="fxTxt">{{detail.fxdj}}</div>
+						</div>
+					</div>
+					<div class="fxdj">主要风险点</div>
+					<div style="display: flex;
+				flex-wrap: wrap;">
+						<!-- <div class="gdst">疏通管道拥堵</div>
+						<div class="gdst">疏通管道</div>
+						<div class="gdst">疏通管道拥堵</div>
+						<div class="gdst">疏通管道拥堵</div> -->
+						<span class="gdst" v-for="(item, i) in fxd" :key="i">{{ item }},</span>
+					</div>
+				</div>
+				<div class="ewm">
+					<img class="ewmImg" :src="'data:image/png;base64,' + qrcode" alt="" v-if="qrcode" />
+				</div>
+			</div>
+			<div class="title">基础信息</div>
+			<!-- <div class="contPlate">
 				<div class="text">区域</div>
 				<div class="txt">{{detail.qx || '-'}}</div>
-			</div>
+			</div> -->
 			<div class="contPlate">
 				<div class="text">详细地址</div>
 				<div class="txt">{{detail.xxdz || '-'}}</div>
@@ -41,74 +64,101 @@
 			</div>
 			<div class="contPlate">
 				<div class="text">建筑面积</div>
-				<div class="txt">{{detail.jzmj  || '-'}}m2</div>
+				<div class="txt">{{detail.jzmj || '-'}}㎡</div>
 			</div>
 			<div class="contPlate">
 				<div class="text">地上楼层</div>
-				<div class="txt">{{detail.dslc  || '-'}}</div>
+				<div class="txt">{{detail.dslc || '-'}}</div>
 			</div>
 			<div class="contPlate">
 				<div class="text">地下楼层</div>
-				<div class="txt">{{detail.dxlc  || '-'}}</div>
+				<div class="txt">{{detail.dxlc || '-'}}</div>
 			</div>
 			<div class="contPlate">
 				<div class="text">建筑年代</div>
-				<div class="txt">{{detail.jcnd  || '-'}}</div>
+				<div class="txt">{{detail.jcnd || '-'}}</div>
 			</div>
 			<div class="contPlate">
 				<div class="text">建筑定性</div>
-				<div class="txt">{{detail.jzdx  || '-'}}</div>
+				<div class="txt">{{detail.jzdx || '-'}}</div>
 			</div>
 			<div class="contPlate">
 				<div class="text">建筑内使用功能</div>
-				<div class="txt">{{detail.jznsygn  || '-'}}</div>
+				<div class="txt">{{detail.jznsygn || '-'}}</div>
 			</div>
+			<div class="title">管理信息</div>
 			<div class="contPlate">
 				<div class="text">消防安全管理形式</div>
-				<div class="txt">{{detail.xfaqglxs  || '-'}}</div>
+				<div class="txt">{{detail.xfaqglxs || '-'}}</div>
 			</div>
 			<div class="contPlate">
 				<div class="text">管理主体</div>
-				<div class="txt">{{detail.glzthztjzd  || '-'}}</div>
+				<div class="txt">{{detail.glzthztjzd || '-'}}</div>
 			</div>
 			<div class="contPlate">
 				<div class="text">消防安全管理人</div>
-				<div class="txt">{{detail.xfaqglr  || '-'}}</div>
+				<div class="txt">{{detail.xfaqglr || '-'}}</div>
 			</div>
+			<div class="title">维保信息</div>
 			<div class="contPlate">
 				<div class="text">是否有维保单位</div>
-				<div class="txt">{{detail.sfywbdw  || '-'}}</div>
+				<div class="txt">{{detail.sfywbdw || '-'}}</div>
 			</div>
 			<div class="contPlate">
 				<div class="text">维保单位名称</div>
 				<div class="txt">{{detail.wbdwzl || '-'}}</div>
 			</div>
+			<div class="title on">维保记录</div>
+			<div v-if="list4 && list4.length > 0">
+				<div class="wbjl">
+					<div>维保日期</div>
+					<div>现场巡查人</div>
+					<div>维保结果</div>
+				</div>
+				<div class="wbWb">
+					<div class="wbjlList" v-for="(item,index) in list4" :key="index">
+						<div class="wbBox">
+							<div class="wbCont">{{item.wbsj || '无'}}</div>
+							<div class="wbCont">{{item.xcjcr || '无'}}</div>
+							<div class="wbCont on">{{item.wbjg || '无'}}</div>
+						</div>
+					</div>
+				</div>
+			</div>
+			<div v-else class="wbwsj"></div>
+			<div class="title">消防安全资料</div>
 			<div class="contPlate">
-				<div class="text">灭火和疏散预案</div>
-				<div class="txt">附件下载</div>
+				<div class="textNe">灭火和疏散预案</div>
+				<div class="fjTxtOn">附件下载</div>
 			</div>
 			<div class="contPlate">
-				<div class="text">警示案列和宣传培训资料</div>
-				<div class="txt">附件下载</div>
+				<div class="textEn">警示案列和宣传培训资料</div>
+				<div class="fjTxtNo">附件下载</div>
 			</div>
 		</div>
 	</div>
 </template>
 <script>
 	import {
-		getGcjzjcxx
+		getGcjzjcxx,
+		getFxdj,
+		getWbqk,
+		getQrcode
 	} from '@/api/h5.js'
 	export default {
 		name: "H5",
 		components: {},
 		data() {
 			return {
+				list4: [],
+				fxd: [],
 				params: {
 					pageSize: 100,
 					pageNum: 1,
 					qy: null,
 					id: null
 				},
+				qrcode: null,
 				detail: {},
 				height: 1000,
 				srcList: [],
@@ -153,6 +203,38 @@
 				getGcjzjcxx(pId).then((res) => {
 					this.detail = res.data.data;
 				});
+				getFxdj(pId).then((res) => {
+					this.fxd = res.data.rows.map((p) => p.yhxmmc);
+				});
+				getWbqk(pId).then((res) => {
+					const list = [];
+					if (res.data.rows) {
+						res.data.rows.forEach((p) => {
+							list.push([p.wbsj, p.xcjcr, p.zyzt]);
+						});
+					}
+					this.list4 = list;
+				});
+				let color = '';
+				if (this.fxd.indexOf('低风险') >= 0) {
+					color = '#00D957';
+				} else if (this.fxd.indexOf('一般风险') >= 0) {
+					color = '#fbff3d';
+				} else if (this.fxd.indexOf('较大风险') >= 0 || this.fxd.indexOf('较高风险') >= 0) {
+					color = '#ff833d';
+				} else if (this.fxd.indexOf('重大风险') >= 0) {
+					color = '#ff0b0b';
+				} else {
+					color = '#35c2ff';
+				}
+				getQrcode({
+					url: window.location.origin + "/h5?id=" + this.params.id,
+					color
+				}).then((res) => {
+					const data = JSON.parse(res.data.data);
+					this.qrcode = data.qr_code;
+				});
+
 			},
 		},
 	};
@@ -200,9 +282,81 @@
 			margin: 0 7px;
 			border-radius: 3px;
 			margin-top: 6px;
-			padding: 11px 11px 11px 14px;
+			padding: 11px 11px 50px 14px;
 			box-sizing: border-box;
 
+			.title {
+				width: 375px;
+				height: 38px;
+				background: #56B1E3;
+				margin-left: -12px;
+				font-family: 'PingFang SC';
+				font-style: normal;
+				font-weight: 400;
+				font-size: 16px;
+				line-height: 38px;
+				padding-left: 13px;
+				box-sizing: border-box;
+				margin-bottom: 17px;
+			}
+
+			.title.on {
+				margin-bottom: 0;
+			}
+
+			.wbjl {
+				background: #527391;
+				height: 29px;
+				display: flex;
+				align-content: center;
+				justify-content: space-between;
+				font-family: 'PingFang SC';
+				font-style: normal;
+				font-weight: 400;
+				font-size: 14px;
+				color: #FFF;
+				line-height: 29px;
+				padding: 0 16px;
+				box-sizing: border-box;
+			}
+
+			.wbWb {
+				background: #DCEEFF;
+				height: 107px;
+				overflow: auto;
+
+				.wbjlList {
+					background: #DCEEFF;
+					padding: 10px 20px;
+					box-sizing: border-box;
+					color: #000;
+					border-bottom: 1px solid #FFF;
+
+					.wbBox {
+						display: flex;
+						align-items: center;
+
+						.wbCont {
+							flex-grow: 1;
+							text-align: center;
+						}
+
+						.wbCont.on {
+							text-align: right;
+						}
+					}
+				}
+			}
+
+			.wbwsj {
+				width: 100%;
+				height: 107px;
+				background-image: url(../../assets/images/null2.png);
+				background-size: 120px;
+				background-repeat: no-repeat;
+				background-position: center;
+			}
+
 			.row {
 				width: 100%;
 				height: 22px;
@@ -239,13 +393,51 @@
 				margin-bottom: 17px;
 
 				.text {
-					color: #a5a5a5;
+					color: #636262;
 					font-size: 16px;
 				}
 
+				.textNe {
+					width: 120px;
+					color: #636262;
+					text-align: left;
+					font-size: 16px;
+				}
+
+				.textEn {
+					width: 200px;
+					color: #636262;
+					text-align: left;
+					font-size: 16px;
+				}
+
+				.fjTxtOn {
+					width: 120px;
+					color: #1A1818;
+					text-align: center;
+					font-size: 16px;
+					color: #0085FF;
+					background-image: url(../../../src/assets/images/jt.png);
+					background-repeat: no-repeat;
+					background-position: 100px center;
+					background-size: 20px;
+				}
+
+				.fjTxtNo {
+					width: 120px;
+					color: #1A1818;
+					text-align: center;
+					font-size: 16px;
+					color: #0085FF;
+					background-image: url(../../../src/assets/images/jt.png);
+					background-repeat: no-repeat;
+					background-position: 100px center;
+					background-size: 20px;
+				}
+
 				.txt {
 					flex-grow: 1;
-					color: #000;
+					color: #1A1818;
 					text-align: center;
 					font-size: 16px;
 				}
@@ -273,5 +465,69 @@
 				}
 			}
 		}
+
+		.fxewm {
+			padding: 19px 0 19px 0;
+			box-sizing: border-box;
+			// border: 1px solid red;
+			color: #000;
+			display: flex;
+			// margin-bottom: 28px;
+			display: flex;
+			justify-content: space-between;
+
+			.ewm {
+				width: 137px;
+				height: 121px;
+				// border: 1px solid red;
+			}
+
+			.ewmImg {
+				width: 137px;
+				height: 121px;
+			}
+
+			.fxdj {
+
+				font-family: 'PingFang SC';
+				font-style: normal;
+				font-weight: 400;
+				font-size: 16px;
+				color: #636262;
+				margin-bottom: 9px;
+
+			}
+
+			.gdst {
+				// padding: 5px 13px;
+				box-sizing: border-box;
+				// background: #F18787;
+				font-family: 'Abel';
+				font-style: normal;
+				font-weight: 400;
+				font-size: 12px;
+				color: #454545;
+				margin: 0 3px;
+				margin-bottom: 9px;
+			}
+
+			.fxdjFlex {
+
+				.fxTxt {
+					width: 108px;
+					height: 22px;
+					background: #35C2FF;
+					font-family: 'PingFang SC';
+					font-style: normal;
+					font-weight: 400;
+					font-size: 16px;
+					line-height: 22px;
+					text-align: center;
+					color: #FFFFFF;
+					margin-bottom: 5px;
+				}
+
+			}
+		}
 	}
 </style>

+ 0 - 31
app/src/views/Home/components/AlarmingSituationDynamics/AlaemList.vue

@@ -327,34 +327,3 @@
 		//下拉框
 	}
 </style>
-
-
-<style>
-	.el-select-dropdown.el-popper {
-		background-color: #4167a0;
-	}
-
-	.el-popper[x-placement^=bottom] .popper__arrow::after {
-		border-bottom-color: #4167a0 !important;
-	}
-
-	.el-select-dropdown.el-popper {
-		border: 1px solid rgba(0, 213, 255, 0.6) !important;
-	}
-
-	.el-select-dropdown.el-popper li.el-select-dropdown__item span {
-		color: #fff;
-	}
-
-	.el-select-dropdown.el-popper li.el-select-dropdown__item.selected span {
-		color: #2f7df2;
-	}
-
-	.el-select-dropdown.el-popper .el-select-dropdown__item.hover {
-		background-color: #2f7df2;
-	}
-
-	.el-select-dropdown.el-popper li.el-select-dropdown__item.hover.selected span {
-		color: #fff !important;
-	}
-</style>

+ 9 - 9
app/src/views/Home/components/FireIndex/index.vue

@@ -260,10 +260,10 @@ export default {
             srstb: tempData.srstb,
             zzjjsstb: tempData.zzjjsstb,
             hzqstb: tempData.hzqstb,
-            wrsp: `${parseInt(Math.abs(tempData.wrstb) * 100)}%`,
-            srsp:  `${parseInt(Math.abs(tempData.srstb) * 100)}%`,
-            zzjjssp: `${parseInt(Math.abs(tempData.zzjjsstb) * 100)}%`,
-            hzqsp: `${parseInt( Math.abs(tempData.hzqstb) * 100)}%`
+            wrsp: `${Math.ceil(Math.abs(tempData.wrstb))}%`,
+            srsp:  `${Math.ceil(Math.abs(tempData.srstb))}%`,
+            zzjjssp: `${Math.ceil(Math.abs(tempData.zzjjsstb))}%`,
+            hzqsp: `${Math.ceil(Math.abs(tempData.hzqstb))}%`
           }
         } else {
           this.monthTbData = {
@@ -292,10 +292,10 @@ export default {
             srstb: tempData.srstb,
             zzjjsstb: tempData.zzjjsstb,
             hzqstb: tempData.hzqstb,
-            wrsp: `${parseInt(Math.abs(tempData.wrstb) * 100)}%`,
-            srsp:  `${parseInt(Math.abs(tempData.srstb) * 100)}%`,
-            zzjjssp: `${parseInt(Math.abs(tempData.zzjjsstb) * 100)}%`,
-            hzqsp: `${parseInt( Math.abs(tempData.hzqstb) * 100)}%`
+            wrsp: `${Math.ceil(Math.abs(tempData.wrstb))}%`,
+            srsp:  `${Math.ceil(Math.abs(tempData.srstb))}%`,
+            zzjjssp: `${Math.ceil(Math.abs(tempData.zzjjsstb))}%`,
+            hzqsp: `${ Math.ceil(Math.abs(tempData.hzqstb))}%`
           }
         } else {
           this.yearTbData = {
@@ -380,7 +380,7 @@ export default {
     font-size: 20px;
   }
   .num {
-    font-size: 16px;
+    font-size: 15px;
   }
   .num.up {
     color: #fb3636;

+ 8 - 8
app/src/views/Home/components/MapCharts.vue

@@ -249,13 +249,13 @@ export default {
               // max: this.calcMaxData(val),
               pieces: (() => {
                 const maxData = this.calcMaxData(val)
-                const intData = toInt(Math.ceil(maxData / 5))
+                const intData = toInt(Math.ceil(maxData / 4))
                 return [
-                  {min: intData*4, max: intData * 5},
                   {min: intData*3, max: intData * 4},
                   {min: intData*2, max: intData * 3},
-                  {min: intData, max: intData * 2},
-                  {min: 0, max: intData},
+                  {min: intData , max: intData * 2},
+                  {min: 1, max: intData},
+                  {min: 0, max: 0},
                 ]
               })()
             }
@@ -281,11 +281,11 @@ export default {
   },
   methods: {
     convertMapData(data) {
-      const maxValue = (this.calcMaxData(data) / 5)
+      const maxValue = (this.calcMaxData(data) / 4)
       const intData = toInt(maxValue)
       return data.map(item => ({...item,
           label: {
-            color: item.value < intData * 3 ? '#000' : '#fff'
+            color: item.value < intData * 2 ? '#000' : '#fff'
           }
         }))
     },
@@ -436,8 +436,8 @@ export default {
               {min: intData*4, max: intData * 5},
               {min: intData*3, max: intData * 4},
               {min: intData*2, max: intData * 3},
-              {min: intData, max: intData * 2},
-              {min: 0, max: intData},
+              {min: 1, max: intData * 2},
+              {min: 0, max: 0 },
             ]
           })()
         },

+ 1 - 1
app/src/views/Home/components/MapChartsCategory.vue

@@ -524,7 +524,7 @@ export default {
       };
       this.mapChart = echarts.init(mapChart, "light");
       this.mapChart.setOption(option);
-    toolUtils.autoHover(this.mapChart, option, 24, 5000);
+    toolUtils.autoHover(this.mapChart, option, 24, 10 * 1000);
       // 图表对象响应式设置
       window.addEventListener("resize", () => {
         this.mapChart.resize();

+ 2 - 2
app/src/views/Home/components/WisdomFire.vue

@@ -46,7 +46,7 @@
                 ><span style="margin-right: 1px">/</span></span
               >
               <span>{{ frieList.syds ? frieList.syds : 0 }}</span>
-              <div style="font-size: 12px; margin-top: 5px">个(栋)</div>
+              <div style="font-size: 12px; margin-top: 5px">(个/栋)</div>
             </div>
 
             <ul class="pressure-list" >
@@ -92,7 +92,7 @@
               {{ frieList.dqhzzs ? frieList.dqhzzs : 0
               }}<span style="margin-right: 1px">/</span>
               <span>{{ frieList.dqhzds ? frieList.dqhzds : 0 }}</span>
-              <div style="font-size: 12px; margin-top: 5px">个(栋)</div>
+              <div style="font-size: 12px; margin-top: 5px">(个/栋)</div>
             </div>
 
             <ul class="pressure-list">

+ 8 - 3
app/src/views/Home/index.vue

@@ -171,9 +171,14 @@ export default {
         },
         () => {
           const item = params.data.meta
-          let res = `火灾起数 <span style="font-size: 24px;color:red;font-weight:bold;">${item.火灾起数 || 0}</span>起 <br />`;
-          res += `亡人数 <span style="font-size: 24px;color:red;font-weight:bold;">${item.亡人数 || 0}</span>人 <br />`;
-          res += `直接财产损失 <span style="font-size: 24px;color:red;font-weight:bold;">${Math.ceil((item.直接财产损失 || 0) / 10000)}</span>万元`;
+          let res = `${item.区域} 第<span style="font-size: 24px;color:red;font-weight:bold;">${item.区域排名 || 0}</span>名 <br />`;
+          res += `直接财产损失 <span style="font-size: 24px;color:red;font-weight:bold;">${Math.ceil((item.直接财产损失 || 0) / 10000)}</span>万元<br/>`;
+          res += `火灾起数 <span style="font-size: 24px;color:red;font-weight:bold;">${item.火灾起数 || 0}</span>起&nbsp;&nbsp;&nbsp;&nbsp;`;
+          res += `亡人数 <span style="font-size: 24px;color:red;font-weight:bold;">${item.亡人数 || 0}</span>人<br />`;
+          res += `重大风险栋数 <span style="font-size: 24px;color:red;font-weight:bold;">${item.重大风险 || 0}</span>栋&nbsp;&nbsp;&nbsp;&nbsp;`;
+          res += `较大风险栋数 <span style="font-size: 24px;color:red;font-weight:bold;">${item.较大风险 || 0}</span>栋<br/>`;
+          res += `一般风险栋数 <span style="font-size: 24px;color:red;font-weight:bold;">${item.一般风险 || 0}</span>栋&nbsp;&nbsp;&nbsp;&nbsp;`;
+          res += `低风险风数 <span style="font-size: 24px;color:red;font-weight:bold;">${item.低风险 || 0}</span>栋<br/>`;
           return res;
         }
       );

+ 10 - 2
app/src/views/Iot/components/AlarmHandling.vue

@@ -24,14 +24,14 @@
 
       <el-button @click="getList">搜索</el-button>
     </div>
-    <div>
+    <div >
       <div class="row header">
         <span class="num">序号</span>
         <span class="time">区域</span>
         <span class="person">未处理</span>
         <span class="result">已处理</span>
       </div>
-      <VueSeamlessScroll v-if="reload" :data="list1" :class-option="classOption" class="warp">
+      <VueSeamlessScroll v-if="reload && list1.length > 0" :data="list1" :class-option="classOption" class="warp">
         <ul class="item">
           <li class="row" :class="{
             active: item.isActive
@@ -43,6 +43,9 @@
           </li>
         </ul>
       </VueSeamlessScroll>
+      <div v-else class="empty-container">
+        <img src="../../../assets/images/null2.png" alt="">
+      </div>
     </div>
   </div>
 </template>
@@ -146,6 +149,11 @@ export default {
   
   <style scoped lang="less">
 .maintenance-supervision {
+  .empty-container {
+    display: flex;
+    justify-content: center;
+    align-items: center;
+  }
   // padding: 10px 10px 0px 20px;
   ::v-deep(.el-input__inner) {
     border: none;

+ 4 - 1
app/src/views/PoliceSituation/components/MobilizeStrength.vue

@@ -19,7 +19,7 @@
 						<span class="person" style="height: 20px;overflow: hidden;
 text-overflow:ellipsis;
 white-space: nowrap;">{{ item.zbmc }}</span>
-						<span class="result">{{ item.ss || '-'}}</span>
+						<span class="result" :class="item.ss >= 60 ? 'rescs':'' ">{{ item.ss || '-'}}</span>
 						<span class="result1">{{ item.zt || '-'}}</span>
 						<span class="result2" style="overflow: hidden;
 text-overflow:ellipsis;
@@ -121,6 +121,9 @@ white-space: nowrap;">{{ item.yjddsj || '-'}}</span>
 </script>
 
 <style scoped lang='less'>
+	.rescs{
+		color: #DB5555;
+	}
 	::-webkit-scrollbar {
 		border-radius: 3px;
 		width: 8px;

+ 56 - 24
app/src/views/PoliceSituation/components/UnitInfo.vue

@@ -12,11 +12,11 @@
 				</div>
 			</div>
 		</div>
-		<div class="paet">隐患部位</div>
-		<div class="paetCont">
+		<div class="paet">隐患部位</div>
+		<!-- <div class="paetCont">
 			<div class="paetBox">
 				<div class="pael">
-					<!-- <div class="wier">1</div> -->
+					<div class="wier">1</div>
 					<div class="hidTxt">隐患部位:</div>
 					<div class="hidTxt on" v-if="fxxxList">{{fxxxList.yhbw || '-'}}</div>
 				</div>
@@ -25,7 +25,7 @@
 					<div class="hidTxt on" v-if="fxxxList">{{fxxxList.yhyy1 || '-'}}</div>
 				</div>
 			</div>
-			<!-- <div class="paetBox">
+			<div class="paetBox">
 				<div class="paer">
 					<div class="wier">2</div>
 					<div class="hidTxt">位置:</div>
@@ -35,28 +35,48 @@
 					<div class="hidTxt">隐患原因:</div>
 					<div class="hidTxt on"  v-if="fxxxList">{{fxxxList.yhyy2 || '-'}}</div>
 				</div>
-			</div> -->
-		</div>
-		<div class="paet">历史火灾处置情况:</div>
-		<div class="maintenance-supervision" style="margin: 0 15px;" v-if="lshzList">
-			<div>
-				<div class="row header" >
-					<span class="time">起火时间</span>
-					<span class="person">人员伤亡数量</span>
-					<span class="result">财产损失</span>
-					<span class="result1">火灾原因</span>
+			</div>
+		</div> -->
+		<div class="maintenance-supervision" style="margin: 0 15px;">
+			<div style="height: 176px;overflow: hidden;" v-if="fxxxList && fxxxList.legth >0">
+				<div class="row header">
+					<span class="time" style="width: 80px;text-align: center;">位置</span>
+					<span class="person" style="width: 100px;text-align: center;">隐患原因</span>
 				</div>
-				<VueSeamlessScroll :data="lshzList" :class-option="classOption" class="warp">
+				<VueSeamlessScroll :data="fxxxList" :class-option="classOption" class="warp">
 					<ul class="item">
-						<li class="row" v-for="(item, index) in lshzList" :key="index">
-							<span class="time">{{ item.zqsj ||'-'}}</span>
-							<span class="person">{{item.rysws}}</span>
-							<span class="result" style="text-align: right;width: 110px;">{{item.zjccss}}</span>
-							<span class="result1">{{item.qhyy}}</span>
+						<li class="row" v-for="(item, index) in fxxxList" :key="index">
+							<span class="time">{{item.wz}}</span>
+							<span class="person">{{item.yhyy1}}</span>
 						</li>
 					</ul>
 				</VueSeamlessScroll>
 			</div>
+			<div class="wsj" v-else></div>
+		</div>
+		<div class="paet">历史火灾处置情况:</div>
+		<div class="maintenance-supervision" style="margin: 0 15px;" v-if="lshzList">
+			<div v-if="lshzList && lshzList.length > 0">
+				<div>
+					<div class="row header">
+						<span class="time">起火时间</span>
+						<span class="person">人员伤亡数量</span>
+						<span class="result">财产损失</span>
+						<span class="result1">火灾原因</span>
+					</div>
+					<VueSeamlessScroll :data="lshzList" :class-option="classOption" class="warp">
+						<ul class="item">
+							<li class="row" v-for="(item, index) in lshzList" :key="index">
+								<span class="time">{{ item.zqsj ||'-'}}</span>
+								<span class="person">{{item.rysws}}</span>
+								<span class="result" style="text-align: right;width: 110px;">{{item.zjccss}}</span>
+								<span class="result1">{{item.qhyy}}</span>
+							</li>
+						</ul>
+					</VueSeamlessScroll>
+				</div>
+			</div>
+			<div v-e class="wsj on"></div>
 		</div>
 	</div>
 </template>
@@ -118,10 +138,10 @@
 		font-size: 16px;
 	}
 
-	.hidTxt.on{
+	.hidTxt.on {
 		width: 100px;
 		overflow: hidden;
-		text-overflow:ellipsis;
+		text-overflow: ellipsis;
 		white-space: nowrap;
 	}
 
@@ -142,8 +162,7 @@
 		font-weight: 400;
 		font-size: 18px;
 		margin: 0 15px;
-		margin-top: 16px;
-		margin-bottom: 16px;
+		margin-top: 4px;
 	}
 
 	.paetCont {
@@ -192,6 +211,19 @@
 		color: #36F6F6;
 	}
 
+	.wsj {
+		width: 100%;
+		height: 107px;
+		background-image: url(../../../assets/images/null2.png);
+		background-size: 120px;
+		background-repeat: no-repeat;
+		background-position: center;
+	}
+	.wsj.on{
+		height: 300px;
+		background-size: 200px;
+	}
+
 	.maintenance-supervision {
 
 		// padding: 10px 10px 0px 20px;

+ 239 - 215
app/src/views/PoliceSituation/components/UnitInformation.vue

@@ -8,211 +8,224 @@
 			</div>
 		</div>
 		<div v-if="activeTab == 1">
-			<div class="plate">{{jzxxList.gcjzmc || '-'}}</div>
-			<div style="height: 235px; margin: 0 20px;">
-				<div class="pCont">
-					<div class="pCOntent on">
-						<div class="PTxt">建筑年代:</div>
-						<div class="Ptext">{{jzxxList.jcnd || '-'}}</div>
-					</div>
-					<div class="pCOntent">
-						<div class="PTxt">建筑类型:</div>
-						<div class="Ptext">{{jzxxList.jzdx || '-'}}</div>
-					</div>
-				</div>
-				<div class="pCont">
-					<div class="pCOntent on">
-						<div class="PTxt">建筑地址:</div>
-						<div class="Ptext">{{jzxxList.jzdz || '-'}}</div>
-					</div>
-					<div class="pCOntent">
-						<div class="PTxt">总楼层:</div>
-						<div class="Ptext">{{jzxxList.dslc || '-'}}</div>
-					</div>
-				</div>
-				<div class="pCont">
-					<div class="pCOntent on">
-						<div class="PTxt">建筑结构:</div>
-						<div class="Ptext">{{jzxxList.jzdx || '-'}}</div>
-					</div>
-					<div class="pCOntent">
-						<div class="PTxt">建筑用途:</div>
-						<div class="Ptext">{{jzxxList.jznsygn || '-'}}</div>
-					</div>
-				</div>
-				<div class="pCont">
-					<div class="pCOntent on">
-						<div class="PTxt">占地面积:</div>
-						<div class="Ptext">{{jzxxList.jzmj || '-'}}</div>
-					</div>
-					<div class="pCOntent">
-						<div class="PTxt">建筑面积:</div>
-						<div class="Ptext">{{jzxxList.jzmj || '-'}}</div>
-					</div>
-				</div>
-				<div class="pCont">
-					<div class="pCOntent on">
-						<div class="PTxt">管理单位:</div>
-						<div class="Ptext">{{jzxxList.glzthztjzd || '-'}}</div>
-					</div>
-					<div class="pCOntent">
-						<div class="PTxt">消防控制室:</div>
-						<div class="Ptext">{{jzxxList.xfaqglxs || '-'}}</div>
+			<div v-if="jzxxList && jzxxList.length > 0">
+				<div class="plate">{{jzxxList.gcjzmc || '-'}}</div>
+				<div style="height: 235px; margin: 0 20px;">
+					<div class="pCont">
+						<div class="pCOntent on">
+							<div class="PTxt">建筑年代:</div>
+							<div class="Ptext">{{jzxxList.jcnd || '-'}}</div>
+						</div>
+						<div class="pCOntent">
+							<div class="PTxt">建筑类型:</div>
+							<div class="Ptext">{{jzxxList.jzdx || '-'}}</div>
+						</div>
+					</div>
+					<div class="pCont">
+						<div class="pCOntent on">
+							<div class="PTxt">建筑地址:</div>
+							<div class="Ptext">{{jzxxList.jzdz || '-'}}</div>
+						</div>
+						<div class="pCOntent">
+							<div class="PTxt">总楼层:</div>
+							<div class="Ptext">{{jzxxList.dslc || '-'}}</div>
+						</div>
+					</div>
+					<div class="pCont">
+						<div class="pCOntent on">
+							<div class="PTxt">建筑结构:</div>
+							<div class="Ptext">{{jzxxList.jzdx || '-'}}</div>
+						</div>
+						<div class="pCOntent">
+							<div class="PTxt">建筑用途:</div>
+							<div class="Ptext">{{jzxxList.jznsygn || '-'}}</div>
+						</div>
+					</div>
+					<div class="pCont">
+						<div class="pCOntent on">
+							<div class="PTxt">占地面积:</div>
+							<div class="Ptext">{{jzxxList.jzmj || '-'}}</div>
+						</div>
+						<div class="pCOntent">
+							<div class="PTxt">建筑面积:</div>
+							<div class="Ptext">{{jzxxList.jzmj || '-'}}</div>
+						</div>
+					</div>
+					<div class="pCont">
+						<div class="pCOntent on">
+							<div class="PTxt">管理单位:</div>
+							<div class="Ptext">{{jzxxList.glzthztjzd || '-'}}</div>
+						</div>
+						<div class="pCOntent">
+							<div class="PTxt">消防控制室:</div>
+							<div class="Ptext">{{jzxxList.xfaqglxs || '-'}}</div>
+						</div>
+					</div>
+					<div class="pCont">
+						<div class="pCOntent on">
+							<div class="PTxt">消防安全责任人:</div>
+							<div class="Ptext">{{jzxxList.xfaqzrr || '-'}}</div>
+						</div>
+						<div class="pCOntent">
+							<div class="PTxt">联系方式:</div>
+							<div class="Ptext">{{jzxxList.xfaqzrrlxdh || '-'}}</div>
+						</div>
+					</div>
+					<div class="pCont">
+						<div class="pCOntent on">
+							<div class="PTxt">消防安全管理人:</div>
+							<div class="Ptext">{{jzxxList.xfaqlxr || '-'}}</div>
+						</div>
+						<div class="pCOntent">
+							<div class="PTxt">联系方式:</div>
+							<div class="Ptext">{{jzxxList.xfaqlxrlxdh || '-'}}</div>
+						</div>
+					</div>
+					<div class="pCont">
+						<div class="pCOntent on">
+							<div class="PTxt">消防安全联系人:</div>
+							<div class="Ptext">{{jzxxList.xfaqzbr || '-'}}</div>
+						</div>
+						<div class="pCOntent">
+							<div class="PTxt">联系方式:</div>
+							<div class="Ptext">{{jzxxList.xfaqzbrlxdh || '-'}}</div>
+						</div>
+					</div>
+					<div class="pCont">
+						<div class="pCOntent on">
+							<div class="PTxt">消防室值班人员:</div>
+							<div class="Ptext">{{jzxxList.xfaqzbr || '-'}}</div>
+						</div>
+						<div class="pCOntent">
+							<div class="PTxt">联系方式:</div>
+							<div class="Ptext">{{jzxxList.xfaqzbrlxdh || '-'}}</div>
+						</div>
+					</div>
+					<div class="pCont">
+						<div class="pCOntent on">
+							<div class="PTxt">风险等级:</div>
+							<div class="Ptext">{{jzxxList.fxdj || '-'}}</div>
+						</div>
 					</div>
 				</div>
-				<div class="pCont">
-					<div class="pCOntent on">
-						<div class="PTxt">消防安全责任人:</div>
-						<div class="Ptext">{{jzxxList.xfaqzrr || '-'}}</div>
-					</div>
-					<div class="pCOntent">
-						<div class="PTxt">联系方式:</div>
-						<div class="Ptext">{{jzxxList.xfaqzrrlxdh || '-'}}</div>
-					</div>
+				<div class="att">建筑附件:</div>
+				<div style="display: flex;margin: 0 20px;margin-top: 10px;" v-if="jzxxList.jzzp">
+					<el-image style="width: 75px; height: 51px;margin-right: 29px;" :src="jzxxList.jzzp"
+						:preview-src-list="srcList">
+					</el-image>
+					<el-image style="width: 75px; height: 51px;margin-right: 29px;" :src="jzxxList.jzzp1"
+						:preview-src-list="srcList">
+					</el-image>
+					<el-image style="width: 75px; height: 51px;margin-right: 29px;" :src="jzxxList.jzzp2"
+						:preview-src-list="srcList">
+					</el-image>
+					<el-image style="width: 75px; height: 51px;margin-right: 29px;" :src="jzxxList.jzzp3"
+						:preview-src-list="srcList">
+					</el-image>
+					<el-image style="width: 75px; height: 51px;margin-right: 29px;" :src="jzxxList.jzzp4"
+						:preview-src-list="srcList">
+					</el-image>
 				</div>
-				<div class="pCont">
-					<div class="pCOntent on">
-						<div class="PTxt">消防安全管理人:</div>
-						<div class="Ptext">{{jzxxList.xfaqlxr || '-'}}</div>
-					</div>
-					<div class="pCOntent">
-						<div class="PTxt">联系方式:</div>
-						<div class="Ptext">{{jzxxList.xfaqlxrlxdh || '-'}}</div>
-					</div>
-				</div>
-				<div class="pCont">
-					<div class="pCOntent on">
-						<div class="PTxt">消防安全联系人:</div>
-						<div class="Ptext">{{jzxxList.xfaqzbr || '-'}}</div>
-					</div>
-					<div class="pCOntent">
-						<div class="PTxt">联系方式:</div>
-						<div class="Ptext">{{jzxxList.xfaqzbrlxdh || '-'}}</div>
-					</div>
-				</div>
-				<div class="pCont">
-					<div class="pCOntent on">
-						<div class="PTxt">消防室值班人员:</div>
-						<div class="Ptext">{{jzxxList.xfaqzbr || '-'}}</div>
-					</div>
-					<div class="pCOntent">
-						<div class="PTxt">联系方式:</div>
-						<div class="Ptext">{{jzxxList.xfaqzbrlxdh || '-'}}</div>
-					</div>
-				</div>
-			</div>
-			<div class="att">建筑附件:</div>
-			<div style="display: flex;margin: 0 20px;margin-top: 10px;" v-if="jzxxList.jzzp">
-				<el-image style="width: 75px; height: 51px;margin-right: 29px;" :src="jzxxList.jzzp"
-					:preview-src-list="srcList">
-				</el-image>
-				<el-image style="width: 75px; height: 51px;margin-right: 29px;" :src="jzxxList.jzzp1"
-					:preview-src-list="srcList">
-				</el-image>
-				<el-image style="width: 75px; height: 51px;margin-right: 29px;" :src="jzxxList.jzzp2"
-					:preview-src-list="srcList">
-				</el-image>
-				<el-image style="width: 75px; height: 51px;margin-right: 29px;" :src="jzxxList.jzzp3"
-					:preview-src-list="srcList">
-				</el-image>
-				<el-image style="width: 75px; height: 51px;margin-right: 29px;" :src="jzxxList.jzzp4"
-					:preview-src-list="srcList">
-				</el-image>
 			</div>
+			<div v-else class="wsj"></div>
 		</div>
 		<div v-if="activeTab == 2">
-			<div class="plate" v-if="ajxxList">{{ajxxList.zhcs || '-'}}</div>
-			<div style="height: 235px; margin: 0 20px;">
-				<div class="pCont">
-					<div class="pCOntent on">
-						<div class="PTxt">报警电话:</div>
-						<div class="Ptext" v-if="ajxxList">{{ajxxList.bjdh || '-'}}</div>
-					</div>
-				</div>
-				<div class="pCont">
-					<div class="pCOntent on">
-						<div class="PTxt">案件类型:</div>
-						<div class="Ptext" v-if="ajxxList">{{ajxxList.ajlx ||'-'}}</div>
-					</div>
-					<div class="pCOntent">
-						<div class="PTxt">案件等级:</div>
-						<div class="Ptext" v-if="ajxxList">{{ajxxList.ajdj ||'-'}}</div>
-					</div>
-				</div>
-				<div class="pCont">
-					<div class="pCOntent on">
-						<div class="PTxt">案发时间:</div>
-						<div class="Ptext" v-if="ajxxList">{{ajxxList.afsj ||'-'}}</a></div>
-					</div>
-					<div class="pCOntent">
-						<div class="PTxt">失踪人数:</div>
-						<div class="Ptext" v-if="ajxxList">{{ajxxList.szrs ||'-' }}</div>
-					</div>
-				</div>
-				<div class="pCont">
-					<div class="pCOntent on">
-						<div class="PTxt">案发地址:</div>
-						<div class="Ptext" v-if="ajxxList">{{ajxxList.afdz ||'-'}}</div>
-					</div>
-					<div class="pCOntent">
-						<div class="PTxt">被困人数:</div>
-						<div class="Ptext" v-if="ajxxList">{{ajxxList.bkrs || '-'}}</div>
-					</div>
-				</div>
-				<div class="pCont">
-					<div class="pCOntent on">
-						<div class="PTxt">主管机构:</div>
-						<div class="Ptext" v-if="ajxxList">{{ajxxList.zgjg || '-'}}</div>
-					</div>
-					<div class="pCOntent">
-						<div class="PTxt">死亡人数:</div>
-						<div class="Ptext" v-if="ajxxList">{{ajxxList.swss || '-'}}</div>
-					</div>
-				</div>
-				<div class="pCont">
-					<div class="pCOntent on">
-						<div class="PTxt">案件描述:</div>
-						<div class="Ptext" v-if="ajxxList">{{ajxxList.ajms || '-'}}</div>
-					</div>
-					<div class="pCOntent">
-						<div class="PTxt">受伤人数:</div>
-						<div class="Ptext" v-if="ajxxList">{{ajxxList.ssrs || '-'}}</div>
-					</div>
-				</div>
-				<div class="pCont">
-					<div class="pCOntent on">
-						<div class="PTxt">建筑结构:</div>
-						<div class="Ptext" v-if="ajxxList">{{ajxxList.jzjg ||'-'}}</div>
-					</div>
-					<div class="pCOntent">
-						<div class="PTxt">烟雾情况:</div>
-						<div class="Ptext" v-if="ajxxList">{{ajxxList.ywqk ||'-'}}</div>
-					</div>
-				</div>
-				<div class="pCont">
-					<div class="pCOntent on">
-						<div class="PTxt">楼房层数:</div>
-						<div class="Ptext" v-if="ajxxList">{{ajxxList.lfcs ||'-'}}</div>
-					</div>
-					<div class="pCOntent">
-						<div class="PTxt">燃烧楼层:</div>
-						<div class="Ptext" v-if="ajxxList">{{ajxxList.rslc ||'-'}}</div>
-					</div>
-				</div>
-				<div class="pCont">
-					<div class="pCOntent on">
-						<div class="PTxt">燃烧对象:</div>
-						<div class="Ptext" v-if="ajxxList">{{ajxxList.rsdx ||'-'}}</div>
-					</div>
-					<div class="pCOntent">
-						<div class="PTxt">燃烧面积:</div>
-						<div class="Ptext" v-if="ajxxList">{{ajxxList.rsmj ||'-'}}</div>
+			<div v-if="jzxxList && jzxxList.length > 0">
+				<div class="plate" v-if="ajxxList">{{ajxxList.zhcs || '-'}}</div>
+				<div style="height: 235px; margin: 0 20px;">
+					<div class="pCont">
+						<div class="pCOntent on">
+							<div class="PTxt">报警电话:</div>
+							<div class="Ptext" v-if="ajxxList">{{ajxxList.bjdh || '-'}}</div>
+						</div>
+					</div>
+					<div class="pCont">
+						<div class="pCOntent on">
+							<div class="PTxt">案件类型:</div>
+							<div class="Ptext" v-if="ajxxList">{{ajxxList.ajlx ||'-'}}</div>
+						</div>
+						<div class="pCOntent">
+							<div class="PTxt">案件等级:</div>
+							<div class="Ptext" v-if="ajxxList">{{ajxxList.ajdj ||'-'}}</div>
+						</div>
+					</div>
+					<div class="pCont">
+						<div class="pCOntent on">
+							<div class="PTxt">案发时间:</div>
+							<div class="Ptext" v-if="ajxxList">{{ajxxList.afsj ||'-'}}</a></div>
+						</div>
+						<div class="pCOntent">
+							<div class="PTxt">失踪人数:</div>
+							<div class="Ptext" v-if="ajxxList">{{ajxxList.szrs ||'-' }}</div>
+						</div>
+					</div>
+					<div class="pCont">
+						<div class="pCOntent on">
+							<div class="PTxt">案发地址:</div>
+							<div class="Ptext" v-if="ajxxList">{{ajxxList.afdz ||'-'}}</div>
+						</div>
+						<div class="pCOntent">
+							<div class="PTxt">被困人数:</div>
+							<div class="Ptext" v-if="ajxxList">{{ajxxList.bkrs || '-'}}</div>
+						</div>
+					</div>
+					<div class="pCont">
+						<div class="pCOntent on">
+							<div class="PTxt">主管机构:</div>
+							<div class="Ptext" v-if="ajxxList">{{ajxxList.zgjg || '-'}}</div>
+						</div>
+						<div class="pCOntent">
+							<div class="PTxt">死亡人数:</div>
+							<div class="Ptext" v-if="ajxxList">{{ajxxList.swss || '-'}}</div>
+						</div>
+					</div>
+					<div class="pCont">
+						<div class="pCOntent on">
+							<div class="PTxt">案件描述:</div>
+							<div class="Ptext" v-if="ajxxList">{{ajxxList.ajms || '-'}}</div>
+						</div>
+						<div class="pCOntent">
+							<div class="PTxt">受伤人数:</div>
+							<div class="Ptext" v-if="ajxxList">{{ajxxList.ssrs || '-'}}</div>
+						</div>
+					</div>
+					<div class="pCont">
+						<div class="pCOntent on">
+							<div class="PTxt">建筑结构:</div>
+							<div class="Ptext" v-if="ajxxList">{{ajxxList.jzjg ||'-'}}</div>
+						</div>
+						<div class="pCOntent">
+							<div class="PTxt">烟雾情况:</div>
+							<div class="Ptext" v-if="ajxxList">{{ajxxList.ywqk ||'-'}}</div>
+						</div>
+					</div>
+					<div class="pCont">
+						<div class="pCOntent on">
+							<div class="PTxt">楼房层数:</div>
+							<div class="Ptext" v-if="ajxxList">{{ajxxList.lfcs ||'-'}}</div>
+						</div>
+						<div class="pCOntent">
+							<div class="PTxt">燃烧楼层:</div>
+							<div class="Ptext" v-if="ajxxList">{{ajxxList.rslc ||'-'}}</div>
+						</div>
+					</div>
+					<div class="pCont">
+						<div class="pCOntent on">
+							<div class="PTxt">燃烧对象:</div>
+							<div class="Ptext" v-if="ajxxList">{{ajxxList.rsdx ||'-'}}</div>
+						</div>
+						<div class="pCOntent">
+							<div class="PTxt">燃烧面积:</div>
+							<div class="Ptext" v-if="ajxxList">{{ajxxList.rsmj ||'-'}}</div>
+						</div>
 					</div>
 				</div>
 			</div>
+			<div v-else class="wsj"></div>
 		</div>
 		<div v-if="activeTab == 3">
 			<div class="maintenance-supervision">
+				<div v-if="wlwsb && wlwsb.length > 0">
 				<div class="maintenance-supervision_header" style="display: flex;justify-content: space-between;">
 					<el-select style="width: 220px;" v-model="value" placeholder="选择设备类型">
 						<el-option v-for="item in opti" :key="item.value" :label="item.label" :value="item.value">
@@ -224,28 +237,30 @@
 						<el-button @click="resetForm">重置</el-button>
 					</div>
 				</div>
-				<div>
-					<div class="row header">
-						<span class="time">设备类型</span>
-						<span class="person">位置</span>
-						<span class="result">监控值</span>
-						<span class="result1">业务状态</span>
+					<div>
+						<div class="row header">
+							<span class="time">设备类型</span>
+							<span class="person">位置</span>
+							<span class="result">监控值</span>
+							<span class="result1">业务状态</span>
+						</div>
+						<VueSeamlessScroll :data="wlwsb" :class-option="classOption" class="warp" hoverStop>
+							<ul class="item">
+								<li class="row" v-for="(item, index) in wlwsb" :key="index" @click="tab(item.id)"
+									:class="item.id === id ? 'selected' : ''">
+									<span class="time"
+										style="width: 110px;overflow: hidden;height: 40px;">{{item.sblx}}</span>
+									<span class="person"
+										style="width: 110px;overflow: hidden;height: 40px;">{{item.wz}}</span>
+									<span class="result">{{item.jkz ||'-'}}</span>
+									<span class="result1"
+										style="width: 100px;overflow: hidden;height: 40px;text-align: right;">{{item.zt}}</span>
+								</li>
+							</ul>
+						</VueSeamlessScroll>
 					</div>
-					<VueSeamlessScroll :data="wlwsb" :class-option="classOption" class="warp" hoverStop>
-						<ul class="item">
-							<li class="row" v-for="(item, index) in wlwsb" :key="index" @click="tab(item.id)"
-								:class="item.id === id ? 'selected' : ''">
-								<span class="time"
-									style="width: 110px;overflow: hidden;height: 40px;">{{item.sblx}}</span>
-								<span class="person"
-									style="width: 110px;overflow: hidden;height: 40px;">{{item.wz}}</span>
-								<span class="result">{{item.jkz ||'-'}}</span>
-								<span class="result1"
-									style="width: 100px;overflow: hidden;height: 40px;text-align: right;">{{item.zt}}</span>
-							</li>
-						</ul>
-					</VueSeamlessScroll>
 				</div>
+				<div v-else class="wsj"></div>
 			</div>
 		</div>
 	</div>
@@ -314,7 +329,7 @@
 				const params = {
 					pageSize: 100,
 					pageNum: 1,
-					sblx:this.value
+					sblx: this.value
 				}
 				getWlwsb(params).then(res => {
 					this.wlwsb = res.data.rows
@@ -337,6 +352,15 @@
 </script>
 
 <style scoped lang='less'>
+	.wsj {
+		width: 100%;
+		height: 235px;
+		background-image: url(../../../assets/images/null2.png);
+		background-size: 235px;
+		background-repeat: no-repeat;
+		background-position: center 35px;
+	}
+
 	.maintenance-supervision {
 
 		// padding: 10px 10px 0px 20px;
@@ -489,7 +513,7 @@
 		font-size: 12px;
 		color: #78C3CD;
 		margin: 0 20px;
-		margin-top: 5px;
+		margin-top: 25px;
 	}
 
 	.attImg {

+ 220 - 262
app/src/views/PoliceSituation/index.vue

@@ -1,272 +1,230 @@
 <template>
-  <div style="padding: 0px 35px; display: flex; justify-content: space-between">
-    <div>
-      <border-panel
-        height="350px"
-        width="540px"
-        style="margin-bottom: 6px"
-        :headerType="3"
-        title="报警信息"
-      >
-        <Alaem
-          :list="bjxxList"
-          v-if="bjxxList && bjxxList.length > 0"
-          @callback="callback"
-          :pId="pId"
-        />
-      </border-panel>
-      <border-panel
-        height="600px"
-        width="540px"
-        style="margin-bottom: 6px"
-        :headerType="3"
-        title="出动力量"
-      >
-        <MobilizeStrength
-          :list="cdxxList"
-          :zlxx="zlxx"
-          :hcws="hcws"
-          :hcws1="hcws1"
-        />
-      </border-panel>
-    </div>
-    <div style="width: 1000px; padding-bottom: 6px; position: relative">
-      <!-- <Map :data="mapData" v-if="mapData" /> -->
-      <iframe
-        ref="box"
-        src="https://www.720yun.com/t/65aknlde0pm?scene_id=110320524"
-        style="height: 100%; width: 100%"
-        v-if="middleType === '720'"
-      ></iframe>
-      <div style="height: 100%; width: 100%; position: relative" v-else>
-        <Map :data="mapData" v-if="mapData" />
-      </div>
-      <!-- <div
+	<div style="padding: 0px 35px; display: flex; justify-content: space-between">
+		<div>
+			<border-panel height="350px" width="540px" style="margin-bottom: 6px" :headerType="3" title="报警信息">
+				<Alaem :list="bjxxList" v-if="bjxxList && bjxxList.length > 0" @callback="callback" :pId="pId" />
+			</border-panel>
+			<border-panel height="600px" width="540px" style="margin-bottom: 6px" :headerType="3" title="出动力量">
+				<MobilizeStrength :list="cdxxList" :zlxx="zlxx" :hcws="hcws" :hcws1="hcws1" />
+			</border-panel>
+		</div>
+		<div style="width: 1000px; padding-bottom: 6px; position: relative">
+			<!-- <Map :data="mapData" v-if="mapData" /> -->
+			<iframe ref="box" src="https://www.720yun.com/t/65aknlde0pm?scene_id=110320524"
+				style="height: 100%; width: 100%" v-if="middleType === '720'"></iframe>
+			<div style="height: 100%; width: 100%; position: relative" v-else>
+				<Map :data="mapData" v-if="mapData" />
+			</div>
+			<!-- <div
         class="m-btn d"
         :class="middleType === '720' ? 'map' : 'd'"
         @click="changeMiddleType"
       ></div> -->
-    </div>
-    <div>
-      <border-panel
-        height="469px"
-        width="540px"
-        style="margin-bottom: 6px"
-        :headerType="3"
-        title="事故单位信息"
-      >
-        <UnitInformation
-          :ajxxList="ajxxList"
-          :jzxxList="jzxxList"
-          :wlwsb="wlwsb"
-        />
-      </border-panel>
-      <border-panel
-        height="480px"
-        width="540px"
-        style="margin-bottom: 6px"
-        :headerType="3"
-        title="风险隐患信息"
-      >
-        <UnitInfo :fxxxList="fxxxList" :lshzList="lshzList" />
-      </border-panel>
-    </div>
-  </div>
+		</div>
+		<div>
+			<border-panel height="469px" width="540px" style="margin-bottom: 6px" :headerType="3" title="事故单位信息">
+				<UnitInformation :ajxxList="ajxxList" :jzxxList="jzxxList" :wlwsb="wlwsb" />
+			</border-panel>
+			<border-panel height="480px" width="540px" style="margin-bottom: 6px" :headerType="3" title="风险隐患信息">
+				<UnitInfo :fxxxList="fxxxList" :lshzList="lshzList" />
+			</border-panel>
+		</div>
+	</div>
 </template>
 <script>
-import MobilizeStrength from "./components/MobilizeStrength.vue";
-import Alaem from "./components/Alarm.vue";
-import UnitInformation from "./components/UnitInformation.vue";
-import UnitInfo from "./components/UnitInfo.vue";
-import Map from "@/components/Map.vue";
-import moment from "moment";
-import {
-  getBjxx,
-  geTzl,
-  getCdllxx,
-  getHcws,
-  getAjxx,
-  getJzxx,
-  getWlwsb,
-  getFxyhxx,
-  getZhd,
-} from "@/api/jqdt.js";
-export default {
-  name: "Fire",
-  components: {
-    Map,
-    Alaem,
-    MobilizeStrength,
-    UnitInformation,
-    UnitInfo,
-  },
-  data() {
-    return {
-      gxsj1: null,
-      pId: null,
-      params: {
-        pageSize: 100,
-        pageNum: 1,
-        qy: null,
-        id: null,
-      },
-      ajid: "",
-      bjxxList: [], //报警信息
-      cdxxList: [], //出动信息列表
-      zlxx: [], //出动信息总览
-      hcws: [], //火场文书
-      hcws1: [],
-      ajxxList: [],
-      jzxxList: {},
-      fxxxList: {},
-      lshzList: [],
-      wlwsb: [],
-      mapData: null,
-      middleType: "map",
-    };
-  },
-  methods: {
-    changeMiddleType() {
-      if (this.middleType === "720") {
-        this.getMapData();
-        this.middleType = "map";
-      } else {
-        this.middleType = "720";
-      }
-    },
-    getMapData() {
-      // console.log(this.params.id);
-      this.mapData = null;
-      getZhd({
-        id: this.params.id,
-      }).then((res) => {
-        console.log(res);
-        if (res.data && res.data.data) {
-          this.mapData = {
-            jd: res.data.data.dqjd1,
-            wd: res.data.data.dqwd1,
-            zl: res.data.data.总览信息1,
-            jzmc: res.data.data.ddmc,
-            showzhd: true,
-          };
-        }
-      });
-    },
-    getQueryString(name) {
-      var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
-      var r = window.location.search.substr(1).match(reg);
-      if (r != null) {
-        return unescape(r[2]);
-      }
-      return null;
-    },
-    callback(id) {
-      this.params.id = id;
-      this.getMapData();
-      this.getOtherData();
-    },
-    openBasicModal() {
-      this.showModal("basicInfoModal");
-    },
-    getOtherData() {
-      // 出警力量
-      const cdxxId = {
-        ajid: this.params.id,
-      };
-      getCdllxx(cdxxId).then((res) => {
-        this.cdxxList = res.data.rows;
-      });
-      // 出动力量-总览
-      geTzl(this.params).then((res) => {
-        this.zlxx = res.data.rows ? res.data.rows[0].zl : "";
-      });
-      // 火场文书
-      const hcwsId = {
-        jqTywysbm: this.params.id,
-      };
-      getHcws(hcwsId).then((res) => {
-        this.hcws1 = res.data.rows[0];
-        let i = res.data.rows;
-        let i2 = i.filter((item, index) => {
-          return index;
-        });
-        this.hcws = i2.map((i) => {
-          return {
-            ...i,
-            gxsj: moment(i.gxsj).format("yyyy-MM-DD"),
-          };
-        });
-        this.hcws1.gxsj = moment(this.hcws1.gxsj).format("yyyy-MM-DD");
-      });
-      // 事故单位信息-案件信息列表
-      getAjxx(this.params).then((res) => {
-        this.ajxxList = res.data.rows[0];
-      });
-      // 事故单位建筑信息
-      const jzxxid = {
-        ajid: this.params.id,
-      };
-      getJzxx(jzxxid).then((res) => {
-        this.jzxxList = res.data.rows;
-      });
-      // 风险隐患信息
-      const fxyhId = {
-        ajid: this.params.id,
-      };
-      getFxyhxx(fxyhId).then((res) => {
-        this.fxxxList =
-          res.data.rows && res.data.rows.length > 0 ? res.data.rows[0] : null;
-        this.lshzList = res.data.rows;
-      });
-      // 物联网设备信息
-      const wlwId = {
-        ajid: this.params.id,
-      };
-      getWlwsb(wlwId).then((res) => {
-        this.wlwsb = res.data.rows;
-      });
-    },
-    getList() {
-      const params1 = {
-        pageSize: 10000,
-        pageNum: 1,
-      };
-      getBjxx(params1).then((res) => {
-        let list = res.data.rows;
-        if (this.pId) {
-          list = list.filter((p) => p.id !== this.pId);
-          list.unshift(res.data.rows.find((p) => p.id === this.pId));
-        }
-        this.bjxxList = list;
-      });
-    },
-  },
-  created() {
-    const id = this.getQueryString("id");
-    this.pId = id;
-    this.getList();
-  },
-};
+	import MobilizeStrength from "./components/MobilizeStrength.vue";
+	import Alaem from "./components/Alarm.vue";
+	import UnitInformation from "./components/UnitInformation.vue";
+	import UnitInfo from "./components/UnitInfo.vue";
+	import Map from "@/components/Map.vue";
+	import moment from "moment";
+	import {
+		getBjxx,
+		geTzl,
+		getCdllxx,
+		getHcws,
+		getAjxx,
+		getJzxx,
+		getWlwsb,
+		getFxyhxx,
+		getZhd,
+	} from "@/api/jqdt.js";
+	export default {
+		name: "Fire",
+		components: {
+			Map,
+			Alaem,
+			MobilizeStrength,
+			UnitInformation,
+			UnitInfo,
+		},
+		data() {
+			return {
+				gxsj1: null,
+				pId: null,
+				params: {
+					pageSize: 100,
+					pageNum: 1,
+					qy: null,
+					id: null,
+				},
+				ajid: "",
+				bjxxList: [], //报警信息
+				cdxxList: [], //出动信息列表
+				zlxx: [], //出动信息总览
+				hcws: [], //火场文书
+				hcws1: [],
+				ajxxList: [],
+				jzxxList: {},
+				fxxxList: {},
+				lshzList: [],
+				wlwsb: [],
+				mapData: null,
+				middleType: "map",
+			};
+		},
+		methods: {
+			changeMiddleType() {
+				if (this.middleType === "720") {
+					this.getMapData();
+					this.middleType = "map";
+				} else {
+					this.middleType = "720";
+				}
+			},
+			getMapData() {
+				// console.log(this.params.id);
+				this.mapData = null;
+				getZhd({
+					id: this.params.id,
+				}).then((res) => {
+					console.log(res);
+					if (res.data && res.data.data) {
+						this.mapData = {
+							jd: res.data.data.dqjd1,
+							wd: res.data.data.dqwd1,
+							zl: res.data.data.总览信息1,
+							jzmc: res.data.data.ddmc,
+							showzhd: true,
+						};
+					}
+				});
+			},
+			getQueryString(name) {
+				var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
+				var r = window.location.search.substr(1).match(reg);
+				if (r != null) {
+					return unescape(r[2]);
+				}
+				return null;
+			},
+			callback(id) {
+				this.params.id = id;
+				this.getMapData();
+				this.getOtherData();
+			},
+			openBasicModal() {
+				this.showModal("basicInfoModal");
+			},
+			getOtherData() {
+				// 出警力量
+				const cdxxId = {
+					ajid: this.params.id,
+				};
+				getCdllxx(cdxxId).then((res) => {
+					this.cdxxList = res.data.rows;
+				});
+				// 出动力量-总览
+				geTzl(this.params).then((res) => {
+					this.zlxx = res.data.rows ? res.data.rows[0].zl : "";
+				});
+				// 火场文书
+				const hcwsId = {
+					jqTywysbm: this.params.id,
+				};
+				getHcws(hcwsId).then((res) => {
+					this.hcws1 = res.data.rows[0];
+					let i = res.data.rows;
+					let i2 = i.filter((item, index) => {
+						return index;
+					});
+					this.hcws = i2.map((i) => {
+						return {
+							...i,
+							gxsj: moment(i.gxsj).format("yyyy-MM-DD"),
+						};
+					});
+					this.hcws1.gxsj = moment(this.hcws1.gxsj).format("yyyy-MM-DD");
+				});
+				// 事故单位信息-案件信息列表
+				getAjxx(this.params).then((res) => {
+					this.ajxxList = res.data.rows[0];
+				});
+				// 事故单位建筑信息
+				const jzxxid = {
+					ajid: this.params.id,
+				};
+				getJzxx(jzxxid).then((res) => {
+					this.jzxxList = res.data.rows;
+				});
+				// 风险隐患信息
+				const fxyhId = {
+					ajid: this.params.id,
+				};
+				getFxyhxx(fxyhId).then((res) => {
+					this.fxxxList =
+						res.data.rows && res.data.rows.length > 0 ? res.data.rows[0] : null;
+					this.lshzList = res.data.rows;
+				});
+				// 物联网设备信息
+				const wlwId = {
+					ajid: this.params.id,
+				};
+				getWlwsb(wlwId).then((res) => {
+					this.wlwsb = res.data.rows;
+				});
+			},
+			getList() {
+				const params1 = {
+					pageSize: 10000,
+					pageNum: 1,
+				};
+				getBjxx(params1).then((res) => {
+					let list = res.data.rows;
+					if (this.pId) {
+						list = list.filter((p) => p.id !== this.pId);
+						list.unshift(res.data.rows.find((p) => p.id === this.pId));
+					}
+					this.bjxxList = list;
+				});
+			},
+		},
+		created() {
+			const id = this.getQueryString("id");
+			this.pId = id;
+			this.getList();
+		},
+	};
 </script>
 
 <style scoped lang="less">
-.m-btn {
-  width: 78px;
-  height: 72px;
-  position: absolute;
-  right: 20px;
-  top: 30px;
-  z-index: 99;
-  cursor: pointer;
-}
-.m-btn.d {
-  background: url("../../assets/images/dd-change-720.png") center center
-    no-repeat;
-  background-size: 78px 72px;
-}
-.m-btn.map {
-  background: url("../../assets/images/dd-change-map.png") center center
-    no-repeat;
-  background-size: 78px 72px;
-}
-</style>
+	.m-btn {
+		width: 78px;
+		height: 72px;
+		position: absolute;
+		right: 20px;
+		top: 30px;
+		z-index: 99;
+		cursor: pointer;
+	}
+
+	.m-btn.d {
+		background: url("../../assets/images/dd-change-720.png") center center no-repeat;
+		background-size: 78px 72px;
+	}
+
+	.m-btn.map {
+		background: url("../../assets/images/dd-change-map.png") center center no-repeat;
+		background-size: 78px 72px;
+	}
+</style>

+ 2 - 2
app/src/views/Risk/components/Investigation.vue

@@ -19,8 +19,8 @@
       <div >
         <div class="row header">
           <span class="time">排查指标</span>
-          <span class="person">正常数</span>
-          <span class="result">异常数</span>
+          <span class="person">正常数(个)</span>
+          <span class="result">异常数(个)</span>
         </div>
         <ul class="item">
             <li class="row" style="cursor: pointer;"  @click="ToFlage(checked)">

+ 2 - 2
app/src/views/Risk/components/RiskDanger.vue

@@ -131,9 +131,9 @@
     display: flex;
     justify-content: space-between;
     align-items: center;
-    font-size: 14px;
+    font-size: 16px;
     background-color: rgba(0, 0, 0, 0.2);
-    color: #44F1FF;
+    // color: #44F1FF;
     margin-top: 5px;
     .time,
     .type,

+ 5 - 1
app/src/views/Risk/components/Riskdistribution.vue

@@ -75,7 +75,7 @@ export default {
     classOption() {
       return {
         singleHeight: 43,
-        autoPlay: this.qx === "重庆市",
+        autoPlay: this.qx === "重庆市" && this.list.length >= 10,
       };
     },
   },
@@ -93,11 +93,15 @@ export default {
   methods: {
     change(idx) {
       if (this.checked !== idx) {
+        this.reload = false
         this.checked = idx;
         let tempData = this.originData.filter(
           (item) => item.fxdj === this.type[idx]
         );
         this.list = toFirst(tempData, this.qx, "qy");
+        setTimeout(() => {
+          this.reload = true
+        }, 200)
         // this.$emit('selectData', tempData)
       }
     },

+ 8 - 3
app/src/views/Risk/index.vue

@@ -128,9 +128,14 @@ export default {
         { title: params.name },
         () => {
           const item = params.data.meta
-          let res = `火灾起数 <span style="font-size: 24px;color:red;font-weight:bold;">${item.火灾起数 || 0}</span>起 <br />`;
-          res += `亡人数 <span style="font-size: 24px;color:red;font-weight:bold;">${item.亡人数 || 0}</span>人 <br />`;
-          res += `直接财产损失 <span style="font-size: 24px;color:red;font-weight:bold;">${Math.ceil((item.直接财产损失 || 0) / 10000)}</span>万元`;
+          let res = `${item.区域} 第<span style="font-size: 24px;color:red;font-weight:bold;">${item.区域排名 || 0}</span>名 <br />`;
+          res += `直接财产损失 <span style="font-size: 24px;color:red;font-weight:bold;">${Math.ceil((item.直接财产损失 || 0) / 10000)}</span>万元<br/>`;
+          res += `火灾起数 <span style="font-size: 24px;color:red;font-weight:bold;">${item.火灾起数 || 0}</span>起&nbsp;&nbsp;&nbsp;&nbsp;`;
+          res += `亡人数 <span style="font-size: 24px;color:red;font-weight:bold;">${item.亡人数 || 0}</span>人<br />`;
+          res += `重大风险栋数 <span style="font-size: 24px;color:red;font-weight:bold;">${item.重大风险 || 0}</span>栋&nbsp;&nbsp;&nbsp;&nbsp;`;
+          res += `较大风险栋数 <span style="font-size: 24px;color:red;font-weight:bold;">${item.较大风险 || 0}</span>栋<br/>`;
+          res += `一般风险栋数 <span style="font-size: 24px;color:red;font-weight:bold;">${item.一般风险 || 0}</span>栋&nbsp;&nbsp;&nbsp;&nbsp;`;
+          res += `低风险风数 <span style="font-size: 24px;color:red;font-weight:bold;">${item.低风险 || 0}</span>栋<br/>`;
           return res;
         }
       );