surprise
2024-01-09 9398f14feea7ad8b7d00ce7d2bb2e5362cec59d3
src/components/left/leftmenu.vue
@@ -1,15 +1,7 @@
<template>
  <div
    @click="showLeftMenu"
    :class="{ leftmenu: !isShowLeftPanel, leftmenu_active: isShowLeftPanel }"
    class="leftmenustyle"
  >
    <span
      class="closeLeftMenu"
      v-if="isShowLeftPanel"
      @click.stop="hideLeftMenu"
      >×</span
    >
  <div @click="showLeftMenu" :class="{ leftmenu: !isShowLeftPanel, leftmenu_active: isShowLeftPanel }"
    class="leftmenustyle">
    <span class="closeLeftMenu" v-if="isShowLeftPanel" @click.stop="hideLeftMenu">×</span>
    <img class="openLeftMenu" v-else src="@/assets/img/left/souselist4.png" />
    <div class="layerTreeContainer" v-show="isShowLeftPanel">
@@ -18,7 +10,7 @@
          <el-radio :label="1">组织机构</el-radio>
          <el-radio :label="2">业务要素</el-radio>
        </el-radio-group> -->
        <span>图层管理</span>
        <span>图层管理</span>
        <!-- <div @click="setTreeDataChange(1)">业务</div>
        <div @click="setTreeDataChange(2)">业务</div> -->
      </div>
@@ -28,17 +20,8 @@
        <el-button size="small" @click="setTreeDataChange(2)">图层2</el-button>
      </div> -->
      <div class="layerTree">
        <el-tree
          :data="treeData"
          node-key="id"
          ref="tree"
          :default-checked-keys="arr"
          style="min-width: 160px"
          show-checkbox
          :render-content="renderContent"
          :default-expanded-keys="defaultExpanded"
          @check="check"
        ></el-tree>
        <el-tree :data="treeData" node-key="id" ref="tree" :default-checked-keys="arr" style="min-width: 160px"
          show-checkbox :render-content="renderContent" :default-expanded-keys="defaultExpanded" @check="check"></el-tree>
      </div>
    </div>
  </div>
@@ -57,6 +40,8 @@
import { getmenu } from "../../api/api";
import keys from "@/assets/poiKeys1";
import store from "@/utils/store";
import mapInfo from "../../assets/js/Layer/mapInfo";
import mapGeo from "../../assets/js/Layer/mapGeo";
let colorTool;
let projectTreeData = [];
@@ -840,6 +825,7 @@
      // 打勾选中
      let isCheck = data.checkedKeys.indexOf(treeNode.id) > -1;
      this.setVisiable(treeNode, isCheck);
      this.setGeoJSOnCheck(treeNode, isCheck);
      //选中之后传给vuex
      let selectedLayers = this.$refs.tree.getCheckedNodes();
      let filterSelectLayers = selectedLayers;
@@ -866,6 +852,13 @@
      // if (this.updateFlag) {
      return params;
      // }
    },
    setGeoJSOnCheck(treeNode, checked) {
      if (!checked) {
        mapGeo.delGeoSource(treeNode);
      } else {
        mapGeo.init(treeNode);
      }
    },
    setVisiable(treeNode, checked) {
      if (treeNode.sourceType == "BJ2000") {
@@ -977,7 +970,7 @@
          height: 310,
          url: "./static/html/layerProp.html",
          fn: {
            end: function () {},
            end: function () { },
          },
        });
      } else if (data._children) {
@@ -1195,9 +1188,8 @@
              treeNode.name,
              {
                id: treeNode.id,
                url: `${treeNode.urls}/${treeNode.tile || "{z}/{x}/{y}"}.${
                  treeNode.img || "png"
                }`,
                url: `${treeNode.urls}/${treeNode.tile || "{z}/{x}/{y}"}.${treeNode.img || "png"
                  }`,
                enablePickFeatures: false,
                level: treeNode.Level,
                minimumLevel: treeNode.minimumLevel,
@@ -1718,6 +1710,10 @@
            );
          }
          break;
        case 'GEOJSON':
          mapGeo.init(treeNode);
          break;
        case "wmse":
          // layer = sgworld.Creator.CreateWMSImageFeatureLayer(
          //   treeNode.name,
