Merge branch 'master' of http://192.168.20.92:8888/r/PM20230220027_Web
| | |
| | | defineEmits, |
| | | } from "vue"; |
| | | import router from "./router"; |
| | | |
| | | import store from "@/store"; |
| | | onMounted(() => { |
| | | // router.push("/Login"); |
| | | var val = window.sessionStorage.getItem("Admin-Token"); |
| | | if (val) { |
| | | store.state.uname = JSON.parse(val).uname; |
| | | } |
| | | }); |
| | | </script> |
| | | |
| | |
| | | case "l3": //å¨çº¿å¶å¾ |
| | | store.state.isShowMap = true; |
| | | this.setThematicMap(); |
| | | |
| | | break; |
| | | case "l4": |
| | | store.state.isShowMap = true; |
| | |
| | | }, |
| | | thematicTools(res) { |
| | | switch (res.id) { |
| | | case "t1": |
| | | store.state.setLayerManager = !store.state.setLayerManager; |
| | | break; |
| | | case "t2": |
| | | this.createSimpleGraphic("rectangle", "square"); |
| | | break; |
| | | case "t3": |
| | | this.delRectangle(); |
| | | break; |
| | | case "t4": |
| | | store.state.setExportList = !store.state.setExportList |
| | | break; |
| | | } |
| | | }, |
| | |
| | | var north1 = ss[3]; |
| | | var south1 = ss[1]; |
| | | var geometry = Cesium.Rectangle.fromDegrees(west1, south1, east1, north1); |
| | | |
| | | |
| | | |
| | | Viewer.camera.setView({ |
| | | destination: Cesium.Rectangle.fromDegrees(west, south, east, north), |
| | | }); |
| | |
| | | // var handle = new SmartEarth.Cesium.ScreenSpaceEventHandler( |
| | | // earthCtrl.viewer.scene.canvas |
| | | // ); |
| | | |
| | | }, |
| | | |
| | | //åæ å®ä½ |
| | |
| | | window.rightViewer.scene.skyAtmosphere.show = false; |
| | | const compass = document.getElementsByClassName("bottom_btn")[0]; |
| | | compass.style.right = "calc(50% + 70px)"; |
| | | compass.style.positions = "absolute"; |
| | | store.state.doubleMap = true; |
| | | setTimeout(() => { |
| | | window.functionGetLayer({ |
| | |
| | | }); |
| | | if (this.map) { |
| | | this.map.addLayer(this.Layer); |
| | | var that = this; |
| | | window.olMap = this.map; |
| | | window.layer = this.Layer |
| | | setTimeout(() => { |
| | | that.getLayersExtent(); |
| | | }, 1000) |
| | | // this.Layer.getSource().on('addfeature', function () { |
| | | // this.map.getView().fit(this.Layer.getSource().getExtent()); |
| | | // }); |
| | | |
| | | |
| | | } |
| | | }, |
| | | getLayersExtent() { |
| | | // 缩æ¾è³å¾å±èå´ |
| | | |
| | | this.map.getView().fit(this.Layer.renderer_.renderedExtent_); |
| | | |
| | | |
| | | |
| | | } |
| | | |
| | | }; |
| | | export default olMap; |
| | |
| | | let img_layer = window.rightViewer.imageryLayers.addImageryProvider(layer); |
| | | this.layerList.push({ id: res.id, layerData: img_layer, type: "wmts" }); |
| | | }, |
| | | addGeoServerMmsLayers(layer, url) { |
| | | var that = this |
| | | var getFeatureInfoFormat = new SmartEarth.Cesium.GetFeatureInfoFormat("html", null, function (html) { |
| | | that.getFeatureInfo(html) |
| | | }); |
| | | let wmslayer = new SmartEarth.Cesium.WebMapServiceImageryProvider({ |
| | | url: url, |
| | | layers: layer.toString(), |
| | | getFeatureInfoParameters: { info_format: 'text/html' }, |
| | | enablePickFeatures: true, |
| | | getFeatureInfoFormats: [getFeatureInfoFormat], |
| | | parameters: { |
| | | transparent: true, |
| | | format: "image/png", |
| | | srs: "EPSG:104903", |
| | | styles: "", |
| | | }, |
| | | tileWidth: 512, |
| | | tileHeight: 512, |
| | | }); |
| | | wmslayer.name = `Wms_Layer_geo`; |
| | | let img_layer = window.rightViewer.imageryLayers.addImageryProvider(wmslayer); |
| | | this.layerList.push({ id: 1001011, layerData: img_layer, type: "wmts" }); |
| | | }, |
| | | |
| | | delLayerAll() { |
| | | this.layerList.forEach((e, i) => { |
| | | switch (e.type) { |
| | | case "wmts": |
| | | window.rightViewer.imageryLayers.remove(e.layerData); |
| | | break; |
| | | case "tms": |
| | | window.rightViewer.imageryLayers.remove(e.layerData); |
| | | break; |
| | | case "dem": |
| | | window.rightViewer.terrainProvider = new Cesium.EllipsoidTerrainProvider( |
| | | {} |
| | | ); |
| | | break; |
| | | case "tileset": |
| | | window.rightViewer.scene.primitives.remove(e.layerData) |
| | | break; |
| | | } |
| | | this.layerList.splice(i, 1); |
| | | }); |
| | | |
| | | }, |
| | | |
| | | }; |
| | | export default rightServer; |
| | |
| | | // å½åé«åº¦ |
| | | let height = Viewer.camera.positionCartographic.height; |
| | | heightlevel = getLevel(height); |
| | | console.log(heightlevel); |
| | | |
| | | if (heightlevel == 6) { |
| | | gridDel(); |
| | | grid(5); |
| | |
| | | // ]) |
| | | // ); |
| | | // } |
| | | // console.log(ps); |
| | | |
| | | // let polylineGeometry = new Cesium.PolylineGeometry({ |
| | | // positions: ps, |
| | | // width: 5, |
| | |
| | | const grid = (degree) => { |
| | | const entities = Viewer.entities; |
| | | for (let longitude = -180; longitude <= 180; longitude += degree) { |
| | | console.log( |
| | | Cesium.Cartesian3.fromDegreesArray([ |
| | | longitude, |
| | | -90, |
| | | longitude, |
| | | 0, |
| | | longitude, |
| | | 90, |
| | | ]) |
| | | ); |
| | | let text = ""; |
| | | if (longitude === 0) { |
| | | text = "0"; |
| | |
| | | if (lat === 0) { |
| | | text = ""; |
| | | } |
| | | // console.log(lat, "---lat"); |
| | | |
| | | let obj = entities.add({ |
| | | position: Cesium.Cartesian3.fromDegrees(0, lat), |
| | | polyline: { |
| | |
| | | }); |
| | | entitiesObj.latLine.push(obj); |
| | | } |
| | | console.log(entitiesObj); |
| | | |
| | | // æé¯é½¿ |
| | | if (Cesium.FeatureDetection.supportsImageRenderingPixelated()) { |
| | | //夿æ¯å¦æ¯æå¾å渲æåç´ åå¤ç |
| | |
| | | |
| | | <style lang="less" scoped> |
| | | .top_btn { |
| | | position: absolute; |
| | | top: 23px; |
| | | right: 0px; |
| | | display: flex; |
| | | cursor: pointer; |
| | | |
| | | .menu_Box { |
| | | margin-right: 104px; |
| | | display: flex; |
| | |
| | | |
| | | <style lang="less" scoped> |
| | | .top_btn { |
| | | position: absolute; |
| | | top: 23px; |
| | | right: 0px; |
| | | // position: absolute; |
| | | // top: 23px; |
| | | // right: 0px; |
| | | display: flex; |
| | | cursor: pointer; |
| | | z-index: 30; |
| | |
| | | restLayer: false, |
| | | isShowMap: true, |
| | | spatialTitle: null, |
| | | setExportList: false, |
| | | setLayerManager: false, |
| | | }, |
| | | mutations: { |
| | | //è·åç»å½Code |
| | |
| | | }, |
| | | SET_TOKEN(state, token) { |
| | | state.token = token; |
| | | setToken(token); |
| | | var obj = { |
| | | token: token, |
| | | uname: state.uname, |
| | | }; |
| | | setToken(JSON.stringify(obj)); |
| | | }, |
| | | SET_CHECKLAYER(state, layers) { |
| | | state.chekNowLayers = layers; |
| | |
| | | |
| | | export function getToken() { |
| | | // console.log(window.sessionStorage.getItem(TokenKey)); |
| | | return window.sessionStorage.getItem(TokenKey); |
| | | var val = window.sessionStorage.getItem(TokenKey) |
| | | if (val) { |
| | | return JSON.parse(val).token; |
| | | } |
| | | return val; |
| | | } |
| | | |
| | | export function setToken(token) { |
| | | debugger |
| | | return window.sessionStorage.setItem(TokenKey, token); |
| | | } |
| | | |
| | |
| | | v-if="layerExportshow" |
| | | @SETexportMap="SETexportMap" |
| | | ></export-map> |
| | | <export-list v-if="store.state.setExportList"></export-list> |
| | | <menus></menus> |
| | | <bottom-btn v-if="store.state.isShowMap"></bottom-btn> |
| | | <mouse-move v-if="store.state.isShowMap"></mouse-move> |
| | |
| | | import mapclock from "@/views/mapClock/index.vue"; |
| | | //ç¢éæ°æ®ä¿¡æ¯å¼¹çª |
| | | import detailsQuery from "@/views/query/detailsQuery.vue"; |
| | | //åºå¾å表 |
| | | import exportList from "./export/exportList.vue"; |
| | | |
| | | import router from "@/router"; |
| | | import { useStore } from "vuex"; // å¼å
¥useStore æ¹æ³ |
| | |
| | | <template> |
| | | <div |
| | | id="cesiumContainer" |
| | | class="cesiumContainer" |
| | | > |
| | | |
| | | <div class="MapViewBox"> |
| | | <div id="cesiumContainer"> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | |
| | | </script> |
| | | |
| | | <style lang="less" scoped> |
| | | .cesiumContainer { |
| | | .MapViewBox { |
| | | width: 100%; |
| | | height: 100%; |
| | | margin: 0; |
| | |
| | | <div class="baseMapSwitching"> |
| | | <div class="baseMapSwitchingTitle"> |
| | | <div class="tileLeft"> |
| | | <div class="titleImg"> |
| | | <div |
| | | class="titleImg" |
| | | @click="setCloseBaseMap" |
| | | > |
| | | <ArrowLeft /> |
| | | </div> |
| | | <div class="titleLable">æå½±å¾å±ç®¡ç</div> |
| | |
| | | import projection from "@/assets/js/Map/projectionServer"; |
| | | |
| | | import olMap from "@/assets/js/Map/olMap"; |
| | | const emits = defineEmits(["setCloseBaseMap"]); |
| | | let list = ref([]); |
| | | const activceIndex = ref(); |
| | | const setProjectionLayerChange = (res) => { |
| | | console.log(res); |
| | | let projection = { |
| | | code: "", |
| | | extent: [], |
| | |
| | | // } |
| | | }; |
| | | getProjectionLayer(); |
| | | const setCloseBaseMap = () => { |
| | | emits("setCloseBaseMap", false); |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="less" scoped> |
| | |
| | | defineEmits, |
| | | } from "vue"; |
| | | import { User, Lock } from "@element-plus/icons-vue"; |
| | | import { useStore } from "vuex"; // å¼å
¥useStore æ¹æ³ |
| | | |
| | | const store = useStore(); // è¯¥æ¹æ³ç¨äºè¿åstore å®ä¾ |
| | | const emits = defineEmits(["SETspatialClose"]); |
| | | const setSpatialClose = () => {}; |
| | | const setSpatialClose = () => { |
| | | store.state.setExportList = false; |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="less" scoped> |
| | |
| | | height: 400px; |
| | | display: flex; |
| | | position: absolute; |
| | | bottom: 5%; |
| | | right: 5%; |
| | | bottom: 10px; |
| | | right: 50px; |
| | | background: rgba(7, 8, 14, 0.8); |
| | | border: 1px solid #d6e4ff; |
| | | z-index: 10; |
| | | z-index: 50; |
| | | box-shadow: inset 0px 10px 40px 10px rgba(38, 47, 71, 1); |
| | | .exportTitle { |
| | | padding: 10px; |
| | |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script lang="ts" setup> |
| | | import store from "@/store"; |
| | | import { |
| | |
| | | // window.Viewer.scene.render(); |
| | | const myCanvas = window.Viewer.scene.canvas; |
| | | var res = canvas2image.convertToImage(myCanvas, "869", "783", "png"); |
| | | debugger; |
| | | url.value = res.src; |
| | | }; |
| | | onMounted((res) => { |
| | |
| | | overflow: auto; |
| | | |
| | | .contentTitle { |
| | | font-size: 20px; |
| | | font-size: 16px; |
| | | font-family: Source Han Sans CN; |
| | | font-weight: 300; |
| | | color: #ffffff; |
| | |
| | | margin-top: 9px; |
| | | margin-left: 16px; |
| | | margin-right: 9px; |
| | | font-size: 16px; |
| | | font-family: Source Han Sans CN; |
| | | } |
| | | } |
| | | .menuButton { |
| | |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | |
| | | .el-button { |
| | | height: 37px; |
| | | background: rgba(104, 156, 255, 0.2); |
| | |
| | | |
| | | .menuTitle { |
| | | width: calc(100% - 30px); |
| | | height: 42px; |
| | | background: #0e151f; |
| | | |
| | | font-size: 24px; |
| | | background: #0e151f; |
| | | font-size: 18px; |
| | | font-family: Source Han Sans CN; |
| | | font-weight: 400; |
| | | color: #ffffff; |
| | | padding: 10px; |
| | | padding-left: 28px; |
| | | } |
| | | ::-webkit-scrollbar { |
| | |
| | | value: std[i], |
| | | }); |
| | | } |
| | | debugger; |
| | | condOption.value = str; |
| | | formSql.value.type = std[0]; |
| | | }; |
| | |
| | | watch( |
| | | () => props.layerData, |
| | | (nVal, oVal) => { |
| | | // console.log("å¼åçäºåæ´", nVal, oVal); |
| | | startQueryData(); |
| | | }, |
| | | { deep: true } |
| | |
| | | let isCheck = checked.checkedKeys.indexOf(data.id) > -1; |
| | | // this.setVisiable(data, isCheck); |
| | | |
| | | let son = estreeRef.value.getCheckedNodes(); |
| | | let son = estreeRef.value.getCheckedNodes().reverse(); |
| | | rightServer.delLayerAll(); |
| | | |
| | | var setGeoWms = []; |
| | | var url = null; |
| | | for (var i in son) { |
| | | var layerArr = son[i]; |
| | | layerArr.checked = true; |
| | | if (layerArr.category == 2 && layerArr.type == 3) { |
| | | if (layerArr.tab != "moon:geo_mappable_unit") { |
| | | setGeoWms.push(layerArr.tab); |
| | | url = layerArr.url; |
| | | } |
| | | } else { |
| | | rightServer.addTreeData(layerArr); |
| | | } |
| | | } |
| | | if (setGeoWms.length > 0) { |
| | | rightServer.addGeoServerMmsLayers(setGeoWms.reverse(), url); |
| | | } |
| | | |
| | | store.commit("SET_CHECKLAYER", son); |
| | | setVisiable(data, isCheck); |
| | | //setVisiable(data, isCheck); |
| | | |
| | | // server.addLayer(layerArr, isCheck); |
| | | }; |
| | |
| | | } |
| | | |
| | | if (!treeNode.isAdd) { |
| | | rightServer.addTreeData(treeNode); |
| | | //rightServer.addTreeData(treeNode); |
| | | return; |
| | | } |
| | | }; |
| | |
| | | |
| | | if (res == 2) { |
| | | layerAttributeIsshow.value = true; |
| | | debugger; |
| | | store.state.tab = e; |
| | | } else { |
| | | if (!e.checked) { |
| | |
| | | } |
| | | }); |
| | | DefaultId.value = std; |
| | | |
| | | //æ·»å é»è®¤éä¸å¾å± |
| | | layerListData.value = dt.result; |
| | | defaultLayer(dt.result); |
| | | |
| | | var setGeoWms = []; |
| | | var url = null; |
| | | for (var i in dt.result) { |
| | | var layer = dt.result[i]; |
| | | if (layer.category == 2 && layer.type == 3) { |
| | | if (layer.tab != "moon:geo_mappable_unit") { |
| | | setGeoWms.push(layer.tab); |
| | | url = layer.url; |
| | | } |
| | | } else { |
| | | rightServer.addTreeData(layer); |
| | | } |
| | | } |
| | | if (setGeoWms.length > 0) { |
| | | rightServer.addGeoServerMmsLayers(setGeoWms.reverse(), url); |
| | | } |
| | | |
| | | nextTick(() => { |
| | | let son = estreeRef.value.getCheckedNodes(); |
| | | |
| | | store.commit("SET_CHECKLAYER", son); |
| | | }); |
| | | } |
| | |
| | | // let aa = stretchOptions[index]; |
| | | // let value = aa.value; |
| | | // if (brand === value) { |
| | | // console.log(select.value.$el.children); |
| | | |
| | | // select.value.$el.children[0].children[0].setAttribute( |
| | | // "style", |
| | | // "background:url(" + |
| | |
| | | import { ElMessage } from "element-plus"; |
| | | const store = useStore(); // è¯¥æ¹æ³ç¨äºè¿åstore å®ä¾ |
| | | const stretchValue = ref(""); |
| | | |
| | | const emits = defineEmits(["setCloseLayer"]); |
| | | let estreeRef = ref(); |
| | | const setLayer = ref(); |
| | | const transparence = ref(0); |
| | |
| | | const layerObjData = ref(null); |
| | | // å½åéä¸çèç¹ id |
| | | const selectedNodeId = ref(null as any); //åç±»åæè¨å¤ç |
| | | const emits = defineEmits(["setCloseLayer"]); |
| | | |
| | | //é»è®¤éä¸id |
| | | const DefaultId = ref([]); |
| | | //å¾å±è®¾ç½®å¼¹æ¡ |
| | |
| | | layerSetIsshow.value = res; |
| | | }; |
| | | const setCloseLayer = () => { |
| | | store.state.setLayerManager = false; |
| | | emits("setCloseLayer", false); |
| | | }; |
| | | //éæ©å¾å± |
| | |
| | | } |
| | | } |
| | | if (setGeoWms.length > 0) { |
| | | console.log(setGeoWms); |
| | | server.addGeoServerMmsLayers(setGeoWms.reverse(), url); |
| | | } |
| | | store.commit("SET_CHECKLAYER", son); |
| | |
| | | } |
| | | } |
| | | if (setGeoWms.length > 0) { |
| | | console.log(setGeoWms); |
| | | server.addGeoServerMmsLayers(setGeoWms.reverse(), url); |
| | | } |
| | | //; |
| | |
| | | }, |
| | | { deep: true } |
| | | ); |
| | | |
| | | // getLayer(); |
| | | onMounted(() => { |
| | | window.setLayer = getLayer; |
| | |
| | | <div class="layerBox"> |
| | | <div class="layerTitle"> |
| | | <div class="tileLeft"> |
| | | <div class="titleImg" @click="editState"> |
| | | <div |
| | | class="titleImg" |
| | | @click="editState" |
| | | > |
| | | <ArrowLeft /> |
| | | </div> |
| | | <div class="titleLable">å¾å±ç¼è¾</div> |
| | |
| | | :expand-on-click-node="false" |
| | | @node-click="handleNodeClick" |
| | | ref="treeRef" |
| | | style="font-size: 16px;" |
| | | /> |
| | | </div> |
| | | </div> |
| | | <div class="edit_box"> |
| | | <div class="edit_box_btn btnstyle"> |
| | | <el-button type="primary" :icon="Plus" @click="insertLayerData(1)" |
| | | >æ°å¢å级</el-button |
| | | > |
| | | <el-button type="primary" :icon="Plus" @click="insertLayerData(2)" |
| | | >æ°å¢å级</el-button |
| | | > |
| | | <el-button |
| | | type="primary" |
| | | :icon="Plus" |
| | | @click="insertLayerData(1)" |
| | | >æ°å¢å级</el-button> |
| | | <el-button |
| | | type="primary" |
| | | :icon="Plus" |
| | | @click="insertLayerData(2)" |
| | | >æ°å¢å级</el-button> |
| | | <el-button |
| | | type="primary" |
| | | :icon="Delete" |
| | | class="delbtn" |
| | | @click="delLayer" |
| | | >å é¤</el-button |
| | | > |
| | | <el-button type="primary" :icon="Top" @click="move(1)" |
| | | >åä¸ç§»å¨</el-button |
| | | > |
| | | <el-button type="primary" :icon="Bottom" @click="move(2)" |
| | | >åä¸ç§»å¨</el-button |
| | | > |
| | | >å é¤</el-button> |
| | | <el-button |
| | | type="primary" |
| | | :icon="Top" |
| | | @click="move(1)" |
| | | >åä¸ç§»å¨</el-button> |
| | | <el-button |
| | | type="primary" |
| | | :icon="Bottom" |
| | | @click="move(2)" |
| | | >åä¸ç§»å¨</el-button> |
| | | </div> |
| | | <div class="edit_box_form"> |
| | | <el-form :model="formInline" label-width="120px"> |
| | | <el-form |
| | | :model="formInline" |
| | | label-width="120px" |
| | | > |
| | | <el-form-item label="å¾å±ç±»å"> |
| | | <el-select style="width: 100%" v-model="formInline.isLayer"> |
| | | <el-option label="å¾å±ç»" value="0"></el-option> |
| | | <el-option label="å¾å±" value="1"></el-option> |
| | | <el-select |
| | | style="width: 100%" |
| | | v-model="formInline.isLayer" |
| | | > |
| | | <el-option |
| | | label="å¾å±ç»" |
| | | value="0" |
| | | ></el-option> |
| | | <el-option |
| | | label="å¾å±" |
| | | value="1" |
| | | ></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <!-- æå¡èµæº--> |
| | | <el-form-item v-show="formInline.isLayer == 1" label="æå¡èµæº"> |
| | | <el-form-item |
| | | v-show="formInline.isLayer == 1" |
| | | label="æå¡èµæº" |
| | | > |
| | | <el-button |
| | | size="small" |
| | | class="serviceButton" |
| | | @click="setServiceChange('0')" |
| | | key="0" |
| | | :class="{ serviceActive: !serviceActive }" |
| | | >å¦</el-button |
| | | > |
| | | >å¦</el-button> |
| | | <el-button |
| | | size="small" |
| | | class="serviceButton" |
| | | @click="setServiceChange('1')" |
| | | key="1" |
| | | :class="{ serviceActive: serviceActive }" |
| | | >æ¯</el-button |
| | | > |
| | | >æ¯</el-button> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="å¾å±åç§°"> |
| | |
| | | /> |
| | | </el-form-item> |
| | | <!-- æå¡ç±»å« --> |
| | | <el-form-item v-show="formInline.isLayer == 1" label="æå¡ç±»å«"> |
| | | <el-form-item |
| | | v-show="formInline.isLayer == 1" |
| | | label="æå¡ç±»å«" |
| | | > |
| | | <el-select |
| | | style="width: 100%" |
| | | v-model="formInline.category" |
| | |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="表åç§°" v-show="formInline.category == 2"> |
| | | <el-form-item |
| | | label="表åç§°" |
| | | v-show="formInline.category == 2" |
| | | > |
| | | <el-input |
| | | v-model="formInline.tab" |
| | | placeholder="请è¾å
¥è¡¨åç§°" |
| | |
| | | /> |
| | | </el-form-item> |
| | | <!-- æ°æ®ç±»å --> |
| | | <el-form-item v-show="formInline.isLayer == 1" label="æ°æ®ç±»å"> |
| | | <el-form-item |
| | | v-show="formInline.isLayer == 1" |
| | | label="æ°æ®ç±»å" |
| | | > |
| | | <el-select |
| | | style="width: 100%" |
| | | v-model="formInline.data" |
| | |
| | | </el-select> |
| | | </el-form-item> |
| | | <!-- æ°æ®ç±»å --> |
| | | <el-form-item v-show="formInline.isLayer == 1" label="æå¡ç±»å"> |
| | | <el-form-item |
| | | v-show="formInline.isLayer == 1" |
| | | label="æå¡ç±»å" |
| | | > |
| | | <el-select |
| | | style="width: 100%" |
| | | v-model="formInline.type" |
| | |
| | | </el-select> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="æå¡å°å" v-show="formInline.isLayer == 1"> |
| | | <el-form-item |
| | | label="æå¡å°å" |
| | | v-show="formInline.isLayer == 1" |
| | | > |
| | | <el-input |
| | | v-model="formInline.serviceUrl" |
| | | placeholder="请è¾å
¥æå¡å°å" |
| | |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <div class="btnstyle editBtn"> |
| | | <el-button type="primary" @click="onSubmit">ç¡®å®</el-button> |
| | | <el-button class="delbtn" @click="updateRest">åæ¶</el-button> |
| | | <el-button |
| | | type="primary" |
| | | @click="onSubmit" |
| | | >ç¡®å®</el-button> |
| | | <el-button |
| | | class="delbtn" |
| | | @click="updateRest" |
| | | >åæ¶</el-button> |
| | | </div> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | </div> |
| | | <el-dialog title="æ°å¢" v-model="dialogVisible" width="50%"> |
| | | <el-dialog |
| | | title="æ°å¢" |
| | | v-model="dialogVisible" |
| | | width="50%" |
| | | > |
| | | <div style="width: 100%; max-height: 63vh; overflow-y: auto"> |
| | | <el-form :model="insertData" label-width="120px"> |
| | | <el-form |
| | | :model="insertData" |
| | | label-width="120px" |
| | | > |
| | | <el-form-item label="å¾å±ç±»å"> |
| | | <el-select style="width: 100%" v-model="insertData.isLayer"> |
| | | <el-option label="å¾å±ç»" value="0"></el-option> |
| | | <el-option label="å¾å±" value="1"></el-option> |
| | | <el-select |
| | | style="width: 100%" |
| | | v-model="insertData.isLayer" |
| | | > |
| | | <el-option |
| | | label="å¾å±ç»" |
| | | value="0" |
| | | ></el-option> |
| | | <el-option |
| | | label="å¾å±" |
| | | value="1" |
| | | ></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <!-- æå¡èµæº--> |
| | | <el-form-item v-show="insertData.isLayer == 1" label="æå¡èµæº"> |
| | | <el-form-item |
| | | v-show="insertData.isLayer == 1" |
| | | label="æå¡èµæº" |
| | | > |
| | | <el-button |
| | | size="small" |
| | | class="serviceButton" |
| | | @click="setInsertServiceChange('0')" |
| | | key="0" |
| | | :class="{ serviceActive: !insertServiceActive }" |
| | | >å¦</el-button |
| | | > |
| | | >å¦</el-button> |
| | | <el-button |
| | | size="small" |
| | | class="serviceButton" |
| | | @click="setInsertServiceChange('1')" |
| | | key="1" |
| | | :class="{ serviceActive: insertServiceActive }" |
| | | >æ¯</el-button |
| | | > |
| | | >æ¯</el-button> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="å¾å±åç§°"> |
| | |
| | | /> |
| | | </el-form-item> |
| | | <!-- æå¡ç±»å« --> |
| | | <el-form-item v-show="insertData.isLayer == 1" label="æå¡ç±»å«"> |
| | | <el-form-item |
| | | v-show="insertData.isLayer == 1" |
| | | label="æå¡ç±»å«" |
| | | > |
| | | <el-select |
| | | style="width: 100%" |
| | | v-model="insertData.category" |
| | |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="表åç§°" v-show="insertData.category == 2"> |
| | | <el-form-item |
| | | label="表åç§°" |
| | | v-show="insertData.category == 2" |
| | | > |
| | | <el-input |
| | | v-model="insertData.tab" |
| | | placeholder="请è¾å
¥è¡¨åç§°" |
| | |
| | | /> |
| | | </el-form-item> |
| | | <!-- æ°æ®ç±»å --> |
| | | <el-form-item v-show="insertData.isLayer == 1" label="æ°æ®ç±»å"> |
| | | <el-form-item |
| | | v-show="insertData.isLayer == 1" |
| | | label="æ°æ®ç±»å" |
| | | > |
| | | <el-select |
| | | style="width: 100%" |
| | | v-model="insertData.data" |
| | |
| | | </el-select> |
| | | </el-form-item> |
| | | <!-- æ°æ®ç±»å --> |
| | | <el-form-item v-show="insertData.isLayer == 1" label="æå¡ç±»å"> |
| | | <el-form-item |
| | | v-show="insertData.isLayer == 1" |
| | | label="æå¡ç±»å" |
| | | > |
| | | <el-select |
| | | style="width: 100%" |
| | | v-model="insertData.type" |
| | |
| | | </el-select> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="æå¡å°å" v-show="insertData.isLayer == 1"> |
| | | <el-form-item |
| | | label="æå¡å°å" |
| | | v-show="insertData.isLayer == 1" |
| | | > |
| | | <el-input |
| | | v-model="insertData.serviceUrl" |
| | | placeholder="请è¾å
¥æå¡å°å" |
| | |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <div class="btnstyle editBtn"> |
| | | <el-button type="primary" size="small" @click="added()" |
| | | >ç¡®å®</el-button |
| | | > |
| | | <el-button |
| | | type="primary" |
| | | size="small" |
| | | @click="added()" |
| | | >ç¡®å®</el-button> |
| | | <el-button |
| | | class="delbtn" |
| | | type="info" |
| | | size="small" |
| | | @click="submitCancel()" |
| | | >åæ¶</el-button |
| | | > |
| | | >åæ¶</el-button> |
| | | </div> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | </el-dialog> |
| | | <el-dialog v-model="dialogService" width="50%" :show-close="false"> |
| | | <el-dialog |
| | | v-model="dialogService" |
| | | width="50%" |
| | | :show-close="false" |
| | | > |
| | | <div style="width: 100%; max-height: 63vh; overflow-y: auto"> |
| | | <div |
| | | style="display: flex; justify-content: space-between" |
| | | class="tableForm" |
| | | > |
| | | <div> |
| | | <el-input size="small" v-model="listData.name"> |
| | | <el-input |
| | | size="small" |
| | | v-model="listData.name" |
| | | > |
| | | <template #suffix> |
| | | <el-icon |
| | | class="el-input__icon el-icon-search" |
| | | @click="setServiceQuery" |
| | | ><search |
| | | /></el-icon> |
| | | > |
| | | <search /> |
| | | </el-icon> |
| | | </template> |
| | | </el-input> |
| | | </div> |
| | | <div class="btnstyle"> |
| | | <el-button type="info" size="small" @click="setServiceRest"> |
| | | <el-button |
| | | type="info" |
| | | size="small" |
| | | @click="setServiceRest" |
| | | > |
| | | éç½® |
| | | </el-button> |
| | | |
| | | <el-button type="primary" size="small" @click="setServiceConfirm"> |
| | | <el-button |
| | | type="primary" |
| | | size="small" |
| | | @click="setServiceConfirm" |
| | | > |
| | | 确认 |
| | | </el-button> |
| | | <el-button |
| | |
| | | </el-button> |
| | | </div> |
| | | </div> |
| | | <el-table ref="multipleTable" :data="tableData" @select="selectChange"> |
| | | <el-table-column type="selection" width="55"> </el-table-column> |
| | | <el-table |
| | | ref="multipleTable" |
| | | :data="tableData" |
| | | @select="selectChange" |
| | | > |
| | | <el-table-column |
| | | type="selection" |
| | | width="55" |
| | | > </el-table-column> |
| | | <el-table-column |
| | | align="center" |
| | | type="index" |
| | | label="åºå·" |
| | | width="70px" |
| | | /> |
| | | <el-table-column align="center" prop="cnName" label="èµæºåç§°" /> |
| | | <el-table-column |
| | | align="center" |
| | | prop="cnName" |
| | | label="èµæºåç§°" |
| | | /> |
| | | |
| | | <el-table-column |
| | | align="center" |
| | |
| | | :formatter="setResType" |
| | | /> |
| | | </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" |
| | |
| | | data: Tree, |
| | | checked: boolean, |
| | | indeterminate: boolean |
| | | ) => { |
| | | console.log(data, checked, indeterminate); |
| | | }; |
| | | ) => {}; |
| | | const onSubmit = () => { |
| | | if (!checkedStaste) { |
| | | return ElMessage.warning("请å
ç¹å»éä¸ç¸åºå¾å±"); |
| | |
| | | copyNode.nextSibling = { ...node.nextSibling }; |
| | | copyNode.parent = { ...node.parent }; |
| | | |
| | | // console.log(1111111111111, copyNode.previousSibling); |
| | | // console.log(2222222222222, copyNode.nextSibling); |
| | | // console.log(3333333333333, copyNode.parent); |
| | | if (Object.keys(copyNode.previousSibling).length !== 0) { |
| | | // å é¤åå
çnode |
| | | treeRef.value.remove(node.data); |
| | |
| | | |
| | | // å¤çèç¹ç¹å»äºä»¶ |
| | | function handleNodeClick(data: any) { |
| | | console.log(data); |
| | | |
| | | if (data.id === selectedNodeId.value) { |
| | | // 妿å½åèç¹å·²ç»éä¸ï¼ååæ¶éä¸ |
| | | selectedNodeId.value = null; |
| | |
| | | align-items: center; |
| | | |
| | | .titleLable { |
| | | font-size: 24px; |
| | | font-size: 18px; |
| | | font-family: Source Han Sans CN; |
| | | font-weight: 400; |
| | | color: #ffffff; |
| | |
| | | height: 92%; |
| | | overflow: auto; |
| | | } |
| | | |
| | | /deep/.el-tree-node__content { |
| | | font-size: 16px; |
| | | } |
| | | |
| | | .layerContent::-webkit-scrollbar { |
| | | width: 8px; |
| | | } |
| | |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item prop="verify"> |
| | | <div |
| | | style="display: flex; justify-content: space-between; width: 100%" |
| | | > |
| | | <div style="display: flex; justify-content: space-between; width: 100%"> |
| | | <el-input |
| | | placeholder="请è¾å
¥éªè¯ç ï¼å¿½ç¥å¤§å°åï¼" |
| | | v-model="ruleForm.verify" |
| | |
| | | type="primary" |
| | | class="nobr loginbtn btnbox" |
| | | @click="submitForm(ruleFormRef)" |
| | | >ç»å½</el-button |
| | | > |
| | | >ç»å½</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | |
| | | |
| | | formEl.validate((valid) => { |
| | | if (valid) { |
| | | console.log("submit!"); |
| | | setLogin(); |
| | | } else { |
| | | emitter.emit("handleDraw", true); |
| | | console.log("erro submit!"); |
| | | return false; |
| | | } |
| | | }); |
| | |
| | | }; |
| | | sign_login(data).then((res) => { |
| | | if (res.code != 200) return; |
| | | |
| | | store.commit("SET_UNAME", res.result.uname); |
| | | store.commit("SET_TOKEN", res.result.token); |
| | | router.push("/"); |
| | |
| | | <template> |
| | | <div class="menus" v-show="fullScreen"> |
| | | <div |
| | | class="menus" |
| | | v-show="fullScreen" |
| | | > |
| | | <div class="logo_box"> |
| | | <img src="../assets/img/logo.png" alt="" class="logo" /> |
| | | <img |
| | | src="../assets/img/logo.png" |
| | | alt="" |
| | | class="logo" |
| | | /> |
| | | <div class="logo_name"> |
| | | <h3>æçå¤§æ°æ®å°ç空é´åæå±ç¤ºå¹³å°</h3> |
| | | <img src="../assets/img/logob.png" alt="" class="logo_name_b" /> |
| | | <img |
| | | src="../assets/img/logob.png" |
| | | alt="" |
| | | class="logo_name_b" |
| | | /> |
| | | </div> |
| | | </div> |
| | | <div class="menus_box"> |
| | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="content_box" v-show="fullScreen"> |
| | | <div |
| | | class="content_box" |
| | | v-show="fullScreen" |
| | | > |
| | | <div |
| | | v-show="checkMenuFlag == 'l1'" |
| | | style="position: relative; display: flex" |
| | | > |
| | | <layer-manage @setCloseLayer="setCloseLayer"> </layer-manage> |
| | | |
| | | </div> |
| | | <div v-show="checkMenuFlag == 'l2'"> |
| | | <plotting> </plotting> |
| | | <div |
| | | style="position: relative; display: flex" |
| | | v-show="store.state.setLayerManager" |
| | | > |
| | | <layer-manage @setCloseLayer="setCloseLayer"></layer-manage> |
| | | </div> |
| | | |
| | | <div |
| | | style="position: relative; display: flex" |
| | | v-show="checkMenuFlag == 'l2'" |
| | | > |
| | | <plotting @setCloseplotting="setCloseplotting"> </plotting> |
| | | </div> |
| | | <div v-show="checkMenuFlag == 'l5'"> |
| | | <baseMapSwitching> </baseMapSwitching> |
| | | <baseMapSwitching @setCloseBaseMap="setCloseBaseMap"> </baseMapSwitching> |
| | | </div> |
| | | |
| | | <search v-if="thematicMapBtnState"> </search> |
| | | </div> |
| | | |
| | | <top-btn v-show="fullScreen" v-if="thematicMapBtnState"></top-btn> |
| | | |
| | | <thematic-map v-show="!thematicMapBtnState"></thematic-map> |
| | | <div class="fullScreen_btn" v-show="!fullScreen" @click="screen"></div> |
| | | <div |
| | | class="fullScreen_btn" |
| | | v-show="!fullScreen" |
| | | @click="screen" |
| | | ></div> |
| | | <div |
| | | v-show="store.state.doubleMenu" |
| | | class="setDobuleMap" |
| | |
| | | > |
| | | <double-layer></double-layer> |
| | | </div> |
| | | <div style="display: flex; position: absolute; z-index: 30; top: 23px; right: 23px;"> |
| | | <thematic-map v-show="!thematicMapBtnState"></thematic-map> |
| | | <top-btn |
| | | v-show="fullScreen" |
| | | v-if="thematicMapBtnState" |
| | | ></top-btn> |
| | | <div> |
| | | <div |
| | | class="setUserLogo" |
| | | @click="setLogMeu =!setLogMeu" |
| | | > |
| | | <div class="setUserImage"></div> |
| | | <div class="setUserTitle"> {{store.state.uname}} </div> |
| | | </div> |
| | | <div |
| | | v-show="setLogMeu" |
| | | class="setLogContent" |
| | | @click="setUserLogOut" |
| | | > |
| | | éåº |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | |
| | | </template> |
| | | |
| | | <script lang="ts" setup> |
| | |
| | | import baseMapSwitching from "@/views/baseMapSwitching/baseMapSwitching.vue"; |
| | | //åå±èå |
| | | import doubleLayer from "@/views/layer/doubleLayer.vue"; |
| | | import { removeToken } from "@/utils/auth"; |
| | | import store from "@/store"; |
| | | //Router |
| | | import router from "@/router"; |
| | | const menuOptions = ref([]); |
| | | const checkMenuFlag = ref(""); |
| | | let fullScreen = ref(true); |
| | | let thematicMapState = ref(true); |
| | | let thematicMapBtnState = ref(true); |
| | | const setLogMeu = ref(false); |
| | | const setDoubleScreenMap = () => { |
| | | store.state.doubleMenu = false; |
| | | store.state.doubleMap = true; |
| | | }; |
| | | const setUserLogOut = () => { |
| | | removeToken(); |
| | | router.push("/Login"); |
| | | }; |
| | | const setDobuleCloseLayer = () => { |
| | | store.state.doubleMenu = true; |
| | |
| | | const setShowMapChange = (res) => { |
| | | switch (res.id) { |
| | | case "15": |
| | | debugger; |
| | | break; |
| | | default: |
| | | debugger; |
| | | break; |
| | | } |
| | | // store.state.isShowMap = res; |
| | |
| | | // fullScreen.value = !fullScreen.value; |
| | | screen(); |
| | | } |
| | | |
| | | if (res.id == "l3") { |
| | | thematicMapState.value = false; |
| | | thematicMapBtnState.value = false; |
| | | } else { |
| | | } else if (res.id != "11") { |
| | | thematicMapState.value = true; |
| | | thematicMapBtnState.value = true; |
| | | } |
| | |
| | | checkMenuFlag.value = res.id; |
| | | menuTool.leftTools(res); |
| | | } |
| | | if (res.id == "l1") { |
| | | store.state.setLayerManager = !store.state.setLayerManager; |
| | | } else { |
| | | store.state.setLayerManager = false; |
| | | } |
| | | }; |
| | | const setCloseLayer = (res) => { |
| | | store.state.setLayerManager = false; |
| | | }; |
| | | const setCloseplotting = (res) => { |
| | | checkMenuFlag.value = null; |
| | | }; |
| | | |
| | | const setCloseBaseMap = (res) => { |
| | | checkMenuFlag.value = null; |
| | | }; |
| | | |
| | | // 忢æµè§å¨å
¨å± |
| | | const screen = () => { |
| | | fullScreen.value = !fullScreen.value; |
| | |
| | | if (!isFullScreen()) { |
| | | if (!fullScreen.value) { |
| | | fullScreen.value = !fullScreen.value; |
| | | console.log(fullScreen.value); |
| | | } |
| | | } |
| | | }); |
| | |
| | | background-size: 100% 100%; |
| | | cursor: pointer; |
| | | } |
| | | .setUserLogo { |
| | | height: 46px; |
| | | |
| | | display: flex; |
| | | .setUserImage { |
| | | width: 46px; |
| | | height: 46px; |
| | | background: url("../assets/img/å¾å± 18.png") no-repeat center; |
| | | background-size: 100% 100%; |
| | | cursor: pointer; |
| | | } |
| | | .setUserTitle { |
| | | height: 100%; |
| | | align-items: center; |
| | | display: flex; |
| | | font-size: 15px; |
| | | font-family: Microsoft YaHei; |
| | | font-weight: 400; |
| | | color: #d6e4ff; |
| | | margin-left: 10px; |
| | | } |
| | | } |
| | | .setLogContent { |
| | | width: calc(100% - 10px); |
| | | padding: 5px; |
| | | background: rgba(7, 8, 14, 0.8); |
| | | box-shadow: inset 0px 10px 40px 10px rgba(38, 47, 71, 1); |
| | | margin-top: 10px; |
| | | font-size: 14px; |
| | | font-family: Microsoft YaHei; |
| | | font-weight: 400; |
| | | color: #d6e4ff; |
| | | } |
| | | </style> |
| | |
| | | > |
| | | <div class="plottingTitle"> |
| | | <div class="tileLeft"> |
| | | <div class="titleImg"> |
| | | <div |
| | | class="titleImg" |
| | | @click="setCloseplotting" |
| | | > |
| | | <ArrowLeft /> |
| | | </div> |
| | | <div class="titleLable">æ ç»æ¥è¯¢</div> |
| | |
| | | defineProps, |
| | | defineEmits, |
| | | } from "vue"; |
| | | const emits = defineEmits(["setCloseplotting"]); |
| | | let list = ref([ |
| | | { |
| | | name: "Path #9", |
| | |
| | | icon: "m.png", |
| | | }, |
| | | ]); |
| | | const setCloseplotting = () => { |
| | | emits("setCloseplotting", false); |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="less" scoped> |
| | |
| | | background: rgba(7, 8, 14, 0.8); |
| | | box-shadow: inset 0px 10px 40px 10px rgba(38, 47, 71, 1); |
| | | z-index: 40; |
| | | position: absolute; |
| | | |
| | | .plottingTitle { |
| | | width: calc(100% - 27px); |
| | | height: 42px; |
| | |
| | | align-items: center; |
| | | |
| | | .titleLable { |
| | | font-size: 24px; |
| | | font-size: 18px; |
| | | font-family: Source Han Sans CN; |
| | | font-weight: 400; |
| | | color: #ffffff; |
| | |
| | | margin-top: 3px; |
| | | |
| | | .plotting_content_title { |
| | | font-size: 20px; |
| | | font-size: 16px; |
| | | font-weight: 300; |
| | | color: #ffffff; |
| | | } |
| | |
| | | height: 27px; |
| | | } |
| | | span { |
| | | font-size: 16px; |
| | | font-size: 14px; |
| | | font-weight: 300; |
| | | color: #ffffff; |
| | | margin-left: 10px; |
| | |
| | | if (!formEl) return; |
| | | formEl.validate((valid) => { |
| | | if (valid) { |
| | | console.log("submit!"); |
| | | |
| | | if (multipleSelection.value.length <= 0) { |
| | | ElMessage.error("è¯·éæ©è¦ä¸è½½ç表"); |
| | | } else { |
| | | setDownLoadFrom(); |
| | | } |
| | | } else { |
| | | console.log("erro submit!"); |
| | | |
| | | return false; |
| | | } |
| | | }); |
| | |
| | | placeholder="请è¾å
¥å°å" |
| | | > |
| | | <template #suffix> |
| | | <el-icon title="æ¸
é¤" @click="setSearchClose" class="el-input__icon"> |
| | | <el-icon |
| | | title="æ¸
é¤" |
| | | @click="setSearchClose" |
| | | class="el-input__icon" |
| | | > |
| | | <Close /> |
| | | </el-icon> |
| | | </template> |
| | | <template #prefix> |
| | | <el-icon @click="setSearchClick" title="æ¥è¯¢" class="el-input__icon"> |
| | | <el-icon |
| | | @click="setSearchClick" |
| | | title="æ¥è¯¢" |
| | | class="el-input__icon" |
| | | > |
| | | <search /> |
| | | </el-icon> |
| | | </template> |
| | | </el-input> |
| | | </div> |
| | | <div v-if="searchFLag" class="search_content"> |
| | | <el-collapse v-model="activeNames" @change="handleChange"> |
| | | <el-collapse-item title="æ¥è¯¢ç»æ" name="1"> |
| | | <div |
| | | v-if="searchFLag" |
| | | class="search_content" |
| | | > |
| | | <el-collapse |
| | | v-model="activeNames" |
| | | @change="handleChange" |
| | | > |
| | | <el-collapse-item |
| | | title="æ¥è¯¢ç»æ" |
| | | name="1" |
| | | > |
| | | <div class="search_content_text">æ»æ¥è¯¢ç»æ:{{ listData.count }}</div> |
| | | <div class="search_content_text paging"> |
| | | æ»é¡µæ°ï¼{{ listData.page }} |
| | |
| | | pageSize: 10, |
| | | }); |
| | | const imageLabel = null; |
| | | const NumhandleChange = (value: number) => { |
| | | console.log(value); |
| | | }; |
| | | const handleChange = (val: string[]) => { |
| | | console.log(val); |
| | | }; |
| | | const NumhandleChange = (value: number) => {}; |
| | | const handleChange = (val: string[]) => {}; |
| | | const setPoitCannel = () => { |
| | | imageLabel.deleteObject(); |
| | | imageLabel = null; |
| | |
| | | filter: "name like '" + searchValue.value + "'", |
| | | pageIndex: listData.value.pageIndex, |
| | | pageSize: listData.value.pageSize, |
| | | name: "lunarplacenane", |
| | | name: "lunarplacename", |
| | | hasGeom: 1, |
| | | }; |
| | | const data = await dataQuery_selectByPage(obj); |
| | |
| | | width: 243px; |
| | | // background: rgba(7, 8, 14, 0.8); |
| | | border-radius: 4px; |
| | | z-index: 40px; |
| | | .el-collapse, |
| | | /deep/ .el-collapse-item__wrap { |
| | | border: 0; |