管道基础大数据平台系统开发-【前端】-新系統界面
surprise
2024-03-29 98a2b24c89e81a5aacdcbd6b739fef422adf17dd
src/views/datamanage/dataUpdata.vue
@@ -1,47 +1,20 @@
<template>
  <div
    class="subpage_Box"
    v-loading="loading"
    element-loading-background="rgba(0, 0, 0, 0.8)"
    :element-loading-text="loadText"
  >
  <div class="subpage_Box" v-loading="loading" element-loading-background="rgba(0, 0, 0, 0.8)"
    :element-loading-text="loadText">
    <My-bread :list="[
        `${$t('dataManage.dataManage')}`,
        `${$t('dataManage.dataUpdata')}`,
      ]"></My-bread>
      `${$t('dataManage.dataManage')}`,
      `${$t('dataManage.dataUpdata')}`,
    ]"></My-bread>
    <el-divider />
    <el-tabs
      type="card"
      v-model="activeTabName"
      @tab-click="handleTabClick"
    >
    <el-tabs type="card" v-model="activeTabName" @tab-click="handleTabClick">
      <!-- 上传数据 -->
      <el-tab-pane
        :label="$t('dataManage.dataUpObj.uploaddata')"
        name="first"
      >
        <div
          class="inquire subpage_Div"
          ref="container"
        >
          <el-form
            :inline="true"
            :model="formInline"
            class="demo-form-inline"
          >
      <el-tab-pane :label="$t('dataManage.dataUpObj.uploaddata')" name="first">
        <div class="inquire subpage_Div" ref="container">
          <el-form :inline="true" :model="formInline" class="demo-form-inline">
            <!-- 入库类型 -->
            <el-form-item
              :label="$t('dataManage.dataUpObj.UploadType')"
              style="margin-right: 2%"
              size="small"
            >
              <el-select
                :disabled="tableData.length == 0 ? false : true"
                v-model="formInline.uploadType"
                @change="uploadTypeChange"
                :popper-append-to-body="false"
                placeholder="请选择"
              >
            <el-form-item :label="$t('dataManage.dataUpObj.UploadType')" style="margin-right: 2%" size="small">
              <el-select :disabled="tableData.length == 0 ? false : true" v-model="formInline.uploadType"
                @change="uploadTypeChange" :popper-append-to-body="false" placeholder="请选择">
                <!--                <el-option
                                  v-for="item in uploadOption"
                                  :key="item.value"
@@ -49,43 +22,19 @@
                                  :value="item.value"
                                ></el-option>-->
                <el-option
                  :label="$t('shuJuGuanLi.pselect.dFile')"
                  value="v1"
                />
                <el-option
                  :label="$t('shuJuGuanLi.pselect.dFiles')"
                  value="v2"
                />
                <el-option :label="$t('shuJuGuanLi.pselect.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
@@ -98,60 +47,25 @@
              ></el-cascader>  -->
            </el-form-item>
            <!-- 项目名称 -->
            <el-form-item
              style="margin-right: 2%"
              v-show="!uploadFlag"
              :label="$t('dataManage.dataUpObj.entryName')"
              size="small"
            >
              <el-select
                :popper-append-to-body="false"
                :disabled="tableData.length == 0 ? false : true"
                v-model="formInline.entryId"
                @change="entryNameChange"
                placeholder="请选择"
              >
                <el-option
                  v-for="item in entryOption"
                  :key="item.id"
                  :label="item.name"
                  :value="item.name"
                ></el-option>
            <el-form-item style="margin-right: 2%" v-show="!uploadFlag" :label="$t('dataManage.dataUpObj.entryName')"
              size="small">
              <el-select :popper-append-to-body="false" :disabled="tableData.length == 0 ? false : true"
                v-model="formInline.entryId" @change="entryNameChange" placeholder="请选择">
                <el-option v-for="item in entryOption" :key="item.id" :label="item.name" :value="item.name"></el-option>
              </el-select>
            </el-form-item>
            <!-- 数据版本 -->
            <el-form-item
              :label="$t('dataManage.dataUpObj.dataVersion')"
              style="margin-right: 2%"
              size="small"
            >
              <el-select
                :popper-append-to-body="false"
                :disabled="tableData.length == 0 ? false : true"
                v-model="formInline.verid"
                :placeholder="$t('common.choose')"
              >
                <el-option
                  v-for="item in verOption"
                  :key="item.id"
                  :label="item.name"
                  :value="item.id"
                >
            <el-form-item :label="$t('dataManage.dataUpObj.dataVersion')" style="margin-right: 2%" size="small">
              <el-select :popper-append-to-body="false" :disabled="tableData.length == 0 ? false : true"
                v-model="formInline.verid" :placeholder="$t('common.choose')">
                <el-option v-for="item in verOption" :key="item.id" :label="item.name" :value="item.id">
                </el-option>
              </el-select>
            </el-form-item>
            <!-- 数据专业 -->
            <el-form-item
              :label="$t('dataManage.dataUpObj.dataSpecialty')"
              style="margin-right: 2%"
              size="small"
            >
              <el-select
                :popper-append-to-body="false"
                :disabled="tableData.length == 0 ? false : true"
                v-model="formInline.specialtyId"
                :placeholder="$t('common.choose')"
              >
            <el-form-item :label="$t('dataManage.dataUpObj.dataSpecialty')" style="margin-right: 2%" size="small">
              <el-select :popper-append-to-body="false" :disabled="tableData.length == 0 ? false : true"
                v-model="formInline.specialtyId" :placeholder="$t('common.choose')">
                <!--                <el-option
                                  v-for="item in specialtyOption"
                                  :key="item.value"
