From 3b1d1e53e902631099a483511724ee7c423db140 Mon Sep 17 00:00:00 2001 From: Surpriseplus <845948745@qq.com> Date: 星期四, 02 二月 2023 15:29:17 +0800 Subject: [PATCH] 资料馆界面优化 --- src/api/api.js | 13 public/LfSKyline/js/index.js | 3 src/assets/lang/zh.js | 11 src/views/Archive/index.vue | 408 ++++++--- src/views/Archive/index copy 2.vue | 2071 ++++++++++++++++++++++++++++++++++++++++++++++++ src/assets/lang/en.js | 1 src/views/datamanage/dataUpdata.vue | 27 7 files changed, 2,368 insertions(+), 166 deletions(-) diff --git a/public/LfSKyline/js/index.js b/public/LfSKyline/js/index.js index 9741cbb..8e20f55 100644 --- a/public/LfSKyline/js/index.js +++ b/public/LfSKyline/js/index.js @@ -30,7 +30,7 @@ // var layers = []; // Index.getLayers("", layers); // Index.ininTrees("layers", layers); - Index.flyToStart(); + // Index.flyToStart(); }, @@ -68,7 +68,6 @@ oncheck: function (obj) { if (Index.isLoading) return; - Index.isLoading = true; SG.ProjectTree.SetVisibility(obj.data.id, obj.checked); Index.isLoading = false; diff --git a/src/api/api.js b/src/api/api.js index 2587203..fadb478 100644 --- a/src/api/api.js +++ b/src/api/api.js @@ -717,6 +717,19 @@ export function exportSelectByPage(params) { return request.get('/export/selectByPage', { params: params }); } +//璧勬枡棣�=>鏌ヨ椤圭洰鍚嶇О +export function dataLib_selectProject(params) { + return request.get('/dataLib/selectProject', { params: params }); +} +//璧勬枡棣�=>鏌ヨ鍩虹鍦扮悊绫诲埆 +export function dataLib_selectBaseType(params) { + return request.get('/dataLib/selectBaseType', { params: params }); +} +//璧勬枡棣�=>鏌ヨ涓氬姟绫诲埆 +export function dataLib_selectBusinessType(params) { + return request.get('/dataLib/selectBusinessType', { params: params }); +} + //涓嬭浇鏃ュ織=銆嬪垎椤垫煡璇㈠苟杩斿洖璁板綍鏁� export function downlog_selectByPageAndCount(params) { diff --git a/src/assets/lang/en.js b/src/assets/lang/en.js index fe6d1b9..7671e0a 100644 --- a/src/assets/lang/en.js +++ b/src/assets/lang/en.js @@ -496,6 +496,7 @@ }, more: 'More', Multiplechoice: 'Multiple choice', + Singlechoice:'Single choice', undergroundMode:'Underground mode' }, downlog: { diff --git a/src/assets/lang/zh.js b/src/assets/lang/zh.js index 299d5e8..223687b 100644 --- a/src/assets/lang/zh.js +++ b/src/assets/lang/zh.js @@ -44,7 +44,7 @@ lineNuber: '琛屾暟', pleaseInputPassworld: '璇疯緭鍏ュ瘑鐮�', passworld: '瀵嗙爜', - language:"English" + language: "English" }, dataManage: { dataManage: '鏁版嵁绠$悊', @@ -61,7 +61,7 @@ location: '鍦扮悊浣嶇疆', province: '鎵�灞炵渷浠�', country: '鎵�灞炲浗瀹�', - county:'鎵�灞炲幙', + county: '鎵�灞炲幙', corpname: '寤鸿鍗曚綅鍚嶇О', department: '涓荤閮ㄩ棬', conperiod: '寤鸿宸ユ湡', @@ -124,8 +124,8 @@ describe: '鎻忚堪', versionNumber: '鐗堟湰鍙�', - tab:'琛ㄥ悕', - row:'琛屾暟' + tab: '琛ㄥ悕', + row: '琛屾暟' }, dictionaryManage: '瀛楀吀绠$悊', dictionaryManageObj: { @@ -492,7 +492,8 @@ }, more: '鏇村', Multiplechoice: '澶氶��', - undergroundMode:'鍦颁笅妯″紡' + Singlechoice: '鍗曢��', + undergroundMode: '鍦颁笅妯″紡' }, dataApply: { type1: '浣滃簾', diff --git a/src/views/Archive/index copy 2.vue b/src/views/Archive/index copy 2.vue new file mode 100644 index 0000000..da8e646 --- /dev/null +++ b/src/views/Archive/index copy 2.vue @@ -0,0 +1,2071 @@ +<template> + <div class="archive"> + <div class="top_header"> + <div class="top_left"> + <My-bread :list="[`${$t('synthesis.synthesis')}`, `${$t('synthesis.archive')}`]"></My-bread> + </div> + <div class="top_right"> + <el-form + :inline="true" + :model="formInline" + class="demo-form-inline" + > + <el-form-item> + <el-input + v-model="formInline.tab" + suffix-icon="el-icon-search" + :placeholder="$t('common.pleaseInput')" + ></el-input> + </el-form-item> + <el-form-item> + <el-button + icon="el-icon-search" + @click="searchDataLibSelectTabs" + class="primaries" + >{{ + $t('common.iquery') + }}</el-button> + <el-button + icon="el-icon-refresh" + @click="restDataLibSelectTabs" + type="info" + >{{ + $t('common.reset') + }}</el-button> + </el-form-item> + <el-form-item> + <el-button + @click="getSpaceMapVisibale" + class="primaries" + >{{ + $t('synthesis.rangequery') + }}</el-button> + </el-form-item> + </el-form> + </div> + </div> + <div class="box_item"> + <div class="box_left">璧勬枡绫诲埆</div> + <div class="box_cont"> + <div + class="box_div" + v-for="(item, index) in showList" + :key="index" + > + <el-checkbox + v-if="isShowFirstCheck" + v-model="item.isCheckedFlag" + :checked="item.isCheckedFlag" + ></el-checkbox> + <div style="margin-left: 5px">{{ item.name }}</div> + </div> + </div> + <div class="box_right"> + <div + class="box_div box_menu" + @click="moreEvent(1)" + > + {{ $t('synthesis.more') }} + </div> + <div + class="box_div box_menu" + @click="checkEvent(1)" + > + <i class="el-icon-plus"></i> {{ $t('synthesis.Multiplechoice') }} + </div> + </div> + </div> + <div class="box_item"> + <div class="box_left">椤圭洰鍚嶇О</div> + <div class="box_cont"> + <div + class="box_div" + v-for="(item, index) in showList1" + :key="index" + > + <el-checkbox + v-if="isShowSecondCheck" + v-model="item.isCheckedFlag" + :checked="item.isCheckedFlag" + ></el-checkbox> + <div style="margin-left: 5px">{{ item.name }}</div> + </div> + </div> + <div class="box_right"> + <div + class="box_div box_menu" + @click="moreEvent(2)" + > + {{ $t('synthesis.more') }} + </div> + <div + class="box_div box_menu" + @click="checkEvent(2)" + > + <i class="el-icon-plus"></i> {{ $t('synthesis.Multiplechoice') }} + </div> + </div> + </div> + <div class="bottom_content"> + <div class="bottom_left"> + <!-- <div class="box_div">褰撳墠鎼滅储鍏抽敭璇�:</div> --> + <div> + <ul> + <li>鎼滅储绫诲瀷</li> + <li + @click="getMenuChange(1)" + :class="{ menuActive: isMenuActive }" + > + 鏁版嵁搴� + </li> + <li + @click="getMenuChange(2)" + :class="{ menuActive: !isMenuActive }" + style="border-bottom: 1px solid white" + > + 鏂囦欢鏁版嵁婧� + </li> + </ul> + </div> + </div> + <div + v-if="isMenuActive" + class="bottom_right" + > + <ul> + <li + v-for="(item, index) in dataType" + :key="index" + > + <div + class="box_div" + @click="getShowTable(item)" + > + {{ item.tabDesc }} + </div> + </li> + </ul> + </div> + <div + v-if="!isMenuActive" + class="bottom_right" + > + <el-form + :inline="true" + :model="queryForm" + class="demo-form-inline" + > + <el-form-item> + <el-cascader + v-model="queryForm.dirid" + :show-all-levels="false" + :options="companyOption" + @change="handleChange" + :props="{ + label: 'name', + value: 'id', + children: 'children', + checkStrictly: true, + emitPath: false, + }" + ></el-cascader> + </el-form-item> + <el-form-item> + <el-cascader + v-model="queryForm.depid" + :show-all-levels="false" + :options="companyOption1" + @change="handleChange1" + :props="{ + label: 'name', + value: 'id', + children: 'children', + checkStrictly: true, + emitPath: false, + }" + ></el-cascader> + </el-form-item> + + <!-- <el-form-item> + + <el-button + type="danger" + size="small" + @click="deleteMetaInfo" + icon="el-icon-delete" + >{{ $t('common.delete') }}</el-button> + </el-form-item> --> + <!-- <el-form-item> + <el-button + @click="setBatchDownload" + icon="el-icon-download" + type="success" + size="small" + >鎵归噺涓嬭浇</el-button> + </el-form-item> --> + </el-form> + <div + class="boxCard" + v-for="(item,index) in tableData1" + > + <el-card class="box-card"> + <div + slot="header" + class="clearfix" + > + <span>{{item.name}}</span> + + <div style="float: right; padding: 3px 0"> + <i + @click="showDetail1(item)" + class="el-icon-tickets" + ></i> + <i + style="margin-left:10px" + @click="setFileDownload(item)" + class="el-icon-download" + ></i> + </div> + </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.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> + </el-card> + </div> + + </div> + </div> + <div class="panerPage"> + <div class="pagination_box"> + <el-pagination + @size-change="handleSizeChange" + @current-change="handleCurrentChange" + :current-page="listData.pageIndex" + :page-sizes="[10, 20, 30, 40]" + :page-size="listData.pageSize" + layout="total, sizes, prev, pager, next, jumper" + :total="count" + > + </el-pagination> + </div> + </div> + <el-dialog + :title="dialogtitle" + :visible.sync="dialogVisible" + width="90%" + top="5vh" + :before-close="handleClose" + > + <!-- 鏉′欢--> + <el-dialog + width="37%" + :visible.sync="conditionVisible" + append-to-body + title="鏌ヨ鏉′欢" + :before-close="handleconditionClose" + > + <el-form + :inline="true" + :model="formSql" + class="demo-form-inline" + > + <el-form-item> + <el-select + @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 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 v-model="formSql.value"></el-input> + </el-form-item> + <el-form-item v-show="fromSqlflag"> + <el-date-picker + 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 @click="startFiledAndcondition">鍙� 娑�</el-button> + <el-button + class="primaries" + @click="appendQueryFilter" + >纭� 瀹�</el-button> + </span> + </el-dialog> + <!-- 闄勪欢--> + <el-dialog + width="30%" + :visible.sync="innerVisible" + append-to-body + > + <div class="contentBox"> + <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="30%" + :visible.sync="outerVisible" + append-to-body + > + <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="3"> + <el-link + class="elLink" + :underline="false" + @click="setAttachInsert" + >{{$t('common.append')}}</i></el-link> + </el-col> + <el-col :span="3"> + <el-link + class="elLink" + :underline="false" + @click="setAttachDel" + >{{$t('common.delete')}}</i></el-link> + </el-col> + <!-- <el-col :span="3"> <el-link class="elLink" :underline="false" >{{$t('common.reset')}}</i></el-link></el-col> --> + </el-row> + </el-form-item> + <el-form-item> + <el-table + :data="tableAttach" + ref="filterTable" + height="99%" + border + style="width: 100%" + @selection-change="handleAttatchChange" + > + <el-table-column + type="selection" + width="55" + /> + <el-table-column + width="60" + type="index" + :label="$t('common.index')" + /> + <el-table-column + prop="date" + :label="$t('common.fileNme')" + /> + + <el-table-column + prop="name" + :label="$t('common.filePath')" + /> + + </el-table> + </el-form-item> + <el-form-item> + + <el-row :gutter="20"> + <el-col + :span="12" + :offset="8" + > + <el-button + class="primary" + @click="outerVisible = false" + >纭</el-button> + <el-button + type="info" + @click="outerVisible = false" + >鍙栨秷</el-button> + </el-col> + </el-row> + </el-form-item> + </el-form> + </el-dialog> + <div style="max-height: 580px"> + <el-form + v-if="isMenuActive" + ref="ruleForm" + :model="ruleForm" + :inline="true" + > + <el-form-item> + <el-input + type="textarea" + v-model="formInline.fileName" + class="nm-skin-pretty" + show-word-limit + :rows="2" + resize='none' + disabled + style="width: 650px;" + ></el-input> + </el-form-item> + <el-form-item> + <el-button + @click="conditionVisible = true" + type="info" + icon="el-icon-plus" + >{{$t('common.append')}}</el-button> + </el-form-item> + <el-form-item> + <el-button + @click="submitForm()" + type="info" + icon="el-icon-search" + >{{$t('common.iquery')}}</el-button> + </el-form-item> + <el-form-item> + <el-button + type="info" + @click="resetForm()" + icon="el-icon-search" + >{{$t('common.reset')}}</el-button> + </el-form-item> + </el-form> + <el-divider class="eldivider" /> + <div style="width:100%;height:400px;"> + <el-table + ref="filterTable" + :data="tableData" + height="100%" + border + style="width: 100%" + @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')" + :index="indexAdd" + /> + <el-table-column + v-for="(item, index) in attributeData" + :key="index" + :label="item.alias" + :prop="item.field" + show-overflow-tooltip + align="center" + ></el-table-column> + <el-table-column + v-if="isMenuActive" + min-width="80" + align="center" + :label="$t('common.operate')" + > + <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> + + <div class="panerPage"> + <div class="pagination_box"> + <el-pagination + @size-change="handleSizeChange1" + @current-change="handleCurrentChange1" + :current-page="listTypeData.pageIndex" + :page-sizes="[10, 20, 30, 40]" + :page-size="listTypeData.pageSize" + layout="total, sizes, prev, pager, next, jumper" + :total="count1" + > + </el-pagination> + </div> + </div> + </div> + </el-dialog> + <div + class="downloadBox" + v-if="showCodeBox" + > + <h4 style="padding: 20px">{{$t('common.passworld')}}</h4> + <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="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> + </div> + <el-dialog + :title="$t('common.details')" + :visible.sync="showinfoBox1" + 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') }}锛歿{ setInfoBoxSize(itemdetail1.sizes) }}</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="鎵归噺涓嬭浇" + :visible.sync="batchDownloadVisible" + width="90%" + top="5vh" + :before-close="batchDownloadClose" + > + <div + style="float:right;margin-right:10px" + @click="downBatchFormData()" + ><i + style="color:#FFF" + class="el-icon-download" + ></i></div> + <div style="height:580px"> + + <el-table + :data="tableData2" + style="width: 100%" + @selection-change="handleSelectionChange1" + height="500px" + > + <el-table-column + type="selection" + width="55" + /> + <el-table-column + prop="name" + :label="$t('dataManage.vmobj.name')" + /> + <el-table-column + prop="type" + :label="$t('dataManage.vmobj.format')" + /> + <el-table-column + prop="sizes" + :label="$t('dataManage.vmobj.size')" + :formatter="stateFormatSize" + /> + <el-table-column + prop="depName" + :label="$t('dataManage.vmobj.depName')" + /> + <el-table-column + prop="dirName" + :label="$t('dataManage.vmobj.dirName')" + /> + + <el-table-column :label="$t('dataManage.dataUpObj.tableName')"> + <template slot-scope="scope"> + <a @click="showDetail2(scope.row)">{{ + scope.row.tab + }}</a> + </template> + </el-table-column> + + <el-table-column + prop="gather" + :label="$t('dataManage.vmobj.gather')" + :formatter="formatData" + /> + <el-table-column + prop="describe" + :label="$t('dataManage.vmobj.describe')" + /> + <el-table-column + prop="uname" + :label="$t('dataManage.vmobj.createonuser')" + /> + <el-table-column + prop="createTime" + :label="$t('dataManage.vmobj.createontime')" + :formatter="formatData" + /> + <el-table-column + min-width="100" + :label="$t('common.operate')" + > + </el-table-column> + </el-table> + <div class="panerPage"> + <div class="pagination_box"> + <el-pagination + @size-change="batchSizeChange" + @current-change="batchCurrentChange" + :current-page="batchPage.pageIndex" + :page-sizes="[10, 20, 30, 40]" + :page-size="batchPage.pageSize" + layout="total, sizes, prev, pager, next, jumper" + :total="batchPage.count" + > + </el-pagination> + </div> + </div> + </div> + </el-dialog> + <el-dialog + :title=" $t('synthesis.rangequery')" + :visible.sync="dialogMapVisible" + width="90%" + > + <div style="height:700px"> + <map-sdk v-if='showMapVisible'></map-sdk> + </div> + </el-dialog> + <iframe + id="downFrame" + src="" + style="display: none; border: 0; padding: 0; height: 0; width: 0" + ></iframe> + </div> +</template> + +<script> +import { flatten } from '@turf/turf'; +import { conditions } from './Archive.js' +import { + dataLib_selectTabs, + dataLib_selectFields, + dataLib_selectDomains, + dataLib_selectByPage, + dataLib_selectFiles, + dataLib_deletes, + dataLib_selectByPageForMeta, + dataLib_selectDownloadFile, + dataLib_downloadReq, + dataLib_selectTabFields, + sign_getPublicKey, + dataLib_selectDbData, + selectdirTab, + selectdepTab, + deleteMeta, +} from '../../api/api'; +import $ from 'jquery' +import { getToken } from '@/utils/auth'; +import { data_type, project_name } from '../../components/js/archive.js'; +import MyBread from '../../components/MyBread.vue'; +import MapSdk from '../../components/mapsdk.vue' +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 { + conditionVisible: false, + formSql: { + field: '', + condition: '', + value: '', + type: '', + date: '', + + }, + fromSqlflag: false, + filedsOption: [], + condOption: [], + queryForm: { + dirid: null, + depid: null, + }, + formInline: { tab: '', fileName: '' }, + codeForm: { + password: '', + repassword: '', + }, + fromfile: { file: '', }, + listType: [], // 1mi + listProject: [], + companyOption: [], + companyOption1: [], + showinfoBox1: false, + dialogMapVisible: false, + showMapVisible: false, + showCodeBox: false, + showFirstAll: false, + isShowFirstCheck: false, + showSecondAll: false, + isShowSecondCheck: false, + isMenuActive: true, + dialogVisible: false, + innerVisible: false, + outerVisible: false, + batchDownloadVisible: false, + dataType: [], + filedsLayer: [], + attributeData: [], + tableData: [], + tableData1: [], + tableData2: [], + multipleSelection: [], + multipleSelection1: [], + attacgSelection: [], + tableAttach: [], + itemdetail: [], + itemdetail1: {}, + listTypeData: { + pageIndex: 1, + pageSize: 10, + id: null, + name: null, + filter: null, + wkt: null, + }, + listData: { + pageIndex: 1, + pageSize: 10, + depid: null, + dirid: null, + name: null + }, + count: 0, + count1: 0, + dialogtitle: null, + ruleForm: { + textarea: '', + }, + rules: { + password: [{ required: true, message: '璇疯緭鍏ュ瘑鐮�', trigger: 'blur' }, { validator: passwordValidator, trigger: 'blur' }], + repassword: [ + { required: true, message: '璇疯緭鍏ョ‘璁ゅ瘑鐮�', trigger: 'blur' }, + { validator: repasswordValidator, trigger: 'blur' }, + ], + }, + upAttach: { + tabName: null, + eventid: null, + }, + batchPage: { + pageIndex: 1, + pageSize: 10, + count: 0 + } + }; + }, + computed: { + + newList() { + this.listType.forEach((item) => { + this.$set(item, 'isCheckedFlag', false); + }); + return this.listType; + }, + showList() { + this.listType = data_type; + if (this.showFirstAll == false) { + var showList = []; + if (this.newList.length > 8) { + for (var i = 0; i < 10; i++) { + showList.push(this.newList[i]); //灏嗘暟缁勭殑鍓�7鏉″瓨鏀惧埌showList鏁扮粍涓� + } + } else { + showList = this.newList; //涓暟瓒冲鏄剧ず锛屼笉闇�瑕佸啀鎴彇 + } + return showList; + } else { + return this.newList; + } + }, + newList1() { + this.listProject.forEach((item) => { + this.$set(item, 'isCheckedFlag', false); + }); + return this.listProject; + }, + showList1() { + this.listProject = project_name; + if (this.showSecondAll == false) { + var showList1 = []; + if (this.newList1.length > 8) { + for (var i = 0; i < 14; i++) { + showList1.push(this.newList1[i]); //灏嗘暟缁勭殑鍓�7鏉″瓨鏀惧埌showList鏁扮粍涓� + } + } else { + showList1 = this.newList1; //涓暟瓒冲鏄剧ず锛屼笉闇�瑕佸啀鎴彇 + } + return showList1; + } else { + return this.newList1; + } + }, + }, + methods: { + + + getSpaceMapVisibale() { + 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; + + }, + handleMapClose() { + this.$confirm('纭鍏抽棴锛�') + .then((_) => { + this.closeMapDown(); + }) + .catch((_) => { }); + }, + closeMapDown() { + this.dialogMapVisible = false; + this.showMapVisible = false; + this.$store.state.mapMenuBoolean = false; + this.$store.state.mapMenuBoxFlag = null; + this.$store.state.download = false; + this.$store.state.mapPopBoolean = false; + this.$store.state.mapPopBoxFlag = null; + }, + moreEvent(res) { + switch (res) { + case 1: + this.showFirstAll = !this.showFirstAll; + break; + case 2: + this.showSecondAll = !this.showSecondAll; + break; + } + }, + checkEvent(res) { + switch (res) { + case 1: + this.isShowFirstCheck = !this.isShowFirstCheck; + if (this.isShowFirstCheck == false) { + for (var i in this.showList) { + this.showList[i].isCheckedFlag = false + } + } + + break; + case 2: + this.isShowSecondCheck = !this.isShowSecondCheck; + if (this.isShowSecondCheck == false) { + for (var i in this.showList1) { + this.showList1[i].isCheckedFlag = false + } + } + break; + } + }, + getMenuChange(res) { + + this.formInline.tab = "" + switch (res) { + case 1: + this.listData = { + pageIndex: 1, + pageSize: 10, + + } + this.getDataLibSelectTabs(); + this.isMenuActive = true; + + break; + case 2: + this.listData = { + pageIndex: 1, + pageSize: 10, + depid: null, + dirid: null, + name: null + } + this.getQueryDirTree(); + + this.isMenuActive = false; + break; + } + }, + //鍗曚綅鍒楄〃鑾峰彇 + async getQueryDirTree() { + const res = await selectdirTab(); + if (res.code != 200) { + this.$message.error('鍗曚綅鍒楄〃鑾峰彇澶辫触'); + return; + } + this.queryForm.dirid = 1; + this.companyOption = this.treeData(res.result); + this.getQueryDepTree(); + }, + async getQueryDepTree() { + const res = await selectdepTab(); + if (res.code != 200) { + this.$message.error('鍗曚綅鍒楄〃鑾峰彇澶辫触'); + return; + } + this.queryForm.depid = 1; + this.companyOption1 = this.treeData(res.result); + this.getMetaData(); + }, + + // 鏌ヨ + queryInfo() { + this.listData.name = this.formInline.tab; + this.getMetaData(); + }, + // 閲嶇疆鏌ヨ + resetInfo(formName) { + this.queryForm.name = ''; + this.listData.pageSize = 10; + this.listData.pageIndex = 1; + this.listData.name = null; + this.getMetaData(); + }, + deleteMetaInfo() { + this.$confirm('纭畾鏄惁鍒犻櫎鎵�閫夊唴瀹�?', '鎻愮ず', { + confirmButtonText: '纭畾', + cancelButtonText: '鍙栨秷', + type: 'warning', + }) + .then(() => { + var std = []; + for (var i in this.multipleSelection1) { + std.push(this.multipleSelection1[i].id); + } + deleteMeta({ ids: std.toString() }).then((res) => { + if (res.code == 200) { + this.$message({ + type: 'success', + message: '鍒犻櫎鎴愬姛!', + }); + this.multipleSelection1 = []; + this.listData.pageSize = 10; + this.listData.pageIndex = 1; + this.getMetaData(); + } else { + this.$message.error('鍒犻櫎澶辫触'); + this.multipleSelection1 = []; + } + }); + }) + .catch(() => { + this.$message('宸插彇娑堝垹闄�'); + }); + }, + getBatchMetaData() { + this.batchPage.dirid = '1' + this.batchPage.depid = '1'; + dataLib_selectByPageForMeta(this.batchPage).then((res) => { + this.batchPage.count = res.count; + this.tableData2 = res.result; + }); + + }, + batchSizeChange(val) { + this.batchPage.pageSize = val; + this.batchPage.pageIndex = 1; + this.getBatchMetaData(); + }, + batchCurrentChange(val) { + this.batchPage.pageIndex = val; + this.getBatchMetaData(); + }, + downBatchFormData() { + this.batchDownloadClose(); + this.downFormData(); + }, + batchDownloadClose() { + this.batchDownloadVisible = false; + this.batchPage = { + pageIndex: 1, + pageSize: 10, + count: 0 + } + }, + setBatchDownload() { + this.getBatchMetaData(); + this.multipleSelection1 = []; + this.batchDownloadVisible = true; + }, + setFileDownload(res) { + this.multipleSelection1 = []; + this.multipleSelection1.push(res); + this.downFormData(); + }, + downFormData() { + if (this.multipleSelection1.length == 0) { + + this.$message({ + message: '璇峰厛閫夋嫨瑕佷笅杞界殑鏂囦欢', + type: 'warning' + }); + return; + } + this.showCodeBox = true; + }, + async download() { + var std = []; + for (var i in this.multipleSelection1) { + std.push(this.multipleSelection1[i].id) + } + var obj = { + pwd: encrypt.encrypt(this.codeForm.repassword), + ids: std + }; + const res = await dataLib_downloadReq(JSON.stringify(obj)) + + if (res.code != 200) { + this.$message.error('涓嬭浇璇锋眰澶辫触'); + return + } + + var downObj = { + guid: res.result, + pwd: encodeURIComponent(encrypt.encrypt(this.codeForm.repassword)) + } + + 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(); + this.closeDown(); + }, + closeDown() { + this.showCodeBox = false; + this.codeForm.password = ''; + this.codeForm.repassword = ''; + }, + getMetaData() { + this.listData.dirid = this.queryForm.dirid + this.listData.depid = this.queryForm.depid; + dataLib_selectByPageForMeta(this.listData).then((res) => { + + this.tableData1 = res.result; + this.count = res.count; + }); + }, + + handleChange(value) { + this.listData.pageSize = 10; + this.listData.pageIndex = 1; + this.queryForm.dirid = value; + this.getMetaData(); + }, + handleChange1(value) { + this.listData.pageSize = 10; + this.listData.pageIndex = 1; + this.queryForm.depid = value; + this.getMetaData(); + }, + //鏍戝垪琛ㄧ敓鎴� + 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; // 杩斿洖涓�绾ц彍鍗� + }); + }, + searchDataLibSelectTabs() { + if (this.isMenuActive == true) { + this.getDataLibSelectTabs() + } else { + this.queryInfo(); + } + }, + restDataLibSelectTabs() { + this.formInline.tab = "" + this.listData.pageIndex = 1; + this.listData.pageSize = 10 + this.searchDataLibSelectTabs(); + + }, + async getDataLibSelectTabs() { + this.listData.tab = this.formInline.tab + const data = await dataLib_selectTabs(this.listData); + if (data.code != 200) { + this.$message.error('鍒楄〃璋冪敤澶辫触'); + return; + } + this.count = data.count; + this.dataType = data.result; + }, + showDetail1(row) { + + this.showinfoBox1 = true; + + this.itemdetail1 = row; + }, + // 鍏抽棴鏌ョ湅 + closeDetial() { + this.showinfoBox1 = false; + this.itemdetail = {}; + }, + // 鍏抽敭瀛楁煡璇� + submitForm() { + this.listTypeData.pageIndex = 1; + this.listTypeData.pageSize = 10; + //鑾峰彇table淇℃伅 + this.getCollapseTable(this.filedsLayer); + }, + indexAdd(index) { + const page = this.listTypeData.pageIndex // 褰撳墠椤电爜 + const pagesize = this.listTypeData.pageSize // 姣忛〉鏉℃暟 + return index + 1 + (page - 1) * pagesize + }, + + // 閲嶇疆鏌ヨ + resetForm(formName) { + this.formInline.fileName = "" + //鑾峰彇table淇℃伅 + this.listTypeData.pageIndex = 1; + this.listTypeData.pageSize = 10; + this.getCollapseTable(this.filedsLayer); + + }, + async showDetail2(res) { + var val = res.tab.split("."); + const data = await dataLib_selectTabFields({ + ns: val[0], + tab: val[1] + }) + if (data.code != 200) { + this.$message.error('瀛楁鍒楄〃璋冪敤澶辫触'); + return + } + + this.listTypeData.pageIndex = 1; + this.listTypeData.pageSize = 10; + this.attributeData = data.result; + this.dialogtitle = res.name + '(' + res.tab + ')'; + this.listTypeData.id = res.id; + const data1 = await dataLib_selectDbData(this.listTypeData) + var option = data1.result; + for (var i in option) { + option[i].dirid = option[i].dirName; + option[i].depid = option[i].depName; + option[i].createuser = option[i].createName; + option[i].updateuser = option[i].updateName; + option[i].verid = option[i].verName; + if (option[i].createtime != null) { + option[i].createtime = this.setInfoBoxTime(option[i].createtime) + } + if (option[i].updatetime != null) { + option[i].updatetime = this.setInfoBoxTime(option[i].updatetime) + } + } + this.count1 = data1.count; + + this.tableData = data1.result; + this.dialogVisible = true; + + }, + async getShowTable(res) { + this.listTypeData.name = res.entity; + this.listTypeData.pageIndex = 1; + this.listTypeData.pageSize = 10; + this.dialogtitle = res.tabDesc; + this.upAttach.tabName = res.ns + "." + res.tab; + this.filedsLayer = this.getCollapseDomFiled(); + + this.getCollapseTable(this.filedsLayer); + }, + handleClose() { + this.dialogVisible = false; + this.ruleForm = { + name: null, + }; + }, + 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.innerVisible = true; + }, + getAttachTable(index, row) { + if (row.eventid != null) { + this.upAttach.eventid = row.eventid; + } else { + this.upAttach.eventid = ""; + } + this.outerVisible = true; + this.getAttacthFlieList(); + }, + 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('闄勪欢娣诲姞澶辫触'); + } + }); + }, + + + async getAttacthFlieList() { + var obj = this.upAttach; + const res = await dataLib_selectFiles(obj); + if (res.code != 200) { + this.$message.error('鍒楄〃璋冪敤澶辫触'); + return + } + this.tableAttach = res.result; + }, + //闄勪欢=>鏂囦欢閫夋嫨 + getInsertFile() { + $('#insertFile').click(); + }, + insertFile() { + var val = document.getElementById('insertFile').files; + if (!val || !val.length) return; + + this.fromfile.file = val[0].name; + }, + handleSelectionChange1(val) { + this.multipleSelection1 = val; + }, + handleSelectionChange(val) { + this.multipleSelection = val; + }, + handleAttatchChange(val) { + this.attacgSelection = val; + }, + async getCollapseTable(res) { + res.then((val) => { + this.attributeData = val; + }); + if (this.formInline.fileName != "") { + this.listTypeData.filter = this.formInline.fileName; + } else { + this.listTypeData.filter = null; + } + + const data = await dataLib_selectByPage(this.listTypeData); + 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 != null) { + data.result[i].createtime = this.format(data.result[i].createtime) + } + if (data.result[i].updatetime != null) { + data.result[i].updatetime = this.format(data.result[i].updatetime) + } + } + this.count1 = data.count; + + this.tableData = data.result; + + this.dialogVisible = true; + }, + //鍒嗛〉鐐瑰嚮浜嬩欢 + handleSizeChange1(val) { + this.listTypeData.pageSize = val; + this.listTypeData.pageIndex = 1; + //鑾峰彇table淇℃伅 + this.getCollapseTable(this.filedsLayer); + }, + handleCurrentChange1(val) { + this.listTypeData.pageIndex = val; + //鑾峰彇table淇℃伅 + this.getCollapseTable(this.filedsLayer); + }, + async getCollapseDomFiled() { + const fileds = await dataLib_selectFields({ + name: this.listTypeData.name, + }); + if (fileds.code != 200) { + this.$message.error('鍒楄〃璋冪敤澶辫触'); + return; + } + + const domains = await dataLib_selectDomains({ + name: this.listTypeData.name, + }); + + if (domains.code != 200) { + this.$message.error('鍒楄〃璋冪敤澶辫触'); + return; + } + var data1 = fileds.result; + var data2 = domains.result; + this.formInline.fileName = "" + var std = []; + for (var i in data1) { + + if (data1[i].type != 'geomtry' && 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; + }, + + 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 + }, + 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(); + }, + handleconditionClose() { + this.$confirm('纭鍏抽棴锛�') + .then(_ => { + this.startFiledAndcondition(); + }) + .catch(_ => { }); + }, + + + + //鍊煎煙瀛楁鍖归厤 + getDomainNaFild(res, result) { + for (var i in result) { + if (result[i].domName == res) { + return result[i].codeDesc; + } + } + return null; + }, + handleSizeChange(res) { + this.listData.pageIndex = 1; + this.listData.pageSize = res; + if (this.isMenuActive == false) { this.getMetaData() } else { this.getDataLibSelectTabs() } + }, + handleCurrentChange(res) { + this.listData.pageIndex = res; + if (this.isMenuActive == false) { this.getMetaData() } else { this.getDataLibSelectTabs() } + }, + async signGetPublicKey() { + const res = await sign_getPublicKey(); + if (res && res.code == 200) { + window.encrypt = new JSEncrypt(); + encrypt.setPublicKey(res.result); + } + }, + //鍗曚綅杞崲 + stateFormatSize(row, column) { + let data = row[column.property]; + if (data == null) { + return data; + } + return this.stateFormatSizes(data); + }, + 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); + }, + setInfoBoxSize(res) { + if (res >= 1024) { + return parseFloat(res / 1024).toFixed(3) + ' GB'; + } else { + return res + ' MB'; + } + }, + //鏍煎紡鍖栧垪琛� + formatData(row, column) { + let data = row[column.property]; + if (data == null) { + return data; + } + return this.format(data); + }, + //鏍煎紡鍖栨椂闂� + 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; + }, + }, + mounted() { + this.getDataLibSelectTabs(); + this.signGetPublicKey(); + }, +}; +</script> + +<style lang="less" scoped> +.archive { + width: 100%; + height: 100%; + margin: 0; + overflow-y: auto; + background: #353539; + .top_header { + width: calc(100% - 60px); + height: 70px; + display: flex; + padding: 0 30px; + justify-content: space-between; + border-bottom: 1px solid white; + .top_left { + display: flex; + align-items: center; + } + label { + font-size: 21px; + font-family: Source Han Sans SC; + font-weight: 400; + color: #009cff; + line-height: 70px; + } + span { + color: gray; + margin: 0 5px; + } + /deep/.el-form--inline .el-form-item__content { + line-height: 70px; + } + /deep/.el-form--inline .el-form-item__label { + line-height: 70px; + } + } + .box_item { + width: calc(100% - 60px); + border-bottom: 1px solid white; + height: auto; + padding: 10px 30px; + + align-items: center; + display: flex; + float: left; + .box_left { + color: white; + height: 100%; + line-height: 100%; + width: 100px; + text-align: center; + color: white; + font-size: 14px; + font-weight: 400; + } + .box_cont { + color: white; + height: 100%; + width: 80%; + display: flex; + flex-wrap: wrap; + /* 璁剧疆澶氳瀵归綈 */ + align-content: flex-start; + color: white; + font-size: 14px; + font-weight: 400; + } + .box_right { + display: flex; + justify-content: space-between; + margin-left: 10px; + color: white; + font-size: 14px; + align-self: flex-start; + font-weight: 400; + .box_menu { + border: 1px solid white; + } + .box_menu:hover { + border: 1px solid #009cff; + color: #009cff; + } + } + } + .bottom_content { + width: calc(100% - 60px); + + height: auto; + padding: 10px 30px; + + display: flex; + justify-content: space-between; + .bottom_left { + width: 270px; + font-size: 14px; + font-weight: 400; + align-self: flex-start; + color: white; + ul { + margin-left: 10px; + } + li { + height: 42px; + border-top: 1px solid white; + border-left: 1px solid white; + border-right: 1px solid white; + font-size: 14px; + line-height: 42px; + padding: 5px 15px; + } + .menuActive { + color: #409eff; + } + } + .bottom_right { + width: calc(100% - 320px); + padding: 0px 20px; + height: auto; + color: white; + .boxCard { + margin: 1%; + /deep/.el-card { + background: #303030 !important; + color: #fff !important; + } + .cardItem { + margin-bottom: 10px; + } + } + li { + border-bottom: 1px solid white; + padding: 10px 0px; + } + li:hover { + color: #409eff; + } + } + } + .panerPage { + width: 100%; + padding: 5px 0px; + display: flex; + justify-content: center; + } + .box_div { + padding: 5px 15px; + margin-left: 10px; + display: flex; + align-items: center; + display: flex; + } + .primaries { + background: linear-gradient(180deg, #002992, #080472); + border: 1px solid #000000; + box-shadow: 0px 3px 5px 0px rgba(0, 0, 0, 0.21); + color: white; + } + .elLink { + color: white; + } + .infoBox { + width: 500px; + position: absolute; + z-index: 100; + top: 25%; + right: 25%; + background: #303030; + color: #fff; + .el-card { + background-color: transparent; + color: #fff; + span { + color: #fff; + font-size: 16px; + font-weight: 600; + } + } + .contentBox { + margin: 0 aotu 10px; + height: 500px; + overflow: auto; + p { + // background-color: #bfa; + // margin-bottom: 10px; + font-size: 14px; + } + } + } + + .downloadBox { + position: absolute; + top: 20%; + left: 40%; + padding: 20px; + background: #303030; + width: 30%; + border: 1px solid gray; + border-radius: 10px; + color: white; + } + .pagination_box { + /deep/.el-input__inner { + background-color: transparent !important; + border: 1px solid; + color: white; + } + /deep/.el-pagination__total { + color: white; + } + /deep/.el-pagination__jump { + color: white; + } + /deep/.el-pager li.active { + color: #409eff; + } + /deep/.el-pager li { + color: white; + background: transparent; + } + /deep/.el-pager li { + color: white; + } + /deep/.btn-prev { + background: transparent; + } + /deep/.btn-next { + background: transparent; + } + /deep/.btn-next i { + color: white; + } + /deep/.btn-prev i { + color: white; + } + } + /deep/ .el-select .el-input__inner { + border-color: #fff !important; + } +} + +.elLink { + color: white !important; +} +.el-icon-folder-opened { + color: white; +} + +.contentBox { + height: 60vh; + overflow: auto; + color: white; +} +/deep/ .el-dialog { + background: #303030; + z-index: 99; +} +.downloadBox { + z-index: 999; +} +/deep/.el-range-editor.is-active, +.el-range-editor.is-active:hover, +.el-select .el-input.is-focus .el-input__inner { + border: 1px solid; +} +/deep/.el-dialog__title { + color: white; +} +/deep/ .el-dialog__body { + padding: 10px; +} +/*淇敼table 琛ㄤ綋鐨勮儗鏅鑹插拰鏂囧瓧棰滆壊*/ +/deep/ .el-table { + background-color: transparent; + + th, + td { + background-color: transparent; + } + .el-table__expanded-cell { + background-color: transparent !important; + } + + // 琛ㄥご鑳屾櫙鑹� + th.el-table__cell { + background-color: #303030; + color: #fff; + } + tr > td { + background-color: #303030; + color: #fff; + } + + // hover鏁堟灉 + tr:hover > td { + background-color: rgba(255, 255, 255, 0.3) !important; + } + + tbody tr:hover { + background-color: rgba(255, 255, 255, 0.3) !important; + // text-align: center; + } + + // 婊氬姩鏉″楂� + .el-table__body-wrapper::-webkit-scrollbar { + width: 5px; + height: 5px; + } + + .el-table__body-wrapper::-webkit-scrollbar { + width: 5px; + /*婊氬姩鏉″搴�*/ + height: 5px; + /*婊氬姩鏉¢珮搴�*/ + } + /*瀹氫箟婊氬姩鏉¤建閬� 鍐呴槾褰�+鍦嗚*/ + .el-table__body-wrapper::-webkit-scrollbar-track { + box-shadow: 0px 1px 3px #216fe6 inset; + /*婊氬姩鏉$殑鑳屾櫙鍖哄煙鐨勫唴闃村奖*/ + border-radius: 10px; + } + + /*瀹氫箟婊戝潡 鍐呴槾褰�+鍦嗚*/ + .el-table__body-wrapper::-webkit-scrollbar-thumb { + box-shadow: 0px 1px 3px #216fe6 inset; + border-radius: 6px; + background-color: #216fe6; + } +} +// 璁剧疆杈撳叆妗嗙殑鑳屾櫙鑹层�佸瓧浣撻鑹层�佽竟妗嗗睘鎬ц缃紱 +/deep/.el-input__inner { + background-color: transparent !important ; + color: #fff; + border: 1px solid white !important; +} +/deep/.el-form-item__label { + color: white; +} +/deep/.el-dialog__wrapper { + overflow: hidden; +} +/deep/.el-textarea__inner { + background: transparent; + border-color: #fff !important; + color: white; + height: 70px !important; +} +/deep/.el-form-item { + margin-bottom: 0px; +} +/deep/.el-form-item__content { + line-height: 70px; +} +/deep/.el-textarea.is-disabled .el-textarea__inner { + background: transparent; +} +</style> diff --git a/src/views/Archive/index.vue b/src/views/Archive/index.vue index bed07ff..e8ca548 100644 --- a/src/views/Archive/index.vue +++ b/src/views/Archive/index.vue @@ -4,60 +4,38 @@ <div class="top_left"> <My-bread :list="[`${$t('synthesis.synthesis')}`, `${$t('synthesis.archive')}`]"></My-bread> </div> - <div class="top_right"> - <el-form - :inline="true" - :model="formInline" - class="demo-form-inline" - > - <el-form-item> - <el-input - v-model="formInline.tab" - suffix-icon="el-icon-search" - :placeholder="$t('common.pleaseInput')" - ></el-input> - </el-form-item> - <el-form-item> - <el-button - icon="el-icon-search" - @click="searchDataLibSelectTabs" - class="primaries" - >{{ - $t('common.iquery') - }}</el-button> - <el-button - icon="el-icon-refresh" - @click="restDataLibSelectTabs" - type="info" - >{{ - $t('common.reset') - }}</el-button> - </el-form-item> - <el-form-item> - <el-button - @click="getSpaceMapVisibale" - class="primaries" - >{{ - $t('synthesis.rangequery') - }}</el-button> - </el-form-item> - </el-form> - </div> + </div> <div class="box_item"> <div class="box_left">璧勬枡绫诲埆</div> <div class="box_cont"> + + <div v-if="isShowFirstCheck"> + <el-checkbox-group v-model="checkedDataType"> + <el-checkbox + @change="handleCheckedDataTypeChange(item)" + v-for="(item, index) in showList" + :label="item.name" + :key="index" + >{{item.name}}</el-checkbox> + </el-checkbox-group> + </div> <div + v-if="!isShowFirstCheck" class="box_div" v-for="(item, index) in showList" :key="index" + @click="changeListDataType(item)" > - <el-checkbox + <!-- <el-checkbox v-if="isShowFirstCheck" v-model="item.isCheckedFlag" :checked="item.isCheckedFlag" - ></el-checkbox> - <div style="margin-left: 5px">{{ item.name }}</div> + ></el-checkbox> --> + <div + :class="{menuActive:dataTypeName == item.name}" + style="margin-left: 5px" + >{{ item.name }}</div> </div> </div> <div class="box_right"> @@ -71,24 +49,36 @@ class="box_div box_menu" @click="checkEvent(1)" > - <i class="el-icon-plus"></i> {{ $t('synthesis.Multiplechoice') }} + <i class="el-icon-plus"></i> + <span v-if="!isShowFirstCheck">{{ $t('synthesis.Multiplechoice') }}</span> + <span v-if="isShowFirstCheck">{{ $t('synthesis.Singlechoice') }}</span> </div> </div> </div> <div class="box_item"> <div class="box_left">椤圭洰鍚嶇О</div> <div class="box_cont"> + <div v-if=" isShowSecondCheck"> + <el-checkbox-group v-model="checkedEntryName"> + <el-checkbox + @change="handleCheckedEntryNameChange(item)" + v-for="(item, index) in showList1" + :label="item.name" + :key="index" + >{{item.name}}</el-checkbox> + </el-checkbox-group> + </div> <div + v-if="!isShowSecondCheck" class="box_div" v-for="(item, index) in showList1" :key="index" + @click="changeListEntryName(item)" > - <el-checkbox - v-if="isShowSecondCheck" - v-model="item.isCheckedFlag" - :checked="item.isCheckedFlag" - ></el-checkbox> - <div style="margin-left: 5px">{{ item.name }}</div> + <div + :class="{menuActive:EntryName == item.name}" + style="margin-left: 5px" + >{{ item.name }}</div> </div> </div> <div class="box_right"> @@ -102,11 +92,14 @@ class="box_div box_menu" @click="checkEvent(2)" > - <i class="el-icon-plus"></i> {{ $t('synthesis.Multiplechoice') }} + <i class="el-icon-plus"></i> + <span v-if="!isShowSecondCheck">{{ $t('synthesis.Multiplechoice') }}</span> + <span v-if="isShowSecondCheck">{{ $t('synthesis.Singlechoice') }}</span> </div> </div> </div> <div class="bottom_content"> + <div class="bottom_left"> <!-- <div class="box_div">褰撳墠鎼滅储鍏抽敭璇�:</div> --> <div> @@ -128,84 +121,96 @@ </ul> </div> </div> - <div - v-if="isMenuActive" - class="bottom_right" - > - <ul> - <li - v-for="(item, index) in dataType" - :key="index" - > - <div - class="box_div" - @click="getShowTable(item)" - > - {{ item.tabDesc }} - </div> - </li> - </ul> - </div> - <div - v-if="!isMenuActive" - class="bottom_right" - > - <el-form - :inline="true" - :model="queryForm" - class="demo-form-inline" - > - <el-form-item> - <el-cascader - v-model="queryForm.dirid" - :show-all-levels="false" - :options="companyOption" - @change="handleChange" - :props="{ - label: 'name', - value: 'id', - children: 'children', - checkStrictly: true, - emitPath: false, - }" - ></el-cascader> - </el-form-item> - <el-form-item> - <el-cascader - v-model="queryForm.depid" - :show-all-levels="false" - :options="companyOption1" - @change="handleChange1" - :props="{ - label: 'name', - value: 'id', - children: 'children', - checkStrictly: true, - emitPath: false, - }" - ></el-cascader> - </el-form-item> - <!-- <el-form-item> - - <el-button - type="danger" - size="small" - @click="deleteMetaInfo" - icon="el-icon-delete" - >{{ $t('common.delete') }}</el-button> - </el-form-item> --> - <!-- <el-form-item> - <el-button - @click="setBatchDownload" - icon="el-icon-download" - type="success" - size="small" - >鎵归噺涓嬭浇</el-button> - </el-form-item> --> - </el-form> + <div class="bottom_right"> + <div> + <el-form + :inline="true" + :model="formInline" + class="demo-form-inline" + > + <!-- <el-form-item> + <el-cascader + v-model="formInline.dirid" + :show-all-levels="false" + :options="companyOption" + @change="handleChange" + :props="{ + label: 'name', + value: 'id', + children: 'children', + checkStrictly: true, + emitPath: false, + }" + ></el-cascader> --> + </el-form-item> + <el-form-item> + <el-cascader + v-model="formInline.depid" + :show-all-levels="false" + :options="companyOption1" + @change="handleChange1" + :props="{ + label: 'name', + value: 'id', + children: 'children', + checkStrictly: true, + emitPath: false, + }" + ></el-cascader> + </el-form-item> + <el-form-item> + <el-input + v-model="formInline.tab" + suffix-icon="el-icon-search" + :placeholder="$t('common.pleaseInput')" + ></el-input> + </el-form-item> + <el-form-item> + <el-button + icon="el-icon-search" + @click="searchDataLibSelectTabs" + size="mini" + >{{ + $t('common.iquery') + }}</el-button> + <el-button + icon="el-icon-refresh" + @click="restDataLibSelectTabs" + type="info" + size="mini" + >{{ + $t('common.reset') + }}</el-button> + </el-form-item> + <el-form-item> + <el-button + @click="getSpaceMapVisibale" + size="mini" + >{{ + $t('synthesis.rangequery') + }}</el-button> + </el-form-item> + </el-form> + </div> + <div v-if="isMenuActive"> + <ul> + <li + v-for="(item, index) in dataType" + :key="index" + > + <div + class="box_div" + @click="getShowTable(item)" + > + {{ item.tabDesc }} + </div> + </li> + </ul> + </div> <div class="boxCard" + v-if="!isMenuActive" v-for="(item,index) in tableData1" > <el-card class="box-card"> @@ -234,7 +239,6 @@ <div class="cardItem"> {{$t('dataManage.vmobj.createontime')}} : {{format(item.createTime)}} </div> </el-card> </div> - </div> </div> <div class="panerPage"> @@ -770,10 +774,13 @@ selectdirTab, selectdepTab, deleteMeta, + dataLib_selectProject, + dataLib_selectBaseType, + dataLib_selectBusinessType } from '../../api/api'; import $ from 'jquery' import { getToken } from '@/utils/auth'; -import { data_type, project_name } from '../../components/js/archive.js'; +// import { data_type, project_name } from '../../components/js/archive.js'; import MyBread from '../../components/MyBread.vue'; import MapSdk from '../../components/mapsdk.vue' export default { @@ -803,6 +810,12 @@ } }; return { + data_type: [], + project_name: [], + checkedDataType: [], + checkedEntryName: [], + dataTypeName: '涓嶉檺', + EntryName: '涓嶉檺', conditionVisible: false, formSql: { field: '', @@ -815,11 +828,11 @@ fromSqlflag: false, filedsOption: [], condOption: [], - queryForm: { - dirid: null, + + formInline: { + tab: '', fileName: '', dirid: null, depid: null, }, - formInline: { tab: '', fileName: '' }, codeForm: { password: '', repassword: '', @@ -894,7 +907,6 @@ }; }, computed: { - newList() { this.listType.forEach((item) => { this.$set(item, 'isCheckedFlag', false); @@ -902,7 +914,7 @@ return this.listType; }, showList() { - this.listType = data_type; + this.listType = this.data_type; if (this.showFirstAll == false) { var showList = []; if (this.newList.length > 8) { @@ -924,7 +936,7 @@ return this.listProject; }, showList1() { - this.listProject = project_name; + this.listProject = this.project_name; if (this.showSecondAll == false) { var showList1 = []; if (this.newList1.length > 8) { @@ -941,8 +953,41 @@ }, }, methods: { + handleCheckedEntryNameChange(res) { + if (this.checkedEntryName.indexOf(res.name) != -1) { + if (res.name == "涓嶉檺") { + this.checkedEntryName = ['涓嶉檺'] + } else { + var index = this.checkedEntryName.indexOf('涓嶉檺') + if (index > -1) { + this.checkedEntryName.splice(index, 1); + } + } + } + }, + handleCheckedDataTypeChange(res) { + if (this.checkedDataType.indexOf(res.name) != -1) { + if (res.name == "涓嶉檺") { + this.checkedDataType = ['涓嶉檺'] + } else { + var index = this.checkedDataType.indexOf('涓嶉檺') + if (index > -1) { + this.checkedDataType.splice(index, 1); + } + } + } - + }, + changeListDataType(res) { + if (this.isShowFirstCheck == false) { + this.dataTypeName = res.name; + } + }, + changeListEntryName(res) { + if (this.isShowSecondCheck == false) { + this.EntryName = res.name; + } + }, getSpaceMapVisibale() { this.dialogMapVisible = true; this.showMapVisible = true; @@ -983,14 +1028,29 @@ switch (res) { case 1: this.isShowFirstCheck = !this.isShowFirstCheck; + if (this.isShowFirstCheck == false) { + this.checkedDataType = [] + this.dataTypeName = '涓嶉檺'; + } else { + this.dataTypeName = null; + this.checkedDataType = ['涓嶉檺'] + } + break; case 2: this.isShowSecondCheck = !this.isShowSecondCheck; + if (this.isShowSecondCheck == false) { + this.checkedEntryName = [] + this.EntryName = '涓嶉檺'; + } else { + this.EntryName = null; + this.checkedEntryName = ['涓嶉檺'] + } break; } }, getMenuChange(res) { - + this.getQueryDirTree(); this.formInline.tab = "" switch (res) { case 1: @@ -1011,9 +1071,9 @@ dirid: null, name: null } - this.getQueryDirTree(); this.isMenuActive = false; + this.getMetaData(); break; } }, @@ -1024,7 +1084,7 @@ this.$message.error('鍗曚綅鍒楄〃鑾峰彇澶辫触'); return; } - this.queryForm.dirid = 1; + this.formInline.dirid = 1; this.companyOption = this.treeData(res.result); this.getQueryDepTree(); }, @@ -1034,9 +1094,9 @@ this.$message.error('鍗曚綅鍒楄〃鑾峰彇澶辫触'); return; } - this.queryForm.depid = 1; + this.formInline.depid = 1; this.companyOption1 = this.treeData(res.result); - this.getMetaData(); + // this.getMetaData(); }, // 鏌ヨ @@ -1046,7 +1106,7 @@ }, // 閲嶇疆鏌ヨ resetInfo(formName) { - this.queryForm.name = ''; + this.formInline.name = ''; this.listData.pageSize = 10; this.listData.pageIndex = 1; this.listData.name = null; @@ -1172,8 +1232,8 @@ this.codeForm.repassword = ''; }, getMetaData() { - this.listData.dirid = this.queryForm.dirid - this.listData.depid = this.queryForm.depid; + this.listData.dirid = this.formInline.dirid + this.listData.depid = this.formInline.depid; dataLib_selectByPageForMeta(this.listData).then((res) => { this.tableData1 = res.result; @@ -1184,13 +1244,13 @@ handleChange(value) { this.listData.pageSize = 10; this.listData.pageIndex = 1; - this.queryForm.dirid = value; + this.formInline.dirid = value; this.getMetaData(); }, handleChange1(value) { this.listData.pageSize = 10; this.listData.pageIndex = 1; - this.queryForm.depid = value; + this.formInline.depid = value; this.getMetaData(); }, //鏍戝垪琛ㄧ敓鎴� @@ -1301,7 +1361,7 @@ this.listTypeData.name = res.entity; this.listTypeData.pageIndex = 1; this.listTypeData.pageSize = 10; - this.dialogtitle = res.tabDesc ; + this.dialogtitle = res.tabDesc; this.upAttach.tabName = res.ns + "." + res.tab; this.filedsLayer = this.getCollapseDomFiled(); @@ -1694,10 +1754,49 @@ add0(m) { return m < 10 ? '0' + m : m; }, + async getDataTyeAndEntryName() { + const data = await dataLib_selectProject();//鏌ヨ椤圭洰鍚嶇О + if (data.code != 200) { + this.$message.error('椤圭洰鍒楄〃璋冪敤澶辫触'); + } + + const res = await dataLib_selectBaseType(); //鏌ヨ鍩虹鍦扮悊绫诲埆 + if (res.code != 200) { + this.$message.error('鍩虹鍦扮悊绫诲埆鍒楄〃璋冪敤澶辫触'); + } + const rest = await dataLib_selectBusinessType(); //鏌ヨ涓氬姟绫诲埆 + if (rest.code != 200) { + this.$message.error('涓氬姟绫诲埆鍒楄〃璋冪敤澶辫触'); + } + var std = [{ name: "涓嶉檺", id: null }] + var str = [{ name: "涓嶉檺", id: null }] + for (var i in data.result) { + std.push({ + id: data.result[i].key, + name: data.result[i].value + }) + } + this.project_name = std; + for (var i in res.result) { + str.push({ + id: res.result[i].key, + name: res.result[i].value + }) + } + for(var i in rest.result){ + str.push({ + id: rest.result[i].key, + name: rest.result[i].value + }) + } + this.data_type = str; + } }, mounted() { this.getDataLibSelectTabs(); this.signGetPublicKey(); + this.getQueryDirTree(); + this.getDataTyeAndEntryName(); }, }; </script> @@ -1710,10 +1809,10 @@ overflow-y: auto; background: #353539; .top_header { - width: calc(100% - 60px); - height: 70px; + width: calc(100% -20px); + height: 60px; display: flex; - padding: 0 30px; + padding: 0 10px; justify-content: space-between; border-bottom: 1px solid white; .top_left { @@ -1817,7 +1916,7 @@ } } .bottom_right { - width: calc(100% - 320px); + width: 100%; padding: 0px 20px; height: auto; color: white; @@ -1852,6 +1951,9 @@ display: flex; align-items: center; display: flex; + .menuActive { + color: #409eff; + } } .primaries { background: linear-gradient(180deg, #002992, #080472); @@ -1940,6 +2042,10 @@ /deep/ .el-select .el-input__inner { border-color: #fff !important; } + /deep/.el-checkbox { + color: #ffff; + line-height: 25px; + } } .elLink { @@ -1956,6 +2062,10 @@ } /deep/ .el-dialog { background: #303030; + z-index: 99; +} +.downloadBox { + z-index: 999; } /deep/.el-range-editor.is-active, .el-range-editor.is-active:hover, diff --git a/src/views/datamanage/dataUpdata.vue b/src/views/datamanage/dataUpdata.vue index 312ac25..da0faa2 100644 --- a/src/views/datamanage/dataUpdata.vue +++ b/src/views/datamanage/dataUpdata.vue @@ -227,7 +227,8 @@ </el-form-item> <el-form-item> <!-- 涓婁紶 --> - <el-button v-if="menuStatus.upload" + <el-button + v-if="menuStatus.upload" :disabled="tableData.length == 0 ? false : true" @click="setFileUpload" size="small" @@ -237,7 +238,8 @@ $t('common.upload') }}</el-button> <!-- 鍒犻櫎 --> - <el-button v-if="menuStatus.delete" + <el-button + v-if="menuStatus.delete" :disabled="multipleSelection.length == 0 ? true : false" icon="el-icon-delete" size="small" @@ -245,7 +247,8 @@ type="danger" >{{ $t('common.delete') }}</el-button> <!-- 璐ㄦ --> - <el-button v-if="menuStatus.insert" + <el-button + v-if="menuStatus.insert" :disabled="multipleSelection.length == 0 ? true : false" type="info" size="small" @@ -254,7 +257,8 @@ >{{$t('common.quayTest')}} </el-button> <!-- 鍏ュ簱 --> - <el-button v-if="menuStatus.insert" + <el-button + v-if="menuStatus.insert" @click="setFileWare" size="small" :disabled="tableData.length == 0 ? true: false" @@ -310,7 +314,8 @@ width="120" > <template slot-scope="scope"> - <el-button v-if="menuStatus.download" + <el-button + v-if="menuStatus.download" v-show="scope.row.code != null" @click="handerLogClick(scope.row)" type="text" @@ -355,7 +360,8 @@ size="small" type="info" >{{ $t('common.reset') }}</el-button> - <el-button v-if="menuStatus.delete" + <el-button + v-if="menuStatus.delete" @click="setWarehouseDel" icon="el-icon-folder-delete" type="danger" @@ -885,13 +891,14 @@ class="dialog-footer" > <el-button - class="primary" size="small" @click="autoMatchWare" >鑷姩鍖归厤</el-button> - <el-button @click="setInsrtWareTableClose ">鍙� 娑�</el-button> <el-button - class="primary" + size="small" + @click="setInsrtWareTableClose " + >鍙� 娑�</el-button> + <el-button size="small" @click="setInsrtWareTable" >纭� 瀹�</el-button> @@ -1177,7 +1184,7 @@ } for (var i = 0; i < permsEntity.length; i++) { if (val === permsEntity[i].perms) { - + this.showPermsMenu(permsEntity[i]); } } -- Gitblit v1.9.3