From 9e4712789e205266e3d9daf6f831e9cbeecc5264 Mon Sep 17 00:00:00 2001 From: suerprisePlus <15810472099@163.com> Date: 星期五, 31 五月 2024 16:25:36 +0800 Subject: [PATCH] bug 修改 --- src/views/Archive/index.vue | 5019 +++++++++++++++++++++++++++++----------------------------- 1 files changed, 2,513 insertions(+), 2,506 deletions(-) diff --git a/src/views/Archive/index.vue b/src/views/Archive/index.vue index 1c965d5..159525a 100644 --- a/src/views/Archive/index.vue +++ b/src/views/Archive/index.vue @@ -1,2506 +1,2513 @@ -<template> - <div class="archive box_div"> - <div class="menu_top"> - <My-bread :list="[`${$t('synthesis.synthesis')}`, `${$t('synthesis.archive')}`]"></My-bread> - <!-- 涓嬭浇鍒楄〃 --> - <i @click="getdownloadList" - class="el-icon-tickets" - :title="$t('synthesis.DownloadList')"></i> - </div> - <el-divider /> - <!-- 鏌ヨ妗� --> - <div class="iquery"> - <el-form :inline="true" - :model="formInline" - class="demo-form-inline"> - <!-- 鏁版嵁绫诲瀷 --> - <el-form-item :title="$t('archiveObj.dataType')"> - <el-select size="small" - v-model="formInline.dataType" - :popper-append-to-body="false" - :placeholder="$t('archiveObj.label1')" - @change="setDataTypeChange()"> - <el-option :label="$t('archiveObj.dataBank')" - value="type1"></el-option> - <el-option :label="$t('archiveObj.file')" - value="type2"></el-option> - </el-select> - </el-form-item> - <!-- 璧勬枡绫诲埆 --> - <el-form-item :title="$t('archiveObj.dataClass')"> - <el-select :popper-append-to-body="false" - v-model="formInline.category" - multiple - clearable - collapse-tags - multiple - filterable - allow-create - default-first-option - size="small" - ref="cascaders" - :placeholder="$t('archiveObj.label4')" - @change="categorySelectChange('orgName','org',categoryOptions)"> - <el-option v-for="item in categoryOptions" - :key="item.key" - :label="item.value" - :value="item.key"> - </el-option> - </el-select> - </el-form-item> - <!-- 椤圭洰鍚嶇О --> - <el-form-item :title="$t('archiveObj.entryName')"> - <el-select :popper-append-to-body="false" - v-model="formInline.item" - multiple - clearable - collapse-tags - multiple - filterable - allow-create - default-first-option - size="small" - :placeholder="$t('archiveObj.label5')" - @change="itemSelectChange('orgName','org',itemOptions)"> - <el-option v-for="item in itemOptions" - :key="item.code" - :label="item.name" - :value="item.code"> - </el-option> - </el-select> - </el-form-item> - <!-- 鍗曚綅 --> - <el-form-item :title="$t('archiveObj.unit')"> - <el-select size="small" - v-model="formInline.depName" - :placeholder="$t('archiveObj.label3')" - :popper-append-to-body="false" - ref="treeSelect"> - <el-option :value="formInline.depcode" - :label="formInline.depName" - style="height: auto"> - <el-tree ref="tree" - :data="depOption" - node-key="id" - :props="defaultProps" - @node-click="depChange" /> - </el-option> - </el-select> - </el-select> - </el-form-item> - <!-- 鍏抽敭瀛� --> - <el-form-item :title="$t('archiveObj.keywords')"> - <el-input :placeholder="$t('archiveObj.label6')" - v-model="formInline.keywords" - size="small"> <i :title="$t('common.iquery')" - @click="setSearchKeyWords" - slot="suffix" - class="el-input__icon el-icon-search"></i></el-input> - </el-form-item> - <!-- 鎵归噺涓嬭級 --> - <el-form-item style="float:right" - v-if="formInline.dataType =='type2'"> - <el-button type="success" - size="small" - icon="el-icon-download" - @click="setCardDownload">{{$t('common.download')}}</el-button> - - </el-form-item> - <!-- 绌洪棿鏌ヨ --> - <el-form-item style="float:right"> - <el-button type="primary" - size="small" - icon="el-icon-search" - @click="getSpaceMapVisibale">{{$t('synthesis.rangequery')}}</el-button> - - </el-form-item> - <!-- 閲嶇疆 --> - <el-form-item style="float:right"> - <el-button type="info" - size="small" - icon="el-icon-refresh" - @click="setQuerAllTablesRefresh">{{$t('common.reset')}}</el-button> - - </el-form-item> - </el-form> - </div> - <div class="contBox"> - <div id="archTopBox" - class="archTopBox"> - - <div class="boxCard" - v-for="(item,index) in monthdata"> - <el-card class="box-card"> - <div slot="header" - class="clearfix"> - - <span v-show="formInline.dataType =='type2'"> - <el-checkbox v-model="item.ischecked" - @change="handleCheckedDataTypeChange(item)" - style="margin-right:10px"> - </el-checkbox> - <span v-if="item.ismeta > 0"> - <el-link style="color: #409eff" - title="婧愭暟鎹煡璇�" - target="_blank" - @click="setQueryMetaData(item)">{{ item.name }}</el-link> - </span> - <span v-else-if="item.metaid > 0"> - <el-link style="color: #409eff" - title="鍏冩暟鎹煡璇�" - target="_blank" - @click="setMetaDataQuery(item)">{{ item.name }}</el-link> - </span> - <span v-else>{{ item.name }}</span> - </span> - <span v-show="formInline.dataType !='type2'">{{item.tabDesc}}</span> - <div style="float: right; padding: 3px 0"> - <i v-show="formInline.dataType=='type2' " - v-if="showView(item, /[]/)" - class="el-icon-view" - :title="$t('common.preview')" - @click="setAttatchFileView(index, item)"></i> - <i style="margin-left:10px" - class="el-icon-tickets" - :title="$t('common.details')" - @click="setCardDetails(item)"></i> - <!-- <i - v-show="formInline.dataType=='type2'" - style="margin-left:10px" - class="el-icon-download" - :title="$t('common.download')" - @click="setCardDownload(item)" - ></i> --> - <i v-show="!item.isShow" - style="margin-left:10px" - class="el-icon-arrow-up" - :title="$t('archiveObj.fold')" - @click="setCardChange(item)"></i> - <i v-show="item.isShow" - style="margin-left:10px" - class="el-icon-arrow-down" - :title="$t('archiveObj.develop')" - @click="setCardChange(item)"></i> - </div> - </div> - <div :id="item.id" - style="margin:5px 1px" - v-show="!item.isShow && formInline.dataType=='type2'"> - <div class="cardItem"> {{$t('archiveObj.dataType')}} : {{ item.mold }} </div> - <div class="cardItem"> {{$t('dataManage.vmobj.format')}} : {{ item.type }} </div> - <div class="cardItem"> {{$t('dataManage.vmobj.size')}} : {{stateFormatSizes(item.sizes)}} </div> - <div class="cardItem"> {{$t('dataManage.vmobj.tab')}} : {{ item.tab }} </div> - <div class="cardItem"> {{$t('dataManage.vmobj.dirName')}} : {{ item.dirName }} </div> - <div class="cardItem"> {{$t('dataManage.vmobj.row')}} : {{ item.rows }} </div> - <div class="cardItem"> {{$t('archiveObj.downloads')}} : {{ item.downCount }} 娆� </div> - <div class="cardItem"> {{$t('dataManage.vmobj.createonuser')}} : {{item.uname}} </div> - <div class="cardItem"> {{$t('dataManage.vmobj.depName')}} : {{item.depName}} </div> - <div class="cardItem"> {{$t('dataManage.vmobj.createontime')}} : {{format(item.createTime)}} </div> - - </div> - <div :id="item.id" - style="margin:5px 1px" - v-show="!item.isShow && formInline.dataType!='type2'"> - <div class="cardItem"> {{$t('archiveObj.dataType')}} : {{ item.mold }} </div> - <div class="cardItem"> {{$t('dataManage.vmobj.tab')}} : {{ item.ns+'.'+item.tab }} </div> - <div class="cardItem"> {{$t('dataManage.vmobj.row')}} : {{ item.rows }} </div> - <div class="cardItem"> {{$t('dataManage.vmobj.dirName')}} : {{ item.bak }} </div> - <!-- <div class="cardItem"> {{$t('archiveObj.storageType')}} : {{ item.tableType }} </div> --> - </div> - </el-card> - </div> - - </div> - <div class="archBottomBox"> - <div style="margin-top:10px"> - <el-pagination @size-change="handleSizeChange" - @current-change="handleCurrentChange" - :current-page="listData.pageIndex" - :page-sizes="[10, 20, 50, 100]" - :page-size="listData.pageSize" - layout="total, sizes, prev, pager, next, jumper" - :total="listData.count"> - </el-pagination> - </div> - </div> - </div> - <!-- 鏂囦欢璇︽儏 --> - <el-dialog :title="$t('common.details')" - :visible.sync="showinfoBox1" - :close-on-click-modal="false" - width="30%"> - <div class="contentBox"> - <p>{{ $t('dataManage.vmobj.name') }}锛歿{ itemdetail1.name }}</p> - <el-divider></el-divider> - <p>{{ $t('dataManage.vmobj.format') }}锛歿{ itemdetail1.type }}</p> - <el-divider></el-divider> - <p>{{ $t('common.size') }}锛歿{ stateFormatSizes(itemdetail1.sizes) }}</p> - <el-divider></el-divider> - <p>{{ $t('dataManage.vmobj.tab') }}锛歿{ itemdetail1.tab }}</p> - <el-divider></el-divider> - <p>{{ $t('dataManage.vmobj.row') }}锛歿{itemdetail1.rows }}</p> - <el-divider></el-divider> - <p>{{ $t('archiveObj.downloads') }}锛歿{ itemdetail1.downCount }} 娆�</p> - <el-divider></el-divider> - <p>{{ $t('archiveObj.label9') }}锛歿{ itemdetail1.lastUser }} </p> - <el-divider></el-divider> - <p>{{ $t('archiveObj.label8') }}锛歿{setInfoBoxTime(itemdetail1.lastTime) }} </p> - <el-divider></el-divider> - <p>{{ $t('dataManage.vmobj.depName') }}锛歿{ itemdetail1.depName }}</p> - <el-divider></el-divider> - <p> - {{ $t('dataManage.vmobj.gather') }}锛歿{ - setInfoBoxTime(itemdetail1.gather) - }} - </p> - <el-divider></el-divider> - <p> - {{ $t('dataManage.vmobj.describe') }}锛歿{ itemdetail1.describe }} - </p> - <el-divider></el-divider> - <p> - {{ $t('dataManage.vmobj.createonuser') }}锛歿{ itemdetail1.uname }} - </p> - <el-divider></el-divider> - <p> - {{ $t('dataManage.vmobj.createontime') }}锛歿{ - setInfoBoxTime(itemdetail1.createTime) - }} - </p> - <el-divider></el-divider> - <p> - {{ $t('dataManage.vmobj.updateonuser') }}锛歿{ - itemdetail1.updateUser - }} - </p> - <el-divider></el-divider> - <p> - {{ $t('dataManage.vmobj.updateontime') }}锛歿{ - setInfoBoxTime(itemdetail1.updateTime) - }} - </p> - </div> - </el-dialog> - <!-- 鏁版嵁搴撹鎯� --> - <el-dialog :title=" this.listBankData.title" - :visible.sync="dialogVisible" - :close-on-click-modal="false" - width="90%" - top="12vh"> - - <!-- 瀵嗙爜妗� --> - <el-dialog :title="$t('common.passworld')" - :visible.sync="downloadLogVisible" - :close-on-click-modal="false" - top="15vh" - width="30%" - :show-close="false" - :modal="false"> - <el-form :model="codeForm" - :rules="rules" - ref="codeForm" - label-width="100px" - class="codeForm"> - <el-form-item :label="$t('common.passworld')" - prop="password"> - <el-input size="small" - type="password" - v-model="codeForm.password" - show-password></el-input> - </el-form-item> - <el-form-item :label="$t('common.SPassword')" - prop="repassword"> - <el-input size="small" - type="password" - v-model="codeForm.repassword" - show-password></el-input> - </el-form-item> - <el-form-item> - <el-button class="primary" - size="small" - @click="download1('codeForm')">{{$t('common.confirm')}}</el-button> - <el-button type="info" - size="small" - @click="closeDown1('codeForm')">{{$t('common.cancel')}}</el-button> - </el-form-item> - </el-form> - </el-dialog> - - <!-- 鏁版嵁搴搕able璇︽儏 --> - <el-dialog width="30%" - :visible.sync="itemDetailVisible" - :modal="false"> - <div class="contentBox" - style="height:60vh;overflow:auto"> - <ul> - <li v-for="(item, index) in itemdetail"> - <p> - <label> {{ item.label }}:</label> - <label class="boxlabel">{{ item.value }}</label> - </p> - <el-divider></el-divider> - </li> - </ul> - </div> - </el-dialog> - <!-- 鏌ヨ鏉′欢 --> - <!-- 鏉′欢--> - <el-dialog width="43%" - :visible.sync="conditionVisible" - :modal="false" - title="鏌ヨ鏉′欢" - :show-close="false"> - <el-form :inline="true" - :model="formSql" - class="demo-form-inline"> - <el-form-item> - <el-select size="small" - :popper-append-to-body="false" - @change="fieldChange($event)" - v-model="formSql.field"> - <el-option v-for="item in filedsOption" - :key="item.field" - :label="item.alias" - :value="item.field"> - </el-option> - </el-select> - </el-form-item> - <el-form-item> - <el-select size="small" - :popper-append-to-body="false" - v-model="formSql.condition"> - <el-option v-for="item in condOption" - :key="item.value" - :label="item.label" - :value="item.value"> - </el-option> - </el-select> - </el-form-item> - <el-form-item v-show="!fromSqlflag"> - <el-input size="small" - v-model="formSql.value"></el-input> - </el-form-item> - <el-form-item v-show="fromSqlflag"> - <el-date-picker size="small" - v-model="formSql.date" - type="date" - placeholder="閫夋嫨鏃ユ湡" - value-format="yyyy-MM-dd"> - </el-date-picker> - </el-form-item> - </el-form> - <span slot="footer" - class="dialog-footer"> - <el-button size="small" - @click="startFiledAndcondition">鍙� 娑�</el-button> - <el-button size="small" - type="primary" - @click="appendQueryFilter">纭� 瀹�</el-button> - </span> - </el-dialog> - <!-- 鏁版嵁搴撻檮浠朵俊鎭� --> - <el-dialog :title="$t('common.enclosure')" - :visible.sync="outerVisible" - :close-on-click-modal="false" - width="50%" - :modal="false"> - <div style="height:68vh"> - <el-form :model="fromfile" - class="demo-form-inline"> - <el-form-item> - <el-input v-model="fromfile.file" - style="width: 300px; margin-right: 20px" - :placeholder="$t('common.choose')" - disabled></el-input> - <input name="file1" - type="file" - id="insertFile" - multiple="multiple" - style="display: none" - @change="insertFile( )" /> - <el-link @click="getInsertFile( )" - :underline="false"><i class="el-icon-folder-opened"></i></el-link> - </el-form-item> - <el-form-item> - <el-row> - <el-col :span="2"> - <el-link class="elLink" - :underline="false" - @click="setAttachInsert">{{$t('common.append')}}</el-link> - </el-col> - <el-col :span="2"> - <el-link class="elLink" - :underline="false" - @click="setAttachDel">{{$t('common.delete')}}</el-link> - </el-col> - </el-row> - </el-form-item> - </el-form> - <el-table @cell-dblclick="copyText" - :data="tableAttach" - ref="filterTable" - height="calc(100% - 130px)" - border - style="width: 100%" - @selection-change="handleAttatchChange"> - <el-table-column type="selection" - width="70" /> - <el-table-column width="60" - type="index" - :label="$t('common.index')" /> - <el-table-column prop="name" - :label="$t('common.fileNme')" /> - - <el-table-column prop="sizes" - :label="$t('common.size')" - :formatter="statSizeChange" /> - <el-table-column align="center" - :label="$t('common.operate')" - min-width="100"> - <template slot-scope="scope"> - <el-link v-if="matchState(scope, /[]/)" - @click="setAttatchDetail(scope.$index, scope.row)" - class="elLink">{{ $t('common.see') }}</el-link> - - </template> - </el-table-column> - </el-table> - </div> - </el-dialog> - <!-- 鏁版嵁搴揟able淇℃伅 --> - <div style="height:68vh"> - <el-form :model="formInline" - :inline="true"> - <el-form-item> - <el-input type="input" - v-model="formInline.fileName" - class="nm-skin-pretty" - show-word-limit - :rows="2" - resize='none' - disabled - size="small" - style="width: 650px;" - :placeholder="$t('archiveObj.label7')"></el-input> - </el-form-item> - <el-form-item> - <el-button type="success" - size="small" - icon="el-icon-plus" - @click="conditionVisible = true">{{$t('common.append')}}</el-button> - </el-form-item> - <el-form-item> - <el-button type="primary" - size="small" - icon="el-icon-search" - @click="submitForm()">{{$t('common.iquery')}}</el-button> - </el-form-item> - <el-form-item> - <el-button type="info" - size="small" - icon="el-icon-search" - @click="resetForm()">{{$t('common.reset')}}</el-button> - </el-form-item> - <el-form-item> - <el-button type="warning" - size="small" - icon="el-icon-download" - @click="downloadLogVisible = true">{{$t('common.download')}}</el-button> - </el-form-item> - <!-- --> - </el-form> - <el-divider /> - <el-table @cell-dblclick="copyText" - ref="filterTable" - :data="tableData" - border - style="width: 100%" - height="calc(100% - 150px)" - @selection-change="handleSelectionChange"> - <el-table-column type="selection" - align="center" - width="55" /> - <el-table-column width="60" - type="index" - align="center" - :label="$t('common.index')" /> - <el-table-column v-for="(item, index) in attributeData" - :key="index" - :label="item.alias" - :prop="item.field" - show-overflow-tooltip - align="center" - min-width="150"></el-table-column> - <el-table-column align="center" - :label="$t('common.operate')" - min-width="150"> - <template slot-scope="scope"> - <el-link class="elLink" - @click="showDetail(scope.$index, scope.row)">{{ $t('common.details') }}</el-link> - <el-link class="elLink" - @click="getAttachTable(scope.$index, scope.row)" - style="margin-left: 20px">{{ $t('common.enclosure') }}</el-link> - </template> - </el-table-column> - </el-table> - <div class="archBottomBox"> - <div> - <el-pagination @size-change="handleSizeChange1" - @current-change="handleCurrentChange1" - :current-page="listBankData.pageIndex" - :page-sizes="[10, 20, 50, 100]" - :page-size="listBankData.pageSize" - layout="total, sizes, prev, pager, next, jumper" - :total="listBankData.count"> - </el-pagination> - </div> - </div> - </div> - </el-dialog> - <!-- 瀵嗙爜妗� --> - <el-dialog :title="$t('common.passworld')" - :visible.sync="passWorldVisible" - :close-on-click-modal="false" - top="15vh" - width="30%" - :show-close="false"> - <el-form :model="codeForm" - :rules="rules" - ref="codeForm" - label-width="100px" - class="codeForm"> - <el-form-item :label="$t('common.passworld')" - prop="password"> - <el-input size="small" - type="password" - v-model="codeForm.password" - show-password></el-input> - </el-form-item> - <el-form-item :label="$t('common.SPassword')" - prop="repassword"> - <el-input size="small" - type="password" - v-model="codeForm.repassword" - show-password></el-input> - </el-form-item> - <el-form-item> - <el-button class="primary" - size="small" - @click="download('codeForm')">{{$t('common.confirm')}}</el-button> - <el-button type="info" - size="small" - @click="closeDown('codeForm')">{{$t('common.cancel')}}</el-button> - </el-form-item> - </el-form> - </el-dialog> - <!-- 涓嬭浇鍒楄〃 --> - <el-dialog :visible.sync="downloadListVisible" - width="90%" - top="14vh" - :close-on-click-modal="false"> - <div class="downloadBox"> - <div class="archdowntop"> - <el-table @cell-dblclick="copyText" - :data="downloadTableData" - style="width: 100%" - height="calc(100% - 5px)"> - <el-table-column type="index" - width="50" - :label="$t('common.index')"> - </el-table-column> - <el-table-column property="descr" - :label="$t('common.title')"> </el-table-column> - <el-table-column property="name" - :label="$t('common.fileNme')"> </el-table-column> - <el-table-column property="createName" - :label="$t('operatManage.BWL.requestUser')"> </el-table-column> - <el-table-column property="createTime" - :formatter="formatData" - :label="$t('dataApply.careatetime')"> - </el-table-column> - - <el-table-column :label="$t('common.download')" - width="120"> - <template slot-scope="scope"> - <el-link @click.native.prevent="downloadMap(scope.$index, scope.row)" - :underline="false">涓嬭浇</el-link> - </template> - </el-table-column> - </el-table> - </div> - <div class="archdownbottom"> - <el-pagination @size-change="downloadSizeChange" - @current-change="downloadCurrentChange" - :current-page="downloadPage.pageIndex" - :page-sizes="[10, 20, 50, 100]" - :page-size="downloadPage.pageSize" - layout="total, sizes, prev, pager, next, jumper" - :total="downloadPage.count"> - </el-pagination> - </div> - - </div> - </el-dialog> - <!--绌洪棿鏌ヨ --> - <el-dialog :title=" $t('synthesis.rangequery')" - :visible.sync="dialogMapVisible" - width="90%" - top="10vh" - :close-on-click-modal="false" - :before-close="handleMaptClose"> - <div style="height:73vh"> - <map-sdk v-if='showMapVisible'></map-sdk> - </div> - </el-dialog> - <el-dialog :title="fromQueryMeta.title" - :visible.sync="queryMetaFlag1" - width="70%"> - <div style="height: 65vh; width: 100%"> - - <el-table @cell-dblclick="copyText" - ref="filterTable" - :data="metaDataTable1" - style="width: 100%" - height="100%"> - <el-table-column align="center" - type="index" - :label="$t('common.index')" - width="70px"></el-table-column> - <el-table-column align="center" - prop="name" - :label="$t('common.name')" - width="120"> - </el-table-column> - <el-table-column align="center" - prop="dirName" - :label="$t('dataManage.dataUpObj.catalogue')" - width="300" /> - <el-table-column align="center" - prop="depName" - :label="$t('dataManage.dataUpObj.company')" - width="200" /> - <el-table-column align="center" - prop="verName" - :label="$t('dataManage.dataUpObj.versionNo')" /> - <el-table-column align="center" - prop="type" - :label="$t('common.type')" /> - <el-table-column align="center" - prop="sizes" - :label="$t('common.size')" - :formatter="stateFormatSizes" /> - <el-table-column align="center" - :label="$t('dataManage.dataUpObj.tableName')"> - <template slot-scope="scope"> - <a class="scopeRowColor">{{ - scope.row.tab - }}</a> - </template> - </el-table-column> - <el-table-column align="center" - prop="rows" - :label="$t('common.lineNuber')" /> - <el-table-column align="center" - prop="desc" - :label="$t('dataManage.dataUpObj.describe')" /> - </el-table> - - </div> - </el-dialog> - <el-dialog :title="fromQueryMeta.title" - :visible.sync="queryMetaFlag" - width="70%"> - <div style="height: 65vh; width: 100%"> - <el-form :inline="true" - :model="fromQueryMeta" - class="demo-form-inline"> - <el-form-item> - <el-input size="small" - v-model="fromQueryMeta.name"></el-input> - </el-form-item> - - <el-form-item> - <el-button type="primary" - size="small" - @click="setSearchMetaData()">鏌ヨ - </el-button> - <el-button type="info" - size="small" - @click="setRestMetaData()">閲嶇疆 - </el-button> - </el-form-item> - </el-form> - <el-table @cell-dblclick="copyText" - ref="filterTable" - :data="metaDataTable" - style="width: 100%" - height="calc(100% - 100px)"> - <el-table-column align="center" - type="index" - :label="$t('common.index')" - width="70px"></el-table-column> - <el-table-column align="center" - prop="name" - :label="$t('common.name')" - width="120"> - </el-table-column> - <el-table-column align="center" - prop="dirName" - :label="$t('dataManage.dataUpObj.catalogue')" - width="300" /> - <el-table-column align="center" - prop="depName" - :label="$t('dataManage.dataUpObj.company')" - width="200" /> - <el-table-column align="center" - prop="verName" - :label="$t('dataManage.dataUpObj.versionNo')" /> - <el-table-column align="center" - prop="type" - :label="$t('common.type')" /> - <el-table-column align="center" - prop="sizes" - :label="$t('common.size')" - :formatter="stateFormatSizes" /> - <el-table-column align="center" - :label="$t('dataManage.dataUpObj.tableName')"> - <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 class="pagination_box" - style="margin-top: 15px"> - <el-pagination @size-change="handleMetaSizeChange" - @current-change="handMetaCurrentChange" - :current-page="listMetaData.pageIndex" - :page-sizes="[10, 20, 50, 100]" - :page-size="listMetaData.pageSize" - layout="total, sizes, prev, pager, next, jumper" - :total="listMetaData.count"> - </el-pagination> - </div> - </div> - </el-dialog> - <el-dialog title="棰勮" - :append-to-body="false" - :visible.sync="dialog.dialogVisible" - width="70%" - :close-on-click-modal="false"> - <div v-if="dialog.isPdf" - class="pdfClass"> - <iframe :src="dialog.src" - type="application/x-google-chrome-pdf" - width="100%" - height="100%"> - </iframe> - </div> - <div v-if="dialog.isJpg" - class="pdfClass"> - <el-image style="width:100%; height:100%" - :src="dialog.src" - :preview-src-list="[dialog.src]"> - </el-image> - - </div> - </el-dialog> - <el-dialog title="鏁版嵁鐢宠" - :visible.sync="dialogInsertVisible" - width="30%" - top="35vh" - :modal="false" - :before-close="handleInsertClose"> - <div style="width: 100%; max-height: 450px; overflow-y: auto"> - <el-form ref="form" - :model="ruleForm" - label-width="100px"> - <el-form-item label="瀹℃牳鍗曚綅"> - <div> - <ul> - <li v-for="item in ruleForm.depid"> - {{ item.name }} - </li> - </ul> - </div> - </el-form-item> - <el-form-item label="琛ㄥ悕"> - <div> - <ul> - <li v-for="item in ruleForm.tabs"> - {{ item.tabDesc }} - </li> - </ul> - </div> - </el-form-item> - <el-form-item label="鏉′欢"> - <el-input :title="ruleForm.wkt" - v-model="ruleForm.wkt" - disabled></el-input> - </el-form-item> - <el-form-item label="鎻忚堪"> - <el-input type="textarea" - placeholder="璇疯緭鍏ュ唴瀹�" - v-model="ruleForm.descr" - maxlength="50" - show-word-limit> - </el-input> - </el-form-item> - <el-form-item> - <el-button class="primary" - size="small" - @click="getInsertDownx">{{ - $t("common.confirm") - }}</el-button> - <el-button type="info" - size="small" - @click="closeInsertDown">{{ - $t("common.cancel") - }}</el-button> - </el-form-item> - </el-form> - </div> - </el-dialog> - <el-dialog :title="$t('common.passworld')" - :visible.sync="dialogVisible1" - width="30%" - top="35vh" - :modal="false" - :before-close="handleCloseDown1"> - <el-form :model="codeForm" - :rules="rules" - ref="codeForm" - label-width="100px" - class="codeForm"> - <el-form-item :label="$t('common.passworld')" - prop="password"> - <el-input type="password" - v-model="codeForm.password" - show-password></el-input> - </el-form-item> - <el-form-item :label="$t('common.SPassword')" - prop="repassword"> - <el-input type="password" - v-model="codeForm.repassword" - show-password></el-input> - </el-form-item> - <el-form-item> - <el-button class="primary" - size="small" - @click="downloadx('codeForm')">{{ $t("common.confirm") }}</el-button> - <el-button type="info" - size="small" - @click="closeDownx('codeForm')">{{ - $t("common.cancel") - }}</el-button> - </el-form-item> - </el-form> - </el-dialog> - <el-dialog title="鏁版嵁鐢宠" - :visible.sync="dialogInsertFile" - width="30%" - top="10vh" - :modal="false" - :close-on-click-modal="false" - :show-close="false"> - <el-form ref="form" - :model="fileFrom" - label-width="100px"> - <el-form-item label="瀹℃牳鍗曚綅"> - <div> - <ul> - <li v-for="item in fileFrom.depid"> - {{ item.name }} - </li> - </ul> - </div> - </el-form-item> - - <el-form-item label="鎻忚堪"> - <el-input type="textarea" - placeholder="璇疯緭鍏ュ唴瀹�" - v-model="fileFrom.descr" - maxlength="50" - show-word-limit> - </el-input> - </el-form-item> - <el-form-item> - <el-button class="primary" - size="small" - @click="getFileInsertApply()">{{ - $t("common.confirm") - }}</el-button> - <el-button type="info" - size="small" - @click="handleInsertFileClose()">{{ - $t("common.cancel") - }}</el-button> - </el-form-item> - </el-form> - - </el-dialog> - <iframe id="downFrame" - src="" - style="display: none; border: 0; padding: 0; height: 0; width: 0"></iframe> - </div> -</template> - -<script> -import MapSdk from '../../components/mapsdk.vue' -import MyBread from "../../components/MyBread.vue"; -import { conditions } from './Archive.js'; -import $ from 'jquery' -import { getToken } from '@/utils/auth'; -import { - decr, - encr, - selectdepTab, - dataLib_selectProject, - dataLib_selectDirTypes, - dataLib_selectByPageForMeta, - dataLib_selectTabs, - dataLib_selectFields, - dataLib_selectDomains, - dataLib_selectByPage, - sign_getPublicKey, - dataLib_downloadReq, - dataLib_selectDownloadFile, - dataLib_selectPageCountForDownload, - dataLib_selectPageAndCountByPid, - dataLib_selectMetaById, - dataLib_selectFiles, - dataLib_deletes, - dataLib_selectDbOverflowDep, - dataLib_selectDepsByIds, - apply_insertApply, - dataLib_selectMetaOverflowDep -} from '../../api/api'; -import { dataLibView } from '@/api/screen.js' -export default { - components: { - MyBread,MapSdk - }, - data () { - var repasswordValidator=(rule,value,callback) => { - if(value==='') { - callback(new Error('璇峰啀娆¤緭鍏ュ瘑鐮�')); - } else if(value!==this.codeForm.password) { - callback(new Error('涓ゆ杈撳叆瀵嗙爜涓嶄竴鑷�!')); - } else { - callback(); - } - }; - var passwordValidator=(rule,value,callback) => { - var passwordreg= - /^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z\W!@#$%^&*`~()\\-_+=,.?;<>]+$)(?![a-z0-9]+$)(?![a-z\W!@#$%^&*`~()\\-_+=,.?;<>]+$)(?![0-9\W!@#$%^&*`~()\\-_+=,.?;<>]+$)[a-zA-Z0-9\W!@#$%^&*`~()\\-_+=,.?;<>]{12,20}$/; - if(!passwordreg.test(value)) { - callback( - new Error('瀵嗙爜蹇呴』鐢辨暟瀛椼�佸瓧姣嶃�佺壒娈婂瓧绗︾粍鍚�,璇疯緭鍏�13-20浣�') - ); - } else { - callback(); - } - }; - return { - - fromfile: { file: '' }, - fromSqlflag: false, - filedsOption: [], - condOption: [], - codeForm: { - password: '', - repassword: '', - }, - rules: { - password: [{ required: true,message: '璇疯緭鍏ュ瘑鐮�',trigger: 'blur' },{ validator: passwordValidator,trigger: 'blur' }], - repassword: [ - { required: true,message: '璇疯緭鍏ョ‘璁ゅ瘑鐮�',trigger: 'blur' }, - { validator: repasswordValidator,trigger: 'blur' }, - ], - }, - formInline: { - fileName: "",//楂樼骇鎼滅储 - dataType: "type2", //鏁版嵁绫诲瀷 - category: [], //鏌ヨ绫诲埆, - item: [], - depcode: null, //鍗曚綅, - depName: null,//鍗曚綅, - keywords: '', - }, - categoryOptions: [], - itemOptions: [], - depOption: [],//鍗曚綅鍒楄〃 - defaultProps: { - label: "name", - value: "id", - }, - listData: { - pageIndex: 1, - pageSize: 10, - count: 0, - }, - listBankData: { - pageIndex: 1, - pageSize: 10, - count: 0, - name: "", - title: "", - }, - monthdata: [], - itemdetail1: {}, - showinfoBox1: false, - dialogVisible: false, - formSql: { - field: '', - condition: '', - value: '', - type: '', - date: '', - }, - downloadPage: { - pageIndex: 1, - pageSize: 10, - count: 0, - name: null, - }, - attributeData: [], - tableData: [], - multipleSelection1: [], - passWorldVisible: false, - itemdetail: [], - itemDetailVisible: false, - downloadLogVisible: false, - conditionVisible: false, - downloadListVisible: false, - downloadTableData: [], - dialogMapVisible: false, - showMapVisible: false, - queryMetaFlag1: false, - metaDataTable1: [], - fromQueryMeta: { - title: "" - }, - listMetaData: { - metaid: 0, - name: "", - pageIndex: 1, - pageSize: 10, - count: 0, - }, - fromQueryMeta: { - name: "" - }, - queryMetaFlag: false, - metaDataTable: [], - upAttach: { - tabName: null, - eventid: null, - }, - outerVisible: false, - tableAttach: [], - dataLib_selectFiles: [], - attacgSelection: [], - dialog: { - dialogVisible: false, - isPdf: false, - isJpg: false, - src: '' - }, - checkedDataType: [], - ruleForm: { - depname: [], - tabs: [], - pwd: null, - repwd: null, - wkt: null, - descr: null, - }, - dialogInsertVisible: false, - dialogVisible1: false, - multipleSelection: [], - dialogInsertFile: false, - fileFrom: { - descr: null, - depid: null, - ids: null, - pwd: null, - depcodes: null - } - }; - }, - watch: { - "formInline.depName" () { - this.$refs.treeSelect.visible=false; - }, - }, - mounted () { - this.getDepTreeData(); - this.getCategorySelectData(); - this.getItemSelectData(); - this.signGetPublicKey(); - this.$bus.$on("setDialogInsertVisible",(res) => { - if(res==true) { - this.dialogVisible1=true; - } else { - this.setDialogInsertVisible(res); - } - }) - }, - methods: { - //鏁版嵁搴撴煡璇笅杞� - downloadBankData () { - // downloadLogVisible - - }, - handleCloseDown1 () { - this.$confirm("纭鍏抽棴锛�") - .then(_ => { - this.closeDownx(); - }) - .catch(_ => { }) - }, - downloadx () { - this.$bus.$emit("setInsertDown2",this.codeForm) - // - }, - closeDownx () { - this.dialogVisible1=false; - this.codeForm={ - password: '', - repassword: '', - } - }, - async getInsertDownx () { - - this.dialogInsertVisible=false; - this.dialogVisible1=false; - this.downloadLogVisible=false; - var obj=null - if(this.dialogMapVisible==true) { - var entities=[]; - var tabs=[]; - for(var i in this.ruleForm.tabs) { - entities.push(this.ruleForm.tabs[i].entity) - tabs.push(this.ruleForm.tabs[i].tabDesc) - } - var std=[]; - for(var i in this.ruleForm.depname) { - std.push(this.ruleForm.depname[i].name) - } - - obj={ - pwd: encr(this.codeForm.password), - entities: entities, - wkt: encr(this.ruleForm.wkt), - filter: null, - ids: null, - depcode: null, - dirs: null, - depcodes: std, - descr: this.ruleForm.descr, - tabs: tabs - } - } else { - var ids=[]; - var filter=null; - this.downloadLogVisible=false; - if(this.multipleSelection.length!=0) { - for(var i in this.multipleSelection) { - ids.push(this.multipleSelection[i].gid) - } - filter=null; - } else { - filter=this.listBankData.filter; - ids=null; - } - - var std=[]; - for(var i in this.ruleForm.depname) { - std.push(this.ruleForm.depname[i].name) - } - var dirs=null; - if(this.listData.dirs) { - - dirs=this.listData.dirs - } - - obj={ - pwd: encr(this.codeForm.password), - entities: [this.listBankData.name], // bpachydrogeology,bhydrogeologyattach - wkt: null, - filter: filter, - ids: ids, - depcode: this.listData.depcode, - dirs: dirs, - depcodes: std, - descr: this.ruleForm.descr, - tabs: [this.listBankData.title] - } - } - - const data=await apply_insertApply(JSON.stringify(obj)) - if(data.code!=200) { - this.$message.error("鏁版嵁鐢宠澶辫触") - return - } - this.$message({ - message: "鏁版嵁鐢宠鎴愬姛", - type: "success", - }) - this.closeDownx(); - this.closeDown1(); - }, - - closeInsertDown () { - this.ruleForm={ - depname: [], - tabs: [], - pwd: null, - repwd: null, - wkt: null, - descr: null, - } - this.dialogInsertVisible=false - this.closeDown1(); - }, - handleInsertClose () { - this.$confirm("纭鍏抽棴锛�") - .then(_ => { - this.closeInsertDown() - }) - .catch(_ => { }) - }, - setDialogInsertVisible (res) { - this.ruleForm=res; - this.dialogInsertVisible=true; - }, - copyText (row,column,cell,event) { - // 鍙屽嚮澶嶅埗 - let save=function(e) { - e.clipboardData.setData('text/plain',event.target.innerText); - e.preventDefault(); //闃绘榛樿琛屼负 - } - document.addEventListener('copy',save);//娣诲姞涓�涓猚opy浜嬩欢 - document.execCommand("copy");//鎵цcopy鏂规硶 - this.$message({ message: '澶嶅埗鎴愬姛',type: 'success' })//鎻愮ず - }, - //鎵归噺涓嬭浇澶嶉�夋chagne - handleCheckedDataTypeChange (res) { - var std=0; - for(var i=0;i<this.multipleSelection1.length;i++) { - if(res.guid==this.multipleSelection1[i].guid) { - std=i; - } - } - if(std==0) { - this.multipleSelection1.push(res); - } else { - this.multipleSelection1.splice(std,1) - } - console.log(this.multipleSelection1) - }, - - - matchState (state="",reg) { - var row=state.row; - var name=row.name; - if(name.indexOf('.pdf')!=-1||name.indexOf('.jpg')!=-1||name.indexOf('.gif')!=-1||name.indexOf('.png')!=-1||name.indexOf('.jpeg')!=-1) { - return true; - } - - return false; - }, - // 闄勪欢=>琛ㄦ牸閫夋嫨 - handleAttatchChange (val) { - this.attacgSelection=val; - }, - //闄勪欢=>鏂囦欢閫夋嫨 - getInsertFile () { - $('#insertFile').click(); - }, - insertFile () { - var val=document.getElementById('insertFile').files; - if(!val||!val.length) return; - this.fromfile.file=val[0].name; - }, - getAttachTable (index,row) { - if(row.eventid!=null) { - this.upAttach.eventid=row.eventid; - } else { - this.upAttach.eventid=""; - } - this.outerVisible=true; - this.getAttacthFlieList(); - }, - //闄勪欢鍒楄〃鏌ヨ - async getAttacthFlieList () { - var obj=this.upAttach; - const res=await dataLib_selectFiles(obj); - if(res.code!=200) { - this.$message.error('鍒楄〃璋冪敤澶辫触'); - return - } - this.tableAttach=res.result; - }, - refreshAttatchDetail () { - this.dialog.src=""; - this.dialog.dialogVisible=false; - this.dialog.isPdf=false; - this.dialog.isJpg=false; - }, - //闄勪欢鏌ョ湅 - setAttatchDetail (index,row) { - this.refreshAttatchDetail() - var name=row.name; - if(name.indexOf('.pdf')!=-1) { - this.dialog.dialogVisible=true; - this.dialog.isPdf=true; - var url=BASE_URL+"/comprehensive/downloadForView?guid="+row.guid+"&token="+getToken(); - this.dialog.src=url - } else if(name.indexOf('.jpg')!=-1||name.indexOf('.gif')!=-1||name.indexOf('.png')!=-1||name.indexOf('.jpeg')!=-1) { - this.dialog.dialogVisible=true; - this.dialog.isJpg=true; - var url=BASE_URL+"/comprehensive/downloadForView?guid="+row.guid+"&token="+getToken(); - this.dialog.src=url - } - }, - - setAttatchFileView (index,row) { - this.refreshAttatchDetail() - var name=`${row.name}.${row.type}`; - if(name.indexOf('.pdf')!=-1) { - this.dialog.isPdf=true; - } else if(name.indexOf('.jpg')!=-1||name.indexOf('.gif')!=-1||name.indexOf('.png')!=-1||name.indexOf('.jpeg')!=-1) { - this.dialog.isJpg=true; - } - this.dialog.dialogVisible=true; - - var url=BASE_URL+"/dataLib/downloadForView?guid="+row.guid+"&token="+getToken(); - this.dialog.src=url; - }, - showView (res) { - var name=res.type - if(name) { - if(name.indexOf('pdf')!=-1||name.indexOf('jpg')!=-1||name.indexOf('gif')!=-1||name.indexOf('png')!=-1||name.indexOf('jpeg')!=-1) { - return true - } else { - return false - } - } - - }, - //闄勪欢鍒櫎 - async setAttachDel () { - var std=[]; - for(var i in this.attacgSelection) { - std.push(this.attacgSelection[i].id); - } - const res=await dataLib_deletes({ ids: std.toString() }); - if(res.code!=200) { - this.$message.error('鏂囦欢鍒犻櫎澶辫触'); - } - this.getAttacthFlieList(); - }, - //闄勪欢鍒楄〃鏂板 - setAttachInsert () { - var token=getToken(); - var fs=document.getElementById("insertFile"); - if(fs.files.length==0) { - - this.$message({ - message: '璇烽�夋嫨瑕佷笂浼犵殑鏂囦欢锛�', - type: 'warning' - }); - return; - } - const formData=new FormData() - for(var i=0,c=fs.files.length;i<c;i++) { - - formData.append('file',fs.files[i]); // fs.files[i].name,file - } - - $.ajax(BASE_URL+"/dataQuery/uploadFiles?token="+token+"&tabName="+this.upAttach.tabName+"&eventid="+this.upAttach.eventid,{ - type: "post", - data: formData, - async: true, - cache: false, - processData: false, - contentType: false, - success: (rs) => { - this.$message({ - message: '闄勪欢娣诲姞鎴愬姛', - type: 'success' - }); - document.getElementById("insertFile").value=""; - this.fromfile={ - file: '', - } - this.getAttacthFlieList(); - }, - error: (e) => { - document.getElementById("insertFile").value=""; - this.fromfile={ - file: '', - } - this.$message.error('闄勪欢娣诲姞澶辫触'); - } - }); - }, - - 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(); - }, - //婧愭暟鎹煡璇� - 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 dataLib_selectPageAndCountByPid(this.listMetaData); - if(data.code!=200) { - return; - } - this.metaDataTable=data.result; - this.listMetaData.count=data.count; - }, - //鍏冩暟鎹煡璇� - async setMetaDataQuery (row) { - - this.fromQueryMeta.title=row.name; - this.listMetaData={ - id: row.metaid, - }; - const data=await dataLib_selectMetaById(this.listMetaData); - if(data.code!=200) { - return; - } - this.queryMetaFlag1=true; - this.metaDataTable1=[data.result]; - }, - getSpaceMapVisibale () { - if(window.sgworld) { - window.sgworld.Creator.SimpleGraphic.clear(); - for(var i in this.$store.state.queryInfo) { - window.sgworld.Viewer.entities.remove(this.$store.state.queryInfo[i]); - } - } - - this.$store.state.queryInfo=[]; - if(this.$store.state.primitLayer!=null) { - sgworld.Viewer.entities.remove(this.$store.state.primitLayer); - sgworld.Creator.DeleteObject(this.$store.state.primitLayer); - this.$store.state.primitLayer=null; - } - this.dialogMapVisible=true; - this.showMapVisible=true; - this.$store.state.mapMenuBoolean=true; - this.$store.state.mapMenuBoxFlag='1'; - this.$store.state.mapPopBoolean=false; - this.$store.state.mapPopBoxFlag=null; - this.$store.state.download=true; - - }, - - handleMaptClose () { - this.dialogMapVisible=false; - this.showMapVisible=false; - this.$store.state.mapMenuBoolean=false; - this.$store.state.mapMenuBoxFlag=null; - this.$store.state.mapPopBoolean=false; - this.$store.state.mapPopBoxFlag=false; - this.$store.state.download=false; - if(window.sgworld) { - window.sgworld.Creator.SimpleGraphic.clear(); - for(var i in this.$store.state.queryInfo) { - window.sgworld.Viewer.entities.remove(this.$store.state.queryInfo[i]); - } - } - - this.$store.state.queryInfo=[]; - if(this.$store.state.primitLayer!=null) { - sgworld.Viewer.entities.remove(this.$store.state.primitLayer); - sgworld.Creator.DeleteObject(this.$store.state.primitLayer); - this.$store.state.primitLayer=null; - } - }, - downloadMap (index,rows) { - var token=getToken() - var url=BASE_URL+"/dataLib/downloadFile?token="+token+"&guid="+rows.guid+"&pwd="+rows.pwd; - $("#downFrame").attr("src",url).click(); - }, - async getdownloadListData () { - const data=await dataLib_selectPageCountForDownload(this.downloadPage); - if(data.code!=200) { - this.downloadListVisible=false; - return this.$message.error('涓嬭浇鍒楄〃鑾峰彇澶辫触'); - } - - this.downloadTableData=data.result; - - this.downloadPage.count=data.count; - }, - downloadSizeChange (val) { - this.downloadPage.pageIndex=1; - this.downloadPage.pageSize=val; - this.getdownloadListData(); - }, - downloadCurrentChange (val) { - this.downloadPage.pageIndex=val; - this.getdownloadListData(); - }, - getdownloadList () { - this.downloadPage={ - pageIndex: 1, - pageSize: 10, - count: 0, - name: null, - } - this.downloadListVisible=true; - this.getdownloadListData(); - }, - appendQueryFilter () { - if(this.formSql.type=="date"||this.formSql.type=="datetime") { - if(this.formSql.date==null) { - this.$message.error('璇疯緭鍏ヨ鏌ヨ鐨勪俊鎭�!'); - return; - } - } else { - if(this.formSql.value=="") { - this.$message.error('璇疯緭鍏ヨ鏌ヨ鐨勪俊鎭�!'); - return; - } - } - - if(this.formInline.fileName!="") { - this.formInline.fileName+=" and "; - } - var val; - - if(this.formSql.type=="long"||this.formSql.type=="integer") { - - val=parseInt(this.formSql.value); - } else if(this.formSql.type=='double') { - - if(this.formSql.value.indexOf(".")!=-1) { - val=this.formSql.value; - } else { - val=parseFloat(this.formSql.value).toFixed(1) - } - } else if(this.formSql.type=="date"||this.formSql.type=="datetime") { - var time=new Date(this.formSql.date); - var m=time.getMonth()+1; - var d=time.getDate(); - var y=time.getFullYear(); - val="'"+y+ - '-'+ - this.add0(m)+ - '-'+ - this.add0(d)+"'"; - } else { - val="'"+this.formSql.value+"'"; - } - this.formInline.fileName+=this.formSql.field+" "+this.formSql.condition+" "+val; - - this.startFiledAndcondition(); - }, - startFiledAndcondition () { - this.conditionVisible=false; - this.conditionChange(this.filedsOption[0]); - this.formSql.value=""; - this.formSql.date=new Date(); - }, - - fieldChange (value) { - var obj={} - obj=this.filedsOption.find(function(item) { - return item.field===value; - }) - this.conditionChange(obj) - - }, - conditionChange (res) { - this.formSql.field=res.field; - this.formSql.type=res.type; - if(res.type=="date"||res.type=="datetime") { - this.fromSqlflag=true - } else { - this.fromSqlflag=false - } - var std=[]; - this.condOption=[]; - if(res.type=='text'||res.type=='blob') { - std=conditions[0] - } else if(res.type=='date'||res.type=='datetime') { - std=conditions[2] - } else { - std=conditions[1] - } - for(var i in std) { - this.condOption.push({ - label: std[i], - value: std[i], - }) - } - this.formSql.condition=this.condOption[0].value - }, - async download1 () { - if(this.codeForm.password==''||this.codeForm.repassword=='') { - return this.$message.error('瀵嗙爜涓嶈兘涓虹┖'); - } - if(this.codeForm.password!=this.codeForm.repassword) { - return; - } - var passwordreg= - /^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z\W!@#$%^&*`~()\\-_+=,.?;<>]+$)(?![a-z0-9]+$)(?![a-z\W!@#$%^&*`~()\\-_+=,.?;<>]+$)(?![0-9\W!@#$%^&*`~()\\-_+=,.?;<>]+$)[a-zA-Z0-9\W!@#$%^&*`~()\\-_+=,.?;<>]{12,20}$/; - if(!passwordreg.test(this.codeForm.password)) { - return; - } - var ids=[]; - var filter=null; - this.downloadLogVisible=false; - if(this.multipleSelection.length!=0) { - for(var i in this.multipleSelection) { - ids.push(this.multipleSelection[i].gid) - } - filter=null; - } else { - filter=this.listBankData.filter; - ids=null; - } - var obj={ - entities: [this.listBankData.name], // bpachydrogeology,bhydrogeologyattach - filter: filter, - ids: ids, - wkt: null, - pwd: encrypt.encrypt(this.codeForm.password), - depcode: this.listData.depcode, - dirs: this.listData.dirs - }; - const data=await dataLib_selectDbOverflowDep(obj) - if(data.code!=200) { - return - } - if(data.result.length==0) { - var that=this; - $.ajax({ - url: BASE_URL+"/dataLib/downloadDbData?token="+getToken(), - type: "POST", - data: JSON.stringify(obj), - dataType: 'json', // html銆乯son銆乯sonp銆乻cript銆乼ext - contentType: "application/json", // "application/x-www-form-urlencoded" - success: (data) => { - if(data.code==200) { - that.downloadflie(data,this.codeForm.password) - - } - }, - error: function(e) { - } - }); - - } else { - var val="" - var std=[]; - for(var i in data.result) { - if(val=="") { - val+="codes="+data.result[i] - } else { - val+="&codes="+data.result[i] - } - - std.push({ - name: data.result[i], - }) - } - - const data1=await dataLib_selectDepsByIds(val) - this.ruleForm.depid=data1.result - this.ruleForm.depname=std - this.ruleForm.wkt=null - this.ruleForm.tabs=[{ - tabDesc: this.listBankData.title - }] - this.dialogInsertVisible=true - } - // this.closeDown1(); - }, - downloadflie (data,pwd) { - - var token=getToken() - var url=BASE_URL+"/dataLib/downloadFile?token="+token+"&guid="+data.result+"&pwd="+encrypt.encrypt(pwd); - $("#downFrame").attr("src",url).click(); - this.loading=false; - this.closeDownx(); - this.closeDown1(); - }, - closeDown1 () { - this.downloadLogVisible=false; - this.codeForm.password=''; - this.codeForm.repassword=''; - }, - //鏂囦欢璇︽儏 - showDetail (index,row) { - var std=[]; - for(var i in this.attributeData) { - std.push({ - label: this.attributeData[i].alias, - value: row[this.attributeData[i].field], - }); - } - this.itemdetail=std; - this.itemDetailVisible=true; - }, - async download () { - if(this.codeForm.password==''||this.codeForm.repassword=='') { - return this.$message.error('瀵嗙爜涓嶈兘涓虹┖'); - } - if(this.codeForm.password!=this.codeForm.repassword) { - return; - } - var passwordreg= - /^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z\W!@#$%^&*`~()\\-_+=,.?;<>]+$)(?![a-z0-9]+$)(?![a-z\W!@#$%^&*`~()\\-_+=,.?;<>]+$)(?![0-9\W!@#$%^&*`~()\\-_+=,.?;<>]+$)[a-zA-Z0-9\W!@#$%^&*`~()\\-_+=,.?;<>]{12,20}$/; - if(!passwordreg.test(this.codeForm.password)) { - return; - } - this.passWorldVisible=false; - var password=this.codeForm.repassword - var std=[]; - var ids=[]; - for(var i in this.multipleSelection1) { - std.push(this.multipleSelection1[i].id) - ids.push(this.multipleSelection1[i].id) - } - // var obj = { - - // }; - this.closeDown(); - this.closeDownx(); - - - - var obj={ - ids: std, - }; - const data=await dataLib_selectMetaOverflowDep(obj) - if(data.code!=200) { - return - } - if(data.result.length==0) { - const res=await dataLib_downloadReq(JSON.stringify({ - pwd: encrypt.encrypt(password), - ids: std - })); - if(res.code!=200) { - this.$message.error('涓嬭浇璇锋眰澶辫触'); - return - } - if(!res.result) { - return - } - var downObj={ - guid: res.result, - pwd: encodeURIComponent(encrypt.encrypt(password)) - } - - const data=await dataLib_selectDownloadFile(downObj) - if(data.code!=200) { - this.$message.error('涓嬭浇璇锋眰澶辫触'); - return - } - var token=getToken() - var url=BASE_URL+"/dataLib/downloadFile?token="+token+"&guid="+res.result+"&pwd="+encodeURIComponent(encrypt.encrypt(this.codeForm.repassword)); - $("#downFrame").attr("src",url).click(); - } else { - var val="" - var std=[]; - for(var i in data.result) { - if(val=="") { - val+="codes="+data.result[i] - } else { - val+="&codes="+data.result[i] - } - std.push({ - name: data.result[i], - }) - } - const data1=await dataLib_selectDepsByIds(val) - if(data1.code!=200) { - return - } - this.fileFrom.depid=data1.result - this.fileFrom.ids=ids; - this.fileFrom.pwd=encr(password); - this.fileFrom.depcodes=data.result; - this.dialogInsertFile=true; - } - - this.monthdata.filter((res) => { - return res.ischecked=false; - }) - this.multipleSelection1=[]; - }, - closeDown () { - this.passWorldVisible=false; - this.codeForm.password=''; - this.codeForm.repassword=''; - }, - - async getFileInsertApply () { - this.dialogInsertFile=false - - var obj={ - ids: this.fileFrom.ids, - pwd: this.fileFrom.pwd, - tabs: ["鍏冩暟鎹〃"], - entities: ["sysmeta"], - descr: this.fileFrom.descr, - depcodes: this.fileFrom.depcodes - }; - - const data=await apply_insertApply(JSON.stringify(obj)) - this.handleInsertFileClose(); - if(data.code!=200) { - this.$message.error("鏁版嵁鐢宠澶辫触") - return - } - this.$message({ - message: "鏁版嵁鐢宠鎴愬姛", - type: "success", - }) - - - }, - handleInsertFileClose () { - this.dialogInsertFile=false - this.fileFrom={ - descr: null, - depid: null, - ids: null, - pwd: null, - depcodes: null - } - }, - - - //鏂囦欢涓嬭浇 - setCardDownload (res) { - // this.multipleSelection1 = []; - // this.multipleSelection1.push(res); - if(this.multipleSelection1.length==0) { - this.$message({ - message: '璇峰厛閫夋嫨瑕佷笅杞界殑鏂囦欢', - type: 'warning' - }); - return; - } - this.passWorldVisible=true; - }, - //閲嶇疆 - setQuerAllTablesRefresh () { - // this.formInline = { - // fileName: "",//楂樼骇鎼滅储 - // dataType: "type2", //鏁版嵁绫诲瀷 - // category: [], //鏌ヨ绫诲埆, - // item: [], - // depcode: null, //鍗曚綅, - // depName: null,//鍗曚綅, - // keywords: '', - // } - this.formInline.fileName="";//楂樼骇鎼滅储 - this.formInline.category=[];//楂樼骇鎼滅储 - this.formInline.item=[];//楂樼骇鎼滅储 - this.formInline.depcode=null;//楂樼骇鎼滅储 - this.formInline.depName=null;//楂樼骇鎼滅储 - this.formInline.keywords="";//楂樼骇鎼滅储 - this.getAllTabesData(); - }, - handleSelectionChange (val) { - this.multipleSelection=val; - }, - //鍗$墖璇︽儏鐐瑰嚮浜嬩欢 - async setCardDetails (res) { - switch(this.formInline.dataType) { - case "type1": - this.getBankTableData(res); - this.formInline.fileName="" - break; - case "type2": - this.itemdetail1=res - this.showinfoBox1=true; - break; - } - }, - //鑾峰彇鏁版嵁搴撴暟鎹甹s - getBankTableData (res) { - this.listBankData.name=res.entity; - this.listBankData.pageIndex=1; - this.listBankData.pageSize=10; - this.listBankData.title=res.tabDesc; - this.upAttach.tabName=res.ns+"."+res.tab; - this.filedsLayer=this.getBankTableFiled(); - this.getCollapseTable(this.filedsLayer); - }, - async getCollapseTable (res) { - res.then((val) => { - this.attributeData=val; - }); - if(this.formInline.fileName!="") { - this.listBankData.filter=this.formInline.fileName; - } else { - this.listBankData.filter=null; - } - this.listBankData.dirs=""; - if(this.formInline.category.length!=0) { - this.listBankData.dirs+=this.formInline.category.toString(); - } - if(this.formInline.item.length!=0) { - if(this.listBankData.dirs.length!=0) { - this.listBankData.dirs+="," - } - this.listBankData.dirs+=this.formInline.item.toString(); - } - this.listBankData.depcode=this.listData.depcode; - const data=await dataLib_selectByPage(this.listBankData); - if(data.code!=200) { - this.$message.error('璋冪敤鍒楄〃澶辫触,璇疯仈绯诲伐浣滀汉鍛�!'); - return; - } - - var res_val=this.attributeData; - - for(var i in data.result) { - let val_Data=data.result[i]; - - for(var j in res_val) { - if(res_val[j].domainNa!=null&&res_val[j].domainNa!=undefined) { - val_Data[res_val[j].field]=res_val[j].domainNa; - } - } - } - for(var i in data.result) { - - if(data.result[i].createtime) { - data.result[i].createtime=this.format(data.result[i].createtime) - } - if(data.result[i].updatetime) { - data.result[i].updatetime=this.format(data.result[i].updatetime) - } - data.result[i].createuser=data.result[i].createName - data.result[i].updateuser=data.result[i].updateName - if(data.result[i].verName) { - data.result[i].verid=data.result[i].verName - } - if(data.result[i].depName) { - data.result[i].depid=data.result[i].depName - } - if(data.result[i].dirName) { - data.result[i].dirid=data.result[i].dirName - } - } - - this.listBankData.count=data.count; - - this.tableData=data.result; - - this.dialogVisible=true; - }, - //鑾峰彇鏁版嵁琛ㄥ瓧娈典俊鎭� - async getBankTableFiled () { - const fileds=await dataLib_selectFields({ - name: this.listBankData.name, - }); - if(fileds.code!=200) { - this.$message.error('鍒楄〃璋冪敤澶辫触'); - return; - } - - const domains=await dataLib_selectDomains({ - name: this.listBankData.name, - }); - - if(domains.code!=200) { - this.$message.error('鍒楄〃璋冪敤澶辫触'); - return; - } - var data1=fileds.result; - var data2=domains.result; - this.formInline.fileName="" - var std=[]; - this.filedsOption=[]; - for(var i in data1) { - - if(data1[i].type!='geometry'&&data1[i].type!='null') { - this.filedsOption.push(data1[i]) - } - - if(data1[i].showtype==1) { - if(data1[i].domainNa!=null) { - data1[i].domainNa=this.getDomainNaFild(data1[i].domainNa,data2); - } - std.push(data1[i]); - } - } - - this.startFiledAndcondition(); - return std; - }, - //鍊煎煙瀛楁鍖归厤 - getDomainNaFild (res,result) { - for(var i in result) { - if(result[i].domName==res) { - return result[i].codeDesc; - } - } - return null; - }, - startFiledAndcondition () { - this.conditionVisible=false; - this.conditionChange(this.filedsOption[0]); - this.formSql.value=""; - this.formSql.date=new Date(); - }, - conditionChange (res) { - this.formSql.field=res.field; - this.formSql.type=res.type; - if(res.type=="date"||res.type=="datetime") { - this.fromSqlflag=true - } else { - this.fromSqlflag=false - } - var std=[]; - this.condOption=[]; - if(res.type=='text'||res.type=='blob') { - std=conditions[0] - } else if(res.type=='date'||res.type=='datetime') { - std=conditions[2] - } else { - std=conditions[1] - } - for(var i in std) { - this.condOption.push({ - label: std[i], - value: std[i], - }) - } - this.formSql.condition=this.condOption[0].value - }, - - //瀛樺偍绫诲瀷鍒囨崲 - setDataTypeChange () { - this.listData.pageIndex=1; - this.listData.pageSize=10; - this.getAllTabesData(); - }, - //鍗$墖鎶樺彔鏁堟灉 - setCardChange (res) { - res.isShow=!res.isShow - }, - //鏍煎紡鍖栨椂闂� - format (shijianchuo) { - //shijianchuo鏄暣鏁帮紝鍚﹀垯瑕乸arseInt杞崲 - - var time=new Date(shijianchuo); - var y=time.getFullYear(); - var m=time.getMonth()+1; - var d=time.getDate(); - var h=time.getHours(); - var mm=time.getMinutes(); - var s=time.getSeconds(); - return ( - y+ - '-'+ - this.add0(m)+ - '-'+ - this.add0(d)+ - ' '+ - h+ - ':'+ - mm+ - ':'+ - s - ); - }, - //鏍煎紡鍖栨椂闂� - add0 (m) { - return m<10? '0'+m:m; - }, - //鏍煎紡鍖栧垪琛� - formatData (row,column) { - let data=row[column.property]; - if(data==null) { - return data; - } - return this.format(data); - }, - //鏍煎紡鍖栨椂闂� - add0 (m) { - return m<10? '0'+m:m; - }, - statSizeChange (row,column) { - return this.stateFormatSizes(row.sizes) - }, - stateFormatSizes (res) { - if(res>=1024) { - const val=parseFloat(res/1024).toFixed(3); - return val+' GB'; - } else { - return res+' MB'; - } - }, - setInfoBoxTime (res) { - if(res==null) { - return res; - } - return this.format(res); - }, - handleSizeChange (val) { - this.listData.pageIndex=1; - this.listData.pageSize=val; - switch(this.formInline.dataType) { - case "type2"://鏂囦欢鏁版嵁 - this.getQueryFileData(); - break; - case "type1"://鏁版嵁搴撴暟鎹� - this.getQueryBankData(); - break; - } - - }, - handleCurrentChange (val) { - this.listData.pageIndex=val; - switch(this.formInline.dataType) { - case "type2"://鏂囦欢鏁版嵁 - this.getQueryFileData(); - break; - case "type1"://鏁版嵁搴撴暟鎹� - this.getQueryBankData(); - break; - } - }, - // 鍏抽敭瀛楁煡璇� - submitForm () { - this.listBankData.pageIndex=1; - this.listBankData.pageSize=10; - //鑾峰彇table淇℃伅 - this.getCollapseTable(this.filedsLayer); - }, - // 閲嶇疆鏌ヨ - resetForm () { - this.formInline.fileName="" - //鑾峰彇table淇℃伅 - this.listBankData.pageIndex=1; - this.listBankData.pageSize=10; - //鑾峰彇table淇℃伅 - this.getCollapseTable(this.filedsLayer); - - }, - handleSizeChange1 (val) { - - this.listBankData.pageIndex=1; - this.listBankData.pageSize=val; - //鑾峰彇table淇℃伅 - this.getCollapseTable(this.filedsLayer); - - - - }, - handleCurrentChange1 (val) { - // 灏哾iv鐨勬粴鍔ㄦ潯澶嶄綅鍒伴《閮� - - this.listBankData.pageIndex=val; - //鑾峰彇table淇℃伅 - this.getCollapseTable(this.filedsLayer); - - }, - //鏌ヨ鏁版嵁搴撴暟鎹� - async getQueryBankData () { - this.listData.dirs=""; - this.listData.types="" - if(this.formInline.category.length!=0) { - this.listData.dirs+=this.formInline.category.toString(); - } - - var val_data=this.formInline.category; - var data_type=[] - if(val_data.length>0) { - for(var i in val_data) { - for(var j in this.categoryOptions) { - if(this.categoryOptions[j].key==val_data[i]) { - - data_type.push(this.categoryOptions[j].value) - } - } - } - } - if(this.formInline.item.length!=0) { - if(this.listData.dirs.length!=0) { - this.listData.dirs+="," - } - this.listData.dirs+=this.formInline.item.toString(); - } - this.listData.depcode=this.formInline.depcode; - this.listData.tab=this.formInline.keywords; - - this.listData.types=data_type.toString(); - const data=await dataLib_selectTabs(this.listData); - if(data.code!=200) { - this.$message.error('鏁版嵁搴撳垪琛ㄨ皟鐢ㄥけ璐�'); - return; - } - var val=data.result; - if(val) { - val=val.filter((res) => { - res.mold="鏁版嵁搴�" - res.isShow=false - return res; - }) - this.listData.count=data.count; - this.monthdata=data.result; - } else { - this.listData.count=0; - this.monthdata=[]; - } - - }, - //鏌ヨ鏂囦欢鏁版嵁 - async getQueryFileData () { - this.listData.dirs=""; - - if(this.formInline.category.length!=0) { - this.listData.dirs+=this.formInline.category.toString(); - } - if(this.formInline.item.length!=0) { - if(this.listData.dirs.length!=0) { - this.listData.dirs+="," - } - this.listData.dirs+=this.formInline.item.toString(); - } - this.listData.depcode=this.formInline.depcode; - this.listData.name=this.formInline.keywords; - const data=await dataLib_selectByPageForMeta(this.listData); - if(data.code!=200) { - this.$message.error('鏂囦欢鏁版嵁鍒楄〃璋冪敤澶辫触'); - } - - var val=data.result; - if(val) { - val=val.filter((res) => { - var type="."+res.type; - res.name=res.name.replaceAll(type,"") - res.mold="鏂囦欢"; - res.isShow=false; - res.ischecked=false; - return res; - }) - - this.monthdata=val; - this.listData.count=data.count; - - } else { - this.monthdata=[]; - this.listData.count=0; - } - - }, - //鏌ヨ鏁版嵁 - getAllTabesData () { - this.listData.pageIndex=1; - this.listData.pageSize=10; - switch(this.formInline.dataType) { - - case "type2"://鏂囦欢鏁版嵁 - this.getQueryFileData(); - break; - case "type1"://鏁版嵁搴撴暟鎹� - this.getQueryBankData(); - break; - } - }, - //椤圭洰鍚嶇О鏁版嵁 - async getItemSelectData () { - const data=await dataLib_selectProject();//鏌ヨ椤圭洰鍚嶇О - if(data.code!=200) { - this.$message.error('椤圭洰鍚嶇О鍒楄〃璋冪敤澶辫触'); - } - this.itemOptions=data.result; - }, - //鑾峰彇璧勬枡绫诲埆鏁版嵁 - async getCategorySelectData () { - const data=await dataLib_selectDirTypes(); - if(data.code!=200) { - this.$message.error('璧勬枡绫诲埆鍒楄〃璋冪敤澶辫触'); - } - - this.categoryOptions=data.result; - }, - //鍏抽敭瀛楁煡璇� - setSearchKeyWords () { - - this.getAllTabesData(); - }, - //鍗曚綅鏀瑰彉鍊艰Е鍙� - depChange (data,node,nodeData) { - this.formInline.depcode=data.code; - this.formInline.depName=data.name; - this.getAllTabesData(); - }, - //璧勬枡绫诲埆涓嬫媺妗嗗�兼敼鍙樿Е鍙� - categorySelectChange (model,prop,options) { - - this.getAllTabesData(); - - }, - // 椤圭洰鍚嶇О涓嬫媺妗嗗�兼敼鍙樿Е鍙� - itemSelectChange (model,prop,options) { - this.getAllTabesData(); - }, - //鑾峰彇鍗曚綅鍒楄〃 - async getDepTreeData () { - const data=await selectdepTab(); - if(data.code!=200) { - return this.$message.error('鍗曚綅鍒楄〃鑾峰彇澶辫触'); - } - this.depOption=this.treeData(data.result); - // this.formInline.depcode = this.depOption[0].code - // this.formInline.depName = this.depOption[0].name; - this.getAllTabesData(); - }, - //鏍戝垪琛ㄧ敓鎴� - treeData (source) { - let cloneData=JSON.parse(JSON.stringify(source)); // 瀵规簮鏁版嵁娣卞害鍏嬮殕 - return cloneData.filter((father) => { - // 寰幆鎵�鏈夐」 - let branchArr=cloneData.filter((child) => father.id==child.pid); // 瀵规瘮ID锛屽垎鍒笂涓嬬骇鑿滃崟锛屽苟杩斿洖鏁版嵁 - branchArr.length>0? (father.children=branchArr):""; // 缁欑埗绾ф坊鍔犱竴涓猚hildren灞炴�э紝骞惰祴鍊� - return father.pid==0; // 杩斿洖涓�绾ц彍鍗� - }); - }, - async signGetPublicKey () { - const res=await sign_getPublicKey(); - if(res&&res.code==200) { - window.encrypt=new JSEncrypt(); - encrypt.setPublicKey(res.result); - } - }, - } -}; -</script> - -<style lang="less" scoped> -.archive { - width: calc(100% - 20px); - height: calc(100% - 20px); - padding: 10px; - position: relative; - overflow: hidden; - .menu_top { - display: flex; - justify-content: space-between; - } - .iquery { - width: 100%; - padding-top: 10px; - } - .contBox { - width: 100%; - height: calc(100% - 111px); - flex-direction: column; - align-items: center; - justify-content: space-between; - display: flex; - - .archTopBox { - width: 100%; - - overflow: auto; - - position: relative; - .cardItem { - margin-bottom: 10px; - margin-left: 20px; - } - } - .archBottomBox { - width: 100%; - display: flex; - justify-content: center; - } - } - /deep/.el-card__body { - padding: 0px !important; - } - /deep/.el-card { - margin-bottom: 10px !important; - } - /deep/.el-dialog__body { - padding: 10px 10px; - } - /deep/.el-form-item { - margin-bottom: 20px; - } - .show { - display: none; - } - .downloadBox { - width: 100%; - height: 73vh; - flex-direction: column; - align-items: center; - justify-content: space-between; - display: flex; - .archdowntop { - width: 100%; - height: 69vh; - } - .archdownbottom { - width: 100%; - display: flex; - justify-content: center; - } - } - .pdfClass { - height: 70vh; - width: 100%; - position: relative; - } -} -</style> +<template> + <div class="archive box_div"> + <div class="menu_top"> + <My-bread :list="[`${$t('synthesis.synthesis')}`, `${$t('synthesis.archive')}`]"></My-bread> + <!-- 涓嬭浇鍒楄〃 --> + <i @click="getdownloadList" + class="el-icon-tickets" + :title="$t('synthesis.DownloadList')"></i> + </div> + <el-divider /> + <!-- 鏌ヨ妗� --> + <div class="iquery"> + <el-form :inline="true" + :model="formInline" + class="demo-form-inline"> + <!-- 鏁版嵁绫诲瀷 --> + <el-form-item :title="$t('archiveObj.dataType')"> + <el-select size="small" + v-model="formInline.dataType" + :popper-append-to-body="false" + :placeholder="$t('archiveObj.label1')" + @change="setDataTypeChange()"> + <el-option :label="$t('archiveObj.dataBank')" + value="type1"></el-option> + <el-option :label="$t('archiveObj.file')" + value="type2"></el-option> + </el-select> + </el-form-item> + <!-- 璧勬枡绫诲埆 --> + <el-form-item :title="$t('archiveObj.dataClass')"> + <el-select :popper-append-to-body="false" + v-model="formInline.category" + multiple + clearable + collapse-tags + multiple + filterable + allow-create + default-first-option + size="small" + ref="cascaders" + :placeholder="$t('archiveObj.label4')" + @change="categorySelectChange('orgName','org',categoryOptions)"> + <el-option v-for="item in categoryOptions" + :key="item.key" + :label="item.value" + :value="item.key"> + </el-option> + </el-select> + </el-form-item> + <!-- 椤圭洰鍚嶇О --> + <el-form-item :title="$t('archiveObj.entryName')"> + <el-select :popper-append-to-body="false" + v-model="formInline.item" + multiple + clearable + collapse-tags + multiple + filterable + allow-create + default-first-option + size="small" + :placeholder="$t('archiveObj.label5')" + @change="itemSelectChange('orgName','org',itemOptions)"> + <el-option v-for="item in itemOptions" + :key="item.code" + :label="item.name" + :value="item.code"> + </el-option> + </el-select> + </el-form-item> + <!-- 鍗曚綅 --> + <el-form-item :title="$t('archiveObj.unit')"> + <el-select size="small" + v-model="formInline.depName" + :placeholder="$t('archiveObj.label3')" + :popper-append-to-body="false" + ref="treeSelect"> + <el-option :value="formInline.depcode" + :label="formInline.depName" + style="height: auto"> + <el-tree ref="tree" + :data="depOption" + node-key="id" + :props="defaultProps" + @node-click="depChange" /> + </el-option> + </el-select> + </el-select> + </el-form-item> + <!-- 鍏抽敭瀛� --> + <el-form-item :title="$t('archiveObj.keywords')"> + <el-input :placeholder="$t('archiveObj.label6')" + v-model="formInline.keywords" + size="small"> <i :title="$t('common.iquery')" + @click="setSearchKeyWords" + slot="suffix" + class="el-input__icon el-icon-search"></i></el-input> + </el-form-item> + <!-- 鎵归噺涓嬭級 --> + <el-form-item style="float:right" + v-if="formInline.dataType =='type2'"> + <el-button type="success" + size="small" + icon="el-icon-download" + @click="setCardDownload">{{$t('common.download')}}</el-button> + + </el-form-item> + <!-- 绌洪棿鏌ヨ --> + <el-form-item style="float:right"> + <el-button type="primary" + size="small" + icon="el-icon-search" + @click="getSpaceMapVisibale">{{$t('synthesis.rangequery')}}</el-button> + + </el-form-item> + <!-- 閲嶇疆 --> + <el-form-item style="float:right"> + <el-button type="info" + size="small" + icon="el-icon-refresh" + @click="setQuerAllTablesRefresh">{{$t('common.reset')}}</el-button> + + </el-form-item> + </el-form> + </div> + <div class="contBox"> + <div id="archTopBox" + class="archTopBox"> + + <div class="boxCard" + v-for="(item,index) in monthdata"> + <el-card class="box-card"> + <div slot="header" + class="clearfix"> + + <span v-show="formInline.dataType =='type2'"> + <el-checkbox v-model="item.ischecked" + @change="handleCheckedDataTypeChange(item)" + style="margin-right:10px"> + </el-checkbox> + <span v-if="item.ismeta > 0"> + <el-link style="color: #409eff" + title="婧愭暟鎹煡璇�" + target="_blank" + @click="setQueryMetaData(item)">{{ item.name }}</el-link> + </span> + <span v-else-if="item.metaid > 0"> + <el-link style="color: #409eff" + title="鍏冩暟鎹煡璇�" + target="_blank" + @click="setMetaDataQuery(item)">{{ item.name }}</el-link> + </span> + <span v-else>{{ item.name }}</span> + </span> + <span v-show="formInline.dataType !='type2'">{{item.tabDesc}}</span> + <div style="float: right; padding: 3px 0"> + <i v-show="formInline.dataType=='type2' " + v-if="showView(item, /[]/)" + class="el-icon-view" + :title="$t('common.preview')" + @click="setAttatchFileView(index, item)"></i> + <i style="margin-left:10px" + class="el-icon-tickets" + :title="$t('common.details')" + @click="setCardDetails(item)"></i> + <!-- <i + v-show="formInline.dataType=='type2'" + style="margin-left:10px" + class="el-icon-download" + :title="$t('common.download')" + @click="setCardDownload(item)" + ></i> --> + <i v-show="!item.isShow" + style="margin-left:10px" + class="el-icon-arrow-up" + :title="$t('archiveObj.fold')" + @click="setCardChange(item)"></i> + <i v-show="item.isShow" + style="margin-left:10px" + class="el-icon-arrow-down" + :title="$t('archiveObj.develop')" + @click="setCardChange(item)"></i> + </div> + </div> + <div :id="item.id" + style="margin:5px 1px" + v-show="!item.isShow && formInline.dataType=='type2'"> + <div class="cardItem"> {{$t('archiveObj.dataType')}} : {{ item.mold }} </div> + <div class="cardItem"> {{$t('dataManage.vmobj.format')}} : {{ item.type }} </div> + <div class="cardItem"> {{$t('dataManage.vmobj.size')}} : {{stateFormatSizes(item.sizes)}} </div> + <div class="cardItem"> {{$t('dataManage.vmobj.tab')}} : {{ item.tab }} </div> + <div class="cardItem"> {{$t('dataManage.vmobj.dirName')}} : {{ item.dirName }} </div> + <div class="cardItem"> {{$t('dataManage.vmobj.row')}} : {{ item.rows }} </div> + <div class="cardItem"> {{$t('archiveObj.downloads')}} : {{ item.downCount }} 娆� </div> + <div class="cardItem"> {{$t('dataManage.vmobj.createonuser')}} : {{item.uname}} </div> + <div class="cardItem"> {{$t('dataManage.vmobj.depName')}} : {{item.depName}} </div> + <div class="cardItem"> {{$t('dataManage.vmobj.createontime')}} : {{format(item.createTime)}} </div> + + </div> + <div :id="item.id" + style="margin:5px 1px" + v-show="!item.isShow && formInline.dataType!='type2'"> + <div class="cardItem"> {{$t('archiveObj.dataType')}} : {{ item.mold }} </div> + <div class="cardItem"> {{$t('dataManage.vmobj.tab')}} : {{ item.ns+'.'+item.tab }} </div> + <div class="cardItem"> {{$t('dataManage.vmobj.row')}} : {{ item.rows }} </div> + <div class="cardItem"> {{$t('dataManage.vmobj.dirName')}} : {{ item.bak }} </div> + <!-- <div class="cardItem"> {{$t('archiveObj.storageType')}} : {{ item.tableType }} </div> --> + </div> + </el-card> + </div> + + </div> + <div class="archBottomBox"> + <div style="margin-top:10px"> + <el-pagination @size-change="handleSizeChange" + @current-change="handleCurrentChange" + :current-page="listData.pageIndex" + :page-sizes="[10, 20, 50, 100]" + :page-size="listData.pageSize" + layout="total, sizes, prev, pager, next, jumper" + :total="listData.count"> + </el-pagination> + </div> + </div> + </div> + <!-- 鏂囦欢璇︽儏 --> + <el-dialog :title="$t('common.details')" + :visible.sync="showinfoBox1" + :close-on-click-modal="false" + width="30%"> + <div class="contentBox"> + <p>{{ $t('dataManage.vmobj.name') }}锛歿{ itemdetail1.name }}</p> + <el-divider></el-divider> + <p>{{ $t('dataManage.vmobj.format') }}锛歿{ itemdetail1.type }}</p> + <el-divider></el-divider> + <p>{{ $t('common.size') }}锛歿{ stateFormatSizes(itemdetail1.sizes) }}</p> + <el-divider></el-divider> + <p>{{ $t('dataManage.vmobj.tab') }}锛歿{ itemdetail1.tab }}</p> + <el-divider></el-divider> + <p>{{ $t('dataManage.vmobj.row') }}锛歿{itemdetail1.rows }}</p> + <el-divider></el-divider> + <p>{{ $t('archiveObj.downloads') }}锛歿{ itemdetail1.downCount }} 娆�</p> + <el-divider></el-divider> + <p>{{ $t('archiveObj.label9') }}锛歿{ itemdetail1.lastUser }} </p> + <el-divider></el-divider> + <p>{{ $t('archiveObj.label8') }}锛歿{setInfoBoxTime(itemdetail1.lastTime) }} </p> + <el-divider></el-divider> + <p>{{ $t('dataManage.vmobj.depName') }}锛歿{ itemdetail1.depName }}</p> + <el-divider></el-divider> + <p> + {{ $t('dataManage.vmobj.gather') }}锛歿{ + setInfoBoxTime(itemdetail1.gather) + }} + </p> + <el-divider></el-divider> + <p> + {{ $t('dataManage.vmobj.describe') }}锛歿{ itemdetail1.describe }} + </p> + <el-divider></el-divider> + <p> + {{ $t('dataManage.vmobj.createonuser') }}锛歿{ itemdetail1.uname }} + </p> + <el-divider></el-divider> + <p> + {{ $t('dataManage.vmobj.createontime') }}锛歿{ + setInfoBoxTime(itemdetail1.createTime) + }} + </p> + <el-divider></el-divider> + <p> + {{ $t('dataManage.vmobj.updateonuser') }}锛歿{ + itemdetail1.updateUser + }} + </p> + <el-divider></el-divider> + <p> + {{ $t('dataManage.vmobj.updateontime') }}锛歿{ + setInfoBoxTime(itemdetail1.updateTime) + }} + </p> + </div> + </el-dialog> + <!-- 鏁版嵁搴撹鎯� --> + <el-dialog :title=" this.listBankData.title" + :visible.sync="dialogVisible" + :close-on-click-modal="false" + width="90%" + top="12vh"> + + <!-- 瀵嗙爜妗� --> + <el-dialog :title="$t('common.passworld')" + :visible.sync="downloadLogVisible" + :close-on-click-modal="false" + top="15vh" + width="30%" + :show-close="false" + :modal="false"> + <el-form :model="codeForm" + :rules="rules" + ref="codeForm" + label-width="100px" + class="codeForm"> + <el-form-item :label="$t('common.passworld')" + prop="password"> + <el-input size="small" + type="password" + v-model="codeForm.password" + show-password></el-input> + </el-form-item> + <el-form-item :label="$t('common.SPassword')" + prop="repassword"> + <el-input size="small" + type="password" + v-model="codeForm.repassword" + show-password></el-input> + </el-form-item> + <el-form-item> + <el-button class="primary" + size="small" + @click="download1('codeForm')">{{$t('common.confirm')}}</el-button> + <el-button type="info" + size="small" + @click="closeDown1('codeForm')">{{$t('common.cancel')}}</el-button> + </el-form-item> + </el-form> + </el-dialog> + + <!-- 鏁版嵁搴搕able璇︽儏 --> + <el-dialog width="30%" + :visible.sync="itemDetailVisible" + :modal="false"> + <div class="contentBox" + style="height:60vh;overflow:auto"> + <ul> + <li v-for="(item, index) in itemdetail"> + <p> + <label> {{ item.label }}:</label> + <label class="boxlabel">{{ item.value }}</label> + </p> + <el-divider></el-divider> + </li> + </ul> + </div> + </el-dialog> + <!-- 鏌ヨ鏉′欢 --> + <!-- 鏉′欢--> + <el-dialog width="43%" + :visible.sync="conditionVisible" + :modal="false" + title="鏌ヨ鏉′欢" + :show-close="false"> + <el-form :inline="true" + :model="formSql" + class="demo-form-inline"> + <el-form-item> + <el-select size="small" + :popper-append-to-body="false" + @change="fieldChange($event)" + v-model="formSql.field"> + <el-option v-for="item in filedsOption" + :key="item.field" + :label="item.alias" + :value="item.field"> + </el-option> + </el-select> + </el-form-item> + <el-form-item> + <el-select size="small" + :popper-append-to-body="false" + v-model="formSql.condition"> + <el-option v-for="item in condOption" + :key="item.value" + :label="item.label" + :value="item.value"> + </el-option> + </el-select> + </el-form-item> + <el-form-item v-show="!fromSqlflag"> + <el-input size="small" + v-model="formSql.value"></el-input> + </el-form-item> + <el-form-item v-show="fromSqlflag"> + <el-date-picker size="small" + v-model="formSql.date" + type="date" + placeholder="閫夋嫨鏃ユ湡" + value-format="yyyy-MM-dd"> + </el-date-picker> + </el-form-item> + </el-form> + <span slot="footer" + class="dialog-footer"> + <el-button size="small" + @click="startFiledAndcondition">鍙� 娑�</el-button> + <el-button size="small" + type="primary" + @click="appendQueryFilter">纭� 瀹�</el-button> + </span> + </el-dialog> + <!-- 鏁版嵁搴撻檮浠朵俊鎭� --> + <el-dialog :title="$t('common.enclosure')" + :visible.sync="outerVisible" + :close-on-click-modal="false" + width="50%" + :modal="false"> + <div style="height:68vh"> + <el-form :model="fromfile" + class="demo-form-inline"> + <el-form-item> + <el-input v-model="fromfile.file" + style="width: 300px; margin-right: 20px" + :placeholder="$t('common.choose')" + disabled></el-input> + <input name="file1" + type="file" + id="insertFile" + multiple="multiple" + style="display: none" + @change="insertFile( )" /> + <el-link @click="getInsertFile( )" + :underline="false"><i class="el-icon-folder-opened"></i></el-link> + </el-form-item> + <el-form-item> + <el-row> + <el-col :span="2"> + <el-link class="elLink" + :underline="false" + @click="setAttachInsert">{{$t('common.append')}}</el-link> + </el-col> + <el-col :span="2"> + <el-link class="elLink" + :underline="false" + @click="setAttachDel">{{$t('common.delete')}}</el-link> + </el-col> + </el-row> + </el-form-item> + </el-form> + <el-table @cell-dblclick="copyText" + :data="tableAttach" + ref="filterTable" + height="calc(100% - 130px)" + border + style="width: 100%" + @selection-change="handleAttatchChange"> + <el-table-column type="selection" + width="70" /> + <el-table-column width="60" + type="index" + :label="$t('common.index')" /> + <el-table-column prop="name" + :label="$t('common.fileNme')" /> + + <el-table-column prop="sizes" + :label="$t('common.size')" + :formatter="statSizeChange" /> + <el-table-column align="center" + :label="$t('common.operate')" + min-width="100"> + <template slot-scope="scope"> + <el-link v-if="matchState(scope, /[]/)" + @click="setAttatchDetail(scope.$index, scope.row)" + class="elLink">{{ $t('common.see') }}</el-link> + + </template> + </el-table-column> + </el-table> + </div> + </el-dialog> + <!-- 鏁版嵁搴揟able淇℃伅 --> + <div style="height:68vh"> + <el-form :model="formInline" + :inline="true"> + <el-form-item> + <el-input type="input" + v-model="formInline.fileName" + class="nm-skin-pretty" + show-word-limit + :rows="2" + resize='none' + disabled + size="small" + style="width: 650px;" + :placeholder="$t('archiveObj.label7')"></el-input> + </el-form-item> + <el-form-item> + <el-button type="success" + size="small" + icon="el-icon-plus" + @click="conditionVisible = true">{{$t('common.append')}}</el-button> + </el-form-item> + <el-form-item> + <el-button type="primary" + size="small" + icon="el-icon-search" + @click="submitForm()">{{$t('common.iquery')}}</el-button> + </el-form-item> + <el-form-item> + <el-button type="info" + size="small" + icon="el-icon-search" + @click="resetForm()">{{$t('common.reset')}}</el-button> + </el-form-item> + <el-form-item> + <el-button type="warning" + size="small" + icon="el-icon-download" + @click="downloadLogVisible = true">{{$t('common.download')}}</el-button> + </el-form-item> + <!-- --> + </el-form> + <el-divider /> + <el-table @cell-dblclick="copyText" + ref="filterTable" + :data="tableData" + border + style="width: 100%" + height="calc(100% - 150px)" + @selection-change="handleSelectionChange"> + <el-table-column type="selection" + align="center" + width="55" /> + <el-table-column width="60" + type="index" + align="center" + :label="$t('common.index')" /> + <el-table-column v-for="(item, index) in attributeData" + :key="index" + :label="item.alias" + :prop="item.field" + show-overflow-tooltip + align="center" + min-width="150"></el-table-column> + <el-table-column align="center" + :label="$t('common.operate')" + min-width="150"> + <template slot-scope="scope"> + <el-link class="elLink" + @click="showDetail(scope.$index, scope.row)">{{ $t('common.details') }}</el-link> + <el-link class="elLink" + @click="getAttachTable(scope.$index, scope.row)" + style="margin-left: 20px">{{ $t('common.enclosure') }}</el-link> + </template> + </el-table-column> + </el-table> + <div class="archBottomBox"> + <div> + <el-pagination @size-change="handleSizeChange1" + @current-change="handleCurrentChange1" + :current-page="listBankData.pageIndex" + :page-sizes="[10, 20, 50, 100]" + :page-size="listBankData.pageSize" + layout="total, sizes, prev, pager, next, jumper" + :total="listBankData.count"> + </el-pagination> + </div> + </div> + </div> + </el-dialog> + <!-- 瀵嗙爜妗� --> + <el-dialog :title="$t('common.passworld')" + :visible.sync="passWorldVisible" + :close-on-click-modal="false" + top="15vh" + width="30%" + :show-close="false"> + <el-form :model="codeForm" + :rules="rules" + ref="codeForm" + label-width="100px" + class="codeForm"> + <el-form-item :label="$t('common.passworld')" + prop="password"> + <el-input size="small" + type="password" + v-model="codeForm.password" + show-password></el-input> + </el-form-item> + <el-form-item :label="$t('common.SPassword')" + prop="repassword"> + <el-input size="small" + type="password" + v-model="codeForm.repassword" + show-password></el-input> + </el-form-item> + <el-form-item> + <el-button class="primary" + size="small" + @click="download('codeForm')">{{$t('common.confirm')}}</el-button> + <el-button type="info" + size="small" + @click="closeDown('codeForm')">{{$t('common.cancel')}}</el-button> + </el-form-item> + </el-form> + </el-dialog> + <!-- 涓嬭浇鍒楄〃 --> + <el-dialog :visible.sync="downloadListVisible" + width="90%" + top="14vh" + :close-on-click-modal="false"> + <div class="downloadBox"> + <div class="archdowntop"> + <el-table @cell-dblclick="copyText" + :data="downloadTableData" + style="width: 100%" + height="calc(100% - 5px)"> + <el-table-column type="index" + width="50" + :label="$t('common.index')"> + </el-table-column> + <el-table-column property="descr" + :label="$t('common.title')"> </el-table-column> + <el-table-column property="name" + :label="$t('common.fileNme')"> </el-table-column> + <el-table-column property="createName" + :label="$t('operatManage.BWL.requestUser')"> </el-table-column> + <el-table-column property="createTime" + :formatter="formatData" + :label="$t('dataApply.careatetime')"> + </el-table-column> + + <el-table-column :label="$t('common.download')" + width="120"> + <template slot-scope="scope"> + <el-link @click.native.prevent="downloadMap(scope.$index, scope.row)" + :underline="false">涓嬭浇</el-link> + </template> + </el-table-column> + </el-table> + </div> + <div class="archdownbottom"> + <el-pagination @size-change="downloadSizeChange" + @current-change="downloadCurrentChange" + :current-page="downloadPage.pageIndex" + :page-sizes="[10, 20, 50, 100]" + :page-size="downloadPage.pageSize" + layout="total, sizes, prev, pager, next, jumper" + :total="downloadPage.count"> + </el-pagination> + </div> + + </div> + </el-dialog> + <!--绌洪棿鏌ヨ --> + <el-dialog :title=" $t('synthesis.rangequery')" + :visible.sync="dialogMapVisible" + width="90%" + top="10vh" + :close-on-click-modal="false" + :before-close="handleMaptClose"> + <div style="height:73vh"> + <map-sdk v-if='showMapVisible'></map-sdk> + </div> + </el-dialog> + <el-dialog :title="fromQueryMeta.title" + :visible.sync="queryMetaFlag1" + width="70%"> + <div style="height: 65vh; width: 100%"> + + <el-table @cell-dblclick="copyText" + ref="filterTable" + :data="metaDataTable1" + style="width: 100%" + height="100%"> + <el-table-column align="center" + type="index" + :label="$t('common.index')" + width="70px"></el-table-column> + <el-table-column align="center" + prop="name" + :label="$t('common.name')" + width="120"> + </el-table-column> + <el-table-column align="center" + prop="dirName" + :label="$t('dataManage.dataUpObj.catalogue')" + width="300" /> + <el-table-column align="center" + prop="depName" + :label="$t('dataManage.dataUpObj.company')" + width="200" /> + <el-table-column align="center" + prop="verName" + :label="$t('dataManage.dataUpObj.versionNo')" /> + <el-table-column align="center" + prop="type" + :label="$t('common.type')" /> + <el-table-column align="center" + prop="sizes" + :label="$t('common.size')" + :formatter="stateFormatSizes" /> + <el-table-column align="center" + :label="$t('dataManage.dataUpObj.tableName')"> + <template slot-scope="scope"> + <a class="scopeRowColor">{{ + scope.row.tab + }}</a> + </template> + </el-table-column> + <el-table-column align="center" + prop="rows" + :label="$t('common.lineNuber')" /> + <el-table-column align="center" + prop="desc" + :label="$t('dataManage.dataUpObj.describe')" /> + </el-table> + + </div> + </el-dialog> + <el-dialog :title="fromQueryMeta.title" + :visible.sync="queryMetaFlag" + width="70%"> + <div style="height: 65vh; width: 100%"> + <el-form :inline="true" + :model="fromQueryMeta" + class="demo-form-inline"> + <el-form-item> + <el-input size="small" + v-model="fromQueryMeta.name"></el-input> + </el-form-item> + + <el-form-item> + <el-button type="primary" + size="small" + @click="setSearchMetaData()">鏌ヨ + </el-button> + <el-button type="info" + size="small" + @click="setRestMetaData()">閲嶇疆 + </el-button> + </el-form-item> + </el-form> + <el-table @cell-dblclick="copyText" + ref="filterTable" + :data="metaDataTable" + style="width: 100%" + height="calc(100% - 100px)"> + <el-table-column align="center" + type="index" + :label="$t('common.index')" + width="70px"></el-table-column> + <el-table-column align="center" + prop="name" + :label="$t('common.name')" + width="120"> + </el-table-column> + <el-table-column align="center" + prop="dirName" + :label="$t('dataManage.dataUpObj.catalogue')" + width="300" /> + <el-table-column align="center" + prop="depName" + :label="$t('dataManage.dataUpObj.company')" + width="200" /> + <el-table-column align="center" + prop="verName" + :label="$t('dataManage.dataUpObj.versionNo')" /> + <el-table-column align="center" + prop="type" + :label="$t('common.type')" /> + <el-table-column align="center" + prop="sizes" + :label="$t('common.size')" + :formatter="stateFormatSizes" /> + <el-table-column align="center" + :label="$t('dataManage.dataUpObj.tableName')"> + <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 class="pagination_box" + style="margin-top: 15px"> + <el-pagination @size-change="handleMetaSizeChange" + @current-change="handMetaCurrentChange" + :current-page="listMetaData.pageIndex" + :page-sizes="[10, 20, 50, 100]" + :page-size="listMetaData.pageSize" + layout="total, sizes, prev, pager, next, jumper" + :total="listMetaData.count"> + </el-pagination> + </div> + </div> + </el-dialog> + <el-dialog title="棰勮" + :append-to-body="false" + :visible.sync="dialog.dialogVisible" + width="70%" + :close-on-click-modal="false"> + <div v-if="dialog.isPdf" + class="pdfClass"> + <iframe :src="dialog.src" + type="application/x-google-chrome-pdf" + width="100%" + height="100%"> + </iframe> + </div> + <div v-if="dialog.isJpg" + class="pdfClass"> + <el-image style="width:100%; height:100%" + :src="dialog.src" + :preview-src-list="[dialog.src]"> + </el-image> + + </div> + </el-dialog> + <el-dialog title="鏁版嵁鐢宠" + :visible.sync="dialogInsertVisible" + width="30%" + top="35vh" + :modal="false" + :before-close="handleInsertClose"> + <div style="width: 100%; max-height: 450px; overflow-y: auto"> + <el-form ref="form" + :model="ruleForm" + label-width="100px"> + <el-form-item label="瀹℃牳鍗曚綅"> + <div> + <ul> + <li v-for="item in ruleForm.depid"> + {{ item.name }} + </li> + </ul> + </div> + </el-form-item> + <el-form-item label="琛ㄥ悕"> + <div> + <ul> + <li v-for="item in ruleForm.tabs"> + {{ item.tabDesc }} + </li> + </ul> + </div> + </el-form-item> + <el-form-item label="鏉′欢"> + <el-input :title="ruleForm.wkt" + v-model="ruleForm.wkt" + disabled></el-input> + </el-form-item> + <el-form-item label="鎻忚堪"> + <el-input type="textarea" + placeholder="璇疯緭鍏ュ唴瀹�" + v-model="ruleForm.descr" + maxlength="50" + show-word-limit> + </el-input> + </el-form-item> + <el-form-item> + <el-button class="primary" + size="small" + @click="getInsertDownx">{{ + $t("common.confirm") + }}</el-button> + <el-button type="info" + size="small" + @click="closeInsertDown">{{ + $t("common.cancel") + }}</el-button> + </el-form-item> + </el-form> + </div> + </el-dialog> + <el-dialog :title="$t('common.passworld')" + :visible.sync="dialogVisible1" + width="30%" + top="35vh" + :modal="false" + :before-close="handleCloseDown1"> + <el-form :model="codeForm" + :rules="rules" + ref="codeForm" + label-width="100px" + class="codeForm"> + <el-form-item :label="$t('common.passworld')" + prop="password"> + <el-input type="password" + v-model="codeForm.password" + show-password></el-input> + </el-form-item> + <el-form-item :label="$t('common.SPassword')" + prop="repassword"> + <el-input type="password" + v-model="codeForm.repassword" + show-password></el-input> + </el-form-item> + <el-form-item> + <el-button class="primary" + size="small" + @click="downloadx('codeForm')">{{ $t("common.confirm") }}</el-button> + <el-button type="info" + size="small" + @click="closeDownx('codeForm')">{{ + $t("common.cancel") + }}</el-button> + </el-form-item> + </el-form> + </el-dialog> + <el-dialog title="鏁版嵁鐢宠" + :visible.sync="dialogInsertFile" + width="30%" + top="10vh" + :modal="false" + :close-on-click-modal="false" + :show-close="false"> + <el-form ref="form" + :model="fileFrom" + label-width="100px"> + <el-form-item label="瀹℃牳鍗曚綅"> + <div> + <ul> + <li v-for="item in fileFrom.depid"> + {{ item.name }} + </li> + </ul> + </div> + </el-form-item> + + <el-form-item label="鎻忚堪"> + <el-input type="textarea" + placeholder="璇疯緭鍏ュ唴瀹�" + v-model="fileFrom.descr" + maxlength="50" + show-word-limit> + </el-input> + </el-form-item> + <el-form-item> + <el-button class="primary" + size="small" + @click="getFileInsertApply()">{{ + $t("common.confirm") + }}</el-button> + <el-button type="info" + size="small" + @click="handleInsertFileClose()">{{ + $t("common.cancel") + }}</el-button> + </el-form-item> + </el-form> + + </el-dialog> + <iframe id="downFrame" + src="" + style="display: none; border: 0; padding: 0; height: 0; width: 0"></iframe> + </div> +</template> + +<script> +import MapSdk from '../../components/mapsdk.vue' +import MyBread from "../../components/MyBread.vue"; +import { conditions } from './Archive.js'; +import $ from 'jquery' +import { getToken } from '@/utils/auth'; +import { + decr, + encr, + selectdepTab, + dataLib_selectProject, + dataLib_selectDirTypes, + dataLib_selectByPageForMeta, + dataLib_selectTabs, + dataLib_selectFields, + dataLib_selectDomains, + dataLib_selectByPage, + sign_getPublicKey, + dataLib_downloadReq, + dataLib_selectDownloadFile, + dataLib_selectPageCountForDownload, + dataLib_selectPageAndCountByPid, + dataLib_selectMetaById, + dataLib_selectFiles, + dataLib_deletes, + dataLib_selectDbOverflowDep, + dataLib_selectDepsByIds, + apply_insertApply, + dataLib_selectMetaOverflowDep +} from '../../api/api'; +import { dataLibView } from '@/api/screen.js' +export default { + components: { + MyBread,MapSdk + }, + data () { + var repasswordValidator=(rule,value,callback) => { + if(value==='') { + callback(new Error('璇峰啀娆¤緭鍏ュ瘑鐮�')); + } else if(value!==this.codeForm.password) { + callback(new Error('涓ゆ杈撳叆瀵嗙爜涓嶄竴鑷�!')); + } else { + callback(); + } + }; + var passwordValidator=(rule,value,callback) => { + var passwordreg= + /^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z\W!@#$%^&*`~()\\-_+=,.?;<>]+$)(?![a-z0-9]+$)(?![a-z\W!@#$%^&*`~()\\-_+=,.?;<>]+$)(?![0-9\W!@#$%^&*`~()\\-_+=,.?;<>]+$)[a-zA-Z0-9\W!@#$%^&*`~()\\-_+=,.?;<>]{12,20}$/; + if(!passwordreg.test(value)) { + callback( + new Error('瀵嗙爜蹇呴』鐢辨暟瀛椼�佸瓧姣嶃�佺壒娈婂瓧绗︾粍鍚�,璇疯緭鍏�13-20浣�') + ); + } else { + callback(); + } + }; + return { + + fromfile: { file: '' }, + fromSqlflag: false, + filedsOption: [], + condOption: [], + codeForm: { + password: '', + repassword: '', + }, + rules: { + password: [{ required: true,message: '璇疯緭鍏ュ瘑鐮�',trigger: 'blur' },{ validator: passwordValidator,trigger: 'blur' }], + repassword: [ + { required: true,message: '璇疯緭鍏ョ‘璁ゅ瘑鐮�',trigger: 'blur' }, + { validator: repasswordValidator,trigger: 'blur' }, + ], + }, + formInline: { + fileName: "",//楂樼骇鎼滅储 + dataType: "type2", //鏁版嵁绫诲瀷 + category: [], //鏌ヨ绫诲埆, + item: [], + depcode: null, //鍗曚綅, + depName: null,//鍗曚綅, + keywords: '', + }, + categoryOptions: [], + itemOptions: [], + depOption: [],//鍗曚綅鍒楄〃 + defaultProps: { + label: "name", + value: "id", + }, + listData: { + pageIndex: 1, + pageSize: 10, + count: 0, + }, + listBankData: { + pageIndex: 1, + pageSize: 10, + count: 0, + name: "", + title: "", + }, + monthdata: [], + itemdetail1: {}, + showinfoBox1: false, + dialogVisible: false, + formSql: { + field: '', + condition: '', + value: '', + type: '', + date: '', + }, + downloadPage: { + pageIndex: 1, + pageSize: 10, + count: 0, + name: null, + }, + attributeData: [], + tableData: [], + multipleSelection1: [], + passWorldVisible: false, + itemdetail: [], + itemDetailVisible: false, + downloadLogVisible: false, + conditionVisible: false, + downloadListVisible: false, + downloadTableData: [], + dialogMapVisible: false, + showMapVisible: false, + queryMetaFlag1: false, + metaDataTable1: [], + fromQueryMeta: { + title: "" + }, + listMetaData: { + metaid: 0, + name: "", + pageIndex: 1, + pageSize: 10, + count: 0, + }, + fromQueryMeta: { + name: "" + }, + queryMetaFlag: false, + metaDataTable: [], + upAttach: { + tabName: null, + eventid: null, + }, + outerVisible: false, + tableAttach: [], + dataLib_selectFiles: [], + attacgSelection: [], + dialog: { + dialogVisible: false, + isPdf: false, + isJpg: false, + src: '' + }, + checkedDataType: [], + ruleForm: { + depname: [], + tabs: [], + pwd: null, + repwd: null, + wkt: null, + descr: null, + }, + dialogInsertVisible: false, + dialogVisible1: false, + multipleSelection: [], + dialogInsertFile: false, + fileFrom: { + descr: null, + depid: null, + ids: null, + pwd: null, + depcodes: null + } + }; + }, + watch: { + "formInline.depName" () { + this.$refs.treeSelect.visible=false; + }, + }, + mounted () { + this.getDepTreeData(); + this.getCategorySelectData(); + this.getItemSelectData(); + this.signGetPublicKey(); + this.$bus.$on("setDialogInsertVisible",(res) => { + if(res==true) { + this.dialogVisible1=true; + } else { + this.setDialogInsertVisible(res); + } + }) + }, + methods: { + //鏁版嵁搴撴煡璇笅杞� + downloadBankData () { + // downloadLogVisible + + }, + handleCloseDown1 () { + this.$confirm("纭鍏抽棴锛�") + .then(_ => { + this.closeDownx(); + }) + .catch(_ => { }) + }, + downloadx () { + this.$bus.$emit("setInsertDown2",this.codeForm) + // + }, + closeDownx () { + this.dialogVisible1=false; + this.codeForm={ + password: '', + repassword: '', + } + }, + async getInsertDownx () { + + this.dialogInsertVisible=false; + this.dialogVisible1=false; + this.downloadLogVisible=false; + var obj=null + if(this.dialogMapVisible==true) { + var entities=[]; + var tabs=[]; + for(var i in this.ruleForm.tabs) { + entities.push(this.ruleForm.tabs[i].entity) + tabs.push(this.ruleForm.tabs[i].tabDesc) + } + var std=[]; + for(var i in this.ruleForm.depname) { + std.push(this.ruleForm.depname[i].name) + } + + obj={ + pwd: encr(this.codeForm.password), + entities: entities, + wkt: encr(this.ruleForm.wkt), + filter: null, + ids: null, + depcode: null, + dirs: null, + depcodes: std, + descr: this.ruleForm.descr, + tabs: tabs + } + } else { + var ids=[]; + var filter=null; + this.downloadLogVisible=false; + if(this.multipleSelection.length!=0) { + for(var i in this.multipleSelection) { + ids.push(this.multipleSelection[i].gid) + } + filter=null; + } else { + filter=this.listBankData.filter; + ids=null; + } + + var std=[]; + for(var i in this.ruleForm.depname) { + std.push(this.ruleForm.depname[i].name) + } + var dirs=null; + if(this.listData.dirs) { + + dirs=this.listData.dirs + } + + obj={ + pwd: encr(this.codeForm.password), + entities: [this.listBankData.name], // bpachydrogeology,bhydrogeologyattach + wkt: null, + filter: filter, + ids: ids, + depcode: this.listData.depcode, + dirs: dirs, + depcodes: std, + descr: this.ruleForm.descr, + tabs: [this.listBankData.title] + } + } + + const data=await apply_insertApply(JSON.stringify(obj)) + if(data.code!=200) { + this.$message.error("鏁版嵁鐢宠澶辫触") + return + } + this.$message({ + message: "鏁版嵁鐢宠鎴愬姛", + type: "success", + }) + this.closeDownx(); + this.closeDown1(); + }, + + closeInsertDown () { + this.ruleForm={ + depname: [], + tabs: [], + pwd: null, + repwd: null, + wkt: null, + descr: null, + } + this.dialogInsertVisible=false + this.closeDown1(); + }, + handleInsertClose () { + this.$confirm("纭鍏抽棴锛�") + .then(_ => { + this.closeInsertDown() + }) + .catch(_ => { }) + }, + setDialogInsertVisible (res) { + this.ruleForm=res; + this.dialogInsertVisible=true; + }, + copyText (row,column,cell,event) { + // 鍙屽嚮澶嶅埗 + let save=function(e) { + e.clipboardData.setData('text/plain',event.target.innerText); + e.preventDefault(); //闃绘榛樿琛屼负 + } + document.addEventListener('copy',save);//娣诲姞涓�涓猚opy浜嬩欢 + document.execCommand("copy");//鎵цcopy鏂规硶 + this.$message({ message: '澶嶅埗鎴愬姛',type: 'success' })//鎻愮ず + }, + //鎵归噺涓嬭浇澶嶉�夋chagne + handleCheckedDataTypeChange (res) { + var std=0; + for(var i=0;i<this.multipleSelection1.length;i++) { + if(res.guid==this.multipleSelection1[i].guid) { + std=i; + } + } + if(std==0) { + this.multipleSelection1.push(res); + } else { + this.multipleSelection1.splice(std,1) + } + console.log(this.multipleSelection1) + }, + + + matchState (state="",reg) { + var row=state.row; + var name=row.name; + if(name.indexOf('.pdf')!=-1||name.indexOf('.jpg')!=-1||name.indexOf('.gif')!=-1||name.indexOf('.png')!=-1||name.indexOf('.jpeg')!=-1) { + return true; + } + + return false; + }, + // 闄勪欢=>琛ㄦ牸閫夋嫨 + handleAttatchChange (val) { + this.attacgSelection=val; + }, + //闄勪欢=>鏂囦欢閫夋嫨 + getInsertFile () { + $('#insertFile').click(); + }, + insertFile () { + var val=document.getElementById('insertFile').files; + if(!val||!val.length) return; + this.fromfile.file=val[0].name; + }, + getAttachTable (index,row) { + if(row.eventid!=null) { + this.upAttach.eventid=row.eventid; + } else { + this.upAttach.eventid=""; + } + this.outerVisible=true; + this.getAttacthFlieList(); + }, + //闄勪欢鍒楄〃鏌ヨ + async getAttacthFlieList () { + var obj=this.upAttach; + const res=await dataLib_selectFiles(obj); + if(res.code!=200) { + this.$message.error('鍒楄〃璋冪敤澶辫触'); + return + } + this.tableAttach=res.result; + }, + refreshAttatchDetail () { + this.dialog.src=""; + this.dialog.dialogVisible=false; + this.dialog.isPdf=false; + this.dialog.isJpg=false; + }, + //闄勪欢鏌ョ湅 + setAttatchDetail (index,row) { + this.refreshAttatchDetail() + var name=row.name; + if(name.indexOf('.pdf')!=-1) { + this.dialog.dialogVisible=true; + this.dialog.isPdf=true; + var url=BASE_URL+"/comprehensive/downloadForView?guid="+row.guid+"&token="+getToken(); + this.dialog.src=url + } else if(name.indexOf('.jpg')!=-1||name.indexOf('.gif')!=-1||name.indexOf('.png')!=-1||name.indexOf('.jpeg')!=-1) { + this.dialog.dialogVisible=true; + this.dialog.isJpg=true; + var url=BASE_URL+"/comprehensive/downloadForView?guid="+row.guid+"&token="+getToken(); + this.dialog.src=url + } + }, + + setAttatchFileView (index,row) { + this.refreshAttatchDetail() + var name=`${row.name}.${row.type}`; + if(name.indexOf('.pdf')!=-1) { + this.dialog.isPdf=true; + } else if(name.indexOf('.jpg')!=-1||name.indexOf('.gif')!=-1||name.indexOf('.png')!=-1||name.indexOf('.jpeg')!=-1) { + this.dialog.isJpg=true; + } + this.dialog.dialogVisible=true; + + var url=BASE_URL+"/dataLib/downloadForView?guid="+row.guid+"&token="+getToken(); + this.dialog.src=url; + }, + showView (res) { + var name=res.type + if(name) { + if(name.indexOf('pdf')!=-1||name.indexOf('jpg')!=-1||name.indexOf('gif')!=-1||name.indexOf('png')!=-1||name.indexOf('jpeg')!=-1) { + return true + } else { + return false + } + } + + }, + //闄勪欢鍒櫎 + async setAttachDel () { + var std=[]; + for(var i in this.attacgSelection) { + std.push(this.attacgSelection[i].id); + } + const res=await dataLib_deletes({ ids: std.toString() }); + if(res.code!=200) { + this.$message.error('鏂囦欢鍒犻櫎澶辫触'); + } + this.getAttacthFlieList(); + }, + //闄勪欢鍒楄〃鏂板 + setAttachInsert () { + var token=getToken(); + var fs=document.getElementById("insertFile"); + if(fs.files.length==0) { + + this.$message({ + message: '璇烽�夋嫨瑕佷笂浼犵殑鏂囦欢锛�', + type: 'warning' + }); + return; + } + const formData=new FormData() + for(var i=0,c=fs.files.length;i<c;i++) { + + formData.append('file',fs.files[i]); // fs.files[i].name,file + } + + $.ajax(BASE_URL+"/dataQuery/uploadFiles?token="+token+"&tabName="+this.upAttach.tabName+"&eventid="+this.upAttach.eventid,{ + type: "post", + data: formData, + async: true, + cache: false, + processData: false, + contentType: false, + success: (rs) => { + this.$message({ + message: '闄勪欢娣诲姞鎴愬姛', + type: 'success' + }); + document.getElementById("insertFile").value=""; + this.fromfile={ + file: '', + } + this.getAttacthFlieList(); + }, + error: (e) => { + document.getElementById("insertFile").value=""; + this.fromfile={ + file: '', + } + this.$message.error('闄勪欢娣诲姞澶辫触'); + } + }); + }, + + 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(); + }, + //婧愭暟鎹煡璇� + 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 dataLib_selectPageAndCountByPid(this.listMetaData); + if(data.code!=200) { + return; + } + this.metaDataTable=data.result; + this.listMetaData.count=data.count; + }, + //鍏冩暟鎹煡璇� + async setMetaDataQuery (row) { + + this.fromQueryMeta.title=row.name; + this.listMetaData={ + id: row.metaid, + }; + const data=await dataLib_selectMetaById(this.listMetaData); + if(data.code!=200) { + return; + } + this.queryMetaFlag1=true; + this.metaDataTable1=[data.result]; + }, + getSpaceMapVisibale () { + if(window.sgworld) { + window.sgworld.Creator.SimpleGraphic.clear(); + for(var i in this.$store.state.queryInfo) { + window.sgworld.Viewer.entities.remove(this.$store.state.queryInfo[i]); + } + } + + this.$store.state.queryInfo=[]; + if(this.$store.state.primitLayer!=null) { + sgworld.Viewer.entities.remove(this.$store.state.primitLayer); + sgworld.Creator.DeleteObject(this.$store.state.primitLayer); + this.$store.state.primitLayer=null; + } + this.dialogMapVisible=true; + this.showMapVisible=true; + this.$store.state.mapMenuBoolean=true; + this.$store.state.mapMenuBoxFlag='1'; + this.$store.state.mapPopBoolean=false; + this.$store.state.mapPopBoxFlag=null; + this.$store.state.download=true; + + }, + + handleMaptClose () { + this.dialogMapVisible=false; + this.showMapVisible=false; + this.$store.state.mapMenuBoolean=false; + this.$store.state.mapMenuBoxFlag=null; + this.$store.state.mapPopBoolean=false; + this.$store.state.mapPopBoxFlag=false; + this.$store.state.download=false; + if(window.sgworld) { + window.sgworld.Creator.SimpleGraphic.clear(); + for(var i in this.$store.state.queryInfo) { + window.sgworld.Viewer.entities.remove(this.$store.state.queryInfo[i]); + } + } + + this.$store.state.queryInfo=[]; + if(this.$store.state.primitLayer!=null) { + sgworld.Viewer.entities.remove(this.$store.state.primitLayer); + sgworld.Creator.DeleteObject(this.$store.state.primitLayer); + this.$store.state.primitLayer=null; + } + }, + downloadMap (index,rows) { + var token=getToken() + var url=BASE_URL+"/dataLib/downloadFile?token="+token+"&guid="+rows.guid+"&pwd="+rows.pwd; + $("#downFrame").attr("src",url).click(); + }, + async getdownloadListData () { + const data=await dataLib_selectPageCountForDownload(this.downloadPage); + if(data.code!=200) { + this.downloadListVisible=false; + return this.$message.error('涓嬭浇鍒楄〃鑾峰彇澶辫触'); + } + + this.downloadTableData=data.result; + + this.downloadPage.count=data.count; + }, + downloadSizeChange (val) { + this.downloadPage.pageIndex=1; + this.downloadPage.pageSize=val; + this.getdownloadListData(); + }, + downloadCurrentChange (val) { + this.downloadPage.pageIndex=val; + this.getdownloadListData(); + }, + getdownloadList () { + this.downloadPage={ + pageIndex: 1, + pageSize: 10, + count: 0, + name: null, + } + this.downloadListVisible=true; + this.getdownloadListData(); + }, + appendQueryFilter () { + if(this.formSql.type=="date"||this.formSql.type=="datetime") { + if(this.formSql.date==null) { + this.$message.error('璇疯緭鍏ヨ鏌ヨ鐨勪俊鎭�!'); + return; + } + } else { + if(this.formSql.value=="") { + this.$message.error('璇疯緭鍏ヨ鏌ヨ鐨勪俊鎭�!'); + return; + } + } + + if(this.formInline.fileName!="") { + this.formInline.fileName+=" and "; + } + var val; + + if(this.formSql.type=="long"||this.formSql.type=="integer") { + + val=parseInt(this.formSql.value); + } else if(this.formSql.type=='double') { + + if(this.formSql.value.indexOf(".")!=-1) { + val=this.formSql.value; + } else { + val=parseFloat(this.formSql.value).toFixed(1) + } + } else if(this.formSql.type=="date"||this.formSql.type=="datetime") { + var time=new Date(this.formSql.date); + var m=time.getMonth()+1; + var d=time.getDate(); + var y=time.getFullYear(); + val="'"+y+ + '-'+ + this.add0(m)+ + '-'+ + this.add0(d)+"'"; + } else { + val="'"+this.formSql.value+"'"; + } + this.formInline.fileName+=this.formSql.field+" "+this.formSql.condition+" "+val; + + this.startFiledAndcondition(); + }, + startFiledAndcondition () { + this.conditionVisible=false; + this.conditionChange(this.filedsOption[0]); + this.formSql.value=""; + this.formSql.date=new Date(); + }, + + fieldChange (value) { + var obj={} + obj=this.filedsOption.find(function(item) { + return item.field===value; + }) + this.conditionChange(obj) + + }, + conditionChange (res) { + this.formSql.field=res.field; + this.formSql.type=res.type; + if(res.type=="date"||res.type=="datetime") { + this.fromSqlflag=true + } else { + this.fromSqlflag=false + } + var std=[]; + this.condOption=[]; + if(res.type=='text'||res.type=='blob') { + std=conditions[0] + } else if(res.type=='date'||res.type=='datetime') { + std=conditions[2] + } else { + std=conditions[1] + } + for(var i in std) { + this.condOption.push({ + label: std[i], + value: std[i], + }) + } + this.formSql.condition=this.condOption[0].value + }, + async download1 () { + if(this.codeForm.password==''||this.codeForm.repassword=='') { + return this.$message.error('瀵嗙爜涓嶈兘涓虹┖'); + } + if(this.codeForm.password!=this.codeForm.repassword) { + return; + } + var passwordreg= + /^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z\W!@#$%^&*`~()\\-_+=,.?;<>]+$)(?![a-z0-9]+$)(?![a-z\W!@#$%^&*`~()\\-_+=,.?;<>]+$)(?![0-9\W!@#$%^&*`~()\\-_+=,.?;<>]+$)[a-zA-Z0-9\W!@#$%^&*`~()\\-_+=,.?;<>]{12,20}$/; + if(!passwordreg.test(this.codeForm.password)) { + return; + } + var ids=[]; + var filter=null; + this.downloadLogVisible=false; + if(this.multipleSelection.length!=0) { + for(var i in this.multipleSelection) { + ids.push(this.multipleSelection[i].gid) + } + filter=null; + } else { + filter=this.listBankData.filter; + ids=null; + } + var obj={ + entities: [this.listBankData.name], // bpachydrogeology,bhydrogeologyattach + filter: filter, + ids: ids, + wkt: null, + pwd: encrypt.encrypt(this.codeForm.password), + depcode: this.listData.depcode, + dirs: this.listData.dirs + }; + const data=await dataLib_selectDbOverflowDep(obj) + if(data.code!=200) { + return + } + if(data.result.length==0) { + var that=this; + $.ajax({ + url: BASE_URL+"/dataLib/downloadDbData?token="+getToken(), + type: "POST", + data: JSON.stringify(obj), + dataType: 'json', // html銆乯son銆乯sonp銆乻cript銆乼ext + contentType: "application/json", // "application/x-www-form-urlencoded" + success: (data) => { + if(data.code==200) { + that.downloadflie(data,this.codeForm.password) + + } + }, + error: function(e) { + } + }); + + } else { + var val="" + var std=[]; + for(var i in data.result) { + if(val=="") { + val+="codes="+data.result[i] + } else { + val+="&codes="+data.result[i] + } + + std.push({ + name: data.result[i], + }) + } + + const data1=await dataLib_selectDepsByIds(val) + this.ruleForm.depid=data1.result + this.ruleForm.depname=std + this.ruleForm.wkt=null + this.ruleForm.tabs=[{ + tabDesc: this.listBankData.title + }] + this.dialogInsertVisible=true + } + // this.closeDown1(); + }, + downloadflie (data,pwd) { + + var token=getToken() + var url=BASE_URL+"/dataLib/downloadFile?token="+token+"&guid="+data.result+"&pwd="+encrypt.encrypt(pwd); + $("#downFrame").attr("src",url).click(); + this.loading=false; + this.closeDownx(); + this.closeDown1(); + }, + closeDown1 () { + this.downloadLogVisible=false; + this.codeForm.password=''; + this.codeForm.repassword=''; + }, + //鏂囦欢璇︽儏 + showDetail (index,row) { + var std=[]; + for(var i in this.attributeData) { + std.push({ + label: this.attributeData[i].alias, + value: row[this.attributeData[i].field], + }); + } + this.itemdetail=std; + this.itemDetailVisible=true; + }, + async download () { + if(this.codeForm.password==''||this.codeForm.repassword=='') { + return this.$message.error('瀵嗙爜涓嶈兘涓虹┖'); + } + if(this.codeForm.password!=this.codeForm.repassword) { + return; + } + var passwordreg= + /^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z\W!@#$%^&*`~()\\-_+=,.?;<>]+$)(?![a-z0-9]+$)(?![a-z\W!@#$%^&*`~()\\-_+=,.?;<>]+$)(?![0-9\W!@#$%^&*`~()\\-_+=,.?;<>]+$)[a-zA-Z0-9\W!@#$%^&*`~()\\-_+=,.?;<>]{12,20}$/; + if(!passwordreg.test(this.codeForm.password)) { + return; + } + this.passWorldVisible=false; + var password=this.codeForm.repassword + var std=[]; + var ids=[]; + for(var i in this.multipleSelection1) { + std.push(this.multipleSelection1[i].id) + ids.push(this.multipleSelection1[i].id) + } + // var obj = { + + // }; + this.closeDown(); + this.closeDownx(); + + + + var obj={ + ids: std, + }; + const data=await dataLib_selectMetaOverflowDep(obj) + if(data.code!=200) { + return + } + if(data.result.length==0) { + const res=await dataLib_downloadReq(JSON.stringify({ + pwd: encrypt.encrypt(password), + ids: std + })); + if(res.code!=200) { + this.$message.error('涓嬭浇璇锋眰澶辫触'); + return + } + if(!res.result) { + return + } + var downObj={ + guid: res.result, + pwd: encodeURIComponent(encrypt.encrypt(password)) + } + + const data=await dataLib_selectDownloadFile(downObj) + if(data.code!=200) { + this.$message.error('涓嬭浇璇锋眰澶辫触'); + return + } + var token=getToken() + var url=BASE_URL+"/dataLib/downloadFile?token="+token+"&guid="+res.result+"&pwd="+encodeURIComponent(encrypt.encrypt(this.codeForm.repassword)); + $("#downFrame").attr("src",url).click(); + } else { + var val="" + var std=[]; + for(var i in data.result) { + if(val=="") { + val+="codes="+data.result[i] + } else { + val+="&codes="+data.result[i] + } + std.push({ + name: data.result[i], + }) + } + const data1=await dataLib_selectDepsByIds(val) + if(data1.code!=200) { + return + } + this.fileFrom.depid=data1.result + this.fileFrom.ids=ids; + this.fileFrom.pwd=encr(password); + this.fileFrom.depcodes=data.result; + this.dialogInsertFile=true; + } + + this.monthdata.filter((res) => { + return res.ischecked=false; + }) + this.multipleSelection1=[]; + }, + closeDown () { + this.passWorldVisible=false; + this.codeForm.password=''; + this.codeForm.repassword=''; + }, + + async getFileInsertApply () { + this.dialogInsertFile=false + + var obj={ + ids: this.fileFrom.ids, + pwd: this.fileFrom.pwd, + tabs: ["鍏冩暟鎹〃"], + entities: ["sysmeta"], + descr: this.fileFrom.descr, + depcodes: this.fileFrom.depcodes + }; + + const data=await apply_insertApply(JSON.stringify(obj)) + this.handleInsertFileClose(); + if(data.code!=200) { + this.$message.error("鏁版嵁鐢宠澶辫触") + return + } + this.$message({ + message: "鏁版嵁鐢宠鎴愬姛", + type: "success", + }) + + + }, + handleInsertFileClose () { + this.dialogInsertFile=false + this.fileFrom={ + descr: null, + depid: null, + ids: null, + pwd: null, + depcodes: null + } + }, + + + //鏂囦欢涓嬭浇 + setCardDownload (res) { + // this.multipleSelection1 = []; + // this.multipleSelection1.push(res); + if(this.multipleSelection1.length==0) { + this.$message({ + message: '璇峰厛閫夋嫨瑕佷笅杞界殑鏂囦欢', + type: 'warning' + }); + return; + } + this.passWorldVisible=true; + }, + //閲嶇疆 + setQuerAllTablesRefresh () { + // this.formInline = { + // fileName: "",//楂樼骇鎼滅储 + // dataType: "type2", //鏁版嵁绫诲瀷 + // category: [], //鏌ヨ绫诲埆, + // item: [], + // depcode: null, //鍗曚綅, + // depName: null,//鍗曚綅, + // keywords: '', + // } + this.formInline.fileName="";//楂樼骇鎼滅储 + this.formInline.category=[];//楂樼骇鎼滅储 + this.formInline.item=[];//楂樼骇鎼滅储 + this.formInline.depcode=null;//楂樼骇鎼滅储 + this.formInline.depName=null;//楂樼骇鎼滅储 + this.formInline.keywords="";//楂樼骇鎼滅储 + this.getAllTabesData(); + }, + handleSelectionChange (val) { + this.multipleSelection=val; + }, + //鍗$墖璇︽儏鐐瑰嚮浜嬩欢 + async setCardDetails (res) { + switch(this.formInline.dataType) { + case "type1": + this.getBankTableData(res); + this.formInline.fileName="" + break; + case "type2": + this.itemdetail1=res + this.showinfoBox1=true; + break; + } + }, + //鑾峰彇鏁版嵁搴撴暟鎹甹s + getBankTableData (res) { + this.listBankData.name=res.entity; + this.listBankData.pageIndex=1; + this.listBankData.pageSize=10; + this.listBankData.title=res.tabDesc; + this.upAttach.tabName=res.ns+"."+res.tab; + this.filedsLayer=this.getBankTableFiled(); + this.getCollapseTable(this.filedsLayer); + }, + async getCollapseTable (res) { + res.then((val) => { + this.attributeData=val; + }); + if(this.formInline.fileName!="") { + this.listBankData.filter=this.formInline.fileName; + } else { + this.listBankData.filter=null; + } + this.listBankData.dirs=""; + if(this.formInline.category.length!=0) { + this.listBankData.dirs+=this.formInline.category.toString(); + } + if(this.formInline.item.length!=0) { + if(this.listBankData.dirs.length!=0) { + this.listBankData.dirs+="," + } + this.listBankData.dirs+=this.formInline.item.toString(); + } + this.listBankData.depcode=this.listData.depcode; + const data=await dataLib_selectByPage(this.listBankData); + if(data.code!=200) { + this.$message.error('璋冪敤鍒楄〃澶辫触,璇疯仈绯诲伐浣滀汉鍛�!'); + return; + } + + var res_val=this.attributeData; + + for(var i in data.result) { + let val_Data=data.result[i]; + + for(var j in res_val) { + if(res_val[j].domainNa!=null&&res_val[j].domainNa!=undefined) { + val_Data[res_val[j].field]=res_val[j].domainNa; + } + } + } + for(var i in data.result) { + + if(data.result[i].createtime) { + data.result[i].createtime=this.format(data.result[i].createtime) + } + if(data.result[i].updatetime) { + data.result[i].updatetime=this.format(data.result[i].updatetime) + } + data.result[i].createuser=data.result[i].createName + data.result[i].updateuser=data.result[i].updateName + if(data.result[i].verName) { + data.result[i].verid=data.result[i].verName + } + if(data.result[i].depName) { + data.result[i].depid=data.result[i].depName + } + if(data.result[i].dirName) { + data.result[i].dirid=data.result[i].dirName + } + } + + this.listBankData.count=data.count; + + this.tableData=data.result; + + this.dialogVisible=true; + }, + //鑾峰彇鏁版嵁琛ㄥ瓧娈典俊鎭� + async getBankTableFiled () { + const fileds=await dataLib_selectFields({ + name: this.listBankData.name, + }); + if(fileds.code!=200) { + this.$message.error('鍒楄〃璋冪敤澶辫触'); + return; + } + + const domains=await dataLib_selectDomains({ + name: this.listBankData.name, + }); + + if(domains.code!=200) { + this.$message.error('鍒楄〃璋冪敤澶辫触'); + return; + } + var data1=fileds.result; + var data2=domains.result; + this.formInline.fileName="" + var std=[]; + this.filedsOption=[]; + for(var i in data1) { + + if(data1[i].type!='geometry'&&data1[i].type!='null') { + this.filedsOption.push(data1[i]) + } + + if(data1[i].showtype==1) { + if(data1[i].domainNa!=null) { + data1[i].domainNa=this.getDomainNaFild(data1[i].domainNa,data2); + } + std.push(data1[i]); + } + } + + this.startFiledAndcondition(); + return std; + }, + //鍊煎煙瀛楁鍖归厤 + getDomainNaFild (res,result) { + for(var i in result) { + if(result[i].domName==res) { + return result[i].codeDesc; + } + } + return null; + }, + startFiledAndcondition () { + this.conditionVisible=false; + this.conditionChange(this.filedsOption[0]); + this.formSql.value=""; + this.formSql.date=new Date(); + }, + conditionChange (res) { + this.formSql.field=res.field; + this.formSql.type=res.type; + if(res.type=="date"||res.type=="datetime") { + this.fromSqlflag=true + } else { + this.fromSqlflag=false + } + var std=[]; + this.condOption=[]; + if(res.type=='text'||res.type=='blob') { + std=conditions[0] + } else if(res.type=='date'||res.type=='datetime') { + std=conditions[2] + } else { + std=conditions[1] + } + for(var i in std) { + this.condOption.push({ + label: std[i], + value: std[i], + }) + } + this.formSql.condition=this.condOption[0].value + }, + + //瀛樺偍绫诲瀷鍒囨崲 + setDataTypeChange () { + this.listData.pageIndex=1; + this.listData.pageSize=10; + this.getAllTabesData(); + }, + //鍗$墖鎶樺彔鏁堟灉 + setCardChange (res) { + res.isShow=!res.isShow + }, + //鏍煎紡鍖栨椂闂� + format (shijianchuo) { + //shijianchuo鏄暣鏁帮紝鍚﹀垯瑕乸arseInt杞崲 + + var time=new Date(shijianchuo); + var y=time.getFullYear(); + var m=time.getMonth()+1; + var d=time.getDate(); + var h=time.getHours(); + var mm=time.getMinutes(); + var s=time.getSeconds(); + return ( + y+ + '-'+ + this.add0(m)+ + '-'+ + this.add0(d)+ + ' '+ + h+ + ':'+ + mm+ + ':'+ + s + ); + }, + //鏍煎紡鍖栨椂闂� + add0 (m) { + return m<10? '0'+m:m; + }, + //鏍煎紡鍖栧垪琛� + formatData (row,column) { + let data=row[column.property]; + if(data==null) { + return data; + } + return this.format(data); + }, + //鏍煎紡鍖栨椂闂� + add0 (m) { + return m<10? '0'+m:m; + }, + statSizeChange (row,column) { + return this.stateFormatSizes(row.sizes) + }, + stateFormatSizes (res) { + var obj = null; + if(res&&res.sizes){ + obj=res.sizes + }else{ + obj=res; + } + if(!obj)return + if(obj>=1024) { + const val=parseFloat(res/1024).toFixed(3); + return val+' GB'; + } else { + return obj+' MB'; + } + }, + setInfoBoxTime (res) { + if(res==null) { + return res; + } + return this.format(res); + }, + handleSizeChange (val) { + this.listData.pageIndex=1; + this.listData.pageSize=val; + switch(this.formInline.dataType) { + case "type2"://鏂囦欢鏁版嵁 + this.getQueryFileData(); + break; + case "type1"://鏁版嵁搴撴暟鎹� + this.getQueryBankData(); + break; + } + + }, + handleCurrentChange (val) { + this.listData.pageIndex=val; + switch(this.formInline.dataType) { + case "type2"://鏂囦欢鏁版嵁 + this.getQueryFileData(); + break; + case "type1"://鏁版嵁搴撴暟鎹� + this.getQueryBankData(); + break; + } + }, + // 鍏抽敭瀛楁煡璇� + submitForm () { + this.listBankData.pageIndex=1; + this.listBankData.pageSize=10; + //鑾峰彇table淇℃伅 + this.getCollapseTable(this.filedsLayer); + }, + // 閲嶇疆鏌ヨ + resetForm () { + this.formInline.fileName="" + //鑾峰彇table淇℃伅 + this.listBankData.pageIndex=1; + this.listBankData.pageSize=10; + //鑾峰彇table淇℃伅 + this.getCollapseTable(this.filedsLayer); + + }, + handleSizeChange1 (val) { + + this.listBankData.pageIndex=1; + this.listBankData.pageSize=val; + //鑾峰彇table淇℃伅 + this.getCollapseTable(this.filedsLayer); + + + + }, + handleCurrentChange1 (val) { + // 灏哾iv鐨勬粴鍔ㄦ潯澶嶄綅鍒伴《閮� + + this.listBankData.pageIndex=val; + //鑾峰彇table淇℃伅 + this.getCollapseTable(this.filedsLayer); + + }, + //鏌ヨ鏁版嵁搴撴暟鎹� + async getQueryBankData () { + this.listData.dirs=""; + this.listData.types="" + if(this.formInline.category.length!=0) { + this.listData.dirs+=this.formInline.category.toString(); + } + + var val_data=this.formInline.category; + var data_type=[] + if(val_data.length>0) { + for(var i in val_data) { + for(var j in this.categoryOptions) { + if(this.categoryOptions[j].key==val_data[i]) { + + data_type.push(this.categoryOptions[j].value) + } + } + } + } + if(this.formInline.item.length!=0) { + if(this.listData.dirs.length!=0) { + this.listData.dirs+="," + } + this.listData.dirs+=this.formInline.item.toString(); + } + this.listData.depcode=this.formInline.depcode; + this.listData.tab=this.formInline.keywords; + + this.listData.types=data_type.toString(); + const data=await dataLib_selectTabs(this.listData); + if(data.code!=200) { + this.$message.error('鏁版嵁搴撳垪琛ㄨ皟鐢ㄥけ璐�'); + return; + } + var val=data.result; + if(val) { + val=val.filter((res) => { + res.mold="鏁版嵁搴�" + res.isShow=false + return res; + }) + this.listData.count=data.count; + this.monthdata=data.result; + } else { + this.listData.count=0; + this.monthdata=[]; + } + + }, + //鏌ヨ鏂囦欢鏁版嵁 + async getQueryFileData () { + this.listData.dirs=""; + + if(this.formInline.category.length!=0) { + this.listData.dirs+=this.formInline.category.toString(); + } + if(this.formInline.item.length!=0) { + if(this.listData.dirs.length!=0) { + this.listData.dirs+="," + } + this.listData.dirs+=this.formInline.item.toString(); + } + this.listData.depcode=this.formInline.depcode; + this.listData.name=this.formInline.keywords; + const data=await dataLib_selectByPageForMeta(this.listData); + if(data.code!=200) { + this.$message.error('鏂囦欢鏁版嵁鍒楄〃璋冪敤澶辫触'); + } + + var val=data.result; + if(val) { + val=val.filter((res) => { + var type="."+res.type; + res.name=res.name.replaceAll(type,"") + res.mold="鏂囦欢"; + res.isShow=false; + res.ischecked=false; + return res; + }) + + this.monthdata=val; + this.listData.count=data.count; + + } else { + this.monthdata=[]; + this.listData.count=0; + } + + }, + //鏌ヨ鏁版嵁 + getAllTabesData () { + this.listData.pageIndex=1; + this.listData.pageSize=10; + switch(this.formInline.dataType) { + + case "type2"://鏂囦欢鏁版嵁 + this.getQueryFileData(); + break; + case "type1"://鏁版嵁搴撴暟鎹� + this.getQueryBankData(); + break; + } + }, + //椤圭洰鍚嶇О鏁版嵁 + async getItemSelectData () { + const data=await dataLib_selectProject();//鏌ヨ椤圭洰鍚嶇О + if(data.code!=200) { + this.$message.error('椤圭洰鍚嶇О鍒楄〃璋冪敤澶辫触'); + } + this.itemOptions=data.result; + }, + //鑾峰彇璧勬枡绫诲埆鏁版嵁 + async getCategorySelectData () { + const data=await dataLib_selectDirTypes(); + if(data.code!=200) { + this.$message.error('璧勬枡绫诲埆鍒楄〃璋冪敤澶辫触'); + } + + this.categoryOptions=data.result; + }, + //鍏抽敭瀛楁煡璇� + setSearchKeyWords () { + + this.getAllTabesData(); + }, + //鍗曚綅鏀瑰彉鍊艰Е鍙� + depChange (data,node,nodeData) { + this.formInline.depcode=data.code; + this.formInline.depName=data.name; + this.getAllTabesData(); + }, + //璧勬枡绫诲埆涓嬫媺妗嗗�兼敼鍙樿Е鍙� + categorySelectChange (model,prop,options) { + + this.getAllTabesData(); + + }, + // 椤圭洰鍚嶇О涓嬫媺妗嗗�兼敼鍙樿Е鍙� + itemSelectChange (model,prop,options) { + this.getAllTabesData(); + }, + //鑾峰彇鍗曚綅鍒楄〃 + async getDepTreeData () { + const data=await selectdepTab(); + if(data.code!=200) { + return this.$message.error('鍗曚綅鍒楄〃鑾峰彇澶辫触'); + } + this.depOption=this.treeData(data.result); + // this.formInline.depcode = this.depOption[0].code + // this.formInline.depName = this.depOption[0].name; + this.getAllTabesData(); + }, + //鏍戝垪琛ㄧ敓鎴� + treeData (source) { + let cloneData=JSON.parse(JSON.stringify(source)); // 瀵规簮鏁版嵁娣卞害鍏嬮殕 + return cloneData.filter((father) => { + // 寰幆鎵�鏈夐」 + let branchArr=cloneData.filter((child) => father.id==child.pid); // 瀵规瘮ID锛屽垎鍒笂涓嬬骇鑿滃崟锛屽苟杩斿洖鏁版嵁 + branchArr.length>0? (father.children=branchArr):""; // 缁欑埗绾ф坊鍔犱竴涓猚hildren灞炴�э紝骞惰祴鍊� + return father.pid==0; // 杩斿洖涓�绾ц彍鍗� + }); + }, + async signGetPublicKey () { + const res=await sign_getPublicKey(); + if(res&&res.code==200) { + window.encrypt=new JSEncrypt(); + encrypt.setPublicKey(res.result); + } + }, + } +}; +</script> + +<style lang="less" scoped> +.archive { + width: calc(100% - 20px); + height: calc(100% - 20px); + padding: 10px; + position: relative; + overflow: hidden; + .menu_top { + display: flex; + justify-content: space-between; + } + .iquery { + width: 100%; + padding-top: 10px; + } + .contBox { + width: 100%; + height: calc(100% - 111px); + flex-direction: column; + align-items: center; + justify-content: space-between; + display: flex; + + .archTopBox { + width: 100%; + + overflow: auto; + + position: relative; + .cardItem { + margin-bottom: 10px; + margin-left: 20px; + } + } + .archBottomBox { + width: 100%; + display: flex; + justify-content: center; + } + } + /deep/.el-card__body { + padding: 0px !important; + } + /deep/.el-card { + margin-bottom: 10px !important; + } + /deep/.el-dialog__body { + padding: 10px 10px; + } + /deep/.el-form-item { + margin-bottom: 20px; + } + .show { + display: none; + } + .downloadBox { + width: 100%; + height: 73vh; + flex-direction: column; + align-items: center; + justify-content: space-between; + display: flex; + .archdowntop { + width: 100%; + height: 69vh; + } + .archdownbottom { + width: 100%; + display: flex; + justify-content: center; + } + } + .pdfClass { + height: 70vh; + width: 100%; + position: relative; + } +} +</style> -- Gitblit v1.9.3