| | |
| | | </div> |
| | | </el-card> |
| | | </div> |
| | | <div style="display: flex"> |
| | | <!-- <div style="display: flex;">--> |
| | | <div |
| | | class="changeTerrain" |
| | | @click="changeTerrainLayer" |
| | | > |
| | | <div |
| | | @click="changeMenulayer" |
| | | class="center CenDiv" |
| | | :class="{ center1: centerFlag }" |
| | | > |
| | | <div |
| | | id="cenBg" |
| | | v-bind:class="{ active: isActive, menuLayer: isMenuLayer }" |
| | | ></div> |
| | | </div> |
| | | <div |
| | | @click="changeMapType" |
| | | class="changeMapType" |
| | | > |
| | | <div |
| | | id="cenBg" |
| | | :class="show2DMap ? 'mapTypeTwo' : 'mapTypeThree'" |
| | | ></div> |
| | | </div> |
| | | title="地形切换" |
| | | id="cenBg" |
| | | class="mapTerrain" |
| | | ></div> |
| | | </div> |
| | | <!-- class="center CenDiv"--> |
| | | <div |
| | | @click="changeMenulayer" |
| | | class="changeLayer" |
| | | > |
| | | <div |
| | | title="底图切换" |
| | | id="cenBg" |
| | | class="mapBaseMap" |
| | | ></div> |
| | | </div> |
| | | |
| | | <div |
| | | @click="changeMapType" |
| | | class="changeMapType" |
| | | > |
| | | <div |
| | | title="2/3维切换" |
| | | id="cenBg" |
| | | :class="show2DMap ? 'mapTypeTwo' : 'mapTypeThree'" |
| | | ></div> |
| | | </div> |
| | | <!-- </div>--> |
| | | <!-- 坡度分析弹窗--> |
| | | <div |
| | | class="lengend" |
| | | v-show="showLengendDialog" |
| | | > |
| | | <el-card class="box-card"> |
| | | <!-- <div |
| | | class="lengend_color" |
| | | style="height:205px" |
| | | > |
| | | |
| | | </div> --> |
| | | <div class="lengendBox"> |
| | | |
| | | <div> |
| | | <img |
| | | class="lengendImg" |
| | |
| | | <div>52.5°</div> |
| | | <div>70°</div> |
| | | </div> |
| | | |
| | | </div> |
| | | </el-card> |
| | | </div> |
| | | <div |
| | | class="HistLeng" |
| | | v-show="$store.state.histLenged" |
| | | > |
| | | <el-card class="box-card"> |
| | | <table> |
| | | <tr> |
| | | <td>粉质黏土</td> |
| | | <td> |
| | | <div style="width:100px;height:20px;background:rgba(139,106,77,1)"> |
| | | </div> |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td>淤泥质粉土</td> |
| | | <td> |
| | | <div style="width:100px;height:20px;background:rgba(141,85,69,1)"> |
| | | </div> |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td>圆砾</td> |
| | | <td> |
| | | <div style="width:100px;height:20px;background:rgba(102,166,184,1)"> |
| | | </div> |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td>卵石</td> |
| | | <td> |
| | | <div style="width:100px;height:20px;background:rgba(54,83,173,1)"> |
| | | </div> |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td>泥岩</td> |
| | | <td> |
| | | <div style="width:100px;height:20px;background:rgba(47,30,13,1)"> |
| | | </div> |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td>细砂</td> |
| | | <td> |
| | | <div style="width:100px;height:20px;background:rgba(93,88,15,1)"> |
| | | </div> |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td>中砂</td> |
| | | <td> |
| | | <div style="width:100px;height:20px;background:rgba(164,140,21,1)"> |
| | | </div> |
| | | </td> |
| | | </tr> |
| | | </table> |
| | | </el-card> |
| | | </div> |
| | | <!--属性信息弹窗--> |
| | |
| | | <span>属性信息</span> |
| | | <div style="float: right; cursor: pointer"> |
| | | <el-link |
| | | v-if="$store.state.propertiesName.tabDesc == '勘察工点'" |
| | | v-if="$store.state.propertiesName.enName == 's_surveyworksite'" |
| | | type="primary" |
| | | :underline="false" |
| | | @click="getPointInfo" |
| | |
| | | </div> |
| | | <!--勘察信息弹窗--> |
| | | <div |
| | | v-drag |
| | | class="attributionPop" |
| | | v-if="showAttribute" |
| | | > |
| | |
| | | v-if="dialog.isJpg" |
| | | class="pdfClass" |
| | | > |
| | | <img |
| | | style="width:100%; height:100%;" |
| | | <el-image |
| | | style="width:100%; height:100%" |
| | | :src="dialog.src" |
| | | alt="" |
| | | /> |
| | | :preview-src-list="[dialog.src]" |
| | | > |
| | | </el-image> |
| | | |
| | | </div> |
| | | </el-dialog> |
| | | <!-- <div--> |
| | |
| | | <!-- v-bind:class="{ active: isActive, menuLayer: isMenuLayer }"--> |
| | | <!-- ></div>--> |
| | | <!-- </div>--> |
| | | |
| | | </div> |
| | | <model-property ref='modelProperty'></model-property> |
| | | </div> |
| | | </template> |
| | | |
| | |
| | | import $ from "jquery"; |
| | | import mapMenuTop from "./MapView/mapMenuTop.vue"; |
| | | import mapSpaceTop from "./MapView/mapSpaceTop.vue"; |
| | | import ModelProperty from '../views/Tools/ModelProperty.vue' |
| | | import { |
| | | select_Comprehensive_ByPageAndCount, |
| | | select_Comprehensive_SelectWktById, |
| | |
| | | components: { |
| | | mapMenuTop, |
| | | mapSpaceTop, |
| | | ModelProperty |
| | | |
| | | }, |
| | | data() { |
| | | var validatePosition = (rule, value, callback) => { |
| | |
| | | attributeList: [], |
| | | valueZ: 0, |
| | | valueX: 0, |
| | | valueY: 0 |
| | | valueY: 0, |
| | | terrainflag: false, |
| | | }; |
| | | }, |
| | | mounted() { |
| | |
| | | window.pickedColor = window.pickedFeature.color |
| | | window.pickedFeature.color = Cesium.Color.RED.withAlpha(0.3); |
| | | |
| | | this.$store.state.catModel = true; |
| | | this.$store.state.catModelInfo = { |
| | | // this.$store.state.catModel = true; |
| | | that.$store.state.catModelInfo = { |
| | | id: pickedFeature.getProperty("id"), |
| | | name: pickedFeature.getProperty("name"), |
| | | layerId: pickedFeature.primitive.layerId, |
| | | layerName: pickedFeature.primitive.id |
| | | }; |
| | | that.$refs && that.$refs.modelProperty && that.$refs.modelProperty.open(); |
| | | } |
| | | } |
| | | } |
| | |
| | | }, |
| | | init3DMap() { |
| | | var webKey = "94a34772eb88317fcbf8428e10448561"; |
| | | |
| | | //地图初始化 |
| | | window.sgworld = new SmartEarth.SGWorld("mapdiv", { |
| | | url: SmartEarthRootUrl + "Workers/image/earth.jpg", |
| | | |
| | | licenseServer: window.sceneConfig.licenseServer, |
| | | }); |
| | | |
| | | window.Viewer = window.sgworld._Viewer; |
| | | Viewer.imageryLayers._layers[0].show = false; |
| | | |
| | | //定位 |
| | | // sgworld.Navigate.jumpTo({ |
| | | // //跳转视角 |
| | |
| | | Viewer.camera.flyTo({ |
| | | destination: Cesium.Cartesian3.fromDegrees(110, 33, 8000000), |
| | | }); |
| | | this.layer1 = Viewer.imageryLayers.addImageryProvider( |
| | | new Cesium.UrlTemplateImageryProvider({ |
| | | url: gaoDeBaseUrl[0].url, |
| | | }) |
| | | ); |
| | | |
| | | this.layer2 = Viewer.imageryLayers.addImageryProvider( |
| | | new Cesium.UrlTemplateImageryProvider({ |
| | | url: gaoDeBaseUrl[1].url, |
| | | }) |
| | | ); |
| | | // this.layer3 = Viewer.imageryLayers.addImageryProvider( |
| | | // window.BaseMapLayer = Viewer.imageryLayers.addImageryProvider( |
| | | // new Cesium.UrlTemplateImageryProvider({ |
| | | // url: gaoDeBaseUrl[2].url, |
| | | // url: gaoDeBaseUrl[1].url, |
| | | // }) |
| | | // ); |
| | | |
| | | // window.ImageLayer3 = this.layer3; |
| | | |
| | | // for (var i in gaoDeBaseUrl) { |
| | | // sgworld.Creator.createUrlTemplateImageryProvider( |
| | | // gaoDeBaseUrl[i].label, |
| | | // gaoDeBaseUrl[i].url, |
| | | // '0', |
| | | // undefined, |
| | | // true, |
| | | // '' |
| | | // ); |
| | | // } |
| | | |
| | | Viewer._enableInfoOrSelection = false; |
| | | //显示fps |
| | |
| | | //开启深度检测 |
| | | // sgworld.Analysis.depthTestAgainstTerrain(true) |
| | | Viewer.scene.globe.depthTestAgainstTerrain = true; |
| | | //影像对比设置 |
| | | // var base = { |
| | | // url: 'https://a.tile.openstreetmap.org/', |
| | | // }; |
| | | // window.openStreetMap = sgworld.Creator.createImageryProvider( |
| | | // 'OpenStreetMap', |
| | | // 'OpenStreetMap', |
| | | // base, |
| | | // '0', |
| | | // undefined, |
| | | // true, |
| | | // '' |
| | | // ); |
| | | // openStreetMap.item.show = false; |
| | | |
| | | // Viewer.terrainProvider = new Cesium.CesiumTerrainProvider({ |
| | | // url: demLayer, |
| | | // }) |
| | | var option = { |
| | | url: window.sceneConfig.SGUrl, |
| | | layerName: window.sceneConfig.mptName, |
| | | requestVertexNormals: true, |
| | | }; |
| | | sgworld.Creator.sfsterrainprovider("", option, "", true, ""); |
| | | window.terrainLayer = sgworld.Creator.sfsterrainprovider("", option, "", true, ""); |
| | | |
| | | window.elevationTool = new SmartEarth.ElevationTool(window.sgworld); |
| | | elevationTool.setContourColor("#F1D487"); |
| | | |
| | | // var helper = new Cesium.EventHelper(); |
| | | // helper.add(Viewer.scene.globe.tileLoadProgressEvent, function (e) { |
| | | |
| | | // if (e == 0) { |
| | | // console.log("这个是加载最后一个矢量切片的回调"); |
| | | // } |
| | | // helper.removeAll(); |
| | | // helper = undefined; |
| | | // }); |
| | | }, |
| | | //dem切换 |
| | | changeTerrainLayer() { |
| | | if (this.terrainflag) { |
| | | Viewer.terrainProvider = new Cesium.EllipsoidTerrainProvider(); |
| | | var option = { |
| | | url: window.sceneConfig.SGUrl, |
| | | layerName: window.sceneConfig.mptName, |
| | | requestVertexNormals: true, |
| | | }; |
| | | window.terrainLayer = sgworld.Creator.sfsterrainprovider("", option, "", true, ""); |
| | | Viewer.camera.flyTo({ |
| | | destination: Cesium.Cartesian3.fromDegrees(110, 33, 8000000), |
| | | }); |
| | | |
| | | } else { |
| | | window.terrainLayer.deleteObject(); |
| | | window.terrainLayer = null; |
| | | |
| | | window.terrainLayer = new Cesium.CesiumTerrainProvider({ |
| | | url: LFData + '/3d/terrain/dem20230321' |
| | | }); |
| | | Viewer.terrainProvider = window.terrainLayer |
| | | Viewer.camera.flyTo({ |
| | | destination: Cesium.Cartesian3.fromDegrees(113.229279, 31.215949, 1000), |
| | | orientation: { |
| | | heading: 6.08434611923462, |
| | | pitch: Cesium.Math.toRadians(-45.0), |
| | | roll: 0.0 |
| | | } |
| | | }); |
| | | |
| | | } |
| | | this.terrainflag = !this.terrainflag |
| | | }, |
| | | changeMenulayer() { |
| | | this.isActive = !this.isActive; |
| | | this.isMenuLayer = !this.isMenuLayer; |
| | | this.setLayerVisible(); |
| | | this.$bus.$emit("setChangeBaseMapLayer", true) |
| | | // this.$refs && this.$refs.addOnlineMap && this.$refs.addOnlineMap.open("地下模式", null,); |
| | | // this.isActive = !this.isActive; |
| | | // this.isMenuLayer = !this.isMenuLayer; |
| | | // this.setLayerVisible(); |
| | | }, |
| | | setLayerVisible() { |
| | | if (this.isActive == true) { |
| | |
| | | tabName: tabName, |
| | | }; |
| | | const res = await dataLib_selectFiles(obj); |
| | | |
| | | if (res.code != 200) { |
| | | this.$message.error('附件查询失败'); |
| | | return |
| | |
| | | }, |
| | | //勘察信息表 |
| | | getPointInfo() { |
| | | this.showAttribute = !this.showAttribute; |
| | | |
| | | if (this.showAttribute) { |
| | | let attrbuteOption = workSite; |
| | | var name = attrbuteOption[0].table.replaceAll("_", ""); |
| | | this.getAttributeDomFiled(name); |
| | | |
| | | } |
| | | let attrbuteOption = workSite; |
| | | var name = attrbuteOption[0].table.replaceAll("_", ""); |
| | | this.getAttributeDomFiled(name); |
| | | }, |
| | | //获取每个表字段名称及阈值 |
| | | async getAttributeDomFiled(res) { |
| | |
| | | title: title, |
| | | filter: "workname = " + "'" + title + "'", |
| | | } |
| | | |
| | | const data = await dataQuery_selectByPage(parmams); |
| | | if (data.code != 200) { |
| | | this.$message.error("调用列表失败,请联系工作人员!"); |
| | | return; |
| | | } |
| | | |
| | | if (!data.result.length) { |
| | | this.$message.error("未查询到勘探信息数据"); |
| | | return |
| | | } |
| | | this.showAttribute = !this.showAttribute; |
| | | var res_val = attributeFild; |
| | | for (var i in data.result) { |
| | | let val_Data = data.result[i]; |
| | |
| | | position: absolute; |
| | | z-index: 40; |
| | | } |
| | | |
| | | .HistLeng { |
| | | z-index: 40; |
| | | position: absolute; |
| | | right: 115px; |
| | | bottom: 10px; |
| | | } |
| | | .lengend { |
| | | width: 300px; |
| | | z-index: 40; |
| | |
| | | .CenDiv { |
| | | position: absolute; |
| | | bottom: 1%; |
| | | left: 1%; |
| | | left: calc(1% + 75px); |
| | | 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); |
| | | // box-shadow: 3px 3px 6px #666; |
| | | // border: 1px solid rgba(204, 204, 204, 0.76); |
| | | border-radius: 5px; |
| | | cursor: pointer; |
| | | } |
| | |
| | | flex-direction: column; |
| | | justify-content: space-between; |
| | | } |
| | | .CenDiv:hover { |
| | | border: 1px solid #409eff; |
| | | } |
| | | // .CenDiv:hover { |
| | | // border: 1px solid #409eff; |
| | | // } |
| | | .active { |
| | | width: 100%; |
| | | height: 100%; |
| | |
| | | border-radius: 5px; |
| | | } |
| | | |
| | | .changeMapType { |
| | | .mapBaseMap { |
| | | width: 100%; |
| | | height: 100%; |
| | | //margin-left: 10px; |
| | | background-image: url("../assets/img/basemap.png"); |
| | | //background-image: url("../assets/img/synthesis/底图.png"); |
| | | background-repeat: no-repeat; |
| | | background-size: contain; |
| | | } |
| | | //.changeMapType { |
| | | // position: absolute; |
| | | // bottom: 1%; |
| | | // left: calc(1% + 150px); |
| | | // height: 40px; |
| | | // width: 60px; |
| | | // z-index: 101; |
| | | // display: flex; |
| | | // justify-content: center; |
| | | // align-items: center; |
| | | // // box-shadow: 3px 3px 6px #666; |
| | | // //border: 1px solid rgba(204, 204, 204, 0.76); |
| | | // border-radius: 5px; |
| | | // |
| | | // cursor: pointer; |
| | | //} |
| | | .changeTerrain { |
| | | position: absolute; |
| | | bottom: 1%; |
| | | left: calc(1% + 75px); |
| | | height: 40px; |
| | | width: 60px; |
| | | bottom: 84px; |
| | | right: 46px; |
| | | height: 30px; |
| | | width: 30px; |
| | | z-index: 101; |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | // box-shadow: 3px 3px 6px #666; |
| | | //border: 1px solid rgba(204, 204, 204, 0.76); |
| | | border-radius: 5px; |
| | | |
| | | cursor: pointer; |
| | | border: 1px solid rgba(255, 255, 255, 0.5); |
| | | } |
| | | .changeLayer { |
| | | position: absolute; |
| | | bottom: 116px; |
| | | right: 46px; |
| | | height: 30px; |
| | | width: 30px; |
| | | z-index: 101; |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | cursor: pointer; |
| | | border: 1px solid rgba(255, 255, 255, 0.5); |
| | | } |
| | | .changeMapType { |
| | | position: absolute; |
| | | bottom: 52px; |
| | | right: 46px; |
| | | height: 30px; |
| | | width: 30px; |
| | | z-index: 101; |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | cursor: pointer; |
| | | border: 1px solid rgba(255, 255, 255, 0.5); |
| | | } |
| | | //.changeTerrain { |
| | | // position: absolute; |
| | | // bottom: 1%; |
| | | // left: 1%; |
| | | // height: 40px; |
| | | // width: 60px; |
| | | // z-index: 101; |
| | | // display: flex; |
| | | // justify-content: center; |
| | | // align-items: center; |
| | | // |
| | | // border-radius: 5px; |
| | | // cursor: pointer; |
| | | //} |
| | | |
| | | .mapTypeTwo { |
| | | width: 100%; |
| | | height: 100%; |
| | | margin-left: 10px; |
| | | background-image: url("../assets/img/synthesis/3D.png"); |
| | | background-image: url("../assets/img/3D.png"); |
| | | //background-image: url("../assets/img/synthesis/3D.png"); |
| | | background-repeat: no-repeat; |
| | | background-size: contain; |
| | | |
| | | //background-size: contain; |
| | | } |
| | | .mapTerrain { |
| | | width: 100%; |
| | | height: 100%; |
| | | //margin-left: 10px; |
| | | //background-image: url("../assets/img/synthesis/地形.png"); |
| | | //background-image: url("../assets/img/synthesis/地形.png"); |
| | | background-image: url("../assets/img/terrain.png"); |
| | | background-repeat: no-repeat; |
| | | //background-size: contain; |
| | | } |
| | | .mapTypeThree { |
| | | width: 100%; |
| | | height: 100%; |
| | | margin-left: 10px; |
| | | background-image: url("../assets/img/synthesis/2D 拷贝 2.png"); |
| | | //margin-left: 10px; |
| | | background-image: url("../assets/img/2D.png"); |
| | | background-repeat: no-repeat; |
| | | background-size: contain; |
| | | //background-size: contain; |
| | | } |
| | | |
| | | .pdfClass { |