@@ -159,212 +73,109 @@
                                  :value="item.value">
                                </el-option>-->
                <el-option
                  :label="$t('shuJuGuanLi.pselect.SurveyingAndMapping')"
                  value="测量专业"
                />
                <el-option
                  :label="$t('shuJuGuanLi.pselect.SurveysDiscipline')"
                  value="勘察专业"
                />
                <el-option
                  :label="$t('shuJuGuanLi.pselect.GeologicalDisasterSpecialty')"
                  value="地灾专业"
                />
                <el-option
                  :label="$t('shuJuGuanLi.pselect.CavernSpecialty')"
                  value="洞库专业"
                />
                <el-option
                  :label="$t('shuJuGuanLi.pselect.LineDiscipline')"
                  value='线路专业'
                />
                <el-option :label="$t('shuJuGuanLi.pselect.SurveyingAndMapping')" value="测量专业" />
                <el-option :label="$t('shuJuGuanLi.pselect.SurveysDiscipline')" value="勘察专业" />
                <el-option :label="$t('shuJuGuanLi.pselect.GeologicalDisasterSpecialty')" value="地灾专业" />
                <el-option :label="$t('shuJuGuanLi.pselect.CavernSpecialty')" value="洞库专业" />
                <el-option :label="$t('shuJuGuanLi.pselect.LineDiscipline')" value='线路专业' />
              </el-select>
            </el-form-item>
            <!-- 坐标系 -->
            <el-form-item
              :label="$t('dataManage.dataUpObj.coordinateSystem')"
              style="margin-right: 3%"
              size="small"
            >
              <el-select
                :popper-append-to-body="false"
                :disabled="tableData.length == 0 ? false : true"
                v-model="formInline.coordinateId"
                :placeholder="$t('common.choose')"
              >
                <el-option
                  v-for="item in coordinateOption"
                  :key="item.epsgcode"
                  :label="item.coordinate"
                  :value="item.epsgcode"
                >
            <el-form-item :label="$t('dataManage.dataUpObj.coordinateSystem')" style="margin-right: 3%" size="small">
              <el-select :popper-append-to-body="false" :disabled="tableData.length == 0 ? false : true"
                v-model="formInline.coordinateId" :placeholder="$t('common.choose')">
                <el-option v-for="item in coordinateOption" :key="item.epsgcode" :label="item.coordinate"
                  :value="item.epsgcode">
                </el-option>
              </el-select>
            </el-form-item>
            <div class="flex_box">
              <div style="margin-right: auto">
                <!-- 线路类别 -->
                <el-form-item size="small" :label="$t('dataManage.dataUpObj.labe11')"
                  v-show="formInline.uploadType == 'v3'">
                  <el-select v-model="formInline.tab" placeholder="请选择">
                    <el-option v-for="item in lineOptions" :key="item.value" :label="item.label" :value="item.value">
                    </el-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-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"
                  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"
                  size="small"
                >
                  <el-input
                    :placeholder="$t('shuJuGuanLi.shuJuJianSuo.valueone')"
                    v-model="formInline.metaData"
                    style="width:200px;"
                    disabled
                  >
                <el-form-item v-show="uploadFlag" v-if="formInline.uploadType == 'v1'" size="small">
                  <el-input :placeholder="$t('shuJuGuanLi.shuJuJianSuo.valueone')" v-model="formInline.metaData"
                    style="width:200px;" disabled>
                  </el-input>
                </el-form-item>
                <!-- 选择WBS数据 -->
                <el-form-item v-show="!uploadFlag">
                  <el-link
                    :disabled="tableData.length == 0 ? false : true"
                    v-show="formInline.wbsData == '请选择WBS数据'"
                    @click="setWBSFile"
                    :underline="false"
                    type="primary"
                  >{{ $t('dataManage.dataUpObj.selectWBSData') }}
                  <el-link :disabled="tableData.length == 0 ? false : true" v-show="formInline.wbsData == '请选择WBS数据'"
                    @click="setWBSFile" :underline="false" type="primary">{{ $t('dataManage.dataUpObj.selectWBSData') }}
                  </el-link>
                  <el-link
                    :disabled="tableData.length == 0 ? false : true"
                    v-show="formInline.wbsData != '请选择WBS数据'"
                    @click="restWBSFile"
                    :underline="false"
                    type="primary"
                  >{{ $t('common.reset') }}
                  <el-link :disabled="tableData.length == 0 ? false : true" v-show="formInline.wbsData != '请选择WBS数据'"
                    @click="restWBSFile" :underline="false" type="primary">{{ $t('common.reset') }}
                  </el-link>
                  <input
                    id="wbsDataFile"
                    type="file"
                    name="file"
                    multiple="multiple"
                    accept=".xls,.xlsx"
                    style="display: none"
                    @change="handleWBSFileChange"
                  ></input>
                  <input id="wbsDataFile" type="file" name="file" multiple="multiple" accept=".xls,.xlsx"
                    style="display: none" @change="handleWBSFileChange"></input>
                </el-form-item>
                <el-form-item v-show="!uploadFlag">
                  <el-input
                    placeholder="请选择WBS数据"
                    v-model="formInline.wbsData"
                    style="width:210px;"
                    disabled
                  >
                  <el-input placeholder="请选择WBS数据" v-model="formInline.wbsData" style="width:210px;" disabled>
                  </el-input>
                </el-form-item>
              </div>
              <div>
                <el-form-item>
                  <!-- 上传 -->
                  <el-button
                    v-if="menuStatus.upload"
                    :disabled="tableData.length == 0 ? false : true"
                    @click="setFileUpload"
                    size="small"
                    icon="el-icon-upload"
                    type="success"
                  >{{
                  <el-button v-if="menuStatus.upload" :disabled="tableData.length == 0 ? false : true"
                    @click="setFileUpload" size="small" icon="el-icon-upload" type="success">{{
                      $t('common.upload')
                    }}
                  </el-button>
                  <!-- 删除 -->
                  <el-button
                    v-if="menuStatus.delete"
                    :disabled="multipleSelection.length == 0 ? true : false"
                    icon="el-icon-delete"
                    size="small"
                    @click="setFileDelete"
                    type="danger"
                  >{{ $t('common.delete') }}
                  <el-button v-if="menuStatus.delete" :disabled="multipleSelection.length == 0 ? true : false"
                    icon="el-icon-delete" size="small" @click="setFileDelete" type="danger">{{ $t('common.delete') }}
                  </el-button>
                  <!-- 入库 -->
                  <el-button
                    v-if="menuStatus.insert"
                    @click="setFileWare"
                    size="small"
                    :disabled="tableData.length == 0 ?  true: false"
                    icon="el-icon-folder-add"
                    type="warning"
                  >{{ $t('common.Warehousin') }}
                  <el-button v-if="menuStatus.insert" @click="setFileWare" size="small"
                    :disabled="tableData.length == 0 ? true : false" icon="el-icon-folder-add" type="warning">{{
                      $t('common.Warehousin') }}
                  </el-button>
                  <!-- 质检 -->
                  <el-button
                    style="margin-right:-9px"
                    v-if="menuStatus.insert"
                    :disabled="multipleSelection.length == 0 ? true : false"
                    type="info"
                    size="small"
                    icon="el-icon-folder-checked"
                    @click="handleQuayTestClick()"
                  >{{ $t('common.quayTest') }}
                  <el-button style="margin-right:-9px" v-if="menuStatus.insert"
                    :disabled="multipleSelection.length == 0 ? true : false" type="info" size="small"
                    icon="el-icon-folder-checked" @click="handleQuayTestClick()">{{ $t('common.quayTest') }}
                  </el-button>
                </el-form-item>
@@ -376,63 +187,20 @@
        </div>
        <!-- 上传数据列表 -->
        <div class="dividing-line"></div>
        <div
          class="table_box"
          :style="styleVar"
        >
          <el-table
            style="width:100%"
            border
            :data="tableData"
            @selection-change="handleSelectionChange"
            height="calc(100% - 57px)"
          >
            <el-table-column
              type="selection"
              width="55"
            />
        <div class="table_box" :style="styleVar">
          <el-table style="width:100%" border :data="tableData" @selection-change="handleSelectionChange"
            height="calc(100% - 57px)">
            <el-table-column type="selection" width="55" />
            <el-table-column
              align="center"
              type="index"
              :label="$t('common.index')"
              width="70px"
            />
            <el-table-column
              align="center"
              prop="name"
              :label="$t('common.name')"
            />
            <el-table-column
              align="center"
              prop="sizes"
              :label="$t('common.size')"
              :formatter="changeSizeFile"
            />
            <el-table-column
              align="center"
              prop="status"
              label="状态"
            />
            <el-table-column
              align="center"
              prop="code"
              label="状态"
              v-if="false"
            />
            <el-table-column
              label="操作"
              width="120"
            >
            <el-table-column align="center" type="index" :label="$t('common.index')" width="70px" />
            <el-table-column align="center" prop="name" :label="$t('common.name')" />
            <el-table-column align="center" prop="sizes" :label="$t('common.size')" :formatter="changeSizeFile" />
            <el-table-column align="center" prop="status" label="状态" />
            <el-table-column align="center" prop="code" label="状态" v-if="false" />
            <el-table-column label="操作" width="120">
              <template slot-scope="scope">
                <el-button
                  v-if="menuStatus.download"
                  v-show="scope.row.code != null"
                  @click="handerLogClick(scope.row)"
                  type="primary"
                  size="mini"
                  plain
                > 日志
                <el-button v-if="menuStatus.download" v-show="scope.row.code != null" @click="handerLogClick(scope.row)"
                  type="primary" size="mini" plain> 日志
                </el-button>
              </template>
            </el-table-column>
@@ -440,55 +208,25 @@
        </div>
      </el-tab-pane>
      <!-- 入库数据清单 -->
      <el-tab-pane
        :label="$t('dataManage.dataUpObj.receiptdata')"
        name="second"
      >
        <div
          class="inquire subpage_Div"
          ref="container1"
        >
          <el-form
            :inline="true"
            :model="formWarehousing"
            class="demo-form-inline"
          >
      <el-tab-pane :label="$t('dataManage.dataUpObj.receiptdata')" name="second">
        <div class="inquire subpage_Div" ref="container1">
          <el-form :inline="true" :model="formWarehousing" class="demo-form-inline">
            <div class="flex_box">
              <div style="margin-right: auto">
                <el-form-item
                  size="small"
                  :label="$t('dataManage.dataUpObj.describe')"
                >
                  <el-input
                    v-model="formWarehousing.name"
                    :placeholder="$t('shuJuGuanLi.lable1')"
                    style="width: 200px;"
                  ><i
                      slot="suffix"
                      class="el-icon-search"
                      @click="setWarehouseSearch"
                      style="padding-right: 8px"
                    ></i></el-input>
                <el-form-item size="small" :label="$t('dataManage.dataUpObj.describe')">
                  <el-input v-model="formWarehousing.name" :placeholder="$t('shuJuGuanLi.lable1')"
                    style="width: 200px;"><i slot="suffix" class="el-icon-search" @click="setWarehouseSearch"
                      style="padding-right: 8px"></i></el-input>
                </el-form-item>
              </div>
              <div>
                <el-form-item>
                  <el-button
                    v-if="menuStatus.upload"
                    :disabled="multipleDelete.length == 0 ? true : false"
                    @click="setEnclosure"
                    icon="el-icon-folder-opened"
                    type="success"
                    size="small"
                  >{{ $t('common.enclosure') }}
                  <el-button v-if="menuStatus.upload" :disabled="multipleDelete.length == 0 ? true : false"
                    @click="setEnclosure" icon="el-icon-folder-opened" type="success" size="small">{{
                      $t('common.enclosure') }}
                  </el-button>
                  <el-button
                    v-if="menuStatus.delete"
                    @click="setWarehouseDel"
                    icon="el-icon-folder-delete"
                    type="danger"
                    size="small"
                  >{{ $t('common.delete') }}
                  <el-button v-if="menuStatus.delete" @click="setWarehouseDel" icon="el-icon-folder-delete" type="danger"
                    size="small">{{ $t('common.delete') }}
                  </el-button>
                  <!--                  <el-button
                      @click="setWarehouseSearch"
@@ -499,12 +237,8 @@
                      $t('common.iquery')
                    }}
                  </el-button>-->
                  <el-button
                    @click="setWarehouseReset"
                    icon="el-icon-folder-add"
                    size="small"
                    type="info"
                  >{{ $t('common.reset') }}
                  <el-button @click="setWarehouseReset" icon="el-icon-folder-add" size="small" type="info">{{
                    $t('common.reset') }}
                  </el-button>
                </el-form-item>
              </div>
