管道基础大数据平台系统开发-【前端】-新系統界面
584911253@qq.com
2023-03-14 b41b6bcda8d085b0c9b0f3d176e76fbed97557a8
src/views/Synthesis/LeftMenu.vue
@@ -251,8 +251,8 @@
  comprehensive_deletes,
  comprehensive_selectModelByPageAndCount,
  comprehensive_insertModel,
  comprehensive_updateModel
} from "../../api/api.js";
  comprehensive_updateModel, selectByBuffer
} from '../../api/api.js'
import {
  OverviewMap,
  defaults as defaultControls,
@@ -471,6 +471,12 @@
            name: "空间查询",
            css: "twoMenu_imge52",
          },
          {
            id: "e3",
            label: "synthesis.pickup",
            name: "拾取",
            css: "twoMenu_imge52",
          },
        ],
        [
          {
@@ -669,6 +675,7 @@
      }],
      modelClip:false,
      clippingPlanes:null,
      showPickUp:false,
    };
  },
  methods: {
@@ -1384,12 +1391,30 @@
    setIquery(res) {
      switch (res) {
        case "e2":
          Viewer.screenSpaceEventHandler.removeInputAction(Cesium.ScreenSpaceEventType.LEFT_CLICK);
          this.$store.state.mapMenuBoolean = !this.$store.state.mapMenuBoolean;
          this.$store.state.mapMenuBoxFlag = "1";
          break;
        case "e1":
          Viewer.screenSpaceEventHandler.removeInputAction(Cesium.ScreenSpaceEventType.LEFT_CLICK);
          this.$store.state.mapMenuBoolean = !this.$store.state.mapMenuBoolean;
          this.$store.state.mapMenuBoxFlag = "2";
          break;
          //拾取功能
        case "e3":
          this.$store.state.mapMenuBoolean = false;
          this.showPickUp = !this.showPickUp;
          if (this.showPickUp){
            let that = this;
            Viewer.screenSpaceEventHandler.setInputAction(function (event) {
              let p = sgworld.Navigate.getMouseDegrees(event);
              console.log(p);
              that.getPickUpData(p);
            }, Cesium.ScreenSpaceEventType.LEFT_CLICK);
          }else {
            this.$refs.queryinfo.closeAll();
            Viewer.screenSpaceEventHandler.removeInputAction(Cesium.ScreenSpaceEventType.LEFT_CLICK);
          }
          break;
      }
    },
@@ -2395,6 +2420,34 @@
    handleAttatchChange(val) {
      this.attacgSelection = val;
    },
    //拾取数据获取
    async getPickUpData(info){
      let checkedLayers = JSON.parse(sessionStorage.getItem("checkedLayers"));
      let showPop = false;
      for (const item of checkedLayers) {
        let name = item.url.replaceAll("LF:","");
        name = name.replaceAll("_","");
        let params = {
          buffer:10,
          limit:20,
          name:name,
          wkt:`POINT (${info.lon} ${info.lat})`,
        }
        const res = await selectByBuffer(params);
        if (res.result && res.result.length > 0){
          this.$store.state.mapPopBoxFlag = "4";
          this.$store.state.pickUpPointInfo = info;
          this.$refs &&
          this.$refs.queryinfo &&
          this.$refs.queryinfo.open("拾取分析", null,);
          showPop = true;
          break;
        }
      }
      if (!showPop){
        this.$message.warning("暂无数据!");
      }
    }
  },
  mounted() {
    this.measureData = new Map();