管道基础大数据平台系统开发-【前端】-新系統界面
TreeWish
2023-02-27 eea0af2e6491549ef5b1b0044189a9c055b28f75
合并项目展示介绍等基础信息
已添加26个文件
已修改27个文件
5113 ■■■■ 文件已修改
src/api/api.js 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/css/config.css 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/css/configure.css 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/css/content.css 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/css/index.css 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/2D 拷贝 2.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/2D 拷贝.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/synthesis/2D 拷贝 2.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/synthesis/2D 拷贝.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/synthesis/3D.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/synthesis/图层 1.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/synthesis/图层 14 拷贝 10.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/synthesis/图层 14 拷贝 8.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/synthesis/图层 2.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/synthesis/图层 3.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/synthesis/图层 37 拷贝 4(1).png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/synthesis/图层 37 拷贝 4.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/synthesis/图层 4.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/图层 1.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/图层 14 拷贝 10.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/图层 14 拷贝 8.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/图层 2.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/图层 3.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/图层 37 拷贝 4(1).png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/图层 37 拷贝 4.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/图层 4.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/lang/en.js 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/lang/zh.js 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/MapView/mapMenuTop.vue 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/MyBread.vue 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/Screen/bottom.vue 115 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/Screen/left.vue 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/Screen/mapsdk.vue 53 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/chart/projectState.vue 169 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/chart/projectTime.vue 306 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/chart/projectintroduction.vue 105 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/mapol.vue 70 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/mapsdk.vue 295 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/navMenu.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/router/index.js 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/Archive/index.vue 300 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/Synthesis/LeftMenu.vue 69 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/Synthesis/index.vue 49 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/Tools/queryinfo.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/datamanage/SpatialData.vue 102 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/datamanage/bankController.vue 257 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/datamanage/catalogueManage.vue 130 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/datamanage/dataController.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/datamanage/dataUpdata.vue 1552 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/datamanage/metadataManage.vue 979 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/datamanage/projectController.vue 257 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/datamanage/projectManage.vue 116 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/maintenance/mochaitmo.vue 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/api.js
@@ -79,6 +79,11 @@
  //请求地址
  return request.get('/meta/selectPageAndCountByPid', { params: params });
}
//元数据=>根据父ID分页查询并返回记录数
export function meta_selectById(params) {
  //请求地址
  return request.get('/meta/selectById', { params: params });
}
//组织机构根据id查询
@@ -542,7 +547,14 @@
export function dataUploadSelectVerByDirid(params) {
  return request.get('/dataUpload/selectVerByDirid', { params: params });
}
//数据上传=>获取文件上传路径
//数据上传=>获取版本Id
export function dataUpload_selectMetaById(params) {
  return request.get('/dataUpload/selectMetaById', { params: params });
}
//数据上传=>根据源数据ID查询
export function dataUploadSelectPath(params) {
  return request.get('/dataUpload/selectPath', { params: params });
}
@@ -763,6 +775,15 @@
export function dataLib_selectPageCountForDownload(params) {
  return request.get('/dataLib/selectPageCountForDownload', { params: params });
}
//资料馆=>根据源数据ID查询
export function dataLib_selectMetaById(params) {
  return request.get('/dataLib/selectMetaById', { params: params });
}
//资料馆=>根据父ID分页查询并返回记录数
export function dataLib_selectPageAndCountByPid(params) {
  return request.get('/dataLib/selectPageAndCountByPid', { params: params });
}
//下载日志=》分页查询并返回记录数
export function downlog_selectByPageAndCount(params) {
src/assets/css/config.css
@@ -372,7 +372,7 @@
}
.Black_theme .twoMenu_imge46 {
    background: url("../../assets/img/synthesis/图层 14 æ‹·è´ 3.png") no-repeat center;
    background: url("../../assets/img/synthesis/图层 14 æ‹·è´ 10.png") no-repeat center;
}
.Black_theme .twoMenu_imge47 {
@@ -456,7 +456,7 @@
/*  é«˜å±‚量测图标 */
.Black_theme .twoMenu_imge77 {
    background: url("../../assets/img/synthesis/图层 31 æ‹·è´.png") no-repeat center;
    background: url("../../assets/img/synthesis/图层 37 æ‹·è´ 4.png") no-repeat center;
}
src/assets/css/configure.css
@@ -215,7 +215,7 @@
}
.twoMenu_imge46 {
    background: url("../../assets/img/synthesis/images/3白底_133.png") no-repeat center;
    background: url("../../assets/img/synthesis/图层 14 æ‹·è´ 8.png") no-repeat center;
}
.twoMenu_imge47 {
@@ -299,7 +299,7 @@
/*  é«˜å±‚量测图标 */
.twoMenu_imge77 {
    background: url("../../assets/img/synthesis/images/3白底_198.png") no-repeat center;
    background: url("../../assets/img/synthesis/图层 37 æ‹·è´ 4(1).png") no-repeat center;
}
src/assets/css/content.css
@@ -73,7 +73,7 @@
    width: 98%;
    height: 98%;
    padding: 1%;
    overflow: auto;
    /* overflow: auto; */
}
.subpage_Iquery {
@@ -210,4 +210,4 @@
.infoBox p {
    font-size: 14px;
}
}
src/assets/css/index.css
@@ -195,7 +195,7 @@
}
.userText {
    font-size: 15px;
    font-size: 10px;
    line-height: 15px;
    font-family: Microsoft YaHei;
    font-weight: 400;
@@ -204,7 +204,7 @@
}
.TextLanguage {
    font-size: 15px;
    font-size: 10px;
    line-height: 15px;
    font-family: Microsoft YaHei;
    font-weight: 400;
@@ -214,7 +214,7 @@
.elLink {
    margin-left: 5px;
    font-size: 15px;
    font-size: 10px;
    margin-bottom: 4px;
    color: white;
}
@@ -238,7 +238,7 @@
    z-index: 1024;
    margin-top: 15px;
    background: rgba(244, 248, 255, 1);
    box-shadow: 0px 0px 6px 2px rgba(244,248,255, 0.85);
    box-shadow: 0px 0px 6px 2px rgba(244, 248, 255, 0.85);
    border-radius: 5px;
    border: 1px solid #DCDFE6;
}
@@ -275,4 +275,4 @@
.ol-scale-line {
    display: block !important;
}
}
src/assets/img/2D ¿½±´ 2.png
src/assets/img/2D ¿½±´.png
src/assets/img/synthesis/2D ¿½±´ 2.png
src/assets/img/synthesis/2D ¿½±´.png
src/assets/img/synthesis/3D.png
src/assets/img/synthesis/ͼ²ã 1.png
src/assets/img/synthesis/ͼ²ã 14 ¿½±´ 10.png
src/assets/img/synthesis/ͼ²ã 14 ¿½±´ 8.png
src/assets/img/synthesis/ͼ²ã 2.png
src/assets/img/synthesis/ͼ²ã 3.png
src/assets/img/synthesis/ͼ²ã 37 ¿½±´ 4(1).png
src/assets/img/synthesis/ͼ²ã 37 ¿½±´ 4.png
src/assets/img/synthesis/ͼ²ã 4.png
src/assets/img/ͼ²ã 1.png
src/assets/img/ͼ²ã 14 ¿½±´ 10.png
src/assets/img/ͼ²ã 14 ¿½±´ 8.png
src/assets/img/ͼ²ã 2.png
src/assets/img/ͼ²ã 3.png
src/assets/img/ͼ²ã 37 ¿½±´ 4(1).png
src/assets/img/ͼ²ã 37 ¿½±´ 4.png
src/assets/img/ͼ²ã 4.png
src/assets/lang/en.js
@@ -57,7 +57,7 @@
    dataUpdata: 'dataUpdata',
    datawarehousing: 'Data warehousing',
    rangeManage: 'Range management',
    dataRetrieval: 'data retrieval',
    dataRetrieval: 'Data query',
    dataDownload: 'Data download',
    projectManage: 'Project information',
    dataStatistics: 'data Statistics',
@@ -110,7 +110,7 @@
      code: 'Code'
    },
    metadataManage: 'Source Data Management',
    metadataManage: 'information management',
    dataLoading: 'dataLoading',
    SpatialData: 'SpatialData',
    versionManage: 'versionManage',
@@ -837,7 +837,8 @@
      CavernSpecialty: "Cavern Specialty",
    },
    shuJuJianSuo: {
      valueone: "Please enter content"
      valueone: "Please enter content",
      label: "Please add the condition to query"
    },
    butten: {
      uploadFile: "Upload File",
src/assets/lang/zh.js
@@ -56,7 +56,7 @@
    dataUpdata: '数据上传',
    datawarehousing: '数据入库',
    rangeManage: '值域管理',
    dataRetrieval: '数据检索',
    dataRetrieval: '数据查询',
    dataDownload: '数据下载',
    projectManage: '项目信息',
    dataStatistics: '数据统计',
@@ -102,7 +102,7 @@
      storageDirectory: '存储目录',
      dataVersion: '数据版本',
      selectData: '选择数据',
      selectMetadata: '选择源数据',
      selectMetadata: '选择元数据',
      entryName: '项目名称',
      selectWBSData: '选择WBS数据',
      coordinateSystem: '坐标系',
@@ -110,7 +110,7 @@
      inspectionItems: "检查项",
      code: '编码'
    },
    metadataManage: '源数据管理',
    metadataManage: '信息管理',
    dataLoading: '数据入库',
    SpatialData: '空间数据管理',
    versionManage: '版本管理',
@@ -848,7 +848,9 @@
      CavernSpecialty: "洞库专业",
    },
    shuJuJianSuo: {
      valueone: "请输入内容"
      valueone: "请输入内容",
      label: '请添加要查询的条件'
    },
    butten: {
      uploadFile: "上传文件",
src/components/MapView/mapMenuTop.vue
@@ -1,6 +1,10 @@
<template>
  <div class="menuBox">
    <el-form :inline="true" :model="menuTopFrom" class="demo-form-inline">
    <el-form
      :inline="true"
      :model="menuTopFrom"
      class="demo-form-inline"
    >
      <el-form-item>
        <el-select
          v-model="menuTopFrom.queryLayer"
@@ -8,7 +12,10 @@
          placeholder="请选择..."
          :popper-append-to-body="false"
        >
          <el-option :value="menuTopFrom.queryLayer" style="height: 100%">
          <el-option
            :value="menuTopFrom.queryLayer"
            style="height: 100%"
          >
            <div style="height: 200px; overflow: auto">
              <el-tree
                :data="layerData"
@@ -22,16 +29,17 @@
              </el-tree>
            </div>
            <div style="margin-top: 5px">
              <el-button size="small" plain @click="getCheckedNodes"
                >确认</el-button
              >
              <el-button
                size="small"
                plain
                @click="getCheckedNodes"
              >确认</el-button>
              <el-button
                size="small"
                type="info"
                plain
                @click="resetCheckedNodes"
                >重置</el-button
              >
              >重置</el-button>
            </div>
          </el-option>
        </el-select>
@@ -69,12 +77,17 @@
        > -->
      </el-form-item>
      <el-form-item>
        <el-button plain size="small" @click="getAttributeQuery"
          >查询</el-button
        >
        <el-button type="info" size="small" @click="clearQuery" plain
          >重置</el-button
        >
        <el-button
          plain
          size="small"
          @click="getAttributeQuery"
        >查询</el-button>
        <el-button
          type="info"
          size="small"
          @click="clearQuery"
          plain
        >重置</el-button>
      </el-form-item>
      <!-- <el-form-item>
        <el-button
@@ -209,7 +222,11 @@
      this.menuTopFrom.queryLayer = valTree[0].tabDesc;
      for (var i = 0; i < valTree.length; i++) {
        this.treeChange.push(valTree[i]);
        if (valTree[i].entity) {
          this.treeChange.push(valTree[i]);
        }
      }
    },
    //清空树选中的节点
