添加综合展示,在线制图,资料馆跳转页面功能,修改数据管理,运维管理页面数据获取
| | |
| | | return request.get('/dataUpload/selectByPageForUpload', { params: params }); |
| | | } |
| | | |
| | | //æ°æ®ä¸ä¼ =å 餿°æ® |
| | | export function dataUpload_deleteMetas(params) { |
| | | return request.get('/dataUpload/deleteMetas', { params: params }); |
| | | } |
| | | |
| | | //æ°æ®å
¥åº=>è·åç®å½æ |
| | | export function dataLoader_selectDirAll(params) { |
| | | return request.get('/dataLoader/selectDirAll', { params: params }); |
| | |
| | | export function dataLoader_selectByPageForUpload(params) { |
| | | return request.get('/dataLoader/selectByPageForUpload', { params: params }); |
| | | } |
| | | //æ°æ®å
¥åº=>å 餿°æ® |
| | | export function dataLoader_deleteMetas(params) { |
| | | return request.get('/dataLoader/deleteMetas', { params: params }); |
| | | } |
| | | |
| | | // //æ°æ®å
¥åº=>æ¥è¯¢æä»¶ |
| | | // export function dataLoader_selectDirAll(params) { |
| | |
| | | <div class="rightWrapper"> |
| | | <div class="rightMenu"> |
| | | <ul class="infinite-list menu_ul"> |
| | | <li |
| | | @click="setMenuMove(index, item)" |
| | | v-for="(item, index) in listMenu" |
| | | class="infinite-list-item" |
| | | > |
| | | <div |
| | | class="menuImage" |
| | | :class="changeSelectStyle == index ? item.checkClass : item.class" |
| | | ></div> |
| | | <div |
| | | class="menulabel" |
| | | :class="{ changeStyle: changeSelectStyle == index }" |
| | | > |
| | | {{ item.label }} |
| | | <li v-for="(item, index) in listMenu" class="infinite-list-item"> |
| | | <div @click="setMenuMove(index, item)"> |
| | | <div |
| | | class="menuImage" |
| | | :class="changeSelectStyle == index ? item.checkClass : item.css" |
| | | ></div> |
| | | <div |
| | | class="menulabel" |
| | | :class="{ changeStyle: changeSelectStyle == index }" |
| | | > |
| | | {{ item.cnName }} |
| | | </div> |
| | | </div> |
| | | <div class="secondMenuDiv" v-show="item.show"> |
| | | <div |
| | | v-for="res in item.children" |
| | | @click="setLiClick(res)" |
| | | :class="{ changeLiStyle: changeliSelect == res.cnName }" |
| | | > |
| | | {{ res.cnName }} |
| | | </div> |
| | | </div> |
| | | </li> |
| | | </ul> |
| | |
| | | </div> |
| | | <color-change></color-change> |
| | | </div> |
| | | |
| | | <!-- --> |
| | | <!-- <div class="menu"></div> |
| | | <div class="userInfo"> |
| | | <img src="../assets/img/user.png" alt="" /> |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import { logout } from '@/api/api'; |
| | | import { logout, selectMenuRecursive } from '@/api/api'; |
| | | import { removeToken, getToken } from '@/utils/auth'; |
| | | import customElMenu from '../components/customElMenu.vue'; |
| | | import { queryMenuTree } from '../api/api'; |
| | | import colorChange from '../views/maintenance/colorChange.vue'; |
| | | import { containsCoordinate } from 'ol/extent'; |
| | | import Vue from 'vue'; |
| | | export default { |
| | | name: 'navMenu', |
| | | //importå¼å
¥çç»ä»¶éè¦æ³¨å
¥å°å¯¹è±¡ä¸æè½ä½¿ç¨ |
| | |
| | | formLabelWidth: '70px', |
| | | count: 5, |
| | | changeSelectStyle: 5, |
| | | changeliSelect: null, |
| | | changeSelectdiv: false, |
| | | listMenu: [ |
| | | { |
| | | label: 'æ°æ®è´¨æ£', |
| | | class: 'm1', |
| | | cnName: 'æ°æ®è´¨æ£', |
| | | css: 'm1', |
| | | checkClass: 'm11', |
| | | url: '', |
| | | }, |
| | | { |
| | | label: 'æ°æ®äº¤æ¢', |
| | | class: 'm2', |
| | | cnName: 'æ°æ®äº¤æ¢', |
| | | css: 'm2', |
| | | checkClass: 'm21', |
| | | url: '', |
| | | }, |
| | | { |
| | | label: 'æ°æ®ç®¡ç', |
| | | class: 'm3', |
| | | checkClass: 'm31', |
| | | url: '', |
| | | }, |
| | | { |
| | | label: 'æå¡ç®¡ç', |
| | | class: 'm4', |
| | | cnName: 'æå¡ç®¡ç', |
| | | css: 'm4', |
| | | checkClass: 'm41', |
| | | url: '', |
| | | }, |
| | | { |
| | | label: '综åå±ç¤º', |
| | | class: 'm5', |
| | | checkClass: 'm51', |
| | | url: '', |
| | | }, |
| | | { |
| | | label: 'è¿ç»´ç®¡ç', |
| | | class: 'm6', |
| | | checkClass: 'm61', |
| | | url: '', |
| | | }, |
| | | ], |
| | | showFlag: null, |
| | | }; |
| | | }, |
| | | created() {}, |
| | |
| | | }, |
| | | //é¼ æ ç§»å
¥èåäºä»¶ |
| | | setMenuMove(index, item) { |
| | | this.$router.push(item.url); |
| | | var that = this; |
| | | |
| | | if (item.perms != null) { |
| | | this.$router.push(item.url); |
| | | this.setShowFalseDiv(false); |
| | | this.changeliSelect = 'åµåµ'; |
| | | this.showFlag = null; |
| | | } else { |
| | | if (this.showFlag != index) { |
| | | this.showFlag = index; |
| | | this.setShowFalseDiv(true); |
| | | } else { |
| | | let newItem = this.listMenu[index]; |
| | | newItem.show = !this.listMenu[index].show; |
| | | Vue.set(this.listMenu, index, newItem); |
| | | } |
| | | } |
| | | |
| | | this.changeSelectStyle = index; |
| | | }, |
| | | setShowFalseDiv(bolean) { |
| | | var index = this.showFlag; |
| | | let newItem = this.listMenu[index]; |
| | | newItem.show = bolean; |
| | | Vue.set(this.listMenu, index, newItem); |
| | | }, |
| | | setLiClick(res) { |
| | | this.setShowFalseDiv(false); |
| | | this.changeliSelect = res.cnName; |
| | | this.$router.push(res.url); |
| | | }, |
| | | async getMenuTree() { |
| | | //è·åç®å½æ æå¤§IDï¼æ°å»ºèç¹ä½¿ç¨ |
| | |
| | | } |
| | | } |
| | | }, |
| | | setMenuTree(res) { |
| | | console.log(res); |
| | | for (var i = 0; i < res.length; i++) { |
| | | for (var j = 0; j < this.listMenu.length; j++) { |
| | | if (this.listMenu[j].label == res[i].cnName) { |
| | | this.listMenu[j].url = res[i].perms; |
| | | } |
| | | async setMenuTree(res) { |
| | | for (var i in res) { |
| | | res[i].checkClass = res[i].css + '1'; |
| | | res[i].show = false; //æ§å¶æ¾é |
| | | if (res[i].perms == null) { |
| | | const result = await selectMenuRecursive({ name: res[i].cnName }); |
| | | res[i].children = result.result.filter((value) => { |
| | | return value.pid == res[i].id; |
| | | }); |
| | | } |
| | | this.listMenu.push(res[i]); |
| | | } |
| | | console.log(this.listMenu); |
| | | }, |
| | | treeData(source) { |
| | | let cloneData = JSON.parse(JSON.stringify(source)); // å¯¹æºæ°æ®æ·±åº¦å
é |
| | |
| | | color: #2e95fb !important; |
| | | background: linear-gradient(#112f57, #122344) !important; |
| | | } |
| | | .secondMenuDiv { |
| | | position: absolute; |
| | | z-index: 30; |
| | | margin-top: 10px; |
| | | border: 1px solid white; |
| | | border-radius: 5px; |
| | | div { |
| | | line-height: 30px; |
| | | |
| | | background: #303030; |
| | | padding: 10px; |
| | | |
| | | font-size: 18px; |
| | | font-family: Microsoft YaHei; |
| | | font-weight: 400; |
| | | color: #ffffff; |
| | | line-height: 49px; |
| | | width: 100px; |
| | | } |
| | | |
| | | .changeLiStyle { |
| | | color: #fec801; |
| | | background: linear-gradient(180deg, #002992, #080472); |
| | | } |
| | | } |
| | | } |
| | | </style> |
| | |
| | | import domainManage from '../views/datamanage/domainManage.vue'; //æ°æ®ç®¡ç-å¼å管ç |
| | | import styleManage from '../views/datamanage/styleManage.vue'; //æ°æ®ç®¡ç-æ ·å¼ç®¡ç |
| | | import addStyle from '../views/datamanage/addStyle.vue'; //æ°æ®ç®¡ç-æ ·å¼ç®¡ç-æ·»å æ ·å¼ |
| | | |
| | | import ExportMap from '../views/exportMap/index.vue'; //å¨çº¿å¶å¾ |
| | | import userInfoManage from '../views/userManage/userInfoManage.vue'; // ç¨æ·ç®¡ç模å |
| | | import orgManage from '../views/userManage/orgManage.vue'; // ç¨æ·ç®¡ç模å |
| | | import userAuditing from '../views/userManage/userAuditing.vue'; // ç¨æ·ç®¡ç模å |
| | |
| | | requireAuth: true, // æ è¯è¯¥è·¯ç±æ¯å¦éè¦ç»å½ |
| | | }, |
| | | }, |
| | | |
| | | { |
| | | path: '/ExportMap', |
| | | name: 'ExportMap', |
| | | component: ExportMap, |
| | | meta: { |
| | | title: 'å¨çº¿å¶å¾', |
| | | requireAuth: true, // æ è¯è¯¥è·¯ç±æ¯å¦éè¦ç»å½ |
| | | }, |
| | | }, |
| | | { |
| | | path: '/Synthesis', |
| | | name: 'Synthesis', |
| | |
| | | <template> |
| | | <div class="synthesis"> |
| | | <el-tabs type="border-card"> |
| | | <map-div></map-div> |
| | | <!-- <el-tabs type="border-card"> |
| | | <el-tab-pane v-if="menuStatus.menu1" :label="$t('synthesis.coverage')"> |
| | | <coverage /> |
| | | </el-tab-pane> |
| | |
| | | </el-tab-pane> |
| | | </el-tabs> |
| | | <el-card class="box-card"> |
| | | <map-div></map-div> |
| | | |
| | | </el-card> |
| | | <div class="plotBox"> |
| | | <el-collapse-transition> |
| | |
| | | </ul> |
| | | </div> |
| | | </el-collapse-transition> |
| | | </div> |
| | | </div> --> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import coverage from "./coverage.vue"; //å¾å± |
| | | import viewport from "./viewport.vue"; //è§å¾ |
| | | import wander from "./wander.vue"; //漫游 |
| | | import analyse from "./analyse.vue"; //åæ |
| | | import iqyery from "./inquire.vue"; //æ¥è¯¢ |
| | | import orientation from "./orientation.vue"; //å®ä½ |
| | | import measurement from "./measurement.vue"; //æµé |
| | | import plotting from "./plotting.vue"; //æ ç» |
| | | import MapDiv from "../../components/MapDiv"; |
| | | import { getPerms } from "../../api/api"; |
| | | import coverage from './coverage.vue'; //å¾å± |
| | | import viewport from './viewport.vue'; //è§å¾ |
| | | import wander from './wander.vue'; //漫游 |
| | | import analyse from './analyse.vue'; //åæ |
| | | import iqyery from './inquire.vue'; //æ¥è¯¢ |
| | | import orientation from './orientation.vue'; //å®ä½ |
| | | import measurement from './measurement.vue'; //æµé |
| | | import plotting from './plotting.vue'; //æ ç» |
| | | import MapDiv from '../../components/MapDiv'; |
| | | import { getPerms } from '../../api/api'; |
| | | export default { |
| | | components: { |
| | | coverage, |
| | |
| | | showBtnBox: false, |
| | | itemsOne: [ |
| | | { |
| | | id: "1", |
| | | name: "synthesis.point", |
| | | class: "h1", |
| | | id: '1', |
| | | name: 'synthesis.point', |
| | | class: 'h1', |
| | | }, |
| | | { |
| | | id: "2", |
| | | name: "synthesis.line", |
| | | class: "h2", |
| | | id: '2', |
| | | name: 'synthesis.line', |
| | | class: 'h2', |
| | | }, |
| | | // { |
| | | // id: "3", |
| | |
| | | // class: "h3", |
| | | // }, |
| | | { |
| | | id: "4", |
| | | name: "synthesis.polygon", |
| | | class: "h4", |
| | | id: '4', |
| | | name: 'synthesis.polygon', |
| | | class: 'h4', |
| | | }, |
| | | // { |
| | | // id: "7", |
| | |
| | | // class: "h6", |
| | | // }, |
| | | { |
| | | id: "8", |
| | | name: "synthesis.removepaint", |
| | | class: "h8", |
| | | id: '8', |
| | | name: 'synthesis.removepaint', |
| | | class: 'h8', |
| | | }, |
| | | // { |
| | | // id: "9", |
| | |
| | | changePlot(res) { |
| | | sgworld.Creator.SimpleGraphic.edit(true, { editProp: true }); |
| | | switch (res.id) { |
| | | case "1": |
| | | case '1': |
| | | sgworld.Creator.createSimpleGraphic( |
| | | "point", |
| | | 'point', |
| | | {}, |
| | | function (entity) {} |
| | | ); |
| | | break; |
| | | case "2": |
| | | case '2': |
| | | sgworld.Creator.createSimpleGraphic( |
| | | "polyline", |
| | | 'polyline', |
| | | {}, |
| | | function (entity) {} |
| | | ); |
| | | break; |
| | | case "3": |
| | | case '3': |
| | | sgworld.Creator.createSimpleGraphic( |
| | | "rectangle", |
| | | 'rectangle', |
| | | {}, |
| | | function (entity) {} |
| | | ); |
| | | break; |
| | | case "4": |
| | | case '4': |
| | | sgworld.Creator.createSimpleGraphic( |
| | | "polygon", |
| | | 'polygon', |
| | | {}, |
| | | function (entity) {} |
| | | ); |
| | | break; |
| | | case "6": |
| | | case '6': |
| | | if (window.Excavation) { |
| | | window.Excavation.clear(); |
| | | window.Excavation = null; |
| | |
| | | this.$refs.terrainDig.open(); |
| | | } |
| | | break; |
| | | case "5": |
| | | case '5': |
| | | if (window.TerrainFlattening) { |
| | | window.TerrainFlattening.remove(); |
| | | window.TerrainFlattening = null; |
| | |
| | | this.$refs.modelPress.open(); |
| | | } |
| | | break; |
| | | case "7": |
| | | case '7': |
| | | sgworld.Creator.createModelLibrary(); |
| | | break; |
| | | case "8": |
| | | case '8': |
| | | this.clearAll(); |
| | | break; |
| | | case "10": |
| | | |
| | | case '10': |
| | | break; |
| | | } |
| | | }, |
| | |
| | | }, |
| | | tepostmessage(res) { |
| | | const msg = { |
| | | message: "changeTool", |
| | | message: 'changeTool', |
| | | data: res, |
| | | }; |
| | | document |
| | | .getElementById("sunIframe") |
| | | .getElementById('sunIframe') |
| | | .contentWindow.postMessage(msg, this.iframeSrc); |
| | | }, |
| | | showMenuChange(res, result) { |
| | |
| | | }, |
| | | showMenuStatus(res) { |
| | | switch (res.cnName) { |
| | | case "å¾å±": |
| | | case 'å¾å±': |
| | | this.menuStatus.menu1 = true; |
| | | break; |
| | | case "è§å¾": |
| | | case 'è§å¾': |
| | | this.menuStatus.menu2 = true; |
| | | break; |
| | | case "漫游": |
| | | case '漫游': |
| | | this.menuStatus.menu3 = true; |
| | | break; |
| | | case "åæ": |
| | | case 'åæ': |
| | | this.menuStatus.menu4 = true; |
| | | break; |
| | | case "æ¥è¯¢": |
| | | case 'æ¥è¯¢': |
| | | this.menuStatus.menu5 = true; |
| | | break; |
| | | case "å®ä½": |
| | | case 'å®ä½': |
| | | this.menuStatus.menu6 = true; |
| | | break; |
| | | case "æµé": |
| | | case 'æµé': |
| | | this.menuStatus.menu7 = true; |
| | | break; |
| | | case "æ ç»": |
| | | case 'æ ç»': |
| | | this.menuStatus.menu8 = true; |
| | | break; |
| | | } |
| | |
| | | if (this.$store.state.currentPerms) { |
| | | val = this.$store.state.currentPerms; |
| | | } else { |
| | | val = "/comprehensive"; |
| | | val = '/comprehensive'; |
| | | } |
| | | var permsEntity = this.$store.state.permsEntity; |
| | | |
| | |
| | | }, |
| | | mounted() { |
| | | //this.messageName = this.$store.state.teNmme; |
| | | this.$bus.$on("changetool", (e) => { |
| | | this.$bus.$on('changetool', (e) => { |
| | | this.tepostmessage(e); |
| | | }); |
| | | }, |
| | |
| | | }; |
| | | </script> |
| | | |
| | | <style > |
| | | .synthesis .el-card { |
| | | border: transparent !important; |
| | | } |
| | | <style> |
| | | .synthesis { |
| | | width: 100%; |
| | | height: 100%; |
| | | position: relative; |
| | | } |
| | | .synthesis .el-tabs__item { |
| | | color: white !important; |
| | | text-align: center; |
| | | |
| | | background: rgb(55, 77, 110) !important; |
| | | } |
| | | .synthesis .is-active { |
| | | color: white !important; |
| | | background-color: #586884 !important; |
| | | border: #586884 !important; |
| | | } |
| | | .synthesis .el-tabs__nav-scroll { |
| | | background: rgb(55, 77, 110) !important; |
| | | } |
| | | .synthesis .el-tabs__content { |
| | | color: white !important; |
| | | background-color: #586884 !important; |
| | | padding: 0px !important; |
| | | } |
| | | .synthesis .box-card { |
| | | height: 88%; |
| | | position: relative; |
| | | |
| | | border-radius: 0px; |
| | | } |
| | | .synthesis .el-card .el-card__body { |
| | | padding: 0px; |
| | | } |
| | | .synthesis .cardbox { |
| | | width: 98%; |
| | | height: 86%; |
| | | position: absolute; |
| | | } |
| | | .synthesis .el-tabs--border-card { |
| | | border: transparent; |
| | | background: transparent; |
| | | } |
| | | .synthesis .divli { |
| | | width: 100%; |
| | | height: 50%; |
| | | position: relative; |
| | | } |
| | | .synthesis li { |
| | | list-style: none; |
| | | float: left; |
| | | height: 60px; |
| | | text-align: center; |
| | | margin: 2px; |
| | | position: relative; |
| | | cursor: pointer; |
| | | margin-top: 5px; |
| | | } |
| | | .synthesis .backimge8 { |
| | | width: 30px; |
| | | height: 30px; |
| | | position: absolute; |
| | | background-size: 100% 100%; |
| | | margin: 0% 30%; |
| | | } |
| | | .synthesis .plotBox { |
| | | width: 160px; |
| | | /* height:; */ |
| | | position: absolute; |
| | | top: 115px; |
| | | left: 5px; |
| | | background-color: #596882; |
| | | } |
| | | .synthesis .plotBox .transition-box ul { |
| | | display: flex; |
| | | flex-wrap: wrap; |
| | | justify-content: space-evenly; |
| | | align-items: center; |
| | | width: 100%; |
| | | border-radius: 4px; |
| | | text-align: center; |
| | | color: #fff; |
| | | /* background-color: #bfa; */ |
| | | box-sizing: border-box; |
| | | } |
| | | .synthesis .plotBox .transition-box li { |
| | | margin: 5px; |
| | | width: 46%; |
| | | margin-left: 0; |
| | | /* background-color: #fff; */ |
| | | justify-content: space-between; |
| | | } |
| | | </style> |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import { selectMenuRecursive } from '../../api/api'; |
| | | import { selectMenuRecursive, queryMenuTree } from '../../api/api'; |
| | | import customElMenu from '../../components/customElMenu.vue'; |
| | | import dataUpdata from '@/views/datamanage/dataUpdata.vue'; //æ°æ®ç®¡ç-æ°æ®ä¸ä¼ |
| | | import catalogueManage from '@/views/datamanage/catalogueManage.vue'; //æ°æ®ç®¡ç-ç®å½ç®¡ç |
| | |
| | | methods: { |
| | | //è·åæ |
| | | async getTreeData() { |
| | | const res = await selectMenuRecursive({ name: 'æ°æ®ç®¡ç' }); |
| | | const data = await queryMenuTree(); |
| | | let menuLists = data.result.filter((value) => { |
| | | return value.url == '/dataController'; |
| | | }); |
| | | |
| | | const res = await selectMenuRecursive({ name: menuLists[0].cnName }); |
| | | |
| | | if (res.code == 200) { |
| | | if (res.result.length != 0) { |
| | |
| | | dataLoader_selectMappers, |
| | | dataLoader_SelectTabs, |
| | | dataLoader_selectByPageForUpload, |
| | | deleteMeta |
| | | dataLoader_deleteMetas |
| | | } from '../../api/api'; |
| | | export default { |
| | | name: 'dataUpdata', |
| | |
| | | for (var i in this.multipleDelete) { |
| | | std.push(this.multipleDelete[i].id); |
| | | } |
| | | const res = await deleteMeta({ids: std.toString() }) |
| | | const res = await dataLoader_deleteMetas({ids: std.toString() }) |
| | | if(res.code != 200){ |
| | | this.$message.error('å é¤å¤±è´¥'); |
| | | }else{ |
| | |
| | | import MyBread from '../../components/MyBread.vue'; |
| | | import { getToken } from '@/utils/auth'; |
| | | import { selectdirTab, queryDepTree, dataUploadSelectVerByDirid, dataUploadSelectPath, dataUploadSelectFiles, dataUploadDeleteFiles, dataUploadInsertFiles, |
| | | dataUpload_selectByPageForUpload,deleteMeta} from '../../api/api'; |
| | | dataUpload_selectByPageForUpload,dataUpload_deleteMetas} from '../../api/api'; |
| | | export default { |
| | | name: 'dataUpdata', |
| | | components: { |
| | |
| | | for (var i in this.multipleDelete) { |
| | | std.push(this.multipleDelete[i].id); |
| | | } |
| | | const res = await deleteMeta({ids: std.toString() }) |
| | | const res = await dataUpload_deleteMetas({ids: std.toString() }) |
| | | if(res.code != 200){ |
| | | this.$message.error('å é¤å¤±è´¥'); |
| | | }else{ |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div class="exportmap"> |
| | | <div id="mapView" class="mapView"> |
| | | <!-- <div class="topMenu"> |
| | | <el-form :inline="true" :model="formInline" class="demo-form-inline"> |
| | | <el-form-item> |
| | | <el-link |
| | | style="color: white" |
| | | @click="setLeftMenu" |
| | | :underline="false" |
| | | >å¾å±</el-link |
| | | > |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-link |
| | | style="color: white" |
| | | @click="changeMenulayer" |
| | | :underline="false" |
| | | ><i class="el-icon-menu"></i>åºå¾</el-link |
| | | > |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-select v-model="value" placeholder="è¯·éæ©"> |
| | | <el-option |
| | | v-for="item in options" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-link style="color: white" :underline="false" |
| | | ><i class="el-icon-rank"></i> |
| | | </el-link> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-link |
| | | style="color: white" |
| | | @click="showMapApply = !showMapApply" |
| | | :underline="false" |
| | | >åºå¾ç³è¯· |
| | | </el-link></el-form-item |
| | | > |
| | | <el-form-item> |
| | | <el-link |
| | | style="color: white" |
| | | @click="getShowMapList" |
| | | :underline="false" |
| | | >åºå¾å表</el-link |
| | | ></el-form-item |
| | | > |
| | | <el-form-item label="æè½¬"> |
| | | <el-input |
| | | v-model="formInline.role" |
| | | placeholder="请è¾å
¥å
容" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button plain size="mini" @click="setMapRole">æè½¬</el-button> |
| | | <el-button plain size="mini" @click="setMapAddDraw()" |
| | | >ç»å¶</el-button |
| | | > |
| | | <el-button plain size="mini" @click="setMapRemoveDraw()" |
| | | >æ¸
é¤</el-button |
| | | > |
| | | <el-button plain size="mini" @click="setExportMapLayer" |
| | | >åºå¾</el-button |
| | | > |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | <div class="leftMeu" v-if="showleftMenu"> |
| | | <div class="topHeader"> |
| | | <div style="float: left">å¾å±</div> |
| | | <div style="float: right"> |
| | | <el-link @click="showleftMenu = false" :underline="false" |
| | | ><i class="el-icon-close"></i |
| | | ></el-link> |
| | | </div> |
| | | <div style="float: right; margin-right: 5%"> |
| | | <el-link :underline="false" @click="changeRowType" |
| | | ><i |
| | | :class=" |
| | | rowtype == true ? 'el-icon-arrow-down' : 'el-icon-arrow-up' |
| | | " |
| | | ></i |
| | | ></el-link> |
| | | </div> |
| | | </div> |
| | | <div class="topContent" v-if="rowtype"> |
| | | <el-tree |
| | | :data="data" |
| | | show-checkbox |
| | | node-key="id" |
| | | :props="defaultProps" |
| | | :default-expanded-keys="[1]" |
| | | @check-change="handleTreeNodeClick" |
| | | > |
| | | </el-tree> |
| | | </div> |
| | | </div> |
| | | <div class="mapApplay" v-if="showMapApply"> |
| | | <label>åºå¾ç³è¯·</label> |
| | | <el-divider /> |
| | | <el-form ref="form" :model="form" label-width="80px"> |
| | | <el-form-item label="åºå¾åç§°"> |
| | | <el-input v-model="form.name"></el-input> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-table |
| | | ref="singleTable" |
| | | :data="tableData" |
| | | style="width: 100%" |
| | | height="200" |
| | | > |
| | | <el-table-column type="index" label="åºå·" width="50"> |
| | | </el-table-column> |
| | | |
| | | <el-table-column property="name" label="å¾å±åç§°"> |
| | | </el-table-column> |
| | | </el-table> |
| | | </el-form-item> |
| | | |
| | | <el-form-item> |
| | | <el-button type="primary" @click="setMapApply">ç«å³å建</el-button> |
| | | <el-button @click="showMapApply = false">åæ¶</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | <div class="mapApplay" v-if="showMapList"> |
| | | <div> |
| | | <label>åºå¾å表</label> |
| | | <div style="float: right"> |
| | | <el-link @click="showMapList = false" :underline="false" |
| | | ><i class="el-icon-close"></i |
| | | ></el-link> |
| | | </div> |
| | | </div> |
| | | <el-divider /> |
| | | <el-table |
| | | ref="singleTable" |
| | | :data="exportable" |
| | | style="width: 100%" |
| | | height="200" |
| | | @selection-change="handleSelectionChange" |
| | | > |
| | | <el-table-column type="index" width="50" label="åºå·"> |
| | | </el-table-column> |
| | | <el-table-column property="name" label="åç§°"> </el-table-column> |
| | | <el-table-column property="type" label="ç±»å"> </el-table-column> |
| | | <el-table-column property="descr" label="æè¿°"> </el-table-column> |
| | | <el-table-column label="æä½" width="120"> |
| | | <template slot-scope="scope"> |
| | | <el-button |
| | | @click.native.prevent="downloadMap(scope.$index, scope.row)" |
| | | type="text" |
| | | size="small" |
| | | > |
| | | ä¸è½½ |
| | | </el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <div class="block"> |
| | | <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> --> |
| | | <!-- <div |
| | | @click="changeMenulayer" |
| | | class="center CenDiv" |
| | | :class="{ center1: centerFlag }" |
| | | > |
| | | <div |
| | | id="cenBg" |
| | | v-bind:class="{ active: isActive, menuLayer: isMenuLayer }" |
| | | ></div> |
| | | </div> --> |
| | | </div> |
| | | |
| | | <!-- <el-dialog |
| | | title="æç¤º" |
| | | :visible.sync="dialogVisible" |
| | | width="30%" |
| | | :before-close="handleClose" |
| | | > |
| | | <el-form ref="layerform" :model="layerform" label-width="80px"> |
| | | <el-form-item label="æå¡åç§°"> |
| | | <el-input v-model="layerform.name"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="æå¡ç±»å"> |
| | | <el-radio-group v-model="layerform.type"> |
| | | <el-radio label="WMS"></el-radio> |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | <el-form-item label="æå¡å°å"> |
| | | <el-input type="textarea" v-model="layerform.resource"></el-input> |
| | | </el-form-item> |
| | | </el-form> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="dialogVisible = false">å æ¶</el-button> |
| | | <el-button type="primary" @click="setAddMapLayer">ç¡® å®</el-button> |
| | | </span> |
| | | </el-dialog> --> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import ImageWMS from 'ol/source/ImageWMS'; |
| | | import Map from 'ol/Map'; |
| | | import XYZ from 'ol/source/XYZ'; |
| | | import View from 'ol/View'; |
| | | import Image from 'ol/layer/Image'; |
| | | import TileLayer from 'ol/layer/Tile'; |
| | | import { transform } from 'ol/proj'; |
| | | import Draw, { createRegularPolygon, createBox } from 'ol/interaction/Draw.js'; |
| | | import { OSM, Vector as VectorSource } from 'ol/source'; |
| | | import { Vector as VectorLayer } from 'ol/layer'; |
| | | import LayerVector from 'ol/layer/Vector'; |
| | | import Style from 'ol/style/Style'; |
| | | import Fill from 'ol/style/Fill'; |
| | | import Stroke from 'ol/style/Stroke'; |
| | | import Circle from 'ol/style/Circle'; |
| | | import mapviewVue from '../../components/mapview.vue'; |
| | | import { removeToken, getToken } from '@/utils/auth'; |
| | | import $ from 'jquery'; |
| | | import { exportSelectByPage } from '../../api/api.js'; |
| | | export default { |
| | | data() { |
| | | return { |
| | | dialogVisible: false, |
| | | showleftMenu: false, |
| | | showMapApply: false, |
| | | showMapList: false, |
| | | centerFlag: false, |
| | | isActive: true, |
| | | isMenuLayer: false, |
| | | rowtype: true, |
| | | form: {}, |
| | | formInline: { role: '' }, |
| | | layerform: {}, |
| | | tableData: [], |
| | | exportable: [], |
| | | multipleSelection: [], |
| | | options: [{ label: '1:20ä¸', value: '1:20ä¸' }], |
| | | value: '1:20ä¸', |
| | | data: [ |
| | | { |
| | | id: 1, |
| | | label: 'å¾å±', |
| | | children: [ |
| | | { label: 'é室', value: 'é室' }, |
| | | { label: 'ç«åº', value: 'ç«åº' }, |
| | | { label: '管éä¸å¿çº¿', value: '管éä¸å¿çº¿' }, |
| | | ], |
| | | }, |
| | | ], |
| | | arrList: [], |
| | | defaultProps: { |
| | | children: 'children', |
| | | label: 'label', |
| | | }, |
| | | draw: null, |
| | | vector: null, |
| | | source: null, |
| | | layerExtent: null, |
| | | listdata: { |
| | | name: null, |
| | | pageSize: 10, |
| | | pageIndex: 1, |
| | | }, |
| | | count: 0, |
| | | }; |
| | | }, |
| | | mounted() { |
| | | this.initMap(); |
| | | }, |
| | | methods: { |
| | | handleSelectionChange(val) { |
| | | this.multipleSelection = val; |
| | | }, |
| | | handleSizeChange(val) { |
| | | this.listdata.pageIndex = 1; |
| | | this.listdata.pageSize = val; |
| | | this.getShowMapList(); |
| | | }, |
| | | handleCurrentChange(val) { |
| | | this.listdata.pageIndex = val; |
| | | this.getShowMapList(); |
| | | }, |
| | | async getShowMapList() { |
| | | const data = await exportSelectByPage(this.listdata); |
| | | this.exportable = data.result; |
| | | this.showMapList = true; |
| | | this.count = data.count; |
| | | }, |
| | | setExportMapLayer(res) { |
| | | var token = '?token=' + getToken(); |
| | | var data = { |
| | | token: token.replace('?token=', ''), |
| | | title: this.form.name, |
| | | pageSize: 'A4', |
| | | province: 'å±±ä¸ç', |
| | | scale: this.value, |
| | | resolution: '20ç±³', |
| | | date: '2022.11.14', |
| | | layers: res.toString(), |
| | | rotation: 0, |
| | | xmin: this.layerExtent.xmin, |
| | | ymin: this.layerExtent.ymin, |
| | | xmax: this.layerExtent.xmax, |
| | | ymax: this.layerExtent.ymax, |
| | | }; |
| | | |
| | | $.ajax({ |
| | | async: true, |
| | | url: BASE_URL + '/export/insertMap' + token, |
| | | type: 'POST', |
| | | data: JSON.stringify(data), |
| | | contentType: 'application/json', |
| | | dataType: 'json', |
| | | error: function () {}, |
| | | success: (rs) => { |
| | | var value = 'code = ' + rs.code + ', result = ' + rs.result; |
| | | if ((rs.code = 200)) { |
| | | this.$message({ |
| | | message: value, |
| | | type: 'success', |
| | | }); |
| | | } else { |
| | | this.$message.error(value); |
| | | } |
| | | }, |
| | | }); |
| | | }, |
| | | downloadMap(index, rows) { |
| | | var guid = rows.guid; |
| | | var token = '?token=' + getToken(); |
| | | var a = document.createElement('a'); // å建ä¸ä¸ªaæ ç¾å
ç´ |
| | | a.style.display = 'none'; // 设置å
ç´ ä¸å¯è§ |
| | | a.href = BASE_URL + '/mark/downloadFile' + token + '&guid=' + guid; |
| | | |
| | | document.body.appendChild(a); // å å
¥ |
| | | a.click(); // 触åç¹å»,ä¸è½½ |
| | | document.body.removeChild(a); // éæ¾ |
| | | }, |
| | | setMapRemoveDraw() { |
| | | if (this.draw != null) { |
| | | mapView.removeLayer(this.vector); |
| | | } |
| | | }, |
| | | |
| | | setMapAddDraw() { |
| | | this.setMapRemoveDraw(); |
| | | |
| | | this.source = new VectorSource({ wrapX: false }); |
| | | |
| | | this.vector = new VectorLayer({ |
| | | source: this.source, |
| | | }); |
| | | mapView.addLayer(this.vector); |
| | | |
| | | let type = 'Circle'; |
| | | let geometryFunction = createBox(); |
| | | this.draw = new Draw({ |
| | | source: this.source, |
| | | type, |
| | | geometryFunction, |
| | | }); |
| | | mapView.addInteraction(this.draw); |
| | | this.draw.on('drawend', (e) => { |
| | | let feature = e.feature; |
| | | let geom = feature.getGeometry(); |
| | | var extent = geom.getExtent(); |
| | | var a1 = transform([extent[0], extent[1]], 'EPSG:3857', 'EPSG:4326'); |
| | | var a2 = transform([extent[2], extent[3]], 'EPSG:3857', 'EPSG:4326'); |
| | | |
| | | this.layerExtent = { |
| | | xmin: a1[0], |
| | | ymin: a1[1], |
| | | xmax: a2[0], |
| | | ymax: a2[1], |
| | | }; |
| | | mapView.removeInteraction(this.draw); |
| | | }); |
| | | }, |
| | | setMapRole() { |
| | | var value = parseFloat(this.formInline.role); |
| | | var role = (Math.PI / 180) * value; |
| | | mapView.getView().setRotation(role); |
| | | }, |
| | | setMapApply() { |
| | | if (this.layerExtent == null) { |
| | | this.$message.error('è¯·éæ©åºå¾èå´'); |
| | | return; |
| | | } |
| | | var val_data = []; |
| | | for (var i in this.tableData) { |
| | | val_data.push(this.tableData[i].name); |
| | | } |
| | | if (this.isActive) { |
| | | val_data.push('ç¢éå¾'); |
| | | val_data.push('ç¢é注记'); |
| | | } else { |
| | | val_data.push('é«å¾·å½±å'); |
| | | val_data.push('é«å¾·å½±å注记'); |
| | | } |
| | | this.setExportMapLayer(val_data); |
| | | this.showMapApply = false; |
| | | this.form = {}; |
| | | }, |
| | | handleClose() {}, |
| | | handleTreeNodeClick(data, nodes) { |
| | | if (data.label == 'å¾å±') return; |
| | | |
| | | if (nodes == true) { |
| | | this.arrList.push({ |
| | | name: data.label, |
| | | }); |
| | | var wmsLayer = new Image({ |
| | | source: new ImageWMS({ |
| | | ratio: 1, |
| | | url: data.resource, |
| | | crossOrigin: 'anonymous', |
| | | |
| | | params: { |
| | | VERSION: '1.3.0', |
| | | FORMAT: 'image/png', |
| | | LAYERS: '', |
| | | srs: 'EPSG:900913', |
| | | tiled: true, |
| | | styles: '', |
| | | }, |
| | | }), |
| | | }); |
| | | wmsLayer.name = data.label; |
| | | mapView.addLayer(wmsLayer); |
| | | } else { |
| | | this.arrList.some((item, i) => { |
| | | if (item.name === data.label) { |
| | | this.arrList.splice(i, 1); |
| | | } |
| | | }); |
| | | var len = mapView.getAllLayers(); |
| | | for (var i in len) { |
| | | var layer = mapView.getLayers().item(i); |
| | | if (layer.name == data.label) { |
| | | mapView.removeLayer(layer); |
| | | } |
| | | } |
| | | } |
| | | this.tableData = this.arrList; |
| | | }, |
| | | setAddMapLayer() { |
| | | this.dialogVisible = false; |
| | | this.data[0].children.push({ |
| | | label: this.layerform.name, |
| | | type: this.layerform.type, |
| | | resource: this.layerform.resource, |
| | | }); |
| | | }, |
| | | |
| | | setLeftMenu() { |
| | | this.showleftMenu = true; |
| | | this.rowtype = true; |
| | | }, |
| | | //左侧èåç¹å»äºä»¶ |
| | | changeRowType() { |
| | | this.rowtype = !this.rowtype; |
| | | }, |
| | | //å°å¾åå§å |
| | | initMap() { |
| | | var TiandiLayer = new TileLayer({ |
| | | source: new XYZ({ |
| | | url: 'http://t0.tianditu.gov.cn/DataServer?T=vec_w&x={x}&y={y}&l={z}&tk=94a34772eb88317fcbf8428e10448561', |
| | | }), |
| | | }); |
| | | var TiandiTitle = new TileLayer({ |
| | | source: new XYZ({ |
| | | url: 'http://t0.tianditu.gov.cn/DataServer?T=cva_w&x={x}&y={y}&l={z}&tk=94a34772eb88317fcbf8428e10448561', |
| | | }), |
| | | }); |
| | | var GaoDeLayer = new TileLayer({ |
| | | source: new XYZ({ |
| | | url: 'http://wprd01.is.autonavi.com/appmaptile?x={x}&y={y}&z={z}&lang=zh_cn&size=1&scl=1&style=6', |
| | | }), |
| | | }); |
| | | var GaoDeTitle = new TileLayer({ |
| | | source: new XYZ({ |
| | | url: 'http://wprd01.is.autonavi.com/appmaptile?x={x}&y={y}&z={z}&lang=zh_cn&size=1&scl=1&style=8', |
| | | }), |
| | | }); |
| | | window.mapView = new Map({ |
| | | target: 'mapView', |
| | | layers: [TiandiLayer, TiandiTitle, GaoDeLayer, GaoDeTitle], |
| | | view: new View({ |
| | | center: transform([105.02, 34.9], 'EPSG:4326', 'EPSG:3857'), |
| | | zoom: 4, |
| | | projection: 'EPSG:3857', |
| | | }), |
| | | }); |
| | | mapView.getLayers().item(2).setVisible(false); |
| | | mapView.getLayers().item(3).setVisible(false); |
| | | this.formInline.role = mapView.getView().getRotation(); |
| | | }, |
| | | //忢åºå¾ |
| | | changeMenulayer() { |
| | | this.isActive = !this.isActive; |
| | | this.isMenuLayer = !this.isMenuLayer; |
| | | this.setLayerVisible(); |
| | | }, |
| | | setLayerVisible() { |
| | | if (this.isActive == true) { |
| | | mapView.getLayers().item(2).setVisible(false); |
| | | mapView.getLayers().item(3).setVisible(false); |
| | | mapView.getLayers().item(0).setVisible(true); |
| | | mapView.getLayers().item(1).setVisible(true); |
| | | } else { |
| | | mapView.getLayers().item(2).setVisible(true); |
| | | mapView.getLayers().item(3).setVisible(true); |
| | | mapView.getLayers().item(0).setVisible(false); |
| | | mapView.getLayers().item(1).setVisible(false); |
| | | } |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="less"> |
| | | .exportmap { |
| | | width: 100%; |
| | | height: 100%; |
| | | background: white; |
| | | margin: 0; |
| | | padding: 0; |
| | | overflow: hidden; |
| | | position: absolute; |
| | | .mapView { |
| | | width: 100%; |
| | | height: 100%; |
| | | .topMenu { |
| | | background: rgba(0, 0, 0, 0.5); |
| | | z-index: 40; |
| | | position: absolute; |
| | | left: 40%; |
| | | top: 3%; |
| | | padding-top: 1%; |
| | | padding-left: 1%; |
| | | padding-right: 1%; |
| | | } |
| | | .mapApplay { |
| | | width: 40%; |
| | | position: absolute; |
| | | background: rgba(0, 0, 0, 0.5); |
| | | z-index: 40; |
| | | top: 15%; |
| | | margin-left: 20%; |
| | | padding: 1%; |
| | | label { |
| | | color: white; |
| | | } |
| | | } |
| | | .mapList { |
| | | width: 40%; |
| | | position: absolute; |
| | | background: rgba(0, 0, 0, 0.5); |
| | | z-index: 40; |
| | | top: 15%; |
| | | margin-left: 20%; |
| | | padding: 1%; |
| | | } |
| | | .leftMeu { |
| | | position: absolute; |
| | | width: 13%; |
| | | z-index: 40; |
| | | top: 10%; |
| | | margin-left: 1%; |
| | | border-radius: 5px; |
| | | padding: 1%; |
| | | } |
| | | .topHeader { |
| | | padding: 5%; |
| | | background: rgba(0, 0, 0, 0.5); |
| | | width: 100%; |
| | | border-radius: 5px; |
| | | color: white; |
| | | height: 25px; |
| | | border: 1px solid gray; |
| | | } |
| | | .topContent { |
| | | background: rgba(0, 0, 0, 0.5); |
| | | width: 100%; |
| | | padding: 5%; |
| | | border-radius: 5px; |
| | | border: 1px solid gray; |
| | | } |
| | | |
| | | .el-icon-close { |
| | | color: white; |
| | | } |
| | | .el-icon-arrow-down { |
| | | color: white; |
| | | } |
| | | .el-icon-arrow-up { |
| | | color: white; |
| | | } |
| | | |
| | | .contentHeader { |
| | | border-top: 1px solid gray; |
| | | padding: 3%; |
| | | width: 94%; |
| | | color: white; |
| | | } |
| | | .center { |
| | | margin-left: 1%; |
| | | } |
| | | .CenDiv { |
| | | position: absolute; |
| | | bottom: 3%; |
| | | height: 40px; |
| | | width: 60px; |
| | | z-index: 101; |
| | | display: flex; |
| | | flex-direction: column; |
| | | justify-content: space-between; |
| | | box-shadow: 3px 3px 6px #666; |
| | | border: 1px solid rgba(204, 204, 204, 0.76); |
| | | border-radius: 5px; |
| | | cursor: pointer; |
| | | } |
| | | .center1 { |
| | | margin-left: 1%; |
| | | } |
| | | .right { |
| | | position: absolute; |
| | | top: 50px; |
| | | right: 0; |
| | | width: 20%; |
| | | height: calc(100% - 50px); |
| | | |
| | | display: flex; |
| | | flex-direction: column; |
| | | justify-content: space-between; |
| | | } |
| | | .CenDiv:hover { |
| | | border: 1px solid #409eff; |
| | | } |
| | | // .active { |
| | | // width: 100%; |
| | | // height: 100%; |
| | | // background: url('../../assets/img/Layer/imgLayer2.png') no-repeat center; |
| | | // position: absolute; |
| | | // background-size: 100% 100%; |
| | | // border-radius: 5px; |
| | | // } |
| | | // .menuLayer { |
| | | // width: 100%; |
| | | // height: 100%; |
| | | // background: url('../../assets/img/Layer/imgLayer1.png') no-repeat center; |
| | | // position: absolute; |
| | | // background-size: 100% 100%; |
| | | // border-radius: 5px; |
| | | // } |
| | | } |
| | | } |
| | | </style> |
| | |
| | | import databaseMonitoring from '@/views/maintenance/databaseMonitoring.vue'; //æ°æ®åºçæ§ |
| | | import systemMonitoring from '@/views/maintenance/systemMonitoring.vue'; //ç³»ç»çæ§ |
| | | import parameterConfiguration from '@/views/maintenance/parameterConfiguration.vue'; //ç³»ç»é
ç½® |
| | | import { selectMenuRecursive } from '../../api/api'; |
| | | import { selectMenuRecursive, queryMenuTree } from '../../api/api'; |
| | | import customElMenu from '../../components/customElMenu.vue'; |
| | | export default { |
| | | components: { |
| | |
| | | methods: { |
| | | //è·åæ |
| | | async getTreeData() { |
| | | const res = await selectMenuRecursive({ name: 'è¿ç»´ç®¡ç' }); |
| | | |
| | | const data = await queryMenuTree(); |
| | | let menuLists = data.result.filter((value) => { |
| | | return value.url == '/mochaitmo'; |
| | | }); |
| | | const res = await selectMenuRecursive({ name: menuLists[0].cnName }); |
| | | if (res.code == 200) { |
| | | if (res.result.length != 0) { |
| | | let menuList = res.result.filter((value) => { |