管道基础大数据平台系统开发-【前端】-新系統界面
src/views/Synthesis/index.vue
@@ -22,7 +22,21 @@
          ></div>
        </div>
      </div>
      <div
        class="MenuIcon menu-class"
        :class="{ lefMenuActive: showMenuFlag == menuItem.id }"
      >
        <div
          class="menuDiv"
          :title="menuItem.name"
          @click="setMenuChange(menuItem)"
        >
          <div
            class="menuImage"
            :class="menuItem.class"
          ></div>
        </div>
      </div>
    </div>
    <div class="rightContent">
      <div
@@ -44,10 +58,10 @@
</template>
<script>
import { getPerms } from '../../api/api';
import mapdiv from '../../components/MapDiv.vue';
import leftMenu from './LeftMenu.vue';
import maplayer from '../Tools/maplayer.vue';
import { getPerms } from "../../api/api";
import mapdiv from "../../components/MapDiv.vue";
import leftMenu from "./LeftMenu.vue";
import maplayer from "../Tools/maplayer.vue";
export default {
  components: {
    mapdiv,
@@ -61,66 +75,74 @@
      isActive: false,
      showMenuList: [],
      menuOption: [
        {
          id: 1,
          name: '菜单',
          class: 'menu_img1',
          show: true,
        },
        // {
        //   id: 1,
        //   name: "菜单",
        //   class: "menu_img1",
        //   show: true,
        // },
        {
          id: 2,
          name: '图层',
          class: 'menu_img2',
          show: false,
          name: "图层",
          class: "menu_img2",
          show: true,
          // show: false,
        },
        {
          id: 3,
          name: '视图',
          class: 'menu_img3',
          show: false,
        },
        // {
        //   id: 3,
        //   name: "视图",
        //   class: "menu_img3",
        //   show: false,
        // },
        {
          id: 4,
          name: '漫游',
          class: 'menu_img4',
          name: "漫游",
          class: "menu_img4",
          show: false,
        },
        {
          id: 5,
          name: '分析',
          class: 'menu_img5',
          name: "分析",
          class: "menu_img5",
          show: false,
        },
        {
          id: 6,
          name: '查询',
          class: 'menu_img6',
          name: "查询",
          class: "menu_img6",
          show: false,
        },
        {
          id: 7,
          name: '定位',
          class: 'menu_img7',
          name: "定位",
          class: "menu_img7",
          show: false,
        },
        {
          id: 8,
          name: '测量',
          class: 'menu_img8',
          name: "测量",
          class: "menu_img8",
          show: false,
        },
        {
          id: 9,
          name: '标绘',
          class: 'menu_img9',
          name: "标绘",
          class: "menu_img9",
          show: false,
        }, {
        },
        {
          id: 10,
          name: '场景',
          class: 'menu_img10',
          name: "场景",
          class: "menu_img10",
          show: false,
        },
      ],
      menuItem: {
        id: 1,
        name: "折叠",
        class: "menu_img1",
        show: true,
      },
    };
  },
  watch: {},
@@ -128,8 +150,15 @@
  methods: {
    //左侧菜单滑动显隐
    setMenuChange(res) {
      if (res.id == this.showMenuFlag) {
        return;
      }
      //清除查询弹窗
      this.$store.state.mapMenuBoolean = false;
      this.$store.state.mapMenuBoxFlag = "";
      //清除分析模块的全局变量
      ClearAlayse();
      switch (res.id) {
        case 1:
          if (this.showMenuFlag == null) return;
          this.openStatus = !this.openStatus;
@@ -138,20 +167,22 @@
          if (this.showMenuFlag == null) {
            this.openStatus = false;
          }
          this.$bus.$emit('setChangeTwoMenu', res.id - 2);
          this.$bus.$emit("setChangeTwoMenu", res.id - 2);
          break;
        default: {
          this.openStatus = true;
          this.$bus.$emit('setChangeTwoMenu', res.id - 2);
          this.$bus.$emit("setChangeTwoMenu", res.id - 2);
          this.showMenuFlag = res.id;
        }
      }
    },
    //初始化菜单授权
    async getPermsMenu() {
      if (this.$store.state.currentPerms == '' || this.$store.state.currentPerms != '/comprehensive') {
        this.$store.state.currentPerms = '/comprehensive';
      if (
        this.$store.state.currentPerms == "" ||
        this.$store.state.currentPerms != "/comprehensive"
      ) {
        this.$store.state.currentPerms = "/comprehensive";
      }
      if (this.$store.state.permsEntity.length == 0) {
        const data = await getPerms();
@@ -165,9 +196,7 @@
          this.showMenuChange(permsEntity[i], permsEntity);
        }
      }
      for (var i in this.menuOption) {
        if (this.menuOption[i].show != false) {
          this.showMenuList.push(this.menuOption[i]);
        }
@@ -175,7 +204,7 @@
      //初始化二级菜单
      if (this.showMenuList.length > 1) {
        var index = this.showMenuList[1].id;
        this.$bus.$emit('setChangeTwoMenu', index - 2);
        this.$bus.$emit("setChangeTwoMenu", index - 2);
      }
    },
    showMenuChange(res, result) {
@@ -191,7 +220,6 @@
      var std = [];
      std.push(this.menuOption[0]);
      for (var i = 1; i < this.menuOption.length; i++) {
        if (this.menuOption[i].name == res.cnName) {
          this.menuOption[i].show = true;
        }
@@ -200,6 +228,7 @@
  },
  mounted() {
    // this.$bus.$emit('showLeftMenu', true);
    window.sgworld.navControl("nav", true);
    this.$store.state.mapMenuBoolean = false;
    this.$store.state.mapMenuBoxFlag = null;
    this.$store.state.mapPopBoolean = false;
@@ -221,7 +250,7 @@
    width: 63px;
    height: 100%;
    overflow-y: auto;
    background: #3B4D6E;
    background: #3b4d6e;
    position: absolute;
    z-index: 30;
    .MenuIcon {
@@ -257,8 +286,8 @@
          center;
      }
      .menu_img4 {
        background: url("../../assets/img/synthesis/图层 8 拷贝 2.png")
          no-repeat center;
        background: url("../../assets/img/synthesis/图层 3.png") no-repeat
          center;
      }
      .menu_img5 {
        background: url("../../assets/img/synthesis/矢量智能对象 拷贝 3.png")
@@ -303,9 +332,15 @@
    display: flex;
    .left_main {
      margin: 0;
      width: 300px;
      height: auto;
      transition: width 2s;
      //width: 255px;
      width: 140px;
      // padding-bottom: 10px;
      height: 100%;
      overflow-y: auto;
      //height: auto;
      transition: width 1s;
      // background: #f4f8ff;
    }
    .right_main {
@@ -354,6 +389,12 @@
      border-radius: 5px;
    }
  }
  .menu-class {
    position: absolute;
    bottom: 10px;
    left: 0;
  }
  /deep/.el-loading-spinner i {
    color: #1890ff;
  }