From 1355c04087927dfed32827d23609e2b04a8cabea Mon Sep 17 00:00:00 2001 From: Surpriseplus <845948745@qq.com> Date: 星期一, 04 九月 2023 11:27:37 +0800 Subject: [PATCH] 影像对比,地名查询,图层管理界面修改 --- src/views/baseMapSwitching/baseMapSwitching.vue | 1 src/views/query/SpatialQuery.vue | 4 src/views/layer/attributeList.vue | 2 src/views/layer/layerSet.vue | 9 - src/views/menus.vue | 28 ++++- src/views/search/search.vue | 38 +++++-- src/assets/js/Map/olMap.js | 20 ++++ src/views/export/exportMap.vue | 1 src/assets/js/Map/rightServer.js | 48 +++++++++ src/components/mouseMove.vue | 18 -- src/views/login.vue | 10 - src/views/Map/mapView.vue | 10 - src/views/layer/doubleLayer.vue | 46 ++++++++- src/components/topBtn.vue | 2 src/views/layer/layerDetail.vue | 2 src/assets/js/Map/menuTool.js | 4 src/views/plotting/plotting.vue | 11 + src/views/layer/layerManage.vue | 8 18 files changed, 188 insertions(+), 74 deletions(-) diff --git a/src/assets/js/Map/menuTool.js b/src/assets/js/Map/menuTool.js index 874b603..66dfe8e 100644 --- a/src/assets/js/Map/menuTool.js +++ b/src/assets/js/Map/menuTool.js @@ -324,6 +324,9 @@ }, thematicTools(res) { switch (res.id) { + case "t1": + store.state.setLayerManager = !store.state.setLayerManager; + break; case "t2": this.createSimpleGraphic("rectangle", "square"); break; @@ -430,6 +433,7 @@ 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({ diff --git a/src/assets/js/Map/olMap.js b/src/assets/js/Map/olMap.js index 696d1e5..5b90955 100644 --- a/src/assets/js/Map/olMap.js +++ b/src/assets/js/Map/olMap.js @@ -196,7 +196,27 @@ }); 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; diff --git a/src/assets/js/Map/rightServer.js b/src/assets/js/Map/rightServer.js index 4c85743..d5e9a48 100644 --- a/src/assets/js/Map/rightServer.js +++ b/src/assets/js/Map/rightServer.js @@ -353,5 +353,53 @@ 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; diff --git a/src/components/mouseMove.vue b/src/components/mouseMove.vue index 0e06feb..0d2f2cc 100644 --- a/src/components/mouseMove.vue +++ b/src/components/mouseMove.vue @@ -141,7 +141,7 @@ // 褰撳墠楂樺害 let height = Viewer.camera.positionCartographic.height; heightlevel = getLevel(height); - console.log(heightlevel); + if (heightlevel == 6) { gridDel(); grid(5); @@ -178,7 +178,7 @@ // ]) // ); // } - // console.log(ps); + // let polylineGeometry = new Cesium.PolylineGeometry({ // positions: ps, // width: 5, @@ -203,16 +203,6 @@ 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"; @@ -260,7 +250,7 @@ if (lat === 0) { text = ""; } - // console.log(lat, "---lat"); + let obj = entities.add({ position: Cesium.Cartesian3.fromDegrees(0, lat), polyline: { @@ -291,7 +281,7 @@ }); entitiesObj.latLine.push(obj); } - console.log(entitiesObj); + // 鎶楅敮榻� if (Cesium.FeatureDetection.supportsImageRenderingPixelated()) { //鍒ゆ柇鏄惁鏀寔鍥惧儚娓叉煋鍍忕礌鍖栧鐞� diff --git a/src/components/topBtn.vue b/src/components/topBtn.vue index 8b4b9f4..cd267ab 100644 --- a/src/components/topBtn.vue +++ b/src/components/topBtn.vue @@ -101,7 +101,7 @@ } else { if (res.level == 1) { checkFlag.value = null; - // console.log(res); + if (res.name == "娓呴櫎") { menuTool.clearALL(checkArr); } diff --git a/src/views/Map/mapView.vue b/src/views/Map/mapView.vue index 4f9cfd1..122a5ce 100644 --- a/src/views/Map/mapView.vue +++ b/src/views/Map/mapView.vue @@ -1,9 +1,7 @@ <template> - <div - id="cesiumContainer" - class="cesiumContainer" - > - + <div class="MapViewBox"> + <div id="cesiumContainer"> + </div> </div> </template> @@ -35,7 +33,7 @@ </script> <style lang="less" scoped> -.cesiumContainer { +.MapViewBox { width: 100%; height: 100%; margin: 0; diff --git a/src/views/baseMapSwitching/baseMapSwitching.vue b/src/views/baseMapSwitching/baseMapSwitching.vue index 62cfd66..a101b79 100644 --- a/src/views/baseMapSwitching/baseMapSwitching.vue +++ b/src/views/baseMapSwitching/baseMapSwitching.vue @@ -45,7 +45,6 @@ let list = ref([]); const activceIndex = ref(); const setProjectionLayerChange = (res) => { - console.log(res); let projection = { code: "", extent: [], diff --git a/src/views/export/exportMap.vue b/src/views/export/exportMap.vue index a98663b..bafcabc 100644 --- a/src/views/export/exportMap.vue +++ b/src/views/export/exportMap.vue @@ -139,7 +139,6 @@ // 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) => { diff --git a/src/views/layer/attributeList.vue b/src/views/layer/attributeList.vue index 410bc80..1ede907 100644 --- a/src/views/layer/attributeList.vue +++ b/src/views/layer/attributeList.vue @@ -304,7 +304,6 @@ value: std[i], }); } - debugger; condOption.value = str; formSql.value.type = std[0]; }; @@ -323,7 +322,6 @@ watch( () => props.layerData, (nVal, oVal) => { - // console.log("鍊煎彂鐢熶簡鍙樻洿", nVal, oVal); startQueryData(); }, { deep: true } diff --git a/src/views/layer/doubleLayer.vue b/src/views/layer/doubleLayer.vue index 26535af..186343f 100644 --- a/src/views/layer/doubleLayer.vue +++ b/src/views/layer/doubleLayer.vue @@ -148,10 +148,29 @@ 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); }; @@ -170,7 +189,7 @@ } if (!treeNode.isAdd) { - rightServer.addTreeData(treeNode); + //rightServer.addTreeData(treeNode); return; } }; @@ -191,7 +210,6 @@ if (res == 2) { layerAttributeIsshow.value = true; - debugger; store.state.tab = e; } else { if (!e.checked) { @@ -270,13 +288,29 @@ } }); 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); }); } diff --git a/src/views/layer/layerDetail.vue b/src/views/layer/layerDetail.vue index 14fe6fa..2c404d0 100644 --- a/src/views/layer/layerDetail.vue +++ b/src/views/layer/layerDetail.vue @@ -199,7 +199,7 @@ // 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(" + diff --git a/src/views/layer/layerManage.vue b/src/views/layer/layerManage.vue index ac879e4..647fa23 100644 --- a/src/views/layer/layerManage.vue +++ b/src/views/layer/layerManage.vue @@ -108,7 +108,7 @@ import { ElMessage } from "element-plus"; const store = useStore(); // 璇ユ柟娉曠敤浜庤繑鍥瀞tore 瀹炰緥 const stretchValue = ref(""); - +const emits = defineEmits(["setCloseLayer"]); let estreeRef = ref(); const setLayer = ref(); const transparence = ref(0); @@ -126,7 +126,7 @@ const layerObjData = ref(null); // 褰撳墠閫変腑鐨勮妭鐐� id const selectedNodeId = ref(null as any); //鍋氱被鍨嬫柇瑷�澶勭悊 -const emits = defineEmits(["setCloseLayer"]); + //榛樿閫変腑id const DefaultId = ref([]); //鍥惧眰璁剧疆寮规 @@ -138,6 +138,7 @@ layerSetIsshow.value = res; }; const setCloseLayer = () => { + store.state.setLayerManager = false; emits("setCloseLayer", false); }; //閫夋嫨鍥惧眰 @@ -166,7 +167,6 @@ } } if (setGeoWms.length > 0) { - console.log(setGeoWms); server.addGeoServerMmsLayers(setGeoWms.reverse(), url); } store.commit("SET_CHECKLAYER", son); @@ -311,7 +311,6 @@ } } if (setGeoWms.length > 0) { - console.log(setGeoWms); server.addGeoServerMmsLayers(setGeoWms.reverse(), url); } //; @@ -350,6 +349,7 @@ }, { deep: true } ); + // getLayer(); onMounted(() => { window.setLayer = getLayer; diff --git a/src/views/layer/layerSet.vue b/src/views/layer/layerSet.vue index f91eb0a..adf4b63 100644 --- a/src/views/layer/layerSet.vue +++ b/src/views/layer/layerSet.vue @@ -793,9 +793,7 @@ data: Tree, checked: boolean, indeterminate: boolean -) => { - console.log(data, checked, indeterminate); -}; +) => {}; const onSubmit = () => { if (!checkedStaste) { return ElMessage.warning("璇峰厛鐐瑰嚮閫変腑鐩稿簲鍥惧眰"); @@ -808,9 +806,6 @@ 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) { // 鍒犻櫎鍘熷厛鐨刵ode treeRef.value.remove(node.data); @@ -843,8 +838,6 @@ // 澶勭悊鑺傜偣鐐瑰嚮浜嬩欢 function handleNodeClick(data: any) { - console.log(data); - if (data.id === selectedNodeId.value) { // 濡傛灉褰撳墠鑺傜偣宸茬粡閫変腑锛屽垯鍙栨秷閫変腑 selectedNodeId.value = null; diff --git a/src/views/login.vue b/src/views/login.vue index 85a51bd..6bf00ee 100644 --- a/src/views/login.vue +++ b/src/views/login.vue @@ -64,9 +64,7 @@ /> </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" @@ -80,8 +78,7 @@ type="primary" class="nobr loginbtn btnbox" @click="submitForm(ruleFormRef)" - >鐧诲綍</el-button - > + >鐧诲綍</el-button> </el-form-item> </el-form> </div> @@ -156,11 +153,10 @@ formEl.validate((valid) => { if (valid) { - console.log("submit!"); setLogin(); } else { emitter.emit("handleDraw", true); - console.log("erro submit!"); + return false; } }); diff --git a/src/views/menus.vue b/src/views/menus.vue index 09c41e8..0c7afb4 100644 --- a/src/views/menus.vue +++ b/src/views/menus.vue @@ -48,10 +48,20 @@ 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> @@ -130,10 +140,8 @@ const setShowMapChange = (res) => { switch (res.id) { case "15": - debugger; break; default: - debugger; break; } // store.state.isShowMap = res; @@ -143,7 +151,6 @@ // fullScreen.value = !fullScreen.value; screen(); } - debugger; if (res.id == "l3") { thematicMapState.value = false; thematicMapBtnState.value = false; @@ -157,8 +164,16 @@ 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; }; // 鍒囨崲娴忚鍣ㄥ叏灞� @@ -192,7 +207,6 @@ if (!isFullScreen()) { if (!fullScreen.value) { fullScreen.value = !fullScreen.value; - console.log(fullScreen.value); } } }); diff --git a/src/views/plotting/plotting.vue b/src/views/plotting/plotting.vue index ebf2e59..3426ac5 100644 --- a/src/views/plotting/plotting.vue +++ b/src/views/plotting/plotting.vue @@ -5,7 +5,10 @@ > <div class="plottingTitle"> <div class="tileLeft"> - <div class="titleImg"> + <div + class="titleImg" + @click="setCloseplotting" + > <ArrowLeft /> </div> <div class="titleLable">鏍囩粯鏌ヨ</div> @@ -52,6 +55,7 @@ defineProps, defineEmits, } from "vue"; +const emits = defineEmits(["setCloseplotting"]); let list = ref([ { name: "Path #9", @@ -69,6 +73,9 @@ icon: "m.png", }, ]); +const setCloseplotting = () => { + emits("setCloseplotting", false); +}; </script> <style lang="less" scoped> @@ -78,7 +85,7 @@ 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; diff --git a/src/views/query/SpatialQuery.vue b/src/views/query/SpatialQuery.vue index 9a6cb27..efe40e0 100644 --- a/src/views/query/SpatialQuery.vue +++ b/src/views/query/SpatialQuery.vue @@ -349,14 +349,14 @@ 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; } }); diff --git a/src/views/search/search.vue b/src/views/search/search.vue index a65c2c3..dafb57a 100644 --- a/src/views/search/search.vue +++ b/src/views/search/search.vue @@ -7,20 +7,37 @@ 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 }} @@ -109,12 +126,8 @@ 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; @@ -185,7 +198,7 @@ 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); @@ -221,6 +234,7 @@ width: 243px; // background: rgba(7, 8, 14, 0.8); border-radius: 4px; + z-index: 40px; .el-collapse, /deep/ .el-collapse-item__wrap { border: 0; -- Gitblit v1.9.3