北京经济技术开发区经开区虚拟城市项目-【前端】-Web
lixuliang
2023-11-15 78064c2072b8c7eb36309045a6166292917f491b
src/components/menu/bottom-menu.vue
@@ -1,6 +1,9 @@
<template>
  <div class="specialTool">
    <div class="bottomwrapper" :class="{ 'top-btn-active': viewer1Show && isLand }">
    <div
      class="bottomwrapper"
      :class="{ 'top-btn-active': viewer1Show && isLand }"
    >
      <div class="imgbox" @click="tdglHandle">
        <img src="@assets/img/new/tudiguanli.png" alt="" />
      </div>
@@ -9,7 +12,11 @@
      </div>
    </div>
    <div class="bottomwrapper" @click="historyHandle" :class="{ 'top-btn-active': viewer1Show && !isLand }">
    <div
      class="bottomwrapper"
      @click="historyHandle"
      :class="{ 'top-btn-active': viewer1Show && !isLand }"
    >
      <div class="imgbox">
        <img src="@assets/img/new/chengshigengxin.png" alt="" />
      </div>
@@ -25,14 +32,29 @@
        <div class="textbox">
          <span> 综合扩展 </span>
        </div>
        <el-dropdown-menu slot="dropdown" :append-to-body="false" class="popper-dropdown">
          <el-dropdown-item command="stdsjHandle">视图大数据平台</el-dropdown-item>
          <el-dropdown-item command="bzdSystem">标准地监管平台</el-dropdown-item>
          <el-dropdown-item v-if="isShowSPJK" command="spjkHandle">视频集成与可视化</el-dropdown-item>
          <el-dropdown-item v-else command="closeSpjk">关闭视频点位分布</el-dropdown-item>
          <el-dropdown-item v-if="isShowSjxl" command="sjxlHandle">手机信令热力分布</el-dropdown-item>
          <el-dropdown-item v-else command="closeSjxl">关闭信令热力分布</el-dropdown-item>
          <el-dropdown-item command="csgxHandle">城市更新</el-dropdown-item>
        <el-dropdown-menu
          slot="dropdown"
          :append-to-body="false"
          class="popper-dropdown"
        >
          <el-dropdown-item command="stdsjHandle"
            >视图大数据平台</el-dropdown-item
          >
          <el-dropdown-item command="bzdSystem"
            >标准地监管平台</el-dropdown-item
          >
          <el-dropdown-item v-if="isShowSPJK" command="spjkHandle"
            >视频集成与可视化</el-dropdown-item
          >
          <el-dropdown-item v-else command="closeSpjk"
            >关闭视频点位分布</el-dropdown-item
          >
          <el-dropdown-item v-if="isShowSjxl" command="sjxlHandle"
            >手机信令热力分布</el-dropdown-item
          >
          <el-dropdown-item v-else command="closeSjxl"
            >关闭信令热力分布</el-dropdown-item
          >
        </el-dropdown-menu>
      </el-dropdown>
    </div>
@@ -44,11 +66,19 @@
        <div class="textbox">
          <span> 精模示范 </span>
        </div>
        <el-dropdown-menu slot="dropdown" :append-to-body="false" class="popper-dropdown">
        <el-dropdown-menu
          slot="dropdown"
          :append-to-body="false"
          class="popper-dropdown"
        >
          <el-dropdown-item command="fcfhHandle">分层分户</el-dropdown-item>
          <!-- <el-dropdown-item command="sprhHandle">场景视频融合</el-dropdown-item> -->
          <el-dropdown-item v-if="isShowSPRH" command="jiqirendahui">场景视频融合</el-dropdown-item>
          <el-dropdown-item v-else command="jiqirendahui">关闭视频融合</el-dropdown-item>
          <el-dropdown-item v-if="isShowSPRH" command="jiqirendahui"
            >场景视频融合</el-dropdown-item
          >
          <el-dropdown-item v-else command="jiqirendahui"
            >关闭视频融合</el-dropdown-item
          >
        </el-dropdown-menu>
      </el-dropdown>
    </div>
@@ -63,33 +93,62 @@
            @input="updateVideo"
          >
          </el-slider> -->
          <el-slider :min="0" :max="360" v-model="robotVideoList[3].heading" @input="updateVideo">
          <el-slider
            :min="0"
            :max="360"
            v-model="robotVideoList[3].heading"
            @input="updateVideo"
          >
          </el-slider>
        </el-form-item>
        <el-form-item label="俯仰角度:">
          <el-slider :min="-89" :max="89" v-model="robotVideoList[3].pitch" @input="updateVideo">
          <el-slider
            :min="-89"
            :max="89"
            v-model="robotVideoList[3].pitch"
            @input="updateVideo"
          >
          </el-slider>
        </el-form-item>
        <el-form-item label="水平视角:">
          <el-slider :min="30" :max="120" v-model="robotVideoList[3].horizonAngle" @input="updateVideo">
          <el-slider
            :min="30"
            :max="120"
            v-model="robotVideoList[3].horizonAngle"
            @input="updateVideo"
          >
          </el-slider>
        </el-form-item>
        <el-form-item label="垂直视角:">
          <el-slider :min="30" :max="120" v-model="robotVideoList[3].verticalAngle" @input="updateVideo">
          <el-slider
            :min="30"
            :max="120"
            v-model="robotVideoList[3].verticalAngle"
            @input="updateVideo"
          >
          </el-slider>
        </el-form-item>
        <el-form-item label="最远投射:">
          <el-slider :min="100" :max="300" v-model="robotVideoList[3].far" @input="updateVideo">
          <el-slider
            :min="100"
            :max="300"
            v-model="robotVideoList[3].far"
            @input="updateVideo"
          >
          </el-slider>
        </el-form-item>
        <el-form-item label="透明度:">
          <el-slider :step="0.1" :min="0" :max="1" v-model="robotVideoList[3].alpha" @input="updateVideo">
          <el-slider
            :step="0.1"
            :min="0"
            :max="1"
            v-model="robotVideoList[3].alpha"
            @input="updateVideo"
          >
          </el-slider>
        </el-form-item>
      </el-form>
    </div>
  </div>
