管道基础大数据平台系统开发-【前端】-新系統界面
13693261870
2024-02-04 d91f0dfcd2ef95fb3624d94ade24fe69a9169a58
Merge branch 'master' of http://192.168.20.92:8888/r/P2022036_Web2
已添加2个文件
已修改10个文件
3941 ■■■■■ 文件已修改
public/config/config.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/MapDiv.vue 31 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/mapol.vue 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/mapsdk.vue 700 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/preview_map.vue 439 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/store/index.js 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/Tools/AddOnlineMap.vue 230 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/Tools/AddOnlineOLMap.vue 221 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/Tools/layer.js 92 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/datamanage/dataUpdata.vue 1371 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/datamanage/uploadmanage.vue 25 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/userManage/roleManage.vue 823 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
public/config/config.js
@@ -36,7 +36,7 @@
  // Sdk许可
  licenseServer: 'http://' + iisHost + '/LFServer',
  // MPT名称
  mptName: "china_5m.Ei.397334",
  mptName: "china_5m.Ei.402586",
  // SG地址
  SGUrl: "http://" + iisHost + "/SG/Elevation",
  // Fly地址
src/components/MapDiv.vue
@@ -24,6 +24,7 @@
      <mapol></mapol>
    </div>
    <add-online-map ref="addOnlineMap" />
    <add-online-ol-map ref="addOnlineOlMap"></add-online-ol-map>
  </div>
</template>
@@ -35,13 +36,15 @@
import ol from "ol"
import $ from "jquery"
import AddOnlineMap from '../views/Tools/AddOnlineMap.vue'
import AddOnlineOlMap from '../views/Tools/AddOnlineOLMap.vue'
export default {
  name: "",
  components: {
    mapsdk,
    mapol,
    AddOnlineMap
    AddOnlineMap,
    AddOnlineOlMap
  },
  data() {
    return {
@@ -62,6 +65,7 @@
    changeMap(res) {
      this.isSplitFlag = res
      this.getMapViewCenter(this.isSplitFlag);
      switch (res) {
        case 1:
          this.isShowCeMap = true
@@ -70,8 +74,9 @@
          this.isShowOlMap = true
          this.isSdkMapFlag = true
          var that = this
          this.$store.state.setChangeBaseMap = false;
          setTimeout(function () {
            window.map.updateSize()
            that.showSplitMap()
          }, 500)
@@ -96,6 +101,7 @@
          this.isOlMapFlag = false
          this.isShowCeMap = false
          var val = this.$store.state.Map3;
          this.$store.state.setChangeBaseMap = true;
          window.Viewer.camera.setView({
            destination: Cesium.Cartesian3.fromDegrees(val[0], val[1], val[2]),
          })
@@ -227,13 +233,22 @@
      }
      return this.levelArray[this.levelArray.length - 1]
    },
    showBaseMapLayer() {
      this.$refs && this.$refs.addOnlineMap && this.$refs.addOnlineMap.open("在线地图", null);
    }
    showBaseMapLayer(res) {
      this.closeAllBaseMapLayer();
      if(res.type == 'ol'){
        this.$refs && this.$refs.addOnlineOlMap && this.$refs.addOnlineOlMap.open("2D在线地图", null);
      }else{
        this.$refs && this.$refs.addOnlineMap && this.$refs.addOnlineMap.open("3D在线地图", null);
      }
    },
    closeAllBaseMapLayer(){
      this.$refs && this.$refs.addOnlineOlMap && this.$refs.addOnlineOlMap.close();
      this.$refs && this.$refs.addOnlineMap && this.$refs.addOnlineMap.close();
    },
  },
  mounted() {
    this.$bus.$on("setChangeBaseMapLayer", (res) => {
      this.showBaseMapLayer()
      this.showBaseMapLayer(res)
    })
@@ -269,7 +284,7 @@
  width: 100%;
}
.sdkMapTwo {
  width: calc(50% - 1px);
  width: calc(50% - 2px);
}
.olMap {
  height: 100%;
@@ -281,7 +296,7 @@
  width: 100%;
}
.olMapTwo {
  width: calc(50% - 1px);
  width: calc(50% - 2px);
}
#ds {
  height: 100%;
src/components/mapol.vue
@@ -26,7 +26,9 @@
      <div
        @click="changeMapType"
        class="changeMapType"
        v-if="$store.state.setChangeBaseMap"
        style="  position: absolute;
  bottom: 52px;
  right: 46px;
  height: 30px;
@@ -203,7 +205,7 @@
    },
    changeMenulayer() {
      this.$bus.$emit("setChangeBaseMapLayer", true)
      this.$bus.$emit("setChangeBaseMapLayer", {type:'ol',boolen:true})
      // this.isActive = !this.isActive
      // this.isMenuLayer = !this.isMenuLayer
      // this.setLayerVisible()
src/components/mapsdk.vue
@@ -1,212 +1,107 @@
<template>
  <div class="mapBox">
    <div id="mapdiv">
      <div
        class="menu_Top box_divm"
        v-if="$store.state.mapMenuBoolean"
      >
      <div class="menu_Top box_divm" v-if="$store.state.mapMenuBoolean">
        <map-menu-top v-if="$store.state.mapMenuBoxFlag == '1'" />
        <map-space-top v-if="$store.state.mapMenuBoxFlag == '2'" />
      </div>
      <div
        class="bufferBox"
        v-if="showBufferBoxDialog"
      >
      <div class="bufferBox" v-if="showBufferBoxDialog">
        <el-card class="box-card box_divm">
          <div
            slot="header"
            class="clearfix"
          >
          <div slot="header" class="clearfix">
            <span>缓冲区分析</span>
            <div style="float: right; cursor: pointer">
              <i
                class="el-icon-close"
                @click="closeBufferBox(1)"
              ></i>
              <i class="el-icon-close" @click="closeBufferBox(1)"></i>
            </div>
          </div>
          <div class="box-body">
            <el-form
              ref="form"
              :model="bufFrom"
              label-width="100px"
            >
            <el-form ref="form" :model="bufFrom" label-width="100px">
              <el-form-item label="缓冲半径(ç±³):">
                <el-input v-model="bufFrom.val"></el-input>
              </el-form-item>
              <el-form-item>
                <el-button
                  @click="addBuffer(1)"
                  type="info"
                >点</el-button>
                <el-button
                  @click="addBuffer(2)"
                  type="info"
                >线</el-button>
                <el-button
                  @click="addBuffer(3)"
                  type="info"
                >面</el-button>
                <el-button
                  @click="clearBuffer"
                  type="info"
                >清除</el-button>
                <el-button @click="addBuffer(1)" type="info">点</el-button>
                <el-button @click="addBuffer(2)" type="info">线</el-button>
                <el-button @click="addBuffer(3)" type="info">面</el-button>
                <el-button @click="clearBuffer" type="info">清除</el-button>
              </el-form-item>
            </el-form>
          </div>
        </el-card>
      </div>
      <!--坐标点位-->
      <div
        class="coordLocalBox"
        v-if="showCoordLocalBoxDialog"
      >
      <div class="coordLocalBox" v-if="showCoordLocalBoxDialog">
        <el-card class="box-card">
          <div slot="header">
            <span>坐标定位</span>
            <div style="float: right; cursor: pointer">
              <i
                class="el-icon-close"
                @click="closeBufferBox(2)"
              ></i>
              <i class="el-icon-close" @click="closeBufferBox(2)"></i>
            </div>
          </div>
          <div class="box-body">
            <el-form
              ref="form"
              :model="coordFrom"
              label-width="70px"
            >
            <el-form ref="form" :model="coordFrom" label-width="70px">
              <el-form-item label="经度:">
                <el-input
                  v-model="coordFrom.lon"
                  placeholder="请输入经度"
                ></el-input>
                <el-input v-model="coordFrom.lon" placeholder="请输入经度"></el-input>
              </el-form-item>
              <el-form-item label="纬度:">
                <el-input
                  v-model="coordFrom.lat"
                  placeholder="请输入维度"
                ></el-input>
                <el-input v-model="coordFrom.lat" placeholder="请输入维度"></el-input>
              </el-form-item>
              <el-form-item label="高度:">
                <el-input
                  v-model="coordFrom.height"
                  placeholder="请输入高度"
                ></el-input>
                <el-input v-model="coordFrom.height" placeholder="请输入高度"></el-input>
              </el-form-item>
              <el-form-item>
                <el-button
                  @click="setCoordLocal"
                  type="info"
                >定位</el-button>
                <el-button @click="setCoordLocal" type="info">定位</el-button>
              </el-form-item>
            </el-form>
          </div>
        </el-card>
      </div>
      <!--地形平整-->
      <div
        class="terrainLevelBox"
        v-if="showTerrainLevelDialog"
      >
      <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>
              <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 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-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"
      >
      <div class="toponymicLocalBox" v-if="showToponymicLocalBoxDialog">
        <el-card class="box-card">
          <div
            slot="header"
            class="clearfix"
          >
          <div slot="header" class="clearfix">
            <span>地名定位</span>
            <div style="float: right; cursor: pointer">
              <i
                class="el-icon-close"
                @click="closeBufferBox(3)"
              ></i>
              <i class="el-icon-close" @click="closeBufferBox(3)"></i>
            </div>
          </div>
          <div class="box-body">
            <el-form
              :model="comprehensive"
              :inline="true"
            >
            <el-form :model="comprehensive" :inline="true">
              <el-form-item label="地名:">
                <el-input
                  size="small"
                  style="width: 160px"
                  v-model="comprehensive.name"
                  placeholder="请输入地名...."
                ></el-input>
                <el-input size="small" style="width: 160px" v-model="comprehensive.name"
                  placeholder="请输入地名...."></el-input>
              </el-form-item>
              <el-form-item>
                <el-button
                  @click="setQueryTable"
                  type="info"
                  size="small"
                >查询</el-button>
                <el-button @click="setQueryTable" type="info" size="small">查询</el-button>
              </el-form-item>
            </el-form>
            <el-table
              :data="tableData"
              height="200px"
              border
              style="width: 100%"
            >
              <el-table-column
                align="center"
                type="index"
                label="序号"
                width="70"
              />
              <el-table-column
                prop="name"
                align="center"
                label="地名"
              >
            <el-table :data="tableData" height="200px" border style="width: 100%">
              <el-table-column align="center" type="index" label="序号" width="70" />
              <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>
                  <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-->
@@ -230,88 +125,44 @@
              <!--              </el-table-column>-->
            </el-table>
            <div class="pagination_box">
              <el-pagination
                @size-change="handleSizeChange"
                @current-change="handleCurrentChange"
                :current-page="listData.pageIndex"
                :page-sizes="[10, 20, 50, 100]"
                :pager-count="3"
                :page-size="listData.pageSize"
                layout="total, prev, pager, next"
                :total="count"
              >
              <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
                :current-page="listData.pageIndex" :page-sizes="[10, 20, 50, 100]" :pager-count="3"
                :page-size="listData.pageSize" layout="total, prev, pager, next" :total="count">
              </el-pagination>
            </div>
          </div>
        </el-card>
      </div>
      <!-- è·¯å¾„分析弹窗-->
      <div
        class="pathAnalysisBox"
        v-if="showPathAnalysisBoxDialog"
      >
      <div class="pathAnalysisBox" v-if="showPathAnalysisBoxDialog">
        <el-card class="box-card">
          <div
            slot="header"
            class="clearfix"
          >
          <div slot="header" class="clearfix">
            <span>路径分析</span>
            <div style="float: right; cursor: pointer">
              <i
                class="el-icon-close"
                @click="closeBufferBox(4)"
              ></i>
              <i class="el-icon-close" @click="closeBufferBox(4)"></i>
            </div>
          </div>
          <div class="box-body">
            <el-form
              ref="form"
              :model="pathFrom"
              :rules="rules"
              label-width="55px"
            >
              <el-form-item
                label="起点:"
                prop="lon"
              >
                <el-input
                  style="width: 250px"
                  v-model="pathFrom.lon"
                  placeholder="坐标格式:116.799,39.979"
                ></el-input>
                <el-link
                  :underline="false"
                  @click="showMouseLeftClick(1)"
                  style="margin-left: 10px"
                ><i class="el-icon-plus"></i></el-link>
            <el-form ref="form" :model="pathFrom" :rules="rules" label-width="55px">
              <el-form-item label="起点:" prop="lon">
                <el-input style="width: 250px" v-model="pathFrom.lon" placeholder="坐标格式:116.799,39.979"></el-input>
                <el-link :underline="false" @click="showMouseLeftClick(1)" style="margin-left: 10px"><i
                    class="el-icon-plus"></i></el-link>
              </el-form-item>
              <el-form-item
                label="终点:"
                prop="lat"
              >
                <el-input
                  style="width: 250px"
                  v-model="pathFrom.lat"
                  placeholder="坐标格式:116.824,39.938"
                ></el-input>
                <el-link
                  :underline="false"
                  @click="showMouseLeftClick(2)"
                  style="margin-left: 10px"
                ><i class="el-icon-plus"></i></el-link>
              <el-form-item label="终点:" prop="lat">
                <el-input style="width: 250px" v-model="pathFrom.lat" placeholder="坐标格式:116.824,39.938"></el-input>
                <el-link :underline="false" @click="showMouseLeftClick(2)" style="margin-left: 10px"><i
                    class="el-icon-plus"></i></el-link>
              </el-form-item>
              <el-form-item>
                <el-button
                  @click="showMouseLeftClick(3)"
                  type="info"
                >查询</el-button>
                <el-button @click="showMouseLeftClick(3)" type="info">查询</el-button>
              </el-form-item>
            </el-form>
          </div>
        </el-card>
      </div>
      <!--      <div style="display: flex;">-->
      <div
      <!-- <div
        class="changeTerrain"
        @click="changeTerrainLayer"
        style="  position: absolute;
@@ -331,12 +182,9 @@
          id="cenBg"
          class="mapTerrain"
        ></div>
      </div>
      </div> -->
      <!--      class="center CenDiv"-->
      <div
        @click="changeMenulayer"
        class="changeLayer"
        style="  position: absolute;
      <div @click="changeMenulayer" class="changeLayer" style="  position: absolute;
  bottom: 116px;
  right: 46px;
  height: 30px;
@@ -346,20 +194,12 @@
  justify-content: center;
  align-items: center;
  cursor: pointer;
  border: 1px solid rgba(255, 255, 255, 0.5);"
      >
        <div
          title="底图切换"
          id="cenBg"
          class="mapBaseMap"
        ></div>
  border: 1px solid rgba(255, 255, 255, 0.5);">
        <div title="底图切换" id="cenBg" class="mapBaseMap"></div>
      </div>
      <div
        @click="changeMapType"
        class="changeMapType"
        style="  position: absolute;
  bottom: 52px;
      <div @click="changeMapType" class="changeMapType" v-if="$store.state.setChangeBaseMap" style="  position: absolute;
  bottom: 85px;
  right: 46px;
  height: 30px;
  width: 30px;
@@ -368,27 +208,16 @@
  justify-content: center;
  align-items: center;
  cursor: pointer;
  border: 1px solid rgba(255, 255, 255, 0.5);"
      >
        <div
          title="2/3维切换"
          id="cenBg"
          :class="show2DMap ? 'mapTypeTwo' : 'mapTypeThree'"
        ></div>
  border: 1px solid rgba(255, 255, 255, 0.5);">
        <div title="2/3维切换" id="cenBg" :class="show2DMap ? 'mapTypeTwo' : 'mapTypeThree'"></div>
      </div>
      <!--      </div>-->
      <!-- å¡åº¦åˆ†æžå¼¹çª—-->
      <div
        class="lengend"
        v-show="showLengendDialog"
      >
      <div class="lengend" v-show="showLengendDialog">
        <el-card class="box-card">
          <div class="lengendBox">
            <div>
              <img
                class="lengendImg"
                src="../assets/img/colors.png"
              />
              <img class="lengendImg" src="../assets/img/colors.png" />
            </div>
            <div class="lengendSpan">
              <div>0°</div>
@@ -400,10 +229,7 @@
          </div>
        </el-card>
      </div>
      <div
        class="HistLeng"
        v-show="$store.state.histLenged"
      >
      <div class="HistLeng" v-show="$store.state.histLenged">
        <el-card class="box-card">
          <table>
            <tr>
@@ -473,104 +299,51 @@
        </el-card>
      </div>
      <!--属性信息弹窗-->
      <div
        class="propertiesPop"
        v-if="$store.state.propertiesFlag == '1'"
        v-drag
      >
      <div class="propertiesPop" v-if="$store.state.propertiesFlag == '1'" v-drag>
        <el-card class="box-card">
          <div slot="header">
            <span>属性信息</span>
            <div style="float: right; cursor: pointer">
              <el-link
                v-if="$store.state.surfaceDeForm.flag && this.$store.state.surfaceDeForm.gid"
                type="primary"
                :underline="false"
                @click="setSurfaceDeForm"
                style="margin-right: 10px"
              >地表形变时序图</el-link>
              <el-link
                v-if="$store.state.propertiesName.enName == 's_surveyworksite'"
                type="primary"
                :underline="false"
                @click="getPointInfo"
                style="margin-right: 10px"
              >勘察信息表</el-link>
              <el-link
                type="primary"
                :underline="false"
                @click="getAttatchList"
                style="margin-right: 10px"
              >查看附件</el-link>
              <i
                class="el-icon-close"
                @click="closeBufferBox(6)"
              ></i>
              <el-link v-if="$store.state.surfaceDeForm.flag && this.$store.state.surfaceDeForm.gid" type="primary"
                :underline="false" @click="setSurfaceDeForm" style="margin-right: 10px">地表形变时序图</el-link>
              <el-link v-if="$store.state.propertiesName.enName == 's_surveyworksite'" type="primary" :underline="false"
                @click="getPointInfo" style="margin-right: 10px">勘察信息表</el-link>
              <el-link type="primary" :underline="false" @click="getAttatchList" style="margin-right: 10px">查看附件</el-link>
              <i class="el-icon-close" @click="closeBufferBox(6)"></i>
            </div>
          </div>
          <div
            class="pointInfoBoxContext"
            style="height:250px;overflow-y: auto"
          >
            <div
              style="line-height: 20px"
              v-for="(value, key) in $store.state.propertiesInfo"
              :key="key"
            >
              <span
                v-if="key != 'eventid'"
                style="font-size: 14px;font-weight: bold;margin-right: 5px"
              >{{key}}:</span>
              <span v-if="key != 'eventid'">{{value}}</span>
          <div class="pointInfoBoxContext" style="height:250px;overflow-y: auto">
            <div style="line-height: 20px" v-for="(value, key) in $store.state.propertiesInfo" :key="key">
              <span v-if="key != 'eventid'" style="font-size: 14px;font-weight: bold;margin-right: 5px">{{ key }}:</span>
              <span v-if="key != 'eventid'">{{ value }}</span>
            </div>
          </div>
        </el-card>
      </div>
      <!--勘察信息弹窗-->
      <div
        v-drag
        class="attributionPop"
        v-if="showAttribute"
      >
      <div v-drag class="attributionPop" v-if="showAttribute">
        <el-card class="box-card">
          <div slot="header">
            <span>勘察信息</span>
            <div style="float: right; cursor: pointer">
              <i
                class="el-icon-close"
                @click="showAttribute=false"
              ></i>
              <i class="el-icon-close" @click="showAttribute = false"></i>
            </div>
          </div>
          <div
            class="pointInfoBoxContext"
            style="height:250px;overflow-y: auto"
          >
            <div
              style="line-height: 20px"
              v-for="(item, index) in attributeList"
              :key="index"
            >
              <span style="font-size: 14px;font-weight: bold;margin-right: 5px">{{item.alias}}:</span>
              <span>{{item.value ? item.value :'暂无数据'}}</span>
          <div class="pointInfoBoxContext" style="height:250px;overflow-y: auto">
            <div style="line-height: 20px" v-for="(item, index) in attributeList" :key="index">
              <span style="font-size: 14px;font-weight: bold;margin-right: 5px">{{ item.alias }}:</span>
              <span>{{ item.value ? item.value : '暂无数据' }}</span>
            </div>
          </div>
        </el-card>
      </div>
      <div
        class="propertiesPop"
        style="right:22%"
        v-if="$store.state.propertiesFlag == '2'"
      >
      <div class="propertiesPop" style="right:22%" v-if="$store.state.propertiesFlag == '2'">
        <el-card class="box-card">
          <div slot="header">
            <span>{{ $store.state.propertiesInfo.title }}</span>
          </div>
          <div
            class="pointInfoBoxContext"
            style="height:250px;overflow-y: auto"
          >
          <div class="pointInfoBoxContext" style="height:250px;overflow-y: auto">
            <div style="line-height: 20px">岩土名称: {{ $store.state.propertiesInfo.name }}</div>
            <div style="line-height: 20px">岩土类型: {{ $store.state.propertiesInfo.type }}</div>
            <div style="line-height: 20px">层底深度: {{ $store.state.propertiesInfo.botdepth }} ç±³</div>
@@ -580,225 +353,96 @@
        </el-card>
      </div>
      <!--三维截面分析弹窗-->
      <div
        class="modelClipPop"
        v-if="$store.state.propertiesFlag == '3'"
      >
      <div class="modelClipPop" v-if="$store.state.propertiesFlag == '3'">
        <div class="slide-bg">
          <el-slider
            class="slide"
            @change="valveChange()"
            :min="-300"
            :max="300"
            v-model="valueX"
          ></el-slider>
          <el-slider class="slide" @change="valveChange()" :min="-300" :max="300" v-model="valueX"></el-slider>
          <span>左右截面</span>
        </div>SpatialQuery
        <div class="slide-bg">
          <el-slider
            class="slide"
            @change="valveChange()"
            :min="-300"
            :max="300"
            v-model="valueY"
          ></el-slider>
          <el-slider class="slide" @change="valveChange()" :min="-300" :max="300" v-model="valueY"></el-slider>
          <span>前后截面</span>
        </div>
        <div class="slide-bg">
          <el-slider
            class="slide"
            @change="valveChange()"
            :min="-300"
            :max="300"
            v-model="valueZ"
          ></el-slider>
          <el-slider class="slide" @change="valveChange()" :min="-300" :max="300" v-model="valueZ"></el-slider>
          <span>上下截面</span>
        </div>
      </div>
      <!-- åœ°è¡¨å½¢å˜æ—¶åºå›¾ -->
      <div
        class="surfaceDeFormPop"
        style="    width: 800px;
      height: 800px;"
        v-show="surfaceDeFormFlag"
        v-drag
      >
      <div class="surfaceDeFormPop" style="    width: 800px;
      height: 800px;" v-show="surfaceDeFormFlag" v-drag>
        <el-card class="box-card">
          <div slot="header">
            <span>地表形变时序图</span>
            <div style="float: right; cursor: pointer">
              <i
                class="el-icon-close"
                @click="closeBufferBox(7)"
              ></i>
              <i class="el-icon-close" @click="closeBufferBox(7)"></i>
            </div>
          </div>
          <div
            id="surfaceDeFormEchart"
            class="pointInfoBoxContext"
            style="height:500px;width:750px;"
          >
          <div id="surfaceDeFormEchart" class="pointInfoBoxContext" style="height:500px;width:750px;">
          </div>
        </el-card>
      </div>
      <!--附件列表弹窗-->
      <el-dialog
        title="附件列表"
        :append-to-body="false"
        :visible.sync="showAttach"
        width="35%"
        :close-on-click-modal="false"
      >
      <el-dialog title="附件列表" :append-to-body="false" :visible.sync="showAttach" width="35%"
        :close-on-click-modal="false">
        <div>
          <el-table
            :data="attachList"
            height="100%"
            style="width: 100%"
            border
          >
            <el-table-column
              align="center"
              type="index"
              label="序号"
              width="50"
            />
            <el-table-column
              prop="name"
              label="名称"
            >
          <el-table :data="attachList" height="100%" style="width: 100%" border>
            <el-table-column align="center" type="index" label="序号" width="50" />
            <el-table-column prop="name" label="名称">
            </el-table-column>
            <el-table-column
              label="时间"
              width="180"
            >
            <el-table-column label="时间" width="180">
              <template slot-scope="scope">
                <span>{{format(scope.row.createTime)}}</span>
                <span>{{ format(scope.row.createTime) }}</span>
              </template>
            </el-table-column>
            <el-table-column
              label="操作"
              width="100"
            >
            <el-table-column label="操作" width="100">
              <template slot-scope="scope">
                <el-button
                  v-if="showAttachDetailBtn(scope.row)"
                  @click="showAttachDetail(scope.row)"
                  type="text"
                  size="small"
                >查看</el-button>
                <el-button v-if="showAttachDetailBtn(scope.row)" @click="showAttachDetail(scope.row)" type="text"
                  size="small">查看</el-button>
              </template>
            </el-table-column>
          </el-table>
        </div>
      </el-dialog>
      <!--附件弹窗-->
      <el-dialog
        title="预览"
        :append-to-body="false"
        :visible.sync="dialog.dialogVisible"
        width="70%"
        :close-on-click-modal="false"
      >
        <div
          v-if="dialog.isPdf"
          class="pdfClass"
        >
          <iframe
            :src="dialog.src"
            type="application/x-google-chrome-pdf"
            width="100%"
            height="100%"
          >
      <el-dialog title="预览" :append-to-body="false" :visible.sync="dialog.dialogVisible" width="70%"
        :close-on-click-modal="false">
        <div v-if="dialog.isPdf" class="pdfClass">
          <iframe :src="dialog.src" type="application/x-google-chrome-pdf" width="100%" height="100%">
          </iframe>
        </div>
        <div
          v-if="dialog.isJpg"
          class="pdfClass"
        >
          <el-image
            style="width:100%; height:100%"
            :src="dialog.src"
            :preview-src-list="[dialog.src]"
          >
        <div v-if="dialog.isJpg" class="pdfClass">
          <el-image style="width:100%; height:100%" :src="dialog.src" :preview-src-list="[dialog.src]">
          </el-image>
        </div>
      </el-dialog>
      <el-dialog
        title="瓦片下载"
        :append-to-body="false"
        :visible.sync="downTitleFlag"
        :close-on-click-modal="false"
        :show-close="false"
        width="30%"
      >
        <el-form
          :model="ruleForm"
          status-icon
          :rules="rules"
          ref="ruleForm"
          label-width="100px"
          class="demo-ruleForm"
        >
          <el-form-item
            label="名称"
            prop="title"
          >
            <el-input
              v-model="ruleForm.title"
              size="small"
              placeholder="请输入数据名称..."
            ></el-input>
      <el-dialog title="瓦片下载" :append-to-body="false" :visible.sync="downTitleFlag" :close-on-click-modal="false"
        :show-close="false" width="30%">
        <el-form :model="ruleForm" status-icon :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm">
          <el-form-item label="名称" prop="title">
            <el-input v-model="ruleForm.title" size="small" placeholder="请输入数据名称..."></el-input>
          </el-form-item>
          <el-form-item
            label="密码"
            prop="pass"
          >
            <el-input
              show-password
              type="password"
              v-model="ruleForm.pass"
              autocomplete="off"
              size="small"
              placeholder="请输入密码..."
            ></el-input>
          <el-form-item label="密码" prop="pass">
            <el-input show-password type="password" v-model="ruleForm.pass" autocomplete="off" size="small"
              placeholder="请输入密码..."></el-input>
          </el-form-item>
          <el-form-item
            label="确认密码"
            prop="checkPass"
          >
            <el-input
              show-password
              type="password"
              v-model="ruleForm.checkPass"
              autocomplete="off"
              size="small"
              placeholder="确认密码..."
            ></el-input>
          <el-form-item label="确认密码" prop="checkPass">
            <el-input show-password type="password" v-model="ruleForm.checkPass" autocomplete="off" size="small"
              placeholder="确认密码..."></el-input>
          </el-form-item>
          <el-form-item>
            <el-button
              type="primary"
              size="small"
              @click='submitTitleDown("ruleForm")'
            >提交</el-button>
            <el-button
              size="small"
              @click='cannelTitleDown("ruleForm")'
            >取消</el-button>
            <el-button type="primary" size="small" @click='submitTitleDown("ruleForm")'>提交</el-button>
            <el-button size="small" @click='cannelTitleDown("ruleForm")'>取消</el-button>
          </el-form-item>
        </el-form>
      </el-dialog>
    </div>
    <surface-chart ref="surfaceChart" />
    <iframe
      id="downFrame"
      src=""
      style="display: none; border: 0; padding: 0; height: 0; width: 0"
    ></iframe>
    <iframe id="downFrame" src="" style="display: none; border: 0; padding: 0; height: 0; width: 0"></iframe>
    <model-property ref="modelProperty"></model-property>
  </div>
</template>
@@ -819,6 +463,7 @@
} from '../api/api'
import { getToken } from '@/utils/auth'
import * as echarts from "echarts"
import axios from 'axios';
export default {
  name: "",
  components: {
@@ -1018,6 +663,7 @@
        xtitle.push(this.formDate(val[i].defdate))
        val2.push(val[i].seqvar)
      }
      debugger
      this.showSurfaceDeFormEchart(xtitle, val1, val2);
    },
@@ -1221,9 +867,11 @@
      var modelKey = 'id';
      var modelid;
      if (result.tileset) {
        if (result.tileset.pubid && parseInt(result.tileset.pubid) > 0) {
          const data = await comprehensive_selectPubById({ id: result.tileset.pubid })
          if (data.code != 200) {
            return
          } else {
@@ -1294,6 +942,20 @@
        window.TerrainFlattening && window.TerrainFlattening.remove();
      }
    },
    addGaoDeMap() {
      Viewer.imageryLayers.removeAll();
      var base_ulr = window.sceneConfig.baseUrl;
      if (base_ulr.indexOf('{host}') > -1) {
        base_ulr = base_ulr.replace("{host}", iisHost)
      }
      Viewer.imageryLayers.addImageryProvider(
        new Cesium.UrlTemplateImageryProvider({
          url: base_ulr,
          maximumLevel: 5
        })
      );
    },
    init3DMap() {
      var webKey = "94a34772eb88317fcbf8428e10448561";
      //地图初始化
@@ -1301,20 +963,25 @@
        licenseServer: window.sceneConfig.licenseServer,
      });
      var url = "https://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/?callback=loadJsonp940826&f=json"
      $.ajax({
        url: url,
        timeout: 1500, // è¯·æ±‚è¶…æ—¶æ—¶é—´
        async: true,
        type: "GET",
        success: (res) => {
          console.log("在线地址获取成功")
        },
        error: (res) => {
          console.log("在线地址获获取失败")
         this.addGaoDeMap();
        }
      })
      window.Viewer = window.sgworld._Viewer;
      if (is_production) {
        Viewer.imageryLayers.removeAll();
        var base_ulr = window.sceneConfig.baseUrl;
        if (base_ulr.indexOf('{host}') > -1) {
          base_ulr = base_ulr.replace("{host}", iisHost)
        }
        Viewer.imageryLayers.addImageryProvider(
          new Cesium.UrlTemplateImageryProvider({
            url: base_ulr,
            maximumLevel: 5
          })
        );
        this.addGaoDeMap();
      }
      //定位
      // sgworld.Navigate.jumpTo({
@@ -1370,6 +1037,12 @@
        requestVertexNormals: true,
      };
      window.terrainLayer = sgworld.Creator.sfsterrainprovider("", option, "", true, "");
      // window.terrainLayer = new Cesium.CesiumTerrainProvider({
      //   // url: LFData + '/3d/terrain/dem20230321'
      //   url: demLayer
      // });
      // Viewer.terrainProvider = window.terrainLayer
      window.terrainFlag = 'MPT'
      window.elevationTool = new SmartEarth.ElevationTool(window.sgworld);
      elevationTool.setContourColor("#F1D487");
