管道基础大数据平台系统开发-【前端】-新系統界面
surprise
2024-04-22 3ffbf14664836032438b1fd496aefbd99187e2c9
信息管理添加CAD查看
已修改6个文件
10130 ■■■■ 文件已修改
src/api/api.js 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/preview_map.vue 1307 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/Archive/index.vue 2680 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/datamanage/SpatialData.vue 1252 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/datamanage/dataUpdata.vue 2894 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/datamanage/metadataManage.vue 1992 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/api.js
@@ -493,6 +493,11 @@
}
//信息管理=>DWG展示
export function meta_selectConvertToDwg(params) {
  return request.get('/meta/selectConvertToDwg?id='+params);
}
src/components/preview_map.vue
@@ -1,71 +1,111 @@
<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" 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.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' &&
            $store.state.previewLayer.type != 'cpt' &&
            $store.state.previewLayer.type != 'mpt'" size="small" @click="pickupCoords">拾取</el-button>
            $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' &&
            $store.state.previewLayer.type != 'cpt' &&
            $store.state.previewLayer.type != 'mpt'" size="small" @click="getModeKeyId">模型主键</el-button>
            $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>
          <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>
          <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>
          <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>
          <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="透明度:">
@@ -78,20 +118,34 @@
      </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>
@@ -102,47 +156,81 @@
              </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>
@@ -165,21 +253,32 @@
        <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>
          图层列表
@@ -189,33 +288,51 @@
        </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 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>
@@ -233,7 +350,8 @@
  dataQuery_deletes,
  publish_update,
  comprehensive_selectPubById,
  resSelectCountForRole
  resSelectCountForRole,
  meta_selectConvertToDwg
} from '../api/api.js';
import { getToken } from '@/utils/auth';
import undergroundModel from '../views/Tools/undergroundModel.vue'
@@ -242,12 +360,12 @@
  components: {
    undergroundModel
  },
  data() {
  data () {
    return {
      levelArray: [
        0, 40000000, 20000000, 10000000, 5000000, 2000000, 1000000, 500000,
        250000, 200000, 100000, 50000, 17000, 9000, 5000, 2000, 1000, 500, 200,
        100, 50, 25, 10, 0,
        0,40000000,20000000,10000000,5000000,2000000,1000000,500000,
        250000,200000,100000,50000,17000,9000,5000,2000,1000,500,200,
        100,50,25,10,0,
      ],
      modelLayer: false,
      treeData: [],
@@ -275,19 +393,19 @@
        {
          value: '倾斜模型',
          label: '倾斜模型'
        }, {
        },{
          value: 'BIM模型',
          label: 'BIM模型'
        }, {
        },{
          value: '点云模型',
          label: '点云模型'
        }, {
        },{
          value: '地质设计模型',
          label: '地质设计模型'
        }, {
        },{
          value: '人工模型',
          label: '人工模型'
        }, {
        },{
          value: '其他模型',
          label: '其他模型'
        }],
@@ -302,7 +420,7 @@
        isJpg: false,
        src: ''
      },
      modelType: ['ifc', 'fbx', 'rvt', '3dml', 'cpt', 'osgb', 'las', 'laz'],
      modelType: ['ifc','fbx','rvt','3dml','cpt','osgb','las','laz'],
      editModelFlag: false,
      modelForm: {
        lon: 119,
@@ -333,207 +451,220 @@
      layerTree: null
    }
  },
  mounted() {
  mounted () {
    this.init3DMap();
    this.getLayers();
  },
  methods: {
    async getLayers() {
      const data = await perms_selectLayers();
      if (data.code != 200) {
    async getLayers () {
      const data=await perms_selectLayers();
      if(data.code!=200) {
        return this.$message.error("图层列表查询失败");
      }
      var layer = data.result.filter(res => {
        if (res.type == 2) {
          if (res.serveType == 'WMTS' || res.serveType == 'TMS') {
            res.checked = false;
      var layer=data.result.filter(res => {
        if(res.type==2) {
          if(res.serveType=='WMTS'||res.serveType=='TMS') {
            res.checked=false;
            return res
          }
        }
      })
      this.layerTree = layer
      this.layerTree=layer
    },
    setLayerTreeChange(res) {
      if (res.checked) {
    setLayerTreeChange (res) {
      if(res.checked) {
        this.setAddTreeLayers(res)
      } else {
        this.setRemoveTreeLayers(res)
      }
    },
    async setLayerTreeLocation(res) {
      if (res.pubid) {
        let data = await comprehensive_selectPubById({ id: res.pubid });
        if (data.result && data.result.geom) {
          let wkt = this.$wkt.parse(data.result.geom);
          let height = this.getHeight(wkt.coordinates[2]);
    async setLayerTreeLocation (res) {
      if(res.pubid) {
        let data=await comprehensive_selectPubById({ id: res.pubid });
        if(data.result&&data.result.geom) {
          let wkt=this.$wkt.parse(data.result.geom);
          let height=this.getHeight(wkt.coordinates[2]);
          Viewer.camera.flyTo({
            destination: Cesium.Cartesian3.fromDegrees(wkt.coordinates[1], wkt.coordinates[0], sceneConfig.extureHeight), // 2000
            destination: Cesium.Cartesian3.fromDegrees(wkt.coordinates[1],wkt.coordinates[0],sceneConfig.extureHeight), // 2000
          });
        }
      }
    },
    async setAddTreeLayers(res) {
      var url = res.url.indexOf("{host}") > -1 ? res.url.replace("{host}", iisHost) : res.url;
    async setAddTreeLayers (res) {
      var url=res.url.indexOf("{host}")>-1? res.url.replace("{host}",iisHost):res.url;
      var layer = Viewer.imageryLayers.addImageryProvider(
      var layer=Viewer.imageryLayers.addImageryProvider(
        new Cesium.UrlTemplateImageryProvider({
          url: url,
          maximumLevel: 18,
        })
      );
      layer.name = res.cnName + '_' + res.id
      layer.name=res.cnName+'_'+res.id
    },
    setRemoveTreeLayers(res) {
      var name = res.cnName + '_' + res.id;
      var layers = Viewer.imageryLayers._layers;
      for (var i in layers) {
        if (layers[i].name == name) {
    setRemoveTreeLayers (res) {
      var name=res.cnName+'_'+res.id;
      var layers=Viewer.imageryLayers._layers;
      for(var i in layers) {
        if(layers[i].name==name) {
          Viewer.imageryLayers.remove(layers[i])
        }
      }
    },
    setTreeData(source) {
      let cloneData = JSON.parse(JSON.stringify(source)); // 对源数据深度克隆
    setTreeData (source) {
      let cloneData=JSON.parse(JSON.stringify(source)); // 对源数据深度克隆
      return cloneData.filter((father) => {
        // 循环所有项
        let branchArr = cloneData.filter((child) => father.id == child.pid); // 对比ID,分别上下级菜单,并返回数据
        if (branchArr.length > 0) {
          branchArr.sort(function (a, b) {
        let branchArr=cloneData.filter((child) => father.id==child.pid); // 对比ID,分别上下级菜单,并返回数据
        if(branchArr.length>0) {
          branchArr.sort(function(a,b) {
            return a.orderNum - b.orderNum
            return a.orderNum-b.orderNum
          })
        }
        branchArr.length > 0 ? (father.children = branchArr) : ""; // 给父级添加一个children属性,并赋值
        branchArr.length>0? (father.children=branchArr):""; // 给父级添加一个children属性,并赋值
        // 属于同一对象问题,例如:令 a=b、c=1 ,然后再令 b.c=c , 那么 a.c=b.c=c=1 ;同理,后续令 c.d=2 ,那么 a.c.d 也是=2;
        // 由此循环多次后,就能形成相应的树形数据结构
        return father.pid == 0; // 返回一级菜单
        return father.pid==0; // 返回一级菜单
      });
    },
    // 鼠标右击事件
    rightClick(event, object, node, element) {
      if (object.type == 1 || node.data.children != null) return;
      if (object.serveType != "TMS" && object.serveType != "DEM") return
    rightClick (event,object,node,element) {
      if(object.type==1||node.data.children!=null) return;
      if(object.serveType!="TMS"&&object.serveType!="DEM") return
      this.menuVisible = true
      this.menuVisible=true
      var type;
      if (object.serveType == "TMS") {
        type = 'dom_'
        this.layerData = "DOM"
      } else if (object.serveType == "DEM") {
        type = 'dem_'
        this.layerData = "DEM"
      if(object.serveType=="TMS") {
        type='dom_'
        this.layerData="DOM"
      } else if(object.serveType=="DEM") {
        type='dem_'
        this.layerData="DEM"
      }
      this.serveType = false
      this.activeName = 'second'
      this.formInline.Id = type + object.id;
      this.layerID = type + object.id;
      this.$refs.card.$el.style.left = event.pageX + 20 + "px";
      this.$refs.card.$el.style.top = event.pageY + "px";
      this.serveType=false
      this.activeName='second'
      this.formInline.Id=type+object.id;
      this.layerID=type+object.id;
      this.$refs.card.$el.style.left=event.pageX+20+"px";
      this.$refs.card.$el.style.top=event.pageY+"px";
    },
    setShowFile() {
    setShowFile () {
      this.dialogVisible = true;
      this.dialogVisible=true;
      this.getAttacthFlieList();
      this.menuVisible = false
      this.menuVisible=false
    },
    //裁剪
    setcropping() {
      var that = this;
    setcropping () {
      var that=this;
      sgworld.Creator.SimpleGraphic.clear()
      sgworld.Creator.SimpleGraphic.edit(false, { editProp: false });
      sgworld.Creator.SimpleGraphic.edit(false,{ editProp: false });
      sgworld.Creator.createSimpleGraphic(
        "rectangle", {},
        function (entity) {
          that.modelForm.east = Cesium.Math.toDegrees(
        "rectangle",{},
        function(entity) {
          that.modelForm.east=Cesium.Math.toDegrees(
            entity.rectangle.coordinates.getValue().east
          );
          that.modelForm.north = Cesium.Math.toDegrees(
          that.modelForm.north=Cesium.Math.toDegrees(
            entity.rectangle.coordinates.getValue().north
          );
          that.modelForm.west = Cesium.Math.toDegrees(
          that.modelForm.west=Cesium.Math.toDegrees(
            entity.rectangle.coordinates.getValue().west
          );
          that.modelForm.south = Cesium.Math.toDegrees(
          that.modelForm.south=Cesium.Math.toDegrees(
            entity.rectangle.coordinates.getValue().south
          );
        }
      );
    },
    setUndergroundMode() {
      if (window.UndergroundMode) {
        this.$refs &&
          this.$refs.undergroundModel &&
    setUndergroundMode () {
      if(window.UndergroundMode) {
        this.$refs&&
          this.$refs.undergroundModel&&
          this.$refs.undergroundModel.close();
      } else {
        this.$refs &&
          this.$refs.undergroundModel &&
          this.$refs.undergroundModel.open("地下模式", null,);
        this.$refs&&
          this.$refs.undergroundModel&&
          this.$refs.undergroundModel.open("地下模式",null,);
      }
    },
    refreshAttatchDetail() {
      this.dialog.src = "";
      this.dialog.dialogVisible = false;
      this.dialog.isPdf = false;
      this.dialog.isJpg = false;
    refreshAttatchDetail () {
      this.dialog.src="";
      this.dialog.dialogVisible=false;
      this.dialog.isPdf=false;
      this.dialog.isJpg=false;
    },
    //附件查看
    setAttatchDetail(index, row) {
    setAttatchDetail (index,row) {
      this.refreshAttatchDetail()
      var name = row.name;
      if (name.indexOf('.pdf') != -1 || name.indexOf('.PDF') != -1) {
        this.dialog.dialogVisible = true;
        this.dialog.isPdf = true;
        var url = BASE_URL + "/comprehensive/downloadForView?guid=" + row.guid + "&token=" + getToken();
        this.dialog.src = url
      } else if (
        name.indexOf('.jpg') != -1
        || name.indexOf('.gif') != -1
        || name.indexOf('.png') != -1
        || name.indexOf('.jpeg') != -1
        || name.indexOf('.JPG') != -1
        || name.indexOf('.GIF') != -1
        || name.indexOf('.PNG') != -1
        || name.indexOf('.JPEG') != -1
        || name.indexOf('.BMP') != -1
        || name.indexOf('.bmp') != -1
      var name=row.name;
      if(name.indexOf('.pdf')!=-1||name.indexOf('.PDF')!=-1) {
        this.dialog.dialogVisible=true;
        this.dialog.isPdf=true;
        var url=BASE_URL+"/comprehensive/downloadForView?guid="+row.guid+"&token="+getToken();
        this.dialog.src=url
      } else if(
        name.indexOf('.jpg')!=-1
        ||name.indexOf('.gif')!=-1
        ||name.indexOf('.png')!=-1
        ||name.indexOf('.jpeg')!=-1
        ||name.indexOf('.JPG')!=-1
        ||name.indexOf('.GIF')!=-1
        ||name.indexOf('.PNG')!=-1
        ||name.indexOf('.JPEG')!=-1
        ||name.indexOf('.BMP')!=-1
        ||name.indexOf('.bmp')!=-1
      ) {
        this.dialog.dialogVisible = true;
        this.dialog.isJpg = true;
        var url = BASE_URL + "/comprehensive/downloadForView?guid=" + row.guid + "&token=" + getToken();
        this.dialog.src = url
        this.dialog.dialogVisible=true;
        this.dialog.isJpg=true;
        var url=BASE_URL+"/comprehensive/downloadForView?guid="+row.guid+"&token="+getToken();
        this.dialog.src=url
      } if(name.indexOf('.dwg')!=-1) {
        console.log(row)
        this.handleCAD(row)
      }
    },
    async setAttachDel() {
      var std = [];
      for (var i in this.attacgSelection) {
    async handleCAD (row) {
      const data=await meta_selectConvertToDwg(row.id);
      if(data.result) {
        var url=iisHost+"/dwg/cad/browse/?file=data/"+data.result;
        window.open(url)
      } else {
        return this.$message("数据转换失败,无法预览");
      }
    },
    async setAttachDel () {
      var std=[];
      for(var i in this.attacgSelection) {
        std.push(this.attacgSelection[i].id);
      }
      const res = await dataQuery_deletes({ ids: std.toString() });
      if (res.code != 200) {
      const res=await dataQuery_deletes({ ids: std.toString() });
      if(res.code!=200) {
        this.$message.error("文件删除失败");
      }
      this.getAttacthFlieList();
    },
    setAttachInsert() {
      var token = getToken();
      var fs = document.getElementById("insertFile");
      if (fs.files.length == 0) {
    setAttachInsert () {
      var token=getToken();
      var fs=document.getElementById("insertFile");
      if(fs.files.length==0) {
        this.$message({
          message: "请选择要上传的文件!",
          type: "warning",
        });
        return;
      }
      const formData = new FormData();
      for (var i = 0, c = fs.files.length; i < c; i++) {
        formData.append("file", fs.files[i]); // fs.files[i].name,file
      const formData=new FormData();
      for(var i=0,c=fs.files.length;i<c;i++) {
        formData.append("file",fs.files[i]); // fs.files[i].name,file
      }
      $.ajax(BASE_URL + "/comprehensive/uploadFiles?token=" + token + "&tabName=" + this.layerData + "&eventid=" + this.layerID,
      $.ajax(BASE_URL+"/comprehensive/uploadFiles?token="+token+"&tabName="+this.layerData+"&eventid="+this.layerID,
        {
          type: "post",
          data: formData,
@@ -546,89 +677,90 @@
              message: "附件添加成功",
              type: "success",
            });
            document.getElementById("insertFile").value = "";
            this.fromfile = {
            document.getElementById("insertFile").value="";
            this.fromfile={
              file: "",
            };
            this.getAttacthFlieList();
          },
          error: (e) => {
            document.getElementById("insertFile").value = "";
            document.getElementById("insertFile").value="";
            this.$message.error("附件添加失败");
          },
        }
      );
    },
    //附件=>文件选择
    getInsertFile() {
    getInsertFile () {
      $('#insertFile').click();
    },
    insertFile() {
      var val = document.getElementById('insertFile').files;
      if (!val || !val.length) return;
      this.fromfile.file = val[0].name;
    insertFile () {
      var val=document.getElementById('insertFile').files;
      if(!val||!val.length) return;
      this.fromfile.file=val[0].name;
    },
    matchState(state = "", reg) {
      var row = state.row;
      var name = row.name;
      if (
        name.indexOf('.jpg') != -1
        || name.indexOf('.gif') != -1
        || name.indexOf('.png') != -1
        || name.indexOf('.jpeg') != -1
        || name.indexOf('.JPG') != -1
        || name.indexOf('.GIF') != -1
        || name.indexOf('.PNG') != -1
        || name.indexOf('.JPEG') != -1
        || name.indexOf('.BMP') != -1
        || name.indexOf('.bmp') != -1
        || name.indexOf('.pdf') != -1
        || name.indexOf('.PDF') != -1
    matchState (state="",reg) {
      var row=state.row;
      var name=row.name;
      if(
        name.indexOf('.jpg')!=-1
        ||name.indexOf('.gif')!=-1
        ||name.indexOf('.png')!=-1
        ||name.indexOf('.jpeg')!=-1
        ||name.indexOf('.JPG')!=-1
        ||name.indexOf('.GIF')!=-1
        ||name.indexOf('.PNG')!=-1
        ||name.indexOf('.JPEG')!=-1
        ||name.indexOf('.BMP')!=-1
        ||name.indexOf('.bmp')!=-1
        ||name.indexOf('.pdf')!=-1
        ||name.indexOf('.PDF')!=-1
        ||name.indexOf('.dwg')!=-1
      ) {
        return true;
      }
      return false;
    },
    statSizeChange(row, column) {
    statSizeChange (row,column) {
      return this.stateFormatSizes(row.sizes)
    },
    stateFormatSizes(res) {
      if (res >= 1024) {
        const val = parseFloat(res / 1024).toFixed(3);
        return val + ' GB';
    stateFormatSizes (res) {
      if(res>=1024) {
        const val=parseFloat(res/1024).toFixed(3);
        return val+' GB';
      } else {
        return res + ' MB';
        return res+' MB';
      }
    },
    // 附件=>表格选择
    handleAttatchChange(val) {
      this.attacgSelection = val;
    handleAttatchChange (val) {
      this.attacgSelection=val;
    },
    //附件列表查询
    async getAttacthFlieList() {
      var obj = {
    async getAttacthFlieList () {
      var obj={
        eventid: this.layerID,
        tabName: this.layerData
      };
      const res = await comprehensive_selectFiles(obj);
      if (res.code != 200) {
      const res=await comprehensive_selectFiles(obj);
      if(res.code!=200) {
        this.$message.error('列表调用失败');
        return
      }
      this.tableData = res.result;
      this.tableData=res.result;
    },
    handleClick() {
      if (this.activeName == "second") {
    handleClick () {
      if(this.activeName=="second") {
        this.getAttacthFlieList();
      }
    },
    async EditData() {
      const data = await comprehensive_updateModel(this.formInline)
    async EditData () {
      const data=await comprehensive_updateModel(this.formInline)
      if (data.code != 200) {
      if(data.code!=200) {
        this.$message.error('修改失败');
        return
      }
@@ -639,15 +771,15 @@
        type: 'success'
      });
      var that = this;
      that.dialogVisible = false;
      this.formInline.title = this.formInline.name
      that.dialogVisible = true;
      var that=this;
      that.dialogVisible=false;
      this.formInline.title=this.formInline.name
      that.dialogVisible=true;
      this.startModelData();
    },
    async InsertData() {
      var std = {
    async InsertData () {
      var std={
        "bak": this.formInline.bak,
        "guid": this.formInline.Id,
        "layerid": this.formInline.layerId,
@@ -655,8 +787,8 @@
        "name": this.formInline.name,
        "type": this.formInline.type
      }
      const data = await comprehensive_insertModel(std)
      if (data.code != 200) {
      const data=await comprehensive_insertModel(std)
      if(data.code!=200) {
        this.$message.error('添加失败');
      }
      this.$message({
@@ -664,20 +796,20 @@
        type: 'success'
      });
      var that = this;
      that.dialogVisible = false;
      this.formInline.title = this.formInline.name
      that.dialogVisible = true;
      var that=this;
      that.dialogVisible=false;
      this.formInline.title=this.formInline.name
      that.dialogVisible=true;
      this.startModelData();
    },
    handleClose() {
      this.layerData = "lf.sys_style"
      this.serveType = true;
      this.dialogVisible = false;
      this.formInline = {
    handleClose () {
      this.layerData="lf.sys_style"
      this.serveType=true;
      this.dialogVisible=false;
      this.formInline={
        title: '',
        file: '',
        name: '',
@@ -687,114 +819,114 @@
        bak: '',
        Id: ''
      }
      this.activeName = "first"
      this.activeName="first"
    },
    async setShowModelInfo(result) {
      var modelKey = 'id';
    async setShowModelInfo (result) {
      var modelKey='id';
      if (result.tileset) {
        if (result.tileset.pubid && parseInt(result.tileset.pubid) > 0) {
          const data = await comprehensive_selectPubById({ id: result.tileset.pubid })
      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) {
          if(data.code!=200) {
            return
          } else {
            modelKey = JSON.parse(data.result.json).modelid
            modelKey=JSON.parse(data.result.json).modelid
          }
          if (!modelKey) {
          if(!modelKey) {
            return this.$message('没有模型主键ID,无法查询数据');
          }
          this.formInline.Id = result.getProperty(modelKey);
          this.layerID = result.getProperty(modelKey);
          this.formInline.Id=result.getProperty(modelKey);
          this.layerID=result.getProperty(modelKey);
        }
      } else {
        var id = '3dml' + result.primitive.id;
        this.formInline.Id = id;
        this.layerID = id;
        var id='3dml'+result.primitive.id;
        this.formInline.Id=id;
        this.layerID=id;
      }
      this.formInline.layerId = result.primitive.layerId;
      this.formInline.layerName = result.primitive.id;
      this.formInline.layerId=result.primitive.layerId;
      this.formInline.layerName=result.primitive.id;
      // this.formInline.title = result.getProperty("name")
      if (!this.formInline.Id) {
        this.formInline.Id = "noAuto_" + this.formInline.layerId;
      if(!this.formInline.Id) {
        this.formInline.Id="noAuto_"+this.formInline.layerId;
      }
      if (!this.layerID) {
        this.layerID = "noAuto_" + this.formInline.layerId;
      if(!this.layerID) {
        this.layerID="noAuto_"+this.formInline.layerId;
      }
      this.startModelData();
      this.dialogVisible = true;
      this.dialogVisible=true;
    },
    async startModelData() {
      var obj = {
    async startModelData () {
      var obj={
        layerid: this.formInline.layerId,
        modelid: this.formInline.Id
      }
      const data = await comprehensive_selectModelByGuid(obj);
      if (data.code != 200) {
      const data=await comprehensive_selectModelByGuid(obj);
      if(data.code!=200) {
        return;
      }
      if (data.result == null) {
        this.isShowModel = true;
        this.formInline.name = this.formInline.title;
      if(data.result==null) {
        this.isShowModel=true;
        this.formInline.name=this.formInline.title;
      } else {
        this.isShowModel = false;
        this.formInline = data.result;
        this.formInline.title = this.formInline.name;
        this.isShowModel=false;
        this.formInline=data.result;
        this.formInline.title=this.formInline.name;
      }
    },
    setChangeTileset(result, check) {
    setChangeTileset (result,check) {
      var nodes = this.$refs.tree.getCheckedNodes();
      var str = [];
      for (var i = 0; i < nodes.length; i++) {
        var node = this.$refs.tree.getNode(nodes[i]).data.serveType;
        if (node != 'DEM') {
      var nodes=this.$refs.tree.getCheckedNodes();
      var str=[];
      for(var i=0;i<nodes.length;i++) {
        var node=this.$refs.tree.getNode(nodes[i]).data.serveType;
        if(node!='DEM') {
          str.push(nodes[i])
        }
      }
      str.push(result[0].id)
      this.$refs.tree.setCheckedKeys(str)
      var value = this.$refs.tree.getCheckedNodes();
      var std = [];
      for (var i in value) {
      var value=this.$refs.tree.getCheckedNodes();
      var std=[];
      for(var i in value) {
        std.push(value[i].id)
      }
      for (var i in result) {
        var tile = result[i]
        if (std.indexOf(tile.id) != -1) {
      for(var i in result) {
        var tile=result[i]
        if(std.indexOf(tile.id)!=-1) {
          this.setAddLayers(tile)
        } else {
          if (tile.serveType == 'DEM') {
          if(tile.serveType=='DEM') {
            if (window.terrainFlag == '2') {
            if(window.terrainFlag=='2') {
              window.terrainLayer.deleteObject();
            } else if (window.terrainFlag == '1') {
              Viewer.terrainProvider = new Cesium.EllipsoidTerrainProvider();
            } else if(window.terrainFlag=='1') {
              Viewer.terrainProvider=new Cesium.EllipsoidTerrainProvider();
            }
            // 
            var option = {
            var option={
              url: window.sceneConfig.SGUrl,
              layerName: window.sceneConfig.mptName,
              requestVertexNormals: true,
            };
            window.terrainLayer = sgworld.Creator.sfsterrainprovider("", option, "", true, "");
          } else if (tile.serveType == 'TMS') {
            for (let i = 0; i < window.Viewer.imageryLayers._layers.length; i++) {
              if (window.Viewer.imageryLayers._layers[i].name == result.cnName) {
            window.terrainLayer=sgworld.Creator.sfsterrainprovider("",option,"",true,"");
          } else if(tile.serveType=='TMS') {
            for(let i=0;i<window.Viewer.imageryLayers._layers.length;i++) {
              if(window.Viewer.imageryLayers._layers[i].name==result.cnName) {
                window.Viewer.imageryLayers.remove(window.Viewer.imageryLayers._layers[i]);
                break;
              }
            }
          } else {
            for (var j in Viewer.scene.primitives._primitives) {
              if (Viewer.scene.primitives._primitives[j].id == tile.cnName) {
            for(var j in Viewer.scene.primitives._primitives) {
              if(Viewer.scene.primitives._primitives[j].id==tile.cnName) {
                Viewer.scene.primitives.remove(Viewer.scene.primitives._primitives[j])
              }
            }
@@ -802,160 +934,160 @@
        }
      }
    },
    setAddLayers(rs) {
    setAddLayers (rs) {
      if (rs.serveType == "Tileset" || rs.serveType == "3DML") {
      if(rs.serveType=="Tileset"||rs.serveType=="3DML") {
        var url;
        if (rs.url.indexOf("{host}") != -1) {
          url = rs.url.replace("{host}", iisHost);
        if(rs.url.indexOf("{host}")!=-1) {
          url=rs.url.replace("{host}",iisHost);
        } else {
          url = modelUrl + "/" + rs.url
          url=modelUrl+"/"+rs.url
        }
        var tileset = Viewer.scene.primitives.add(
        var tileset=Viewer.scene.primitives.add(
          new Cesium.Cesium3DTileset({
            name: rs.cnName,
            url: url, //192.168.20.106,to4
            maximumScreenSpaceError: url.indexOf("/pnts/") > -1 ? 16 : 64, // 最大屏幕空间错误:16
            maximumScreenSpaceError: url.indexOf("/pnts/")>-1? 16:64, // 最大屏幕空间错误:16
            maximumMemoryUsage: 768, // 最大内存:512
            dynamicScreenSpaceError: true, // 减少离相机较远的屏幕空间错误:false
            skipLevelOfDetail: true, // 在遍历时候跳过详情:false
          })
        );
        var that = this;
        var that=this;
        tileset.readyPromise.then((tileset) => {
          tileset.id = rs.cnName;
          tileset.layerId = rs.id;
          tileset.pubid = rs.pubid;
          if (rs.serveType != '3DML') {
            that.getArgsTileset(tileset, rs);
          tileset.id=rs.cnName;
          tileset.layerId=rs.id;
          tileset.pubid=rs.pubid;
          if(rs.serveType!='3DML') {
            that.getArgsTileset(tileset,rs);
          }
        });
      } else if (rs.serveType == "DEM") {
      } else if(rs.serveType=="DEM") {
        if (window.terrainFlag == '2') {
        if(window.terrainFlag=='2') {
          window.terrainLayer.deleteObject();
        } else if (window.terrainFlag == '1') {
          Viewer.terrainProvider = new Cesium.EllipsoidTerrainProvider();
        } else if(window.terrainFlag=='1') {
          Viewer.terrainProvider=new Cesium.EllipsoidTerrainProvider();
        }
        var url = rs.url;
        if (rs.url.indexOf("{host}") != -1) {
          url = rs.url.replace("{host}", iisHost);
        var url=rs.url;
        if(rs.url.indexOf("{host}")!=-1) {
          url=rs.url.replace("{host}",iisHost);
        }
        window.terrainLayer = null;
        window.terrainFlag = '1'
        window.terrainLayer=null;
        window.terrainFlag='1'
        window.terrainLayer = new Cesium.CesiumTerrainProvider({
        window.terrainLayer=new Cesium.CesiumTerrainProvider({
          url: url
        });
        Viewer.terrainProvider = window.terrainLayer
      } else if (rs.serveType == "TMS") {
        var url = rs.url;
        if (rs.url.indexOf("{host}") != -1) {
          url = rs.url.replace("{host}", iisHost);
        Viewer.terrainProvider=window.terrainLayer
      } else if(rs.serveType=="TMS") {
        var url=rs.url;
        if(rs.url.indexOf("{host}")!=-1) {
          url=rs.url.replace("{host}",iisHost);
        }
        var layer = Viewer.imageryLayers.addImageryProvider(
        var layer=Viewer.imageryLayers.addImageryProvider(
          new Cesium.UrlTemplateImageryProvider({
            url: url,
            maximumLevel: 18,
          })
        );
        layer.name = rs.cnName;
        layer.name=rs.cnName;
      }
    },
    async getArgsTileset(tileset, rs) {
    async getArgsTileset (tileset,rs) {
      if (rs.pubid > 0) {
      if(rs.pubid>0) {
        const data = await comprehensive_selectPubById({ id: rs.pubid })
        const data=await comprehensive_selectPubById({ id: rs.pubid })
        if (data.code != 200) {
        if(data.code!=200) {
        } else {
          if (rs.serveType == '3DML') {
            this.tileSet(tileset, parseFloat(rs.elev))
          if(rs.serveType=='3DML') {
            this.tileSet(tileset,parseFloat(rs.elev))
          } else {
            this.reloadTile(tileset, data.result.json)
            this.reloadTile(tileset,data.result.json)
          }
        }
      } else {
        this.tileSet(tileset, parseFloat(rs.elev))
        this.tileSet(tileset,parseFloat(rs.elev))
      }
    },
    tileSet(tileset, height) {
    tileSet (tileset,height) {
      //3dtile模型的边界球体
      var boundingSphere = tileset.boundingSphere;
      var boundingSphere=tileset.boundingSphere;
      //迪卡尔空间直角坐标=>地理坐标(弧度制)
      var cartographic_original = Cesium.Cartographic.fromCartesian(boundingSphere.center);
      var cartographic_original=Cesium.Cartographic.fromCartesian(boundingSphere.center);
      //地理坐标(弧度制)=>迪卡尔空间直角坐标
      var Cartesian3_original = Cesium.Cartesian3.fromRadians(cartographic_original.longitude, cartographic_original.latitude, cartographic_original.height);
      var Cartesian3_offset = Cesium.Cartesian3.fromRadians(cartographic_original.longitude, cartographic_original.latitude, height);
      var Cartesian3_original=Cesium.Cartesian3.fromRadians(cartographic_original.longitude,cartographic_original.latitude,cartographic_original.height);
      var Cartesian3_offset=Cesium.Cartesian3.fromRadians(cartographic_original.longitude,cartographic_original.latitude,height);
      //获得地面和offset的转换
      var translation = Cesium.Cartesian3.subtract(Cartesian3_offset, Cartesian3_original, new Cesium.Cartesian3());
      var translation=Cesium.Cartesian3.subtract(Cartesian3_offset,Cartesian3_original,new Cesium.Cartesian3());
      //修改模型矩阵
      tileset.modelMatrix = Cesium.Matrix4.fromTranslation(translation);
      tileset.modelMatrix=Cesium.Matrix4.fromTranslation(translation);
      // Viewer.flyTo(tileset);
    },
    reloadTile(tileset, res) {
      var vm = JSON.parse(res)
      var pos = Cesium.Cartesian3.fromDegrees(vm.lon, vm.lat, vm.height);
      var converter = Cesium.Transforms.eastNorthUpToFixedFrame;
      var hpr = new Cesium.HeadingPitchRoll(Cesium.Math.toRadians(vm.yaw), 0, 0);
      var matrix = Cesium.Transforms.headingPitchRollToFixedFrame(pos, hpr, Cesium.Ellipsoid.WGS84, converter);
      tileset._root.transform = matrix;
    reloadTile (tileset,res) {
      var vm=JSON.parse(res)
      var pos=Cesium.Cartesian3.fromDegrees(vm.lon,vm.lat,vm.height);
      var converter=Cesium.Transforms.eastNorthUpToFixedFrame;
      var hpr=new Cesium.HeadingPitchRoll(Cesium.Math.toRadians(vm.yaw),0,0);
      var matrix=Cesium.Transforms.headingPitchRollToFixedFrame(pos,hpr,Cesium.Ellipsoid.WGS84,converter);
      tileset._root.transform=matrix;
      Viewer.flyTo(tileset);
    },
    handleCheckChange(data, checked, indeterminate) {
      if (data.type == 1) {
    handleCheckChange (data,checked,indeterminate) {
      if(data.type==1) {
        this.getchilds(data);
        this.setChangeTileset(this.childOption, checked);
        this.setChangeTileset(this.childOption,checked);
      } else {
        this.setChangeTileset([data], checked);
        this.setChangeTileset([data],checked);
      }
    },
    handleNodeClick(data) {
      this.menuVisible = false
      if (data.type == 2) {
        this.currentData = data;
    handleNodeClick (data) {
      this.menuVisible=false
      if(data.type==2) {
        this.currentData=data;
        if (data.serveType == 'DEM' || data.serveType == 'TMS') {
          if (!data.pubid) return
        if(data.serveType=='DEM'||data.serveType=='TMS') {
          if(!data.pubid) return
          this.setQueryPubid(data)
        } else {
          for (var j in Viewer.scene.primitives._primitives) {
            if (Viewer.scene.primitives._primitives[j].id == data.cnName) {
          for(var j in Viewer.scene.primitives._primitives) {
            if(Viewer.scene.primitives._primitives[j].id==data.cnName) {
              Viewer.flyTo(Viewer.scene.primitives._primitives[j]);
            }
          }
        }
      }
    },
    async setQueryPubid(res) {
      const data = await comprehensive_selectPubById({ id: res.pubid })
      if (data.code != 200) return;
      if (data.result.geom) {
        var wkt = this.$wkt.parse(data.result.geom);
    async setQueryPubid (res) {
      const data=await comprehensive_selectPubById({ id: res.pubid })
      if(data.code!=200) return;
      if(data.result.geom) {
        var wkt=this.$wkt.parse(data.result.geom);
        Viewer.camera.flyTo({
          destination: Cesium.Cartesian3.fromDegrees(wkt.coordinates[1], wkt.coordinates[0], 2000),
          destination: Cesium.Cartesian3.fromDegrees(wkt.coordinates[1],wkt.coordinates[0],2000),
        });
      }
    },
    getchilds(source) {
      if (source.children) {
        var child = source.children
        for (var i in child) {
          if (child[i].children) {
    getchilds (source) {
      if(source.children) {
        var child=source.children
        for(var i in child) {
          if(child[i].children) {
            this.getchilds(child[i])
          } else {
            this.childOption.push(child[i])
@@ -965,32 +1097,32 @@
        this.childOption.push(source)
      }
    },
    init3DMap() {
    init3DMap () {
      //地图初始化
      window.sgworld = new SmartEarth.SGWorld("mapdiv", {
      window.sgworld=new SmartEarth.SGWorld("mapdiv",{
        licenseServer: window.sceneConfig.licenseServer,
      });
      window.Viewer = window.sgworld._Viewer;
      window.Viewer=window.sgworld._Viewer;
      // Viewer.camera.flyTo({
      //   destination: Cesium.Cartesian3.fromDegrees(110, 33, 8000000),
      // });
      if (is_production) {
      if(is_production) {
        Viewer.imageryLayers.removeAll();
      }
      Viewer._enableInfoOrSelection = false;
      Viewer._enableInfoOrSelection=false;
      //显示fps
      Viewer.scene.debugShowFramesPerSecond = false;
      Viewer.scene.debugShowFramesPerSecond=false;
      //导航控件
      // window.sgworld.navControl("nav", false);
      //比例尺
      // window.sgworld.navControl("scale", false);
      //开启深度检测
      // sg.Analysis.depthTestAgainstTerrain(true)
      if (is_production) {
        var base_ulr = window.sceneConfig.baseUrl;
        if (base_ulr.indexOf('{host}') > -1) {
          base_ulr = base_ulr.replace("{host}", iisHost)
      if(is_production) {
        var base_ulr=window.sceneConfig.baseUrl;
        if(base_ulr.indexOf('{host}')>-1) {
          base_ulr=base_ulr.replace("{host}",iisHost)
        }
        Viewer.imageryLayers.addImageryProvider(
@@ -1000,7 +1132,7 @@
          })
        );
        window.BaseMapLayer = Viewer.imageryLayers.addImageryProvider(
        window.BaseMapLayer=Viewer.imageryLayers.addImageryProvider(
          new Cesium.UrlTemplateImageryProvider({
            url: base_ulr,
@@ -1013,35 +1145,35 @@
      Viewer.scene.globe.depthTestAgainstTerrain = true;
      Viewer.scene.globe.depthTestAgainstTerrain=true;
      // window.elevationTool = new SmartEarth.ElevationTool(window.sg);
      // elevationTool.setContourColor("#F1D487");
      window.terrainLayer = new Cesium.CesiumTerrainProvider({
      window.terrainLayer=new Cesium.CesiumTerrainProvider({
        // url: LFData + '/3d/terrain/dem20230321'
        url: demLayer
      });
      Viewer.terrainProvider = window.terrainLayer
      Viewer.terrainProvider=window.terrainLayer
      window.terrainFlag = '1'
      window.terrainFlag='1'
      // window.terrainLayer = new Cesium.CesiumTerrainProvider({
      //   url: demLayer 
      // });
      // Viewer.terrainProvider = window.terrainLayer
      if (this.$store.state.previewLayer) {
        var res = this.$store.state.previewLayer;
        var type = res.type;
      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') {
        res.ulr=res.url.replace("{host}",iisHost);
        if(type=='DEM') {
          // window.terrainLayer.deleteObject();
          Viewer.terrainProvider = new Cesium.EllipsoidTerrainProvider();
          Viewer.terrainProvider=new Cesium.EllipsoidTerrainProvider();
          // window.terrainLayer = null;
          window.terrainLayer = null;
          window.terrainLayer = new Cesium.CesiumTerrainProvider({
          window.terrainLayer=null;
          window.terrainLayer=new Cesium.CesiumTerrainProvider({
            url: res.url
          });
          Viewer.terrainProvider = window.terrainLayer
          Viewer.terrainProvider=window.terrainLayer
          /*Viewer.camera.flyTo({
            destination: Cesium.Cartesian3.fromDegrees(113.229279, 31.215949, 1000),
            orientation: {
@@ -1050,107 +1182,107 @@
              roll: 0.0
            }
          });*/
          if (res.geom) {
            var wkt = this.$wkt.parse(res.geom);
            var height = this.getHeight(wkt.coordinates[2]);
          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),
              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])
          window.BaseMapLayer = Viewer.imageryLayers.addImageryProvider(
        } else if(type=='DOM') {
          var wkt=this.$wkt.parse(res.geom);
          var height=this.getHeight(wkt.coordinates[2])
          window.BaseMapLayer=Viewer.imageryLayers.addImageryProvider(
            new Cesium.UrlTemplateImageryProvider({
              url: res.url,
              maximumLevel: 18
            })
          );
          Viewer.camera.flyTo({
            destination: Cesium.Cartesian3.fromDegrees(wkt.coordinates[1], wkt.coordinates[0], height),
            destination: Cesium.Cartesian3.fromDegrees(wkt.coordinates[1],wkt.coordinates[0],height),
          });
        } else if (type == '3dml' || type == 'fbx' || type == 'ifc' || type == 'rvt'
          || type == 'cpt' || type == 'osgb' || type == 'las' || type == 'laz') {
          if (this.app.tileset) viewer.scene.primitives.remove(this.app.tileset);
        } else if(type=='3dml'||type=='fbx'||type=='ifc'||type=='rvt'
          ||type=='cpt'||type=='osgb'||type=='las'||type=='laz') {
          if(this.app.tileset) viewer.scene.primitives.remove(this.app.tileset);
          this.app.tileset = this.createTileset(res);
          var that = this;
          this.editModelFlag = true;
          Viewer.scene.primitives.add(this.app.tileset).readyPromise.then(function (ts) {
          this.app.tileset=this.createTileset(res);
          var that=this;
          this.editModelFlag=true;
          Viewer.scene.primitives.add(this.app.tileset).readyPromise.then(function(ts) {
            that.setModleLocatin()
            Viewer.flyTo(ts);
          });
        } else if (res.url.indexOf('.mpt') != -1) {
          this.editModelFlag = true;
        } else if(res.url.indexOf('.mpt')!=-1) {
          this.editModelFlag=true;
          //Viewer.imageryLayers.removeAll();
          var url = res.url.split(';');
          var ops = {
          var url=res.url.split(';');
          var ops={
            url: url[0],
            layers: url[1]
          };
          if (res && res.json) {
            var rs = JSON.parse(res.json);
            ops.rectangle = Cesium.Rectangle.fromDegrees(rs.west, rs.south, rs.east, rs.north);
          if(res&&res.json) {
            var rs=JSON.parse(res.json);
            ops.rectangle=Cesium.Rectangle.fromDegrees(rs.west,rs.south,rs.east,rs.north);
          }
          sgworld.Creator.createImageryProvider(res.cnName, "wms", ops, "0", undefined, true, "");
          sgworld.Creator.createImageryProvider(res.cnName,"wms",ops,"0",undefined,true,"");
          if (res && res.json) {
            var rs = JSON.parse(res.json);
          if(res&&res.json) {
            var rs=JSON.parse(res.json);
            Viewer.camera.flyTo({
              destination: Cesium.Rectangle.fromDegrees(rs.west, rs.south, rs.east, rs.north)
              destination: Cesium.Rectangle.fromDegrees(rs.west,rs.south,rs.east,rs.north)
            })
          }
        } else if (res.url.indexOf('menuLayer') != -1) {
        } else if(res.url.indexOf('menuLayer')!=-1) {
          this.setShowModelLayer();
        }
      }
    },
    getModeKeyId() {
      window.ModeKeyIdHandler = new Cesium.ScreenSpaceEventHandler(Viewer.scene.canvas);
    getModeKeyId () {
      window.ModeKeyIdHandler=new Cesium.ScreenSpaceEventHandler(Viewer.scene.canvas);
      window.ModeKeyIdHandler.setInputAction((event) => {
        window.pickedFeature = sgworld.Viewer.scene.pick(event.position);
        if (Cesium.defined(window.pickedFeature)) {
          if (window.pickedFeature.primitive instanceof Cesium.Cesium3DTileset) {
            if (window.pickedFeature && window.pickedFeature.getProperty) {
        window.pickedFeature=sgworld.Viewer.scene.pick(event.position);
        if(Cesium.defined(window.pickedFeature)) {
          if(window.pickedFeature.primitive instanceof Cesium.Cesium3DTileset) {
            if(window.pickedFeature&&window.pickedFeature.getProperty) {
              this.setModeLayerID(pickedFeature);
            } else {
              this.modelForm.modelid = 'id3dml'
              this.modelForm.modelid='id3dml'
              window.ModeKeyIdHandler.removeInputAction(Cesium.ScreenSpaceEventType.LEFT_CLICK); //移除事件
            }
          }
        }
      }, Cesium.ScreenSpaceEventType.LEFT_CLICK)
      },Cesium.ScreenSpaceEventType.LEFT_CLICK)
    },
    async resave() {
      var type = this.$store.state.previewLayer.type;
      if (type && type != "mpt" && type != "mpt") {
        if (!this.modelForm.modelid) {
    async resave () {
      var type=this.$store.state.previewLayer.type;
      if(type&&type!="mpt"&&type!="mpt") {
        if(!this.modelForm.modelid) {
          return this.$message('未选择模型主键ID');
        }
      } else {
        sgworld.Creator.SimpleGraphic.clear()
      }
      this.$store.state.previewLayer.json = JSON.stringify(this.modelForm);
      this.$store.state.previewLayer.json=JSON.stringify(this.modelForm);
      if (this.$store.state.previewLayer.url) {
        var url = this.$store.state.previewLayer.url;
        this.$store.state.previewLayer.url = url.replace(iisHost, "{host}");
      if(this.$store.state.previewLayer.url) {
        var url=this.$store.state.previewLayer.url;
        this.$store.state.previewLayer.url=url.replace(iisHost,"{host}");
      }
      const data = await publish_update(this.$store.state.previewLayer);
      if (data.code != 200) {
      const data=await publish_update(this.$store.state.previewLayer);
      if(data.code!=200) {
        this.$message.error('数据保存失败');
      } else {
        this.$message({
@@ -1160,68 +1292,68 @@
      }
      this.reload();
    },
    reload() {
    reload () {
      sgworld.Analysis.UndergroundMode(this.app.under, this.modelForm.alpha)
      var json = JSON.stringify(this.modelForm);
      var modelScale = this.modelForm.scale
      var url = this.$store.state.previewLayer.url.replace("{host}", iisHost);
      if (!url) return;
      if (this.app.tileset) Viewer.scene.primitives.remove(this.app.tileset);
      sgworld.Analysis.UndergroundMode(this.app.under,this.modelForm.alpha)
      var json=JSON.stringify(this.modelForm);
      var modelScale=this.modelForm.scale
      var url=this.$store.state.previewLayer.url.replace("{host}",iisHost);
      if(!url) return;
      if(this.app.tileset) Viewer.scene.primitives.remove(this.app.tileset);
      this.app.isBusy = true;
      this.app.tileset = this.createTileset(this.$store.state.previewLayer);
      var that = this;
      Viewer.scene.primitives.add(this.app.tileset).readyPromise.then(function (ts) {
        that.modelForm = JSON.parse(json);
        var pos = Cesium.Cartesian3.fromDegrees(parseFloat(that.modelForm.lon), parseFloat(that.modelForm.lat), parseFloat(that.modelForm.height));
        var converter = Cesium.Transforms.eastNorthUpToFixedFrame;
        var hpr = new Cesium.HeadingPitchRoll(Cesium.Math.toRadians(parseFloat(that.modelForm.yaw)), 0, 0);
        var matrix = Cesium.Transforms.headingPitchRollToFixedFrame(pos, hpr, Cesium.Ellipsoid.WGS84, converter);
        if (modelScale) {
          var scale = Cesium.Matrix4.fromUniformScale(modelScale);
          Cesium.Matrix4.multiply(matrix, scale, matrix);
      this.app.isBusy=true;
      this.app.tileset=this.createTileset(this.$store.state.previewLayer);
      var that=this;
      Viewer.scene.primitives.add(this.app.tileset).readyPromise.then(function(ts) {
        that.modelForm=JSON.parse(json);
        var pos=Cesium.Cartesian3.fromDegrees(parseFloat(that.modelForm.lon),parseFloat(that.modelForm.lat),parseFloat(that.modelForm.height));
        var converter=Cesium.Transforms.eastNorthUpToFixedFrame;
        var hpr=new Cesium.HeadingPitchRoll(Cesium.Math.toRadians(parseFloat(that.modelForm.yaw)),0,0);
        var matrix=Cesium.Transforms.headingPitchRollToFixedFrame(pos,hpr,Cesium.Ellipsoid.WGS84,converter);
        if(modelScale) {
          var scale=Cesium.Matrix4.fromUniformScale(modelScale);
          Cesium.Matrix4.multiply(matrix,scale,matrix);
        }
        that.app.tileset._root.transform = matrix;
        that.app.tileset._root.transform=matrix;
        Viewer.flyTo(ts);
        that.app.isBusy = false;
        that.app.isBusy=false;
      });
    },
    //拾取
    pickupCoords() {
      if (this.app.handler) {
    pickupCoords () {
      if(this.app.handler) {
        this.app.handler.removeInputAction(Cesium.ScreenSpaceEventType.LEFT_CLICK);
        this.app.handler = undefined;
        this.app.handler=undefined;
        return;
      }
      var that = this;
      this.app.handler = new Cesium.ScreenSpaceEventHandler(Viewer.scene.canvas);
      this.app.handler.setInputAction(function (event) {
      var that=this;
      this.app.handler=new Cesium.ScreenSpaceEventHandler(Viewer.scene.canvas);
      this.app.handler.setInputAction(function(event) {
        var ray = Viewer.camera.getPickRay(event.position);
        var cartesian = Viewer.scene.globe.pick(ray, Viewer.scene);
        var cartographic = Cesium.Cartographic.fromCartesian(cartesian);
        var x = that.toFixed(Cesium.Math.toDegrees(cartographic.longitude), 7);
        var y = that.toFixed(Cesium.Math.toDegrees(cartographic.latitude), 7);
        var z = that.toFixed(cartographic.height, 3);
        var ray=Viewer.camera.getPickRay(event.position);
        var cartesian=Viewer.scene.globe.pick(ray,Viewer.scene);
        var cartographic=Cesium.Cartographic.fromCartesian(cartesian);
        var x=that.toFixed(Cesium.Math.toDegrees(cartographic.longitude),7);
        var y=that.toFixed(Cesium.Math.toDegrees(cartographic.latitude),7);
        var z=that.toFixed(cartographic.height,3);
        that.modelForm.lon = x;
        that.modelForm.lat = y;
        that.modelForm.height = z;
        that.modelForm.lon=x;
        that.modelForm.lat=y;
        that.modelForm.height=z;
        that.pickupCoords();
        that.reload();
      }, Cesium.ScreenSpaceEventType.LEFT_CLICK);
      },Cesium.ScreenSpaceEventType.LEFT_CLICK);
    },
    // 保留小数位
    toFixed(d, n) {
      var p = Math.pow(10, n);
    toFixed (d,n) {
      var p=Math.pow(10,n);
      return Math.round(d * p) / p;
      return Math.round(d*p)/p;
    },
    update() {
    update () {
      // if (!this.modelForm.lon || isNaN(this.modelForm.lon)) {
      //   var args = this.getEditTilesetArgs();
      //   this.modelForm.lon = args.lon == null ? 0 : args.height;
@@ -1243,46 +1375,46 @@
      // }
      this.setTilesetArgs(this.modelForm);
      sgworld.Analysis.UndergroundMode(this.app.under, this.modelForm.alpha)
      sgworld.Analysis.UndergroundMode(this.app.under,this.modelForm.alpha)
    },
    setTilesetArgs(f) {
    setTilesetArgs (f) {
      if (!this.app.tileset || this.app.isBusy) return;
      if(!this.app.tileset||this.app.isBusy) return;
      var pos = Cesium.Cartesian3.fromDegrees(parseFloat(f.lon), parseFloat(f.lat), parseFloat(f.height));
      var pos=Cesium.Cartesian3.fromDegrees(parseFloat(f.lon),parseFloat(f.lat),parseFloat(f.height));
      var converter = Cesium.Transforms.eastNorthUpToFixedFrame;
      var hpr = new Cesium.HeadingPitchRoll(Cesium.Math.toRadians(parseFloat(f.yaw)), 0, 0);
      var matrix = Cesium.Transforms.headingPitchRollToFixedFrame(pos, hpr, Cesium.Ellipsoid.WGS84, converter);
      var scale = Cesium.Matrix4.fromUniformScale(f.scale);
      Cesium.Matrix4.multiply(matrix, scale, matrix);
      var model = this.app.tileset
      model._root.transform = matrix;
      var converter=Cesium.Transforms.eastNorthUpToFixedFrame;
      var hpr=new Cesium.HeadingPitchRoll(Cesium.Math.toRadians(parseFloat(f.yaw)),0,0);
      var matrix=Cesium.Transforms.headingPitchRollToFixedFrame(pos,hpr,Cesium.Ellipsoid.WGS84,converter);
      var scale=Cesium.Matrix4.fromUniformScale(f.scale);
      Cesium.Matrix4.multiply(matrix,scale,matrix);
      var model=this.app.tileset
      model._root.transform=matrix;
    },
    //地下
    underground() {
      this.app.under = !this.app.under;
      sgworld.Analysis.UndergroundMode(this.app.under, this.modelForm.alpha)
    underground () {
      this.app.under=!this.app.under;
      sgworld.Analysis.UndergroundMode(this.app.under,this.modelForm.alpha)
    },
    //显隐
    showTileset() {
    showTileset () {
      if (!this.app.tileset) return;
      this.app.tileset.show = !this.app.tileset.show;
      if(!this.app.tileset) return;
      this.app.tileset.show=!this.app.tileset.show;
    },
    //定位
    locateTo() {
      if (!this.app.tileset) return;
    locateTo () {
      if(!this.app.tileset) return;
      Viewer.flyTo(this.app.tileset);
    },
    createTileset(res) {
      res.url = res.url.replace('{host}', iisHost)
    createTileset (res) {
      res.url=res.url.replace('{host}',iisHost)
      return new Cesium.Cesium3DTileset({
        url: res.url,
        name: 'tsTest',
        skipLevelOfDetail: true, // 在遍历时候跳过详情:false
        baseScreenSpaceError: 1024,
        maximumScreenSpaceError: res.url.indexOf("/pnts/") > -1 ? 16 : 64, // 最大屏幕空间错误:16,数值加大能让最终成像变模糊
        maximumScreenSpaceError: res.url.indexOf("/pnts/")>-1? 16:64, // 最大屏幕空间错误:16,数值加大能让最终成像变模糊
        skipScreenSpaceErrorFactor: 16,
        skipLevels: 1,
        immediatelyLoadDesiredLevelOfDetail: false,
@@ -1299,92 +1431,92 @@
        dynamicScreenSpaceError: true // 减少离相机较远的屏幕空间错误:false,全屏加载完之后才清晰化房屋
      });
    },
    setEditModelLayer(res) {
    setEditModelLayer (res) {
      if (res.json) {
      if(res.json) {
        var json = JSON.parse(res.json)
        this.modelForm = json;
        var json=JSON.parse(res.json)
        this.modelForm=json;
        this.reload();
      } else {
        this.getTilesetArgs();
      }
    },
    setModleLocatin() {
      var res = this.$store.state.previewLayer;
      var type = res.type;
      if (this.modelType.indexOf(type) != -1) {
        if (type != '3dml') {
    setModleLocatin () {
      var res=this.$store.state.previewLayer;
      var type=res.type;
      if(this.modelType.indexOf(type)!=-1) {
        if(type!='3dml') {
          this.setEditModelLayer(res)
        } else {
          this.editModelFlag = true;
          this.editModelFlag=true;
        }
      }
    },
    setModeLayerID(res) {
    setModeLayerID (res) {
      var value = res.getPropertyNames();
      var std = [];
      for (var i in value) {
      var value=res.getPropertyNames();
      var std=[];
      for(var i in value) {
        std.push({
          value: value[i],
          label: value[i]
        })
      }
      this.optionKey = std;
      this.modelLayerId = this.optionKey[0].label;
      this.modelKeyFlag = true;
      this.optionKey=std;
      this.modelLayerId=this.optionKey[0].label;
      this.modelKeyFlag=true;
    },
    setSureKeyModelKey() {
      this.modelKeyFlag = false;
      this.modelForm.modelid = this.modelLayerId
    setSureKeyModelKey () {
      this.modelKeyFlag=false;
      this.modelForm.modelid=this.modelLayerId
      window.ModeKeyIdHandler.removeInputAction(Cesium.ScreenSpaceEventType.LEFT_CLICK); //移除事件
    },
    getTilesetArgs() {
      this.app.isBusy = true;
      var cm = this.app.tileset._root.transform;
      var cartesian = new Cesium.Cartesian3(cm[12], cm[13], cm[14]);
      var carto = Cesium.Cartographic.fromCartesian(cartesian);
    getTilesetArgs () {
      this.app.isBusy=true;
      var cm=this.app.tileset._root.transform;
      var cartesian=new Cesium.Cartesian3(cm[12],cm[13],cm[14]);
      var carto=Cesium.Cartographic.fromCartesian(cartesian);
      if (carto) {
        this.modelForm.lon = Cesium.Math.toDegrees(carto.longitude).toFixed(7);
        this.modelForm.lat = Cesium.Math.toDegrees(carto.latitude).toFixed(7);
        this.modelForm.height = carto.height.toFixed(3);
      if(carto) {
        this.modelForm.lon=Cesium.Math.toDegrees(carto.longitude).toFixed(7);
        this.modelForm.lat=Cesium.Math.toDegrees(carto.latitude).toFixed(7);
        this.modelForm.height=carto.height.toFixed(3);
      }
      this.app.isBusy = false;
      this.app.isBusy=false;
    },
    getEditTilesetArgs() {
      this.app.isBusy = true;
      var std = {
    getEditTilesetArgs () {
      this.app.isBusy=true;
      var std={
        lon: 0,
        lat: 0,
        height: 0,
      }
      if (!this.app.tileset._root) return std;
      var cm = this.app.tileset._root.transform;
      var cartesian = new Cesium.Cartesian3(cm[12], cm[13], cm[14]);
      var carto = Cesium.Cartographic.fromCartesian(cartesian);
      if(!this.app.tileset._root) return std;
      var cm=this.app.tileset._root.transform;
      var cartesian=new Cesium.Cartesian3(cm[12],cm[13],cm[14]);
      var carto=Cesium.Cartographic.fromCartesian(cartesian);
      if (carto) {
        std.lon = Cesium.Math.toDegrees(carto.longitude).toFixed(7);
        std.lat = Cesium.Math.toDegrees(carto.latitude).toFixed(7);
        std.height = carto.height.toFixed(3);
      if(carto) {
        std.lon=Cesium.Math.toDegrees(carto.longitude).toFixed(7);
        std.lat=Cesium.Math.toDegrees(carto.latitude).toFixed(7);
        std.height=carto.height.toFixed(3);
      }
      this.app.isBusy = false;
      this.app.isBusy=false;
      return std
    },
    async setShowModelLayer() {
      const data = await perms_selectLayers();
      if (data.code != 200) {
    async setShowModelLayer () {
      const data=await perms_selectLayers();
      if(data.code!=200) {
      } else {
        var std = data.result
        var val = [];
        var std=data.result
        var val=[];
        std.filter((str) => {
          // if (str.type == 1 && str.pid == 1) {
          //   return str;
@@ -1392,12 +1524,12 @@
          // if (str.id == 1 && str.pid == 0) {
          //   return str;
          // }
          if (str.type == 1) {
          if(str.type==1) {
            val.push(str);
          }
          if (str.url != null && str.type == 2) {
          if(str.url!=null&&str.type==2) {
            if (str.serveType == 'Tileset' || str.serveType == '3DML' || str.serveType == 'TMS' || str.serveType == 'DEM') {
            if(str.serveType=='Tileset'||str.serveType=='3DML'||str.serveType=='TMS'||str.serveType=='DEM') {
              val.push(str);
            }
          }
@@ -1406,39 +1538,39 @@
          // }
        });
        var res = this.setTreeData(val);
        this.treeData = res;
        this.modelLayer = true;
        var that = this;
        var pickedFeature, pickedColor;
        window.modeCatchHandler = new Cesium.ScreenSpaceEventHandler(Viewer.scene.canvas);
        var res=this.setTreeData(val);
        this.treeData=res;
        this.modelLayer=true;
        var that=this;
        var pickedFeature,pickedColor;
        window.modeCatchHandler=new Cesium.ScreenSpaceEventHandler(Viewer.scene.canvas);
        window.modeCatchHandler.setInputAction((event) => {
          if (pickedColor) { pickedFeature && (pickedFeature.color = pickedColor); }
          if(pickedColor) { pickedFeature&&(pickedFeature.color=pickedColor); }
          pickedFeature = sgworld.Viewer.scene.pick(event.position);
          if (Cesium.defined(pickedFeature)) {
            if (pickedFeature.primitive instanceof Cesium.Cesium3DTileset) {
          pickedFeature=sgworld.Viewer.scene.pick(event.position);
          if(Cesium.defined(pickedFeature)) {
            if(pickedFeature.primitive instanceof Cesium.Cesium3DTileset) {
              if (pickedFeature) {
                pickedColor = pickedFeature.color
                pickedFeature.color = Cesium.Color.RED.withAlpha(0.3);
              if(pickedFeature) {
                pickedColor=pickedFeature.color
                pickedFeature.color=Cesium.Color.RED.withAlpha(0.3);
                that.setShowModelInfo(pickedFeature);
              }
            }
          }
        }, Cesium.ScreenSpaceEventType.LEFT_CLICK)
        },Cesium.ScreenSpaceEventType.LEFT_CLICK)
      }
    },
    setTreeData(source) {
      let cloneData = JSON.parse(JSON.stringify(source)); // 对源数据深度克隆
    setTreeData (source) {
      let cloneData=JSON.parse(JSON.stringify(source)); // 对源数据深度克隆
      return cloneData.filter((father) => {
        // 循环所有项
        let branchArr = cloneData.filter((child) => father.id == child.pid); // 对比ID,分别上下级菜单,并返回数据
        branchArr.length > 0 ? (father.children = branchArr) : ""; // 给父级添加一个children属性,并赋值
        let branchArr=cloneData.filter((child) => father.id==child.pid); // 对比ID,分别上下级菜单,并返回数据
        branchArr.length>0? (father.children=branchArr):""; // 给父级添加一个children属性,并赋值
        // 属于同一对象问题,例如:令 a=b、c=1 ,然后再令 b.c=c , 那么 a.c=b.c=c=1 ;同理,后续令 c.d=2 ,那么 a.c.d 也是=2;
        // 由此循环多次后,就能形成相应的树形数据结构
        return father.pid == 0; // 返回一级菜单
        return father.pid==0; // 返回一级菜单
      });
    },
    // tileSet(tileset, height) {
@@ -1454,11 +1586,11 @@
    //   //修改模型矩阵
    //   tileset.modelMatrix = Cesium.Matrix4.fromTranslation(translation);
    // },
    getHeight(level) {
      if (level > 0 && level < 23) {
    getHeight (level) {
      if(level>0&&level<23) {
        return this.levelArray[level]
      }
      var res = 7
      var res=7
      return this.levelArray[res]
    },
@@ -1523,7 +1655,8 @@
  }
  .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;
  }
src/views/Archive/index.vue
@@ -3,217 +3,167 @@
    <div class="menu_top">
      <My-bread :list="[`${$t('synthesis.synthesis')}`, `${$t('synthesis.archive')}`]"></My-bread>
      <!-- 下载列表 -->
      <i
        @click="getdownloadList"
        class="el-icon-tickets"
        :title="$t('synthesis.DownloadList')"
      ></i>
      <i @click="getdownloadList"
         class="el-icon-tickets"
         :title="$t('synthesis.DownloadList')"></i>
    </div>
    <el-divider />
    <!-- 查询框 -->
    <div class="iquery">
      <el-form
        :inline="true"
        :model="formInline"
        class="demo-form-inline"
      >
      <el-form :inline="true"
               :model="formInline"
               class="demo-form-inline">
        <!-- 数据类型 -->
        <el-form-item :title="$t('archiveObj.dataType')">
          <el-select
            size="small"
            v-model="formInline.dataType"
            :popper-append-to-body="false"
            :placeholder="$t('archiveObj.label1')"
            @change="setDataTypeChange()"
          >
            <el-option
              :label="$t('archiveObj.dataBank')"
              value="type1"
            ></el-option>
            <el-option
              :label="$t('archiveObj.file')"
              value="type2"
            ></el-option>
          <el-select size="small"
                     v-model="formInline.dataType"
                     :popper-append-to-body="false"
                     :placeholder="$t('archiveObj.label1')"
                     @change="setDataTypeChange()">
            <el-option :label="$t('archiveObj.dataBank')"
                       value="type1"></el-option>
            <el-option :label="$t('archiveObj.file')"
                       value="type2"></el-option>
          </el-select>
        </el-form-item>
        <!-- 资料类别 -->
        <el-form-item :title="$t('archiveObj.dataClass')">
          <el-select
            :popper-append-to-body="false"
            v-model="formInline.category"
            multiple
            clearable
            collapse-tags
            multiple
            filterable
            allow-create
            default-first-option
            size="small"
            ref="cascaders"
            :placeholder="$t('archiveObj.label4')"
            @change="categorySelectChange('orgName','org',categoryOptions)"
          >
            <el-option
              v-for="item in categoryOptions"
              :key="item.key"
              :label="item.value"
              :value="item.key"
            >
          <el-select :popper-append-to-body="false"
                     v-model="formInline.category"
                     multiple
                     clearable
                     collapse-tags
                     multiple
                     filterable
                     allow-create
                     default-first-option
                     size="small"
                     ref="cascaders"
                     :placeholder="$t('archiveObj.label4')"
                     @change="categorySelectChange('orgName','org',categoryOptions)">
            <el-option v-for="item in categoryOptions"
                       :key="item.key"
                       :label="item.value"
                       :value="item.key">
            </el-option>
          </el-select>
        </el-form-item>
        <!-- 项目名称 -->
        <el-form-item :title="$t('archiveObj.entryName')">
          <el-select
            :popper-append-to-body="false"
            v-model="formInline.item"
            multiple
            clearable
            collapse-tags
            multiple
            filterable
            allow-create
            default-first-option
            size="small"
            :placeholder="$t('archiveObj.label5')"
            @change="itemSelectChange('orgName','org',itemOptions)"
          >
            <el-option
              v-for="item in itemOptions"
              :key="item.code"
              :label="item.name"
              :value="item.code"
            >
          <el-select :popper-append-to-body="false"
                     v-model="formInline.item"
                     multiple
                     clearable
                     collapse-tags
                     multiple
                     filterable
                     allow-create
                     default-first-option
                     size="small"
                     :placeholder="$t('archiveObj.label5')"
                     @change="itemSelectChange('orgName','org',itemOptions)">
            <el-option v-for="item in itemOptions"
                       :key="item.code"
                       :label="item.name"
                       :value="item.code">
            </el-option>
          </el-select>
        </el-form-item>
        <!-- 单位 -->
        <el-form-item :title="$t('archiveObj.unit')">
          <el-select
            size="small"
            v-model="formInline.depName"
            :placeholder="$t('archiveObj.label3')"
            :popper-append-to-body="false"
            ref="treeSelect"
          >
            <el-option
              :value="formInline.depcode"
              :label="formInline.depName"
              style="height: auto"
            >
              <el-tree
                ref="tree"
                :data="depOption"
                node-key="id"
                :props="defaultProps"
                @node-click="depChange"
              />
          <el-select size="small"
                     v-model="formInline.depName"
                     :placeholder="$t('archiveObj.label3')"
                     :popper-append-to-body="false"
                     ref="treeSelect">
            <el-option :value="formInline.depcode"
                       :label="formInline.depName"
                       style="height: auto">
              <el-tree ref="tree"
                       :data="depOption"
                       node-key="id"
                       :props="defaultProps"
                       @node-click="depChange" />
            </el-option>
          </el-select>
          </el-select>
        </el-form-item>
        <!-- 关键字 -->
        <el-form-item :title="$t('archiveObj.keywords')">
          <el-input
            :placeholder="$t('archiveObj.label6')"
            v-model="formInline.keywords"
            size="small"
          > <i
              :title="$t('common.iquery')"
              @click="setSearchKeyWords"
              slot="suffix"
              class="el-input__icon el-icon-search"
            ></i></el-input>
          <el-input :placeholder="$t('archiveObj.label6')"
                    v-model="formInline.keywords"
                    size="small"> <i :title="$t('common.iquery')"
               @click="setSearchKeyWords"
               slot="suffix"
               class="el-input__icon el-icon-search"></i></el-input>
        </el-form-item>
        <!-- 批量下載 -->
        <el-form-item
          style="float:right"
          v-if="formInline.dataType =='type2'"
        >
          <el-button
            type="success"
            size="small"
            icon="el-icon-download"
            @click="setCardDownload"
          >{{$t('common.download')}}</el-button>
        <el-form-item style="float:right"
                      v-if="formInline.dataType =='type2'">
          <el-button type="success"
                     size="small"
                     icon="el-icon-download"
                     @click="setCardDownload">{{$t('common.download')}}</el-button>
        </el-form-item>
        <!-- 空间查询 -->
        <el-form-item style="float:right">
          <el-button
            type="primary"
            size="small"
            icon="el-icon-search"
            @click="getSpaceMapVisibale"
          >{{$t('synthesis.rangequery')}}</el-button>
          <el-button type="primary"
                     size="small"
                     icon="el-icon-search"
                     @click="getSpaceMapVisibale">{{$t('synthesis.rangequery')}}</el-button>
        </el-form-item>
        <!-- 重置 -->
        <el-form-item style="float:right">
          <el-button
            type="info"
            size="small"
            icon="el-icon-refresh"
            @click="setQuerAllTablesRefresh"
          >{{$t('common.reset')}}</el-button>
          <el-button type="info"
                     size="small"
                     icon="el-icon-refresh"
                     @click="setQuerAllTablesRefresh">{{$t('common.reset')}}</el-button>
        </el-form-item>
      </el-form>
    </div>
    <div class="contBox">
      <div
        id="archTopBox"
        class="archTopBox"
      >
      <div id="archTopBox"
           class="archTopBox">
        <div
          class="boxCard"
          v-for="(item,index) in monthdata"
        >
        <div class="boxCard"
             v-for="(item,index) in monthdata">
          <el-card class="box-card">
            <div
              slot="header"
              class="clearfix"
            >
            <div slot="header"
                 class="clearfix">
              <span v-show="formInline.dataType =='type2'">
                <el-checkbox
                  v-model="item.ischecked"
                  @change="handleCheckedDataTypeChange(item)"
                  style="margin-right:10px"
                >
                <el-checkbox v-model="item.ischecked"
                             @change="handleCheckedDataTypeChange(item)"
                             style="margin-right:10px">
                </el-checkbox>
                <span v-if="item.ismeta > 0">
                  <el-link
                    style="color: #409eff"
                    title="源数据查询"
                    target="_blank"
                    @click="setQueryMetaData(item)"
                  >{{ item.name }}</el-link>
                  <el-link style="color: #409eff"
                           title="源数据查询"
                           target="_blank"
                           @click="setQueryMetaData(item)">{{ item.name }}</el-link>
                </span>
                <span v-else-if="item.metaid > 0"> <el-link
                    style="color: #409eff"
                    title="元数据查询"
                    target="_blank"
                    @click="setMetaDataQuery(item)"
                  >{{ item.name }}</el-link></span>
                <span v-else-if="item.metaid > 0">
                  <el-link style="color: #409eff"
                           title="元数据查询"
                           target="_blank"
                           @click="setMetaDataQuery(item)">{{ item.name }}</el-link>
                </span>
                <span v-else>{{ item.name }}</span>
              </span>
              <span v-show="formInline.dataType !='type2'">{{item.tabDesc}}</span>
              <div style="float: right; padding: 3px 0">
                <i
                  v-show="formInline.dataType=='type2' "
                  v-if="showView(item, /[]/)"
                  class="el-icon-view"
                  :title="$t('common.preview')"
                  @click="setAttatchFileView(index, item)"
                ></i>
                <i
                  style="margin-left:10px"
                  class="el-icon-tickets"
                  :title="$t('common.details')"
                  @click="setCardDetails(item)"
                ></i>
                <i v-show="formInline.dataType=='type2' "
                   v-if="showView(item, /[]/)"
                   class="el-icon-view"
                   :title="$t('common.preview')"
                   @click="setAttatchFileView(index, item)"></i>
                <i style="margin-left:10px"
                   class="el-icon-tickets"
                   :title="$t('common.details')"
                   @click="setCardDetails(item)"></i>
                <!-- <i
                  v-show="formInline.dataType=='type2'"
                  style="margin-left:10px"
@@ -221,27 +171,21 @@
                  :title="$t('common.download')"
                  @click="setCardDownload(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>
                <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 && formInline.dataType=='type2'"
            >
            <div :id="item.id"
                 style="margin:5px 1px"
                 v-show="!item.isShow && formInline.dataType=='type2'">
              <div class="cardItem"> {{$t('archiveObj.dataType')}} : {{ item.mold }} </div>
              <div class="cardItem"> {{$t('dataManage.vmobj.format')}} : {{ item.type }} </div>
              <div class="cardItem"> {{$t('dataManage.vmobj.size')}} : {{stateFormatSizes(item.sizes)}} </div>
@@ -254,11 +198,9 @@
              <div class="cardItem"> {{$t('dataManage.vmobj.createontime')}} : {{format(item.createTime)}} </div>
            </div>
            <div
              :id="item.id"
              style="margin:5px 1px"
              v-show="!item.isShow && formInline.dataType!='type2'"
            >
            <div :id="item.id"
                 style="margin:5px 1px"
                 v-show="!item.isShow && formInline.dataType!='type2'">
              <div class="cardItem"> {{$t('archiveObj.dataType')}} : {{ item.mold }} </div>
              <div class="cardItem"> {{$t('dataManage.vmobj.tab')}} : {{ item.ns+'.'+item.tab }} </div>
              <div class="cardItem"> {{$t('dataManage.vmobj.row')}} : {{ item.rows }} </div>
@@ -271,26 +213,22 @@
      </div>
      <div class="archBottomBox">
        <div style="margin-top:10px">
          <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="listData.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="listData.count">
          </el-pagination>
        </div>
      </div>
    </div>
    <!-- 文件详情 -->
    <el-dialog
      :title="$t('common.details')"
      :visible.sync="showinfoBox1"
      :close-on-click-modal="false"
      width="30%"
    >
    <el-dialog :title="$t('common.details')"
               :visible.sync="showinfoBox1"
               :close-on-click-modal="false"
               width="30%">
      <div class="contentBox">
        <p>{{ $t('dataManage.vmobj.name') }}:{{ itemdetail1.name }}</p>
        <el-divider></el-divider>
@@ -344,78 +282,56 @@
      </div>
    </el-dialog>
    <!-- 数据库详情 -->
    <el-dialog
      :title=" this.listBankData.title"
      :visible.sync="dialogVisible"
      :close-on-click-modal="false"
      width="90%"
      top="12vh"
    >
    <el-dialog :title=" this.listBankData.title"
               :visible.sync="dialogVisible"
               :close-on-click-modal="false"
               width="90%"
               top="12vh">
      <!-- 密码框 -->
      <el-dialog
        :title="$t('common.passworld')"
        :visible.sync="downloadLogVisible"
        :close-on-click-modal="false"
        top="15vh"
        width="30%"
        :show-close="false"
        :modal="false"
      >
        <el-form
          :model="codeForm"
          :rules="rules"
          ref="codeForm"
          label-width="100px"
          class="codeForm"
        >
          <el-form-item
            :label="$t('common.passworld')"
            prop="password"
          >
            <el-input
              size="small"
              type="password"
              v-model="codeForm.password"
              show-password
            ></el-input>
      <el-dialog :title="$t('common.passworld')"
                 :visible.sync="downloadLogVisible"
                 :close-on-click-modal="false"
                 top="15vh"
                 width="30%"
                 :show-close="false"
                 :modal="false">
        <el-form :model="codeForm"
                 :rules="rules"
                 ref="codeForm"
                 label-width="100px"
                 class="codeForm">
          <el-form-item :label="$t('common.passworld')"
                        prop="password">
            <el-input size="small"
                      type="password"
                      v-model="codeForm.password"
                      show-password></el-input>
          </el-form-item>
          <el-form-item
            :label="$t('common.SPassword')"
            prop="repassword"
          >
            <el-input
              size="small"
              type="password"
              v-model="codeForm.repassword"
              show-password
            ></el-input>
          <el-form-item :label="$t('common.SPassword')"
                        prop="repassword">
            <el-input size="small"
                      type="password"
                      v-model="codeForm.repassword"
                      show-password></el-input>
          </el-form-item>
          <el-form-item>
            <el-button
              class="primary"
              size="small"
              @click="download1('codeForm')"
            >{{$t('common.confirm')}}</el-button>
            <el-button
              type="info"
              size="small"
              @click="closeDown1('codeForm')"
            >{{$t('common.cancel')}}</el-button>
            <el-button class="primary"
                       size="small"
                       @click="download1('codeForm')">{{$t('common.confirm')}}</el-button>
            <el-button type="info"
                       size="small"
                       @click="closeDown1('codeForm')">{{$t('common.cancel')}}</el-button>
          </el-form-item>
        </el-form>
      </el-dialog>
      <!-- 数据库table详情 -->
      <el-dialog
        width="30%"
        :visible.sync="itemDetailVisible"
        :modal="false"
      >
        <div
          class="contentBox"
          style="height:60vh;overflow:auto"
        >
      <el-dialog width="30%"
                 :visible.sync="itemDetailVisible"
                 :modal="false">
        <div class="contentBox"
             style="height:60vh;overflow:auto">
          <ul>
            <li v-for="(item, index) in itemdetail">
              <p>
@@ -429,172 +345,122 @@
      </el-dialog>
      <!-- 查询条件 -->
      <!-- 条件-->
      <el-dialog
        width="43%"
        :visible.sync="conditionVisible"
        :modal="false"
        title="查询条件"
        :show-close="false"
      >
        <el-form
          :inline="true"
          :model="formSql"
          class="demo-form-inline"
        >
      <el-dialog width="43%"
                 :visible.sync="conditionVisible"
                 :modal="false"
                 title="查询条件"
                 :show-close="false">
        <el-form :inline="true"
                 :model="formSql"
                 class="demo-form-inline">
          <el-form-item>
            <el-select
              size="small"
              :popper-append-to-body="false"
              @change="fieldChange($event)"
              v-model="formSql.field"
            >
              <el-option
                v-for="item in filedsOption"
                :key="item.field"
                :label="item.alias"
                :value="item.field"
              >
            <el-select size="small"
                       :popper-append-to-body="false"
                       @change="fieldChange($event)"
                       v-model="formSql.field">
              <el-option v-for="item in filedsOption"
                         :key="item.field"
                         :label="item.alias"
                         :value="item.field">
              </el-option>
            </el-select>
          </el-form-item>
          <el-form-item>
            <el-select
              size="small"
              :popper-append-to-body="false"
              v-model="formSql.condition"
            >
              <el-option
                v-for="item in condOption"
                :key="item.value"
                :label="item.label"
                :value="item.value"
              >
            <el-select size="small"
                       :popper-append-to-body="false"
                       v-model="formSql.condition">
              <el-option v-for="item in condOption"
                         :key="item.value"
                         :label="item.label"
                         :value="item.value">
              </el-option>
            </el-select>
          </el-form-item>
          <el-form-item v-show="!fromSqlflag">
            <el-input
              size="small"
              v-model="formSql.value"
            ></el-input>
            <el-input size="small"
                      v-model="formSql.value"></el-input>
          </el-form-item>
          <el-form-item v-show="fromSqlflag">
            <el-date-picker
              size="small"
              v-model="formSql.date"
              type="date"
              placeholder="选择日期"
              value-format="yyyy-MM-dd"
            >
            <el-date-picker size="small"
                            v-model="formSql.date"
                            type="date"
                            placeholder="选择日期"
                            value-format="yyyy-MM-dd">
            </el-date-picker>
          </el-form-item>
        </el-form>
        <span
          slot="footer"
          class="dialog-footer"
        >
          <el-button
            size="small"
            @click="startFiledAndcondition"
          >取 消</el-button>
          <el-button
            size="small"
            type="primary"
            @click="appendQueryFilter"
          >确 定</el-button>
        <span slot="footer"
              class="dialog-footer">
          <el-button size="small"
                     @click="startFiledAndcondition">取 消</el-button>
          <el-button size="small"
                     type="primary"
                     @click="appendQueryFilter">确 定</el-button>
        </span>
      </el-dialog>
      <!-- 数据库附件信息 -->
      <el-dialog
        :title="$t('common.enclosure')"
        :visible.sync="outerVisible"
        :close-on-click-modal="false"
        width="50%"
        :modal="false"
      >
      <el-dialog :title="$t('common.enclosure')"
                 :visible.sync="outerVisible"
                 :close-on-click-modal="false"
                 width="50%"
                 :modal="false">
        <div style="height:68vh">
          <el-form
            :model="fromfile"
            class="demo-form-inline"
          >
          <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="2">
                  <el-link
                    class="elLink"
                    :underline="false"
                    @click="setAttachInsert"
                  >{{$t('common.append')}}</el-link>
                  <el-link class="elLink"
                           :underline="false"
                           @click="setAttachInsert">{{$t('common.append')}}</el-link>
                </el-col>
                <el-col :span="2">
                  <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
            @cell-dblclick="copyText"
            :data="tableAttach"
            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.fileNme')"
            />
          <el-table @cell-dblclick="copyText"
                    :data="tableAttach"
                    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.fileNme')" />
            <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>
@@ -603,502 +469,360 @@
      </el-dialog>
      <!-- 数据库Table信息 -->
      <div style="height:68vh">
        <el-form
          :model="formInline"
          :inline="true"
        >
        <el-form :model="formInline"
                 :inline="true">
          <el-form-item>
            <el-input
              type="input"
              v-model="formInline.fileName"
              class="nm-skin-pretty"
              show-word-limit
              :rows="2"
              resize='none'
              disabled
              size="small"
              style="width: 650px;"
              :placeholder="$t('archiveObj.label7')"
            ></el-input>
            <el-input type="input"
                      v-model="formInline.fileName"
                      class="nm-skin-pretty"
                      show-word-limit
                      :rows="2"
                      resize='none'
                      disabled
                      size="small"
                      style="width: 650px;"
                      :placeholder="$t('archiveObj.label7')"></el-input>
          </el-form-item>
          <el-form-item>
            <el-button
              type="success"
              size="small"
              icon="el-icon-plus"
              @click="conditionVisible = true"
            >{{$t('common.append')}}</el-button>
            <el-button type="success"
                       size="small"
                       icon="el-icon-plus"
                       @click="conditionVisible = true">{{$t('common.append')}}</el-button>
          </el-form-item>
          <el-form-item>
            <el-button
              type="primary"
              size="small"
              icon="el-icon-search"
              @click="submitForm()"
            >{{$t('common.iquery')}}</el-button>
            <el-button type="primary"
                       size="small"
                       icon="el-icon-search"
                       @click="submitForm()">{{$t('common.iquery')}}</el-button>
          </el-form-item>
          <el-form-item>
            <el-button
              type="info"
              size="small"
              icon="el-icon-search"
              @click="resetForm()"
            >{{$t('common.reset')}}</el-button>
            <el-button type="info"
                       size="small"
                       icon="el-icon-search"
                       @click="resetForm()">{{$t('common.reset')}}</el-button>
          </el-form-item>
          <el-form-item>
            <el-button
              type="warning"
              size="small"
              icon="el-icon-download"
              @click="downloadLogVisible = true"
            >{{$t('common.download')}}</el-button>
            <el-button type="warning"
                       size="small"
                       icon="el-icon-download"
                       @click="downloadLogVisible = true">{{$t('common.download')}}</el-button>
          </el-form-item>
          <!--   -->
        </el-form>
        <el-divider />
        <el-table
          @cell-dblclick="copyText"
          ref="filterTable"
          :data="tableData"
          border
          style="width: 100%"
          height="calc(100% - 150px)"
          @selection-change="handleSelectionChange"
        >
          <el-table-column
            type="selection"
            align="center"
            width="55"
          />
          <el-table-column
            width="60"
            type="index"
            align="center"
            :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"
            min-width="150"
          ></el-table-column>
          <el-table-column
            align="center"
            :label="$t('common.operate')"
            min-width="150"
          >
        <el-table @cell-dblclick="copyText"
                  ref="filterTable"
                  :data="tableData"
                  border
                  style="width: 100%"
                  height="calc(100% - 150px)"
                  @selection-change="handleSelectionChange">
          <el-table-column type="selection"
                           align="center"
                           width="55" />
          <el-table-column width="60"
                           type="index"
                           align="center"
                           :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"
                           min-width="150"></el-table-column>
          <el-table-column align="center"
                           :label="$t('common.operate')"
                           min-width="150">
            <template slot-scope="scope">
              <el-link
                class="elLink"
                @click="showDetail(scope.$index, scope.row)"
              >{{ $t('common.details') }}</el-link>
              <el-link
                class="elLink"
                @click="getAttachTable(scope.$index, scope.row)"
                style="margin-left: 20px"
              >{{ $t('common.enclosure') }}</el-link>
              <el-link class="elLink"
                       @click="showDetail(scope.$index, scope.row)">{{ $t('common.details') }}</el-link>
              <el-link class="elLink"
                       @click="getAttachTable(scope.$index, scope.row)"
                       style="margin-left: 20px">{{ $t('common.enclosure') }}</el-link>
            </template>
          </el-table-column>
        </el-table>
        <div class="archBottomBox">
          <div>
            <el-pagination
              @size-change="handleSizeChange1"
              @current-change="handleCurrentChange1"
              :current-page="listBankData.pageIndex"
              :page-sizes="[10, 20, 50, 100]"
              :page-size="listBankData.pageSize"
              layout="total, sizes, prev, pager, next, jumper"
              :total="listBankData.count"
            >
            <el-pagination @size-change="handleSizeChange1"
                           @current-change="handleCurrentChange1"
                           :current-page="listBankData.pageIndex"
                           :page-sizes="[10, 20, 50, 100]"
                           :page-size="listBankData.pageSize"
                           layout="total, sizes, prev, pager, next, jumper"
                           :total="listBankData.count">
            </el-pagination>
          </div>
        </div>
      </div>
    </el-dialog>
    <!-- 密码框 -->
    <el-dialog
      :title="$t('common.passworld')"
      :visible.sync="passWorldVisible"
      :close-on-click-modal="false"
      top="15vh"
      width="30%"
      :show-close="false"
    >
      <el-form
        :model="codeForm"
        :rules="rules"
        ref="codeForm"
        label-width="100px"
        class="codeForm"
      >
        <el-form-item
          :label="$t('common.passworld')"
          prop="password"
        >
          <el-input
            size="small"
            type="password"
            v-model="codeForm.password"
            show-password
          ></el-input>
    <el-dialog :title="$t('common.passworld')"
               :visible.sync="passWorldVisible"
               :close-on-click-modal="false"
               top="15vh"
               width="30%"
               :show-close="false">
      <el-form :model="codeForm"
               :rules="rules"
               ref="codeForm"
               label-width="100px"
               class="codeForm">
        <el-form-item :label="$t('common.passworld')"
                      prop="password">
          <el-input size="small"
                    type="password"
                    v-model="codeForm.password"
                    show-password></el-input>
        </el-form-item>
        <el-form-item
          :label="$t('common.SPassword')"
          prop="repassword"
        >
          <el-input
            size="small"
            type="password"
            v-model="codeForm.repassword"
            show-password
          ></el-input>
        <el-form-item :label="$t('common.SPassword')"
                      prop="repassword">
          <el-input size="small"
                    type="password"
                    v-model="codeForm.repassword"
                    show-password></el-input>
        </el-form-item>
        <el-form-item>
          <el-button
            class="primary"
            size="small"
            @click="download('codeForm')"
          >{{$t('common.confirm')}}</el-button>
          <el-button
            type="info"
            size="small"
            @click="closeDown('codeForm')"
          >{{$t('common.cancel')}}</el-button>
          <el-button class="primary"
                     size="small"
                     @click="download('codeForm')">{{$t('common.confirm')}}</el-button>
          <el-button type="info"
                     size="small"
                     @click="closeDown('codeForm')">{{$t('common.cancel')}}</el-button>
        </el-form-item>
      </el-form>
    </el-dialog>
    <!-- 下载列表 -->
    <el-dialog
      :visible.sync="downloadListVisible"
      width="90%"
      top="14vh"
      :close-on-click-modal="false"
    >
    <el-dialog :visible.sync="downloadListVisible"
               width="90%"
               top="14vh"
               :close-on-click-modal="false">
      <div class="downloadBox">
        <div class="archdowntop">
          <el-table
            @cell-dblclick="copyText"
            :data="downloadTableData"
            style="width: 100%"
            height="calc(100% - 5px)"
          >
            <el-table-column
              type="index"
              width="50"
              :label="$t('common.index')"
            >
          <el-table @cell-dblclick="copyText"
                    :data="downloadTableData"
                    style="width: 100%"
                    height="calc(100% - 5px)">
            <el-table-column type="index"
                             width="50"
                             :label="$t('common.index')">
            </el-table-column>
            <el-table-column
              property="descr"
              :label="$t('common.title')"
            > </el-table-column>
            <el-table-column
              property="name"
              :label="$t('common.fileNme')"
            > </el-table-column>
            <el-table-column
              property="createName"
              :label="$t('operatManage.BWL.requestUser')"
            > </el-table-column>
            <el-table-column
              property="createTime"
              :formatter="formatData"
              :label="$t('dataApply.careatetime')"
            >
            <el-table-column property="descr"
                             :label="$t('common.title')"> </el-table-column>
            <el-table-column property="name"
                             :label="$t('common.fileNme')"> </el-table-column>
            <el-table-column property="createName"
                             :label="$t('operatManage.BWL.requestUser')"> </el-table-column>
            <el-table-column property="createTime"
                             :formatter="formatData"
                             :label="$t('dataApply.careatetime')">
            </el-table-column>
            <el-table-column
              :label="$t('common.download')"
              width="120"
            >
            <el-table-column :label="$t('common.download')"
                             width="120">
              <template slot-scope="scope">
                <el-link
                  @click.native.prevent="downloadMap(scope.$index, scope.row)"
                  :underline="false"
                >下载</el-link>
                <el-link @click.native.prevent="downloadMap(scope.$index, scope.row)"
                         :underline="false">下载</el-link>
              </template>
            </el-table-column>
          </el-table>
        </div>
        <div class="archdownbottom">
          <el-pagination
            @size-change="downloadSizeChange"
            @current-change="downloadCurrentChange"
            :current-page="downloadPage.pageIndex"
            :page-sizes="[10, 20, 50, 100]"
            :page-size="downloadPage.pageSize"
            layout="total, sizes, prev, pager, next, jumper"
            :total="downloadPage.count"
          >
          <el-pagination @size-change="downloadSizeChange"
                         @current-change="downloadCurrentChange"
                         :current-page="downloadPage.pageIndex"
                         :page-sizes="[10, 20, 50, 100]"
                         :page-size="downloadPage.pageSize"
                         layout="total, sizes, prev, pager, next, jumper"
                         :total="downloadPage.count">
          </el-pagination>
        </div>
      </div>
    </el-dialog>
    <!--空间查询 -->
    <el-dialog
      :title=" $t('synthesis.rangequery')"
      :visible.sync="dialogMapVisible"
      width="90%"
      top="10vh"
      :close-on-click-modal="false"
      :before-close="handleMaptClose"
    >
    <el-dialog :title=" $t('synthesis.rangequery')"
               :visible.sync="dialogMapVisible"
               width="90%"
               top="10vh"
               :close-on-click-modal="false"
               :before-close="handleMaptClose">
      <div style="height:73vh">
        <map-sdk v-if='showMapVisible'></map-sdk>
      </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
          @cell-dblclick="copyText"
          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 @cell-dblclick="copyText"
                  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="stateFormatSizes"
          />
          <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="stateFormatSizes" />
          <el-table-column align="center"
                           :label="$t('dataManage.dataUpObj.tableName')">
            <template slot-scope="scope">
              <a class="scopeRowColor">{{
                  scope.row.tab
                }}</a>
            </template>
          </el-table-column>
          <el-table-column
            align="center"
            prop="rows"
            :label="$t('common.lineNuber')"
          />
          <el-table-column
            align="center"
            prop="desc"
            :label="$t('dataManage.dataUpObj.describe')"
          />
          <el-table-column align="center"
                           prop="rows"
                           :label="$t('common.lineNuber')" />
          <el-table-column align="center"
                           prop="desc"
                           :label="$t('dataManage.dataUpObj.describe')" />
        </el-table>
      </div>
    </el-dialog>
    <el-dialog
      :title="fromQueryMeta.title"
      :visible.sync="queryMetaFlag"
      width="70%"
    >
    <el-dialog :title="fromQueryMeta.title"
               :visible.sync="queryMetaFlag"
               width="70%">
      <div style="height: 65vh; width: 100%">
        <el-form
          :inline="true"
          :model="fromQueryMeta"
          class="demo-form-inline"
        >
        <el-form :inline="true"
                 :model="fromQueryMeta"
                 class="demo-form-inline">
          <el-form-item>
            <el-input
              size="small"
              v-model="fromQueryMeta.name"
            ></el-input>
            <el-input size="small"
                      v-model="fromQueryMeta.name"></el-input>
          </el-form-item>
          <el-form-item>
            <el-button
              type="primary"
              size="small"
              @click="setSearchMetaData()"
            >查询
            <el-button type="primary"
                       size="small"
                       @click="setSearchMetaData()">查询
            </el-button>
            <el-button
              type="info"
              size="small"
              @click="setRestMetaData()"
            >重置
            <el-button type="info"
                       size="small"
                       @click="setRestMetaData()">重置
            </el-button>
          </el-form-item>
        </el-form>
        <el-table
          @cell-dblclick="copyText"
          ref="filterTable"
          :data="metaDataTable"
          style="width: 100%"
          height="calc(100% - 100px)"
        >
          <el-table-column
            align="center"
            type="index"
            :label="$t('common.index')"
            width="70px"
          ></el-table-column>
          <el-table-column
            align="center"
            prop="name"
            :label="$t('common.name')"
            width="120"
          >
        <el-table @cell-dblclick="copyText"
                  ref="filterTable"
                  :data="metaDataTable"
                  style="width: 100%"
                  height="calc(100% - 100px)">
          <el-table-column align="center"
                           type="index"
                           :label="$t('common.index')"
                           width="70px"></el-table-column>
          <el-table-column align="center"
                           prop="name"
                           :label="$t('common.name')"
                           width="120">
          </el-table-column>
          <el-table-column
            align="center"
            prop="dirName"
            :label="$t('dataManage.dataUpObj.catalogue')"
            width="300"
          />
          <el-table-column
            align="center"
            prop="depName"
            :label="$t('dataManage.dataUpObj.company')"
            width="200"
          />
          <el-table-column
            align="center"
            prop="verName"
            :label="$t('dataManage.dataUpObj.versionNo')"
          />
          <el-table-column
            align="center"
            prop="type"
            :label="$t('common.type')"
          />
          <el-table-column
            align="center"
            prop="sizes"
            :label="$t('common.size')"
            :formatter="stateFormatSizes"
          />
          <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="stateFormatSizes" />
          <el-table-column align="center"
                           :label="$t('dataManage.dataUpObj.tableName')">
            <template slot-scope="scope">
              <a
                class="scopeRowColor"
                @click="detail(scope.row)"
              >{{
              <a class="scopeRowColor"
                 @click="detail(scope.row)">{{
                  scope.row.tab
                }}</a>
            </template>
          </el-table-column>
          <el-table-column
            align="center"
            prop="rows"
            :label="$t('common.lineNuber')"
          />
          <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
          class="pagination_box"
          style="margin-top: 15px"
        >
          <el-pagination
            @size-change="handleMetaSizeChange"
            @current-change="handMetaCurrentChange"
            :current-page="listMetaData.pageIndex"
            :page-sizes="[10, 20, 50, 100]"
            :page-size="listMetaData.pageSize"
            layout="total, sizes, prev, pager, next, jumper"
            :total="listMetaData.count"
          >
        <div class="pagination_box"
             style="margin-top: 15px">
          <el-pagination @size-change="handleMetaSizeChange"
                         @current-change="handMetaCurrentChange"
                         :current-page="listMetaData.pageIndex"
                         :page-sizes="[10, 20, 50, 100]"
                         :page-size="listMetaData.pageSize"
                         layout="total, sizes, prev, pager, next, jumper"
                         :total="listMetaData.count">
          </el-pagination>
        </div>
      </div>
    </el-dialog>
    <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="数据申请"
      :visible.sync="dialogInsertVisible"
      width="30%"
      top="35vh"
      :modal="false"
      :before-close="handleInsertClose"
    >
    <el-dialog title="数据申请"
               :visible.sync="dialogInsertVisible"
               width="30%"
               top="35vh"
               :modal="false"
               :before-close="handleInsertClose">
      <div style="width: 100%; max-height: 450px; overflow-y: auto">
        <el-form
          ref="form"
          :model="ruleForm"
          label-width="100px"
        >
        <el-form ref="form"
                 :model="ruleForm"
                 label-width="100px">
          <el-form-item label="审核单位">
            <div>
              <ul>
@@ -1118,106 +842,78 @@
            </div>
          </el-form-item>
          <el-form-item label="条件">
            <el-input
              :title="ruleForm.wkt"
              v-model="ruleForm.wkt"
              disabled
            ></el-input>
            <el-input :title="ruleForm.wkt"
                      v-model="ruleForm.wkt"
                      disabled></el-input>
          </el-form-item>
          <el-form-item label="描述">
            <el-input
              type="textarea"
              placeholder="请输入内容"
              v-model="ruleForm.descr"
              maxlength="50"
              show-word-limit
            >
            <el-input type="textarea"
                      placeholder="请输入内容"
                      v-model="ruleForm.descr"
                      maxlength="50"
                      show-word-limit>
            </el-input>
          </el-form-item>
          <el-form-item>
            <el-button
              class="primary"
              size="small"
              @click="getInsertDownx"
            >{{
            <el-button class="primary"
                       size="small"
                       @click="getInsertDownx">{{
              $t("common.confirm")
            }}</el-button>
            <el-button
              type="info"
              size="small"
              @click="closeInsertDown"
            >{{
            <el-button type="info"
                       size="small"
                       @click="closeInsertDown">{{
              $t("common.cancel")
            }}</el-button>
          </el-form-item>
        </el-form>
      </div>
    </el-dialog>
    <el-dialog
      :title="$t('common.passworld')"
      :visible.sync="dialogVisible1"
      width="30%"
      top="35vh"
      :modal="false"
      :before-close="handleCloseDown1"
    >
      <el-form
        :model="codeForm"
        :rules="rules"
        ref="codeForm"
        label-width="100px"
        class="codeForm"
      >
        <el-form-item
          :label="$t('common.passworld')"
          prop="password"
        >
          <el-input
            type="password"
            v-model="codeForm.password"
            show-password
          ></el-input>
    <el-dialog :title="$t('common.passworld')"
               :visible.sync="dialogVisible1"
               width="30%"
               top="35vh"
               :modal="false"
               :before-close="handleCloseDown1">
      <el-form :model="codeForm"
               :rules="rules"
               ref="codeForm"
               label-width="100px"
               class="codeForm">
        <el-form-item :label="$t('common.passworld')"
                      prop="password">
          <el-input type="password"
                    v-model="codeForm.password"
                    show-password></el-input>
        </el-form-item>
        <el-form-item
          :label="$t('common.SPassword')"
          prop="repassword"
        >
          <el-input
            type="password"
            v-model="codeForm.repassword"
            show-password
          ></el-input>
        <el-form-item :label="$t('common.SPassword')"
                      prop="repassword">
          <el-input type="password"
                    v-model="codeForm.repassword"
                    show-password></el-input>
        </el-form-item>
        <el-form-item>
          <el-button
            class="primary"
            size="small"
            @click="downloadx('codeForm')"
          >{{ $t("common.confirm") }}</el-button>
          <el-button
            type="info"
            size="small"
            @click="closeDownx('codeForm')"
          >{{
          <el-button class="primary"
                     size="small"
                     @click="downloadx('codeForm')">{{ $t("common.confirm") }}</el-button>
          <el-button type="info"
                     size="small"
                     @click="closeDownx('codeForm')">{{
            $t("common.cancel")
          }}</el-button>
        </el-form-item>
      </el-form>
    </el-dialog>
    <el-dialog
      title="数据申请"
      :visible.sync="dialogInsertFile"
      width="30%"
      top="10vh"
      :modal="false"
      :close-on-click-modal="false"
      :show-close="false"
    >
      <el-form
        ref="form"
        :model="fileFrom"
        label-width="100px"
      >
    <el-dialog title="数据申请"
               :visible.sync="dialogInsertFile"
               width="30%"
               top="10vh"
               :modal="false"
               :close-on-click-modal="false"
               :show-close="false">
      <el-form ref="form"
               :model="fileFrom"
               label-width="100px">
        <el-form-item label="审核单位">
          <div>
            <ul>
@@ -1229,39 +925,31 @@
        </el-form-item>
        <el-form-item label="描述">
          <el-input
            type="textarea"
            placeholder="请输入内容"
            v-model="fileFrom.descr"
            maxlength="50"
            show-word-limit
          >
          <el-input type="textarea"
                    placeholder="请输入内容"
                    v-model="fileFrom.descr"
                    maxlength="50"
                    show-word-limit>
          </el-input>
        </el-form-item>
        <el-form-item>
          <el-button
            class="primary"
            size="small"
            @click="getFileInsertApply()"
          >{{
          <el-button class="primary"
                     size="small"
                     @click="getFileInsertApply()">{{
              $t("common.confirm")
            }}</el-button>
          <el-button
            type="info"
            size="small"
            @click="handleInsertFileClose()"
          >{{
          <el-button type="info"
                     size="small"
                     @click="handleInsertFileClose()">{{
              $t("common.cancel")
            }}</el-button>
        </el-form-item>
      </el-form>
    </el-dialog>
    <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>
  </div>
</template>
@@ -1298,22 +986,22 @@
import { dataLibView } from '@/api/screen.js'
export default {
  components: {
    MyBread, MapSdk
    MyBread,MapSdk
  },
  data() {
    var repasswordValidator = (rule, value, callback) => {
      if (value === '') {
  data () {
    var repasswordValidator=(rule,value,callback) => {
      if(value==='') {
        callback(new Error('请再次输入密码'));
      } else if (value !== this.codeForm.password) {
      } else if(value!==this.codeForm.password) {
        callback(new Error('两次输入密码不一致!'));
      } else {
        callback();
      }
    };
    var passwordValidator = (rule, value, callback) => {
      var passwordreg =
    var passwordValidator=(rule,value,callback) => {
      var passwordreg=
        /^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z\W!@#$%^&*`~()\\-_+=,.?;<>]+$)(?![a-z0-9]+$)(?![a-z\W!@#$%^&*`~()\\-_+=,.?;<>]+$)(?![0-9\W!@#$%^&*`~()\\-_+=,.?;<>]+$)[a-zA-Z0-9\W!@#$%^&*`~()\\-_+=,.?;<>]{12,20}$/;
      if (!passwordreg.test(value)) {
      if(!passwordreg.test(value)) {
        callback(
          new Error('密码必须由数字、字母、特殊字符组合,请输入13-20位')
        );
@@ -1332,10 +1020,10 @@
        repassword: '',
      },
      rules: {
        password: [{ required: true, message: '请输入密码', trigger: 'blur' }, { validator: passwordValidator, trigger: 'blur' }],
        password: [{ required: true,message: '请输入密码',trigger: 'blur' },{ validator: passwordValidator,trigger: 'blur' }],
        repassword: [
          { required: true, message: '请输入确认密码', trigger: 'blur' },
          { validator: repasswordValidator, trigger: 'blur' },
          { required: true,message: '请输入确认密码',trigger: 'blur' },
          { validator: repasswordValidator,trigger: 'blur' },
        ],
      },
      formInline: {
@@ -1449,18 +1137,18 @@
    };
  },
  watch: {
    "formInline.depName"() {
      this.$refs.treeSelect.visible = false;
    "formInline.depName" () {
      this.$refs.treeSelect.visible=false;
    },
  },
  mounted() {
  mounted () {
    this.getDepTreeData();
    this.getCategorySelectData();
    this.getItemSelectData();
    this.signGetPublicKey();
    this.$bus.$on("setDialogInsertVisible", (res) => {
      if (res == true) {
        this.dialogVisible1 = true;
    this.$bus.$on("setDialogInsertVisible",(res) => {
      if(res==true) {
        this.dialogVisible1=true;
      } else {
        this.setDialogInsertVisible(res);
      }
@@ -1468,47 +1156,47 @@
  },
  methods: {
    //数据库查询下载
    downloadBankData() {
    downloadBankData () {
      // downloadLogVisible
    },
    handleCloseDown1() {
    handleCloseDown1 () {
      this.$confirm("确认关闭?")
        .then(_ => {
          this.closeDownx();
        })
        .catch(_ => { })
    },
    downloadx() {
      this.$bus.$emit("setInsertDown2", this.codeForm)
    downloadx () {
      this.$bus.$emit("setInsertDown2",this.codeForm)
      // 
    },
    closeDownx() {
      this.dialogVisible1 = false;
      this.codeForm = {
    closeDownx () {
      this.dialogVisible1=false;
      this.codeForm={
        password: '',
        repassword: '',
      }
    },
    async getInsertDownx() {
    async getInsertDownx () {
      this.dialogInsertVisible = false;
      this.dialogVisible1 = false;
      this.downloadLogVisible = false;
      var obj = null
      if (this.dialogMapVisible == true) {
        var entities = [];
        var tabs = [];
        for (var i in this.ruleForm.tabs) {
      this.dialogInsertVisible=false;
      this.dialogVisible1=false;
      this.downloadLogVisible=false;
      var obj=null
      if(this.dialogMapVisible==true) {
        var entities=[];
        var tabs=[];
        for(var i in this.ruleForm.tabs) {
          entities.push(this.ruleForm.tabs[i].entity)
          tabs.push(this.ruleForm.tabs[i].tabDesc)
        }
        var std = [];
        for (var i in this.ruleForm.depname) {
        var std=[];
        for(var i in this.ruleForm.depname) {
          std.push(this.ruleForm.depname[i].name)
        }
        obj = {
        obj={
          pwd: encr(this.codeForm.password),
          entities: entities,
          wkt: encr(this.ruleForm.wkt),
@@ -1521,30 +1209,30 @@
          tabs: tabs
        }
      } else {
        var ids = [];
        var filter = null;
        this.downloadLogVisible = false;
        if (this.multipleSelection.length != 0) {
          for (var i in this.multipleSelection) {
        var ids=[];
        var filter=null;
        this.downloadLogVisible=false;
        if(this.multipleSelection.length!=0) {
          for(var i in this.multipleSelection) {
            ids.push(this.multipleSelection[i].gid)
          }
          filter = null;
          filter=null;
        } else {
          filter = this.listBankData.filter;
          ids = null;
          filter=this.listBankData.filter;
          ids=null;
        }
        var std = [];
        for (var i in this.ruleForm.depname) {
        var std=[];
        for(var i in this.ruleForm.depname) {
          std.push(this.ruleForm.depname[i].name)
        }
        var dirs = null;
        if (this.listData.dirs) {
        var dirs=null;
        if(this.listData.dirs) {
          dirs = this.listData.dirs
          dirs=this.listData.dirs
        }
        obj = {
        obj={
          pwd: encr(this.codeForm.password),
          entities: [this.listBankData.name], // bpachydrogeology,bhydrogeologyattach
          wkt: null,
@@ -1558,8 +1246,8 @@
        }
      }
      const data = await apply_insertApply(JSON.stringify(obj))
      if (data.code != 200) {
      const data=await apply_insertApply(JSON.stringify(obj))
      if(data.code!=200) {
        this.$message.error("数据申请失败")
        return
      }
@@ -1571,8 +1259,8 @@
      this.closeDown1();
    },
    closeInsertDown() {
      this.ruleForm = {
    closeInsertDown () {
      this.ruleForm={
        depname: [],
        tabs: [],
        pwd: null,
@@ -1580,128 +1268,128 @@
        wkt: null,
        descr: null,
      }
      this.dialogInsertVisible = false
      this.dialogInsertVisible=false
      this.closeDown1();
    },
    handleInsertClose() {
    handleInsertClose () {
      this.$confirm("确认关闭?")
        .then(_ => {
          this.closeInsertDown()
        })
        .catch(_ => { })
    },
    setDialogInsertVisible(res) {
      this.ruleForm = res;
      this.dialogInsertVisible = true;
    setDialogInsertVisible (res) {
      this.ruleForm=res;
      this.dialogInsertVisible=true;
    },
    copyText(row, column, cell, event) {
    copyText (row,column,cell,event) {
      // 双击复制
      let save = function (e) {
        e.clipboardData.setData('text/plain', event.target.innerText);
      let save=function(e) {
        e.clipboardData.setData('text/plain',event.target.innerText);
        e.preventDefault();  //阻止默认行为
      }
      document.addEventListener('copy', save);//添加一个copy事件
      document.addEventListener('copy',save);//添加一个copy事件
      document.execCommand("copy");//执行copy方法
      this.$message({ message: '复制成功', type: 'success' })//提示
      this.$message({ message: '复制成功',type: 'success' })//提示
    },
    //批量下载复选框chagne
    handleCheckedDataTypeChange(res) {
      var std = 0;
      for (var i = 0; i < this.multipleSelection1.length; i++) {
        if (res.guid == this.multipleSelection1[i].guid) {
          std = i;
    handleCheckedDataTypeChange (res) {
      var std=0;
      for(var i=0;i<this.multipleSelection1.length;i++) {
        if(res.guid==this.multipleSelection1[i].guid) {
          std=i;
        }
      }
      if (std == 0) {
      if(std==0) {
        this.multipleSelection1.push(res);
      } else {
        this.multipleSelection1.splice(std, 1)
        this.multipleSelection1.splice(std,1)
      }
      console.log(this.multipleSelection1)
    },
    matchState(state = "", reg) {
      var row = state.row;
      var name = row.name;
      if (name.indexOf('.pdf') != -1 || name.indexOf('.jpg') != -1 || name.indexOf('.gif') != -1 || name.indexOf('.png') != -1 || name.indexOf('.jpeg') != -1) {
    matchState (state="",reg) {
      var row=state.row;
      var name=row.name;
      if(name.indexOf('.pdf')!=-1||name.indexOf('.jpg')!=-1||name.indexOf('.gif')!=-1||name.indexOf('.png')!=-1||name.indexOf('.jpeg')!=-1) {
        return true;
      }
      return false;
    },
    // 附件=>表格选择
    handleAttatchChange(val) {
      this.attacgSelection = val;
    handleAttatchChange (val) {
      this.attacgSelection=val;
    },
    //附件=>文件选择
    getInsertFile() {
    getInsertFile () {
      $('#insertFile').click();
    },
    insertFile() {
      var val = document.getElementById('insertFile').files;
      if (!val || !val.length) return;
      this.fromfile.file = val[0].name;
    insertFile () {
      var val=document.getElementById('insertFile').files;
      if(!val||!val.length) return;
      this.fromfile.file=val[0].name;
    },
    getAttachTable(index, row) {
      if (row.eventid != null) {
        this.upAttach.eventid = row.eventid;
    getAttachTable (index,row) {
      if(row.eventid!=null) {
        this.upAttach.eventid=row.eventid;
      } else {
        this.upAttach.eventid = "";
        this.upAttach.eventid="";
      }
      this.outerVisible = true;
      this.outerVisible=true;
      this.getAttacthFlieList();
    },
    //附件列表查询 
    async getAttacthFlieList() {
      var obj = this.upAttach;
      const res = await dataLib_selectFiles(obj);
      if (res.code != 200) {
    async getAttacthFlieList () {
      var obj=this.upAttach;
      const res=await dataLib_selectFiles(obj);
      if(res.code!=200) {
        this.$message.error('列表调用失败');
        return
      }
      this.tableAttach = res.result;
      this.tableAttach=res.result;
    },
    refreshAttatchDetail() {
      this.dialog.src = "";
      this.dialog.dialogVisible = false;
      this.dialog.isPdf = false;
      this.dialog.isJpg = false;
    refreshAttatchDetail () {
      this.dialog.src="";
      this.dialog.dialogVisible=false;
      this.dialog.isPdf=false;
      this.dialog.isJpg=false;
    },
    //附件查看
    setAttatchDetail(index, row) {
    setAttatchDetail (index,row) {
      this.refreshAttatchDetail()
      var name = row.name;
      if (name.indexOf('.pdf') != -1) {
        this.dialog.dialogVisible = true;
        this.dialog.isPdf = true;
        var url = BASE_URL + "/comprehensive/downloadForView?guid=" + row.guid + "&token=" + getToken();
        this.dialog.src = url
      } else if (name.indexOf('.jpg') != -1 || name.indexOf('.gif') != -1 || name.indexOf('.png') != -1 || name.indexOf('.jpeg') != -1) {
        this.dialog.dialogVisible = true;
        this.dialog.isJpg = true;
        var url = BASE_URL + "/comprehensive/downloadForView?guid=" + row.guid + "&token=" + getToken();
        this.dialog.src = url
      var name=row.name;
      if(name.indexOf('.pdf')!=-1) {
        this.dialog.dialogVisible=true;
        this.dialog.isPdf=true;
        var url=BASE_URL+"/comprehensive/downloadForView?guid="+row.guid+"&token="+getToken();
        this.dialog.src=url
      } else if(name.indexOf('.jpg')!=-1||name.indexOf('.gif')!=-1||name.indexOf('.png')!=-1||name.indexOf('.jpeg')!=-1) {
        this.dialog.dialogVisible=true;
        this.dialog.isJpg=true;
        var url=BASE_URL+"/comprehensive/downloadForView?guid="+row.guid+"&token="+getToken();
        this.dialog.src=url
      }
    },
    setAttatchFileView(index, row) {
    setAttatchFileView (index,row) {
      this.refreshAttatchDetail()
      var name = `${row.name}.${row.type}`;
      if (name.indexOf('.pdf') != -1) {
        this.dialog.isPdf = true;
      } else if (name.indexOf('.jpg') != -1 || name.indexOf('.gif') != -1 || name.indexOf('.png') != -1 || name.indexOf('.jpeg') != -1) {
        this.dialog.isJpg = true;
      var name=`${row.name}.${row.type}`;
      if(name.indexOf('.pdf')!=-1) {
        this.dialog.isPdf=true;
      } else if(name.indexOf('.jpg')!=-1||name.indexOf('.gif')!=-1||name.indexOf('.png')!=-1||name.indexOf('.jpeg')!=-1) {
        this.dialog.isJpg=true;
      }
      this.dialog.dialogVisible = true;
      this.dialog.dialogVisible=true;
      var url = BASE_URL + "/dataLib/downloadForView?guid=" + row.guid + "&token=" + getToken();
      this.dialog.src = url;
      var url=BASE_URL+"/dataLib/downloadForView?guid="+row.guid+"&token="+getToken();
      this.dialog.src=url;
    },
    showView(res) {
      var name = res.type
      if (name) {
        if (name.indexOf('pdf') != -1 || name.indexOf('jpg') != -1 || name.indexOf('gif') != -1 || name.indexOf('png') != -1 || name.indexOf('jpeg') != -1) {
    showView (res) {
      var name=res.type
      if(name) {
        if(name.indexOf('pdf')!=-1||name.indexOf('jpg')!=-1||name.indexOf('gif')!=-1||name.indexOf('png')!=-1||name.indexOf('jpeg')!=-1) {
          return true
        } else {
          return false
@@ -1710,22 +1398,22 @@
    },
    //附件刪除
    async setAttachDel() {
      var std = [];
      for (var i in this.attacgSelection) {
    async setAttachDel () {
      var std=[];
      for(var i in this.attacgSelection) {
        std.push(this.attacgSelection[i].id);
      }
      const res = await dataLib_deletes({ ids: std.toString() });
      if (res.code != 200) {
      const res=await dataLib_deletes({ ids: std.toString() });
      if(res.code!=200) {
        this.$message.error('文件删除失败');
      }
      this.getAttacthFlieList();
    },
    //附件列表新增
    setAttachInsert() {
      var token = getToken();
      var fs = document.getElementById("insertFile");
      if (fs.files.length == 0) {
    setAttachInsert () {
      var token=getToken();
      var fs=document.getElementById("insertFile");
      if(fs.files.length==0) {
        this.$message({
          message: '请选择要上传的文件!',
@@ -1733,13 +1421,13 @@
        });
        return;
      }
      const formData = new FormData()
      for (var i = 0, c = fs.files.length; i < c; i++) {
      const formData=new FormData()
      for(var i=0,c=fs.files.length;i<c;i++) {
        formData.append('file', fs.files[i]); // fs.files[i].name,file
        formData.append('file',fs.files[i]); // fs.files[i].name,file
      }
      $.ajax(BASE_URL + "/dataQuery/uploadFiles?token=" + token + "&tabName=" + this.upAttach.tabName + "&eventid=" + this.upAttach.eventid, {
      $.ajax(BASE_URL+"/dataQuery/uploadFiles?token="+token+"&tabName="+this.upAttach.tabName+"&eventid="+this.upAttach.eventid,{
        type: "post",
        data: formData,
        async: true,
@@ -1751,15 +1439,15 @@
            message: '附件添加成功',
            type: 'success'
          });
          document.getElementById("insertFile").value = "";
          this.fromfile = {
          document.getElementById("insertFile").value="";
          this.fromfile={
            file: '',
          }
          this.getAttacthFlieList();
        },
        error: (e) => {
          document.getElementById("insertFile").value = "";
          this.fromfile = {
          document.getElementById("insertFile").value="";
          this.fromfile={
            file: '',
          }
          this.$message.error('附件添加失败');
@@ -1767,36 +1455,36 @@
      });
    },
    setRestMetaData() {
      this.fromQueryMeta.name = "";
      this.listMetaData.name = this.fromQueryMeta.name;
      this.listMetaData.pageIndex = 1;
      this.listMetaData.pageSize = 10;
    setRestMetaData () {
      this.fromQueryMeta.name="";
      this.listMetaData.name=this.fromQueryMeta.name;
      this.listMetaData.pageIndex=1;
      this.listMetaData.pageSize=10;
      this.startQueryMetaData();
    },
    setSearchMetaData() {
      this.listMetaData.name = this.fromQueryMeta.name;
      this.listMetaData.pageIndex = 1;
      this.listMetaData.pageSize = 10;
    setSearchMetaData () {
      this.listMetaData.name=this.fromQueryMeta.name;
      this.listMetaData.pageIndex=1;
      this.listMetaData.pageSize=10;
      this.startQueryMetaData();
    },
    //源数据页面切换
    handleMetaSizeChange(val) {
      this.listMetaData.pageIndex = 1;
      this.listMetaData.pageSize = val;
    handleMetaSizeChange (val) {
      this.listMetaData.pageIndex=1;
      this.listMetaData.pageSize=val;
      this.startQueryMetaData();
    },
    //源数据页面切换
    handMetaCurrentChange(val) {
      this.listMetaData.pageIndex = val;
    handMetaCurrentChange (val) {
      this.listMetaData.pageIndex=val;
      this.startQueryMetaData();
    },
    //源数据查询
    setQueryMetaData(row) {
      this.fromQueryMeta.title = row.name;
      this.listMetaData = {
    setQueryMetaData (row) {
      this.fromQueryMeta.title=row.name;
      this.listMetaData={
        metaid: row.id,
        name: "",
        pageIndex: 1,
@@ -1804,221 +1492,221 @@
        count: 0,
      };
      this.startQueryMetaData();
      this.queryMetaFlag = true;
      this.queryMetaFlag=true;
    },
    async startQueryMetaData() {
      const data = await dataLib_selectPageAndCountByPid(this.listMetaData);
      if (data.code != 200) {
    async startQueryMetaData () {
      const data=await dataLib_selectPageAndCountByPid(this.listMetaData);
      if(data.code!=200) {
        return;
      }
      this.metaDataTable = data.result;
      this.listMetaData.count = data.count;
      this.metaDataTable=data.result;
      this.listMetaData.count=data.count;
    },
    //元数据查询
    async setMetaDataQuery(row) {
    async setMetaDataQuery (row) {
      this.fromQueryMeta.title = row.name;
      this.listMetaData = {
      this.fromQueryMeta.title=row.name;
      this.listMetaData={
        id: row.metaid,
      };
      const data = await dataLib_selectMetaById(this.listMetaData);
      if (data.code != 200) {
      const data=await dataLib_selectMetaById(this.listMetaData);
      if(data.code!=200) {
        return;
      }
      this.queryMetaFlag1 = true;
      this.metaDataTable1 = [data.result];
      this.queryMetaFlag1=true;
      this.metaDataTable1=[data.result];
    },
    getSpaceMapVisibale() {
      if (window.sgworld) {
    getSpaceMapVisibale () {
      if(window.sgworld) {
        window.sgworld.Creator.SimpleGraphic.clear();
        for (var i in this.$store.state.queryInfo) {
        for(var i in this.$store.state.queryInfo) {
          window.sgworld.Viewer.entities.remove(this.$store.state.queryInfo[i]);
        }
      }
      this.$store.state.queryInfo = [];
      if (this.$store.state.primitLayer != null) {
      this.$store.state.queryInfo=[];
      if(this.$store.state.primitLayer!=null) {
        sgworld.Viewer.entities.remove(this.$store.state.primitLayer);
        sgworld.Creator.DeleteObject(this.$store.state.primitLayer);
        this.$store.state.primitLayer = null;
        this.$store.state.primitLayer=null;
      }
      this.dialogMapVisible = true;
      this.showMapVisible = true;
      this.$store.state.mapMenuBoolean = true;
      this.$store.state.mapMenuBoxFlag = '1';
      this.$store.state.mapPopBoolean = false;
      this.$store.state.mapPopBoxFlag = null;
      this.$store.state.download = true;
      this.dialogMapVisible=true;
      this.showMapVisible=true;
      this.$store.state.mapMenuBoolean=true;
      this.$store.state.mapMenuBoxFlag='1';
      this.$store.state.mapPopBoolean=false;
      this.$store.state.mapPopBoxFlag=null;
      this.$store.state.download=true;
    },
    handleMaptClose() {
      this.dialogMapVisible = false;
      this.showMapVisible = false;
      this.$store.state.mapMenuBoolean = false;
      this.$store.state.mapMenuBoxFlag = null;
      this.$store.state.mapPopBoolean = false;
      this.$store.state.mapPopBoxFlag = false;
      this.$store.state.download = false;
      if (window.sgworld) {
    handleMaptClose () {
      this.dialogMapVisible=false;
      this.showMapVisible=false;
      this.$store.state.mapMenuBoolean=false;
      this.$store.state.mapMenuBoxFlag=null;
      this.$store.state.mapPopBoolean=false;
      this.$store.state.mapPopBoxFlag=false;
      this.$store.state.download=false;
      if(window.sgworld) {
        window.sgworld.Creator.SimpleGraphic.clear();
        for (var i in this.$store.state.queryInfo) {
        for(var i in this.$store.state.queryInfo) {
          window.sgworld.Viewer.entities.remove(this.$store.state.queryInfo[i]);
        }
      }
      this.$store.state.queryInfo = [];
      if (this.$store.state.primitLayer != null) {
      this.$store.state.queryInfo=[];
      if(this.$store.state.primitLayer!=null) {
        sgworld.Viewer.entities.remove(this.$store.state.primitLayer);
        sgworld.Creator.DeleteObject(this.$store.state.primitLayer);
        this.$store.state.primitLayer = null;
        this.$store.state.primitLayer=null;
      }
    },
    downloadMap(index, rows) {
      var token = getToken()
      var url = BASE_URL + "/dataLib/downloadFile?token=" + token + "&guid=" + rows.guid + "&pwd=" + rows.pwd;
      $("#downFrame").attr("src", url).click();
    downloadMap (index,rows) {
      var token=getToken()
      var url=BASE_URL+"/dataLib/downloadFile?token="+token+"&guid="+rows.guid+"&pwd="+rows.pwd;
      $("#downFrame").attr("src",url).click();
    },
    async getdownloadListData() {
      const data = await dataLib_selectPageCountForDownload(this.downloadPage);
      if (data.code != 200) {
        this.downloadListVisible = false;
    async getdownloadListData () {
      const data=await dataLib_selectPageCountForDownload(this.downloadPage);
      if(data.code!=200) {
        this.downloadListVisible=false;
        return this.$message.error('下载列表获取失败');
      }
      this.downloadTableData = data.result;
      this.downloadTableData=data.result;
      this.downloadPage.count = data.count;
      this.downloadPage.count=data.count;
    },
    downloadSizeChange(val) {
      this.downloadPage.pageIndex = 1;
      this.downloadPage.pageSize = val;
    downloadSizeChange (val) {
      this.downloadPage.pageIndex=1;
      this.downloadPage.pageSize=val;
      this.getdownloadListData();
    },
    downloadCurrentChange(val) {
      this.downloadPage.pageIndex = val;
    downloadCurrentChange (val) {
      this.downloadPage.pageIndex=val;
      this.getdownloadListData();
    },
    getdownloadList() {
      this.downloadPage = {
    getdownloadList () {
      this.downloadPage={
        pageIndex: 1,
        pageSize: 10,
        count: 0,
        name: null,
      }
      this.downloadListVisible = true;
      this.downloadListVisible=true;
      this.getdownloadListData();
    },
    appendQueryFilter() {
      if (this.formSql.type == "date" || this.formSql.type == "datetime") {
        if (this.formSql.date == null) {
    appendQueryFilter () {
      if(this.formSql.type=="date"||this.formSql.type=="datetime") {
        if(this.formSql.date==null) {
          this.$message.error('请输入要查询的信息!');
          return;
        }
      } else {
        if (this.formSql.value == "") {
        if(this.formSql.value=="") {
          this.$message.error('请输入要查询的信息!');
          return;
        }
      }
      if (this.formInline.fileName != "") {
        this.formInline.fileName += " and ";
      if(this.formInline.fileName!="") {
        this.formInline.fileName+=" and ";
      }
      var val;
      if (this.formSql.type == "long" || this.formSql.type == "integer") {
      if(this.formSql.type=="long"||this.formSql.type=="integer") {
        val = parseInt(this.formSql.value);
      } else if (this.formSql.type == 'double') {
        val=parseInt(this.formSql.value);
      } else if(this.formSql.type=='double') {
        if (this.formSql.value.indexOf(".") != -1) {
          val = this.formSql.value;
        if(this.formSql.value.indexOf(".")!=-1) {
          val=this.formSql.value;
        } else {
          val = parseFloat(this.formSql.value).toFixed(1)
          val=parseFloat(this.formSql.value).toFixed(1)
        }
      } else if (this.formSql.type == "date" || this.formSql.type == "datetime") {
        var time = new Date(this.formSql.date);
        var m = time.getMonth() + 1;
        var d = time.getDate();
        var y = time.getFullYear();
        val = "'" + y +
          '-' +
          this.add0(m) +
          '-' +
          this.add0(d) + "'";
      } else if(this.formSql.type=="date"||this.formSql.type=="datetime") {
        var time=new Date(this.formSql.date);
        var m=time.getMonth()+1;
        var d=time.getDate();
        var y=time.getFullYear();
        val="'"+y+
          '-'+
          this.add0(m)+
          '-'+
          this.add0(d)+"'";
      } else {
        val = "'" + this.formSql.value + "'";
        val="'"+this.formSql.value+"'";
      }
      this.formInline.fileName += this.formSql.field + " " + this.formSql.condition + " " + val;
      this.formInline.fileName+=this.formSql.field+" "+this.formSql.condition+" "+val;
      this.startFiledAndcondition();
    },
    startFiledAndcondition() {
      this.conditionVisible = false;
    startFiledAndcondition () {
      this.conditionVisible=false;
      this.conditionChange(this.filedsOption[0]);
      this.formSql.value = "";
      this.formSql.date = new Date();
      this.formSql.value="";
      this.formSql.date=new Date();
    },
    fieldChange(value) {
      var obj = {}
      obj = this.filedsOption.find(function (item) {
        return item.field === value;
    fieldChange (value) {
      var obj={}
      obj=this.filedsOption.find(function(item) {
        return item.field===value;
      })
      this.conditionChange(obj)
    },
    conditionChange(res) {
      this.formSql.field = res.field;
      this.formSql.type = res.type;
      if (res.type == "date" || res.type == "datetime") {
        this.fromSqlflag = true
    conditionChange (res) {
      this.formSql.field=res.field;
      this.formSql.type=res.type;
      if(res.type=="date"||res.type=="datetime") {
        this.fromSqlflag=true
      } else {
        this.fromSqlflag = false
        this.fromSqlflag=false
      }
      var std = [];
      this.condOption = [];
      if (res.type == 'text' || res.type == 'blob') {
        std = conditions[0]
      } else if (res.type == 'date' || res.type == 'datetime') {
        std = conditions[2]
      var std=[];
      this.condOption=[];
      if(res.type=='text'||res.type=='blob') {
        std=conditions[0]
      } else if(res.type=='date'||res.type=='datetime') {
        std=conditions[2]
      } else {
        std = conditions[1]
        std=conditions[1]
      }
      for (var i in std) {
      for(var i in std) {
        this.condOption.push({
          label: std[i],
          value: std[i],
        })
      }
      this.formSql.condition = this.condOption[0].value
      this.formSql.condition=this.condOption[0].value
    },
    async download1() {
      if (this.codeForm.password == '' || this.codeForm.repassword == '') {
    async download1 () {
      if(this.codeForm.password==''||this.codeForm.repassword=='') {
        return this.$message.error('密码不能为空');
      }
      if (this.codeForm.password != this.codeForm.repassword) {
      if(this.codeForm.password!=this.codeForm.repassword) {
        return;
      }
      var passwordreg =
      var passwordreg=
        /^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z\W!@#$%^&*`~()\\-_+=,.?;<>]+$)(?![a-z0-9]+$)(?![a-z\W!@#$%^&*`~()\\-_+=,.?;<>]+$)(?![0-9\W!@#$%^&*`~()\\-_+=,.?;<>]+$)[a-zA-Z0-9\W!@#$%^&*`~()\\-_+=,.?;<>]{12,20}$/;
      if (!passwordreg.test(this.codeForm.password)) {
      if(!passwordreg.test(this.codeForm.password)) {
        return;
      }
      var ids = [];
      var filter = null;
      this.downloadLogVisible = false;
      if (this.multipleSelection.length != 0) {
        for (var i in this.multipleSelection) {
      var ids=[];
      var filter=null;
      this.downloadLogVisible=false;
      if(this.multipleSelection.length!=0) {
        for(var i in this.multipleSelection) {
          ids.push(this.multipleSelection[i].gid)
        }
        filter = null;
        filter=null;
      } else {
        filter = this.listBankData.filter;
        ids = null;
        filter=this.listBankData.filter;
        ids=null;
      }
      var obj = {
      var obj={
        entities: [this.listBankData.name], // bpachydrogeology,bhydrogeologyattach
        filter: filter,
        ids: ids,
@@ -2027,36 +1715,36 @@
        depcode: this.listData.depcode,
        dirs: this.listData.dirs
      };
      const data = await dataLib_selectDbOverflowDep(obj)
      if (data.code != 200) {
      const data=await dataLib_selectDbOverflowDep(obj)
      if(data.code!=200) {
        return
      }
      if (data.result.length == 0) {
        var that = this;
      if(data.result.length==0) {
        var that=this;
        $.ajax({
          url: BASE_URL + "/dataLib/downloadDbData?token=" + getToken(),
          url: BASE_URL+"/dataLib/downloadDbData?token="+getToken(),
          type: "POST",
          data: JSON.stringify(obj),
          dataType: 'json', // html、json、jsonp、script、text
          contentType: "application/json", // "application/x-www-form-urlencoded"
          success: (data) => {
            if (data.code == 200) {
              that.downloadflie(data, this.codeForm.password)
            if(data.code==200) {
              that.downloadflie(data,this.codeForm.password)
            }
          },
          error: function (e) {
          error: function(e) {
          }
        });
      } else {
        var val = ""
        var std = [];
        for (var i in data.result) {
          if (val == "") {
            val += "codes=" + data.result[i]
        var val=""
        var std=[];
        for(var i in data.result) {
          if(val=="") {
            val+="codes="+data.result[i]
          } else {
            val += "&codes=" + data.result[i]
            val+="&codes="+data.result[i]
          }
          std.push({
@@ -2064,60 +1752,60 @@
          })
        }
        const data1 = await dataLib_selectDepsByIds(val)
        this.ruleForm.depid = data1.result
        this.ruleForm.depname = std
        this.ruleForm.wkt = null
        this.ruleForm.tabs = [{
        const data1=await dataLib_selectDepsByIds(val)
        this.ruleForm.depid=data1.result
        this.ruleForm.depname=std
        this.ruleForm.wkt=null
        this.ruleForm.tabs=[{
          tabDesc: this.listBankData.title
        }]
        this.dialogInsertVisible = true
        this.dialogInsertVisible=true
      }
      // this.closeDown1();
    },
    downloadflie(data, pwd) {
    downloadflie (data,pwd) {
      var token = getToken()
      var url = BASE_URL + "/dataLib/downloadFile?token=" + token + "&guid=" + data.result + "&pwd=" + encrypt.encrypt(pwd);
      $("#downFrame").attr("src", url).click();
      this.loading = false;
      var token=getToken()
      var url=BASE_URL+"/dataLib/downloadFile?token="+token+"&guid="+data.result+"&pwd="+encrypt.encrypt(pwd);
      $("#downFrame").attr("src",url).click();
      this.loading=false;
      this.closeDownx();
      this.closeDown1();
    },
    closeDown1() {
      this.downloadLogVisible = false;
      this.codeForm.password = '';
      this.codeForm.repassword = '';
    closeDown1 () {
      this.downloadLogVisible=false;
      this.codeForm.password='';
      this.codeForm.repassword='';
    },
    //文件详情
    showDetail(index, row) {
      var std = [];
      for (var i in this.attributeData) {
    showDetail (index,row) {
      var std=[];
      for(var i in this.attributeData) {
        std.push({
          label: this.attributeData[i].alias,
          value: row[this.attributeData[i].field],
        });
      }
      this.itemdetail = std;
      this.itemDetailVisible = true;
      this.itemdetail=std;
      this.itemDetailVisible=true;
    },
    async download() {
      if (this.codeForm.password == '' || this.codeForm.repassword == '') {
    async download () {
      if(this.codeForm.password==''||this.codeForm.repassword=='') {
        return this.$message.error('密码不能为空');
      }
      if (this.codeForm.password != this.codeForm.repassword) {
      if(this.codeForm.password!=this.codeForm.repassword) {
        return;
      }
      var passwordreg =
      var passwordreg=
        /^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z\W!@#$%^&*`~()\\-_+=,.?;<>]+$)(?![a-z0-9]+$)(?![a-z\W!@#$%^&*`~()\\-_+=,.?;<>]+$)(?![0-9\W!@#$%^&*`~()\\-_+=,.?;<>]+$)[a-zA-Z0-9\W!@#$%^&*`~()\\-_+=,.?;<>]{12,20}$/;
      if (!passwordreg.test(this.codeForm.password)) {
      if(!passwordreg.test(this.codeForm.password)) {
        return;
      }
      this.passWorldVisible = false;
      var password = this.codeForm.repassword
      var std = [];
      var ids = [];
      for (var i in this.multipleSelection1) {
      this.passWorldVisible=false;
      var password=this.codeForm.repassword
      var std=[];
      var ids=[];
      for(var i in this.multipleSelection1) {
        std.push(this.multipleSelection1[i].id)
        ids.push(this.multipleSelection1[i].id)
      }
@@ -2129,77 +1817,77 @@
      var obj = {
      var obj={
        ids: std,
      };
      const data = await dataLib_selectMetaOverflowDep(obj)
      if (data.code != 200) {
      const data=await dataLib_selectMetaOverflowDep(obj)
      if(data.code!=200) {
        return
      }
      if (data.result.length == 0) {
        const res = await dataLib_downloadReq(JSON.stringify({
      if(data.result.length==0) {
        const res=await dataLib_downloadReq(JSON.stringify({
          pwd: encrypt.encrypt(password),
          ids: std
        }));
        if (res.code != 200) {
        if(res.code!=200) {
          this.$message.error('下载请求失败');
          return
        }
        if (!res.result) {
        if(!res.result) {
          return
        }
        var downObj = {
        var downObj={
          guid: res.result,
          pwd: encodeURIComponent(encrypt.encrypt(password))
        }
        const data = await dataLib_selectDownloadFile(downObj)
        if (data.code != 200) {
        const data=await dataLib_selectDownloadFile(downObj)
        if(data.code!=200) {
          this.$message.error('下载请求失败');
          return
        }
        var token = getToken()
        var url = BASE_URL + "/dataLib/downloadFile?token=" + token + "&guid=" + res.result + "&pwd=" + encodeURIComponent(encrypt.encrypt(this.codeForm.repassword));
        $("#downFrame").attr("src", url).click();
        var token=getToken()
        var url=BASE_URL+"/dataLib/downloadFile?token="+token+"&guid="+res.result+"&pwd="+encodeURIComponent(encrypt.encrypt(this.codeForm.repassword));
        $("#downFrame").attr("src",url).click();
      } else {
        var val = ""
        var std = [];
        for (var i in data.result) {
          if (val == "") {
            val += "codes=" + data.result[i]
        var val=""
        var std=[];
        for(var i in data.result) {
          if(val=="") {
            val+="codes="+data.result[i]
          } else {
            val += "&codes=" + data.result[i]
            val+="&codes="+data.result[i]
          }
          std.push({
            name: data.result[i],
          })
        }
        const data1 = await dataLib_selectDepsByIds(val)
        if (data1.code != 200) {
        const data1=await dataLib_selectDepsByIds(val)
        if(data1.code!=200) {
          return
        }
        this.fileFrom.depid = data1.result
        this.fileFrom.ids = ids;
        this.fileFrom.pwd = encr(password);
        this.fileFrom.depcodes = data.result;
        this.dialogInsertFile = true;
        this.fileFrom.depid=data1.result
        this.fileFrom.ids=ids;
        this.fileFrom.pwd=encr(password);
        this.fileFrom.depcodes=data.result;
        this.dialogInsertFile=true;
      }
      this.monthdata.filter((res) => {
        return res.ischecked = false;
        return res.ischecked=false;
      })
      this.multipleSelection1 = [];
      this.multipleSelection1=[];
    },
    closeDown() {
      this.passWorldVisible = false;
      this.codeForm.password = '';
      this.codeForm.repassword = '';
    closeDown () {
      this.passWorldVisible=false;
      this.codeForm.password='';
      this.codeForm.repassword='';
    },
    async getFileInsertApply() {
      this.dialogInsertFile = false
    async getFileInsertApply () {
      this.dialogInsertFile=false
      var obj = {
      var obj={
        ids: this.fileFrom.ids,
        pwd: this.fileFrom.pwd,
        tabs: ["元数据表"],
@@ -2208,9 +1896,9 @@
        depcodes: this.fileFrom.depcodes
      };
      const data = await apply_insertApply(JSON.stringify(obj))
      const data=await apply_insertApply(JSON.stringify(obj))
      this.handleInsertFileClose();
      if (data.code != 200) {
      if(data.code!=200) {
        this.$message.error("数据申请失败")
        return
      }
@@ -2221,9 +1909,9 @@
    },
    handleInsertFileClose() {
      this.dialogInsertFile = false
      this.fileFrom = {
    handleInsertFileClose () {
      this.dialogInsertFile=false
      this.fileFrom={
        descr: null,
        depid: null,
        ids: null,
@@ -2234,20 +1922,20 @@
    //文件下载
    setCardDownload(res) {
    setCardDownload (res) {
      // this.multipleSelection1 = [];
      // this.multipleSelection1.push(res);
      if (this.multipleSelection1.length == 0) {
      if(this.multipleSelection1.length==0) {
        this.$message({
          message: '请先选择要下载的文件',
          type: 'warning'
        });
        return;
      }
      this.passWorldVisible = true;
      this.passWorldVisible=true;
    },
    //重置
    setQuerAllTablesRefresh() {
    setQuerAllTablesRefresh () {
      // this.formInline = {
      //   fileName: "",//高级搜索
      //   dataType: "type2", //数据类型
@@ -2257,136 +1945,136 @@
      //   depName: null,//单位,
      //   keywords: '',
      // }
      this.formInline.fileName = "";//高级搜索
      this.formInline.category = [];//高级搜索
      this.formInline.item = [];//高级搜索
      this.formInline.depcode = null;//高级搜索
      this.formInline.depName = null;//高级搜索
      this.formInline.keywords = "";//高级搜索
      this.formInline.fileName="";//高级搜索
      this.formInline.category=[];//高级搜索
      this.formInline.item=[];//高级搜索
      this.formInline.depcode=null;//高级搜索
      this.formInline.depName=null;//高级搜索
      this.formInline.keywords="";//高级搜索
      this.getAllTabesData();
    },
    handleSelectionChange(val) {
      this.multipleSelection = val;
    handleSelectionChange (val) {
      this.multipleSelection=val;
    },
    //卡片详情点击事件
    async setCardDetails(res) {
      switch (this.formInline.dataType) {
    async setCardDetails (res) {
      switch(this.formInline.dataType) {
        case "type1":
          this.getBankTableData(res);
          this.formInline.fileName = ""
          this.formInline.fileName=""
          break;
        case "type2":
          this.itemdetail1 = res
          this.showinfoBox1 = true;
          this.itemdetail1=res
          this.showinfoBox1=true;
          break;
      }
    },
    //获取数据库数据js
    getBankTableData(res) {
      this.listBankData.name = res.entity;
      this.listBankData.pageIndex = 1;
      this.listBankData.pageSize = 10;
      this.listBankData.title = res.tabDesc;
      this.upAttach.tabName = res.ns + "." + res.tab;
      this.filedsLayer = this.getBankTableFiled();
    getBankTableData (res) {
      this.listBankData.name=res.entity;
      this.listBankData.pageIndex=1;
      this.listBankData.pageSize=10;
      this.listBankData.title=res.tabDesc;
      this.upAttach.tabName=res.ns+"."+res.tab;
      this.filedsLayer=this.getBankTableFiled();
      this.getCollapseTable(this.filedsLayer);
    },
    async getCollapseTable(res) {
    async getCollapseTable (res) {
      res.then((val) => {
        this.attributeData = val;
        this.attributeData=val;
      });
      if (this.formInline.fileName != "") {
        this.listBankData.filter = this.formInline.fileName;
      if(this.formInline.fileName!="") {
        this.listBankData.filter=this.formInline.fileName;
      } else {
        this.listBankData.filter = null;
        this.listBankData.filter=null;
      }
      this.listBankData.dirs = "";
      if (this.formInline.category.length != 0) {
        this.listBankData.dirs += this.formInline.category.toString();
      this.listBankData.dirs="";
      if(this.formInline.category.length!=0) {
        this.listBankData.dirs+=this.formInline.category.toString();
      }
      if (this.formInline.item.length != 0) {
        if (this.listBankData.dirs.length != 0) {
          this.listBankData.dirs += ","
      if(this.formInline.item.length!=0) {
        if(this.listBankData.dirs.length!=0) {
          this.listBankData.dirs+=","
        }
        this.listBankData.dirs += this.formInline.item.toString();
        this.listBankData.dirs+=this.formInline.item.toString();
      }
      this.listBankData.depcode = this.listData.depcode;
      const data = await dataLib_selectByPage(this.listBankData);
      if (data.code != 200) {
      this.listBankData.depcode=this.listData.depcode;
      const data=await dataLib_selectByPage(this.listBankData);
      if(data.code!=200) {
        this.$message.error('调用列表失败,请联系工作人员!');
        return;
      }
      var res_val = this.attributeData;
      var res_val=this.attributeData;
      for (var i in data.result) {
        let val_Data = data.result[i];
      for(var i in data.result) {
        let val_Data=data.result[i];
        for (var j in res_val) {
          if (res_val[j].domainNa != null && res_val[j].domainNa != undefined) {
            val_Data[res_val[j].field] = res_val[j].domainNa;
        for(var j in res_val) {
          if(res_val[j].domainNa!=null&&res_val[j].domainNa!=undefined) {
            val_Data[res_val[j].field]=res_val[j].domainNa;
          }
        }
      }
      for (var i in data.result) {
      for(var i in data.result) {
        if (data.result[i].createtime) {
          data.result[i].createtime = this.format(data.result[i].createtime)
        if(data.result[i].createtime) {
          data.result[i].createtime=this.format(data.result[i].createtime)
        }
        if (data.result[i].updatetime) {
          data.result[i].updatetime = this.format(data.result[i].updatetime)
        if(data.result[i].updatetime) {
          data.result[i].updatetime=this.format(data.result[i].updatetime)
        }
        data.result[i].createuser = data.result[i].createName
        data.result[i].updateuser = data.result[i].updateName
        if (data.result[i].verName) {
          data.result[i].verid = data.result[i].verName
        data.result[i].createuser=data.result[i].createName
        data.result[i].updateuser=data.result[i].updateName
        if(data.result[i].verName) {
          data.result[i].verid=data.result[i].verName
        }
        if (data.result[i].depName) {
          data.result[i].depid = data.result[i].depName
        if(data.result[i].depName) {
          data.result[i].depid=data.result[i].depName
        }
        if (data.result[i].dirName) {
          data.result[i].dirid = data.result[i].dirName
        if(data.result[i].dirName) {
          data.result[i].dirid=data.result[i].dirName
        }
      }
      this.listBankData.count = data.count;
      this.listBankData.count=data.count;
      this.tableData = data.result;
      this.tableData=data.result;
      this.dialogVisible = true;
      this.dialogVisible=true;
    },
    //获取数据表字段信息
    async getBankTableFiled() {
      const fileds = await dataLib_selectFields({
    async getBankTableFiled () {
      const fileds=await dataLib_selectFields({
        name: this.listBankData.name,
      });
      if (fileds.code != 200) {
      if(fileds.code!=200) {
        this.$message.error('列表调用失败');
        return;
      }
      const domains = await dataLib_selectDomains({
      const domains=await dataLib_selectDomains({
        name: this.listBankData.name,
      });
      if (domains.code != 200) {
      if(domains.code!=200) {
        this.$message.error('列表调用失败');
        return;
      }
      var data1 = fileds.result;
      var data2 = domains.result;
      this.formInline.fileName = ""
      var std = [];
      this.filedsOption = [];
      for (var i in data1) {
      var data1=fileds.result;
      var data2=domains.result;
      this.formInline.fileName=""
      var std=[];
      this.filedsOption=[];
      for(var i in data1) {
        if (data1[i].type != 'geometry' && data1[i].type != 'null') {
        if(data1[i].type!='geometry'&&data1[i].type!='null') {
          this.filedsOption.push(data1[i])
        }
        if (data1[i].showtype == 1) {
          if (data1[i].domainNa != null) {
            data1[i].domainNa = this.getDomainNaFild(data1[i].domainNa, data2);
        if(data1[i].showtype==1) {
          if(data1[i].domainNa!=null) {
            data1[i].domainNa=this.getDomainNaFild(data1[i].domainNa,data2);
          }
          std.push(data1[i]);
        }
@@ -2396,118 +2084,118 @@
      return std;
    },
    //值域字段匹配
    getDomainNaFild(res, result) {
      for (var i in result) {
        if (result[i].domName == res) {
    getDomainNaFild (res,result) {
      for(var i in result) {
        if(result[i].domName==res) {
          return result[i].codeDesc;
        }
      }
      return null;
    },
    startFiledAndcondition() {
      this.conditionVisible = false;
    startFiledAndcondition () {
      this.conditionVisible=false;
      this.conditionChange(this.filedsOption[0]);
      this.formSql.value = "";
      this.formSql.date = new Date();
      this.formSql.value="";
      this.formSql.date=new Date();
    },
    conditionChange(res) {
      this.formSql.field = res.field;
      this.formSql.type = res.type;
      if (res.type == "date" || res.type == "datetime") {
        this.fromSqlflag = true
    conditionChange (res) {
      this.formSql.field=res.field;
      this.formSql.type=res.type;
      if(res.type=="date"||res.type=="datetime") {
        this.fromSqlflag=true
      } else {
        this.fromSqlflag = false
        this.fromSqlflag=false
      }
      var std = [];
      this.condOption = [];
      if (res.type == 'text' || res.type == 'blob') {
        std = conditions[0]
      } else if (res.type == 'date' || res.type == 'datetime') {
        std = conditions[2]
      var std=[];
      this.condOption=[];
      if(res.type=='text'||res.type=='blob') {
        std=conditions[0]
      } else if(res.type=='date'||res.type=='datetime') {
        std=conditions[2]
      } else {
        std = conditions[1]
        std=conditions[1]
      }
      for (var i in std) {
      for(var i in std) {
        this.condOption.push({
          label: std[i],
          value: std[i],
        })
      }
      this.formSql.condition = this.condOption[0].value
      this.formSql.condition=this.condOption[0].value
    },
    //存储类型切换
    setDataTypeChange() {
      this.listData.pageIndex = 1;
      this.listData.pageSize = 10;
    setDataTypeChange () {
      this.listData.pageIndex=1;
      this.listData.pageSize=10;
      this.getAllTabesData();
    },
    //卡片折叠效果
    setCardChange(res) {
      res.isShow = !res.isShow
    setCardChange (res) {
      res.isShow=!res.isShow
    },
    //格式化时间
    format(shijianchuo) {
    format (shijianchuo) {
      //shijianchuo是整数,否则要parseInt转换
      var time = new Date(shijianchuo);
      var y = time.getFullYear();
      var m = time.getMonth() + 1;
      var d = time.getDate();
      var h = time.getHours();
      var mm = time.getMinutes();
      var s = time.getSeconds();
      var time=new Date(shijianchuo);
      var y=time.getFullYear();
      var m=time.getMonth()+1;
      var d=time.getDate();
      var h=time.getHours();
      var mm=time.getMinutes();
      var s=time.getSeconds();
      return (
        y +
        '-' +
        this.add0(m) +
        '-' +
        this.add0(d) +
        ' ' +
        h +
        ':' +
        mm +
        ':' +
        y+
        '-'+
        this.add0(m)+
        '-'+
        this.add0(d)+
        ' '+
        h+
        ':'+
        mm+
        ':'+
        s
      );
    },
    //格式化时间
    add0(m) {
      return m < 10 ? '0' + m : m;
    add0 (m) {
      return m<10? '0'+m:m;
    },
    //格式化列表
    formatData(row, column) {
      let data = row[column.property];
      if (data == null) {
    formatData (row,column) {
      let data=row[column.property];
      if(data==null) {
        return data;
      }
      return this.format(data);
    },
    //格式化时间
    add0(m) {
      return m < 10 ? '0' + m : m;
    add0 (m) {
      return m<10? '0'+m:m;
    },
    statSizeChange(row, column) {
    statSizeChange (row,column) {
      return this.stateFormatSizes(row.sizes)
    },
    stateFormatSizes(res) {
      if (res >= 1024) {
        const val = parseFloat(res / 1024).toFixed(3);
        return val + ' GB';
    stateFormatSizes (res) {
      if(res>=1024) {
        const val=parseFloat(res/1024).toFixed(3);
        return val+' GB';
      } else {
        return res + ' MB';
        return res+' MB';
      }
    },
    setInfoBoxTime(res) {
      if (res == null) {
    setInfoBoxTime (res) {
      if(res==null) {
        return res;
      }
      return this.format(res);
    },
    handleSizeChange(val) {
      this.listData.pageIndex = 1;
      this.listData.pageSize = val;
      switch (this.formInline.dataType) {
    handleSizeChange (val) {
      this.listData.pageIndex=1;
      this.listData.pageSize=val;
      switch(this.formInline.dataType) {
        case "type2"://文件数据
          this.getQueryFileData();
          break;
@@ -2517,9 +2205,9 @@
      }
    },
    handleCurrentChange(val) {
      this.listData.pageIndex = val;
      switch (this.formInline.dataType) {
    handleCurrentChange (val) {
      this.listData.pageIndex=val;
      switch(this.formInline.dataType) {
        case "type2"://文件数据
          this.getQueryFileData();
          break;
@@ -2529,135 +2217,135 @@
      }
    },
    // 关键字查询
    submitForm() {
      this.listBankData.pageIndex = 1;
      this.listBankData.pageSize = 10;
    submitForm () {
      this.listBankData.pageIndex=1;
      this.listBankData.pageSize=10;
      //获取table信息
      this.getCollapseTable(this.filedsLayer);
    },
    // 重置查询
    resetForm() {
      this.formInline.fileName = ""
    resetForm () {
      this.formInline.fileName=""
      //获取table信息
      this.listBankData.pageIndex = 1;
      this.listBankData.pageSize = 10;
      this.listBankData.pageIndex=1;
      this.listBankData.pageSize=10;
      //获取table信息
      this.getCollapseTable(this.filedsLayer);
    },
    handleSizeChange1(val) {
    handleSizeChange1 (val) {
      this.listBankData.pageIndex = 1;
      this.listBankData.pageSize = val;
      this.listBankData.pageIndex=1;
      this.listBankData.pageSize=val;
      //获取table信息
      this.getCollapseTable(this.filedsLayer);
    },
    handleCurrentChange1(val) {
    handleCurrentChange1 (val) {
      // 将div的滚动条复位到顶部
      this.listBankData.pageIndex = val;
      this.listBankData.pageIndex=val;
      //获取table信息
      this.getCollapseTable(this.filedsLayer);
    },
    //查询数据库数据
    async getQueryBankData() {
      this.listData.dirs = "";
      this.listData.types = ""
      if (this.formInline.category.length != 0) {
        this.listData.dirs += this.formInline.category.toString();
    async getQueryBankData () {
      this.listData.dirs="";
      this.listData.types=""
      if(this.formInline.category.length!=0) {
        this.listData.dirs+=this.formInline.category.toString();
      }
      var val_data = this.formInline.category;
      var data_type = []
      if (val_data.length > 0) {
        for (var i in val_data) {
          for (var j in this.categoryOptions) {
            if (this.categoryOptions[j].key == val_data[i]) {
      var val_data=this.formInline.category;
      var data_type=[]
      if(val_data.length>0) {
        for(var i in val_data) {
          for(var j in this.categoryOptions) {
            if(this.categoryOptions[j].key==val_data[i]) {
              data_type.push(this.categoryOptions[j].value)
            }
          }
        }
      }
      if (this.formInline.item.length != 0) {
        if (this.listData.dirs.length != 0) {
          this.listData.dirs += ","
      if(this.formInline.item.length!=0) {
        if(this.listData.dirs.length!=0) {
          this.listData.dirs+=","
        }
        this.listData.dirs += this.formInline.item.toString();
        this.listData.dirs+=this.formInline.item.toString();
      }
      this.listData.depcode = this.formInline.depcode;
      this.listData.tab = this.formInline.keywords;
      this.listData.depcode=this.formInline.depcode;
      this.listData.tab=this.formInline.keywords;
      this.listData.types = data_type.toString();
      const data = await dataLib_selectTabs(this.listData);
      if (data.code != 200) {
      this.listData.types=data_type.toString();
      const data=await dataLib_selectTabs(this.listData);
      if(data.code!=200) {
        this.$message.error('数据库列表调用失败');
        return;
      }
      var val = data.result;
      if (val) {
        val = val.filter((res) => {
          res.mold = "数据库"
          res.isShow = false
      var val=data.result;
      if(val) {
        val=val.filter((res) => {
          res.mold="数据库"
          res.isShow=false
          return res;
        })
        this.listData.count = data.count;
        this.monthdata = data.result;
        this.listData.count=data.count;
        this.monthdata=data.result;
      } else {
        this.listData.count = 0;
        this.monthdata = [];
        this.listData.count=0;
        this.monthdata=[];
      }
    },
    //查询文件数据
    async getQueryFileData() {
      this.listData.dirs = "";
    async getQueryFileData () {
      this.listData.dirs="";
      if (this.formInline.category.length != 0) {
        this.listData.dirs += this.formInline.category.toString();
      if(this.formInline.category.length!=0) {
        this.listData.dirs+=this.formInline.category.toString();
      }
      if (this.formInline.item.length != 0) {
        if (this.listData.dirs.length != 0) {
          this.listData.dirs += ","
      if(this.formInline.item.length!=0) {
        if(this.listData.dirs.length!=0) {
          this.listData.dirs+=","
        }
        this.listData.dirs += this.formInline.item.toString();
        this.listData.dirs+=this.formInline.item.toString();
      }
      this.listData.depcode = this.formInline.depcode;
      this.listData.name = this.formInline.keywords;
      const data = await dataLib_selectByPageForMeta(this.listData);
      if (data.code != 200) {
      this.listData.depcode=this.formInline.depcode;
      this.listData.name=this.formInline.keywords;
      const data=await dataLib_selectByPageForMeta(this.listData);
      if(data.code!=200) {
        this.$message.error('文件数据列表调用失败');
      }
      var val = data.result;
      if (val) {
        val = val.filter((res) => {
          var type = "." + res.type;
          res.name = res.name.replaceAll(type, "")
          res.mold = "文件";
          res.isShow = false;
          res.ischecked = false;
      var val=data.result;
      if(val) {
        val=val.filter((res) => {
          var type="."+res.type;
          res.name=res.name.replaceAll(type,"")
          res.mold="文件";
          res.isShow=false;
          res.ischecked=false;
          return res;
        })
        this.monthdata = val;
        this.listData.count = data.count;
        this.monthdata=val;
        this.listData.count=data.count;
      } else {
        this.monthdata = [];
        this.listData.count = 0;
        this.monthdata=[];
        this.listData.count=0;
      }
    },
    //查询数据
    getAllTabesData() {
      this.listData.pageIndex = 1;
      this.listData.pageSize = 10;
      switch (this.formInline.dataType) {
    getAllTabesData () {
      this.listData.pageIndex=1;
      this.listData.pageSize=10;
      switch(this.formInline.dataType) {
        case "type2"://文件数据
          this.getQueryFileData();
@@ -2668,68 +2356,68 @@
      }
    },
    //项目名称数据
    async getItemSelectData() {
      const data = await dataLib_selectProject();//查询项目名称
      if (data.code != 200) {
    async getItemSelectData () {
      const data=await dataLib_selectProject();//查询项目名称
      if(data.code!=200) {
        this.$message.error('项目名称列表调用失败');
      }
      this.itemOptions = data.result;
      this.itemOptions=data.result;
    },
    //获取资料类别数据
    async getCategorySelectData() {
      const data = await dataLib_selectDirTypes();
      if (data.code != 200) {
    async getCategorySelectData () {
      const data=await dataLib_selectDirTypes();
      if(data.code!=200) {
        this.$message.error('资料类别列表调用失败');
      }
      this.categoryOptions = data.result;
      this.categoryOptions=data.result;
    },
    //关键字查询
    setSearchKeyWords() {
    setSearchKeyWords () {
      this.getAllTabesData();
    },
    //单位改变值触发
    depChange(data, node, nodeData) {
      this.formInline.depcode = data.code;
      this.formInline.depName = data.name;
    depChange (data,node,nodeData) {
      this.formInline.depcode=data.code;
      this.formInline.depName=data.name;
      this.getAllTabesData();
    },
    //资料类别下拉框值改变触发
    categorySelectChange(model, prop, options) {
    categorySelectChange (model,prop,options) {
      this.getAllTabesData();
    },
    // 项目名称下拉框值改变触发
    itemSelectChange(model, prop, options) {
    itemSelectChange (model,prop,options) {
      this.getAllTabesData();
    },
    //获取单位列表
    async getDepTreeData() {
      const data = await selectdepTab();
      if (data.code != 200) {
    async getDepTreeData () {
      const data=await selectdepTab();
      if(data.code!=200) {
        return this.$message.error('单位列表获取失败');
      }
      this.depOption = this.treeData(data.result);
      this.depOption=this.treeData(data.result);
      // this.formInline.depcode = this.depOption[0].code
      // this.formInline.depName = this.depOption[0].name;
      this.getAllTabesData();
    },
    //树列表生成
    treeData(source) {
      let cloneData = JSON.parse(JSON.stringify(source)); // 对源数据深度克隆
    treeData (source) {
      let cloneData=JSON.parse(JSON.stringify(source)); // 对源数据深度克隆
      return cloneData.filter((father) => {
        // 循环所有项
        let branchArr = cloneData.filter((child) => father.id == child.pid); // 对比ID,分别上下级菜单,并返回数据
        branchArr.length > 0 ? (father.children = branchArr) : ""; // 给父级添加一个children属性,并赋值
        return father.pid == 0; // 返回一级菜单
        let branchArr=cloneData.filter((child) => father.id==child.pid); // 对比ID,分别上下级菜单,并返回数据
        branchArr.length>0? (father.children=branchArr):""; // 给父级添加一个children属性,并赋值
        return father.pid==0; // 返回一级菜单
      });
    },
    async signGetPublicKey() {
      const res = await sign_getPublicKey();
      if (res && res.code == 200) {
        window.encrypt = new JSEncrypt();
    async signGetPublicKey () {
      const res=await sign_getPublicKey();
      if(res&&res.code==200) {
        window.encrypt=new JSEncrypt();
        encrypt.setPublicKey(res.result);
      }
    },
src/views/datamanage/SpatialData.vue
@@ -6,48 +6,38 @@
      ]"></My-bread>
    <el-divider />
    <div class="spatialContent ">
      <div
        class="spatial_leftTree subpage_Div "
        style="border: 1px solid #dcdfe6;"
      >
        <el-input
          size="small"
          v-model="filterText"
          style="width:220px;"
          :placeholder="$t('shuJuGuanLi.shuJuJianSuo.valuedataName')"
          suffix-icon="el-icon-search"
        ></el-input>
      <div class="spatial_leftTree subpage_Div "
           style="border: 1px solid #dcdfe6;">
        <el-input size="small"
                  v-model="filterText"
                  style="width:220px;"
                  :placeholder="$t('shuJuGuanLi.shuJuJianSuo.valuedataName')"
                  suffix-icon="el-icon-search"></el-input>
        <div style="width:300px">
          <el-tree
            :data="tree"
            :props="defaultProps"
            node-key="id"
            :current-node-key="10"
            @node-click="handleNodeClick"
            :filter-node-method="filterNode"
            ref="tree"
          ></el-tree>
          <el-tree :data="tree"
                   :props="defaultProps"
                   node-key="id"
                   :current-node-key="10"
                   @node-click="handleNodeClick"
                   :filter-node-method="filterNode"
                   ref="tree"></el-tree>
        </div>
      </div>
      <div class="contentshuju">
        <div class="contentshujutou">
          <el-form
            ref="ruleForm"
            :model="ruleForm"
            :inline="true"
          >
          <el-form ref="ruleForm"
                   :model="ruleForm"
                   :inline="true">
            <el-form-item>
              <!-- type="textarea" disabled-->
              <el-input
                v-model="ruleForm.fileName"
                size="small"
                :rows="2"
                style="width: 300px;"
                disabled
                :placeholder="$t('shuJuGuanLi.shuJuJianSuo.label')"
              >
              <el-input v-model="ruleForm.fileName"
                        size="small"
                        :rows="2"
                        style="width: 300px;"
                        disabled
                        :placeholder="$t('shuJuGuanLi.shuJuJianSuo.label')">
                <!-- <i
                  slot="suffix"
                  class="el-icon-search"
@@ -58,22 +48,18 @@
            </el-form-item>
            <el-form-item>
              <el-button
                @click="conditionVisible = true"
                size="small"
                type="success"
                icon="el-icon-plus"
              >{{$t('common.lable6')}}</el-button>
              <el-button @click="conditionVisible = true"
                         size="small"
                         type="success"
                         icon="el-icon-plus">{{$t('common.lable6')}}</el-button>
            </el-form-item>
            <el-form-item style="float: right">
              <el-button
                @click="resetForm"
                type="info"
                size="small"
                icon="el-icon-refresh"
              >{{$t('common.reset')}}</el-button>
              <el-button @click="resetForm"
                         type="info"
                         size="small"
                         icon="el-icon-refresh">{{$t('common.reset')}}</el-button>
            </el-form-item>
            <!--            <el-form-item style="float: right">
@@ -97,12 +83,10 @@
            </el-form-item>-->
            <el-form-item style="float: right">
              <el-button
                @click="getSpaceMapVisibale"
                size="small"
                type="primary"
                icon="el-icon-search"
              >{{
              <el-button @click="getSpaceMapVisibale"
                         size="small"
                         type="primary"
                         icon="el-icon-search">{{
                  $t('synthesis.rangequery')
                }}</el-button>
            </el-form-item>
@@ -110,61 +94,45 @@
          </el-form>
        </div>
        <div class="dividing-line"></div>
        <div
          class="table_box"
          style="height:calc(100% - 130px); "
        >
        <div class="table_box"
             style="height:calc(100% - 130px); ">
          <!--          border-->
          <!--          ref="filterTable"-->
          <!--          :data="tableData"-->
          <!--          style="width: 100%"-->
          <!--          height="calc(100% - 57px)"-->
          <!--          :header-cell-style="{background:'#e6eaee',color:'#181818', 'text-align': 'center'}  "-->
          <el-table
            ref="refTableData"
            :data="tableData"
            style="width: 100% ;"
            border
            height="100%"
          >
            <el-table-column
              type="selection"
              width="20"
              align="center"
            />
          <el-table ref="refTableData"
                    :data="tableData"
                    style="width: 100% ;"
                    border
                    height="100%">
            <el-table-column type="selection"
                             width="20"
                             align="center" />
            <!--              :label="item.alias"-->
            <el-table-column
              min-width="135"
              v-for="(item, index) in attributeData"
              :key="index"
              :label="$i18n.locale == 'zh' ? item.alias : item.field"
              :prop="item.field"
              show-overflow-tooltip
              align="center"
            ></el-table-column>
            <el-table-column
              min-width="240"
              :label="$t('common.operate')"
            >
            <el-table-column min-width="135"
                             v-for="(item, index) in attributeData"
                             :key="index"
                             :label="$i18n.locale == 'zh' ? item.alias : item.field"
                             :prop="item.field"
                             show-overflow-tooltip
                             align="center"></el-table-column>
            <el-table-column min-width="240"
                             :label="$t('common.operate')">
              <template slot-scope="scope">
                <el-button
                  type="primary"
                  plain
                  size="small"
                  @click="showDetail(scope.$index, scope.row)"
                >{{$t('common.details')}}</el-button>
                <el-button
                  plain
                  size="small"
                  @click="getAttachTable(scope.$index, scope.row)"
                >{{$t('common.enclosure')}}</el-button>
                <el-button
                  plain
                  size="small"
                  type="info"
                  v-if="matchState1(scope, /[]/)"
                  @click="getAttributeTable(scope.$index, scope.row)"
                >{{$t('common.attribute')}}</el-button>
                <el-button type="primary"
                           plain
                           size="small"
                           @click="showDetail(scope.$index, scope.row)">{{$t('common.details')}}</el-button>
                <el-button plain
                           size="small"
                           @click="getAttachTable(scope.$index, scope.row)">{{$t('common.enclosure')}}</el-button>
                <el-button plain
                           size="small"
                           type="info"
                           v-if="matchState1(scope, /[]/)"
                           @click="getAttributeTable(scope.$index, scope.row)">{{$t('common.attribute')}}</el-button>
              </template>
            </el-table-column>
          </el-table>
@@ -172,37 +140,29 @@
        </div>
        <div class="pagination_box">
          <el-pagination
            @size-change="handleSizeChange"
            @current-change="handleCurrentChange"
            :current-page="listData.pageIndex"
            :page-sizes="[10, 50, 100,200]"
            :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, 50, 100,200]"
                         :page-size="listData.pageSize"
                         layout="total, sizes, prev, pager, next, jumper"
                         :total="count">
          </el-pagination>
        </div>
      </div>
    </div>
    <div
      class="infoBox_box"
      v-show="showinfoBox"
    >
    <div class="infoBox_box"
         v-show="showinfoBox">
      <div class="infoBox box_div">
        <div
          slot="header"
          class="clearfix"
        >
        <div slot="header"
             class="clearfix">
          <span>{{$t('common.details')}}</span>
          <div
            style="float: right; cursor: pointer"
            @click="closeDetial"
          >
          <div style="float: right; cursor: pointer"
               @click="closeDetial">
            <i class="el-icon-close"></i>
          </div>
          <el-divider></el-divider>
@@ -221,275 +181,201 @@
      </div>
    </div>
    <el-dialog
      :title="$t('common.attachinform')"
      :visible.sync="dialogFormVisible"
    >
    <el-dialog :title="$t('common.attachinform')"
               :visible.sync="dialogFormVisible">
      <div style="height:68vh">
        <el-form
          :model="formInline"
          class="demo-form-inline"
          label-position="top"
        >
        <el-form :model="formInline"
                 class="demo-form-inline"
                 label-position="top">
          <el-form-item>
            <el-input
              v-model="formInline.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="formInline.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
                  v-if="btnStatus.insert"
                  class="elLink"
                  :underline="false"
                  @click="setAttachInsert"
                >{{$t('common.append')}}</el-link>
                <el-link v-if="btnStatus.insert"
                         class="elLink"
                         :underline="false"
                         @click="setAttachInsert">{{$t('common.append')}}</el-link>
              </el-col>
              <el-col :span="3">
                <el-link
                  v-if="btnStatus.delete"
                  class="elLink"
                  :underline="false"
                  @click="setAttachDel"
                >{{$t('common.delete')}}</el-link>
                <el-link v-if="btnStatus.delete"
                         class="elLink"
                         :underline="false"
                         @click="setAttachDel">{{$t('common.delete')}}</el-link>
              </el-col>
              <!-- <el-col :span="3">  <el-link  class="elLink" :underline="false" >{{$t('common.reset')}}</i></el-link></el-col> -->
            </el-row>
          </el-form-item>
        </el-form>
        <el-table
          :data="tableAttach"
          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.fileNme')"
          />
        <el-table :data="tableAttach"
                  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.fileNme')" />
          <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>
        </el-table>
      </div>
    </el-dialog>
    <el-dialog
      :visible.sync="conditionVisible"
      title="高级查询"
      :before-close="handleconditionClose"
      width="44%"
    >
    <el-dialog :visible.sync="conditionVisible"
               title="高级查询"
               :before-close="handleconditionClose"
               width="44%">
      <el-form
        :inline="true"
        :model="formSql"
        class="demo-form-inline"
        label-position="top"
      >
      <el-form :inline="true"
               :model="formSql"
               class="demo-form-inline"
               label-position="top">
        <el-form-item>
          <el-select
            @change="fieldChange($event)"
            v-model="formSql.field"
            :popper-append-to-body="false"
          >
            <el-option
              v-for="item in filedsOption"
              :key="item.field"
              :label="item.alias"
              :value="item.field"
            >
          <el-select @change="fieldChange($event)"
                     v-model="formSql.field"
                     :popper-append-to-body="false">
            <el-option v-for="item in filedsOption"
                       :key="item.field"
                       :label="item.alias"
                       :value="item.field">
            </el-option>
          </el-select>
        </el-form-item>
        <el-form-item>
          <el-select
            :popper-append-to-body="false"
            v-model="formSql.condition"
          >
            <el-option
              v-for="item in condOption"
              :key="item.value"
              :label="item.label"
              :value="item.value"
            >
          <el-select :popper-append-to-body="false"
                     v-model="formSql.condition">
            <el-option v-for="item in condOption"
                       :key="item.value"
                       :label="item.label"
                       :value="item.value">
            </el-option>
          </el-select>
        </el-form-item>
        <el-form-item v-show="!fromSqlflag">
          <el-input
            v-model="formSql.value"
            :placeholder="$t('shuJuGuanLi.shuJuJianSuo.queryContent')"
          ></el-input>
          <el-input v-model="formSql.value"
                    :placeholder="$t('shuJuGuanLi.shuJuJianSuo.queryContent')"></el-input>
        </el-form-item>
        <el-form-item v-show="fromSqlflag">
          <el-date-picker
            v-model="formSql.date"
            type="date"
            placeholder="选择日期"
            value-format="yyyy-MM-dd"
          >
          <el-date-picker v-model="formSql.date"
                          type="date"
                          placeholder="选择日期"
                          value-format="yyyy-MM-dd">
          </el-date-picker>
        </el-form-item>
      </el-form>
      <span
        slot="footer"
        class="dialog-footer"
      >
        <el-button
          size="small"
          @click="startFiledAndcondition"
        >取 消</el-button>
        <el-button
          class="primaries"
          size="small"
          @click="appendQueryFilter"
        >确 定</el-button>
      <span slot="footer"
            class="dialog-footer">
        <el-button size="small"
                   @click="startFiledAndcondition">取 消</el-button>
        <el-button class="primaries"
                   size="small"
                   @click="appendQueryFilter">确 定</el-button>
      </span>
    </el-dialog>
    <el-dialog
      :title=" $t('synthesis.rangequery')"
      :visible.sync="dialogMapVisible"
      width="90%"
      top="10vh"
      :before-close="handleMapClose"
    >
    <el-dialog :title=" $t('synthesis.rangequery')"
               :visible.sync="dialogMapVisible"
               width="90%"
               top="10vh"
               :before-close="handleMapClose">
      <div style="height:700px">
        <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"
      >
        <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="attribute.title"
      :append-to-body="false"
      :visible.sync="AttributedialogVisible"
      width="80%"
      :close-on-click-modal="false"
    >
    <el-dialog :title="attribute.title"
               :append-to-body="false"
               :visible.sync="AttributedialogVisible"
               width="80%"
               :close-on-click-modal="false">
      <div class="attributeBox">
        <div class="attrubuteLeft">
          <ul>
            <li
              v-for="item in attrbuteOption"
              :class="{active:attributeFlag === item.name}"
              @click="setChangeAttrubuteData(item)"
            >
            <li v-for="item in attrbuteOption"
                :class="{active:attributeFlag === item.name}"
                @click="setChangeAttrubuteData(item)">
              {{item.name}}
            </li>
          </ul>
        </div>
        <div class="attrubuteRight">
          <el-table
            ref="refAttributeTable"
            :data="attributeTable"
            style="width:100%;"
            border
            height="calc(100% - 50px)"
          >
            <el-table-column
              type="selection"
              align="center"
            />
          <el-table ref="refAttributeTable"
                    :data="attributeTable"
                    style="width:100%;"
                    border
                    height="calc(100% - 50px)">
            <el-table-column type="selection"
                             align="center" />
            <el-table-column
              min-width="135"
              v-for="(item, index) in  attributeFild"
              :key="index"
              :label="item.alias"
              :prop="item.field"
              show-overflow-tooltip
              align="center"
            ></el-table-column>
            <el-table-column min-width="135"
                             v-for="(item, index) in  attributeFild"
                             :key="index"
                             :label="item.alias"
                             :prop="item.field"
                             show-overflow-tooltip
                             align="center"></el-table-column>
          </el-table>
          <div class="pagination_box">
            <el-pagination
              @size-change="attributeSizeChange"
              @current-change="attributeCurrentChange"
              :current-page="attribute.pageIndex"
              :page-sizes="[10, 20, 50, 100]"
              :page-size="attribute.pageSize"
              layout="total, sizes, prev, pager, next, jumper"
              :total="attribute.count"
            >
            <el-pagination @size-change="attributeSizeChange"
                           @current-change="attributeCurrentChange"
                           :current-page="attribute.pageIndex"
                           :page-sizes="[10, 20, 50, 100]"
                           :page-size="attribute.pageSize"
                           layout="total, sizes, prev, pager, next, jumper"
                           :total="attribute.count">
            </el-pagination>
          </div>
        </div>
@@ -523,8 +409,8 @@
export default {
  //import引入的组件需要注入到对象中才能使用
  name: "dataSearch",
  components: { MyBread, catalogueTree, MapSdk },
  data() {
  components: { MyBread,catalogueTree,MapSdk },
  data () {
    return {
      attachtable: [
        "b_pac_geologic_hazard",
@@ -634,84 +520,84 @@
      attributeFild: null,
    };
  },
  created() {
  created () {
    // this.getSPData(10, 1, "");
    // this.getSPCount("");
    this.showPermsBtn();
    this.getTreeDataAll();
  },
  watch: {
    filterText(val) {
    filterText (val) {
      this.$refs.tree.filter(val);
    },
  },
  methods: {
    //分页点击事件
    attributeSizeChange(val) {
      this.attribute.pageSize = val;
      this.attribute.pageIndex = 1;
    attributeSizeChange (val) {
      this.attribute.pageSize=val;
      this.attribute.pageIndex=1;
      //获取table信息
      this.setAttributeTableData(this.attributeLayer);
    },
    attributeCurrentChange(val) {
      this.attribute.pageIndex = val;
    attributeCurrentChange (val) {
      this.attribute.pageIndex=val;
      //获取table信息
      this.setAttributeTableData(this.attributeLayer);
    },
    getAttributeTable(idnex, row) {
      this.attribute.title = row.workname;
      this.attrbuteOption = workSite;
    getAttributeTable (idnex,row) {
      this.attribute.title=row.workname;
      this.attrbuteOption=workSite;
      this.AttributedialogVisible = true;
      this.AttributedialogVisible=true;
      this.setChangeAttrubuteData(this.attrbuteOption[0])
    },
    setChangeAttrubuteData(res) {
      this.attributeFlag = res.name;
      this.attribute.pageIndex = 1;
      this.attribute.pageSize = 10;
      this.attribute.count = 0;
      this.attributeLayer = res;
    setChangeAttrubuteData (res) {
      this.attributeFlag=res.name;
      this.attribute.pageIndex=1;
      this.attribute.pageSize=10;
      this.attribute.count=0;
      this.attributeLayer=res;
      this.setAttributeTableData(res)
    },
    setAttributeTableData(res) {
      var name = res.table.replaceAll("_", "");
      this.attribute.name = name;
      var value = this.getAttributeDomFiled(name)
      this.getAttributeTableData(value, res)
    setAttributeTableData (res) {
      var name=res.table.replaceAll("_","");
      this.attribute.name=name;
      var value=this.getAttributeDomFiled(name)
      this.getAttributeTableData(value,res)
    },
    //获取每个表字段名称及阈值
    async getAttributeDomFiled(res) {
    async getAttributeDomFiled (res) {
      //查询字段信息;
      const fileds = await dataQuery_selectFields({
      const fileds=await dataQuery_selectFields({
        name: res,
      });
      if (fileds.code != 200) {
      if(fileds.code!=200) {
        this.$message.error("调用列表失败,请联系工作人员!");
        return;
      }
      //查询阈值信息;
      const domains = await dataQuery_selectDomains({
      const domains=await dataQuery_selectDomains({
        name: res,
      });
      if (domains.code != 200) {
      if(domains.code!=200) {
        this.$message.error("调用列表失败,请联系工作人员!");
        return;
      }
      var data1 = fileds.result;
      var data2 = domains.result;
      var std = [];
      this.filedsOption = [];
      for (var i in data1) {
        if (data1[i].type != 'geometry' && data1[i].type) {
      var data1=fileds.result;
      var data2=domains.result;
      var std=[];
      this.filedsOption=[];
      for(var i in data1) {
        if(data1[i].type!='geometry'&&data1[i].type) {
          this.filedsOption.push(data1[i]);
        }
        if (data1[i].showtype == 1) {
          if (data1[i].domainNa != null) {
            data1[i].domainNa = this.getDomainNaFild(data1[i].domainNa, data2);
        if(data1[i].showtype==1) {
          if(data1[i].domainNa!=null) {
            data1[i].domainNa=this.getDomainNaFild(data1[i].domainNa,data2);
          }
          std.push(data1[i]);
        }
@@ -720,34 +606,34 @@
    },
    //获取表格信息
    async getAttributeTableData(res, result) {
    async getAttributeTableData (res,result) {
      res.then((val) => {
        this.attributeFild = val;
        this.attributeFild=val;
      });
      this.attribute.filter = "workname = " + "'" + this.attribute.title + "'";
      this.attribute.filter="workname = "+"'"+this.attribute.title+"'";
      const data = await dataQuery_selectByPage(this.attribute);
      if (data.code != 200) {
      const data=await dataQuery_selectByPage(this.attribute);
      if(data.code!=200) {
        this.$message.error("调用列表失败,请联系工作人员!");
        return;
      }
      this.attributeTable = []
      var res_val = this.attributeFild;
      this.attribute.count = data.count;
      for (var i in data.result) {
        let val_Data = data.result[i];
      this.attributeTable=[]
      var res_val=this.attributeFild;
      this.attribute.count=data.count;
      for(var i in data.result) {
        let val_Data=data.result[i];
        for (var j in res_val) {
          if (res_val[j].domainNa != null && res_val[j].domainNa != undefined) {
        for(var j in res_val) {
          if(res_val[j].domainNa!=null&&res_val[j].domainNa!=undefined) {
            val_Data[res_val[j].field] = res_val[j].domainNa;
            val_Data[res_val[j].field]=res_val[j].domainNa;
          }
        }
      }
      this.attributeTable = data.result;
      this.attributeTable=data.result;
      this.$nextTick(() => {
        this.$resfs.refAttributeTable.doLayout()
      });
@@ -756,108 +642,108 @@
    matchState1(state = "", reg) {
      var row = state.row;
      if (
        this.listData.name == "ssurveyworksite"
    matchState1 (state="",reg) {
      var row=state.row;
      if(
        this.listData.name=="ssurveyworksite"
      ) {
        return true;
      }
      return false;
    },
    statSizeChange(row, column) {
    statSizeChange (row,column) {
      return this.stateFormatSizes(row.sizes)
    },
    stateFormatSizes(res) {
      if (res >= 1024) {
        const val = parseFloat(res / 1024).toFixed(3);
        return val + ' GB';
    stateFormatSizes (res) {
      if(res>=1024) {
        const val=parseFloat(res/1024).toFixed(3);
        return val+' GB';
      } else {
        return res + ' MB';
        return res+' MB';
      }
    },
    filterNode(value, data) {
      if (!value) return true;
      return data.label.indexOf(value) !== -1;
    filterNode (value,data) {
      if(!value) return true;
      return data.label.indexOf(value)!==-1;
    },
    getSpaceMapVisibale() {
      this.dialogMapVisible = true;
      this.showMapVisible = true;
      this.$store.state.mapMenuBoolean = true;
      this.$store.state.mapMenuBoxFlag = "1";
      this.$store.state.mapPopBoolean = false;
      this.$store.state.mapPopBoxFlag = null;
      this.$store.state.download = true;
    getSpaceMapVisibale () {
      this.dialogMapVisible=true;
      this.showMapVisible=true;
      this.$store.state.mapMenuBoolean=true;
      this.$store.state.mapMenuBoxFlag="1";
      this.$store.state.mapPopBoolean=false;
      this.$store.state.mapPopBoxFlag=null;
      this.$store.state.download=true;
    },
    handleMapClose() {
    handleMapClose () {
      this.$confirm("确认关闭?")
        .then((_) => {
          this.closeMapDown();
        })
        .catch((_) => { });
    },
    closeMapDown() {
      this.dialogMapVisible = false;
      this.showMapVisible = false;
      this.$store.state.mapMenuBoolean = false;
      this.$store.state.mapMenuBoxFlag = null;
      this.$store.state.download = false;
      this.$store.state.mapPopBoolean = false;
      this.$store.state.mapPopBoxFlag = null;
    closeMapDown () {
      this.dialogMapVisible=false;
      this.showMapVisible=false;
      this.$store.state.mapMenuBoolean=false;
      this.$store.state.mapMenuBoxFlag=null;
      this.$store.state.download=false;
      this.$store.state.mapPopBoolean=false;
      this.$store.state.mapPopBoxFlag=null;
    },
    refreshAttatchDetail() {
      this.dialog.src = "";
      this.dialog.dialogVisible = false;
      this.dialog.isPdf = false;
      this.dialog.isJpg = false;
    refreshAttatchDetail () {
      this.dialog.src="";
      this.dialog.dialogVisible=false;
      this.dialog.isPdf=false;
      this.dialog.isJpg=false;
    },
    //附件查看
    setAttatchDetail(index, row) {
    setAttatchDetail (index,row) {
      this.refreshAttatchDetail()
      var name = row.name;
      if (name.indexOf('.pdf') != -1 || name.indexOf('.PDF') != -1) {
        this.dialog.dialogVisible = true;
        this.dialog.isPdf = true;
        var url = BASE_URL + "/comprehensive/downloadForView?guid=" + row.guid + "&token=" + getToken();
        this.dialog.src = url
      } else if (
        name.indexOf('.jpg') != -1
        || name.indexOf('.gif') != -1
        || name.indexOf('.png') != -1
        || name.indexOf('.jpeg') != -1
        || name.indexOf('.JPG') != -1
        || name.indexOf('.GIF') != -1
        || name.indexOf('.PNG') != -1
        || name.indexOf('.JPEG') != -1
        || name.indexOf('.BMP') != -1
        || name.indexOf('.bmp') != -1
      var name=row.name;
      if(name.indexOf('.pdf')!=-1||name.indexOf('.PDF')!=-1) {
        this.dialog.dialogVisible=true;
        this.dialog.isPdf=true;
        var url=BASE_URL+"/comprehensive/downloadForView?guid="+row.guid+"&token="+getToken();
        this.dialog.src=url
      } else if(
        name.indexOf('.jpg')!=-1
        ||name.indexOf('.gif')!=-1
        ||name.indexOf('.png')!=-1
        ||name.indexOf('.jpeg')!=-1
        ||name.indexOf('.JPG')!=-1
        ||name.indexOf('.GIF')!=-1
        ||name.indexOf('.PNG')!=-1
        ||name.indexOf('.JPEG')!=-1
        ||name.indexOf('.BMP')!=-1
        ||name.indexOf('.bmp')!=-1
      ) {
        this.dialog.dialogVisible = true;
        this.dialog.isJpg = true;
        var url = BASE_URL + "/comprehensive/downloadForView?guid=" + row.guid + "&token=" + getToken();
        this.dialog.src = url
        this.dialog.dialogVisible=true;
        this.dialog.isJpg=true;
        var url=BASE_URL+"/comprehensive/downloadForView?guid="+row.guid+"&token="+getToken();
        this.dialog.src=url
      }
    },
    matchState(state = "", reg) {
      var row = state.row;
      var name = row.name;
    matchState (state="",reg) {
      var row=state.row;
      var name=row.name;
      if (name) {
        if (name.indexOf('.pdf') != -1
          || name.indexOf('.jpg') != -1
          || name.indexOf('.gif') != -1
          || name.indexOf('.png') != -1
          || name.indexOf('.jpeg') != -1
          || name.indexOf('.PDF') != -1
          || name.indexOf('.JPG') != -1
          || name.indexOf('.GIF') != -1
          || name.indexOf('.PNG') != -1
          || name.indexOf('.JPEG') != -1
          || name.indexOf('.BMP') != -1
          || name.indexOf('.bmp') != -1) {
      if(name) {
        if(name.indexOf('.pdf')!=-1
          ||name.indexOf('.jpg')!=-1
          ||name.indexOf('.gif')!=-1
          ||name.indexOf('.png')!=-1
          ||name.indexOf('.jpeg')!=-1
          ||name.indexOf('.PDF')!=-1
          ||name.indexOf('.JPG')!=-1
          ||name.indexOf('.GIF')!=-1
          ||name.indexOf('.PNG')!=-1
          ||name.indexOf('.JPEG')!=-1
          ||name.indexOf('.BMP')!=-1
          ||name.indexOf('.bmp')!=-1) {
          return true;
        }
      }
@@ -866,39 +752,39 @@
    },
    async setAttachDel() {
      var std = [];
      for (var i in this.attacgSelection) {
    async setAttachDel () {
      var std=[];
      for(var i in this.attacgSelection) {
        std.push(this.attacgSelection[i].id);
      }
      const res = await dataQuery_deletes({ ids: std.toString() });
      if (res.code != 200) {
      const res=await dataQuery_deletes({ ids: std.toString() });
      if(res.code!=200) {
        this.$message.error("文件删除失败");
      }
      this.getAttacthFlieList();
    },
    setAttachInsert() {
      var token = getToken();
      var fs = document.getElementById("insertFile");
      if (fs.files.length == 0) {
    setAttachInsert () {
      var token=getToken();
      var fs=document.getElementById("insertFile");
      if(fs.files.length==0) {
        this.$message({
          message: "请选择要上传的文件!",
          type: "warning",
        });
        return;
      }
      const formData = new FormData();
      for (var i = 0, c = fs.files.length; i < c; i++) {
        formData.append("file", fs.files[i]); // fs.files[i].name,file
      const formData=new FormData();
      for(var i=0,c=fs.files.length;i<c;i++) {
        formData.append("file",fs.files[i]); // fs.files[i].name,file
      }
      $.ajax(
        BASE_URL +
        "/dataQuery/uploadFiles?token=" +
        token +
        "&tabName=" +
        this.upAttach.tabName +
        "&eventid=" +
        BASE_URL+
        "/dataQuery/uploadFiles?token="+
        token+
        "&tabName="+
        this.upAttach.tabName+
        "&eventid="+
        this.upAttach.eventid,
        {
          type: "post",
@@ -912,58 +798,58 @@
              message: "附件添加成功",
              type: "success",
            });
            document.getElementById("insertFile").value = "";
            this.formInline = {
            document.getElementById("insertFile").value="";
            this.formInline={
              file: "",
            };
            this.getAttacthFlieList();
          },
          error: (e) => {
            document.getElementById("insertFile").value = "";
            document.getElementById("insertFile").value="";
            this.$message.error("附件添加失败");
          },
        }
      );
    },
    async getAttacthFlieList() {
      var obj = this.upAttach;
    async getAttacthFlieList () {
      var obj=this.upAttach;
      const res = await dataQuery_selectFiles(obj);
      if (res.code != 200) {
      const res=await dataQuery_selectFiles(obj);
      if(res.code!=200) {
        this.$message.error("列表调用失败");
        return;
      }
      this.tableAttach = res.result;
      this.tableAttach=res.result;
    },
    getAttachTable(index, row) {
      if (row.eventid != null) {
        this.upAttach.eventid = row.eventid;
    getAttachTable (index,row) {
      if(row.eventid!=null) {
        this.upAttach.eventid=row.eventid;
      } else {
        this.upAttach.eventid = "";
        this.upAttach.eventid="";
      }
      this.getAttacthFlieList();
      this.dialogFormVisible = true;
      this.dialogFormVisible=true;
    },
    //附件=>文件选择
    getInsertFile() {
    getInsertFile () {
      $("#insertFile").click();
    },
    insertFile() {
      var val = document.getElementById("insertFile").files;
      if (!val || !val.length) return;
    insertFile () {
      var val=document.getElementById("insertFile").files;
      if(!val||!val.length) return;
      this.formInline.file = val[0].name;
      this.formInline.file=val[0].name;
    },
    //获取目录树数据
    async getTreeDataAll() {
      const data = await dataQuery_selectTabs();
      if (data.code != 200) {
    async getTreeDataAll () {
      const data=await dataQuery_selectTabs();
      if(data.code!=200) {
        this.$message.error("列表调用失败");
      }
      var val = data.result;
      this.tree = getTreeData(val)
      var val=data.result;
      this.tree=getTreeData(val)
      // for (var i in option) {
      //   var val_Data = option[i];
      //   val_Data.id = "1" + i;
@@ -1003,87 +889,87 @@
      this.handleNodeClick(this.tree[0].children[0]);
    },
    //授权管理
    showPermsBtn() {
      let currentPerms = this.$store.state.currentPerms;
      let permsEntity = this.$store.state.permsEntity;
    showPermsBtn () {
      let currentPerms=this.$store.state.currentPerms;
      let permsEntity=this.$store.state.permsEntity;
      permsEntity
        .filter((item) => item.perms == currentPerms)
        .filter((item) => item.perms==currentPerms)
        .map((item) => {
          this.btnStatus[item.tag.substr(1)] = true;
          this.btnStatus[item.tag.substr(1)]=true;
        });
    },
    //树点击事件
    handleNodeClick(data) {
    handleNodeClick (data) {
      //判断点击是否为子节点
      if (data.children != null) return;
      if(data.children!=null) return;
      this.listData.name = data.entity; //要查询表格类型;
      this.getClickTable = data;
      this.listData.pageIndex = 1;
      this.listData.pageSize = 10;
      this.listData.name=data.entity; //要查询表格类型;
      this.getClickTable=data;
      this.listData.pageIndex=1;
      this.listData.pageSize=10;
      this.count = 0;
      this.upAttach.tabName = data.ns + "." + data.tab;
      this.filedsLayer = this.getCollapseDomFiled(); //获取每个表字段名称及阈值
      this.count=0;
      this.upAttach.tabName=data.ns+"."+data.tab;
      this.filedsLayer=this.getCollapseDomFiled(); //获取每个表字段名称及阈值
      //获取table信息
      this.getCollapseTable(this.filedsLayer);
    },
    //获取表格信息
    async getCollapseTable(res) {
    async getCollapseTable (res) {
      res.then((val) => {
        this.attributeData = val;
        this.attributeData=val;
      });
      if (this.ruleForm.fileName != "") {
        this.listData.filter = this.ruleForm.fileName;
      if(this.ruleForm.fileName!="") {
        this.listData.filter=this.ruleForm.fileName;
      } else {
        this.listData.filter = null;
        this.listData.filter=null;
      }
      const data = await dataQuery_selectByPage(this.listData);
      if (data.code != 200) {
      const data=await dataQuery_selectByPage(this.listData);
      if(data.code!=200) {
        this.$message.error("调用列表失败,请联系工作人员!");
        return;
      }
      this.tableData = []
      var res_val = this.attributeData;
      this.count = data.count;
      for (var i in data.result) {
        let val_Data = data.result[i];
      this.tableData=[]
      var res_val=this.attributeData;
      this.count=data.count;
      for(var i in data.result) {
        let val_Data=data.result[i];
        for (var j in res_val) {
          if (res_val[j].domainNa != null && res_val[j].domainNa != undefined) {
        for(var j in res_val) {
          if(res_val[j].domainNa!=null&&res_val[j].domainNa!=undefined) {
            val_Data[res_val[j].field] = res_val[j].domainNa;
            val_Data[res_val[j].field]=res_val[j].domainNa;
          }
        }
      }
      var that = this;
      var value = data.result.filter((item) => {
      var that=this;
      var value=data.result.filter((item) => {
        if (item.dirName) {
          item.dirid = item.dirName
        if(item.dirName) {
          item.dirid=item.dirName
        }
        if (item.depName) {
        if(item.depName) {
          item.depid = item.depName
          item.depid=item.depName
        }
        if (item.verName) {
          item.verid = item.verName
        if(item.verName) {
          item.verid=item.verName
        }
        if (item.createName) {
          item.createuser = item.createName
        if(item.createName) {
          item.createuser=item.createName
        }
        if (item.updateName) {
          item.updateuser = item.updateName
        if(item.updateName) {
          item.updateuser=item.updateName
        }
        if (item.createtime) {
          item.createtime = that.format(item.createtime);
        if(item.createtime) {
          item.createtime=that.format(item.createtime);
        }
        if (item.updatetime) {
          item.updatetime = that.format(item.updatetime);
        if(item.updatetime) {
          item.updatetime=that.format(item.updatetime);
        }
        return item
      })
@@ -1092,27 +978,27 @@
      this.tableData = value;
      this.tableData=value;
      this.$nextTick(() => {
        this.$refs.refTableData.doLayout();
      });
    },
    //格式化时间
    format(shijianchuo) {
    format (shijianchuo) {
      //shijianchuo是整数,否则要parseInt转换
      var time = new Date(shijianchuo);
      var y = time.getFullYear();
      var m = time.getMonth() + 1;
      var d = time.getDate();
      var h = time.getHours();
      var mm = time.getMinutes();
      var s = time.getSeconds();
      return y + "-" + this.add0(m) + "-" + this.add0(d);
      var time=new Date(shijianchuo);
      var y=time.getFullYear();
      var m=time.getMonth()+1;
      var d=time.getDate();
      var h=time.getHours();
      var mm=time.getMinutes();
      var s=time.getSeconds();
      return y+"-"+this.add0(m)+"-"+this.add0(d);
    },
    //格式化时间
    add0(m) {
      return m < 10 ? "0" + m : m;
    add0 (m) {
      return m<10? "0"+m:m;
    },
@@ -1120,36 +1006,36 @@
    //获取每个表字段名称及阈值
    async getCollapseDomFiled() {
    async getCollapseDomFiled () {
      //查询字段信息;
      const fileds = await dataQuery_selectFields({
      const fileds=await dataQuery_selectFields({
        name: this.listData.name,
      });
      if (fileds.code != 200) {
      if(fileds.code!=200) {
        this.$message.error("调用列表失败,请联系工作人员!");
        return;
      }
      //查询阈值信息;
      const domains = await dataQuery_selectDomains({
      const domains=await dataQuery_selectDomains({
        name: this.listData.name,
      });
      if (domains.code != 200) {
      if(domains.code!=200) {
        this.$message.error("调用列表失败,请联系工作人员!");
        return;
      }
      var data1 = fileds.result;
      var data2 = domains.result;
      var std = [];
      this.filedsOption = [];
      for (var i in data1) {
        if (data1[i].type != 'geometry' && data1[i].type) {
      var data1=fileds.result;
      var data2=domains.result;
      var std=[];
      this.filedsOption=[];
      for(var i in data1) {
        if(data1[i].type!='geometry'&&data1[i].type) {
          this.filedsOption.push(data1[i]);
        }
        if (data1[i].showtype == 1) {
          if (data1[i].domainNa != null) {
            data1[i].domainNa = this.getDomainNaFild(data1[i].domainNa, data2);
        if(data1[i].showtype==1) {
          if(data1[i].domainNa!=null) {
            data1[i].domainNa=this.getDomainNaFild(data1[i].domainNa,data2);
          }
          std.push(data1[i]);
        }
@@ -1157,13 +1043,13 @@
      this.startFiledAndcondition();
      return std;
    },
    startFiledAndcondition() {
      this.conditionVisible = false;
    startFiledAndcondition () {
      this.conditionVisible=false;
      this.conditionChange(this.filedsOption[0]);
      this.formSql.value = "";
      this.formSql.date = new Date();
      this.formSql.value="";
      this.formSql.date=new Date();
    },
    handleconditionClose() {
    handleconditionClose () {
      this.$confirm("确认关闭?")
        .then((_) => {
          this.startFiledAndcondition();
@@ -1171,160 +1057,160 @@
        .catch((_) => { });
    },
    fieldChange(value) {
      var obj = {};
      obj = this.filedsOption.find(function (item) {
        return item.field === value;
    fieldChange (value) {
      var obj={};
      obj=this.filedsOption.find(function(item) {
        return item.field===value;
      });
      this.conditionChange(obj);
    },
    conditionChange(res) {
      this.formSql.field = res.field;
      this.formSql.type = res.type;
      if (res.type == "date" || res.type == "datetime") {
        this.fromSqlflag = true;
    conditionChange (res) {
      this.formSql.field=res.field;
      this.formSql.type=res.type;
      if(res.type=="date"||res.type=="datetime") {
        this.fromSqlflag=true;
      } else {
        this.fromSqlflag = false;
        this.fromSqlflag=false;
      }
      var std = [];
      this.condOption = [];
      if (res.type == "text" || res.type == "blob") {
        std = conditions[0];
      } else if (res.type == "date" || res.type == "datetime") {
        std = conditions[2];
      var std=[];
      this.condOption=[];
      if(res.type=="text"||res.type=="blob") {
        std=conditions[0];
      } else if(res.type=="date"||res.type=="datetime") {
        std=conditions[2];
      } else {
        std = conditions[1];
        std=conditions[1];
      }
      for (var i in std) {
      for(var i in std) {
        this.condOption.push({
          label: std[i],
          value: std[i],
        });
      }
      this.formSql.condition = this.condOption[0].value;
      this.formSql.condition=this.condOption[0].value;
    },
    appendQueryFilter() {
      if (this.formSql.type == "date" || this.formSql.type == "datetime") {
        if (this.formSql.date == null) {
    appendQueryFilter () {
      if(this.formSql.type=="date"||this.formSql.type=="datetime") {
        if(this.formSql.date==null) {
          this.$message.error("请输入要查询的信息!");
          return;
        }
      } else {
        if (this.formSql.value == "") {
        if(this.formSql.value=="") {
          this.$message.error("请输入要查询的信息!");
          return;
        }
      }
      if (this.ruleForm.fileName != "") {
        this.ruleForm.fileName += " and ";
      if(this.ruleForm.fileName!="") {
        this.ruleForm.fileName+=" and ";
      }
      var val;
      if (this.formSql.type == "long" || this.formSql.type == "integer") {
        val = parseInt(this.formSql.value);
      } else if (this.formSql.type == "double") {
        if (this.formSql.value.indexOf(".") != -1) {
          val = this.formSql.value;
      if(this.formSql.type=="long"||this.formSql.type=="integer") {
        val=parseInt(this.formSql.value);
      } else if(this.formSql.type=="double") {
        if(this.formSql.value.indexOf(".")!=-1) {
          val=this.formSql.value;
        } else {
          val = parseFloat(this.formSql.value).toFixed(1);
          val=parseFloat(this.formSql.value).toFixed(1);
        }
      } else if (
        this.formSql.type == "date" ||
        this.formSql.type == "datetime"
      } else if(
        this.formSql.type=="date"||
        this.formSql.type=="datetime"
      ) {
        var time = new Date(this.formSql.date);
        var m = time.getMonth() + 1;
        var d = time.getDate();
        var y = time.getFullYear();
        val = "'" + y + "-" + this.add0(m) + "-" + this.add0(d) + "'";
        var time=new Date(this.formSql.date);
        var m=time.getMonth()+1;
        var d=time.getDate();
        var y=time.getFullYear();
        val="'"+y+"-"+this.add0(m)+"-"+this.add0(d)+"'";
      } else {
        val = "'" + this.formSql.value + "'";
        val="'"+this.formSql.value+"'";
      }
      this.ruleForm.fileName +=
        this.formSql.field + " " + this.formSql.condition + " " + val;
      this.ruleForm.fileName+=
        this.formSql.field+" "+this.formSql.condition+" "+val;
      this.startFiledAndcondition();
      this.submitForm();
    },
    //值域字段匹配
    getDomainNaFild(res, result) {
      for (var i in result) {
        if (result[i].domName == res) {
    getDomainNaFild (res,result) {
      for(var i in result) {
        if(result[i].domName==res) {
          return result[i].codeDesc;
        }
      }
      return null;
    },
    // 请求场站点内容
    getSPData(size, num, name) {
      querySitePoint(size, num, name).then((res) => {
        this.tableData = res.data;
    getSPData (size,num,name) {
      querySitePoint(size,num,name).then((res) => {
        this.tableData=res.data;
      });
    },
    // 请求场站点数量
    getSPCount(name) {
    getSPCount (name) {
      querySitePointCount(name).then((res) => {
        this.count = res.data;
        this.count=res.data;
      });
    },
    // 请求场站点内容
    getSSData(size, num, name) {
      queryStationSeries(size, num, name).then((res) => {
        this.tableData = res.data;
    getSSData (size,num,name) {
      queryStationSeries(size,num,name).then((res) => {
        this.tableData=res.data;
      });
    },
    // 请求场站点数量
    getSSCount(name) {
    getSSCount (name) {
      queryStationSeriesCount(name).then((res) => {
        this.count = res.data;
        this.count=res.data;
      });
    },
    // 请求标桩内容
    getMData(size, num, name) {
      queryMarker(size, num, name).then((res) => {
        this.tableData = res.data;
    getMData (size,num,name) {
      queryMarker(size,num,name).then((res) => {
        this.tableData=res.data;
      });
    },
    // 请求标桩数量
    getMCount(name) {
    getMCount (name) {
      queryMarkerCount(name).then((res) => {
        this.count = res.data;
        this.count=res.data;
      });
    },
    // 关键字查询
    submitForm() {
      this.listData.pageIndex = 1;
      this.listData.pageSize = 10;
    submitForm () {
      this.listData.pageIndex=1;
      this.listData.pageSize=10;
      //获取table信息
      this.getCollapseTable(this.filedsLayer);
    },
    //分页点击事件
    handleSizeChange(val) {
      this.listData.pageSize = val;
      this.listData.pageIndex = 1;
    handleSizeChange (val) {
      this.listData.pageSize=val;
      this.listData.pageIndex=1;
      //获取table信息
      this.getCollapseTable(this.filedsLayer);
    },
    handleCurrentChange(val) {
      this.listData.pageIndex = val;
    handleCurrentChange (val) {
      this.listData.pageIndex=val;
      //获取table信息
      this.getCollapseTable(this.filedsLayer);
    },
    // 重置查询
    resetForm() {
      this.ruleForm.fileName = "";
      this.listData.pageIndex = 1;
      this.listData.pageSize = 10;
    resetForm () {
      this.ruleForm.fileName="";
      this.listData.pageIndex=1;
      this.listData.pageSize=10;
      //获取table信息
      this.getCollapseTable(this.filedsLayer);
    },
    // 发布按钮
    testfb() {
    testfb () {
      // if (this.FBtest) {
      //   this.$confirm("是否取消发布?", "提示", {
      //     confirmButtonText: "确定",
@@ -1332,7 +1218,7 @@
      //     type: "warning",
      //   })
      //     .then(() => {
      const loading = this.$loading({
      const loading=this.$loading({
        lock: true,
        text: "Loading",
        spinner: "el-icon-loading",
@@ -1340,69 +1226,69 @@
      });
      setTimeout(() => {
        loading.close();
        this.FBtest = !this.FBtest;
      }, 2000);
        this.FBtest=!this.FBtest;
      },2000);
      // })
      // .catch(() => {});
      // }
    },
    // 查看界面
    showDetail(index, row) {
      console.log(index, row);
    showDetail (index,row) {
      console.log(index,row);
      console.log(this.attributeData);
      this.showinfoBox = true;
      this.showinfoBox=true;
      var std = [];
      for (var i in this.attributeData) {
      var std=[];
      for(var i in this.attributeData) {
        std.push({
          label: this.attributeData[i].alias,
          value: row[this.attributeData[i].field],
        });
      }
      this.itemdetail = std;
      this.itemdetail=std;
    },
    // 关闭查看
    closeDetial() {
      this.showinfoBox = false;
      this.itemdetail = {};
    closeDetial () {
      this.showinfoBox=false;
      this.itemdetail={};
    },
    // 修改界面
    handleEdit(index, row) {
      this.dialogFormVisible = true;
      this.upform = JSON.parse(JSON.stringify(row));
    handleEdit (index,row) {
      this.dialogFormVisible=true;
      this.upform=JSON.parse(JSON.stringify(row));
    },
    // 提交修改
    updateForm() {
      let params = {};
      this.$confirm("是否确定编辑?", "提示", {
    updateForm () {
      let params={};
      this.$confirm("是否确定编辑?","提示",{
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
      })
        .then(() => {
          this.dialogFormVisible = false;
          switch (this.tableType) {
          this.dialogFormVisible=false;
          switch(this.tableType) {
            case "场站点":
              params = {
              params={
                gid: this.upform.gid,
                pipename: this.upform.pipename,
                sitename: this.upform.sitename,
                type: this.upform.type,
              };
              UpdateSitePoint(params).then((res) => {
                if (res.data == 1) {
                if(res.data==1) {
                  this.$message({
                    message: "修改成功",
                    type: "success",
                  });
                }
                this.getSPData(10, 1, "");
                this.getSPData(10,1,"");
                this.getSPCount("");
              });
              break;
            case "管道中心线":
              params = {
              params={
                gid: this.upform.gid,
                pipename: this.upform.pipename,
                seriesname: this.upform.seriesname,
@@ -1411,31 +1297,31 @@
                diameter: this.upform.diameter,
              };
              UpdateStationSeries(params).then((res) => {
                if (res.data == 1) {
                if(res.data==1) {
                  this.$message({
                    message: "修改成功",
                    type: "success",
                  });
                }
                this.getSSData(10, 1, "");
                this.getSSData(10,1,"");
                this.getSSCount("");
              });
              break;
            case "标桩":
              params = {
              params={
                gid: this.upform.gid,
                pipename: this.upform.pipename,
                name: this.upform.name,
                type: this.upform.type,
              };
              UpdatgeMarker(params).then((res) => {
                if (res.data == 1) {
                if(res.data==1) {
                  this.$message({
                    message: "修改成功",
                    type: "success",
                  });
                }
                this.getMData(10, 1, "");
                this.getMData(10,1,"");
                this.getMCount("");
              });
              break;
@@ -1454,58 +1340,58 @@
        .catch(() => { });
    },
    // 获取多选选中的对象
    handleSelectionChange(val) {
      this.multipleSelection = val;
    handleSelectionChange (val) {
      this.multipleSelection=val;
    },
    handleAttatchChange(val) {
      this.attacgSelection = val;
    handleAttatchChange (val) {
      this.attacgSelection=val;
    },
    // 删除多条
    DelFormData() {
      var std = [];
      for (var i in this.multipleSelection) {
    DelFormData () {
      var std=[];
      for(var i in this.multipleSelection) {
        std.push(this.multipleSelection[i].gid);
      }
      this.$confirm("确定是否删除所选内容?", "提示", {
      this.$confirm("确定是否删除所选内容?","提示",{
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
      })
        .then(() => {
          switch (this.tableType) {
          switch(this.tableType) {
            case "场站点":
              dltSitePoint(std).then((res) => {
                if (res.data !== 0) {
                if(res.data!==0) {
                  this.$message({
                    message: "删除成功",
                    type: "success",
                  });
                }
                this.getSPData(10, 1, "");
                this.getSPData(10,1,"");
                this.getSPCount("");
              });
              break;
            case "管道中心线":
              dltStationSeries(std).then((res) => {
                if (res.data !== 0) {
                if(res.data!==0) {
                  this.$message({
                    message: "删除成功",
                    type: "success",
                  });
                }
                this.getSSData(10, 1, "");
                this.getSSData(10,1,"");
                this.getSSCount("");
              });
              break;
            case "标桩":
              dltMarker(std).then((res) => {
                if (res.data !== 0) {
                if(res.data!==0) {
                  this.$message({
                    message: "删除成功",
                    type: "success",
                  });
                }
                this.getMData(10, 1, "");
                this.getMData(10,1,"");
                this.getMCount("");
              });
              break;
src/views/datamanage/dataUpdata.vue
@@ -1,20 +1,33 @@
<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>
    <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"
@@ -22,19 +35,32 @@
                                  :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
@@ -47,25 +73,44 @@
              ></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"
@@ -73,109 +118,190 @@
                                  :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">{{
                  <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>
@@ -187,20 +313,43 @@
        </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>
@@ -208,25 +357,40 @@
        </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">{{
                  <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"
@@ -237,7 +401,10 @@
                      $t('common.iquery')
                    }}
                  </el-button>-->
                  <el-button @click="setWarehouseReset" icon="el-icon-folder-add" size="small" type="info">{{
                  <el-button @click="setWarehouseReset"
                             icon="el-icon-folder-add"
                             size="small"
                             type="info">{{
                    $t('common.reset') }}
                  </el-button>
                </el-form-item>
@@ -248,51 +415,99 @@
        </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">{{
                  <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">{{
                  <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" />
                  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>
@@ -300,47 +515,71 @@
      </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>
@@ -385,10 +624,14 @@
              </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>
@@ -409,10 +652,14 @@
              </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>
@@ -433,10 +680,14 @@
              </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>
@@ -449,10 +700,14 @@
              </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>
@@ -467,47 +722,77 @@
          </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.stop="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>
@@ -519,10 +804,12 @@
          </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>
@@ -533,139 +820,268 @@
            </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 }}.{{
            <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 }}
        </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)">{{
              <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;">
@@ -735,7 +1151,7 @@
  components: {
    MyBread,
  },
  data() {
  data () {
    return {
      coordinateOption: [],
      disOptions: [
@@ -909,25 +1325,25 @@
        {
          value: 'SL',
          label: "液化石油气",
        }, {
        },{
          value: 'WA',
          label: "矿浆",
        }, {
        },{
          value: 'ST',
          label: "蒸汽",
        }, {
        },{
          value: 'CD',
          label: "二氧化碳",
        }, {
        },{
          value: 'HY',
          label: "氢气",
        }, {
        },{
          value: 'QT',
          label: "其他",
        }, {
        },{
          value: '-1',
          label: "未知",
        }, {
        },{
          value: '0',
          label: "未调查",
        },
@@ -1007,8 +1423,8 @@
    };
  },
  mounted() {
    this.noteVisible = true;
  mounted () {
    this.noteVisible=true;
    //获取坐标系
    this.setCoordinateSystem();
    //获取项目名称
@@ -1017,73 +1433,73 @@
    this.getFilePath();
    //权限获取
    this.getPerms();
    window.addEventListener("resize", this.onResize);
    window.addEventListener("resize",this.onResize);
    this.calHeight();
    //获取目录
    this.getSelectdirTab();
  },
  beforeDestroy() {
    this.timer && clearTimeout(this.timer);
    window.removeEventListener("resize", this.onResize);
  beforeDestroy () {
    this.timer&&clearTimeout(this.timer);
    window.removeEventListener("resize",this.onResize);
  },
  watch: {},
  methods: {
    stateFormat(row, column) {
      var val = ['shp', 'gdb', 'xls', 'xlsx']
      if (val.indexOf(row.type) > -1 && row.rows > 0) {
    stateFormat (row,column) {
      var val=['shp','gdb','xls','xlsx']
      if(val.indexOf(row.type)>-1&&row.rows>0) {
        return '已上传,已入库'
      } else if (val.indexOf(row.type) > -1 && row.rows == 0) {
      } else if(val.indexOf(row.type)>-1&&row.rows==0) {
        return '已上传,未入库'
      } else {
        return '已上传'
      }
    },
    setRestMetaData() {
      this.fromQueryMeta.name = "";
      this.listMetaData.name = this.fromQueryMeta.name;
      this.listMetaData.pageIndex = 1;
      this.listMetaData.pageSize = 10;
    setRestMetaData () {
      this.fromQueryMeta.name="";
      this.listMetaData.name=this.fromQueryMeta.name;
      this.listMetaData.pageIndex=1;
      this.listMetaData.pageSize=10;
      this.startQueryMetaData();
    },
    setSearchMetaData() {
      this.listMetaData.name = this.fromQueryMeta.name;
      this.listMetaData.pageIndex = 1;
      this.listMetaData.pageSize = 10;
    setSearchMetaData () {
      this.listMetaData.name=this.fromQueryMeta.name;
      this.listMetaData.pageIndex=1;
      this.listMetaData.pageSize=10;
      this.startQueryMetaData();
    },
    //元数据页面切换
    handleMetaSizeChange(val) {
      this.listMetaData.pageIndex = 1;
      this.listMetaData.pageSize = val;
    handleMetaSizeChange (val) {
      this.listMetaData.pageIndex=1;
      this.listMetaData.pageSize=val;
      this.startQueryMetaData();
    },
    //元数据页面切换
    handMetaCurrentChange(val) {
      this.listMetaData.pageIndex = val;
    handMetaCurrentChange (val) {
      this.listMetaData.pageIndex=val;
      this.startQueryMetaData();
    },
    //元数据查询
    async setMetaDataQuery(row) {
      this.fromQueryMeta.title = row.name;
      this.listMetaData = {
    async setMetaDataQuery (row) {
      this.fromQueryMeta.title=row.name;
      this.listMetaData={
        id: row.metaid,
      };
      const data = await dataUpload_selectMetaById(this.listMetaData);
      if (data.code != 200) {
      const data=await dataUpload_selectMetaById(this.listMetaData);
      if(data.code!=200) {
        return;
      }
      this.queryMetaFlag1 = true;
      this.metaDataTable1 = [data.result];
      this.queryMetaFlag1=true;
      this.metaDataTable1=[data.result];
    },
    //元数据查询
    setQueryMetaData(row) {
      this.fromQueryMeta.title = row.name;
      this.listMetaData = {
    setQueryMetaData (row) {
      this.fromQueryMeta.title=row.name;
      this.listMetaData={
        metaid: row.id,
        name: "",
        pageIndex: 1,
@@ -1091,68 +1507,68 @@
        count: 0,
      };
      this.startQueryMetaData();
      this.queryMetaFlag = true;
      this.queryMetaFlag=true;
    },
    async startQueryMetaData() {
      const data = await dataUpload_selectPageAndCountByPid(this.listMetaData);
      if (data.code != 200) {
    async startQueryMetaData () {
      const data=await dataUpload_selectPageAndCountByPid(this.listMetaData);
      if(data.code!=200) {
        return;
      }
      this.metaDataTable = data.result;
      this.listMetaData.count = data.count;
      this.metaDataTable=data.result;
      this.listMetaData.count=data.count;
    },
    onResize() {
      this.timer && clearTimeout(this.timer);
      this.timer = setTimeout(() => {
    onResize () {
      this.timer&&clearTimeout(this.timer);
      this.timer=setTimeout(() => {
        this.calHeight();
      }, 500);
      },500);
    },
    calHeight() {
    calHeight () {
      this.$nextTick(() => {
        const rect = this.$refs.container.getBoundingClientRect();
        const rect1 = this.$refs.container1.getBoundingClientRect();
        const rect=this.$refs.container.getBoundingClientRect();
        const rect1=this.$refs.container1.getBoundingClientRect();
        this.tableHeight = `${rect.height + 40}px`;
        this.styleVar["height"] = `calc(100% - ${rect.height + 28}px)`;
        this.styleVar1["height"] = `calc(100% - ${rect1.height + 28}px)`;
        this.tableHeight=`${rect.height+40}px`;
        this.styleVar["height"]=`calc(100% - ${rect.height+28}px)`;
        this.styleVar1["height"]=`calc(100% - ${rect1.height+28}px)`;
      });
    },
    editFromDataClose() {
      this.updateFormdialog = false;
    editFromDataClose () {
      this.updateFormdialog=false;
      this.$nextTick(() => {
        this.editForm = JSON.parse(this.initialForm);
        this.editForm=JSON.parse(this.initialForm);
      });
    },
    //附件变化
    uploadAnFilesChange() {
      var formData = new FormData();
      var fs = document.getElementById("editimageFile");
      if (fs.files.length == 0) {
    uploadAnFilesChange () {
      var formData=new FormData();
      var fs=document.getElementById("editimageFile");
      if(fs.files.length==0) {
        this.$message.error("请选择要上传的文件");
        return;
      }
      for (var i = 0, c = fs.files.length; i < c; i++) {
        formData.append("file", fs.files[i]); // fs.files[i].name,file
      for(var i=0,c=fs.files.length;i<c;i++) {
        formData.append("file",fs.files[i]); // fs.files[i].name,file
      }
      for (var i in this.enclosureData) {
        formData.append("ids", this.enclosureData[i]);
      for(var i in this.enclosureData) {
        formData.append("ids",this.enclosureData[i]);
      }
      const that = this;
      this.sc = {
      const that=this;
      this.sc={
        label1: '上传',
        label2: '文件上传进度:'
      }
      that.jindudialogVisible = true;
      that.$set(this, "jindutiaoname", "附件上传");
      that.$set(this, "jindutiao", 0);
      that.jindudialogVisible=true;
      that.$set(this,"jindutiaoname","附件上传");
      that.$set(this,"jindutiao",0);
      this.loading = true;
      this.loading=true;
      $.ajax(
        BASE_URL +
        "/dataUpload/uploadXlsAnnex?token=" +
        getToken() +
        "&path=" +
        BASE_URL+
        "/dataUpload/uploadXlsAnnex?token="+
        getToken()+
        "&path="+
        this.formInline.path,
        {
          type: "post",
@@ -1162,24 +1578,24 @@
          processData: false,
          contentType: false,
          success: (rs) => {
            this.loading = false;
            if (rs.code != 200) {
            this.loading=false;
            if(rs.code!=200) {
              return this.$message.error("附件上传失败");
            }
            this.$set(this, "jindutiao", 100);
            this.$set(this,"jindutiao",100);
            this.$message({
              message: "附件上传成功",
              type: "success",
            });
          },
          error: (rs) => {
            this.loading = false;
            this.loading=false;
            this.$message.error("附件上传失败");
          },
          xhr: function () {
            var myXhr = $.ajaxSettings.xhr();
            if (myXhr.upload) {
          xhr: function() {
            var myXhr=$.ajaxSettings.xhr();
            if(myXhr.upload) {
              //检查upload属性是否存在
              myXhr.upload.addEventListener(
                "progress",
@@ -1193,15 +1609,15 @@
      );
    },
    //选择上传附件的文件
    uploadAnFiles() {
    uploadAnFiles () {
      $("#editimageFile").click();
    },
    //上传附件
    uploadAnnex() {
    uploadAnnex () {
    },
    //附件上传
    setEnclosure() {
      var enclosureData = [
    setEnclosure () {
      var enclosureData=[
        "bd.b_pac_hydrogeology",
        "bd.b_pac_frozensoil",
        "bd.b_pac_geologic_hazard",
@@ -1212,185 +1628,185 @@
        "bs.m_marker",
        "bs.s_explorationpoint",
      ];
      var std = [];
      this.enclosureData = [];
      this.enclosureTitle = "";
      for (var i in this.multipleDelete) {
        var row = this.multipleDelete[i];
      var std=[];
      this.enclosureData=[];
      this.enclosureTitle="";
      for(var i in this.multipleDelete) {
        var row=this.multipleDelete[i];
        if (row.tab && row.rows && enclosureData.indexOf(row.tab) > -1) {
        if(row.tab&&row.rows&&enclosureData.indexOf(row.tab)>-1) {
          this.enclosureData.push(row.id);
        } else {
          std.push(row.name);
        }
      }
      if (std.length != 0) {
        this.enclosureTitle = std.toString();
        this.enclosureVisible = true;
      if(std.length!=0) {
        this.enclosureTitle=std.toString();
        this.enclosureVisible=true;
      } else {
        this.uploadAnFiles();
      }
    },
    //权限配置
    showPermsMenu(res) {
      switch (res.tag) {
    showPermsMenu (res) {
      switch(res.tag) {
        case "/delete":
          this.menuStatus.delete = true;
          this.menuStatus.delete=true;
          break;
        case "/insert":
          this.menuStatus.insert = true;
          this.menuStatus.insert=true;
          break;
        case "/update":
          this.menuStatus.update = true;
          this.menuStatus.update=true;
          break;
        case "/upload":
          this.menuStatus.upload = true;
          this.menuStatus.upload=true;
          break;
        case "/download":
          this.menuStatus.download = true;
          this.menuStatus.download=true;
          break;
      }
    },
    getPerms() {
      var val = this.$store.state.currentPerms;
      var permsEntity = this.$store.state.permsEntity;
      if (!permsEntity || !permsEntity.length) {
    getPerms () {
      var val=this.$store.state.currentPerms;
      var permsEntity=this.$store.state.permsEntity;
      if(!permsEntity||!permsEntity.length) {
        getPerms().then((res) => {
          if (res.code == 200) {
            permsEntity = res.result;
          if(res.code==200) {
            permsEntity=res.result;
          }
        });
      }
      for (var i = 0; i < permsEntity.length; i++) {
        if (val === permsEntity[i].perms) {
      for(var i=0;i<permsEntity.length;i++) {
        if(val===permsEntity[i].perms) {
          this.showPermsMenu(permsEntity[i]);
        }
      }
    },
    //数据列表清单-table 点击
    handleLoaderSizeChange(val) {
      this.listLoader.pageIndex = 1;
      this.listLoader.pageSize = val;
    handleLoaderSizeChange (val) {
      this.listLoader.pageIndex=1;
      this.listLoader.pageSize=val;
      this.getDataLoaderSelectDbData();
    },
    handleLoaderCurrentChange(val) {
      this.listLoader.pageIndex = val;
    handleLoaderCurrentChange (val) {
      this.listLoader.pageIndex=val;
      this.getDataLoaderSelectDbData();
    },
    async detail(res) {
      var val = res.tab.split(".");
      const data = await dataUpload_selectFields({
    async detail (res) {
      var val=res.tab.split(".");
      const data=await dataUpload_selectFields({
        ns: val[0],
        tab: val[1],
      });
      if (data.code != 200) {
      if(data.code!=200) {
        this.$message.error("字段列表调用失败");
        return;
      }
      var val_data = data.result;
      for (var i in val_data) {
        if (val_data[i].alias.indexOf("ID") != -1) {
          val_data[i].alias = val_data[i].alias.replace("ID", "");
      var val_data=data.result;
      for(var i in val_data) {
        if(val_data[i].alias.indexOf("ID")!=-1) {
          val_data[i].alias=val_data[i].alias.replace("ID","");
        }
      }
      this.dialogVisible = true;
      this.attributeData = val_data;
      this.dialogVisible=true;
      this.attributeData=val_data;
      this.listLoader = {
      this.listLoader={
        id: res.id,
        pageIndex: 1,
        pageSize: 10,
      };
      this.getDataLoaderSelectDbData();
    },
    async getDataLoaderSelectDbData() {
      const data1 = await dataUpload_selectDbData(this.listLoader);
      if (data1.code != 200) {
    async getDataLoaderSelectDbData () {
      const data1=await dataUpload_selectDbData(this.listLoader);
      if(data1.code!=200) {
        this.$message.error("字段列表调用失败");
        return;
      }
      var val = data1.result;
      for (var i in val) {
        val[i].createuser = val[i].createName;
        val[i].depid = val[i].depName;
        val[i].dirid = val[i].dirName;
        val[i].verid = val[i].verName;
        val[i].updateuser = val[i].updateName;
        if (val[i].createtime != null) {
          val[i].createtime = this.changetimeLayer(val[i].createtime);
      var val=data1.result;
      for(var i in val) {
        val[i].createuser=val[i].createName;
        val[i].depid=val[i].depName;
        val[i].dirid=val[i].dirName;
        val[i].verid=val[i].verName;
        val[i].updateuser=val[i].updateName;
        if(val[i].createtime!=null) {
          val[i].createtime=this.changetimeLayer(val[i].createtime);
        }
        if (val[i].updatetime != null) {
          val[i].updatetime = this.changetimeLayer(val[i].updatetime);
        if(val[i].updatetime!=null) {
          val[i].updatetime=this.changetimeLayer(val[i].updatetime);
        }
      }
      this.dbTableData = data1.result;
      this.count1 = data1.count;
      this.dbTableData=data1.result;
      this.count1=data1.count;
    },
    changetimeLayer(res) {
      var time = new Date(res);
      var y = time.getFullYear();
      var m = time.getMonth() + 1;
      var d = time.getDate();
      var h = time.getHours();
      var mm = time.getMinutes();
      var s = time.getSeconds();
    changetimeLayer (res) {
      var time=new Date(res);
      var y=time.getFullYear();
      var m=time.getMonth()+1;
      var d=time.getDate();
      var h=time.getHours();
      var mm=time.getMinutes();
      var s=time.getSeconds();
      return (
        y +
        '-' +
        this.add0(m) +
        '-' +
        this.add0(d) +
        ' ' +
        h +
        ':' +
        mm +
        ':' +
        y+
        '-'+
        this.add0(m)+
        '-'+
        this.add0(d)+
        ' '+
        h+
        ':'+
        mm+
        ':'+
        s
      );
    },
    //自动匹配取消
    setInsrtWareTableClose() {
      this.dialogWarehousing = false;
      this.activeName = "";
      this.activeName2 = "";
      this.activeName3 = "";
      this.tableWareThree = [];
      this.tableWareTwo = [];
      this.tableWareOne = [];
      this.insertWareList = null;
      this.tableData = [];
    setInsrtWareTableClose () {
      this.dialogWarehousing=false;
      this.activeName="";
      this.activeName2="";
      this.activeName3="";
      this.tableWareThree=[];
      this.tableWareTwo=[];
      this.tableWareOne=[];
      this.insertWareList=null;
      this.tableData=[];
    },
    //自动匹配确认
    async setInsrtWareTable() {
      this.loading = true;
      this.dialogWarehousing = false;
      this.loadText = "数据入库中,请等待..."
      if (this.tableWareThree.length != 0) {
        for (var i in this.tableWareThree) {
          var tabs = this.tableWareThree[i].tabs;
          for (var j in this.insertWareList) {
            if (this.insertWareList[j].tabs == tabs) {
              this.insertWareList[j].entity = this.tableWareThree[i].entity;
    async setInsrtWareTable () {
      this.loading=true;
      this.dialogWarehousing=false;
      this.loadText="数据入库中,请等待..."
      if(this.tableWareThree.length!=0) {
        for(var i in this.tableWareThree) {
          var tabs=this.tableWareThree[i].tabs;
          for(var j in this.insertWareList) {
            if(this.insertWareList[j].tabs==tabs) {
              this.insertWareList[j].entity=this.tableWareThree[i].entity;
            }
          }
        }
      }
      for (var i in this.metaFileData) {
      for(var i in this.metaFileData) {
        this.insertWareList.filter((res) => {
          if (res.name == this.metaFileData[i]) {
            res.isMeta = true;
          if(res.name==this.metaFileData[i]) {
            res.isMeta=true;
          }
        });
      }
      const res = await dataUpload_insertFiles(
      const res=await dataUpload_insertFiles(
        JSON.stringify(this.insertWareList)
      );
      if (res.code != 200) {
      if(res.code!=200) {
        this.$message.error("数据入库失败");
        return;
      }
@@ -1399,122 +1815,122 @@
        message: "数据入库成功",
        type: "success",
      });
      this.loading = false;
      this.loadText = ""
      if (res.result.length > 0) {
        this.warehouseDialog = true;
        this.wareData = res.result;
      this.loading=false;
      this.loadText=""
      if(res.result.length>0) {
        this.warehouseDialog=true;
        this.wareData=res.result;
      }
      this.setInsrtWareTableClose();
    },
    handleWarehouseClose() {
      this.warehouseDialog = false;
      this.wareData = [];
    handleWarehouseClose () {
      this.warehouseDialog=false;
      this.wareData=[];
    },
    //自动匹配
    autoMatchWare() {
      var val1 = this.tableWareOne;
      var val2 = this.tableWareTwo;
      var std = [];
      for (var i = 0; i < val1.length; i++) {
        const stdTab = this.setSplitWare(val1[i].tab);
        for (var j = 0; j < val2.length; j++) {
          var tabs = stdTab.toLowerCase();
          if (val2[j].tab.indexOf(tabs) > -1) {
    autoMatchWare () {
      var val1=this.tableWareOne;
      var val2=this.tableWareTwo;
      var std=[];
      for(var i=0;i<val1.length;i++) {
        const stdTab=this.setSplitWare(val1[i].tab);
        for(var j=0;j<val2.length;j++) {
          var tabs=stdTab.toLowerCase();
          if(val2[j].tab.indexOf(tabs)>-1) {
            std.push(val1[i].tab);
            val1[i].entity = val2[j].entity;
            val1[i].tabDesc = val2[j].tabDesc;
            val1[i].tabs = val2[j].tab;
            val1[i].ns = val2[j].ns;
            val1[i].entity=val2[j].entity;
            val1[i].tabDesc=val2[j].tabDesc;
            val1[i].tabs=val2[j].tab;
            val1[i].ns=val2[j].ns;
            this.tableWareThree.push(val1[i]);
          }
        }
      }
      std.forEach((item) => {
        this.tableWareOne = this.tableWareOne.filter(
          (items) => items.tab !== item
        this.tableWareOne=this.tableWareOne.filter(
          (items) => items.tab!==item
        );
      });
    },
    setSplitWare(res) {
      if (res.indexOf(".shp") != -1) {
    setSplitWare (res) {
      if(res.indexOf(".shp")!=-1) {
        return res.split(".shp").join("");
      } else if (res.indexOf(".mdb") != -1) {
      } else if(res.indexOf(".mdb")!=-1) {
        return res.split(".mdb").join("");
      } else if (res.indexOf(".gdb") != -1) {
      } else if(res.indexOf(".gdb")!=-1) {
        return res.split(".gdb").join("");
      } else {
        return res;
      }
    },
    //数据匹配向左
    setWareTableChangeLeft() {
      var res = this.wareTableFlag;
      var value1 = this.tableWareThree[res];
      value1.entity = null;
      value1.tabDesc = null;
      if (this.tableWareOne.indexOf(value1) != -1) {
    setWareTableChangeLeft () {
      var res=this.wareTableFlag;
      var value1=this.tableWareThree[res];
      value1.entity=null;
      value1.tabDesc=null;
      if(this.tableWareOne.indexOf(value1)!=-1) {
      } else {
        this.tableWareOne.push(value1);
        this.tableWareThree.splice(res, 1);
        this.activeName = "";
        this.activeName2 = "";
        this.activeName3 = "";
        this.tableWareThree.splice(res,1);
        this.activeName="";
        this.activeName2="";
        this.activeName3="";
      }
    },
    //数据匹配向右
    setWareTableChangeRight() {
      this.wareSelectOne.entity = this.wareSelectTwo.entity;
      this.wareSelectOne.tabDesc = this.wareSelectTwo.tabDesc;
      this.wareSelectOne.tabs =
        this.wareSelectTwo.ns + "." + this.wareSelectTwo.tab;
      if (this.tableWareThree.indexOf(this.wareSelectOne) != -1) {
    setWareTableChangeRight () {
      this.wareSelectOne.entity=this.wareSelectTwo.entity;
      this.wareSelectOne.tabDesc=this.wareSelectTwo.tabDesc;
      this.wareSelectOne.tabs=
        this.wareSelectTwo.ns+"."+this.wareSelectTwo.tab;
      if(this.tableWareThree.indexOf(this.wareSelectOne)!=-1) {
      } else {
        this.tableWareThree.push(this.wareSelectOne);
        this.tableWareOne.forEach((value, index, array) => {
          if (value.tab == this.wareSelectOne.tab) {
            this.tableWareOne.splice(index, 1);
        this.tableWareOne.forEach((value,index,array) => {
          if(value.tab==this.wareSelectOne.tab) {
            this.tableWareOne.splice(index,1);
          }
        });
        this.activeName = "";
        this.activeName2 = "";
        this.activeName3 = "";
        this.activeName="";
        this.activeName2="";
        this.activeName3="";
      }
    },
    //查询所有的表
    async getDataLoaderSelectTabs() {
      const res = await dataUpload_selectTabs();
      if (res.code != 200) {
    async getDataLoaderSelectTabs () {
      const res=await dataUpload_selectTabs();
      if(res.code!=200) {
        this.$message.error("数据请求失败");
        return;
      }
      this.tableWareTwo = res.result;
      this.tableWareTwo=res.result;
    },
    //数据匹配左侧点击事件
    singleElection(row) {
      this.wareSelectOne = row;
      this.activeName = row.eventid;
    singleElection (row) {
      this.wareSelectOne=row;
      this.activeName=row.eventid;
    },
    //数据匹配左侧中间点击事件
    singleElection2(row) {
      this.wareSelectTwo = row;
      this.activeName2 = row.entity;
    singleElection2 (row) {
      this.wareSelectTwo=row;
      this.activeName2=row.entity;
    },
    //数据匹配左侧右侧点击事件
    singleElection3(res) {
      this.wareTableFlag = res;
      this.activeName3 = this.tableWareThree[res].tab + res;
    singleElection3 (res) {
      this.wareTableFlag=res;
      this.activeName3=this.tableWareThree[res].tab+res;
    },
    //开启数据匹配
    showWareHousing() {
    showWareHousing () {
      this.getDataLoaderSelectTabs();
      this.dialogWarehousing = true;
      this.dialogWarehousing=true;
    },
    //kml文件入库
    async setKMlWare() {
      this.loading = true;
      var obj = {
    async setKMlWare () {
      this.loading=true;
      var obj={
        dirid: this.formInline.dirid,
        epsgCode: this.formInline.coordinateId,
        path: this.formInline.path,
@@ -1522,23 +1938,23 @@
        entity: this.formInline.tab,
        medium: this.formInline.medium,
      };
      this.loadText = "数据映射查询中,请等待..."
      const data = await dataUpload_selectMappers(obj);
      if (data.code != 200) {
      this.loadText="数据映射查询中,请等待..."
      const data=await dataUpload_selectMappers(obj);
      if(data.code!=200) {
        return this.$message.error("数据映射失败");
      }
      var std = data.result.filter((res) => {
        res.entity = obj.entity
        res.medium = obj.medium
      var std=data.result.filter((res) => {
        res.entity=obj.entity
        res.medium=obj.medium
        return res;
      })
      this.loadText = "数据入库中,请等待..."
      const res = await dataUpload_insertKml(
      this.loadText="数据入库中,请等待..."
      const res=await dataUpload_insertKml(
        JSON.stringify(std)
      );
      if (res.code != 200) {
      if(res.code!=200) {
        this.$message.error("数据入库失败");
        return;
      }
@@ -1547,80 +1963,80 @@
        message: "数据入库成功",
        type: "success",
      });
      this.loading = false;
      this.loadText = ""
      if (res.result.length > 0) {
        this.warehouseDialog = true;
        this.wareData = res.result;
      this.loading=false;
      this.loadText=""
      if(res.result.length>0) {
        this.warehouseDialog=true;
        this.wareData=res.result;
      }
      this.setInsrtWareTableClose();
    },
    //数据入库
    async setFileWare() {
      if (this.formInline.uploadType == "v3") {
    async setFileWare () {
      if(this.formInline.uploadType=="v3") {
        this.setKMlWare()
      } else {
        if (this.pathBak != null) {
        if(this.pathBak!=null) {
          //是否有质检方案
          if (this.formInline.uploadType == "v1") {
          if(this.formInline.uploadType=="v1") {
            //单文件上传
            var std = [];
            for (var i in this.tableData) {
              if (this.tableData[i].name.indexOf(".zip") != -1) {
                if (this.tableData[i].code != null) {
            var std=[];
            for(var i in this.tableData) {
              if(this.tableData[i].name.indexOf(".zip")!=-1) {
                if(this.tableData[i].code!=null) {
                  std.push(this.tableData[i].name);
                }
              }
            }
            if (std.length != 0) {
            if(std.length!=0) {
              return this.$message.error(
                std.toString() + ",未质检或质检失败,不能入库"
                std.toString()+",未质检或质检失败,不能入库"
              );
            }
          } else if (this.formInline.uploadType == "v2") {
          } else if(this.formInline.uploadType=="v2") {
            //整体项目上传
            if (this.tableData.length != 2) {
            if(this.tableData.length!=2) {
              return this.$message.error("请保留一个zip数据,一个WBS数据进行入库");
            }
            var std = [];
            for (var i in this.tableData) {
              if (this.tableData[i].code != null) {
            var std=[];
            for(var i in this.tableData) {
              if(this.tableData[i].code!=null) {
                std.push(this.tableData[i].name);
              }
            }
            if (std.length != 0) {
            if(std.length!=0) {
              return this.$message.error(
                std.toString() + ",未质检或质检失败,不能入库"
                std.toString()+",未质检或质检失败,不能入库"
              );
            }
          }
        }
        this.loading = true;
        var obj = {
        this.loading=true;
        var obj={
          dirid: this.formInline.dirid,
          epsgCode: this.formInline.coordinateId,
          path: this.formInline.path,
          verid: this.formInline.verid,
        };
        this.loadText = "数据映射查询中,请等待..."
        this.loadText="数据映射查询中,请等待..."
        //查询映射
        const data = await dataUpload_selectMappers(obj);
        if (data.code != 200) {
        const data=await dataUpload_selectMappers(obj);
        if(data.code!=200) {
          return this.$message.error("数据映射失败");
        }
        this.loading = false;
        this.loadText = " "
        var std = [];
        var result = data.result;
        this.insertWareList = data.result;
        for (var i in result) {
          if (result[i].type == "shp" || result[i].type == "gdb") {
        this.loading=false;
        this.loadText=" "
        var std=[];
        var result=data.result;
        this.insertWareList=data.result;
        for(var i in result) {
          if(result[i].type=="shp"||result[i].type=="gdb") {
            std.push(result[i]);
          }
        }
        if (std.length != 0) {
          this.tableWareOne = std;
        if(std.length!=0) {
          this.tableWareOne=std;
          this.showWareHousing();
        } else {
          this.setInsrtWareTable();
@@ -1628,239 +2044,239 @@
      }
    },
    //下载日志
    handerLogClick(res) {
      for (var i in res.code) {
        var url =
          BASE_URL +
          "/dataUpload/downloadResult?token=" +
          getToken() +
          "&id=" +
    handerLogClick (res) {
      for(var i in res.code) {
        var url=
          BASE_URL+
          "/dataUpload/downloadResult?token="+
          getToken()+
          "&id="+
          res.code[i];
        $("#downFrame").attr("src", url).click();
        $("#downFrame").attr("src",url).click();
      }
    },
    //整体文件质检提交
    commonTestQuay() {
      this.testQuayVisible = false;
    commonTestQuay () {
      this.testQuayVisible=false;
      // if (this.formCheckAll.diZaiType != "NO") {
      //   this.formCheckAll.isDiZai = "YES";
      // }
      this.sc = {
      this.sc={
        label1: '质检',
        label2: '文件质检进度:'
      }
      this.jindudialogVisible = true;
      this.loading = false;
      this.$set(this, "jindutiao", 0);
      this.jindudialogVisible=true;
      this.loading=false;
      this.$set(this,"jindutiao",0);
      this.getStartTestQuayTaskStatus();
    },
    //整体文件多条数据质检
    async getStartTestQuayTaskStatus() {
      if (
        this.multipleSelection == 0 ||
        this.taskStatus == this.multipleSelection.length
    async getStartTestQuayTaskStatus () {
      if(
        this.multipleSelection==0||
        this.taskStatus==this.multipleSelection.length
      ) {
        this.jindudialogVisible = false;
        this.loading = false;
        this.jindudialogVisible=false;
        this.loading=false;
        return;
      }
      for (var i in this.multipleSelection) {
        var name = this.multipleSelection[i].name;
        var path = this.multipleSelection[i].path;
        if (name.indexOf(".zip") != -1) {
          this.formCheckAll.zipPath = path;
        } else if (name.indexOf(".xls") != -1) {
          this.formCheckAll.wbsPath = path;
        } else if (name.indexOf(".xlsx") != -1) {
          this.formCheckAll.wbsPath = path;
      for(var i in this.multipleSelection) {
        var name=this.multipleSelection[i].name;
        var path=this.multipleSelection[i].path;
        if(name.indexOf(".zip")!=-1) {
          this.formCheckAll.zipPath=path;
        } else if(name.indexOf(".xls")!=-1) {
          this.formCheckAll.wbsPath=path;
        } else if(name.indexOf(".xlsx")!=-1) {
          this.formCheckAll.wbsPath=path;
        }
      }
      this.formCheckAll.sjfl = '数字化成果'
      const data = await dataUpload_uploadChecks(this.formCheckAll);
      if (data.code != 200) {
      this.formCheckAll.sjfl='数字化成果'
      const data=await dataUpload_uploadChecks(this.formCheckAll);
      if(data.code!=200) {
        this.$message.error("数据质检提交失败");
        this.taskStatus++;
        this.jindudialogVisible = false;
        this.loading = false;
        this.jindudialogVisible=false;
        this.loading=false;
        return;
      }
      var reset = data.result;
      this.progress = 0;
      this.setIntel = setInterval(() => {
      var reset=data.result;
      this.progress=0;
      this.setIntel=setInterval(() => {
        this.sendTaskStatus(reset);
      }, 5000);
      },5000);
    },
    //单文件数据质检提交
    async commonQuayTest() {
    async commonQuayTest () {
      // this.loading = true;
      this.quayTestVisible = false;
      this.taskStatus = 0;
      this.quayTestVisible=false;
      this.taskStatus=0;
      this.getStartTaskStatus();
      this.sc = {
      this.sc={
        label1: '质检',
        label2: '文件质检进度:'
      }
      this.jindudialogVisible = true;
      this.jindudialogVisible=true;
      this.$set(this, "jindutiao", 0);
      this.$set(this,"jindutiao",0);
    },
    //单文件多条数据质检
    async getStartTaskStatus() {
      const that = this;
      if (
        this.multipleSelection == 0 ||
        this.taskStatus == this.multipleSelection.length
    async getStartTaskStatus () {
      const that=this;
      if(
        this.multipleSelection==0||
        this.taskStatus==this.multipleSelection.length
      ) {
        this.loading = false;
        that.jindudialogVisible = false;
        this.loading=false;
        that.jindudialogVisible=false;
        return;
      }
      this.quayTestForms.zipPath = this.multipleSelection[this.taskStatus].path;
      this.quayTestForms.zipPath=this.multipleSelection[this.taskStatus].path;
      // this.quayTestForms.wbsPath = this.multipleSelection[this.taskStatus].path;
      if (this.quayTestForms.zipPath.indexOf(".zip") == -1) {
      if(this.quayTestForms.zipPath.indexOf(".zip")==-1) {
        this.taskStatus++;
        this.getStartTaskStatus();
      } else {
        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.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) {
        this.quayTestForms.sjfl='数字化成果'
        const data=await dataUpload_uploadChecks(this.quayTestForms);
        if(data.code!=200) {
          this.$message.error("数据质检提交失败");
          this.taskStatus++;
          this.getStartTaskStatus();
          return;
        }
        var reset = data.result;
        this.progress = 0;
        this.setIntel = setInterval(() => {
        var reset=data.result;
        this.progress=0;
        this.setIntel=setInterval(() => {
          this.getselectTaskStatus(reset);
        }, 5000);
        },5000);
      }
    },
    async getselectTaskStatus(res) {
      var std = 0;
      for (var i = 0; i < res.length; i++) {
        const data = await dataUpload_selectTaskStatus({ id: res[i] });
    async getselectTaskStatus (res) {
      var std=0;
      for(var i=0;i<res.length;i++) {
        const data=await dataUpload_selectTaskStatus({ id: res[i] });
        std += data.progress;
        std+=data.progress;
        if (data.status == 5) {
        if(data.status==5) {
        } else {
          if (data.status == 1 && data.resultFile == null) {
          if(data.status==1&&data.resultFile==null) {
            //质检成功
            for (var i in this.tableData) {
              if (
                this.tableData[i].path ==
            for(var i in this.tableData) {
              if(
                this.tableData[i].path==
                this.multipleSelection[this.taskStatus].path
              ) {
                this.tableData[i].status = "质检成功";
                this.tableData[i].status="质检成功";
              }
            }
            // if (this.progress == 1) {
            clearInterval(this.setIntel);
            this.setIntel = null;
            this.setIntel=null;
            this.taskStatus++;
            this.getStartTaskStatus();
            // }
          } else {
            //任务失败
            for (var i in this.tableData) {
              if (
                this.tableData[i].path ==
            for(var i in this.tableData) {
              if(
                this.tableData[i].path==
                this.multipleSelection[this.taskStatus].path
              ) {
                this.tableData[i].status = "质检失败";
                this.tableData[i].status="质检失败";
              }
            }
            for (var i in this.tableData) {
              for (var j in this.multipleSelection) {
                if (this.tableData[i].path == this.multipleSelection[j].path) {
                  this.tableData[i].code = res;
            for(var i in this.tableData) {
              for(var j in this.multipleSelection) {
                if(this.tableData[i].path==this.multipleSelection[j].path) {
                  this.tableData[i].code=res;
                }
              }
            }
            clearInterval(this.setIntel);
            this.setIntel = null;
            this.setIntel=null;
            this.taskStatus++;
            this.getStartTaskStatus();
          }
        }
      }
      this.progress = std / (res.length * 100);
      for (var i in this.tableData) {
        if (!this.multipleSelection[this.taskStatus]) {
      this.progress=std/(res.length*100);
      for(var i in this.tableData) {
        if(!this.multipleSelection[this.taskStatus]) {
          break;
        }
        if (
        if(
          this.tableData[i].path == this.multipleSelection[this.taskStatus].path
          this.tableData[i].path==this.multipleSelection[this.taskStatus].path
        ) {
          this.$set(this, "jindutiao", parseInt(this.progress * 100));
          this.tableData[i].status = parseInt(this.progress * 100) + "%";
          this.$set(this,"jindutiao",parseInt(this.progress*100));
          this.tableData[i].status=parseInt(this.progress*100)+"%";
        }
      }
    },
    async sendTaskStatus(res) {
      var std = 0;
      for (var i = 0; i < res.length; i++) {
        const data = await dataUpload_selectTaskStatus({ id: res[i] });
        std += data.progress;
    async sendTaskStatus (res) {
      var std=0;
      for(var i=0;i<res.length;i++) {
        const data=await dataUpload_selectTaskStatus({ id: res[i] });
        std+=data.progress;
        if (data.status == 5) {
        if(data.status==5) {
        } else {
          if (data.status == 1 && data.resultFile == null) {
          if(data.status==1&&data.resultFile==null) {
            //质检成功
            for (var i in this.tableData) {
              for (var j in this.multipleSelection) {
                if (this.tableData[i].path == this.multipleSelection[j].path) {
                  this.tableData[i].status = "质检成功";
            for(var i in this.tableData) {
              for(var j in this.multipleSelection) {
                if(this.tableData[i].path==this.multipleSelection[j].path) {
                  this.tableData[i].status="质检成功";
                }
              }
            }
            // if (this.progress == 1) {
            clearInterval(this.setIntel);
            this.setIntel = null;
            this.loading = false;
            this.setIntel=null;
            this.loading=false;
            // }
          } else {
            //任务失败
            for (var i in this.tableData) {
              for (var j in this.multipleSelection) {
                if (this.tableData[i].path == this.multipleSelection[j].path) {
                  this.tableData[i].status = "质检失败";
            for(var i in this.tableData) {
              for(var j in this.multipleSelection) {
                if(this.tableData[i].path==this.multipleSelection[j].path) {
                  this.tableData[i].status="质检失败";
                }
              }
            }
            for (var i in this.tableData) {
              for (var j in this.multipleSelection) {
                if (this.tableData[i].path == this.multipleSelection[j].path) {
                  this.tableData[i].code = res;
            for(var i in this.tableData) {
              for(var j in this.multipleSelection) {
                if(this.tableData[i].path==this.multipleSelection[j].path) {
                  this.tableData[i].code=res;
                }
              }
            }
            clearInterval(this.setIntel);
            this.setIntel = null;
            this.loading = false;
            this.setIntel=null;
            this.loading=false;
            // this.taskStatus++;
            // this.getStartTestQuayTaskStatus()
          }
        }
      }
      this.progress = std / (res.length * 100);
      this.progress=std/(res.length*100);
      // for (var i in this.tableData) {
@@ -1868,11 +2284,11 @@
      //     this.tableData[i].status = parseInt(this.progress * 100) + "%";
      //   }
      // }
      this.$set(this, "jindutiao", parseInt(this.progress * 100));
      for (var i in this.tableData) {
        for (var j in this.multipleSelection) {
          if (this.tableData[i].path == this.multipleSelection[j].path) {
            this.tableData[i].status = parseInt(this.progress * 100) + "%";
      this.$set(this,"jindutiao",parseInt(this.progress*100));
      for(var i in this.tableData) {
        for(var j in this.multipleSelection) {
          if(this.tableData[i].path==this.multipleSelection[j].path) {
            this.tableData[i].status=parseInt(this.progress*100)+"%";
          }
        }
      }
@@ -1919,612 +2335,612 @@
      //   this.setIntel = null;
    },
    //删除上传的文件
    async setFileDelete() {
      var data = JSON.stringify(this.multipleSelection);
      const res = await dataUploadDeleteFiles(data);
      if (res.code != 200) {
    async setFileDelete () {
      var data=JSON.stringify(this.multipleSelection);
      const res=await dataUploadDeleteFiles(data);
      if(res.code!=200) {
        this.$message.error("删除失败");
        return;
      }
      this.getFileLength();
    },
    //清除所有input File;
    clearFileSelect() {
      this.formInline.specialtyData = "请选择数据";
      if (document.getElementById("selectDataFile")) {
        document.getElementById("selectDataFile").value = "";
    clearFileSelect () {
      this.formInline.specialtyData="请选择数据";
      if(document.getElementById("selectDataFile")) {
        document.getElementById("selectDataFile").value="";
      }
      this.formInline.metaData = "请选择元数据";
      if (document.getElementById("metaDataFile")) {
        document.getElementById("metaDataFile").value = ""
      this.formInline.metaData="请选择元数据";
      if(document.getElementById("metaDataFile")) {
        document.getElementById("metaDataFile").value=""
      }
      this.formInline.wbsData = "请选择WBS数据";
      this.formInline.wbsData="请选择WBS数据";
      if (document.getElementById("wbsDataFile")) {
        document.getElementById("wbsDataFile").value = "";
      if(document.getElementById("wbsDataFile")) {
        document.getElementById("wbsDataFile").value="";
      }
    },
    //获取上传文件数量
    async getFileLength() {
      const res = await dataUploadSelectFiles(this.formInline.path);
      if (res.code != 200) {
    async getFileLength () {
      const res=await dataUploadSelectFiles(this.formInline.path);
      if(res.code!=200) {
        this.$message.error("文件上传数据获取失败");
        return;
      }
      if (res.result == null) {
        this.tableData = [];
      if(res.result==null) {
        this.tableData=[];
      } else {
        for (var i in res.result) {
          res.result[i].status = "--";
          res.result[i].code = null;
        for(var i in res.result) {
          res.result[i].status="--";
          res.result[i].code=null;
        }
        this.tableData = res.result;
        this.tableData=res.result;
      }
    },
    //上传文件
    setFileUpload() {
      var token = getToken();
      var formData = new FormData();
      var fs1 = document.getElementById("selectDataFile");
      if (fs1.files.length == 0) {
    setFileUpload () {
      var token=getToken();
      var formData=new FormData();
      var fs1=document.getElementById("selectDataFile");
      if(fs1.files.length==0) {
        return this.$message.error("请选择需要上传的数据文件");
      }
      var fs2 = null;
      if (this.formInline.uploadType == "v1") {
      var fs2=null;
      if(this.formInline.uploadType=="v1") {
        //单文件项目上传
        //     fs2 = document.getElementById("metaDataFile");
        //   if (this.pathBak != null && this.pathBak.indexOf("checkMain") > -1) {
        //   if (fs2.files.length == 0) {
        //   return this.$message.error("请选择需要上传的元数据文件");
      // }
    // }
  } else if(this.formInline.uploadType == "v2") {
  //整体项目上传
  fs2 = document.getElementById("wbsDataFile");
  if (fs2.files.length == 0) {
    return this.$message.error("请选择需要上传的WBS数据文件");
  }
} else if (this.formInline.uploadType == "v3") {
        // }
        // }
      } else if(this.formInline.uploadType=="v2") {
        //整体项目上传
        fs2=document.getElementById("wbsDataFile");
        if(fs2.files.length==0) {
          return this.$message.error("请选择需要上传的WBS数据文件");
        }
      } else if(this.formInline.uploadType=="v3") {
}
for (var i = 0, c = fs1.files.length; i < c; i++) {
  formData.append(fs1.files[i].name, fs1.files[i]);
  this.fileType.push({ name: fs1.files[i].name, type: "selectData" });
}
if (fs2 != null) {
  for (var i = 0, c = fs2.files.length; i < c; i++) {
    formData.append(fs2.files[i].name, fs2.files[i]);
    if (this.formInline.uploadType == "v1") {
      this.fileType.push({ name: fs2.files[i].name, type: "metaData" });
    } else if (this.formInline.uploadType == "v2") {
      this.fileType.push({ name: fs2.files[i].name, type: "wbsData" });
    }
  }
}
const that = this;
that.jindudialogVisible = true;
let listval = [];
formData.forEach((key, val) => {
  listval.push({
    name: val,
  });
});
that.$set(this, "jindutiaoname", listval);
that.$set(this, "jindutiao", 0);
// this.loading = true;
$.ajax(
  BASE_URL +
  "/dataUpload/uploadFiles?token=" +
  token +
  "&path=" +
  this.formInline.path,
  {
    type: "post",
    data: formData,
    async: true,
    cache: false,
    processData: false,
    contentType: false,
    success: (rs) => {
      this.loading = false;
      if (rs.code != 200) {
        return this.$message.error("数据上传失败");
      }
      this.getFileLength();
      this.$set(this, "jindutiao", 100);
      this.$message({
        message: "上传成功",
        type: "success",
      for(var i=0,c=fs1.files.length;i<c;i++) {
        formData.append(fs1.files[i].name,fs1.files[i]);
        this.fileType.push({ name: fs1.files[i].name,type: "selectData" });
      }
      if(fs2!=null) {
        for(var i=0,c=fs2.files.length;i<c;i++) {
          formData.append(fs2.files[i].name,fs2.files[i]);
          if(this.formInline.uploadType=="v1") {
            this.fileType.push({ name: fs2.files[i].name,type: "metaData" });
          } else if(this.formInline.uploadType=="v2") {
            this.fileType.push({ name: fs2.files[i].name,type: "wbsData" });
          }
        }
      }
      const that=this;
      that.jindudialogVisible=true;
      let listval=[];
      formData.forEach((key,val) => {
        listval.push({
          name: val,
        });
      });
      this.clearFileSelect();
    },
    error: (rs) => {
      this.loading = false;
      this.$message.error("数据上传失败");
    },
    xhr: function () {
      var myXhr = $.ajaxSettings.xhr();
      that.$set(this,"jindutiaoname",listval);
      that.$set(this,"jindutiao",0);
      // this.loading = true;
      $.ajax(
        BASE_URL+
        "/dataUpload/uploadFiles?token="+
        token+
        "&path="+
        this.formInline.path,
        {
          type: "post",
          data: formData,
          async: true,
          cache: false,
          processData: false,
          contentType: false,
          success: (rs) => {
            this.loading=false;
            if(rs.code!=200) {
              return this.$message.error("数据上传失败");
            }
            this.getFileLength();
            this.$set(this,"jindutiao",100);
            this.$message({
              message: "上传成功",
              type: "success",
            });
            this.clearFileSelect();
          },
          error: (rs) => {
            this.loading=false;
            this.$message.error("数据上传失败");
          },
          xhr: function() {
            var myXhr=$.ajaxSettings.xhr();
      if (myXhr.upload) {
        //检查upload属性是否存在
        myXhr.upload.addEventListener(
          "progress",
          that.progressHandlingFunction,
          false
        ); //绑定progress事件的回调函数
            if(myXhr.upload) {
              //检查upload属性是否存在
              myXhr.upload.addEventListener(
                "progress",
                that.progressHandlingFunction,
                false
              ); //绑定progress事件的回调函数
            }
            return myXhr; //xhr对象返回给jQuery使用
          },
        }
      );
    },
    progressHandlingFunction (event) {
      var loaded=event.loaded; //已上传
      var loaded=Math.floor(100*(event.loaded/event.total)-1); //计算已经上传的百分比
      $("#prog").html(loaded+"%"); //应用到显示UI,可根据自己需要修改
      this.jindutiao=loaded;
      this.$set(this,"jindutiao",loaded);
    },
    format (percentage) {
      // return percentage === 100 ? "上传完毕" : `${percentage}%`;
      var label;
      if(this.sc.label1=="上传") {
        label="上传完毕"
      } else {
        label=`${percentage}%`
      }
      return myXhr; //xhr对象返回给jQuery使用
      return percentage===100? label:`${percentage}%`;
    },
  }
);
    },
progressHandlingFunction(event) {
  var loaded = event.loaded; //已上传
  var loaded = Math.floor(100 * (event.loaded / event.total) - 1); //计算已经上传的百分比
  $("#prog").html(loaded + "%"); //应用到显示UI,可根据自己需要修改
  this.jindutiao = loaded;
  this.$set(this, "jindutiao", loaded);
},
format(percentage) {
  // return percentage === 100 ? "上传完毕" : `${percentage}%`;
  var label;
  if (this.sc.label1 == "上传") {
    label = "上传完毕"
  } else {
    label = `${percentage}%`
  }
  return percentage === 100 ? label : `${percentage}%`;
},
    //获取文件上传路径
    async getFilePath() {
  const res = await dataUploadSelectPath();
  if (res.code != 200) {
    this.$message.error("文件上传路径获取失败");
    return;
  }
  this.formInline.path = res.result;
},
//项目名称切换
entryNameChange(res) {
  var val = this.entryOption.filter((rs) => {
    if (rs.name == res) {
      return rs;
    }
  });
  this.pathBak = val[0].checks;
  this.formInline.dirid = val[0].id;
  this.getselectVerByDirid();
},
    async getFilePath () {
      const res=await dataUploadSelectPath();
      if(res.code!=200) {
        this.$message.error("文件上传路径获取失败");
        return;
      }
      this.formInline.path=res.result;
    },
    //项目名称切换
    entryNameChange (res) {
      var val=this.entryOption.filter((rs) => {
        if(rs.name==res) {
          return rs;
        }
      });
      this.pathBak=val[0].checks;
      this.formInline.dirid=val[0].id;
      this.getselectVerByDirid();
    },
    //获取项目名称
    async setProjectName() {
  const data = await dataUpload_selectProject();
  if (data.code != 200) {
    this.$message.error("项目列表获取失败");
    return;
  }
  this.entryOption = data.result;
  this.formInline.entryId = this.entryOption[0].name;
  this.formInline.dirid = this.entryOption[0].id;
    async setProjectName () {
      const data=await dataUpload_selectProject();
      if(data.code!=200) {
        this.$message.error("项目列表获取失败");
        return;
      }
      this.entryOption=data.result;
      this.formInline.entryId=this.entryOption[0].name;
      this.formInline.dirid=this.entryOption[0].id;
  this.getselectVerByDirid();
},
      this.getselectVerByDirid();
    },
    //获取所有坐标系
    async setCoordinateSystem() {
  const data = await dataUpload_selectCoords();
  if (data.code != 200) {
    this.$message.error("坐标系列表获取失败");
    return;
  }
  this.coordinateOption = data.result;
  this.formInline.coordinateId = this.coordinateOption[0].epsgcode;
},
//WBS数据选择
setWBSFile() {
  $("#wbsDataFile").click();
},
//重置WPS选择
restWBSFile() {
  this.formInline.wbsData = "请选择WBS数据";
  document.getElementById("wbsDataFile").value = "";
},
//WBS数据Change事件
handleWBSFileChange(event) {
  var std = [];
  var len = event.currentTarget.files.length;
  for (var i = 0; i < len; i++) {
    var f = event.currentTarget.files[i];
    std.push(f.name);
  }
  this.formInline.wbsData = std.toString();
},
//数据质检弹窗关闭--项目整体
handleTestQuayCloseDown() {
  this.$confirm("确认关闭?")
    .then((_) => {
      this.closeTestQuayCloseDialog();
    })
    .catch((_) => {
    });
},
closeTestQuayCloseDialog() {
  this.testQuayVisible = false;
},
//数据质检弹窗关闭--单文件
handleQuayTestCloseDown() {
  this.$confirm("确认关闭?")
    .then((_) => {
      this.closeQuayTestCloseDialog();
    })
    .catch((_) => {
    });
},
closeQuayTestCloseDialog() {
  this.quayTestVisible = false;
},
//数据质检点击事件
handleQuayTestClick() {
  if (this.pathBak == null) {
    return this.$message("无质检方案");
  }
  if (this.multipleSelection.length == 0) {
    return this.$message("请选择需要质检的文件");
  }
  if (this.formInline.uploadType == "v1") {
    var value = this.getCheckedKeys
    var fileType = value.data.fullName;
    this.quayTestForms.names = fileType;
    this.quayTestForms.sjzy = this.formInline.specialtyId;
    this.quayTestVisible = true;
  } else if (this.formInline.uploadType == "v2") {
    var fileZip = [];
    var fileExcel = [];
    for (var i in this.multipleSelection) {
      if (this.multipleSelection[i].name.indexOf(".zip") != -1) {
        fileZip.push(this.multipleSelection[i].name);
      } else if (this.multipleSelection[i].name.indexOf(".xls") != -1) {
        fileExcel.push(this.multipleSelection[i].name);
      } else if (this.multipleSelection[i].name.indexOf(".xlsx") != -1) {
        fileExcel.push(this.multipleSelection[i].name);
    async setCoordinateSystem () {
      const data=await dataUpload_selectCoords();
      if(data.code!=200) {
        this.$message.error("坐标系列表获取失败");
        return;
      }
    }
    if (fileZip.length != 1) {
      return this.$message("请选择一个整体项目文件");
    }
    if (fileExcel.length != 1) {
      return this.$message("请选择一个WBS文件");
    }
    this.formCheckAll.names = JSON.parse(this.pathBak).toString();
    var val = this.entryOption.filter((res) => {
      if (res.id == this.formInline.dirid) {
        return res;
      this.coordinateOption=data.result;
      this.formInline.coordinateId=this.coordinateOption[0].epsgcode;
    },
    //WBS数据选择
    setWBSFile () {
      $("#wbsDataFile").click();
    },
    //重置WPS选择
    restWBSFile () {
      this.formInline.wbsData="请选择WBS数据";
      document.getElementById("wbsDataFile").value="";
    },
    //WBS数据Change事件
    handleWBSFileChange (event) {
      var std=[];
      var len=event.currentTarget.files.length;
      for(var i=0;i<len;i++) {
        var f=event.currentTarget.files[i];
        std.push(f.name);
      }
    });
      this.formInline.wbsData=std.toString();
    },
    //数据质检弹窗关闭--项目整体
    handleTestQuayCloseDown () {
      this.$confirm("确认关闭?")
        .then((_) => {
          this.closeTestQuayCloseDialog();
        })
        .catch((_) => {
        });
    },
    closeTestQuayCloseDialog () {
      this.testQuayVisible=false;
    },
    //数据质检弹窗关闭--单文件
    handleQuayTestCloseDown () {
      this.$confirm("确认关闭?")
        .then((_) => {
          this.closeQuayTestCloseDialog();
        })
        .catch((_) => {
        });
    },
    closeQuayTestCloseDialog () {
      this.quayTestVisible=false;
    },
    //数据质检点击事件
    handleQuayTestClick () {
      if(this.pathBak==null) {
        return this.$message("无质检方案");
      }
      if(this.multipleSelection.length==0) {
        return this.$message("请选择需要质检的文件");
      }
      if(this.formInline.uploadType=="v1") {
    this.formCheckAll.xmmc = val[0].name;
    this.formCheckAll.sjzy = this.formInline.specialtyId;
    if (this.formCheckAll.sjzy.indexOf("地灾") != -1) {
      this.formCheckAll.isDiZai = "YES";
      this.formCheckAll.diZaiType = this.disOptions[0].value;
    } else {
      this.formCheckAll.isDiZai = "NO";
      this.formCheckAll.diZaiType = "NO";
    }
    this.testQuayVisible = true;
  }
},
        var value=this.getCheckedKeys
        var fileType=value.data.fullName;
        this.quayTestForms.names=fileType;
        this.quayTestForms.sjzy=this.formInline.specialtyId;
        this.quayTestVisible=true;
      } else if(this.formInline.uploadType=="v2") {
        var fileZip=[];
        var fileExcel=[];
        for(var i in this.multipleSelection) {
          if(this.multipleSelection[i].name.indexOf(".zip")!=-1) {
            fileZip.push(this.multipleSelection[i].name);
          } else if(this.multipleSelection[i].name.indexOf(".xls")!=-1) {
            fileExcel.push(this.multipleSelection[i].name);
          } else if(this.multipleSelection[i].name.indexOf(".xlsx")!=-1) {
            fileExcel.push(this.multipleSelection[i].name);
          }
        }
        if(fileZip.length!=1) {
          return this.$message("请选择一个整体项目文件");
        }
        if(fileExcel.length!=1) {
          return this.$message("请选择一个WBS文件");
        }
        this.formCheckAll.names=JSON.parse(this.pathBak).toString();
        var val=this.entryOption.filter((res) => {
          if(res.id==this.formInline.dirid) {
            return res;
          }
        });
        this.formCheckAll.xmmc=val[0].name;
        this.formCheckAll.sjzy=this.formInline.specialtyId;
        if(this.formCheckAll.sjzy.indexOf("地灾")!=-1) {
          this.formCheckAll.isDiZai="YES";
          this.formCheckAll.diZaiType=this.disOptions[0].value;
        } else {
          this.formCheckAll.isDiZai="NO";
          this.formCheckAll.diZaiType="NO";
        }
        this.testQuayVisible=true;
      }
    },
    //上传数据列表清单删除
    async setWarehouseDel() {
  this.loading = true;
  var std = [];
  for (var i in this.multipleDelete) {
    std.push(this.multipleDelete[i].id);
  }
  const res = await dataUpload_deleteMetas({ ids: std.toString() });
  this.loading = false;
  if (res.code != 200) {
    this.$message.error("删除失败");
  } else {
    this.$message({
      message: "删除成功",
      type: "success",
    });
    this.setStartWareTable();
  }
},
//上传数据列表清单查询
setWarehouseSearch() {
  this.listData = {
    pageIndex: 1,
    pageSize: 10,
    name: this.formWarehousing.name,
  };
  this.getAllWareTable();
},
//上传数据列表重置
setWarehouseReset() {
  this.formWarehousing.name = "";
  this.listData = {
    pageIndex: 1,
    pageSize: 10,
    name: null,
  };
  this.getAllWareTable();
},
//格式化时间
changetimeFile(res) {
  var time = new Date(res.createTime);
  var y = time.getFullYear();
  var m = time.getMonth() + 1;
  var d = time.getDate();
  var h = time.getHours();
  var mm = time.getMinutes();
  var s = time.getSeconds();
  return (
    y +
    "-" +
    this.add0(m) +
    "-" +
    this.add0(d) +
    " " +
    h +
    ":" +
    mm +
    ":" +
    s
  );
},
//格式化时间
add0(m) {
  return m < 10 ? "0" + m : m;
},
//大小值改变
changeSizeFile(row, column, cellValue, index) {
  if (cellValue >= 1024) {
    return parseFloat(cellValue / 1204).toFixed(3) + "GB";
  } else {
    return cellValue + "MB";
  }
},
//上传数据列表清单选择
handleDelteChange(val) {
  this.multipleDelete = val;
},
//上传数据列表清单初始化
setStartWareTable() {
  // this.listData = {
  //   pageIndex: 1,
  //   pageSize: 10,
  //   name: null,
  // };
  this.listData.pageIndex = 1;
  this.listData.name = null;
  this.getAllWareTable();
},
    //获取数据上传列表清单
    async getAllWareTable() {
  const res = await dataUpload_selectByPageForUpload(this.listData);
  if (res.code != 200) {
    this.$message.error("列表数据获取失败");
    return;
  }
  this.count = res.count;
  this.waretableData = res.result;
},
//数据上传列表清单page Count 切换
handleSizeChange(val) {
  this.listData.pageIndex = 1;
  this.listData.pageSize = val;
  this.getAllWareTable();
},
//数据上传列表清单page切换
handleCurrentChange(val) {
  this.listData.pageIndex = val;
  this.getAllWareTable();
},
//上传数据表格选择
handleSelectionChange(res) {
  this.multipleSelection = res;
},
//选择数据文件切换
handleSelectFileChange(event) {
  var std = [];
  var len = event.currentTarget.files.length;
  for (var i = 0; i < len; i++) {
    var f = event.currentTarget.files[i];
    std.push(f.name);
  }
  this.formInline.specialtyData = std.toString();
},
//选择元数据
setMetaFile() {
  $("#metaDataFile").click();
},
//重置元数据
restMetaFile() {
  this.formInline.metaData = "请选择元数据";
  document.getElementById("metaDataFile").value = "";
},
//选择元数据文件切换
handleMetaFileChange(event) {
  var std = [];
  var len = event.currentTarget.files.length;
  for (var i = 0; i < len; i++) {
    var f = event.currentTarget.files[i];
    std.push(f.name);
  }
  this.formInline.metaData = std.toString();
  this.metaFileData = std;
},
//From表单初始化
setFromStart() {
  this.formInline.verid = null;
  this.formInline.specialtyId = "测量专业";
  this.formInline.specialtyData = "请选择数据";
  this.formInline.metaData = "请选择元数据";
  this.formInline.entryId = null;
  this.formInline.selectFileType = "*.*";
  this.formInline.coordinateId = this.coordinateOption[0].epsgcode;
  this.formInline.medium = "";
  this.formInline.tab = "";
},
//选择数据
setSelectFile() {
  $("#selectDataFile").click();
},
//重置数据
restSelectFile() {
  this.formInline.specialtyData = "请选择数据";
  document.getElementById("selectDataFile").value = "";
},
//入库类型切换
uploadTypeChange(res) {
  this.setFromStart();
  if (res == "v2") {
    this.uploadFlag = false;
    this.formInline.selectFileType = ".zip";
    this.formInline.entryId = this.entryOption[0].name;
    this.formInline.dirid = this.entryOption[0].id;
    this.getselectVerByDirid();
    this.pathBak = this.entryOption[0].checks;
  } else if (res == "v3") {
    this.formInline.selectFileType = ".kml";
    this.getSelectdirTab();
    this.getselectVerByDirid();
    this.formInline.specialtyId = "线路专业";
    this.uploadFlag = true;
    this.formInline.tab = this.lineOptions[0].value;
    this.formInline.medium = this.mediumOptions[0].value
  } else {
    this.getSelectdirTab();
    this.getselectVerByDirid();
    this.uploadFlag = true;
  }
  this.formInline.uploadType = res;
},
    //版本号获取
    async getselectVerByDirid() {
  this.verOption = [];
  const res = await dataUploadSelectVerByDirid({
    dirid: this.formInline.dirid,
  });
  if (res.code != 200) {
    this.$message.error("版本列表获取失败");
    return;
  }
  this.verOption = res.result;
  this.formInline.verid = res.result[0].id;
},
    //目录列表获取
    async getSelectdirTab() {
  const res = await selectdirTab();
  if (res.code != 200) {
    this.$message.error("目录列表获取失败");
    return;
  }
  this.catalogOption = this.treeData(res.result);
  this.formInline.dirName = this.catalogOption[0].name;
  this.formInline.dirid = this.catalogOption[0].id;
  // this.getStartDirChecked(this.catalogOption);
  this.getselectVerByDirid();
},
getStartDirChecked(res) {
  if (res.length != 0) {
    if (res[0].children == null || res[0].children == undefined) {
      this.formInline.dirid = res[0].id;
    } else {
      this.getStartDirChecked(res[0].children);
    }
  }
},
//单文件质检弹窗初始化
startQuayTestForms() {
  (this.quayTestForms = {
    tolerance: "0.001",
    gcdOffset: "20",
    rangeOffset: "200",
    kzdOffset: "100",
    xgMax: "0.005",
    coordinateSystem: "CGCS2000/degree",
    imgResolution: "0.2",
    demTolerance: "5",
    demChangeRate: "200",
    lazDensity: "1",
    imgResolution: "0.2",
  }),
    (this.quayTestShow = {
      checkOsgb: false,
      checkXls: false,
      checkLaz: false,
      checkDem: false,
      checkAttrs: false,
      checkTopology: false,
      checkDecorate: false,
      checkOrigin: false,
      checkDom: false,
      checkMath: false,
      checkMeta: false,
      checkMain: false,
    });
},
//目录切换
catalogChange(data, node, nodeData) {
  this.startQuayTestForms();
  // this.$refs['selectcascader'].dropDownVisible = false
  // var value = this.$refs['selectcascader'].getCheckedNodes();
  var bak = node.data.checks;
  this.getCheckedKeys = node
  this.pathBak = bak;
  if (bak != null) {
    for (var key in this.quayTestShow) {
      if (bak.indexOf(key) != -1) {
        this.quayTestShow[key] = true;
    async setWarehouseDel () {
      this.loading=true;
      var std=[];
      for(var i in this.multipleDelete) {
        std.push(this.multipleDelete[i].id);
      }
    }
  }
  var fileType = node.data.exts;
  if (fileType == null) {
    fileType = "*.*";
  }
  this.formInline.selectFileType = fileType;
  this.formInline.dirid = node.data.id;
  this.formInline.dirName = node.data.name;
  this.getselectVerByDirid();
  setTimeout(() => {
    this.$refs.multiSelect.blur()
  }, 100)
},
//Tabsq切换
handleTabClick(tab, event) {
  if (tab.name == "second") {
    this.setStartWareTable();
  } else {
    this.noteVisible = true
  }
  this.calHeight();
},
//树列表生成
treeData(source) {
  let cloneData = JSON.parse(JSON.stringify(source)); // 对源数据深度克隆
  return cloneData.filter((father) => {
    // 循环所有项
    let branchArr = cloneData.filter((child) => father.id == child.pid); // 对比ID,分别上下级菜单,并返回数据
    branchArr.length > 0 ? (father.children = branchArr) : ""; // 给父级添加一个children属性,并赋值
    return father.pid == 0; // 返回一级菜单
  });
},
      const res=await dataUpload_deleteMetas({ ids: std.toString() });
      this.loading=false;
      if(res.code!=200) {
        this.$message.error("删除失败");
      } else {
        this.$message({
          message: "删除成功",
          type: "success",
        });
        this.setStartWareTable();
      }
    },
    //上传数据列表清单查询
    setWarehouseSearch () {
      this.listData={
        pageIndex: 1,
        pageSize: 10,
        name: this.formWarehousing.name,
      };
      this.getAllWareTable();
    },
    //上传数据列表重置
    setWarehouseReset () {
      this.formWarehousing.name="";
      this.listData={
        pageIndex: 1,
        pageSize: 10,
        name: null,
      };
      this.getAllWareTable();
    },
    //格式化时间
    changetimeFile (res) {
      var time=new Date(res.createTime);
      var y=time.getFullYear();
      var m=time.getMonth()+1;
      var d=time.getDate();
      var h=time.getHours();
      var mm=time.getMinutes();
      var s=time.getSeconds();
      return (
        y+
        "-"+
        this.add0(m)+
        "-"+
        this.add0(d)+
        " "+
        h+
        ":"+
        mm+
        ":"+
        s
      );
    },
    //格式化时间
    add0 (m) {
      return m<10? "0"+m:m;
    },
    //大小值改变
    changeSizeFile (row,column,cellValue,index) {
      if(cellValue>=1024) {
        return parseFloat(cellValue/1204).toFixed(3)+"GB";
      } else {
        return cellValue+"MB";
      }
    },
    //上传数据列表清单选择
    handleDelteChange (val) {
      this.multipleDelete=val;
    },
    //上传数据列表清单初始化
    setStartWareTable () {
      // this.listData = {
      //   pageIndex: 1,
      //   pageSize: 10,
      //   name: null,
      // };
      this.listData.pageIndex=1;
      this.listData.name=null;
      this.getAllWareTable();
    },
    //获取数据上传列表清单
    async getAllWareTable () {
      const res=await dataUpload_selectByPageForUpload(this.listData);
      if(res.code!=200) {
        this.$message.error("列表数据获取失败");
        return;
      }
      this.count=res.count;
      this.waretableData=res.result;
    },
    //数据上传列表清单page Count 切换
    handleSizeChange (val) {
      this.listData.pageIndex=1;
      this.listData.pageSize=val;
      this.getAllWareTable();
    },
    //数据上传列表清单page切换
    handleCurrentChange (val) {
      this.listData.pageIndex=val;
      this.getAllWareTable();
    },
    //上传数据表格选择
    handleSelectionChange (res) {
      this.multipleSelection=res;
    },
    //选择数据文件切换
    handleSelectFileChange (event) {
      var std=[];
      var len=event.currentTarget.files.length;
      for(var i=0;i<len;i++) {
        var f=event.currentTarget.files[i];
        std.push(f.name);
      }
      this.formInline.specialtyData=std.toString();
    },
    //选择元数据
    setMetaFile () {
      $("#metaDataFile").click();
    },
    //重置元数据
    restMetaFile () {
      this.formInline.metaData="请选择元数据";
      document.getElementById("metaDataFile").value="";
    },
    //选择元数据文件切换
    handleMetaFileChange (event) {
      var std=[];
      var len=event.currentTarget.files.length;
      for(var i=0;i<len;i++) {
        var f=event.currentTarget.files[i];
        std.push(f.name);
      }
      this.formInline.metaData=std.toString();
      this.metaFileData=std;
    },
    //From表单初始化
    setFromStart () {
      this.formInline.verid=null;
      this.formInline.specialtyId="测量专业";
      this.formInline.specialtyData="请选择数据";
      this.formInline.metaData="请选择元数据";
      this.formInline.entryId=null;
      this.formInline.selectFileType="*.*";
      this.formInline.coordinateId=this.coordinateOption[0].epsgcode;
      this.formInline.medium="";
      this.formInline.tab="";
    },
    //选择数据
    setSelectFile () {
      $("#selectDataFile").click();
    },
    //重置数据
    restSelectFile () {
      this.formInline.specialtyData="请选择数据";
      document.getElementById("selectDataFile").value="";
    },
    //入库类型切换
    uploadTypeChange (res) {
      this.setFromStart();
      if(res=="v2") {
        this.uploadFlag=false;
        this.formInline.selectFileType=".zip";
        this.formInline.entryId=this.entryOption[0].name;
        this.formInline.dirid=this.entryOption[0].id;
        this.getselectVerByDirid();
        this.pathBak=this.entryOption[0].checks;
      } else if(res=="v3") {
        this.formInline.selectFileType=".kml";
        this.getSelectdirTab();
        this.getselectVerByDirid();
        this.formInline.specialtyId="线路专业";
        this.uploadFlag=true;
        this.formInline.tab=this.lineOptions[0].value;
        this.formInline.medium=this.mediumOptions[0].value
      } else {
        this.getSelectdirTab();
        this.getselectVerByDirid();
        this.uploadFlag=true;
      }
      this.formInline.uploadType=res;
    },
    //版本号获取
    async getselectVerByDirid () {
      this.verOption=[];
      const res=await dataUploadSelectVerByDirid({
        dirid: this.formInline.dirid,
      });
      if(res.code!=200) {
        this.$message.error("版本列表获取失败");
        return;
      }
      this.verOption=res.result;
      this.formInline.verid=res.result[0].id;
    },
    //目录列表获取
    async getSelectdirTab () {
      const res=await selectdirTab();
      if(res.code!=200) {
        this.$message.error("目录列表获取失败");
        return;
      }
      this.catalogOption=this.treeData(res.result);
      this.formInline.dirName=this.catalogOption[0].name;
      this.formInline.dirid=this.catalogOption[0].id;
      // this.getStartDirChecked(this.catalogOption);
      this.getselectVerByDirid();
    },
    getStartDirChecked (res) {
      if(res.length!=0) {
        if(res[0].children==null||res[0].children==undefined) {
          this.formInline.dirid=res[0].id;
        } else {
          this.getStartDirChecked(res[0].children);
        }
      }
    },
    //单文件质检弹窗初始化
    startQuayTestForms () {
      (this.quayTestForms={
        tolerance: "0.001",
        gcdOffset: "20",
        rangeOffset: "200",
        kzdOffset: "100",
        xgMax: "0.005",
        coordinateSystem: "CGCS2000/degree",
        imgResolution: "0.2",
        demTolerance: "5",
        demChangeRate: "200",
        lazDensity: "1",
        imgResolution: "0.2",
      }),
        (this.quayTestShow={
          checkOsgb: false,
          checkXls: false,
          checkLaz: false,
          checkDem: false,
          checkAttrs: false,
          checkTopology: false,
          checkDecorate: false,
          checkOrigin: false,
          checkDom: false,
          checkMath: false,
          checkMeta: false,
          checkMain: false,
        });
    },
    //目录切换
    catalogChange (data,node,nodeData) {
      this.startQuayTestForms();
      // this.$refs['selectcascader'].dropDownVisible = false
      // var value = this.$refs['selectcascader'].getCheckedNodes();
      var bak=node.data.checks;
      this.getCheckedKeys=node
      this.pathBak=bak;
      if(bak!=null) {
        for(var key in this.quayTestShow) {
          if(bak.indexOf(key)!=-1) {
            this.quayTestShow[key]=true;
          }
        }
      }
      var fileType=node.data.exts;
      if(fileType==null) {
        fileType="*.*";
      }
      this.formInline.selectFileType=fileType;
      this.formInline.dirid=node.data.id;
      this.formInline.dirName=node.data.name;
      this.getselectVerByDirid();
      setTimeout(() => {
        this.$refs.multiSelect.blur()
      },100)
    },
    //Tabsq切换
    handleTabClick (tab,event) {
      if(tab.name=="second") {
        this.setStartWareTable();
      } else {
        this.noteVisible=true
      }
      this.calHeight();
    },
    //树列表生成
    treeData (source) {
      let cloneData=JSON.parse(JSON.stringify(source)); // 对源数据深度克隆
      return cloneData.filter((father) => {
        // 循环所有项
        let branchArr=cloneData.filter((child) => father.id==child.pid); // 对比ID,分别上下级菜单,并返回数据
        branchArr.length>0? (father.children=branchArr):""; // 给父级添加一个children属性,并赋值
        return father.pid==0; // 返回一级菜单
      });
    },
  },
};
</script>
src/views/datamanage/metadataManage.vue
@@ -5,35 +5,25 @@
        `${$t('dataManage.metadataManage')}`,
      ]"></My-bread>
    <el-divider />
    <div
      class="inquire subpage_Div"
      ref="container"
    >
      <el-form
        ref="queryForm"
        :model="queryForm"
        :inline="true"
      >
    <div class="inquire subpage_Div"
         ref="container">
      <el-form ref="queryForm"
               :model="queryForm"
               :inline="true">
        <div class="flex_box">
          <div style="margin-right: auto">
            <el-form-item size="small">
              <el-select
                :popper-append-to-body="false"
                v-model="queryForm.depName"
                ref="treeSelect"
              >
                <el-option
                  :value="queryForm.depid"
                  :label="queryForm.depName"
                  style="height: auto"
                >
                  <el-tree
                    ref="tree"
                    :data="companyOption1"
                    node-key="id"
                    :props="cascader"
                    @node-click="handleChange1"
                  />
              <el-select :popper-append-to-body="false"
                         v-model="queryForm.depName"
                         ref="treeSelect">
                <el-option :value="queryForm.depid"
                           :label="queryForm.depName"
                           style="height: auto">
                  <el-tree ref="tree"
                           :data="companyOption1"
                           node-key="id"
                           :props="cascader"
                           @node-click="handleChange1" />
                </el-option>
              </el-select>
              <!-- <el-cascader
@@ -51,23 +41,17 @@
          ></el-cascader> -->
            </el-form-item>
            <el-form-item size="small">
              <el-select
                :popper-append-to-body="false"
                v-model="queryForm.dirName"
                ref="treeSelect1"
              >
                <el-option
                  :value="queryForm.dirid"
                  :label="queryForm.dirName"
                  style="height: auto"
                >
                  <el-tree
                    ref="tree"
                    :data="companyOption"
                    node-key="id"
                    :props="cascader"
                    @node-click="handleChange"
                  />
              <el-select :popper-append-to-body="false"
                         v-model="queryForm.dirName"
                         ref="treeSelect1">
                <el-option :value="queryForm.dirid"
                           :label="queryForm.dirName"
                           style="height: auto">
                  <el-tree ref="tree"
                           :data="companyOption"
                           node-key="id"
                           :props="cascader"
                           @node-click="handleChange" />
                </el-option>
              </el-select>
              <!-- <el-cascader
@@ -85,36 +69,26 @@
          ></el-cascader> -->
            </el-form-item>
            <el-form-item size="small">
              <el-select
                :popper-append-to-body="false"
                v-model="queryForm.verid"
                placeholder="请选择"
                @change="verHandleChange($event)"
              >
                <el-option
                  v-for="item in verOptions"
                  :key="item.id"
                  :label="item.name"
                  :value="item.id"
                >
              <el-select :popper-append-to-body="false"
                         v-model="queryForm.verid"
                         placeholder="请选择"
                         @change="verHandleChange($event)">
                <el-option v-for="item in verOptions"
                           :key="item.id"
                           :label="item.name"
                           :value="item.id">
                </el-option>
              </el-select>
            </el-form-item>
            <el-form-item
              prop="name"
              size="small"
            >
            <el-form-item prop="name"
                          size="small">
              <!--            suffix-icon="el-icon-edit"  :placeholder="$t('common.pleaseInput')"-->
              <el-input
                v-model="queryForm.name"
                :placeholder="$t('shuJuGuanLi.lable2')"
                style="width: 200px"
              ><i
                  slot="suffix"
                  class="el-icon-search"
                  @click="queryInfo()"
                  style="padding-right: 8px"
                ></i></el-input>
              <el-input v-model="queryForm.name"
                        :placeholder="$t('shuJuGuanLi.lable2')"
                        style="width: 200px"><i slot="suffix"
                   class="el-icon-search"
                   @click="queryInfo()"
                   style="padding-right: 8px"></i></el-input>
            </el-form-item>
          </div>
          <div>
@@ -129,31 +103,25 @@
              >
            </el-form-item>-->
            <el-form-item v-if="btnStatus.delete">
              <el-button
                type="danger"
                size="small"
                @click="deleteMetaInfo"
                icon="el-icon-delete"
              >{{ $t("common.delete") }}
              <el-button type="danger"
                         size="small"
                         @click="deleteMetaInfo"
                         icon="el-icon-delete">{{ $t("common.delete") }}
              </el-button>
            </el-form-item>
            <el-form-item v-if="btnStatus.download">
              <el-button
                @click="downFormData"
                icon="el-icon-download"
                type="success"
                size="small"
              >{{ $t("common.download") }}
              <el-button @click="downFormData"
                         icon="el-icon-download"
                         type="success"
                         size="small">{{ $t("common.download") }}
              </el-button>
            </el-form-item>
            <el-form-item>
              <el-button
                @click="resetInfo('queryForm')"
                icon="el-icon-refresh"
                type="info"
                size="small"
              >{{ $t("common.reset") }}
              <el-button @click="resetInfo('queryForm')"
                         icon="el-icon-refresh"
                         type="info"
                         size="small">{{ $t("common.reset") }}
              </el-button>
            </el-form-item>
          </div>
@@ -161,58 +129,43 @@
      </el-form>
    </div>
    <div class="dividing-line"></div>
    <div
      class="table_box subpage_Div"
      :style="styleVar"
    >
      <el-table
        :data="tableData"
        style="width: 100%"
        border
        @selection-change="handleSelectionChange"
        height="calc(100% - 57px)"
      >
        <el-table-column
          type="selection"
          width="55"
        />
        <el-table-column
          :label="$t('dataManage.dictionaryManageObj.number')"
          type="index"
          width="50"
        >
    <div class="table_box subpage_Div"
         :style="styleVar">
      <el-table :data="tableData"
                style="width: 100%"
                border
                @selection-change="handleSelectionChange"
                height="calc(100% - 57px)">
        <el-table-column type="selection"
                         width="55" />
        <el-table-column :label="$t('dataManage.dictionaryManageObj.number')"
                         type="index"
                         width="50">
        </el-table-column>
        <el-table-column :label="$t('dataManage.vmobj.name')">
          <template slot-scope="scope">
            <span v-if="scope.row.ismeta > 0">
              <el-link
                style="color: #409eff"
                title="源数据查询"
                @click="setQueryMetaData(scope.row)"
                target="_blank"
              >{{ scope.row.name }}</el-link>
              <el-link style="color: #409eff"
                       title="源数据查询"
                       @click="setQueryMetaData(scope.row)"
                       target="_blank">{{ scope.row.name }}</el-link>
            </span>
            <span v-else-if="scope.row.metaid > 0">
              <el-link
                style="color: #409eff"
                title="元数据查询"
                @click="setMetaDataQuery(scope.row)"
                target="_blank"
              >{{ scope.row.name }}</el-link></span>
              <el-link style="color: #409eff"
                       title="元数据查询"
                       @click="setMetaDataQuery(scope.row)"
                       target="_blank">{{ scope.row.name }}</el-link>
            </span>
            <span v-else>{{ scope.row.name }}</span>
          </template>
        </el-table-column>
        <el-table-column
          prop="type"
          :label="$t('dataManage.vmobj.format')"
        >
        <el-table-column prop="type"
                         :label="$t('dataManage.vmobj.format')">
          <template slot-scope="scope">
            <span v-if="scope.row.type == 'gdb'">
              <el-link
                @click="setSelectGdbByGuid(scope.row)"
                style="color: #409eff"
              >
              <el-link @click="setSelectGdbByGuid(scope.row)"
                       style="color: #409eff">
                {{  scope.row.type }}
              </el-link>
            </span>
@@ -224,32 +177,22 @@
        </el-table-column>
        <el-table-column
          prop="sizes"
          :label="$t('dataManage.vmobj.size')"
          :formatter="stateFormatSizes"
        />
        <el-table-column
          prop="depName"
          :label="$t('dataManage.vmobj.depName')"
        />
        <el-table-column
          prop="dirName"
          :label="$t('dataManage.vmobj.dirName')"
          width="200"
        />
        <el-table-column
          prop="verName"
          :label="$t('dataManage.vmobj.versionNumber')"
        />
        <el-table-column prop="sizes"
                         :label="$t('dataManage.vmobj.size')"
                         :formatter="stateFormatSizes" />
        <el-table-column prop="depName"
                         :label="$t('dataManage.vmobj.depName')" />
        <el-table-column prop="dirName"
                         :label="$t('dataManage.vmobj.dirName')"
                         width="200" />
        <el-table-column prop="verName"
                         :label="$t('dataManage.vmobj.versionNumber')" />
        <el-table-column :label="$t('dataManage.dataUpObj.tableName')">
          <template slot-scope="scope">
            <!-- <span ></span> -->
            <el-link></el-link>
            <el-link
              :underline="false"
              @click="detail(scope.row)"
            >{{
            <el-link :underline="false"
                     @click="detail(scope.row)">{{
              scope.row.tab
            }}</el-link>
          </template>
@@ -260,97 +203,76 @@
              :label="$t('dataManage.vmobj.tab')"
              :formatter="formatData"
            /> -->
        <el-table-column
          prop="rows"
          :label="$t('dataManage.vmobj.row')"
        />
        <el-table-column prop="rows"
                         :label="$t('dataManage.vmobj.row')" />
        <el-table-column
          :label="$t('common.dataStatus')"
          :formatter="stateFormat"
        >
        <el-table-column :label="$t('common.dataStatus')"
                         :formatter="stateFormat">
        </el-table-column>
        <el-table-column
          prop="uname"
          :label="$t('dataManage.vmobj.createonuser')"
        />
        <el-table-column
          prop="createTime"
          :label="$t('dataManage.vmobj.createontime')"
          :formatter="formatData"
        />
        <el-table-column
          min-width="210"
          :label="$t('common.operate')"
        >
        <el-table-column prop="uname"
                         :label="$t('dataManage.vmobj.createonuser')" />
        <el-table-column prop="createTime"
                         :label="$t('dataManage.vmobj.createontime')"
                         :formatter="formatData" />
        <el-table-column min-width="210"
                         :label="$t('common.operate')">
          <template slot-scope="scope">
            <el-button
              @click="showDetail(scope.row)"
              type="primary"
              plain
              size="small"
            >{{ $t("common.details") }}
            <el-button @click="showDetail(scope.row)"
                       type="primary"
                       plain
                       size="small">{{ $t("common.details") }}
            </el-button>
            <el-button
              type="warning"
              plain
              size="small"
              v-if="btnStatus.update"
              @click="editInfo(scope.row)"
              style="margin-left: 10px"
            >{{ $t("common.edit") }}
            <el-button type="warning"
                       plain
                       size="small"
                       v-if="btnStatus.update"
                       @click="editInfo(scope.row)"
                       style="margin-left: 10px">{{ $t("common.edit") }}
            </el-button>
            <el-button
              plain
              size="small"
              v-if="showPreview(scope.row)"
              @click="handlePreview(scope.row)"
              style="margin-left: 10px"
            >{{ $t("common.preview") }}
            <el-button plain
                       size="small"
                       v-if="showPreview(scope.row)"
                       @click="handlePreview(scope.row)"
                       style="margin-left: 10px">{{ $t("common.preview") }}
            </el-button>
            <el-button plain
                       size="small"
                       type="success"
                       v-if="showCAD(scope.row)"
                       @click="handleCAD(scope.row)"
                       style="margin-left: 10px">
              {{         $t('common.preview')  }}</el-button>
          </template>
        </el-table-column>
      </el-table>
      <div
        class="pagination_box"
        style="margin-top: 15px"
      >
        <el-pagination
          @size-change="handleSizeChange"
          @current-change="handleCurrentChange"
          :current-page="listData.pageIndex"
          :page-sizes="[10, 50, 100, 200]"
          :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]"
                       :page-size="listData.pageSize"
                       layout="total, sizes, prev, pager, next, jumper"
                       :total="count">
        </el-pagination>
      </div>
    </div>
    <div
      class="infoBox_box"
      v-show="showinfoBox"
      style="z-index:99999"
    >
    <div class="infoBox_box"
         v-show="showinfoBox"
         style="z-index:99999">
      <div class="infoBox box_div">
        <div
          slot="header"
          class="clearfix"
        >
        <div slot="header"
             class="clearfix">
          <span>{{ $t("common.details") }}</span>
          <div
            style="float: right; cursor: pointer"
            @click="closeDetial"
          >
          <div style="float: right; cursor: pointer"
               @click="closeDetial">
            <i class="el-icon-close"></i>
          </div>
        </div>
        <el-divider></el-divider>
        <div
          class="contentBox"
          style="padding: 1%"
        >
        <div class="contentBox"
             style="padding: 1%">
          <p>{{ $t("dataManage.vmobj.name") }}:{{ itemdetail.name }}</p>
          <el-divider></el-divider>
          <p>{{ $t("dataManage.vmobj.format") }}:{{ itemdetail.type }}</p>
@@ -392,69 +314,45 @@
      </div>
    </div>
    <el-dialog
      width="80vh"
      top="5vh"
      :title="
    <el-dialog width="80vh"
               top="5vh"
               :title="
        behavior == '新增用户'
          ? `${$t('common.append')}`
          : `${$t('common.update')}`
      "
      :visible.sync="dialogFormVisible"
      :before-close="handleClose"
    >
      <el-form
        :model="editForm"
        ref="editForm"
      >
        <el-form-item
          :label="$t('dataManage.vmobj.name')"
          :label-width="formLabelWidth"
        >
          <el-input
            v-model="editForm.name"
            autocomplete="off"
          ></el-input>
               :visible.sync="dialogFormVisible"
               :before-close="handleClose">
      <el-form :model="editForm"
               ref="editForm">
        <el-form-item :label="$t('dataManage.vmobj.name')"
                      :label-width="formLabelWidth">
          <el-input v-model="editForm.name"
                    autocomplete="off"></el-input>
        </el-form-item>
        <el-form-item
          :label="$t('dataManage.vmobj.format')"
          :label-width="formLabelWidth"
        >
          <el-input
            v-model="editForm.type"
            autocomplete="off"
          ></el-input>
        <el-form-item :label="$t('dataManage.vmobj.format')"
                      :label-width="formLabelWidth">
          <el-input v-model="editForm.type"
                    autocomplete="off"></el-input>
        </el-form-item>
        <el-form-item
          :label="$t('dataManage.vmobj.size')"
          :label-width="formLabelWidth"
        >
          <el-input
            v-model="editForm.sizes"
            autocomplete="off"
          ></el-input>
        <el-form-item :label="$t('dataManage.vmobj.size')"
                      :label-width="formLabelWidth">
          <el-input v-model="editForm.sizes"
                    autocomplete="off"></el-input>
        </el-form-item>
        <el-form-item
          :label="$t('dataManage.vmobj.depName')"
          :label-width="formLabelWidth"
        >
          <el-select
            style="width: 100%"
            :popper-append-to-body="false"
            v-model="editForm.depName"
          >
            <el-option
              :value="editForm.depid"
              :label="editForm.depName"
              style="height: auto"
            >
              <el-tree
                ref="tree"
                :data="companyOption1"
                node-key="id"
                :props="cascader"
                @node-click="handleChange2"
              />
        <el-form-item :label="$t('dataManage.vmobj.depName')"
                      :label-width="formLabelWidth">
          <el-select style="width: 100%"
                     :popper-append-to-body="false"
                     v-model="editForm.depName">
            <el-option :value="editForm.depid"
                       :label="editForm.depName"
                       style="height: auto">
              <el-tree ref="tree"
                       :data="companyOption1"
                       node-key="id"
                       :props="cascader"
                       @node-click="handleChange2" />
            </el-option>
          </el-select>
          <!-- <el-cascader
@@ -464,27 +362,19 @@
            style="width:350px"
          ></el-cascader> -->
        </el-form-item>
        <el-form-item
          :label="$t('dataManage.vmobj.dirName')"
          :label-width="formLabelWidth"
        >
          <el-select
            style="width: 100%"
            :popper-append-to-body="false"
            v-model="editForm.dirName"
          >
            <el-option
              :value="editForm.dirid"
              :label="editForm.dirName"
              style="height: auto"
            >
              <el-tree
                ref="tree"
                :data="dirComPanyOption"
                node-key="id"
                :props="cascader"
                @node-click="handleChange3"
              />
        <el-form-item :label="$t('dataManage.vmobj.dirName')"
                      :label-width="formLabelWidth">
          <el-select style="width: 100%"
                     :popper-append-to-body="false"
                     v-model="editForm.dirName">
            <el-option :value="editForm.dirid"
                       :label="editForm.dirName"
                       style="height: auto">
              <el-tree ref="tree"
                       :data="dirComPanyOption"
                       node-key="id"
                       :props="cascader"
                       @node-click="handleChange3" />
            </el-option>
          </el-select>
          <!-- <el-cascader
@@ -494,14 +384,10 @@
            style="width:350px"
          ></el-cascader> -->
        </el-form-item>
        <el-form-item
          :label="$t('dataManage.vmobj.describe')"
          :label-width="formLabelWidth"
        >
          <el-input
            v-model="editForm.describe"
            autocomplete="off"
          ></el-input>
        <el-form-item :label="$t('dataManage.vmobj.describe')"
                      :label-width="formLabelWidth">
          <el-input v-model="editForm.describe"
                    autocomplete="off"></el-input>
        </el-form-item>
        <!-- <el-form-item
          :label="$t('dataManage.vmobj.gather')"
@@ -510,382 +396,264 @@
          <el-input v-model="editForm.gather" autocomplete="off"></el-input>
        </el-form-item> -->
      </el-form>
      <div
        v-if="behavior == '修改信息'"
        slot="footer"
        class="dialog-footer"
      >
        <el-button
          size="small"
          @click="cancelEdit()"
        >{{ $t("common.reset") }}
      <div v-if="behavior == '修改信息'"
           slot="footer"
           class="dialog-footer">
        <el-button size="small"
                   @click="cancelEdit()">{{ $t("common.reset") }}
        </el-button>
        <el-button
          size="small"
          type="primary"
          @click="sendEdit('editForm')"
          v-loading.fullscreen.lock="fullscreenLoading"
        >{{ $t("common.submit") }}
        <el-button size="small"
                   type="primary"
                   @click="sendEdit('editForm')"
                   v-loading.fullscreen.lock="fullscreenLoading">{{ $t("common.submit") }}
        </el-button>
      </div>
      <div
        v-else
        slot="footer"
        class="dialog-footer"
      >
        <el-button
          size="small"
          @click="cancelAdd('editForm')"
        >{{ $t("common.reset") }}
      <div v-else
           slot="footer"
           class="dialog-footer">
        <el-button size="small"
                   @click="cancelAdd('editForm')">{{ $t("common.reset") }}
        </el-button>
        <el-button
          size="small"
          type="primary"
          @click="sendAdd('editForm')"
          v-loading.fullscreen.lock="fullscreenLoading"
        >{{ $t("common.submit") }}
        <el-button size="small"
                   type="primary"
                   @click="sendAdd('editForm')"
                   v-loading.fullscreen.lock="fullscreenLoading">{{ $t("common.submit") }}
        </el-button>
      </div>
    </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: 600px">
        <el-table
          ref="filterTable"
          :data="dbTableData"
          height="90%"
          border
          style="width: 100%"
        >
          <el-table-column
            width="60"
            align="center"
            type="index"
            :label="$t('common.index')"
          />
          <el-table-column
            v-for="(item, index) in attributeData"
            :key="index"
            :label="item.alias"
            :prop="item.field"
            show-overflow-tooltip
            align="center"
          ></el-table-column>
        <el-table ref="filterTable"
                  :data="dbTableData"
                  height="90%"
                  border
                  style="width: 100%">
          <el-table-column width="60"
                           align="center"
                           type="index"
                           :label="$t('common.index')" />
          <el-table-column v-for="(item, index) in attributeData"
                           :key="index"
                           :label="item.alias"
                           :prop="item.field"
                           show-overflow-tooltip
                           align="center"></el-table-column>
        </el-table>
        <div
          style="margin-top: 10px"
          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: 10px"
             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>
    <div
      class="downloadBox box_div subpage_Div"
      v-if="showCodeBox"
    >
    <div class="downloadBox box_div subpage_Div"
         v-if="showCodeBox">
      <h4 style="padding: 20px">{{ $t("common.passworld") }}</h4>
      <el-form
        :model="codeForm"
        :rules="rules"
        ref="codeForm"
        label-width="100px"
        class="codeForm"
      >
        <el-form-item
          :label="$t('common.passworld')"
          prop="password"
        >
          <el-input
            type="password"
            v-model="codeForm.password"
            show-password
          ></el-input>
      <el-form :model="codeForm"
               :rules="rules"
               ref="codeForm"
               label-width="100px"
               class="codeForm">
        <el-form-item :label="$t('common.passworld')"
                      prop="password">
          <el-input type="password"
                    v-model="codeForm.password"
                    show-password></el-input>
        </el-form-item>
        <el-form-item
          :label="$t('common.SPassword')"
          prop="repassword"
        >
          <el-input
            type="password"
            v-model="codeForm.repassword"
            show-password
          ></el-input>
        <el-form-item :label="$t('common.SPassword')"
                      prop="repassword">
          <el-input type="password"
                    v-model="codeForm.repassword"
                    show-password></el-input>
        </el-form-item>
        <el-form-item>
          <el-button
            class="primary"
            size="small"
            @click="download('codeForm')"
          >{{ $t("common.confirm") }}
          <el-button class="primary"
                     size="small"
                     @click="download('codeForm')">{{ $t("common.confirm") }}
          </el-button>
          <el-button
            type="info"
            size="small"
            @click="closeDown('codeForm')"
          >{{ $t("common.cancel") }}
          <el-button type="info"
                     size="small"
                     @click="closeDown('codeForm')">{{ $t("common.cancel") }}
          </el-button>
        </el-form-item>
      </el-form>
    </div>
    <el-dialog
      :title="fromQueryMeta.title"
      :visible.sync="queryMetaFlag"
      width="70%"
    >
    <el-dialog :title="fromQueryMeta.title"
               :visible.sync="queryMetaFlag"
               width="70%">
      <div style="height: 65vh; width: 100%">
        <el-form
          :inline="true"
          :model="fromQueryMeta"
          class="demo-form-inline"
        >
        <el-form :inline="true"
                 :model="fromQueryMeta"
                 class="demo-form-inline">
          <el-form-item>
            <el-input
              size="small"
              v-model="fromQueryMeta.name"
            ></el-input>
            <el-input size="small"
                      v-model="fromQueryMeta.name"></el-input>
          </el-form-item>
          <el-form-item>
            <el-button
              type="primary"
              size="small"
              @click="setSearchMetaData()"
            >查询
            <el-button type="primary"
                       size="small"
                       @click="setSearchMetaData()">查询
            </el-button>
            <el-button
              type="info"
              size="small"
              @click="setRestMetaData()"
            >重置
            <el-button type="info"
                       size="small"
                       @click="setRestMetaData()">重置
            </el-button>
          </el-form-item>
        </el-form>
        <el-table
          ref="filterTable"
          :data="metaDataTable"
          style="width: 100%"
          height="calc(100% - 100px)"
        >
          <el-table-column
            align="center"
            type="index"
            :label="$t('common.index')"
            width="70px"
          ></el-table-column>
          <el-table-column
            align="center"
            prop="name"
            :label="$t('common.name')"
            width="120"
          >
        <el-table ref="filterTable"
                  :data="metaDataTable"
                  style="width: 100%"
                  height="calc(100% - 100px)">
          <el-table-column align="center"
                           type="index"
                           :label="$t('common.index')"
                           width="70px"></el-table-column>
          <el-table-column align="center"
                           prop="name"
                           :label="$t('common.name')"
                           width="120">
          </el-table-column>
          <el-table-column
            align="center"
            prop="dirName"
            :label="$t('dataManage.dataUpObj.catalogue')"
            width="300"
          />
          <el-table-column
            align="center"
            prop="depName"
            :label="$t('dataManage.dataUpObj.company')"
            width="200"
          />
          <el-table-column
            align="center"
            prop="verName"
            :label="$t('dataManage.dataUpObj.versionNo')"
          />
          <el-table-column
            align="center"
            prop="type"
            :label="$t('common.type')"
          />
          <el-table-column
            align="center"
            prop="sizes"
            :label="$t('common.size')"
            :formatter="changeSizeFile"
          />
          <el-table-column
            align="center"
            :label="$t('dataManage.dataUpObj.tableName')"
          >
          <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)"
              >{{
              <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
          class="pagination_box"
          style="margin-top: 15px"
        >
          <el-pagination
            @size-change="handleMetaSizeChange"
            @current-change="handMetaCurrentChange"
            :current-page="listMetaData.pageIndex"
            :page-sizes="[10, 50, 100, 200,500]"
            :page-size="listMetaData.pageSize"
            layout="total, sizes, prev, pager, next, jumper"
            :total="listMetaData.count"
          >
        <div class="pagination_box"
             style="margin-top: 15px">
          <el-pagination @size-change="handleMetaSizeChange"
                         @current-change="handMetaCurrentChange"
                         :current-page="listMetaData.pageIndex"
                         :page-sizes="[10, 50, 100, 200,500]"
                         :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)"
              >{{
              <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
      custom-class="preview-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 custom-class="preview-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="数据申请"
      :visible.sync="dialogInsertFile"
      width="30%"
      top="10vh"
      :modal="false"
      :close-on-click-modal="false"
      :show-close="false"
    >
      <el-form
        ref="form"
        :model="fileFrom"
        label-width="100px"
      >
    <el-dialog title="数据申请"
               :visible.sync="dialogInsertFile"
               width="30%"
               top="10vh"
               :modal="false"
               :close-on-click-modal="false"
               :show-close="false">
      <el-form ref="form"
               :model="fileFrom"
               label-width="100px">
        <el-form-item label="审核单位">
          <div>
            <ul>
@@ -897,160 +665,115 @@
        </el-form-item>
        <el-form-item label="描述">
          <el-input
            type="textarea"
            placeholder="请输入内容"
            v-model="fileFrom.descr"
            maxlength="50"
            show-word-limit
          >
          <el-input type="textarea"
                    placeholder="请输入内容"
                    v-model="fileFrom.descr"
                    maxlength="50"
                    show-word-limit>
          </el-input>
        </el-form-item>
        <el-form-item>
          <el-button
            class="primary"
            size="small"
            @click="getFileInsertApply()"
          >{{ $t("common.confirm") }}</el-button>
          <el-button
            type="info"
            size="small"
            @click="handleInsertFileClose()"
          >{{ $t("common.cancel") }}</el-button>
          <el-button class="primary"
                     size="small"
                     @click="getFileInsertApply()">{{ $t("common.confirm") }}</el-button>
          <el-button type="info"
                     size="small"
                     @click="handleInsertFileClose()">{{ $t("common.cancel") }}</el-button>
        </el-form-item>
      </el-form>
    </el-dialog>
    <el-dialog
      title=""
      :visible.sync="gdbDialog"
      width="80%"
      top="8vh"
      :modal="false"
      :close-on-click-modal="false"
    >
    <el-dialog title=""
               :visible.sync="gdbDialog"
               width="80%"
               top="8vh"
               :modal="false"
               :close-on-click-modal="false">
      <div class="gdbTableBox">
        <el-table
          :data="gdbData"
          style="width: 100%"
          max-height="38.54167vw"
        >
          <el-table-column
            type="selection"
            width="55"
          />
          <el-table-column
            :label="$t('dataManage.dictionaryManageObj.number')"
            type="index"
            width="50"
          >
        <el-table :data="gdbData"
                  style="width: 100%"
                  max-height="38.54167vw">
          <el-table-column type="selection"
                           width="55" />
          <el-table-column :label="$t('dataManage.dictionaryManageObj.number')"
                           type="index"
                           width="50">
          </el-table-column>
          <el-table-column :label="$t('dataManage.vmobj.name')">
            <template slot-scope="scope">
              <span v-if="scope.row.ismeta > 0">
                <el-link
                  style="color: #409eff"
                  title="源数据查询"
                  @click="setQueryMetaData(scope.row)"
                  target="_blank"
                >{{ scope.row.name }}</el-link>
                <el-link style="color: #409eff"
                         title="源数据查询"
                         @click="setQueryMetaData(scope.row)"
                         target="_blank">{{ scope.row.name }}</el-link>
              </span>
              <span v-else-if="scope.row.metaid > 0">
                <el-link
                  style="color: #409eff"
                  title="元数据查询"
                  @click="setMetaDataQuery(scope.row)"
                  target="_blank"
                >{{ scope.row.name }}</el-link></span>
                <el-link style="color: #409eff"
                         title="元数据查询"
                         @click="setMetaDataQuery(scope.row)"
                         target="_blank">{{ scope.row.name }}</el-link>
              </span>
              <span v-else>{{ scope.row.name }}</span>
            </template>
          </el-table-column>
          <el-table-column
            prop="type"
            :label="$t('dataManage.vmobj.format')"
          >
          <el-table-column prop="type"
                           :label="$t('dataManage.vmobj.format')">
          </el-table-column>
          <el-table-column
            prop="sizes"
            :label="$t('dataManage.vmobj.size')"
            :formatter="stateFormatSizes"
          />
          <el-table-column
            prop="depName"
            :label="$t('dataManage.vmobj.depName')"
          />
          <el-table-column
            prop="dirName"
            :label="$t('dataManage.vmobj.dirName')"
            width="200"
          />
          <el-table-column
            prop="verName"
            :label="$t('dataManage.vmobj.versionNumber')"
          />
          <el-table-column prop="sizes"
                           :label="$t('dataManage.vmobj.size')"
                           :formatter="stateFormatSizes" />
          <el-table-column prop="depName"
                           :label="$t('dataManage.vmobj.depName')" />
          <el-table-column prop="dirName"
                           :label="$t('dataManage.vmobj.dirName')"
                           width="200" />
          <el-table-column prop="verName"
                           :label="$t('dataManage.vmobj.versionNumber')" />
          <el-table-column :label="$t('dataManage.dataUpObj.tableName')">
            <template slot-scope="scope">
              <el-link></el-link>
              <el-link
                :underline="false"
                @click="detail(scope.row)"
              >{{
              <el-link :underline="false"
                       @click="detail(scope.row)">{{
              scope.row.tab
            }}</el-link>
            </template>
          </el-table-column>
          <el-table-column
            prop="rows"
            :label="$t('dataManage.vmobj.row')"
          />
          <el-table-column prop="rows"
                           :label="$t('dataManage.vmobj.row')" />
          <el-table-column
            :label="$t('common.dataStatus')"
            :formatter="stateFormat"
          >
          <el-table-column :label="$t('common.dataStatus')"
                           :formatter="stateFormat">
          </el-table-column>
          <el-table-column
            prop="uname"
            :label="$t('dataManage.vmobj.createonuser')"
          />
          <el-table-column
            prop="createTime"
            :label="$t('dataManage.vmobj.createontime')"
            :formatter="formatData"
          />
          <el-table-column
            min-width="210"
            :label="$t('common.operate')"
          >
          <el-table-column prop="uname"
                           :label="$t('dataManage.vmobj.createonuser')" />
          <el-table-column prop="createTime"
                           :label="$t('dataManage.vmobj.createontime')"
                           :formatter="formatData" />
          <el-table-column min-width="210"
                           :label="$t('common.operate')">
            <template slot-scope="scope">
              <el-button
                @click="showDetail(scope.row)"
                type="primary"
                plain
                size="small"
              >{{ $t("common.details") }}
              <el-button @click="showDetail(scope.row)"
                         type="primary"
                         plain
                         size="small">{{ $t("common.details") }}
              </el-button>
              <el-button
                type="warning"
                plain
                size="small"
                v-if="btnStatus.update"
                @click="editInfo(scope.row)"
                style="margin-left: 10px"
              >{{ $t("common.edit") }}
              <el-button type="warning"
                         plain
                         size="small"
                         v-if="btnStatus.update"
                         @click="editInfo(scope.row)"
                         style="margin-left: 10px">{{ $t("common.edit") }}
              </el-button>
              <el-button
                plain
                size="small"
                v-if="showPreview(scope.row)"
                @click="handlePreview(scope.row)"
                style="margin-left: 10px"
              >{{ $t("common.preview") }}
              <el-button plain
                         size="small"
                         v-if="showPreview(scope.row)"
                         @click="handlePreview(scope.row)"
                         style="margin-left: 10px">{{ $t("common.preview") }}
              </el-button>
            </template>
          </el-table-column>
@@ -1058,16 +781,12 @@
      </div>
    </el-dialog>
    <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>
    <div
      class="loadBox"
      v-if="loadDialogVisible"
    >
    <div class="loadBox"
         v-if="loadDialogVisible">
      <div style="widht:100%; margin:20px; color:white">
        <div style="margin-left:99%">
          <!-- <el-link
@@ -1076,12 +795,10 @@
          > X</el-link> -->
        </div>
      </div>
      <div
        v-loading="true"
        element-loading-background="rgba(0, 0, 0, 0.0) "
        element-loading-text="数据删除中"
        style="margin: 0px 20px;widht:100%;height:calc(100% - 80px); "
      >
      <div v-loading="true"
           element-loading-background="rgba(0, 0, 0, 0.0) "
           element-loading-text="数据删除中"
           style="margin: 0px 20px;widht:100%;height:calc(100% - 80px); ">
      </div>
    </div>
  </div>
@@ -1110,6 +827,7 @@
  meta_selectDepsByCodes,
  apply_insertApply,
  meta_selectGdbByGuid,
  meta_selectConvertToDwg
} from "../../api/api";
import MyBread from "../../components/MyBread.vue";
@@ -1117,20 +835,20 @@
export default {
  name: "metadataManage",
  components: { MyBread },
  data() {
    var repasswordValidator = (rule, value, callback) => {
      if (value === "") {
  data () {
    var repasswordValidator=(rule,value,callback) => {
      if(value==="") {
        callback(new Error("请再次输入密码"));
      } else if (value !== this.codeForm.password) {
      } else if(value!==this.codeForm.password) {
        callback(new Error("两次输入密码不一致!"));
      } else {
        callback();
      }
    };
    var passwordValidator = (rule, value, callback) => {
      var passwordreg =
    var passwordValidator=(rule,value,callback) => {
      var passwordreg=
        /^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z\W!@#$%^&*`~()\\-_+=,.?;<>]+$)(?![a-z0-9]+$)(?![a-z\W!@#$%^&*`~()\\-_+=,.?;<>]+$)(?![0-9\W!@#$%^&*`~()\\-_+=,.?;<>]+$)[a-zA-Z0-9\W!@#$%^&*`~()\\-_+=,.?;<>]{12,20}$/;
      if (!passwordreg.test(value)) {
      if(!passwordreg.test(value)) {
        callback(new Error("密码必须由数字、字母、特殊字符组合,请输入13-20位"));
      } else {
        callback();
@@ -1172,12 +890,12 @@
      },
      rules: {
        password: [
          { required: true, message: "请输入密码", trigger: "blur" },
          { validator: passwordValidator, trigger: "blur" },
          { required: true,message: "请输入密码",trigger: "blur" },
          { validator: passwordValidator,trigger: "blur" },
        ],
        repassword: [
          { required: true, message: "请输入确认密码", trigger: "blur" },
          { validator: repasswordValidator, trigger: "blur" },
          { required: true,message: "请输入确认密码",trigger: "blur" },
          { validator: repasswordValidator,trigger: "blur" },
        ],
      },
      tableData: [],
@@ -1256,119 +974,119 @@
      loadDialogVisible: false
    };
  },
  created() {
  created () {
    // this.getSelectDictTab();
    this.showPermsBtn();
    this.getQueryDepTree();
    this.signGetPublicKey();
  },
  beforeDestroy() {
    this.timer && clearTimeout(this.timer);
    window.removeEventListener("resize", this.onResize);
  beforeDestroy () {
    this.timer&&clearTimeout(this.timer);
    window.removeEventListener("resize",this.onResize);
  },
  mounted() {
    window.addEventListener("resize", this.onResize);
  mounted () {
    window.addEventListener("resize",this.onResize);
    this.calHeight();
  },
  watch: {
    "queryForm.depName"() {
    "queryForm.depName" () {
      this.$refs.treeSelect.visible = false;
      this.$refs.treeSelect.visible=false;
    },
    "queryForm.dirid"() {
    "queryForm.dirid" () {
      this.$refs.treeSelect1.visible = false;
      this.$refs.treeSelect1.visible=false;
    },
  },
  methods: {
    //gdb 点击事件
    setSelectGdbByGuid(row) {
      this.gdbGuid = row.guid
    setSelectGdbByGuid (row) {
      this.gdbGuid=row.guid
      this.getSelectGdbByGuid();
    },
    async getSelectGdbByGuid() {
      if (!this.gdbGuid) return
      const data = await meta_selectGdbByGuid({ guid: this.gdbGuid })
      if (data.code != 200) {
    async getSelectGdbByGuid () {
      if(!this.gdbGuid) return
      const data=await meta_selectGdbByGuid({ guid: this.gdbGuid })
      if(data.code!=200) {
        return this.$message.error("根据GUID查询GDB数据失败");
      }
      if (data.count <= 0) {
      if(data.count<=0) {
        return this.$message("查无更多数据");
      }
      this.gdbData = data.result;
      this.gdbDialog = true;
      this.gdbData=data.result;
      this.gdbDialog=true;
    },
    stateFormat(row, column) {
      var val = ['shp', 'gdb', 'xls', 'xlsx']
      if (val.indexOf(row.type) > -1 && row.rows > 0) {
    stateFormat (row,column) {
      var val=['shp','gdb','xls','xlsx']
      if(val.indexOf(row.type)>-1&&row.rows>0) {
        return '已上传,已入库'
      } else if (val.indexOf(row.type) > -1 && row.rows == 0) {
      } else if(val.indexOf(row.type)>-1&&row.rows==0) {
        return '已上传,未入库'
      } else {
        return '已上传'
      }
    },
    //大小值改变
    changeSizeFile(row, column, cellValue, index) {
      if (cellValue >= 1024) {
        return parseFloat(cellValue / 1204).toFixed(3) + "GB";
    changeSizeFile (row,column,cellValue,index) {
      if(cellValue>=1024) {
        return parseFloat(cellValue/1204).toFixed(3)+"GB";
      } else {
        return cellValue + "MB";
        return cellValue+"MB";
      }
    },
    setRestMetaData() {
      this.fromQueryMeta.name = "";
      this.listMetaData.name = this.fromQueryMeta.name;
      this.listMetaData.pageIndex = 1;
      this.listMetaData.pageSize = 10;
    setRestMetaData () {
      this.fromQueryMeta.name="";
      this.listMetaData.name=this.fromQueryMeta.name;
      this.listMetaData.pageIndex=1;
      this.listMetaData.pageSize=10;
      this.startQueryMetaData();
    },
    setSearchMetaData() {
      this.listMetaData.name = this.fromQueryMeta.name;
      this.listMetaData.pageIndex = 1;
      this.listMetaData.pageSize = 10;
    setSearchMetaData () {
      this.listMetaData.name=this.fromQueryMeta.name;
      this.listMetaData.pageIndex=1;
      this.listMetaData.pageSize=10;
      this.startQueryMetaData();
    },
    //源数据页面切换
    handleMetaSizeChange(val) {
      this.listMetaData.pageIndex = 1;
      this.listMetaData.pageSize = val;
    handleMetaSizeChange (val) {
      this.listMetaData.pageIndex=1;
      this.listMetaData.pageSize=val;
      this.startQueryMetaData();
    },
    //源数据页面切换
    handMetaCurrentChange(val) {
      this.listMetaData.pageIndex = val;
    handMetaCurrentChange (val) {
      this.listMetaData.pageIndex=val;
      this.startQueryMetaData();
    },
    //元数据查询
    async setMetaDataQuery(row) {
      this.fromQueryMeta.title = row.name;
      this.listMetaData = {
    async setMetaDataQuery (row) {
      this.fromQueryMeta.title=row.name;
      this.listMetaData={
        id: row.metaid,
      };
      const data = await meta_selectById(this.listMetaData);
      if (data.code != 200) {
      const data=await meta_selectById(this.listMetaData);
      if(data.code!=200) {
        return;
      }
      this.queryMetaFlag1 = true;
      this.metaDataTable1 = [data.result];
      this.queryMetaFlag1=true;
      this.metaDataTable1=[data.result];
      // this.listMetaData.count = data.count;
    },
    //源数据查询
    setQueryMetaData(row) {
      this.fromQueryMeta.title = row.name;
      this.listMetaData = {
    setQueryMetaData (row) {
      this.fromQueryMeta.title=row.name;
      this.listMetaData={
        metaid: row.id,
        name: "",
        pageIndex: 1,
@@ -1376,47 +1094,47 @@
        count: 0,
      };
      this.startQueryMetaData();
      this.queryMetaFlag = true;
      this.queryMetaFlag=true;
    },
    async startQueryMetaData() {
      const data = await meta_selectPageAndCountByPid(this.listMetaData);
      if (data.code != 200) {
    async startQueryMetaData () {
      const data=await meta_selectPageAndCountByPid(this.listMetaData);
      if(data.code!=200) {
        return;
      }
      this.metaDataTable = data.result;
      this.listMetaData.count = data.count;
      this.metaDataTable=data.result;
      this.listMetaData.count=data.count;
    },
    onResize() {
      this.timer && clearTimeout(this.timer);
      this.timer = setTimeout(() => {
    onResize () {
      this.timer&&clearTimeout(this.timer);
      this.timer=setTimeout(() => {
        this.calHeight();
      }, 500);
      },500);
    },
    calHeight() {
    calHeight () {
      this.$nextTick(() => {
        const rect = this.$refs.container.getBoundingClientRect();
        this.tableHeight = `${rect.height + 97}px`;
        this.styleVar["height"] = `calc(100% - ${rect.height + 28}px)`;
        const rect=this.$refs.container.getBoundingClientRect();
        this.tableHeight=`${rect.height+97}px`;
        this.styleVar["height"]=`calc(100% - ${rect.height+28}px)`;
      });
    },
    async detail(res) {
      var val = res.tab.split(".");
      const data = await meta_selectFields({
    async detail (res) {
      var val=res.tab.split(".");
      const data=await meta_selectFields({
        ns: val[0],
        tab: val[1],
      });
      if (data.code != 200) {
      if(data.code!=200) {
        this.$message.error("字段列表调用失败");
        return;
      }
      this.dialogVisible = true;
      this.dialogVisible=true;
      this.attributeData = data.result;
      this.attributeData=data.result;
      this.listLoader = {
      this.listLoader={
        id: res.id,
        pageIndex: 1,
        pageSize: 10,
@@ -1424,199 +1142,199 @@
      this.getDataLoaderSelectDbData();
    },
    async getDataLoaderSelectDbData() {
      const data1 = await meta_selectByPageForUpload(this.listLoader);
      if (data1.code != 200) {
    async getDataLoaderSelectDbData () {
      const data1=await meta_selectByPageForUpload(this.listLoader);
      if(data1.code!=200) {
        this.$message.error("字段列表调用失败");
        return;
      }
      var option = data1.result;
      for (var i in option) {
        option[i].dirid = option[i].dirName;
        option[i].depid = option[i].depName;
        option[i].createuser = option[i].createName;
        option[i].updateuser = option[i].updateName;
        option[i].verid = option[i].verName;
        if (option[i].createtime != null) {
          option[i].createtime = this.setInfoBoxTime(option[i].createtime);
      var option=data1.result;
      for(var i in option) {
        option[i].dirid=option[i].dirName;
        option[i].depid=option[i].depName;
        option[i].createuser=option[i].createName;
        option[i].updateuser=option[i].updateName;
        option[i].verid=option[i].verName;
        if(option[i].createtime!=null) {
          option[i].createtime=this.setInfoBoxTime(option[i].createtime);
        }
        if (option[i].updatetime != null) {
          option[i].updatetime = this.setInfoBoxTime(option[i].updatetime);
        if(option[i].updatetime!=null) {
          option[i].updatetime=this.setInfoBoxTime(option[i].updatetime);
        }
      }
      this.dbTableData = data1.result;
      this.count1 = data1.count;
      this.dbTableData=data1.result;
      this.count1=data1.count;
    },
    handleLoaderSizeChange(val) {
      this.listLoader.pageIndex = 1;
      this.listLoader.pageSize = val;
    handleLoaderSizeChange (val) {
      this.listLoader.pageIndex=1;
      this.listLoader.pageSize=val;
      this.getDataLoaderSelectDbData();
    },
    handleLoaderCurrentChange(val) {
      this.listLoader.pageIndex = val;
    handleLoaderCurrentChange (val) {
      this.listLoader.pageIndex=val;
      this.getDataLoaderSelectDbData();
    },
    async signGetPublicKey() {
      const res = await sign_getPublicKey();
      if (res && res.code == 200) {
        window.encrypt = new JSEncrypt();
    async signGetPublicKey () {
      const res=await sign_getPublicKey();
      if(res&&res.code==200) {
        window.encrypt=new JSEncrypt();
        encrypt.setPublicKey(res.result);
      }
    },
    //单位列表获取
    async getQueryDepTree() {
      const res = await selectdepTab();
      if (res.code != 200) {
    async getQueryDepTree () {
      const res=await selectdepTab();
      if(res.code!=200) {
        this.$message.error("单位列表获取失败");
        return;
      }
      this.companyOption1 = this.treeData(res.result);
      this.queryForm.depcode = this.companyOption1[0].code;
      this.queryForm.depName = this.companyOption1[0].name;
      this.companyOption1=this.treeData(res.result);
      this.queryForm.depcode=this.companyOption1[0].code;
      this.queryForm.depName=this.companyOption1[0].name;
      this.getQueryDirTree();
    },
    async getQueryDirTree() {
      const res = await selectdirTab();
      if (res.code != 200) {
    async getQueryDirTree () {
      const res=await selectdirTab();
      if(res.code!=200) {
        this.$message.error("单位列表获取失败");
        return;
      }
      this.companyOption = this.treeData(res.result);
      this.queryForm.dirid = this.companyOption[0].id;
      this.queryForm.dircode = this.companyOption[0].code;
      this.queryForm.dirName = this.companyOption[0].name;
      this.companyOption=this.treeData(res.result);
      this.queryForm.dirid=this.companyOption[0].id;
      this.queryForm.dircode=this.companyOption[0].code;
      this.queryForm.dirName=this.companyOption[0].name;
      this.getQueryVerList();
    },
    async getQueryVerList() {
      const data = await meta_selectVerByDirid({ dirid: this.queryForm.dirid });
      if (data.code != 200) {
    async getQueryVerList () {
      const data=await meta_selectVerByDirid({ dirid: this.queryForm.dirid });
      if(data.code!=200) {
        this.$message.error("版本列表获取失败");
        return;
      }
      this.verOptions = data.result;
      this.queryForm.verid = data.result[0].id;
      this.verOptions=data.result;
      this.queryForm.verid=data.result[0].id;
      this.getMetaData();
    },
    verHandleChange(val) {
      this.queryForm.verid = val;
      this.listData.pageSize = 10;
      this.listData.pageIndex = 1;
    verHandleChange (val) {
      this.queryForm.verid=val;
      this.listData.pageSize=10;
      this.listData.pageIndex=1;
      this.getMetaData();
    },
    handleChange(data, node, nodeData) {
      this.listData.pageSize = 10;
      this.listData.pageIndex = 1;
      this.queryForm.dircode = data.code;
      this.queryForm.dirid = data.id;
      this.queryForm.dirName = data.name;
    handleChange (data,node,nodeData) {
      this.listData.pageSize=10;
      this.listData.pageIndex=1;
      this.queryForm.dircode=data.code;
      this.queryForm.dirid=data.id;
      this.queryForm.dirName=data.name;
      this.getQueryVerList();
    },
    handleChange1(data, node, nodeData) {
      this.listData.pageSize = 10;
      this.listData.pageIndex = 1;
      this.queryForm.depcode = data.code;
      this.queryForm.depName = data.name;
    handleChange1 (data,node,nodeData) {
      this.listData.pageSize=10;
      this.listData.pageIndex=1;
      this.queryForm.depcode=data.code;
      this.queryForm.depName=data.name;
      this.getMetaData();
    },
    handleChange2(data, node, nodeData) {
      this.editForm.depid = data.id;
      this.editForm.depcode = data.code;
      this.editForm.depName = data.name;
    handleChange2 (data,node,nodeData) {
      this.editForm.depid=data.id;
      this.editForm.depcode=data.code;
      this.editForm.depName=data.name;
    },
    handleChange3(data, node, nodeData) {
      this.editForm.dirid = data.id;
      this.editForm.dircode = data.code;
      this.editForm.dirName = data.name;
    handleChange3 (data,node,nodeData) {
      this.editForm.dirid=data.id;
      this.editForm.dircode=data.code;
      this.editForm.dirName=data.name;
    },
    //格式化列表
    formatData(row, column) {
      let data = row[column.property];
      if (data == null) {
    formatData (row,column) {
      let data=row[column.property];
      if(data==null) {
        return data;
      }
      return this.format(data);
    },
    setInfoBoxTime(res) {
      if (res == null) {
    setInfoBoxTime (res) {
      if(res==null) {
        return res;
      }
      return this.format(res);
    },
    setInfoBoxSize(res) {
      if (res >= 1024) {
        return parseFloat(res / 1024).toFixed(3) + " GB";
    setInfoBoxSize (res) {
      if(res>=1024) {
        return parseFloat(res/1024).toFixed(3)+" GB";
      } else {
        return res + " MB";
        return res+" MB";
      }
    },
    //格式化时间
    format(shijianchuo) {
    format (shijianchuo) {
      //shijianchuo是整数,否则要parseInt转换
      var time = new Date(shijianchuo);
      var y = time.getFullYear();
      var m = time.getMonth() + 1;
      var d = time.getDate();
      var h = time.getHours();
      var mm = time.getMinutes();
      var s = time.getSeconds();
      var time=new Date(shijianchuo);
      var y=time.getFullYear();
      var m=time.getMonth()+1;
      var d=time.getDate();
      var h=time.getHours();
      var mm=time.getMinutes();
      var s=time.getSeconds();
      return (
        y +
        "-" +
        this.add0(m) +
        "-" +
        this.add0(d) +
        " " +
        h +
        ":" +
        mm +
        ":" +
        y+
        "-"+
        this.add0(m)+
        "-"+
        this.add0(d)+
        " "+
        h+
        ":"+
        mm+
        ":"+
        s
      );
    },
    //格式化时间
    add0(m) {
      return m < 10 ? "0" + m : m;
    add0 (m) {
      return m<10? "0"+m:m;
    },
    //单位转换
    stateFormatSizes(row, column) {
      if (row.sizes >= 1024) {
        const val = parseFloat(row.sizes / 1024).toFixed(3);
        return val + " GB";
    stateFormatSizes (row,column) {
      if(row.sizes>=1024) {
        const val=parseFloat(row.sizes/1024).toFixed(3);
        return val+" GB";
      } else {
        return row.sizes + " MB";
        return row.sizes+" MB";
      }
    },
    //目录树获取
    async getSelectDictTab() {
      const res = await selectdirTab();
      if (res.code != 200) {
    async getSelectDictTab () {
      const res=await selectdirTab();
      if(res.code!=200) {
        this.$message.error("列表调用失败");
      }
      this.optionCount = this.treeData(res.result);
      this.dirComPanyOption = this.treeData(res.result);
      this.listData.depcode = this.optionCount[0].code;
      this.optionCount=this.treeData(res.result);
      this.dirComPanyOption=this.treeData(res.result);
      this.listData.depcode=this.optionCount[0].code;
    },
    handleNodeClick(data) {
      this.listData.pageSize = 10;
      this.listData.pageIndex = 1;
      this.listData.dirid = data.id;
    handleNodeClick (data) {
      this.listData.pageSize=10;
      this.listData.pageIndex=1;
      this.listData.dirid=data.id;
      this.getMetaData();
    },
    getTableDesc(res) {
      this.activeName = res.tab;
    getTableDesc (res) {
      this.activeName=res.tab;
    },
    //显示权限按钮
    showPermsBtn() {
      let currentPerms = this.$store.state.currentPerms;
      let permsEntity = this.$store.state.permsEntity;
    showPermsBtn () {
      let currentPerms=this.$store.state.currentPerms;
      let permsEntity=this.$store.state.permsEntity;
      permsEntity
        .filter((item) => item.perms == currentPerms)
        .map((item) => (this.btnStatus[item.tag.substr(1)] = true));
        .filter((item) => item.perms==currentPerms)
        .map((item) => (this.btnStatus[item.tag.substr(1)]=true));
    },
    // ShowWindowFly(res) {
    //   console.log(res);
@@ -1651,74 +1369,74 @@
    //   );
    // },
    // 请求数据内容
    getMetaData() {
      this.listData.depcode = this.queryForm.depcode;
      this.listData.dircode = this.queryForm.dircode;
    getMetaData () {
      this.listData.depcode=this.queryForm.depcode;
      this.listData.dircode=this.queryForm.dircode;
      this.listData.verid = this.queryForm.verid;
      this.listData.verid=this.queryForm.verid;
      // this.listData.dirid = 57
      select_meta_ByPageAndCount(this.listData).then((res) => {
        this.tableData = res.result;
        this.count = res.count;
        this.tableData=res.result;
        this.count=res.count;
      });
    },
    // 查询
    queryInfo() {
      this.listData.name = this.queryForm.name.trim();
      this.listData.pageSize = 10;
      this.listData.pageIndex = 1;
    queryInfo () {
      this.listData.name=this.queryForm.name.trim();
      this.listData.pageSize=10;
      this.listData.pageIndex=1;
      this.getMetaData();
    },
    // 重置查询
    resetInfo(formName) {
    resetInfo (formName) {
      this.$refs[formName].resetFields();
      this.listData.pageSize = 10;
      this.listData.pageIndex = 1;
      this.listData.name = null;
      this.queryForm.dirid = this.companyOption[0].id;
      this.queryForm.depid = this.companyOption1[0].id;
      this.queryForm.dircode = this.companyOption[0].code;
      this.queryForm.depcode = this.companyOption1[0].code;
      this.queryForm.dirName = this.companyOption[0].name;
      this.queryForm.depName = this.companyOption1[0].name;
      this.listData.pageSize=10;
      this.listData.pageIndex=1;
      this.listData.name=null;
      this.queryForm.dirid=this.companyOption[0].id;
      this.queryForm.depid=this.companyOption1[0].id;
      this.queryForm.dircode=this.companyOption[0].code;
      this.queryForm.depcode=this.companyOption1[0].code;
      this.queryForm.dirName=this.companyOption[0].name;
      this.queryForm.depName=this.companyOption1[0].name;
      this.getQueryVerList();
      this.getMetaData();
    },
    //新增按钮
    showAddDialog() {
      this.behavior = "新增用户";
      this.editForm = {};
      this.dialogFormVisible = true;
    showAddDialog () {
      this.behavior="新增用户";
      this.editForm={};
      this.dialogFormVisible=true;
    },
    cancelAdd(formName) {
      this.editForm = {};
    cancelAdd (formName) {
      this.editForm={};
      this.$refs[formName].resetFields();
    },
    sendAdd(formName) {
    sendAdd (formName) {
      this.$refs[formName].validate((valid) => {
        if (valid) {
          this.fullscreenLoading = true;
        if(valid) {
          this.fullscreenLoading=true;
          insertMeta(this.editForm)
            .then((res) => {
              setTimeout(() => {
                this.fullscreenLoading = false;
                if (res.code == 200) {
                  this.listData.pageSize = 10;
                  this.listData.pageIndex = 1;
                this.fullscreenLoading=false;
                if(res.code==200) {
                  this.listData.pageSize=10;
                  this.listData.pageIndex=1;
                  this.getMetaData();
                  this.$message({
                    message: "添加成功",
                    type: "success",
                  });
                  this.editForm = {};
                  this.dialogFormVisible = false;
                  this.editForm={};
                  this.dialogFormVisible=false;
                }
              }, 500);
              },500);
            })
            .catch((res) => {
              alert("修改失败,请重试!");
              this.fullscreenLoading = false;
              this.fullscreenLoading=false;
            });
        } else {
          console.log("error submit!!");
@@ -1727,42 +1445,42 @@
      });
    },
    // 获取多选选中的对象
    handleSelectionChange(val) {
      this.multipleSelection = val;
    handleSelectionChange (val) {
      this.multipleSelection=val;
    },
    // 删除多条
    deleteMetaInfo() {
      if (this.multipleSelection.length <= 0) {
    deleteMetaInfo () {
      if(this.multipleSelection.length<=0) {
        return this.$message("请选择要删除的数据");
      }
      this.$confirm("确定是否删除所选内容?", "提示", {
      this.$confirm("确定是否删除所选内容?","提示",{
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
      })
        .then(() => {
          var std = [];
          for (var i in this.multipleSelection) {
          var std=[];
          for(var i in this.multipleSelection) {
            std.push(this.multipleSelection[i].id);
          }
          this.loadDialogVisible = true;
          this.loadDialogVisible=true;
          deleteMeta({ ids: std.toString() }).then((res) => {
            if (res.code == 200) {
              this.loadDialogVisible = false;
            if(res.code==200) {
              this.loadDialogVisible=false;
              this.$message({
                type: "success",
                message: "删除成功!",
              });
              this.multipleSelection = [];
              this.multipleSelection=[];
              // this.listData.pageSize = 10
              this.listData.pageIndex = 1;
              this.listData.pageIndex=1;
              this.getMetaData();
            } else {
              this.loadDialogVisible = false;
              this.loadDialogVisible=false;
              this.$message.error("删除失败");
              this.multipleSelection = [];
              this.multipleSelection=[];
            }
          });
        })
@@ -1772,57 +1490,57 @@
    },
    // 查看界面
    showDetail(row) {
    showDetail (row) {
      // console.log(index, row);
      this.showinfoBox = true;
      this.showinfoBox=true;
      this.itemdetail = row;
      this.itemdetail=row;
    },
    // 关闭查看
    closeDetial() {
      this.showinfoBox = false;
      this.itemdetail = {};
    closeDetial () {
      this.showinfoBox=false;
      this.itemdetail={};
    },
    // 修改界面
    editInfo(row) {
    editInfo (row) {
      // console.log(row);
      delete row.createTime;
      delete row.createUser;
      delete row.updateUser;
      delete row.updateUser;
      this.initialForm = JSON.stringify(row); //备份
      this.behavior = "修改信息";
      this.editForm = JSON.parse(JSON.stringify(row));
      this.dialogFormVisible = true;
      this.initialForm=JSON.stringify(row); //备份
      this.behavior="修改信息";
      this.editForm=JSON.parse(JSON.stringify(row));
      this.dialogFormVisible=true;
      this.getSelectDictTab();
    },
    handleClose(done) {
    handleClose (done) {
      this.$confirm("确认关闭?")
        .then((_) => {
          this.editForm = {};
          this.editForm={};
          done();
        })
        .catch((_) => { });
    },
    // 提交修改
    sendEdit() {
      this.$confirm("是否确定编辑?", "提示", {
    sendEdit () {
      this.$confirm("是否确定编辑?","提示",{
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
      })
        .then(() => {
          this.dialogFormVisible = false;
          this.dialogFormVisible=false;
          updateMeta(this.editForm).then((res) => {
            setTimeout(() => {
              this.fullscreenLoading = false;
              if (res.code == 200) {
                this.listData.pageSize = 10;
                this.listData.pageIndex = 1;
              this.fullscreenLoading=false;
              if(res.code==200) {
                this.listData.pageSize=10;
                this.listData.pageIndex=1;
                if (this.gdbDialog) {
                if(this.gdbDialog) {
                  this.getSelectGdbByGuid();
                } else {
                  this.getMetaData();
@@ -1833,99 +1551,99 @@
                  message: "修改成功",
                  type: "success",
                });
                this.editForm = {};
                this.dialogFormVisible = false;
                this.editForm={};
                this.dialogFormVisible=false;
              }
            }, 500);
            },500);
          });
        })
        .catch(() => {
          alert("修改失败,请重试!");
          this.fullscreenLoading = false;
          this.fullscreenLoading=false;
        });
    },
    cancelEdit() {
    cancelEdit () {
      this.$nextTick(() => {
        this.editForm = JSON.parse(this.initialForm);
        this.editForm=JSON.parse(this.initialForm);
      });
    },
    async download() {
      var ids = [];
      for (var i in this.multipleSelection) {
    async download () {
      var ids=[];
      for(var i in this.multipleSelection) {
        ids.push(this.multipleSelection[i].id);
      }
      var obj = {
      var obj={
        ids: ids,
      };
      const data = await meta_selectMetaOverflowDep(obj);
      if (data.code != 200) {
      const data=await meta_selectMetaOverflowDep(obj);
      if(data.code!=200) {
        return;
      }
      var password = this.codeForm.repassword;
      if (data.result.length == 0) {
        var obj = {
      var password=this.codeForm.repassword;
      if(data.result.length==0) {
        var obj={
          pwd: encrypt.encrypt(this.codeForm.repassword),
          ids: ids,
        };
        const res = await meta_downloadReq(JSON.stringify(obj));
        if (res.code != 200) {
        const res=await meta_downloadReq(JSON.stringify(obj));
        if(res.code!=200) {
          this.$message.error("下载请求失败");
          return;
        }
        var downObj = {
        var downObj={
          guid: res.result,
          pwd: encodeURIComponent(encrypt.encrypt(this.codeForm.repassword)),
        };
        const data1 = await meta_selectDownloadFile(downObj);
        if (data1.code != 200) {
        const data1=await meta_selectDownloadFile(downObj);
        if(data1.code!=200) {
          this.$message.error("下载请求失败");
          return;
        }
        var token = getToken();
        var url =
          BASE_URL +
          "/meta/downloadFile?token=" +
          token +
          "&guid=" +
          res.result +
          "&pwd=" +
        var token=getToken();
        var url=
          BASE_URL+
          "/meta/downloadFile?token="+
          token+
          "&guid="+
          res.result+
          "&pwd="+
          encodeURIComponent(encrypt.encrypt(this.codeForm.repassword));
        $("#downFrame").attr("src", url).click();
        $("#downFrame").attr("src",url).click();
      } else {
        var val = "";
        var std = [];
        for (var i in data.result) {
          if (val == "") {
            val += "codes=" + data.result[i];
        var val="";
        var std=[];
        for(var i in data.result) {
          if(val=="") {
            val+="codes="+data.result[i];
          } else {
            val += "&codes=" + data.result[i];
            val+="&codes="+data.result[i];
          }
          std.push({
            name: data.result[i],
          });
        }
        const data1 = await meta_selectDepsByCodes(val);
        if (data1.code != 200) {
        const data1=await meta_selectDepsByCodes(val);
        if(data1.code!=200) {
          return;
        }
        this.fileFrom.depid = data1.result;
        this.fileFrom.ids = ids;
        this.fileFrom.pwd = encr(password);
        this.fileFrom.depcodes = data.result;
        this.dialogInsertFile = true;
        this.fileFrom.depid=data1.result;
        this.fileFrom.ids=ids;
        this.fileFrom.pwd=encr(password);
        this.fileFrom.depcodes=data.result;
        this.dialogInsertFile=true;
      }
      this.closeDown();
    },
    async getFileInsertApply() {
      this.dialogInsertFile = false;
    async getFileInsertApply () {
      this.dialogInsertFile=false;
      var obj = {
      var obj={
        ids: this.fileFrom.ids,
        pwd: this.fileFrom.pwd,
        tabs: ["元数据表"],
@@ -1934,9 +1652,9 @@
        depcodes: this.fileFrom.depcodes,
      };
      const data = await apply_insertApply(JSON.stringify(obj));
      const data=await apply_insertApply(JSON.stringify(obj));
      this.handleInsertFileClose();
      if (data.code != 200) {
      if(data.code!=200) {
        this.$message.error("数据申请失败");
        return;
      }
@@ -1945,9 +1663,9 @@
        type: "success",
      });
    },
    handleInsertFileClose() {
      this.dialogInsertFile = false;
      this.fileFrom = {
    handleInsertFileClose () {
      this.dialogInsertFile=false;
      this.fileFrom={
        descr: null,
        depid: null,
        ids: null,
@@ -1956,78 +1674,96 @@
      };
    },
    closeDown() {
      this.showCodeBox = false;
      this.codeForm.password = "";
      this.codeForm.repassword = "";
    closeDown () {
      this.showCodeBox=false;
      this.codeForm.password="";
      this.codeForm.repassword="";
    },
    downFormData() {
      if (this.multipleSelection.length == 0) {
    downFormData () {
      if(this.multipleSelection.length==0) {
        alert("请先选择要下载的文件");
        return;
      }
      this.showCodeBox = true;
      this.showCodeBox=true;
    },
    handleSizeChange(val) {
      this.listData.pageSize = val;
      this.listData.pageIndex = 1;
    handleSizeChange (val) {
      this.listData.pageSize=val;
      this.listData.pageIndex=1;
      this.getMetaData();
    },
    handleCurrentChange(val) {
      this.listData.pageIndex = val;
    handleCurrentChange (val) {
      this.listData.pageIndex=val;
      this.getMetaData();
    },
    //树列表生成
    treeData(source) {
      let cloneData = JSON.parse(JSON.stringify(source)); // 对源数据深度克隆
    treeData (source) {
      let cloneData=JSON.parse(JSON.stringify(source)); // 对源数据深度克隆
      return cloneData.filter((father) => {
        // 循环所有项
        let branchArr = cloneData.filter((child) => father.id == child.pid); // 对比ID,分别上下级菜单,并返回数据
        branchArr.length > 0 ? (father.children = branchArr) : ""; // 给父级添加一个children属性,并赋值
        return father.pid == 0; // 返回一级菜单
        let branchArr=cloneData.filter((child) => father.id==child.pid); // 对比ID,分别上下级菜单,并返回数据
        branchArr.length>0? (father.children=branchArr):""; // 给父级添加一个children属性,并赋值
        return father.pid==0; // 返回一级菜单
      });
    },
    showPreview(row) {
      let name = row.name;
      if (!name) return false;
    showPreview (row) {
      let name=row.name;
      if(!name) return false;
      return (
        name.indexOf("pdf") != -1 ||
        name.indexOf("jpg") != -1 ||
        name.indexOf("gif") != -1 ||
        name.indexOf("png") != -1 ||
        name.indexOf("jpeg") != -1
        name.indexOf("pdf")!=-1||
        name.indexOf("jpg")!=-1||
        name.indexOf("gif")!=-1||
        name.indexOf("png")!=-1||
        name.indexOf("jpeg")!=-1
      );
    },
    handlePreview(row) {
      let name = row.name;
    showCAD (row) {
      let name=row.name;
      if(!name) return false;
      return (
        name.indexOf("dwg")!=-1
      );
    },
    async handleCAD (row) {
      const data=await meta_selectConvertToDwg(row.id)
      if(data.result) {
        var url=iisHost+"/dwg/cad/browse/?file=data/"+data.result;
        window.open(url)
      } else {
        return this.$message("数据转换失败,无法预览");
      }
    },
    handlePreview (row) {
      let name=row.name;
      this.refreshAttatchDetail();
      if (name.indexOf(".pdf") != -1) {
        this.dialog.isPdf = true;
      } else if (
        name.indexOf(".jpg") != -1 ||
        name.indexOf(".gif") != -1 ||
        name.indexOf(".png") != -1 ||
        name.indexOf(".jpeg") != -1
      if(name.indexOf(".pdf")!=-1) {
        this.dialog.isPdf=true;
      } else if(
        name.indexOf(".jpg")!=-1||
        name.indexOf(".gif")!=-1||
        name.indexOf(".png")!=-1||
        name.indexOf(".jpeg")!=-1
      ) {
        this.dialog.isJpg = true;
        this.dialog.isJpg=true;
      }
      this.dialog.dialogVisible = true;
      this.dialog.dialogVisible=true;
      var url =
        BASE_URL +
        "/inquiry/downloadForView?guid=" +
        row.guid +
        "&token=" +
      var url=
        BASE_URL+
        "/inquiry/downloadForView?guid="+
        row.guid+
        "&token="+
        getToken();
      this.dialog.src = url;
      this.dialog.src=url;
    },
    refreshAttatchDetail() {
      this.dialog.src = "";
      this.dialog.dialogVisible = false;
      this.dialog.isPdf = false;
      this.dialog.isJpg = false;
    refreshAttatchDetail () {
      this.dialog.src="";
      this.dialog.dialogVisible=false;
      this.dialog.isPdf=false;
      this.dialog.isJpg=false;
    },
  },
};