管道基础大数据平台系统开发-【前端】-新系統界面
1
13693261870
2023-05-22 131223f18a6f3a6f6d73b7d377e60b4c78b7fc58
1
已修改1个文件
476 ■■■■ 文件已修改
src/views/Tools/LayerTree.vue 476 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/Tools/LayerTree.vue
@@ -1,178 +1,101 @@
<template>
  <div class="lalala tree-container">
    <el-form ref="form">
      <el-form-item>
        <el-select
          v-model="$store.state.pigCode"
          clearable
          filterable
          style="width :100%"
          @change="setproChange"
          placeholder="请选择项目"
        >
          <el-option
            v-for="item in optionts"
            :key="item.code"
            :label="item.name"
            :value="item.code"
          >
        <el-select v-model="$store.state.pigCode"
                   clearable
                   filterable
                   style="width :100%"
                   @change="setproChange"
                   placeholder="请选择项目">
          <el-option v-for="item in optionts"
                     :key="item.code"
                     :label="item.name"
                     :value="item.code">
          </el-option>
        </el-select>
      </el-form-item>
      <el-form-item>
        <el-input
          placeholder="输入关键字进行过滤"
          v-model="filterText"
          class="search"
        >
        <el-input placeholder="输入关键字进行过滤"
                  v-model="filterText"
                  class="search">
        </el-input>
      </el-form-item>
    </el-form>
    <el-tree
      ref="tree"
      :data="treeData"
      node-key="id"
      show-checkbox
      :props="defaultProps"
      @node-click="handleLeftclick"
      @node-contextmenu="rightClick"
      @check="handleCheckChange"
      :default-checked-keys="handleTreeCheck"
      :expand-on-click-node="false"
      :filter-node-method="filterNode"
      draggable
    >
      <span
        class="slot-t-node"
        slot-scope="{ node, data }"
      >
    <el-tree ref="tree"
             :data="treeData"
             node-key="id"
             show-checkbox
             :props="defaultProps"
             @node-click="handleLeftclick"
             @node-contextmenu="rightClick"
             @check="handleCheckChange"
             :default-checked-keys="handleTreeCheck"
             :expand-on-click-node="false"
             :filter-node-method="filterNode"
             draggable>
      <span class="slot-t-node"
            slot-scope="{ node, data }">
        <span v-show="!data.isEdit">
          <span :class="[data.id >= 99 ? 'slot-t-node--label' : '']">{{
            node.label
          }}</span>
        </span>
        <span v-show="data.isEdit">
          <el-input
            class="slot-t-input"
            size="mini"
            autofocus
            v-model="data.label"
            :ref="'slotTreeInput' + data.id"
            @blur.stop="NodeBlur(node, data)"
            @keydown.native.enter="NodeBlur(node, data)"
          ></el-input>
          <el-input class="slot-t-input"
                    size="mini"
                    autofocus
                    v-model="data.label"
                    :ref="'slotTreeInput' + data.id"
                    @blur.stop="NodeBlur(node, data)"
                    @keydown.native.enter="NodeBlur(node, data)"></el-input>
        </span>
      </span>
    </el-tree>
    <el-card
      class="box-card"
      ref="card"
      :style="{ ...rightClickMenuStyle }"
      v-show="menuVisible"
    >
      <!-- <div
        @click="addSameLevelNode()"
        v-show="firstLevel"
      >
        <i class="el-icon-plus"></i>&nbsp;&nbsp;添加图层组
      </div> -->
      <!-- <div
        class="add"
        @click="addChildNode()"
      >
        <i class="el-icon-plus"></i>&nbsp;&nbsp;添加图层
      </div> -->
      <!-- <div
        class="delete"
        @click="deleteNode()"
      >
        <i class="el-icon-delete"></i>&nbsp;&nbsp;删除
      </div> -->
      <!-- <div
        class="edit"
        @click="editNode()"
      >
        <i class="el-icon-edit"></i>&nbsp;&nbsp;重命名
      </div> -->
      <div
        class="edit"
        @click="showLayerAttribute()"
        v-if="!showlocal && !shwoHistogram"
        v-show="!firstLevel"
      >
    <el-card class="box-card"
             ref="card"
             :style="{ ...rightClickMenuStyle }"
             v-show="menuVisible">
      <div class="edit"
           @click="showLayerAttribute()"
           v-if="!showlocal && !shwoHistogram"
           v-show="!firstLevel">
        <i class="el-icon-tickets"></i>&nbsp;&nbsp;属性
      </div>
      <div
        class="edit"
        @click="positioning()"
        v-if="showlocal"
      >
      <div class="edit"
           @click="positioning()"
           v-if="showlocal">
        <i class="el-icon-tickets"></i>&nbsp;&nbsp;定位
      </div>
      <div
        class="edit"
        @click="pellucidity()"
        v-if="showlocal"
      >
      <div class="edit"
           @click="pellucidity()"
           v-if="showlocal">
        <i class="el-icon-tickets"></i>&nbsp;&nbsp;透明度
      </div>
      <div
        class="edit"
        @click="histogram()"
        v-show="shwoHistogram"
      >
      <div class="edit"
           @click="histogram()"
           v-show="shwoHistogram">
        <i class="el-icon-tickets"></i>&nbsp;&nbsp;钻孔柱状图
      </div>
      <!-- <div
        class="edit"
        v-show="showModelAttach"
        @click="modelAttach()"
      >
        <i class="el-icon-tickets"></i>&nbsp;&nbsp;模型属性
      </div> -->
      <!-- <div
        class="edit"
        @click="menuMoveF( 'up')"
      >
        <i class="el-icon-top"></i>&nbsp;&nbsp;上移
      </div>
      <div
        class="edit"
        @click="menuMoveF( 'down')"
      >
        <i class="el-icon-bottom"></i>&nbsp;&nbsp;下移
      </div> -->
    </el-card>
    <el-dialog
      :title="appendNodetitle"
      :visible.sync="dialogVisible"
      width="30%"
      top="20vh"
      :modal="false"
      :before-close="handleClose"
    >
      <el-form
        ref="form"
        :model="addFormServer"
        label-width="100px"
      >
    <el-dialog :title="appendNodetitle"
               :visible.sync="dialogVisible"
               width="30%"
               top="20vh"
               :modal="false"
               :before-close="handleClose">
      <el-form ref="form"
               :model="addFormServer"
               label-width="100px">
        <el-form-item label="服务类型">
          <!-- <el-input v-model="addFormServer.type"></el-input> -->
          <el-select
            style="width: 100%"
            :popper-append-to-body="false"
            v-model="addFormServer.serveType"
            placeholder="请选择"
          >
            <el-option
              v-for="item in options"
              :key="item.value"
              :label="item.label"
              :value="item.value"
            >
          <el-select style="width: 100%"
                     :popper-append-to-body="false"
                     v-model="addFormServer.serveType"
                     placeholder="请选择">
            <el-option v-for="item in options"
                       :key="item.value"
                       :label="item.label"
                       :value="item.value">
            </el-option>
          </el-select>
        </el-form-item>