@@ -1409,7 +1082,7 @@
      this.terrainflag = !this.terrainflag
    },
    changeMenulayer() {
      this.$bus.$emit("setChangeBaseMapLayer", true)
      this.$bus.$emit("setChangeBaseMapLayer", { type: 'Cesium', boolen: true })
      // this.$refs && this.$refs.addOnlineMap && this.$refs.addOnlineMap.open("地下模式", null,);
      // this.isActive = !this.isActive;
      // this.isMenuLayer = !this.isMenuLayer;
@@ -2130,11 +1803,13 @@
  width: 100%;
  height: 100%;
  position: relative;
  #mapdiv {
    width: 100%;
    height: 100%;
    overflow: hidden;
    position: relative;
    .toponymicLocalBox {
      width: 350px;
      //width: 750px;
@@ -2144,6 +1819,7 @@
      right: 8%;
      bottom: 1%;
    }
    .bufferBox {
      width: 412px;
      height: 230px;
@@ -2152,6 +1828,7 @@
      right: 6%;
      bottom: 1%;
    }
    .coordLocalBox {
      width: 350px;
      height: 370px;
@@ -2159,10 +1836,12 @@
      position: absolute;
      right: 8%;
      bottom: 1%;
      span {
        width: 100px;
      }
    }
    .propertiesPop {
      width: 350px;
      height: 370px;
@@ -2170,25 +1849,31 @@
      position: absolute;
      right: 8%;
      bottom: 1%;
      /deep/ .el-card__header {
        padding: 10px 20px;
      }
      /deep/ .el-card__body {
        padding: 10px 20px;
      }
    }
    .surfaceDeFormPop {
      z-index: 40;
      position: absolute;
      right: 8%;
      bottom: 1%;
      /deep/ .el-card__header {
        padding: 10px 20px;
      }
      /deep/ .el-card__body {
        padding: 10px 20px;
      }
    }
    .modelClipPop {
      width: 350px;
      z-index: 40;
@@ -2197,10 +1882,12 @@
      top: 3%;
      background: rgba(255, 255, 255, 0.85);
      border: 1px solid rgba(32, 160, 255, 0.6);
      .slide-bg {
        padding: 10px;
        display: flex;
        align-items: center;
        .slide {
          width: 250px;
          margin-left: 5px;
@@ -2208,6 +1895,7 @@
        }
      }
    }
    .pathAnalysisBox {
      width: 412px;
      height: 370px;
@@ -2216,6 +1904,7 @@
      right: 8%;
      bottom: 1%;
    }
    .attributionPop {
      width: 350px;
      height: 370px;
@@ -2223,13 +1912,16 @@
      position: absolute;
      right: 38%;
      bottom: 1%;
      /deep/ .el-card__header {
        padding: 10px 20px;
      }
      /deep/ .el-card__body {
        padding: 10px 20px;
      }
    }
    .terrainLevelBox {
      width: 350px;
      height: 370px;
@@ -2243,15 +1935,18 @@
      opacity: 0.85;
      border: 1px solid rgba(32, 160, 255, 0.6);
    }
    .menu_Top {
      width: 100%;
      padding: 1%;
      position: absolute;
      z-index: 40;
      /deep/.el-form-item {
        margin-bottom: 0px;
      }
    }
    .menu_Popup {
      background: #303030;
      opacity: 0.85;
@@ -2263,12 +1958,14 @@
      position: absolute;
      z-index: 40;
    }
    .HistLeng {
      z-index: 40;
      position: absolute;
      right: 115px;
      bottom: 10px;
    }
    .lengend {
      width: 300px;
      z-index: 40;
@@ -2276,18 +1973,23 @@
      right: 1%;
      bottom: 13%;
      transform: rotate(90deg);
      .lengendBox {
        .lengendSpan {
          display: flex;
          justify-content: space-between;
          margin-top: 10px;
          div {
            transform: rotate(-90deg);
          }
        }
        .lengendImg {
          -ms-transform: rotate(180deg); /* IE 9 */
          -webkit-transform: rotate(180deg); /* Safari and Chrome */
          -ms-transform: rotate(180deg);
          /* IE 9 */
          -webkit-transform: rotate(180deg);
          /* Safari and Chrome */
          transform: rotate(180deg);
          width: 100%;
          height: 30px;
@@ -2358,9 +2060,11 @@
  border-radius: 5px;
  cursor: pointer;
}
.center1 {
  right: 1%;
}
.right {
  position: absolute;
  top: 50px;
@@ -2372,6 +2076,7 @@
  flex-direction: column;
  justify-content: space-between;
}
// .CenDiv:hover {
//   border: 1px solid #409eff;
// }
@@ -2383,6 +2088,7 @@
  background-size: 100% 100%;
  border-radius: 5px;
}
.menuLayer {
  width: 100%;
  height: 100%;
@@ -2418,12 +2124,12 @@
//
//  cursor: pointer;
//}
.changeTerrain {
}
.changeLayer {
}
.changeMapType {
}
.changeTerrain {}
.changeLayer {}
.changeMapType {}
//.changeTerrain {
//  position: absolute;
//  bottom: 1%;
@@ -2449,6 +2155,7 @@
  //background-size: contain;
}
.mapTerrain {
  width: 100%;
  height: 100%;
@@ -2459,6 +2166,7 @@
  background-repeat: no-repeat;
  //background-size: contain;
}
.mapTypeThree {
  width: 100%;
  height: 100%;
src/components/preview_map.vue
@@ -1,160 +1,71 @@
<template>
  <div
    id="mapdiv"
    class="previewBox"
  >
    <div
      v-if="modelLayer"
      class="modelLayer box_divm"
    >
  <div id="mapdiv" class="previewBox">
    <div v-if="modelLayer" class="modelLayer box_divm">
      <div class="modelBox">
        <div
          style="float:right"
          :title="$t('synthesis.undergroundMode')"
          @click="setUndergroundMode"
        >
        <div style="float:right" :title="$t('synthesis.undergroundMode')" @click="setUndergroundMode">
          <i class="el-icon-sunrise "></i>
        </div>
      </div>
      <div class="modelBox">
        <el-tree
          :data="treeData"
          show-checkbox
          node-key="id"
          ref="tree"
          :default-expanded-keys="[1]"
          :props="defaultProps"
          @node-click="handleNodeClick"
          @check="handleCheckChange"
          @node-contextmenu="rightClick"
        >
        <el-tree :data="treeData" show-checkbox node-key="id" ref="tree" :default-expanded-keys="[1]"
          :props="defaultProps" @node-click="handleNodeClick" @check="handleCheckChange" @node-contextmenu="rightClick">
        </el-tree>
      </div>
    </div>
    <div
      v-if="editModelFlag"
      class="modelLayer box_divm"
    >
      <el-form
        ref="form"
        :model="modelForm"
        label-width="80px"
      >
    <div v-if="editModelFlag" class="modelLayer box_divm">
      <el-form ref="form" :model="modelForm" label-width="80px">
        <el-form-item>
          <el-button
            size="small"
            @click="dialogLayerVisible = true"
          >图层</el-button>
          <el-button
            size="small"
            v-if="$store.state.previewLayer.type == 'mpt'"
            @click="setcropping"
          >裁剪</el-button>
          <el-button
            size="small"
            v-if="$store.state.previewLayer.type != 'mpt'"
            @click="locateTo"
          >定位</el-button>
          <el-button
            size="small"
            v-if="$store.state.previewLayer.type != 'mpt'"
            @click="showTileset"
          >显隐</el-button>
          <el-button size="small" v-if="$store.state.previewLayer.stype != 'yl'"
            @click="dialogLayerVisible = true">图层</el-button>
          <el-button size="small" v-if="$store.state.previewLayer.type == 'mpt'" @click="setcropping">裁剪</el-button>
          <el-button size="small" v-if="$store.state.previewLayer.type != 'mpt'" @click="locateTo">定位</el-button>
          <el-button size="small" v-if="$store.state.previewLayer.type != 'mpt'" @click="showTileset">显隐</el-button>
          <el-button
            size="small"
            v-if="$store.state.previewLayer.type != 'mpt'"
            @click="setUndergroundMode"
          >地下</el-button>
          <el-button size="small" v-if="$store.state.previewLayer.type != 'mpt'"
            @click="setUndergroundMode">地下</el-button>
          <br />
          <el-button
            v-if="$store.state.previewLayer.type != '3dml' &&
          <el-button v-if="$store.state.previewLayer.type != '3dml' &&
            $store.state.previewLayer.type != 'cpt' &&
            $store.state.previewLayer.type != 'mpt'"
            size="small"
            @click="pickupCoords"
          >拾取</el-button>
          <el-button
            v-if="$store.state.previewLayer.type != '3dml' &&
            $store.state.previewLayer.type != 'mpt'" size="small" @click="pickupCoords">拾取</el-button>
          <el-button v-if="$store.state.previewLayer.type != '3dml' &&
            $store.state.previewLayer.type != 'cpt' &&
            $store.state.previewLayer.type != 'mpt'"
            size="small"
            @click="reload"
          >
            $store.state.previewLayer.type != 'mpt'" size="small" @click="reload">
            é‡è½½
          </el-button>
          <el-button
            v-if="modelForm.modelid == null && $store.state.previewLayer.type != '3dml' &&
          <el-button v-if="modelForm.modelid == null && $store.state.previewLayer.type != '3dml' &&
            $store.state.previewLayer.type != 'cpt' &&
            $store.state.previewLayer.type != 'mpt'"
            size="small"
            @click="getModeKeyId"
          >模型主键</el-button>
          <el-button
            v-if="$store.state.previewLayer.type != '3dml' &&
            $store.state.previewLayer.type != 'mpt'" size="small" @click="getModeKeyId">模型主键</el-button>
          <el-button v-if="$store.state.previewLayer.type != '3dml' &&
            $store.state.previewLayer.type != 'cpt'
            "
            size="small"
            @click="resave"
          >保存</el-button>
            " size="small" @click="resave">保存</el-button>
        </el-form-item>
        <el-form-item
          label="经度:"
          v-if="$store.state.previewLayer.type != '3dml' &&
        <el-form-item label="经度:" v-if="$store.state.previewLayer.type != '3dml' &&
          $store.state.previewLayer.type != 'cpt' &&
          $store.state.previewLayer.type != 'mpt'"
        >
          <el-input
            size="small"
            v-model="modelForm.lon"
          ></el-input>
          $store.state.previewLayer.type != 'mpt'">
          <el-input size="small" v-model="modelForm.lon"></el-input>
        </el-form-item>
        <el-form-item
          label="纬度:"
          v-if="$store.state.previewLayer.type != '3dml' &&
        <el-form-item label="纬度:" v-if="$store.state.previewLayer.type != '3dml' &&
          $store.state.previewLayer.type != 'cpt' &&
          $store.state.previewLayer.type != 'mpt'"
        >
          <el-input
            size="small"
            v-model="modelForm.lat"
          ></el-input>
          $store.state.previewLayer.type != 'mpt'">
          <el-input size="small" v-model="modelForm.lat"></el-input>
        </el-form-item>
        <el-form-item
          label="高度:"
          v-if="$store.state.previewLayer.type != '3dml' &&
        <el-form-item label="高度:" v-if="$store.state.previewLayer.type != '3dml' &&
          $store.state.previewLayer.type != 'cpt' &&
          $store.state.previewLayer.type != 'mpt'"
        >
          <el-input
            size="small"
            v-model="modelForm.height"
          ></el-input>
          $store.state.previewLayer.type != 'mpt'">
          <el-input size="small" v-model="modelForm.height"></el-input>
        </el-form-item>
        <el-form-item
          label="角度:"
          v-if="$store.state.previewLayer.type != '3dml' &&
        <el-form-item label="角度:" v-if="$store.state.previewLayer.type != '3dml' &&
          $store.state.previewLayer.type != 'cpt' &&
          $store.state.previewLayer.type != 'mpt'"
        >
          <el-input
            size="small"
            v-model="modelForm.yaw"
          ></el-input>
          $store.state.previewLayer.type != 'mpt'">
          <el-input size="small" v-model="modelForm.yaw"></el-input>
        </el-form-item>
        <el-form-item
          label="比例:"
          v-if="$store.state.previewLayer.type == 'las'"
        >
          <el-input
            size="small"
            v-model="modelForm.scale"
          ></el-input>
        <el-form-item label="比例:" v-if="$store.state.previewLayer.type == 'las'">
          <el-input size="small" v-model="modelForm.scale"></el-input>
        </el-form-item>
        <!-- <el-form-item label="透明度:">
@@ -167,46 +78,20 @@
      </el-form>
    </div>
    <el-dialog
      :title="formInline.title"
      :visible.sync="dialogVisible"
      :modal="false"
      :modal-append-to-body="false"
      :close-on-click-modal="false"
      :before-close="handleClose"
      width="30%"
    >
    <el-dialog :title="formInline.title" :visible.sync="dialogVisible" :modal="false" :modal-append-to-body="false"
      :close-on-click-modal="false" :before-close="handleClose" width="30%">
      <div style="height:63vh">
        <el-tabs
          v-model="activeName"
          @tab-click="handleClick"
        >
          <el-tab-pane
            label="属性"
            name="first"
            v-if="serveType"
          >
            <el-form
              ref="form"
              :model="formInline"
              label-width="80px"
            >
        <el-tabs v-model="activeName" @tab-click="handleClick">
          <el-tab-pane label="属性" name="first" v-if="serveType">
            <el-form ref="form" :model="formInline" label-width="80px">
              <el-form-item :label="$t('common.name')">
                <el-input v-model="formInline.name"></el-input>
              </el-form-item>
              <el-form-item :label="$t('common.type')">
                <el-select
                  v-model="formInline.type"
                  style="width:100%"
                >
                  <el-option
                    v-for="item in options"
                    :key="item.value"
                    :label="item.label"
                    :value="item.value"
                  >
                <el-select v-model="formInline.type" style="width:100%">
                  <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
                  </el-option>
                </el-select>
@@ -217,113 +102,47 @@
              </el-form-item>
              <el-form-item>
                <el-button
                  v-show="isShowModel"
                  type="success"
                  plain
                  size="small"
                  @click="InsertData"
                >{{
                <el-button v-show="isShowModel" type="success" plain size="small" @click="InsertData">{{
                  $t('common.increase') }}</el-button>
                <el-button
                  v-show="!isShowModel"
                  type="info"
                  plain
                  size="small"
                  @click="EditData"
                >{{ $t('common.update')
                <el-button v-show="!isShowModel" type="info" plain size="small" @click="EditData">{{ $t('common.update')
                }}</el-button>
              </el-form-item>
            </el-form>
          </el-tab-pane>
          <el-tab-pane
            label="附件"
            name="second"
          >
            <el-form
              :model="fromfile"
              class="demo-form-inline"
            >
          <el-tab-pane label="附件" name="second">
            <el-form :model="fromfile" class="demo-form-inline">
              <el-form-item>
                <el-input
                  v-model="fromfile.file"
                  style="width: 300px; margin-right: 20px"
                  :placeholder="$t('common.choose')"
                  disabled
                ></el-input>
                <input
                  name="file1"
                  type="file"
                  id="insertFile"
                  multiple="multiple"
                  style="display: none"
                  @change="insertFile()"
                />
                <el-link
                  @click="getInsertFile()"
                  :underline="false"
                ><i class="el-icon-folder-opened"></i></el-link>
                <el-input v-model="fromfile.file" style="width: 300px; margin-right: 20px"
                  :placeholder="$t('common.choose')" disabled></el-input>
                <input name="file1" type="file" id="insertFile" multiple="multiple" style="display: none"
                  @change="insertFile()" />
                <el-link @click="getInsertFile()" :underline="false"><i class="el-icon-folder-opened"></i></el-link>
              </el-form-item>
              <el-form-item>
                <el-row>
                  <el-col :span="3">
                    <el-link
                      class="elLink"
                      :underline="false"
                      @click="setAttachInsert"
                    >{{ $t('common.append')
                    <el-link class="elLink" :underline="false" @click="setAttachInsert">{{ $t('common.append')
                    }}</el-link>
                  </el-col>
                  <el-col :span="3">
                    <el-link
                      class="elLink"
                      :underline="false"
                      @click="setAttachDel"
                    >{{ $t('common.delete') }}</el-link>
                    <el-link class="elLink" :underline="false" @click="setAttachDel">{{ $t('common.delete') }}</el-link>
                  </el-col>
                </el-row>
              </el-form-item>
            </el-form>
            <el-table
              :data="tableData"
              ref="filterTable"
              height="calc(100% - 130px)"
              border
              style="width: 100%"
              @selection-change="handleAttatchChange"
            >
              <el-table-column
                type="selection"
                width="70"
              />
              <el-table-column
                width="60"
                type="index"
                :label="$t('common.index')"
              />
              <el-table-column
                prop="name"
                :label="$t('common.name')"
              />
            <el-table :data="tableData" ref="filterTable" height="calc(100% - 130px)" border style="width: 100%"
              @selection-change="handleAttatchChange">
              <el-table-column type="selection" width="70" />
              <el-table-column width="60" type="index" :label="$t('common.index')" />
              <el-table-column prop="name" :label="$t('common.name')" />
              <el-table-column
                prop="sizes"
                :label="$t('common.size')"
                :formatter="statSizeChange"
              />
              <el-table-column
                align="center"
                :label="$t('common.operate')"
                min-width="100"
              >
              <el-table-column prop="sizes" :label="$t('common.size')" :formatter="statSizeChange" />
              <el-table-column align="center" :label="$t('common.operate')" min-width="100">
                <template slot-scope="scope">
                  <el-link
                    v-if="matchState(scope, /[]/)"
                    @click="setAttatchDetail(scope.$index, scope.row)"
                    class="elLink"
                  >{{ $t('common.see') }}</el-link>
                  <el-link v-if="matchState(scope, /[]/)" @click="setAttatchDetail(scope.$index, scope.row)"
                    class="elLink">{{ $t('common.see') }}</el-link>
                </template>
              </el-table-column>
@@ -346,44 +165,21 @@
        <map-sdk v-if='showMapVisible'></map-sdk>
      </div>
    </el-dialog> -->
    <el-dialog
      title="预览"
      :append-to-body="false"
      :visible.sync="dialog.dialogVisible"
      width="70%"
      :close-on-click-modal="false"
    >
      <div
        v-if="dialog.isPdf"
        class="pdfClass"
      >
        <iframe
          :src="dialog.src"
          type="application/x-google-chrome-pdf"
          width="100%"
          height="100%"
        >
    <el-dialog title="预览" :append-to-body="false" :visible.sync="dialog.dialogVisible" width="70%"
      :close-on-click-modal="false">
      <div v-if="dialog.isPdf" class="pdfClass">
        <iframe :src="dialog.src" type="application/x-google-chrome-pdf" width="100%" height="100%">
        </iframe>
      </div>
      <div
        v-if="dialog.isJpg"
        class="pdfClass"
      >
      <div v-if="dialog.isJpg" class="pdfClass">
        <el-image
          style="width:100%; height:100%"
          :src="dialog.src"
          :preview-src-list="[dialog.src]"
        >
        <el-image style="width:100%; height:100%" :src="dialog.src" :preview-src-list="[dialog.src]">
        </el-image>
      </div>
    </el-dialog>
    <div
      v-show="dialogLayerVisible"
      class="levelLayer box_divm"
    >
    <div v-show="dialogLayerVisible" class="levelLayer box_divm">
      <div class="levelTitle">
        <div>
          å›¾å±‚列表
@@ -393,67 +189,33 @@
        </div>
      </div>
      <div class="layerContent">
        <div
          v-for="(item,index) in layerTree"
          class="contLayer"
        >
          <div> <el-checkbox
              v-model="item.checked"
              @change="setLayerTreeChange(item)"
            >{{item.cnName}}</el-checkbox></div>
        <div v-for="(item, index) in layerTree" class="contLayer">
          <div> <el-checkbox v-model="item.checked" @change="setLayerTreeChange(item)">{{ item.cnName }}</el-checkbox>
          </div>
          <div>
            <el-button
              icon="el-icon-map-location"
              size="mini"
              @click="setLayerTreeLocation(item)"
            ></el-button>
            <el-button icon="el-icon-map-location" size="mini" @click="setLayerTreeLocation(item)"></el-button>
          </div>
        </div>
      </div>
    </div>
    <div
      v-show="modelKeyFlag"
      class="modelLayer box_divm"
      v-drag
    >
      <el-form
        ref="form"
        :model="modelForm"
        label-width="80px"
      >
    <div v-show="modelKeyFlag" class="modelLayer box_divm" v-drag>
      <el-form ref="form" :model="modelForm" label-width="80px">
        <el-form-item label="主键ID">
          <el-select v-model="modelLayerId">
            <el-option
              v-for="item in optionKey"
              :key="item.value"
              :label="item.label"
              :value="item.value"
            >
            <el-option v-for="item in optionKey" :key="item.value" :label="item.label" :value="item.value">
            </el-option>
          </el-select>
        </el-form-item>
        <el-form-item>
          <el-button
            type="primary"
            size="small"
            @click="setSureKeyModelKey"
          >{{ $t('common.confirm') }}</el-button>
          <el-button type="primary" size="small" @click="setSureKeyModelKey">{{ $t('common.confirm') }}</el-button>
        </el-form-item>
      </el-form>
    </div>
    <undergroundModel ref="undergroundModel" />
    <el-card
      class="box-card"
      ref="card"
      :style="{ ...rightClickMenuStyle }"
      v-show="menuVisible"
    >
      <div
        class="edit"
        @click="setShowFile"
      >
    <el-card class="box-card" ref="card" :style="{ ...rightClickMenuStyle }" v-show="menuVisible">
      <div class="edit" @click="setShowFile">
        <i class="el-icon-tickets"></i>&nbsp;&nbsp;附件
      </div>
    </el-card>
@@ -1254,27 +1016,26 @@
      Viewer.scene.globe.depthTestAgainstTerrain = true;
      // window.elevationTool = new SmartEarth.ElevationTool(window.sg);
      // elevationTool.setContourColor("#F1D487");
      var option = {
        url: window.sceneConfig.SGUrl,
        layerName: window.sceneConfig.mptName,
        requestVertexNormals: true,
      };
      window.terrainLayer = sgworld.Creator.sfsterrainprovider("", option, "", true, "");
      window.terrainFlag = '2'
      window.terrainLayer = new Cesium.CesiumTerrainProvider({
        // url: LFData + '/3d/terrain/dem20230321'
        url: demLayer
      });
      Viewer.terrainProvider = window.terrainLayer
      window.terrainFlag = '1'
      // window.terrainLayer = new Cesium.CesiumTerrainProvider({
      //   url: demLayer
      //   url: demLayer
      // });
      // Viewer.terrainProvider = window.terrainLayer
      if (this.$store.state.previewLayer) {
        var res = this.$store.state.previewLayer;
        var type = res.type;
        console.log(type)
        res.ulr = res.url.replace("{host}", iisHost);
        if (type == 'DEM') {
          window.terrainLayer.deleteObject();
          // Viewer.terrainProvider = new Cesium.EllipsoidTerrainProvider();
          // window.terrainLayer.deleteObject();
          Viewer.terrainProvider = new Cesium.EllipsoidTerrainProvider();
          // window.terrainLayer = null;
          window.terrainLayer = null;
          window.terrainLayer = new Cesium.CesiumTerrainProvider({
@@ -1289,12 +1050,15 @@
              roll: 0.0
            }
          });*/
          if (res.geom) {
            var wkt = this.$wkt.parse(res.geom);
            var height = this.getHeight(wkt.coordinates[2]);
            Viewer.camera.flyTo({
              destination: Cesium.Cartesian3.fromDegrees(wkt.coordinates[1], wkt.coordinates[0], height),
            });
          }
          var wkt = this.$wkt.parse(res.geom);
          var height = this.getHeight(wkt.coordinates[2]);
          Viewer.camera.flyTo({
            destination: Cesium.Cartesian3.fromDegrees(wkt.coordinates[1], wkt.coordinates[0], height),
          });
        } else if (type == 'DOM') {
          var wkt = this.$wkt.parse(res.geom);
          var height = this.getHeight(wkt.coordinates[2])
@@ -1734,6 +1498,7 @@
    top: 20%;
    left: 50%;
    transform: translate(-50%, 0%);
    .levelTitle {
      width: 100%;
      display: flex;
@@ -1741,6 +1506,7 @@
      font-size: 16px;
      font-family: Source Han Sans CN;
    }
    .contLayer {
      margin: 10px 0px;
      font-size: 14px;
@@ -1749,6 +1515,7 @@
      justify-content: space-between;
    }
  }
  .pdfClass {
    height: 70vh;
    width: 100%;
@@ -1756,8 +1523,7 @@
  }
  .el-icon-sunrise {
    background: url("../assets/img/synthesis/images/3白底_157.png") center
      center no-repeat;
    background: url("../assets/img/synthesis/images/3白底_157.png") center center no-repeat;
    background-size: 24px;
  }
@@ -1765,6 +1531,7 @@
    content: "11";
    visibility: hidden;
  }
  .box-card {
    position: fixed;
    display: block;
src/store/index.js
@@ -83,7 +83,8 @@
      falg: false,
      gid: null,
      val: null
    }
    },
    setChangeBaseMap:true,
  },
  mutations: {
    UPDATE_LISTEN_TIME(state, msg) {
src/views/Tools/AddOnlineMap.vue
@@ -1,60 +1,23 @@
<template>
  <Popup
    ref="pop"
    :title="title"
    @close="close(true)"
    width="400px"
    @yes="addData"
    @cancel="close(false)"
  >
  <Popup ref="pop" :title="title" @close="close(true)" width="400px" @yes="addData" @cancel="close(false)">
    <div
      id="archTopBox"
      class="archTopBox"
    >
    <div id="archTopBox" class="archTopBox">
      <div
        class="boxCard"
        v-for="(item,index) in mapList"
      >
      <div class="boxCard" v-for="(item, index) in mapList">
        <el-card class="box-card">
          <div
            slot="header"
            class="clearfix"
          >
            <span style="font-size:14px">{{item.name}}</span>
          <div slot="header" class="clearfix">
            <span style="font-size:14px">{{ item.name }}</span>
            <div style="float: right; padding: 3px 0">
              <i
                v-show="!item.isShow"
                style="margin-left:10px"
                class="el-icon-arrow-up"
                :title="$t('archiveObj.fold')"
                @click="setCardChange(item)"
              ></i>
              <i
                v-show="item.isShow"
                style="margin-left:10px"
                class="el-icon-arrow-down"
                :title="$t('archiveObj.develop')"
                @click="setCardChange(item)"
              ></i>
              <i v-show="!item.isShow" style="margin-left:10px" class="el-icon-arrow-up" :title="$t('archiveObj.fold')"
                @click="setCardChange(item)"></i>
              <i v-show="item.isShow" style="margin-left:10px" class="el-icon-arrow-down"
                :title="$t('archiveObj.develop')" @click="setCardChange(item)"></i>
            </div>
          </div>
          <div
            :id="item.id"
            style="margin:5px 1px"
            v-show="!item.isShow"
          >
          <div :id="item.id" style="margin:5px 1px" v-show="!item.isShow">
            <div style="margin:10px;width:380px">
              <div
                class="map"
                v-for="(map, mapIndex) in item.list"
                @click="addImageLayer(map, item)"
              >
                <img
                  style="width: 60px; height: 60px"
                  :src="map.image"
                ></img>
              <div class="map" v-for="(map, mapIndex) in item.list" @click="addImageLayer(map, item)">
                <img style="width: 60px; height: 60px" :src="map.image"></img>
                <div> <el-link :underline="false">
                    {{ map.name }}
                  </el-link></div>
@@ -64,29 +27,6 @@
        </el-card>
      </div>
      <!-- <el-collapse :value="activeNames">
          <el-collapse-item
            v-for="(mapCollection, index) in mapList"
            :title="mapCollection.name"
            :name="mapCollection.name"
            :key="index"
          >
            <div
              class="map"
              v-for="(map, mapIndex) in mapCollection.list"
              :key="mapIndex"
              @click="addImageLayer(map, mapCollection)"
            >
              <el-image
                style="width: 60px; height: 60px"
                :src="require(`@assets/imageLayer/${map.image}`)"
                fit="fill"
              ></el-image>
        <span>{{ map.name }}</span>
      </div>
      </el-collapse-item>
      </el-collapse> -->
    </div>
    </el-form>
  </Popup>
@@ -97,7 +37,7 @@
import TileLayer from "ol/layer/Tile"
import XYZ from "ol/source/XYZ"
// å½±åƒå›¾å±‚
import mapLayers from "./layer";
export default {
  name: "AddOnlineMap",
  components: {
@@ -106,7 +46,7 @@
  mixins: [],
  data() {
    return {
      title: "在线地图",
      title: "3D在线地图",
      left: undefined,
      tokne: "",
      data: {
@@ -120,98 +60,7 @@
        zIndex: undefined,
      },
      mapCollection: undefined,
      mapList: [{
        name: "Cesium",
        sourceType: "cesium",
        tokne: "94a34772eb88317fcbf8428e10448561",
        maximumLevel: 18,
        id: 1,
        isShow: true,
        list: [{
          name: "Cesium影像",
          image: require("../../assets/img/imageLayer/tdmap_image.jpg"),
          urls: "https://webst02.is.autonavi.com/appmaptile?style=6&x={x}&y={y}&z={z}",
        },],
      },
      {
        name: "天地图",
        sourceType: "tdmap",
        tokne: "94a34772eb88317fcbf8428e10448561",
        maximumLevel: 18,
        id: 1,
        isShow: true,
        list: [
          {
            name: "天地图地图",
            image: require("../../assets/img/imageLayer/tdmap_map.jpg"),
            urls: "http://t0.tianditu.com/vec_w/wmts?service=wmts&request=GetTile&version=1.0.0&LAYER=vec&tileMatrixSet=w&TileMatrix={TileMatrix}&TileRow={TileRow}&TileCol={TileCol}&style=default&format=tiles&tk=",
            olUrls: 'http://t0.tianditu.gov.cn/DataServer?T=vec_w&x={x}&y={y}&l={z}&tk='
          },
          {
            name: "天地图影像",
            image: require("../../assets/img/imageLayer/tdmap_image.jpg"),
            urls: "http://t0.tianditu.com/img_w/wmts?service=wmts&request=GetTile&version=1.0.0&LAYER=img&tileMatrixSet=w&TileMatrix={TileMatrix}&TileRow={TileRow}&TileCol={TileCol}&style=default&format=tiles&tk=",
            olUrls: 'http://t0.tianditu.gov.cn/DataServer?T=img_w&x={x}&y={y}&l={z}&tk='
          },
          {
            name: "天地图地形",
            image: require("../../assets/img/imageLayer/tdmap_label.jpg"),
            urls: "http://t0.tianditu.com/ter_w/wmts?service=wmts&request=GetTile&version=1.0.0&LAYER=ter&tileMatrixSet=w&TileMatrix={TileMatrix}&TileRow={TileRow}&TileCol={TileCol}&style=default&format=tiles&tk=",
            olUrls: 'http://t0.tianditu.gov.cn/DataServer?T=ter_w&x={x}&y={y}&l={z}&tk='
          },
        ],
      },
      {
        name: "高德地图",
        sourceType: "gdmap",
        maximumLevel: 18,
        id: 2,
        isShow: true,
        list: [
          {
            name: "高德地图",
            image: require("../../assets/img/imageLayer/gdmap_map.jpg"),
            urls: "https://webst02.is.autonavi.com/appmaptile?style=7&x={x}&y={y}&z={z}",
          },
          {
            name: "高德影像",
            image: require("../../assets/img/imageLayer/gdmap_image.jpg"),
            urls: "https://webst02.is.autonavi.com/appmaptile?style=6&x={x}&y={y}&z={z}",
          },
        ],
      }, {
        name: '本地服务',
        sourceType: 'localmap',
        maximumLevel: 22,
        id: 3,
        isShow: true,
        list: [
          {
            name: "地图",
            image: require("../../assets/img/imageLayer/gdmap_map.jpg"),
            urls: "http://{host}/LFData/2d/tiles/vec/{z}/{x}/{y}.png",
          },
          {
            name: "影像",
            image: require("../../assets/img/imageLayer/gdmap_image.jpg"),
            urls: "http://{host}/LFData/2d/tiles/img/{z}/{x}/{y}.png",
          },
          {
            name: "地形",
            image: require("../../assets/img/imageLayer/dixing.png"),
            urls: "http://{host}/LFData/2d/tiles/ter/{z}/{x}/{y}.png",
          },
          {
            name: "1:20万区域地质图",
            image: require("../../assets/img/imageLayer/25dizhi.png"),
            urls: "http://{host}/LFData/2d/tiles/20w_qydz/{z}/{x}/{y}.png",
          },
        ],
      }
      ],
      mapList: mapLayers,
    };
  },
  computed: {
@@ -248,12 +97,7 @@
      window.Viewer.imageryLayers.remove(
        window.BaseMapLayer
      );
      window.map.removeLayer(window.olBaseMapLayer);
      if (!is_production) {
        if (window.vectorLayer) {
          window.map.removeLayer(window.vectorLayer);
        }
      }
    },
    addImageLayer(map, mapCollection) {
@@ -268,15 +112,7 @@
      this.mapCollection = mapCollection;
      if (mapCollection.sourceType === "cesium") {
        window.olBaseMapLayer = new TileLayer({
          title: "高德地图",
          source: new XYZ({
            url: map.urls,
            wrapX: false
          }),
          zIndex: -1
        });
        window.map.addLayer(window.olBaseMapLayer);
        return;
      } else if (mapCollection.sourceType === "tdmap") {
@@ -291,15 +127,7 @@
          tileMatrixSetID: "GoogleMapsCompatible",
        }))
        window.olBaseMapLayer = new TileLayer({
          title: "高德地图",
          source: new XYZ({
            url: map.olUrls + tokne
          }),
          zIndex: -1
        });
        window.map.addLayer(window.olBaseMapLayer);
      } else if (mapCollection.sourceType === "gdmap") {
        window.BaseMapLayer = Viewer.imageryLayers.addImageryProvider(
@@ -309,15 +137,7 @@
          })
        );
        window.olBaseMapLayer = new TileLayer({
          title: "高德地图",
          source: new XYZ({
            url: map.urls,
            wrapX: false
          }),
          zIndex: -1
        });
        window.map.addLayer(window.olBaseMapLayer);
      } else if (mapCollection.sourceType === "localmap") {
        var ulr = map.urls;
        ulr = ulr.replace("{host}", iisHost)
@@ -329,15 +149,7 @@
          })
        );
        window.olBaseMapLayer = new TileLayer({
          title: "高德地图",
          source: new XYZ({
            url: ulr,
            wrapX: false
          }),
          zIndex: -1
        });
        window.map.addLayer(window.olBaseMapLayer);
      }
      Viewer.imageryLayers.lowerToBottom(window.BaseMapLayer);//将图层移到最底层
      Viewer.imageryLayers.raise(window.BaseMapLayer);//将图层移到最底层
@@ -380,6 +192,7 @@
/deep/.el-card__body {
  padding: 0px !important;
}
.map {
  display: inline-block;
  cursor: pointer;
@@ -391,6 +204,7 @@
    border-radius: 4px;
  }
}
.boxCard {
  margin-bottom: 5px;
}
src/views/Tools/AddOnlineOLMap.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,221 @@
<template>
  <Popup ref="pop" :title="title" @close="close(true)" width="400px" @yes="addData" @cancel="close(false)">
    <div id="archTopBox" class="archTopBox">
      <div class="boxCard" v-for="(item, index) in mapList">
        <el-card class="box-card">
          <div slot="header" class="clearfix">
            <span style="font-size:14px">{{ item.name }}</span>
            <div style="float: right; padding: 3px 0">
              <i v-show="!item.isShow" style="margin-left:10px" class="el-icon-arrow-up" :title="$t('archiveObj.fold')"
                @click="setCardChange(item)"></i>
              <i v-show="item.isShow" style="margin-left:10px" class="el-icon-arrow-down"
                :title="$t('archiveObj.develop')" @click="setCardChange(item)"></i>
            </div>
          </div>
          <div :id="item.id" style="margin:5px 1px" v-show="!item.isShow">
            <div style="margin:10px;width:380px">
              <div class="map" v-for="(map, mapIndex) in item.list" @click="addImageLayer(map, item)">
                <img style="width: 60px; height: 60px" :src="map.image"></img>
                <div> <el-link :underline="false">
                    {{ map.name }}
                  </el-link></div>
              </div>
            </div>
          </div>
        </el-card>
      </div>
    </div>
    </el-form>
  </Popup>
</template>
<script>
import Popup from "./Popup";
import TileLayer from "ol/layer/Tile"
import XYZ from "ol/source/XYZ"
// å½±åƒå›¾å±‚
import mapLayers from "./layer";
export default {
  name: "addOnlineOlMap",
  components: {
    Popup,
  },
  mixins: [],
  data() {
    return {
      title: "2D在线地图",
      left: undefined,
      tokne: "",
      data: {
        id: "",
        sourceType: "",
        name: "",
        urls: "",
        layer: "",
        alpha: 1,
        maximumLevel: 26,
        zIndex: undefined,
      },
      mapCollection: undefined,
      mapList: mapLayers,
    };
  },
  computed: {
    activeNames() {
      return this.mapList.map((item) => {
        return item.name;
      });
    },
  },
  methods: {
    setCardChange(res) {
      res.isShow = !res.isShow
    },
    // å…³é—­å¼¹çª—
    close(isCloseBtn, removeLayer = true) {
      //   removeLayer && this.removeImageLayer();
      // é‡ç½®data值
      Object.assign(this.$data, this.$options.data());
      !isCloseBtn && this.$refs.pop.close();
    },
    // æ‰“开弹窗
    open() {
      this.close(true);
      this.$refs.pop.open();
    },
    changeToken(token) {
      this.mapCollection.tokne = token;
    },
    removeImageLayer() {
      window.map.removeLayer(window.olBaseMapLayer);
      if (!is_production) {
        if (window.vectorLayer) {
          window.map.removeLayer(window.vectorLayer);
        }
      }
    },
    addImageLayer(map, mapCollection) {
      if (
        this.data.name === map.name &&
        (this.data.urls === map.urls || this.data.urls === mapCollection.urls)
      ) {
        return;
      }
      this.removeImageLayer();
      this.mapCollection = mapCollection;
      if (mapCollection.sourceType === "cesium") {
        window.olBaseMapLayer = new TileLayer({
          title: "高德地图",
          source: new XYZ({
            url: map.urls,
            wrapX: false
          }),
          zIndex: -1
        });
        window.map.addLayer(window.olBaseMapLayer);
        return;
      } else if (mapCollection.sourceType === "tdmap") {
        var tokne = mapCollection.tokne;
        //添加天地图影像
        window.olBaseMapLayer = new TileLayer({
          title: "高德地图",
          source: new XYZ({
            url: map.olUrls + tokne
          }),
          zIndex: -1
        });
        window.map.addLayer(window.olBaseMapLayer);
      } else if (mapCollection.sourceType === "gdmap") {
        window.olBaseMapLayer = new TileLayer({
          title: "高德地图",
          source: new XYZ({
            url: map.urls,
            wrapX: false
          }),
          zIndex: -1
        });
        window.map.addLayer(window.olBaseMapLayer);
      } else if (mapCollection.sourceType === "localmap") {
        var ulr = map.urls;
        ulr = ulr.replace("{host}", iisHost)
        window.olBaseMapLayer = new TileLayer({
          title: "高德地图",
          source: new XYZ({
            url: ulr,
            wrapX: false
          }),
          zIndex: -1
        });
        window.map.addLayer(window.olBaseMapLayer);
      }
    },
    // æ·»åŠ æ•°æ®
    addData() {
      if (this.data.urls && this.data.sourceType) {
        let data = {
          id: window.sgworld.Core.getuid(),
          ...this.data,
          Level: [0, 26],
        };
        if (data.sourceType === "tdmap") {
          data.urls += "&tk=" + this.tokne;
        } else if (data.sourceType === "bdmap") {
          data.style = this.mapCollection.style;
        }
        if (this.mapCollection.GCJ02) {
          data.GCJ02 = true;
        }
        data.item = window.BaseMapLayer;
        window.BaseMapLayer = undefined;
        this.$emit("success", data);
        this.close(false, false);
      } else {
        this.$message("请选择地图");
      }
    },
  },
};
</script>
<style scoped lang="less">
/deep/.el-card__body {
  padding: 0px !important;
}
.map {
  display: inline-block;
  cursor: pointer;
  margin: 5px;
  text-align: center;
  .el-image {
    border: 2px solid #fff;
    border-radius: 4px;
  }
}
.boxCard {
  margin-bottom: 5px;
}
</style>
src/views/Tools/layer.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,92 @@
const mapLayers = [{
    name: "Cesium",
    sourceType: "cesium",
    tokne: "94a34772eb88317fcbf8428e10448561",
    maximumLevel: 18,
    id: 1,
    isShow: true,
    list: [{
        name: "Cesium影像",
        image: require("../../assets/img/imageLayer/tdmap_image.jpg"),
        urls: "https://webst02.is.autonavi.com/appmaptile?style=6&x={x}&y={y}&z={z}",
    },],
},
{
    name: "天地图",
    sourceType: "tdmap",
    tokne: "94a34772eb88317fcbf8428e10448561",
    maximumLevel: 18,
    id: 1,
    isShow: true,
    list: [
        {
            name: "天地图地图",
            image: require("../../assets/img/imageLayer/tdmap_map.jpg"),
            urls: "http://t0.tianditu.com/vec_w/wmts?service=wmts&request=GetTile&version=1.0.0&LAYER=vec&tileMatrixSet=w&TileMatrix={TileMatrix}&TileRow={TileRow}&TileCol={TileCol}&style=default&format=tiles&tk=",
            olUrls: 'http://t0.tianditu.gov.cn/DataServer?T=vec_w&x={x}&y={y}&l={z}&tk='
        },
        {
            name: "天地图影像",
            image: require("../../assets/img/imageLayer/tdmap_image.jpg"),
            urls: "http://t0.tianditu.com/img_w/wmts?service=wmts&request=GetTile&version=1.0.0&LAYER=img&tileMatrixSet=w&TileMatrix={TileMatrix}&TileRow={TileRow}&TileCol={TileCol}&style=default&format=tiles&tk=",
            olUrls: 'http://t0.tianditu.gov.cn/DataServer?T=img_w&x={x}&y={y}&l={z}&tk='
        },
        {
            name: "天地图地形",
            image: require("../../assets/img/imageLayer/tdmap_label.jpg"),
            urls: "http://t0.tianditu.com/ter_w/wmts?service=wmts&request=GetTile&version=1.0.0&LAYER=ter&tileMatrixSet=w&TileMatrix={TileMatrix}&TileRow={TileRow}&TileCol={TileCol}&style=default&format=tiles&tk=",
            olUrls: 'http://t0.tianditu.gov.cn/DataServer?T=ter_w&x={x}&y={y}&l={z}&tk='
        },
    ],
},
{
    name: "高德地图",
    sourceType: "gdmap",
    maximumLevel: 18,
    id: 2,
    isShow: true,
    list: [
        {
            name: "高德地图",
            image: require("../../assets/img/imageLayer/gdmap_map.jpg"),
            urls: "https://webst02.is.autonavi.com/appmaptile?style=7&x={x}&y={y}&z={z}",
        },
        {
            name: "高德影像",
            image: require("../../assets/img/imageLayer/gdmap_image.jpg"),
            urls: "https://webst02.is.autonavi.com/appmaptile?style=6&x={x}&y={y}&z={z}",
        },
    ],
}, {
    name: '本地服务',
    sourceType: 'localmap',
    maximumLevel: 22,
    id: 3,
    isShow: true,
    list: [
        {
            name: "地图",
            image: require("../../assets/img/imageLayer/gdmap_map.jpg"),
            urls: "http://{host}/LFData/2d/tiles/vec/{z}/{x}/{y}.png",
        },
        {
            name: "影像",
            image: require("../../assets/img/imageLayer/gdmap_image.jpg"),
            urls: "http://{host}/LFData/2d/tiles/img/{z}/{x}/{y}.png",
        },
        {
            name: "地形",
            image: require("../../assets/img/imageLayer/dixing.png"),
            urls: "http://{host}/LFData/2d/tiles/ter/{z}/{x}/{y}.png",
        },
        {
            name: "1:20万区域地质图",
            image: require("../../assets/img/imageLayer/25dizhi.png"),
            urls: "http://{host}/LFData/2d/tiles/20w_qydz/{z}/{x}/{y}.png",
        },
    ],
}
]
export default mapLayers;
src/views/datamanage/dataUpdata.vue
@@ -1,47 +1,20 @@
<template>
  <div
    class="subpage_Box"
    v-loading="loading"
    element-loading-background="rgba(0, 0, 0, 0.8)"
    :element-loading-text="loadText"
  >
  <div class="subpage_Box" v-loading="loading" element-loading-background="rgba(0, 0, 0, 0.8)"
    :element-loading-text="loadText">
    <My-bread :list="[
        `${$t('dataManage.dataManage')}`,
        `${$t('dataManage.dataUpdata')}`,
      ]"></My-bread>
      `${$t('dataManage.dataManage')}`,
      `${$t('dataManage.dataUpdata')}`,
    ]"></My-bread>
    <el-divider />
    <el-tabs
      type="card"
      v-model="activeTabName"
      @tab-click="handleTabClick"
    >
    <el-tabs type="card" v-model="activeTabName" @tab-click="handleTabClick">
      <!-- ä¸Šä¼ æ•°æ® -->
      <el-tab-pane
        :label="$t('dataManage.dataUpObj.uploaddata')"
        name="first"
      >
        <div
          class="inquire subpage_Div"
          ref="container"
        >
          <el-form
            :inline="true"
            :model="formInline"
            class="demo-form-inline"
          >
      <el-tab-pane :label="$t('dataManage.dataUpObj.uploaddata')" name="first">
        <div class="inquire subpage_Div" ref="container">
          <el-form :inline="true" :model="formInline" class="demo-form-inline">
            <!-- å…¥åº“类型 -->
            <el-form-item
              :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="请选择"
              >
            <el-form-item :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="请选择">
                <!--                <el-option
                                  v-for="item in uploadOption"
                                  :key="item.value"
