src/assets/css/config.css | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/assets/lang/en.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/assets/lang/zh.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/components/MapView/mapMenuPop.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/components/Screen/top.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/components/login.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/components/navMenu.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/utils/request.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/Archive/index copy.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/Archive/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/Tools/LayerTree.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/datamanage/dictionaryManage.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/assets/css/config.css
@@ -74,7 +74,7 @@ .Black_theme .el-input__inner { background-color: transparent !important; border: 1px solid; border: 1px solid rgba(255, 255, 255, 0.5); color: white; } @@ -247,7 +247,7 @@ } .Black_theme .el-card { background-color: #303030; background-color: rgba(255, 255, 255, 0.3); color: #FFF; } src/assets/lang/en.js
@@ -290,20 +290,20 @@ type: 'Type', bak: 'Remarks', authorize: 'Authorize', permsHolder:'Please enter authorization', permsHolder: 'Please enter authorization', bakHolder: 'Please enter authorization', insert: 'Add sibling', subInsert: 'Add child', delete:'Delete', moveUp:'Move up', moveDown:'Move Downward', show:'Please choose whether to display', typeHolder:'Please select a node type', hiddeen:'Hide', isshow:'Display', rootpath:'Root directory', menu:'Menu', button:'Button' delete: 'Delete', moveUp: 'Move up', moveDown: 'Move Downward', show: 'Please choose whether to display', typeHolder: 'Please select a node type', hiddeen: 'Hide', isshow: 'Display', rootpath: 'Root directory', menu: 'Menu', button: 'Button' }, parameterConfiguration: 'parameterConfiguration', rests: 'Rests', @@ -737,15 +737,15 @@ cmpanyAddress: 'Address', companyIntroduction: 'companyIntroduction', nameHolder: 'Please enter name', abbreviationHolder:'Please enter abbreviation', organizationCodeHolder:'Please enter the organization code', cmpanyAddressHolder:'Please enter the address', continformationHolder:'Please enter your contact information', faxHolder:'Please enter fax', EMailHolder:'Please enter the E-Mail address', abbreviationHolder: 'Please enter abbreviation', organizationCodeHolder: 'Please enter the organization code', cmpanyAddressHolder: 'Please enter the address', continformationHolder: 'Please enter your contact information', faxHolder: 'Please enter fax', EMailHolder: 'Please enter the E-Mail address', postalCodeHolder: 'Please enter the zip code', WebsiteAddressHolder:'Please enter the website address', remarksHolder:'Please enter remarks' WebsiteAddressHolder: 'Please enter the website address', remarksHolder: 'Please enter remarks' }, userAuditing: 'User Auditing', UA: { @@ -822,13 +822,13 @@ updateUser: 'Updater ID', updateTime: 'Update Time', bak: 'Remarks', nameHolder:'Please enter name', nameHolder: 'Please enter name', }, authorityM:{ authorityM: { name: 'name', nameHolder: 'Please enter name', }, roleMenuAuth:{ roleMenuAuth: { name: 'unit', nameHolder: 'Please select unit name...', }, @@ -868,16 +868,20 @@ dataClass: 'Data Class', entryName: 'Entry Name', unit: 'Unit', keywords: 'Keywords', keywords: 'Data name', develop: 'Develop', fold: 'Fold', storageType: 'Data Type', downloads: 'Downloads', label1: 'Please select data type', label2: 'Please select a query category', label3: 'Please select company name', label4: 'Please select data type', label5: 'Please select the project name', label6: "Please enter data name", label7: 'Please add query criteria', label8: 'Last downloaded user', label9: 'Last download time', } }; src/assets/lang/zh.js
@@ -290,20 +290,20 @@ type: '类型', bak: '备注', authorize: '授权', permsHolder:'请输入授权', permsHolder: '请输入授权', bakHolder: '请输入授权', insert: '新增同级', subInsert: '新增子级', delete:'删除', moveUp:'向上移动', moveDown:'向下移动', show:'请选择是否显示', typeHolder:'请选择节点类型', hiddeen:'隐藏', isshow:'显示', rootpath:'根目录', menu:'菜单', button:'按钮' delete: '删除', moveUp: '向上移动', moveDown: '向下移动', show: '请选择是否显示', typeHolder: '请选择节点类型', hiddeen: '隐藏', isshow: '显示', rootpath: '根目录', menu: '菜单', button: '按钮' }, parameterConfiguration: '参数配置', rests: '其他', @@ -743,15 +743,15 @@ cmpanyAddress: '地址', companyIntroduction: '单位介绍', nameHolder: '请输入名称', abbreviationHolder:'请输入简称', organizationCodeHolder:'请输入机构代码', cmpanyAddressHolder:'请输入地址', continformationHolder:'请输入联系方式', faxHolder:'请输入传真', EMailHolder:'请输入E-Mail地址', abbreviationHolder: '请输入简称', organizationCodeHolder: '请输入机构代码', cmpanyAddressHolder: '请输入地址', continformationHolder: '请输入联系方式', faxHolder: '请输入传真', EMailHolder: '请输入E-Mail地址', postalCodeHolder: '请输入邮政编码', WebsiteAddressHolder:'请输入网站地址', remarksHolder:'请输入备注' WebsiteAddressHolder: '请输入网站地址', remarksHolder: '请输入备注' }, userAuditing: '用户审核', UA: { @@ -830,13 +830,13 @@ updateUser: '更新人ID', updateTime: '更新时间', bak: '备注', nameHolder:'请输入资源名称', nameHolder: '请输入资源名称', }, authorityM:{ authorityM: { name: '名称', nameHolder: '请输入名称', }, roleMenuAuth:{ roleMenuAuth: { name: '单位', nameHolder: '请选择单位名称...', } @@ -880,8 +880,8 @@ unit: '单位', develop: '展开', fold: '折叠', keywords: '关键字', keywords: '数据名称', downloads: '下载次数', storageType: '数据类型', label1: '请选择数据类型', label2: '请选择查询类别', @@ -889,6 +889,9 @@ label4: '请选择资料类别', label5: '请选择项目名称', label6: "请输入数据名称", label7: '请添加查询条件', label8: '最近一次下载用户', label9: '最近一次下载时间', } }; src/components/MapView/mapMenuPop.vue
@@ -1,7 +1,10 @@ <template> <div class="menuPop"> <div class="leftBox"> <div class="leftDown" v-if="$store.state.download"> <div class="leftDown" v-if="$store.state.download" > <div @click="getDownloadDep"> <el-link icon="el-icon-download"> </el-link> </div> @@ -30,7 +33,11 @@ label="序号" width="50" /> <el-table-column label="定位" width="100" align="center"> <el-table-column label="定位" width="100" align="center" > <template slot-scope="scope"> <el-button icon="el-icon-map-location" @@ -77,14 +84,20 @@ label-width="100px" class="codeForm" > <el-form-item :label="$t('common.passworld')" prop="password"> <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-form-item :label="$t('common.SPassword')" prop="repassword" > <el-input type="password" v-model="codeForm.repassword" @@ -96,9 +109,12 @@ class="primary" size="small" @click="download('codeForm')" >{{ $t("common.confirm") }}</el-button > <el-button type="info" size="small" @click="closeDown('codeForm')">{{ >{{ $t("common.confirm") }}</el-button> <el-button type="info" size="small" @click="closeDown('codeForm')" >{{ $t("common.cancel") }}</el-button> </el-form-item> @@ -113,7 +129,11 @@ :before-close="handleInsertClose" > <div style="width: 100%; max-height: 450px; overflow-y: auto"> <el-form ref="form" :model="ruleForm" label-width="100px"> <el-form ref="form" :model="ruleForm" label-width="100px" > <el-form-item label="审核单位"> <div> <ul> @@ -150,10 +170,18 @@ </el-input> </el-form-item> <el-form-item> <el-button class="primary" size="small" @click="getInsertDown">{{ <el-button class="primary" size="small" @click="getInsertDown" >{{ $t("common.confirm") }}</el-button> <el-button type="info" size="small" @click="closeInsertDown">{{ <el-button type="info" size="small" @click="closeInsertDown" >{{ $t("common.cancel") }}</el-button> </el-form-item> @@ -274,7 +302,7 @@ .then((_) => { this.closeInsertDown(); }) .catch((_) => {}); .catch((_) => { }); }, closeInsertDown() { this.ruleForm = { @@ -419,7 +447,7 @@ .then((_) => { this.closeDown(); }) .catch((_) => {}); .catch((_) => { }); }, closeDown() { this.dialogVisible = false; @@ -435,6 +463,7 @@ }, clearQuerInfo() { if (this.$store.state.queryInfo.length != 0) { sgworld.Creator.SimpleGraphic.clear(); for (var i in this.$store.state.queryInfo) { sgworld.Viewer.entities.remove(this.$store.state.queryInfo[i]); } src/components/Screen/top.vue
@@ -22,7 +22,10 @@ <div>管网一张图</div> </div> <div class="topRight"> <div class="topright1 toprightC" @click="ReturnLast"> <div class="topright1 toprightC" @click="ReturnLast" > <img src="../../assets/img/Screen/return.png" /> <span>返回上级</span> </div> @@ -47,6 +50,7 @@ }, methods: { ReturnLast() { sessionStorage.setItem("changeSelectStyle", 1); this.$router.push("/Synthesis") }, src/components/login.vue
@@ -26,7 +26,10 @@ ></iframe> </div> <div class="title_img"> <img src="../assets/img/lg_03.png" alt="" /> <img src="../assets/img/lg_03.png" alt="" /> </div> <div class="login"> <div class="login_title"> @@ -46,7 +49,10 @@ size="meddle" autocomplete="off" > <i slot="prefix" class="el-icon-user"></i> <i slot="prefix" class="el-icon-user" ></i> </el-input> </el-form-item> @@ -58,7 +64,10 @@ class="nobr" autocomplete="off" > <i slot="prefix" class="el-icon-lock"></i> <i slot="prefix" class="el-icon-lock" ></i> </el-input> </el-form-item> @@ -73,7 +82,10 @@ </el-form-item> </el-col> <el-col :span="6" align="right"> <el-col :span="6" align="right" > <validCode v-model="validCode" ref="refresh" @@ -82,16 +94,16 @@ </el-col> </el-form-item> <el-form-item> <img src="../assets/img/zhengshu.png" alt="" /><span style="color: black" >证书安装与添加信任站点</span > <img src="../assets/img/zhengshu.png" alt="" /><span style="color: black">证书安装与添加信任站点</span> </el-form-item> <el-form-item> <img src="../assets/img/document.png" alt="" /><span style="color: black" >使用帮助文档</span > <img src="../assets/img/document.png" alt="" /><span style="color: black">使用帮助文档</span> </el-form-item> <el-form-item> <el-button @@ -105,8 +117,7 @@ " :loading="loading" @click="submitForm('loginForm')" >登录</el-button > >登录</el-button> </el-form-item> </el-form> </div> @@ -203,8 +214,8 @@ this.$store.commit("getPermsEntity", res.result); if (res.result.length != 0) { sessionStorage.setItem("routerName", "/Synthesis"); sessionStorage.setItem("changeSelectStyle", 3); sessionStorage.setItem("routerName", "/Thematic"); sessionStorage.setItem("changeSelectStyle", 1); this.$router.push("/"); } this.loading = false; src/components/navMenu.vue
@@ -1,5 +1,8 @@ <template> <div class="NavBox" @click.stop> <div class="NavBox" @click.stop > <div class="topBox"> <div class="topTitle"></div> <div class="topMenu"> @@ -155,7 +158,7 @@ // this.changeliSelect = sessionStorage.getItem('changeliSelect') } document.body.addEventListener('click', () => { this.showFlag =null; this.showFlag = null; }, false); }, computed: {}, @@ -190,7 +193,7 @@ this.$router.push('/'); }, getTimeCookies() { if(!localStorage.getItem('LFToken')){ if (!localStorage.getItem('LFToken')) { return false } var time1 = new Date(JSON.parse(localStorage.getItem('LFToken')).time); @@ -201,8 +204,8 @@ return true; } }, //主题切换 //主题切换 setThemeColors() { }, async signInsertOpLog(m1, m2) { var obj = { @@ -220,7 +223,7 @@ this.changeliSelect = '%%'; this.showFlag = null; } if (item.url == "Thematic") { if (item.url == "Thematic") { this.signInsertOpLog("综合展示", item.cnName) } } else { @@ -237,6 +240,7 @@ this.$set(this, 'changeliSelect', null) } sessionStorage.setItem('changeSelectStyle', index) this.changeSelectStyle = index; }, closeAllChildren() { @@ -259,15 +263,15 @@ } }, setLiClick(res, index) { this.signInsertOpLog(this.listMenu[index].cnName, res.cnName) this.signInsertOpLog(this.listMenu[index].cnName, res.cnName) setTimeout(() => { this.changeliSelect = res.cnName; sessionStorage.setItem('changeliSelect', res.cnName) if (res.url.indexOf('http') != -1) { this.$store.reporturl = res.url; sessionStorage.setItem('iframehttpurl', this.$store.reporturl) this.$router.push('/QualityInspection'); this.$store.reporturl = res.url; sessionStorage.setItem('iframehttpurl', this.$store.reporturl) this.$router.push('/QualityInspection'); // if (location.href.indexOf('/WareInspection') == -1) { // this.$store.reporturl = res.url; // this.$router.push('/WareInspection'); @@ -320,9 +324,9 @@ res[i].children = result.result.filter((value) => { return value.isShow == 1; }) .filter((value) => { return value.pid == res[i].id; }); .filter((value) => { return value.pid == res[i].id; }); } this.listMenu.push(res[i]); // this.changeSelectStyle = this.listMenu.length - 1; @@ -337,6 +341,7 @@ // } else { // this.changeSelectStyle = this.listMenu.length - 1; // } this.changeSelectStyle = sessionStorage.getItem('changeSelectStyle') // var strartMneu = res[i].children[0]; // this.$store.commit('currentPerms', strartMneu.perms); src/utils/request.js
@@ -28,9 +28,6 @@ if (token) { config.headers["token"] = token; } //加载loading store.commit("UPDATE_API_COUNT", "add"); return config; @@ -47,8 +44,8 @@ var expire = JSON.parse(window.localStorage.getItem("LFToken")).expire; var timeire = new Date().getTime(); if (timeire >= expire) { router.push('/login') router.push('/login') localStorage.removeItem("LFToken"); } } src/views/Archive/index copy.vue
@@ -115,15 +115,20 @@ <li @click="getMenuChange(2)" :class="{ menuActive: !isMenuActive }" style="border-bottom: 1px solid #dcdfe6"> style="border-bottom: 1px solid #dcdfe6" > 文件数据源 </li> </ul> </div> </div> <div class="bottom_right" > <div class="inquire subpage_Div center " ref="container" style="padding: 10px;align-self: center"> <div class="bottom_right"> <div class="inquire subpage_Div center " ref="container" style="padding: 10px;align-self: center" > <el-form :inline="true" :model="formInline" @@ -171,10 +176,10 @@ <el-form-item style="padding-right: 40px"> <el-button type="primary" icon="el-icon-search" @click="searchDataLibSelectTabs" size="medium" type="primary" icon="el-icon-search" @click="searchDataLibSelectTabs" size="medium" >{{$t('common.iquery')}}</el-button> <!-- </el-form-item> <el-form-item style="padding-right: 10px">--> @@ -188,21 +193,21 @@ border: 1px solid #a3a5a6; color: white; " >{{ $t('common.reset') }}</el-button> <!-- </el-form-item> <!-- </el-form-item> <el-form-item style="padding-right: 10px">--> <el-button type="success" icon="el-icon-search" @click="getSpaceMapVisibale" size="medium" type="success" icon="el-icon-search" @click="getSpaceMapVisibale" size="medium" >{{ $t('synthesis.rangequery') }}</el-button> <!-- </el-form-item> <!-- </el-form-item> <el-form-item style="padding-right: 10px">--> <el-button icon="el-icon-download" type="warning" @click="getdownloadList" size="medium" icon="el-icon-download" type="warning" @click="getdownloadList" size="medium" >{{ $t('synthesis.DownloadList') }}</el-button> </el-form-item> </el-form> @@ -533,7 +538,7 @@ <el-button @click="conditionVisible = true" type="success" size="small" size="small" icon="el-icon-plus" >{{$t('common.append')}}</el-button> </el-form-item> @@ -548,7 +553,7 @@ <el-form-item> <el-button type="info" size="small" size="small" @click="resetForm()" icon="el-icon-search" >{{$t('common.reset')}}</el-button> @@ -556,7 +561,7 @@ <el-form-item> <el-button type="warning" size="small" size="small" @click="downloadForm()" icon="el-icon-download" >{{$t('common.download')}}</el-button> @@ -843,25 +848,25 @@ </el-table-column> <el-table-column property="descr" :label="$t('common.title')" :label="$t('common.title')" > </el-table-column> <el-table-column property="name" :label="$t('common.fileNme')" :label="$t('common.fileNme')" > </el-table-column> <el-table-column property="createName" :label="$t('operatManage.BWL.requestUser')" :label="$t('operatManage.BWL.requestUser')" > </el-table-column> <el-table-column property="createTime" :formatter="formatData" :label="$t('dataApply.careatetime')" :label="$t('dataApply.careatetime')" > </el-table-column> <el-table-column :label="$t('common.download')" :label="$t('common.download')" width="120" > <template slot-scope="scope"> @@ -965,7 +970,6 @@ value: '', type: '', date: '', }, fromSqlflag: false, filedsOption: [], @@ -1056,7 +1060,8 @@ queryList: { showList1: '', showList2: '' } }, }; }, computed: { @@ -1122,7 +1127,7 @@ return; } this.downloadLogVisible = false; var obj = { entities: [this.listTypeData.name], // bpachydrogeology,bhydrogeologyattach filter: this.listTypeData.filter, @@ -1885,10 +1890,10 @@ var data2 = domains.result; this.formInline.fileName = "" var std = []; this.filedsOption=[]; this.filedsOption = []; for (var i in data1) { if (data1[i].type != 'geomtry' && data1[i].type != 'null') { if (data1[i].type != 'geometry' && data1[i].type != 'null') { this.filedsOption.push(data1[i]) } 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> @@ -61,7 +62,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" @@ -122,19 +123,23 @@ class="el-input__icon el-icon-search" ></i></el-input> </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> @@ -165,6 +170,7 @@ style="margin-left:10px" class="el-icon-download" :title="$t('common.download')" @click="setCardDownload(item)" ></i> <i v-show="!item.isShow" @@ -190,6 +196,7 @@ <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('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> @@ -202,14 +209,11 @@ <div class="cardItem"> {{$t('archiveObj.dataType')}} : {{ item.mold }} </div> <div class="cardItem"> {{$t('dataManage.vmobj.row')}} : {{ item.rows }} </div> <!-- <div class="cardItem"> {{$t('archiveObj.storageType')}} : {{ item.tableType }} </div> --> </div> </el-card> </div> </div> <div class="archBottomBox"> <div class="pagination_box"> <el-pagination @size-change="handleSizeChange" @@ -224,19 +228,539 @@ </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('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> <!-- 数据库table详情 --> <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> <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 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 class="pagination_box"> <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 :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" > <div style="height:73vh"> <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 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 { selectdepTab, dataLib_selectProject, dataLib_selectDirTypes, dataLib_selectByPageForMeta, dataLib_selectTabs, dataLib_selectFields, dataLib_selectDomains, dataLib_selectByPage, sign_getPublicKey, dataLib_downloadReq, dataLib_selectDownloadFile, dataLib_selectPageCountForDownload } from '../../api/api'; 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 { 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 +780,488 @@ 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, }; }, mounted() { this.getDepTreeData(); this.getCategorySelectData(); this.getItemSelectData(); this.getAllTabesData(); this.signGetPublicKey(); }, methods: { //卡片详情点击事件 setCardDetails(res) { getSpaceMapVisibale() { sgworld.Creator.SimpleGraphic.clear(); for (var i in this.$store.state.queryInfo) { 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; }, 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 obj = { entities: [this.listBankData.name], // bpachydrogeology,bhydrogeologyattach filter: this.formInline.filter, pwd: encrypt.encrypt(this.codeForm.password), depcodes: [this.listData.depcode], dirs: this.listData.dirs }; var that = this; $.ajax({ url: BASE_URL + "/dataLib/downloadEntityReq?token=" + getToken(), type: "POST", data: JSON.stringify(obj), dataType: 'json', // html、json、jsonp、script、text contentType: "application/json", // "application/x-www-form-urlencoded" success: (data) => { if (data.code == 200) { that.downloadflie(data, this.codeForm.password) } }, error: function (e) { } }); 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; }, 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 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.passWorldVisible = false; this.codeForm.password = ''; this.codeForm.repassword = ''; }, //文件下载 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: this.depOption[0].code, depName: this.depOption[0].name, keywords: '', } this.getAllTabesData(); }, handleSelectionChange() { }, //卡片详情点击事件 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; } }, //获取数据库数据 getBankTableData(res) { this.listBankData.name = res.entity; this.listBankData.pageIndex = 1; this.listBankData.pageSize = 10; this.listBankData.title = res.tabDesc; 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 != 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.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; @@ -305,6 +1296,14 @@ s ); }, //格式化列表 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; @@ -317,7 +1316,12 @@ return res + ' MB'; } }, setInfoBoxTime(res) { if (res == null) { return res; } return this.format(res); }, handleSizeChange(val) { this.listData.pageIndex = 1; this.listData.pageSize = val; @@ -328,10 +1332,49 @@ this.listData.pageIndex = val; this.getAllTabesData(); }, // 关键字查询 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) { this.listBankData.pageIndex = val; //获取table信息 this.getCollapseTable(this.filedsLayer); }, //查询数据库数据 async getQueryBankData() { this.listData.dirs = ""; if (this.formInline.category.length != 0) { this.listData.dirs += this.formInline.category.toString(); } if (this.formInline.item.length != 0) { if (this.listData.dirs.length != 0) { this.listData.dirs += "," } this.listData.dirs += this.formInline.item.toString(); } this.listData.depcode = this.formInline.depcode; this.listData.tab = this.formInline.keywords; const data = await dataLib_selectTabs(this.listData); if (data.code != 200) { this.$message.error('数据库列表调用失败'); @@ -349,6 +1392,18 @@ }, //查询文件数据 async getQueryFileData() { this.listData.dirs = ""; if (this.formInline.category.length != 0) { this.listData.dirs += this.formInline.category.toString(); } if (this.formInline.item.length != 0) { if (this.listData.dirs.length != 0) { this.listData.dirs += "," } this.listData.dirs += this.formInline.item.toString(); } this.listData.depcode = this.formInline.depcode; this.listData.name = this.formInline.keywords; const data = await dataLib_selectByPageForMeta(this.listData); if (data.code != 200) { this.$message.error('文件数据列表调用失败'); @@ -361,12 +1416,16 @@ res.isShow = false return res; }) debugger this.monthdata = val; this.listData.count = data.count; }, //查询数据 getAllTabesData() { this.listData.pageIndex = 1; this.listData.pageSize = 10; switch (this.formInline.dataType) { case "type2"://文件数据 this.getQueryFileData(); break; @@ -390,23 +1449,25 @@ this.$message.error('资料类别列表调用失败'); } this.categoryOptions = data.result; }, //关键字查询 setSearchKeyWords() { this.getAllTabesData(); }, //单位改变值触发 depChange(data, node, nodeData) { this.formInline.depcode = data.code; this.formInline.depName = data.name; this.getAllTabesData(); }, //资料类别下拉框值改变触发 categorySelectChange(model, prop, options) { this.getAllTabesData(); }, // 项目名称下拉框值改变触发 itemSelectChange(model, prop, options) { this.getAllTabesData(); }, //获取单位列表 async getDepTreeData() { @@ -417,6 +1478,7 @@ this.depOption = this.treeData(data.result); this.formInline.depcode = this.depOption[0].code this.formInline.depName = this.depOption[0].name; this.getAllTabesData(); }, //树列表生成 treeData(source) { @@ -427,6 +1489,13 @@ branchArr.length > 0 ? (father.children = branchArr) : ""; // 给父级添加一个children属性,并赋值 return father.pid == 0; // 返回一级菜单 }); }, async signGetPublicKey() { const res = await sign_getPublicKey(); if (res && res.code == 200) { window.encrypt = new JSEncrypt(); encrypt.setPublicKey(res.result); } }, } }; @@ -475,8 +1544,31 @@ /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; } } } </style> src/views/Tools/LayerTree.vue
@@ -18,7 +18,10 @@ :default-checked-keys="handleTreeCheck" :expand-on-click-node="false" > <span class="slot-t-node" slot-scope="{ node, data }"> <span class="slot-t-node" slot-scope="{ node, data }" > <span v-show="!data.isEdit"> <span :class="[data.id >= 99 ? 'slot-t-node--label' : '']">{{ node.label @@ -44,16 +47,28 @@ :style="{ ...rightClickMenuStyle }" v-show="menuVisible" > <div @click="addSameLevelNode()" v-show="firstLevel"> <div @click="addSameLevelNode()" v-show="firstLevel" > <i class="el-icon-plus"></i> 添加图层组 </div> <div class="add" @click="addChildNode()"> <div class="add" @click="addChildNode()" > <i class="el-icon-plus"></i> 添加图层 </div> <div class="delete" @click="deleteNode()"> <div class="delete" @click="deleteNode()" > <i class="el-icon-delete"></i> 删除 </div> <div class="edit" @click="editNode()"> <div class="edit" @click="editNode()" > <i class="el-icon-edit"></i> 重命名 </div> <div @@ -64,7 +79,11 @@ > <i class="el-icon-tickets"></i> 属性 </div> <div class="edit" @click="positioning()" v-show="showlocal"> <div class="edit" @click="positioning()" v-show="showlocal" > <i class="el-icon-tickets"></i> 定位 </div> <!-- <div @@ -88,7 +107,11 @@ :modal="false" :before-close="handleClose" > <el-form ref="form" :model="addFormServer" label-width="100px"> <el-form ref="form" :model="addFormServer" label-width="100px" > <el-form-item label="服务类型"> <!-- <el-input v-model="addFormServer.type"></el-input> --> <el-select @@ -120,8 +143,14 @@ <el-slider v-model="addFormServer.opacity"></el-slider> </el-form-item> </el-form> <span slot="footer" class="dialog-footer"> <el-button type="primary" @click="setAddServer">确 定</el-button> <span slot="footer" class="dialog-footer" > <el-button type="primary" @click="setAddServer" >确 定</el-button> </span> </el-dialog> <queryinfo ref="queryinfo" /> @@ -502,8 +531,6 @@ setAddLayers(res) { if (res.serveType == "WMS") { var resource = geoServerURl; // var resource = "http://192.168.20.205:8088/geoserver/LF/wms"; if (res.resource != null && res.resource != undefined) { resource = res.resource; } @@ -579,6 +606,7 @@ }); window.map.addLayer(vectorLayer); } else if (res.serveType == "Tileset") { debugger var tileset = Viewer.scene.primitives.add( new Cesium.Cesium3DTileset({ name: res.cnName, src/views/datamanage/dictionaryManage.vue
@@ -1,32 +1,37 @@ <template> <div class="dictionaryBox"> <My-bread :list="[ <My-bread :list="[ `${$t('dataManage.dataManage')}`, `${$t('dataManage.dictionaryManage')}`, ]" ></My-bread> ]"></My-bread> <el-divider /> <div class="mainBox"> <div class="dictionary_leftTree subpage_Div" style="border: 1px solid #dcdfe6;"> <ul> <li @click="getTableDesc(item)" v-for="(item, i) in optionCount" :class="{ active: activeName == item.tab }" :key="i" > {{ item.tabDesc }} </li> </ul> </div> <div class="dictionary_leftTree subpage_Div" style="border: 1px solid #dcdfe6;" > <ul> <li @click="getTableDesc(item)" v-for="(item, i) in optionCount" :class="{ active: activeName == item.tab }" :key="i" > {{ item.tabDesc }} </li> </ul> </div> <div class="right subpage_Div"> <div class="inquire"> <el-form :inline="true" :model="formInline" class="demo-form-inline"> <el-form :inline="true" :model="formInline" class="demo-form-inline" > <el-form-item size="small" size="small" :label="$t('dataManage.dictionaryManageObj.tableName')" > <el-input @@ -43,46 +48,53 @@ size="small" @click="InsertFormdialog = true" type="success" >{{ $t("common.append") }}</el-button > >{{ $t("common.append") }}</el-button> <el-button v-if="btnStatus.delete" icon="el-icon-delete" size="small" @click="DelFormData" type="danger" >{{ $t("common.delete") }}</el-button > >{{ $t("common.delete") }}</el-button> <el-button icon="el-icon-search" size="small" @click="getSelectDictTab" class="primary" >{{ $t("common.iquery") }}</el-button > >{{ $t("common.iquery") }}</el-button> <el-button icon="el-icon-refresh" size="small" @click="getRemoveForm" type="info" >{{ $t("common.reset") }}</el-button > >{{ $t("common.reset") }}</el-button> </el-form-item> </el-form> </div> <div class="dividing-line"></div> <div class="table_box" style="height:calc(100% - 60px)"> <div class="table_box" style="height:calc(100% - 60px)" > <el-table :data="tableData" style="width: 100%" @selection-change="handleSelectionChange" height="calc(100% - 57px)" > <el-table-column type="selection" width="55" /> <el-table-column type="selection" width="55" /> <el-table-column type="index" width="50" :label="$t('common.index')" ></el-table-column> <!-- <el-table-column prop="orderNum" :label="$t('dataManage.dictionaryManageObj.number')" /> /> --> <el-table-column min-width="100" prop="field" @@ -149,26 +161,27 @@ > <template slot-scope="scope"> <el-button type="primary" type="primary" plain size="small" v-if="btnStatus.select" @click="showDetail(scope.$index, scope.row)" >{{ $t("dataManage.dictionaryManageObj.lookOver") }}</el-button > >{{ $t("dataManage.dictionaryManageObj.lookOver") }}</el-button> <el-button type="warning" type="warning" plain size="small" v-if="btnStatus.update" @click="handleEdit(scope.$index, scope.row)" style="margin-left: 10px" >{{ $t("dataManage.dictionaryManageObj.revamp") }}</el-button > >{{ $t("dataManage.dictionaryManageObj.revamp") }}</el-button> </template> </el-table-column> </el-table> <div class="pagination_box" style="margin-top: 15px"> <div class="pagination_box" style="margin-top: 15px" > <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" @@ -183,165 +196,219 @@ </div> </div> </div> <div class="infoBox_box" v-show="showinfoBox"> <div class="infoBox box_div"> <div slot="header" class="clearfix"> <span>{{ $t("dataManage.dictionaryManageObj.particulars") }}</span> <div style="float: right; cursor: pointer" @click="closeDetial"> <i class="el-icon-close"></i> <div class="infoBox_box" v-show="showinfoBox" > <div class="infoBox box_div"> <div slot="header" class="clearfix" > <span>{{ $t("dataManage.dictionaryManageObj.particulars") }}</span> <div style="float: right; cursor: pointer" @click="closeDetial" > <i class="el-icon-close"></i> </div> </div> </div> <el-divider></el-divider> <div class="contentBox"> <p> {{ $t("dataManage.dictionaryManageObj.tableName") }}:{{ <el-divider></el-divider> <div class="contentBox"> <p> {{ $t("dataManage.dictionaryManageObj.tableName") }}:{{ itemdetail.tab }} </p> <el-divider></el-divider> <p> {{ $t("dataManage.dictionaryManageObj.tableAliasName") }}:{{ </p> <el-divider></el-divider> <p> {{ $t("dataManage.dictionaryManageObj.tableAliasName") }}:{{ itemdetail.tabDesc }} </p> <el-divider></el-divider> </p> <el-divider></el-divider> <p> {{ $t("dataManage.dictionaryManageObj.fieldName") }}:{{ <p> {{ $t("dataManage.dictionaryManageObj.fieldName") }}:{{ itemdetail.field }} </p> <el-divider></el-divider> <p> {{ $t("dataManage.dictionaryManageObj.fieldAliasName") }}:{{ </p> <el-divider></el-divider> <p> {{ $t("dataManage.dictionaryManageObj.fieldAliasName") }}:{{ itemdetail.alias }} </p> <el-divider></el-divider> <p> {{ $t("dataManage.dictionaryManageObj.fieldType") }}:{{ </p> <el-divider></el-divider> <p> {{ $t("dataManage.dictionaryManageObj.fieldType") }}:{{ itemdetail.type }} </p> <el-divider></el-divider> <p> {{ $t("dataManage.dictionaryManageObj.fieldLength") }}:{{ </p> <el-divider></el-divider> <p> {{ $t("dataManage.dictionaryManageObj.fieldLength") }}:{{ itemdetail.len }} </p> <el-divider></el-divider> <p> {{ $t("dataManage.dictionaryManageObj.FieldPrecision") }}:{{ </p> <el-divider></el-divider> <p> {{ $t("dataManage.dictionaryManageObj.FieldPrecision") }}:{{ itemdetail.precision }} </p> <el-divider></el-divider> </p> <el-divider></el-divider> <p> {{ $t("dataManage.dictionaryManageObj.remark") }}:{{ <p> {{ $t("dataManage.dictionaryManageObj.remark") }}:{{ itemdetail.bak }} </p> <el-divider></el-divider> <p> {{ $t("dataManage.dictionaryManageObj.creationTime") }}:{{ </p> <el-divider></el-divider> <p> {{ $t("dataManage.dictionaryManageObj.creationTime") }}:{{ itemdetail.createTime }} </p> <el-divider></el-divider> <p> {{ $t("dataManage.dictionaryManageObj.createPersonnel") }}:{{ </p> <el-divider></el-divider> <p> {{ $t("dataManage.dictionaryManageObj.createPersonnel") }}:{{ itemdetail.createUser }} </p> <el-divider></el-divider> <p> {{ $t("dataManage.dictionaryManageObj.updateTime") }}:{{ </p> <el-divider></el-divider> <p> {{ $t("dataManage.dictionaryManageObj.updateTime") }}:{{ itemdetail.updateTime }} </p> <el-divider></el-divider> <p> {{ $t("dataManage.dictionaryManageObj.updatePersonnel") }}:{{ </p> <el-divider></el-divider> <p> {{ $t("dataManage.dictionaryManageObj.updatePersonnel") }}:{{ itemdetail.updateUser }} </p> </p> </div> </div> </div> </div> <el-dialog top="2vh" :title="$t('dataManage.dictionaryManageObj.revamp')" :visible.sync="dialogFormVisible" > <div style="height: 500px; overflow: auto"> <el-form :model="upform" label-position="top"> <el-form-item :label="$t('dataManage.dictionaryManageObj.number')" :label-width="formLabelWidth" <div style="height: 500px; overflow: auto"> <el-form :model="upform" label-position="top" > <el-input v-model="upform.orderNum" autocomplete="off" style="width:85%"></el-input> </el-form-item> <el-form-item :label="$t('dataManage.dictionaryManageObj.tableName')" :label-width="formLabelWidth" > <el-input v-model="upform.tab" autocomplete="off" style="width:85%"></el-input> </el-form-item> <el-form-item :label="$t('dataManage.dictionaryManageObj.tableAliasName')" :label-width="formLabelWidth" > <el-input v-model="upform.tabDesc" autocomplete="off" style="width:85%"></el-input> </el-form-item> <el-form-item :label="$t('dataManage.dictionaryManageObj.number')" :label-width="formLabelWidth" > <el-input v-model="upform.orderNum" autocomplete="off" style="width:85%" ></el-input> </el-form-item> <el-form-item :label="$t('dataManage.dictionaryManageObj.tableName')" :label-width="formLabelWidth" > <el-input v-model="upform.tab" autocomplete="off" style="width:85%" ></el-input> </el-form-item> <el-form-item :label="$t('dataManage.dictionaryManageObj.tableAliasName')" :label-width="formLabelWidth" > <el-input v-model="upform.tabDesc" autocomplete="off" style="width:85%" ></el-input> </el-form-item> <el-form-item :label="$t('dataManage.dictionaryManageObj.fieldName')" :label-width="formLabelWidth" > <el-input v-model="upform.field" autocomplete="off" style="width:85%"></el-input> </el-form-item> <el-form-item :label="$t('dataManage.dictionaryManageObj.fieldAliasName')" :label-width="formLabelWidth" > <el-input v-model="upform.alias" autocomplete="off" style="width:85%"></el-input> </el-form-item> <el-form-item :label="$t('dataManage.dictionaryManageObj.fieldType')" :label-width="formLabelWidth" > <el-input v-model="upform.type" autocomplete="off" style="width:85%"></el-input> </el-form-item> <el-form-item :label="$t('dataManage.dictionaryManageObj.fieldLength')" :label-width="formLabelWidth" > <el-input v-model="upform.len" autocomplete="off" style="width:85%"></el-input> </el-form-item> <el-form-item :label="$t('dataManage.dictionaryManageObj.FieldPrecision')" :label-width="formLabelWidth" > <el-input v-model="upform.precision" autocomplete="off" style="width:85%"></el-input> </el-form-item> <el-form-item :label="$t('dataManage.dictionaryManageObj.fieldName')" :label-width="formLabelWidth" > <el-input v-model="upform.field" autocomplete="off" style="width:85%" ></el-input> </el-form-item> <el-form-item :label="$t('dataManage.dictionaryManageObj.fieldAliasName')" :label-width="formLabelWidth" > <el-input v-model="upform.alias" autocomplete="off" style="width:85%" ></el-input> </el-form-item> <el-form-item :label="$t('dataManage.dictionaryManageObj.fieldType')" :label-width="formLabelWidth" > <el-input v-model="upform.type" autocomplete="off" style="width:85%" ></el-input> </el-form-item> <el-form-item :label="$t('dataManage.dictionaryManageObj.fieldLength')" :label-width="formLabelWidth" > <el-input v-model="upform.len" autocomplete="off" style="width:85%" ></el-input> </el-form-item> <el-form-item :label="$t('dataManage.dictionaryManageObj.FieldPrecision')" :label-width="formLabelWidth" > <el-input v-model="upform.precision" autocomplete="off" style="width:85%" ></el-input> </el-form-item> <el-form-item :label="$t('dataManage.dictionaryManageObj.remark')" :label-width="formLabelWidth" > <el-input v-model="upform.bak" autocomplete="off" style="width:85%"></el-input> </el-form-item> </el-form> </div> <div slot="footer" class="dialog-footer"> <el-form-item :label="$t('dataManage.dictionaryManageObj.remark')" :label-width="formLabelWidth" > <el-input v-model="upform.bak" autocomplete="off" style="width:85%" ></el-input> </el-form-item> </el-form> </div> <div slot="footer" class="dialog-footer" > <el-button type="info" size="small" @click="dialogFormVisible = false" >{{ $t("dataManage.dictionaryManageObj.cancel") }}</el-button > <el-button class="primary" size="small" @click="updateForm">{{ >{{ $t("dataManage.dictionaryManageObj.cancel") }}</el-button> <el-button class="primary" size="small" @click="updateForm" >{{ $t("dataManage.dictionaryManageObj.confirm") }}</el-button> </div> @@ -351,75 +418,121 @@ top="2vh" :visible.sync="InsertFormdialog" > <div style="height: 500px; overflow: auto"> <el-form :model="insertform" label-position="top"> <el-form-item :label="$t('dataManage.dictionaryManageObj.number')" :label-width="formLabelWidth" <div style="height: 500px; overflow: auto"> <el-form :model="insertform" label-position="top" > <el-input v-model="insertform.orderNum" autocomplete="off" style="width:85%"></el-input> </el-form-item> <el-form-item :label="$t('dataManage.dictionaryManageObj.tableName')" :label-width="formLabelWidth" > <el-input v-model="insertform.tab" autocomplete="off" style="width:85%"></el-input> </el-form-item> <el-form-item :label="$t('dataManage.dictionaryManageObj.tableAliasName')" :label-width="formLabelWidth" > <el-input v-model="insertform.tabDesc" autocomplete="off" style="width:85%"></el-input> </el-form-item> <el-form-item :label="$t('dataManage.dictionaryManageObj.number')" :label-width="formLabelWidth" > <el-input v-model="insertform.orderNum" autocomplete="off" style="width:85%" ></el-input> </el-form-item> <el-form-item :label="$t('dataManage.dictionaryManageObj.tableName')" :label-width="formLabelWidth" > <el-input v-model="insertform.tab" autocomplete="off" style="width:85%" ></el-input> </el-form-item> <el-form-item :label="$t('dataManage.dictionaryManageObj.tableAliasName')" :label-width="formLabelWidth" > <el-input v-model="insertform.tabDesc" autocomplete="off" style="width:85%" ></el-input> </el-form-item> <el-form-item :label="$t('dataManage.dictionaryManageObj.fieldName')" :label-width="formLabelWidth" > <el-input v-model="insertform.field" autocomplete="off" style="width:85%"></el-input> </el-form-item> <el-form-item :label="$t('dataManage.dictionaryManageObj.fieldAliasName')" :label-width="formLabelWidth" > <el-input v-model="insertform.alias" autocomplete="off" style="width:85%"></el-input> </el-form-item> <el-form-item :label="$t('dataManage.dictionaryManageObj.fieldType')" :label-width="formLabelWidth" > <el-input v-model="insertform.type" autocomplete="off" style="width:85%"></el-input> </el-form-item> <el-form-item :label="$t('dataManage.dictionaryManageObj.fieldLength')" :label-width="formLabelWidth" > <el-input v-model="insertform.len" autocomplete="off" style="width:85%"></el-input> </el-form-item> <el-form-item :label="$t('dataManage.dictionaryManageObj.FieldPrecision')" :label-width="formLabelWidth" > <el-input v-model="insertform.precision" autocomplete="off" style="width:85%" ></el-input> </el-form-item> <el-form-item :label="$t('dataManage.dictionaryManageObj.fieldName')" :label-width="formLabelWidth" > <el-input v-model="insertform.field" autocomplete="off" style="width:85%" ></el-input> </el-form-item> <el-form-item :label="$t('dataManage.dictionaryManageObj.fieldAliasName')" :label-width="formLabelWidth" > <el-input v-model="insertform.alias" autocomplete="off" style="width:85%" ></el-input> </el-form-item> <el-form-item :label="$t('dataManage.dictionaryManageObj.fieldType')" :label-width="formLabelWidth" > <el-input v-model="insertform.type" autocomplete="off" style="width:85%" ></el-input> </el-form-item> <el-form-item :label="$t('dataManage.dictionaryManageObj.fieldLength')" :label-width="formLabelWidth" > <el-input v-model="insertform.len" autocomplete="off" style="width:85%" ></el-input> </el-form-item> <el-form-item :label="$t('dataManage.dictionaryManageObj.FieldPrecision')" :label-width="formLabelWidth" > <el-input v-model="insertform.precision" autocomplete="off" style="width:85%" ></el-input> </el-form-item> <el-form-item :label="$t('dataManage.dictionaryManageObj.remark')" :label-width="formLabelWidth" > <el-input v-model="insertform.bak" autocomplete="off" style="width:85%"></el-input> </el-form-item> </el-form> </div> <div slot="footer" class="dialog-footer"> <el-button type="info" size="small" @click="InsertFormdialog = false">{{ <el-form-item :label="$t('dataManage.dictionaryManageObj.remark')" :label-width="formLabelWidth" > <el-input v-model="insertform.bak" autocomplete="off" style="width:85%" ></el-input> </el-form-item> </el-form> </div> <div slot="footer" class="dialog-footer" > <el-button type="info" size="small" @click="InsertFormdialog = false" >{{ $t("dataManage.dictionaryManageObj.cancel") }}</el-button> <el-button type="primary" size="small" @click="insertFromData">{{ <el-button type="primary" size="small" @click="insertFromData" >{{ $t("dataManage.dictionaryManageObj.confirm") }}</el-button> </div> @@ -639,34 +752,34 @@ height: 98%; width: 98%; padding: 0.5%; .dictionary_leftTree { width: calc(23% - 0px); height: 100%; padding: 10px; border-radius: 5px; box-sizing: border-box; overflow-y: auto; li { border-bottom: 1px solid #dcdfe6; line-height: 30px; text-align: center; } li:hover { background: rgba(255, 255, 255, 0.3); } .active { color: #409eff; } .dictionary_leftTree { width: calc(23% - 0px); height: 100%; padding: 10px; border-radius: 5px; box-sizing: border-box; overflow-y: auto; li { border-bottom: 1px solid #dcdfe6; line-height: 30px; text-align: center; } .dictionary_rightContent { width: 80%; height: 80%; li:hover { background: rgba(255, 255, 255, 0.3); } .active { color: #409eff; } } .dictionary_rightContent { width: 80%; height: 80%; border-radius: 5px; padding: 1%; overflow-y: auto; } border-radius: 5px; padding: 1%; overflow-y: auto; } .infinite-list-item { background: rgba(255, 255, 255, 0.3); @@ -711,7 +824,6 @@ margin: 5px; } } } } </style>