src/components/MyBread.vue
@@ -1,15 +1,14 @@
<template>
  <div class="breadcrumb">
    <el-breadcrumb separator="/">
      <el-breadcrumb-item
        style="color: #409eff !important"
        :to="{ path: '/' }"
        >{{ list[0] }}</el-breadcrumb-item
      >
      <el-breadcrumb-item style="color: #409eff !important">{{
    <el-breadcrumb style="color: #409eff !important">
      <el-breadcrumb-item style="color: #409eff !important;  cursor: default;">{{ list[0] }}</el-breadcrumb-item>
      <el-breadcrumb-item style="color: #409eff !important; cursor: default ;">{{
        list[1]
      }}</el-breadcrumb-item>
      <el-breadcrumb-item style="" v-if="list[2]">{{
      <el-breadcrumb-item
        style="cursor: default;"
        v-if="list[2]"
      >{{
        list[2]
      }}</el-breadcrumb-item>
    </el-breadcrumb>
@@ -42,4 +41,11 @@
.el-breadcrumb__item:last-child .el-breadcrumb__inner:hover {
  color: #409eff !important;
}
.el-breadcrumb__inner {
  color: #409eff !important;
  cursor: default;
}
.el-breadcrumb__inner {
  cursor: default !important ;
}
</style>
src/components/Screen/bottom.vue
@@ -3,43 +3,23 @@
    <div class="bottom1">
      <div class="bottom11"></div>
      <div class="bottom12">
        <div
          :class="currMenu == item.menuName ? 'active' : ''"
          v-for="item in menuList"
          :key="item.menuName"
          class="bottombtn"
          @click="handleMenuClick(item)"
        >
          <el-popover
            popper-class="popover"
            placement="top"
            width="100"
            trigger="click"
          >
        <div :class="currMenu == item.menuName ? 'active' : ''" v-for="item in menuList" :key="item.menuName"
          class="bottombtn" @click="handleMenuClick(item)">
          <el-popover popper-class="popover" placement="top" width="100" trigger="click">
            <!-- å†…容 -->
            <span slot="reference">{{ item.menuName }}</span>
            <div class="popover-content">
              <div class="popover-content__header">项目信息</div>
              <div class="popover-content__search">
                <el-input
                  size="mini"
                  placeholder="请输入内容"
                  v-model="searchName"
                  @change="handleSearchChange(item)"
                >
                <el-input size="mini" placeholder="请输入内容" v-model="searchName" @change="handleSearchChange(item)">
                  <el-button slot="append" icon="el-icon-search"></el-button>
                </el-input>
              </div>
              <div class="popover-content__list">
                <div
                  class="popover-content__list__item"
                  v-for="(child, i) in currMenuList"
                  :key="child.id + i"
                  :class="currProject == child.name ? 'active' : ''"
                  @click="handlePopoverClick(child)"
                  :title="child.name"
                >
                <div class="popover-content__list__item" v-for="(child, i) in currMenuList" :key="child.id + i"
                  :class="currProject == child.name ? 'active' : ''" @click="handlePopoverClick(child)"
                  :title="child.name">
                  {{ child.name.slice(0, 8) }}
                </div>
              </div>
@@ -48,7 +28,8 @@
        </div>
      </div>
      <div class="bottom13">
        <img :src="yxImg" @click="ChangeBaseLayer" />
        <img :src="yxImg" @click="ChangeBaseLayer('yx')"  title="影像图" />
        <img :src="xrImg" @click="ChangeBaseLayer('xr')"  title="晕渲图"/>
      </div>
    </div>
    <div class="bottom2">
@@ -57,6 +38,7 @@
  </div>
</template>
<script>
let yunxuanLayer = null
import PipeLine from "@/assets/json/pipeline.json"
import {
  countProjectTour,
@@ -69,7 +51,10 @@
  data() {
    return {
      YXState: true,
      XRState: true,
      yunxuanLayer: null,//全球眩晕图
      yxImg: require("../../assets/img/Screen/yximg.png"),
      xrImg: require("../../assets/img/Screen/bdimg.png"),
      currMenu: "专题展示",
      currProject: "",
      searchName: "",
@@ -174,20 +159,50 @@
    this.getCountProjectTour()
  },
  methods: {
    ChangeBaseLayer() {
      if (this.YXState) {
        this.yxImg = require("../../assets/img/Screen/bdimg.png")
        //加载百度影像
        Viewer.imageryLayers._layers[1].show = true
        Viewer.imageryLayers._layers[2].show = false
        Viewer.imageryLayers._layers[3].show = false
      } else {
        this.yxImg = require("../../assets/img/Screen/yximg.png")
        Viewer.imageryLayers._layers[1].show = false
        Viewer.imageryLayers._layers[2].show = true
        Viewer.imageryLayers._layers[3].show = true
    ChangeBaseLayer(parm) {
      if (parm == 'yx') {
        if (this.YXState) {
          //this.yxImg = require("../../assets/img/Screen/bdimg.png")
          //加载百度影像
          Viewer.imageryLayers._layers[1].show = true
          Viewer.imageryLayers._layers[2].show = false
          Viewer.imageryLayers._layers[3].show = false
        } else {
          //this.yxImg = require("../../assets/img/Screen/yximg.png")
          Viewer.imageryLayers._layers[1].show = false
          Viewer.imageryLayers._layers[2].show = true
          Viewer.imageryLayers._layers[3].show = true
        }
        this.YXState = !this.YXState
      }
      this.YXState = !this.YXState
      if (parm == 'xr') {
        if (yunxuanLayer == null) {
          var urls = "https://tiles3.geovisearth.com/base/v1/ter"
          // æ˜Ÿå›¾åœ°çƒåœ°å½¢æ™•渲
          yunxuanLayer = sgworld.Creator.createUrlTemplateImageryProvider(
            "星图地球地形晕渲",
            {
              url:
                urls +
                "/{z}/{x}/{y}?format=webp&token=486dac3bec56d7d7c2a581c150be2bd937462f1e8f3bc9c78b5658b396122405",
            },
            "0",
            undefined,
            true,
            ""
          )
        }
        if (this.XRState) {
          yunxuanLayer.item.show = true;
        } else {
          yunxuanLayer.item.show = false;
        }
        this.XRState = !this.XRState;
      }
    },
    handleMenuClick(menu) {
      this.currMenu = menu.menuName
@@ -250,7 +265,7 @@
    //项目展示
    DisplayCurrentProject(params) {
      console.log(params)
      //打开或者加载图层
@@ -279,7 +294,7 @@
      return menu.children
      // return menu.children.filter(item => item.name.indexOf(searchName) > -1)
    },
    handleSearchChange(currMenu) {},
    handleSearchChange(currMenu) { },
    async getCountProjectDisplay() {
      const res = await countProjectLocation()
      if (res.code === 200) {
@@ -291,7 +306,7 @@
            wkt: item.wkt,
          }
        })
      }
    },
    async getCountProjectTour() {
@@ -305,7 +320,7 @@
            wkt: item.wkt,
          }
        })
      }
    },
    //专题展示
@@ -370,6 +385,7 @@
      color: #fff;
      font-weight: 600;
      cursor: pointer;
      &.active {
        background: url(~@/assets/img/Screen/centerbtnc.png);
        background-size: 100% 100%;
@@ -390,6 +406,7 @@
    }
  }
}
.popover {
  display: flex;
  justify-content: center;
@@ -398,9 +415,11 @@
  background: url(~@/assets/img/Screen/centerTooltipBg.png);
  background-size: 100% 100%;
  border: none;
  .popper__arrow {
    display: none;
  }
  .popover-content {
    &__header {
      display: flex;
@@ -411,6 +430,7 @@
      height: 30px;
      font-size: 18px;
      color: #fff;
      &::before,
      &::after {
        margin: 0 5px;
@@ -422,15 +442,18 @@
        height: 8px;
      }
    }
    &__search {
      margin-top: 8px;
      width: 145px;
      text-align: center;
      .el-input {
        width: 125px;
        height: 21px;
        background: rgba(0, 48, 111, 0.2);
        border: 0.25px solid #2a80a9;
        &__inner {
          background: rgba(0, 48, 111, 0.2);
          border-radius: inherit;
@@ -438,6 +461,7 @@
          padding: 0 5px;
          color: #fff;
        }
        .el-input-group__append {
          width: 32px;
          border: none;
@@ -480,6 +504,7 @@
      }
    }
  }
  ::-webkit-scrollbar {
    width: 2px;
    height: 2px;
src/components/Screen/left.vue
@@ -7,6 +7,9 @@
      <div class="current1" id="leftCurrent1">
        <div class="aside-title">数据申请次数</div>
        <count-data-apply></count-data-apply>
        <!-- <projectintroduction></projectintroduction> -->
        <!-- <projectState></projectState> -->
        <!-- <projectTime></projectTime> -->
      </div>
      <div class="current1" id="leftCurrent2">
        <div class="aside-title">用户访问量</div>
@@ -77,6 +80,12 @@
import BaseBarChart from "../chart/BaseBarChart.vue"
import BaseLineChart from "../chart/BaseLineChart.vue"
import BasePieChart from "../chart/BasePieChart .vue"
// import projectintroduction from "../chart/projectintroduction.vue"
// import projectState from "../chart/projectState.vue"
// import projectTime from "../chart/projectTime.vue"
export default {
  components: {
    ProjectTree,
src/components/Screen/mapsdk.vue
@@ -14,29 +14,29 @@
  },
  mounted() {
    this.init3DMap()
    this.$bus.$on("changeProject", name => {
      if (!yunxuanLayer) {
        var urls = "https://tiles3.geovisearth.com/base/v1/ter"
        // æ˜Ÿå›¾åœ°çƒåœ°å½¢æ™•渲
        yunxuanLayer = sgworld.Creator.createUrlTemplateImageryProvider(
          "星图地球地形晕渲",
          {
            url:
              urls +
              "/{z}/{x}/{y}?format=webp&token=486dac3bec56d7d7c2a581c150be2bd937462f1e8f3bc9c78b5658b396122405",
          },
          "0",
          undefined,
          true,
          ""
        )
      }
      if (name == '全球项目') {
        yunxuanLayer.item.show = true
      } else {
        yunxuanLayer.item.show = false
      }
    })
    // this.$bus.$on("changeProject", name => {
    //   if (!yunxuanLayer) {
    //     var urls = "https://tiles3.geovisearth.com/base/v1/ter"
    //     // æ˜Ÿå›¾åœ°çƒåœ°å½¢æ™•渲
    //     yunxuanLayer = sgworld.Creator.createUrlTemplateImageryProvider(
    //       "星图地球地形晕渲",
    //       {
    //         url:
    //           urls +
    //           "/{z}/{x}/{y}?format=webp&token=486dac3bec56d7d7c2a581c150be2bd937462f1e8f3bc9c78b5658b396122405",
    //       },
    //       "0",
    //       undefined,
    //       true,
    //       ""
    //     )
    //   }
    //   if (name == '全球项目') {
    //     yunxuanLayer.item.show = true
    //   } else {
    //     yunxuanLayer.item.show = false
    //   }
    // })
  },
  methods: {
    init3DMap() {
@@ -49,13 +49,8 @@
        SmartEarthRootUrl + "Workers/image/earth.jpg",
        function () {}
      )
      window.viewer = window.Viewer = window.sgworld._Viewer;
       Viewer.imageryLayers._layers[0].show = false
      Viewer.imageryLayers._layers[0].show = false
       sgworld.Navigate.jumpTo({      //跳转视角
            destination: new Cesium.Cartesian3.fromDegrees(110, 32, 50000000)
      });
src/components/chart/projectState.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,169 @@
<template>
    <div class="projectState" ref="chart"></div>
</template>
<script>
import * as echarts from "echarts"
import { GetServicesVisitsCount } from "@/api/screen.js"
export default {
    data() {
        return {
            option: {},
        }
    },
    mounted() {
        // const option = this.initData()
        this.initChart()
    },
    methods: {
         initChart() {
            // const res = await GetServicesVisitsCount()
            // console.log(res.result);
            // if (res.code == 200) {
            // }
            // let xAxis = []
            // let yAxis = []
            // res.result.forEach(item => {
            //     xAxis.push(item.type)
            //     yAxis.push(item.count)
            // })
            // let data = [220, 182, 191, 234, 290, 330, 310]
            // const sideData = data.map(item => {
            //   return {
            //     name: item.name,
            //     value: item.number,
            //   }
            // })
            var XName = ["立项", "启动", "建设", "完成"]
            var data1 = [
                [100, 100, 100, 100],
                [100, 100, {
                    value: 100, symbol:
                        'image://data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADoAAAA6CAMAAADWZboaAAAAZlBMVEUAAABe3uVe3+Vf3uVf3+Zf3uVg3+Zg3+Zf3+Vi4OZh4OZg3+Z86/Bh3+Zi4Odj4Odi4OZ86/B76/B86/Bj4ed56+9x5+xn4umB7/N87PB36e+A7/N+7fF/7vJ/7vJ+7fGA7/OB7/PReX+lAAAAIXRSTlMABQkVDREmIhk3MR10LEFFPHh7cUprXE35h2XnqMLAp+mHAG9cAAAB5ElEQVRIx83WjU7CMBQFYIoiKMqU/XUboHv/l/Tce7t2XamDNSacETEmX86tlK2rx4py150o+MstMBLwWRfHKo6JCVxLnvmFGBjFQ58oF1//sUZhGy/ClSTWObgnL4O+bkeN4nY2okfNMbkRt9/vtxz8InoTsWplJSCzFxPmO8+GpSIByX3YQAuGDWtRKhKjCnxDXhF6Z4yxnZ20Wgko7BMRDmxtSGVaI4kdTIgb+zTYoJQlIMlDlmUFgrcDWWC201qSayqlTkiCddWWeV62VU0YlnpRi9VOKaSUsiyq/N0krwq2Ugt7lVpZl5BfHNiytjagMi+XYp0kCR45hMlivVQrE/uU5pXSrCB5bM6d1t2lOZItMqmliT3q5uVxqxzyW/ccfYLNKx7ZTeykMvNyac2yt2Fbc61MHLSC0rwoxbiNdlQ3GBm1NLHQsHUrtEXppR/ljNpW6DbSCoqlFiVoN6YdaFlgsSFVPs1BdT8OaB5QyQzVcaqWDows/zepxR8ObLglTrdtCRVuRNj4Rrxh+//0ke2f8KVL+Kon3GCSbmsJN9OUW3j6g0Ns+LgCij2u0h+Sghc8mlMPBMgdx5DFh59VmOVHrvmDnoNxCz3J7MFWsMuaLyR089xz/xhlfijvwutR8gv3zk6BLUUeCgAAAABJRU5ErkJggg==',
                    symbolSize: [50, 50],
                }]
            ]
            var Line = ["线1", "线2"];
            var color = ['#256589', '#3F88E9'];
            //数据处理
            var datas = [];
            Line.map((item, index) => {
                if (index == 0) {
                    datas.push(
                        {
                            symbolSize: 10,
                            symbol: 'circle',
                            hoverAnimation: false,
                            name: item,
                            type: "line",
                            data: data1[index],
                            itemStyle: {
                                normal: {
                                    borderWidth: 5,
                                    color: color[index],
                                }
                            }
                        }
                    )
                } else {
                    datas.push(
                        {
                            symbolSize: 10,
                            symbol: 'circle',
                            hoverAnimation: false,
                            name: item,
                            type: "line",
                            data: data1[index],
                            itemStyle: {
                                normal: {
                                    borderWidth: 5,
                                    color: color[index],
                                }
                            }
                        }
                    )
                }
            })
        let     option = {
                grid: {
                    left: '5%',
                    top: '30%',
                    bottom: '30%',
                    right: '5%',
                },
                yAxis: [
                    {
                        type: 'value',
                        position: 'right',
                        max: 100,
                        splitLine: {
                            show: false
                        }
                        ,
                        axisLine: {
                            show: false
                        },
                        axisTick: {
                            show: false
                        },
                        axisLabel: {
                            show: false
                        }
                    }
                ],
                xAxis: [
                    {
                        type: 'category',
                        axisTick: {
                            show: false
                        },
                        axisLine: {
                            show: false,
                            lineStyle: {
                                color: '#6A989E',
                            }
                        },
                        axisLabel: {
                            inside: true,
                            show: true,
                            textStyle: {
                                color: '#90deff',// x轴颜色
                                fontWeight: 'normal',
                                fontSize: '12',
                                lineHeight: 20
                            }
                        },
                        data: XName,
                    }
                ],
                series: datas,
            };
            const chart = echarts.init(this.$refs.chart)
            chart.setOption(option)
            window.addEventListener("resize", function () {
                chart.resize()
            })
        },
    },
}
</script>
<style lang="scss" scoped>
.projectState {
    width: 100%;
    height: calc(100% - 30px);
}
</style>
src/components/chart/projectTime.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,306 @@
<template>
    <div class="projectTime" ref="chart">
    </div>
</template>
<script>
import * as echarts from "echarts"
export default {
    data() {
        return {
        }
    },
    mounted() {
        this.initChart();
    },
    methods: {
        initChart() {
            var dataArr = 60;
            var colorSet = '#45CAED';
            var color = new echarts.graphic.LinearGradient(0, 0, 1, 0, [
                {
                    offset: 0,
                    color: '#8D00FF',
                },
                {
                    offset: 0.4,
                    color: '#0EBAFC',
                },
                {
                    offset: 1,
                    color: '#0EBAFC',
                },
            ]);
            var option = {
                title: {
                    text: '项目进度',
                    textStyle: {
                        color: '#7DAEEF',
                        fontSize: 12,
                    },
                    padding: 0,
                    top: '80%',
                    left: 'center',
                },
                xAxis: {
                    splitLine: {
                        show: false,
                    },
                    axisLabel: {
                        show: false,
                    },
                    axisLine: {
                        show: false,
                    },
                },
                yAxis: {
                    splitLine: {
                        show: false,
                    },
                    axisLabel: {
                        show: false,
                    },
                    axisLine: {
                        show: false,
                    },
                },
                series: [
                    // åˆ»åº¦
                    {
                        type: 'gauge',
                        radius: '82%',
                        startAngle: 220,
                        endAngle: -40,
                        axisTick: {
                            show: true,
                            lineStyle: {
                                color: '#6B9DD7',
                                width: 1,
                            },
                            length: -8,
                        }, //刻度样式
                        splitLine: {
                            show: true,
                            lineStyle: {
                                color: '#6B9DD7',
                                width: 1,
                            },
                            length: -8,
                        }, //分隔线样式
                        axisLabel: {
                            color: 'rgba(255,255,255,0)',
                            fontSize: 12,
                        }, //刻度节点文字颜色
                        pointer: {
                            show: false,
                        },
                        axisLine: {
                            show: false,
                        },
                        label: {
                            show: false,
                        },
                        // //仪表盘详情,用于显示数据。
                        // detail: {
                        //     show: true,
                        //     offsetCenter: [0, '50%'],
                        //     color: '#ACCFFF',
                        //     formatter: function (params) {
                        //         return '当前速度';
                        //     },
                        //     textStyle: {
                        //         fontSize: 16,
                        //     },
                        // },
                    },
                    {
                        name: '内部进度条',
                        type: 'gauge',
                        center: ['50%', '50%'],
                        radius: '78%',
                        splitNumber: 10,
                        axisLine: {
                            lineStyle: {
                                color: [
                                    [dataArr / 100, color],
                                    [1, 'rgba(107,157,215,.25)'],
                                ],
                                width: 8,
                            },
                        },
                        z: 4,
                        axisLabel: {
                            show: false,
                        },
                        axisTick: {
                            show: false,
                        },
                        splitLine: {
                            show: false,
                        },
                        itemStyle: {
                            color: colorSet,
                        },
                        detail: {
                            show: false,
                        },
                        label: {
                            show: false,
                        },
                        title: {
                            //标题
                            show: true,
                            offsetCenter: [0, '35%'], // x, y,单位px
                            textStyle: {
                                color: '#ACCFFF',
                                fontSize: 16, //表盘上的标题文字大小
                                fontWeight: 400,
                                fontFamily: 'PingFangSC',
                            },
                        },
                        data: [
                            {
                                name: dataArr + '%',
                                value: dataArr,
                            },
                        ],
                        pointer: {
                            show: true,
                            length: '40%',
                            radius: '20%',
                            width: 4, //指针粗细
                        },
                    },
                    {
                        //指针上的圆
                        type: 'pie',
                        tooltip: {
                            show: false,
                        },
                        z: 5,
                        hoverAnimation: false,
                        legendHoverLink: false,
                        radius: ['0%', '6%'],
                        center: ['50%', '50%'],
                        label: {
                            normal: {
                                show: false,
                            },
                        },
                        labelLine: {
                            normal: {
                                show: false,
                            },
                        },
                        data: [
                            {
                                value: 10,
                                itemStyle: {
                                    normal: {
                                        color: colorSet,
                                    },
                                },
                            },
                        ],
                    },
                    // å¤–一层圈
                    {
                        type: 'pie',
                        radius: '60%',
                        startAngle: 220,
                        endAngle: -40,
                        hoverAnimation: false,
                        center: ['50%', '50%'],
                        avoidLabelOverlap: false,
                        label: {
                            show: false,
                        },
                        labelLine: {
                            show: false,
                        },
                        data: [
                            {
                                value: 1,
                            },
                        ],
                        itemStyle: {
                            normal: {
                                color: {
                                    type: 'linear',
                                    x: 0,
                                    y: 0,
                                    x2: 0,
                                    y2: 1,
                                    colorStops: [
                                        {
                                            offset: 0,
                                            color: '#17A1FF',
                                        },
                                        {
                                            offset: 1,
                                            color: 'rgba(17, 90, 233, 0.16)',
                                        },
                                    ],
                                },
                                opacity: 0.12,
                            },
                        },
                    },
                    // å†…圆
                    {
                        type: 'pie',
                        radius: ['0', '50%'],
                        center: ['50%', '50%'],
                        hoverAnimation: false,
                        z: 3,
                        data: [
                            {
                                value: dataArr,
                                itemStyle: {
                                    normal: {
                                        color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
                                            {
                                                offset: 0,
                                                color: '#23A6FF',
                                            },
                                            {
                                                offset: 1,
                                                color: 'rgba(17, 90, 233, 0.21)  ',
                                            },
                                        ]),
                                        opacity: 0.59,
                                    },
                                },
                                label: {
                                    show: false,
                                },
                            },
                        ],
                        labelLine: {
                            show: false,
                        },
                    },
                ],
            };
            const chart = echarts.init(this.$refs.chart)
            chart.setOption(option)
            window.addEventListener("resize", function () {
                chart.resize()
            })
        },
    },
}
</script>
<style  lang="scss">
.projectTime {
    height: calc(100% - 30px);
    width: 100%;
}
</style>
src/components/chart/projectintroduction.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,105 @@
<template>
    <div class="projectintroduction">
        <div class="item">
            <div class="itemName">项目名称:</div>
            <div class="itemValue" :title="result.projname">{{ result.projname.length>15?result.projname.substring(0,15):result.projname }}</div>
        </div>
        <div class="item">
            <div class="itemName">项目状态:</div>
            <div class="itemValue">{{ result.projstate }}</div>
        </div>
        <div class="item">
            <div class="itemName">项目种类:</div>
            <div class="itemValue">{{ result.projtype }}</div>
        </div>
        <div class="item">
            <div class="itemName">所属部门:</div>
            <div class="itemValue">{{ result.corpname }}</div>
        </div>
        <div class="item">
            <div class="itemName">启动时间:</div>
            <div class="itemValue">{{ parseTime(result.createtime) }}</div>
        </div>
        <div class="item">
            <div class="itemName">工程内容:</div>
            <div class="itemValue">{{ result.contents.length>15? result.contents.substring(0,15): result.contents }}</div>
        </div>
    </div>
</template>
<script>
export default {
    data() {
        return {
            result:
                {
                    "eventid": "4dfd814a-a262-4a93-880b-5ef488883a35",
                    "country": "中国",
                    "projstate": "施工中",
                    "createtime": 1675071993161,
                    "gid": 38,
                    "conperiod": "24",
                    "datastatus": null,
                    "geom": "01010000208A110000925A28999C225C40F1811DFF05364040",
                    "createuser": 1,
                    "parentid": null,
                    "verid": 0,
                    "province": "湖北省",
                    "projname": "西气东输三线(中卫-枣阳)",
                    "contents": "管道线路施工",
                    "projtype": "管线施工",
                    "location": "武汉",
                    "dirid": "03",
                    "depid": null,
                    "corpname": "管道设计院",
                    "department": "勘察部门",
                    "updatetime": 1675072198376,
                    "belongsid": null,
                    "remarks": "测试用,内容虚构",
                    "updateuser": 1
                },
        }
    },
    methods: {
        //获取时间
        parseTime(timestamp){
            var date = new Date(timestamp);//时间戳为10位需*1000,时间戳为13位的话不需乘1000
            var Y = date.getFullYear() + '-';
            var M = (date.getMonth()+1 < 10 ? '0'+(date.getMonth()+1) : date.getMonth()+1) + '-';
            var D = (date.getDate() < 10 ? '0'+date.getDate() : date.getDate()) + ' ';
            let strDate = Y+M+D;
            return strDate;
        }
    }
}
</script>
<style lang="scss">
.projectintroduction {
    height: calc(100% - 30px);
    width: 100%;
    .item{
        margin: 5px;
        height: 30px;
        display: flex;
        flex-direction: row;
        border-bottom: dotted 1px  rgba(48,135,214,.2);
        .itemName{
            width: 40%;
            height: 100%;
            display: flex;
            align-items: center;
            justify-content: center;
            color: #fff;
        }
        .itemValue{
            width: 60%;
            height: 100%;
            display: flex;
            align-items: center;
            justify-content: flex-start;
            color: #9ED2F5;
        }
    }
}
</style>
src/components/mapol.vue
@@ -2,32 +2,41 @@
  <div id="mapol">
    <div style="display: flex">
      <div
          @click="changeMenulayer"
          class="center CenDiv"
          :class="{ center1: centerFlag }"
        @click="changeMenulayer"
        class="center CenDiv"
        :class="{ center1: centerFlag }"
      >
        <div
            id="cenBg"
            v-bind:class="{ active: isActive, menuLayer: isMenuLayer }"
          id="cenBg"
          v-bind:class="{ active: isActive, menuLayer: isMenuLayer }"
        ></div>
      </div>
      <div @click="changeMapType" class="changeMapType">
        <div id="cenBg" :class="show2DMap ? 'mapTypeTwo' : 'mapTypeThree'"></div>
      <div
        @click="changeMapType"
        class="changeMapType"
      >
        <div
          id="cenBg"
          :class="show2DMap ? 'mapTypeTwo' : 'mapTypeThree'"
        ></div>
      </div>
    </div>
<!--    <div-->
<!--      @click="changeMenulayer"-->
<!--      class="center CenDiv"-->
<!--      :class="{ center1: centerFlag }"-->
<!--    >-->
<!--      <div-->
<!--        id="cenBg"-->
<!--        v-bind:class="{ active: isActive, menuLayer: isMenuLayer }"-->
<!--      ></div>-->
    <!--    <div-->
    <!--      @click="changeMenulayer"-->
    <!--      class="center CenDiv"-->
    <!--      :class="{ center1: centerFlag }"-->
    <!--    >-->
    <!--      <div-->
    <!--        id="cenBg"-->
    <!--        v-bind:class="{ active: isActive, menuLayer: isMenuLayer }"-->
    <!--      ></div>-->
<!--    </div>-->
    <div v-show="$store.state.isNaviget"  class="sindagis-map-compass">
    <!--    </div>-->
    <div
      v-show="$store.state.isNaviget"
      class="sindagis-map-compass"
    >
      <span
        class="left"
        @click="leftClick"
@@ -74,7 +83,7 @@
      isMenuLayer: false,
      rotate: 0,
      currentDir: '',
      show2DMap:false,
      show2DMap: false,
    }
  },
  mounted() {
@@ -99,7 +108,7 @@
        target: "mapol",
        layers: [imageLayer, vectorLayer],
        view: new View({
          center:  [105.02, 34.9] ,
          center: [105.02, 34.9],
          zoom: 4,
          projection: "EPSG:4326",
        }),
@@ -122,11 +131,11 @@
    },
    //二维/三维地图切换
    changeMapType(){
      // debugger
    changeMapType() {
      //
      this.show2DMap = !this.show2DMap;
      //二维
      if (this.show2DMap){
      if (this.show2DMap) {
        this.$bus.$emit("changemap", 2);
      }
      //三维
@@ -316,7 +325,7 @@
  background: url("../assets/img/compass.png") -89px -5px / 266px no-repeat;
}
.changeMapType{
.changeMapType {
  position: absolute;
  bottom: 1%;
  left: calc(1% + 75px);
@@ -326,26 +335,25 @@
  display: flex;
  justify-content: center;
  align-items: center;
  box-shadow: 3px 3px 6px #666;
  // box-shadow: 3px 3px 6px #666;
  border-radius: 5px;
  background: #fff;
  // background: #fff;
  cursor: pointer;
}
.mapTypeTwo{
.mapTypeTwo {
  width: 100%;
  height: 100%;
  margin-left: 10px;
  background-image: url("../assets/img/3dmap.png");
  background-image: url("../assets/img/synthesis/3D.png");
  background-repeat: no-repeat;
  background-size: contain;
}
.mapTypeThree{
.mapTypeThree {
  width: 100%;
  height: 100%;
  margin-left: 10px;
  background-image: url("../assets/img/2dmap.png");
  background-image: url("../assets/img/synthesis/2D æ‹·è´ 2.png");
  background-repeat: no-repeat;
  background-size: contain;
}
</style>
src/components/mapsdk.vue
@@ -97,6 +97,44 @@
        </el-card>
      </div>
      <div
        class="terrainLevelBox"
        v-if="showTerrainLevelDialog"
      >
        <el-card class="box-card">
          <div slot="header">
            <span>地形平整</span>
            <div style="float: right; cursor: pointer">
              <i
                class="el-icon-close"
                @click="closeBufferBox(5)"
              ></i>
            </div>
          </div>
          <div class="box-body">
            <el-form
              ref="form"
              :model="terrainFrom"
              label-width="100px"
            >
              <el-form-item label="平整高度:">
                <el-input v-model="terrainFrom.height"></el-input>
              </el-form-item>
              <el-form-item>
                <el-button
                  @click="drawTerrainLevel"
                  type="parmary"
                >绘制</el-button>
                <el-button
                  @click="clearTerrainLevel"
                  type="info"
                >清除</el-button>
              </el-form-item>
            </el-form>
          </div>
        </el-card>
      </div>
      <div
        class="toponymicLocalBox"
        v-if="showToponymicLocalBoxDialog"
      >
@@ -141,33 +179,40 @@
                type="index"
                label="序号"
              />
              <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)"
                      size="small"
                  >{{scope.row.name}}<i class="el-icon-place" style="padding-left: 5px"></i></el-button>
                    @click="handleLocation(scope.$index, scope.row)"
                    size="small"
                  >{{scope.row.name}}<i
                      class="el-icon-place"
                      style="padding-left: 5px"
                    ></i></el-button>
                </template>
              </el-table-column>
<!--              <el-table-column-->
<!--                prop="name"-->
<!--                align="center"-->
<!--                label="定位"-->
<!--              >-->
<!--                <template slot-scope="scope">-->
<!--                  <el-button-->
<!--                    @click="handleLocation(scope.$index, scope.row)"-->
<!--                    size="small"-->
<!--                    icon="el-icon-place"-->
<!--                  ></el-button>-->
<!--                </template>-->
<!--              </el-table-column>-->
<!--              <el-table-column-->
<!--                prop="name"-->
<!--                align="center"-->
<!--                label="地名"-->
<!--              >-->
<!--              </el-table-column>-->
              <!--              <el-table-column-->
              <!--                prop="name"-->
              <!--                align="center"-->
              <!--                label="定位"-->
              <!--              >-->
              <!--                <template slot-scope="scope">-->
              <!--                  <el-button-->
              <!--                    @click="handleLocation(scope.$index, scope.row)"-->
              <!--                    size="small"-->
              <!--                    icon="el-icon-place"-->
              <!--                  ></el-button>-->
              <!--                </template>-->
              <!--              </el-table-column>-->
              <!--              <el-table-column-->
              <!--                prop="name"-->
              <!--                align="center"-->
              <!--                label="地名"-->
              <!--              >-->
              <!--              </el-table-column>-->
            </el-table>
            <div class="pagination_box">
              <el-pagination
@@ -175,7 +220,7 @@
                @current-change="handleCurrentChange"
                :current-page="listData.pageIndex"
                :page-sizes="[10, 20, 50, 100]"
                :pager-count = "3"
                :pager-count="3"
                :page-size="listData.pageSize"
                layout="total, prev, pager, next"
                :total="count"
@@ -251,29 +296,59 @@
      </div>
      <div style="display: flex">
        <div
            @click="changeMenulayer"
            class="center CenDiv"
            :class="{ center1: centerFlag }"
          @click="changeMenulayer"
          class="center CenDiv"
          :class="{ center1: centerFlag }"
        >
          <div
              id="cenBg"
              v-bind:class="{ active: isActive, menuLayer: isMenuLayer }"
            id="cenBg"
            v-bind:class="{ active: isActive, menuLayer: isMenuLayer }"
          ></div>
        </div>
        <div @click="changeMapType" class="changeMapType">
          <div id="cenBg" :class="show2DMap ? 'mapTypeTwo' : 'mapTypeThree'"></div>
        <div
          @click="changeMapType"
          class="changeMapType"
        >
          <div
            id="cenBg"
            :class="show2DMap ? 'mapTypeTwo' : 'mapTypeThree'"
          ></div>
        </div>
      </div>
<!--      <div-->
<!--        @click="changeMenulayer"-->
<!--        class="center CenDiv"-->
<!--        :class="{ center1: centerFlag }"-->
<!--      >-->
<!--        <div-->
<!--          id="cenBg"-->
<!--          v-bind:class="{ active: isActive, menuLayer: isMenuLayer }"-->
<!--        ></div>-->
<!--      </div>-->
      <div
        class="lengend"
        v-show="showLengendDialog"
      >
        <el-card class="box-card">
          <!-- <div
            class="lengend_color"
            style="height:205px"
          >
          </div> -->
          <div class="lengendBox">
            <div class="lengendSpan">
              <div style="left:10px">0°</div>
              <div style="align-self: flex-end;left:10px; position: absolute;
          bottom: 8%; ">70°</div>
            </div>
            <div
              class="lengend_color"
              style="height:205px; width:30px "
            ></div>
          </div>
        </el-card>
      </div>
      <!--      <div-->
      <!--        @click="changeMenulayer"-->
      <!--        class="center CenDiv"-->
      <!--        :class="{ center1: centerFlag }"-->
      <!--      >-->
      <!--        <div-->
      <!--          id="cenBg"-->
      <!--          v-bind:class="{ active: isActive, menuLayer: isMenuLayer }"-->
      <!--        ></div>-->
      <!--      </div>-->
    </div>
  </div>
</template>
@@ -375,13 +450,16 @@
      isMenuLayer: true,
      selFrom: {},
      selectTree: null,
      showTerrainLevelDialog: false,
      menuList: [],
      defaultProps: {
        children: "children",
        label: "label",
      }, //树绑定对象
      show2DMap:false,
      show2DMap: false,
      terrainFrom: {
        height: '10'
      }, showLengendDialog: false,
    };
  },
  mounted() {
@@ -394,6 +472,28 @@
    });
  },
  methods: {
    drawTerrainLevel() {
      this.clearTerrainLevel()
      var deep = parseFloat(this.terrainFrom.height)
      sgworld.Creator.createSimpleGraphic(
        'polygon',
        {
          clampToGround: true,
        },
        function (entity) {
          var positions = entity.polygon.hierarchy.getValue().positions;
          sgworld.Creator.SimpleGraphic.remove(entity.id);
          window.TerrainFlattening = sgworld.Creator.createTerrainModifier("地形压平", positions, deep, {});
        }
      );
    },
    clearTerrainLevel() {
      if (window.TerrainFlattening) {
        window.TerrainFlattening && window.TerrainFlattening.remove();
      }
    },
    init3DMap() {
      var webKey = "94a34772eb88317fcbf8428e10448561";
@@ -544,6 +644,23 @@
            this.closeBufferBox(4);
          }
        }
      } else if (res.name == "Trrain") {
        switch (res.id) {
          case "d10":
            this.showTerrainLevelDialog = !this.showTerrainLevelDialog;
            this.clearTerrainLevel();
            break;
        }
      } else if (res.name == "Lengend") {
        switch (res.id) {
          case "d2":
            this.showLengendDialog = res.vshow;
            break;
        }
      }
    },
    handleSizeChange(val) {
@@ -628,7 +745,10 @@
        case 4:
          this.showPathAnalysisBoxDialog = false;
          this.clearPathAll(3);
          break;
        case 5:
          this.showTerrainLevelDialog = false;
          this.clearTerrainLevel()
          break;
      }
    },
@@ -643,23 +763,23 @@
        Altitude: 2000,
      };
      this.imagePoint = sgworld.Creator.CreateLabel(
          position,
          "",
          SmartEarthRootUrl + "Workers/image/mark.png",
          {
            disableDepthTestDistance: Infinity,
            scale: 0.8,
          },
          0,
          "巡检点"
        position,
        "",
        SmartEarthRootUrl + "Workers/image/mark.png",
        {
          disableDepthTestDistance: Infinity,
          scale: 0.8,
        },
        0,
        "巡检点"
      );
      sgworld.Navigate.jumpTo({
        //跳转视角
        destination: new Cesium.Cartesian3.fromDegrees(
            lon,
            lat,
            height
          lon,
          lat,
          height
        ),
      });
      // sgworld.Navigate.jumpTo({