@@ -49,46 +22,19 @@
                                  :value="item.value"
                                ></el-option>-->
                <el-option
                  :label="$t('shuJuGuanLi.pselect.dFile')"
                  value="v1"
                />
                <el-option
                  :label="$t('shuJuGuanLi.pselect.dFiles')"
                  value="v2"
                />
                <el-option
                  :label="$t('shuJuGuanLi.pselect.dFfilest')"
                  value="v3"
                />
                <el-option :label="$t('shuJuGuanLi.pselect.dFile')" value="v1" />
                <el-option :label="$t('shuJuGuanLi.pselect.dFiles')" value="v2" />
                <el-option :label="$t('shuJuGuanLi.pselect.dFfilest')" value="v3" />
              </el-select>
            </el-form-item>
            <!-- å­˜å‚¨ç›®å½• -->
            <el-form-item
              style="margin-right: 2%"
              v-show="uploadFlag"
              :label="$t('dataManage.dataUpObj.storageDirectory')"
              size="small"
            >
              <el-select
                ref="multiSelect"
                :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"
                >
                  <el-tree
                    ref="tree"
                    :data="catalogOption"
                    node-key="id"
                    :props="cascader"
                    @node-click="catalogChange"
                  />
            <el-form-item style="margin-right: 2%" v-show="uploadFlag"
              :label="$t('dataManage.dataUpObj.storageDirectory')" size="small">
              <el-select ref="multiSelect" :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">
                  <el-tree ref="tree" :data="catalogOption" node-key="id" :props="cascader" @node-click="catalogChange" />
                </el-option>
              </el-select>
              <!-- <el-cascader
