管道基础大数据平台系统开发-【前端】-新系統界面
Surpriseplus
2023-03-26 833cc05e4a0d5a66fecda772be3ac07b621c4cd9
src/components/mapsdk.vue
@@ -297,54 +297,47 @@
          </div>
        </el-card>
      </div>
<!--      <div style="display: flex;">-->
      <!--      <div style="display: flex;">-->
      <div
        class="changeTerrain"
        @click="changeTerrainLayer"
      >
        <div
          class="changeTerrain"
          @click="changeTerrainLayer"
        >
          <div
            title="地形切换"
            id="cenBg"
            class="mapTerrain"
          ></div>
        </div>
<!--      class="center CenDiv"-->
          title="地形切换"
          id="cenBg"
          class="mapTerrain"
        ></div>
      </div>
      <!--      class="center CenDiv"-->
      <div
        @click="changeMenulayer"
        class="changeLayer"
      >
        <div
          @click="changeMenulayer"
          class="changeLayer"
        >
          <div
            title="底图切换"
            id="cenBg"
            class="mapBaseMap"
          ></div>
        </div>
          title="底图切换"
          id="cenBg"
          class="mapBaseMap"
        ></div>
      </div>
      <div
        @click="changeMapType"
        class="changeMapType"
      >
        <div
          @click="changeMapType"
          class="changeMapType"
        >
          <div
            title="2/3维切换"
            id="cenBg"
            :class="show2DMap ? 'mapTypeTwo' : 'mapTypeThree'"
          ></div>
        </div>
<!--      </div>-->
          title="2/3维切换"
          id="cenBg"
          :class="show2DMap ? 'mapTypeTwo' : 'mapTypeThree'"
        ></div>
      </div>
      <!--      </div>-->
      <!-- 坡度分析弹窗-->
      <div
        class="lengend"
        v-show="showLengendDialog"
      >
        <el-card class="box-card">
          <!-- <div
            class="lengend_color"
            style="height:205px"
          >
          </div> -->
          <div class="lengendBox">
            <div>
              <img
                class="lengendImg"
@@ -358,8 +351,65 @@
              <div>52.5°</div>
              <div>70°</div>
            </div>
          </div>
        </el-card>
      </div>
      <div
        class="HistLeng"
        v-show="$store.state.histLenged"
      >
        <el-card class="box-card">
          <table>
            <tr>
              <td>粉质黏土</td>
              <td>
                <div style="width:100px;height:20px;background:rgba(139,106,77,1)">
                </div>
              </td>
            </tr>
            <tr>
              <td>淤泥质粉土</td>
              <td>
                <div style="width:100px;height:20px;background:rgba(141,85,69,1)">
                </div>
              </td>
            </tr>
            <tr>
              <td>圆砾</td>
              <td>
                <div style="width:100px;height:20px;background:rgba(102,166,184,1)">
                </div>
              </td>
            </tr>
            <tr>
              <td>卵石</td>
              <td>
                <div style="width:100px;height:20px;background:rgba(54,83,173,1)">
                </div>
              </td>
            </tr>
            <tr>
              <td>泥岩</td>
              <td>
                <div style="width:100px;height:20px;background:rgba(47,30,13,1)">
                </div>
              </td>
            </tr>
            <tr>
              <td>细砂</td>
              <td>
                <div style="width:100px;height:20px;background:rgba(93,88,15,1)">
                </div>
              </td>
            </tr>
            <tr>
              <td>中砂</td>
              <td>
                <div style="width:100px;height:20px;background:rgba(164,140,21,1)">
                </div>
              </td>
            </tr>
          </table>
        </el-card>
      </div>
      <!--属性信息弹窗-->
@@ -572,11 +622,13 @@
          v-if="dialog.isJpg"
          class="pdfClass"
        >
          <img
            style="width:100%; height:100%;"
          <el-image
            style="width:100%; height:100%"
            :src="dialog.src"
            alt=""
          />
            :preview-src-list="[dialog.src]"
          >
          </el-image>
        </div>
      </el-dialog>
      <!--      <div-->
@@ -591,6 +643,7 @@
      <!--      </div>-->
    </div>
    <model-property ref='modelProperty'></model-property>
  </div>