@@ -910,11 +1030,11 @@
      }
    },
    //二维/三维地图切换
    changeMapType(){
      // debugger
    changeMapType() {
      //
      this.show2DMap = !this.show2DMap;
      //二维
      if (this.show2DMap){
      if (this.show2DMap) {
        this.$bus.$emit("changemap", 2);
      }
      //三维
@@ -944,7 +1064,7 @@
      height: 450x;
      z-index: 40;
      position: absolute;
      right: 6%;
      right: 8%;
      bottom: 1%;
    }
    .bufferBox {
@@ -960,15 +1080,23 @@
      height: 370px;
      z-index: 40;
      position: absolute;
      right: 6%;
      right: 8%;
      bottom: 1%;
    }
    .terrainLevelBox {
      width: 350px;
      height: 370px;
      z-index: 40;
      position: absolute;
      right: 8%;
      bottom: -11%;
    }
    .pathAnalysisBox {
      width: 412px;
      z-index: 40;
      position: absolute;
      right: 6%;
      right: 8%;
      bottom: 1%;
    }
@@ -995,6 +1123,35 @@
      bottom: 5%;
      position: absolute;
      z-index: 40;
    }
    .lengend {
      width: 80px;
      z-index: 40;
      position: absolute;
      right: 8%;
      bottom: 1%;
      .lengendBox {
        width: 100%;
        height: 100%;
        display: flex;
        .lengendSpan {
          flex-direction: column;
          align-items: center;
          justify-content: space-between;
        }
        .lengend_color {
          background-image: linear-gradient(
            #0055ff,
            #2448da,
            #483cb6,
            #6d3091,
            #91246d,
            #b61848,
            #da0c24
          );
        }
      }
    }
  }
}
@@ -1094,7 +1251,7 @@
  border-radius: 5px;
}
.changeMapType{
.changeMapType {
  position: absolute;
  bottom: 1%;
  left: calc(1% + 75px);
@@ -1104,25 +1261,25 @@
  display: flex;
  justify-content: center;
  align-items: center;
  box-shadow: 3px 3px 6px #666;
  // box-shadow: 3px 3px 6px #666;
  //border: 1px solid rgba(204, 204, 204, 0.76);
  border-radius: 5px;
  background: #fff;
  cursor: pointer;
}
.mapTypeTwo{
.mapTypeTwo {
  width: 100%;
  height: 100%;
  margin-left: 10px;
  background-image: url("../assets/img/3dmap.png");
  background-image: url("../assets/img/synthesis/3D.png");
  background-repeat: no-repeat;
  background-size: contain;
}
.mapTypeThree{
.mapTypeThree {
  width: 100%;
  height: 100%;
  margin-left: 10px;
  background-image: url("../assets/img/2dmap.png");
  background-image: url("../assets/img/synthesis/2D æ‹·è´ 2.png");
  background-repeat: no-repeat;
  background-size: contain;
}
src/components/navMenu.vue
@@ -216,7 +216,8 @@
    },
    //鼠标移入菜单事件
    setMenuMove(index, item) {
      if (item.perms != null) {
      if (item.perms != null && item.perms != "") {
        this.$router.push(item.url);
        if (this.showFlag != null) {
@@ -317,16 +318,19 @@
      for (var i in res) {
        res[i].checkClass = res[i].css + '1';
        res[i].show = false; //控制显隐
        if (res[i].perms == null) {
        if (res[i].perms == null || res[i].perms == "") {
          const result = await selectMenuRecursive({ id: res[i].id });
          if (result.code == 200) {
            res[i].children = result.result.filter((value) => {
              return value.isShow == 1;
            })
              .filter((value) => {
                return value.pid == res[i].id;
              });
          }
          this.listMenu.push(res[i]);
          // this.changeSelectStyle = this.listMenu.length - 1;
src/router/index.js
@@ -48,6 +48,11 @@
import roleResAuthorization from '@/views/AuthorizationManagement/roleResAuthorization.vue'; //系统管理-角色资源授权
import roleMenuAuthorization from '@/views/AuthorizationManagement/roleMenuAuthorization.vue'; //系统管理-角色菜单授权
import bankController from '../views/datamanage/bankController.vue';//数据库管理
import projectController from '../views/datamanage/projectController.vue';//项目管理
//包二
import WareInspection from '@/views/PackageTwo/WareInspection.vue'; //数据质检-入库质检
import QualityInspection from '@/views/PackageTwo/index.vue'; //数据质检-入库质检
@@ -114,6 +119,24 @@
        },
      },
      {
        path: '/bankController',
        component: bankController,
        name: 'bankController',
        meta: {
          title: '数据库管理',
          requireAuth: true, // æ ‡è¯†è¯¥è·¯ç”±æ˜¯å¦éœ€è¦ç™»å½•
        },
      },
      {
        path: '/projectController',
        component: projectController,
        name: 'projectController',
        meta: {
          title: '项目管理',
          requireAuth: true, // æ ‡è¯†è¯¥è·¯ç”±æ˜¯å¦éœ€è¦ç™»å½•
        },
      },
      {
        path: '/dataController',
        component: dataController,
        name: 'dataController',
src/views/Archive/index.vue
@@ -160,8 +160,25 @@
              slot="header"
              class="clearfix"
            >
              <span v-show="formInline.dataType=='type2'">{{item.name}}</span>
              <span>{{item.tabDesc}}</span>
              <span v-show="formInline.dataType=='type2'">
                <span v-if="item.ismeta > 0">
                  <el-link
                    style="color: #409eff"
                    title="源数据查询"
                    target="_blank"
                    @click="setQueryMetaData(item)"
                  >{{ item.name }}</el-link>
                </span>
                <span v-else-if="item.metaid > 0"> <el-link
                    style="color: #409eff"
                    title="元数据查询"
                    target="_blank"
                    @click="setMetaDataQuery(item)"
                  >{{ item.name }}</el-link></span>
                <span v-else>{{ item.name }}</span>
              </span>
              <span v-show="!formInline.dataType">{{item.tabDesc}}</span>
              <div style="float: right; padding: 3px 0">
                <i
                  class="el-icon-tickets"
@@ -694,6 +711,205 @@
        <map-sdk v-if='showMapVisible'></map-sdk>
      </div>
    </el-dialog>
    <el-dialog
      :title="fromQueryMeta.title"
      :visible.sync="queryMetaFlag1"
      width="70%"
    >
      <div style="height: 65vh; width: 100%">
        <el-table
          ref="filterTable"
          :data="metaDataTable1"
          style="width: 100%"
          height="100%"
        >
          <el-table-column
            align="center"
            type="index"
            :label="$t('common.index')"
            width="70px"
          ></el-table-column>
          <el-table-column
            align="center"
            prop="name"
            :label="$t('common.name')"
            width="120"
          >
          </el-table-column>
          <el-table-column
            align="center"
            prop="dirName"
            :label="$t('dataManage.dataUpObj.catalogue')"
            width="300"
          />
          <el-table-column
            align="center"
            prop="depName"
            :label="$t('dataManage.dataUpObj.company')"
            width="200"
          />
          <el-table-column
            align="center"
            prop="verName"
            :label="$t('dataManage.dataUpObj.versionNo')"
          />
          <el-table-column
            align="center"
            prop="type"
            :label="$t('common.type')"
          />
          <el-table-column
            align="center"
            prop="sizes"
            :label="$t('common.size')"
            :formatter="changeSizeFile"
          />
          <el-table-column
            align="center"
            :label="$t('dataManage.dataUpObj.tableName')"
          >
            <template slot-scope="scope">
              <a class="scopeRowColor">{{
                  scope.row.tab
                }}</a>
            </template>
          </el-table-column>
          <el-table-column
            align="center"
            prop="rows"
            :label="$t('common.lineNuber')"
          />
          <el-table-column
            align="center"
            prop="desc"
            :label="$t('dataManage.dataUpObj.describe')"
          />
        </el-table>
      </div>
    </el-dialog>
    <el-dialog
      :title="fromQueryMeta.title"
      :visible.sync="queryMetaFlag"
      width="70%"
    >
      <div style="height: 65vh; width: 100%">
        <el-form
          :inline="true"
          :model="fromQueryMeta"
          class="demo-form-inline"
        >
          <el-form-item>
            <el-input
              size="small"
              v-model="fromQueryMeta.name"
            ></el-input>
          </el-form-item>
          <el-form-item>
            <el-button
              type="primary"
              size="small"
              @click="setSearchMetaData()"
            >查询
            </el-button>
            <el-button
              type="info"
              size="small"
              @click="setRestMetaData()"
            >重置
            </el-button>
          </el-form-item>
        </el-form>
        <el-table
          ref="filterTable"
          :data="metaDataTable"
          style="width: 100%"
          height="calc(100% - 100px)"
        >
          <el-table-column
            align="center"
            type="index"
            :label="$t('common.index')"
            width="70px"
          ></el-table-column>
          <el-table-column
            align="center"
            prop="name"
            :label="$t('common.name')"
            width="120"
          >
          </el-table-column>
          <el-table-column
            align="center"
            prop="dirName"
            :label="$t('dataManage.dataUpObj.catalogue')"
            width="300"
          />
          <el-table-column
            align="center"
            prop="depName"
            :label="$t('dataManage.dataUpObj.company')"
            width="200"
          />
          <el-table-column
            align="center"
            prop="verName"
            :label="$t('dataManage.dataUpObj.versionNo')"
          />
          <el-table-column
            align="center"
            prop="type"
            :label="$t('common.type')"
          />
          <el-table-column
            align="center"
            prop="sizes"
            :label="$t('common.size')"
            :formatter="changeSizeFile"
          />
          <el-table-column
            align="center"
            :label="$t('dataManage.dataUpObj.tableName')"
          >
            <template slot-scope="scope">
              <a
                class="scopeRowColor"
                @click="detail(scope.row)"
              >{{
                  scope.row.tab
                }}</a>
            </template>
          </el-table-column>
          <el-table-column
            align="center"
            prop="rows"
            :label="$t('common.lineNuber')"
          />
          <el-table-column
            align="center"
            prop="desc"
            :label="$t('dataManage.dataUpObj.describe')"
          />
        </el-table>
        <div
          class="pagination_box"
          style="margin-top: 15px"
        >
          <el-pagination
            @size-change="handleMetaSizeChange"
            @current-change="handMetaCurrentChange"
            :current-page="listMetaData.pageIndex"
            :page-sizes="[10, 20, 50, 100]"
            :page-size="listMetaData.pageSize"
            layout="total, sizes, prev, pager, next, jumper"
            :total="listMetaData.count"
          >
          </el-pagination>
        </div>
      </div>
    </el-dialog>
    <iframe
      id="downFrame"
      src=""
@@ -720,7 +936,9 @@
  sign_getPublicKey,
  dataLib_downloadReq,
  dataLib_selectDownloadFile,
  dataLib_selectPageCountForDownload
  dataLib_selectPageCountForDownload,
  dataLib_selectPageAndCountByPid,
  dataLib_selectMetaById
} from '../../api/api';
export default {
  components: {
@@ -819,6 +1037,23 @@
      downloadTableData: [],
      dialogMapVisible: false,
      showMapVisible: false,
      queryMetaFlag1: false,
      metaDataTable1: [],
      fromQueryMeta: {
        title: ""
      },
      listMetaData: {
        metaid: 0,
        name: "",
        pageIndex: 1,
        pageSize: 10,
        count: 0,
      },
      fromQueryMeta: {
        name: ""
      },
      queryMetaFlag: false,
      metaDataTable: [],
    };
  },
  mounted() {
@@ -828,8 +1063,67 @@
    this.signGetPublicKey();
  },
  methods: {
    setRestMetaData() {
      this.fromQueryMeta.name = "";
      this.listMetaData.name = this.fromQueryMeta.name;
      this.listMetaData.pageIndex = 1;
      this.listMetaData.pageSize = 10;
      this.startQueryMetaData();
    },
    setSearchMetaData() {
      this.listMetaData.name = this.fromQueryMeta.name;
      this.listMetaData.pageIndex = 1;
      this.listMetaData.pageSize = 10;
      this.startQueryMetaData();
    },
    //源数据页面切换
    handleMetaSizeChange(val) {
      this.listMetaData.pageIndex = 1;
      this.listMetaData.pageSize = val;
      this.startQueryMetaData();
    },
    //源数据页面切换
    handMetaCurrentChange(val) {
      this.listMetaData.pageIndex = val;
      this.startQueryMetaData();
    },
    //源数据查询
    setQueryMetaData(row) {
      this.fromQueryMeta.title = row.name;
      this.listMetaData = {
        metaid: row.id,
        name: "",
        pageIndex: 1,
        pageSize: 10,
        count: 0,
      };
      this.startQueryMetaData();
      this.queryMetaFlag = true;
    },
    async startQueryMetaData() {
      const data = await dataLib_selectPageAndCountByPid(this.listMetaData);
      if (data.code != 200) {
        return;
      }
      this.metaDataTable = data.result;
      this.listMetaData.count = data.count;
    },
    //元数据查询
    async setMetaDataQuery(row) {
      this.fromQueryMeta.title = row.name;
      this.listMetaData = {
        id: row.metaid,
      };
      const data = await dataLib_selectMetaById(this.listMetaData);
      if (data.code != 200) {
        return;
      }
      this.queryMetaFlag1 = true;
      this.metaDataTable1 = [data.result];
    },
    getSpaceMapVisibale() {
      sgworld.Creator.SimpleGraphic.clear();
      for (var i in this.$store.state.queryInfo) {
src/views/Synthesis/LeftMenu.vue
@@ -1171,6 +1171,12 @@
          break;
        case "d2": //坡度分析
          that.isslopeFlag = !that.isslopeFlag;
          var val = {
            name: "Lengend",
            id: res,
            vshow: that.isslopeFlag
          };
          this.$bus.$emit("mapChangeBox", val);
          window.PDelevationTool = new SmartEarth.ElevationTool(sgworld); //全局变量
          if (that.isslopeFlag == true) {
            PDelevationTool.type = "slope";
@@ -1179,6 +1185,7 @@
            PDelevationTool.type = "none";
          }
          PDelevationTool.render();
          break;
        case "d3": //路径分析
@@ -1298,34 +1305,39 @@
          }
          break;
        case "d10": //地面整平
          if (this.DXZPState != null) {
            this.DXZPState.drawHandler && this.DXZPState.drawHandler.destroy();
            Viewer._container.style.cursor = "default";
            this.DXZPState.tooltip && this.DXZPState.tooltip.show(false);
            if (window.DXTerrainFlattening != null) {
              DXTerrainFlattening.remove();
            }
            window.DXTerrainFlattening = null;
            this.DXZPState = null;
          } else {
            this.DXZPState = sgworld.Creator.createSimpleGraphic(
              "polygon",
              {
                clampToGround: true,
              },
              function (entity) {
                let positions = entity.polygon.hierarchy.getValue().positions;
                sgworld.Creator.SimpleGraphic.remove(entity.id);
                window.DXTerrainFlattening =
                  sgworld.Creator.createTerrainModifier(
                    "地形压平",
                    positions,
                    10,
                    {}
                  );
              }
            );
          }
          var val = {
            name: "Trrain",
            id: res,
          };
          this.$bus.$emit("mapChangeBox", val);
          // if (this.DXZPState != null) {
          //   this.DXZPState.drawHandler && this.DXZPState.drawHandler.destroy();
          //   Viewer._container.style.cursor = "default";
          //   this.DXZPState.tooltip && this.DXZPState.tooltip.show(false);
          //   if (window.DXTerrainFlattening != null) {
          //     DXTerrainFlattening.remove();
          //   }
          //   window.DXTerrainFlattening = null;
          //   this.DXZPState = null;
          // } else {
          //   this.DXZPState = sgworld.Creator.createSimpleGraphic(
          //     "polygon",
          //     {
          //       clampToGround: true,
          //     },
          //     function (entity) {
          //       let positions = entity.polygon.hierarchy.getValue().positions;
          //       sgworld.Creator.SimpleGraphic.remove(entity.id);
          //       window.DXTerrainFlattening =
          //         sgworld.Creator.createTerrainModifier(
          //           "地形压平",
          //           positions,
          //           10,
          //           {}
          //         );
          //     }
          //   );
          // }
          break;
@@ -1794,6 +1806,7 @@
.menu_Box {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  overflow-y: auto;
src/views/Synthesis/index.vue
@@ -11,18 +11,38 @@
        class="MenuIcon"
        :class="{ lefMenuActive: showMenuFlag == item.id }"
      >
        <div class="menuDiv" :title="item.name" @click="setMenuChange(item)">
          <div class="menuImage" :class="item.class"></div>
        <div
          class="menuDiv"
          :title="item.name"
          @click="setMenuChange(item)"
        >
          <div
            class="menuImage"
            :class="item.class"
          ></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
        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 class="left_main" :class="{ left_main_show: !openStatus }">
      <div
        class="left_main"
        :class="{ left_main_show: !openStatus }"
      >
        <div class="right_Map">
          <left-menu></left-menu>
        </div>
@@ -130,7 +150,7 @@
  methods: {
    //左侧菜单滑动显隐
    setMenuChange(res) {
      if (res.id == this.showMenuFlag){
      if (res.id == this.showMenuFlag) {
        return;
      }
      //清除查询弹窗
@@ -266,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")
@@ -313,13 +333,14 @@
    .left_main {
      margin: 0;
      //width: 255px;
      width: 130px;
      padding-bottom: 10px;
      height: calc(100% - 10px);
      width: 140px;
      // padding-bottom: 10px;
      height: 100%;
      overflow-y: auto;
      //height: auto;
      transition: width 1s;
      background: #F4F8FF;
      // background: #f4f8ff;
    }
    .right_main {
@@ -369,7 +390,7 @@
    }
  }
  .menu-class{
  .menu-class {
    position: absolute;
    bottom: 10px;
    left: 0;
src/views/Tools/queryinfo.vue
@@ -7,7 +7,7 @@
      :title="data.title || '提示'"
      maxHeight="400"
      @close="close(data.id)"
      left="calc(100% - 960px)"
      left="calc(90% - 900px)"
      top="calc(100% - 470px) "
    >
      <div>
src/views/datamanage/SpatialData.vue
@@ -10,7 +10,8 @@
        class="spatial_leftTree subpage_Div "
        style="border: 1px solid #dcdfe6;"
      >
        <el-input size="small"
        <el-input
          size="small"
          v-model="filterText"
          style="width:220px;"
          :placeholder="$t('shuJuGuanLi.shuJuJianSuo.valueone')"
@@ -37,33 +38,45 @@
            :inline="true"
          >
            <el-form-item size="small">
            <el-form-item>
              <!-- type="textarea" disabled-->
              <el-input
                v-model="ruleForm.fileName"
                class="nm-skin-pretty"
                show-word-limit
                size="small"
                :rows="2"
                resize='none'
                style="width: 220px;"
                style="width: 300px;"
                disabled
                :placeholder="$t('shuJuGuanLi.shuJuJianSuo.valueone')"
              ><i slot="suffix" class="el-icon-search"  @click="submitForm" style="padding-right: 8px"></i>
                :placeholder="$t('shuJuGuanLi.shuJuJianSuo.label')"
              >
                <!-- <i
                  slot="suffix"
                  class="el-icon-search"
                  @click="submitForm"
                  style="padding-right: 8px"
                ></i> -->
              </el-input>
              <el-button plain @click="conditionVisible = true" size="small" style="color: rgba(212,213,215,0.8)">高级查询条件</el-button>
            </el-form-item>
            <el-form-item>
              <el-button
                @click="conditionVisible = true"
                size="small"
                type="success"
                icon="el-icon-plus"
              >{{$t('common.append')}}</el-button>
            </el-form-item>
            <el-form-item style="float: right">
              <el-button
                  @click="resetForm"
                  type="info"
                  size="small"
                  icon="el-icon-refresh"
                @click="resetForm"
                type="info"
                size="small"
                icon="el-icon-refresh"
              >{{$t('common.reset')}}</el-button>
            </el-form-item>
<!--            <el-form-item style="float: right">
            <!--            <el-form-item style="float: right">
              <el-button
                  @click="submitForm"
                  type="primary"
@@ -73,7 +86,7 @@
            </el-form-item>-->
            <!--         åŽ»æŽ‰   -->
<!--            <el-form-item style="float: right">
            <!--            <el-form-item style="float: right">
              <el-button
                  v-if="btnStatus.insert"
                  @click="conditionVisible = true"
@@ -85,10 +98,10 @@
            <el-form-item style="float: right">
              <el-button
                  @click="getSpaceMapVisibale"
                  size="small"
                  type="primary"
                  icon="el-icon-search"
                @click="getSpaceMapVisibale"
                size="small"
                type="primary"
                icon="el-icon-search"
              >{{
                  $t('synthesis.rangequery')
                }}</el-button>
@@ -99,7 +112,7 @@
        <div class="dividing-line"></div>
        <div
          class="table_box"
          style="height:calc(100% - 60px)"
          style="height:calc(100% - 130px)"
        >
          <!--          border-->
          <!--          ref="filterTable"-->
@@ -108,22 +121,24 @@
          <!--          height="calc(100% - 57px)"-->
          <!--          :header-cell-style="{background:'#e6eaee',color:'#181818', 'text-align': 'center'}  "-->
          <el-table
            ref="refTableData"
            :data="tableData"
            style="width: 100% ;height: auto"
            height="calc(100% - 50px)"
            style="width: 100% ;"
            height="100% "
          >
            <el-table-column
              type="selection"
              width="20"
              align="center"
            />
<!--            <el-table-column
            <!--            <el-table-column
              width="60"
              align="center"
              type="index"
              :label="$t('common.index')"
            />-->
            <el-table-column
                min-width="135"
              min-width="135"
              v-for="(item, index) in attributeData"
              :key="index"
              :label="item.alias"
@@ -151,19 +166,25 @@
              </template>
            </el-table-column>
          </el-table>
          <div class="pagination_box" style="margin-top: 15px">
            <el-pagination
              @size-change="handleSizeChange"
              @current-change="handleCurrentChange"
              :current-page="listData.pageIndex"
              :page-sizes="[10, 20, 50, 100]"
              :page-size="listData.pageSize"
              layout="total, sizes, prev, pager, next, jumper"
              :total="count"
            >
            </el-pagination>
          </div>
        </div>
        <div
          class="pagination_box"
          style="margin-top: 15px"
        >
          <el-pagination
            @size-change="handleSizeChange"
            @current-change="handleCurrentChange"
            :current-page="listData.pageIndex"
            :page-sizes="[10, 20, 50, 100]"
            :page-size="listData.pageSize"
            layout="total, sizes, prev, pager, next, jumper"
            :total="count"
          >
          </el-pagination>
        </div>
      </div>
    </div>
@@ -728,6 +749,7 @@
        this.$message.error("调用列表失败,请联系工作人员!");
        return;
      }
      this.tableData = []
      var res_val = this.attributeData;
      this.count = data.count;
      for (var i in data.result) {
@@ -741,7 +763,10 @@
      }
      this.tableData = data.result;
      this.$refs.filterTable.doLayout();
      this.$nextTick(() => {
        this.$refs.refTableData.doLayout();
      });
    },
    //获取每个表字段名称及阈值
    async getCollapseDomFiled() {
@@ -767,7 +792,7 @@
      var std = [];
      for (var i in data1) {
        if (data1[i].type != 'geometry' && data1[i].type) {
          debugger
          this.filedsOption.push(data1[i]);
        }
        if (data1[i].showtype == 1) {
@@ -868,6 +893,7 @@
        this.formSql.field + " " + this.formSql.condition + " " + val;
      this.startFiledAndcondition();
      this.submitForm();
    },
    //值域字段匹配
src/views/datamanage/bankController.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,257 @@
<template>
  <div class="contentBox">
    <div
      class="box"
      ref="box"
    >
      <div class="left box_div">
        <el-menu
          :default-active="activeIndex"
          background-color="transparent"
          @select="handleselect"
        >
          <customElMenu :menuData="menuList"></customElMenu>
        </el-menu>
      </div>
      <div
        class="resize"
        title="收缩侧边栏"
      >
        â‹®
      </div>
      <div class="mid box_div">
        <data-updata v-if="setMenuFlag == 'dataUpdata'"></data-updata>
        <catalogue-manage v-if="setMenuFlag == 'catalogueManage'"></catalogue-manage>
        <spatial-data v-if="setMenuFlag == 'SpatialData'"></spatial-data>
        <version-manage v-if="setMenuFlag == 'versionManage'"></version-manage>
        <domain-manage v-if="setMenuFlag == 'domainManage'"></domain-manage>
        <dictionary-manage v-if="setMenuFlag == 'dictionaryManage'"></dictionary-manage>
        <metadata-manage v-if="setMenuFlag == 'metadataManage'"></metadata-manage>
        <style-manage v-if="setMenuFlag == 'styleManage'"></style-manage>
        <data-loader v-if="setMenuFlag == 'dataLoader'"></data-loader>
        <down-loader v-if="setMenuFlag == 'downLoader'"></down-loader>
        <project-manage v-if="setMenuFlag == 'projectManage'"></project-manage>
        <data-statistics v-if="setMenuFlag == 'dataStatistics'"></data-statistics>
      </div>
    </div>
  </div>
</template>
<script>
import { selectMenuRecursive, queryMenuTree, sign_insertOpLog } from '../../api/api';
import customElMenu from '../../components/customElMenu.vue';
import dataUpdata from '@/views/datamanage/dataUpdata.vue'; //数据管理-数据上传
import catalogueManage from '@/views/datamanage/catalogueManage.vue'; //数据管理-目录管理
import SpatialData from '@/views/datamanage/SpatialData.vue'; //数据管理-数据检索
import versionManage from '@/views/datamanage/versionManage.vue'; //数据管理-版本管理
import domainManage from '@/views/datamanage/domainManage.vue'; //数据管理-值域管理
import dictionaryManage from '@/views/datamanage/dictionaryManage.vue'; //数据管理-字典管理
import metadataManage from '@/views/datamanage/metadataManage.vue'; //数据管理-元数据管理
import styleManage from '@/views/datamanage/styleManage.vue'; //数据管理-样式管理
import dataLoader from '@/views/datamanage/dataLoader.vue'; //数据管理-数据入库
import downLoader from '@/views/datamanage/downLoader.vue'; //数据管理-数据下载
import projectManage from '@/views/datamanage/projectManage.vue'; //项目管理
import dataStatistics from '@/views/datamanage/dataStatistics.vue'; //数据统计
export default {
  components: {
    customElMenu,
    dataUpdata,
    catalogueManage,
    SpatialData,
    versionManage,
    domainManage,
    dictionaryManage,
    metadataManage,
    styleManage,
    dataLoader,
    downLoader,
    projectManage,
    dataStatistics,
  },
  data() {
    return {
      setMenuFlag: ' ',
      activeIndex: ' ',
      oriData: [], //原始树数据
      dirData: [], //el树数据
      newData: [], //拖动后数据
      lang: 'zh',
      menuList: [],
      editTitle: '',
      showPopover: false,
      showEditInfoWrapper: false,
      showEdit: false,
      editMenu: false,
      editCatalogue: false,
      editUnit: false,
      itemdetail: {},
      formLabelWidth: '70px',
    };
  },
  created() { },
  mounted() {
    this.getTreeData();
    //左右拖動
    this.dragControllerDiv();
  },
  methods: {
    //左右拖動
    dragControllerDiv: function () {
      var resize = document.getElementsByClassName('resize');
      var left = document.getElementsByClassName('left');
      var mid = document.getElementsByClassName('mid');
      var box = document.getElementsByClassName('box');
      for (let i = 0; i < resize.length; i++) {
        // é¼ æ ‡æŒ‰ä¸‹äº‹ä»¶
        resize[i].onmousedown = function (e) {
          //颜色改变提醒
          resize[i].style.background = '#818181';
          var startX = e.clientX;
          resize[i].left = resize[i].offsetLeft;
          // é¼ æ ‡æ‹–动事件
          document.onmousemove = function (e) {
            var endX = e.clientX;
            var moveLen = resize[i].left + (endX - startX); // ï¼ˆendx-startx)=移动的距离。resize[i].left+移动的距离=左边区域最后的宽度
            var maxT = box[i].clientWidth - resize[i].offsetWidth; // å®¹å™¨å®½åº¦ - å·¦è¾¹åŒºåŸŸçš„宽度 = å³è¾¹åŒºåŸŸçš„宽度
            if (moveLen < 205) moveLen = 205; // å·¦è¾¹åŒºåŸŸçš„æœ€å°å®½åº¦ä¸º32px
            if (moveLen > maxT - 300) moveLen = maxT - 300; //右边区域最小宽度为150px
            resize[i].style.left = moveLen; // è®¾ç½®å·¦ä¾§åŒºåŸŸçš„宽度
            for (let j = 0; j < left.length; j++) {
              left[j].style.width = moveLen + 'px';
              mid[j].style.width = (box[i].clientWidth - moveLen - 10) + 'px';
            }
          };
          // é¼ æ ‡æ¾å¼€äº‹ä»¶
          document.onmouseup = function (evt) {
            //颜色恢复
            resize[i].style.background = '#d6d6d6';
            document.onmousemove = null;
            document.onmouseup = null;
            resize[i].releaseCapture && resize[i].releaseCapture(); //当你不在需要继续获得鼠标消息就要应该调用ReleaseCapture()释放掉
          };
          resize[i].setCapture && resize[i].setCapture(); //该函数在属于当前线程的指定窗口里设置鼠标捕获
          return false;
        };
      }
    },
    //获取树
    async getTreeData() {
      const data = await queryMenuTree();
      let menuLists = data.result.filter((value) => {
        return value.url == '/bankController';
      });
      const res = await selectMenuRecursive({ id: menuLists[0].id });
      if (res.code == 200) {
        if (res.result.length != 0) {
          let menuList = res.result.filter((value) => {
            return value.type == 1;
          });
          this.menuList = this.treeData(menuList);
          this.m1 = this.menuList[0].cnName;
          this.setViewController(this.menuList[0]);
          const hanleselectindex = sessionStorage.getItem('hanleselectindex')
          if (hanleselectindex) {
            this.$nextTick(function () {
              this.handleselecttwo(JSON.parse(hanleselectindex).url, JSON.parse(hanleselectindex))
              this.setViewController(JSON.parse(hanleselectindex))
            })
          }
        } else {
          this.$message.error('暂无菜单栏数据');
        }
      } else {
        this.$message.error('接口报错');
      }
      // this.treeList = this.treeData(data.result);
    },
    setViewController(res) {
      if (res.children != null) {
        this.setViewController(res.children[0]);
      } else {
        this.signInsertOpLog(this.m1, res.cnName)
        this.$store.state.currentPerms = res.perms;
        this.setMenuFlag = res.url;
        this.activeIndex = res.url;
      }
    },
    async signInsertOpLog(m1, m2) {
      var obj = {
        m1: m1,
        m2: m2,
      }
      const data = await sign_insertOpLog(obj);
    },
    treeData(source) {
      let cloneData = JSON.parse(JSON.stringify(source)); // å¯¹æºæ•°æ®æ·±åº¦å…‹éš†
      // console.log(cloneData);
      if (cloneData.length != 0) {
        return cloneData.filter((father) => {
          // å¾ªçŽ¯æ‰€æœ‰é¡¹
          let branchArr = cloneData.filter((child) => father.id == child.pid); // å¯¹æ¯”ID,分别上下级菜单,并返回数据
          branchArr.length > 0 ? (father.children = branchArr) : ''; // ç»™çˆ¶çº§æ·»åŠ ä¸€ä¸ªchildren属性,并赋值
          // å±žäºŽåŒä¸€å¯¹è±¡é—®é¢˜ï¼Œä¾‹å¦‚:令 a=b、c=1 ï¼Œç„¶åŽå†ä»¤ b.c=c ï¼Œ é‚£ä¹ˆ a.c=b.c=c=1 ï¼›åŒç†ï¼ŒåŽç»­ä»¤ c.d=2 ,那么 a.c.d ä¹Ÿæ˜¯=2;
          // ç”±æ­¤å¾ªçŽ¯å¤šæ¬¡åŽï¼Œå°±èƒ½å½¢æˆç›¸åº”çš„æ ‘å½¢æ•°æ®ç»“æž„
          return father.pid == 86; // è¿”回一级菜单
        });
      } else {
        this.$message.error('暂无菜单栏数据');
      }
    },
    handleselect(index, indexPath, e) {
      const a = JSON.stringify(e.$attrs.perms)
      this.signInsertOpLog(this.m1, e.$attrs.perms.cnName)
      sessionStorage.setItem('hanleselectindex', a)
      var data = e.$attrs.perms;
      this.$store.state.currentPerms = data.perms;
      var index = data.url;
      if (index != null) {
        if (index.indexOf('http') != -1) {
          this.$store.commit('getIframe', data.url);
          index = 'dataIfream';
        }
      }
      this.setMenuFlag = index;
    },
    handleselecttwo(index, e) {
      const a = JSON.stringify(e)
      sessionStorage.setItem('hanleselectindex', a)
      var data = e;
      this.$store.state.currentPerms = data.perms;
      var index = data.url;
      if (index != null) {
        if (index.indexOf('http') != -1) {
          this.$store.commit('getIframe', data.url);
          index = 'dataIfream';
        }
      }
      this.setMenuFlag = index;
    },
  },
};
</script>
src/views/datamanage/catalogueManage.vue
@@ -1,15 +1,16 @@
<template>
  <div class="subpage_Box">
          <My-bread
        :list="[
    <My-bread :list="[
          `${$t('dataManage.dataManage')}`,
          `${$t('dataManage.catalogueManage')}`,
        ]"
      ></My-bread>
      <el-divider />
        ]"></My-bread>
    <el-divider />
    <div class="mainBox">
      <div class="cataLogContent leftTree subpage_Div" style="border: 1px solid #dcdfe6;">
      <div
        class="cataLogContent leftTree subpage_Div"
        style="border: 1px solid #dcdfe6;"
      >
        <div style="min-width: 450px">
          <el-tree
            ref="tree"
@@ -26,7 +27,7 @@
      </div>
      <div class="cataLog_rightContent right subpage_Div">
        <div
        class="inquire"
          class="inquire"
          style="
            align-items: center;
            display: flex;
@@ -35,12 +36,15 @@
        >
          <el-breadcrumb separator="/">
            <el-breadcrumb-item :to="{ path: '/' }">{{
              $t("dataManage.dictionaryManageObj.particulars")
            }}</el-breadcrumb-item>
          </el-breadcrumb>
          <div style="margin-right: -5px">
            <div class="menuTop">
              <el-form :inline="true" class="demo-form-inline">
              <el-form
                :inline="true"
                class="demo-form-inline"
              >
                <el-form-item>
                  <el-upload
                    action
@@ -50,7 +54,11 @@
                    :on-change="handleChange"
                    :file-list="fileList"
                  >
                    <el-button type="success" icon="el-icon-plus" size="small">{{ $t("shuJuGuanLi.butten.uploadFile") }}</el-button>
                    <el-button
                      type="success"
                      icon="el-icon-plus"
                      size="small"
                    >{{ $t("shuJuGuanLi.butten.uploadFile") }}</el-button>
                  </el-upload>
                </el-form-item>
                <el-form-item>
@@ -61,8 +69,7 @@
                    type="success"
                    icon="el-icon-plus"
                    size="small"
                    >{{ $t("shuJuGuanLi.butten.NewPeer") }}</el-button
                  >
                  >{{ $t("shuJuGuanLi.butten.NewPeer") }}</el-button>
                </el-form-item>
                <el-form-item>
                  <el-button
@@ -72,8 +79,7 @@
                    type="success"
                    icon="el-icon-plus"
                    size="small"
                    >{{ $t("shuJuGuanLi.butten.AddChild") }}</el-button
                  >
                  >{{ $t("shuJuGuanLi.butten.AddChild") }}</el-button>
                </el-form-item>
                <el-form-item>
                  <el-button
@@ -83,8 +89,7 @@
                    type="danger"
                    icon="el-icon-delete"
                    size="small"
                    >{{ $t("shuJuGuanLi.butten.Delete") }}</el-button
                  >
                  >{{ $t("shuJuGuanLi.butten.Delete") }}</el-button>
                </el-form-item>
                <el-form-item>
                  <el-button
@@ -94,8 +99,7 @@
                    type="info"
                    icon="el-icon-top"
                    size="small"
                    >{{ $t("shuJuGuanLi.butten.MoveUp") }}</el-button
                  >
                  >{{ $t("shuJuGuanLi.butten.MoveUp") }}</el-button>
                </el-form-item>
                <el-form-item>
                  <el-button
@@ -105,8 +109,7 @@
                    type="info"
                    icon="el-icon-bottom"
                    size="small"
                    >{{ $t("shuJuGuanLi.butten.MoveDown") }}</el-button
                  >
                  >{{ $t("shuJuGuanLi.butten.MoveDown") }}</el-button>
                </el-form-item>
              </el-form>
            </div>
@@ -115,18 +118,30 @@
        </div>
        <div class="dividing-line"></div>
        <el-form :model="itemdetail" ref="itemdetail" :rules="rules" style="position: relative; padding-top: 18px">
        <el-form
          :model="itemdetail"
          ref="itemdetail"
          :rules="rules"
          style="position: relative; padding-top: 18px"
        >
          <el-form-item
            prop="name"
            :label="$t('dataManage.dataUpObj.directoryName')"
            :label-width="formLabelWidth">
            <el-input v-model="itemdetail.name"  size="small" style=" max-width: 420px" :placeholder="$t('shuJuGuanLi.shuJuJianSuo.valueone')" clearable/>
<!--            style="max-width: 400px"-->
            :label-width="formLabelWidth"
          >
            <el-input
              v-model="itemdetail.name"
              size="small"
              style=" max-width: 420px"
              :placeholder="$t('shuJuGuanLi.shuJuJianSuo.valueone')"
              clearable
            />
            <!--            style="max-width: 400px"-->
          </el-form-item>
          <el-form-item
            :label="$t('dataManage.dataUpObj.catalogDescription')"
            :label-width="formLabelWidth" >
            :label-width="formLabelWidth"
          >
            <el-input
              v-model="itemdetail.descr"
              type="textarea"
@@ -146,10 +161,10 @@
              :placeholder="$t('shuJuGuanLi.shuJuJianSuo.valueone')"
              clearable
            />
<!--            resize="none"-->
<!--            style="height: 100%; overflow: auto; max-width: 400px"-->
            <!--            resize="none"-->
            <!--            style="height: 100%; overflow: auto; max-width: 400px"-->
          </el-form-item>
<!--          <el-form-item
          <!--          <el-form-item
            :label="$t('dataManage.dataUpObj.inspectionItems')"
            :label-width="formLabelWidth"
          >
@@ -173,7 +188,7 @@
              autosize
            />
          </el-form-item>
<!--          <el-form-item
          <!--          <el-form-item
            :label="$t('dataManage.dataUpObj.catalogRemarks')"
            :label-width="formLabelWidth"
          >
@@ -184,7 +199,7 @@
              style="max-width: 400px"
            />
          </el-form-item>-->
<!--          <div class="btnBox">
          <!--          <div class="btnBox">
            <el-button
              v-if="menuStatus.update"
              class="primary"
@@ -201,9 +216,22 @@
            >
          </div>-->
        </el-form>
        <div slot="footer" class="dialog-footer" style="padding-left: 45% ;padding-top: 20px">
          <el-button v-if="menuStatus.update" type="primary" size="small" @click="updCata('itemdetail')">{{ $t("common.preservation") }}</el-button>
          <el-button v-if="menuStatus.update" size="small" @click="reset">{{ $t("common.cancel") }}</el-button>
        <div
          slot="footer"
          class="dialog-footer"
          style="padding-left: 45% ;padding-top: 20px"
        >
          <el-button
            v-if="menuStatus.update"
            type="primary"
            size="small"
            @click="updCata('itemdetail')"
          >{{ $t("common.preservation") }}</el-button>
          <el-button
            v-if="menuStatus.update"
            size="small"
            @click="reset"
          >{{ $t("common.cancel") }}</el-button>
        </div>
      </div>
    </div>
@@ -226,19 +254,29 @@
      :visible.sync="dialogFormVisible"
      :before-close="handleClose"
    >
      <el-form :model="ruleForm" ref="ruleForm" :rules="rules">
      <el-form
        :model="ruleForm"
        ref="ruleForm"
        :rules="rules"
      >
        <el-form-item
          :label="$t('dataManage.dataUpObj.directoryName')"
          prop="name"
          :label-width="formLabelWidth"
        >
          <el-input v-model="ruleForm.name" autocomplete="off"></el-input>
          <el-input
            v-model="ruleForm.name"
            autocomplete="off"
          ></el-input>
        </el-form-item>
        <el-form-item
          :label="$t('dataManage.dataUpObj.catalogDescription')"
          :label-width="formLabelWidth"
        >
          <el-input v-model="ruleForm.descr" autocomplete="off"></el-input>
          <el-input
            v-model="ruleForm.descr"
            autocomplete="off"
          ></el-input>
        </el-form-item>
        <el-form-item
          :label="$t('dataManage.dataUpObj.fileExtension')"
@@ -278,10 +316,16 @@
          :label="$t('dataManage.dataUpObj.catalogRemarks')"
          :label-width="formLabelWidth"
        >
          <el-input v-model="ruleForm.bak" autocomplete="off"></el-input>
          <el-input
            v-model="ruleForm.bak"
            autocomplete="off"
          ></el-input>
        </el-form-item>
      </el-form>
      <div slot="footer" class="dialog-footer">
      <div
        slot="footer"
        class="dialog-footer"
      >
        <el-button @click="resetForm('ruleForm')">{{
          $t("common.cancel")
        }}</el-button>
@@ -289,8 +333,7 @@
          class="primary"
          @click="submitForm('ruleForm')"
          v-loading.fullscreen.lock="fullscreenLoading"
          >{{ $t("common.preservation") }}</el-button
        >
        >{{ $t("common.preservation") }}</el-button>
      </div>
    </el-dialog>
  </div>
@@ -513,7 +556,7 @@
        .then((_) => {
          this.resetForm();
        })
        .catch((_) => {});
        .catch((_) => { });
    },
    treeData(source) {
      let cloneData = JSON.parse(JSON.stringify(source)); // å¯¹æºæ•°æ®æ·±åº¦å…‹éš†
@@ -975,12 +1018,11 @@
        margin: 5px;
      }
    }
  }
}
.btnBox {
  position: absolute;
  bottom:0;
  bottom: 0;
  right: 0;
}
</style>
src/views/datamanage/dataController.vue
@@ -54,8 +54,8 @@
import dataLoader from '@/views/datamanage/dataLoader.vue'; //数据管理-数据入库
import downLoader from '@/views/datamanage/downLoader.vue'; //数据管理-数据下载
import projectManage from '@/views/datamanage/projectManage.vue'; //项目管理
import dataStatistics from  '@/views/datamanage/dataStatistics.vue'; //数据统计
import dataStatistics from '@/views/datamanage/dataStatistics.vue'; //数据统计
export default {
  components: {
    customElMenu,
@@ -71,7 +71,7 @@
    downLoader,
    projectManage,
    dataStatistics,
  },
  data() {
    return {
src/views/datamanage/dataUpdata.vue
@@ -1,42 +1,45 @@
<template>
  <div
      class="subpage_Box"
      v-loading="loading"
      element-loading-background="rgba(0, 0, 0, 0.8)"
    class="subpage_Box"
    v-loading="loading"
    element-loading-background="rgba(0, 0, 0, 0.8)"
  >
    <My-bread :list="[
        `${$t('dataManage.dataManage')}`,
        `${$t('dataManage.dataUpdata')}`,
      ]"></My-bread>
    <el-divider/>
    <el-divider />
    <el-tabs
        type="card"
        v-model="activeTabName"
        @tab-click="handleTabClick"
      type="card"
      v-model="activeTabName"
      @tab-click="handleTabClick"
    >
      <!-- ä¸Šä¼ æ•°æ® -->
      <el-tab-pane
          :label="$t('dataManage.dataUpObj.uploaddata')"
          name="first"
        :label="$t('dataManage.dataUpObj.uploaddata')"
        name="first"
      >
        <div class="inquire subpage_Div" ref="container">
        <div
          class="inquire subpage_Div"
          ref="container"
        >
          <el-form
              :inline="true"
              :model="formInline"
              class="demo-form-inline"
            :inline="true"
            :model="formInline"
            class="demo-form-inline"
          >
            <!-- å…¥åº“类型 -->
            <el-form-item
                :label="$t('dataManage.dataUpObj.UploadType')"
                style="margin-right: 2%"
                size="small"
              :label="$t('dataManage.dataUpObj.UploadType')"
              style="margin-right: 2%"
              size="small"
            >
              <el-select
                  :disabled="tableData.length == 0 ? false : true"
                  v-model="formInline.uploadType"
                  @change="uploadTypeChange"
                  :popper-append-to-body="false"
                  placeholder="请选择"
                :disabled="tableData.length == 0 ? false : true"
                v-model="formInline.uploadType"
                @change="uploadTypeChange"
                :popper-append-to-body="false"
                placeholder="请选择"
              >
                <!--                <el-option
                                  v-for="item in uploadOption"
@@ -46,12 +49,12 @@
                                ></el-option>-->
                <el-option
                    :label="$t('shuJuGuanLi.pselect.dFile')"
                    value="v1"
                  :label="$t('shuJuGuanLi.pselect.dFile')"
                  value="v1"
                />
                <el-option
                    :label="$t('shuJuGuanLi.pselect.dFiles')"
                    value="v2"
                  :label="$t('shuJuGuanLi.pselect.dFiles')"
                  value="v2"
                />
              </el-select>
@@ -59,27 +62,27 @@
            </el-form-item>
            <!-- å­˜å‚¨ç›®å½• -->
            <el-form-item
                style="margin-right: 2%"
                v-show="uploadFlag"
                :label="$t('dataManage.dataUpObj.storageDirectory')"
                size="small"
              style="margin-right: 2%"
              v-show="uploadFlag"
              :label="$t('dataManage.dataUpObj.storageDirectory')"
              size="small"
            >
              <el-select
                  :popper-append-to-body="false"
                  v-model="formInline.dirName"
                  :disabled="tableData.length == 0 ? false : true"
                :popper-append-to-body="false"
                v-model="formInline.dirName"
                :disabled="tableData.length == 0 ? false : true"
              >
                <el-option
                    :value="formInline.dirid"
                    :label="formInline.dirName"
                    style=" height:auto"
                  :value="formInline.dirid"
                  :label="formInline.dirName"
                  style=" height:auto"
                >
                  <el-tree
                      ref="tree"
                      :data="catalogOption"
                      node-key="id"
                      :props="cascader"
                      @node-click="catalogChange"
                    ref="tree"
                    :data="catalogOption"
                    node-key="id"
                    :props="cascader"
                    @node-click="catalogChange"
                  />
                </el-option>
              </el-select>
@@ -94,58 +97,58 @@
            </el-form-item>
            <!-- é¡¹ç›®åç§° -->
            <el-form-item
                style="margin-right: 2%"
                v-show="!uploadFlag"
                :label="$t('dataManage.dataUpObj.entryName')"
                size="small"
              style="margin-right: 2%"
              v-show="!uploadFlag"
              :label="$t('dataManage.dataUpObj.entryName')"
              size="small"
            >
              <el-select
                  :popper-append-to-body="false"
                  :disabled="tableData.length == 0 ? false : true"
                  v-model="formInline.entryId"
                  @change="entryNameChange"
                  placeholder="请选择"
                :popper-append-to-body="false"
                :disabled="tableData.length == 0 ? false : true"
                v-model="formInline.entryId"
                @change="entryNameChange"
                placeholder="请选择"
              >
                <el-option
                    v-for="item in entryOption"
                    :key="item.id"
                    :label="item.name"
                    :value="item.name"
                  v-for="item in entryOption"
                  :key="item.id"
                  :label="item.name"
                  :value="item.name"
                ></el-option>
              </el-select>
            </el-form-item>
            <!-- æ•°æ®ç‰ˆæœ¬ -->
            <el-form-item
                :label="$t('dataManage.dataUpObj.dataVersion')"
                style="margin-right: 2%"
                size="small"
              :label="$t('dataManage.dataUpObj.dataVersion')"
              style="margin-right: 2%"
              size="small"
            >
              <el-select
                  :popper-append-to-body="false"
                  :disabled="tableData.length == 0 ? false : true"
                  v-model="formInline.verid"
                  :placeholder="$t('common.choose')"
                :popper-append-to-body="false"
                :disabled="tableData.length == 0 ? false : true"
                v-model="formInline.verid"
                :placeholder="$t('common.choose')"
              >
                <el-option
                    v-for="item in verOption"
                    :key="item.id"
                    :label="item.name"
                    :value="item.id"
                  v-for="item in verOption"
                  :key="item.id"
                  :label="item.name"
                  :value="item.id"
                >
                </el-option>
              </el-select>
            </el-form-item>
            <!-- æ•°æ®ä¸“业 -->
            <el-form-item
                :label="$t('dataManage.dataUpObj.dataSpecialty')"
                style="margin-right: 2%"
                size="small"
              :label="$t('dataManage.dataUpObj.dataSpecialty')"
              style="margin-right: 2%"
              size="small"
            >
              <el-select
                  :popper-append-to-body="false"
                  :disabled="tableData.length == 0 ? false : true"
                  v-model="formInline.specialtyId"
                  :placeholder="$t('common.choose')"
                :popper-append-to-body="false"
                :disabled="tableData.length == 0 ? false : true"
                v-model="formInline.specialtyId"
                :placeholder="$t('common.choose')"
              >
                <!--                <el-option
                                  v-for="item in specialtyOption"
@@ -155,41 +158,41 @@
                                </el-option>-->
                <el-option
                    :label="$t('shuJuGuanLi.pselect.SurveyDiscipline')"
                    value="测量专业"
                  :label="$t('shuJuGuanLi.pselect.SurveyDiscipline')"
                  value="测量专业"
                />
                <el-option
                    :label="$t('shuJuGuanLi.pselect.SurveysDiscipline')"
                    value="勘察专业"
                  :label="$t('shuJuGuanLi.pselect.SurveysDiscipline')"
                  value="勘察专业"
                />
                <el-option
                    :label="$t('shuJuGuanLi.pselect.GeologicalDisasterSpecialty')"
                    value="地灾专业"
                  :label="$t('shuJuGuanLi.pselect.GeologicalDisasterSpecialty')"
                  value="地灾专业"
                />
                <el-option
                    :label="$t('shuJuGuanLi.pselect.CavernSpecialty')"
                    value="洞库专业"
                  :label="$t('shuJuGuanLi.pselect.CavernSpecialty')"
                  value="洞库专业"
                />
              </el-select>
            </el-form-item>
            <!-- åæ ‡ç³» -->
            <el-form-item
                :label="$t('dataManage.dataUpObj.coordinateSystem')"
                style="margin-right: 3%"
                size="small"
              :label="$t('dataManage.dataUpObj.coordinateSystem')"
              style="margin-right: 3%"
              size="small"
            >
              <el-select
                  :popper-append-to-body="false"
                  :disabled="tableData.length == 0 ? false : true"
                  v-model="formInline.coordinateId"
                  :placeholder="$t('common.choose')"
                :popper-append-to-body="false"
                :disabled="tableData.length == 0 ? false : true"
                v-model="formInline.coordinateId"
                :placeholder="$t('common.choose')"
              >
                <el-option
                    v-for="item in coordinateOption"
                    :key="item.epsgcode"
                    :label="item.coordinate"
                    :value="item.epsgcode"
                  v-for="item in coordinateOption"
                  :key="item.epsgcode"
                  :label="item.coordinate"
                  :value="item.epsgcode"
                >
                </el-option>
              </el-select>
@@ -199,113 +202,116 @@
                <!-- é€‰æ‹©æ•°æ® -->
                <el-form-item size="small">
                  <el-link
                      :disabled="tableData.length == 0 ? false : true"
                      v-show="formInline.specialtyData == '请选择数据'"
                      @click="setSelectFile"
                      :underline="false"
                      type="primary"
                    :disabled="tableData.length == 0 ? false : true"
                    v-show="formInline.specialtyData == '请选择数据'"
                    @click="setSelectFile"
                    :underline="false"
                    type="primary"
                  >{{ $t('dataManage.dataUpObj.selectData') }}
                  </el-link>
                  <el-link
                      v-show="formInline.specialtyData != '请选择数据'"
                      @click="restSelectFile"
                      :underline="false"
                      type="primary"
                    v-show="formInline.specialtyData != '请选择数据'"
                    @click="restSelectFile"
                    :underline="false"
                    type="primary"
                  >{{ $t('common.reset') }}
                  </el-link>
                  <input
                      size="small"
                      id="selectDataFile"
                      type="file"
                      name="file"
                      multiple="multiple"
                      :accept="formInline.selectFileType"
                      @change="handleSelectFileChange"
                      style="display: none"
                    size="small"
                    id="selectDataFile"
                    type="file"
                    name="file"
                    multiple="multiple"
                    :accept="formInline.selectFileType"
                    @change="handleSelectFileChange"
                    style="display: none"
                  ></input>
                </el-form-item>
                <el-form-item size="small">
                  <el-input
                      :placeholder="$t('shuJuGuanLi.shuJuJianSuo.valueone')"
                      v-model="formInline.specialtyData"
                      style="width:200px;"
                      disabled
                    :placeholder="$t('shuJuGuanLi.shuJuJianSuo.valueone')"
                    v-model="formInline.specialtyData"
                    style="width:200px;"
                    disabled
                  >
                  </el-input>
                </el-form-item>
                <!-- é€‰æ‹©å…ƒæ•°æ® -->
                <el-form-item v-show="uploadFlag" style="padding-left: 16px">
                <el-form-item
                  v-show="uploadFlag"
                  style="padding-left: 16px"
                >
                  <el-link
                      :disabled="tableData.length == 0 ? false : true"
                      v-show="formInline.metaData == '请选择元数据'"
                      @click="setMetaFile"
                      :underline="false"
                      type="primary"
                    :disabled="tableData.length == 0 ? false : true"
                    v-show="formInline.metaData == '请选择元数据'"
                    @click="setMetaFile"
                    :underline="false"
                    type="primary"
                  >{{ $t('dataManage.dataUpObj.selectMetadata') }}
                  </el-link>
                  <el-link
                      v-show="formInline.metaData != '请选择元数据'"
                      @click="restMetaFile"
                      :underline="false"
                      type="primary"
                    v-show="formInline.metaData != '请选择元数据'"
                    @click="restMetaFile"
                    :underline="false"
                    type="primary"
                  >{{ $t('common.reset') }}
                  </el-link>
                  <input
                      id="metaDataFile"
                      type="file"
                      name="file"
                      multiple="multiple"
                      accept=".xls,.xlsx"
                      style="display: none"
                      @change="handleMetaFileChange"
                    id="metaDataFile"
                    type="file"
                    name="file"
                    multiple="multiple"
                    accept=".xls,.xlsx"
                    style="display: none"
                    @change="handleMetaFileChange"
                  ></input>
                </el-form-item>
                <el-form-item
                    v-show="uploadFlag"
                    size="small"
                  v-show="uploadFlag"
                  size="small"
                >
                  <el-input
                      :placeholder="$t('shuJuGuanLi.shuJuJianSuo.valueone')"
                      v-model="formInline.metaData"
                      style="width:200px;"
                      disabled
                    :placeholder="$t('shuJuGuanLi.shuJuJianSuo.valueone')"
                    v-model="formInline.metaData"
                    style="width:200px;"
                    disabled
                  >
                  </el-input>
                </el-form-item>
                <!-- é€‰æ‹©WBS数据 -->
                <el-form-item v-show="!uploadFlag">
                  <el-link
                      :disabled="tableData.length == 0 ? false : true"
                      v-show="formInline.wbsData == '请选择WBS数据'"
                      @click="setWBSFile"
                      :underline="false"
                      type="primary"
                    :disabled="tableData.length == 0 ? false : true"
                    v-show="formInline.wbsData == '请选择WBS数据'"
                    @click="setWBSFile"
                    :underline="false"
                    type="primary"
                  >{{ $t('dataManage.dataUpObj.selectWBSData') }}
                  </el-link>
                  <el-link
                      :disabled="tableData.length == 0 ? false : true"
                      v-show="formInline.wbsData != '请选择WBS数据'"
                      @click="restWBSFile"
                      :underline="false"
                      type="primary"
                    :disabled="tableData.length == 0 ? false : true"
                    v-show="formInline.wbsData != '请选择WBS数据'"
                    @click="restWBSFile"
                    :underline="false"
                    type="primary"
                  >{{ $t('common.reset') }}
                  </el-link>
                  <input
                      id="wbsDataFile"
                      type="file"
                      name="file"
                      multiple="multiple"
                      accept=".xls,.xlsx"
                      style="display: none"
                      @change="handleWBSFileChange"
                    id="wbsDataFile"
                    type="file"
                    name="file"
                    multiple="multiple"
                    accept=".xls,.xlsx"
                    style="display: none"
                    @change="handleWBSFileChange"
                  ></input>
                </el-form-item>
                <el-form-item v-show="!uploadFlag">
                  <el-input
                      placeholder="请选择WBS数据"
                      v-model="formInline.wbsData"
                      style="width:210px;"
                      disabled
                    placeholder="请选择WBS数据"
                    v-model="formInline.wbsData"
                    style="width:210px;"
                    disabled
                  >
                  </el-input>
                </el-form-item>
@@ -314,45 +320,45 @@
                <el-form-item>
                  <!-- ä¸Šä¼  -->
                  <el-button
                      v-if="menuStatus.upload"
                      :disabled="tableData.length == 0 ? false : true"
                      @click="setFileUpload"
                      size="small"
                      icon="el-icon-upload"
                      type="success"
                    v-if="menuStatus.upload"
                    :disabled="tableData.length == 0 ? false : true"
                    @click="setFileUpload"
                    size="small"
                    icon="el-icon-upload"
                    type="success"
                  >{{
                      $t('common.upload')
                    }}
                  </el-button>
                  <!-- åˆ é™¤ -->
                  <el-button
                      v-if="menuStatus.delete"
                      :disabled="multipleSelection.length == 0 ? true : false"
                      icon="el-icon-delete"
                      size="small"
                      @click="setFileDelete"
                      type="danger"
                    v-if="menuStatus.delete"
                    :disabled="multipleSelection.length == 0 ? true : false"
                    icon="el-icon-delete"
                    size="small"
                    @click="setFileDelete"
                    type="danger"
                  >{{ $t('common.delete') }}
                  </el-button>
                  <!-- å…¥åº“ -->
                  <el-button
                      v-if="menuStatus.insert"
                      @click="setFileWare"
                      size="small"
                      :disabled="tableData.length == 0 ?  true: false"
                      icon="el-icon-folder-add"
                      type="warning"
                    v-if="menuStatus.insert"
                    @click="setFileWare"
                    size="small"
                    :disabled="tableData.length == 0 ?  true: false"
                    icon="el-icon-folder-add"
                    type="warning"
                  >{{ $t('common.Warehousin') }}
                  </el-button>
                  <!-- è´¨æ£€ -->
                  <el-button
                      style="margin-right:-9px"
                      v-if="menuStatus.insert"
                      :disabled="multipleSelection.length == 0 ? true : false"
                      type="info"
                      size="small"
                      icon="el-icon-folder-checked"
                      @click="handleQuayTestClick()"
                    style="margin-right:-9px"
                    v-if="menuStatus.insert"
                    :disabled="multipleSelection.length == 0 ? true : false"
                    type="info"
                    size="small"
                    icon="el-icon-folder-checked"
                    @click="handleQuayTestClick()"
                  >{{ $t('common.quayTest') }}
                  </el-button>
@@ -360,64 +366,66 @@
              </div>
            </div>
          </el-form>
        </div>
        <!-- ä¸Šä¼ æ•°æ®åˆ—表 -->
        <div class="dividing-line"></div>
        <div class="table_box" :style="styleVar">
        <div
          class="table_box"
          :style="styleVar"
        >
          <el-table
              style="width:100%"
              :data="tableData"
              @selection-change="handleSelectionChange"
              height="calc(100% - 57px)"
            style="width:100%"
            :data="tableData"
            @selection-change="handleSelectionChange"
            height="calc(100% - 57px)"
          >
            <el-table-column
                type="selection"
                width="55"
              type="selection"
              width="55"
            />
            <el-table-column
                align="center"
                type="index"
                :label="$t('common.index')"
                width="70px"
              align="center"
              type="index"
              :label="$t('common.index')"
              width="70px"
            />
            <el-table-column
                align="center"
                prop="name"
                :label="$t('common.name')"
              align="center"
              prop="name"
              :label="$t('common.name')"
            />
            <el-table-column
                align="center"
                prop="sizes"
                :label="$t('common.size')"
                :formatter="changeSizeFile"
              align="center"
              prop="sizes"
              :label="$t('common.size')"
              :formatter="changeSizeFile"
            />
            <el-table-column
                align="center"
                prop="status"
                label="状态"
              align="center"
              prop="status"
              label="状态"
            />
            <el-table-column
                align="center"
                prop="code"
                label="状态"
                v-if="false"
              align="center"
              prop="code"
              label="状态"
              v-if="false"
            />
            <el-table-column
                label="操作"
                width="120"
              label="操作"
              width="120"
            >
              <template slot-scope="scope">
                <el-button
                    v-if="menuStatus.download"
                    v-show="scope.row.code != null"
                    @click="handerLogClick(scope.row)"
                    type="primary"
                    size="mini"
                    plain
                  v-if="menuStatus.download"
                  v-show="scope.row.code != null"
                  @click="handerLogClick(scope.row)"
                  type="primary"
                  size="mini"
                  plain
                > æ—¥å¿—
                </el-button>
              </template>
@@ -427,45 +435,56 @@
      </el-tab-pane>
      <!-- å…¥åº“数据清单 -->
      <el-tab-pane
          :label="$t('dataManage.dataUpObj.receiptdata')"
          name="second"
        :label="$t('dataManage.dataUpObj.receiptdata')"
        name="second"
      >
        <div class="inquire subpage_Div" ref="container1">
        <div
          class="inquire subpage_Div"
          ref="container1"
        >
          <el-form
              :inline="true"
              :model="formWarehousing"
              class="demo-form-inline"
            :inline="true"
            :model="formWarehousing"
            class="demo-form-inline"
          >
            <div class="flex_box">
              <div style="margin-right: auto">
                <el-form-item size="small" :label="$t('dataManage.dataUpObj.describe')">
                <el-form-item
                  size="small"
                  :label="$t('dataManage.dataUpObj.describe')"
                >
                  <el-input
                      v-model="formWarehousing.name"
                      :placeholder="$t('shuJuGuanLi.lable1')"
                      style="width: 200px;"
                  ><i slot="suffix" class="el-icon-search"  @click="setWarehouseSearch" style="padding-right: 8px"></i></el-input>
                    v-model="formWarehousing.name"
                    :placeholder="$t('shuJuGuanLi.lable1')"
                    style="width: 200px;"
                  ><i
                      slot="suffix"
                      class="el-icon-search"
                      @click="setWarehouseSearch"
                      style="padding-right: 8px"
                    ></i></el-input>
                </el-form-item>
              </div>
              <div>
                <el-form-item>
                  <el-button
                      v-if="menuStatus.upload"
                      :disabled="multipleDelete.length == 0 ? true : false"
                      @click="setEnclosure"
                      icon="el-icon-folder-opened"
                      type="success"
                      size="small"
                    v-if="menuStatus.upload"
                    :disabled="multipleDelete.length == 0 ? true : false"
                    @click="setEnclosure"
                    icon="el-icon-folder-opened"
                    type="success"
                    size="small"
                  >{{ $t('common.enclosure') }}
                  </el-button>
                  <el-button
                      v-if="menuStatus.delete"
                      @click="setWarehouseDel"
                      icon="el-icon-folder-delete"
                      type="danger"
                      size="small"
                    v-if="menuStatus.delete"
                    @click="setWarehouseDel"
                    icon="el-icon-folder-delete"
                    type="danger"
                    size="small"
                  >{{ $t('common.delete') }}
                  </el-button>
<!--                  <el-button
                  <!--                  <el-button
                      @click="setWarehouseSearch"
                      icon="el-icon-upload"
                      size="small"
@@ -475,238 +494,253 @@
                    }}
                  </el-button>-->
                  <el-button
                      @click="setWarehouseReset"
                      icon="el-icon-folder-add"
                      size="small"
                      type="info"
                    @click="setWarehouseReset"
                    icon="el-icon-folder-add"
                    size="small"
                    type="info"
                  >{{ $t('common.reset') }}
                  </el-button>
                </el-form-item>
              </div>
            </div>
          </el-form>
        </div>
        <!-- å…¥åº“ -->
        <div class="dividing-line"></div>
        <div class="table_box" :style="styleVar1">
        <div
          class="table_box"
          :style="styleVar1"
        >
          <el-table
              ref="filterTable"
              :data="waretableData"
              style="width: 100%"
              height="calc(100% - 57px)"
              @selection-change="handleDelteChange"
            ref="filterTable"
            :data="waretableData"
            style="width: 100%"
            height="calc(100% - 57px)"
            @selection-change="handleDelteChange"
          >
            <el-table-column
                type="selection"
                width="55"
              type="selection"
              width="55"
            >
            </el-table-column>
            <el-table-column
                align="center"
                type="index"
                :label="$t('common.index')"
                width="70px"
              align="center"
              type="index"
              :label="$t('common.index')"
              width="70px"
            ></el-table-column>
            <el-table-column
                align="center"
                :label="$t('common.name')"
                width="120"
              align="center"
              :label="$t('common.name')"
              width="120"
            >
              <template slot-scope="scope">
                                  <span v-if="scope.row.ismeta > 0">
                     <el-link style="color:#409eff" title="元数据查询" @click="setQueryMetaData(scope.row)"
                              target="_blank">{{ scope.row.name }}</el-link>
            </span>
                <span v-if="scope.row.ismeta > 0">
                  <el-link
                    style="color:#409eff"
                    title="源数据查询"
                    @click="setQueryMetaData(scope.row)"
                    target="_blank"
                  >{{ scope.row.name }}</el-link>
                </span>
                <span v-else-if="scope.row.metaid > 0">
                  <el-link
                    style="color:#409eff"
                    title="元数据查询"
                    @click="setMetaDataQuery(scope.row)"
                    target="_blank"
                  >{{ scope.row.name }}</el-link>
                </span>
                <span v-else>{{ scope.row.name }}</span>
              </template>
            </el-table-column>
            <el-table-column
                align="center"
                prop="dirName"
                :label="$t('dataManage.dataUpObj.catalogue')"
                width="300"
              align="center"
              prop="dirName"
              :label="$t('dataManage.dataUpObj.catalogue')"
              width="300"
            />
            <el-table-column
                align="center"
                prop="depName"
                :label="$t('dataManage.dataUpObj.company')"
                width="200"
              align="center"
              prop="depName"
              :label="$t('dataManage.dataUpObj.company')"
              width="200"
            />
            <el-table-column
                align="center"
                prop="verName"
                :label="$t('dataManage.dataUpObj.versionNo')"
              align="center"
              prop="verName"
              :label="$t('dataManage.dataUpObj.versionNo')"
            />
            <el-table-column
                align="center"
                prop="type"
                :label="$t('common.type')"
              align="center"
              prop="type"
              :label="$t('common.type')"
            />
            <el-table-column
                align="center"
                prop="sizes"
                :label="$t('common.size')"
                :formatter="changeSizeFile"
              align="center"
              prop="sizes"
              :label="$t('common.size')"
              :formatter="changeSizeFile"
            />
            <el-table-column
                align="center"
                :label="$t('dataManage.dataUpObj.tableName')"
              align="center"
              :label="$t('dataManage.dataUpObj.tableName')"
            >
              <template slot-scope="scope">
                <a
                    class="scopeRowColor"
                    @click="detail(scope.row)"
                  class="scopeRowColor"
                  @click="detail(scope.row)"
                >{{ scope.row.tab }}</a>
              </template>
            </el-table-column>
            <el-table-column
                align="center"
                prop="rows"
                :label="$t('common.lineNuber')"
              align="center"
              prop="rows"
              :label="$t('common.lineNuber')"
            />
            <el-table-column
                align="center"
                prop="desc"
                :label="$t('dataManage.dataUpObj.describe')"
              align="center"
              prop="desc"
              :label="$t('dataManage.dataUpObj.describe')"
            />
            <el-table-column
                align="center"
                prop="uname"
                :label="$t('dataManage.vmobj.createonuser')"
              align="center"
              prop="uname"
              :label="$t('dataManage.vmobj.createonuser')"
            />
            <el-table-column
                align="center"
                prop="createTime"
                :label="$t('dataManage.vmobj.createontime')"
                :formatter="changetimeFile"
                width="100"
              align="center"
              prop="createTime"
              :label="$t('dataManage.vmobj.createontime')"
              :formatter="changetimeFile"
              width="100"
            />
          </el-table>
          <div class="pagination_box" style="margin-top: 15px">
          <div
            class="pagination_box"
            style="margin-top: 15px"
          >
            <el-pagination
                @size-change="handleSizeChange"
                @current-change="handleCurrentChange"
                :current-page="listData.pageIndex"
                :page-sizes="[10, 20, 50, 100]"
                :page-size="listData.pageSize"
                layout="total, sizes, prev, pager, next, jumper"
                :total="count"
              @size-change="handleSizeChange"
              @current-change="handleCurrentChange"
              :current-page="listData.pageIndex"
              :page-sizes="[10, 20, 50, 100]"
              :page-size="listData.pageSize"
              layout="total, sizes, prev, pager, next, jumper"
              :total="count"
            >
            </el-pagination>
          </div>
        </div>
      </el-tab-pane>
    </el-tabs>
    <!-- è´¨æ£€å¼¹çª— -->
    <el-dialog
        title="数据质检"
        :visible.sync="quayTestVisible"
        width="70%"
        :modal="false"
        :before-close="handleQuayTestCloseDown"
      title="数据质检"
      :visible.sync="quayTestVisible"
      width="70%"
      :modal="false"
      :before-close="handleQuayTestCloseDown"
    >
      <div class="dialogDiv">
        <el-form
            :inline="true"
            :model="quayTestForms "
            class="demo-form-inline"
          :inline="true"
          :model="quayTestForms "
          class="demo-form-inline"
        >
          <el-form-item :label="$t('dataManage.dataUpObj.dataSpecialty')">
            <el-input
                disabled
                v-model="quayTestForms.sjzy"
              disabled
              v-model="quayTestForms.sjzy"
            ></el-input>
          </el-form-item>
          <el-form-item :label="$t('dataManage.dataUpObj.storageDirectory')">
            <el-input
                disabled
                style="width:400px"
                v-model="quayTestForms.names"
              disabled
              style="width:400px"
              v-model="quayTestForms.names"
            ></el-input>
          </el-form-item>
        </el-form>
        <el-divider/>
        <el-divider />
        <div class="dialogContent">
          <div
              class="ContBox"
              v-show="quayTestShow.checkAttrs"
            class="ContBox"
            v-show="quayTestShow.checkAttrs"
          >
            <el-checkbox
                checked
                disabled
              checked
              disabled
            >属性检查:(*dlg*.gdb+*地形图**.dwg)
            </el-checkbox>
          </div>
          <div
              class="ContBox"
              v-show="quayTestShow.checkMath"
            class="ContBox"
            v-show="quayTestShow.checkMath"
          >
            <el-checkbox
                checked
                disabled
              checked
              disabled
            >数学基础检查:(.shp,.dlg)
            </el-checkbox>
          </div>
          <div
              class="ContBox"
              v-show="quayTestShow.checkDecorate"
            class="ContBox"
            v-show="quayTestShow.checkDecorate"
          >
            <el-checkbox
                checked
                disabled
              checked
              disabled
            >图面整饰检查:(.dwg)
            </el-checkbox>
          </div>
          <div
              class="ContBox"
              v-show="quayTestShow.checkXls"
            class="ContBox"
            v-show="quayTestShow.checkXls"
          >
            <el-checkbox
                checked
                disabled
              checked
              disabled
            >表格数据检查:(.xls/.xlsx)
            </el-checkbox>
          </div>
          <div
              class="ContBox"
              v-show="quayTestShow.checkOrigin"
            class="ContBox"
            v-show="quayTestShow.checkOrigin"
          >
            <el-checkbox
                checked
                disabled
              checked
              disabled
            >原点检查:(*剖面图*.dwg)
            </el-checkbox>
          </div>
          <div
              class="ContBox"
              v-show="quayTestShow.checkMeta"
            class="ContBox"
            v-show="quayTestShow.checkMeta"
          >
            <el-checkbox
                checked
                disabled
              checked
              disabled
            >元数据检查:(*元数据*.xls/.xlsx)
            </el-checkbox>
          </div>
          <div
              class="ContBox"
              v-show="quayTestShow.checkTopology"
            class="ContBox"
            v-show="quayTestShow.checkTopology"
          >
            <el-form
                ref="quayForms"
                :model="quayTestForms"
                class="demo-form-inline"
              ref="quayForms"
              :model="quayTestForms"
              class="demo-form-inline"
            >
              <el-form-item>
                <el-checkbox
                    checked
                    disabled
                  checked
                  disabled
                >拓扑检查:(*地形图*.dwg)
                </el-checkbox>
              </el-form-item>
@@ -753,18 +787,18 @@
            </el-form>
          </div>
          <div
              class="ContBox"
              v-show="quayTestShow.checkDom"
            class="ContBox"
            v-show="quayTestShow.checkDom"
          >
            <el-form
                ref="quayForms"
                :model="quayTestForms"
                class="demo-form-inline"
              ref="quayForms"
              :model="quayTestForms"
              class="demo-form-inline"
            >
              <el-form-item>
                <el-checkbox
                    checked
                    disabled
                  checked
                  disabled
                >栅格检查:(.tif/.img)
                </el-checkbox>
              </el-form-item>
@@ -787,18 +821,18 @@
            </el-form>
          </div>
          <div
              class="ContBox"
              v-show="quayTestShow.checkDem"
            class="ContBox"
            v-show="quayTestShow.checkDem"
          >
            <el-form
                ref="quayForms"
                :model="quayTestForms"
                class="demo-form-inline"
              ref="quayForms"
              :model="quayTestForms"
              class="demo-form-inline"
            >
              <el-form-item>
                <el-checkbox
                    checked
                    disabled
                  checked
                  disabled
                >高程检查:(.tif/.img)
                </el-checkbox>
              </el-form-item>
@@ -821,18 +855,18 @@
            </el-form>
          </div>
          <div
              class="ContBox"
              v-show="quayTestShow.checkLaz"
            class="ContBox"
            v-show="quayTestShow.checkLaz"
          >
            <el-form
                ref="quayForms"
                :model="quayTestForms"
                class="demo-form-inline"
              ref="quayForms"
              :model="quayTestForms"
              class="demo-form-inline"
            >
              <el-form-item>
                <el-checkbox
                    checked
                    disabled
                  checked
                  disabled
                >点云检查:(.laz + *激光点云*.xls/.xlsx)
                </el-checkbox>
              </el-form-item>
@@ -847,18 +881,18 @@
            </el-form>
          </div>
          <div
              class="ContBox"
              v-show="quayTestShow.checkOsgb"
            class="ContBox"
            v-show="quayTestShow.checkOsgb"
          >
            <el-form
                ref="quayForms"
                :model="quayTestForms"
                class="demo-form-inline"
              ref="quayForms"
              :model="quayTestForms"
              class="demo-form-inline"
            >
              <el-form-item>
                <el-checkbox
                    checked
                    disabled
                  checked
                  disabled
                >OSGB检查:(.osgb + *倾斜摄影*.xls/.xlsx)
                </el-checkbox>
              </el-form-item>
@@ -875,106 +909,106 @@
        </div>
      </div>
      <span
          slot="footer"
          class="dialog-footer"
        slot="footer"
        class="dialog-footer"
      >
        <el-button
            class="elBotton"
            size="small"
            @click="quayTestVisible = false"
          class="elBotton"
          size="small"
          @click="quayTestVisible = false"
        >取 æ¶ˆ</el-button>
        <el-button
            class="elBotton"
            size="small"
            @click="commonQuayTest"
          class="elBotton"
          size="small"
          @click="commonQuayTest"
        >ç¡® å®š</el-button>
      </span>
    </el-dialog>
    <!-- æ•´ä½“文件质检弹窗 -->
    <el-dialog
        title="数据质检"
        :visible.sync="testQuayVisible"
        :modal="false"
        :before-close="handleTestQuayCloseDown"
      title="数据质检"
      :visible.sync="testQuayVisible"
      :modal="false"
      :before-close="handleTestQuayCloseDown"
    >
      <el-form :model="formCheckAll" label-position="top">
      <el-form
        :model="formCheckAll"
        label-position="top"
      >
        <el-form-item label="项目名称">
          <el-input
              disabled
              v-model="formCheckAll.xmmc"
              style="width:85%"
            disabled
            v-model="formCheckAll.xmmc"
            style="width:85%"
          ></el-input>
        </el-form-item>
        <el-form-item label="所属专业">
          <el-input
              disabled
              v-model="formCheckAll.sjzy"
              style="width:85%"
            disabled
            v-model="formCheckAll.sjzy"
            style="width:85%"
          ></el-input>
        </el-form-item>
        <el-form-item
            v-show="formCheckAll.isDiZai"
            label="所属专业"
          v-show="formCheckAll.isDiZai"
          label="所属专业"
        >
          <el-select
              v-model="formCheckAll.diZaiType"
              placeholder="请选择"
              style="width:85%"
            v-model="formCheckAll.diZaiType"
            placeholder="请选择"
            style="width:85%"
          >
            <el-option
                v-for="item in disOptions"
                :key="item.value"
                :label="item.label"
                :value="item.value"
              v-for="item in disOptions"
              :key="item.value"
              :label="item.label"
              :value="item.value"
            >
            </el-option>
          </el-select>
        </el-form-item>
      </el-form>
      <span
          slot="footer"
          class="dialog-footer"
        slot="footer"
        class="dialog-footer"
      >
        <el-button
            class="elBotton"
            size="small"
            @click="testQuayVisible = false"
          class="elBotton"
          size="small"
          @click="testQuayVisible = false"
        >取 æ¶ˆ</el-button>
        <el-button
            class="elBotton"
            size="small"
            @click="commonTestQuay"
          class="elBotton"
          size="small"
          @click="commonTestQuay"
        >ç¡® å®š</el-button>
      </span>
    </el-dialog>
    <!-- ifream下载文件地址 -->
    <iframe
        id="downFrame"
        src=""
        style="display: none; border: 0; padding: 0; height: 0; width: 0"
      id="downFrame"
      src=""
      style="display: none; border: 0; padding: 0; height: 0; width: 0"
    ></iframe>
    <!-- æ•°æ®åŒ¹é… -->
    <el-dialog
        :title="$t('dataManage.datawarehousing')"
        :visible.sync="dialogWarehousing"
        width="70%"
      :title="$t('dataManage.datawarehousing')"
      :visible.sync="dialogWarehousing"
      width="70%"
    >
      <div class="dialogBox">
        <div class="transFarBox subpage_Div">
          <ul>
            <li
                @click="singleElection(item)"
                v-for="(item, i) in tableWareOne"
                :class="{ active: activeName == item.eventid }"
              @click="singleElection(item)"
              v-for="(item, i) in tableWareOne"
              :class="{ active: activeName == item.eventid }"
            >{{ item.tab }} ({{ item.type }})
            </li>
          </ul>
@@ -990,9 +1024,9 @@
        <div class="transFarBox subpage_Div">
          <ul>
            <li
                @click="singleElection2(item)"
                v-for="(item, i) in tableWareTwo"
                :class="{ active: activeName2 == item.entity }"
              @click="singleElection2(item)"
              v-for="(item, i) in tableWareTwo"
              :class="{ active: activeName2 == item.entity }"
            >{{ item.tabDesc }} ( {{ item.ns }}.{{ item.tab }})
            </li>
          </ul>
@@ -1002,86 +1036,86 @@
            <div style="padding:2%">
              <el-link @click="setWareTableChangeLeft"><i class="el-icon-d-arrow-left"></i></el-link>
            </div>
            <br/>
            <br />
            <div style="padding:2%">
              <el-link><i
                  @click="setWareTableChangeRight"
                  class="el-icon-d-arrow-right"
              ></i></el-link>
                ></i></el-link>
            </div>
          </div>
        </div>
        <div class="transFarBox subpage_Div">
          <ul>
            <li
                @click="singleElection3(i)"
                v-for="(item, i) in tableWareThree"
                :class="{ active: activeName3 ==( item.tab+i)}"
              @click="singleElection3(i)"
              v-for="(item, i) in tableWareThree"
              :class="{ active: activeName3 ==( item.tab+i)}"
            >{{ item.tab }} ( {{ item.tabDesc }} {{ item.ns }}.{{ item.tabs }} )
            </li>
          </ul>
        </div>
      </div>
      <span
          slot="footer"
          class="dialog-footer"
        slot="footer"
        class="dialog-footer"
      >
        <el-button
            size="small"
            @click="autoMatchWare"
            type="primary"
          size="small"
          @click="autoMatchWare"
          type="primary"
        >自动匹配</el-button>
        <el-button
            size="small"
            type="info"
            @click="setInsrtWareTableClose "
          size="small"
          type="info"
          @click="setInsrtWareTableClose "
        >取 æ¶ˆ</el-button>
        <el-button
            size="small"
            type="primary"
            @click="setInsrtWareTable"
          size="small"
          type="primary"
          @click="setInsrtWareTable"
        >ç¡® å®š</el-button>
      </span>
    </el-dialog>
    <el-dialog
        :title="$t('common.details')"
        :visible.sync="dialogVisible"
        width="70%"
      :title="$t('common.details')"
      :visible.sync="dialogVisible"
      width="70%"
    >
      <div style="height: 500px; overflow: auto">
        <el-table
            ref="filterTable"
            :data="dbTableData"
            height="90%"
            border
            style="width: 100%"
          ref="filterTable"
          :data="dbTableData"
          height="90%"
          border
          style="width: 100%"
        >
          <el-table-column
              width="60"
              type="index"
              :label="$t('common.index')"
            width="60"
            type="index"
            :label="$t('common.index')"
          />
          <el-table-column
              v-for="(item, index) in attributeData"
              :key="index"
              :label="item.alias"
              :prop="item.field"
              show-overflow-tooltip
              align="center"
            v-for="(item, index) in attributeData"
            :key="index"
            :label="item.alias"
            :prop="item.field"
            show-overflow-tooltip
            align="center"
          ></el-table-column>
        </el-table>
        <div
            style="margin-top: 15px"
            class="pagination_box"
          style="margin-top: 15px"
          class="pagination_box"
        >
          <el-pagination
              @size-change="handleLoaderSizeChange"
              @current-change="handleLoaderCurrentChange"
              :current-page="listLoader.pageIndex"
              :page-sizes="[10, 20, 50, 100]"
              :page-size="listLoader.pageSize"
              layout="total, sizes, prev, pager, next, jumper"
              :total="count1"
            @size-change="handleLoaderSizeChange"
            @current-change="handleLoaderCurrentChange"
            :current-page="listLoader.pageIndex"
            :page-sizes="[10, 20, 50, 100]"
            :page-size="listLoader.pageSize"
            layout="total, sizes, prev, pager, next, jumper"
            :total="count1"
          >
          </el-pagination>
        </div>
@@ -1089,10 +1123,10 @@
    </el-dialog>
    <el-dialog
        :close-on-click-modal="false"
        title="上传进度"
        :visible.sync="jindudialogVisible"
        width="30%"
      :close-on-click-modal="false"
      title="上传进度"
      :visible.sync="jindudialogVisible"
      width="30%"
    >
      <div>
        <div>
@@ -1100,152 +1134,245 @@
        </div>
        <div>
          <el-progress
              :percentage="jindutiao"
              :format="format"
            :percentage="jindutiao"
            :format="format"
          ></el-progress>
        </div>
      </div>
    </el-dialog>
    <el-dialog
        :title="$t('common.details')"
        :visible.sync="enclosureVisible"
        :show-close="false"
      :title="$t('common.details')"
      :visible.sync="enclosureVisible"
      :show-close="false"
    >
      <span
          style="font-size:20px"
          class="scopeRowColor"
        style="font-size:20px"
        class="scopeRowColor"
      >{{ enclosureTitle }}不能上传附件是否继续</span>
      <span
          slot="footer"
          class="dialog-footer"
        slot="footer"
        class="dialog-footer"
      >
        <el-button @click="enclosureVisible = false">取 æ¶ˆ</el-button>
        <el-button
            type="primary"
            @click="uploadAnFiles"
          type="primary"
          @click="uploadAnFiles"
        >ç»§ç»­</el-button>
      </span>
    </el-dialog>
    <el-dialog
        :title="fromQueryMeta.title"
        :visible.sync="queryMetaFlag"
        width="70%"
      :title="fromQueryMeta.title"
      :visible.sync="queryMetaFlag"
      width="70%"
    >
      <div style="height: 500px; overflow: auto;width:100%; ">
        <el-form :inline="true" :model="fromQueryMeta" class="demo-form-inline">
        <el-form
          :inline="true"
          :model="fromQueryMeta"
          class="demo-form-inline"
        >
          <el-form-item>
            <el-input size="small" v-model="fromQueryMeta.name" :placeholder="$t('shuJuGuanLi.shuJuJianSuo.valueone')"
                      suffix-icon="el-icon-edit"></el-input>
            <el-input
              size="small"
              v-model="fromQueryMeta.name"
              :placeholder="$t('shuJuGuanLi.shuJuJianSuo.valueone')"
              suffix-icon="el-icon-edit"
            ></el-input>
          </el-form-item>
          <el-form-item>
            <el-button type="primary" size="small" @click="setSearchMetaData()">查询</el-button>
            <el-button type="info" size="small" @click="setRestMetaData()">重置</el-button>
            <el-button
              type="primary"
              size="small"
              @click="setSearchMetaData()"
            >查询</el-button>
            <el-button
              type="info"
              size="small"
              @click="setRestMetaData()"
            >重置</el-button>
          </el-form-item>
        </el-form>
        <el-table
            ref="filterTable"
            :data="metaDataTable"
            style="width: 100%"
            height="calc(100% - 130px)"
          ref="filterTable"
          :data="metaDataTable"
          style="width: 100%"
          height="calc(100% - 130px)"
        >
          <el-table-column
              align="center"
              type="index"
              :label="$t('common.index')"
              width="70px"
            align="center"
            type="index"
            :label="$t('common.index')"
            width="70px"
          ></el-table-column>
          <el-table-column
              align="center"
              prop="name"
              :label="$t('common.name')"
              width="120"
            align="center"
            prop="name"
            :label="$t('common.name')"
            width="120"
          >
          </el-table-column>
          <el-table-column
              align="center"
              prop="dirName"
              :label="$t('dataManage.dataUpObj.catalogue')"
              width="300"
            align="center"
            prop="dirName"
            :label="$t('dataManage.dataUpObj.catalogue')"
            width="300"
          />
          <el-table-column
              align="center"
              prop="depName"
              :label="$t('dataManage.dataUpObj.company')"
              width="200"
            align="center"
            prop="depName"
            :label="$t('dataManage.dataUpObj.company')"
            width="200"
          />
          <el-table-column
              align="center"
              prop="verName"
              :label="$t('dataManage.dataUpObj.versionNo')"
            align="center"
            prop="verName"
            :label="$t('dataManage.dataUpObj.versionNo')"
          />
          <el-table-column
              align="center"
              prop="type"
              :label="$t('common.type')"
            align="center"
            prop="type"
            :label="$t('common.type')"
          />
          <el-table-column
              align="center"
              prop="sizes"
              :label="$t('common.size')"
              :formatter="changeSizeFile"
            align="center"
            prop="sizes"
            :label="$t('common.size')"
            :formatter="changeSizeFile"
          />
          <el-table-column
              align="center"
              :label="$t('dataManage.dataUpObj.tableName')"
            align="center"
            :label="$t('dataManage.dataUpObj.tableName')"
          >
            <template slot-scope="scope">
              <a
                  class="scopeRowColor"
                  @click="detail(scope.row)"
                class="scopeRowColor"
                @click="detail(scope.row)"
              >{{ scope.row.tab }}</a>
            </template>
          </el-table-column>
          <el-table-column
              align="center"
              prop="rows"
              :label="$t('common.lineNuber')"
            align="center"
            prop="rows"
            :label="$t('common.lineNuber')"
          />
          <el-table-column
              align="center"
              prop="desc"
              :label="$t('dataManage.dataUpObj.describe')"
            align="center"
            prop="desc"
            :label="$t('dataManage.dataUpObj.describe')"
          />
        </el-table>
        <div
            style="margin-top: 15px"
            class="pagination_box"
          style="margin-top: 15px"
          class="pagination_box"
        >
          <el-pagination
              @size-change="handleMetaSizeChange"
              @current-change="handMetaCurrentChange"
              :current-page="listMetaData.pageIndex"
              :page-sizes="[10, 20, 50, 100]"
              :page-size="listMetaData.pageSize"
              layout="total, sizes, prev, pager, next, jumper"
              :total="listMetaData.count"
            @size-change="handleMetaSizeChange"
            @current-change="handMetaCurrentChange"
            :current-page="listMetaData.pageIndex"
            :page-sizes="[10, 20, 50, 100]"
            :page-size="listMetaData.pageSize"
            layout="total, sizes, prev, pager, next, jumper"
            :total="listMetaData.count"
          >
          </el-pagination>
        </div>
      </div>
    </el-dialog>
    <el-dialog
      :title="fromQueryMeta.title"
      :visible.sync="queryMetaFlag1"
      width="70%"
    >
      <div style="height: 65vh; width: 100%">
        <el-table
          ref="filterTable"
          :data="metaDataTable1"
          style="width: 100%"
          height="100%"
        >
          <el-table-column
            align="center"
            type="index"
            :label="$t('common.index')"
            width="70px"
          ></el-table-column>
          <el-table-column
            align="center"
            prop="name"
            :label="$t('common.name')"
            width="120"
          >
          </el-table-column>
          <el-table-column
            align="center"
            prop="dirName"
            :label="$t('dataManage.dataUpObj.catalogue')"
            width="300"
          />
          <el-table-column
            align="center"
            prop="depName"
            :label="$t('dataManage.dataUpObj.company')"
            width="200"
          />
          <el-table-column
            align="center"
            prop="verName"
            :label="$t('dataManage.dataUpObj.versionNo')"
          />
          <el-table-column
            align="center"
            prop="type"
            :label="$t('common.type')"
          />
          <el-table-column
            align="center"
            prop="sizes"
            :label="$t('common.size')"
            :formatter="changeSizeFile"
          />
          <el-table-column
            align="center"
            :label="$t('dataManage.dataUpObj.tableName')"
          >
            <template slot-scope="scope">
              <a
                class="scopeRowColor"
                @click="detail(scope.row)"
              >{{
                  scope.row.tab
                }}</a>
            </template>
          </el-table-column>
          <el-table-column
            align="center"
            prop="rows"
            :label="$t('common.lineNuber')"
          />
          <el-table-column
            align="center"
            prop="desc"
            :label="$t('dataManage.dataUpObj.describe')"
          />
        </el-table>
      </div>
    </el-dialog>
    <input
        name="file1"
        :accept="'.zip'"
        type="file"
        id="editimageFile"
        multiple="multiple"
        style="display: none"
        @change="uploadAnFilesChange"
      name="file1"
      :accept="'.zip'"
      type="file"
      id="editimageFile"
      multiple="multiple"
      style="display: none"
      @change="uploadAnFilesChange"
    />
  </div>
</template>
@@ -1253,7 +1380,7 @@
<script>
import $ from "jquery";
import MyBread from "../../components/MyBread.vue";
import {getToken} from "@/utils/auth";
import { getToken } from "@/utils/auth";
import {
  dataUpload_deleteMetas,
  dataUpload_insertFiles,
@@ -1271,6 +1398,7 @@
  dataUploadSelectFiles,
  dataUploadSelectPath,
  dataUploadSelectVerByDirid,
  dataUpload_selectMetaById,
  selectdirTab,
} from "../../api/api";
@@ -1358,7 +1486,7 @@
        name: null,
      },
      count: 0,
      formWarehousing: {name: ""},
      formWarehousing: { name: "" },
      multipleSelection: [],
      tableData: [],
      entryOption: [],
@@ -1473,6 +1601,8 @@
        name: "",
      },
      metaDataTable: [],
      queryMetaFlag1: false,
      metaDataTable1: [],
    };
  },
@@ -1522,6 +1652,22 @@
      this.listMetaData.pageIndex = val;
      this.startQueryMetaData();
    },
    //元数据查询
    async setMetaDataQuery(row) {
      this.fromQueryMeta.title = row.name;
      this.listMetaData = {
        id: row.metaid,
      };
      const data = await dataUpload_selectMetaById(this.listMetaData);
      if (data.code != 200) {
        return;
      }
      this.queryMetaFlag1 = true;
      this.metaDataTable1 = [data.result];
    },
    //元数据查询
    setQueryMetaData(row) {
      this.fromQueryMeta.title = row.name;
@@ -1586,47 +1732,47 @@
      that.$set(this, "jindutiao", 0);
      this.loading = true;
      $.ajax(
          BASE_URL +
          "/dataUpload/uploadXlsAnnex?token=" +
          getToken() +
          "&path=" +
          this.formInline.path,
          {
            type: "post",
            data: formData,
            async: true,
            cache: false,
            processData: false,
            contentType: false,
            success: (rs) => {
              this.loading = false;
              if (rs.code != 200) {
                return this.$message.error("附件上传失败");
              }
        BASE_URL +
        "/dataUpload/uploadXlsAnnex?token=" +
        getToken() +
        "&path=" +
        this.formInline.path,
        {
          type: "post",
          data: formData,
          async: true,
          cache: false,
          processData: false,
          contentType: false,
          success: (rs) => {
            this.loading = false;
            if (rs.code != 200) {
              return this.$message.error("附件上传失败");
            }
              this.$set(this, "jindutiao", 100);
              this.$message({
                message: "附件上传成功",
                type: "success",
              });
            },
            error: (rs) => {
              this.loading = false;
              this.$message.error("附件上传失败");
            },
            xhr: function () {
              var myXhr = $.ajaxSettings.xhr();
              if (myXhr.upload) {
                //检查upload属性是否存在
                myXhr.upload.addEventListener(
                    "progress",
                    that.progressHandlingFunction,
                    false
                ); //绑定progress事件的回调函数
              }
              return myXhr; //xhr对象返回给jQuery使用
            },
          }
            this.$set(this, "jindutiao", 100);
            this.$message({
              message: "附件上传成功",
              type: "success",
            });
          },
          error: (rs) => {
            this.loading = false;
            this.$message.error("附件上传失败");
          },
          xhr: function () {
            var myXhr = $.ajaxSettings.xhr();
            if (myXhr.upload) {
              //检查upload属性是否存在
              myXhr.upload.addEventListener(
                "progress",
                that.progressHandlingFunction,
                false
              ); //绑定progress事件的回调函数
            }
            return myXhr; //xhr对象返回给jQuery使用
          },
        }
      );
    },
    //选择上传附件的文件
@@ -1797,7 +1943,7 @@
      this.loading = true;
      const res = await dataUpload_insertFiles(
          JSON.stringify(this.insertWareList)
        JSON.stringify(this.insertWareList)
      );
      this.loading = false;
      if (res.code != 200) {
@@ -1830,7 +1976,7 @@
      }
      std.forEach((item) => {
        this.tableWareOne = this.tableWareOne.filter(
            (items) => items.tab !== item
          (items) => items.tab !== item
        );
      });
    },
@@ -1865,7 +2011,7 @@
      this.wareSelectOne.entity = this.wareSelectTwo.entity;
      this.wareSelectOne.tabDesc = this.wareSelectTwo.tabDesc;
      this.wareSelectOne.tabs =
          this.wareSelectTwo.ns + "." + this.wareSelectTwo.tab;
        this.wareSelectTwo.ns + "." + this.wareSelectTwo.tab;
      if (this.tableWareThree.indexOf(this.wareSelectOne) != -1) {
      } else {
        this.tableWareThree.push(this.wareSelectOne);
@@ -1924,7 +2070,7 @@
          }
          if (std.length != 0) {
            return this.$message.error(
                std.toString() + ",未质检或质检失败,不能入库"
              std.toString() + ",未质检或质检失败,不能入库"
            );
          }
        } else if (this.formInline.uploadType == "v2") {
@@ -1941,7 +2087,7 @@
          }
          if (std.length != 0) {
            return this.$message.error(
                std.toString() + ",未质检或质检失败,不能入库"
              std.toString() + ",未质检或质检失败,不能入库"
            );
          }
        }
