Browse Source

增加地图侧边标点,修改天气接口,增加部分title等

夜仔 3 years ago
parent
commit
834584372e

+ 1 - 1
src/App.vue

@@ -30,7 +30,7 @@ export default {
 #app {
   width: 100%;
   height: 100%;
-  background: url("./assets/img/home/home_bg.png") no-repeat;
+  background: url("./assets/img/home/home_bg.jpg") no-repeat;
   background-size: 100% 100%;
   display: flex;
   flex-direction: column;

BIN
src/assets/img/home/home_bg.jpg


BIN
src/assets/img/home/home_bg.png


BIN
src/assets/img/icon/blue1.png


BIN
src/assets/img/icon/blue2.png


BIN
src/assets/img/icon/blue3.png


BIN
src/assets/img/icon/blue4.png


BIN
src/assets/img/icon/blue5.png


BIN
src/assets/img/icon/blue6.png


BIN
src/assets/img/icon/blue7.png


BIN
src/assets/img/icon/blue8.png


BIN
src/assets/img/icon/tip11.png


BIN
src/assets/img/icon/tip12.png


BIN
src/assets/img/icon/tip13.png


+ 23 - 4
src/assets/scss/common.scss

@@ -31,6 +31,7 @@ body {
     height: 100%;
     overflow: hidden;
     display: flex;
+    padding-right: 0 !important;
 }
 
 // 对比按钮
@@ -60,19 +61,26 @@ body {
     &.is-light {
         background: #000;
         border-radius: 3%;
-        box-shadow: inset 0 0 0.2rem 0.0125rem #30cfff;
+        box-shadow: inset 0 0 0.2rem 0.0125rem #019FB7;
         background: rgba(0, 44, 110, 0.6);
         font-size: 0.2rem;
         padding: 0.1875rem;
         border: none;
         color: #FFF;
         .el-popper__arrow::before {
-            background: #30cfff;
-            display: none;
+            border-color: #019FB7;
+            border-width: 5px;
+            background: transparent;
         }
     }
 }
 
+.bluePopover {
+    &.is-light {
+        padding: 0;
+    }
+}
+
 .tableTooltip {
     height: auto;
     width: 4.375rem;
@@ -179,8 +187,9 @@ body {
             right: 0;
             bottom: 0.2rem;
             z-index: 9;
-            width: 1.6875rem;
+            width: min-content;
             .el-col {
+                width: 1.6875rem;
                 height: .6875rem;
                 margin-bottom: .0625rem;
                 line-height: .6875rem;
@@ -200,6 +209,16 @@ body {
             &>.redImage {
                 background: url('~@a/img/icon/tip4.png') no-repeat;
             }
+            &>.blueImageTip {
+                width: 2.25rem;
+                background: url('~@a/img/icon/tip11.png') no-repeat;
+            }
+            &>.yellowImageTip {
+                background: url('~@a/img/icon/tip12.png') no-repeat;
+            }
+            &>.redImageTip {
+                background: url('~@a/img/icon/tip13.png') no-repeat;
+            }
         }
         .btnW {
             position: absolute;

+ 6 - 1
src/assets/scss/element-ui.scss

@@ -19,6 +19,10 @@
         th {
             color: #FFF;
             background: rgba(0, 250, 251, 0.20);
+            .cell {
+                line-height: .425rem;
+                padding: 0;
+            }
         }
         thead {
             th {
@@ -41,8 +45,9 @@
         color: #FFF;
     }
     .cell {
-        line-height: 23px;
+        line-height: .425rem;
         padding: 0 .125rem;
+        // padding: 0;
     }
     .name-wrapper {
         white-space: nowrap;

+ 1 - 1
src/components/mixins/map.js

@@ -34,7 +34,7 @@ export default {
                 mapStyle: 'amap://styles/darkblue', //设置地图的显示样式
                 resizeEnable: true,
                 zoom: 13,
-                zooms: [3, 15],
+                zooms: [3, 16],
                 // features: [] //清空背景道路等
             })
             AMap.plugin(["AMap.Geolocation"], () => {

+ 2 - 1
src/components/radar/index.vue

@@ -7,6 +7,7 @@ import * as echarts from "echarts";
 export default {
   props: {
     dataMap: { type: Array, default: () => [] },
+    name: { type: String, default: () => '' },
   },
   data() {
     return {};
@@ -79,7 +80,7 @@ export default {
             data: [
               {
                 value: this.dataMap.map((val) => val.value), // 显示数据
-                name: "投诉举报情况", // 提示框标题
+                name: this.name, // 提示框标题
               },
             ],
           },

+ 1 - 1
src/views/Home.vue

@@ -341,7 +341,7 @@ $centerCirWidth: 3.375rem;
     box-sizing: border-box;
     & > .el-col {
       height: calc((100% - 1rem) / 3);
-      padding: 0.325rem 0.1875rem 0.175rem;
+      padding: .4375rem .3125rem .25rem;
       box-sizing: border-box;
       background: url('~@a/img/home/box-bg.png') no-repeat;
       background-size: 100% 100%;

+ 5 - 0
src/views/comprehensive-disposal.vue

@@ -45,6 +45,11 @@
         <el-row class="rightBtn btnW" @click="rightBtnClick()">
           <i :class="rightBtn ? 'el-icon-arrow-right' : 'el-icon-arrow-left'"></i>
         </el-row>
+        <el-row class="mapTips">
+          <el-col class="greenImage">社会救助</el-col>
+          <el-col class="yellowImage">抢险救援</el-col>
+          <el-col class="redImage">火警</el-col>
+        </el-row>
       </el-col>
     </transition>
     <transition name="el-fade-in-linear">

+ 6 - 0
src/views/enforcement-dynamic.vue

@@ -57,6 +57,11 @@
         <el-row class="rightBtn btnW" @click="rightBtnClick()">
           <i :class="rightBtn ? 'el-icon-arrow-right' : 'el-icon-arrow-left'"></i>
         </el-row>
+        <el-row class="mapTips">
+          <el-col class="greenImage">执法单位</el-col>
+          <el-col class="yellowImage">安检单位</el-col>
+          <el-col class="redImage">举报投诉</el-col>
+        </el-row>
       </el-col>
     </transition>
     <transition name="el-fade-in-linear">
@@ -74,6 +79,7 @@
               <radar-chart
                 v-if="reportComplaintList.length > 0"
                 :dataMap="reportComplaintList"
+                name="投诉举报情况"
                 ref="radarChart"
               ></radar-chart>
             </el-row>

+ 7 - 1
src/views/fire-data-analysis.vue

@@ -70,6 +70,12 @@
         <el-row class="rightBtn btnW" @click="rightBtnClick()">
           <i :class="rightBtn ? 'el-icon-arrow-right' : 'el-icon-arrow-left'"></i>
         </el-row>
+        <el-row class="mapTips">
+          <el-col class="greenImage">一级火灾</el-col>
+          <el-col class="blueImage">二级火灾</el-col>
+          <el-col class="yellowImage">三级火灾</el-col>
+          <el-col class="redImage">四级火灾</el-col>
+        </el-row>
       </el-col>
     </transition>
     <transition name="el-fade-in-linear">
@@ -484,7 +490,7 @@ export default {
   background: #000;
 }
 .contentBox {
-  font-family: "DS", "DS-B", "DS-BB", "DS-BS";
+  // font-family: "DS", "DS-B", "DS-BB", "DS-BS";
   & > .el-col {
     flex: 1;
     height: 100%;

+ 1 - 2
src/views/fire-signs.vue

@@ -58,6 +58,7 @@
               <radar-chart
                 v-if="reportComplaintList.length > 0"
                 :dataMap="reportComplaintList"
+                name="闵行区消防情况"
                 ref="radarChart"
               ></radar-chart>
           </el-col>
@@ -290,7 +291,6 @@ export default {
       background-size: 100% 100%;
       position: relative;
       max-height: 51%;
-      overflow: hidden;
       h4 {
         font-size: 0.2125rem;
         position: absolute;
@@ -409,7 +409,6 @@ export default {
         padding: .375rem .375rem .25rem;
         box-sizing: border-box;
         width: 100%;
-        overflow: hidden;
         h4 {
           font-size: 0.2125rem;
           position: absolute;

+ 89 - 0
src/views/foot.vue

@@ -23,6 +23,50 @@
           {{ item.name }}
         </el-col>
       </el-row>
+      <el-popover
+        placement="top"
+        trigger="click"
+        class="bluePopover"
+      >
+        <template #reference>
+          <el-row class="blueHelp"></el-row>
+        </template>
+        <el-row class="dialogTitle">蓝小帮</el-row>
+        <el-row class="dialogBox">
+          <el-col :span="5" @click="goBlueHelp(0)">
+            <img src="~@a/img/icon/blue1.png" alt="">
+            <span>项目申报记录</span>
+          </el-col>
+          <el-col :span="5" @click="goBlueHelp(1)">
+            <img src="~@a/img/icon/blue2.png" alt="">
+            <span>用户反馈记录</span>
+          </el-col>
+          <el-col :span="5" @click="goBlueHelp(2)">
+            <img src="~@a/img/icon/blue3.png" alt="">
+            <span>法规目录表</span>
+          </el-col>
+          <el-col :span="5" @click="goBlueHelp(4)">
+            <img src="~@a/img/icon/blue4.png" alt="">
+            <span>普法宣传记录</span>
+          </el-col>
+          <el-col :span="5" @click="goBlueHelp(6)">
+            <img src="~@a/img/icon/blue5.png" alt="">
+            <span>题目表</span>
+          </el-col>
+          <el-col :span="5" @click="goBlueHelp(7)">
+            <img src="~@a/img/icon/blue6.png" alt="">
+            <span>关键字表</span>
+          </el-col>
+          <el-col :span="5" @click="goBlueHelp(5)">
+            <img src="~@a/img/icon/blue7.png" alt="">
+            <span>用户信息表</span>
+          </el-col>
+          <el-col :span="5" @click="goBlueHelp(9)">
+            <img src="~@a/img/icon/blue8.png" alt="">
+            <span>留言记录表</span>
+          </el-col>
+        </el-row>
+      </el-popover>
     </el-row>
   </el-row>
 </template>
@@ -41,6 +85,7 @@ export default {
         { name: "警情综合处置", router: "/comprehensive-disposal" },
         { name: "大型安保预案", router: "/security-plan" },
       ],
+      dialogVisible:false,
     };
   },
   watch: {
@@ -63,6 +108,12 @@ export default {
         });
       }
     },
+    handleClose(done){
+      done()
+    },
+    goBlueHelp(val){
+      window.open(`http://120.55.70.156/bulehelp/?type=${val}`)
+    }
   },
 };
 </script>
@@ -84,6 +135,7 @@ export default {
     display: flex;
     justify-content: space-between;
     flex-wrap: nowrap;
+    position: relative;
   }
   .el-col {
     flex: none;
@@ -115,5 +167,42 @@ export default {
     transform: rotate(3deg);
     // padding-left: 90px;
   }
+  .blueHelp{
+    position: absolute;
+    left: 0;
+    right: 0;
+    top: 0;
+    bottom: 0;
+    margin: auto;
+    width: .8rem;
+    height: .8rem;
+  }
 }
+.dialogTitle{
+  line-height: 30px;
+  border-bottom: 1px solid #019fb7;
+  color: #56D1ED;
+}
+  .dialogBox{
+    width: 5.5rem;
+    height: auto;
+    display: flex;
+    flex-wrap: wrap;
+    align-items: center;
+    justify-content: space-between;
+    .el-col{
+      height: 1.25rem;
+      width: 1.25rem;
+      // margin: .125rem;
+      display: flex;
+      flex-direction: column;
+      justify-content: center;
+      align-items: center;
+      font-size: .1875rem;
+      line-height: .375rem;
+      span{
+        margin-top: 10px;
+      }
+    }
+  }
 </style>

+ 36 - 15
src/views/head.vue

@@ -3,9 +3,18 @@
     <span class="title">闵行区消防安全与综合救援管理平台</span>
     <div class="day">{{ dateDay }}</div>
     <div class="time">{{ dataTime }}</div>
+    <div class="homeIcon" v-if="$route.fullPath !== '/'">
+      <i class="el-icon-s-home" @click="$router.push({path: '/',})"></i>
+    </div>
     <div class="weather">
-      <img v-if="weatherObj.weather_pic" :src="weatherObj.weather_pic || ''" alt="">
-      <span v-if="weatherObj.weather">{{weatherObj.weather}}   {{weatherObj.temperature}}℃</span>
+      <img
+        v-if="weatherObj.weather_pic"
+        :src="weatherObj.weather_pic || ''"
+        alt=""
+      />
+      <span v-if="weatherObj.weather"
+        >{{ weatherObj.weather }} {{ weatherObj.temperature }}℃</span
+      >
     </div>
     <el-row class="timeSelect">
       <img src="~@a/img/home/circle_box.png" alt="" class="timeImage" />
@@ -39,7 +48,7 @@ export default {
     return {
       dateDay: "",
       dataTime: "",
-      weatherObj:{},
+      weatherObj: {},
       dataWeekList: ["一", "二", "三", "四", "五", "六", "七"],
       value1: [],
       defaultTime: [
@@ -49,13 +58,14 @@ export default {
     };
   },
   created() {
+    console.log(this.$route)
     this.value1 = this.$store.state.timeList.map((val) => {
       return val;
     });
     this.getWeather();
     setInterval(() => {
       this.getWeather();
-    },1000*60*30)
+    }, 1000 * 60 * 30);
   },
   mounted() {
     setInterval(() => {
@@ -82,11 +92,12 @@ export default {
   methods: {
     async getWeather() {
       let res = await this.$axios.get(
-        "https://weather01.market.alicloudapi.com/area-to-weather"
+        '/aliWeather'
       );
-      if(res.showapi_res_code === 0){
-        this.weatherObj = res.showapi_res_body.now
-        console.log(this.weatherObj)
+      console.log(res)
+      if (res.showapi_res_code === 0) {
+        this.weatherObj = res.showapi_res_body.now;
+        console.log(this.weatherObj);
       }
     },
     timeTypeClick(val) {
@@ -119,6 +130,16 @@ export default {
     text-shadow: #275372 1px 0 0, #28bcfa 0 1px 0, #28bcfa -1px 0 0,
       #28bcfa 0 -1px 0;
   }
+  .homeIcon {
+    position: absolute;
+    right: .6875rem;
+    top: .0625rem;
+    font-size: .625rem;
+    color: #28bcfa;
+    i{
+      cursor: pointer;
+    }
+  }
   .day {
     position: absolute;
     left: 1.7rem;
@@ -138,20 +159,20 @@ export default {
     color: #fbb03b;
     font-family: "DS", "DS-B", "DS-BB", "DS-BS";
   }
-  .weather{
+  .weather {
     position: absolute;
     left: 5.375rem;
-    top: 0.125rem;
+    top: .0625rem;
     display: flex;
     justify-content: center;
     align-items: center;
-    img{
+    img {
       display: block;
-      width: .375rem;
+      width: 0.375rem;
     }
-    span{
-      font-size: .2rem;
-      margin-left: .125rem;
+    span {
+      font-size: 0.2rem;
+      margin-left: 0.125rem;
     }
   }
   .timeSelect {

+ 6 - 1
src/views/rescue-station.vue

@@ -96,6 +96,11 @@
         <el-row class="rightBtn btnW" @click="rightBtnClick()">
           <i :class="rightBtn ? 'el-icon-arrow-right' : 'el-icon-arrow-left'"></i>
         </el-row>
+        <el-row class="mapTips">
+          <el-col class="blueImageTip">消防站</el-col>
+          <el-col class="yellowImageTip">单位微型消防站</el-col>
+          <el-col class="redImageTip">居村微型消防站</el-col>
+        </el-row>
       </el-col>
     </transition>
     <transition name="el-fade-in-linear">
@@ -562,7 +567,7 @@ export default {
       }
     }
     .leftBot {
-      padding: .3125rem .1875rem 0.25rem;
+      padding: 0.5rem 0.35rem 0.25rem;
       box-sizing: border-box;
       .el-table {
         border-radius: 0.125rem;

+ 1 - 1
src/views/self-management.vue

@@ -15,7 +15,7 @@ export default {
 .el-row {
   width: 100%;
   height: 100%;
-  background: url(~@a/img/test/bg4.png) no-repeat;
+  background: url(~@a/img/test/bg6.png) no-repeat;
   background-size: 100% 100%;
 }
 </style>

+ 2 - 1
src/views/water-sources.vue

@@ -313,7 +313,6 @@ export default {
   box-sizing: border-box;
   padding-bottom: 0.125rem;
   color: #fff;
-  font-family: "DS", "DS-B", "DS-BB", "DS-BS";
   & > .el-col {
     flex: 1;
     max-width: 8rem;
@@ -438,6 +437,7 @@ export default {
       align-items: center;
       padding: 0.375rem 0.45rem 0.1875rem;
       box-sizing: border-box;
+      font-family: "DS", "DS-B", "DS-BB", "DS-BS";
       .leftBotTop {
         width: 3.5rem;
         height: 100%;
@@ -520,6 +520,7 @@ export default {
     .rightTop {
       padding: 0.375rem 0.475rem 0.1875rem;
       margin-bottom: 0.125rem;
+      font-family: "DS", "DS-B", "DS-BB", "DS-BS";
       .rightBoxCon {
         width: 100%;
         height: 100%;