管道基础大数据平台系统开发-【前端】-新系統界面
Surpriseplus
2022-12-13 950c7bf191b173b45eedd08fd2d576bb093186ca
src/components/MapView/mapMenuTop.vue
@@ -7,20 +7,19 @@
          :title="treeChange"
          placeholder="请选择..."
        >
          <el-option
            :value="menuTopFrom.queryLayer"
            style="overflow: auto; height: 100%"
          >
            <el-tree
              :data="layerData"
              show-checkbox
              node-key="id"
              ref="tree"
              accordion
              highlight-current
              :props="defaultProps"
            >
            </el-tree>
          <el-option :value="menuTopFrom.queryLayer" style="height: 100%">
            <div style="height: 200px; overflow: auto">
              <el-tree
                :data="layerData"
                show-checkbox
                node-key="id"
                ref="tree"
                accordion
                highlight-current
                :props="defaultProps"
              >
              </el-tree>
            </div>
            <div style="margin-top: 5px">
              <el-button size="mini" plain @click="getCheckedNodes"
                >确认</el-button
@@ -38,7 +37,11 @@
      </el-form-item>
      <el-form-item>
        <el-select v-model="menuTopFrom.queryType" placeholder="请选择...">
        <el-select
          @change="changeValue($event)"
          v-model="menuTopFrom.queryType"
          placeholder="请选择..."
        >
          <el-option
            v-for="item in queryOption"
            :key="item.value"
@@ -52,19 +55,20 @@
        <input
          :accept="'.shp, .shx, .dbf, .prj'"
          style="display: none"
          ref="pathClear"
          type="file"
          name="file"
          id="getMenuTopFile"
          multiple="multiple"
          @change="setMenuTopFile()"
        />
        <el-link @click="getMenuTopFile" :underline="false"
        <!-- <el-link @click="getMenuTopFile" :underline="false"
          >导入选择范围</el-link
        >
        > -->
      </el-form-item>
      <el-form-item>
        <el-button plain @click="getAttributeQuery">查询</el-button>
        <el-button type="info" plain>重置</el-button>
        <el-button type="info" @click="clearQuery" plain>重置</el-button>
      </el-form-item>
    </el-form>
  </div>
@@ -85,12 +89,14 @@
      layerData: [
        {
          id: 1,
          label: '基础数据',
          tabDesc: '基础数据',
          value: 'BD',
          children: [],
        },
        {
          id: 2,
          label: '业务数据',
          tabDesc: '业务数据',
          value: 'BS',
          children: [],
@@ -118,10 +124,14 @@
          value: 'polygon',
          label: '多边形',
        },
        {
          value: 'inputFile',
          label: '导入选择范围',
        },
      ],
      defaultProps: {
        children: 'children',
        label: 'tabDesc',
        label: 'label',
      },
      graphicLayer: null,
    };
@@ -134,6 +144,15 @@
    this.getAllTable();
  },
  methods: {
    changeValue(value) {
      // var obj = {};
      // obj = this.queryOption.find(function (item) {
      //   return item.value === value;
      // });
      // if (obj.value == 'inputFile') {
      //   this.getMenuTopFile();
      // }
    },
    async getAllTable() {
      const data = await inquiry_SelectTabs();
      if (data.code != 200) {
@@ -144,6 +163,7 @@
      for (var i in option) {
        var val_Data = option[i];
        val_Data.id = '1' + i;
        val_Data.label = val_Data.tabDesc + '(' + val_Data.tab + ')';
        if (option[i].ns == 'bd') {
          this.layerData[0].children.push(val_Data);
        } else {
@@ -198,6 +218,7 @@
            return this.$message.error('用户角色请求错误');
          }
          this.$store.state.mapMenuShpFile = rs.result;
          this.showMapMenuPop();
        },
        error: (e) => {
          console.log(e);
@@ -212,8 +233,7 @@
      //清空标绘
      sgworld.Creator.SimpleGraphic.edit(false, { editProp: false });
      sgworld.Creator.SimpleGraphic.clear();
      var val = document.getElementById('getMenuTopFile').files;
      if (!val || !val.length) {
      if (this.menuTopFrom.queryType != 'inputFile') {
        sgworld.Creator.createSimpleGraphic(
          this.menuTopFrom.queryType,
          {},
@@ -222,7 +242,7 @@
          }
        );
      } else {
        this.showMapMenuPop();
        this.getMenuTopFile();
      }
    },
    setTurfGeometry(res) {
@@ -296,7 +316,6 @@
      this.showMapMenuPop();
    },
    showMapMenuPop() {
      console.log(this.treeChange);
      this.$store.state.mapSpaceQueryLayer = this.treeChange;
      if (
        this.$store.state.mapPopBoolean != true &&
@@ -307,8 +326,17 @@
      }
      this.$bus.$emit('changeMapMenuTop', 'true');
      //清空inputFile
      var file = document.getElementById('getMenuTopFile');
      file.outerHTML = file.outerHTML;
      // var file = document.getElementById('getMenuTopFile');
      // file.outerHTML = file.outerHTML;
      this.$refs.pathClear.value = '';
    },
    clearQuery() {
      this.$refs.pathClear.value = '';
      this.treeChange = [];
      this.menuTopFrom.queryLayer = null;
      this.menuTopFrom.queryType = 'rectangle';
      this.$refs.tree.setCheckedKeys([]);
      sgworld.Creator.SimpleGraphic.clear();
    },
    setCartesianToEightFour(res) {
      var std = {};
@@ -323,7 +351,7 @@
};
</script>
<style lang="less">
<style lang="less" scoped>
.menuBox {
  width: 98%;
  height: 100%;
@@ -338,4 +366,12 @@
  padding: 4px 20px;
  font-weight: 400;
}
/deep/.el-input__inner {
  background-color: transparent !important ;
  color: #fff;
  border: 1px solid;
}
/deep/ .el-select .el-input__inner {
  border-color: #fff !important;
}
</style>