Selaa lähdekoodia

Merge branch 'master' of ssh://gogs.zfire.top:2222/zfire-front/zfire-newmall-admin

* 'master' of ssh://gogs.zfire.top:2222/zfire-front/zfire-newmall-admin:
  no message
  no message
  no message
  no message
  no message
  no message
  no message
  no message
  no message
Moss 1 vuosi sitten
vanhempi
commit
80e60f0ff0

+ 0 - 10
package-lock.json

@@ -3927,11 +3927,6 @@
       "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==",
       "dev": true
     },
-    "@vue-office/excel": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmmirror.com/@vue-office/excel/-/excel-1.3.0.tgz",
-      "integrity": "sha512-YWtZkMZfPSWfoW7IDcf+gU70AJlJ05vCSN5yT+Tl9WLJBwNvSIgS2U46nzNvIDqRGbc7k/jWpZHg2pED3UBAKg=="
-    },
     "@vue/babel-helper-vue-jsx-merge-props": {
       "version": "1.2.1",
       "resolved": "https://registry.npmmirror.com/@vue/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-1.2.1.tgz",
@@ -8840,11 +8835,6 @@
         "zrender": "5.5.0"
       }
     },
-    "echarts-china-cities-js": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npmmirror.com/echarts-china-cities-js/-/echarts-china-cities-js-0.1.1.tgz",
-      "integrity": "sha512-Xc7ShyUCaKeS5JHLygvpdZQ6A2nPN8MdVSMLMJhnl7Inatu1eRCJ6DtkeN4WtrjjpRmFYuQfYxKJ2K6Nb+3KLg=="
-    },
     "editorconfig": {
       "version": "0.15.3",
       "resolved": "https://registry.npmmirror.com/editorconfig/-/editorconfig-0.15.3.tgz",

+ 0 - 2
package.json

@@ -17,7 +17,6 @@
   "dependencies": {
     "@jiaminghi/data-view": "^2.10.0",
     "@turf/turf": "^6.5.0",
-    "@vue-office/excel": "^1.3.0",
     "@vue/composition-api": "^1.7.1",
     "@zjlib/element-plugins": "^2.14.1",
     "@zjlib/element-ui2": "^1.0.3",
@@ -27,7 +26,6 @@
     "concurrent-tasks": "^1.0.7",
     "core-js": "^3.6.5",
     "echarts": "^5.5.0",
-    "echarts-china-cities-js": "^0.1.1",
     "file-saver": "^2.0.5",
     "html2canvas": "^1.4.1",
     "js-cookie": "2.2.0",

+ 8 - 0
src/api/common.js

@@ -17,6 +17,14 @@ export function bigGetLarge1(params) {
   })
 }
 