@@ -190,17 +113,12 @@
          <el-slider v-model="addFormServer.opacity"></el-slider>
        </el-form-item>
      </el-form>
      <span
        slot="footer"
        class="dialog-footer"
      >
        <el-button
          type="primary"
          @click="setAddServer"
        >确 定</el-button>
      <span slot="footer"
            class="dialog-footer">
        <el-button type="primary"
                   @click="setAddServer">确 定</el-button>
      </span>
    </el-dialog>
  </div>
</template>
@@ -223,7 +141,7 @@
export default {
  name: "tree",
  components: { queryinfo },
  data() {
  data () {
    return {
      shwoHistogram: false,
      showlocal: false,
@@ -273,23 +191,20 @@
    };
  },
  methods: {
    //转孔柱状图
    async histogram() {
    async histogram () {
      this.menuVisible = false
      var layer = this.currentData.enName.replaceAll("_", "");
      this.$store.state.mapSpaceQueryLayer = layer;
      this.$store.state.mapPopBoxFlag = "2";
      this.$store.state.showPopBoxFlag = true;
    },
    modelAttach() {
    modelAttach () {
      this.menuVisible = false;
      this.$store.state.attachinfo = this.currentData;
      this.$store.state.attachModel = true;
    },
    NodeBlur(Node, data) {
    NodeBlur (Node, data) {
      if (data.label.length === 0) {
        this.$message.error("菜单名不可为空!");
        return false;
@@ -302,20 +217,18 @@
        });
      }
    },
    allowDrop(draggingNode, dropNode, type) {
    allowDrop (draggingNode, dropNode, type) {
      if (dropNode.data.label === "二级 3-1") {
        return type !== "inner";
      } else {
        return true;
      }
    },
    allowDrag(draggingNode) {
    allowDrag (draggingNode) {
      return draggingNode.data.label.indexOf("三级 3-2-2") === -1;
    },
    // 鼠标右击事件
    rightClick(event, object, Node, element) {
    rightClick (event, object, Node, element) {
      if (object.type == 1) {
        return
      }
@@ -350,7 +263,7 @@
      this.$refs.card.$el.style.top = event.pageY + "px";
    },
    // 鼠标左击事件
    handleLeftclick(data, node) {
    handleLeftclick (data, node) {
      this.foo();
      if (node.checked == true) {
        for (var i = 0; i < window.Viewer.imageryLayers._layers.length; i++) {
@@ -363,13 +276,13 @@
      }
    },
    //  取消鼠标监听事件 菜单栏
    foo() {
    foo () {
      this.menuVisible = false;
      //  要及时关掉监听,不关掉的是一个坑,不信你试试,虽然前台显示的时候没有啥毛病,加一个alert你就知道了
      document.removeEventListener("click", this.foo);
    },
    // 增加同级节点事件
    addSameLevelNode() {
    addSameLevelNode () {
      this.menuVisible = false
      this.foo();
      if (this.currentNode.level == 2) {
@@ -382,7 +295,7 @@
      }
    },
    // 增加子级节点事件
    addChildNode() {
    addChildNode () {
      this.foo();
      this.menuVisible = false
      // if (this.currentNode.level >= 2) {
@@ -392,7 +305,7 @@
      this.appendNodetitle = this.currentData.label;
      this.dialogVisible = true;
    },
    handleClose() {
    handleClose () {
      this.dialogVisible = false;
      this.addFormServer = {
        opacity: 100,
@@ -400,7 +313,7 @@
        type: 2,
      };
    },
    setAddServer() {
    setAddServer () {
      var val = this.currentNode;
      if (this.currentNode.level == 2) {
        val = this.currentNode.parent;
@@ -411,15 +324,13 @@
      this.handleClose();
    },
    // 删除节点
    deleteNode() {
    deleteNode () {
      this.foo();
      this.menuVisible = false
      var label = this.currentNode.data.cnName;
      if (this.currentNode.data.serveType == "WMS") {
        var value = this.$refs.tree.getCheckedNodes();
        this.$bus.$emit("showMenuLayer", value);
      } else if (this.currentNode.data.serveType == "WFS") {
        for (var i in window.Viewer.dataSources._dataSources) {
          if (window.Viewer.dataSources._dataSources[i].name == label) {
@@ -452,11 +363,10 @@
          window.map.removeLayer(layerOl); //显示图层
        }
      }
      this.$refs.tree.remove(this.currentNode);
    },
    //属性显示
    showLayerAttribute(data) {
    showLayerAttribute (data) {
      this.foo();
      this.menuVisible = false
      this.currentData = data ? data : this.currentData;
@@ -464,11 +374,9 @@
      this.$store.state.mapSpaceQueryLayer = layer;
      this.$store.state.showPopBoxFlag = true;
      this.$store.state.mapPopBoxFlag = "2";
    },
    //模型设置透明度
    pellucidity() {
    pellucidity () {
      this.foo();
      this.menuVisible = false
      var tile = this.currentData
@@ -480,11 +388,8 @@
        }
      }
    },
    //模型定位
    positioning() {
    positioning () {
      this.menuVisible = false
      for (var i in Viewer.scene.primitives._primitives) {
        if (
@@ -495,7 +400,7 @@
      }
    },
    // 编辑节点
    editNode(data) {
    editNode (data) {
      this.foo();
      this.menuVisible = false
      this.currentData = data ? data : this.currentData;
@@ -507,16 +412,12 @@
        this.$refs["slotTreeInput" + this.currentData.id].focus();
      });
    },
    menuMoveF(type) {
    menuMoveF (type) {
      // 将变动之前的node备份
      var node = this.currentNode;
      var data = this.currentData;
      let copyNode = this.currentNode;
      // copyNode.previousSibling = {...node. }
      // copyNode.nextSibling = {...node.nextSibling}
      // window.sessionStorage.setItem('menuNode',CircularJSON.stringify(copyNode))
      let nodeData = {};
      if (type === "up") {
        // 上移
@@ -546,26 +447,25 @@
        }
      }
    },
    handleDragStart(node, ev) {
    handleDragStart (node, ev) {
      console.log("drag start", node);
    },
    handleDragEnter(draggingNode, dropNode, ev) {
    handleDragEnter (draggingNode, dropNode, ev) {
      console.log("tree drag enter: ", dropNode.label);
    },
    handleDragLeave(draggingNode, dropNode, ev) {
    handleDragLeave (draggingNode, dropNode, ev) {
      console.log("tree drag leave: ", dropNode.label);
    },
    handleDragOver(draggingNode, dropNode, ev) {
    handleDragOver (draggingNode, dropNode, ev) {
      console.log("tree drag over: ", dropNode.label);
    },
    handleDragEnd(draggingNode, dropNode, dropType, ev) {
    handleDragEnd (draggingNode, dropNode, dropType, ev) {
      console.log("tree drag end: ", dropNode && dropNode.label, dropType);
    },
    handleDrop(draggingNode, dropNode, dropType, ev) {
    handleDrop (draggingNode, dropNode, dropType, ev) {
      console.log("tree drop: ", dropNode.label, dropType);
    },
    handleCheckChange(data, checked, indeterminate) {
    handleCheckChange (data, checked, indeterminate) {
      if (data.type == 1) {
        this.childOption = [];
        this.getchilds(data);
@@ -612,78 +512,12 @@
          this.setChangeMpt([data], checked);
        }
      }
      // if (data.type != 2) return;
      // if (data.serveType == "WFS") {
      //   if (window.Viewer.dataSources._dataSources.length == 0) {
      //     this.setAddLayers(data);
      //   } else {
      //   }
      // } else if (data.serveType == "Tileset") {
      //   if (Viewer.scene.primitives._primitives.length == 0) {
      //     this.setAddLayers(data);
      //   } else {
      //     var std = [];
      //     for (var i in Viewer.scene.primitives._primitives) {
      //       Viewer.scene.primitives._primitives[i].show = checked;
      //       if (Viewer.scene.primitives._primitives[i].id == data.cnName) {
      //         std.push(data.id);
      //         Viewer.flyTo(Viewer.scene.primitives._primitives[i]);
      //       }
      //     }
      //   }
      //   if (std.length == 0 && checked == true) {
      //     this.setAddLayers(data);
      //   } else {
      //     window.map.getLayers().getArray().forEach(item => {
      //       if (item.get("name") == data.cnName) {
      //         item.setVisible(checked);
      //       }
      //     });
      //   }
      // } else if (data.serveType == "TMS") {
      //   if (data.pubid) {
      //   } else {
      //     var res;
      //     if (data.url.indexOf("{host}") != -1) {
      //       res = data.url.replace("{host}", iisHost);
      //     } else {
      //       res = data.url
      //     }
      //     var url = res.split(';')
      //     window.sgworld.Creator.createImageryProvider('mpt影像', "wms", {
      //       url: url[0],
      //       layers: url[1]
      //     }, "0", undefined, true, "");
      //   }
      // }
      // 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); //显示图层
      //   }
      // }
    },
    setChangeWMS(result, checked) {
    setChangeWMS (result, checked) {
      var value = this.$refs.tree.getCheckedNodes();
      this.$bus.$emit("showMenuLayer", value);
    },
    setChangeWFS(result, checked) {
    setChangeWFS (result, checked) {
      var value = this.$refs.tree.getCheckedNodes();
      var std = [];
      for (var i in value) {
@@ -710,7 +544,7 @@
        }
      }
    },
    setChangeTileset(result, checked) {
    setChangeTileset (result, checked) {
      var value = this.$refs.tree.getCheckedNodes();
      var std = [];
      for (var i in value) {
@@ -734,22 +568,8 @@
          }
        }
      }
      // if (checked.checkedKeys) {
      //   for (var i in result) {
      //
      //   }
      // } else {
      //   for (var j in result) {
      //     console.log(result[j])
      //     //
      //   }
      // }
    },
    setChangeMpt(result, checked) {
    setChangeMpt (result, checked) {
      var value = this.$refs.tree.getCheckedNodes();
      var std = [];
      for (var i in value) {
@@ -770,7 +590,7 @@
        }
      }
    },
    setChangeTMS(result, checked) {
    setChangeTMS (result, checked) {
      var value = this.$refs.tree.getCheckedNodes();
      var std = [];
      for (var i in value) {
@@ -793,7 +613,7 @@
        }
      }
    },
    getchilds(source) {
    getchilds (source) {
      if (source.children) {
        var child = source.children
        for (var i in child) {
@@ -807,9 +627,7 @@
        this.childOption.push(source)
      }
    },
    async setAddLayers(res) {
    async setAddLayers (res) {
      if (res.serveType == "WMS") {
        var resource = geoServerURl;
        if (res.resource != null && res.resource != undefined) {
@@ -877,7 +695,6 @@
            console.log("error");
          },
        });
        var vectorLayer = new VectorLayer({
          name: res.cnName,
          source: new VectorSource({
@@ -893,7 +710,6 @@
        } else {
          url = modelUrl + "/" + res.url
        }
        var tileset = Viewer.scene.primitives.add(
          new Cesium.Cesium3DTileset({
            name: res.cnName,
@@ -977,37 +793,29 @@
          this.setChangeWMS();
        }, 500);
      }
    },
    async getTilesetArgs(tileset, res) {
    async getTilesetArgs (tileset, res) {
      if (res.pubid > 0) {
        const data = await comprehensive_selectPubById({ id: res.pubid })
        if (data.code != 200) {
          //
        } else {
          if (res.serveType != '3DML') {
            this.reload(tileset, data.result.json)
          } else {
            this.tileSet(tileset, parseFloat(res.elev))
          }
        }
      } else {
        this.tileSet(tileset, parseFloat(res.elev))
      }
    },
    async setQueryPubid(res) {
    async setQueryPubid (res) {
      const data = await comprehensive_selectPubById({ id: res.pubid })
      if (data.code != 200) {
        //
      } else {
        var url = data.result.url;
        if (res.url.indexOf("{host}") != -1) {
          url = res.url.replace("{host}", iisHost);
        }
@@ -1020,7 +828,6 @@
              url: url,
              minimumLevel: min,
              maximumLevel: max,
            })
          );
        } else {
@@ -1033,7 +840,6 @@
        }
        layer.name = res.cnName;
        if (data.result.geom) {
          var wkt = this.$wkt.parse(data.result.geom);
          Viewer.camera.flyTo({
@@ -1043,7 +849,7 @@
        this.setChangeWMS();
      }
    },
    reload(tileset, res) {
    reload (tileset, res) {
      var vm = JSON.parse(res)
      var pos = Cesium.Cartesian3.fromDegrees(vm.lon, vm.lat, vm.height);
      var converter = Cesium.Transforms.eastNorthUpToFixedFrame;
@@ -1052,7 +858,7 @@
      tileset._root.transform = matrix;
      // Viewer.flyTo(tileset);
    },
    tileSet(tileset, height) {
    tileSet (tileset, height) {
      //3dtile模型的边界球体
      var boundingSphere = tileset.boundingSphere;
      //迪卡尔空间直角坐标=>地理坐标(弧度制)
@@ -1066,7 +872,7 @@
      tileset.modelMatrix = Cesium.Matrix4.fromTranslation(translation);
      // Viewer.flyTo(tileset);
    },
    setTreeData(source) {
    setTreeData (source) {
      let cloneData = JSON.parse(JSON.stringify(source)); // 对源数据深度克隆
      return cloneData.filter((father) => {
        // 循环所有项
@@ -1077,7 +883,7 @@
        return father.pid == 0; // 返回一级菜单
      });
    },
    async layersStart() {
    async layersStart () {
      const data = await perms_selectLayers();
      if (data.code != 200) {
        return this.$message.error("图层列表查询失败");
@@ -1101,22 +907,13 @@
          return str;
        }
      });
      //存储选中图层
      sessionStorage.setItem("checkedLayers", JSON.stringify(checkedLayers));
      var res = this.setTreeData(val);
      // for (var i in res) {
      //   res[i].children = res[i].children.filter((val) => {
      //     if (val.children != null) {
      //       return val;
      //     }
      //   });
      // }
      this.treeData = res;
      this.$refs.tree.setCheckedKeys(checkKey);
    },
    async treelayersStart() {
    async treelayersStart () {
      const data = await perms_selectLayers();
      if (data.code != 200) {
        return this.$message.error("图层列表查询失败");
@@ -1176,16 +973,14 @@
      this.$refs.tree.setCheckedKeys(std);
    },
    // 查询
    filterNode(value, data) {
    filterNode (value, data) {
      if (!value) return true;
      return data.cnName.indexOf(value) !== -1;
    },
    async setproChange(res) {
    async setproChange (res) {
      if (res) {
        this.setCheeckedLayer = this.$refs.tree.getCheckedKeys();
        this.$store.state.pigCode = res;
        var st_code = this.optionts.filter(rs => {
          if (rs.code == res) {
@@ -1219,18 +1014,13 @@
              destination: Cesium.Cartesian3.fromDegrees(wkt.coordinates[0].toFixed(6), wkt.coordinates[1].toFixed(6), 5000),
            });
          }
        }
        this.cannelTerrainLayer();
        this.setTerrainMptLayer();
        //清空图层树选中状态
        this.$refs.tree.setCheckedKeys([]);
        if (val.length > 0) {
          if (val[0].type == 1 && val[0].isProject == 1) {//项目分类
            var std_check = [];
            for (var i in val) {
              var std_val = this.getNewTree([this.$refs.tree.getNode(val[i].id).data], [])
@@ -1238,8 +1028,6 @@
                std_check.push(std_val[j])
              }
            }
            var value = this.$store.state.isProjectLayer;
            for (var i in value) {
@@ -1263,7 +1051,7 @@
        this.setProjectLayer(std);
      }
    },
    removeAllLayer() {
    removeAllLayer () {
      for (var j in Viewer.scene.primitives._primitives) {
        Viewer.scene.primitives.remove(Viewer.scene.primitives._primitives[j])
      }
@@ -1286,7 +1074,7 @@
      }
      this.mptLayer = [];
    },
    setProjectLayer(res) {
    setProjectLayer (res) {
      var layerid = [];
      for (var i in res) {
        layerid.push(res[i].id)
@@ -1294,7 +1082,6 @@
      this.$refs.tree.setCheckedKeys(layerid);
      // var value = this.$refs.tree.getCheckedNodes();
      // this.$bus.$emit("showMenuLayer", value);
      var listWMS = [];
      var listWFS = [];
      var listTileset = [];
@@ -1319,7 +1106,6 @@
            case 'TMS':
              listTMS.push(res[i])
              break;
          }
        }
      }
@@ -1330,7 +1116,7 @@
      this.setChangeTMS(listTMS, true);
      this.setChangeMpt(listMpt, true);
    },
    getNewTree(obj, result) {
    getNewTree (obj, result) {
      for (const i in obj) {
        console.log(obj[i].cnName)
        result.push(obj[i])
@@ -1340,7 +1126,7 @@
      }
      return result
    },
    cannelTerrainLayer() {
    cannelTerrainLayer () {
      //清空地形
      if (window.terrainMptLayer) {
        window.terrainMptLayer.deleteObject();
@@ -1351,7 +1137,7 @@
        window.terrainDemLayer = null;
      }
    },
    setTerrainMptLayer() {
    setTerrainMptLayer () {
      // //默认地形MPT
      // var option = {
      //   url: window.sceneConfig.SGUrl,
@@ -1365,7 +1151,7 @@
      });
      Viewer.terrainProvider = window.terrainDemLayer
    },
    setChangeProLayer() {
    setChangeProLayer () {
      var value = this.$store.state.isProjectLayer;
      if (value.length != 0) {
@@ -1376,11 +1162,8 @@
        this.$refs.tree.setCheckedKeys(std);
        this.$bus.$emit("showMenuLayer", value);
      }
    },
    async getMenuProject() {
    async getMenuProject () {
      const data = await project_selectDirAll();
      if (data.code != 200) {
        return
@@ -1389,11 +1172,11 @@
    },
  },
  watch: {
    filterText(val) {
    filterText (val) {
      this.$refs.tree.filter(val);
    },
  },
  mounted() {
  mounted () {
    this.getMenuProject()
    this.$bus.$on("treeDataCopy", (res) => {
      this.$store.state.treeData = this.treeData;
@@ -1438,7 +1221,6 @@
.tree-container /deep/ .el-tree-node {
  position: relative;
  padding-left: 10px;
  // text-indent: 16px;
}
.tree-container /deep/ .el-tree-node__children {
@@ -1562,9 +1344,11 @@
  position: absolute;
  right: auto;
}
/deep/.el-table__placeholder {
  padding-left: 8px;
}
/deep/.el-card__body {
  padding: 10px !important;
  > div {
@@ -1575,15 +1359,15 @@
    }
  }
}
/deep/ .el-form .el-form-item {
  padding-right: 0px !important;
}
/deep/ .el-form-item {
  margin-bottom: 10px !important;
}
/*.lalala {*/
/*position: relative;*/
/*}*/
.text {
  font-size: 14px;
}