@@ -101,60 +47,25 @@
              ></el-cascader>  -->
            </el-form-item>
            <!-- é¡¹ç›®åç§° -->
            <el-form-item
              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="请选择"
              >
                <el-option
                  v-for="item in entryOption"
                  :key="item.id"
                  :label="item.name"
                  :value="item.name"
                ></el-option>
            <el-form-item 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="请选择">
                <el-option 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"
            >
              <el-select
                :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"
                >
            <el-form-item :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')">
                <el-option 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"
            >
              <el-select
                :popper-append-to-body="false"
                :disabled="tableData.length == 0 ? false : true"
                v-model="formInline.specialtyId"
                :placeholder="$t('common.choose')"
              >
            <el-form-item :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')">
                <!--                <el-option
                                  v-for="item in specialtyOption"
                                  :key="item.value"
@@ -162,253 +73,109 @@
                                  :value="item.value">
                                </el-option>-->
                <el-option
                  :label="$t('shuJuGuanLi.pselect.SurveyingAndMapping')"
                  value="测量专业"
                />
                <el-option
                  :label="$t('shuJuGuanLi.pselect.SurveysDiscipline')"
                  value="勘察专业"
                />
                <el-option
                  :label="$t('shuJuGuanLi.pselect.GeologicalDisasterSpecialty')"
                  value="地灾专业"
                />
                <el-option
                  :label="$t('shuJuGuanLi.pselect.CavernSpecialty')"
                  value="洞库专业"
                />
                <el-option
                  :label="$t('shuJuGuanLi.pselect.LineDiscipline')"
                  value='线路专业'
                />
                <el-option :label="$t('shuJuGuanLi.pselect.SurveyingAndMapping')" value="测量专业" />
                <el-option :label="$t('shuJuGuanLi.pselect.SurveysDiscipline')" value="勘察专业" />
                <el-option :label="$t('shuJuGuanLi.pselect.GeologicalDisasterSpecialty')" value="地灾专业" />
                <el-option :label="$t('shuJuGuanLi.pselect.CavernSpecialty')" value="洞库专业" />
                <el-option :label="$t('shuJuGuanLi.pselect.LineDiscipline')" value='线路专业' />
              </el-select>
            </el-form-item>
            <!-- åæ ‡ç³» -->
            <el-form-item
              :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')"
              >
                <el-option
                  v-for="item in coordinateOption"
                  :key="item.epsgcode"
                  :label="item.coordinate"
                  :value="item.epsgcode"
                >
            <el-form-item :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')">
                <el-option v-for="item in coordinateOption" :key="item.epsgcode" :label="item.coordinate"
                  :value="item.epsgcode">
                </el-option>
              </el-select>
            </el-form-item>
            <div class="flex_box">
              <div style="margin-right: auto">
                <!-- çº¿è·¯ç±»åˆ« -->
                <el-form-item
                  size="small"
                  :label="$t('dataManage.dataUpObj.labe11')"
                  v-show="formInline.uploadType =='v3'"
                >
                  <el-select
                    v-model="formInline.tab"
                    placeholder="请选择"
                  >
                    <el-option
                      v-for="item in lineOptions"
                      :key="item.value"
                      :label="item.label"
                      :value="item.value"
                    >
                <el-form-item size="small" :label="$t('dataManage.dataUpObj.labe11')"
                  v-show="formInline.uploadType == 'v3'">
                  <el-select v-model="formInline.tab" placeholder="请选择">
                    <el-option v-for="item in lineOptions" :key="item.value" :label="item.label" :value="item.value">
                    </el-option>
                  </el-select>
                </el-form-item>
                <!-- çº¿è·¯ç±»åˆ« -->
                <el-form-item
                  :label="$t('dataManage.dataUpObj.labe12')"
                  v-show="formInline.uploadType =='v3'"
                  size="small"
                >
                  <el-select
                    v-model="formInline.medium"
                    size="small"
                    placeholder="请选择"
                  >
                    <el-option
                      v-for="item in mediumOptions"
                      :key="item.value"
                      :label="item.label"
                      :value="item.value"
                    >
                <el-form-item :label="$t('dataManage.dataUpObj.labe12')" v-show="formInline.uploadType == 'v3'"
                  size="small">
                  <el-select v-model="formInline.medium" size="small" placeholder="请选择">
                    <el-option v-for="item in mediumOptions" :key="item.value" :label="item.label" :value="item.value">
                    </el-option>
                  </el-select>
                </el-form-item>
                <!-- é€‰æ‹©æ•°æ® -->
                <el-form-item size="small">
                  <el-link
                    :disabled="tableData.length == 0 ? false : true"
                    v-show="formInline.specialtyData == '请选择数据'"
                    @click="setSelectFile"
                    :underline="false"
                    type="primary"
                  >{{ $t('dataManage.dataUpObj.selectData') }}
                  <el-link :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"
                  >{{ $t('common.reset') }}
                  <el-link 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"
                  ></input>
                  <input 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
                  >
                  <el-input :placeholder="$t('shuJuGuanLi.shuJuJianSuo.valueone')" v-model="formInline.specialtyData"
                    style="width:200px;" disabled>
                  </el-input>
                </el-form-item>
                <!-- é€‰æ‹©å…ƒæ•°æ® -->
                <el-form-item
                  v-show="uploadFlag "
                  v-if="formInline.uploadType =='v1'"
                  style="padding-left: 16px"
                >
                  <el-link
                    :disabled="tableData.length == 0 ? false : true"
                    v-show="formInline.metaData == '请选择元数据'"
                    @click="setMetaFile"
                    :underline="false"
                    type="primary"
                  >{{ $t('dataManage.dataUpObj.selectMetadata') }}
                <el-form-item v-show="uploadFlag" v-if="formInline.uploadType == 'v1'" style="padding-left: 16px">
                  <el-link :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"
                  >{{ $t('common.reset') }}
                  <el-link 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"
                  ></input>
                  <input 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"
                  v-if="formInline.uploadType =='v1'"
                  size="small"
                >
                  <el-input
                    :placeholder="$t('shuJuGuanLi.shuJuJianSuo.valueone')"
                    v-model="formInline.metaData"
                    style="width:200px;"
                    disabled
                  >
                <el-form-item v-show="uploadFlag" v-if="formInline.uploadType == 'v1'" size="small">
                  <el-input :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"
                  >{{ $t('dataManage.dataUpObj.selectWBSData') }}
                  <el-link :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"
                  >{{ $t('common.reset') }}
                  <el-link :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"
                  ></input>
                  <input 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
                  >
                  <el-input placeholder="请选择WBS数据" v-model="formInline.wbsData" style="width:210px;" disabled>
                  </el-input>
                </el-form-item>
              </div>
              <div>
                <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"
                  >{{
                  <el-button 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"
                  >{{ $t('common.delete') }}
                  <el-button 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"
                  >{{ $t('common.Warehousin') }}
                  <el-button 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()"
                  >{{ $t('common.quayTest') }}
                  <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()">{{ $t('common.quayTest') }}
                  </el-button>
                </el-form-item>
@@ -420,63 +187,20 @@
        </div>
        <!-- ä¸Šä¼ æ•°æ®åˆ—表 -->
        <div class="dividing-line"></div>
        <div
          class="table_box"
          :style="styleVar"
        >
          <el-table
            style="width:100%"
            border
            :data="tableData"
            @selection-change="handleSelectionChange"
            height="calc(100% - 57px)"
          >
            <el-table-column
              type="selection"
              width="55"
            />
        <div class="table_box" :style="styleVar">
          <el-table style="width:100%" border :data="tableData" @selection-change="handleSelectionChange"
            height="calc(100% - 57px)">
            <el-table-column type="selection" width="55" />
            <el-table-column
              align="center"
              type="index"
              :label="$t('common.index')"
              width="70px"
            />
            <el-table-column
              align="center"
              prop="name"
              :label="$t('common.name')"
            />
            <el-table-column
              align="center"
              prop="sizes"
              :label="$t('common.size')"
              :formatter="changeSizeFile"
            />
            <el-table-column
              align="center"
              prop="status"
              label="状态"
            />
            <el-table-column
              align="center"
              prop="code"
              label="状态"
              v-if="false"
            />
            <el-table-column
              label="操作"
              width="120"
            >
            <el-table-column align="center" type="index" :label="$t('common.index')" width="70px" />
            <el-table-column align="center" prop="name" :label="$t('common.name')" />
            <el-table-column align="center" prop="sizes" :label="$t('common.size')" :formatter="changeSizeFile" />
            <el-table-column align="center" prop="status" label="状态" />
            <el-table-column align="center" prop="code" label="状态" v-if="false" />
            <el-table-column 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
                > æ—¥å¿—
                <el-button v-if="menuStatus.download" v-show="scope.row.code != null" @click="handerLogClick(scope.row)"
                  type="primary" size="mini" plain> æ—¥å¿—
                </el-button>
              </template>
            </el-table-column>
@@ -484,55 +208,25 @@
        </div>
      </el-tab-pane>
      <!-- å…¥åº“数据清单 -->
      <el-tab-pane
        :label="$t('dataManage.dataUpObj.receiptdata')"
        name="second"
      >
        <div
          class="inquire subpage_Div"
          ref="container1"
        >
          <el-form
            :inline="true"
            :model="formWarehousing"
            class="demo-form-inline"
          >
      <el-tab-pane :label="$t('dataManage.dataUpObj.receiptdata')" name="second">
        <div class="inquire subpage_Div" ref="container1">
          <el-form :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-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 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>
                </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"
                  >{{ $t('common.enclosure') }}
                  <el-button 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"
                  >{{ $t('common.delete') }}
                  <el-button v-if="menuStatus.delete" @click="setWarehouseDel" icon="el-icon-folder-delete" type="danger"
                    size="small">{{ $t('common.delete') }}
                  </el-button>
                  <!--                  <el-button
                      @click="setWarehouseSearch"
@@ -543,12 +237,8 @@
                      $t('common.iquery')
                    }}
                  </el-button>-->
                  <el-button
                    @click="setWarehouseReset"
                    icon="el-icon-folder-add"
                    size="small"
                    type="info"
                  >{{ $t('common.reset') }}
                  <el-button @click="setWarehouseReset" icon="el-icon-folder-add" size="small" type="info">{{
                    $t('common.reset') }}
                  </el-button>
                </el-form-item>
              </div>
