ZhangXianQiang
2024-03-04 3f2b5f1dd9c642bb9c1812dce3e90b030584f45b
src/views/index/center-map.vue
@@ -3,7 +3,10 @@
import { currentGET, GETNOBASE } from "@/api";
import { registerMap, getMap } from "echarts/core";
import { optionHandle, regionCodes } from "./center.map";
import BorderBox13 from "@/components/datav/border-box-13";
import type { MapdataType } from "./center.map";
import  chart2 from "./chart2.vue"
import  chartgd from "./chartgd.vue"
const option = ref({});
const code = ref("china"); //china 代表中国 其他地市是行政编码
@@ -36,7 +39,7 @@
    }
  });
  await nextTick();
  console.log(mapData)
  option.value = optionHandle(regionCode, list, mapData);
};
@@ -58,7 +61,7 @@
      mapjson = await GETNOBASE(`./map-geojson/${regionCode}.json`).then(
        (data) => data
      );
      code.value=regionCode
      code.value = regionCode;
      registerMap(regionCode, {
        geoJSON: mapjson as any,
        specialAreas: {},
@@ -75,30 +78,39 @@
  if (xzqData) {
    getData(xzqData.adcode);
  } else {
    window["$message"].warning("暂无下级地市")
    window["$message"].warning("暂无下级地市");
  }
};
const dtFig =ref(0)
const handlechan =()=>{
  console.log(dtFig.value)
    dtFig.value = 1
}
</script>
<template>
  <div class="centermap">
    <!-- <div class="maptitle">
    <div class="maptitle" style="display:none;">
      <div class="zuo"></div>
      <span class="titletext">{{ title }}</span>
      <div class="you"></div>
    </div> -->
    </div>
    <div class="mapwrap">
      <div class="quanguo" @click="getData('china')" v-if="code !== 'china'">
        中国
      </div>
      <v-chart
        class="chart"
        :option="option"
        ref="centerMapRef"
        @click="mapClick"
        v-if="JSON.stringify(option)!='{}'"
      />
      <BorderBox13>
<!--        <div class="quanguo" @click="getData('china')" >-->
<!--          中国-->
<!--        </div>-->
        <chartgd @changeDt="handlechan"  v-if="dtFig ==0"></chartgd>
        <chart2 v-else></chart2>
<!--      <v-chart-->
<!--          class="chart"-->
<!--          :option="option"-->
<!--          ref="centerMapRef"-->
<!--          @click="mapClick"-->
<!--          v-if="JSON.stringify(option) != '{}'"-->
<!--        />-->
      </BorderBox13>
    </div>
  </div>
</template>
@@ -147,7 +159,8 @@
  }
  .mapwrap {
    height: 580px;
    //height: 580px;
    height: 900px;
    width: 100%;
    // padding: 0 0 10px 0;
    box-sizing: border-box;
@@ -156,8 +169,7 @@
    .quanguo {
      position: absolute;
      right: 20px;
    //   top: -46px;
    top: 0;
        top: -46px;
      width: 80px;
      height: 28px;
      border: 1px solid #00eded;
@@ -169,7 +181,7 @@
      cursor: pointer;
      box-shadow: 0 2px 4px rgba(0, 237, 237, 0.5),
        0 0 6px rgba(0, 237, 237, 0.4);
        z-index: 10;
      z-index: 10;
    }
  }
}