+export function bigGetLarge10(params) {
+  return request({
+    url: '/big/getLarge10',
+    method: 'get',
+    params
+  })
+}
+
 export function bigGetLarge3(params) {
   return request({
     url: '/big/getLarge3',

BIN
src/assets/head8.png


BIN
src/assets/全屏@2x.png


BIN
src/assets/刷新@2x.png


+ 7 - 1
src/components/Screenfull/index.vue

@@ -1,6 +1,6 @@
 <template>
   <div>
-    <svg-icon :icon-class="isFullscreen ? 'exit-fullscreen' : 'fullscreen'" @click="click" />
+    <svg-icon :className="className" :icon-class="isFullscreen ? 'exit-fullscreen' : 'fullscreen'" @click="click" />
   </div>
 </template>
 
@@ -9,6 +9,12 @@ import screenfull from 'screenfull'
 
 export default {
   name: 'Screenfull',
+  props:{
+    className: {
+      type: String,
+      default: ''
+    },
+  },
   data() {
     return {
       isFullscreen: false

+ 0 - 75
src/components/fileOnlineView/index.vue

@@ -1,75 +0,0 @@
-<template>
-  <div class="fileOnlineView">
-    <el-dialog
-      title="文件在线预览"
-      :show-close="true"
-      :modal="false"
-      :append-to-body="false"
-      :destroy-on-close="true"
-      :before-close="closeMapDispatch"
-      :visible.sync="mapDispatchDialog"
-    >
-      <div style="width: 100%; height: 100%" id="handout_wrap_inner">
-        <vue-office-excel :src="value" @rendered="rendered" />
-      </div>
-    </el-dialog>
-  </div>
-</template>
-
-<script>
-import VueOfficeExcel from '@vue-office/excel'
-import '@vue-office/excel/lib/index.css'
-export default {
-  components: {
-    VueOfficeExcel
-  },
-  props: {
-    value: {
-      type: String,
-      default: ''
-    }
-  },
-  data() {
-    return {
-      excel: '',
-      mapDispatchDialog: false
-    }
-  },
-  watch: {
-    value(newVal) {
-      this.$nextTick(() => {
-        this.mapDispatchDialog = newVal ? true : false
-      })
-    }
-  },
-  methods: {
-    rendered() {
-      console.log('渲染完成')
-    },
-    closeMapDispatch() {
-      this.$emit('input', '')
-    }
-  }
-}
-</script>
-
-<style lang="scss">
-.fileOnlineView {
-  .el-dialog__wrapper {
-    width: 100% !important;
-    height: 100% !important;
-    position: absolute !important;
-  }
-  .el-dialog {
-    margin: 0 !important;
-    width: 100%;
-    height: 100%;
-  }
-  .el-dialog__body {
-    padding: 0 !important;
-    width: 100%;
-    height: calc(100% - 58px);
-    position: relative;
-  }
-}
-</style>

+ 52 - 58
src/components/head.vue

@@ -1,21 +1,20 @@
 <template>
   <div class="headview">
-    <div class="asleft">
-      <dv-scroll-board
-        ref="scrollBoard"
-        :config="config"
-        style="width: 100%; height: 100%"
-      />
+    <div class="dierjibie">
+      <img :src="[img0, img1, img2][swindex]" alt="" srcset="" />
+      <div class="asleft">
+      </div>
+      <div class="aszhongjian">
+        {{userInfo.companyWechatId ? userInfo.companyName : "售修宝运营平台"}}
+      </div>
+      <div class="asright">{{ timeStr }}</div>
     </div>
-    <img :src="[img0, img1, img2][swindex]" alt="" srcset="" />
-    <div class="asright">{{ timeStr }}</div>
   </div>
 </template>
 
 <script>
-import { dateFormat } from '@/utils/tool.js';
-import { tq } from '@/api/bigView.js';
-import img0 from '@/assets/head0.png';
+import { dateFormat2 } from '@/utils/util.js';
+import img0 from '@/assets/head8.png';
 import img1 from '@/assets/head1.png';
 import img2 from '@/assets/head2.png';
 export default {
@@ -33,55 +32,26 @@ export default {
       timeStr: '',
       timeId: null,
       info: {},
-      config: {
-        rowNum: 1,
-        carousel: 'page',
-        data: [],
-        waitTime: 3000,
-      },
     };
   },
+  computed: {
+    // 用户信息
+    userInfo() {
+      return JSON.parse(localStorage.getItem('greemall_user'))
+    },
+  },
   mounted() {
-    this.gettq();
-    this.timeId2 = setInterval(this.gettq, 60000 * 60 * 8);
-    this.timeId = setInterval(() => {
-      let date = new Date();
-      this.timeStr = dateFormat('YYYY-mm-dd HH:MM:SS WWW', date);
-    }, 1000);
+    this.jishikaishi()
   },
   beforeUnmount() {
     this.timeId && clearInterval(this.timeId);
-    this.timeId2 && clearInterval(this.timeId2);
   },
   methods: {
-    gettq() {
-      Promise.all([
-        tq('广州市'),
-        tq('清远市'),
-        tq('韶关市'),
-        tq('佛山市'),
-        tq('肇庆市'),
-        tq('云浮市'),
-      ])
-        .then((reslist) => {
-          var atrlist = reslist.map((item2) => {
-            var item = item2.data;
-            return [
-              `<div class="jajajaj">${
-                item.result.city
-                  ? `${item.result.city} :${item.result.weather || ''} ${
-                      item.result.templow || ''
-                    }℃ ~${item.result.temphigh || ''}℃`
-                  : ''
-              }</div>`,
-            ];
-          });
-          this.$refs['scrollBoard'].updateRows(atrlist);
-        })
-        .catch((err) => {
-          console.log(err);
-        });
-    },
+    jishikaishi(){
+      let date = new Date();
+      this.timeStr = dateFormat2('YYYY-mm-dd HH:MM:SS WWW', date);
+      this.timeId = setTimeout(this.jishikaishi,1000);
+    }
   },
 };
 </script>
@@ -109,19 +79,43 @@ export default {
   height: 100%;
   position: relative;
   overflow: hidden;
+  .dierjibie{
+    width: 100%;
+    min-width: 1600px;
+    height: 100%;
+    position: absolute;
+    top: 0;
+    left: 50%;
+    transform: translateX(-50%);
+  }
   img {
     position: absolute;
     bottom: 0;
-    width: 1920;
+    width: 100%;
+    min-width: 1600px;
     height: 58px;
   }
+  .aszhongjian {
+    font-family: Source Han Sans CN;
+    font-weight: 500;
+    font-size: 36px;
+    color: #FFFFFF;
+    line-height: 35px;
+    background: linear-gradient(0deg, #FFFFFF 0%, #B0D7FF 100%);
+    -webkit-background-clip: text;
+    -webkit-text-fill-color: transparent;
+    position: absolute;
+    bottom: 12px;
+    left: 50%;
+    transform: translateX(-50%);
+    text-align: center;
+  }
   .asleft {
-    width: 500px;
     height: 24px;
     overflow: hidden;
     position: absolute;
-    bottom: 10px;
-    left: 67px;
+    bottom: 12px;
+    left: 160px;
   }
   .asright {
     font-size: 20px;
@@ -130,8 +124,8 @@ export default {
     text-align: left;
     color: #34c7ff;
     position: absolute;
-    bottom: 10px;
-    right: 67px;
+    bottom: 12px;
+    right: 160px;
   }
 }
 </style>

+ 62 - 0
src/utils/util.js

@@ -2,6 +2,68 @@ import axios from 'axios'
 import FileSaver from 'file-saver'
 import { getToken } from '@/utils/auth'
 
+export function dateFormat2(format, date) {
+  if (typeof date === 'string') {
+    date = new Date(date);
+  }
+  const we = date.getDay(); // 星期
+  const qut = Math.floor((date.getMonth() + 3) / 3).toString(); // 季度
+  const opt = {
+    'Y+': date.getFullYear().toString(), // 年
+    'm+': (date.getMonth() + 1).toString(), // 月(月份从0开始,要+1)
+    'd+': date.getDate().toString(), // 日
+    'H+': date.getHours().toString(), // 时
+    'M+': date.getMinutes().toString(), // 分
+    'S+': date.getSeconds().toString(), // 秒
+    'q+': qut, // 季度
+  };
+  const week = {
+    // 中文数字 (星期)
+    0: '日',
+    1: '一',
+    2: '二',
+    3: '三',
+    4: '四',
+    5: '五',
+    6: '六',
+  };
+  const quarter = {
+    // 中文数字(季度)
+    1: '一',
+    2: '二',
+    3: '三',
+    4: '四',
+  };
+  if (/(W+)/.test(format)) {
+    format = format.replace(
+      RegExp.$1,
+      RegExp.$1.length > 1
+        ? RegExp.$1.length > 2
+          ? '星期' + week[we]
+          : '周' + week[we]
+        : week[we]
+    );
+  }
+  if (/(Q+)/.test(format)) {
+    // 输入一个Q,只输出一个中文数字,输入4个Q,则拼接上字符串
+    format = format.replace(
+      RegExp.$1,
+      RegExp.$1.length === 4 ? '第' + quarter[qut] + '季度' : quarter[qut]
+    );
+  }
+  for (const k in opt) {
+    const r = new RegExp('(' + k + ')').exec(format);
+    if (r) {
+      // 若输入的长度不为1,则前面补零
+      format = format.replace(
+        r[1],
+        RegExp.$1.length === 1 ? opt[k] : opt[k].padStart(RegExp.$1.length, '0')
+      );
+    }
+  }
+  return format;
+}
+
 // 定义一个函数将树形数据转换为列表
 export function treeToList(tree, key = "children", list = []) {
   // 将当前节点添加到列表中

+ 20 - 12
src/views/bigViews/dataView1/components/mapDataStatistics.vue

@@ -1,7 +1,7 @@
 <template>
   <div class="heat-lay">
     <div class="heat-lay-flex">
-      <div class="heat-lay-item" style="width: 100%">
+      <div class="heat-lay-item" style="width: 100%" v-if="userInfo.type==2">
         <div class="heat-item-style1">
           <div class="heat-item-style1-title">总运营商户(家)</div>
           <div class="fujimaintext">
@@ -43,7 +43,7 @@
     </div>
     <div class="horizontalLine"></div>
     <div class="heat-lay-flex">
-      <div class="heat-lay-item" style="width: 100%">
+      <div class="heat-lay-item" style="width: 100%" v-if="userInfo.type==2">
         <div class="heat-item-style1">
           <div class="heat-item-style1-title">今日登入商户(家)</div>
           <div class="fujimaintext">
@@ -112,20 +112,28 @@ export default {
       }
     };
   },
-  watch: {
-    
-  },
-  mounted() {
-    this.getBigGetLarge1()
+  computed: {
+    userInfo() {
+      return JSON.parse(localStorage.getItem('greemall_user'))
+    },
   },
-  beforeUnmount() {
+  watch:{
+    "userInfo.type":{
+      handler(newVal, oldVal) {
+        this.getBigGetLarge1()
+      },
+      deep: true,
+      immediate: true,
+    }
   },
   methods: {
    getBigGetLarge1(pam){
-    bigGetLarge2(pam).then(res=>{
-      this.info = res.data
-      console.log(this.info,"niunpionpoimo;i")
-    })
+    if(this.userInfo){
+      (this.userInfo.type == 2 ? bigGetLarge1 : bigGetLarge2)(pam).then(res=>{
+        this.info = res.data
+        console.log(this.info,"niunpionpoimo;i")
+      })
+    }
    }
   },
 };

+ 189 - 244
src/views/bigViews/dataView1/components/mapdata.vue

@@ -12,28 +12,7 @@
           <div id="chart_7" class="chart t_btn9" style="width: 100%; height: 100%"></div>
           <div class="leixingxianshi">
             <div class="viewfilediv">
-              <div class="zfx c1"></div>
-              <span>新增安装</span>
-            </div>
-            <div class="viewfilediv">
-              <div class="zfx c2"></div>
-              <span>安装设备</span>
-            </div>
-            <div class="viewfilediv">
-              <div class="zfx c3"></div>
-              <span>新增维修</span>
-            </div>
-            <div class="viewfilediv">
-              <div class="zfx c9"></div>
-              <span>新增清洗</span>
-            </div>
-            <div class="viewfilediv">
-              <div class="zfx c4"></div>
-              <span>安装未完工</span>
-            </div>
-            <div class="viewfilediv">
-              <div class="zfx c5"></div>
-              <span>维修未完工</span>
+              <div class="zfx" style="width:60px; background: linear-gradient(to right, #6ada40,#ebe24a,#d73921);"></div>
             </div>
           </div>
         </div>
@@ -47,36 +26,36 @@ import zhejiang from './js/zhejiang.js';
 import moduleEnclosure from '@/components/moduleEnclosure.vue';
 import mapDataStatistics from './mapDataStatistics.vue';
 import * as echarts from 'echarts';
-import { bigGetRegion, bigGetLarge9 } from '@/api/common.js';
+import { bigGetRegion, bigGetLarge9, bigGetLarge10 } from '@/api/common.js';
 // 计算 GeoJSON 数据的边界框
 function calculateBoundingBox(geoJsonData) {
-    let minX = Infinity, minY = Infinity, maxX = -Infinity, maxY = -Infinity;
-    geoJsonData.features.forEach((feature) => {
-        const coordinates = feature.geometry.coordinates;
-        const type = feature.geometry.type;
-        if (type === 'Polygon') {
-            coordinates.forEach((polygon) => {
-                polygon.forEach((coord) => {
-                    minX = Math.min(minX, coord[0]);
-                    minY = Math.min(minY, coord[1]);
-                    maxX = Math.max(maxX, coord[0]);
-                    maxY = Math.max(maxY, coord[1]);
-                });
-            });
-        } else if (type === 'MultiPolygon') {
-            coordinates.forEach((multiPolygon) => {
-                multiPolygon.forEach((polygon) => {
-                    polygon.forEach((coord) => {
-                        minX = Math.min(minX, coord[0]);
-                        minY = Math.min(minY, coord[1]);
-                        maxX = Math.max(maxX, coord[0]);
-                        maxY = Math.max(maxY, coord[1]);
-                    });
-                });
-            });
-        }
-    });
-    return { minX, minY, maxX, maxY };
+  let minX = Infinity, minY = Infinity, maxX = -Infinity, maxY = -Infinity;
+  geoJsonData.features.forEach((feature) => {
+    const coordinates = feature.geometry.coordinates;
+    const type = feature.geometry.type;
+    if (type === 'Polygon') {
+      coordinates.forEach((polygon) => {
+        polygon.forEach((coord) => {
+          minX = Math.min(minX, coord[0]);
+          minY = Math.min(minY, coord[1]);
+          maxX = Math.max(maxX, coord[0]);
+          maxY = Math.max(maxY, coord[1]);
+        });
+      });
+    } else if (type === 'MultiPolygon') {
+      coordinates.forEach((multiPolygon) => {
+        multiPolygon.forEach((polygon) => {
+          polygon.forEach((coord) => {
+            minX = Math.min(minX, coord[0]);
+            minY = Math.min(minY, coord[1]);
+            maxX = Math.max(maxX, coord[0]);
+            maxY = Math.max(maxY, coord[1]);
+          });
+        });
+      });
+    }
+  });
+  return { minX, minY, maxX, maxY };
 }
 export default {
   components: {
@@ -100,164 +79,179 @@ export default {
       cIndex: 0,
       oldcIndex: 0,
       myChart: null,
-      getLarge9: []
+      getLarge9: [],
+      getLarge10: []
     };
   },
-  mounted() {
-    this.getbigGetLarge9();
-    
+  computed: {
+    userInfo() {
+      return JSON.parse(localStorage.getItem('greemall_user'))
+    },
+  },
+  watch:{
+    "userInfo.type":{
+      handler(newVal, oldVal) {
+        if(this.userInfo){
+          if (this.userInfo.type == 2){
+            this.getbigGetLarge9({ country: 100000 });
+          }else{
+            this.getbigGetLarge10({ province:this.userInfo.province, city: this.userInfo.city });
+          }
+        }
+      },
+      deep: true,
+      immediate: true,
+    }
   },
   methods: {
-    getbigGetLarge9(){
-      bigGetLarge9().then(res=>{
+    getbigGetLarge9(pam) {
+      bigGetLarge9().then(res => {
         this.getLarge9 = res.data
-        this.echart_7();
+        this.getLarge10 = []
+        this.echart_7(pam);
       })
     },
-    echart_7(pam={
-        country: 100000,
-        // province:"广东省",
-        // city: "广州市"
-      }) {
-        var that = this;
-        if (that.myChart) {
-          that.myChart.dispose();
-        }
-        bigGetRegion(pam).then(res => {
-          // 初始化 ECharts 实例
-          that.myChart = echarts.init(document.getElementById('chart_7'));
-          const geoJsonData = JSON.parse(res.data);
-          // 计算边界框
-          const boundingBox = calculateBoundingBox(geoJsonData);
-          // 计算中心点
-          const center = [
-            (boundingBox.minX + boundingBox.maxX) / 2,
-            (boundingBox.minY + boundingBox.maxY) / 2
-          ];
-          echarts.registerMap('china', geoJsonData);
-          // 指定城市和颜色
-          var cityColors = {};
-          this.getLarge9.map(name => {
-            cityColors[name] = "#009eff";
-          });
-          // 构建 series 数据
-          var seriesData = Object.keys(cityColors).map(function (city) {
-            return {
-              name: city,
-              itemStyle: {
-                normal: {
-                  areaColor: cityColors[city],
-                  borderColor: 'rgba(0,0,0,0)'
-                },
-                emphasis: {
-                  areaColor: cityColors[city],
-                  borderColor: 'rgba(0,0,0,0)'
-                }
+    getbigGetLarge10(pam) {
+      bigGetLarge10(pam).then(res => {
+        this.getLarge9 = []
+        this.getLarge10 = res.data
+        this.echart_7({ province:this.userInfo.province, city: this.userInfo.city });
+      })
+    },
+    echart_7(pam) {
+      var that = this;
+      if (that.myChart) {
+        that.myChart.dispose();
+      }
+      bigGetRegion(pam).then(res => {
+        // 初始化 ECharts 实例
+        that.myChart = echarts.init(document.getElementById('chart_7'));
+        const geoJsonData = JSON.parse(res.data);
+        // 计算边界框
+        const boundingBox = calculateBoundingBox(geoJsonData);
+        // 计算中心点
+        const center = [
+          (boundingBox.minX + boundingBox.maxX) / 2,
+          (boundingBox.minY + boundingBox.maxY) / 2
+        ];
+        echarts.registerMap('china', geoJsonData);
+        // 指定城市和颜色
+        var cityColors = {};
+        this.getLarge9.map(name => {
+          cityColors[name] = "#009eff";
+        });
+        this.getLarge10.map(item => {
+          cityColors[item.area] = item.num<=2 ? "#6ada40" : item.num<=4 ? "#ebe24a" : item.num > 4 ? "#d73921" : "none"
+        });
+
+        console.log(this.getLarge9, this.getLarge10, cityColors)
+        // 构建 series 数据
+        var seriesData = Object.keys(cityColors).map(function (city) {
+          return {
+            name: city,
+            itemStyle: {
+              normal: {
+                areaColor: cityColors[city],
+                borderColor: 'none'
+              },
+              emphasis: {
+                areaColor: cityColors[city],
+                borderColor: 'none'
               }
-            };
-          });
-          // 配置项
-          var option = {
-            tooltip: {
-              trigger: 'item',
-              formatter: '{b}'
             },
-            geo: {
-              map: 'china',
-              roam: true,
-              zoom: pam.country ? 1.3 : pam.city ? 4.5 : pam.province ? 1.7 : 2, // 设置缩放比例
-              center: center,
-              itemStyle: {
-                normal: {
-                  areaColor: 'rgba(0,0,0,0)',
-                  borderColor: '#096DF3'
-                },
-                emphasis: {
-                  areaColor: '#7024fb'
-                }
-              },
-              regions: [
-                ...seriesData,
-                {
-                  name: "南海诸岛",
-                  itemStyle: {
-                    normal: {
-                      opacity: 0,
-                    }
+          };
+        });
+        var mapcon = {
+          itemStyle: {
+            normal: {
+              borderColor: 'rgba(0,144,255, 1)',
+              borderWidth: 1,
+              areaColor: {
+                type: 'radial',
+                x: 0.4,
+                y: 0.5,
+                r: 1,
+                colorStops: [
+                  {
+                    offset: 0,
+                    color: 'rgba(0,144,255, 0)', // 0% 处的颜色
                   },
-                  label: {
-                    show: false
-                  }
-                }
-              ]
+                  {
+                    offset: 1,
+                    color: 'rgba(0,144,255, .1)', // 100% 处的颜色
+                  },
+                  {
+                    offset: 1,
+                    color: 'rgba(0,144,255, 1)', // 100% 处的颜色
+                  },
+                ],
+                globalCoord: false, // 缺省为 false
+              },
+              shadowColor: 'rgba(0,144,255, 1)',
+              shadowOffsetX: -1,
+              shadowOffsetY: 1,
+              shadowBlur: 10,
             },
-            series: [{
-              type: 'map',
-              map: 'china',
-              geoIndex: 0,
-              data: seriesData
-            }]
-          };
-          // 使用配置项生成图表
-          that.myChart.setOption(option);
-
-          // 监听点击事件
-          that.myChart.on('click', function (params) {
-            // 更新地区颜色
-            var updatedSeriesData = seriesData.map(function (item) {
-              if (item.name === params.name) {
-                return {
-                  name: item.name,
-                  itemStyle: {
-                    normal: {
-                      areaColor: 'red',
-                      borderColor: 'rgba(0,0,0,0)'
-                    },
-                    emphasis: {
-                      areaColor: 'none',
-                    }
-                  }
-                };
-              } else {
-                return {
-                  name: item.name,
-                  itemStyle: {
-                    normal: {
-                      areaColor: cityColors[item.name] || 'rgba(0,0,0,0)',
-                      borderColor: 'rgba(0,0,0,0)'
-                    },
-                    emphasis: {
-                      areaColor: 'none',
-                    }
+            emphasis: {
+              areaColor: '#0082ff',
+              borderWidth: 0,
+            },
+          },
+          select: {
+            // 地图选中区域样式
+            label: {
+              // 选中区域的label(文字)样式
+              color: '#fff',
+            },
+            itemStyle: {
+              // 选中区域的默认样式
+              areaColor: '#7024fb',
+            },
+          },
+          animation: false,
+        };
+        // 配置项
+        var option = {
+          tooltip: {
+            trigger: 'item',
+            formatter: '{b}'
+          },
+          geo: {
+            map: 'china',
+            roam: true,
+            zoom: pam.country ? 1.3 : pam.city ? 4.5 : pam.province ? 1.7 : 2, // 设置缩放比例
+            center: center,
+            ...mapcon,
+            regions: [
+              ...seriesData,
+              {
+                name: "南海诸岛",
+                itemStyle: {
+                  normal: {
+                    opacity: 0,
                   }
-                };
+                },
+                label: {
+                  show: false
+                }
               }
-            });
-
-            // 更新图表
-            that.myChart.setOption({
-              geo: {
-                regions: [
-                  ...updatedSeriesData,
-                  {
-                    name: "南海诸岛",
-                    itemStyle: {
-                      normal: {
-                        opacity: 0,
-                      }
-                    },
-                    label: {
-                      show: false
-                    }
-                  }
-                ]
-              },
-              series: [{
-                data: updatedSeriesData
-              }]
-            });
-          });
+            ]
+          },
+          series: [{
+            type: 'map',
+            map: 'china',
+            ...mapcon,
+            geoIndex: 0,
+            data: seriesData
+          }]
+        };
+        // 使用配置项生成图表
+        that.myChart.setOption(option);
+        // 监听点击事件
+        that.myChart.on('click', function (params) {
+          
         });
+      });
 
     },
   },
@@ -265,34 +259,9 @@ export default {
 </script>
 
 <style scoped lang="scss">
-.shujuxianshi {
-  position: absolute;
-  top: 40px;
-  left: 55px;
-  width: 177px;
-  height: auto;
-  background: #092a66;
-  border: 2px solid #0462b5;
-  border-radius: 5px;
-  box-sizing: border-box;
-  padding: 16px 20px;
-
-  .shujuxianshiTitle {
-    font-size: 16px;
-    font-family: Source Han Sans CN, Source Han Sans CN-Regular;
-    font-weight: 400;
-    text-align: left;
-    color: #5fe3ff;
-    margin-bottom: 12px;
-  }
-
-  .shujuxianshidw {
-    margin-left: 5px;
-  }
-}
 
 .leixingxianshi {
-  width: 120px;
+  // width: 120px;
   height: auto;
   position: absolute;
   bottom: 0px;
@@ -361,28 +330,4 @@ export default {
   background: linear-gradient(0deg, #3ce783 0%, #3ce783 100%);
 }
 
-@keyframes xing {
-  0% {
-    transform: scale(1);
-  }
-
-  25% {
-    transform: scale(1.1);
-  }
-
-  50% {
-    transform: scale(0.95);
-  }
-
-  75% {
-    transform: scale(1.05);
-  }
-}
-
-.my_xing {
-  -webkit-animation-name: xing;
-  -webkit-animation-timing-function: ease-in-out;
-  -webkit-animation-iteration-count: infinite;
-  -webkit-animation-duration: 1s;
-}
 </style>

+ 3 - 3
src/views/bigViews/dataView1/components/trendChart.vue

@@ -126,9 +126,9 @@ export default {
         },
         yAxis: [
           {
-            min: minY,
-            max: maxY,
-            interval: interval,
+            // min: minY,
+            // max: maxY,
+            // interval: interval,
             type: 'value',
             name: '人(次)',
             nameTextStyle: {

+ 18 - 0
src/views/bigViews/index.vue

@@ -20,12 +20,18 @@
         <zj-page-fill>
           <dataView1/>
         </zj-page-fill>
+        <div @click="shuxinyemian" :style="`position: fixed;right: 20px;bottom: 60px;background-image: url(${shuaxin});background-size: 100%;width:30px;height: 30px;z-index: 9999;`">
+        </div>
+        <div :style="`position: fixed;right: 20px;bottom: 20px;background-image: url(${quanpin});background-size: 100%;width:30px;height: 30px;z-index: 9999;display: flex;justify-content: center;align-items: center;`">
+          <screenfull id="screenfull" :className="'hahahdkdjshakdhssk'"/>
+        </div>
       </zj-page-container>
     </div>
   </page-size-limit>
 </template>
 
 <script>
+import Screenfull from '@/components/Screenfull'
 import pageSizeLimit from '@/components/page-size-limit.vue';
 import headView from '@/components/head.vue';
 import { delayPerform } from 'js-perform-lock';
@@ -33,6 +39,8 @@ import { login } from '@/api/bigView.js';
 import Cookies from 'js-cookie';
 import { commonly } from '@/api/bigView.js';
 import loginbg from '@/assets/loginbg.png';
+import quanpin from '@/assets/全屏@2x.png';
+import shuaxin from '@/assets/刷新@2x.png';
 import { ElMessage, ElLoading } from 'element-ui';
 var d;
 import dataView1 from './dataView1/index.vue';
@@ -42,9 +50,12 @@ export default {
     headView,
     dataView1,
     pageSizeLimit,
+    Screenfull
   },
   data() {
     return {
+      quanpin,
+      shuaxin,
       dayIndex: (new Date().getDate() - 1) % 5,
       loginbg,
       dialogVisible: Cookies.get('token') ? false : true,
@@ -74,6 +85,9 @@ export default {
     window.removeEventListener('resize', d);
   },
   methods: {
+    shuxinyemian(){
+      location.reload();
+    },
     changeswiper(index) {
       this.swindex = index;
     },
@@ -126,6 +140,10 @@ export default {
 </script>
 
 <style lang="scss">
+.hahahdkdjshakdhssk{
+  fill: #fff !important;
+  color: #fff !important;
+}
 .el-carousel__arrow {
   top: 75% !important;
 }