| | |
| | | <template> |
| | | <div class="subpage_Box" |
| | | v-loading="loading" |
| | | element-loading-background="rgba(0, 0, 0, 0.8)" |
| | | :element-loading-text="loadText"> |
| | | <My-bread :list="[ |
| | | `${$t('dataManage.dataManage')}`, |
| | | `${$t('dataManage.dataUpdata')}`, |
| | | ]"></My-bread> |
| | | <el-divider /> |
| | | <el-tabs type="card" |
| | | v-model="activeTabName" |
| | | @tab-click="handleTabClick"> |
| | | <!-- 上传数据 --> |
| | | <el-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 |
| | | v-for="item in uploadOption" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | ></el-option>--> |
| | | |
| | | <el-option :label="$t('shuJuGuanLi.pselect.dFile')" |
| | | value="v1" /> |
| | | <el-option :label="$t('shuJuGuanLi.pselect.dFiles')" |
| | | value="v2" /> |
| | | <el-option :label="$t('shuJuGuanLi.pselect.dFfilest')" |
| | | value="v3" /> |
| | | </el-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 |
| | | v-for="item in specialtyOption" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value"> |
| | | </el-option>--> |
| | | |
| | | <el-option :label="$t('shuJuGuanLi.pselect.SurveyingAndMapping')" |
| | | value="测量专业" /> |
| | | <el-option :label="$t('shuJuGuanLi.pselect.SurveysDiscipline')" |
| | | value="勘察专业" /> |
| | | <el-option :label="$t('shuJuGuanLi.pselect.GeologicalDisasterSpecialty')" |
| | | value="地灾专业" /> |
| | | <el-option :label="$t('shuJuGuanLi.pselect.CavernSpecialty')" |
| | | value="洞库专业" /> |
| | | <el-option :label="$t('shuJuGuanLi.pselect.LineDiscipline')" |
| | | value='线路专业' /> |
| | | </el-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 v-if="menuStatus.upload" |
| | | :disabled="tableData.length == 0 ? false : true" |
| | | @click="setFileUpload" |
| | | size="small" |
| | | icon="el-icon-upload" |
| | | type="success">{{ |
| | | $t('common.upload') |
| | | }} |
| | | </el-button> |
| | | <!-- 删除 --> |
| | | <el-button v-if="menuStatus.delete" |
| | | :disabled="multipleSelection.length == 0 ? true : false" |
| | | icon="el-icon-delete" |
| | | size="small" |
| | | @click="setFileDelete" |
| | | type="danger">{{ $t('common.delete') }} |
| | | </el-button> |
| | | <!-- 入库 --> |
| | | <el-button v-if="menuStatus.insert" |
| | | @click="setFileWare" |
| | | size="small" |
| | | :disabled="tableData.length == 0 ? true : false" |
| | | icon="el-icon-folder-add" |
| | | type="warning">{{ |
| | | $t('common.Warehousin') }} |
| | | </el-button> |
| | | <!-- 质检 --> |
| | | <el-button style="margin-right:-9px" |
| | | v-if="menuStatus.insert" |
| | | :disabled="multipleSelection.length == 0 ? true : false" |
| | | type="info" |
| | | size="small" |
| | | icon="el-icon-folder-checked" |
| | | @click="handleQuayTestClick()">{{ $t('common.quayTest') }} |
| | | </el-button> |
| | | |
| | | </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> |
| | | .bottom { |
| | | width: 100%; |
| | | margin-top: 0.5%; |
| | | // height: 74%; |
| | | height: 570px; |
| | | display: flex; |
| | | justify-content: space-between; |
| | | |
| | | .rightTable { |
| | | width: 98%; |
| | | height: 92%; |
| | | |
| | | 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> |
| | | <template>
|
| | | <div class="subpage_Box" v-loading="loading" element-loading-background="rgba(0, 0, 0, 0.8)"
|
| | | :element-loading-text="loadText">
|
| | | <My-bread :list="[
|
| | | `${$t('dataManage.dataManage')}`,
|
| | | `${$t('dataManage.dataUpdata')}`,
|
| | | ]"></My-bread>
|
| | | <el-divider />
|
| | | <el-tabs type="card" v-model="activeTabName" @tab-click="handleTabClick">
|
| | | <!-- 上传数据 -->
|
| | | <el-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
|
| | | v-for="item in uploadOption"
|
| | | :key="item.value"
|
| | | :label="item.label"
|
| | | :value="item.value"
|
| | | ></el-option>-->
|
| | |
|
| | | <el-option :label="$t('shuJuGuanLi.pselect.dFile')" value="v1" />
|
| | | <el-option :label="$t('shuJuGuanLi.pselect.dFiles')" value="v2" />
|
| | | <el-option :label="$t('shuJuGuanLi.pselect.dFfilest')" value="v3" />
|
| | | </el-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
|
| | | v-for="item in specialtyOption"
|
| | | :key="item.value"
|
| | | :label="item.label"
|
| | | :value="item.value">
|
| | | </el-option>-->
|
| | |
|
| | | <el-option :label="$t('shuJuGuanLi.pselect.SurveyingAndMapping')" value="测量专业" />
|
| | | <el-option :label="$t('shuJuGuanLi.pselect.SurveysDiscipline')" value="勘察专业" />
|
| | | <el-option :label="$t('shuJuGuanLi.pselect.GeologicalDisasterSpecialty')" value="地灾专业" />
|
| | | <el-option :label="$t('shuJuGuanLi.pselect.CavernSpecialty')" value="洞库专业" />
|
| | | <el-option :label="$t('shuJuGuanLi.pselect.LineDiscipline')" value='线路专业' />
|
| | | </el-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 v-if="menuStatus.upload" :disabled="tableData.length == 0 ? false : true"
|
| | | @click="setFileUpload" size="small" icon="el-icon-upload" type="success">{{
|
| | | $t('common.upload')
|
| | | }}
|
| | | </el-button>
|
| | | <!-- 删除 -->
|
| | | <el-button v-if="menuStatus.delete" :disabled="multipleSelection.length == 0 ? true : false"
|
| | | icon="el-icon-delete" size="small" @click="setFileDelete" type="danger">{{ $t('common.delete') }}
|
| | | </el-button>
|
| | | <!-- 入库 -->
|
| | | <el-button v-if="menuStatus.insert" @click="setFileWare" size="small"
|
| | | :disabled="tableData.length == 0 ? true : false" icon="el-icon-folder-add" type="warning">{{
|
| | | $t('common.Warehousin') }}
|
| | | </el-button>
|
| | | <!-- 质检 -->
|
| | | <el-button style="margin-right:-9px" v-if="menuStatus.insert"
|
| | | :disabled="multipleSelection.length == 0 ? true : false" type="info" size="small"
|
| | | icon="el-icon-folder-checked" @click="handleQuayTestClick()">{{ $t('common.quayTest') }}
|
| | | </el-button>
|
| | |
|
| | | </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文件");
|
| | | }
|
| | |
|
| | | if (typeof this.pathBak == "object") {
|
| | | this.formCheckAll.names = JSON.parse(this.pathBak).toString();
|
| | | } else {
|
| | | this.formCheckAll.names = this.pathBak
|
| | | }
|
| | |
|
| | | var val = this.entryOption.filter((res) => {
|
| | | if (res.id == this.formInline.dirid) {
|
| | | return res;
|
| | | }
|
| | | });
|
| | |
|
| | | this.formCheckAll.xmmc = val[0].name;
|
| | | this.formCheckAll.sjzy = this.formInline.specialtyId;
|
| | | if (this.formCheckAll.sjzy.indexOf("地灾") != -1) {
|
| | | this.formCheckAll.isDiZai = "YES";
|
| | | this.formCheckAll.diZaiType = this.disOptions[0].value;
|
| | | } else {
|
| | | this.formCheckAll.isDiZai = "NO";
|
| | | this.formCheckAll.diZaiType = "NO";
|
| | | }
|
| | | this.testQuayVisible = true;
|
| | | }
|
| | | },
|
| | | //上传数据列表清单删除
|
| | | 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>
|
| | | .bottom {
|
| | | width: 100%;
|
| | | margin-top: 0.5%;
|
| | | // height: 74%;
|
| | | height: 570px;
|
| | | display: flex;
|
| | | justify-content: space-between;
|
| | |
|
| | | .rightTable {
|
| | | width: 98%;
|
| | | height: 92%;
|
| | |
|
| | | 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>
|