Parcourir la source

Merge branch 'master' of http://git.cc-lotus.info/service-platform/web-test

guhongwei il y a 5 ans
Parent
commit
62bd00020c

BIN
src/assets/returns.png


+ 0 - 1
src/views/dynamic/parts/down-pie.vue

@@ -67,7 +67,6 @@ export default {
       if (this.$checkRes(res)) {
         let arr = res.data.filter(f => f.status != '3');
         let newArr = _.chunk(arr, 6);
-        console.log(newArr[0]);
         this.$set(this, `tableData`, newArr[0]);
         let taking = rooms.errcode == 0 ? rooms.total : 0;
         let s1 = res.data.filter(f => f.status == '1'); //达成意向

+ 38 - 0
src/views/dynamic/parts/js/code.js

@@ -0,0 +1,38 @@
+const data = [
+  { name: '新疆', py: 'xinjiang', code: '650000' },
+  { name: '吉林', py: 'jilin', code: '220000' },
+  { name: '辽宁', py: 'liaoning', code: '210000' },
+  { name: '黑龙江', py: 'heilongjiang', code: '230000' },
+  { name: '河南', py: 'henan', code: '410000' },
+  { name: '甘肃', py: 'gansu', code: '620000' },
+  { name: '青海', py: 'qinghai', code: '630000' },
+  { name: '台湾', py: 'taiwan', code: '710000' },
+  { name: '海南', py: 'hainan', code: '460000' },
+  { name: '浙江', py: 'zhejiang', code: '330000' },
+  { name: '河北', py: 'hebei', code: '130000' },
+  { name: '湖北', py: 'hubei', code: '420000' },
+  { name: '湖南', py: 'hunan', code: '430000' },
+  { name: '安徽', py: 'anhui', code: '340000' },
+  { name: '内蒙古', py: 'neimenggu', code: '150000' },
+  { name: '广东', py: 'guangdong', code: '440000' },
+  { name: '广西', py: 'guangxi', code: '450000' },
+  { name: '北京', py: 'beijing', code: '110000' },
+  { name: '天津', py: 'tianjin', code: '120000' },
+  { name: '重庆', py: 'chognqing', code: '500000' },
+  { name: '四川', py: 'sichuan', code: '510000' },
+  { name: '云南', py: 'yunnan', code: '530000' },
+  { name: '贵州', py: 'guizhou', code: '520000' },
+  { name: '西藏', py: 'xizang', code: '540000' },
+  { name: '山东', py: 'shandong', code: '370000' },
+  { name: '陕西', py: 'shanxi1', code: '610000' },
+  { name: '山西', py: 'shanxi', code: '140000' },
+  { name: '宁夏', py: 'ningxia', code: '640000' },
+  { name: '江苏', py: 'jiangsu', code: '320000' },
+  { name: '福建', py: 'fujian', code: '350000' },
+  { name: '江西', py: 'jiangxi', code: '360000' },
+  { name: '香港', py: 'xianggang', code: '810000' },
+  { name: '澳门', py: 'aomen', code: '820000' },
+  { name: '上海', py: 'shanghai', code: '310000' },
+];
+
+export default data;

+ 70 - 68
src/views/dynamic/parts/js/datajs.js

@@ -1,70 +1,72 @@
-import anhuiJson from 'echarts/map/json/province/anhui';
-import aomenJson from 'echarts/map/json/province/aomen';
-import beijingJson from 'echarts/map/json/province/beijing';
-import chongqingJson from 'echarts/map/json/province/chongqing';
-import fujianJson from 'echarts/map/json/province/fujian';
-import gansuJson from 'echarts/map/json/province/gansu';
-import guangdongJson from 'echarts/map/json/province/guangdong';
-import guangxiJson from 'echarts/map/json/province/guangxi';
-import guizhouJson from 'echarts/map/json/province/guizhou';
-import hainanJson from 'echarts/map/json/province/hainan';
-import hebeiJson from 'echarts/map/json/province/hebei';
-import heilongjiangJson from 'echarts/map/json/province/heilongjiang';
-import henanJson from 'echarts/map/json/province/henan';
-import hubeiJson from 'echarts/map/json/province/hubei';
-import hunanJson from 'echarts/map/json/province/hunan';
-import jiangsuJson from 'echarts/map/json/province/jiangsu';
-import jiangxiJson from 'echarts/map/json/province/jiangxi';
-import jilinJson from 'echarts/map/json/province/jilin';
-import liaoningJson from 'echarts/map/json/province/liaoning';
-import neimengguJson from 'echarts/map/json/province/neimenggu';
-import ningxiaJson from 'echarts/map/json/province/ningxia';
-import qinghaiJson from 'echarts/map/json/province/qinghai';
-import shandongJson from 'echarts/map/json/province/shandong';
-import shanghaiJson from 'echarts/map/json/province/shanghai';
-import shanxiJson from 'echarts/map/json/province/shanxi';
-import shanxi1Json from 'echarts/map/json/province/shanxi1';
-import sichuanJson from 'echarts/map/json/province/sichuan';
-import taiwanJson from 'echarts/map/json/province/taiwan';
-import tianjinJson from 'echarts/map/json/province/tianjin';
-import xianggangJson from 'echarts/map/json/province/xianggang';
-import xinjiangJson from 'echarts/map/json/province/xinjiang';
-import xizangJson from 'echarts/map/json/province/xizang';
-import yunnanJson from 'echarts/map/json/province/yunnan';
-import zhejiangJson from 'echarts/map/json/province/zhejiang';
+import china from 'echarts/map/json/china';
+import anhui from 'echarts/map/json/province/anhui';
+import aomen from 'echarts/map/json/province/aomen';
+import beijing from 'echarts/map/json/province/beijing';
+import chongqing from 'echarts/map/json/province/chongqing';
+import fujian from 'echarts/map/json/province/fujian';
+import gansu from 'echarts/map/json/province/gansu';
+import guangdong from 'echarts/map/json/province/guangdong';
+import guangxi from 'echarts/map/json/province/guangxi';
+import guizhou from 'echarts/map/json/province/guizhou';
+import hainan from 'echarts/map/json/province/hainan';
+import hebei from 'echarts/map/json/province/hebei';
+import heilongjiang from 'echarts/map/json/province/heilongjiang';
+import henan from 'echarts/map/json/province/henan';
+import hubei from 'echarts/map/json/province/hubei';
+import hunan from 'echarts/map/json/province/hunan';
+import jiangsu from 'echarts/map/json/province/jiangsu';
+import jiangxi from 'echarts/map/json/province/jiangxi';
+import jilin from 'echarts/map/json/province/jilin';
+import liaoning from 'echarts/map/json/province/liaoning';
+import neimenggu from 'echarts/map/json/province/neimenggu';
+import ningxia from 'echarts/map/json/province/ningxia';
+import qinghai from 'echarts/map/json/province/qinghai';
+import shandong from 'echarts/map/json/province/shandong';
+import shanghai from 'echarts/map/json/province/shanghai';
+import shanxi from 'echarts/map/json/province/shanxi';
+import shanxi1 from 'echarts/map/json/province/shanxi1';
+import sichuan from 'echarts/map/json/province/sichuan';
+import taiwan from 'echarts/map/json/province/taiwan';
+import tianjin from 'echarts/map/json/province/tianjin';
+import xianggang from 'echarts/map/json/province/xianggang';
+import xinjiang from 'echarts/map/json/province/xinjiang';
+import xizang from 'echarts/map/json/province/xizang';
+import yunnan from 'echarts/map/json/province/yunnan';
+import zhejiang from 'echarts/map/json/province/zhejiang';
 export {
-  anhuiJson,
-  aomenJson,
-  beijingJson,
-  chongqingJson,
-  fujianJson,
-  gansuJson,
-  guangdongJson,
-  guangxiJson,
-  guizhouJson,
-  hainanJson,
-  hebeiJson,
-  heilongjiangJson,
-  henanJson,
-  hubeiJson,
-  hunanJson,
-  jiangsuJson,
-  jiangxiJson,
-  jilinJson,
-  liaoningJson,
-  neimengguJson,
-  ningxiaJson,
-  qinghaiJson,
-  shandongJson,
-  shanghaiJson,
-  shanxiJson,
-  shanxi1Json,
-  sichuanJson,
-  taiwanJson,
-  tianjinJson,
-  xianggangJson,
-  xinjiangJson,
-  xizangJson,
-  yunnanJson,
-  zhejiangJson,
+  china,
+  anhui,
+  aomen,
+  beijing,
+  chongqing,
+  fujian,
+  gansu,
+  guangdong,
+  guangxi,
+  guizhou,
+  hainan,
+  hebei,
+  heilongjiang,
+  henan,
+  hubei,
+  hunan,
+  jiangsu,
+  jiangxi,
+  jilin,
+  liaoning,
+  neimenggu,
+  ningxia,
+  qinghai,
+  shandong,
+  shanghai,
+  shanxi,
+  shanxi1,
+  sichuan,
+  taiwan,
+  tianjin,
+  xianggang,
+  xinjiang,
+  xizang,
+  yunnan,
+  zhejiang,
 };

+ 1 - 0
src/views/dynamic/parts/js/mapjs.js

@@ -1,3 +1,4 @@
+import 'echarts/map/js/china.js';
 import 'echarts/map/js/province/anhui.js';
 import 'echarts/map/js/province/aomen.js';
 import 'echarts/map/js/province/beijing.js';

+ 63 - 36
src/views/dynamic/parts/map.vue

@@ -8,10 +8,9 @@
 import _ from 'lodash';
 import { mapState, createNamespacedHelpers } from 'vuex';
 import echarts from 'echarts/lib/echarts';
-import 'echarts/map/js/china.js';
 import './js/mapjs';
 import * as citys from './js/datajs';
-import cJson from 'echarts/map/json/china';
+import lib from './js/code';
 import 'echarts/lib/component/title';
 import 'echarts/lib/component/legend';
 import 'echarts/lib/component/toolbox';
@@ -25,34 +24,52 @@ export default {
   data: () => {
     return {
       myChart: null,
+      hasChart: false,
+      rpic:
+        'path://M660.24 337.63H384.06V270.2a31.71 31.71 0 0 0-47.57-27.46L159.07 345.16a31.72 31.72 0 0 0 0 54.94l177.42 102.' +
+        '43a31.72 31.72 0 0 0 47.57-27.47v-67.43h276.18c102.31 0 185.54 83.23 185.54 185.54s-83.23 185.54-185.54 185.54H273.83a35' +
+        ' 35 0 1 0 0 70h386.41a255.54 255.54 0 1 0 0-511.08z',
+      nlib: [],
     };
   },
   mounted() {
-    this.init('china');
+    this.init();
   },
   methods: {
     ...mapActions(['query']),
-    async init(name) {
-      console.log(cJson);
-      let res = await this.query();
-      let city = {};
-      let jilinJson = _.get(citys, 'jilinJson');
-      console.log(jilinJson);
-      if (this.$checkRes(res)) {
-        city = jilinJson.features.map(i => {
-          let object = {};
-          object.name = _.get(i.properties, 'name');
-          let result = res.data.filter(f => f.place == object.name);
-          object.value = result.length;
-          return object;
-        });
+    async init(object) {
+      if (this.hasChart) {
+        this.myChart.dispose();
+        this.hasChart = false;
+      }
+      let dataJson;
+      let name;
+      let feature = {};
+      if (!object) {
+        dataJson = citys.china;
+        name = 'china';
+      } else {
+        dataJson = _.get(citys, `${object.py}`);
+        name = object.py;
+        feature = {
+          myTool1: {
+            show: true,
+            title: '返回',
+            icon: this.rpic,
+            onclick: () => this.init(),
+          },
+        };
       }
-      let newJson = this.setPos(_.cloneDeep(jilinJson));
+      let newJson = this.setPos(_.cloneDeep(dataJson));
+      let mapData = await this.getData(object, newJson.features);
       let option = {
         title: {
           text: '展会分布',
           left: 'center',
         },
+        toolbox: {
+          feature: feature,
+        },
         tooltip: {
           trigger: 'item',
         },
@@ -86,7 +103,8 @@ export default {
         },
         series: [
           {
-            name: name == 'china' ? '中国' : name, //吉林省
+            id: name,
+            name: '展会数量', //吉林省
             type: 'map',
             map: name, //jilin,china
             emphasis: {
@@ -98,28 +116,22 @@ export default {
             textFixed: {
               Alaska: [20, 120],
             },
-            data: [],
-            // 全国地图数据:{ name: '辽宁', value: 1555 },
-            //   { name: '黑龙江', value: 1555 },
-            //   { name: '吉林', value: 1555 }
-            // 城市
+            data: mapData,
           },
         ],
       };
       //用$echarts是因为上面注册使用的 Vue.prototype.$echarts
-      echarts.registerMap(name, name == 'china' ? cJson : jilinJson);
+      echarts.registerMap(name, newJson);
       this.myChart = echarts.init(document.getElementById('chartMap'));
       this.myChart.setOption(option);
       this.myChart.hideLoading();
+      this.hasChart = true;
       this.myChart.on('click', params => {
-        console.log(params);
-        let name = params.name;
-        let res = cJson.features.find(f => {
-          let o = _.get(f, 'properties');
-          if (o) return o.name == name;
-          else return false;
-        });
-        console.log(res);
+        if (params.seriesId == 'china') {
+          let name = params.name;
+          let res = lib.find(f => f.name == name);
+          this.init(res);
+        }
       });
     },
     setPos(data) {
@@ -137,9 +149,24 @@ export default {
       });
       return data;
     },
-    setData(city, data) {
-      console.log(city);
-      console.log(data);
+    async getData(data, json) {
+      let query = {};
+      let rd;
+      if (data) query.province = data.code;
+      let res = await this.query(query);
+      if (this.$checkRes(res)) {
+        rd = json.map(i => {
+          let object = {};
+          object.name = _.get(i.properties, 'name');
+          let result = res.data.filter(f => {
+            if (!data) return f.province == i.id;
+            else return f.place == i.id;
+          });
+          object.value = result.length;
+          return object;
+        });
+      }
+      return rd;
     },
   },
   computed: {