| | |
| | | <template> |
| | | <div class="specialTool"> |
| | | |
| | | <div class="bottomwrapper" :class="{ 'top-btn-active': viewer1Show && isLand }"> |
| | | <div class="imgbox" @click="tdglHandle"> |
| | | <img src="@assets/img/new/tudiguanli.png" alt="" /> |
| | |
| | | <span> 历史影像 </span> |
| | | </div> |
| | | </div> |
| | | <div class="bottomwrapper csbj"> |
| | | <el-dropdown trigger="click" @command="handleCommand"> |
| | | <div class="imgbox"> |
| | | <img src="@assets/img/new/chengshibujian.png" alt="" /> |
| | | </div> |
| | | <div class="textbox"> |
| | | <span> 综合扩展 </span> |
| | | </div> |
| | | <el-dropdown-menu slot="dropdown" :append-to-body="false" class="popper-dropdown"> |
| | | <el-dropdown-item command="stdsjHandle">视图大数据平台</el-dropdown-item> |
| | | <el-dropdown-item command="bzdSystem">标准地监管平台</el-dropdown-item> |
| | | <el-dropdown-item v-if="isShowSPJK" command="spjkHandle">视频集成与可视化</el-dropdown-item> |
| | | <el-dropdown-item v-else command="closeSpjk">关闭视频点位分布</el-dropdown-item> |
| | | <el-dropdown-item v-if="isShowSjxl" command="sjxlHandle">手机信令热力分布</el-dropdown-item> |
| | | <el-dropdown-item v-else command="closeSjxl">关闭信令热力分布</el-dropdown-item> |
| | | <el-dropdown-item command="csgxHandle">城市更新</el-dropdown-item> |
| | | </el-dropdown-menu> |
| | | </el-dropdown> |
| | | <div class="bottomwrapper csbj" @click="spjkHandle" :class="{ 'top-btn-active': !isShowSPJK }"> |
| | | <div class="imgbox"> |
| | | <img src="@assets/img/new/spjk.png" alt="" /> |
| | | </div> |
| | | <div class="textbox"> |
| | | <span>视频监控</span> |
| | | </div> |
| | | </div> |
| | | |
| | | |
| | | <div class="bottomwrapper spjk" @click="shoujixinling" :class="{ 'top-btn-active': !isShowSjxl }"> |
| | | <div class="imgbox"> |
| | | <img src="@assets/img/new/sjxl.png" alt="" /> |
| | | </div> |
| | | <div class="textbox"> |
| | | <span> 手机信令 </span> |
| | | </div> |
| | | </div> |
| | | |
| | | |
| | | <div class="bottomwrapper jxmx"> |
| | | <el-dropdown trigger="click" @command="handleCommand"> |
| | | <div class="imgbox"> |
| | |
| | | |
| | | <style scoped> |
| | | .specialTool { |
| | | width: 440px; |
| | | width: 550px; |
| | | position: absolute; |
| | | bottom: 65px; |
| | | color: #fff; |
| | |
| | | justify-content: space-between; |
| | | } |
| | | |
| | | .specialTool .bottomwrapper:nth-of-type(2), |
| | | |
| | | |
| | | .specialTool .bottomwrapper:nth-of-type(3) { |
| | | /* background: red; */ |
| | | position: relative; |
| | | top: -30px; |
| | | } |
| | | |
| | | .specialTool .bottomwrapper:nth-of-type(2), |
| | | .specialTool .bottomwrapper:nth-of-type(4) { |
| | | /* background: red; */ |
| | | position: relative; |
| | | top: -18px; |
| | |
| | | } |
| | | |
| | | .imgbox { |
| | | width: 84px; |
| | | height: 81px; |
| | | background-image: url("~@/assets/img/new/bottomBox.png"); |
| | | width: 110px; |
| | | height: 90px; |
| | | background-image: url("~@/assets/img/new/b1.png"); |
| | | background-size: 100% 100%; |
| | | position: relative; |
| | | } |
| | | |
| | | .imgbox:hover { |
| | | background-image: url("~@/assets/img/new/h1.png"); |
| | | } |
| | | |
| | | .imgbox img { |
| | | width: 38px; |
| | | width: 32px; |
| | | position: absolute; |
| | | top: 50%; |
| | | left: 52.5%; |
| | | top: 37%; |
| | | left: 50%; |
| | | transform: translate(-50%, -50%); |
| | | } |
| | | |
| | |
| | | background: rgba(14, 50, 143, 0.6); |
| | | box-shadow: 0px 0px 9px 3px rgba(20, 105, 233, 0.7) inset; |
| | | text-align: center; |
| | | left: -36.5% !important; |
| | | width: 155px; |
| | | border: none; |
| | | } |
| | | |
| | | .el-dropdown /deep/ .el-dropdown-selfdefine { |
| | | margin-left: 8px !important; |
| | | margin-left: 0 !important; |
| | | } |
| | | |
| | | .csbj .el-dropdown-menu { |
| | | top: -215px !important; |
| | | top: -180px !important; |
| | | left: -30.5% !important; |
| | | } |
| | | |
| | | .jxmx .el-dropdown-menu { |
| | | top: -110px !important; |
| | | left: -26.5% !important; |
| | | } |
| | | |
| | | .el-dropdown-menu /deep/ .el-dropdown-menu__item { |
| | |
| | | } |
| | | |
| | | .csbj .el-popper /deep/ .popper__arrow::after { |
| | | margin: 0; |
| | | border-top-color: rgba(14, 50, 143, 0.6); |
| | | border-top-width: 6px; |
| | | border-bottom-width: 0; |
| | | top: 201px; |
| | | left: 37px; |
| | | top: 166px; |
| | | left: 31px; |
| | | } |
| | | |
| | | .jxmx .el-popper /deep/ .popper__arrow::after { |
| | | margin: 0; |
| | | |
| | | border-top-color: rgba(14, 50, 143, 0.6); |
| | | border-top-width: 6px; |
| | | border-bottom-width: 0; |
| | | top: 96px; |
| | | left: -26px; |
| | | left: -32px; |
| | | } |
| | | |
| | | .el-dropdown-menu__item:focus, |
| | |
| | | box-shadow: 0px 0px 5px 3px rgba(0, 168, 255, 0.16); |
| | | } |
| | | |
| | | .top-btn-active { |
| | | background: #0987ff !important; |
| | | .top-btn-active .imgbox { |
| | | background-image: url("~@/assets/img/new/h1.png"); |
| | | background-size: 100% 100%; |
| | | } |
| | | |
| | | .scroll_div { |
| | |
| | | |
| | | import axios from "axios"; |
| | | export default { |
| | | components: {}, |
| | | components: { |
| | | |
| | | }, |
| | | name: "bottom-menu", |
| | | data() { |
| | | return { |
| | |
| | | isShowSPRH: true, |
| | | csbjShow: false, |
| | | jxmxShow: false, |
| | | |
| | | romanOption: [ |
| | | { name: "核心区" }, |
| | | { name: "景观绿地" }, |
| | |
| | | far: 3000, |
| | | cameraIndexCode: "2b046ef675704975a8d45f1b00cd946b", |
| | | }, |
| | | |
| | | ], |
| | | robotVideoList: [ |
| | | { |
| | |
| | | } |
| | | }, |
| | | handleCommand(command) { |
| | | |
| | | switch (command) { |
| | | case "qytj": |
| | | this.qytj(); |
| | | break; |
| | | case "spjkHandle": |
| | | this.spjkHandle(); |
| | | break; |
| | |
| | | case "closeSjxl": |
| | | this.closeSjxl(); |
| | | break; |
| | | case "csgxHandle": |
| | | this.csgxHandle(); |
| | | break; |
| | | case "jiqirendahui": |
| | | this.jiqirendahui(this.robotVideoList); |
| | | break; |
| | | } |
| | | }, |
| | | historyHandle() { |
| | | this.switchMenu(1); |
| | | if (this.isLand) { |
| | | this.$parent.changeMode('影像底图'); |
| | | this.$parent.changeMode("影像底图"); |
| | | if (!this.viewer1Show) { |
| | | window.loading = this.$loading({ |
| | | lock: true, |
| | |
| | | this.setViewer1Show(true); |
| | | } else { |
| | | if (!this.viewer1Show) { |
| | | this.$parent.changeMode('影像底图'); |
| | | this.$parent.changeMode("影像底图"); |
| | | window.loading = this.$loading({ |
| | | lock: true, |
| | | text: "影像对比功能加载中,请稍后", |
| | |
| | | } |
| | | }, |
| | | tdglHandle() { |
| | | this.switchMenu(1); |
| | | if (!this.isLand) { |
| | | if (!this.viewer1Show) { |
| | | let p = sgworld.Navigate.getCameraInfo(); |
| | | sgworld.Navigate.flyToPointsInterest({ |
| | | destination: new Cesium.Cartesian3.fromDegrees( |
| | | p.location.lon, |
| | | p.location.lat, |
| | | p.location.height |
| | | ), |
| | | orientation: { |
| | | heading: Cesium.Math.toRadians(0), |
| | | pitch: Cesium.Math.toRadians(-90), |
| | | roll: Cesium.Math.toRadians(0), |
| | | }, |
| | | }); |
| | | window.loading = this.$loading({ |
| | | lock: true, |
| | | text: "土地管理功能加载中,请稍后", |
| | |
| | | this.setViewer1Show(true); |
| | | } else { |
| | | if (!this.viewer1Show) { |
| | | let p = sgworld.Navigate.getCameraInfo(); |
| | | sgworld.Navigate.flyToPointsInterest({ |
| | | destination: new Cesium.Cartesian3.fromDegrees( |
| | | p.location.lon, |
| | | p.location.lat, |
| | | p.location.height |
| | | ), |
| | | orientation: { |
| | | heading: Cesium.Math.toRadians(0), |
| | | pitch: Cesium.Math.toRadians(-90), |
| | | roll: Cesium.Math.toRadians(0), |
| | | }, |
| | | }); |
| | | window.loading = this.$loading({ |
| | | lock: true, |
| | | text: "土地管理功能加载中,请稍后", |
| | |
| | | "http://10.9.2.29:8080/#/login?token=1ed14c5157acb8088efe65bc93a032c3" |
| | | ); |
| | | }, |
| | | switchMenu(id) { |
| | | |
| | | if (id != 1) { |
| | | this.setViewer1Show(false); |
| | | } |
| | | if (id != 3) { |
| | | this.closeSjxl(); |
| | | } |
| | | if (id != 4) { |
| | | this.closeSpjk(); |
| | | } |
| | | }, |
| | | bzdSystem() { |
| | | window.open("http://192.162.24.2:8076/login"); |
| | | }, |
| | | shoujixinling() { |
| | | const loading = this.$loading({ |
| | | lock: true, |
| | | text: "手机信令数据加载中,请稍后", |
| | | spinner: "el-icon-loading", |
| | | background: "rgba(0, 0, 0, 0.7)", |
| | | }); |
| | | setTimeout(() => { |
| | | loading.close(); |
| | | }, 2000); |
| | | this.isShowSjxl = false; |
| | | let heatMapUrl = URLInCode.heatMapUrl; |
| | | sgworld.Core.getJSON(heatMapUrl, (data) => { |
| | | let res = []; |
| | | data.features.forEach((item) => { |
| | | let obj = { |
| | | x: item.properties["center_x"], |
| | | y: item.properties["center_y"], |
| | | value: item.properties["sd_total"], |
| | | radius: 50, |
| | | }; |
| | | res.push(obj); |
| | | }); |
| | | // //创建热力图 |
| | | heatMapItem = sgworld.Creator.addHeatMap("热力图", { |
| | | type: "Heatmap", // 热力图类型【Heatmap/HeatmapGL】(可选) |
| | | sourceData: res, |
| | | radius: 7, |
| | | gradient: { |
| | | ".3": "blue", |
| | | ".5": "green", |
| | | ".7": "yellow", |
| | | ".95": "red", |
| | | }, |
| | | tooltip: true, // tooltip显示数值 |
| | | }); |
| | | }); |
| | | this.switchMenu(3); |
| | | if (this.isShowSjxl) { |
| | | this.isShowSjxl = false; |
| | | this.$parent.signallingShow = true; |
| | | } else { |
| | | this.closeSjxl(); |
| | | } |
| | | }, |
| | | closeSjxl() { |
| | | if (heatMapItem) { |
| | | |
| | | this.isShowSjxl = true; |
| | | heatMapItem.deleteObject(); |
| | | } |
| | | this.$parent.signallingShow = false; |
| | | |
| | | }, |
| | | // historyHandle() { |
| | | // this.$store.commit("showHistory", true); |
| | | // }, |
| | | csgxHandle() { |
| | | Bus.$emit("openMyResourcePop", true); |
| | | }, |
| | | qytj() { |
| | | this.setqyEchartsShow(!this.qyEchartsShow); |
| | | }, |
| | | |
| | | sceneRoaming() { |
| | | if (this.showFlag) { |
| | | document.getElementById("scroll").style.display = "none"; |
| | |
| | | }); |
| | | }, |
| | | spjkHandle() { |
| | | const loading = this.$loading({ |
| | | lock: true, |
| | | text: "视频点位数据加载中,请稍后", |
| | | spinner: "el-icon-loading", |
| | | background: "rgba(0, 0, 0, 0.7)", |
| | | }); |
| | | setTimeout(() => { |
| | | loading.close(); |
| | | }, 2000); |
| | | this.isShowSPJK = false; |
| | | if (window.sxtkGeojson) { |
| | | window.sxtkGeojson.deleteObject(); |
| | | window.sxtkGeojson = null; |
| | | window.sxthandler.destroy(); |
| | | //关闭弹窗 |
| | | Bus.$emit("closeRightPop", true); |
| | | layuiLayer.close(SmartEarthPopupData.layerProp); |
| | | return; |
| | | this.switchMenu(4); |
| | | if (this.isShowSPJK) { |
| | | const loading = this.$loading({ |
| | | lock: true, |
| | | text: "视频点位数据加载中,请稍后", |
| | | spinner: "el-icon-loading", |
| | | background: "rgba(0, 0, 0, 0.7)", |
| | | }); |
| | | setTimeout(() => { |
| | | loading.close(); |
| | | }, 1500); |
| | | this.isShowSPJK = false; |
| | | if (window.sxtkGeojson) { |
| | | window.sxtkGeojson.deleteObject(); |
| | | window.sxtkGeojson = null; |
| | | window.sxthandler.destroy(); |
| | | //关闭弹窗 |
| | | Bus.$emit("closeRightPop", true); |
| | | layuiLayer.close(SmartEarthPopupData.layerProp); |
| | | return; |
| | | } else { |
| | | Bus.$emit("showSPJK"); |
| | | // this.spjkLoad(); |
| | | } |
| | | } else { |
| | | Bus.$emit("showSPJK"); |
| | | // this.spjkLoad(); |
| | | this.closeSpjk(); |
| | | } |
| | | }, |
| | | closeSpjk() { |
| | | this.isShowSPJK = true; |
| | | if (window.sxtkGeojson) { |
| | | window.sxtkGeojson.deleteObject(); |
| | | window.sxtkGeojson = null; |
| | | window.sxthandler.destroy(); |
| | | //关闭弹窗 |
| | | Bus.$emit("closeRightPop", true); |
| | | layuiLayer.close(SmartEarthPopupData.layerProp); |
| | | return; |
| | | } else { |
| | | Bus.$emit("closeSPJK"); |
| | | // this.spjkLoad(); |
| | | if (!this.isShowSPJK) { |
| | | this.isShowSPJK = true; |
| | | if (window.sxtkGeojson) { |
| | | window.sxtkGeojson.deleteObject(); |
| | | window.sxtkGeojson = null; |
| | | window.sxthandler.destroy(); |
| | | //关闭弹窗 |
| | | Bus.$emit("closeRightPop", true); |
| | | layuiLayer.close(SmartEarthPopupData.layerProp); |
| | | return; |
| | | } else { |
| | | Bus.$emit("closeSPJK"); |
| | | // this.spjkLoad(); |
| | | } |
| | | } |
| | | }, |
| | | // 分层分户 |