shuishen
2022-03-18 bf58722dfd03ea1513f3acc7331d4d4403fca76e
src/components/mobileLeftNav/index.vue
@@ -11,7 +11,7 @@
        @click="leftNavClick(item)"
        v-show="!item.notShow"
      >
        <img :style="[imgStyle]" :src="item.img" alt="" />
        <img :style="[imgStyle]" :src="item.img" alt />
        <span>{{ item.label }}</span>
      </li>
    </ul>
@@ -24,12 +24,21 @@
  // getListdoor, //出入
  // getListaed, //AED
  // getListparking, //停车场
  getListarchitecture, //全景
  getListarchitecture1, //标签
  getListroad, //道路
  getListcat, //出入-AED-停车场
  getListarchitecture, // 全景
  getListarchitecture1, // 标签
  getListroad, // 道路
  getListcat, // 出入-AED-停车场
} from "@/api/mobile/piont/index";
import { getListVideo } from "@/api/mobile/monitor/index";
window.tagLayer = null;
window.wayLayer = null;
window.sceneLayer = null;
window.videoLayer = null;
window.activityLayer = null;
window.aedLayer = null;
window.parkLayer = null;
window.comeLayer = null;
export default {
  name: "mobileLeftNav",
  watch: {
@@ -48,15 +57,15 @@
      if (this.seeRight) {
        this.leftNavData[0].flag = false;
        this.leftNavData[0].img = this.leftNavData[0].checked;
        this[this.leftNavData[0].layer].show = true;
        window[this.leftNavData[0].layer].show = true;
      } else {
        let lnd = this.leftNavData;
        for (let k in lnd) {
          if (this[this.leftNavData[k].layer]._show) {
        const lnd = this.leftNavData;
        for (const k in lnd) {
          if (window[this.leftNavData[k].layer]._show) {
            // console.log(lnd[k].label, "所有开启");
            this.leftNavData[k].flag = false;
            this.leftNavData[k].img = this.leftNavData[k].normal;
            this[this.leftNavData[k].layer].show = false;
            window[this.leftNavData[k].layer].show = false;
          }
        }
      }
@@ -167,125 +176,121 @@
          // imgSrc: "img/mobile/purple.png",
        },
      ],
      viewer: null,
      DC: null,
      tagLayer: null,
      wayLayer: null,
      sceneLayer: null,
      videoLayer: null,
      activityLayer: null,
      aedLayer: null,
      parkLayer: null,
      comeLayer: null,
      //   viewer: null,
      //   tagLayer: null,
      //   wayLayer: null,
      //   sceneLayer: null,
      //   videoLayer: null,
      //   activityLayer: null,
      //   aedLayer: null,
      //   parkLayer: null,
      //   comeLayer: null,
    };
  },
  created() {
    this.DC = global.DC;
  },
  created() {},
  mounted() {},
  methods: {
    changeIconHide() {
      let isif = this.iconHide;
      const isif = this.iconHide;
      this.$store.commit("MSET_ICONHIDE", !isif);
    },
    leftNavClick(item) {
      // console.log(123132);
      //判断并关闭已开启标签
      let lnd = this.leftNavData;
      for (let k in lnd) {
      // 判断并关闭已开启标签
      const lnd = this.leftNavData;
      for (const k in lnd) {
        // console.log(this[this.leftNavData[k].layer]);
        if (lnd[k].label == item.label) {
          // console.log(lnd[k].label, "当前点击");
          continue;
        }
        if (this[this.leftNavData[k].layer]._show) {
        if (window[this.leftNavData[k].layer]._show) {
          // console.log(lnd[k].label, "所有开启");
          this.leftNavData[k].flag = false;
          this.leftNavData[k].img = this.leftNavData[k].normal;
          this[this.leftNavData[k].layer].show = false;
          window[this.leftNavData[k].layer].show = false;
        }
      }
      item.flag = !item.flag;
      if (item.flag == true) {
        item.img = item.checked;
        this[item.layer].show = true;
        window[item.layer].show = true;
        // console.log("飞入");
        // this.flyTo(item);
        this.$store.dispatch("closeMobileWindowsDom"); //关闭弹窗
        this.$store.dispatch("closeMobileWindowsDom"); // 关闭弹窗
      } else {
        item.img = item.normal;
        this[item.layer].show = false;
        window[item.layer].show = false;
      }
    },
    flyTo(item) {
      let that = this;
      let posi = this[item.layer].positions[0];
      // console.log(posi);
      let lntLat =
        that.dimensionData.pitch == -45
          ? [posi.lng + 0.00917, posi.lat - 0.0188, 500]
          : [posi.lng + 0.01197, posi.lat - 0.00055, 500];
      // that.mviewer.camera.flyTo({
      //   destination: Cesium.Cartesian3.fromDegrees(
      //     lntLat[0],
      //     lntLat[1],
      //     lntLat[2]
      //   ),
      // });
      // return;
      this.$store.dispatch("mapFlyTo", {
        //飞入
        lntLat: lntLat,
        // lntLat: [posi.lng + 0.01187, posi.lat - 0.0308, 4000],
        // lntLat: [121.50492752204283, 31.21567802276832, 2530],
        heading: that.dimensionData.heading,
        pitch: that.dimensionData.pitch,
        roll: that.dimensionData.roll,
        noOpen: true,
      });
    },
    initialize(viewer) {
    // flyTo(item) {
    //   const that = this;
    //   const posi = this[item.layer].positions[0];
    //   // console.log(posi);
    //   const lntLat =
    //     that.dimensionData.pitch == -45
    //       ? [posi.lng + 0.00917, posi.lat - 0.0188, 500]
    //       : [posi.lng + 0.01197, posi.lat - 0.00055, 500];
    //   // that.mviewer.camera.flyTo({
    //   //   destination: Cesium.Cartesian3.fromDegrees(
    //   //     lntLat[0],
    //   //     lntLat[1],
    //   //     lntLat[2]
    //   //   ),
    //   // });
    //   // return;
    //   this.$store.dispatch("mapFlyTo", {
    //     // 飞入
    //     lntLat: lntLat,
    //     // lntLat: [posi.lng + 0.01187, posi.lat - 0.0308, 4000],
    //     // lntLat: [121.50492752204283, 31.21567802276832, 2530],
    //     heading: that.dimensionData.heading,
    //     pitch: that.dimensionData.pitch,
    //     roll: that.dimensionData.roll,
    //     noOpen: true,
    //   });
    // },
    initialize() {
      var that = this;
      viewer.scene.globe.depthTestAgainstTerrain = false;
      this.viewer = viewer;
      this.tagLayer = new this.DC.HtmlLayer("tagLayer");
      viewer.addLayer(this.tagLayer);
      global.viewer.scene.globe.depthTestAgainstTerrain = false;
      window.tagLayer = new global.DC.HtmlLayer("tagLayer");
      global.viewer.addLayer(tagLayer);
      this.wayLayer = new this.DC.HtmlLayer("wayLayer");
      viewer.addLayer(this.wayLayer);
      window.wayLayer = new global.DC.HtmlLayer("wayLayer");
      global.viewer.addLayer(wayLayer);
      // this.sceneLayer = new this.DC.VectorLayer("sceneLayer");
      this.sceneLayer = new this.DC.HtmlLayer("sceneLayer");
      viewer.addLayer(this.sceneLayer);
      // sceneLayer = new global.DC.VectorLayer("sceneLayer");
      window.sceneLayer = new global.DC.HtmlLayer("sceneLayer");
      global.viewer.addLayer(sceneLayer);
      this.videoLayer = new this.DC.HtmlLayer("videoLayer");
      viewer.addLayer(this.videoLayer);
      window.videoLayer = new global.DC.HtmlLayer("videoLayer");
      global.viewer.addLayer(videoLayer);
      // this.activityLayer = new this.DC.VectorLayer("activityLayer");
      this.activityLayer = new this.DC.HtmlLayer("activityLayer");
      viewer.addLayer(this.activityLayer);
      // activityLayer = new global.DC.VectorLayer("activityLayer");
      window.activityLayer = new global.DC.HtmlLayer("activityLayer");
      global.viewer.addLayer(activityLayer);
      // this.aedLayer = new this.DC.VectorLayer("aedLayer");
      this.aedLayer = new this.DC.HtmlLayer("aedLayer");
      viewer.addLayer(this.aedLayer);
      // aedLayer = new global.DC.VectorLayer("aedLayer");
      window.aedLayer = new global.DC.HtmlLayer("aedLayer");
      global.viewer.addLayer(aedLayer);
      this.parkLayer = new this.DC.HtmlLayer("parkLayer");
      viewer.addLayer(this.parkLayer);
      window.parkLayer = new global.DC.HtmlLayer("parkLayer");
      global.viewer.addLayer(parkLayer);
      // this.comeLayer = new this.DC.VectorLayer("comeLayer");
      this.comeLayer = new this.DC.HtmlLayer("comeLayer");
      viewer.addLayer(this.comeLayer);
      // comeLayer = new global.DC.VectorLayer("comeLayer");
      window.comeLayer = new global.DC.HtmlLayer("comeLayer");
      global.viewer.addLayer(comeLayer);
      let ourNum = that.leftNavData.length;
      const ourNum = that.leftNavData.length;
      for (let n = 0; n < ourNum; n++) {
        let ourD = this.leftNavData[n];
        let d = ourD.type ? { lifetype: ourD.type } : {};
        const ourD = this.leftNavData[n];
        const d = ourD.type ? { lifetype: ourD.type } : {};
        ourD.methods(d).then((res) => {
          let dom;
          let data = res.data.data;
          let position = that.changePoiton(data);
          let num = data.length;
          const data = res.data.data;
          const position = that.changePoiton(data);
          const num = data.length;
          for (let k = 0; k < num; k++) {
            if (ourD.label == "标签") {
              dom = `
@@ -367,11 +372,11 @@
                        </div>
                        `;
            }
            const divIcon = new that.DC.DivIcon(position[k], dom);
            //订阅事件
            divIcon.on(DC.MouseEventType.CLICK, (e) => {
            const divIcon = new global.DC.DivIcon(position[k], dom);
            // 订阅事件
            divIcon.on(global.DC.MouseEventType.CLICK, (e) => {
              // console.log(data[k]);
              let d = {
              const d = {
                name:
                  data[k].mechanismname ||
                  data[k].roadname ||
@@ -389,13 +394,13 @@
                d
              );
            });
            that[that.leftNavData[n].layer].addOverlay(divIcon); //加入图标
            window[that.leftNavData[n].layer].addOverlay(divIcon); // 加入图标
          }
          that[that.leftNavData[n].layer]["positions"] = position;
          window[that.leftNavData[n].layer].positions = position;
          if (that.leftNavData[n].layer == "tagLayer") {
            // that.leftNavData[n].img = that.leftNavData[n].checked;
          } else {
            that[that.leftNavData[n].layer].show = false;
            window[that.leftNavData[n].layer].show = false;
          }
        });
      }
@@ -406,25 +411,25 @@
    changePoiton(data) {
      // console.log(data);
      const list = [];
      let num = data.length;
      const num = data.length;
      for (let i = 0; i < num; i++) {
        list.push(new this.DC.Position(data[i].jd, data[i].wd, 0));
        list.push(new global.DC.Position(data[i].jd, data[i].wd, 0));
      }
      return list;
    },
    mobileOpenImgs1() {
      let imgsDom = document.getElementById("mobileBigImgs");
      const imgsDom = document.getElementById("mobileBigImgs");
      imgsDom.click();
    },
    goOn1() {},
    openPopupS(position, lntLat, query) {
      let that = this;
      const that = this;
      // 定制化窗体
      let d = {
      const d = {
        position,
        lntLat,
        query: { ...(query || {}), position, lntLat },
        useJWD: true, //仅使用经纬度
        useJWD: true, // 仅使用经纬度
      };
      that.$store.dispatch("setMobileWindows", d);
    },