</template>
@@ -598,12 +651,14 @@
import $ from "jquery";
import mapMenuTop from "./MapView/mapMenuTop.vue";
import mapSpaceTop from "./MapView/mapSpaceTop.vue";
import ModelProperty from '../views/Tools/ModelProperty.vue'
import {
  select_Comprehensive_ByPageAndCount,
  select_Comprehensive_SelectWktById,
  comprehensive_selectRoute,
  dataLib_selectFiles, dataQuery_selectFields, dataQuery_selectDomains, dataQuery_selectByPage
  dataLib_selectFiles, dataQuery_selectFields, dataQuery_selectDomains,
  dataQuery_selectByPage,
  comprehensive_selectPubById, comprehensive_selectModelByGuid
} from '../api/api'
import { getToken } from '@/utils/auth'
@@ -612,6 +667,7 @@
  components: {
    mapMenuTop,
    mapSpaceTop,
    ModelProperty
  },
  data() {
@@ -762,18 +818,62 @@
              window.pickedColor = window.pickedFeature.color
              window.pickedFeature.color = Cesium.Color.RED.withAlpha(0.3);
              this.$store.state.catModel = true;
              this.$store.state.catModelInfo = {
                id: pickedFeature.getProperty("id"),
                name: pickedFeature.getProperty("name"),
                layerId: pickedFeature.primitive.layerId,
                layerName: pickedFeature.primitive.id
              };
              // this.$store.state.catModel = true;
              that.setModelInfoData(window.pickedFeature);
            }
          }
        }
      }, Cesium.ScreenSpaceEventType.LEFT_CLICK)
    },
    async setModelInfoData(result) {
      var modelKey = 'id'
      if (result.tileset.pubid > 0) {
        const data = await comprehensive_selectPubById({ id: result.tileset.pubid })
        if (data.code != 200) {
          return
        } else {
          modelKey = JSON.parse(data.result.json).modelid
        }
        if (!modelKey) {
          return this.$message('没有模型主键ID,无法查询数据');
        }
      }
      var that = this
      var obj = {
        layerid: pickedFeature.primitive.layerId,
        modelid: pickedFeature.getProperty(modelKey)
      }
      const data1 = await comprehensive_selectModelByGuid(obj);
      if (data1.code != 200) {
        return;
      }
      var name = null;
      var bak = null;
      var type = null;
      if (data1.result) {
        name = data1.result.name;
        bak = data1.result.bak;
        type = data1.result.type;
      }
      that.$store.state.catModelInfo = {
        id: pickedFeature.getProperty(modelKey),
        name: name,
        type: type,
        bak: bak,
        layerId: pickedFeature.primitive.layerId,
        layerName: pickedFeature.primitive.id
      };
      that.$refs && that.$refs.modelProperty && that.$refs.modelProperty.open();
    },
    drawTerrainLevel() {
      this.clearTerrainLevel()
      var deep = parseFloat(this.terrainFrom.height)
@@ -828,9 +928,9 @@
      //显示fps
      Viewer.scene.debugShowFramesPerSecond = false;
      //导航控件
      window.sgworld.navControl("nav", false);
      // window.sgworld.navControl("nav", false);
      //比例尺
      window.sgworld.navControl("scale", false);
      // window.sgworld.navControl("scale", false);
      //开启深度检测
      // sgworld.Analysis.depthTestAgainstTerrain(true)
      Viewer.scene.globe.depthTestAgainstTerrain = true;
@@ -1686,7 +1786,12 @@
      position: absolute;
      z-index: 40;
    }
    .HistLeng {
      z-index: 40;
      position: absolute;
      right: 115px;
      bottom: 10px;
    }
    .lengend {
      width: 300px;
      z-index: 40;
@@ -1846,9 +1951,9 @@
  justify-content: center;
  align-items: center;
  cursor: pointer;
  border: 1px solid rgba(255,255,255,.5);
  border: 1px solid rgba(255, 255, 255, 0.5);
}
.changeLayer{
.changeLayer {
  position: absolute;
  bottom: 116px;
  right: 46px;
@@ -1859,7 +1964,7 @@
  justify-content: center;
  align-items: center;
  cursor: pointer;
  border: 1px solid rgba(255,255,255,.5);
  border: 1px solid rgba(255, 255, 255, 0.5);
}
.changeMapType {
  position: absolute;
@@ -1872,7 +1977,7 @@
  justify-content: center;
  align-items: center;
  cursor: pointer;
  border: 1px solid rgba(255,255,255,.5);
  border: 1px solid rgba(255, 255, 255, 0.5);
}
//.changeTerrain {
//  position: absolute;