@@ -514,139 +248,51 @@
        </div>
        <!-- 入库 -->
        <div class="dividing-line"></div>
        <div
          class="table_box"
          :style="styleVar1"
        >
          <el-table
            ref="filterTable"
            :data="waretableData"
            style="width: 100%"
            border
            height="calc(100% - 57px)"
            @selection-change="handleDelteChange"
          >
            <el-table-column
              type="selection"
              width="55"
            >
        <div class="table_box" :style="styleVar1">
          <el-table ref="filterTable" :data="waretableData" style="width: 100%" border height="calc(100% - 57px)"
            @selection-change="handleDelteChange">
            <el-table-column type="selection" width="55">
            </el-table-column>
            <el-table-column
              align="center"
              type="index"
              :label="$t('common.index')"
              width="70px"
            ></el-table-column>
            <el-table-column
              align="center"
              :label="$t('common.name')"
              width="120"
            >
            <el-table-column align="center" type="index" :label="$t('common.index')" width="70px"></el-table-column>
            <el-table-column align="center" :label="$t('common.name')" width="120">
              <template slot-scope="scope">
                <span v-if="scope.row.ismeta > 0">
                  <el-link
                    style="color:#409eff"
                    title="源数据查询"
                    @click="setQueryMetaData(scope.row)"
                    target="_blank"
                  >{{ scope.row.name }}</el-link>
                  <el-link style="color:#409eff" title="源数据查询" @click="setQueryMetaData(scope.row)" target="_blank">{{
                    scope.row.name }}</el-link>
                </span>
                <span v-else-if="scope.row.metaid > 0">
                  <el-link
                    style="color:#409eff"
                    title="元数据查询"
                    @click="setMetaDataQuery(scope.row)"
                    target="_blank"
                  >{{ scope.row.name }}</el-link>
                  <el-link style="color:#409eff" title="元数据查询" @click="setMetaDataQuery(scope.row)" target="_blank">{{
                    scope.row.name }}</el-link>
                </span>
                <span v-else>{{ scope.row.name }}</span>
              </template>
            </el-table-column>
            <el-table-column
              align="center"
              prop="dirName"
              :label="$t('dataManage.dataUpObj.catalogue')"
              width="300"
            />
            <el-table-column
              align="center"
              prop="depName"
              :label="$t('dataManage.dataUpObj.company')"
              width="200"
            />
            <el-table-column
              align="center"
              prop="verName"
              :label="$t('dataManage.dataUpObj.versionNo')"
            />
            <el-table-column
              align="center"
              prop="type"
              :label="$t('common.type')"
            />
            <el-table-column
              align="center"
              prop="sizes"
              :label="$t('common.size')"
              :formatter="changeSizeFile"
            />
            <el-table-column
              align="center"
              :label="$t('dataManage.dataUpObj.tableName')"
            >
            <el-table-column align="center" prop="dirName" :label="$t('dataManage.dataUpObj.catalogue')" width="300" />
            <el-table-column align="center" prop="depName" :label="$t('dataManage.dataUpObj.company')" width="200" />
            <el-table-column align="center" prop="verName" :label="$t('dataManage.dataUpObj.versionNo')" />
            <el-table-column align="center" prop="type" :label="$t('common.type')" />
            <el-table-column align="center" prop="sizes" :label="$t('common.size')" :formatter="changeSizeFile" />
            <el-table-column align="center" :label="$t('dataManage.dataUpObj.tableName')">
              <template slot-scope="scope">
                <a
                  class="scopeRowColor"
                  @click="detail(scope.row)"
                >{{ scope.row.tab }}</a>
                <a class="scopeRowColor" @click="detail(scope.row)">{{ scope.row.tab }}</a>
              </template>
            </el-table-column>
            <el-table-column
              align="center"
              prop="rows"
              :label="$t('common.lineNuber')"
            />
            <el-table-column
              align="center"
              :label="$t('common.dataStatus')"
              :formatter="stateFormat"
            >
            <el-table-column align="center" prop="rows" :label="$t('common.lineNuber')" />
            <el-table-column align="center" :label="$t('common.dataStatus')" :formatter="stateFormat">
            </el-table-column>
            <el-table-column
              align="
                  center"
              prop="desc"
              :label="$t('dataManage.dataUpObj.describe')"
            />
            <el-table-column
              align="center"
              prop="uname"
              :label="$t('dataManage.vmobj.createonuser')"
            />
            <el-table-column
              align="center"
              prop="createTime"
              :label="$t('dataManage.vmobj.createontime')"
              :formatter="changetimeFile"
              width="100"
            />
            <el-table-column align="
                  center" prop="desc" :label="$t('dataManage.dataUpObj.describe')" />
            <el-table-column align="center" prop="uname" :label="$t('dataManage.vmobj.createonuser')" />
            <el-table-column align="center" prop="createTime" :label="$t('dataManage.vmobj.createontime')"
              :formatter="changetimeFile" width="100" />
          </el-table>
          <div
            class="pagination_box"
            style="margin-top: 15px"
          >
            <el-pagination
              @size-change="handleSizeChange"
              @current-change="handleCurrentChange"
              :current-page="listData.pageIndex"
              :page-sizes="[10, 50, 100, 200]"
              :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>
