diff --git a/src/assets/images/icon/bookmark-one.svg b/src/assets/images/icon/bookmark-one.svg new file mode 100644 index 0000000..843250c --- /dev/null +++ b/src/assets/images/icon/bookmark-one.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/assets/images/icon/boy.svg b/src/assets/images/icon/boy.svg new file mode 100644 index 0000000..11ee7c4 --- /dev/null +++ b/src/assets/images/icon/boy.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/assets/images/icon/calib-dir.png b/src/assets/images/icon/calib-dir.png new file mode 100644 index 0000000..9abf615 Binary files /dev/null and b/src/assets/images/icon/calib-dir.png differ diff --git a/src/assets/images/icon/calib-semicircle.png b/src/assets/images/icon/calib-semicircle.png new file mode 100644 index 0000000..4bfd911 Binary files /dev/null and b/src/assets/images/icon/calib-semicircle.png differ diff --git a/src/assets/images/icon/calib-value.png b/src/assets/images/icon/calib-value.png new file mode 100644 index 0000000..b1f79ce Binary files /dev/null and b/src/assets/images/icon/calib-value.png differ diff --git a/src/assets/images/icon/calib.png b/src/assets/images/icon/calib.png new file mode 100644 index 0000000..a9d2b04 Binary files /dev/null and b/src/assets/images/icon/calib.png differ diff --git a/src/assets/images/icon/camera.svg b/src/assets/images/icon/camera.svg new file mode 100644 index 0000000..7a33003 --- /dev/null +++ b/src/assets/images/icon/camera.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/images/icon/chinese.svg b/src/assets/images/icon/chinese.svg new file mode 100644 index 0000000..943e117 --- /dev/null +++ b/src/assets/images/icon/chinese.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/assets/images/icon/delete.svg b/src/assets/images/icon/delete.svg new file mode 100644 index 0000000..3d3792a --- /dev/null +++ b/src/assets/images/icon/delete.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/src/assets/images/icon/div1.png b/src/assets/images/icon/div1.png new file mode 100644 index 0000000..9bed7b8 Binary files /dev/null and b/src/assets/images/icon/div1.png differ diff --git a/src/assets/images/icon/div2.png b/src/assets/images/icon/div2.png new file mode 100644 index 0000000..93e08e2 Binary files /dev/null and b/src/assets/images/icon/div2.png differ diff --git a/src/assets/images/icon/emergency.gif b/src/assets/images/icon/emergency.gif new file mode 100644 index 0000000..9cd3dbd Binary files /dev/null and b/src/assets/images/icon/emergency.gif differ diff --git a/src/assets/images/icon/fire.png b/src/assets/images/icon/fire.png new file mode 100644 index 0000000..2a3f9f8 Binary files /dev/null and b/src/assets/images/icon/fire.png differ diff --git a/src/assets/images/icon/girl.svg b/src/assets/images/icon/girl.svg new file mode 100644 index 0000000..563525b --- /dev/null +++ b/src/assets/images/icon/girl.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/assets/images/icon/good.svg b/src/assets/images/icon/good.svg new file mode 100644 index 0000000..db68cd2 --- /dev/null +++ b/src/assets/images/icon/good.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/assets/images/icon/huojian.svg b/src/assets/images/icon/huojian.svg new file mode 100644 index 0000000..49d9d03 --- /dev/null +++ b/src/assets/images/icon/huojian.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/images/icon/lbl-circle.png b/src/assets/images/icon/lbl-circle.png new file mode 100644 index 0000000..31c418f Binary files /dev/null and b/src/assets/images/icon/lbl-circle.png differ diff --git a/src/assets/images/icon/lbl-circle2.png b/src/assets/images/icon/lbl-circle2.png new file mode 100644 index 0000000..0ff1abf Binary files /dev/null and b/src/assets/images/icon/lbl-circle2.png differ diff --git a/src/assets/images/icon/lbl-extent.png b/src/assets/images/icon/lbl-extent.png new file mode 100644 index 0000000..eae04a7 Binary files /dev/null and b/src/assets/images/icon/lbl-extent.png differ diff --git a/src/assets/images/icon/lbl-extent2.png b/src/assets/images/icon/lbl-extent2.png new file mode 100644 index 0000000..771303f Binary files /dev/null and b/src/assets/images/icon/lbl-extent2.png differ diff --git a/src/assets/images/icon/linePoint1.png b/src/assets/images/icon/linePoint1.png new file mode 100644 index 0000000..90aff53 Binary files /dev/null and b/src/assets/images/icon/linePoint1.png differ diff --git a/src/assets/images/icon/linePoint2.png b/src/assets/images/icon/linePoint2.png new file mode 100644 index 0000000..d19c16f Binary files /dev/null and b/src/assets/images/icon/linePoint2.png differ diff --git a/src/assets/images/icon/map-title-b.png b/src/assets/images/icon/map-title-b.png new file mode 100644 index 0000000..c4beb3f Binary files /dev/null and b/src/assets/images/icon/map-title-b.png differ diff --git a/src/assets/images/icon/map-title-h.png b/src/assets/images/icon/map-title-h.png new file mode 100644 index 0000000..0d3b550 Binary files /dev/null and b/src/assets/images/icon/map-title-h.png differ diff --git a/src/assets/images/icon/map-title-o.png b/src/assets/images/icon/map-title-o.png new file mode 100644 index 0000000..783c95b Binary files /dev/null and b/src/assets/images/icon/map-title-o.png differ diff --git a/src/assets/images/icon/map-title-r.png b/src/assets/images/icon/map-title-r.png new file mode 100644 index 0000000..ec13130 Binary files /dev/null and b/src/assets/images/icon/map-title-r.png differ diff --git a/src/assets/images/icon/map-title-y.png b/src/assets/images/icon/map-title-y.png new file mode 100644 index 0000000..76961e3 Binary files /dev/null and b/src/assets/images/icon/map-title-y.png differ diff --git a/src/assets/images/icon/missile_blue.png b/src/assets/images/icon/missile_blue.png new file mode 100644 index 0000000..0e26496 Binary files /dev/null and b/src/assets/images/icon/missile_blue.png differ diff --git a/src/assets/images/icon/missile_red.png b/src/assets/images/icon/missile_red.png new file mode 100644 index 0000000..38ec805 Binary files /dev/null and b/src/assets/images/icon/missile_red.png differ diff --git a/src/assets/images/icon/move.png b/src/assets/images/icon/move.png new file mode 100644 index 0000000..816b5f9 Binary files /dev/null and b/src/assets/images/icon/move.png differ diff --git a/src/assets/images/icon/move.svg b/src/assets/images/icon/move.svg new file mode 100644 index 0000000..66dae75 --- /dev/null +++ b/src/assets/images/icon/move.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/assets/images/icon/plane_Blue.png b/src/assets/images/icon/plane_Blue.png new file mode 100644 index 0000000..bad17a9 Binary files /dev/null and b/src/assets/images/icon/plane_Blue.png differ diff --git a/src/assets/images/icon/popupLbl.png b/src/assets/images/icon/popupLbl.png new file mode 100644 index 0000000..3f02f1a Binary files /dev/null and b/src/assets/images/icon/popupLbl.png differ diff --git a/src/assets/images/icon/redBaseCamp.png b/src/assets/images/icon/redBaseCamp.png new file mode 100644 index 0000000..13b9acc Binary files /dev/null and b/src/assets/images/icon/redBaseCamp.png differ diff --git a/src/assets/images/icon/rotate.png b/src/assets/images/icon/rotate.png new file mode 100644 index 0000000..0960459 Binary files /dev/null and b/src/assets/images/icon/rotate.png differ diff --git a/src/assets/images/icon/search.svg b/src/assets/images/icon/search.svg new file mode 100644 index 0000000..2d26b35 --- /dev/null +++ b/src/assets/images/icon/search.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/assets/images/icon/symbol1.png b/src/assets/images/icon/symbol1.png new file mode 100644 index 0000000..3016695 Binary files /dev/null and b/src/assets/images/icon/symbol1.png differ diff --git a/src/assets/images/icon/symbol2.png b/src/assets/images/icon/symbol2.png new file mode 100644 index 0000000..2961b50 Binary files /dev/null and b/src/assets/images/icon/symbol2.png differ diff --git a/src/assets/images/icon/textPnl.png b/src/assets/images/icon/textPnl.png new file mode 100644 index 0000000..ec39a68 Binary files /dev/null and b/src/assets/images/icon/textPnl.png differ diff --git a/src/assets/images/icon/tf.gif b/src/assets/images/icon/tf.gif new file mode 100644 index 0000000..46d688c Binary files /dev/null and b/src/assets/images/icon/tf.gif differ diff --git a/src/assets/images/icon/typhoon.gif b/src/assets/images/icon/typhoon.gif new file mode 100644 index 0000000..48cc6ed Binary files /dev/null and b/src/assets/images/icon/typhoon.gif differ diff --git a/src/assets/images/icon/wall.png b/src/assets/images/icon/wall.png new file mode 100644 index 0000000..2825097 Binary files /dev/null and b/src/assets/images/icon/wall.png differ diff --git a/src/assets/images/icon/warn.png b/src/assets/images/icon/warn.png new file mode 100644 index 0000000..ba1bb3e Binary files /dev/null and b/src/assets/images/icon/warn.png differ diff --git a/src/assets/images/icon/分割.png b/src/assets/images/icon/分割.png new file mode 100644 index 0000000..d4147cd Binary files /dev/null and b/src/assets/images/icon/分割.png differ diff --git a/src/assets/images/icon/监测建筑.png b/src/assets/images/icon/监测建筑.png new file mode 100644 index 0000000..79d2c6d Binary files /dev/null and b/src/assets/images/icon/监测建筑.png differ diff --git a/src/assets/images/icon/监测面积.png b/src/assets/images/icon/监测面积.png new file mode 100644 index 0000000..eb44c59 Binary files /dev/null and b/src/assets/images/icon/监测面积.png differ diff --git a/src/views/goverment/frontLargeScreen/components/spaceAnalysis.vue b/src/views/goverment/frontLargeScreen/components/spaceAnalysis.vue index e2873b6..7e2f15f 100644 --- a/src/views/goverment/frontLargeScreen/components/spaceAnalysis.vue +++ b/src/views/goverment/frontLargeScreen/components/spaceAnalysis.vue @@ -65,6 +65,7 @@
添加可视域 + 保存
@@ -126,6 +127,7 @@
添加矩形 添加多边形 + 保存
@@ -292,7 +294,7 @@ import dayjs from "dayjs"; import { ref, watch, onMounted, computed, onUnmounted } from "vue"; import { ElMessage } from "element-plus"; const props = defineProps(["mapInstance"]); -const emits = defineEmits(["hiddenConfim"]); +const emits = defineEmits(["hiddenConfim", "saveJson"]); const mainMenuShow = ref(true); const subMenuShow = ref(false); const sunshineText = ref("播放"); @@ -338,11 +340,13 @@ const menuList = ref([ { name: "模型压平", icon: new URL("../../../../assets/images/Mars3DIcon/mxyp.png", import.meta.url).href }, { name: "限高分析", icon: new URL("../../../../assets/images/Mars3DIcon/xgfx.png", import.meta.url).href } ]); +const clearBool = ref(true); +const initGraphicLength = ref(0); let map: any = props.mapInstance; +let graphicLayer: any; let measure: any; let measureVolume: any; let shadows: any; -let graphicLayer: any; let terrainClip: any; let underground: any; let slope: any; @@ -356,12 +360,13 @@ onMounted(() => { console.log(map, "66666"); graphicLayer = new mars3d.layer.GraphicLayer(); map.addLayer(graphicLayer); - map.scene.globe.depthTestAgainstTerrain = true; // 不加无法投射到地形上 + // map.scene.globe.depthTestAgainstTerrain = true; // 不加无法投射到地形上 + initGraphicLength.value = graphicLayer.getGraphics().length; // 地形开挖 terrainClip = new mars3d.thing.TerrainClip({ diffHeight: allProperty.value.diffHeight, // 井的深度 - image: new URL("../../../assets/images/Mars3DImg/textures/poly-stone.jpg", import.meta.url).href, - imageBottom: new URL("../../../assets/images/Mars3DImg/textures/poly-soil.jpg", import.meta.url).href, + image: new URL("../../../../assets/images/Mars3DImg/textures/poly-stone.jpg", import.meta.url).href, + imageBottom: new URL("../../../../assets/images/Mars3DImg/textures/poly-soil.jpg", import.meta.url).href, splitNum: 80, // 井边界插值数 enabled: true }); @@ -391,10 +396,28 @@ onMounted(() => { }); map.addThing(contourLine); }); +// 保存配置的图上JSON数据 +const saveJson = async () => { + // if (graphicLayer.length == 0) { + // ElMessage("当前没有任何数据,无需保存!"); + // return; + // } + console.log(map); + console.log(terrainClip.list); + let arr: any = terrainClip.list; + // map.eachThing(item => { + // console.log(item); + // arr.push(item); + // }); + arr = arr.concat(graphicLayer.getGraphics()); + clearBool.value = false; + console.log(arr); + emits("saveJson", arr); +}; // 限定高度--绘制面 const drawheightLimitPoly = () => { - map.graphicLayer.clear(); - map.graphicLayer.startDraw({ + graphicLayer.clear(); + graphicLayer.startDraw({ type: "polygon", style: { color: "#ffff00", @@ -406,15 +429,15 @@ const drawheightLimitPoly = () => { const positions = graphic.positionsShow; limitHeight.positions = positions; - map.graphicLayer.clear(); + graphicLayer.clear(); console.log("绘制坐标为", JSON.stringify(mars3d.LngLatArray.toArray(positions))); // 方便测试拷贝坐标 } }); }; // 限定高度--绘制矩形 const drawheightLimitDrawExtent = () => { - map.graphicLayer.clear(); - map.graphicLayer.startDraw({ + graphicLayer.clear(); + graphicLayer.startDraw({ type: "rectangle", style: { color: "#ffff00", @@ -426,7 +449,7 @@ const drawheightLimitDrawExtent = () => { const positions = graphic.getOutlinePositions(false); limitHeight.positions = positions; - map.graphicLayer.clear(); + graphicLayer.clear(); } }); }; @@ -436,8 +459,8 @@ const limitHeightOperate = (e: any) => { }; // 模型压平--绘制多边形 const btnModelFlattenDraw = () => { - map.graphicLayer.clear(); - map.graphicLayer.startDraw({ + graphicLayer.clear(); + graphicLayer.startDraw({ type: "polygon", style: { color: "#007be6", @@ -446,7 +469,7 @@ const btnModelFlattenDraw = () => { success: function (graphic: any) { // 绘制成功后回调 const positions = graphic.positionsShow; - map.graphicLayer.clear(); + graphicLayer.clear(); console.log("绘制坐标为", JSON.stringify(mars3d.LngLatArray.toArray(positions))); // 方便测试拷贝坐标 @@ -456,8 +479,8 @@ const btnModelFlattenDraw = () => { }; // 模型压平--绘制矩形 const btnModelFlattenDrawExtent = () => { - map.graphicLayer.clear(); - map.graphicLayer.startDraw({ + graphicLayer.clear(); + graphicLayer.startDraw({ type: "rectangle", style: { color: "#007be6", @@ -467,7 +490,7 @@ const btnModelFlattenDrawExtent = () => { success: function (graphic: any) { // 绘制成功后回调 const positions = graphic.getOutlinePositions(false); - map.graphicLayer.clear(); + graphicLayer.clear(); console.log("绘制坐标为", JSON.stringify(mars3d.LngLatArray.toArray(positions))); // 方便测试拷贝坐标 @@ -540,7 +563,7 @@ const drawSectionPoly = () => { success: function (graphic: any) { // 绘制成功后回调 const positions = graphic.positionsShow; - map.graphicLayer.clear(); + graphicLayer.clear(); modelPlanClip.clipOutSide = allProperty.value.clipOutSide; modelPlanClip.positions = positions; @@ -562,7 +585,7 @@ const drawSectionLine = () => { success: function (graphic: any) { // 绘制成功后回调 const positions = graphic.positionsShow; - map.graphicLayer.clear(); + graphicLayer.clear(); modelPlanClip.positions = positions; } @@ -581,7 +604,7 @@ const modelSectionOperate = (e: any, label: any) => { // 图上选中模型 const selectModal = () => { // 拾取点位 - map.graphicLayer.startDraw({ + graphicLayer.startDraw({ type: "point", style: { color: "#00fff2" @@ -657,7 +680,7 @@ const surfaceOpacityOperate = (e: any, label: any) => { }; // 地形开挖---多边形 const btnDraw = () => { - map.graphicLayer.startDraw({ + graphicLayer.startDraw({ type: "polygon", style: { color: "#007be6", @@ -666,10 +689,9 @@ const btnDraw = () => { }, success: (graphic: any) => { const positions = graphic.positionsShow; - map.graphicLayer.clear(); + graphicLayer.clear(); console.log(JSON.stringify(mars3d.LngLatArray.toArray(positions))); // 打印下边界 - console.log(positions); // 挖地区域 const areaItem = terrainClip.addArea(positions); } @@ -677,7 +699,7 @@ const btnDraw = () => { }; // 地形开挖---矩形 const btnDrawExtent = () => { - map.graphicLayer.startDraw({ + graphicLayer.startDraw({ type: "rectangle", style: { color: "#007be6", @@ -685,7 +707,7 @@ const btnDrawExtent = () => { }, success: (graphic: any) => { const positions = graphic.getOutlinePositions(false); - map.graphicLayer.clear(); + graphicLayer.clear(); console.log(JSON.stringify(mars3d.LngLatArray.toArray(positions))); // 打印下边界 @@ -704,7 +726,7 @@ const selectHeight = () => { ElMessage("请先开始方量分析"); } // 拾取高度 - map.graphicLayer.startDraw({ + graphicLayer.startDraw({ type: "point", style: { color: "#00fff2" @@ -712,7 +734,7 @@ const selectHeight = () => { success: (graphic: any) => { console.log(666); const height = graphic.point?.alt; - map.graphicLayer.removeGraphic(graphic); + graphicLayer.removeGraphic(graphic); if (!height) { return; } @@ -769,7 +791,11 @@ const volumeOperate = (e: any, label: any) => { const clearShow = () => { console.log(selectedName.value); if (selectedName.value == "可视域") { - graphicLayer.clear(); + graphicLayer.getGraphics().map(item => { + if (item.type == "viewShed") { + graphicLayer.removeGraphic(item); + } + }); } else if (selectedName.value == "方量分析") { measure.clear(); measureVolume = null; @@ -820,7 +846,7 @@ const backMainMenu = () => { } else if (name == "可视域") { } else if (name == "方量分析") { } else if (name == "地形开挖") { - terrainClip.clear(); // 清除挖地区域 + // terrainClip.clear(); // 清除挖地区域 } else if (name == "地表透明") { underground.remove(); // 清除地表透明 allProperty.value.enabled = false; diff --git a/src/views/goverment/frontLargeScreen/index.vue b/src/views/goverment/frontLargeScreen/index.vue index 378e4f0..6b7d474 100644 --- a/src/views/goverment/frontLargeScreen/index.vue +++ b/src/views/goverment/frontLargeScreen/index.vue @@ -129,7 +129,7 @@ - + @@ -486,11 +486,26 @@ const getPlusConfig = async () => { }; // 展示保存的地图标绘配置 const showMapData = (arr: any) => { + console.log(arr); if (arr && arr.length > 0) { arr.map(item => { - if (item.type != "fixedRoute") { - graphicLayer.addGraphic(item); - console.log("111111111111111"); + if (item.pitPrimitive && item.pitPrimitive.type == "pit") { + // 地形开挖 + console.log(123456789); + if (item.pitPrimitive.style.imageBottom) { + const terrainClip = new mars3d.thing.TerrainClip({ + diffHeight: item.pitPrimitive.style.diffHeight, // 井的深度 + image: new URL("../../../assets/images/Mars3DImg/textures/poly-stone.jpg", import.meta.url).href, + imageBottom: new URL("../../../assets/images/Mars3DImg/textures/poly-soil.jpg", import.meta.url).href, + splitNum: 80, // 井边界插值数 + enabled: true + }); + map.addThing(terrainClip); + const positions = item.pitPrimitive.points || item.pitPrimitive.positions; + console.log(positions); + // 挖地区域 + terrainClip.addArea(positions); + } } else if (item.type == "fixedRoute") { const newRoutePath = new mars3d.graphic.FixedRoute({ id: item.id, @@ -540,6 +555,9 @@ const showMapData = (arr: any) => { // 启动漫游 newRoutePath.flyTo(); newRoutePath.start(); + } else { + graphicLayer.addGraphic(item); + console.log("111111111111111"); } }); } @@ -562,8 +580,25 @@ const getConfig = async () => { const saveAddLayer = async (subGraphicLayer: any) => { const geojson = subGraphicLayer.getGraphics(false); console.log(geojson); - // let allArr = layerJsonArr.value.concat(geojson); - let requestData: any = { configKey: "layerConfig", configValue: JSON.stringify(geojson) }; + let allArr = layerJsonArr.value.concat(geojson); + let requestData: any = { configKey: "layerConfig", configValue: JSON.stringify(allArr) }; + if (layerJsonArr.value.length > 0) { + requestData.configId = layerId.value; + } + console.log(layerJsonArr.value); + const res = await updateSystemConfig(requestData); + console.log(res); + if (res.code == 200) { + ElMessage.success("操作成功"); + } +}; +// 单独保存空间分析操作 +const saveAnalysisLayer = async (subLayerData: any) => { + const geojson = subLayerData; + console.log(geojson); + let allArr = layerJsonArr.value.concat(geojson); + console.log(allArr); + let requestData: any = { configKey: "layerConfig", configValue: JSON.stringify(allArr) }; if (layerJsonArr.value.length > 0) { requestData.configId = layerId.value; }