@@ -1977,11 +2123,11 @@
    handerLogClick(res) {
      for (var i in res.code) {
        var url =
            BASE_URL +
            "/dataUpload/downloadResult?token=" +
            getToken() +
            "&id=" +
            res.code[i];
          BASE_URL +
          "/dataUpload/downloadResult?token=" +
          getToken() +
          "&id=" +
          res.code[i];
        $("#downFrame").attr("src", url).click();
      }
    },
@@ -1997,8 +2143,8 @@
    //整体文件多条数据质检
    async getStartTestQuayTaskStatus() {
      if (
          this.multipleSelection == 0 ||
          this.taskStatus == this.multipleSelection.length
        this.multipleSelection == 0 ||
        this.taskStatus == this.multipleSelection.length
      ) {
        this.loading = false;
        return;
@@ -2038,8 +2184,8 @@
    //单文件多条数据质检
    async getStartTaskStatus() {
      if (
          this.multipleSelection == 0 ||
          this.taskStatus == this.multipleSelection.length
        this.multipleSelection == 0 ||
        this.taskStatus == this.multipleSelection.length
      ) {
        this.loading = false;
        return;
@@ -2055,7 +2201,7 @@
        this.quayTestForms.xmmc = bak[this.taskStatus];
        this.quayTestForms.sjzy = this.formInline.specialtyId;
        this.quayTestForms.zipPath =
            this.multipleSelection[this.taskStatus].path;
          this.multipleSelection[this.taskStatus].path;
        const data = await dataUpload_uploadChecks(this.quayTestForms);
        if (data.code != 200) {
          this.$message.error("数据质检提交失败");
@@ -2073,7 +2219,7 @@
    async getselectTaskStatus(res) {
      var std = 0;
      for (var i = 0; i < res.length; i++) {
        const data = await dataUpload_selectTaskStatus({id: res[i]});
        const data = await dataUpload_selectTaskStatus({ id: res[i] });
        std += data.progress;
@@ -2083,8 +2229,8 @@
            //质检成功
            for (var i in this.tableData) {
              if (
                  this.tableData[i].path ==
                  this.multipleSelection[this.taskStatus].path
                this.tableData[i].path ==
                this.multipleSelection[this.taskStatus].path
              ) {
                this.tableData[i].status = "质检成功";
              }
@@ -2099,8 +2245,8 @@
            //任务失败
            for (var i in this.tableData) {
              if (
                  this.tableData[i].path ==
                  this.multipleSelection[this.taskStatus].path
                this.tableData[i].path ==
                this.multipleSelection[this.taskStatus].path
              ) {
                this.tableData[i].status = "质检失败";
              }
@@ -2122,7 +2268,7 @@
      this.progress = std / (res.length * 100);
      for (var i in this.tableData) {
        if (
            this.tableData[i].path == this.multipleSelection[this.taskStatus].path
          this.tableData[i].path == this.multipleSelection[this.taskStatus].path
        ) {
          this.tableData[i].status = parseInt(this.progress * 100) + "%";
        }
@@ -2131,7 +2277,7 @@
    async sendTaskStatus(res) {
      var std = 0;
      for (var i = 0; i < res.length; i++) {
        const data = await dataUpload_selectTaskStatus({id: res[i]});
        const data = await dataUpload_selectTaskStatus({ id: res[i] });
        std += data.progress;
        if (data.status == 5) {
@@ -2292,15 +2438,15 @@
      }
      for (var i = 0, c = fs1.files.length; i < c; i++) {
        formData.append(fs1.files[i].name, fs1.files[i]);
        this.fileType.push({name: fs1.files[i].name, type: "selectData"});
        this.fileType.push({ name: fs1.files[i].name, type: "selectData" });
      }
      if (fs2 != null) {
        for (var i = 0, c = fs2.files.length; i < c; i++) {
          formData.append(fs2.files[i].name, fs2.files[i]);
          if (this.formInline.uploadType == "v1") {
            this.fileType.push({name: fs2.files[i].name, type: "metaData"});
            this.fileType.push({ name: fs2.files[i].name, type: "metaData" });
          } else if (this.formInline.uploadType == "v2") {
            this.fileType.push({name: fs2.files[i].name, type: "wbsData"});
            this.fileType.push({ name: fs2.files[i].name, type: "wbsData" });
          }
        }
      }
@@ -2316,49 +2462,49 @@
      that.$set(this, "jindutiao", 0);
      this.loading = true;
      $.ajax(
          BASE_URL +
          "/dataUpload/uploadFiles?token=" +
          token +
          "&path=" +
          this.formInline.path,
          {
            type: "post",
            data: formData,
            async: true,
            cache: false,
            processData: false,
            contentType: false,
            success: (rs) => {
              this.loading = false;
              if (rs.code != 200) {
                return this.$message.error("数据上传失败");
              }
              this.getFileLength();
              this.$set(this, "jindutiao", 100);
              this.$message({
                message: "上传成功",
                type: "success",
              });
              this.clearFileSelect();
            },
            error: (rs) => {
              this.loading = false;
              this.$message.error("数据上传失败");
            },
            xhr: function () {
              var myXhr = $.ajaxSettings.xhr();
        BASE_URL +
        "/dataUpload/uploadFiles?token=" +
        token +
        "&path=" +
        this.formInline.path,
        {
          type: "post",
          data: formData,
          async: true,
          cache: false,
          processData: false,
          contentType: false,
          success: (rs) => {
            this.loading = false;
            if (rs.code != 200) {
              return this.$message.error("数据上传失败");
            }
            this.getFileLength();
            this.$set(this, "jindutiao", 100);
            this.$message({
              message: "上传成功",
              type: "success",
            });
            this.clearFileSelect();
          },
          error: (rs) => {
            this.loading = false;
            this.$message.error("数据上传失败");
          },
          xhr: function () {
            var myXhr = $.ajaxSettings.xhr();
              if (myXhr.upload) {
                //检查upload属性是否存在
                myXhr.upload.addEventListener(
                    "progress",
                    that.progressHandlingFunction,
                    false
                ); //绑定progress事件的回调函数
              }
              return myXhr; //xhr对象返回给jQuery使用
            },
          }
            if (myXhr.upload) {
              //检查upload属性是否存在
              myXhr.upload.addEventListener(
                "progress",
                that.progressHandlingFunction,
                false
              ); //绑定progress事件的回调函数
            }
            return myXhr; //xhr对象返回给jQuery使用
          },
        }
      );
    },
    progressHandlingFunction(event) {
@@ -2436,11 +2582,11 @@
    //数据质检弹窗关闭--项目整体
    handleTestQuayCloseDown() {
      this.$confirm("确认关闭?")
          .then((_) => {
            this.closeTestQuayCloseDialog();
          })
          .catch((_) => {
          });
        .then((_) => {
          this.closeTestQuayCloseDialog();
        })
        .catch((_) => {
        });
    },
    closeTestQuayCloseDialog() {
      this.testQuayVisible = false;
@@ -2448,11 +2594,11 @@
    //数据质检弹窗关闭--单文件
    handleQuayTestCloseDown() {
      this.$confirm("确认关闭?")
          .then((_) => {
            this.closeQuayTestCloseDialog();
          })
          .catch((_) => {
          });
        .then((_) => {
          this.closeQuayTestCloseDialog();
        })
        .catch((_) => {
        });
    },
    closeQuayTestCloseDialog() {
      this.quayTestVisible = false;
@@ -2517,7 +2663,7 @@
        std.push(this.multipleDelete[i].id);
      }
      const res = await dataUpload_deleteMetas({ids: std.toString()});
      const res = await dataUpload_deleteMetas({ ids: std.toString() });
      this.loading = false;
      if (res.code != 200) {
        this.$message.error("删除失败");
@@ -2558,17 +2704,17 @@
      var mm = time.getMinutes();
      var s = time.getSeconds();
      return (
          y +
          "-" +
          this.add0(m) +
          "-" +
          this.add0(d) +
          " " +
          h +
          ":" +
          mm +
          ":" +
          s
        y +
        "-" +
        this.add0(m) +
        "-" +
        this.add0(d) +
        " " +
        h +
        ":" +
        mm +
        ":" +
        s
      );
    },
    //格式化时间
@@ -2741,20 +2887,20 @@
        lazDensity: "1",
        imgResolution: "0.2",
      }),
          (this.quayTestShow = {
            checkOsgb: false,
            checkXls: false,
            checkLaz: false,
            checkDem: false,
            checkAttrs: false,
            checkTopology: false,
            checkDecorate: false,
            checkOrigin: false,
            checkDom: false,
            checkMath: false,
            checkMeta: false,
            checkMain: false,
          });
        (this.quayTestShow = {
          checkOsgb: false,
          checkXls: false,
          checkLaz: false,
          checkDem: false,
          checkAttrs: false,
          checkTopology: false,
          checkDecorate: false,
          checkOrigin: false,
          checkDom: false,
          checkMath: false,
          checkMeta: false,
          checkMain: false,
        });
    },
    //目录切换
    catalogChange(data, node, nodeData) {
src/views/datamanage/metadataManage.vue
@@ -1,32 +1,37 @@
<template>
  <div class="authorityManagement_box">
    <My-bread
        :list="[
    <My-bread :list="[
        `${$t('dataManage.dataManage')}`,
        `${$t('dataManage.metadataManage')}`,
      ]"
    ></My-bread>
    <el-divider/>
    <div class="inquire subpage_Div" ref="container">
      <el-form ref="queryForm" :model="queryForm" :inline="true">
      ]"></My-bread>
    <el-divider />
    <div
      class="inquire subpage_Div"
      ref="container"
    >
      <el-form
        ref="queryForm"
        :model="queryForm"
        :inline="true"
      >
        <div class="flex_box">
          <div style="margin-right: auto">
            <el-form-item size="small">
              <el-select
                  :popper-append-to-body="false"
                  v-model="queryForm.depName"
                :popper-append-to-body="false"
                v-model="queryForm.depName"
              >
                <el-option
                    :value="queryForm.depid"
                    :label="queryForm.depName"
                    style="height: auto"
                  :value="queryForm.depid"
                  :label="queryForm.depName"
                  style="height: auto"
                >
                  <el-tree
                      ref="tree"
                      :data="companyOption1"
                      node-key="id"
                      :props="cascader"
                      @node-click="handleChange1"
                    ref="tree"
                    :data="companyOption1"
                    node-key="id"
                    :props="cascader"
                    @node-click="handleChange1"
                  />
                </el-option>
              </el-select>
@@ -46,20 +51,20 @@
            </el-form-item>
            <el-form-item size="small">
              <el-select
                  :popper-append-to-body="false"
                  v-model="queryForm.dirName"
                :popper-append-to-body="false"
                v-model="queryForm.dirName"
              >
                <el-option
                    :value="queryForm.dirid"
                    :label="queryForm.dirName"
                    style="height: auto"
                  :value="queryForm.dirid"
                  :label="queryForm.dirName"
                  style="height: auto"
                >
                  <el-tree
                      ref="tree"
                      :data="companyOption"
                      node-key="id"
                      :props="cascader"
                      @node-click="handleChange"
                    ref="tree"
                    :data="companyOption"
                    node-key="id"
                    :props="cascader"
                    @node-click="handleChange"
                  />
                </el-option>
              </el-select>
@@ -79,32 +84,40 @@
            </el-form-item>
            <el-form-item size="small">
              <el-select
                  :popper-append-to-body="false"
                  v-model="queryForm.verid"
                  placeholder="请选择"
                  @change="verHandleChange($event)"
                :popper-append-to-body="false"
                v-model="queryForm.verid"
                placeholder="请选择"
                @change="verHandleChange($event)"
              >
                <el-option
                    v-for="item in verOptions"
                    :key="item.id"
                    :label="item.name"
                    :value="item.id"
                  v-for="item in verOptions"
                  :key="item.id"
                  :label="item.name"
                  :value="item.id"
                >
                </el-option>
              </el-select>
            </el-form-item>
            <el-form-item prop="name" size="small">
<!--            suffix-icon="el-icon-edit"  :placeholder="$t('common.pleaseInput')"-->
            <el-form-item
              prop="name"
              size="small"
            >
              <!--            suffix-icon="el-icon-edit"  :placeholder="$t('common.pleaseInput')"-->
              <el-input
                  v-model="queryForm.name"
                  :placeholder="$t('shuJuGuanLi.lable2')"
                  style="width: 200px"
              ><i slot="suffix" class="el-icon-search" @click="queryInfo()" style="padding-right: 8px"></i></el-input>
                v-model="queryForm.name"
                :placeholder="$t('shuJuGuanLi.lable2')"
                style="width: 200px"
              ><i
                  slot="suffix"
                  class="el-icon-search"
                  @click="queryInfo()"
                  style="padding-right: 8px"
                ></i></el-input>
            </el-form-item>
          </div>
          <div>
<!--            <el-form-item>
            <!--            <el-form-item>
              <el-button
                  @click="queryInfo()"
                  icon="el-icon-search"
@@ -116,34 +129,31 @@
            </el-form-item>-->
            <el-form-item v-if="btnStatus.delete">
              <el-button
                  type="danger"
                  size="small"
                  @click="deleteMetaInfo"
                  icon="el-icon-delete"
                type="danger"
                size="small"
                @click="deleteMetaInfo"
                icon="el-icon-delete"
              >{{ $t("common.delete") }}
              </el-button
              >
              </el-button>
            </el-form-item>
            <el-form-item v-if="btnStatus.download">
              <el-button
                  @click="downFormData"
                  icon="el-icon-download"
                  type="success"
                  size="small"
                @click="downFormData"
                icon="el-icon-download"
                type="success"
                size="small"
              >{{ $t("common.download") }}
              </el-button
              >
              </el-button>
            </el-form-item>
            <el-form-item>
              <el-button
                  @click="resetInfo('queryForm')"
                  icon="el-icon-refresh"
                  type="info"
                  size="small"
                @click="resetInfo('queryForm')"
                icon="el-icon-refresh"
                type="info"
                size="small"
              >{{ $t("common.reset") }}
              </el-button
              >
              </el-button>
            </el-form-item>
          </div>
@@ -194,57 +204,76 @@
      </el-form>
    </div>
    <div class="dividing-line"></div>
    <div class="table_box subpage_Div" :style="styleVar">
    <div
      class="table_box subpage_Div"
      :style="styleVar"
    >
      <el-table
          :data="tableData"
          style="width: 100%"
          @selection-change="handleSelectionChange"
          height="calc(100% - 57px)"
        :data="tableData"
        style="width: 100%"
        @selection-change="handleSelectionChange"
        height="calc(100% - 57px)"
      >
        <el-table-column type="selection" width="55"/>
        <el-table-column
            :label="$t('dataManage.dictionaryManageObj.number')"
            type="index"
            width="50"
          type="selection"
          width="55"
        />
        <el-table-column
          :label="$t('dataManage.dictionaryManageObj.number')"
          type="index"
          width="50"
        >
        </el-table-column>
        <el-table-column :label="$t('dataManage.vmobj.name')">
          <template slot-scope="scope">
            <span v-if="scope.row.ismeta > 0">
              <el-link
                  style="color: #409eff"
                  title="源数据查询"
                  @click="setQueryMetaData(scope.row)"
                  target="_blank"
              >{{ scope.row.name }}</el-link
              >
                style="color: #409eff"
                title="源数据查询"
                @click="setQueryMetaData(scope.row)"
                target="_blank"
              >{{ scope.row.name }}</el-link>
            </span>
            <span v-else-if="scope.row.metaid > 0"> <el-link
                style="color: #409eff"
                title="元数据查询"
                @click="setMetaDataQuery(scope.row)"
                target="_blank"
              >{{ scope.row.name }}</el-link></span>
            <span v-else>{{ scope.row.name }}</span>
          </template>
        </el-table-column>
        <el-table-column prop="type" :label="$t('dataManage.vmobj.format')"/>
        <el-table-column
            prop="sizes"
            :label="$t('dataManage.vmobj.size')"
            :formatter="stateFormatSizes"
          prop="type"
          :label="$t('dataManage.vmobj.format')"
        />
        <el-table-column
            prop="depName"
            :label="$t('dataManage.vmobj.depName')"
          prop="sizes"
          :label="$t('dataManage.vmobj.size')"
          :formatter="stateFormatSizes"
        />
        <el-table-column
            prop="dirName"
            :label="$t('dataManage.vmobj.dirName')"
            width="200"
          prop="depName"
          :label="$t('dataManage.vmobj.depName')"
        />
        <el-table-column
            prop="verName"
            :label="$t('dataManage.vmobj.versionNumber')"
          prop="dirName"
          :label="$t('dataManage.vmobj.dirName')"
          width="200"
        />
        <el-table-column
          prop="verName"
          :label="$t('dataManage.vmobj.versionNumber')"
        />
        <el-table-column :label="$t('dataManage.dataUpObj.tableName')">
          <template slot-scope="scope">
            <a @click="detail(scope.row)">{{ scope.row.tab }}</a>
            <!-- <span ></span> -->
            <el-link></el-link>
            <el-link
              :underline="false"
              @click="detail(scope.row)"
            >{{ scope.row.tab }}</el-link>
          </template>
        </el-table-column>
@@ -253,62 +282,81 @@
              :label="$t('dataManage.vmobj.tab')"
              :formatter="formatData"
            /> -->
        <el-table-column prop="rows" :label="$t('dataManage.vmobj.row')"/>
        <el-table-column
            prop="uname"
            :label="$t('dataManage.vmobj.createonuser')"
          prop="rows"
          :label="$t('dataManage.vmobj.row')"
        />
        <el-table-column
            prop="createTime"
            :label="$t('dataManage.vmobj.createontime')"
            :formatter="formatData"
          prop="uname"
          :label="$t('dataManage.vmobj.createonuser')"
        />
        <el-table-column min-width="180" :label="$t('common.operate')">
        <el-table-column
          prop="createTime"
          :label="$t('dataManage.vmobj.createontime')"
          :formatter="formatData"
        />
        <el-table-column
          min-width="180"
          :label="$t('common.operate')"
        >
          <template slot-scope="scope">
            <el-button
                @click="showDetail(scope.row)"
                type="primary"
                plain
                size="small"
              @click="showDetail(scope.row)"
              type="primary"
              plain
              size="small"
            >{{ $t("common.details") }}
            </el-button
            >
            </el-button>
            <el-button
                type="warning"
                plain
                size="small"
                v-if="btnStatus.update"
                @click="editInfo(scope.row)"
                style="margin-left: 10px"
              type="warning"
              plain
              size="small"
              v-if="btnStatus.update"
              @click="editInfo(scope.row)"
              style="margin-left: 10px"
            >{{ $t("common.edit") }}
            </el-button
            >
            </el-button>
          </template>
        </el-table-column>
      </el-table>
      <div class="pagination_box" style="margin-top: 15px">
      <div
        class="pagination_box"
        style="margin-top: 15px"
      >
        <el-pagination
            @size-change="handleSizeChange"
            @current-change="handleCurrentChange"
            :current-page="listData.pageIndex"
            :page-sizes="[10, 20, 50, 100]"
            :page-size="listData.pageSize"
            layout="total, sizes, prev, pager, next, jumper"
            :total="count"
          @size-change="handleSizeChange"
          @current-change="handleCurrentChange"
          :current-page="listData.pageIndex"
          :page-sizes="[10, 20, 50, 100]"
          :page-size="listData.pageSize"
          layout="total, sizes, prev, pager, next, jumper"
          :total="count"
        >
        </el-pagination>
      </div>
    </div>
    <div class="infoBox_box" v-show="showinfoBox">
    <div
      class="infoBox_box"
      v-show="showinfoBox"
    >
      <div class="infoBox box_div">
        <div slot="header" class="clearfix">
        <div
          slot="header"
          class="clearfix"
        >
          <span>{{ $t("common.details") }}</span>
          <div style="float: right; cursor: pointer" @click="closeDetial">
          <div
            style="float: right; cursor: pointer"
            @click="closeDetial"
          >
            <i class="el-icon-close"></i>
          </div>
        </div>
        <el-divider></el-divider>
        <div class="contentBox" style="padding: 1%">
        <div
          class="contentBox"
          style="padding: 1%"
        >
          <p>{{ $t("dataManage.vmobj.name") }}:{{ itemdetail.name }}</p>
          <el-divider></el-divider>
          <p>{{ $t("dataManage.vmobj.format") }}:{{ itemdetail.type }}</p>
@@ -353,55 +401,67 @@
    </div>
    <el-dialog
        width="80vh"
        top="5vh"
        :title="
      width="80vh"
      top="5vh"
      :title="
        behavior == '新增用户'
          ? `${$t('common.append')}`
          : `${$t('common.update')}`
      "
        :visible.sync="dialogFormVisible"
        :before-close="handleClose"
      :visible.sync="dialogFormVisible"
      :before-close="handleClose"
    >
      <el-form :model="editForm" ref="editForm">
      <el-form
        :model="editForm"
        ref="editForm"
      >
        <el-form-item
            :label="$t('dataManage.vmobj.name')"
            :label-width="formLabelWidth"
          :label="$t('dataManage.vmobj.name')"
          :label-width="formLabelWidth"
        >
          <el-input v-model="editForm.name" autocomplete="off"></el-input>
          <el-input
            v-model="editForm.name"
            autocomplete="off"
          ></el-input>
        </el-form-item>
        <el-form-item
            :label="$t('dataManage.vmobj.format')"
            :label-width="formLabelWidth"
          :label="$t('dataManage.vmobj.format')"
          :label-width="formLabelWidth"
        >
          <el-input v-model="editForm.type" autocomplete="off"></el-input>
          <el-input
            v-model="editForm.type"
            autocomplete="off"
          ></el-input>
        </el-form-item>
        <el-form-item
            :label="$t('dataManage.vmobj.size')"
            :label-width="formLabelWidth"
          :label="$t('dataManage.vmobj.size')"
          :label-width="formLabelWidth"
        >
          <el-input v-model="editForm.sizes" autocomplete="off"></el-input>
          <el-input
            v-model="editForm.sizes"
            autocomplete="off"
          ></el-input>
        </el-form-item>
        <el-form-item
            :label="$t('dataManage.vmobj.depName')"
            :label-width="formLabelWidth"
          :label="$t('dataManage.vmobj.depName')"
          :label-width="formLabelWidth"
        >
          <el-select
              style="width: 100%"
              :popper-append-to-body="false"
              v-model="editForm.depName"
            style="width: 100%"
            :popper-append-to-body="false"
            v-model="editForm.depName"
          >
            <el-option
                :value="editForm.depid"
                :label="editForm.depName"
                style="height: auto"
              :value="editForm.depid"
              :label="editForm.depName"
              style="height: auto"
            >
              <el-tree
                  ref="tree"
                  :data="companyOption1"
                  node-key="id"
                  :props="cascader"
                  @node-click="handleChange2"
                ref="tree"
                :data="companyOption1"
                node-key="id"
                :props="cascader"
                @node-click="handleChange2"
              />
            </el-option>
          </el-select>
@@ -413,25 +473,25 @@
          ></el-cascader> -->
        </el-form-item>
        <el-form-item
            :label="$t('dataManage.vmobj.dirName')"
            :label-width="formLabelWidth"
          :label="$t('dataManage.vmobj.dirName')"
          :label-width="formLabelWidth"
        >
          <el-select
              style="width: 100%"
              :popper-append-to-body="false"
              v-model="editForm.dirName"
            style="width: 100%"
            :popper-append-to-body="false"
            v-model="editForm.dirName"
          >
            <el-option
                :value="editForm.dirid"
                :label="editForm.dirName"
                style="height: auto"
              :value="editForm.dirid"
              :label="editForm.dirName"
              style="height: auto"
            >
              <el-tree
                  ref="tree"
                  :data="dirComPanyOption"
                  node-key="id"
                  :props="cascader"
                  @node-click="handleChange3"
                ref="tree"
                :data="dirComPanyOption"
                node-key="id"
                :props="cascader"
                @node-click="handleChange3"
              />
            </el-option>
          </el-select>
@@ -443,10 +503,13 @@
          ></el-cascader> -->
        </el-form-item>
        <el-form-item
            :label="$t('dataManage.vmobj.describe')"
            :label-width="formLabelWidth"
          :label="$t('dataManage.vmobj.describe')"
          :label-width="formLabelWidth"
        >
          <el-input v-model="editForm.describe" autocomplete="off"></el-input>
          <el-input
            v-model="editForm.describe"
            autocomplete="off"
          ></el-input>
        </el-form-item>
        <!-- <el-form-item
          :label="$t('dataManage.vmobj.gather')"
@@ -455,109 +518,136 @@
          <el-input v-model="editForm.gather" autocomplete="off"></el-input>
        </el-form-item> -->
      </el-form>
      <div v-if="behavior == '修改信息'" slot="footer" class="dialog-footer">
        <el-button size="small" @click="cancelEdit()">{{
      <div
        v-if="behavior == '修改信息'"
        slot="footer"
        class="dialog-footer"
      >
        <el-button
          size="small"
          @click="cancelEdit()"
        >{{
            $t("common.reset")
          }}
        </el-button>
        <el-button
            size="small"
            type="primary"
            @click="sendEdit('editForm')"
            v-loading.fullscreen.lock="fullscreenLoading"
          size="small"
          type="primary"
          @click="sendEdit('editForm')"
          v-loading.fullscreen.lock="fullscreenLoading"
        >{{ $t("common.submit") }}
        </el-button
        >
        </el-button>
      </div>
      <div v-else slot="footer" class="dialog-footer">
        <el-button size="small" @click="cancelAdd('editForm')">{{
      <div
        v-else
        slot="footer"
        class="dialog-footer"
      >
        <el-button
          size="small"
          @click="cancelAdd('editForm')"
        >{{
            $t("common.reset")
          }}
        </el-button>
        <el-button
            size="small"
            type="primary"
            @click="sendAdd('editForm')"
            v-loading.fullscreen.lock="fullscreenLoading"
          size="small"
          type="primary"
          @click="sendAdd('editForm')"
          v-loading.fullscreen.lock="fullscreenLoading"
        >{{ $t("common.submit") }}
        </el-button
        >
        </el-button>
      </div>
    </el-dialog>
    <el-dialog
        :title="$t('common.details')"
        :visible.sync="dialogVisible"
        width="70%"
      :title="$t('common.details')"
      :visible.sync="dialogVisible"
      width="70%"
    >
      <div style="height: 600px">
        <el-table
            ref="filterTable"
            :data="dbTableData"
            height="90%"
            border
            style="width: 100%"
          ref="filterTable"
          :data="dbTableData"
          height="90%"
          border
          style="width: 100%"
        >
          <el-table-column
              width="60"
              align="center"
              type="index"
              :label="$t('common.index')"
            width="60"
            align="center"
            type="index"
            :label="$t('common.index')"
          />
          <el-table-column
              v-for="(item, index) in attributeData"
              :key="index"
              :label="item.alias"
              :prop="item.field"
              show-overflow-tooltip
              align="center"
            v-for="(item, index) in attributeData"
            :key="index"
            :label="item.alias"
            :prop="item.field"
            show-overflow-tooltip
            align="center"
          ></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="handleLoaderSizeChange"
              @current-change="handleLoaderCurrentChange"
              :current-page="listLoader.pageIndex"
              :page-sizes="[10, 20, 50, 100]"
              :page-size="listLoader.pageSize"
              layout="total, sizes, prev, pager, next, jumper"
              :total="count1"
            @size-change="handleLoaderSizeChange"
            @current-change="handleLoaderCurrentChange"
            :current-page="listLoader.pageIndex"
            :page-sizes="[10, 20, 50, 100]"
            :page-size="listLoader.pageSize"
            layout="total, sizes, prev, pager, next, jumper"
            :total="count1"
          >
          </el-pagination>
        </div>
      </div>
    </el-dialog>
    <div class="downloadBox box_div subpage_Div" v-if="showCodeBox">
    <div
      class="downloadBox box_div subpage_Div"
      v-if="showCodeBox"
    >
      <h4 style="padding: 20px">{{ $t("common.passworld") }}</h4>
      <el-form
          :model="codeForm"
          :rules="rules"
          ref="codeForm"
          label-width="100px"
          class="codeForm"
        :model="codeForm"
        :rules="rules"
        ref="codeForm"
        label-width="100px"
        class="codeForm"
      >
        <el-form-item :label="$t('common.passworld')" prop="password">
        <el-form-item
          :label="$t('common.passworld')"
          prop="password"
        >
          <el-input
              type="password"
              v-model="codeForm.password"
              show-password
            type="password"
            v-model="codeForm.password"
            show-password
          ></el-input>
        </el-form-item>
        <el-form-item :label="$t('common.SPassword')" prop="repassword">
        <el-form-item
          :label="$t('common.SPassword')"
          prop="repassword"
        >
          <el-input
              type="password"
              v-model="codeForm.repassword"
              show-password
            type="password"
            v-model="codeForm.repassword"
            show-password
          ></el-input>
        </el-form-item>
        <el-form-item>
          <el-button
              class="primary"
              size="small"
              @click="download('codeForm')"
            class="primary"
            size="small"
            @click="download('codeForm')"
          >{{ $t("common.confirm") }}
          </el-button
          >
          <el-button type="info" size="small" @click="closeDown('codeForm')">{{
          </el-button>
          <el-button
            type="info"
            size="small"
            @click="closeDown('codeForm')"
          >{{
              $t("common.cancel")
            }}
          </el-button>
@@ -565,120 +655,218 @@
      </el-form>
    </div>
    <el-dialog
        :title="fromQueryMeta.title"
        :visible.sync="queryMetaFlag"
        width="70%"
      :title="fromQueryMeta.title"
      :visible.sync="queryMetaFlag"
      width="70%"
    >
      <div style="height: 65vh; width: 100%">
        <el-form :inline="true" :model="fromQueryMeta" class="demo-form-inline">
        <el-form
          :inline="true"
          :model="fromQueryMeta"
          class="demo-form-inline"
        >
          <el-form-item>
            <el-input size="small" v-model="fromQueryMeta.name"></el-input>
            <el-input
              size="small"
              v-model="fromQueryMeta.name"
            ></el-input>
          </el-form-item>
          <el-form-item>
            <el-button type="primary" size="small" @click="setSearchMetaData()"
            <el-button
              type="primary"
              size="small"
              @click="setSearchMetaData()"
            >查询
            </el-button
            >
            <el-button type="info" size="small" @click="setRestMetaData()"
            </el-button>
            <el-button
              type="info"
              size="small"
              @click="setRestMetaData()"
            >重置
            </el-button
            >
            </el-button>
          </el-form-item>
        </el-form>
        <el-table
            ref="filterTable"
            :data="metaDataTable"
            style="width: 100%"
            height="calc(100% - 100px)"
          ref="filterTable"
          :data="metaDataTable"
          style="width: 100%"
          height="calc(100% - 100px)"
        >
          <el-table-column
              align="center"
              type="index"
              :label="$t('common.index')"
              width="70px"
            align="center"
            type="index"
            :label="$t('common.index')"
            width="70px"
          ></el-table-column>
          <el-table-column
              align="center"
              prop="name"
              :label="$t('common.name')"
              width="120"
            align="center"
            prop="name"
            :label="$t('common.name')"
            width="120"
          >
          </el-table-column>
          <el-table-column
              align="center"
              prop="dirName"
              :label="$t('dataManage.dataUpObj.catalogue')"
              width="300"
            align="center"
            prop="dirName"
            :label="$t('dataManage.dataUpObj.catalogue')"
            width="300"
          />
          <el-table-column
              align="center"
              prop="depName"
              :label="$t('dataManage.dataUpObj.company')"
              width="200"
            align="center"
            prop="depName"
            :label="$t('dataManage.dataUpObj.company')"
            width="200"
          />
          <el-table-column
              align="center"
              prop="verName"
              :label="$t('dataManage.dataUpObj.versionNo')"
            align="center"
            prop="verName"
            :label="$t('dataManage.dataUpObj.versionNo')"
          />
          <el-table-column
              align="center"
              prop="type"
              :label="$t('common.type')"
            align="center"
            prop="type"
            :label="$t('common.type')"
          />
          <el-table-column
              align="center"
              prop="sizes"
              :label="$t('common.size')"
              :formatter="changeSizeFile"
            align="center"
            prop="sizes"
            :label="$t('common.size')"
            :formatter="changeSizeFile"
          />
          <el-table-column
              align="center"
              :label="$t('dataManage.dataUpObj.tableName')"
            align="center"
            :label="$t('dataManage.dataUpObj.tableName')"
          >
            <template slot-scope="scope">
              <a class="scopeRowColor" @click="detail(scope.row)">{{
              <a
                class="scopeRowColor"
                @click="detail(scope.row)"
              >{{
                  scope.row.tab
                }}</a>
            </template>
          </el-table-column>
          <el-table-column
              align="center"
              prop="rows"
              :label="$t('common.lineNuber')"
            align="center"
            prop="rows"
            :label="$t('common.lineNuber')"
          />
          <el-table-column
              align="center"
              prop="desc"
              :label="$t('dataManage.dataUpObj.describe')"
            align="center"
            prop="desc"
            :label="$t('dataManage.dataUpObj.describe')"
          />
        </el-table>
        <div class="pagination_box" style="margin-top: 15px">
        <div
          class="pagination_box"
          style="margin-top: 15px"
        >
          <el-pagination
              @size-change="handleMetaSizeChange"
              @current-change="handMetaCurrentChange"
              :current-page="listMetaData.pageIndex"
              :page-sizes="[10, 20, 50, 100]"
              :page-size="listMetaData.pageSize"
              layout="total, sizes, prev, pager, next, jumper"
              :total="listMetaData.count"
            @size-change="handleMetaSizeChange"
            @current-change="handMetaCurrentChange"
            :current-page="listMetaData.pageIndex"
            :page-sizes="[10, 20, 50, 100]"
            :page-size="listMetaData.pageSize"
            layout="total, sizes, prev, pager, next, jumper"
            :total="listMetaData.count"
          >
          </el-pagination>
        </div>
      </div>
    </el-dialog>
    <el-dialog
      :title="fromQueryMeta.title"
      :visible.sync="queryMetaFlag1"
      width="70%"
    >
      <div style="height: 65vh; width: 100%">
        <el-table
          ref="filterTable"
          :data="metaDataTable1"
          style="width: 100%"
          height="100%"
        >
          <el-table-column
            align="center"
            type="index"
            :label="$t('common.index')"
            width="70px"
          ></el-table-column>
          <el-table-column
            align="center"
            prop="name"
            :label="$t('common.name')"
            width="120"
          >
          </el-table-column>
          <el-table-column
            align="center"
            prop="dirName"
            :label="$t('dataManage.dataUpObj.catalogue')"
            width="300"
          />
          <el-table-column
            align="center"
            prop="depName"
            :label="$t('dataManage.dataUpObj.company')"
            width="200"
          />
          <el-table-column
            align="center"
            prop="verName"
            :label="$t('dataManage.dataUpObj.versionNo')"
          />
          <el-table-column
            align="center"
            prop="type"
            :label="$t('common.type')"
          />
          <el-table-column
            align="center"
            prop="sizes"
            :label="$t('common.size')"
            :formatter="changeSizeFile"
          />
          <el-table-column
            align="center"
            :label="$t('dataManage.dataUpObj.tableName')"
          >
            <template slot-scope="scope">
              <a
                class="scopeRowColor"
                @click="detail(scope.row)"
              >{{
                  scope.row.tab
                }}</a>
            </template>
          </el-table-column>
          <el-table-column
            align="center"
            prop="rows"
            :label="$t('common.lineNuber')"
          />
          <el-table-column
            align="center"
            prop="desc"
            :label="$t('dataManage.dataUpObj.describe')"
          />
        </el-table>
      </div>
    </el-dialog>
    <iframe
        id="downFrame"
        src=""
        style="display: none; border: 0; padding: 0; height: 0; width: 0"
      id="downFrame"
      src=""
      style="display: none; border: 0; padding: 0; height: 0; width: 0"
    ></iframe>
  </div>
</template>
<script>
import $ from "jquery";
import {getToken} from "@/utils/auth";
import { getToken } from "@/utils/auth";
import {
  deleteMeta,
  insertMeta,
@@ -693,13 +881,14 @@
  selectdirTab,
  sign_getPublicKey,
  updateMeta,
  meta_selectById
} from "../../api/api";
import MyBread from "../../components/MyBread.vue";
export default {
  name: "metadataManage",
  components: {MyBread},
  components: { MyBread },
  data() {
    var repasswordValidator = (rule, value, callback) => {
      if (value === "") {
@@ -712,7 +901,7 @@
    };
    var passwordValidator = (rule, value, callback) => {
      var passwordreg =
          /^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z\W!@#$%^&*`~()\\-_+=,.?;<>]+$)(?![a-z0-9]+$)(?![a-z\W!@#$%^&*`~()\\-_+=,.?;<>]+$)(?![0-9\W!@#$%^&*`~()\\-_+=,.?;<>]+$)[a-zA-Z0-9\W!@#$%^&*`~()\\-_+=,.?;<>]{12,20}$/;
        /^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z\W!@#$%^&*`~()\\-_+=,.?;<>]+$)(?![a-z0-9]+$)(?![a-z\W!@#$%^&*`~()\\-_+=,.?;<>]+$)(?![0-9\W!@#$%^&*`~()\\-_+=,.?;<>]+$)[a-zA-Z0-9\W!@#$%^&*`~()\\-_+=,.?;<>]{12,20}$/;
      if (!passwordreg.test(value)) {
        callback(new Error("密码必须由数字、字母、特殊字符组合,请输入13-20位"));
      } else {
@@ -753,12 +942,12 @@
      },
      rules: {
        password: [
          {required: true, message: "请输入密码", trigger: "blur"},
          {validator: passwordValidator, trigger: "blur"},
          { required: true, message: "请输入密码", trigger: "blur" },
          { validator: passwordValidator, trigger: "blur" },
        ],
        repassword: [
          {required: true, message: "请输入确认密码", trigger: "blur"},
          {validator: repasswordValidator, trigger: "blur"},
          { required: true, message: "请输入确认密码", trigger: "blur" },
          { validator: repasswordValidator, trigger: "blur" },
        ],
      },
      tableData: [],
@@ -815,6 +1004,8 @@
        name: "",
      },
      metaDataTable: [],
      queryMetaFlag1: false,
      metaDataTable1: [],
    };
  },
  created() {
@@ -866,6 +1057,26 @@
    handMetaCurrentChange(val) {
      this.listMetaData.pageIndex = val;
      this.startQueryMetaData();
    },
    //元数据查询
    async setMetaDataQuery(row) {
      this.fromQueryMeta.title = row.name;
      this.listMetaData = {
        id: row.metaid,
        // name: "",
        // pageIndex: 1,
        // pageSize: 10,
        // count: 0,
      };
      const data = await meta_selectById(this.listMetaData);
      if (data.code != 200) {
        return;
      }
      this.queryMetaFlag1 = true;
      this.metaDataTable1 = [data.result];
      // this.listMetaData.count = data.count;
    },
    //源数据查询
    setQueryMetaData(row) {
@@ -994,7 +1205,7 @@
    },
    async getQueryVerList() {
      const data = await meta_selectVerByDirid({dirid: this.queryForm.dirid});
      const data = await meta_selectVerByDirid({ dirid: this.queryForm.dirid });
      if (data.code != 200) {
        this.$message.error("版本列表获取失败");
        return;
@@ -1066,17 +1277,17 @@
      var mm = time.getMinutes();
      var s = time.getSeconds();
      return (
          y +
          "-" +
          this.add0(m) +
          "-" +
          this.add0(d) +
          " " +
          h +
          ":" +
          mm +
          ":" +
          s
        y +
        "-" +
        this.add0(m) +
        "-" +
        this.add0(d) +
        " " +
        h +
        ":" +
        mm +
        ":" +
        s
      );
    },
    //格式化时间
@@ -1116,8 +1327,8 @@
      let currentPerms = this.$store.state.currentPerms;
      let permsEntity = this.$store.state.permsEntity;
      permsEntity
          .filter((item) => item.perms == currentPerms)
          .map((item) => (this.btnStatus[item.tag.substr(1)] = true));
        .filter((item) => item.perms == currentPerms)
        .map((item) => (this.btnStatus[item.tag.substr(1)] = true));
    },
    // ShowWindowFly(res) {
    //   console.log(res);
@@ -1201,26 +1412,26 @@
        if (valid) {
          this.fullscreenLoading = true;
          insertMeta(this.editForm)
              .then((res) => {
                setTimeout(() => {
                  this.fullscreenLoading = false;
                  if (res.code == 200) {
                    this.listData.pageSize = 10;
                    this.listData.pageIndex = 1;
                    this.getMetaData();
                    this.$message({
                      message: "添加成功",
                      type: "success",
                    });
                    this.editForm = {};
                    this.dialogFormVisible = false;
                  }
                }, 500);
              })
              .catch((res) => {
                alert("修改失败,请重试!");
            .then((res) => {
              setTimeout(() => {
                this.fullscreenLoading = false;
              });
                if (res.code == 200) {
                  this.listData.pageSize = 10;
                  this.listData.pageIndex = 1;
                  this.getMetaData();
                  this.$message({
                    message: "添加成功",
                    type: "success",
                  });
                  this.editForm = {};
                  this.dialogFormVisible = false;
                }
              }, 500);
            })
            .catch((res) => {
              alert("修改失败,请重试!");
              this.fullscreenLoading = false;
            });
        } else {
          console.log("error submit!!");
          return false;
@@ -1238,30 +1449,30 @@
        cancelButtonText: "取消",
        type: "warning",
      })
          .then(() => {
            var std = [];
            for (var i in this.multipleSelection) {
              std.push(this.multipleSelection[i].id);
        .then(() => {
          var std = [];
          for (var i in this.multipleSelection) {
            std.push(this.multipleSelection[i].id);
          }
          deleteMeta({ ids: std.toString() }).then((res) => {
            if (res.code == 200) {
              this.$message({
                type: "success",
                message: "删除成功!",
              });
              this.multipleSelection = [];
              this.listData.pageSize = 10;
              this.listData.pageIndex = 1;
              this.getMetaData();
            } else {
              this.$message.error("删除失败");
              this.multipleSelection = [];
            }
            deleteMeta({ids: std.toString()}).then((res) => {
              if (res.code == 200) {
                this.$message({
                  type: "success",
                  message: "删除成功!",
                });
                this.multipleSelection = [];
                this.listData.pageSize = 10;
                this.listData.pageIndex = 1;
                this.getMetaData();
              } else {
                this.$message.error("删除失败");
                this.multipleSelection = [];
              }
            });
          })
          .catch(() => {
            this.$message("已取消删除");
          });
        })
        .catch(() => {
          this.$message("已取消删除");
        });
    },
    // æŸ¥çœ‹ç•Œé¢
@@ -1290,12 +1501,12 @@
    },
    handleClose(done) {
      this.$confirm("确认关闭?")
          .then((_) => {
            this.editForm = {};
            done();
          })
          .catch((_) => {
          });
        .then((_) => {
          this.editForm = {};
          done();
        })
        .catch((_) => {
        });
    },
    // æäº¤ä¿®æ”¹
@@ -1305,29 +1516,29 @@
        cancelButtonText: "取消",
        type: "warning",
      })
          .then(() => {
            this.dialogFormVisible = false;
            updateMeta(this.editForm).then((res) => {
              setTimeout(() => {
                this.fullscreenLoading = false;
                if (res.code == 200) {
                  this.listData.pageSize = 10;
                  this.listData.pageIndex = 1;
                  this.getMetaData();
                  this.$message({
                    message: "修改成功",
                    type: "success",
                  });
                  this.editForm = {};
                  this.dialogFormVisible = false;
                }
              }, 500);
            });
          })
          .catch(() => {
            alert("修改失败,请重试!");
            this.fullscreenLoading = false;
        .then(() => {
          this.dialogFormVisible = false;
          updateMeta(this.editForm).then((res) => {
            setTimeout(() => {
              this.fullscreenLoading = false;
              if (res.code == 200) {
                this.listData.pageSize = 10;
                this.listData.pageIndex = 1;
                this.getMetaData();
                this.$message({
                  message: "修改成功",
                  type: "success",
                });
                this.editForm = {};
                this.dialogFormVisible = false;
              }
            }, 500);
          });
        })
        .catch(() => {
          alert("修改失败,请重试!");
          this.fullscreenLoading = false;
        });
    },
    cancelEdit() {
      this.$nextTick(() => {
@@ -1362,13 +1573,13 @@
      }
      var token = getToken();
      var url =
          BASE_URL +
          "/meta/downloadFile?token=" +
          token +
          "&guid=" +
          res.result +
          "&pwd=" +
          encodeURIComponent(encrypt.encrypt(this.codeForm.repassword));
        BASE_URL +
        "/meta/downloadFile?token=" +
        token +
        "&guid=" +
        res.result +
        "&pwd=" +
        encodeURIComponent(encrypt.encrypt(this.codeForm.repassword));
      $("#downFrame").attr("src", url).click();
      this.closeDown();
src/views/datamanage/projectController.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,257 @@
<template>
  <div class="contentBox">
    <div
      class="box"
      ref="box"
    >
      <div class="left box_div">
        <el-menu
          :default-active="activeIndex"
          background-color="transparent"
          @select="handleselect"
        >
          <customElMenu :menuData="menuList"></customElMenu>
        </el-menu>
      </div>
      <div
        class="resize"
        title="收缩侧边栏"
      >
        â‹®
      </div>
      <div class="mid box_div">
        <data-updata v-if="setMenuFlag == 'dataUpdata'"></data-updata>
        <catalogue-manage v-if="setMenuFlag == 'catalogueManage'"></catalogue-manage>
        <spatial-data v-if="setMenuFlag == 'SpatialData'"></spatial-data>
        <version-manage v-if="setMenuFlag == 'versionManage'"></version-manage>
        <domain-manage v-if="setMenuFlag == 'domainManage'"></domain-manage>
        <dictionary-manage v-if="setMenuFlag == 'dictionaryManage'"></dictionary-manage>
        <metadata-manage v-if="setMenuFlag == 'metadataManage'"></metadata-manage>
        <style-manage v-if="setMenuFlag == 'styleManage'"></style-manage>
        <data-loader v-if="setMenuFlag == 'dataLoader'"></data-loader>
        <down-loader v-if="setMenuFlag == 'downLoader'"></down-loader>
        <project-manage v-if="setMenuFlag == 'projectManage'"></project-manage>
        <data-statistics v-if="setMenuFlag == 'dataStatistics'"></data-statistics>
      </div>
    </div>
  </div>
</template>
<script>
import { selectMenuRecursive, queryMenuTree, sign_insertOpLog } from '../../api/api';
import customElMenu from '../../components/customElMenu.vue';
import dataUpdata from '@/views/datamanage/dataUpdata.vue'; //数据管理-数据上传
import catalogueManage from '@/views/datamanage/catalogueManage.vue'; //数据管理-目录管理
import SpatialData from '@/views/datamanage/SpatialData.vue'; //数据管理-数据检索
import versionManage from '@/views/datamanage/versionManage.vue'; //数据管理-版本管理
import domainManage from '@/views/datamanage/domainManage.vue'; //数据管理-值域管理
import dictionaryManage from '@/views/datamanage/dictionaryManage.vue'; //数据管理-字典管理
import metadataManage from '@/views/datamanage/metadataManage.vue'; //数据管理-元数据管理
import styleManage from '@/views/datamanage/styleManage.vue'; //数据管理-样式管理
import dataLoader from '@/views/datamanage/dataLoader.vue'; //数据管理-数据入库
import downLoader from '@/views/datamanage/downLoader.vue'; //数据管理-数据下载
import projectManage from '@/views/datamanage/projectManage.vue'; //项目管理
import dataStatistics from '@/views/datamanage/dataStatistics.vue'; //数据统计
export default {
  components: {
    customElMenu,
    dataUpdata,
    catalogueManage,
    SpatialData,
    versionManage,
    domainManage,
    dictionaryManage,
    metadataManage,
    styleManage,
    dataLoader,
    downLoader,
    projectManage,
    dataStatistics,
  },
  data() {
    return {
      setMenuFlag: ' ',
      activeIndex: ' ',
      oriData: [], //原始树数据
      dirData: [], //el树数据
      newData: [], //拖动后数据
      lang: 'zh',
      menuList: [],
      editTitle: '',
      showPopover: false,
      showEditInfoWrapper: false,
      showEdit: false,
      editMenu: false,
      editCatalogue: false,
      editUnit: false,
      itemdetail: {},
      formLabelWidth: '70px',
    };
  },
  created() { },
  mounted() {
    this.getTreeData();
    //左右拖動
    this.dragControllerDiv();
  },
  methods: {
    //左右拖動
    dragControllerDiv: function () {
      var resize = document.getElementsByClassName('resize');
      var left = document.getElementsByClassName('left');
      var mid = document.getElementsByClassName('mid');
      var box = document.getElementsByClassName('box');
      for (let i = 0; i < resize.length; i++) {
        // é¼ æ ‡æŒ‰ä¸‹äº‹ä»¶
        resize[i].onmousedown = function (e) {
          //颜色改变提醒
          resize[i].style.background = '#818181';
          var startX = e.clientX;
          resize[i].left = resize[i].offsetLeft;
          // é¼ æ ‡æ‹–动事件
          document.onmousemove = function (e) {
            var endX = e.clientX;
            var moveLen = resize[i].left + (endX - startX); // ï¼ˆendx-startx)=移动的距离。resize[i].left+移动的距离=左边区域最后的宽度
            var maxT = box[i].clientWidth - resize[i].offsetWidth; // å®¹å™¨å®½åº¦ - å·¦è¾¹åŒºåŸŸçš„宽度 = å³è¾¹åŒºåŸŸçš„宽度
            if (moveLen < 205) moveLen = 205; // å·¦è¾¹åŒºåŸŸçš„æœ€å°å®½åº¦ä¸º32px
            if (moveLen > maxT - 300) moveLen = maxT - 300; //右边区域最小宽度为150px
            resize[i].style.left = moveLen; // è®¾ç½®å·¦ä¾§åŒºåŸŸçš„宽度
            for (let j = 0; j < left.length; j++) {
              left[j].style.width = moveLen + 'px';
              mid[j].style.width = (box[i].clientWidth - moveLen - 10) + 'px';
            }
          };
          // é¼ æ ‡æ¾å¼€äº‹ä»¶
          document.onmouseup = function (evt) {
            //颜色恢复
            resize[i].style.background = '#d6d6d6';
            document.onmousemove = null;
            document.onmouseup = null;
            resize[i].releaseCapture && resize[i].releaseCapture(); //当你不在需要继续获得鼠标消息就要应该调用ReleaseCapture()释放掉
          };
          resize[i].setCapture && resize[i].setCapture(); //该函数在属于当前线程的指定窗口里设置鼠标捕获
          return false;
        };
      }
    },
    //获取树
    async getTreeData() {
      const data = await queryMenuTree();
      let menuLists = data.result.filter((value) => {
        return value.url == '/projectController';
      });
      const res = await selectMenuRecursive({ id: menuLists[0].id });
      if (res.code == 200) {
        if (res.result.length != 0) {
          let menuList = res.result.filter((value) => {
            return value.type == 1;
          });
          this.menuList = this.treeData(menuList);
          this.m1 = this.menuList[0].cnName;
          this.setViewController(this.menuList[0]);
          const hanleselectindex = sessionStorage.getItem('hanleselectindex')
          if (hanleselectindex) {
            this.$nextTick(function () {
              this.handleselecttwo(JSON.parse(hanleselectindex).url, JSON.parse(hanleselectindex))
              this.setViewController(JSON.parse(hanleselectindex))
            })
          }
        } else {
          this.$message.error('暂无菜单栏数据');
        }
      } else {
        this.$message.error('接口报错');
      }
      // this.treeList = this.treeData(data.result);
    },
    setViewController(res) {
      if (res.children != null) {
        this.setViewController(res.children[0]);
      } else {
        this.signInsertOpLog(this.m1, res.cnName)
        this.$store.state.currentPerms = res.perms;
        this.setMenuFlag = res.url;
        this.activeIndex = res.url;
      }
    },
    async signInsertOpLog(m1, m2) {
      var obj = {
        m1: m1,
        m2: m2,
      }
      const data = await sign_insertOpLog(obj);
    },
    treeData(source) {
      let cloneData = JSON.parse(JSON.stringify(source)); // å¯¹æºæ•°æ®æ·±åº¦å…‹éš†
      // console.log(cloneData);
      if (cloneData.length != 0) {
        return cloneData.filter((father) => {
          // å¾ªçŽ¯æ‰€æœ‰é¡¹
          let branchArr = cloneData.filter((child) => father.id == child.pid); // å¯¹æ¯”ID,分别上下级菜单,并返回数据
          branchArr.length > 0 ? (father.children = branchArr) : ''; // ç»™çˆ¶çº§æ·»åŠ ä¸€ä¸ªchildren属性,并赋值
          // å±žäºŽåŒä¸€å¯¹è±¡é—®é¢˜ï¼Œä¾‹å¦‚:令 a=b、c=1 ï¼Œç„¶åŽå†ä»¤ b.c=c ï¼Œ é‚£ä¹ˆ a.c=b.c=c=1 ï¼›åŒç†ï¼ŒåŽç»­ä»¤ c.d=2 ,那么 a.c.d ä¹Ÿæ˜¯=2;
          // ç”±æ­¤å¾ªçŽ¯å¤šæ¬¡åŽï¼Œå°±èƒ½å½¢æˆç›¸åº”çš„æ ‘å½¢æ•°æ®ç»“æž„
          return father.pid == 85; // è¿”回一级菜单
        });
      } else {
        this.$message.error('暂无菜单栏数据');
      }
    },
    handleselect(index, indexPath, e) {
      const a = JSON.stringify(e.$attrs.perms)
      this.signInsertOpLog(this.m1, e.$attrs.perms.cnName)
      sessionStorage.setItem('hanleselectindex', a)
      var data = e.$attrs.perms;
      this.$store.state.currentPerms = data.perms;
      var index = data.url;
      if (index != null) {
        if (index.indexOf('http') != -1) {
          this.$store.commit('getIframe', data.url);
          index = 'dataIfream';
        }
      }
      this.setMenuFlag = index;
    },
    handleselecttwo(index, e) {
      const a = JSON.stringify(e)
      sessionStorage.setItem('hanleselectindex', a)
      var data = e;
      this.$store.state.currentPerms = data.perms;
      var index = data.url;
      if (index != null) {
        if (index.indexOf('http') != -1) {
          this.$store.commit('getIframe', data.url);
          index = 'dataIfream';
        }
      }
      this.setMenuFlag = index;
    },
  },
};
</script>
src/views/datamanage/projectManage.vue
@@ -1,14 +1,30 @@
<template>
  <div class="verSionBox">
    <My-bread
      :list="[
    <My-bread :list="[
        `${$t('dataManage.dataManage')}`,
        `${$t('dataManage.projectManage')}`,
      ]"
    ></My-bread>
      ]"></My-bread>
    <el-divider />
    <div class="verSionContent">
      <div class="verSion_leftTree subpage_Div" style="border: 1px solid #dcdfe6;">
      <div
        class="verSion_leftTree subpage_Div"
        style="border: 1px solid #dcdfe6;"
      >
        <el-form
          :inline="true"
          class="demo-form-inline"
        >
          <el-form-item style="padding-bottom: 14px">
            <el-button
              v-if="btnStatus.insert"
              icon="el-icon-plus"
              @click="insertProject"
              :disabled="count1 != 0 ? true : false"
              type="success"
              size="small"
            >{{ $t("common.append") }}</el-button>
          </el-form-item>
        </el-form>
        <el-tree
          ref="tree"
          :props="defaultProps"
@@ -22,22 +38,13 @@
        </el-tree>
      </div>
      <div class="verSion_rightContent subpage_Div">
        <el-form :inline="true" class="demo-form-inline">
          <el-form-item  style="padding-bottom: 14px">
            <el-button
              v-if="btnStatus.insert"
              icon="el-icon-plus"
              @click="insertProject"
              :disabled="count1 != 0 ? true : false"
              type="success"
              size="small"
              >{{ $t("common.append") }}</el-button
            >
          </el-form-item>
        </el-form>
        <!--
        <!-- <el-divider class="eldivider" /> -->
        <div class="dividing-line"></div>
        <div class="table_box" style="height: calc(100% - 89px)">
        <!-- <div class="dividing-line"></div> -->
        <div
          class="table_box"
          style="height:100%"
        >
          <el-table
            ref="filterTable"
            :data="dbTableData"
@@ -63,7 +70,7 @@
            />
            <el-table-column
                min-width="120"
              min-width="120"
              prop="corpname"
              :label="$t('dataManage.projectObj.corpname')"
            />
@@ -99,7 +106,10 @@
              prop="remarks"
              :label="$t('dataManage.projectObj.remarks')"
            />
            <el-table-column label="操作" width="200">
            <el-table-column
              label="操作"
              width="200"
            >
              <template slot-scope="scope">
                <el-button
                  v-if="btnStatus.delete"
@@ -107,16 +117,14 @@
                  size="small"
                  plain
                  type="danger"
                  >{{ $t("common.delete") }}</el-button
                >
                >{{ $t("common.delete") }}</el-button>
                <el-button
                  v-if="btnStatus.update"
                  @click="EditProject(scope.row)"
                  type="warning"
                  plain
                  size="small"
                  >{{ $t("common.update") }}</el-button
                >
                >{{ $t("common.update") }}</el-button>
              </template>
            </el-table-column>
          </el-table>
@@ -153,10 +161,16 @@
          label-position="top"
        >
          <el-form-item :label="$t('dataManage.projectObj.projname')">
            <el-input v-model="editFrom.projname" style="width: 85%"></el-input>
            <el-input
              v-model="editFrom.projname"
              style="width: 85%"
            ></el-input>
          </el-form-item>
          <el-form-item :label="$t('dataManage.projectObj.projtype')">
            <el-input v-model="editFrom.projtype" style="width: 85%"></el-input>
            <el-input
              v-model="editFrom.projtype"
              style="width: 85%"
            ></el-input>
          </el-form-item>
          <el-form-item :label="$t('dataManage.projectObj.location')">
            <div class="BoxFlex">
@@ -181,16 +195,28 @@
          </el-form-item>
          <el-form-item :label="$t('dataManage.projectObj.country')">
            <el-input v-model="editFrom.country" style="width: 85%"></el-input>
            <el-input
              v-model="editFrom.country"
              style="width: 85%"
            ></el-input>
          </el-form-item>
          <el-form-item :label="$t('dataManage.projectObj.province')">
            <el-input v-model="editFrom.province" style="width: 85%"></el-input>
            <el-input
              v-model="editFrom.province"
              style="width: 85%"
            ></el-input>
          </el-form-item>
          <el-form-item :label="$t('dataManage.projectObj.county')">
            <el-input v-model="editFrom.location" style="width: 85%"></el-input>
            <el-input
              v-model="editFrom.location"
              style="width: 85%"
            ></el-input>
          </el-form-item>
          <el-form-item :label="$t('dataManage.projectObj.corpname')">
            <el-input v-model="editFrom.corpname" style="width: 85%"></el-input>
            <el-input
              v-model="editFrom.corpname"
              style="width: 85%"
            ></el-input>
          </el-form-item>
          <el-form-item :label="$t('dataManage.projectObj.department')">
            <el-input
@@ -205,7 +231,10 @@
            ></el-input>
          </el-form-item>
          <el-form-item :label="$t('dataManage.projectObj.contents')">
            <el-input v-model="editFrom.contents" style="width: 85%"></el-input>
            <el-input
              v-model="editFrom.contents"
              style="width: 85%"
            ></el-input>
          </el-form-item>
          <el-form-item :label="$t('dataManage.projectObj.projstate')">
            <el-input
@@ -214,19 +243,28 @@
            ></el-input>
          </el-form-item>
          <el-form-item :label="$t('dataManage.projectObj.remarks')">
            <el-input v-model="editFrom.remarks" style="width: 85%"></el-input>
            <el-input
              v-model="editFrom.remarks"
              style="width: 85%"
            ></el-input>
          </el-form-item>
        </el-form>
      </div>
      <div slot="footer" class="dialog-footer">
      <div
        slot="footer"
        class="dialog-footer"
      >
        <el-button
          type="info"
          size="small"
          :disabled="behavior != '新增项目' ? true : false"
          @click="setRestEditFrom"
          >{{ $t("common.reset") }}</el-button
        >
        <el-button size="small" type="primary" @click="insertEditFrom">{{
        >{{ $t("common.reset") }}</el-button>
        <el-button
          size="small"
          type="primary"
          @click="insertEditFrom"
        >{{
          $t("common.confirm")
        }}</el-button>
      </div>
@@ -308,7 +346,7 @@
          this.getSelectProject();
          done();
        })
        .catch((_) => {});
        .catch((_) => { });
    },
    async innerClose() {
      this.showMap = false;
src/views/maintenance/mochaitmo.vue
@@ -42,6 +42,7 @@
        <parameter-configuration v-if="setMenuFlag == 'parameterConfiguration'"></parameter-configuration>
        <downlog v-if="setMenuFlag == 'downlog'"></downlog>
        <template-manage v-if="setMenuFlag == 'templateManage'"></template-manage>
        <data-statistics v-if="setMenuFlag == 'dataStatistics'"></data-statistics>
      </div>
    </div>
@@ -72,6 +73,7 @@
import templateManage from '@/views/userManage/templateManage.vue'//模板管理
import { selectMenuRecursive, queryMenuTree, getPerms, sign_insertOpLog } from '../../api/api';
import customElMenu from '../../components/customElMenu.vue';
import dataStatistics from '@/views/datamanage/dataStatistics.vue'; //数据统计
export default {
  components: {
@@ -96,7 +98,7 @@
    customElMenu,
    downlog,
    templateManage,
    dataStatistics
  },
  data() {
    return {
@@ -208,9 +210,9 @@
          let menuList = res.result.filter((value) => {
            return value.type == 1;
          })
          .filter(value => {
            return value.isShow == 1;
          });
            .filter(value => {
              return value.isShow == 1;
            });
          this.menuList = this.treeData(menuList);
          this.getCookies();
          const hanleselectmochaitmo = sessionStorage.getItem('hanleselectmochaitmo')
@@ -275,7 +277,7 @@
    handleselect(index, indexPath, e) {
      this.getTimeCookies();
      this.signInsertOpLog(this.m1, e.$attrs.perms.cnName)
      const a = JSON.stringify(e.$attrs.perms)
      sessionStorage.setItem('hanleselectmochaitmo', a)