管道基础大数据平台系统开发-【前端】-新系統界面
1
Surpriseplus
2023-02-14 adba628772067ff547396522c245d1fcfe6d9f7e
1
已添加68个文件
已修改3个文件
290 ■■■■ 文件已修改
src/assets/img/compass.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/synthesis/images/3白底_03.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/synthesis/images/3白底_05.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/synthesis/images/3白底_07.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/synthesis/images/3白底_10.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/synthesis/images/3白底_105.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/synthesis/images/3白底_108-33.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/synthesis/images/3白底_108.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/synthesis/images/3白底_111.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/synthesis/images/3白底_114.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/synthesis/images/3白底_116.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/synthesis/images/3白底_122.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/synthesis/images/3白底_125.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/synthesis/images/3白底_128.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/synthesis/images/3白底_13.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/synthesis/images/3白底_130.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/synthesis/images/3白底_133.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/synthesis/images/3白底_135.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/synthesis/images/3白底_148.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/synthesis/images/3白底_151.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/synthesis/images/3白底_154.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/synthesis/images/3白底_157.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/synthesis/images/3白底_159.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/synthesis/images/3白底_16.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/synthesis/images/3白底_162.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/synthesis/images/3白底_164.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/synthesis/images/3白底_166.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/synthesis/images/3白底_168.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/synthesis/images/3白底_180.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/synthesis/images/3白底_183.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/synthesis/images/3白底_186.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/synthesis/images/3白底_19.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/synthesis/images/3白底_192.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/synthesis/images/3白底_195.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/synthesis/images/3白底_198.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/synthesis/images/3白底_201.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/synthesis/images/3白底_203.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/synthesis/images/3白底_206.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/synthesis/images/3白底_208.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/synthesis/images/3白底_21.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/synthesis/images/3白底_217.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/synthesis/images/3白底_220.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/synthesis/images/3白底_222.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/synthesis/images/3白底_225.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/synthesis/images/3白底_228.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/synthesis/images/3白底_23.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/synthesis/images/3白底_231.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/synthesis/images/3白底_233.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/synthesis/images/3白底_236.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/synthesis/images/3白底_238.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/synthesis/images/3白底_26.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/synthesis/images/3白底_29.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/synthesis/images/3白底_31.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/synthesis/images/3白底_46.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/synthesis/images/3白底_49.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/synthesis/images/3白底_52.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/synthesis/images/3白底_55.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/synthesis/images/3白底_58.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/synthesis/images/3白底_61.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/synthesis/images/3白底_64.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/synthesis/images/3白底_67.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/synthesis/images/3白底_69.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/synthesis/images/3白底_81.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/synthesis/images/3白底_84.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/synthesis/images/3白底_87.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/synthesis/images/3白底_90.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/synthesis/images/3白底_93.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/synthesis/images/3白底_96.png 补丁 | 查看 | 原始文档 | blame | 历史
src/components/mapol.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/mapsdk.vue 173 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/Tools/LayerTree.vue 113 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/compass.png
src/assets/img/synthesis/images/3°×µ×_03.png
src/assets/img/synthesis/images/3°×µ×_05.png
src/assets/img/synthesis/images/3°×µ×_07.png
src/assets/img/synthesis/images/3°×µ×_10.png
src/assets/img/synthesis/images/3°×µ×_105.png
src/assets/img/synthesis/images/3°×µ×_108-33.png
src/assets/img/synthesis/images/3°×µ×_108.png
src/assets/img/synthesis/images/3°×µ×_111.png
src/assets/img/synthesis/images/3°×µ×_114.png
src/assets/img/synthesis/images/3°×µ×_116.png
src/assets/img/synthesis/images/3°×µ×_122.png
src/assets/img/synthesis/images/3°×µ×_125.png
src/assets/img/synthesis/images/3°×µ×_128.png
src/assets/img/synthesis/images/3°×µ×_13.png
src/assets/img/synthesis/images/3°×µ×_130.png
src/assets/img/synthesis/images/3°×µ×_133.png
src/assets/img/synthesis/images/3°×µ×_135.png
src/assets/img/synthesis/images/3°×µ×_148.png
src/assets/img/synthesis/images/3°×µ×_151.png
src/assets/img/synthesis/images/3°×µ×_154.png
src/assets/img/synthesis/images/3°×µ×_157.png
src/assets/img/synthesis/images/3°×µ×_159.png
src/assets/img/synthesis/images/3°×µ×_16.png
src/assets/img/synthesis/images/3°×µ×_162.png
src/assets/img/synthesis/images/3°×µ×_164.png
src/assets/img/synthesis/images/3°×µ×_166.png
src/assets/img/synthesis/images/3°×µ×_168.png
src/assets/img/synthesis/images/3°×µ×_180.png
src/assets/img/synthesis/images/3°×µ×_183.png
src/assets/img/synthesis/images/3°×µ×_186.png
src/assets/img/synthesis/images/3°×µ×_19.png
src/assets/img/synthesis/images/3°×µ×_192.png
src/assets/img/synthesis/images/3°×µ×_195.png
src/assets/img/synthesis/images/3°×µ×_198.png
src/assets/img/synthesis/images/3°×µ×_201.png
src/assets/img/synthesis/images/3°×µ×_203.png
src/assets/img/synthesis/images/3°×µ×_206.png
src/assets/img/synthesis/images/3°×µ×_208.png
src/assets/img/synthesis/images/3°×µ×_21.png
src/assets/img/synthesis/images/3°×µ×_217.png
src/assets/img/synthesis/images/3°×µ×_220.png
src/assets/img/synthesis/images/3°×µ×_222.png
src/assets/img/synthesis/images/3°×µ×_225.png
src/assets/img/synthesis/images/3°×µ×_228.png
src/assets/img/synthesis/images/3°×µ×_23.png
src/assets/img/synthesis/images/3°×µ×_231.png
src/assets/img/synthesis/images/3°×µ×_233.png
src/assets/img/synthesis/images/3°×µ×_236.png
src/assets/img/synthesis/images/3°×µ×_238.png
src/assets/img/synthesis/images/3°×µ×_26.png
src/assets/img/synthesis/images/3°×µ×_29.png
src/assets/img/synthesis/images/3°×µ×_31.png
src/assets/img/synthesis/images/3°×µ×_46.png
src/assets/img/synthesis/images/3°×µ×_49.png
src/assets/img/synthesis/images/3°×µ×_52.png
src/assets/img/synthesis/images/3°×µ×_55.png
src/assets/img/synthesis/images/3°×µ×_58.png
src/assets/img/synthesis/images/3°×µ×_61.png
src/assets/img/synthesis/images/3°×µ×_64.png
src/assets/img/synthesis/images/3°×µ×_67.png
src/assets/img/synthesis/images/3°×µ×_69.png
src/assets/img/synthesis/images/3°×µ×_81.png
src/assets/img/synthesis/images/3°×µ×_84.png
src/assets/img/synthesis/images/3°×µ×_87.png
src/assets/img/synthesis/images/3°×µ×_90.png
src/assets/img/synthesis/images/3°×µ×_93.png
src/assets/img/synthesis/images/3°×µ×_96.png
src/components/mapol.vue
@@ -79,9 +79,9 @@
        target: "mapol",
        layers: [imageLayer, vectorLayer],
        view: new View({
          center: transform([105.02, 34.9], "EPSG:4326", "EPSG:3857"),
          center:  [105.02, 34.9],
          zoom: 4,
          projection: "EPSG:3857",
          projection: "EPSG:4326",
        }),
        controls: defaultControls().extend([
          new FullScreen(),
src/components/mapsdk.vue
@@ -1,44 +1,85 @@
<template>
  <div class="mapBox">
    <div id="mapdiv">
      <div class="menu_Top" v-if="$store.state.mapMenuBoolean">
      <div
        class="menu_Top"
        v-if="$store.state.mapMenuBoolean"
      >
        <map-menu-top v-if="$store.state.mapMenuBoxFlag == '1'" />
        <map-space-top v-if="$store.state.mapMenuBoxFlag == '2'" />
      </div>
      <div class="bufferBox" v-if="showBufferBoxDialog">
      <div
        class="bufferBox"
        v-if="showBufferBoxDialog"
      >
        <el-card class="box-card">
          <div slot="header" class="clearfix">
          <div
            slot="header"
            class="clearfix"
          >
            <span>缓冲区分析</span>
            <div style="float: right; cursor: pointer">
              <i class="el-icon-close" @click="closeBufferBox(1)"></i>
              <i
                class="el-icon-close"
                @click="closeBufferBox(1)"
              ></i>
            </div>
          </div>
          <div class="box-body">
            <el-form ref="form" :model="bufFrom" label-width="100px">
            <el-form
              ref="form"
              :model="bufFrom"
              label-width="100px"
            >
              <el-form-item label="缓冲半径(ç±³):">
                <el-input v-model="bufFrom.val"></el-input>
              </el-form-item>
              <el-form-item>
                <el-button @click="addBuffer(1)" type="info">点</el-button>
                <el-button @click="addBuffer(2)" type="info">线</el-button>
                <el-button @click="addBuffer(3)" type="info">面</el-button>
                <el-button @click="clearBuffer" type="info">清除</el-button>
                <el-button
                  @click="addBuffer(1)"
                  type="info"
                >点</el-button>
                <el-button
                  @click="addBuffer(2)"
                  type="info"
                >线</el-button>
                <el-button
                  @click="addBuffer(3)"
                  type="info"
                >面</el-button>
                <el-button
                  @click="clearBuffer"
                  type="info"
                >清除</el-button>
              </el-form-item>
            </el-form>
          </div>
        </el-card>
      </div>
      <div class="coordLocalBox" v-if="showCoordLocalBoxDialog">
      <div
        class="coordLocalBox"
        v-if="showCoordLocalBoxDialog"
      >
        <el-card class="box-card">
          <div slot="header" class="clearfix">
          <div
            slot="header"
            class="clearfix"
          >
            <span>坐标定位</span>
            <div style="float: right; cursor: pointer">
              <i class="el-icon-close" @click="closeBufferBox(2)"></i>
              <i
                class="el-icon-close"
                @click="closeBufferBox(2)"
              ></i>
            </div>
          </div>
          <div class="box-body">
            <el-form ref="form" :model="coordFrom" label-width="50px">
            <el-form
              ref="form"
              :model="coordFrom"
              label-width="50px"
            >
              <el-form-item label="经度:">
                <el-input v-model="coordFrom.lon"></el-input>
              </el-form-item>
@@ -49,22 +90,38 @@
                <el-input v-model="coordFrom.height"></el-input>
              </el-form-item>
              <el-form-item>
                <el-button @click="setCoordLocal" type="info">定位</el-button>
                <el-button
                  @click="setCoordLocal"
                  type="info"
                >定位</el-button>
              </el-form-item>
            </el-form>
          </div>
        </el-card>
      </div>
      <div class="toponymicLocalBox" v-if="showToponymicLocalBoxDialog">
      <div
        class="toponymicLocalBox"
        v-if="showToponymicLocalBoxDialog"
      >
        <el-card class="box-card">
          <div slot="header" class="clearfix">
          <div
            slot="header"
            class="clearfix"
          >
            <span>地名定位</span>
            <div style="float: right; cursor: pointer">
              <i class="el-icon-close" @click="closeBufferBox(3)"></i>
              <i
                class="el-icon-close"
                @click="closeBufferBox(3)"
              ></i>
            </div>
          </div>
          <div class="box-body">
            <el-form :model="comprehensive" :inline="true" label-width="50px">
            <el-form
              :model="comprehensive"
              :inline="true"
              label-width="50px"
            >
              <el-form-item label="地名:">
                <el-input
                  style="width: 200px"
@@ -72,17 +129,28 @@
                ></el-input>
              </el-form-item>
              <el-form-item>
                <el-button @click="setQueryTable" type="info">查询</el-button>
                <el-button
                  @click="setQueryTable"
                  type="info"
                >查询</el-button>
              </el-form-item>
            </el-form>
            <el-table :data="tableData" height="200px" style="width: 100%">
            <el-table
              :data="tableData"
              height="200px"
              style="width: 100%"
            >
              <el-table-column
                align="center"
                type="index"
                label="序号"
                width="70px"
              />
              <el-table-column prop="name" align="center" label="定位">
              <el-table-column
                prop="name"
                align="center"
                label="定位"
              >
                <template slot-scope="scope">
                  <el-button
                    @click="handleLocation(scope.$index, scope.row)"
@@ -91,10 +159,17 @@
                  ></el-button>
                </template>
              </el-table-column>
              <el-table-column prop="name" align="center" label="地名">
              <el-table-column
                prop="name"
                align="center"
                label="地名"
              >
              </el-table-column>
            </el-table>
            <div style="margin-top: 10px" class="pagination_box">
            <div
              style="margin-top: 10px"
              class="pagination_box"
            >
              <el-pagination
                @size-change="handleSizeChange"
                @current-change="handleCurrentChange"
@@ -109,12 +184,21 @@
          </div>
        </el-card>
      </div>
      <div class="pathAnalysisBox" v-if="showPathAnalysisBoxDialog">
      <div
        class="pathAnalysisBox"
        v-if="showPathAnalysisBoxDialog"
      >
        <el-card class="box-card">
          <div slot="header" class="clearfix">
          <div
            slot="header"
            class="clearfix"
          >
            <span>路径分析</span>
            <div style="float: right; cursor: pointer">
              <i class="el-icon-close" @click="closeBufferBox(4)"></i>
              <i
                class="el-icon-close"
                @click="closeBufferBox(4)"
              ></i>
            </div>
          </div>
          <div class="box-body">
@@ -124,7 +208,10 @@
              :rules="rules"
              label-width="55px"
            >
              <el-form-item label="起点:" prop="lon">
              <el-form-item
                label="起点:"
                prop="lon"
              >
                <el-input
                  style="width: 250px"
                  v-model="pathFrom.lon"
@@ -134,10 +221,15 @@
                  :underline="false"
                  @click="showMouseLeftClick(1)"
                  style="margin-left: 10px"
                  ><i style="color: white" class="el-icon-plus"></i
                ></el-link>
                ><i
                    style="color: white"
                    class="el-icon-plus"
                  ></i></el-link>
              </el-form-item>
              <el-form-item label="终点:" prop="lat">
              <el-form-item
                label="终点:"
                prop="lat"
              >
                <el-input
                  style="width: 250px"
                  v-model="pathFrom.lat"
@@ -147,13 +239,16 @@
                  :underline="false"
                  @click="showMouseLeftClick(2)"
                  style="margin-left: 10px"
                  ><i style="color: white" class="el-icon-plus"></i
                ></el-link>
                ><i
                    style="color: white"
                    class="el-icon-plus"
                  ></i></el-link>
              </el-form-item>
              <el-form-item>
                <el-button @click="showMouseLeftClick(3)" type="info"
                  >查询</el-button
                >
                <el-button
                  @click="showMouseLeftClick(3)"
                  type="info"
                >查询</el-button>
              </el-form-item>
            </el-form>
          </div>
@@ -302,7 +397,7 @@
      //     100000
      //   ),
      // })
        Viewer.camera.flyTo({
      Viewer.camera.flyTo({
        destination: Cesium.Cartesian3.fromDegrees(110, 33, 8000000),
      });
@@ -570,9 +665,7 @@
            return false
          }
        })
        if (this.linePath != null) {
          this.clearPathAll(3)
        }
       this.clearPathAll(3)
        var start = this.pathFrom.lon.split(",")
        var end = this.pathFrom.lat.split(",")
        var startData = {
@@ -581,7 +674,7 @@
          x2: parseFloat(end[0]),
          y2: parseFloat(end[1]),
        }
        const data = await comprehensive_selectRoute(startData)
        if (data.code != 200) {
          return this.$message.error("数据请求失败")
src/views/Tools/LayerTree.vue
@@ -15,7 +15,8 @@
      @node-contextmenu="rightClick"
      @check-change="handleCheckChange"
      :default-checked-keys="handleTreeCheck"
      ref="tree"     >
      ref="tree"
    >
      <span
        class="slot-t-node"
        slot-scope="{ node, data }"
@@ -38,7 +39,7 @@
          ></el-input>
        </span>
      </span>
    </el-tree>
    <el-card
@@ -143,6 +144,14 @@
import { image_layer } from '../../assets/js/index.js';
import ImageWMS from 'ol/source/ImageWMS';
import Image from 'ol/layer/Image';
import GeoJSON from 'ol/format/GeoJSON.js';
import Map from 'ol/Map.js';
import {   Vector as VectorSource } from "ol/source";
import { Vector as VectorLayer,  } from "ol/layer";
import View from 'ol/View.js';
import { Fill, Stroke, Style } from 'ol/style.js';
import { perms_selectLayers } from '../../api/api.js'
export default {
  name: 'tree',
@@ -317,41 +326,41 @@
    menuMoveF(type) {
        // å°†å˜åŠ¨ä¹‹å‰çš„node备份
        var node= this.currentNode;
        var data = this.currentData;
        let copyNode = this.currentNode
        debugger
        // copyNode.previousSibling = {...node. }
        // copyNode.nextSibling = {...node.nextSibling}
        // window.sessionStorage.setItem('menuNode',CircularJSON.stringify(copyNode))
        let nodeData = {}
        if (type==='up') {
           // ä¸Šç§»
          if (node.previousSibling) {
            // åˆ é™¤åŽŸå…ˆçš„node
            this.$refs.tree.remove(node.data)
            // æ‹¿åˆ°copy的node
            // nodeData = CircularJSON.parse(window.sessionStorage.getItem('menuNode'))
            // // å¤åˆ¶è¯¥node到指定位置(参数:1. è¦å¢žåŠ çš„èŠ‚ç‚¹çš„ data 2. è¦å¢žåŠ çš„èŠ‚ç‚¹çš„åŽä¸€ä¸ªèŠ‚ç‚¹çš„ data、key æˆ–者 node)
            // this.$refs.tree.insertBefore(nodeData.data,nodeData.previousSibling.data)
            window.sessionStorage.removeItem('menuNode')
          } else {
            this.$message.warning('该菜单已经是当前层最上级')
          }
      // å°†å˜åŠ¨ä¹‹å‰çš„node备份
      var node = this.currentNode;
      var data = this.currentData;
      let copyNode = this.currentNode
      debugger
      // copyNode.previousSibling = {...node. }
      // copyNode.nextSibling = {...node.nextSibling}
      // window.sessionStorage.setItem('menuNode',CircularJSON.stringify(copyNode))
      let nodeData = {}
      if (type === 'up') {
        // ä¸Šç§»
        if (node.previousSibling) {
          // åˆ é™¤åŽŸå…ˆçš„node
          this.$refs.tree.remove(node.data)
          // æ‹¿åˆ°copy的node
          // nodeData = CircularJSON.parse(window.sessionStorage.getItem('menuNode'))
          // // å¤åˆ¶è¯¥node到指定位置(参数:1. è¦å¢žåŠ çš„èŠ‚ç‚¹çš„ data 2. è¦å¢žåŠ çš„èŠ‚ç‚¹çš„åŽä¸€ä¸ªèŠ‚ç‚¹çš„ data、key æˆ–者 node)
          // this.$refs.tree.insertBefore(nodeData.data,nodeData.previousSibling.data)
          window.sessionStorage.removeItem('menuNode')
        } else {
          // ä¸‹ç§»
          if (node.nextSibling) {
            this.$refs.tree.remove(node.data)
            nodeData = CircularJSON.parse(window.sessionStorage.getItem('menuNode'))
            // å‚数:1. è¦å¢žåŠ çš„èŠ‚ç‚¹çš„ data 2. è¦å¢žåŠ çš„èŠ‚ç‚¹çš„å‰ä¸€ä¸ªèŠ‚ç‚¹çš„ data、key æˆ–者 node
            this.$refs.tree.insertAfter(nodeData.data,nodeData.nextSibling.data)
            window.sessionStorage.removeItem('menuNode')
          } else {
            this.$message.warning('该菜单已经是当前层最下级')
          }
          this.$message.warning('该菜单已经是当前层最上级')
        }
      },
      } else {
        // ä¸‹ç§»
        if (node.nextSibling) {
          this.$refs.tree.remove(node.data)
          nodeData = CircularJSON.parse(window.sessionStorage.getItem('menuNode'))
          // å‚数:1. è¦å¢žåŠ çš„èŠ‚ç‚¹çš„ data 2. è¦å¢žåŠ çš„èŠ‚ç‚¹çš„å‰ä¸€ä¸ªèŠ‚ç‚¹çš„ data、key æˆ–者 node
          this.$refs.tree.insertAfter(nodeData.data, nodeData.nextSibling.data)
          window.sessionStorage.removeItem('menuNode')
        } else {
          this.$message.warning('该菜单已经是当前层最下级')
        }
      }
    },
    handleDragStart(node, ev) {
@@ -411,7 +420,13 @@
      if (std.length == 0 && checked == true) {
        this.setAddLayers(data)
      }
      var layers_ol = window.map.getAllLayers();
      for (var i in layers_ol) {
        var layerOl = layers_ol[i];
        if (layerOl.values_.name == data.label) {
          layerOl.setVisible(checked); //显示图层
        }
      }
    },
    setAddLayers(res) {
@@ -430,6 +445,20 @@
        });
        layerWMS.name = res.label;
        window.Viewer.imageryLayers.addImageryProvider(layerWMS);
        var layer2 = new Image({
          name: res.label,
          source: new ImageWMS({
            crossOrigin: 'anonymous',
            url: url,
            params: {
              FORMAT: 'image/png',
              VERSION: '1.1.1',
              LAYERS: res.resource,
            },
          }),
        });
        window.map.addLayer(layer2);
      } else if (res.layerType == 'WFS') {
        var url = res.url + "?service=WFS&version=1.0.0&request=GetFeature&typeName=" + res.resource + "&outputFormat=application%2Fjson"
@@ -454,6 +483,18 @@
            console.log("error");
          }
        });
        var vectorLayer = new VectorLayer({
          source: new VectorSource({
            url: url,
            format: new GeoJSON(),
          }),
        });
        window.map.addLayer(vectorLayer);
      }