From fb98e10c76d7e6c2d01f3a9f8c1b727f905cbdca Mon Sep 17 00:00:00 2001 From: surprise <15810472099@163.com> Date: 星期一, 05 二月 2024 15:30:50 +0800 Subject: [PATCH] 代码更新 --- src/views/Archive/index.vue | 2442 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 2,395 insertions(+), 47 deletions(-) diff --git a/src/views/Archive/index.vue b/src/views/Archive/index.vue index 48de824..66fcff7 100644 --- a/src/views/Archive/index.vue +++ b/src/views/Archive/index.vue @@ -4,6 +4,7 @@ <My-bread :list="[`${$t('synthesis.synthesis')}`, `${$t('synthesis.archive')}`]"></My-bread> <!-- 涓嬭浇鍒楄〃 --> <i + @click="getdownloadList" class="el-icon-tickets" :title="$t('synthesis.DownloadList')" ></i> @@ -48,12 +49,13 @@ 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.value" + :key="item.key" :label="item.value" :value="item.key" > @@ -61,7 +63,7 @@ </el-select> </el-form-item> <!-- 椤圭洰鍚嶇О --> - <el-form-item :title="$t('archiveObj.dataClass')"> + <el-form-item :title="$t('archiveObj.entryName')"> <el-select :popper-append-to-body="false" v-model="formInline.item" @@ -92,6 +94,7 @@ v-model="formInline.depName" :placeholder="$t('archiveObj.label3')" :popper-append-to-body="false" + ref="treeSelect" > <el-option :value="formInline.depcode" @@ -122,26 +125,46 @@ 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 class="archTopBox"> + <div + id="archTopBox" + class="archTopBox" + > <div class="boxCard" @@ -152,20 +175,52 @@ slot="header" class="clearfix" > - <span v-show="formInline.dataType=='type2'">{{item.name}}</span> - <span>{{item.tabDesc}}</span> + + <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 + <!-- <i v-show="formInline.dataType=='type2'" style="margin-left:10px" class="el-icon-download" :title="$t('common.download')" - ></i> + @click="setCardDownload(item)" + ></i> --> <i v-show="!item.isShow" style="margin-left:10px" @@ -190,9 +245,14 @@ <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" @@ -200,17 +260,17 @@ 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 class="pagination_box"> + <div style="margin-top:10px"> <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" @@ -224,19 +284,1062 @@ </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 { selectdepTab, dataLib_selectProject, dataLib_selectDirTypes, dataLib_selectByPageForMeta, dataLib_selectTabs } from '../../api/api'; +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, + 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: [], @@ -256,21 +1359,1083 @@ pageSize: 10, count: 0, }, - monthdata: [ - ] + 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.getAllTabesData(); + this.signGetPublicKey(); + this.$bus.$on("setDialogInsertVisible", (res) => { + if (res == true) { + this.dialogVisible1 = true; + } else { + this.setDialogInsertVisible(res); + } + }) }, methods: { - //鍗$墖璇︽儏鐐瑰嚮浜嬩欢 - setCardDetails(res) { + //鏁版嵁搴撴煡璇笅杞� + 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; @@ -284,6 +2449,7 @@ //鏍煎紡鍖栨椂闂� format(shijianchuo) { //shijianchuo鏄暣鏁帮紝鍚﹀垯瑕乸arseInt杞崲 + var time = new Date(shijianchuo); var y = time.getFullYear(); var m = time.getMonth() + 1; @@ -309,6 +2475,21 @@ 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); @@ -317,56 +2498,169 @@ return res + ' MB'; } }, - + setInfoBoxTime(res) { + if (res == null) { + return res; + } + return this.format(res); + }, handleSizeChange(val) { this.listData.pageIndex = 1; this.listData.pageSize = val; - this.getAllTabesData(); + switch (this.formInline.dataType) { + case "type2"://鏂囦欢鏁版嵁 + this.getQueryFileData(); + break; + case "type1"://鏁版嵁搴撴暟鎹� + this.getQueryBankData(); + break; + } }, handleCurrentChange(val) { this.listData.pageIndex = val; - this.getAllTabesData(); + 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; - val = val.filter((res) => { + 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 = []; + } - res.mold = "鏁版嵁搴�" - res.isShow = false - return res; - }) - this.listData.count = data.count; - this.monthdata = data.result; }, //鏌ヨ鏂囦欢鏁版嵁 async getQueryFileData() { + this.listData.dirs = ""; + + if (this.formInline.category.length != 0) { + this.listData.types = this.formInline.category.toString(); + }else{ + this.listData.types=null; + } + 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; - val = val.filter((res) => { - var type = "." + res.type; - res.name = res.name.replaceAll(type, "") - res.mold = "鏂囦欢" - res.isShow = false - return res; - }) - this.monthdata = val; - this.listData.count = data.count; + 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; @@ -385,28 +2679,43 @@ }, //鑾峰彇璧勬枡绫诲埆鏁版嵁 async getCategorySelectData() { - const data = await dataLib_selectDirTypes(); - if (data.code != 200) { - this.$message.error('璧勬枡绫诲埆鍒楄〃璋冪敤澶辫触'); - } - this.categoryOptions = data.result; + // const data = await dataLib_selectDirTypes(); + // if (data.code != 200) { + // this.$message.error('璧勬枡绫诲埆鍒楄〃璋冪敤澶辫触'); + // } + this.categoryOptions = [ + {key:'鍩虹娴嬬粯',value:'鍩虹娴嬬粯'}, + {key:'鍩虹鍦扮伨',value:'鍩虹鍦扮伨'}, + {key:'鍩虹鍕樺療',value:'鍩虹鍕樺療'}, + {key:'鍚堣鏁版嵁',value:'鍚堣鏁版嵁'}, + {key:'绠$悊鏁版嵁',value:'绠$悊鏁版嵁'}, + {key:'娴嬬粯锛圗SV锛�',value:'娴嬬粯锛圗SV锛�'}, + {key:'鍕樺療锛圗GE锛�',value:'鍕樺療锛圗GE锛�'}, + {key:'鍦扮伨锛圗GD锛�',value:'鍦扮伨锛圗GD锛�'}, + {key:'娲炲簱锛圗GD锛�',value:'娲炲簱锛圗GD锛�'}, + ]; }, //鍏抽敭瀛楁煡璇� 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() { @@ -415,8 +2724,9 @@ 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.formInline.depcode = this.depOption[0].code + // this.formInline.depName = this.depOption[0].name; + this.getAllTabesData(); }, //鏍戝垪琛ㄧ敓鎴� treeData(source) { @@ -428,6 +2738,13 @@ 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> @@ -438,8 +2755,7 @@ height: calc(100% - 20px); padding: 10px; position: relative; - overflow: auto; - + overflow: hidden; .menu_top { display: flex; justify-content: space-between; @@ -450,7 +2766,7 @@ } .contBox { width: 100%; - min-height: calc(100% - 111px); + height: calc(100% - 111px); flex-direction: column; align-items: center; justify-content: space-between; @@ -458,6 +2774,10 @@ .archTopBox { width: 100%; + + overflow: auto; + + position: relative; .cardItem { margin-bottom: 10px; margin-left: 20px; @@ -475,8 +2795,36 @@ /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