<template>
  <div class="app-container">
    <div id="data-view">
      <div class="main-header">
        <div class="mh-middle">数字健康社区定位系统</div>
      </div>
      <div class="main">
        <div class="left">
          <div class="left-top">
            <div class="top-left"><Left-Chart-1 /></div>
            <div class="top-right">
              <equ-map
                v-loading="mapLoading"
                @callback="initMap"
                height="400px"
              />
            </div>
          </div>
          <div class="left-under">
            <div class="under-title"><b>在库设备数量</b></div>
            <dv-border-box-8 class="under-box">
              <Left-Chart-99 title="我是我是"></Left-Chart-99>
              <Left-Chart-99 title="我是我是"></Left-Chart-99>
              <Left-Chart-99 title="我是我是"></Left-Chart-99>
              <Left-Chart-99 title="我是我是"></Left-Chart-99>
            </dv-border-box-8>
          </div>
        </div>
        <div class="right">
          <Left-Chart-11 />
        </div>
      </div>
    </div>
  </div>
</template>

<script>
import LeftChart1 from "./LeftChart1";
import LeftChart11 from "./LeftChart11";
import LeftChart99 from "./LeftChart99";
import LeftChart2 from "./LeftChart2";
import LeftChart3 from "./LeftChart3";

import CenterCmp from "./CenterCmp";

import RightChart1 from "./RightChart1";
import RightChart2 from "./RightChart2";

import BottomCharts from "./BottomCharts";
import equMap from "./Maps.vue";

export default {
  name: "DataView",
  components: {
    LeftChart1,
    LeftChart11,
    LeftChart99,
    LeftChart2,
    LeftChart3,
    CenterCmp,
    RightChart1,
    RightChart2,
    BottomCharts,
    equMap,
  },
  data() {
    return {
      mapLoading:false,
    };
  },
  methods: {
    initMap(AMap) {
      this.AMap = AMap;
      this.map = new AMap.Map("map", {
        // 设置地图容器id
        // viewMode: "3D", // 是否为3D地图模式
        zoom: 3, // 初始化地图级别
        center: [105.602725, 37.076636], // 初始化地图中心点位置
      });
      this.clickMarker = new this.AMap.Marker();
      this.addMapMarkers(this.AMap, {
        equList: [
          { lng: 105.602725, lat: 37.076636 },
          { lng: 113.8098755478859, lat: 34.75219686835205 },
        ],
      });
      // this.getEquMap();
      // 暂时放这里
      this.map.on("click", (e) => {
        console.log(e, "e");
        this.regeoCode(e.lnglat);
      });
    },
    // 地图覆盖物
    addMapMarkers(AMap, data) {
      // console.log(data,'data');
      // // 项目中心点
      // const centerMarker = new AMap.Marker({
      //   position: new AMap.LngLat(data.projectLng, data.projectLat),
      //   offset: new AMap.Pixel(-20, -20),
      //   icon: require(`@/assets/map-icon/center.png`),
      // });
      // 设备分布点
      this.markers = [];
      data.equList.forEach((item) => {
        const marker = new AMap.Marker({
          position: new AMap.LngLat(item.lng, item.lat),
          offset: new AMap.Pixel(-13, -30),
          // icon: require(`@/assets/map-icon/${item.classifyCode}-${
          //   item.online === 0 ? "GRAY" : item.flag ? "DEFAULT" : "DANGER"
          //   }.png`),
          icon: "https://a.amap.com/jsapi_demos/static/demo-center/icons/poi-marker-default.png",
          anchor: "bottom-center",
          extData: {
            id: item.id,
            equNo: item.equNo,
            netCode: data.netCode,
            classifyCode: item.classifyCode,
            flag: item.flag,
            online: item.online,
          },
        });
        this.markers.push(marker);
        this.map.add(marker);
      });
      // console.log('this.markers',this.markers);
      // const overlayGroups = new AMap.OverlayGroup(this.markers);
      // // 比例尺
      // // const scale = new AMap.Scale();

      // this.map.add(overlayGroups);
      // this.map.add(centerMarker);
      // this.map.addControl(scale);

      // // 鼠标点击marker弹出自定义的信息窗体
      // overlayGroups.eachOverlay((overlay, index, collections) => {
      //   const extData = overlay.getExtData();
      //   overlay.on("click", () => {
      //     const params = {
      //       netCode: extData.netCode,
      //       equNo: extData.equNo,
      //     };
      //     getEquInfo(params).then((res) => {
      //       const info = res.data;
      //       const id = extData.id;
      //       const currentMarker = this.markers.find(
      //         (item) => item._opts.extData.id === id
      //       );
      //       currentMarker.setIcon(
      //         require(`@/assets/map-icon/${extData.classifyCode}-${
      //           info.online === 0 ? "GRAY" : extData.flag ? "DEFAULT" : "DANGER"
      //         }.png`)
      //       );
      //       const onlineEnum = {
      //         0: "离线",
      //         1: "在线",
      //       };
      //       info.projectName = data.projectName;
      //       const infoWindow = new AMap.InfoWindow({
      //         content: `<div class="equ-info-box">
      //               <p class="equ-info-item"><span class="label">设备编号</span><span class="value" id="equNo">${
      //                 info.equNo
      //               }</span></p>
      //               <p class="equ-info-item"><span class="label">当前设备状态</span><span class="value tag">${
      //                 onlineEnum[info.online]
      //               }</span></p>
      //               <p class="equ-info-item"><span class="label">累计报警次数</span><span class="value link" onclick="goNextPage(this, 'alarmStat')" data-equNo="${
      //                 info.equNo
      //               }" data-name="${info.projectName}">${
      //           info.alarmTotal
      //         }</span></p>
      //               <p class="equ-info-item"><span class="label">最近定位时间</span><span class="value">${
      //                 info.positionTime
      //               }</span></p>
      //               <p class="equ-info-item"><span class="label">TBox品牌</span><span class="value">${
      //                 info.brand
      //               }</span></p>
      //               <p class="equ-info-item"><span class="label">TBox编号</span><span class="value">${
      //                 info.gpsId
      //               }</span></p>
      //               </div>`,
      //         anchor: "top-center",
      //       });
      //       infoWindow.open(this.map, overlay.getPosition());
      //     });
      //   });
      // });

      // // 地图的3km圆
      // const circle = new AMap.Circle({
      //   center: new AMap.LngLat(data.projectLng, data.projectLat), // 圆心位置
      //   radius: data.radius * 1000, // 半径
      //   strokeColor: "#367EF5", // 线颜色
      //   strokeOpacity: 0.8, // 线透明度
      //   strokeWeight: 1, // 线粗细度
      //   fillColor: "#18FFFC", // 填充颜色
      //   fillOpacity: 0.1, // 填充透明度
      // });
      // this.map.add(circle);
      // this.map.setFitView();
      /* this.map.on("click", (e) => {
        this.regeoCode(e.lnglat);
      }); */
    },
  },
};
</script>