@@ -654,109 +300,47 @@
      </el-tab-pane>
    </el-tabs>
    <!-- 质检弹窗 -->
    <el-dialog
      title="数据质检"
      :visible.sync="quayTestVisible"
      width="70%"
      :modal="false"
      :before-close="handleQuayTestCloseDown"
    >
    <el-dialog title="数据质检" :visible.sync="quayTestVisible" width="70%" :modal="false"
      :before-close="handleQuayTestCloseDown">
      <div class="dialogDiv">
        <el-form
          :inline="true"
          :model="quayTestForms "
          class="demo-form-inline"
        >
        <el-form :inline="true" :model="quayTestForms" class="demo-form-inline">
          <el-form-item :label="$t('dataManage.dataUpObj.dataSpecialty')">
            <el-input
              disabled
              v-model="quayTestForms.sjzy"
            ></el-input>
            <el-input disabled v-model="quayTestForms.sjzy"></el-input>
          </el-form-item>
          <el-form-item :label="$t('dataManage.dataUpObj.storageDirectory')">
            <el-input
              disabled
              style="width:400px"
              v-model="quayTestForms.names"
            ></el-input>
            <el-input disabled style="width:400px" v-model="quayTestForms.names"></el-input>
          </el-form-item>
        </el-form>
        <el-divider />
        <div class="dialogContent">
          <div
            class="ContBox"
            v-show="quayTestShow.checkAttrs"
          >
            <el-checkbox
              checked
              disabled
            >属性检查:(*dlg*.gdb+*地形图**.dwg)
          <div class="ContBox" v-show="quayTestShow.checkAttrs">
            <el-checkbox checked disabled>属性检查:(*dlg*.gdb+*地形图**.dwg)
            </el-checkbox>
          </div>
          <div
            class="ContBox"
            v-show="quayTestShow.checkMath"
          >
            <el-checkbox
              checked
              disabled
            >数学基础检查:(.shp,.dlg)
          <div class="ContBox" v-show="quayTestShow.checkMath">
            <el-checkbox checked disabled>数学基础检查:(.shp,.dlg)
            </el-checkbox>
          </div>
          <div
            class="ContBox"
            v-show="quayTestShow.checkDecorate"
          >
            <el-checkbox
              checked
              disabled
            >图面整饰检查:(.dwg)
          <div class="ContBox" v-show="quayTestShow.checkDecorate">
            <el-checkbox checked disabled>图面整饰检查:(.dwg)
            </el-checkbox>
          </div>
          <div
            class="ContBox"
            v-show="quayTestShow.checkXls"
          >
            <el-checkbox
              checked
              disabled
            >表格数据检查:(.xls/.xlsx)
          <div class="ContBox" v-show="quayTestShow.checkXls">
            <el-checkbox checked disabled>表格数据检查:(.xls/.xlsx)
            </el-checkbox>
          </div>
          <div
            class="ContBox"
            v-show="quayTestShow.checkOrigin"
          >
            <el-checkbox
              checked
              disabled
            >原点检查:(*剖面图*.dwg)
          <div class="ContBox" v-show="quayTestShow.checkOrigin">
            <el-checkbox checked disabled>原点检查:(*剖面图*.dwg)
            </el-checkbox>
          </div>
          <div
            class="ContBox"
            v-show="quayTestShow.checkMeta"
          >
            <el-checkbox
              checked
              disabled
            >元数据检查:(*元数据*.xls/.xlsx)
          <div class="ContBox" v-show="quayTestShow.checkMeta">
            <el-checkbox checked disabled>元数据检查:(*元数据*.xls/.xlsx)
            </el-checkbox>
          </div>
          <div
            class="ContBox"
            v-show="quayTestShow.checkTopology"
          >
            <el-form
              ref="quayForms"
              :model="quayTestForms"
              class="demo-form-inline"
            >
          <div class="ContBox" v-show="quayTestShow.checkTopology">
            <el-form ref="quayForms" :model="quayTestForms" class="demo-form-inline">
              <el-form-item>
                <el-checkbox
                  checked
                  disabled
                >拓扑检查:(*地形图*.dwg)
                <el-checkbox checked disabled>拓扑检查:(*地形图*.dwg)
                </el-checkbox>
              </el-form-item>
              <el-form-item>
@@ -801,20 +385,10 @@
              </el-form-item>
            </el-form>
          </div>
          <div
            class="ContBox"
            v-show="quayTestShow.checkDom"
          >
            <el-form
              ref="quayForms"
              :model="quayTestForms"
              class="demo-form-inline"
            >
          <div class="ContBox" v-show="quayTestShow.checkDom">
            <el-form ref="quayForms" :model="quayTestForms" class="demo-form-inline">
              <el-form-item>
                <el-checkbox
                  checked
                  disabled
                >栅格检查:(.tif/.img)
                <el-checkbox checked disabled>栅格检查:(.tif/.img)
                </el-checkbox>
              </el-form-item>
              <el-form-item>
@@ -835,20 +409,10 @@
              </el-form-item>
            </el-form>
          </div>
          <div
            class="ContBox"
            v-show="quayTestShow.checkDem"
          >
            <el-form
              ref="quayForms"
              :model="quayTestForms"
              class="demo-form-inline"
            >
          <div class="ContBox" v-show="quayTestShow.checkDem">
            <el-form ref="quayForms" :model="quayTestForms" class="demo-form-inline">
              <el-form-item>
                <el-checkbox
                  checked
                  disabled
                >高程检查:(.tif/.img)
                <el-checkbox checked disabled>高程检查:(.tif/.img)
                </el-checkbox>
              </el-form-item>
              <el-form-item>
@@ -869,20 +433,10 @@
              </el-form-item>
            </el-form>
          </div>
          <div
            class="ContBox"
            v-show="quayTestShow.checkLaz"
          >
            <el-form
              ref="quayForms"
              :model="quayTestForms"
              class="demo-form-inline"
            >
          <div class="ContBox" v-show="quayTestShow.checkLaz">
            <el-form ref="quayForms" :model="quayTestForms" class="demo-form-inline">
              <el-form-item>
                <el-checkbox
                  checked
                  disabled
                >点云检查:(.laz + *激光点云*.xls/.xlsx)
                <el-checkbox checked disabled>点云检查:(.laz + *激光点云*.xls/.xlsx)
                </el-checkbox>
              </el-form-item>
              <el-form-item>
@@ -895,20 +449,10 @@
              </el-form-item>
            </el-form>
          </div>
          <div
            class="ContBox"
            v-show="quayTestShow.checkOsgb"
          >
            <el-form
              ref="quayForms"
              :model="quayTestForms"
              class="demo-form-inline"
            >
          <div class="ContBox" v-show="quayTestShow.checkOsgb">
            <el-form ref="quayForms" :model="quayTestForms" class="demo-form-inline">
              <el-form-item>
                <el-checkbox
                  checked
                  disabled
                >OSGB检查:(.osgb + *倾斜摄影*.xls/.xlsx)
                <el-checkbox checked disabled>OSGB检查:(.osgb + *倾斜摄影*.xls/.xlsx)
                </el-checkbox>
              </el-form-item>
              <el-form-item>