@@ -558,139 +248,51 @@
        </div>
        <!-- å…¥åº“ -->
        <div class="dividing-line"></div>
        <div
          class="table_box"
          :style="styleVar1"
        >
          <el-table
            ref="filterTable"
            :data="waretableData"
            style="width: 100%"
            border
            height="calc(100% - 57px)"
            @selection-change="handleDelteChange"
          >
            <el-table-column
              type="selection"
              width="55"
            >
        <div class="table_box" :style="styleVar1">
          <el-table ref="filterTable" :data="waretableData" style="width: 100%" border height="calc(100% - 57px)"
            @selection-change="handleDelteChange">
            <el-table-column type="selection" width="55">
            </el-table-column>
            <el-table-column
              align="center"
              type="index"
              :label="$t('common.index')"
              width="70px"
            ></el-table-column>
            <el-table-column
              align="center"
              :label="$t('common.name')"
              width="120"
            >
            <el-table-column align="center" type="index" :label="$t('common.index')" width="70px"></el-table-column>
            <el-table-column 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>
                  <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>
                  <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"
            />
            <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')"
            >
            <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>
                <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"
              :label="$t('common.dataStatus')"
              :formatter="stateFormat"
            >
            <el-table-column align="center" prop="rows" :label="$t('common.lineNuber')" />
            <el-table-column align="center" :label="$t('common.dataStatus')" :formatter="stateFormat">
            </el-table-column>
            <el-table-column
              align="
                  center"
              prop="desc"
              :label="$t('dataManage.dataUpObj.describe')"
            />
            <el-table-column
              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"
            />
            <el-table-column align="
                  center" prop="desc" :label="$t('dataManage.dataUpObj.describe')" />
            <el-table-column 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" />
          </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, 50, 100, 200,500]"
              :page-size="listData.pageSize"
              layout="total, sizes, prev, pager, next, jumper"
              :total="count"
            >
          <div class="pagination_box" style="margin-top: 15px">
            <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
              :current-page="listData.pageIndex" :page-sizes="[10, 50, 100, 200, 500]" :page-size="listData.pageSize"
              layout="total, sizes, prev, pager, next, jumper" :total="count">
            </el-pagination>
          </div>
        </div>
