管道基础大数据平台系统开发-【前端】-新系統界面
1
Surpriseplus
2023-07-11 efb28eeff9cd7c081343bc69b425f8987287a807
1
已修改6个文件
195 ■■■■ 文件已修改
src/components/mapsdk.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/preview_map.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/datamanage/catalogueManage.vue 131 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/datamanage/dataStatistics.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/datamanage/dataUpdata.vue 54 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/exportMap/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/mapsdk.vue
@@ -1080,7 +1080,7 @@
        xAxis: {
          type: 'category',
          boundaryGap: false,
          data: res
          data: res.reverse()
        },
        yAxis: {
          type: 'value',
@@ -1097,7 +1097,7 @@
            name: '时序变形量',
            type: 'line',
            stack: 'Total',
            data: res2
            data: res2.reverse()
          }
        ]
      };
src/components/preview_map.vue
@@ -972,7 +972,7 @@
              roll: 0.0
            }
          });*/
          debugger
          var wkt = this.$wkt.parse(res.geom);
          var height = this.getHeight(wkt.coordinates[2]);
          Viewer.camera.flyTo({
src/views/datamanage/catalogueManage.vue
@@ -21,8 +21,19 @@
            :expand-on-click-node="false"
            :default-expanded-keys="expandData"
            @node-click="handleNodeClick"
            @node-contextmenu="openTreeMenu"
          >
          </el-tree>
          <div
            class="right_menu box_divm"
            id="menu"
            v-show="showRightMenu"
          >
            <ul>
              <li @click="setMenuDataCopy">复制</li>
              <li @click="setMenuDataPaste">粘贴</li>
            </ul>
          </div>
        </div>
      </div>
      <div class="cataLog_rightContent right subpage_Div">
@@ -399,6 +410,7 @@
        >{{ $t("common.preservation") }}</el-button>
      </div>
    </el-dialog>
    <iframe
      id="Iframe1"
      src=""
@@ -525,9 +537,82 @@
      ],
      currentData: null,
      showRightMenu: false,
      checksData: null,
      checksCopyData: null,
    };
  },
  methods: {
    // 复制
    setMenuDataCopy() {
      this.checksCopyData = this.checksData;
    },
    //粘贴
    setMenuDataPaste() {
      if (!this.checksCopyData) {
        return this.$message('未选中要复制的节点');
      }
      var val = this.$refs.tree.getNode(this.checksCopyData).data;
      var level = this.$refs.tree.getNode(this.checksData).data.level + 1;
      this.setInsertCopyData([val], this.checksData, level);
    },
    setInsertCopyData(val, pid, level) {
      for (var i in val) {
        var data = val[i];
        var pchildNodes = [];
        if (this.$refs.tree.getNode(pid) && this.$refs.tree.getNode(pid).childNodes) {
          pchildNodes = this.$refs.tree.getNode(pid).childNodes
        }
        var orderNum = this.getMaxOrderNum(pchildNodes);
        var obj = {
          bak: data.bak,
          level: level,
          orderNum: orderNum + 1,
          pid: pid,
          checks: data.checks,
          name: data.name,
          descr: data.descr,
          exts: data.exts,
        }
        insertDir(obj).then((res) => {
          if (res.code == 200) {
            this.getDirTree();
            if (data.children && data.children.length > 0) {
              debugger
              this.setInsertCopyData(data.children, res.result, level + 1)
            }
          }
        })
      }
    },
    handleNodeClick(data, node) {
      this.showRightMenu = false;
      document.removeEventListener('click', this.closeRightMenu)
      this.layerFormInline(data)
    },
    //右键菜单
    openTreeMenu(event, data, node, obj) {
      this.showRightMenu = true;
      let menu = document.getElementById('menu')
      menu.style.left = event.clientX + 20 + 'px'
      menu.style.top = event.clientY + 'px'
      document.addEventListener('click', this.closeRightMenu)
      this.checksData = data.id;
      console.log(this.checksData)
    },
    closeRightMenu() {
      this.showRightMenu = false;
      document.removeEventListener('click', this.closeRightMenu)
    },
    setTemplateDownload() {
      var url = window.location.href;
      var testurl = window.location.origin + "/";
@@ -595,8 +680,6 @@
      this.tableData = arr;
      this.setInsertData(this.tableData);
    },
    getNameAndPname(res, result, flag) {
      var chLevel = null;
@@ -622,26 +705,21 @@
      }
    },
    setInsertData(res) {
      var list = this.excelData(res);
      if (list.length != 0) {
        if (list[0].pname != null) {
          return this.$message.error("上传数据错误,第一条数据不为空");
        }
        this.getAllNodeId(res);
      }
    },
    async getAllNodeId(res) {
      for (let i = 0; i < res.length; i++) {
        var val = res[i];
        if (val.pname == null) {
          val.orderNum = this.dirList[this.dirList.length - 1].orderNum + 1;
          val.pid = 0;
        } else {
          this.tableData.filter((child) => {
            if (child.tid == val.sid) {
              val.pid = child.id;
@@ -1137,7 +1215,7 @@
      var val = this.$refs.tree.getNode(data.id).data;
      this.itemdetail = val;
      this.currentData = JSON.stringify(data)
      debugger
      var checks = [];
      if (val.checks) {
        if (val.checks.indexOf(',') > -1) {
@@ -1156,12 +1234,7 @@
      }
    },
    handleNodeClick(data, node) {
      this.layerFormInline(data)
      // console.log(data);
    },
    async updCata(formName) {
      this.fullscreenLoading = true;
      var val = JSON.parse(JSON.stringify(this.itemdetail));
@@ -1191,7 +1264,7 @@
      //       var val = this.itemdetail
      //       var value = this.itemdetail.checks.toString()
      //       val.checks = value;
      //       debugger
      //
      //       let res = JSON.parse(JSON.stringify(this.itemdetail));
      //       this.itemdetail = res;
      //       
@@ -1341,6 +1414,36 @@
      }
    }
  }
  .right_menu {
    position: fixed;
    display: block;
    z-index: 10000;
    padding: 10px;
    border: 1px solid #ebeef5;
    border-radius: 4px;
    box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
    ul {
      width: 100%;
      height: 100%;
      list-style: none;
      margin: 0;
      padding: 0;
      border-radius: 2%;
      li {
        margin: 0 0 1px 0;
        color: rgb(77, 77, 73);
        text-align: center;
        font-size: 14px;
        padding: 4%;
        width: 100%;
        height: 9.7%;
        float: left;
      }
      li:hover {
        color: #409eff !important;
      }
    }
  }
}
.btnBox {
  position: absolute;
src/views/datamanage/dataStatistics.vue
@@ -644,7 +644,7 @@
      if (this.queryData.value == 'countServices' || this.queryData.value == 'countOperates') {
        this.tjlxData.flag = false;
        debugger
      } else {
        this.tjlxData.flag = true;
      }
src/views/datamanage/dataUpdata.vue
@@ -1436,6 +1436,37 @@
      style="display: none"
      @change="uploadAnFilesChange"
    />
    <el-dialog :visible.sync="noteVisible">
      <div class="nodeBox">
        <div style="text-align: center;">
          <h1>
            数据上传注意事项
          </h1>
        </div>
        <h3>
          1、项目整体上传
        </h3>
        <h5>&nbsp; &nbsp; &nbsp; &nbsp;按照项目标准结构组织数据并打zip包,按要求编辑好WBS文件。选择需要上传对应的项目名称,选择zip数据包和WBS文件,完成整体项目数据上传,上传入库完成后,系统自动解压zip包,以zip包内原始文件格式存储在预先组织的目录结构下。</h5>
        <h3>
          2、单文件上传
        </h3>
        <h5>&nbsp; &nbsp; &nbsp; &nbsp;上传单个文件,选择需要上传的存储目录位置、数据版本、数据专业、数据(.xls、.xlsx、pdf、las等格式)、元数据等,完成单个文件数据上传;</h5>
        <h5>&nbsp; &nbsp; &nbsp; &nbsp;批量上传一个最小目录文件夹下的各类数据,选择需要上传数据的存储目录位置、数据版本、数据专业、数据(zip格式)、元数据等,完成一个文件夹下各类数据上传,上传入库完成后,系统自动解压zip包,以zip包内原始文件存储数据。</h5>
        <h5>&nbsp; &nbsp; &nbsp; &nbsp;单文件上传不支持多级目录文件夹以zip压缩包方式上传。</h5>
        <h3>
          3、特定格式单文件上传要求
        </h3>
        <h5>√&nbsp; &nbsp;<span>DOM数据上传:</span>至少需包含.tif、.tif.ovr文件,以zip包压缩统一上传。</h5>
        <h5>√&nbsp; &nbsp;<span>DEM数据上传:</span>至少需包含.tif、.tif.ovr文件,以zip包压缩统一上传。</h5>
        <h5>√&nbsp; &nbsp;<span>OSGB倾斜模型数据上传:</span>需包含Data文件夹、metadata.xml文件,以zip包压缩统一上传。</h5>
        <h5>√&nbsp; &nbsp;<span>Las、Laz点云数据上传:</span>可单独上传文件,也可以zip包压缩统一上传。</h5>
        <h5>√&nbsp; &nbsp;<span>CPT点云数据上传:</span>可单独上传文件,也可以zip包压缩统一上传。</h5>
        <h5>√&nbsp; &nbsp;<span>MPT场景数据上传:</span>需包含.mIdx、.Strmi、.mpt文件,以zip包压缩统一上传。</h5>
        <h5>√&nbsp; &nbsp;<span>GDB格式矢量文件上传:</span>需包含gdb各类子文件,以zip包压缩统一上传。</h5>
        <h5>√&nbsp; &nbsp;<span>SHP矢量文件上传:</span>需包含.shp、.shx、.dbf、prj子文件,以zip包压缩统一上传。</h5>
      </div>
    </el-dialog>
  </div>
</template>
@@ -1674,11 +1705,12 @@
      },
      warehouseDialog: false,
      wareData: [],
      noteVisible: false,
    };
  },
  mounted() {
    this.noteVisible = true;
    //获取坐标系
    this.setCoordinateSystem();
    //获取项目名称
@@ -3103,6 +3135,8 @@
    handleTabClick(tab, event) {
      if (tab.name == "second") {
        this.setStartWareTable();
      } else {
        this.noteVisible = true
      }
      this.calHeight();
    },
@@ -3147,7 +3181,23 @@
    z-index: 9999;
  }
}
.nodeBox {
  h5 {
    line-height: 26px;
    font-size: 14px;
    span {
      font-weight: bolder;
    }
  }
  h3 {
    line-height: 40px;
    font-size: 16px;
    font-weight: bold;
  }
  h1 {
    font-weight: bold;
  }
}
.inquire {
  padding: 8px;
  //margin-top: 20px;
src/views/exportMap/index.vue
@@ -614,7 +614,7 @@
        let feature = e.feature
        let geom = feature.getGeometry()
        var bbox = geom.getExtent();
        debugger
        var ss = turf.square(bbox);
        geom.setCoordinates([[[ss[0], ss[3]], [ss[2], ss[3]], [ss[2], ss[1]], [ss[0], ss[1]], [ss[0], ss[3]]]]);
        e.feature.setGeometry(geom);