@@ -923,111 +467,47 @@
          </div>
        </div>
      </div>
      <span
        slot="footer"
        class="dialog-footer"
      >
        <el-button
          class="elBotton"
          size="small"
          @click="quayTestVisible = false"
        >取 消</el-button>
        <el-button
          class="elBotton"
          size="small"
          @click="commonQuayTest"
        >确 定</el-button>
      <span slot="footer" class="dialog-footer">
        <el-button class="elBotton" size="small" @click="quayTestVisible = false">取 消</el-button>
        <el-button class="elBotton" size="small" @click="commonQuayTest">确 定</el-button>
      </span>
    </el-dialog>
    <!-- 整体文件质检弹窗 -->
    <el-dialog
      title="数据质检"
      :visible.sync="testQuayVisible"
      :modal="false"
      :before-close="handleTestQuayCloseDown"
    >
      <el-form
        :model="formCheckAll"
        label-position="top"
      >
    <el-dialog title="数据质检" :visible.sync="testQuayVisible" :modal="false" :before-close="handleTestQuayCloseDown">
      <el-form :model="formCheckAll" label-position="top">
        <el-form-item label="项目名称">
          <el-input
            disabled
            v-model="formCheckAll.xmmc"
            style="width:85%"
          ></el-input>
          <el-input disabled v-model="formCheckAll.xmmc" style="width:85%"></el-input>
        </el-form-item>
        <el-form-item label="所属专业">
          <el-input
            disabled
            v-model="formCheckAll.sjzy"
            style="width:85%"
          ></el-input>
          <el-input disabled v-model="formCheckAll.sjzy" style="width:85%"></el-input>
        </el-form-item>
        <el-form-item
          v-show="formCheckAll.isDiZai"
          label="地灾类型"
        >
        <el-form-item v-show="formCheckAll.isDiZai" label="地灾类型">
          <el-select
            v-model="formCheckAll.diZaiType"
            placeholder="请选择"
            style="width:85%"
          >
            <el-option
              v-for="item in disOptions"
              :key="item.value"
              :label="item.label"
              :value="item.value"
            >
          <el-select v-model="formCheckAll.diZaiType" placeholder="请选择" style="width:85%">
            <el-option v-for="item in disOptions" :key="item.value" :label="item.label" :value="item.value">
            </el-option>
          </el-select>
        </el-form-item>
      </el-form>
      <span
        slot="footer"
        class="dialog-footer"
      >
        <el-button
          class="elBotton"
          size="small"
          @click="testQuayVisible = false"
        >取 消</el-button>
        <el-button
          class="elBotton"
          size="small"
          @click="commonTestQuay()"
        >确 定</el-button>
      <span slot="footer" class="dialog-footer">
        <el-button class="elBotton" size="small" @click="testQuayVisible = false">取 消</el-button>
        <el-button class="elBotton" size="small" @click.stop="commonTestQuay()">确 定</el-button>
      </span>
    </el-dialog>
    <!-- ifream下载文件地址 -->
    <iframe
      id="downFrame"
      src=""
      style="display: none; border: 0; padding: 0; height: 0; width: 0"
    ></iframe>
    <iframe id="downFrame" src="" style="display: none; border: 0; padding: 0; height: 0; width: 0"></iframe>
    <!-- 数据匹配 -->
    <el-dialog
      :title="$t('dataManage.datawarehousing')"
      :visible.sync="dialogWarehousing"
      width="70%"
    >
    <el-dialog :title="$t('dataManage.datawarehousing')" :visible.sync="dialogWarehousing" width="70%">
      <div class="dialogBox">
        <div
          class="transFarBox subpage_Div"
          style="border: 1px solid #E4E7ED;"
        >
        <div class="transFarBox subpage_Div" style="border: 1px solid #E4E7ED;">
          <ul>
            <li
              @click="singleElection(item)"
              v-for="(item, i) in tableWareOne"
              :class="{ active: activeName == item.eventid }"
            >{{ item.tab }} ({{ item.type }})
            <li @click="singleElection(item)" v-for="(item, i) in tableWareOne"
              :class="{ active: activeName == item.eventid }">{{ item.tab }} ({{ item.type }})
            </li>
          </ul>
        </div>
@@ -1039,16 +519,10 @@
          </div>
        </div>
        <div
          class="transFarBox subpage_Div"
          style="border: 1px solid #E4E7ED;"
        >
        <div class="transFarBox subpage_Div" style="border: 1px solid #E4E7ED;">
          <ul>
            <li
              @click="singleElection2(item)"
              v-for="(item, i) in tableWareTwo"
              :class="{ active: activeName2 == item.entity }"
            >{{ item.tabDesc }} ( {{ item.ns }}.{{ item.tab }})
            <li @click="singleElection2(item)" v-for="(item, i) in tableWareTwo"
              :class="{ active: activeName2 == item.entity }">{{ item.tabDesc }} ( {{ item.ns }}.{{ item.tab }})
            </li>
          </ul>
        </div>