@@ -698,109 +300,47 @@
      </el-tab-pane>
    </el-tabs>
    <!-- è´¨æ£€å¼¹çª— -->
    <el-dialog
      title="数据质检"
      :visible.sync="quayTestVisible"
      width="70%"
      :modal="false"
      :before-close="handleQuayTestCloseDown"
    >
    <el-dialog title="数据质检" :visible.sync="quayTestVisible" width="70%" :modal="false"
      :before-close="handleQuayTestCloseDown">
      <div class="dialogDiv">
        <el-form
          :inline="true"
          :model="quayTestForms "
          class="demo-form-inline"
        >
        <el-form :inline="true" :model="quayTestForms" class="demo-form-inline">
          <el-form-item :label="$t('dataManage.dataUpObj.dataSpecialty')">
            <el-input
              disabled
              v-model="quayTestForms.sjzy"
            ></el-input>
            <el-input 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"
            ></el-input>
            <el-input disabled style="width:400px" v-model="quayTestForms.names"></el-input>
          </el-form-item>
        </el-form>
        <el-divider />
        <div class="dialogContent">
          <div
            class="ContBox"
            v-show="quayTestShow.checkAttrs"
          >
            <el-checkbox
              checked
              disabled
            >属性检查:(*dlg*.gdb+*地形图**.dwg)
          <div class="ContBox" v-show="quayTestShow.checkAttrs">
            <el-checkbox checked disabled>属性检查:(*dlg*.gdb+*地形图**.dwg)
            </el-checkbox>
          </div>
          <div
            class="ContBox"
            v-show="quayTestShow.checkMath"
          >
            <el-checkbox
              checked
              disabled
            >数学基础检查:(.shp,.dlg)
          <div class="ContBox" v-show="quayTestShow.checkMath">
            <el-checkbox checked disabled>数学基础检查:(.shp,.dlg)
            </el-checkbox>
          </div>
          <div
            class="ContBox"
            v-show="quayTestShow.checkDecorate"
          >
            <el-checkbox
              checked
              disabled
            >图面整饰检查:(.dwg)
          <div class="ContBox" v-show="quayTestShow.checkDecorate">
            <el-checkbox checked disabled>图面整饰检查:(.dwg)
            </el-checkbox>
          </div>
          <div
            class="ContBox"
            v-show="quayTestShow.checkXls"
          >
            <el-checkbox
              checked
              disabled
            >表格数据检查:(.xls/.xlsx)
          <div class="ContBox" v-show="quayTestShow.checkXls">
            <el-checkbox checked disabled>表格数据检查:(.xls/.xlsx)
            </el-checkbox>
          </div>
          <div
            class="ContBox"
            v-show="quayTestShow.checkOrigin"
          >
            <el-checkbox
              checked
              disabled
            >原点检查:(*剖面图*.dwg)
          <div class="ContBox" v-show="quayTestShow.checkOrigin">
            <el-checkbox checked disabled>原点检查:(*剖面图*.dwg)
            </el-checkbox>
          </div>
          <div
            class="ContBox"
            v-show="quayTestShow.checkMeta"
          >
            <el-checkbox
              checked
              disabled
            >元数据检查:(*元数据*.xls/.xlsx)
          <div class="ContBox" v-show="quayTestShow.checkMeta">
            <el-checkbox checked disabled>元数据检查:(*元数据*.xls/.xlsx)
            </el-checkbox>
          </div>
          <div
            class="ContBox"
            v-show="quayTestShow.checkTopology"
          >
            <el-form
              ref="quayForms"
              :model="quayTestForms"
              class="demo-form-inline"
            >
          <div class="ContBox" v-show="quayTestShow.checkTopology">
            <el-form ref="quayForms" :model="quayTestForms" class="demo-form-inline">
              <el-form-item>
                <el-checkbox
                  checked
                  disabled
                >拓扑检查:(*地形图*.dwg)
                <el-checkbox checked disabled>拓扑检查:(*地形图*.dwg)
                </el-checkbox>
              </el-form-item>
              <el-form-item>
@@ -845,20 +385,10 @@
              </el-form-item>
            </el-form>
          </div>
          <div
            class="ContBox"
            v-show="quayTestShow.checkDom"
          >
            <el-form
              ref="quayForms"
              :model="quayTestForms"
              class="demo-form-inline"
            >
          <div class="ContBox" v-show="quayTestShow.checkDom">
            <el-form ref="quayForms" :model="quayTestForms" class="demo-form-inline">
              <el-form-item>
                <el-checkbox
                  checked
                  disabled
                >栅格检查:(.tif/.img)
                <el-checkbox checked disabled>栅格检查:(.tif/.img)
                </el-checkbox>
              </el-form-item>
              <el-form-item>
@@ -879,20 +409,10 @@
              </el-form-item>
            </el-form>
          </div>
          <div
            class="ContBox"
            v-show="quayTestShow.checkDem"
          >
            <el-form
              ref="quayForms"
              :model="quayTestForms"
              class="demo-form-inline"
            >
          <div class="ContBox" v-show="quayTestShow.checkDem">
            <el-form ref="quayForms" :model="quayTestForms" class="demo-form-inline">
              <el-form-item>
                <el-checkbox
                  checked
                  disabled
                >高程检查:(.tif/.img)
                <el-checkbox checked disabled>高程检查:(.tif/.img)
                </el-checkbox>
              </el-form-item>
              <el-form-item>
@@ -913,20 +433,10 @@
              </el-form-item>
            </el-form>
          </div>
          <div
            class="ContBox"
            v-show="quayTestShow.checkLaz"
          >
            <el-form
              ref="quayForms"
              :model="quayTestForms"
              class="demo-form-inline"
            >
          <div class="ContBox" v-show="quayTestShow.checkLaz">
            <el-form ref="quayForms" :model="quayTestForms" class="demo-form-inline">
              <el-form-item>
                <el-checkbox
                  checked
                  disabled
                >点云检查:(.laz + *激光点云*.xls/.xlsx)
                <el-checkbox checked disabled>点云检查:(.laz + *激光点云*.xls/.xlsx)
                </el-checkbox>
              </el-form-item>
              <el-form-item>
@@ -939,20 +449,10 @@
              </el-form-item>
            </el-form>
          </div>
          <div
            class="ContBox"
            v-show="quayTestShow.checkOsgb"
          >
            <el-form
              ref="quayForms"
              :model="quayTestForms"
              class="demo-form-inline"
            >
          <div class="ContBox" v-show="quayTestShow.checkOsgb">
            <el-form ref="quayForms" :model="quayTestForms" class="demo-form-inline">
              <el-form-item>
                <el-checkbox
                  checked
                  disabled
                >OSGB检查:(.osgb + *倾斜摄影*.xls/.xlsx)
                <el-checkbox checked disabled>OSGB检查:(.osgb + *倾斜摄影*.xls/.xlsx)
                </el-checkbox>
              </el-form-item>
              <el-form-item>
@@ -967,111 +467,47 @@
          </div>
        </div>
      </div>
      <span
        slot="footer"
        class="dialog-footer"
      >
        <el-button
          class="elBotton"
          size="small"
          @click="quayTestVisible = false"
        >取 æ¶ˆ</el-button>
        <el-button
          class="elBotton"
          size="small"
          @click="commonQuayTest"
        >ç¡® å®š</el-button>
      <span slot="footer" class="dialog-footer">
        <el-button class="elBotton" size="small" @click="quayTestVisible = false">取 æ¶ˆ</el-button>
        <el-button class="elBotton" size="small" @click="commonQuayTest">ç¡® å®š</el-button>
      </span>
    </el-dialog>
    <!-- æ•´ä½“文件质检弹窗 -->
    <el-dialog
      title="数据质检"
      :visible.sync="testQuayVisible"
      :modal="false"
      :before-close="handleTestQuayCloseDown"
    >
      <el-form
        :model="formCheckAll"
        label-position="top"
      >
    <el-dialog title="数据质检" :visible.sync="testQuayVisible" :modal="false" :before-close="handleTestQuayCloseDown">
      <el-form :model="formCheckAll" label-position="top">
        <el-form-item label="项目名称">
          <el-input
            disabled
            v-model="formCheckAll.xmmc"
            style="width:85%"
          ></el-input>
          <el-input 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%"
          ></el-input>
          <el-input disabled v-model="formCheckAll.sjzy" style="width:85%"></el-input>
        </el-form-item>
        <el-form-item
          v-show="formCheckAll.isDiZai"
          label="地灾类型"
        >
        <el-form-item v-show="formCheckAll.isDiZai" label="地灾类型">
          <el-select
            v-model="formCheckAll.diZaiType"
            placeholder="请选择"
            style="width:85%"
          >
            <el-option
              v-for="item in disOptions"
              :key="item.value"
              :label="item.label"
              :value="item.value"
            >
          <el-select v-model="formCheckAll.diZaiType" placeholder="请选择" style="width:85%">
            <el-option 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"
      >
        <el-button
          class="elBotton"
          size="small"
          @click="testQuayVisible = false"
        >取 æ¶ˆ</el-button>
        <el-button
          class="elBotton"
          size="small"
          @click="commonTestQuay()"
        >ç¡® å®š</el-button>
      <span slot="footer" class="dialog-footer">
        <el-button class="elBotton" size="small" @click="testQuayVisible = false">取 æ¶ˆ</el-button>
        <el-button class="elBotton" size="small" @click.stop="commonTestQuay()">ç¡® å®š</el-button>
      </span>
    </el-dialog>
    <!-- ifream下载文件地址 -->
    <iframe
      id="downFrame"
      src=""
      style="display: none; border: 0; padding: 0; height: 0; width: 0"
    ></iframe>
    <iframe 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%"
    >
    <el-dialog :title="$t('dataManage.datawarehousing')" :visible.sync="dialogWarehousing" width="70%">
      <div class="dialogBox">
        <div
          class="transFarBox subpage_Div"
          style="border: 1px solid #E4E7ED;"
        >
        <div class="transFarBox subpage_Div" style="border: 1px solid #E4E7ED;">
          <ul>
            <li
              @click="singleElection(item)"
              v-for="(item, i) in tableWareOne"
              :class="{ active: activeName == item.eventid }"
            >{{ item.tab }} ({{ item.type }})
            <li @click="singleElection(item)" v-for="(item, i) in tableWareOne"
              :class="{ active: activeName == item.eventid }">{{ item.tab }} ({{ item.type }})
            </li>
          </ul>
        </div>
@@ -1083,16 +519,10 @@
          </div>
        </div>
        <div
          class="transFarBox subpage_Div"
          style="border: 1px solid #E4E7ED;"
        >
        <div class="transFarBox subpage_Div" style="border: 1px solid #E4E7ED;">
          <ul>
            <li
              @click="singleElection2(item)"
              v-for="(item, i) in tableWareTwo"
              :class="{ active: activeName2 == item.entity }"
            >{{ item.tabDesc }} ( {{ item.ns }}.{{ item.tab }})
            <li @click="singleElection2(item)" v-for="(item, i) in tableWareTwo"
              :class="{ active: activeName2 == item.entity }">{{ item.tabDesc }} ( {{ item.ns }}.{{ item.tab }})
            </li>
          </ul>
        </div>
@@ -1103,383 +533,139 @@
            </div>
            <br />
            <div style="padding:2%">
              <el-link><i
                  @click="setWareTableChangeRight"
                  class="el-icon-d-arrow-right"
                ></i></el-link>
              <el-link><i @click="setWareTableChangeRight" class="el-icon-d-arrow-right"></i></el-link>
            </div>
          </div>
        </div>
        <div
          class="transFarBox subpage_Div"
          style="border: 1px solid #E4E7ED;"
        >
        <div class="transFarBox subpage_Div" style="border: 1px solid #E4E7ED;">
          <ul>
            <li
              @click="singleElection3(i)"
              v-for="(item, i) in tableWareThree"
              :class="{ active: activeName3 ==( item.tab+i)}"
            >{{ item.tab }} ( {{ item.tabDesc }} {{ item.ns }}.{{ item.tabs }} )
            <li @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"
      >
        <el-button
          size="small"
          @click="autoMatchWare"
          type="primary"
        >自动匹配</el-button>
        <el-button
          size="small"
          type="info"
          @click="setInsrtWareTableClose "
        >取 æ¶ˆ</el-button>
        <el-button
          size="small"
          type="primary"
          @click="setInsrtWareTable"
        >ç¡® å®š</el-button>
      <span slot="footer" class="dialog-footer">
        <el-button size="small" @click="autoMatchWare" type="primary">自动匹配</el-button>
        <el-button size="small" type="info" @click="setInsrtWareTableClose">取 æ¶ˆ</el-button>
        <el-button size="small" type="primary" @click="setInsrtWareTable">ç¡® å®š</el-button>
      </span>
    </el-dialog>
    <el-dialog
      :title="$t('common.details')"
      :visible.sync="dialogVisible"
      width="70%"
    >
    <el-dialog :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%"
        >
          <el-table-column
            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"
          ></el-table-column>
        <el-table ref="filterTable" :data="dbTableData" height="90%" border style="width: 100%">
          <el-table-column 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"></el-table-column>
        </el-table>
        <div
          style="margin-top: 15px"
          class="pagination_box"
        >
          <el-pagination
            @size-change="handleLoaderSizeChange"
            @current-change="handleLoaderCurrentChange"
            :current-page="listLoader.pageIndex"
            :page-sizes="[10, 50, 100, 200]"
            :page-size="listLoader.pageSize"
            layout="total, sizes, prev, pager, next, jumper"
            :total="count1"
          >
        <div style="margin-top: 15px" class="pagination_box">
          <el-pagination @size-change="handleLoaderSizeChange" @current-change="handleLoaderCurrentChange"
            :current-page="listLoader.pageIndex" :page-sizes="[10, 50, 100, 200]" :page-size="listLoader.pageSize"
            layout="total, sizes, prev, pager, next, jumper" :total="count1">
          </el-pagination>
        </div>
      </div>
    </el-dialog>
    <el-dialog
      :close-on-click-modal="false"
      :title="sc.label1"
      :visible.sync="jindudialogVisible"
      width="30%"
    >
    <el-dialog :close-on-click-modal="false" :title="sc.label1" :visible.sync="jindudialogVisible" width="30%">
      <div>
        <div>
          {{sc.label2}}
          {{ sc.label2 }}
        </div>
        <div>
          <el-progress
            :percentage="jindutiao"
            :format="format"
          ></el-progress>
          <el-progress :percentage="jindutiao" :format="format"></el-progress>
        </div>
      </div>
    </el-dialog>
    <el-dialog
      :title="$t('common.details')"
      :visible.sync="enclosureVisible"
      :show-close="false"
    >
      <span
        style="font-size:20px"
        class="scopeRowColor"
      >{{ enclosureTitle }}不能上传附件是否继续</span>
      <span
        slot="footer"
        class="dialog-footer"
      >
    <el-dialog :title="$t('common.details')" :visible.sync="enclosureVisible" :show-close="false">
      <span style="font-size:20px" class="scopeRowColor">{{ enclosureTitle }}不能上传附件是否继续</span>
      <span slot="footer" class="dialog-footer">
        <el-button @click="enclosureVisible = false">取 æ¶ˆ</el-button>
        <el-button
          type="primary"
          @click="uploadAnFiles"
        >ç»§ç»­</el-button>
        <el-button type="primary" @click="uploadAnFiles">ç»§ç»­</el-button>
      </span>
    </el-dialog>
    <el-dialog
      :title="fromQueryMeta.title"
      :visible.sync="queryMetaFlag"
      width="70%"
    >
    <el-dialog :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)"
        >
        <el-table ref="filterTable" :data="metaDataTable" style="width: 100%" height="calc(100% - 130px)">
          <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 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')"
          >
          <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>
              <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-column align="center" prop="rows" :label="$t('common.lineNuber')" />
          <el-table-column align="center" prop="desc" :label="$t('dataManage.dataUpObj.describe')" />
        </el-table>
        <div
          style="margin-top: 15px"
          class="pagination_box"
        >
          <el-pagination
            @size-change="handleMetaSizeChange"
            @current-change="handMetaCurrentChange"
            :current-page="listMetaData.pageIndex"
            :page-sizes="[10, 50, 100, 200]"
            :page-size="listMetaData.pageSize"
            layout="total, sizes, prev, pager, next, jumper"
            :total="listMetaData.count"
          >
        <div style="margin-top: 15px" class="pagination_box">
          <el-pagination @size-change="handleMetaSizeChange" @current-change="handMetaCurrentChange"
            :current-page="listMetaData.pageIndex" :page-sizes="[10, 50, 100, 200]" :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%"
    >
    <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 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')"
          >
          <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>
              <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-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="warehouseDialog"
      width="70%"
      :close-on-click-modal="false"
      :before-close="handleWarehouseClose"
    >
    <el-dialog :title="fromQueryMeta.title" :visible.sync="warehouseDialog" width="70%" :close-on-click-modal="false"
      :before-close="handleWarehouseClose">
      <div style="height:65vh">
        <el-table
          ref="wareTable"
          :data="wareData"
          style="width: 100%"
          height="calc(100% - 1px)"
        >
          <el-table-column
            align="center"
            prop="name"
            :label="$t('common.name')"
          />
          <el-table-column
            align="center"
            prop="sizes"
            :label="$t('common.size')"
            :formatter="changeSizeFile"
          />
          <el-table-column
            align="center"
            prop="type"
            :label="$t('common.type')"
          />
          <el-table-column
            align="center"
            prop="msg"
            :label="$t('common.warehousResults')"
          />
        <el-table ref="wareTable" :data="wareData" style="width: 100%" height="calc(100% - 1px)">
          <el-table-column align="center" prop="name" :label="$t('common.name')" />
          <el-table-column align="center" prop="sizes" :label="$t('common.size')" :formatter="changeSizeFile" />
          <el-table-column align="center" prop="type" :label="$t('common.type')" />
          <el-table-column align="center" prop="msg" :label="$t('common.warehousResults')" />
        </el-table>
      </div>
    </el-dialog>
    <input
      name="file1"
      :accept="'.zip'"
      type="file"
      id="editimageFile"
      multiple="multiple"
      style="display: none"
      @change="uploadAnFilesChange"
    />
    <input name="file1" :accept="'.zip'" type="file" id="editimageFile" multiple="multiple" style="display: none"
      @change="uploadAnFilesChange" />
    <el-dialog :visible.sync="noteVisible">
      <div class="nodeBox">
        <div style="text-align: center;">
