<template>
|
<div class="subpage_Box"
|
v-loading="loading"
|
element-loading-background="rgba(0, 0, 0, 0.8)"
|
:element-loading-text="loadText">
|
<My-bread :list="[
|
`数据资源管理`,
|
`多媒体素材管理`,
|
]"></My-bread>
|
<el-divider />
|
<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-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 :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-option>
|
</el-select> -->
|
<!-- <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 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-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-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-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>
|
<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>
|
</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>
|
</el-form-item>
|
<!-- 选择元数据 -->
|
<!-- <el-form-item v-show="uploadFlag"
|
v-if="formInline.uploadType == 'v1'"
|
style="padding-left: 16px">
|
<el-link :disabled="tableData.length == 0 ? false : true"
|
v-show="formInline.metaData == '请选择元数据'"
|
@click="setMetaFile"
|
:underline="false"
|
type="primary">{{ $t('dataManage.dataUpObj.selectMetadata') }}
|
</el-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"
|
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>
|
<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:210px;"
|
disabled>
|
</el-input>
|
</el-form-item>
|
</div>
|
<div>
|
<el-form-item>
|
<!-- 上传 -->
|
<el-button :disabled="tableData.length == 0 ? false : true"
|
@click="setFileUpload"
|
size="small"
|
icon="el-icon-upload"
|
type="success">{{
|
$t('common.upload')
|
}}
|
</el-button>
|
<!-- 删除 -->
|
<el-button :disabled="multipleSelection.length == 0 ? true : false"
|
icon="el-icon-delete"
|
size="small"
|
@click="setFileDelete"
|
type="danger">{{ $t('common.delete') }}
|
</el-button>
|
<!-- 入库 -->
|
<el-button @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>
|
|
</el-form-item>
|
</div>
|
</div>
|
|
</el-form>
|
|
</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" />
|
|
<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>
|
</template>
|
</el-table-column>
|
</el-table>
|
</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">
|
<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>
|
</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>
|
<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"
|
icon="el-icon-upload"
|
size="small"
|
class="primary"
|
>{{
|
$t('common.iquery')
|
}}
|
</el-button>-->
|
<el-button @click="setWarehouseReset"
|
icon="el-icon-folder-add"
|
size="small"
|
type="info">{{
|
$t('common.reset') }}
|
</el-button>
|
</el-form-item>
|
</div>
|
</div>
|
|
</el-form>
|
</div>
|
<!-- 入库 -->
|
<div class="dividing-line"></div>
|
<div class="table_box"
|
:style="styleVar1">
|
<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">
|
<template slot-scope="scope">
|
<span v-if="scope.row.ismeta > 0">
|
<el-link style="color:#409eff"
|
title="源数据查询"
|
@click="setQueryMetaData(scope.row)"
|
target="_blank">{{
|
scope.row.name }}</el-link>
|
|
</span>
|
<span v-else-if="scope.row.metaid > 0">
|
<el-link style="color:#409eff"
|
title="元数据查询"
|
@click="setMetaDataQuery(scope.row)"
|
target="_blank">{{
|
scope.row.name }}</el-link>
|
|
</span>
|
<span v-else>{{ scope.row.name }}</span>
|
</template>
|
</el-table-column>
|
<el-table-column align="center"
|
prop="dirName"
|
:label="$t('dataManage.dataUpObj.catalogue')"
|
width="300" />
|
<el-table-column align="center"
|
prop="depName"
|
:label="$t('dataManage.dataUpObj.company')"
|
width="200" />
|
<el-table-column align="center"
|
prop="verName"
|
:label="$t('dataManage.dataUpObj.versionNo')" />
|
<el-table-column align="center"
|
prop="type"
|
:label="$t('common.type')" />
|
<el-table-column align="center"
|
prop="sizes"
|
:label="$t('common.size')"
|
:formatter="changeSizeFile" />
|
<el-table-column align="center"
|
:label="$t('dataManage.dataUpObj.tableName')">
|
<template slot-scope="scope">
|
<a class="scopeRowColor"
|
@click="detail(scope.row)">{{ scope.row.tab }}</a>
|
</template>
|
</el-table-column>
|
<el-table-column align="center"
|
prop="rows"
|
:label="$t('common.lineNuber')" />
|
<el-table-column align="center"
|
: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>
|
<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>
|
|
</el-tab-pane>
|
</el-tabs>
|
<!-- 质检弹窗 -->
|
<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-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 checked
|
disabled>属性检查:(*dlg*.gdb+*地形图**.dwg)
|
</el-checkbox>
|
</div>
|
<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)
|
</el-checkbox>
|
</div>
|
<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)
|
</el-checkbox>
|
</div>
|
<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">
|
<el-form-item>
|
<el-checkbox checked
|
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 checked
|
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 checked
|
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 checked
|
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 checked
|
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"
|
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-form-item label="项目名称">
|
|
<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-form-item>
|
<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-option>
|
</el-select>
|
|
</el-form-item>
|
</el-form>
|
<span slot="footer"
|
class="dialog-footer">
|
<el-button class="elBotton"
|
size="small"
|
@click="testQuayVisible = false">取 消</el-button>
|
<el-button class="elBotton"
|
size="small"
|
@click.stop="commonTestQuay()">确 定</el-button>
|
</span>
|
</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 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>
|
</ul>
|
</div>
|
<div class="tarnsbtton">
|
<div>
|
<div style="padding:2%">
|
<el-link><i class="el-icon-plus"></i></el-link>
|
</div>
|
</div>
|
|
</div>
|
<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>
|
</ul>
|
</div>
|
<div class="tarnsbtton">
|
<div>
|
<div style="padding:2%">
|
<el-link @click="setWareTableChangeLeft"><i class="el-icon-d-arrow-left"></i></el-link>
|
</div>
|
<br />
|
<div style="padding:2%">
|
<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;">
|
<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 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%">
|
<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>
|
<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%">
|
<div>
|
<div>
|
{{ sc.label2 }}
|
</div>
|
<div>
|
<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-button @click="enclosureVisible = false">取 消</el-button>
|
<el-button type="primary"
|
@click="uploadAnFiles">继续</el-button>
|
</span>
|
</el-dialog>
|
<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-item>
|
<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-form-item>
|
</el-form>
|
<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>
|
<el-table-column align="center"
|
prop="dirName"
|
:label="$t('dataManage.dataUpObj.catalogue')"
|
width="300" />
|
<el-table-column align="center"
|
prop="depName"
|
:label="$t('dataManage.dataUpObj.company')"
|
width="200" />
|
<el-table-column align="center"
|
prop="verName"
|
:label="$t('dataManage.dataUpObj.versionNo')" />
|
<el-table-column align="center"
|
prop="type"
|
:label="$t('common.type')" />
|
<el-table-column align="center"
|
prop="sizes"
|
:label="$t('common.size')"
|
:formatter="changeSizeFile" />
|
<el-table-column align="center"
|
:label="$t('dataManage.dataUpObj.tableName')">
|
<template slot-scope="scope">
|
<a class="scopeRowColor"
|
@click="detail(scope.row)">{{ scope.row.tab }}</a>
|
</template>
|
</el-table-column>
|
<el-table-column align="center"
|
prop="rows"
|
:label="$t('common.lineNuber')" />
|
<el-table-column align="center"
|
prop="desc"
|
:label="$t('dataManage.dataUpObj.describe')" />
|
|
</el-table>
|
<div 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%">
|
<div style="height: 65vh; width: 100%">
|
|
<el-table ref="filterTable"
|
:data="metaDataTable1"
|
style="width: 100%"
|
height="100%">
|
<el-table-column align="center"
|
type="index"
|
:label="$t('common.index')"
|
width="70px"></el-table-column>
|
<el-table-column align="center"
|
prop="name"
|
:label="$t('common.name')"
|
width="120">
|
</el-table-column>
|
<el-table-column align="center"
|
prop="dirName"
|
:label="$t('dataManage.dataUpObj.catalogue')"
|
width="300" />
|
<el-table-column align="center"
|
prop="depName"
|
:label="$t('dataManage.dataUpObj.company')"
|
width="200" />
|
<el-table-column align="center"
|
prop="verName"
|
:label="$t('dataManage.dataUpObj.versionNo')" />
|
<el-table-column align="center"
|
prop="type"
|
:label="$t('common.type')" />
|
<el-table-column align="center"
|
prop="sizes"
|
:label="$t('common.size')"
|
:formatter="changeSizeFile" />
|
<el-table-column align="center"
|
:label="$t('dataManage.dataUpObj.tableName')">
|
<template slot-scope="scope">
|
<a class="scopeRowColor"
|
@click="detail(scope.row)">{{
|
scope.row.tab
|
}}</a>
|
</template>
|
</el-table-column>
|
<el-table-column align="center"
|
prop="rows"
|
:label="$t('common.lineNuber')" />
|
<el-table-column align="center"
|
prop="desc"
|
:label="$t('dataManage.dataUpObj.describe')" />
|
</el-table>
|
|
</div>
|
</el-dialog>
|
<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>
|
</div>
|
</el-dialog>
|
<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>
|
按照项目标准结构组织数据并打zip包,按要求编辑好WBS文件。选择需要上传对应的项目名称,选择zip数据包和WBS文件,完成整体项目数据上传,上传入库完成后,系统自动解压zip包,以zip包内原始文件格式存储在预先组织的目录结构下。
|
</h5>
|
<h3>
|
2、单文件上传
|
</h3>
|
<h5> 上传单个文件,选择需要上传的存储目录位置、数据版本、数据专业、数据(.xls、.xlsx、pdf、las等格式)、元数据等,完成单个文件数据上传;</h5>
|
<h5>
|
批量上传一个最小目录文件夹下的各类数据,选择需要上传数据的存储目录位置、数据版本、数据专业、数据(zip格式)、元数据等,完成一个文件夹下各类数据上传,上传入库完成后,系统自动解压zip包,以zip包内原始文件存储数据。
|
</h5>
|
<h5> 单文件上传不支持多级目录文件夹以zip压缩包方式上传。</h5>
|
<h3>
|
3、特定格式单文件上传要求
|
</h3>
|
<h5>√ <span>DOM数据上传:</span>至少需包含.tif、.tif.ovr文件,以zip包压缩统一上传。</h5>
|
<h5>√ <span>DEM数据上传:</span>至少需包含.tif、.tif.ovr文件,以zip包压缩统一上传。</h5>
|
<h5>√ <span>OSGB倾斜模型数据上传:</span>需包含Data文件夹、metadata.xml文件,以zip包压缩统一上传。</h5>
|
<h5>√ <span>Las、Laz点云数据上传:</span>可单独上传文件,也可以zip包压缩统一上传。</h5>
|
<h5>√ <span>CPT点云数据上传:</span>可单独上传文件,也可以zip包压缩统一上传。</h5>
|
<h5>√ <span>MPT场景数据上传:</span>需包含.mIdx、.Strmi、.mpt文件,以zip包压缩统一上传。</h5>
|
<h5>√ <span>GDB格式矢量文件上传:</span>需包含gdb各类子文件,以zip包压缩统一上传。</h5>
|
<h5>√ <span>SHP矢量文件上传:</span>需包含.shp、.shx、.dbf、prj子文件,以zip包压缩统一上传。</h5>
|
</div>
|
</el-dialog>
|
</div>
|
</template>
|
|
<script>
|
import $ from "jquery";
|
import MyBread from "../../components/MyBread.vue";
|
import { getToken } from "@/utils/auth";
|
import {
|
dataUpload_deleteMetas,
|
dataUpload_insertFiles,
|
dataUpload_selectByPageForUpload,
|
dataUpload_selectCoords,
|
dataUpload_selectDbData,
|
dataUpload_selectFields,
|
dataUpload_selectMappers,
|
dataUpload_selectPageAndCountByPid,
|
dataUpload_selectProject,
|
dataUpload_selectTabs,
|
dataUpload_selectTaskStatus,
|
dataUpload_uploadChecks,
|
dataUploadDeleteFiles,
|
dataUploadSelectFiles,
|
dataUploadSelectPath,
|
dataUploadSelectVerByDirid,
|
dataUpload_selectMetaById,
|
selectdirTab,
|
dataUpload_insertKml
|
} from "../../api/api";
|
|
export default {
|
name: "dataUpdata",
|
components: {
|
MyBread,
|
},
|
data () {
|
return {
|
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,
|
},
|
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",
|
},
|
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: [],
|
listData: {
|
pageIndex: 1,
|
pageSize: 10,
|
name: null,
|
},
|
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,
|
specialtyId: "测量专业",
|
specialtyData: "请选择数据",
|
metaData: "请选择元数据",
|
wbsData: "请选择WBS数据",
|
entryId: null,
|
selectFileType: "*.*",
|
coordinateId: null,
|
path: null,
|
verid: null,
|
tab: "",
|
medium: "",
|
},
|
cascader: {
|
label: "name",
|
value: "id",
|
children: "children",
|
emitPath: false,
|
},
|
specialtyOption: [
|
{
|
value: "测量专业",
|
label: "测量专业",
|
},
|
{
|
value: "勘察专业",
|
label: "勘察专业",
|
},
|
{
|
value: "地灾专业",
|
label: "地灾专业",
|
},
|
{
|
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: [],
|
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,
|
loadText: '',
|
dbTableData: [],
|
dialogVisible: false,
|
listLoader: {
|
dirid: null,
|
pageIndex: 1,
|
pageSize: 10,
|
},
|
count1: 0,
|
attributeData: [],
|
menuStatus: {
|
delete: false,
|
insert: false,
|
update: false,
|
upload: false,
|
download: false,
|
},
|
jindutiao: 0,
|
jindudialogVisible: false,
|
jindutiaoname: [],
|
enclosureData: [],
|
enclosureVisible: false,
|
enclosureTitle: "",
|
tableHeight: 0,
|
timer: 0,
|
styleVar: {
|
height: "calc(100% - 109px)",
|
},
|
styleVar1: {
|
height: "calc(100% - 109px)",
|
},
|
metaFileData: [],
|
listMetaData: {
|
metaid: 0,
|
name: "",
|
pageIndex: 1,
|
pageSize: 10,
|
count: 0,
|
},
|
queryMetaFlag: false,
|
fromQueryMeta: {
|
title: "",
|
name: "",
|
},
|
metaDataTable: [],
|
queryMetaFlag1: false,
|
metaDataTable1: [],
|
getCheckedKeys: null,
|
sc: {
|
label1: '上传',
|
label2: '文件上传进度:'
|
},
|
warehouseDialog: false,
|
wareData: [],
|
noteVisible: false,
|
};
|
},
|
|
mounted () {
|
// this.noteVisible=true;
|
//获取坐标系
|
this.setCoordinateSystem();
|
//获取项目名称
|
this.setProjectName();
|
//获取文件上传路径
|
this.getFilePath();
|
//权限获取
|
this.getPerms();
|
window.addEventListener("resize",this.onResize);
|
this.calHeight();
|
//获取目录
|
this.getSelectdirTab();
|
},
|
beforeDestroy () {
|
this.timer&&clearTimeout(this.timer);
|
window.removeEventListener("resize",this.onResize);
|
},
|
watch: {},
|
methods: {
|
stateFormat (row,column) {
|
var val=['shp','gdb','xls','xlsx']
|
if(val.indexOf(row.type)>-1&&row.rows>0) {
|
return '已上传,已入库'
|
} else if(val.indexOf(row.type)>-1&&row.rows==0) {
|
return '已上传,未入库'
|
} else {
|
return '已上传'
|
}
|
},
|
setRestMetaData () {
|
this.fromQueryMeta.name="";
|
this.listMetaData.name=this.fromQueryMeta.name;
|
this.listMetaData.pageIndex=1;
|
this.listMetaData.pageSize=10;
|
|
this.startQueryMetaData();
|
},
|
setSearchMetaData () {
|
this.listMetaData.name=this.fromQueryMeta.name;
|
this.listMetaData.pageIndex=1;
|
this.listMetaData.pageSize=10;
|
|
this.startQueryMetaData();
|
},
|
//元数据页面切换
|
handleMetaSizeChange (val) {
|
this.listMetaData.pageIndex=1;
|
this.listMetaData.pageSize=val;
|
this.startQueryMetaData();
|
},
|
//元数据页面切换
|
handMetaCurrentChange (val) {
|
this.listMetaData.pageIndex=val;
|
this.startQueryMetaData();
|
},
|
|
//元数据查询
|
async setMetaDataQuery (row) {
|
this.fromQueryMeta.title=row.name;
|
this.listMetaData={
|
id: row.metaid,
|
};
|
const data=await dataUpload_selectMetaById(this.listMetaData);
|
if(data.code!=200) {
|
return;
|
}
|
this.queryMetaFlag1=true;
|
this.metaDataTable1=[data.result];
|
},
|
|
|
//元数据查询
|
setQueryMetaData (row) {
|
this.fromQueryMeta.title=row.name;
|
this.listMetaData={
|
metaid: row.id,
|
name: "",
|
pageIndex: 1,
|
pageSize: 10,
|
count: 0,
|
};
|
this.startQueryMetaData();
|
this.queryMetaFlag=true;
|
},
|
async startQueryMetaData () {
|
const data=await dataUpload_selectPageAndCountByPid(this.listMetaData);
|
if(data.code!=200) {
|
return;
|
}
|
this.metaDataTable=data.result;
|
this.listMetaData.count=data.count;
|
},
|
|
onResize () {
|
this.timer&&clearTimeout(this.timer);
|
this.timer=setTimeout(() => {
|
this.calHeight();
|
},500);
|
},
|
calHeight () {
|
this.$nextTick(() => {
|
const rect=this.$refs.container.getBoundingClientRect();
|
const rect1=this.$refs.container1.getBoundingClientRect();
|
|
this.tableHeight=`${rect.height+40}px`;
|
this.styleVar["height"]=`calc(100% - ${rect.height+28}px)`;
|
this.styleVar1["height"]=`calc(100% - ${rect1.height+28}px)`;
|
});
|
},
|
editFromDataClose () {
|
this.updateFormdialog=false;
|
this.$nextTick(() => {
|
this.editForm=JSON.parse(this.initialForm);
|
});
|
},
|
//附件变化
|
uploadAnFilesChange () {
|
var formData=new FormData();
|
var fs=document.getElementById("editimageFile");
|
if(fs.files.length==0) {
|
this.$message.error("请选择要上传的文件");
|
return;
|
}
|
for(var i=0,c=fs.files.length;i<c;i++) {
|
formData.append("file",fs.files[i]); // fs.files[i].name,file
|
}
|
for(var i in this.enclosureData) {
|
formData.append("ids",this.enclosureData[i]);
|
}
|
const that=this;
|
this.sc={
|
label1: '上传',
|
label2: '文件上传进度:'
|
}
|
that.jindudialogVisible=true;
|
that.$set(this,"jindutiaoname","附件上传");
|
that.$set(this,"jindutiao",0);
|
|
this.loading=true;
|
$.ajax(
|
BASE_URL+
|
"/dataUpload/uploadXlsAnnex?token="+
|
getToken()+
|
"&path="+
|
this.formInline.path,
|
{
|
type: "post",
|
data: formData,
|
async: true,
|
cache: false,
|
processData: false,
|
contentType: false,
|
success: (rs) => {
|
this.loading=false;
|
if(rs.code!=200) {
|
return this.$message.error("附件上传失败");
|
}
|
|
this.$set(this,"jindutiao",100);
|
this.$message({
|
message: "附件上传成功",
|
type: "success",
|
});
|
},
|
error: (rs) => {
|
this.loading=false;
|
this.$message.error("附件上传失败");
|
},
|
xhr: function() {
|
var myXhr=$.ajaxSettings.xhr();
|
if(myXhr.upload) {
|
//检查upload属性是否存在
|
myXhr.upload.addEventListener(
|
"progress",
|
that.progressHandlingFunction,
|
false
|
); //绑定progress事件的回调函数
|
}
|
return myXhr; //xhr对象返回给jQuery使用
|
},
|
}
|
);
|
},
|
//选择上传附件的文件
|
uploadAnFiles () {
|
$("#editimageFile").click();
|
},
|
//上传附件
|
uploadAnnex () {
|
},
|
//附件上传
|
setEnclosure () {
|
var enclosureData=[
|
"bd.b_pac_hydrogeology",
|
"bd.b_pac_frozensoil",
|
"bd.b_pac_geologic_hazard",
|
"bd.b_pac_marine_meteorological",
|
"bd.b_pac_meteorological",
|
"bs.m_equipment_nameplate",
|
"bs.m_hydraulic_protection",
|
"bs.m_marker",
|
"bs.s_explorationpoint",
|
];
|
var std=[];
|
this.enclosureData=[];
|
this.enclosureTitle="";
|
for(var i in this.multipleDelete) {
|
var row=this.multipleDelete[i];
|
|
if(row.tab&&row.rows&&enclosureData.indexOf(row.tab)>-1) {
|
this.enclosureData.push(row.id);
|
} else {
|
std.push(row.name);
|
}
|
}
|
if(std.length!=0) {
|
this.enclosureTitle=std.toString();
|
this.enclosureVisible=true;
|
} else {
|
this.uploadAnFiles();
|
}
|
},
|
//权限配置
|
showPermsMenu (res) {
|
switch(res.tag) {
|
case "/delete":
|
this.menuStatus.delete=true;
|
break;
|
case "/insert":
|
this.menuStatus.insert=true;
|
break;
|
case "/update":
|
this.menuStatus.update=true;
|
break;
|
case "/upload":
|
this.menuStatus.upload=true;
|
break;
|
case "/download":
|
this.menuStatus.download=true;
|
break;
|
}
|
},
|
getPerms () {
|
var val=this.$store.state.currentPerms;
|
var permsEntity=this.$store.state.permsEntity;
|
if(!permsEntity||!permsEntity.length) {
|
getPerms().then((res) => {
|
if(res.code==200) {
|
permsEntity=res.result;
|
}
|
});
|
}
|
for(var i=0;i<permsEntity.length;i++) {
|
if(val===permsEntity[i].perms) {
|
this.showPermsMenu(permsEntity[i]);
|
}
|
}
|
},
|
//数据列表清单-table 点击
|
handleLoaderSizeChange (val) {
|
this.listLoader.pageIndex=1;
|
this.listLoader.pageSize=val;
|
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;
|
},
|
|
changetimeLayer (res) {
|
var time=new Date(res);
|
var y=time.getFullYear();
|
var m=time.getMonth()+1;
|
var d=time.getDate();
|
var h=time.getHours();
|
var mm=time.getMinutes();
|
var s=time.getSeconds();
|
return (
|
y+
|
'-'+
|
this.add0(m)+
|
'-'+
|
this.add0(d)+
|
' '+
|
h+
|
':'+
|
mm+
|
':'+
|
s
|
);
|
},
|
//自动匹配取消
|
setInsrtWareTableClose () {
|
this.dialogWarehousing=false;
|
this.activeName="";
|
this.activeName2="";
|
this.activeName3="";
|
this.tableWareThree=[];
|
this.tableWareTwo=[];
|
this.tableWareOne=[];
|
this.insertWareList=null;
|
this.tableData=[];
|
},
|
//自动匹配确认
|
async setInsrtWareTable () {
|
this.loading=true;
|
this.dialogWarehousing=false;
|
this.loadText="数据入库中,请等待..."
|
if(this.tableWareThree.length!=0) {
|
for(var i in this.tableWareThree) {
|
var tabs=this.tableWareThree[i].tabs;
|
for(var j in this.insertWareList) {
|
if(this.insertWareList[j].tabs==tabs) {
|
this.insertWareList[j].entity=this.tableWareThree[i].entity;
|
}
|
}
|
}
|
}
|
for(var i in this.metaFileData) {
|
this.insertWareList.filter((res) => {
|
if(res.name==this.metaFileData[i]) {
|
res.isMeta=true;
|
}
|
});
|
}
|
|
|
const res=await dataUpload_insertFiles(
|
JSON.stringify(this.insertWareList)
|
);
|
|
if(res.code!=200) {
|
this.$message.error("数据入库失败");
|
return;
|
}
|
|
this.$message({
|
message: "数据入库成功",
|
type: "success",
|
});
|
this.loading=false;
|
this.loadText=""
|
if(res.result.length>0) {
|
this.warehouseDialog=true;
|
this.wareData=res.result;
|
}
|
|
this.setInsrtWareTableClose();
|
},
|
handleWarehouseClose () {
|
this.warehouseDialog=false;
|
this.wareData=[];
|
},
|
//自动匹配
|
autoMatchWare () {
|
var val1=this.tableWareOne;
|
var val2=this.tableWareTwo;
|
var std=[];
|
for(var i=0;i<val1.length;i++) {
|
const stdTab=this.setSplitWare(val1[i].tab);
|
for(var j=0;j<val2.length;j++) {
|
var tabs=stdTab.toLowerCase();
|
if(val2[j].tab.indexOf(tabs)>-1) {
|
std.push(val1[i].tab);
|
val1[i].entity=val2[j].entity;
|
val1[i].tabDesc=val2[j].tabDesc;
|
val1[i].tabs=val2[j].tab;
|
val1[i].ns=val2[j].ns;
|
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.eventid;
|
},
|
//数据匹配左侧中间点击事件
|
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;
|
},
|
//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("数据映射失败");
|
}
|
|
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;
|
}
|
|
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 {
|
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();
|
}
|
}
|
},
|
//下载日志
|
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.sc={
|
label1: '质检',
|
label2: '文件质检进度:'
|
}
|
this.jindudialogVisible=true;
|
this.loading=false;
|
this.$set(this,"jindutiao",0);
|
this.getStartTestQuayTaskStatus();
|
},
|
//整体文件多条数据质检
|
async getStartTestQuayTaskStatus () {
|
if(
|
this.multipleSelection==0||
|
this.taskStatus==this.multipleSelection.length
|
) {
|
this.jindudialogVisible=false;
|
this.loading=false;
|
return;
|
}
|
|
for(var i in this.multipleSelection) {
|
var name=this.multipleSelection[i].name;
|
var path=this.multipleSelection[i].path;
|
if(name.indexOf(".zip")!=-1) {
|
this.formCheckAll.zipPath=path;
|
} else if(name.indexOf(".xls")!=-1) {
|
this.formCheckAll.wbsPath=path;
|
} else if(name.indexOf(".xlsx")!=-1) {
|
this.formCheckAll.wbsPath=path;
|
}
|
}
|
|
this.formCheckAll.sjfl='数字化成果'
|
const data=await dataUpload_uploadChecks(this.formCheckAll);
|
if(data.code!=200) {
|
this.$message.error("数据质检提交失败");
|
this.taskStatus++;
|
this.jindudialogVisible=false;
|
this.loading=false;
|
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();
|
this.sc={
|
label1: '质检',
|
label2: '文件质检进度:'
|
}
|
this.jindudialogVisible=true;
|
|
this.$set(this,"jindutiao",0);
|
},
|
//单文件多条数据质检
|
async getStartTaskStatus () {
|
const that=this;
|
if(
|
this.multipleSelection==0||
|
this.taskStatus==this.multipleSelection.length
|
) {
|
this.loading=false;
|
that.jindudialogVisible=false;
|
return;
|
}
|
|
|
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
|
var value=this.getCheckedKeys
|
var bak=value.data.fullName.split("\\");
|
this.quayTestForms.xmmc=bak[this.taskStatus];
|
this.quayTestForms.sjzy=this.formInline.specialtyId;
|
this.quayTestForms.zipPath=
|
this.multipleSelection[this.taskStatus].path;
|
// this.quayTestForms.wbsPath = this.multipleSelection[this.taskStatus].path;
|
this.quayTestForms.sjfl='数字化成果'
|
const data=await dataUpload_uploadChecks(this.quayTestForms);
|
if(data.code!=200) {
|
this.$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.multipleSelection[this.taskStatus]) {
|
break;
|
}
|
if(
|
|
this.tableData[i].path==this.multipleSelection[this.taskStatus].path
|
) {
|
this.$set(this,"jindutiao",parseInt(this.progress*100));
|
this.tableData[i].status=parseInt(this.progress*100)+"%";
|
}
|
}
|
},
|
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) + "%";
|
// }
|
// }
|
this.$set(this,"jindutiao",parseInt(this.progress*100));
|
for(var i in this.tableData) {
|
for(var j in this.multipleSelection) {
|
if(this.tableData[i].path==this.multipleSelection[j].path) {
|
this.tableData[i].status=parseInt(this.progress*100)+"%";
|
}
|
}
|
}
|
// 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="请选择数据";
|
if(document.getElementById("selectDataFile")) {
|
document.getElementById("selectDataFile").value="";
|
}
|
this.formInline.metaData="请选择元数据";
|
if(document.getElementById("metaDataFile")) {
|
document.getElementById("metaDataFile").value=""
|
}
|
this.formInline.wbsData="请选择WBS数据";
|
|
if(document.getElementById("wbsDataFile")) {
|
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数据文件");
|
}
|
} else if(this.formInline.uploadType=="v3") {
|
|
}
|
for(var i=0,c=fs1.files.length;i<c;i++) {
|
formData.append(fs1.files[i].name,fs1.files[i]);
|
this.fileType.push({ name: fs1.files[i].name,type: "selectData" });
|
}
|
if(fs2!=null) {
|
for(var i=0,c=fs2.files.length;i<c;i++) {
|
formData.append(fs2.files[i].name,fs2.files[i]);
|
if(this.formInline.uploadType=="v1") {
|
this.fileType.push({ name: fs2.files[i].name,type: "metaData" });
|
} else if(this.formInline.uploadType=="v2") {
|
this.fileType.push({ name: fs2.files[i].name,type: "wbsData" });
|
}
|
}
|
}
|
const that=this;
|
that.jindudialogVisible=true;
|
let listval=[];
|
formData.forEach((key,val) => {
|
listval.push({
|
name: val,
|
});
|
});
|
that.$set(this,"jindutiaoname",listval);
|
that.$set(this,"jindutiao",0);
|
// this.loading = true;
|
$.ajax(
|
BASE_URL+
|
"/dataUpload/uploadFiles?token="+
|
token+
|
"&path="+
|
this.formInline.path,
|
{
|
type: "post",
|
data: formData,
|
async: true,
|
cache: false,
|
processData: false,
|
contentType: false,
|
success: (rs) => {
|
this.loading=false;
|
if(rs.code!=200) {
|
return this.$message.error("数据上传失败");
|
}
|
this.getFileLength();
|
this.$set(this,"jindutiao",100);
|
this.$message({
|
message: "上传成功",
|
type: "success",
|
});
|
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使用
|
},
|
}
|
);
|
},
|
progressHandlingFunction (event) {
|
var loaded=event.loaded; //已上传
|
var loaded=Math.floor(100*(event.loaded/event.total)-1); //计算已经上传的百分比
|
$("#prog").html(loaded+"%"); //应用到显示UI,可根据自己需要修改
|
this.jindutiao=loaded;
|
this.$set(this,"jindutiao",loaded);
|
},
|
format (percentage) {
|
|
// return percentage === 100 ? "上传完毕" : `${percentage}%`;
|
var label;
|
if(this.sc.label1=="上传") {
|
label="上传完毕"
|
} else {
|
label=`${percentage}%`
|
}
|
return percentage===100? label:`${percentage}%`;
|
},
|
//获取文件上传路径
|
async getFilePath () {
|
const res=await dataUploadSelectPath();
|
if(res.code!=200) {
|
this.$message.error("文件上传路径获取失败");
|
return;
|
}
|
this.formInline.path=res.result;
|
},
|
//项目名称切换
|
entryNameChange (res) {
|
var val=this.entryOption.filter((rs) => {
|
if(rs.name==res) {
|
return rs;
|
}
|
});
|
this.pathBak=val[0].checks;
|
this.formInline.dirid=val[0].id;
|
this.getselectVerByDirid();
|
},
|
//获取项目名称
|
async 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.getCheckedKeys
|
var fileType=value.data.fullName;
|
this.quayTestForms.names=fileType;
|
this.quayTestForms.sjzy=this.formInline.specialtyId;
|
this.quayTestVisible=true;
|
} else if(this.formInline.uploadType=="v2") {
|
var fileZip=[];
|
var fileExcel=[];
|
for(var i in this.multipleSelection) {
|
if(this.multipleSelection[i].name.indexOf(".zip")!=-1) {
|
fileZip.push(this.multipleSelection[i].name);
|
} else if(this.multipleSelection[i].name.indexOf(".xls")!=-1) {
|
fileExcel.push(this.multipleSelection[i].name);
|
} else if(this.multipleSelection[i].name.indexOf(".xlsx")!=-1) {
|
fileExcel.push(this.multipleSelection[i].name);
|
}
|
}
|
|
if(fileZip.length!=1) {
|
return this.$message("请选择一个整体项目文件");
|
}
|
if(fileExcel.length!=1) {
|
return this.$message("请选择一个WBS文件");
|
}
|
|
this.formCheckAll.names=JSON.parse(this.pathBak).toString();
|
var val=this.entryOption.filter((res) => {
|
if(res.id==this.formInline.dirid) {
|
return res;
|
}
|
});
|
|
this.formCheckAll.xmmc=val[0].name;
|
this.formCheckAll.sjzy=this.formInline.specialtyId;
|
if(this.formCheckAll.sjzy.indexOf("地灾")!=-1) {
|
this.formCheckAll.isDiZai="YES";
|
this.formCheckAll.diZaiType=this.disOptions[0].value;
|
} else {
|
this.formCheckAll.isDiZai="NO";
|
this.formCheckAll.diZaiType="NO";
|
}
|
this.testQuayVisible=true;
|
}
|
},
|
//上传数据列表清单删除
|
async setWarehouseDel () {
|
this.loading=true;
|
var std=[];
|
for(var i in this.multipleDelete) {
|
std.push(this.multipleDelete[i].id);
|
}
|
|
const res=await dataUpload_deleteMetas({ ids: std.toString() });
|
this.loading=false;
|
if(res.code!=200) {
|
this.$message.error("删除失败");
|
} else {
|
this.$message({
|
message: "删除成功",
|
type: "success",
|
});
|
this.setStartWareTable();
|
}
|
},
|
//上传数据列表清单查询
|
setWarehouseSearch () {
|
this.listData={
|
pageIndex: 1,
|
pageSize: 10,
|
name: this.formWarehousing.name,
|
};
|
this.getAllWareTable();
|
},
|
//上传数据列表重置
|
setWarehouseReset () {
|
this.formWarehousing.name="";
|
this.listData={
|
pageIndex: 1,
|
pageSize: 10,
|
name: null,
|
};
|
this.getAllWareTable();
|
},
|
//格式化时间
|
changetimeFile (res) {
|
var time=new Date(res.createTime);
|
var y=time.getFullYear();
|
var m=time.getMonth()+1;
|
var d=time.getDate();
|
var h=time.getHours();
|
var mm=time.getMinutes();
|
var s=time.getSeconds();
|
return (
|
y+
|
"-"+
|
this.add0(m)+
|
"-"+
|
this.add0(d)+
|
" "+
|
h+
|
":"+
|
mm+
|
":"+
|
s
|
);
|
},
|
//格式化时间
|
add0 (m) {
|
return m<10? "0"+m:m;
|
},
|
//大小值改变
|
changeSizeFile (row,column,cellValue,index) {
|
if(cellValue>=1024) {
|
return parseFloat(cellValue/1204).toFixed(3)+"GB";
|
} else {
|
return cellValue+"MB";
|
}
|
},
|
//上传数据列表清单选择
|
handleDelteChange (val) {
|
this.multipleDelete=val;
|
},
|
//上传数据列表清单初始化
|
setStartWareTable () {
|
// this.listData = {
|
// pageIndex: 1,
|
// pageSize: 10,
|
// name: null,
|
// };
|
this.listData.pageIndex=1;
|
this.listData.name=null;
|
this.getAllWareTable();
|
},
|
//获取数据上传列表清单
|
async getAllWareTable () {
|
const res=await dataUpload_selectByPageForUpload(this.listData);
|
if(res.code!=200) {
|
this.$message.error("列表数据获取失败");
|
return;
|
}
|
this.count=res.count;
|
this.waretableData=res.result;
|
},
|
//数据上传列表清单page Count 切换
|
handleSizeChange (val) {
|
this.listData.pageIndex=1;
|
this.listData.pageSize=val;
|
this.getAllWareTable();
|
},
|
|
//数据上传列表清单page切换
|
handleCurrentChange (val) {
|
this.listData.pageIndex=val;
|
this.getAllWareTable();
|
},
|
//上传数据表格选择
|
handleSelectionChange (res) {
|
this.multipleSelection=res;
|
},
|
|
//选择数据文件切换
|
handleSelectFileChange (event) {
|
var std=[];
|
var len=event.currentTarget.files.length;
|
for(var i=0;i<len;i++) {
|
var f=event.currentTarget.files[i];
|
std.push(f.name);
|
}
|
this.formInline.specialtyData=std.toString();
|
},
|
//选择元数据
|
setMetaFile () {
|
$("#metaDataFile").click();
|
},
|
//重置元数据
|
restMetaFile () {
|
this.formInline.metaData="请选择元数据";
|
document.getElementById("metaDataFile").value="";
|
},
|
//选择元数据文件切换
|
handleMetaFileChange (event) {
|
var std=[];
|
var len=event.currentTarget.files.length;
|
for(var i=0;i<len;i++) {
|
var f=event.currentTarget.files[i];
|
std.push(f.name);
|
}
|
this.formInline.metaData=std.toString();
|
this.metaFileData=std;
|
},
|
|
//From表单初始化
|
setFromStart () {
|
this.formInline.verid=null;
|
this.formInline.specialtyId="测量专业";
|
this.formInline.specialtyData="请选择数据";
|
this.formInline.metaData="请选择元数据";
|
this.formInline.entryId=null;
|
this.formInline.selectFileType="*.*";
|
this.formInline.coordinateId=this.coordinateOption[0].epsgcode;
|
this.formInline.medium="";
|
this.formInline.tab="";
|
},
|
//选择数据
|
setSelectFile () {
|
$("#selectDataFile").click();
|
},
|
//重置数据
|
restSelectFile () {
|
this.formInline.specialtyData="请选择数据";
|
document.getElementById("selectDataFile").value="";
|
},
|
//入库类型切换
|
uploadTypeChange (res) {
|
this.setFromStart();
|
if(res=="v2") {
|
this.uploadFlag=false;
|
this.formInline.selectFileType=".zip";
|
this.formInline.entryId=this.entryOption[0].name;
|
this.formInline.dirid=this.entryOption[0].id;
|
this.getselectVerByDirid();
|
this.pathBak=this.entryOption[0].checks;
|
} else if(res=="v3") {
|
this.formInline.selectFileType=".kml";
|
this.getSelectdirTab();
|
this.getselectVerByDirid();
|
this.formInline.specialtyId="线路专业";
|
this.uploadFlag=true;
|
this.formInline.tab=this.lineOptions[0].value;
|
this.formInline.medium=this.mediumOptions[0].value
|
} else {
|
this.getSelectdirTab();
|
this.getselectVerByDirid();
|
this.uploadFlag=true;
|
}
|
this.formInline.uploadType=res;
|
},
|
//版本号获取
|
async getselectVerByDirid () {
|
this.verOption=[];
|
|
const res=await dataUploadSelectVerByDirid({
|
dirid: this.formInline.dirid,
|
});
|
|
if(res.code!=200) {
|
this.$message.error("版本列表获取失败");
|
return;
|
}
|
this.verOption=res.result;
|
this.formInline.verid=res.result[0].id;
|
},
|
//目录列表获取
|
async getSelectdirTab () {
|
const res=await selectdirTab();
|
if(res.code!=200) {
|
this.$message.error("目录列表获取失败");
|
return;
|
}
|
|
this.catalogOption=this.treeData(res.result);
|
this.formInline.dirName=this.catalogOption[0].name;
|
this.formInline.dirid=this.catalogOption[0].id;
|
// this.getStartDirChecked(this.catalogOption);
|
this.getselectVerByDirid();
|
},
|
|
getStartDirChecked (res) {
|
if(res.length!=0) {
|
if(res[0].children==null||res[0].children==undefined) {
|
this.formInline.dirid=res[0].id;
|
} else {
|
this.getStartDirChecked(res[0].children);
|
}
|
}
|
},
|
//单文件质检弹窗初始化
|
startQuayTestForms () {
|
(this.quayTestForms={
|
tolerance: "0.001",
|
gcdOffset: "20",
|
rangeOffset: "200",
|
kzdOffset: "100",
|
xgMax: "0.005",
|
coordinateSystem: "CGCS2000/degree",
|
imgResolution: "0.2",
|
demTolerance: "5",
|
demChangeRate: "200",
|
lazDensity: "1",
|
imgResolution: "0.2",
|
}),
|
(this.quayTestShow={
|
checkOsgb: false,
|
checkXls: false,
|
checkLaz: false,
|
checkDem: false,
|
checkAttrs: false,
|
checkTopology: false,
|
checkDecorate: false,
|
checkOrigin: false,
|
checkDom: false,
|
checkMath: false,
|
checkMeta: false,
|
checkMain: false,
|
});
|
},
|
//目录切换
|
catalogChange (data,node,nodeData) {
|
this.startQuayTestForms();
|
// this.$refs['selectcascader'].dropDownVisible = false
|
// var value = this.$refs['selectcascader'].getCheckedNodes();
|
|
var bak=node.data.checks;
|
this.getCheckedKeys=node
|
this.pathBak=bak;
|
if(bak!=null) {
|
for(var key in this.quayTestShow) {
|
if(bak.indexOf(key)!=-1) {
|
this.quayTestShow[key]=true;
|
}
|
}
|
}
|
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>
|
<style lang="less" scoped>
|
.subpage_Box {
|
width: calc(98% - 20px);
|
height: 88% !important;
|
padding: 1%;
|
background: #f4f8ff;
|
margin: 10px;
|
position: absolute;
|
/* overflow: auto; */
|
}
|
.bottom {
|
width: 100%;
|
margin-top: 0.5%;
|
// height: 74%;
|
height: 570px;
|
display: flex;
|
justify-content: space-between;
|
background: #f4f8ff;
|
.rightTable {
|
width: 98%;
|
height: 92%;
|
background: #f4f8ff;
|
border-radius: 5px;
|
padding: 1%;
|
|
.table_box {
|
width: 100%;
|
height: 93%;
|
margin: 0 auto;
|
overflow: auto;
|
}
|
}
|
|
/deeep/ .el-loading-mask {
|
z-index: 9999;
|
}
|
}
|
|
.nodeBox {
|
h5 {
|
line-height: 26px;
|
font-size: 14px;
|
|
span {
|
font-weight: bolder;
|
}
|
}
|
|
h3 {
|
line-height: 40px;
|
font-size: 16px;
|
font-weight: bold;
|
}
|
|
h1 {
|
font-weight: bold;
|
}
|
}
|
|
.inquire {
|
padding: 8px;
|
//margin-top: 20px;
|
|
border-radius: 5px;
|
|
//margin-bottom: 20px;
|
.el-form-item {
|
margin: 5px;
|
}
|
}
|
|
.el-tabs {
|
height: calc(100% - 18px);
|
}
|
|
/deep/ .el-tabs__content {
|
height: calc(100% - 49px);
|
}
|
|
/deep/ .el-tab-pane {
|
height: 100%;
|
}
|
|
.text-center {
|
text-align: center;
|
}
|
</style>
|