@@ -1059,383 +533,174 @@
            </div>
            <br />
            <div style="padding:2%">
              <el-link><i
                  @click="setWareTableChangeRight"
                  class="el-icon-d-arrow-right"
                ></i></el-link>
              <el-link><i @click="setWareTableChangeRight" class="el-icon-d-arrow-right"></i></el-link>
            </div>
          </div>
        </div>
        <div
          class="transFarBox subpage_Div"
          style="border: 1px solid #E4E7ED;"
        >
        <div class="transFarBox subpage_Div" style="border: 1px solid #E4E7ED;">
          <ul>
            <li
              @click="singleElection3(i)"
              v-for="(item, i) in tableWareThree"
              :class="{ active: activeName3 ==( item.tab+i)}"
            >{{ item.tab }} ( {{ item.tabDesc }} {{ item.ns }}.{{ item.tabs }} )
            <li @click="singleElection3(i)" v-for="(item, i) in tableWareThree"
              :class="{ active: activeName3 == (item.tab + i) }">{{ item.tab }} ( {{ item.tabDesc }} {{ item.ns }}.{{
                item.tabs }} )
            </li>
          </ul>
        </div>
      </div>
      <span
        slot="footer"
        class="dialog-footer"
      >
        <el-button
          size="small"
          @click="autoMatchWare"
          type="primary"
        >自动匹配</el-button>
        <el-button
          size="small"
          type="info"
          @click="setInsrtWareTableClose "
        >取 消</el-button>
        <el-button
          size="small"
          type="primary"
          @click="setInsrtWareTable"
        >确 定</el-button>
      <span slot="footer" class="dialog-footer">
        <el-button size="small" @click="autoMatchWare" type="primary">自动匹配</el-button>
        <el-button size="small" type="info" @click="setInsrtWareTableClose">取 消</el-button>
        <el-button size="small" type="primary" @click="setInsrtWareTable">确 定</el-button>
      </span>
    </el-dialog>
    <el-dialog
      :title="$t('common.details')"
      :visible.sync="dialogVisible"
      width="70%"
    >
    <el-dialog :title="$t('common.details')" :visible.sync="dialogVisible" width="70%">
      <div style="height: 500px; overflow: auto">
        <el-table
          ref="filterTable"
          :data="dbTableData"
          height="90%"
          border
          style="width: 100%"
        >
          <el-table-column
            width="60"
            type="index"
            :label="$t('common.index')"
          />
          <el-table-column
            v-for="(item, index) in attributeData"
            :key="index"
            :label="item.alias"
            :prop="item.field"
            show-overflow-tooltip
            align="center"
          ></el-table-column>
        <el-table ref="filterTable" :data="dbTableData" height="90%" border style="width: 100%">
          <el-table-column width="60" type="index" :label="$t('common.index')" />
          <el-table-column v-for="(item, index) in attributeData" :key="index" :label="item.alias" :prop="item.field"
            show-overflow-tooltip align="center"></el-table-column>
        </el-table>
        <div
          style="margin-top: 15px"
          class="pagination_box"
        >
          <el-pagination
            @size-change="handleLoaderSizeChange"
            @current-change="handleLoaderCurrentChange"
            :current-page="listLoader.pageIndex"
            :page-sizes="[10, 50, 100, 200]"
            :page-size="listLoader.pageSize"
            layout="total, sizes, prev, pager, next, jumper"
            :total="count1"
          >
        <div style="margin-top: 15px" class="pagination_box">
          <el-pagination @size-change="handleLoaderSizeChange" @current-change="handleLoaderCurrentChange"
            :current-page="listLoader.pageIndex" :page-sizes="[10, 50, 100, 200]" :page-size="listLoader.pageSize"
            layout="total, sizes, prev, pager, next, jumper" :total="count1">
          </el-pagination>
        </div>
      </div>
    </el-dialog>
    <el-dialog
      :close-on-click-modal="false"
      :title="sc.label1"
      :visible.sync="jindudialogVisible"
      width="30%"
    >
    <el-dialog :close-on-click-modal="false" :title="sc.label1" :visible.sync="jindudialogVisible" width="30%">
      <div>
        <div>
          {{sc.label2}}
          {{ sc.label2 }}
        </div>
        <div>
          <el-progress
            :percentage="jindutiao"
            :format="format"
          ></el-progress>
          <el-progress :percentage="jindutiao" :format="format"></el-progress>
        </div>
      </div>
    </el-dialog>
    <el-dialog
      :title="$t('common.details')"
      :visible.sync="enclosureVisible"
      :show-close="false"
    >
      <span
        style="font-size:20px"
        class="scopeRowColor"
      >{{ enclosureTitle }}不能上传附件是否继续</span>
      <span
        slot="footer"
        class="dialog-footer"
      >
    <el-dialog :title="$t('common.details')" :visible.sync="enclosureVisible" :show-close="false">
      <span style="font-size:20px" class="scopeRowColor">{{ enclosureTitle }}不能上传附件是否继续</span>
      <span slot="footer" class="dialog-footer">
        <el-button @click="enclosureVisible = false">取 消</el-button>
        <el-button
          type="primary"
          @click="uploadAnFiles"
        >继续</el-button>
        <el-button type="primary" @click="uploadAnFiles">继续</el-button>
      </span>
    </el-dialog>
    <el-dialog
      :title="fromQueryMeta.title"
      :visible.sync="queryMetaFlag"
      width="70%"
    >
    <el-dialog :title="fromQueryMeta.title" :visible.sync="queryMetaFlag" width="70%">
      <div style="height: 500px; overflow: auto;width:100%; ">
        <el-form
          :inline="true"
          :model="fromQueryMeta"
          class="demo-form-inline"
        >
        <el-form :inline="true" :model="fromQueryMeta" class="demo-form-inline">
          <el-form-item>
            <el-input
              size="small"
              v-model="fromQueryMeta.name"
              :placeholder="$t('shuJuGuanLi.shuJuJianSuo.valueone')"
              suffix-icon="el-icon-edit"
            ></el-input>
            <el-input size="small" v-model="fromQueryMeta.name" :placeholder="$t('shuJuGuanLi.shuJuJianSuo.valueone')"
              suffix-icon="el-icon-edit"></el-input>
          </el-form-item>
          <el-form-item>
            <el-button
              type="primary"
              size="small"
              @click="setSearchMetaData()"
            >查询</el-button>
            <el-button
              type="info"
              size="small"
              @click="setRestMetaData()"
            >重置</el-button>
            <el-button type="primary" size="small" @click="setSearchMetaData()">查询</el-button>
            <el-button type="info" size="small" @click="setRestMetaData()">重置</el-button>
          </el-form-item>
        </el-form>
        <el-table
          ref="filterTable"
          :data="metaDataTable"
          style="width: 100%"
          height="calc(100% - 130px)"
        >
        <el-table ref="filterTable" :data="metaDataTable" style="width: 100%" height="calc(100% - 130px)">
          <el-table-column
            align="center"
            type="index"
            :label="$t('common.index')"
            width="70px"
          ></el-table-column>
          <el-table-column
            align="center"
            prop="name"
            :label="$t('common.name')"
            width="120"
          >
          <el-table-column align="center" type="index" :label="$t('common.index')" width="70px"></el-table-column>
          <el-table-column align="center" prop="name" :label="$t('common.name')" width="120">
          </el-table-column>
          <el-table-column
            align="center"
            prop="dirName"
            :label="$t('dataManage.dataUpObj.catalogue')"
            width="300"
          />
          <el-table-column
            align="center"
            prop="depName"
            :label="$t('dataManage.dataUpObj.company')"
            width="200"
          />
          <el-table-column
            align="center"
            prop="verName"
            :label="$t('dataManage.dataUpObj.versionNo')"
          />
          <el-table-column
            align="center"
            prop="type"
            :label="$t('common.type')"
          />
          <el-table-column
            align="center"
            prop="sizes"
            :label="$t('common.size')"
            :formatter="changeSizeFile"
          />
          <el-table-column
            align="center"
            :label="$t('dataManage.dataUpObj.tableName')"
          >
          <el-table-column align="center" prop="dirName" :label="$t('dataManage.dataUpObj.catalogue')" width="300" />
          <el-table-column align="center" prop="depName" :label="$t('dataManage.dataUpObj.company')" width="200" />
          <el-table-column align="center" prop="verName" :label="$t('dataManage.dataUpObj.versionNo')" />
          <el-table-column align="center" prop="type" :label="$t('common.type')" />
          <el-table-column align="center" prop="sizes" :label="$t('common.size')" :formatter="changeSizeFile" />
          <el-table-column align="center" :label="$t('dataManage.dataUpObj.tableName')">
            <template slot-scope="scope">
              <a
                class="scopeRowColor"
                @click="detail(scope.row)"
              >{{ scope.row.tab }}</a>
              <a class="scopeRowColor" @click="detail(scope.row)">{{ scope.row.tab }}</a>
            </template>
          </el-table-column>
          <el-table-column
            align="center"
            prop="rows"
            :label="$t('common.lineNuber')"
          />
          <el-table-column
            align="center"
            prop="desc"
            :label="$t('dataManage.dataUpObj.describe')"
          />
          <el-table-column align="center" prop="rows" :label="$t('common.lineNuber')" />
          <el-table-column align="center" prop="desc" :label="$t('dataManage.dataUpObj.describe')" />
        </el-table>
        <div
          style="margin-top: 15px"
          class="pagination_box"
        >
          <el-pagination
            @size-change="handleMetaSizeChange"
            @current-change="handMetaCurrentChange"
            :current-page="listMetaData.pageIndex"
            :page-sizes="[10, 50, 100, 200]"
            :page-size="listMetaData.pageSize"
            layout="total, sizes, prev, pager, next, jumper"
            :total="listMetaData.count"
          >
        <div style="margin-top: 15px" class="pagination_box">
          <el-pagination @size-change="handleMetaSizeChange" @current-change="handMetaCurrentChange"
            :current-page="listMetaData.pageIndex" :page-sizes="[10, 50, 100, 200]" :page-size="listMetaData.pageSize"
            layout="total, sizes, prev, pager, next, jumper" :total="listMetaData.count">
          </el-pagination>
        </div>
      </div>
    </el-dialog>
    <el-dialog
      :title="fromQueryMeta.title"
      :visible.sync="queryMetaFlag1"
      width="70%"
    >
    <el-dialog :title="fromQueryMeta.title" :visible.sync="queryMetaFlag1" width="70%">
      <div style="height: 65vh; width: 100%">
        <el-table
          ref="filterTable"
          :data="metaDataTable1"
          style="width: 100%"
          height="100%"
        >
          <el-table-column
            align="center"
            type="index"
            :label="$t('common.index')"
            width="70px"
          ></el-table-column>
          <el-table-column
            align="center"
            prop="name"
            :label="$t('common.name')"
            width="120"
          >
        <el-table ref="filterTable" :data="metaDataTable1" style="width: 100%" height="100%">
          <el-table-column align="center" type="index" :label="$t('common.index')" width="70px"></el-table-column>
          <el-table-column align="center" prop="name" :label="$t('common.name')" width="120">
          </el-table-column>
          <el-table-column
            align="center"
            prop="dirName"
            :label="$t('dataManage.dataUpObj.catalogue')"
            width="300"
          />
          <el-table-column
            align="center"
            prop="depName"
            :label="$t('dataManage.dataUpObj.company')"
            width="200"
          />
          <el-table-column
            align="center"
            prop="verName"
            :label="$t('dataManage.dataUpObj.versionNo')"
          />
          <el-table-column
            align="center"
            prop="type"
            :label="$t('common.type')"
          />
          <el-table-column
            align="center"
            prop="sizes"
            :label="$t('common.size')"
            :formatter="changeSizeFile"
          />
          <el-table-column
            align="center"
            :label="$t('dataManage.dataUpObj.tableName')"
          >
          <el-table-column align="center" prop="dirName" :label="$t('dataManage.dataUpObj.catalogue')" width="300" />
          <el-table-column align="center" prop="depName" :label="$t('dataManage.dataUpObj.company')" width="200" />
          <el-table-column align="center" prop="verName" :label="$t('dataManage.dataUpObj.versionNo')" />
          <el-table-column align="center" prop="type" :label="$t('common.type')" />
          <el-table-column align="center" prop="sizes" :label="$t('common.size')" :formatter="changeSizeFile" />
          <el-table-column align="center" :label="$t('dataManage.dataUpObj.tableName')">
            <template slot-scope="scope">
              <a
                class="scopeRowColor"
                @click="detail(scope.row)"
              >{{
                  scope.row.tab
                }}</a>
              <a class="scopeRowColor" @click="detail(scope.row)">{{
                scope.row.tab
              }}</a>
            </template>
          </el-table-column>
          <el-table-column
            align="center"
            prop="rows"
            :label="$t('common.lineNuber')"
          />
          <el-table-column
            align="center"
            prop="desc"
            :label="$t('dataManage.dataUpObj.describe')"
          />
          <el-table-column align="center" prop="rows" :label="$t('common.lineNuber')" />
          <el-table-column align="center" prop="desc" :label="$t('dataManage.dataUpObj.describe')" />
        </el-table>
      </div>
    </el-dialog>
    <el-dialog
      :title="fromQueryMeta.title"
      :visible.sync="warehouseDialog"
      width="70%"
      :close-on-click-modal="false"
      :before-close="handleWarehouseClose"
    >
    <el-dialog :title="fromQueryMeta.title" :visible.sync="warehouseDialog" width="70%" :close-on-click-modal="false"
      :before-close="handleWarehouseClose">
      <div style="height:65vh">
        <el-table
          ref="wareTable"
          :data="wareData"
          style="width: 100%"
          height="calc(100% - 1px)"
        >
          <el-table-column
            align="center"
            prop="name"
            :label="$t('common.name')"
          />
          <el-table-column
            align="center"
            prop="sizes"
            :label="$t('common.size')"
            :formatter="changeSizeFile"
          />
          <el-table-column
            align="center"
            prop="type"
            :label="$t('common.type')"
          />
          <el-table-column
            align="center"
            prop="msg"
            :label="$t('common.warehousResults')"
          />
        <el-table ref="wareTable" :data="wareData" style="width: 100%" height="calc(100% - 1px)">
          <el-table-column align="center" prop="name" :label="$t('common.name')" />
          <el-table-column align="center" prop="sizes" :label="$t('common.size')" :formatter="changeSizeFile" />
          <el-table-column align="center" prop="type" :label="$t('common.type')" />
          <el-table-column align="center" prop="msg" :label="$t('common.warehousResults')" />
        </el-table>
      </div>
    </el-dialog>
    <input
      name="file1"
      :accept="'.zip'"
      type="file"
      id="editimageFile"
      multiple="multiple"
      style="display: none"
      @change="uploadAnFilesChange"
    />
    <input name="file1" :accept="'.zip'" type="file" id="editimageFile" multiple="multiple" style="display: none"
      @change="uploadAnFilesChange" />
    <el-dialog :visible.sync="noteVisible">
      <div class="nodeBox">
        <div style="text-align: center;">
          <h1>
            数据上传注意事项
          </h1>
        </div>
        <h3>
          1、项目整体上传
        </h3>
        <h5>&nbsp; &nbsp; &nbsp;
          &nbsp;按照项目标准结构组织数据并打zip包,按要求编辑好WBS文件。选择需要上传对应的项目名称,选择zip数据包和WBS文件,完成整体项目数据上传,上传入库完成后,系统自动解压zip包,以zip包内原始文件格式存储在预先组织的目录结构下。
        </h5>
        <h3>
          2、单文件上传
        </h3>
        <h5>&nbsp; &nbsp; &nbsp; &nbsp;上传单个文件,选择需要上传的存储目录位置、数据版本、数据专业、数据(.xls、.xlsx、pdf、las等格式)、元数据等,完成单个文件数据上传;</h5>
        <h5>&nbsp; &nbsp; &nbsp;
          &nbsp;批量上传一个最小目录文件夹下的各类数据,选择需要上传数据的存储目录位置、数据版本、数据专业、数据(zip格式)、元数据等,完成一个文件夹下各类数据上传,上传入库完成后,系统自动解压zip包,以zip包内原始文件存储数据。
        </h5>
        <h5>&nbsp; &nbsp; &nbsp; &nbsp;单文件上传不支持多级目录文件夹以zip压缩包方式上传。</h5>
        <h3>
          3、特定格式单文件上传要求
        </h3>
        <h5>√&nbsp; &nbsp;<span>DOM数据上传:</span>至少需包含.tif、.tif.ovr文件,以zip包压缩统一上传。</h5>
        <h5>√&nbsp; &nbsp;<span>DEM数据上传:</span>至少需包含.tif、.tif.ovr文件,以zip包压缩统一上传。</h5>
        <h5>√&nbsp; &nbsp;<span>OSGB倾斜模型数据上传:</span>需包含Data文件夹、metadata.xml文件,以zip包压缩统一上传。</h5>
        <h5>√&nbsp; &nbsp;<span>Las、Laz点云数据上传:</span>可单独上传文件,也可以zip包压缩统一上传。</h5>
        <h5>√&nbsp; &nbsp;<span>CPT点云数据上传:</span>可单独上传文件,也可以zip包压缩统一上传。</h5>
        <h5>√&nbsp; &nbsp;<span>MPT场景数据上传:</span>需包含.mIdx、.Strmi、.mpt文件,以zip包压缩统一上传。</h5>
        <h5>√&nbsp; &nbsp;<span>GDB格式矢量文件上传:</span>需包含gdb各类子文件,以zip包压缩统一上传。</h5>
        <h5>√&nbsp; &nbsp;<span>SHP矢量文件上传:</span>需包含.shp、.shx、.dbf、prj子文件,以zip包压缩统一上传。</h5>
      </div>
    </el-dialog>
  </div>
