管道基础大数据平台系统开发-【前端】-新系統界面
Surpriseplus
2023-01-16 21ddc9ec1b1b76d2ce20e512328e65acaf1af2bf
src/views/datamanage/dataUpdata.vue
@@ -1,8 +1,7 @@
<template>
  <div
    class="authorityManagement_box"
    v-loading.fullscreen.lock="fullscreenLoading"
    element-loading-spinner="el-icon-loading"
    v-loading="loading"
    element-loading-background="rgba(0, 0, 0, 0.8)"
  >
    <My-bread :list="[
@@ -10,335 +9,894 @@
        `${$t('dataManage.dataUpdata')}`,
      ]"></My-bread>
    <el-divider />
    <div class="updateContent">
      <el-tabs
        v-model="activeTabName"
        @tab-click="handleTabClick"
    <el-tabs
      v-model="activeTabName"
      @tab-click="handleTabClick"
    >
      <!-- 上传数据 -->
      <el-tab-pane
        :label="$t('dataManage.dataUpObj.uploaddata')"
        name="first"
      >
        <el-tab-pane
          :label="$t('dataManage.dataUpObj.uploaddata')"
          name="first"
        >
          <div class="contentIquery">
            <el-form
              :inline="true"
              :model="formInline"
              class="demo-form-inline"
        <div class="contentIquery">
          <el-form
            :inline="true"
            :model="formInline"
            class="demo-form-inline"
          >
            <!-- 入库类型 -->
            <el-form-item :label="$t('dataManage.dataUpObj.UploadType')">
              <el-select
                :disabled="tableData.length == 0 ? false : true"
                v-model="formInline.uploadType"
                @change="uploadTypeChange"
                placeholder="请选择"
              >
                <el-option
                  v-for="item in uploadOption"
                  :key="item.value"
                  :label="item.label"
                  :value="item.value"
                ></el-option>
              </el-select>
            </el-form-item>
            <!-- 存储目录 -->
            <el-form-item
              v-show="uploadFlag"
              :label="$t('dataManage.dataUpObj.storageDirectory')"
            >
              <el-form-item :label="$t('dataManage.dataUpObj.catalogue')">
                <el-cascader
                  v-model="formInline.dirid"
                  :options="catalogOption"
                  @change="catalogChange"
                  :props="cascader"
                ></el-cascader>
              </el-form-item>
              <el-form-item :label="$t('dataManage.dataUpObj.company')">
                <el-cascader
                  v-model="formInline.depid"
                  :options="companyOption"
                  @change="companyChange"
                  :props="cascader"
                ></el-cascader>
              </el-form-item>
              <el-form-item :label="$t('dataManage.dataUpObj.versionNo')">
                <el-select
                  v-model="formInline.verid"
                  :placeholder="$t('common.choose')"
              <el-cascader
                :disabled="tableData.length == 0 ? false : true"
                v-model="formInline.dirid"
                :options="catalogOption"
                @change="catalogChange"
                ref="selectcascader"
                :props="cascader"
              ></el-cascader>
            </el-form-item>
            <!-- 项目名称 -->
            <el-form-item
              v-show="!uploadFlag"
              :label="$t('dataManage.dataUpObj.entryName')"
            >
              <el-select
                :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')">
              <el-select
                :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
                    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.entryTime')">
            <el-date-picker
              v-model.trim="formInline.gather"
              :picker-options="pickerOptions"
              type="datetime"
              placeholder="请选择"
              value-format="yyyy-MM-dd HH:mm:ss"
            />
          </el-form-item> -->
              <el-form-item>
                <el-input
                  <el-input
                  type="textarea"
                  v-model="formInline.fileName"
                  class="nm-skin-pretty"
                  show-word-limit
                  :rows="2"
                  resize='none'
                  style="width: 600px;"
                ></el-input>
                ></el-input>
              </el-form-item>
              <el-form-item>
                <input
                  id="uploadfile"
                  @change="handleFileChange"
                  type="file"
                  name="file"
                  multiple="multiple"
                  style="display: none"
                ></input>
                </el-option>
              </el-select>
            </el-form-item>
            <!-- 数据专业 -->
            <el-form-item :label="$t('dataManage.dataUpObj.dataSpecialty')">
              <el-select
                :disabled="tableData.length == 0 ? false : true"
                v-model="formInline.specialtyId"
                :placeholder="$t('common.choose')"
              >
                <el-option
                  v-for="item in specialtyOption"
                  :key="item.value"
                  :label="item.label"
                  :value="item.value"
                >
                </el-option>
              </el-select>
            </el-form-item>
            <!-- 坐标系 -->
            <el-form-item :label="$t('dataManage.dataUpObj.coordinateSystem')">
              <el-select
                :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>
                <el-button
                  v-if="formInline.fileName == '未选择文件'"
                  type="info"
                  @click="fileSelect"
                >
                  选择文件
                </el-button>
                <el-button
                  v-else
                  type="info"
                  @click="clearFileSelect"
                >
                  重置
                </el-button>
              </el-form-item>
              <br />
              <el-form-item :label="$t('dataManage.dataUpObj.describe')">
                <el-input
                  type="textarea"
                  v-model="formInline.descr"
                  maxlength="50"
                  class="nm-skin-pretty"
                  show-word-limit
                  :rows="2"
                  resize='none'
                  style="width: 460px"
                ></el-input>
              </el-form-item>
              <el-form-item>
                <el-button
                  icon="el-icon-upload"
                  @click="setFileUpload"
                  type="success"
                >{{
            <!-- 选择数据 -->
            <el-form-item>
              <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>
              <input
                id="selectDataFile"
                type="file"
                name="file"
                multiple="multiple"
                :accept="formInline.selectFileType"
                @change="handleSelectFileChange"
                style="display: none"
              ></input>
            </el-form-item>
            <el-form-item>
              <el-input
                placeholder="请输入内容"
                v-model="formInline.specialtyData"
                style="width:350px;"
                disabled
              >
              </el-input>
            </el-form-item>
            <!-- 选择元数据 -->
            <el-form-item v-show="uploadFlag">
              <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>
              <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">
              <el-input
                placeholder="请输入内容"
                v-model="formInline.metaData"
                style="width:350px;"
                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>
              <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>
            </el-form-item>
            <el-form-item v-show="!uploadFlag">
              <el-input
                placeholder="请选择WBS数据"
                v-model="formInline.wbsData"
                style="width:350px;"
                disabled
              >
              </el-input>
            </el-form-item>
            <el-form-item>
              <!-- 上传 -->
              <el-button
                :disabled="tableData.length == 0 ? false : true"
                @click="setFileUpload"
                icon="el-icon-upload"
                type="success"
              >{{
              $t('common.upload')
            }}</el-button>
              <!-- 删除 -->
              <el-button
                :disabled="multipleSelection.length == 0 ? true : false"
                icon="el-icon-delete"
                @click="setFileDelete"
                type="danger"
              >{{ $t('common.delete') }}</el-button>
              <!-- 质检 -->
              <el-button
                :disabled="multipleSelection.length == 0 ? true : false"
                type="info"
                icon="el-icon-folder-checked"
                @click="handleQuayTestClick()"
              >{{$t('common.quayTest')}}
              </el-button>
              <!-- 入库 -->
              <el-button
                @click="setFileWare"
                :disabled="tableData.length == 0 ?  true: false"
                icon="el-icon-folder-add"
                type="warning"
              >{{ $t('common.Warehousin') }}</el-button>
                <el-button
                  icon="el-icon-delete"
                  type="danger"
                  @click="setFileDelete"
                  :disabled="tableData.length == 0 ? true : false"
                >{{ $t('common.delete') }}</el-button>
                <el-button
                  icon="el-icon-data-line"
                  type="info"
                  disabled
                >{{ $t('common.quayTest') }}</el-button>
                <el-button
                  icon="el-icon-folder-add"
                  type="warning"
                  @click="setFileWare"
                  :disabled="tableData.length == 0 ? true : false"
                >{{ $t('common.Warehousin') }}</el-button>
              </el-form-item>
            </el-form>
          </div>
          <div class="contentTable">
            <el-table
              :data="tableData"
              style="width: width:99%"
              height="99%"
              @selection-change="handleSelectionChange"
            >
              <el-table-column
                type="selection"
                width="55"
              />
              <el-table-column
                align="center"
                type="index"
                :label="$t('common.index')"
                width="70px"
                fixed
              />
              <el-table-column
                align="center"
                prop="name"
                :label="$t('common.name')"
                fixed
              />
              <el-table-column
                align="center"
                prop="sizes"
                :label="$t('common.size')"
                fixed
                :formatter="changeSizeFile"
              />
              <!-- <el-table-column
          align="center"
          prop="guid"
          :label="$t('common.md5')"
          fixed
        /> -->
            </el-table>
          </div>
        </el-tab-pane>
        <el-tab-pane
          :label="$t('dataManage.dataUpObj.receiptdata')"
          name="second"
        >
          <div
            class="contentIquery"
            style="padding-bottom: 0% !important;"
            </el-form-item>
          </el-form>
          </el-form>
        </div>
        <!-- 上传数据列表 -->
        <div class="contentBox">
          <el-table
            :data="tableData"
            @selection-change="handleSelectionChange"
          >
            <el-form
              :inline="true"
              :model="formWarehousing"
              class="demo-form-inline"
            <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-form-item :label="$t('dataManage.dataUpObj.describe')">
                <el-input
                  v-model="formWarehousing.name"
                  placeholder="请输入内容"
                ></el-input>
              </el-form-item>
              <el-form-item>
              <template slot-scope="scope">
                <el-button
                  icon="el-icon-upload"
                  @click="setWarehouseSearch"
                  class="primary"
                >{{
                  v-if="scope.row.code != null"
                  @click="handerLogClick(scope.row)"
                  type="text"
                  size="mini"
                > 日志
                </el-button>
              </template>
            </el-table-column>
          </el-table>
        </div>
      </el-tab-pane>
      <!-- 入库数据清单 -->
      <el-tab-pane
        :label="$t('dataManage.dataUpObj.receiptdata')"
        name="second"
      >
        <div class="contentIquery">
          <el-form
            :inline="true"
            :model="formWarehousing"
            class="demo-form-inline"
          >
            <el-form-item :label="$t('dataManage.dataUpObj.describe')">
              <el-input
                v-model="formWarehousing.name"
                placeholder="请输入内容"
              ></el-input>
            </el-form-item>
            <el-form-item>
              <el-button
                @click="setWarehouseSearch"
                icon="el-icon-upload"
                class="primary"
              >{{
              $t('common.iquery')
            }}</el-button>
                <el-button
                  @click="setWarehouseReset"
                  icon="el-icon-folder-add"
                  type="info"
                >{{ $t('common.reset') }}</el-button>
                <el-button
                  @click="setWarehouseDel"
                  icon="el-icon-folder-delete"
                  type="danger"
                >{{ $t('common.delete') }}</el-button>
              </el-form-item>
            </el-form>
          </div>
          <div
            class="contentTable"
            style="height:500px"
          >
              <el-button
                @click="setWarehouseReset"
                icon="el-icon-folder-add"
                type="info"
              >{{ $t('common.reset') }}</el-button>
              <el-button
                @click="setWarehouseDel"
                icon="el-icon-folder-delete"
                type="danger"
              >{{ $t('common.delete') }}</el-button>
            </el-form-item>
          </el-form>
        </div>
        <div
          class="contentBox"
          style="min-height:330px"
        >
          <div class="contentTable">
            <el-table
              ref="multipleTable"
              :data="waretableData"
              tooltip-effect="dark"
              style="width: 100%"
              @selection-change="handleDelteChange"
              style="width:99%"
              height="92%"
            >
              <el-table-column
                type="selection"
                width="55"
              />
              >
              </el-table-column>
              <el-table-column
                align="center"
                type="index"
                :label="$t('common.index')"
                width="70px"
                fixed
              />
              ></el-table-column>
              <el-table-column
                align="center"
                prop="name"
                :label="$t('common.name')"
                fixed
                width="100"
              />
              <el-table-column
                align="center"
                prop="dirName"
                :label="$t('dataManage.dataUpObj.catalogue')"
                fixed
                width="300"
              />
              <el-table-column
                align="center"
                prop="depName"
                :label="$t('dataManage.dataUpObj.company')"
                fixed
                width="200"
              />
              <el-table-column
                align="center"
                prop="verName"
                :label="$t('dataManage.dataUpObj.versionNo')"
                fixed
              />
              <el-table-column
                align="center"
                prop="type"
                :label="$t('common.type')"
                fixed
              />
              <el-table-column
                align="center"
                prop="sizes"
                :label="$t('common.size')"
                fixed
                :formatter="changeSizeFile"
              />
              <el-table-column
                align="center"
                prop="tab"
                :label="$t('dataManage.dataUpObj.tableName')"
                fixed
              />
              >
                <template slot-scope="scope">
                  <a @click="detail(scope.row)">{{ scope.row.tab }}</a>
                </template>
              </el-table-column>
              <el-table-column
                align="center"
                prop="rows"
                :label="$t('common.lineNuber')"
                fixed
              />
              <el-table-column
                align="center"
                prop="desc"
                :label="$t('dataManage.dataUpObj.describe')"
                fixed
              />
              <el-table-column
                align="center"
                prop="uname"
                :label="$t('dataManage.vmobj.createonuser')"
                fixed
              />
              <el-table-column
                align="center"
                prop="createTime"
                :label="$t('dataManage.vmobj.createontime')"
                fixed
                :formatter="changetimeFile"
                width="100"
              />
            </el-table>
            <div
              style="margin-top: 10px"
              class="pagination_box"
          </div>
          <div class="pagination_box">
            <el-pagination
              @size-change="handleSizeChange"
              @current-change="handleCurrentChange"
              :current-page="listData.pageIndex"
              :page-sizes="[10, 20, 30, 40]"
              :page-size="listData.pageSize"
              layout="total, sizes, prev, pager, next, jumper"
              :total="count"
            >
              <el-pagination
                @size-change="handleSizeChange"
                @current-change="handleCurrentChange"
                :current-page="listData.pageIndex"
                :page-sizes="[10, 20, 30, 40]"
                :page-size="listData.pageSize"
                layout="total, sizes, prev, pager, next, jumper"
                :total="count"
            </el-pagination>
          </div>
        </div>
      </el-tab-pane>
    </el-tabs>
    <!-- 质检弹窗 -->
    <el-dialog
      title="数据质检"
      :visible.sync="quayTestVisible"
      width="70%"
      top="10vh"
      :modal="false"
      :before-close="handleQuayTestCloseDown"
    >
      <div class="dialogDiv">
        <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-form-item>
          <el-form-item :label="$t('dataManage.dataUpObj.storageDirectory')">
            <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 disabled>属性检查:(*dlg*.gdb+*地形图**.dwg)</el-checkbox>
          </div>
          <div
            class="ContBox"
            v-show="quayTestShow.checkMath"
          >
            <el-checkbox disabled>数学基础检查:(.shp,.dlg)</el-checkbox>
          </div>
          <div
            class="ContBox"
            v-show="quayTestShow.checkDecorate"
          >
            <el-checkbox disabled>图面整饰检查:(.dwg)</el-checkbox>
          </div>
          <div
            class="ContBox"
            v-show="quayTestShow.checkXls"
          >
            <el-checkbox disabled>表格数据检查:(.xls/.xlsx)</el-checkbox>
          </div>
          <div
            class="ContBox"
            v-show="quayTestShow.checkOrigin"
          >
            <el-checkbox disabled>原点检查:(*剖面图*.dwg)</el-checkbox>
          </div>
          <div
            class="ContBox"
            v-show="quayTestShow.checkMeta"
          >
            <el-checkbox disabled>元数据检查:(*元数据*.xls/.xlsx)</el-checkbox>
          </div>
          <div
            class="ContBox"
            v-show="quayTestShow.checkTopology"
          >
            <el-form
              ref="quayForms"
              :model="quayTestForms"
              class="demo-form-inline"
            >
              <el-form-item>
                <el-checkbox disabled>拓扑检查:(*地形图*.dwg)</el-checkbox>
              </el-form-item>
              <el-form-item>
                <div class="ContDiv">
                  <div class="contLable">容差(默认0.001):</div>
                  <div>
                    <el-input v-model="quayTestForms.tolerance"></el-input>
                  </div>
                </div>
              </el-form-item>
              <el-form-item>
                <div class="ContDiv">
                  <div class="contLable">高程点间距上限(默认20):</div>
                  <div>
                    <el-input v-model="quayTestForms.gcdOffset"></el-input>
                  </div>
                </div>
              </el-form-item>
              <el-form-item>
                <div class="ContDiv">
                  <div class="contLable">测区范围(默认200):</div>
                  <div>
                    <el-input v-model="quayTestForms.rangeOffset"></el-input>
                  </div>
                </div>
              </el-form-item>
              <el-form-item>
                <div class="ContDiv">
                  <div class="contLable">控制点间距上限(默认100):</div>
                  <div>
                    <el-input v-model="quayTestForms.kzdOffset"></el-input>
                  </div>
                </div>
              </el-form-item>
              <el-form-item>
                <div class="ContDiv">
                  <div class="contLable">悬挂线最大距离(默认0.005):</div>
                  <div>
                    <el-input v-model="quayTestForms.xgMax"></el-input>
                  </div>
                </div>
              </el-form-item>
            </el-form>
          </div>
          <div
            class="ContBox"
            v-show="quayTestShow.checkDom"
          >
            <el-form
              ref="quayForms"
              :model="quayTestForms"
              class="demo-form-inline"
            >
              <el-form-item>
                <el-checkbox disabled>栅格检查:(.tif/.img)</el-checkbox>
              </el-form-item>
              <el-form-item>
                <div class="ContDiv">
                  <div class="contLable">坐标系:</div>
                  <div>
                    <el-input v-model="quayTestForms.coordinateSystem"></el-input>
                  </div>
                </div>
              </el-form-item>
              <el-form-item>
                <div class="ContDiv">
                  <div class="contLable">分辨率(默认0.2):</div>
                  <div>
                    <el-input v-model="quayTestForms.imgResolution"></el-input>
                  </div>
                </div>
              </el-form-item>
            </el-form>
          </div>
          <div
            class="ContBox"
            v-show="quayTestShow.checkDem"
          >
            <el-form
              ref="quayForms"
              :model="quayTestForms"
              class="demo-form-inline"
            >
              <el-form-item>
                <el-checkbox disabled>高程检查:(.tif/.img)</el-checkbox>
              </el-form-item>
              <el-form-item>
                <div class="ContDiv">
                  <div class="contLable">高程中误差(默认5):</div>
                  <div>
                    <el-input v-model="quayTestForms.demTolerance"></el-input>
                  </div>
                </div>
              </el-form-item>
              <el-form-item>
                <div class="ContDiv">
                  <div class="contLable">高程值突变率(默认200):</div>
                  <div>
                    <el-input v-model="quayTestForms.demChangeRate"></el-input>
                  </div>
                </div>
              </el-form-item>
            </el-form>
          </div>
          <div
            class="ContBox"
            v-show="quayTestShow.checkLaz"
          >
            <el-form
              ref="quayForms"
              :model="quayTestForms"
              class="demo-form-inline"
            >
              <el-form-item>
                <el-checkbox disabled>点云检查:(.laz + *激光点云*.xls/.xlsx)</el-checkbox>
              </el-form-item>
              <el-form-item>
                <div class="ContDiv">
                  <div class="contLable">点云密度(默认1):</div>
                  <div>
                    <el-input v-model="quayTestForms.lazDensity"></el-input>
                  </div>
                </div>
              </el-form-item>
            </el-form>
          </div>
          <div
            class="ContBox"
            v-show="quayTestShow.checkOsgb"
          >
            <el-form
              ref="quayForms"
              :model="quayTestForms"
              class="demo-form-inline"
            >
              <el-form-item>
                <el-checkbox disabled>OSGB检查:(.osgb + *倾斜摄影*.xls/.xlsx) </el-checkbox>
              </el-form-item>
              <el-form-item>
                <div class="ContDiv">
                  <div class="contLable">高程中误差(默认0.2):</div>
                  <div>
                    <el-input v-model="quayTestForms.imgResolution"></el-input>
                  </div>
                </div>
              </el-form-item>
            </el-form>
          </div>
        </div>
      </div>
      <span
        slot="footer"
        class="dialog-footer"
      >
        <el-button
          class="elBotton"
          @click="quayTestVisible = false"
        >取 消</el-button>
        <el-button
          class="elBotton"
          @click="commonQuayTest"
        >确 定</el-button>
      </span>
    </el-dialog>
    <!-- 整体文件质检弹窗 -->
    <el-dialog
      title="数据质检"
      :visible.sync="testQuayVisible"
      width="50%"
      top="15vh"
      :modal="false"
      :before-close="handleTestQuayCloseDown"
      label-width="80px"
    >
      <el-form :model="formCheckAll">
        <el-form-item label="项目名称">
          <el-col :span="20">
            <el-input
              disabled
              v-model="formCheckAll.xmmc"
            ></el-input>
          </el-col>
        </el-form-item>
        <el-form-item label="所属专业">
          <el-col :span="20">
            <el-input
              disabled
              v-model="formCheckAll.sjzy"
              width="100px"
            ></el-input>
          </el-col>
        </el-form-item>
        <el-form-item
          v-show="formCheckAll.isDiZai"
          label="所属专业"
        >
          <el-col :span="20">
            <el-select
              v-model="formCheckAll.diZaiType"
              placeholder="请选择"
              style="width:100%"
            >
              <el-option
                v-for="item in disOptions"
                :key="item.value"
                :label="item.label"
                :value="item.value"
              >
              </el-pagination>
              </el-option>
            </el-select>
          </el-col>
        </el-form-item>
      </el-form>
      <span
        slot="footer"
        class="dialog-footer"
      >
        <el-button
          class="elBotton"
          @click="testQuayVisible = false"
        >取 消</el-button>
        <el-button
          class="elBotton"
          @click="commonTestQuay"
        >确 定</el-button>
      </span>
    </el-dialog>
    <!-- ifream下载文件地址 -->
    <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%"
    >
      <div class="dialogBox">
        <div class="transFarBox">
          <ul>
            <li
              @click="singleElection(item)"
              v-for="(item, i) in tableWareOne"
              :class="{ active: activeName == item.tab }"
            >{{item.tab}} ({{item.type}})</li>
          </ul>
        </div>
        <div class="tarnsbtton">
          <div>
            <div style="padding:2%">
              <el-link><i
                  style="color:white"
                  class="el-icon-plus"
                ></i></el-link>
            </div>
          </div>
        </el-tab-pane>
      </el-tabs>
        </div>
        <div class="transFarBox">
          <ul>
            <li
              @click="singleElection2(item)"
              v-for="(item, i) in tableWareTwo"
              :class="{ active: activeName2 == item.entity }"
            >{{item.tabDesc}} ( {{item.ns}}.{{item.tab}})</li>
          </ul>
        </div>
        <div class="tarnsbtton">
          <div>
            <div style="padding:2%">
              <el-link @click="setWareTableChangeLeft"><i
                  style="color:white"
                  class="el-icon-d-arrow-left"
                ></i></el-link>
            </div><br />
            <div style="padding:2%">
              <el-link><i
                  @click="setWareTableChangeRight"
                  style="color:white"
                  class="el-icon-d-arrow-right"
                ></i></el-link>
            </div>
          </div>
        </div>
        <div class="transFarBox">
          <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>
          </ul>
        </div>
      </div>
      <span
        slot="footer"
        class="dialog-footer"
      >
        <el-button
          class="primary"
          @click="autoMatchWare"
        >自动匹配</el-button>
        <el-button @click="setInsrtWareTableClose ">取 消</el-button>
        <el-button
          class="primary"
          @click="setInsrtWareTable"
        >确 定</el-button>
      </span>
    </el-dialog>
    <el-dialog
      :title="$t('common.details')"
      :visible.sync="dialogVisible"
      width="70%"
      top="10vh"
    >
      <div style="height:550px">
        <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: 10px"
          class="pagination_box"
        >
          <el-pagination
            @size-change="handleLoaderSizeChange"
            @current-change="handleLoaderCurrentChange"
            :current-page="listLoader.pageIndex"
            :page-sizes="[10, 20, 30, 40]"
            :page-size="listLoader.pageSize"
            layout="total, sizes, prev, pager, next, jumper"
            :total="count1"
          >
          </el-pagination>
        </div>
      </div>
    </div>
    </el-dialog>
  </div>
</template>
@@ -347,8 +905,22 @@
import MyBread from '../../components/MyBread.vue';
import { getToken } from '@/utils/auth';
import {
  selectdirTab, queryDepTree, dataUploadSelectVerByDirid, dataUploadSelectPath, dataUploadSelectFiles, dataUploadDeleteFiles, dataUploadInsertFiles,
  dataUpload_selectByPageForUpload, dataUpload_deleteMetas
  dataUploadSelectPath,
  selectdirTab,
  dataUploadSelectVerByDirid,
  dataUpload_selectByPageForUpload,
  dataUpload_deleteMetas,
  dataUpload_selectCoords,
  dataUpload_selectProject,
  dataUploadSelectFiles,
  dataUploadDeleteFiles,
  dataUpload_uploadChecks,
  dataUpload_selectTaskStatus,
  dataUpload_selectMappers,
  dataUpload_selectTabs,
  dataUpload_insertFiles,
  dataUpload_selectFields,
  dataUpload_selectDbData,
} from '../../api/api';
export default {
  name: 'dataUpdata',
@@ -357,92 +929,903 @@
  },
  data() {
    return {
      activeTabName: 'first',
      btnStatus: 0,
      count: 0,
      formInline: {
        verid: '',
        gather: '',
        fileName: '未选择文件'
      coordinateOption: [],
      disOptions: [{
        name: '崩塌治理',
        value: '崩塌治理',
      }, {
        name: '不稳定斜坡治理',
        value: '不稳定斜坡治理',
      }, {
        name: '地面塌陷治理',
        value: '地面塌陷治理',
      }, {
        name: '高陡边坡治理',
        value: '高陡边坡治理',
      }, {
        name: '泥石流治理',
        value: '泥石流治理',
      }, {
        name: '水毁治理',
        value: '水毁治理',
      }, {
        name: '滑坡治理',
        value: '滑坡治理',
      }],
      testQuayVisible: false,
      formCheckAll: {
        names: null,
        sjzy: null,
        diZaiType: null,
        xmmc: null,
        isDiZai: null,
      },
      formWarehousing: {
        name: ''
      quayTestForms: {
        xmmc: null,
        names: null,
        sjzy: null,
        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',
      },
      catalogOption: [],
      companyOption: [],
      tableData: [],
      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,
      },
      quayTestVisible: false,
      multipleDelete: [],
      waretableData: [],
      listTable: [],
      multipleSelection: [],
      fullscreenLoading: false,
      listData: {
        pageIndex: 1,
        pageSize: 10,
        name: null,
      },
      pickerOptions: {
        disabledDate(time) {
          return time.getTime() > Date.now();
        },
        selectableRange: '00:00:00 - 23:59:59',
      },
      count: 0,
      formWarehousing: { name: '' },
      multipleSelection: [],
      tableData: [],
      entryOption: [],
      uploadFlag: true,
      verOption: [],
      catalogOption: [],
      activeTabName: "first",
      uploadOption: [{
        value: 'v1',
        label: '单文件上传'
      }, {
        value: 'v2',
        label: '项目整体上传'
      }],
      formInline: {
        uploadType: 'v1',
        dirid: null,
        verid: null,
        specialtyId: '测量专业',
        specialtyData: '请选择数据',
        metaData: '请选择元数据',
        wbsData: '请选择WBS数据',
        entryId: null,
        selectFileType: '*.*',
        coordinateId: null,
        path: null,
      },
      cascader: {
        label: 'name',
        value: 'id',
        children: 'children',
        checkStrictly: true,
        emitPath: false,
      },
    };
      specialtyOption: [{
        value: '测量专业',
        label: '测量专业'
      }, {
        value: '勘察专业',
        label: '勘察专业'
      }, {
        value: '地灾专业',
        label: '地灾专业'
      }, {
        value: '洞库专业',
        label: '洞库专业'
      }],
      fileType: [],
      pathBak: null,
      progress: 0,
      setIntel: null,
      taskStatus: 0,
      dialogWarehousing: false,
      tableWareOne: [],
      tableWareTwo: [],
      tableWareThree: [],
      wareSelectOne: null,
      wareSelectTwo: null,
      activeName: '',
      activeName2: '',
      activeName3: '',
      wareTableFlag: null,
      insertWareList: null,
      loading: false,
      dbTableData: [],
      dialogVisible: false,
      listLoader: {
        id: null,
        pageSize: 1,
        pageSize: 10,
      },
    }
  },
  mounted() {
    //获取目录
    this.getSelectdirTab();
    this.getQueryDepTree();
    this.timeDefault();
    //获取坐标系
    this.setCoordinateSystem();
    //获取项目名称
    this.setProjectName();
    //获取文件上传路径
    this.getFilePath();
  },
  watch: {
    'detailData.gather': {
      handler(newValue, oldValue) {
        if (newValue) {
          let date = new Date();
          let min = date.getMinutes();
          date.setMinutes(min + 1); //这里加1分钟,是为了解决值改变后,系统秒数就过期限制了,无法点击“此刻”按钮, 如果监听 “系统时间”的改变,则会影响性能。
          let nowDate = moment(date).format('HH:mm:ss');
          let st = '';
          if (
            moment(date).format('yyyy-MM-DD') ===
            moment(newValue).format('yyyy-MM-DD')
          ) {
            let hh1 = moment(newValue).format('HH:mm:ss');
            if (hh1 > nowDate) {
              this.detailData.gather = new Date();
            }
            st = nowDate;
          } else {
            st = '23:59:59';
          }
          this.pickerOptions.selectableRange = '00:00:00 - ' + st;
          this.pickerOptions = this.pickerOptions;
        }
      },
      deep: true,
      immediate: true,
      multipleDelete: []
    },
  },
  methods: {
    //数据列表清单-table 点击
    handleLoaderSizeChange(val) {
      this.listLoader.pageIndex = 1;
      this.listLoader.pageSize = val;
      this.getDataLoaderSelectDbData();
    },
    handleLoaderCurrentChange(val) {
      this.listLoader.pageIndex = val;
      this.getDataLoaderSelectDbData();
    },
    async detail(res) {
      var val = res.tab.split(".");
      const data = await dataUpload_selectFields({
        ns: val[0],
        tab: val[1]
      })
      if (data.code != 200) {
        this.$message.error('字段列表调用失败');
        return
      }
      var val_data = data.result;
      for (var i in val_data) {
        if (val_data[i].alias.indexOf('ID') != -1) {
          val_data[i].alias = val_data[i].alias.replace('ID', '')
        }
      }
      this.dialogVisible = true;
      this.attributeData = val_data;
      this.listLoader = {
        id: res.id,
        pageIndex: 1,
        pageSize: 10,
      }
      this.getDataLoaderSelectDbData();
    },
    async getDataLoaderSelectDbData() {
      const data1 = await dataUpload_selectDbData(this.listLoader);
      if (data1.code != 200) {
        this.$message.error('字段列表调用失败');
        return
      }
      var val = data1.result;
      for (var i in val) {
        val[i].createuser = val[i].createName;
        val[i].depid = val[i].depName;
        val[i].dirid = val[i].dirName;
        val[i].verid = val[i].verName;
        val[i].updateuser = val[i].updateName;
        if (val[i].createtime != null) {
          val[i].createtime = this.changetimeLayer(val[i].createtime)
        }
        if (val[i].updatetime != null) {
          val[i].updatetime = this.changetimeLayer(val[i].updatetime)
        }
      }
      this.dbTableData = data1.result;
      this.count1 = data1.count;
    },
    //自动匹配取消
    setInsrtWareTableClose() {
      this.dialogWarehousing = false;
      this.activeName = '';
      this.activeName2 = '';
      this.activeName3 = '';
      this.tableWareThree = [];
      this.tableWareTwo = [];
      this.tableWareOne = [];
      this.insertWareList = null;
      this.tableData = [];
    },
    //自动匹配确认
    async setInsrtWareTable() {
      if (this.tableWareThree.length != 0) {
        for (var i in this.tableWareThree) {
          var tabs = this.tableWareThree[i].tabs;
          for (var j in this.insertWareList) {
            if (this.insertWareList[j].tabs == tabs) {
              this.insertWareList[j].entity = this.tableWareThree[i].entity;
            }
          }
        }
      }
      this.loading = true;
      const res = await dataUpload_insertFiles(JSON.stringify(this.insertWareList));
      this.loading = false
      if (res.code != 200) {
        this.$message.error('数据入库失败');
        return;
      }
      this.$message({
        message: '数据入库成功',
        type: 'success'
      });
      this.setInsrtWareTableClose();
    },
    //自动匹配
    autoMatchWare() {
      var val1 = this.tableWareOne;
      var val2 = this.tableWareTwo;
      var std = [];
      for (var i = 0; i < val1.length; i++) {
        const stdTab = this.setSplitWare(val1[i].tab)
        for (var j = 0; j < val2.length; j++) {
          if (val2[j].tab == stdTab) {
            std.push(val1[i].tab)
            val1[i].entity = val2[j].entity;
            val1[i].tabDesc = val2[j].tabDesc;
            val1[i].tabs = val2[j].tab;
            val1[i].ns = val2[j].ns;
            this.tableWareThree.push(val1[i]);
          }
        }
      }
      std.forEach(item => {
        this.tableWareOne = this.tableWareOne.filter(items => items.tab !== item);
      });
    },
    setSplitWare(res) {
      if (res.indexOf(".shp") != -1) {
        return res.split(".shp").join("");
      } else if (res.indexOf(".mdb") != -1) {
        return res.split(".mdb").join("");
      } else if (res.indexOf(".gdb") != -1) {
        return res.split(".gdb").join("");
      } else {
        return res;
      }
    },
    //数据匹配向左
    setWareTableChangeLeft() {
      var res = this.wareTableFlag;
      var value1 = this.tableWareThree[res];
      value1.entity = null;
      value1.tabDesc = null;
      if (this.tableWareOne.indexOf(value1) != -1) {
      } else {
        this.tableWareOne.push(value1);
        this.tableWareThree.splice(res, 1)
        this.activeName = '';
        this.activeName2 = '';
        this.activeName3 = '';
      }
    },
    //数据匹配向右
    setWareTableChangeRight() {
      this.wareSelectOne.entity = this.wareSelectTwo.entity;
      this.wareSelectOne.tabDesc = this.wareSelectTwo.tabDesc;
      this.wareSelectOne.tabs = this.wareSelectTwo.ns + "." + this.wareSelectTwo.tab;
      if (this.tableWareThree.indexOf(this.wareSelectOne) != -1) {
      } else {
        this.tableWareThree.push(this.wareSelectOne)
        this.tableWareOne.forEach((value, index, array) => {
          if (value.tab == this.wareSelectOne.tab) {
            this.tableWareOne.splice(index, 1)
          }
        })
        this.activeName = '';
        this.activeName2 = '';
        this.activeName3 = '';
      }
    },
    //查询所有的表
    async getDataLoaderSelectTabs() {
      const res = await dataUpload_selectTabs();
      if (res.code != 200) {
        this.$message.error('数据请求失败');
        return;
      }
      this.tableWareTwo = res.result;
    },
    //数据匹配左侧点击事件
    singleElection(row) {
      this.wareSelectOne = row;
      this.activeName = row.tab
    },
    //数据匹配左侧中间点击事件
    singleElection2(row) {
      this.wareSelectTwo = row;
      this.activeName2 = row.entity
    },
    //数据匹配左侧右侧点击事件
    singleElection3(res) {
      this.wareTableFlag = res;
      this.activeName3 = this.tableWareThree[res].tab + res;
    },
    //开启数据匹配
    showWareHousing() {
      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() + ",未质检或质检失败,不能入库");
          }
        }
      }
      var obj = {
        dirid: this.formInline.dirid,
        epsgCode: this.formInline.coordinateId,
        path: this.formInline.path,
        verid: this.formInline.verid,
      }
      //查询映射
      const data = await dataUpload_selectMappers(obj)
      if (data.code != 200) {
        return this.$message.error("数据映射失败");
      }
      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();
      }
    },
    //下载日志
    handerLogClick(res) {
      for (var i in res.code) {
        var url = BASE_URL + '/dataUpload/downloadResult?token=' + getToken() + "&id=" + res.code[i];
        $("#downFrame").attr("src", url).click();
      }
    },
    //整体文件质检提交
    commonTestQuay() {
      this.testQuayVisible = false;
      if (this.formCheckAll.diZaiType != "NO") {
        this.formCheckAll.isDiZai = "YES"
      }
      this.loading = true;
      this.getStartTestQuayTaskStatus();
    },
    //整体文件多条数据质检
    async getStartTestQuayTaskStatus() {
      if (this.multipleSelection == 0 || this.taskStatus == this.multipleSelection.length) {
        this.loading = false;
        return;
      }
      for (var i in this.multipleSelection) {
        var name = this.multipleSelection[i].name;
        var path = this.multipleSelection[i].path;
        if (name.indexOf(".zip") != -1) {
          this.formCheckAll.zipPath = path
        } else if (name.indexOf(".xls") != -1) {
          this.formCheckAll.wbsPath = path
        } else if (name.indexOf(".xlsx") != -1) {
          this.formCheckAll.wbsPath = path
        }
      }
      const data = await dataUpload_uploadChecks(this.formCheckAll);
      if (data.code != 200) {
        this.$message.error('数据质检提交失败');
        this.taskStatus++;
        this.getStartTestQuayTaskStatus();
        return;
      }
      var reset = data.result;
      this.progress = 0;
      this.setIntel = setInterval(() => {
        this.sendTaskStatus(reset)
      }, 5000)
    },
    //单文件数据质检提交
    async commonQuayTest() {
      this.loading = true;
      this.quayTestVisible = false;
      this.taskStatus = 0;
      this.getStartTaskStatus();
    },
    //单文件多条数据质检
    async getStartTaskStatus() {
      if (this.multipleSelection == 0 || this.taskStatus == this.multipleSelection.length) {
        this.loading = false;
        return;
      }
      this.quayTestForms.zipPath = this.multipleSelection[this.taskStatus].path;
      if (this.quayTestForms.zipPath.indexOf(".zip") == -1) {
        this.taskStatus++;
        this.getStartTaskStatus();
      } else {
        this.quayTestForms.names = this.pathBak;
        var value = this.$refs['selectcascader'].getCheckedNodes();
        var bak = value[0].data.fullName.split("\\");
        this.quayTestForms.xmmc = bak[this.taskStatus];
        this.quayTestForms.sjzy = this.formInline.specialtyId;
        this.quayTestForms.zipPath = this.multipleSelection[this.taskStatus].path;
        const data = await dataUpload_uploadChecks(this.quayTestForms);
        if (data.code != 200) {
          this.$message.error('数据质检提交失败');
          this.taskStatus++;
          this.getStartTaskStatus();
          return;
        }
        var reset = data.result;
        this.progress = 0;
        this.setIntel = setInterval(() => {
          this.getselectTaskStatus(reset)
        }, 5000)
      }
    },
    async getselectTaskStatus(res) {
      var std = 0;
      for (var i = 0; i < res.length; i++) {
        const data = await dataUpload_selectTaskStatus({ id: res[i] })
        std += data.progress
        if (data.status == 5) {
        } else {
          if (data.status == 1 && data.resultFile == null) {//质检成功
            for (var i in this.tableData) {
              if (this.tableData[i].path == this.multipleSelection[this.taskStatus].path) {
                this.tableData[i].status = "质检成功";
              }
            }
            if (this.progress == 1) {
              clearInterval(this.setIntel)
              this.setIntel = null;
              this.taskStatus++;
              this.getStartTaskStatus()
            }
          } else {//任务失败
            for (var i in this.tableData) {
              if (this.tableData[i].path == this.multipleSelection[this.taskStatus].path) {
                this.tableData[i].status = "质检失败";
              }
            }
            for (var i in this.tableData) {
              for (var j in this.multipleSelection) {
                if (this.tableData[i].path == this.multipleSelection[j].path) {
                  this.tableData[i].code = res;
                }
              }
            }
            clearInterval(this.setIntel)
            this.setIntel = null;
            this.taskStatus++;
            this.getStartTaskStatus()
          }
        }
      }
      this.progress = std / (res.length * 100);
      for (var i in this.tableData) {
        if (this.tableData[i].path == this.multipleSelection[this.taskStatus].path) {
          this.tableData[i].status = parseInt(this.progress * 100) + "%";
        }
      }
    },
    async sendTaskStatus(res) {
      var std = 0;
      for (var i = 0; i < res.length; i++) {
        const data = await dataUpload_selectTaskStatus({ id: res[i] })
        std += data.progress;
        if (data.status == 5) {
        } else {
          if (data.status == 1 && data.resultFile == null) {//质检成功
            for (var i in this.tableData) {
              for (var j in this.multipleSelection) {
                if (this.tableData[i].path == this.multipleSelection[j].path) {
                  this.tableData[i].status = "质检成功";
                }
              }
            }
            if (this.progress == 1) {
              clearInterval(this.setIntel)
              this.setIntel = null;
              this.loading = false;
            }
          } else {//任务失败
            for (var i in this.tableData) {
              for (var j in this.multipleSelection) {
                if (this.tableData[i].path == this.multipleSelection[j].path) {
                  this.tableData[i].status = "质检失败";
                }
              }
            }
            for (var i in this.tableData) {
              for (var j in this.multipleSelection) {
                if (this.tableData[i].path == this.multipleSelection[j].path) {
                  this.tableData[i].code = res;
                }
              }
            }
            clearInterval(this.setIntel)
            this.setIntel = null;
            this.loading = false;
            // this.taskStatus++;
            // this.getStartTestQuayTaskStatus()
          }
        }
      }
      this.progress = std / (res.length * 100);
      // for (var i in this.tableData) {
      //   if (this.tableData[i].path == this.multipleSelection[this.taskStatus].path) {
      //     this.tableData[i].status = parseInt(this.progress * 100) + "%";
      //   }
      // }
      for (var i in this.tableData) {
        for (var j in this.multipleSelection) {
          if (this.tableData[i].path == this.multipleSelection[j].path) {
            this.tableData[i].status = parseInt(this.progress * 100) + "%";
          }
        }
      }
      //   if (data.resultFile != null) {
      //     sdr.push(res[i])
      //   }
      //   if (data.resultFile != null || data.status == 0 || data.status == 3 || data.status == 7) {
      //     clearInterval(this.setIntel)
      //     this.setIntel = null;
      //     for (var i in this.tableData) {
      //       for (var j in this.multipleSelection) {
      //         if (this.tableData[i].path == this.multipleSelection[j].path) {
      //           this.tableData[i].status = "任务失败";
      //         }
      //       }
      //     }
      //   }
      //   std += data.progress
      // }
      // this.progress = std / (res.length * 100);
      // for (var i in this.tableData) {
      //   for (var j in this.multipleSelection) {
      //     if (this.tableData[i].path == this.multipleSelection[j].path) {
      //       this.tableData[i].status = parseInt(this.progress * 100) + "%";
      //     }
      //   }
      // }
      // if (this.progress == 1) {
      //   this.loading = false;
      //   if (sdr.length != 0) {
      //     for (var i in this.tableData) {
      //       for (var j in this.multipleSelection) {
      //         if (this.tableData[i].path == this.multipleSelection[j].path) {
      //           this.tableData[i].code = sdr;
      //         }
      //       }
      //     }
      //   }
      //   clearInterval(this.setIntel)
      //   this.setIntel = null;
    },
    //删除上传的文件
    async setFileDelete() {
      var data = JSON.stringify(this.multipleSelection);
      const res = await dataUploadDeleteFiles(data);
      if (res.code != 200) {
        this.$message.error('删除失败');
        return;
      }
      this.getFileLength();
    },
    //清除所有input File;
    clearFileSelect() {
      this.formInline.specialtyData = "请选择数据";
      document.getElementById("selectDataFile").value = "";
      this.formInline.metaData = "请选择元数据";
      document.getElementById("metaDataFile").value = "";
      this.formInline.wbsData = "请选择WBS数据";
      document.getElementById("wbsDataFile").value = "";
    },
    //获取上传文件数量
    async getFileLength() {
      const res = await dataUploadSelectFiles(this.formInline.path);
      if (res.code != 200) {
        this.$message.error('文件上传数据获取失败');
        return;
      }
      if (res.result == null) {
        this.tableData = [];
      } else {
        for (var i in res.result) {
          res.result[i].status = "--";
          res.result[i].code = null;
        }
        this.tableData = res.result
      }
    },
    //上传文件
    setFileUpload() {
      var token = getToken();
      var formData = new FormData();
      var fs1 = document.getElementById("selectDataFile");
      if (fs1.files.length == 0) {
        return this.$message.error('请选择需要上传的数据文件');
      }
      var fs2 = null;
      if (this.formInline.uploadType == 'v1') {//单文件项目上传
        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数据文件');
        }
      }
      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" })
          }
        }
      }
      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.$message({
            message: '上传成功',
            type: 'success'
          });
          this.clearFileSelect();
        },
        error: (rs) => {
          this.loading = false;
          this.$message.error('数据上传失败');
        }
      });
    },
    //获取文件上传路径
    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].bak;
      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;
      this.getselectVerByDirid();
    },
    //获取所有坐标系
    async setCoordinateSystem() {
      const data = await dataUpload_selectCoords()
      if (data.code != 200) {
        this.$message.error('坐标系列表获取失败');
        return
      }
      this.coordinateOption = data.result;
      this.formInline.coordinateId = this.coordinateOption[0].epsgcode;
    },
    //WBS数据选择
    setWBSFile() {
      $("#wbsDataFile").click();
    },
    //重置WPS选择
    restWBSFile() {
      this.formInline.wbsData = '请选择WBS数据';
      document.getElementById("wbsDataFile").value = "";
    },
    //WBS数据Change事件
    handleWBSFileChange(event) {
      var std = [];
      var len = event.currentTarget.files.length;
      for (var i = 0; i < len; i++) {
        var f = event.currentTarget.files[i];
        std.push(f.name)
      }
      this.formInline.wbsData = std.toString();
    },
    //数据质检弹窗关闭--项目整体
    handleTestQuayCloseDown() {
      this.$confirm('确认关闭?')
        .then(_ => {
          this.closeTestQuayCloseDialog()
        })
        .catch(_ => { });
    },
    closeTestQuayCloseDialog() {
      this.testQuayVisible = false;
    },
    //数据质检弹窗关闭--单文件
    handleQuayTestCloseDown() {
      this.$confirm('确认关闭?')
        .then(_ => {
          this.closeQuayTestCloseDialog()
        })
        .catch(_ => { });
    },
    closeQuayTestCloseDialog() {
      this.quayTestVisible = false;
    },
    //数据质检点击事件
    handleQuayTestClick() {
      if (this.pathBak == null) {
        return this.$message('无质检方案');
      }
      if (this.multipleSelection.length == 0) {
        return this.$message('请选择需要质检的文件');
      }
      if (this.formInline.uploadType == "v1") {
        var value = this.$refs['selectcascader'].getCheckedNodes();
        var fileType = value[0].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 = true;
          this.formCheckAll.diZaiType = this.disOptions[0].value
        } else {
          this.formCheckAll.isDiZai = false;
          this.formCheckAll.diZaiType = "NO"
        }
        this.testQuayVisible = true;
      }
    },
    //上传数据列表清单删除
    async setWarehouseDel() {
      this.loading = true;
      var std = [];
      for (var i in this.multipleDelete) {
        std.push(this.multipleDelete[i].id);
      }
      const res = await dataUpload_deleteMetas({ ids: std.toString() })
      this.loading = false;
      if (res.code != 200) {
        this.$message.error('删除失败');
      } else {
@@ -450,18 +1833,30 @@
          message: '删除成功',
          type: 'success'
        });
        this.listData.pageIndex = 1;
        this.listData.pageSize = 10;
        this.getAllWareTable();
        this.setStartWareTable();
      }
    },
    handleDelteChange(val) {
      this.multipleDelete = val;
    //上传数据列表清单查询
    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) {
      //shijianchuo是整数,否则要parseInt转换
      var time = new Date(res.createTime);
      var y = time.getFullYear();
      var m = time.getMonth() + 1;
@@ -487,17 +1882,20 @@
    add0(m) {
      return m < 10 ? '0' + m : m;
    },
    setWarehouseSearch() {
      this.listData = {
        pageIndex: 1,
        pageSize: 10,
        name: this.formWarehousing.name,
    //大小值改变
    changeSizeFile(row, column, cellValue, index) {
      if (cellValue >= 1024) {
        return parseFloat(cellValue / 1204).toFixed(3) + "GB"
      } else {
        return cellValue + "MB"
      }
      this.getAllWareTable();
    },
    setWarehouseReset() {
      this.formWarehousing.name = '';
    //上传数据列表清单选择
    handleDelteChange(val) {
      this.multipleDelete = val;
    },
    //上传数据列表清单初始化
    setStartWareTable() {
      this.listData = {
        pageIndex: 1,
        pageSize: 10,
@@ -505,238 +1903,100 @@
      }
      this.getAllWareTable();
    },
    handleTabClick(tab, event) {
      if (this.activeTabName == 'second') {
        this.setWarehouseReset();
      }
    },
    handleSizeChange(val) {
      this.listData.pageIndex = 1;
      this.listData.pageSize = val;
      this.getAllWareTable();
    },
    handleCurrentChange(val) {
      this.listData.pageIndex = val;
      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;
    },
    //大小值改變
    changeSizeFile(row, column, cellValue, index) {
      if (cellValue >= 1024) {
        return parseFloat(cellValue / 1204).toFixed(3) + "GB"
      } else {
        return cellValue + "MB"
      }
    },
    //数据删除
    async setFileDelete() {
      var data = JSON.stringify(this.multipleSelection);
      const res = await dataUploadDeleteFiles(data);
      if (res.code != 200) {
        this.$message.error('删除失败');
        return;
      }
      this.getFileLength();
    },
    //数据入库
    async setFileWare() {
      if (this.multipleSelection.length == 0) {
        this.$message.error('请选择要入库的数据');
        return
      }
      var obj = {
        metaEntity: this.formInline,
        fileEntities: this.multipleSelection
      };
      const res = await dataUploadInsertFiles(JSON.stringify(obj));
      if (res.code != 200) {
        this.$message.error('文件上传数据获取失败');
        return;
      }
      this.getFileLength();
    //数据上传列表清单page Count 切换
    handleSizeChange(val) {
      this.listData.pageIndex = 1;
      this.listData.pageSize = val;
      this.getAllWareTable();
    },
    //显示表格数据
    setViewTable() {
      var index = this.listData.pageIndex - 1;
      var start = index * this.listData.pageSize;
      var size = (this.listData.pageSize) + (index * this.listData.pageSize);
      var std = [];
      for (var i = start; i < size; i++) {
        if (this.listTable[i] != null) {
          std.push(this.listTable[i])
        }
      }
      this.tableData = std;
    //数据上传列表清单page切换
    handleCurrentChange(val) {
      this.listData.pageIndex = val;
      this.getAllWareTable();
    },
    //文件上传
    setFileUpload() {
      this.fullscreenLoading = true;
      var token = getToken();
      var formData = new FormData();
      var fs = document.getElementById("uploadfile");
      if (fs.files.length == 0) {
        return this.$message.error('请选择需要上传的文件');
      }
      for (var i = 0, c = fs.files.length; i < c; i++) {
        formData.append(fs.files[i].name, fs.files[i]); // fs.files[i].name,file
      }
      $.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.getFileLength();
          this.fullscreenLoading = false;
          this.$message({
            message: '上传成功',
            type: 'success'
          });
          this.clearFileSelect();
        },
        error: (rs) => {
          this.fullscreenLoading = false;
            this.$message.error('数据上传失败');
          this.clearFileSelect();
        }
      });
    },
    progressHandle(e) {
      var percent = (e.loaded / e.total * 100).toFixed(2);
      console.log(percent)
    },
    //获取文件上传数据
    async getFileLength() {
      const res = await dataUploadSelectFiles(this.formInline.path);
      if (res.code != 200) {
        this.$message.error('文件上传数据获取失败');
        return;
      }
      if (res.result == null) {
        this.count = 0;
        this.setClearTableData();
      } else {
        this.count = res.result.length;
        this.tableData = res.result;
      }
    },
    //清除表格信息
    setClearTableData() {
      this.tableData = [];
      this.listTable = [];
    },
    // //分页控制
    // handleSizeChange(res) {
    //   this.listData.pageIndex = 1;
    //   this.listData.pageSize = res;
    //   this.setViewTable();
    // },
    // handleCurrentChange(res) {
    //   this.listData.pageIndex = res;
    //   this.setViewTable();
    // },
    //表格选中事件
    //上传数据表格选择
    handleSelectionChange(res) {
      this.multipleSelection = res;
    },
    //文件获取
    fileSelect() {
      $("#uploadfile").click();
    },
    handleFileChange(event) {
    //选择数据文件切换
    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.fileName = std.toString();
      this.formInline.specialtyData = std.toString();
    },
    clearFileSelect() {
      this.formInline.fileName = "未选择文件";
      document.getElementById("uploadfile").value = "";
    //选择元数据
    setMetaFile() {
      $("#metaDataFile").click();
    },
    //当前时间获取
    timeDefault() {
      var date = new Date();
      var hour = date.getHours(); // 时
      var minutes = date.getMinutes(); // 分
      var seconds = date.getSeconds(); //秒
      var sign2 = ':';
      var s1 =
        date.getFullYear() +
        '-' +
        (date.getMonth() + 1) +
        '-' +
        date.getDate() +
        ' ' +
        hour +
        sign2 +
        minutes +
        sign2 +
        seconds;
      this.formInline.gather = s1;
    //重置元数据
    restMetaFile() {
      this.formInline.metaData = '请选择元数据';
      document.getElementById("metaDataFile").value = "";
    },
    //Loading显隐
    handlerLoading(res) {
      this.fullscreenLoading = res;
    },
    //目录切换
    catalogChange(value) {
      this.formInline.dirid = value;
      this.getselectVerByDirid();
    },
    //单位切换
    companyChange(value) {
      this.formInline.depid = value;
    },
    //获取文件上传路径
    async getFilePath() {
      const res = await dataUploadSelectPath();
      if (res.code != 200) {
        this.$message.error('单位列表获取失败');
        return;
    //选择元数据文件切换
    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.path = res.result;
      this.formInline.metaData = std.toString();
    },
    //单位列表获取
    async getQueryDepTree() {
      const res = await queryDepTree();
      if (res.code != 200) {
        this.$message.error('单位列表获取失败');
        return;
    //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].bak;
      } else {
        this.getStartDirChecked(this.catalogOption);
        this.getselectVerByDirid();
        this.uploadFlag = true
      }
      this.formInline.depid = 1;
      this.companyOption = this.treeData(res.result);
      this.formInline.uploadType = res;
    },
    //版本号获取
    async getselectVerByDirid() {
@@ -757,9 +2017,78 @@
        this.$message.error('目录列表获取失败');
        return;
      }
      this.formInline.dirid = 1;
      this.catalogOption = this.treeData(res.result);
      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(res) {
      this.startQuayTestForms();
      this.$refs['selectcascader'].dropDownVisible = false
      var value = this.$refs['selectcascader'].getCheckedNodes();
      var bak = value[0].data.bak;
      this.pathBak = bak;
      if (bak != null) {
        for (var key in this.quayTestShow) {
          if (bak.indexOf(key) != -1) {
            this.quayTestShow[key] = true;
          }
        }
      }
      var fileType = value[0].data.code;
      if (fileType == null) {
        fileType = "*.*"
      }
      this.formInline.selectFileType = fileType;
      this.formInline.dirid = res;
      this.getselectVerByDirid();
    },
    //Tabsq切换
    handleTabClick(tab, event) {
      if (tab.name == "second") {
        this.setStartWareTable();
      }
    },
    //树列表生成
    treeData(source) {
@@ -771,138 +2100,171 @@
        return father.pid == 0; // 返回一级菜单
      });
    },
  },
  }
};
</script>
<style lang="less" scoped>
//@import url(); 引入公共css类
.authorityManagement_box {
  width: 100%;
  height: 100%;
  position: relative;
  box-sizing: border-box;
  .updateContent {
  width: 98%;
  height: 98%;
  padding: 1%;
  overflow: auto;
  .contentIquery {
    width: calc(98% - 2px);
    height: auto;
    border: 1px solid white;
    padding-left: 1%;
    padding-right: 1%;
    padding-top: 1%;
    border-radius: 5px;
  }
  .contentBox {
    width: calc(98% - 2px);
    height: auto;
    border: 1px solid white;
    margin-top: 1%;
    margin-bottom: 1%;
    padding: 1%;
    border-radius: 5px;
  }
  .elDivider {
    margin: 0;
  }
  .dialogBox {
    width: 100%;
    height: 670px;
    position: relative;
    .contentIquery {
      width: 97%;
      height: 16%;
    height: 500px;
    display: flex;
    justify-content: space-between;
    .transFarBox {
      width: 30%;
      height: 100%;
      border: 1px solid white;
      padding: 1%;
      border-radius: 5px;
    }
    .contentTable {
      width: 97%;
      height: 400px;
      border: 1px solid white;
      padding: 1%;
      border-radius: 5px;
      margin-top: 1%;
      /*修改table 表体的背景颜色和文字颜色*/
      /deep/ .el-table {
        background-color: transparent;
        th,
        td {
          background-color: transparent;
        }
        .el-table__expanded-cell {
          background-color: transparent !important;
        }
        // 表头背景色
        th.el-table__cell {
          background-color: #303030;
          color: #fff;
        }
        tr > td {
          background-color: #303030;
          color: #fff;
        }
        // hover效果
        tr:hover > td {
          background-color: rgba(255, 255, 255, 0.3) !important;
        }
        tbody tr:hover {
          background-color: rgba(255, 255, 255, 0.3) !important;
          // text-align: center;
        }
        // 滚动条宽高
        .el-table__body-wrapper::-webkit-scrollbar {
          width: 5px;
          height: 5px;
        }
        .el-table__body-wrapper::-webkit-scrollbar {
          width: 5px;
          /*滚动条宽度*/
          height: 5px;
          /*滚动条高度*/
        }
        /*定义滚动条轨道 内阴影+圆角*/
        .el-table__body-wrapper::-webkit-scrollbar-track {
          box-shadow: 0px 1px 3px #216fe6 inset;
          /*滚动条的背景区域的内阴影*/
          border-radius: 10px;
        }
        /*定义滑块 内阴影+圆角*/
        .el-table__body-wrapper::-webkit-scrollbar-thumb {
          box-shadow: 0px 1px 3px #216fe6 inset;
          border-radius: 6px;
          background-color: #216fe6;
        }
      max-height: 500px;
      overflow-y: auto;
      li {
        color: white;
        border-bottom: 1px solid white;
        line-height: 30px;
        text-align: center;
      }
      .pagination_box {
        margin-top: 20px;
        /deep/.el-input__inner {
          background-color: transparent !important;
          border: 1px solid;
          color: white;
        }
        /deep/.el-pagination__total {
          color: white;
        }
        /deep/.el-pagination__jump {
          color: white;
        }
        /deep/.el-pager li.active {
          color: #409eff;
        }
        /deep/.el-pager li {
          color: white;
          background: transparent;
        }
        /deep/.el-pager li {
          color: white;
        }
        /deep/.btn-prev {
          background: transparent;
        }
        /deep/.btn-next {
          background: transparent;
        }
        /deep/.btn-next i {
          color: white;
        }
        /deep/.btn-prev i {
          color: white;
        }
      li:hover {
        background: rgba(255, 255, 255, 0.3);
      }
      .active {
        color: #409eff;
      }
    }
    .primary {
      background: #409eff;
      border: #409eff;
    .tarnsbtton {
      width: 6%;
      height: 100%;
      /*flex 布局*/
      display: flex;
      /*实现垂直居中*/
      align-items: center;
      /*实现水平居中*/
      justify-content: center;
    }
  }
  .pagination_box {
    margin-top: 20px;
    /deep/.el-input__inner {
      background-color: transparent !important;
      border: 1px solid;
      color: white;
    }
    /deep/.el-pagination__total {
      color: white;
    }
    /deep/.el-pagination__jump {
      color: white;
    }
    /deep/.el-pager li.active {
      color: #409eff;
    }
    /deep/.el-pager li {
      color: white;
      background: transparent;
    }
    /deep/.el-pager li {
      color: white;
    }
    /deep/.btn-prev {
      background: transparent;
    }
    /deep/.btn-next {
      background: transparent;
    }
    /deep/.btn-next i {
      color: white;
    }
    /deep/.btn-prev i {
      color: white;
    }
  }
  /*修改table 表体的背景颜色和文字颜色*/
  /deep/ .el-table {
    background-color: transparent;
    th,
    td {
      background-color: transparent;
    }
    .el-table__expanded-cell {
      background-color: transparent !important;
    }
    // 表头背景色
    th.el-table__cell {
      background-color: #303030;
      color: #fff;
    }
    tr > td {
      background-color: #303030;
      color: #fff;
    }
    // hover效果
    tr:hover > td {
      background-color: rgba(255, 255, 255, 0.3) !important;
    }
    tbody tr:hover {
      background-color: rgba(255, 255, 255, 0.3) !important;
      // text-align: center;
    }
    // 滚动条宽高
    .el-table__body-wrapper::-webkit-scrollbar {
      width: 5px;
      height: 10px;
    }
    .el-table__body-wrapper::-webkit-scrollbar {
      width: 5px;
      /*滚动条宽度*/
      height: 10px;
      /*滚动条高度*/
    }
    /*定义滚动条轨道 内阴影+圆角*/
    .el-table__body-wrapper::-webkit-scrollbar-track {
      box-shadow: 0px 1px 3px #216fe6 inset;
      /*滚动条的背景区域的内阴影*/
      border-radius: 10px;
    }
    /*定义滑块 内阴影+圆角*/
    .el-table__body-wrapper::-webkit-scrollbar-thumb {
      box-shadow: 0px 1px 3px #216fe6 inset;
      border-radius: 6px;
      background-color: #216fe6;
    }
  }
  /deep/.el-dialog__headerbtn {
    display: none;
  }
  /deep/.el-form-item__label {
    color: white;
  }
@@ -939,10 +2301,61 @@
  /deep/ .el-tabs__item {
    color: #409eff;
  }
  /deep/ .el-dialog {
    background: #303030;
  }
  /deep/.el-range-editor.is-active,
  .el-range-editor.is-active:hover,
  .el-select .el-input.is-focus .el-input__inner {
    border: 1px solid;
  }
  /deep/.el-dialog__title {
    color: white;
  }
  .dialogDiv {
    /deep/.el-form-item {
      margin-bottom: 0px;
    }
    /deep/.el-checkbox {
      color: white;
    }
    /deep/.el-checkbox__input.is-checked + .el-checkbox__label {
      color: white !important;
    }
    /deep/.el-checkbox__input.is-disabled + span.el-checkbox__label {
      color: white !important;
    }
    .dialogContent {
      width: calc(100% - 20px);
      max-height: 370px;
      float: left;
      overflow: auto;
      padding: 10px;
      .ContBox {
        width: 44%;
        padding: 10px;
        margin-left: 2%;
        float: left;
        .ContDiv {
          display: flex;
          justify-content: space-around;
          margin: 5px 0px;
          .contLable {
            width: 175px;
            color: white;
          }
        }
      }
    }
  }
  .elBotton {
    background: transparent !important;
    border: 1px solid white !important;
    color: white !important;
  }
  /deep/.el-dialog__wrapper{
    overflow: hidden;
  }
}
</style>
<style>
.el-loading-spinner i {
  color: #1890ff !important;
}
</style>