<style lang="scss" scoped>
#data-view {
  color: #fff;
  width: 100%;
  height: 100%;
  background: url(../../assets/image/bg.png);
  background-size: 100% 100%;
  background-repeat: no-repeat;

  // #dv-full-screen-container {
  //   background-image: url("./img/bg.png");
  //   background-size: 100% 100%;
  //   box-shadow: 0 0 3px blue;
  //   display: flex;
  //   flex-direction: column;
  //   position: static;
  // }
  .main {
    display: flex;
    width: 100%;
    padding-right: 10px;
    .left {
      width: 70%;
      .left-top{
        display: flex;
        .top-left{
          width: 30%;
        }
        .top-right{
          width: 70%;
        }
      }
      .left-under {
        // width: 60%;
        height: 30%;
        .under-title {
          flex: 1;
          height: 28px;
          font-size: 14px;
          margin: 10px 0;

          background: url(../../assets/image/title_bg.png) no-repeat;
          // background: url(./img/title-bg.png) no-repeat;
          b {
            font-size: 14px;
            color: #fff;
            font-style: italic;
            margin-left: 25px;
            line-height: 30px;
          }
        }
        .under-box {
          height: 200px;
          display: flex;
        }
      }
    }
    .right {
      // border: 1px solid pink;
      width: 30%;
    }
  }

  .main-header {
    height: 80px;
    display: flex;
    justify-content: center;
    align-items: flex-start;

    .mh-left {
      font-size: 20px;
      color: rgb(1, 134, 187);

      a:visited {
        color: rgb(1, 134, 187);
      }
    }

    .mh-middle {
      color: #1ae1e6;
      font-size: 24px;
    }

    .mh-left,
    .mh-right {
      width: 450px;
    }
  }

  // .main-container {
  //   height: calc(~"100% - 80px");

  //   .border-box-content {
  //     padding: 20px;
  //     box-sizing: border-box;
  //     display: flex;
  //   }
  // }

  // .left-chart-container {
  //   width: 22%;
  //   height: 65%;
  //   padding: 10px;
  //   box-sizing: border-box;

  //   .border-box-content {
  //     flex-direction: column;
  //   }
  // }

  // .right-main-container {
  //   width: 78%;
  //   padding-left: 5px;
  //   box-sizing: border-box;
  // }

  // .rmc-top-container {
  //   height: 65%;
  //   display: flex;
  // }

  // .rmctc-left-container {
  //   width: 65%;
  // }

  // .rmctc-right-container {
  //   width: 35%;
  // }

  // .rmc-bottom-container {
  //   height: 35%;
  // }

  // .rmctc-chart-1,
  // .rmctc-chart-2 {
  //   height: 50%;
  // }
}
</style>