@@ -1736,6 +1732,12 @@
          //   true,
          //   function () {}
          // );
          var that = this;
          var getFeatureInfoFormat = new Cesium.GetFeatureInfoFormat("", null, function (html) {
            // that.getFeatureInfo(html)
            mapInfo.Init(html)
          });
          layer = sgworld.Creator.createImageryProvider(
            treeNode.name,
            "wms",
@@ -1743,16 +1745,19 @@
              id: treeNode.id,
              url: treeNode.urls,
              level: treeNode.Level,
              zIndex: 999,
              minimumLevel: treeNode.minimumLevel,
              maximumLevel: treeNode.maximumLevel,
              enablePickFeatures: false,
              layers: treeNode.layer || "",
              alpha: treeNode.alpha,
              parameters: {
                format: "image/png",
                transparent: true,
              },
              enablePickFeatures: true,
              getFeatureInfoParameters: { info_format: 'text/html' },
              getFeatureInfoFormats: [getFeatureInfoFormat],
            },
            "0",
            undefined,
@@ -1769,8 +1774,8 @@
          axios
            .get(
              treeNode.urls +
                "?version=1.3.0&request=GetFeature&format=json&typename=" +
                treeNode.layer
              "?version=1.3.0&request=GetFeature&format=json&typename=" +
              treeNode.layer
            )
            .then((data) => {
              let features = data.data.features;
@@ -2038,7 +2043,7 @@
              clampToGround: sgworld.Core.defaultValue(
                treeNode.clampToGround,
                treeNode.extrudedHeight === undefined &&
                  treeNode.height === undefined
                treeNode.height === undefined
              ),
              classificationType: treeNode.classificationType,
              near: sgworld.Core.defaultValue(treeNode.near, 0),
@@ -2169,7 +2174,7 @@
              de,
              "0",
              treeNode.checked,
              function () {}
              function () { }
            );
          } else if (treeNode.class === "polylineVolume") {
            de = {
@@ -2199,7 +2204,7 @@
              de,
              "0",
              treeNode.checked,
              function () {}
              function () { }
            );
          } else if (treeNode.class === "polyline") {
            de = {
@@ -2239,7 +2244,7 @@
                de,
                "0",
                treeNode.checked,
                function () {}
                function () { }
              );
          } else if (treeNode.class === "polygon") {
            de = {
@@ -2272,7 +2277,7 @@
                de,
                "0",
                treeNode.checked,
                function () {}
                function () { }
              );
          } else if (treeNode.class === "model") {
            de = {
@@ -2298,7 +2303,7 @@
              de,
              "0",
              treeNode.checked,
              function () {}
              function () { }
            );
          }
          layer && (treeNode.id = layer.treeobj.id);
@@ -2407,12 +2412,16 @@
            "0",
            true
          );
          layer._primitive.cullingDistance = 100
          layer._primitive.cameraHeightRange = new Cesium.Cartesian3(0, 1000)
          break;
        case "s3m":
          layer = sgworld.Creator.createS3MLayer(
            treeNode.urls,
            sgworld._Viewer.scene,
            function () {}
            function () { }
          );
          break;
        case "gltf":
@@ -2688,8 +2697,8 @@
      let imgUrl;
      new Cesium.GeoJsonDataSource.load(
        treeNode.urls +
          "?version=1.3.0&request=GetFeature&format=json&typename=" +
          treeNode.layer
        "?version=1.3.0&request=GetFeature&format=json&typename=" +
        treeNode.layer
      ).then((dataSource) => {
        // that.$set(treeNode, "disabled", false);
        Viewer.dataSources.add(dataSource);
@@ -3041,6 +3050,7 @@
  background-image: url("~@/assets/img/new/treeClose-y.png");
}
.leftmenu {
  background-image: url("~@/assets/img/new/treeClose.png");
  background-size: 100% 100%;
@@ -3100,7 +3110,7 @@
  background-color: rgba(255, 255, 255, 0.4) !important;
}
.el-tree /deep/ .is-current > .el-tree-node__content {
.el-tree /deep/ .is-current>.el-tree-node__content {
  background-color: rgba(255, 255, 255, 0.4) !important;
  font-size: 14px;
}