</template>
@@ -1462,6 +727,7 @@
  dataUploadSelectVerByDirid,
  dataUpload_selectMetaById,
  selectdirTab,
  dataUpload_insertKml
} from "../../api/api";
export default {
@@ -1578,6 +844,8 @@
        coordinateId: null,
        path: null,
        verid: null,
        tab: "",
        medium: "",
      },
      cascader: {
        label: "name",
@@ -1601,6 +869,67 @@
        {
          value: "洞库专业",
          label: "洞库专业",
        },
      ],
      lineOptions: [
        {
          value: 'plpipelinef',
          label: "可研中线",
        },
        {
          value: 'plpipelineb',
          label: "设计中线",
        },
        {
          value: 'plpipelined',
          label: "施工图中线",
        },
        {
          value: 'plpipelinea',
          label: "竣工图中线",
        },
      ],
      mediumOptions: [
        {
          value: 'GS',
          label: "天然气",
        },
        {
          value: 'CO',
          label: "原油",
        },
        {
          value: 'RP',
          label: "成品油",
        },
        {
          value: 'LN',
          label: "液化天然气",
        },
        {
          value: 'SL',
          label: "液化石油气",
        }, {
          value: 'WA',
          label: "矿浆",
        }, {
          value: 'ST',
          label: "蒸汽",
        }, {
          value: 'CD',
          label: "二氧化碳",
        }, {
          value: 'HY',
          label: "氢气",
        }, {
          value: 'QT',
          label: "其他",
        }, {
          value: '-1',
          label: "未知",
        }, {
          value: '0',
          label: "未调查",
        },
      ],
      fileType: [],