@@ -1491,12 +677,16 @@
          1、项目整体上传
        </h3>
        <h5>&nbsp; &nbsp; &nbsp; &nbsp;按照项目标准结构组织数据并打zip包,按要求编辑好WBS文件。选择需要上传对应的项目名称,选择zip数据包和WBS文件,完成整体项目数据上传,上传入库完成后,系统自动解压zip包,以zip包内原始文件格式存储在预先组织的目录结构下。</h5>
        <h5>&nbsp; &nbsp; &nbsp;
          &nbsp;按照项目标准结构组织数据并打zip包,按要求编辑好WBS文件。选择需要上传对应的项目名称,选择zip数据包和WBS文件,完成整体项目数据上传,上传入库完成后,系统自动解压zip包,以zip包内原始文件格式存储在预先组织的目录结构下。
        </h5>
        <h3>
          2、单文件上传
        </h3>
        <h5>&nbsp; &nbsp; &nbsp; &nbsp;上传单个文件,选择需要上传的存储目录位置、数据版本、数据专业、数据(.xls、.xlsx、pdf、las等格式)、元数据等,完成单个文件数据上传;</h5>
        <h5>&nbsp; &nbsp; &nbsp; &nbsp;批量上传一个最小目录文件夹下的各类数据,选择需要上传数据的存储目录位置、数据版本、数据专业、数据(zip格式)、元数据等,完成一个文件夹下各类数据上传,上传入库完成后,系统自动解压zip包,以zip包内原始文件存储数据。</h5>
        <h5>&nbsp; &nbsp; &nbsp;
          &nbsp;批量上传一个最小目录文件夹下的各类数据,选择需要上传数据的存储目录位置、数据版本、数据专业、数据(zip格式)、元数据等,完成一个文件夹下各类数据上传,上传入库完成后,系统自动解压zip包,以zip包内原始文件存储数据。
        </h5>
        <h5>&nbsp; &nbsp; &nbsp; &nbsp;单文件上传不支持多级目录文件夹以zip压缩包方式上传。</h5>
        <h3>
          3、特定格式单文件上传要求
@@ -2474,6 +1664,7 @@
        this.loading = false;
        return;
      }
      for (var i in this.multipleSelection) {
        var name = this.multipleSelection[i].name;
        var path = this.multipleSelection[i].path;
@@ -2485,12 +1676,14 @@
          this.formCheckAll.wbsPath = path;
        }
      }
      this.formCheckAll.sjfl = '数字化成果'
      const data = await dataUpload_uploadChecks(this.formCheckAll);
      if (data.code != 200) {
        this.$message.error("数据质检提交失败");
        this.taskStatus++;
        this.getStartTestQuayTaskStatus();
        this.jindudialogVisible = false;
        this.loading = false;
        return;
      }
      var reset = data.result;
@@ -2528,17 +1721,19 @@
      this.quayTestForms.zipPath = this.multipleSelection[this.taskStatus].path;
      // this.quayTestForms.wbsPath = this.multipleSelection[this.taskStatus].path;
      if (this.quayTestForms.zipPath.indexOf(".zip") == -1) {
        this.taskStatus++;
        this.getStartTaskStatus();
      } else {
        this.quayTestForms.names = this.pathBak;
        this.quayTestForms.names = this.pathBak
        var value = this.getCheckedKeys
        var bak = value.data.fullName.split("\\");
        this.quayTestForms.xmmc = bak[this.taskStatus];
        this.quayTestForms.sjzy = this.formInline.specialtyId;
        this.quayTestForms.zipPath =
          this.multipleSelection[this.taskStatus].path;
        // this.quayTestForms.wbsPath = this.multipleSelection[this.taskStatus].path;
        this.quayTestForms.sjfl = '数字化成果'
        const data = await dataUpload_uploadChecks(this.quayTestForms);
        if (data.code != 200) {
@@ -2606,7 +1801,11 @@
      }
      this.progress = std / (res.length * 100);
      for (var i in this.tableData) {
        if (!this.multipleSelection[this.taskStatus]) {
          break;
        }
        if (
          this.tableData[i].path == this.multipleSelection[this.taskStatus].path
        ) {
          this.$set(this, "jindutiao", parseInt(this.progress * 100));
@@ -2997,7 +2196,8 @@
        if (fileExcel.length != 1) {
          return this.$message("请选择一个WBS文件");
        }
        this.formCheckAll.names = this.pathBak;
        this.formCheckAll.names = JSON.parse(this.pathBak).toString();
        var val = this.entryOption.filter((res) => {
          if (res.id == this.formInline.dirid) {
            return res;
@@ -3356,23 +2556,28 @@
    z-index: 9999;
  }
}
.nodeBox {
  h5 {
    line-height: 26px;
    font-size: 14px;
    span {
      font-weight: bolder;
    }
  }
  h3 {
    line-height: 40px;
    font-size: 16px;
    font-weight: bold;
  }
  h1 {
    font-weight: bold;
  }
}
.inquire {
  padding: 8px;
  //margin-top: 20px;
src/views/datamanage/uploadmanage.vue
@@ -1227,18 +1227,18 @@
        std.push(this.multipleSelection[i].id)
      }
      if (this.formInline.type == 'DOM') {
        const data1 = await publish_selectRasterCs({
          ids: std.toString()
        })
        if (data1.code == 200 && data1.result.length == 0) {
        } else {
          this.rasterCsOption = data1.result;
          this.insertDialogVisible = false;
          this.rasterCsVisible = true;
          return
        }
      }
      // if (this.formInline.type == 'DOM') {
        // const data1 = await publish_selectRasterCs({
        //   ids: std.toString()
        // })
        // if (data1.code == 200 && data1.result.length == 0) {
        // } else {
        //   this.rasterCsOption = data1.result;
        //   this.insertDialogVisible = false;
        //   this.rasterCsVisible = true;
        //   return
        // }
      // }
      var obj = {
@@ -1469,6 +1469,7 @@
    },
    //预览弹窗打开
    setPreviewLayer(res) {
      res.stype= 'yl'
      this.$store.state.previewLayer = res;
      this.dialogVisible = true;
      this.showMapView = true;
src/views/userManage/roleManage.vue
@@ -1,40 +1,19 @@
<template>
  <div class="logLog_box">
    <My-bread
      :list="[
        `${$t('operatManage.operatManage')}`,
        `${$t('userManage.roleManage')}`,
      ]"
    ></My-bread>
    <My-bread :list="[
      `${$t('operatManage.operatManage')}`,
      `${$t('userManage.roleManage')}`,
    ]"></My-bread>
    <el-divider />
    <div class="inquire subpage_Div" ref="container">
      <el-form ref="ruleForm" :model="roleForm" :inline="true">
        <div class="flex_box">
          <div style="margin-right: auto">
            <el-form-item
              :label="$t('userManage.RM.ownedSystem')"
              prop="ownedSystem"
            >
              <el-select
                :popper-append-to-body="false"
                size="small"
                v-model="roleForm.depValue"
                :placeholder="$t('userManage.RM.ownedSystemHolder')"
                style="width: 200px"
                ref="treeSelect"
              >
                <el-option
                  :value="roleForm.depid"
                  :label="roleForm.depValue"
                  style="height: auto"
                >
                  <el-tree
                    ref="tree"
                    :data="depList"
                    node-key="id"
                    :props="props"
                    @node-click="handleRouleDepList"
                  />
            <el-form-item :label="$t('userManage.RM.ownedSystem')" prop="ownedSystem">
              <el-select :popper-append-to-body="false" size="small" v-model="roleForm.depValue"
                :placeholder="$t('userManage.RM.ownedSystemHolder')" style="width: 200px" ref="treeSelect">
                <el-option :value="roleForm.depid" :label="roleForm.depValue" style="height: auto">
                  <el-tree ref="tree" :data="depList" node-key="id" :props="props" @node-click="handleRouleDepList" />
                </el-option>
              </el-select>
              <!-- <el-input
@@ -44,12 +23,8 @@
          /> -->
            </el-form-item>
            <el-form-item :label="$t('userManage.RM.roleName')" prop="username">
              <el-input
                v-model="roleForm.username"
                :placeholder="$t('userManage.RM.roleNameHolder')"
                size="small"
                style="width: 200px"
              >
              <el-input v-model="roleForm.username" :placeholder="$t('userManage.RM.roleNameHolder')" size="small"
                style="width: 200px">
                <i slot="suffix" class="el-icon-search" @click="onSubmit"></i>
              </el-input>
            </el-form-item>
@@ -65,33 +40,21 @@
            <!--                }}</el-button>-->
            <!--            </el-form-item>-->
            <el-form-item>
              <el-button
                type="success"
                size="small"
                @click="setInsertFormdialog"
                v-if="menuStatus.insert"
                ><i class="el-icon-circle-plus-outline"></i> &nbsp;{{
                  $t("userManage.RM.add")
                }}</el-button
              >
              <el-button type="success" size="small" @click="setInsertFormdialog" v-if="menuStatus.insert"><i
                  class="el-icon-circle-plus-outline"></i> &nbsp;{{
                    $t("userManage.RM.add")
                  }}</el-button>
            </el-form-item>
            <el-form-item>
              <el-button
                type="danger"
                size="small"
                @click="handleDelete()"
                v-if="menuStatus.delete"
                ><i class="el-icon-delete"></i>&nbsp;{{
                  $t("common.delete")
                }}</el-button
              >
              <el-button type="danger" size="small" @click="handleDelete()" v-if="menuStatus.delete"><i
                  class="el-icon-delete"></i>&nbsp;{{
                    $t("common.delete")
                  }}</el-button>
            </el-form-item>
            <el-form-item>
              <el-button type="info" size="small" @click="resetForm('ruleForm')"
                ><i class="el-icon-delete"></i>&nbsp;{{
                  $t("userManage.RM.reset")
                }}</el-button
              >
              <el-button type="info" size="small" @click="resetForm('ruleForm')"><i class="el-icon-delete"></i>&nbsp;{{
                $t("userManage.RM.reset")
              }}</el-button>
            </el-form-item>
          </div>
        </div>
@@ -145,48 +108,22 @@
    </div>
    <div class="dividing-line"></div>
    <div class="table_box subpage_Div" :style="styleVar">
      <el-table
        :data="tableData"
        style="width: 100%"
        border
        height="calc(100% - 45px)"
        @selection-change="handleSelectionChange"
      >
      <el-table :data="tableData" style="width: 100%" border height="calc(100% - 45px)"
        @selection-change="handleSelectionChange">
        <el-table-column type="selection" width="55" />
        <el-table-column
          align="center"
          type="index"
          :label="$t('userManage.RM.index')"
          width="70px"
        />
        <el-table-column align="center" type="index" :label="$t('userManage.RM.index')" width="70px" />
        <el-table-column align="center" prop="id" v-if="false" />
        <el-table-column
          align="center"
          prop="name"
          :label="$t('userManage.RM.roleName')"
        />
        <el-table-column align="center" prop="name" :label="$t('userManage.RM.roleName')" />
        <el-table-column
          align="center"
          prop="depName"
          :label="$t('userManage.RM.ownedSystem')"
        />
        <el-table-column align="center" prop="depName" :label="$t('userManage.RM.ownedSystem')" />
        <el-table-column
          align="center"
          prop="isAdmin"
          :label="$t('userManage.RM.isAdmin')"
        >
          <template slot-scope="scope">
        <el-table-column align="center" prop="isAdmin" :label="$t('userManage.RM.isAdmin')" :formatter="formateIsAdmin">
          <!-- <template slot-scope="scope">
            <span v-if="scope.row.isAdmin == 1">是 </span>
            <span v-else>否</span>
          </template>
          </template> -->
        </el-table-column>
        <el-table-column
          align="center"
          prop="descr"
          :label="$t('userManage.RM.describe')"
        />
        <el-table-column align="center" prop="descr" :label="$t('userManage.RM.describe')" />
        <!-- <el-table-column
          align="center"
@@ -215,93 +152,39 @@
          prop="bak"
          :label="$t('userManage.RM.remarks')"
        /> -->
        <el-table-column
          fixed="right"
          :label="$t('common.operate')"
          width="200"
        >
        <el-table-column fixed="right" :label="$t('common.operate')" width="200">
          <template slot-scope="scope">
            <el-button
              type="primary"
              @click="showDetail(scope.$index, scope.row)"
              size="small"
              plain
              >{{ $t("common.see") }}</el-button
            >
            <el-button
              v-if="menuStatus.update"
              type="warning"
              @click="handleEdit(scope.$index, scope.row)"
              size="small"
              plain
              >{{ $t("common.update") }}</el-button
            >
            <el-button type="primary" @click="showDetail(scope.$index, scope.row)" size="small" plain>{{ $t("common.see")
            }}</el-button>
            <el-button v-if="menuStatus.update" type="warning" @click="handleEdit(scope.$index, scope.row)" size="small"
              plain>{{ $t("common.update") }}</el-button>
          </template>
        </el-table-column>
      </el-table>
      <div style="margin-top: 10px" class="pagination_box">
        <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 @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-dialog
      :title="$t('userManage.RM.insertRole')"
      :before-close="handleClose"
      style="overflow: hidden"
      :visible.sync="InsertFormdialog"
    >
    <el-dialog :title="$t('userManage.RM.insertRole')" :before-close="handleClose" style="overflow: hidden"
      :visible.sync="InsertFormdialog">
      <div style="height: 500px; overflow: auto">
        <el-form :model="insertform" label-position="top">
          <el-form-item
            :label="$t('userManage.RM.roleName')"
            :label-width="formLabelWidth"
          >
            <el-input
              style="width: 85%"
              v-model="insertform.name"
              autocomplete="off"
              :placeholder="
                $t('shuJuGuanLi.shuJuJianSuo.valuetwo') +
                $t('userManage.RM.roleName')
              "
            ></el-input>
          <el-form-item :label="$t('userManage.RM.roleName')" :label-width="formLabelWidth">
            <el-input style="width: 85%" v-model="insertform.name" autocomplete="off" :placeholder="$t('shuJuGuanLi.shuJuJianSuo.valuetwo') +
              $t('userManage.RM.roleName')
              "></el-input>
          </el-form-item>
          <el-form-item
            :label="$t('userManage.RM.ownedSystem')"
            :label-width="formLabelWidth"
            :prop="insertform.depValue"
            :rules="[{ required: true, message: '不能为空' }]"
          >
            <el-select
              :popper-append-to-body="false"
              v-model="insertform.depValue"
              :placeholder="
                $t('shuJuGuanLi.shuJuJianSuo.valuetree') +
                $t('userManage.RM.ownedSystem')
              "
              style="width: 85%"
            >
              <el-option
                :value="insertform.depid"
                :label="insertform.depValue"
                style="height: auto"
              >
                <el-tree
                  ref="tree"
                  :data="depList"
                  node-key="id"
                  :props="props"
                  @node-click="handleDepList"
                />
          <el-form-item :label="$t('userManage.RM.ownedSystem')" :label-width="formLabelWidth" :prop="insertform.depValue"
            :rules="[{ required: true, message: '不能为空' }]">
            <el-select :popper-append-to-body="false" v-model="insertform.depValue" :placeholder="$t('shuJuGuanLi.shuJuJianSuo.valuetree') +
              $t('userManage.RM.ownedSystem')
              " style="width: 85%">
              <el-option :value="insertform.depid" :label="insertform.depValue" style="height: auto">
                <el-tree ref="tree" :data="depList" node-key="id" :props="props" @node-click="handleDepList" />
              </el-option>
            </el-select>
            <!-- <el-input
@@ -316,24 +199,12 @@
            @click="showDepTree(2)"
          >{{ $t('common.choose') }}</el-button> -->
          </el-form-item>
          <el-form-item
            :label="$t('userManage.RM.describe')"
            :label-width="formLabelWidth"
          >
            <el-input
              style="width: 85%"
              v-model="insertform.descr"
              autocomplete="off"
              :placeholder="
                $t('shuJuGuanLi.shuJuJianSuo.valuetwo') +
                $t('userManage.RM.describe')
              "
            ></el-input>
          <el-form-item :label="$t('userManage.RM.describe')" :label-width="formLabelWidth">
            <el-input style="width: 85%" v-model="insertform.descr" autocomplete="off" :placeholder="$t('shuJuGuanLi.shuJuJianSuo.valuetwo') +
              $t('userManage.RM.describe')
              "></el-input>
          </el-form-item>
          <el-form-item
            :label="$t('userManage.RM.isAdmin')"
            :label-width="formLabelWidth"
          >
          <el-form-item :label="$t('userManage.RM.isAdmin')" :label-width="formLabelWidth">
            <!-- <el-radio
           
              label="1"
@@ -342,35 +213,16 @@
              v-model="insertform.isAdmin"
              label="0"
            >否</el-radio> -->
            <el-select
              style="width: 85%"
              v-model="insertform.isAdmin"
              :placeholder="
                $t('shuJuGuanLi.shuJuJianSuo.valuetree') +
                $t('userManage.RM.isAdmin')
              "
            >
              <el-option
                v-for="item in options"
                :key="item.value"
                :label="item.label"
                :value="item.value"
              ></el-option>
            <el-select style="width: 85%" v-model="insertform.isAdmin" :placeholder="$t('shuJuGuanLi.shuJuJianSuo.valuetree') +
              $t('userManage.RM.isAdmin')
              ">
              <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"></el-option>
            </el-select>
          </el-form-item>
          <el-form-item
            :label="$t('userManage.RM.remarks')"
            :label-width="formLabelWidth"
          >
            <el-input
              style="width: 85%"
              v-model="insertform.bak"
              autocomplete="off"
              :placeholder="
                $t('shuJuGuanLi.shuJuJianSuo.valuetwo') +
                $t('userManage.RM.remarks')
              "
            ></el-input>
          <el-form-item :label="$t('userManage.RM.remarks')" :label-width="formLabelWidth">
            <el-input style="width: 85%" v-model="insertform.bak" autocomplete="off" :placeholder="$t('shuJuGuanLi.shuJuJianSuo.valuetwo') +
              $t('userManage.RM.remarks')
              "></el-input>
          </el-form-item>
        </el-form>
      </div>
@@ -383,47 +235,18 @@
        }}</el-button>
      </div>
    </el-dialog>
    <el-dialog
      :title="$t('userManage.RM.updateRole')"
      :visible.sync="UpdateFormdialog"
      :before-close="handleCloseEdit"
    >
    <el-dialog :title="$t('userManage.RM.updateRole')" :visible.sync="UpdateFormdialog" :before-close="handleCloseEdit">
      <div style="height: 500px; overflow: auto">
        <el-form :model="updateform" label-position="top">
          <el-form-item
            :label="$t('userManage.RM.roleName')"
            :label-width="formLabelWidth"
          >
            <el-input
              v-model="updateform.name"
              autocomplete="off"
              style="width: 85%"
            ></el-input>
          <el-form-item :label="$t('userManage.RM.roleName')" :label-width="formLabelWidth">
            <el-input v-model="updateform.name" autocomplete="off" style="width: 85%"></el-input>
          </el-form-item>
          <el-form-item
            :label="$t('userManage.RM.ownedSystem')"
            :label-width="formLabelWidth"
            :prop="updateform.depValue"
          >
            <el-select
              :popper-append-to-body="false"
              v-model="updateform.depValue"
              placeholder="请选择"
              style="width: 85%"
            >
              <el-option
                :value="updateform.depid"
                :label="updateform.depValue"
                style="height: auto"
              >
                <el-tree
                  ref="tree"
                  :data="depList"
                  node-key="id"
                  :props="props"
                  @node-click="handleUpdataDepList"
                />
          <el-form-item :label="$t('userManage.RM.ownedSystem')" :label-width="formLabelWidth"
            :prop="updateform.depValue">
            <el-select :popper-append-to-body="false" v-model="updateform.depValue" placeholder="请选择" style="width: 85%">
              <el-option :value="updateform.depid" :label="updateform.depValue" style="height: auto">
                <el-tree ref="tree" :data="depList" node-key="id" :props="props" @node-click="handleUpdataDepList" />
              </el-option>
            </el-select>
