| | |
| | | > |
| | | |
| | | <el-form-item :label="$t('common.name')"> |
| | | <el-input v-model="formInline.name"></el-input> |
| | | <!-- <el-input v-model="formInline.name"></el-input> --> |
| | | {{formInline.name}} |
| | | </el-form-item> |
| | | <el-form-item :label="$t('common.type')"> |
| | | <el-select |
| | | <!-- <el-select |
| | | v-model="formInline.type" |
| | | style="width:100%" |
| | | > |
| | |
| | | :value="item.value" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </el-select> --> |
| | | {{formInline.type}} |
| | | </el-form-item> |
| | | |
| | | <el-form-item :label="$t('common.bak')"> |
| | | <el-input v-model="formInline.bak"></el-input> |
| | | <!-- <el-input v-model="formInline.bak"></el-input> --> |
| | | {{formInline.bak}} |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <!-- <el-form-item> |
| | | <el-button |
| | | v-show="isShowModel" |
| | | type="success" |
| | |
| | | @click="InsertData" |
| | | >{{$t('common.increase')}}</el-button> |
| | | <el-button |
| | | v-show="!isShowModel" |
| | | v-show=" isShowModel" |
| | | type="info" |
| | | plain |
| | | size="small" |
| | | @click="EditData" |
| | | >{{$t('common.update')}}</el-button> |
| | | </el-form-item> |
| | | </el-form-item> |
| | | </el-form-item> --> |
| | | |
| | | </el-form> |
| | | |
| | | </el-tab-pane> |
| | |
| | | label="附件" |
| | | name="second" |
| | | > |
| | | |
| | | <el-table |
| | | :data="tableData" |
| | | ref="filterTable" |
| | |
| | | activeName: "first", |
| | | isShowModel: false, |
| | | options: [ |
| | | { |
| | | value: '倾斜模型', |
| | | label: '倾斜模型' |
| | | }, { |
| | | value: 'BIM模型', |
| | | label: 'BIM模型' |
| | | }, { |
| | | value: '点云模型', |
| | | label: '点云模型' |
| | | }, { |
| | | value: '地质设计模型', |
| | | label: '地质设计模型' |
| | | }, { |
| | | value: '人工模型', |
| | | label: '人工模型' |
| | | }, { |
| | | value: '其他模型', |
| | | label: '其他模型' |
| | | }], |
| | | modelClip:false, |
| | | clippingPlanes:null, |
| | | showPickUp:false, |
| | | { |
| | | value: '倾斜模型', |
| | | label: '倾斜模型' |
| | | }, { |
| | | value: 'BIM模型', |
| | | label: 'BIM模型' |
| | | }, { |
| | | value: '点云模型', |
| | | label: '点云模型' |
| | | }, { |
| | | value: '地质设计模型', |
| | | label: '地质设计模型' |
| | | }, { |
| | | value: '人工模型', |
| | | label: '人工模型' |
| | | }, { |
| | | value: '其他模型', |
| | | label: '其他模型' |
| | | }], |
| | | modelClip: false, |
| | | clippingPlanes: null, |
| | | showPickUp: false, |
| | | }; |
| | | }, |
| | | methods: { |
| | |
| | | this.$store.state.mapMenuBoolean = !this.$store.state.mapMenuBoolean; |
| | | this.$store.state.mapMenuBoxFlag = "2"; |
| | | break; |
| | | //拾取功能 |
| | | //拾取功能 |
| | | case "e3": |
| | | this.$store.state.mapMenuBoolean = false; |
| | | this.showPickUp = !this.showPickUp; |
| | | if (this.showPickUp){ |
| | | if (this.showPickUp) { |
| | | let that = this; |
| | | Viewer.screenSpaceEventHandler.setInputAction(function (event) { |
| | | let p = sgworld.Navigate.getMouseDegrees(event); |
| | | console.log(p); |
| | | that.getPickUpData(p); |
| | | }, Cesium.ScreenSpaceEventType.LEFT_CLICK); |
| | | }else { |
| | | } else { |
| | | this.$refs.queryinfo.closeAll(); |
| | | Viewer.screenSpaceEventHandler.removeInputAction(Cesium.ScreenSpaceEventType.LEFT_CLICK); |
| | | } |
| | |
| | | // } else { |
| | | var that = this; |
| | | that.modelClip = !that.modelClip; |
| | | if (that.modelClip){ |
| | | if (window.model){ |
| | | if (that.modelClip) { |
| | | if (window.model) { |
| | | that.modelClipping(); |
| | | } |
| | | else { |
| | | var tileset = Viewer.scene.primitives.add( |
| | | new Cesium.Cesium3DTileset({ |
| | | name: res.cnName, |
| | | url: modelUrl+ "/tileset/m/SN/tileset.json", |
| | | maximumScreenSpaceError: 64, // 最大屏幕空间错误:16 |
| | | maximumMemoryUsage: 768, // 最大内存:512 |
| | | dynamicScreenSpaceError: true, // 减少离相机较远的屏幕空间错误:false |
| | | skipLevelOfDetail: true, // 在遍历时候跳过详情:false |
| | | }) |
| | | new Cesium.Cesium3DTileset({ |
| | | name: res.cnName, |
| | | url: modelUrl + "/tileset/m/SN/tileset.json", |
| | | maximumScreenSpaceError: 64, // 最大屏幕空间错误:16 |
| | | maximumMemoryUsage: 768, // 最大内存:512 |
| | | dynamicScreenSpaceError: true, // 减少离相机较远的屏幕空间错误:false |
| | | skipLevelOfDetail: true, // 在遍历时候跳过详情:false |
| | | }) |
| | | ); |
| | | tileset.readyPromise.then((tileset) => { |
| | | tileset.id = res.cnName; |
| | |
| | | let clippingPlanes = new Cesium.ClippingPlaneCollection({ |
| | | planes: [ // ClippingPlane对象数组集合 |
| | | new Cesium.ClippingPlane( // 裁切面 |
| | | new Cesium.Cartesian3(0.0, 0.0, -1.0), // 法线方向 |
| | | 0// 原点到平面的最短距离,设置0就好 |
| | | new Cesium.Cartesian3(0.0, 0.0, -1.0), // 法线方向 |
| | | 0// 原点到平面的最短距离,设置0就好 |
| | | ), |
| | | ], |
| | | enabled:true, |
| | | enabled: true, |
| | | edgeWidth: 1.0, // 模型被裁切部分的截面线宽 |
| | | }); |
| | | let boundingSphere = window.model.boundingSphere; |
| | |
| | | position: boundingSphere.center, |
| | | plane: { |
| | | dimensions: new Cesium.Cartesian2( |
| | | boundingSphere.radius * 1.5, |
| | | boundingSphere.radius * 1.5 |
| | | boundingSphere.radius * 1.5, |
| | | boundingSphere.radius * 1.5 |
| | | ), |
| | | material: Cesium.Color.WHITE.withAlpha(0.1), |
| | | plane: new Cesium.CallbackProperty( |
| | | // 添加绑定事件,不断调用 |
| | | createPlaneUpdateFunction(plane), |
| | | false |
| | | // 添加绑定事件,不断调用 |
| | | createPlaneUpdateFunction(plane), |
| | | false |
| | | ), |
| | | outline: true, |
| | | outlineColor: Cesium.Color.WHITE, |
| | |
| | | // Select plane when mouse down |
| | | // 绑定上移动事件 |
| | | const downHandler = new Cesium.ScreenSpaceEventHandler( |
| | | Viewer.scene.canvas |
| | | Viewer.scene.canvas |
| | | ); |
| | | downHandler.setInputAction(function (movement) { |
| | | const pickedObject = scene.pick(movement.position); |
| | | if ( |
| | | Cesium.defined(pickedObject) && |
| | | Cesium.defined(pickedObject.id.plane) |
| | | Cesium.defined(pickedObject) && |
| | | Cesium.defined(pickedObject.id.plane) |
| | | ) { |
| | | selectedPlane = pickedObject.id.plane; |
| | | selectedPlane.material = Cesium.Color.WHITE.withAlpha(0.05); |
| | |
| | | // Release plane on mouse up |
| | | // 绑定下移动事件 |
| | | const upHandler = new Cesium.ScreenSpaceEventHandler( |
| | | Viewer.scene.canvas |
| | | Viewer.scene.canvas |
| | | ); |
| | | upHandler.setInputAction(function () { |
| | | if (Cesium.defined(selectedPlane)) { |
| | |
| | | }, Cesium.ScreenSpaceEventType.LEFT_UP); |
| | | // Update plane on mouse move |
| | | const moveHandler = new Cesium.ScreenSpaceEventHandler( |
| | | Viewer.scene.canvas |
| | | Viewer.scene.canvas |
| | | ); |
| | | moveHandler.setInputAction(function (movement) { |
| | | if (Cesium.defined(selectedPlane)) { |
| | |
| | | }, |
| | | |
| | | //关闭管道信息弹窗 |
| | | closePipelinePop(){ |
| | | closePipelinePop() { |
| | | this.$refs && |
| | | this.$refs.queryinfo && |
| | | this.$refs.queryinfo.close("queryinfo"); |
| | | this.$refs.queryinfo && |
| | | this.$refs.queryinfo.close("queryinfo"); |
| | | }, |
| | | setclippingModel() { |
| | | if (window.model) { |
| | |
| | | this.attacgSelection = val; |
| | | }, |
| | | //拾取数据获取 |
| | | async getPickUpData(info){ |
| | | async getPickUpData(info) { |
| | | let checkedLayers = JSON.parse(sessionStorage.getItem("checkedLayers")); |
| | | let showPop = false; |
| | | for (const item of checkedLayers) { |
| | | let name = item.url.replaceAll("LF:",""); |
| | | name = name.replaceAll("_",""); |
| | | let name = item.url.replaceAll("LF:", ""); |
| | | name = name.replaceAll("_", ""); |
| | | let params = { |
| | | buffer:10, |
| | | limit:20, |
| | | name:name, |
| | | wkt:`POINT (${info.lon} ${info.lat})`, |
| | | buffer: 10, |
| | | limit: 20, |
| | | name: name, |
| | | wkt: `POINT (${info.lon} ${info.lat})`, |
| | | } |
| | | const res = await selectByBuffer(params); |
| | | if (res.result && res.result.length > 0){ |
| | | if (res.result && res.result.length > 0) { |
| | | this.$store.state.mapPopBoxFlag = "4"; |
| | | this.$store.state.pickUpPointInfo = info; |
| | | this.$refs && |
| | | this.$refs.queryinfo && |
| | | this.$refs.queryinfo.open("拾取分析", null,); |
| | | this.$refs.queryinfo && |
| | | this.$refs.queryinfo.open("拾取分析", null,); |
| | | showPop = true; |
| | | break; |
| | | } |
| | | } |
| | | if (!showPop){ |
| | | if (!showPop) { |
| | | this.$message.warning("暂无数据!"); |
| | | } |
| | | } |