</template>
@@ -180,7 +239,6 @@
  background: rgba(14, 50, 143, 0.6);
  box-shadow: 0px 0px 9px 3px rgba(20, 105, 233, 0.7) inset;
  text-align: center;
  left: -36.5% !important;
  width: 155px;
  border: none;
}
@@ -190,11 +248,13 @@
}
.csbj .el-dropdown-menu {
  top: -215px !important;
  top: -180px !important;
  left: -30.5% !important;
}
.jxmx .el-dropdown-menu {
  top: -110px !important;
  left: -26.5% !important;
}
.el-dropdown-menu /deep/ .el-dropdown-menu__item {
@@ -207,19 +267,22 @@
}
.csbj .el-popper /deep/ .popper__arrow::after {
  margin: 0;
  border-top-color: rgba(14, 50, 143, 0.6);
  border-top-width: 6px;
  border-bottom-width: 0;
  top: 201px;
  left: 37px;
  top: 166px;
  left: 31px;
}
.jxmx .el-popper /deep/ .popper__arrow::after {
  margin: 0;
  border-top-color: rgba(14, 50, 143, 0.6);
  border-top-width: 6px;
  border-bottom-width: 0;
  top: 96px;
  left: -26px;
  left: -32px;
}
.el-dropdown-menu__item:focus,
@@ -315,7 +378,6 @@
          far: 3000,
          cameraIndexCode: "2b046ef675704975a8d45f1b00cd946b",
        },
      ],
      robotVideoList: [
        {
@@ -431,9 +493,6 @@
    },
    handleCommand(command) {
      switch (command) {
        case "qytj":
          this.qytj();
          break;
        case "spjkHandle":
          this.spjkHandle();
          break;
@@ -458,9 +517,6 @@
        case "closeSjxl":
          this.closeSjxl();
          break;
        case "csgxHandle":
          this.csgxHandle();
          break;
        case "jiqirendahui":
          this.jiqirendahui(this.robotVideoList);
          break;
@@ -468,7 +524,7 @@
    },
    historyHandle() {
      if (this.isLand) {
        this.$parent.changeMode('影像底图');
        this.$parent.changeMode("影像底图");
        if (!this.viewer1Show) {
          window.loading = this.$loading({
            lock: true,
@@ -481,7 +537,7 @@
        this.setViewer1Show(true);
      } else {
        if (!this.viewer1Show) {
          this.$parent.changeMode('影像底图');
          this.$parent.changeMode("影像底图");
          window.loading = this.$loading({
            lock: true,
            text: "影像对比功能加载中,请稍后",
@@ -496,6 +552,19 @@
    tdglHandle() {
      if (!this.isLand) {
        if (!this.viewer1Show) {
          let p = sgworld.Navigate.getCameraInfo();
          sgworld.Navigate.flyToPointsInterest({
            destination: new Cesium.Cartesian3.fromDegrees(
              p.location.lon,
              p.location.lat,
              p.location.height
            ),
            orientation: {
              heading: Cesium.Math.toRadians(0),
              pitch: Cesium.Math.toRadians(-90),
              roll: Cesium.Math.toRadians(0),
            },
          });
          window.loading = this.$loading({
            lock: true,
            text: "土地管理功能加载中,请稍后",
@@ -507,6 +576,19 @@
        this.setViewer1Show(true);
      } else {
        if (!this.viewer1Show) {
          let p = sgworld.Navigate.getCameraInfo();
          sgworld.Navigate.flyToPointsInterest({
            destination: new Cesium.Cartesian3.fromDegrees(
              p.location.lon,
              p.location.lat,
              p.location.height
            ),
            orientation: {
              heading: Cesium.Math.toRadians(0),
              pitch: Cesium.Math.toRadians(-90),
              roll: Cesium.Math.toRadians(0),
            },
          });
          window.loading = this.$loading({
            lock: true,
            text: "土地管理功能加载中,请稍后",
@@ -575,13 +657,6 @@
    // historyHandle() {
    //   this.$store.commit("showHistory", true);
    // },
    csgxHandle() {
      Bus.$emit("openMyResourcePop", true);
    },
    qytj() {
      this.setqyEchartsShow(!this.qyEchartsShow);
    },
    sceneRoaming() {
      if (this.showFlag) {
        document.getElementById("scroll").style.display = "none";