@@ -439,10 +262,7 @@
            @click="showDepTree(3)"
          >{{ $t('common.choose') }}</el-button> -->
          </el-form-item>
          <el-form-item
            :label="$t('userManage.RM.isAdmin')"
            :label-width="formLabelWidth"
          >
          <el-form-item :label="$t('userManage.RM.isAdmin')" :label-width="formLabelWidth">
            <!-- <el-radio
              v-model="updateform.isAdmin"
              label="1"
@@ -452,33 +272,14 @@
              label="0"
            >否</el-radio> -->
            <el-select style="width: 85%" v-model="updateform.isAdmin">
              <el-option
                v-for="item in options"
                :key="item.value"
                :label="item.label"
                :value="item.value"
              ></el-option>
              <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"></el-option>
            </el-select>
          </el-form-item>
          <el-form-item
            :label="$t('userManage.RM.describe')"
            :label-width="formLabelWidth"
          >
            <el-input
              v-model="updateform.descr"
              autocomplete="off"
              style="width: 85%"
            ></el-input>
          <el-form-item :label="$t('userManage.RM.describe')" :label-width="formLabelWidth">
            <el-input v-model="updateform.descr" autocomplete="off" style="width: 85%"></el-input>
          </el-form-item>
          <el-form-item
            :label="$t('userManage.RM.remarks')"
            :label-width="formLabelWidth"
          >
            <el-input
              v-model="updateform.bak"
              autocomplete="off"
              style="width: 85%"
            ></el-input>
          <el-form-item :label="$t('userManage.RM.remarks')" :label-width="formLabelWidth">
            <el-input v-model="updateform.bak" autocomplete="off" style="width: 85%"></el-input>
          </el-form-item>
        </el-form>
      </div>
@@ -496,12 +297,8 @@
        <role-dep-tree></role-dep-tree>
      </div>
      <div class="btnBox">
        <el-button type="primary" size="small" @click="selectCataName"
          >确定</el-button
        >
        <el-button type="info" size="small" @click="showCata = false"
          >取消</el-button
        >
        <el-button type="primary" size="small" @click="selectCataName">确定</el-button>
        <el-button type="info" size="small" @click="showCata = false">取消</el-button>
      </div>
    </div>
    <div class="infoBox_box" v-show="showinfoBox">
@@ -725,8 +522,8 @@
      this.itemdetail.createUser = this.itemdetail.createName;
      this.itemdetail.updateUser = this.itemdetail.updateName;
      this.itemdetail.admin =
        parseInt(this.itemdetail.isAdmin) === 0 ? "否" : "是";
      this.itemdetail.admin =this.formateIsAdmin(this.itemdetail)
    },
    handleSelectionChange(val) {
      this.multipleSelection = val;
@@ -735,249 +532,270 @@
      let date = row[column.property];
      return this.formomentTime(date);
    },
    formomentTime(date) {
      if (date === undefined || date === null) {
        return;
      }
      return moment(parseInt(date)).format("YYYY-MM-DD HH:mm:ss");
    },
    showDepTree(res) {
      this.showCata = true;
      this.elTreeFlag = res;
    },
    selectCataName() {
      this.cataName = this.$store.state.catalogueName;
      this.path_id = this.$store.state.cataNode.id;
      var value;
      if (this.cataName.indexOf(">") != -1) {
        var data = this.$store.state.catalogueName.split(">");
        value = data[data.length - 1];
      } else {
        value = this.$store.state.catalogueName;
      }
      this.$store.commit("changeCata", ""); //清空state的面包屑
      this.$store.commit("changeNode", ""); //清空state的节点对象
      this.showCata = false;
      switch (this.elTreeFlag) {
    formateIsAdmin(row, column) {
      switch (row.isAdmin) {
        case 0:
          return "普通用户";
          break;
        case 1:
          this.roleForm.value = value;
          this.roleForm.depid = this.path_id;
          return "超级管理员";
          break;
        case 2:
          this.insertform.depid = this.path_id;
          this.insertform.depValue = value;
          return "数据管理员";
          break;
        case 3:
          this.updateform.depid = this.path_id;
          this.updateform.depValue = value;
          return "领导";
          break;
      }
    },
    async getRoleTabelData() {
      if (this.listData.tab == "") {
        delete this.listData.tab;
      }
      this.listData.name = this.roleForm.username;
      this.listData.depid = this.roleForm.depid;
      const data = await select_Role_ByPageAndCount(this.listData);
      if (data.code != 200) {
        this.$message.error("列表调用失败");
      }
      this.tableData = data.result;
      this.count = data.count;
    },
formomentTime(date) {
  if (date === undefined || date === null) {
    return;
  }
  return moment(parseInt(date)).format("YYYY-MM-DD HH:mm:ss");
},
showDepTree(res) {
  this.showCata = true;
  this.elTreeFlag = res;
},
selectCataName() {
  this.cataName = this.$store.state.catalogueName;
  this.path_id = this.$store.state.cataNode.id;
  var value;
  if (this.cataName.indexOf(">") != -1) {
    var data = this.$store.state.catalogueName.split(">");
    value = data[data.length - 1];
  } else {
    value = this.$store.state.catalogueName;
  }
  this.$store.commit("changeCata", ""); //清空state的面包屑
  this.$store.commit("changeNode", ""); //清空state的节点对象
  this.showCata = false;
  switch (this.elTreeFlag) {
    case 1:
      this.roleForm.value = value;
      this.roleForm.depid = this.path_id;
      break;
    case 2:
      this.insertform.depid = this.path_id;
      this.insertform.depValue = value;
      break;
    case 3:
      this.updateform.depid = this.path_id;
      this.updateform.depValue = value;
      break;
  }
},
    async getRoleTabelData() {
  if (this.listData.tab == "") {
    delete this.listData.tab;
  }
  this.listData.name = this.roleForm.username;
  this.listData.depid = this.roleForm.depid;
  const data = await select_Role_ByPageAndCount(this.listData);
  if (data.code != 200) {
    this.$message.error("列表调用失败");
  }
  this.tableData = data.result;
  this.count = data.count;
},
    async getSelectDepTab() {
      this.selectData = [];
      const data = await selectdepTab();
      if (data.code != 200) {
        this.$message.error("下拉调用失败");
      }
      data.result.forEach((e) => {
        if (e) {
          this.selData.push({
            label: e.name,
            value: e.id,
          });
        }
  this.selectData = [];
  const data = await selectdepTab();
  if (data.code != 200) {
    this.$message.error("下拉调用失败");
  }
  data.result.forEach((e) => {
    if (e) {
      this.selData.push({
        label: e.name,
        value: e.id,
      });
    },
    insertFromClose() {
      this.$confirm("关闭后无法保存,是否关闭?")
        .then((_) => {
          this.InsertFormdialog = false;
          this.insertform = {};
        })
        .catch((_) => {});
    },
    }
  });
},
insertFromClose() {
  this.$confirm("关闭后无法保存,是否关闭?")
    .then((_) => {
      this.InsertFormdialog = false;
      this.insertform = {};
    })
    .catch((_) => { });
},
    async insertFromData() {
      if (this.insertform.depValue == null) {
        this.$message({
          message: "请选择角色所属单位",
          type: "warning",
        });
        return;
      }
      const data = await insertRole(this.insertform);
  if (this.insertform.depValue == null) {
    this.$message({
      message: "请选择角色所属单位",
      type: "warning",
    });
    return;
  }
  const data = await insertRole(this.insertform);
  if (data.code == 200) {
    this.InsertFormdialog = false;
    this.insertform = {};
    this.$message({
      message: "添加成功!",
      type: "success",
    });
    this.getRoleTabelData();
  } else {
    this.$message({
      message: "添加失败!",
      type: "warning",
    });
  }
},
updateFromClose() {
  this.$confirm("关闭后无法保存,是否关闭?")
    .then((_) => {
      this.UpdateFormdialog = false;
      this.updateform = {};
      this.getRoleTabelData();
    })
    .catch((_) => { });
},
    async updateFromData() {
  if (this.updateform.depValue == null) {
    this.$message({
      message: "请选择角色所属单位",
      type: "warning",
    });
    return;
  }
  console.log(this.updateform);
  const data = await updateRole(this.updateform);
  if (data.code == 200) {
    this.UpdateFormdialog = false;
    this.updateform = {};
    this.$message({
      message: "修改成功!",
      type: "success",
    });
    this.getRoleTabelData();
  } else {
    this.$message({
      message: "修改失败!",
      type: "warning",
    });
  }
},
handleDelete() {
  var std = [];
  for (var i in this.multipleSelection) {
    std.push(this.multipleSelection[i].id);
  }
  this.$confirm("此操作将永久删除该角色, æ˜¯å¦ç»§ç»­?", "提示", {
    confirmButtonText: "确定",
    cancelButtonText: "取消",
    type: "warning",
  })
    .then(async () => {
      const data = await deleteRoles({ ids: std.toString() });
      if (data.code == 200) {
        this.InsertFormdialog = false;
        this.insertform = {};
        this.$message({
          message: "添加成功!",
          message: "删除成功!",
          type: "success",
        });
        this.getRoleTabelData();
      } else {
        this.$message({
          message: "添加失败!",
          message: "删除失败!",
          type: "warning",
        });
      }
    },
    updateFromClose() {
      this.$confirm("关闭后无法保存,是否关闭?")
        .then((_) => {
          this.UpdateFormdialog = false;
          this.updateform = {};
          this.getRoleTabelData();
        })
        .catch((_) => {});
    },
    async updateFromData() {
      if (this.updateform.depValue == null) {
        this.$message({
          message: "请选择角色所属单位",
          type: "warning",
        });
        return;
      }
      console.log(this.updateform);
      const data = await updateRole(this.updateform);
      if (data.code == 200) {
        this.UpdateFormdialog = false;
        this.updateform = {};
        this.$message({
          message: "修改成功!",
          type: "success",
        });
        this.getRoleTabelData();
      } else {
        this.$message({
          message: "修改失败!",
          type: "warning",
        });
      }
    },
    handleDelete() {
      var std = [];
      for (var i in this.multipleSelection) {
        std.push(this.multipleSelection[i].id);
      }
      this.$confirm("此操作将永久删除该角色, æ˜¯å¦ç»§ç»­?", "提示", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
      })
        .then(async () => {
          const data = await deleteRoles({ ids: std.toString() });
          if (data.code == 200) {
            this.InsertFormdialog = false;
            this.$message({
              message: "删除成功!",
              type: "success",
            });
            this.getRoleTabelData();
          } else {
            this.$message({
              message: "删除失败!",
              type: "warning",
            });
          }
        })
        .catch(() => {
          this.$message({
            type: "info",
            message: "已取消删除",
          });
        });
    },
    handleSizeChange(val) {
      this.listData.pageSize = val;
      this.getRoleTabelData();
    },
    handleCurrentChange(val) {
      this.listData.pageIndex = val;
      this.getRoleTabelData();
    },
    })
    .catch(() => {
      this.$message({
        type: "info",
        message: "已取消删除",
      });
    });
},
handleSizeChange(val) {
  this.listData.pageSize = val;
  this.getRoleTabelData();
},
handleCurrentChange(val) {
  this.listData.pageIndex = val;
  this.getRoleTabelData();
},
    async handleEdit(index, row) {
      this.updateform = row;
      // this.updateform.isAdmin = row.isAdmin.toString();
      const data = await selectDep({ id: row.depid });
      if (data.result == null) {
        this.updateform.depValue = null;
      } else {
        this.updateform.depValue = data.result.name;
      }
  this.updateform = row;
  // this.updateform.isAdmin = row.isAdmin.toString();
  const data = await selectDep({ id: row.depid });
  if (data.result == null) {
    this.updateform.depValue = null;
  } else {
    this.updateform.depValue = data.result.name;
  }
      this.UpdateFormdialog = true;
    },
    onSubmit() {
  this.UpdateFormdialog = true;
},
onSubmit() {
  this.getRoleTabelData();
},
resetForm(formName) {
  this.$refs[formName].resetFields();
  this.roleForm = {};
  this.getRoleTabelData();
},
showPermsMenu(res) {
  switch (res.tag) {
    case "/delete":
      this.menuStatus.delete = true;
      break;
    case "/insert":
      this.menuStatus.insert = true;
      break;
    case "/update":
      this.menuStatus.update = true;
      break;
  }
},
handleClose() {
  this.$confirm("关闭后无法保存,是否关闭?")
    .then((_) => {
      this.InsertFormdialog = false;
    })
    .catch((_) => { });
},
handleCloseEdit() {
  this.$confirm("关闭后无法保存,是否关闭?")
    .then((_) => {
      this.UpdateFormdialog = false;
      this.getRoleTabelData();
    },
    resetForm(formName) {
      this.$refs[formName].resetFields();
      this.roleForm = {};
      this.getRoleTabelData();
    },
    showPermsMenu(res) {
      switch (res.tag) {
        case "/delete":
          this.menuStatus.delete = true;
          break;
        case "/insert":
          this.menuStatus.insert = true;
          break;
        case "/update":
          this.menuStatus.update = true;
          break;
      }
    },
    handleClose() {
      this.$confirm("关闭后无法保存,是否关闭?")
        .then((_) => {
          this.InsertFormdialog = false;
        })
        .catch((_) => {});
    },
    handleCloseEdit() {
      this.$confirm("关闭后无法保存,是否关闭?")
        .then((_) => {
          this.UpdateFormdialog = false;
          this.getRoleTabelData();
        })
        .catch((_) => {});
    },
    })
    .catch((_) => { });
},
  },
  beforeDestroy() {
    this.timer && clearTimeout(this.timer);
    window.removeEventListener("resize", this.onResize);
  },
  mounted() {
    window.addEventListener("resize", this.onResize);
    this.calHeight();
  },
  created() {
    var val = this.$store.state.currentPerms;
    var permsEntity = this.$store.state.permsEntity;
    for (var i = 0; i < permsEntity.length; i++) {
      if (permsEntity[i].perms == val) {
        this.showPermsMenu(permsEntity[i]);
      }
beforeDestroy() {
  this.timer && clearTimeout(this.timer);
  window.removeEventListener("resize", this.onResize);
},
mounted() {
  window.addEventListener("resize", this.onResize);
  this.calHeight();
},
created() {
  var val = this.$store.state.currentPerms;
  var permsEntity = this.$store.state.permsEntity;
  for (var i = 0; i < permsEntity.length; i++) {
    if (permsEntity[i].perms == val) {
      this.showPermsMenu(permsEntity[i]);
    }
    this.getRoleTabelData();
    this.getDepList();
  },
  }
  this.getRoleTabelData();
  this.getDepList();
},
};
</script>
<style lang="less" scoped>
@@ -990,6 +808,7 @@
  .el-input {
    width: 300px;
  }
  .leftTree {
    position: absolute;
    z-index: 9999;
@@ -1002,12 +821,14 @@
      height: 550px;
      overflow: auto;
    }
    .btnBox {
      width: 123px;
      margin: 10px auto 0;
      // background-color: red;
    }
  }
  .inquire {
    height: auto;