@@ -1674,11 +1003,12 @@
      },
      warehouseDialog: false,
      wareData: [],
      noteVisible: false,
    };
  },
  mounted() {
    this.noteVisible = true;
    //获取坐标系
    this.setCoordinateSystem();
    //获取项目名称
@@ -2035,6 +1365,7 @@
    //自动匹配确认
    async setInsrtWareTable() {
      this.loading = true;
      this.dialogWarehousing = false;
      this.loadText = "数据入库中,请等待..."
      if (this.tableWareThree.length != 0) {
        for (var i in this.tableWareThree) {
@@ -2089,7 +1420,8 @@
      for (var i = 0; i < val1.length; i++) {
        const stdTab = this.setSplitWare(val1[i].tab);
        for (var j = 0; j < val2.length; j++) {
          if (val2[j].tab == stdTab) {
          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;
@@ -2179,72 +1511,120 @@
      this.getDataLoaderSelectTabs();
      this.dialogWarehousing = true;
    },
    //数据入库
    async setFileWare() {
      if (this.pathBak != null) {
        //是否有质检方案
        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) {
                std.push(this.tableData[i].name);
              }
            }
          }
          if (std.length != 0) {
            return this.$message.error(
              std.toString() + ",未质检或质检失败,不能入库"
            );
          }
        } else if (this.formInline.uploadType == "v2") {
          //整体项目上传
          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) {
              std.push(this.tableData[i].name);
            }
          }
          if (std.length != 0) {
            return this.$message.error(
              std.toString() + ",未质检或质检失败,不能入库"
            );
          }
        }
      }
    //kml文件入库
    async setKMlWare() {
      this.loading = true;
      var obj = {
        dirid: this.formInline.dirid,
        epsgCode: this.formInline.coordinateId,
        path: this.formInline.path,
        verid: this.formInline.verid,
        entity: this.formInline.tab,
        medium: this.formInline.medium,
      };
      this.loadText = "数据映射查询中,请等待..."
      //查询映射
      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") {
          std.push(result[i]);
        }
      var std = data.result.filter((res) => {
        res.entity = obj.entity
        res.medium = obj.medium
        return res;
      })
      this.loadText = "数据入库中,请等待..."
      const res = await dataUpload_insertKml(
        JSON.stringify(std)
      );
      if (res.code != 200) {
        this.$message.error("数据入库失败");
        return;
      }
      if (std.length != 0) {
        this.tableWareOne = std;
        this.showWareHousing();
      this.$message({
        message: "数据入库成功",
        type: "success",
      });
      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") {
        this.setKMlWare()
      } else {
        this.setInsrtWareTable();
        if (this.pathBak != null) {
          //是否有质检方案
          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) {
                  std.push(this.tableData[i].name);
                }
              }
            }
            if (std.length != 0) {
              return this.$message.error(
                std.toString() + ",未质检或质检失败,不能入库"
              );
            }
          } else if (this.formInline.uploadType == "v2") {
            //整体项目上传
            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) {
                std.push(this.tableData[i].name);
              }
            }
            if (std.length != 0) {
              return this.$message.error(
                std.toString() + ",未质检或质检失败,不能入库"
              );
            }
          }
        }
        this.loading = true;
        var obj = {
          dirid: this.formInline.dirid,
          epsgCode: this.formInline.coordinateId,
          path: this.formInline.path,
          verid: this.formInline.verid,
        };
        this.loadText = "数据映射查询中,请等待..."
        //查询映射
        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") {
            std.push(result[i]);
          }
        }
        if (std.length != 0) {
          this.tableWareOne = std;
          this.showWareHousing();
        } else {
          this.setInsrtWareTable();
        }
      }
    },
    //下载日志
@@ -2284,6 +1664,7 @@
        this.loading = false;
        return;
      }
      for (var i in this.multipleSelection) {
        var name = this.multipleSelection[i].name;
        var path = this.multipleSelection[i].path;
@@ -2295,12 +1676,14 @@
          this.formCheckAll.wbsPath = path;
        }
      }
      this.formCheckAll.sjfl = '数字化成果'
      const data = await dataUpload_uploadChecks(this.formCheckAll);
      if (data.code != 200) {
        this.$message.error("数据质检提交失败");
        this.taskStatus++;
        this.getStartTestQuayTaskStatus();
        this.jindudialogVisible = false;
        this.loading = false;
        return;
      }
      var reset = data.result;
@@ -2338,17 +1721,19 @@
      this.quayTestForms.zipPath = this.multipleSelection[this.taskStatus].path;
      // this.quayTestForms.wbsPath = this.multipleSelection[this.taskStatus].path;
      if (this.quayTestForms.zipPath.indexOf(".zip") == -1) {
        this.taskStatus++;
        this.getStartTaskStatus();
      } else {
        this.quayTestForms.names = this.pathBak;
        this.quayTestForms.names = this.pathBak
        var value = this.getCheckedKeys
        var bak = value.data.fullName.split("\\");
        this.quayTestForms.xmmc = bak[this.taskStatus];
        this.quayTestForms.sjzy = this.formInline.specialtyId;
        this.quayTestForms.zipPath =
          this.multipleSelection[this.taskStatus].path;
        // this.quayTestForms.wbsPath = this.multipleSelection[this.taskStatus].path;
        this.quayTestForms.sjfl = '数字化成果'
        const data = await dataUpload_uploadChecks(this.quayTestForms);
        if (data.code != 200) {
@@ -2416,7 +1801,11 @@
      }
      this.progress = std / (res.length * 100);
      for (var i in this.tableData) {
        if (!this.multipleSelection[this.taskStatus]) {
          break;
        }
        if (
          this.tableData[i].path == this.multipleSelection[this.taskStatus].path
        ) {
          this.$set(this, "jindutiao", parseInt(this.progress * 100));
@@ -2542,11 +1931,18 @@
    //清除所有input File;
    clearFileSelect() {
      this.formInline.specialtyData = "请选择数据";
      document.getElementById("selectDataFile").value = "";
      if (document.getElementById("selectDataFile")) {
        document.getElementById("selectDataFile").value = "";
      }
      this.formInline.metaData = "请选择元数据";
      document.getElementById("metaDataFile").value = "";
      if (document.getElementById("metaDataFile")) {
        document.getElementById("metaDataFile").value = ""
      }
      this.formInline.wbsData = "请选择WBS数据";
      document.getElementById("wbsDataFile").value = "";
      if (document.getElementById("wbsDataFile")) {
        document.getElementById("wbsDataFile").value = "";
      }
    },
    //获取上传文件数量
    async getFileLength() {
@@ -2576,544 +1972,559 @@
      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数据文件");
        }
        //     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") {
}
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("数据上传失败");
      }
      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.getFileLength();
      this.$set(this, "jindutiao", 100);
      this.$message({
        message: "上传成功",
        type: "success",
      });
      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事件的回调函数
            }
            return myXhr; //xhr对象返回给jQuery使用
          },
        }
      );
      this.clearFileSelect();
    },
    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);
    error: (rs) => {
      this.loading = false;
      this.$message.error("数据上传失败");
    },
    format(percentage) {
    xhr: function () {
      var myXhr = $.ajaxSettings.xhr();
      // return percentage === 100 ? "上传完毕" : `${percentage}%`;
      var label;
      if (this.sc.label1 == "上传") {
        label = "上传完毕"
      } else {
        label = `${percentage}%`
      if (myXhr.upload) {
        //检查upload属性是否存在
        myXhr.upload.addEventListener(
          "progress",
          that.progressHandlingFunction,
          false
        ); //绑定progress事件的回调函数
      }
      return percentage === 100 ? label : `${percentage}%`;
      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 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();
    },
  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;
  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") {
  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);
          }
        }
        if (fileZip.length != 1) {
          return this.$message("请选择一个整体项目文件");
        }
        if (fileExcel.length != 1) {
          return this.$message("请选择一个WBS文件");
        }
        this.formCheckAll.names = this.pathBak;
        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;
    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);
      }
  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();
    },
  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();
    },
  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;
    },
//数据上传列表清单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;
    },
//选择数据文件切换
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;
    },
    //选择数据
    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 {
        this.getStartDirChecked(this.catalogOption);
        this.getselectVerByDirid();
        this.uploadFlag = true;
      }
      this.formInline.uploadType = res;
    },
//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 = [];
  this.verOption = [];
      const res = await dataUploadSelectVerByDirid({
        dirid: this.formInline.dirid,
      });
  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;
    },
  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;
      }
  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();
    },
  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();
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 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();
      }
      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; // 返回一级菜单
      });
    },
    }
  }
  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>
@@ -3146,6 +2557,27 @@
  }
}
.nodeBox {
  h5 {
    line-height: 26px;
    font-size: 14px;
    span {
      font-weight: bolder;
    }
  }
  h3 {
    line-height: 40px;
    font-size: 16px;
    font-weight: bold;
  }
  h1 {
    font-weight: bold;
  }
}
.inquire {
  padding: 8px;
  //margin-top: 20px;