public/img/home/area.pngpublic/img/home/clear.pngpublic/img/home/full-img.pngpublic/img/home/panorama.pngpublic/img/home/ranging.pngsrc/App.vue
@@ -86,7 +86,8 @@ } else { // pc端 // this.$router.replace('/large') this.$router.replace('/pcLayout') // this.$router.replace('/pcLayout') this.$router.replace('/login') } }, methods: { src/components/map3/index.vue
New file @@ -0,0 +1,289 @@ <template> <div id="viewer-container" style="width:100%;height:100%"> <div class="mapBtnList"> <div class="btn1 mapBtn" @click.stop="fullImg">全图</div> <div class="btn2 mapBtn" @click.stop="ranging">距离</div> <div class="btn3 mapBtn" @click.stop="area">面积</div> <div class="btn4 mapBtn" @click.stop="ranging">全景</div> <div class="btn5 mapBtn" @click.stop="clear">清除</div> </div> </div> </template> <script> import { getSceneList } from '@/api/pc/leftNav/index' const sceneLayer = null let baseLayer = [] let tilesetLayer, tileset import baseLayerImgUrl from '@/assets/baseUrl' export default { name: 'mapBox3', mounted () { const that = this function initViewer () { global.viewer = new DC.Viewer('viewer-container') // 天地图 影像 global.viewer.imageryLayers.addImageryProvider( new global.DC.Namespace.Cesium.UrlTemplateImageryProvider({ url: 'https://t{s}.tianditu.gov.cn/DataServer?T=img_w&x={x}&y={y}&l={z}&tk=789e558be762ff832392a0393fd8a4f1', subdomains: ['0', '1', '2', '3', '4', '5', '6', '7'], format: 'image/jpeg', show: true, maximumLevel: 18 }) ) global.viewer.camera.setView({ // Cesium的坐标是以地心为原点,一向指向南美洲,一向指向亚洲,一向指向北极州 // fromDegrees()方法,将经纬度和高程转换为世界坐标 destination: global.DC.Namespace.Cesium.Cartesian3.fromDegrees( 116.027429, 28.681978, 800 ), orientation: { // 指向 heading: global.DC.Namespace.Cesium.Math.toRadians(0, 0), // 视角 pitch: global.DC.Namespace.Cesium.Math.toRadians(-90), roll: 0.0 } }) // that.addBaseLayer() global.viewer.use(new global.DC.Measure()) that.addMxTileset() } global.DC.ready(initViewer) }, methods: { addMxTileset () { const that = this tilesetLayer = new global.DC.TilesetLayer('tilesetLayer') global.viewer.addLayer(tilesetLayer) tileset = new global.DC.Tileset('/qx/tileset.json', { luminanceAtZenith: 0.4, // cullWithChildrenBounds: false, // cullRequestsWhileMoving: false, // skipLevelOfDetail: false, shadows: global.DC.Namespace.Cesium.ShadowMode.DISABLED }) tileset.setHeight(5) tilesetLayer.addOverlay(tileset) global.viewer.flyTo(tileset) // tileset.on(global.DC.MouseEventType.CLICK, that.tilesetClick) }, getViewExtend () { const params = {} const extend = global.viewer.camera.computeViewRectangle() if (typeof extend === 'undefined') { // 2D下会可能拾取不到坐标,extend返回undefined,所以做以下转换 const canvas = global.viewer.scene.canvas const upperLeft = new global.DC.Namespace.Cesium.Cartesian2(0, 0)// canvas左上角坐标转2d坐标 const lowerRight = new global.DC.Namespace.Cesium.Cartesian2( canvas.clientWidth, canvas.clientHeight )// canvas右下角坐标转2d坐标 const ellipsoid = global.viewer.scene.globe.ellipsoid const upperLeft3 = global.viewer.camera.pickEllipsoid( upperLeft, ellipsoid )// 2D转3D世界坐标 const lowerRight3 = global.viewer.camera.pickEllipsoid( lowerRight, ellipsoid )// 2D转3D世界坐标 const upperLeftCartographic = global.viewer.scene.globe.ellipsoid.cartesianToCartographic( upperLeft3 )// 3D世界坐标转弧度 const lowerRightCartographic = global.viewer.scene.globe.ellipsoid.cartesianToCartographic( lowerRight3 )// 3D世界坐标转弧度 const minx = global.DC.Namespace.Cesium.Math.toDegrees(upperLeftCartographic.longitude)// 弧度转经纬度 const maxx = global.DC.Namespace.Cesium.Math.toDegrees(lowerRightCartographic.longitude)// 弧度转经纬度 const miny = global.DC.Namespace.Cesium.Math.toDegrees(lowerRightCartographic.latitude)// 弧度转经纬度 const maxy = global.DC.Namespace.Cesium.Math.toDegrees(upperLeftCartographic.latitude)// 弧度转经纬度 params.minx = minx params.maxx = maxx params.miny = miny params.maxy = maxy } else { // 3D获取方式 params.maxx = global.DC.Namespace.Cesium.Math.toDegrees(extend.east) params.maxy = global.DC.Namespace.Cesium.Math.toDegrees(extend.north) params.minx = global.DC.Namespace.Cesium.Math.toDegrees(extend.west) params.miny = global.DC.Namespace.Cesium.Math.toDegrees(extend.south) } return params // 返回屏幕所在经纬度范围 }, addBaseLayer () { if (baseLayer.length > 0) { baseLayer.forEach(item => { global.viewer.imageryLayers.remove( item.layer ) }) } baseLayer = [] this.updateBaseLayer(false) }, updateBaseLayer (flag) { const extent = this.getViewExtend() const array = baseLayerImgUrl.filter(item => { return item[1000] }) array[0][1000].forEach(sm => { let startFlag = false if (flag == true) { startFlag = baseLayer.some(dt => { return dt.id == sm.id }) } if (startFlag == true) return if ( ( sm.rectangle[0] > extent.minx && sm.rectangle[1] > extent.miny && sm.rectangle[2] < extent.maxx && sm.rectangle[3] < extent.maxy ) || ( sm.rectangle[0] < extent.minx && sm.rectangle[1] < extent.maxy && sm.rectangle[2] > extent.minx && sm.rectangle[3] > extent.maxy ) || ( sm.rectangle[0] < extent.maxx && sm.rectangle[1] < extent.maxy && sm.rectangle[2] > extent.maxx && sm.rectangle[3] > extent.maxy ) || ( sm.rectangle[0] < extent.maxx && sm.rectangle[1] < extent.miny && sm.rectangle[2] > extent.maxx && sm.rectangle[3] > extent.miny ) || ( sm.rectangle[0] < extent.minx && sm.rectangle[1] < extent.miny && sm.rectangle[2] > extent.minx && sm.rectangle[3] > extent.miny ) || ( sm.rectangle[0] > extent.minx && sm.rectangle[1] < extent.maxy && sm.rectangle[2] < extent.maxx && sm.rectangle[3] > extent.maxy ) || ( sm.rectangle[0] > extent.minx && sm.rectangle[1] > extent.miny && sm.rectangle[2] > extent.maxx && sm.rectangle[3] < extent.maxy ) || ( sm.rectangle[0] > extent.minx && sm.rectangle[1] < extent.miny && sm.rectangle[2] < extent.maxx && sm.rectangle[3] > extent.miny ) || ( sm.rectangle[0] < extent.minx && sm.rectangle[1] > extent.miny && sm.rectangle[2] > extent.minx && sm.rectangle[3] < extent.maxy ) ) { var layer = global.viewer.imageryLayers.addImageryProvider(new global.DC.Namespace.Cesium.SingleTileImageryProvider({ url: sm.url, rectangle: global.DC.Namespace.Cesium.Rectangle.fromDegrees(sm.rectangle[0], sm.rectangle[1], sm.rectangle[2], sm.rectangle[3]) })) baseLayer.push({ layer, id: sm.id }) } }) }, ranging () { global.viewer.measure.distanceSurface() }, area () { global.viewer.measure.area() }, clear () { global.viewer.measure.deactivate() }, fullImg () { this.addMxTileset() }, } } </script> <style lang="scss"> .mapBtnList { position: absolute; bottom: 10px; left: 50%; margin-left: -128px; display: flex; box-sizing: border-box; .mapBtn { width: 44px; height: 44px; background-position: -6px -6px; z-index: 2; margin-left: 5px; color: #28f2ff; text-align: center; line-height: 68px; font-size: 14px; cursor: default; border: 1px solid transparent; } .btn1 { background-image: url(/img/home/full-img.png); } .btn2 { background-image: url(/img/home/ranging.png); } .btn3 { background-image: url(/img/home/area.png); } .btn4 { background-image: url(/img/home/panorama.png); } .btn5 { background-image: url(/img/home/clear.png); } } .mapBtnList :hover { border: 1px solid white !important; } </style> src/pcLayout-jg/index.vue
@@ -1,91 +1,96 @@ <template> <div class="layout-container"> <el-container> <el-header id="pcElHeader"> <img src="/zhxy/img/logo.png" alt /> <div class="header-title">江西经济管理干部学院三维可视化平台</div> <el-menu menu-trigger="click" :unique-opened="true" :default-active="$router.currentRoute.path" class="el-menu-demo" mode="horizontal" @select="handleSelect" background-color="#2196f3" text-color="#fff" active-text-color="#fff" :router="true" > <!-- <el-menu-item index="/pcLayout/default/mapnav"> <i class='custom-icon menu-dtdl'></i> 地图导览</el-menu-item> --> <el-header height="auto" id="pcElHeader"> <div class="logo"> <img src="/zhxy/img/logo.png" alt /> <div class="header-title">江西经济管理干部学院三维可视化平台</div> </div> <div class="nav"> <el-menu menu-trigger="click" :unique-opened="true" :default-active="$router.currentRoute.path" class="el-menu-demo" mode="horizontal" @select="handleSelect" background-color="#2196f3" text-color="#fff" active-text-color="#fff" :router="true" > <!-- <el-menu-item index="/pcLayout/default/mapnav"> <i class='custom-icon menu-dtdl'></i> 地图导览</el-menu-item> --> <el-submenu index="orgnav"> <template slot="title"> <i class="custom-icon menu-jg"></i> 机构导览 </template> <el-menu-item index="/pcLayout/default/orgnav/masses">党政机构</el-menu-item> <el-menu-item index="/pcLayout/default/orgnav/ofc">职能部处</el-menu-item> <el-menu-item index="/pcLayout/default/orgnav/directly">直属及附属单位</el-menu-item> <el-menu-item index="/pcLayout/default/orgnav/teaching">教学与科研机构</el-menu-item> <el-menu-item index="/pcLayout/default/orgnav/rest">其他机构</el-menu-item> </el-submenu> <el-submenu index="orgnav"> <template slot="title"> <i class="custom-icon menu-jg"></i> 机构导览 </template> <el-menu-item index="/pcLayout/default/orgnav/masses">党政机构</el-menu-item> <el-menu-item index="/pcLayout/default/orgnav/ofc">职能部处</el-menu-item> <el-menu-item index="/pcLayout/default/orgnav/directly">直属及附属单位</el-menu-item> <el-menu-item index="/pcLayout/default/orgnav/teaching">教学与科研机构</el-menu-item> <el-menu-item index="/pcLayout/default/orgnav/rest">其他机构</el-menu-item> </el-submenu> <el-submenu index="arc"> <template slot="title"> <i class="custom-icon menu-xyjz"></i> 校内建筑 </template> <el-menu-item index="/pcLayout/default/arc/edifact">行政办公</el-menu-item> <el-menu-item index="/pcLayout/default/arc/teaching">教学科研</el-menu-item> <el-menu-item index="/pcLayout/default/arc/venue">校园场馆</el-menu-item> <el-menu-item index="/pcLayout/default/arc/dorm">校园宿舍</el-menu-item> <el-menu-item index="/pcLayout/default/arc/culture">文化风景</el-menu-item> <!-- <el-menu-item index="/pcLayout/default/arc/family">家属住宅</el-menu-item> --> <!-- <el-menu-item index="/pcLayout/default/arc/rest">主要楼宇</el-menu-item> --> </el-submenu> <!-- popper-class="only-life-box" --> <el-submenu index="service"> <template slot="title"> <i class="custom-icon menu-shfw"></i> 生活设施 </template> <el-menu-item index="/pcLayout/default/service/canteen">食堂餐厅</el-menu-item> <el-menu-item index="/pcLayout/default/service/supermarket">购物超市</el-menu-item> <el-menu-item index="/pcLayout/default/service/medical">校园医疗</el-menu-item> <el-menu-item index="/pcLayout/default/service/express">邮寄快递</el-menu-item> <!-- <el-menu-item index="/pcLayout/default/service/showers">校园浴室</el-menu-item> --> <!-- <el-menu-item index="/pcLayout/default/service/transfer">圈存机</el-menu-item> --> <el-menu-item index="/pcLayout/default/service/copy">打字复印</el-menu-item> <el-menu-item index="/pcLayout/default/service/bank">银行网点</el-menu-item> <!-- <el-menu-item index="/pcLayout/default/service/aed">AED</el-menu-item> --> <el-menu-item index="/pcLayout/default/service/service">通信营业厅</el-menu-item> <el-menu-item index="/pcLayout/default/service/park">停车场</el-menu-item> <el-menu-item index="/pcLayout/default/service/alleyway">出入口</el-menu-item> </el-submenu> <el-submenu index="arc"> <template slot="title"> <i class="custom-icon menu-xyjz"></i> 校内建筑 </template> <el-menu-item index="/pcLayout/default/arc/edifact">行政办公</el-menu-item> <el-menu-item index="/pcLayout/default/arc/teaching">教学科研</el-menu-item> <el-menu-item index="/pcLayout/default/arc/venue">校园场馆</el-menu-item> <el-menu-item index="/pcLayout/default/arc/dorm">校园宿舍</el-menu-item> <el-menu-item index="/pcLayout/default/arc/culture">文化风景</el-menu-item> <!-- <el-menu-item index="/pcLayout/default/arc/family">家属住宅</el-menu-item> --> <!-- <el-menu-item index="/pcLayout/default/arc/rest">主要楼宇</el-menu-item> --> </el-submenu> <!-- popper-class="only-life-box" --> <el-submenu index="service"> <template slot="title"> <i class="custom-icon menu-shfw"></i> 生活设施 </template> <el-menu-item index="/pcLayout/default/service/canteen">食堂餐厅</el-menu-item> <el-menu-item index="/pcLayout/default/service/supermarket">购物超市</el-menu-item> <el-menu-item index="/pcLayout/default/service/medical">校园医疗</el-menu-item> <el-menu-item index="/pcLayout/default/service/express">邮寄快递</el-menu-item> <!-- <el-menu-item index="/pcLayout/default/service/showers">校园浴室</el-menu-item> --> <!-- <el-menu-item index="/pcLayout/default/service/transfer">圈存机</el-menu-item> --> <el-menu-item index="/pcLayout/default/service/copy">打字复印</el-menu-item> <el-menu-item index="/pcLayout/default/service/bank">银行网点</el-menu-item> <!-- <el-menu-item index="/pcLayout/default/service/aed">AED</el-menu-item> --> <el-menu-item index="/pcLayout/default/service/service">通信营业厅</el-menu-item> <el-menu-item index="/pcLayout/default/service/park">停车场</el-menu-item> <el-menu-item index="/pcLayout/default/service/alleyway">出入口</el-menu-item> </el-submenu> <!-- <el-menu-item index="/pcLayout/default/campusnav"> <i class='custom-icon menu-xydl'></i> 校园导览</el-menu-item> --> <!-- <el-menu-item index="/pcLayout/default/campusnav"> <i class='custom-icon menu-xydl'></i> 校园导览</el-menu-item> --> <el-menu-item index="/pcLayout/default/campusnavi"> <i class="custom-icon menu-xydh"></i> 校园导航 </el-menu-item> <el-menu-item index="/pcLayout/default/campusnavi"> <i class="custom-icon menu-xydh"></i> 校园导航 </el-menu-item> <el-submenu index="specialmap"> <template slot="title"> <i class="custom-icon menu-ztdt"></i> 专题地图 </template> <el-menu-item index="/pcLayout/default/specialmap/welcome?name=校庆">校庆</el-menu-item> <el-menu-item index="/pcLayout/default/specialmap/welcome?name=校园迎新">校园迎新</el-menu-item> </el-submenu> <el-submenu index="specialmap"> <template slot="title"> <i class="custom-icon menu-ztdt"></i> 专题地图 </template> <el-menu-item index="/pcLayout/default/specialmap/welcome?name=校庆">校庆</el-menu-item> <el-menu-item index="/pcLayout/default/specialmap/welcome?name=校园迎新" >校园迎新</el-menu-item> </el-submenu> <el-submenu index="tool"> <template slot="title"> <i class="custom-icon menu-tool"></i> 工具 </template> <el-menu-item index="/pcLayout/default/tool/download">地图下载</el-menu-item> <el-menu-item index="/pcLayout/default/tool/sign">地图标记</el-menu-item> <el-menu-item index="/pcLayout/default/tool/ranging">地图测距</el-menu-item> <el-menu-item index="/pcLayout/default/tool/area">地图测面</el-menu-item> <!-- <el-menu-item index="/pcLayout/default/tool/layer-manage">图层管理</el-menu-item> --> </el-submenu> <el-submenu index="tool"> <template slot="title"> <i class="custom-icon menu-tool"></i> 工具 </template> <el-menu-item index="/pcLayout/default/tool/download">地图下载</el-menu-item> <el-menu-item index="/pcLayout/default/tool/sign">地图标记</el-menu-item> <el-menu-item index="/pcLayout/default/tool/ranging">地图测距</el-menu-item> <el-menu-item index="/pcLayout/default/tool/area">地图测面</el-menu-item> <!-- <el-menu-item index="/pcLayout/default/tool/layer-manage">图层管理</el-menu-item> --> </el-submenu> <!-- <el-submenu index="technique"> <!-- <el-submenu index="technique"> <template slot="title"> <i class="custom-icon menu-rest"></i> 其他 </template> @@ -96,21 +101,23 @@ <el-menu-item index="/pcLayout/default/technique/space">三维空间分析</el-menu-item> <el-menu-item index="/pcLayout/default/technique/graph">学生迁徙图</el-menu-item> <el-menu-item index="/pcLayout/default/technique/path">漫游</el-menu-item> </el-submenu>--> </el-submenu>--> <el-submenu index="technique"> <template slot="title"> <i class="custom-icon menu-rest"></i> 应用系统 </template> <el-menu-item>校园安防可视化系统</el-menu-item> <el-menu-item>校园地下管网可视化系统</el-menu-item> <el-menu-item>校园资产可视化系统</el-menu-item> <el-menu-item>校园节能管理可视化系统</el-menu-item> <el-menu-item>校园消防可视化系统</el-menu-item> <el-menu-item>校园行为轨迹可视化系统</el-menu-item> <el-menu-item>校园图书馆可视化系统</el-menu-item> </el-submenu> </el-menu> <el-submenu index="technique"> <template slot="title"> <i class="custom-icon menu-rest"></i> 应用系统 </template> <el-menu-item>校园安防可视化系统</el-menu-item> <el-menu-item>校园地下管网可视化系统</el-menu-item> <el-menu-item>校园资产可视化系统</el-menu-item> <el-menu-item>校园节能管理可视化系统</el-menu-item> <el-menu-item>校园消防可视化系统</el-menu-item> <el-menu-item>校园行为轨迹可视化系统</el-menu-item> <el-menu-item>校园图书馆可视化系统</el-menu-item> </el-submenu> </el-menu> </div> <!-- <div class="out-home"> <el-button size="mini" @click="outHome">返回首页</el-button> </div>--> @@ -137,4 +144,17 @@ } </script> <style></style> <style lang="scss" scoped> #pcElHeader { display: flex; width: 100%; flex-wrap: wrap; .logo { display: flex; width: 410px; } .nav { width: 850px; } } </style> src/pcLayout-sd/index.vue
@@ -1,92 +1,97 @@ <template> <div class="layout-container"> <el-container> <el-header id="pcElHeader"> <img src="/zhxy/img/logo.png" alt /> <div class="header-title">智慧校园大数据三维可视化平台</div> <el-menu menu-trigger="click" :unique-opened="true" :default-active="$router.currentRoute.path" class="el-menu-demo" mode="horizontal" @select="handleSelect" background-color="#2196f3" text-color="#fff" active-text-color="#fff" :router="true" > <!-- <el-menu-item index="/pcLayout/default/mapnav"> <i class='custom-icon menu-dtdl'></i> 地图导览</el-menu-item> --> <el-container style="display: flex;"> <el-header height="auto" id="pcElHeader"> <div class="logo"> <img src="/zhxy/img/logo.png" alt /> <div class="header-title">智慧校园大数据三维可视化平台</div> </div> <div class="nav"> <el-menu menu-trigger="click" :unique-opened="true" :default-active="$router.currentRoute.path" class="el-menu-demo" mode="horizontal" @select="handleSelect" background-color="#2196f3" text-color="#fff" active-text-color="#fff" :router="true" > <!-- <el-menu-item index="/pcLayout/default/mapnav"> <i class='custom-icon menu-dtdl'></i> 地图导览</el-menu-item> --> <el-submenu index="orgnav"> <template slot="title"> <i class="custom-icon menu-jg"></i> 机构导览 </template> <!-- 师大 --> <el-menu-item index="/pcLayout/default/orgnav/masses">党群机构</el-menu-item> <el-menu-item index="/pcLayout/default/orgnav/ofc">职能部处</el-menu-item> <el-menu-item index="/pcLayout/default/orgnav/directly">直属及附属单位</el-menu-item> <el-menu-item index="/pcLayout/default/orgnav/teaching">教学与科研机构</el-menu-item> <el-menu-item index="/pcLayout/default/orgnav/rest">其他机构</el-menu-item> </el-submenu> <el-submenu index="orgnav"> <template slot="title"> <i class="custom-icon menu-jg"></i> 机构导览 </template> <!-- 师大 --> <el-menu-item index="/pcLayout/default/orgnav/masses">党群机构</el-menu-item> <el-menu-item index="/pcLayout/default/orgnav/ofc">职能部处</el-menu-item> <el-menu-item index="/pcLayout/default/orgnav/directly">直属及附属单位</el-menu-item> <el-menu-item index="/pcLayout/default/orgnav/teaching">教学与科研机构</el-menu-item> <el-menu-item index="/pcLayout/default/orgnav/rest">其他机构</el-menu-item> </el-submenu> <el-submenu index="arc"> <template slot="title"> <i class="custom-icon menu-xyjz"></i> 校内建筑 </template> <el-menu-item index="/pcLayout/default/arc/edifact">行政办公</el-menu-item> <el-menu-item index="/pcLayout/default/arc/teaching">教学科研</el-menu-item> <el-menu-item index="/pcLayout/default/arc/venue">校园场馆</el-menu-item> <el-menu-item index="/pcLayout/default/arc/dorm">校园宿舍</el-menu-item> <el-menu-item index="/pcLayout/default/arc/culture">文化风景</el-menu-item> <!-- <el-menu-item index="/pcLayout/default/arc/family">家属住宅</el-menu-item> --> <el-menu-item index="/pcLayout/default/arc/rest">主要楼宇</el-menu-item> </el-submenu> <!-- popper-class="only-life-box" --> <el-submenu index="service"> <template slot="title"> <i class="custom-icon menu-shfw"></i> 生活设施 </template> <el-menu-item index="/pcLayout/default/service/canteen">食堂餐厅</el-menu-item> <el-menu-item index="/pcLayout/default/service/supermarket">购物超市</el-menu-item> <el-menu-item index="/pcLayout/default/service/medical">校园医疗</el-menu-item> <el-menu-item index="/pcLayout/default/service/express">邮寄快递</el-menu-item> <!-- <el-menu-item index="/pcLayout/default/service/showers">校园浴室</el-menu-item> --> <!-- <el-menu-item index="/pcLayout/default/service/transfer">圈存机</el-menu-item> --> <el-menu-item index="/pcLayout/default/service/copy">打字复印</el-menu-item> <!-- <el-menu-item index="/pcLayout/default/service/bank">银行网点</el-menu-item> --> <!-- <el-menu-item index="/pcLayout/default/service/aed">AED</el-menu-item> --> <!-- <el-menu-item index="/pcLayout/default/service/service">通信营业厅</el-menu-item> --> <el-menu-item index="/pcLayout/default/service/park">停车场</el-menu-item> <el-menu-item index="/pcLayout/default/service/alleyway">出入口</el-menu-item> </el-submenu> <el-submenu index="arc"> <template slot="title"> <i class="custom-icon menu-xyjz"></i> 校内建筑 </template> <el-menu-item index="/pcLayout/default/arc/edifact">行政办公</el-menu-item> <el-menu-item index="/pcLayout/default/arc/teaching">教学科研</el-menu-item> <el-menu-item index="/pcLayout/default/arc/venue">校园场馆</el-menu-item> <el-menu-item index="/pcLayout/default/arc/dorm">校园宿舍</el-menu-item> <el-menu-item index="/pcLayout/default/arc/culture">文化风景</el-menu-item> <!-- <el-menu-item index="/pcLayout/default/arc/family">家属住宅</el-menu-item> --> <el-menu-item index="/pcLayout/default/arc/rest">主要楼宇</el-menu-item> </el-submenu> <!-- popper-class="only-life-box" --> <el-submenu index="service"> <template slot="title"> <i class="custom-icon menu-shfw"></i> 生活设施 </template> <el-menu-item index="/pcLayout/default/service/canteen">食堂餐厅</el-menu-item> <el-menu-item index="/pcLayout/default/service/supermarket">购物超市</el-menu-item> <el-menu-item index="/pcLayout/default/service/medical">校园医疗</el-menu-item> <el-menu-item index="/pcLayout/default/service/express">邮寄快递</el-menu-item> <!-- <el-menu-item index="/pcLayout/default/service/showers">校园浴室</el-menu-item> --> <!-- <el-menu-item index="/pcLayout/default/service/transfer">圈存机</el-menu-item> --> <el-menu-item index="/pcLayout/default/service/copy">打字复印</el-menu-item> <!-- <el-menu-item index="/pcLayout/default/service/bank">银行网点</el-menu-item> --> <!-- <el-menu-item index="/pcLayout/default/service/aed">AED</el-menu-item> --> <!-- <el-menu-item index="/pcLayout/default/service/service">通信营业厅</el-menu-item> --> <el-menu-item index="/pcLayout/default/service/park">停车场</el-menu-item> <el-menu-item index="/pcLayout/default/service/alleyway">出入口</el-menu-item> </el-submenu> <!-- <el-menu-item index="/pcLayout/default/campusnav"> <i class='custom-icon menu-xydl'></i> 校园导览</el-menu-item> --> <!-- <el-menu-item index="/pcLayout/default/campusnav"> <i class='custom-icon menu-xydl'></i> 校园导览</el-menu-item> --> <el-menu-item index="/pcLayout/default/campusnavi"> <i class="custom-icon menu-xydh"></i> 校园导航 </el-menu-item> <el-menu-item index="/pcLayout/default/campusnavi"> <i class="custom-icon menu-xydh"></i> 校园导航 </el-menu-item> <el-submenu index="specialmap"> <template slot="title"> <i class="custom-icon menu-ztdt"></i> 专题地图 </template> <el-menu-item index="/pcLayout/default/specialmap/welcome?name=校庆">校庆</el-menu-item> <el-menu-item index="/pcLayout/default/specialmap/welcome?name=校园迎新">校园迎新</el-menu-item> </el-submenu> <el-submenu index="specialmap"> <template slot="title"> <i class="custom-icon menu-ztdt"></i> 专题地图 </template> <el-menu-item index="/pcLayout/default/specialmap/welcome?name=校庆">校庆</el-menu-item> <el-menu-item index="/pcLayout/default/specialmap/welcome?name=校园迎新" >校园迎新</el-menu-item> </el-submenu> <el-submenu index="tool"> <template slot="title"> <i class="custom-icon menu-tool"></i> 工具 </template> <el-menu-item index="/pcLayout/default/tool/download">地图下载</el-menu-item> <el-menu-item index="/pcLayout/default/tool/sign">地图标记</el-menu-item> <el-menu-item index="/pcLayout/default/tool/ranging">地图测距</el-menu-item> <el-menu-item index="/pcLayout/default/tool/area">地图测面</el-menu-item> <!-- <el-menu-item index="/pcLayout/default/tool/layer-manage">图层管理</el-menu-item> --> </el-submenu> <el-submenu index="tool"> <template slot="title"> <i class="custom-icon menu-tool"></i> 工具 </template> <el-menu-item index="/pcLayout/default/tool/download">地图下载</el-menu-item> <el-menu-item index="/pcLayout/default/tool/sign">地图标记</el-menu-item> <el-menu-item index="/pcLayout/default/tool/ranging">地图测距</el-menu-item> <el-menu-item index="/pcLayout/default/tool/area">地图测面</el-menu-item> <!-- <el-menu-item index="/pcLayout/default/tool/layer-manage">图层管理</el-menu-item> --> </el-submenu> <el-submenu index="technique"> <!-- <el-submenu index="technique"> <template slot="title"> <i class="custom-icon menu-rest"></i> 其他 </template> @@ -97,13 +102,15 @@ <el-menu-item index="/pcLayout/default/technique/space">三维空间分析</el-menu-item> <el-menu-item index="/pcLayout/default/technique/graph">学生迁徙图</el-menu-item> <el-menu-item index="/pcLayout/default/technique/path">漫游</el-menu-item> </el-submenu> </el-menu> </el-submenu>--> </el-menu> </div> <!-- <div class="out-home"> <el-button size="mini" @click="outHome">返回首页</el-button> </div>--> </el-header> <el-main> <el-main style="flex: 1;"> <router-view /> </el-main> </el-container> @@ -125,4 +132,17 @@ } </script> <style></style> <style lang="scss" scoped> #pcElHeader { display: flex; width: 100%; flex-wrap: wrap; .logo { display: flex; width: 410px; } .nav { width: 850px; } } </style> src/pcLayout/index.vue
@@ -1,92 +1,97 @@ <template> <div class="layout-container"> <el-container> <el-header id="pcElHeader"> <img src="/zhxy/img/logo.png" alt /> <div class="header-title">智慧校园大数据三维可视化平台</div> <el-menu menu-trigger="click" :unique-opened="true" :default-active="$router.currentRoute.path" class="el-menu-demo" mode="horizontal" @select="handleSelect" background-color="#2196f3" text-color="#fff" active-text-color="#fff" :router="true" > <!-- <el-menu-item index="/pcLayout/default/mapnav"> <i class='custom-icon menu-dtdl'></i> 地图导览</el-menu-item> --> <el-container style="display: flex;"> <el-header height="auto" id="pcElHeader"> <div class="logo"> <img src="/zhxy/img/logo.png" alt /> <div class="header-title">智慧校园大数据三维可视化平台</div> </div> <div class="nav"> <el-menu menu-trigger="click" :unique-opened="true" :default-active="$router.currentRoute.path" class="el-menu-demo" mode="horizontal" @select="handleSelect" background-color="#2196f3" text-color="#fff" active-text-color="#fff" :router="true" > <!-- <el-menu-item index="/pcLayout/default/mapnav"> <i class='custom-icon menu-dtdl'></i> 地图导览</el-menu-item> --> <el-submenu index="orgnav"> <template slot="title"> <i class="custom-icon menu-jg"></i> 机构导览 </template> <!-- 师大 --> <el-menu-item index="/pcLayout/default/orgnav/masses">党群机构</el-menu-item> <el-menu-item index="/pcLayout/default/orgnav/ofc">职能部处</el-menu-item> <el-menu-item index="/pcLayout/default/orgnav/directly">直属及附属单位</el-menu-item> <el-menu-item index="/pcLayout/default/orgnav/teaching">教学与科研机构</el-menu-item> <el-menu-item index="/pcLayout/default/orgnav/rest">其他机构</el-menu-item> </el-submenu> <el-submenu index="orgnav"> <template slot="title"> <i class="custom-icon menu-jg"></i> 机构导览 </template> <!-- 师大 --> <el-menu-item index="/pcLayout/default/orgnav/masses">党群机构</el-menu-item> <el-menu-item index="/pcLayout/default/orgnav/ofc">职能部处</el-menu-item> <el-menu-item index="/pcLayout/default/orgnav/directly">直属及附属单位</el-menu-item> <el-menu-item index="/pcLayout/default/orgnav/teaching">教学与科研机构</el-menu-item> <el-menu-item index="/pcLayout/default/orgnav/rest">其他机构</el-menu-item> </el-submenu> <el-submenu index="arc"> <template slot="title"> <i class="custom-icon menu-xyjz"></i> 校内建筑 </template> <el-menu-item index="/pcLayout/default/arc/edifact">行政办公</el-menu-item> <el-menu-item index="/pcLayout/default/arc/teaching">教学科研</el-menu-item> <el-menu-item index="/pcLayout/default/arc/venue">校园场馆</el-menu-item> <el-menu-item index="/pcLayout/default/arc/dorm">校园宿舍</el-menu-item> <el-menu-item index="/pcLayout/default/arc/culture">文化风景</el-menu-item> <!-- <el-menu-item index="/pcLayout/default/arc/family">家属住宅</el-menu-item> --> <el-menu-item index="/pcLayout/default/arc/rest">主要楼宇</el-menu-item> </el-submenu> <!-- popper-class="only-life-box" --> <el-submenu index="service"> <template slot="title"> <i class="custom-icon menu-shfw"></i> 生活设施 </template> <el-menu-item index="/pcLayout/default/service/canteen">食堂餐厅</el-menu-item> <el-menu-item index="/pcLayout/default/service/supermarket">购物超市</el-menu-item> <el-menu-item index="/pcLayout/default/service/medical">校园医疗</el-menu-item> <el-menu-item index="/pcLayout/default/service/express">邮寄快递</el-menu-item> <!-- <el-menu-item index="/pcLayout/default/service/showers">校园浴室</el-menu-item> --> <!-- <el-menu-item index="/pcLayout/default/service/transfer">圈存机</el-menu-item> --> <el-menu-item index="/pcLayout/default/service/copy">打字复印</el-menu-item> <!-- <el-menu-item index="/pcLayout/default/service/bank">银行网点</el-menu-item> --> <!-- <el-menu-item index="/pcLayout/default/service/aed">AED</el-menu-item> --> <!-- <el-menu-item index="/pcLayout/default/service/service">通信营业厅</el-menu-item> --> <el-menu-item index="/pcLayout/default/service/park">停车场</el-menu-item> <el-menu-item index="/pcLayout/default/service/alleyway">出入口</el-menu-item> </el-submenu> <el-submenu index="arc"> <template slot="title"> <i class="custom-icon menu-xyjz"></i> 校内建筑 </template> <el-menu-item index="/pcLayout/default/arc/edifact">行政办公</el-menu-item> <el-menu-item index="/pcLayout/default/arc/teaching">教学科研</el-menu-item> <el-menu-item index="/pcLayout/default/arc/venue">校园场馆</el-menu-item> <el-menu-item index="/pcLayout/default/arc/dorm">校园宿舍</el-menu-item> <el-menu-item index="/pcLayout/default/arc/culture">文化风景</el-menu-item> <!-- <el-menu-item index="/pcLayout/default/arc/family">家属住宅</el-menu-item> --> <el-menu-item index="/pcLayout/default/arc/rest">主要楼宇</el-menu-item> </el-submenu> <!-- popper-class="only-life-box" --> <el-submenu index="service"> <template slot="title"> <i class="custom-icon menu-shfw"></i> 生活设施 </template> <el-menu-item index="/pcLayout/default/service/canteen">食堂餐厅</el-menu-item> <el-menu-item index="/pcLayout/default/service/supermarket">购物超市</el-menu-item> <el-menu-item index="/pcLayout/default/service/medical">校园医疗</el-menu-item> <el-menu-item index="/pcLayout/default/service/express">邮寄快递</el-menu-item> <!-- <el-menu-item index="/pcLayout/default/service/showers">校园浴室</el-menu-item> --> <!-- <el-menu-item index="/pcLayout/default/service/transfer">圈存机</el-menu-item> --> <el-menu-item index="/pcLayout/default/service/copy">打字复印</el-menu-item> <!-- <el-menu-item index="/pcLayout/default/service/bank">银行网点</el-menu-item> --> <!-- <el-menu-item index="/pcLayout/default/service/aed">AED</el-menu-item> --> <!-- <el-menu-item index="/pcLayout/default/service/service">通信营业厅</el-menu-item> --> <el-menu-item index="/pcLayout/default/service/park">停车场</el-menu-item> <el-menu-item index="/pcLayout/default/service/alleyway">出入口</el-menu-item> </el-submenu> <!-- <el-menu-item index="/pcLayout/default/campusnav"> <i class='custom-icon menu-xydl'></i> 校园导览</el-menu-item> --> <!-- <el-menu-item index="/pcLayout/default/campusnav"> <i class='custom-icon menu-xydl'></i> 校园导览</el-menu-item> --> <el-menu-item index="/pcLayout/default/campusnavi"> <i class="custom-icon menu-xydh"></i> 校园导航 </el-menu-item> <el-menu-item index="/pcLayout/default/campusnavi"> <i class="custom-icon menu-xydh"></i> 校园导航 </el-menu-item> <el-submenu index="specialmap"> <template slot="title"> <i class="custom-icon menu-ztdt"></i> 专题地图 </template> <el-menu-item index="/pcLayout/default/specialmap/welcome?name=校庆">校庆</el-menu-item> <el-menu-item index="/pcLayout/default/specialmap/welcome?name=校园迎新">校园迎新</el-menu-item> </el-submenu> <el-submenu index="specialmap"> <template slot="title"> <i class="custom-icon menu-ztdt"></i> 专题地图 </template> <el-menu-item index="/pcLayout/default/specialmap/welcome?name=校庆">校庆</el-menu-item> <el-menu-item index="/pcLayout/default/specialmap/welcome?name=校园迎新" >校园迎新</el-menu-item> </el-submenu> <el-submenu index="tool"> <template slot="title"> <i class="custom-icon menu-tool"></i> 工具 </template> <el-menu-item index="/pcLayout/default/tool/download">地图下载</el-menu-item> <el-menu-item index="/pcLayout/default/tool/sign">地图标记</el-menu-item> <el-menu-item index="/pcLayout/default/tool/ranging">地图测距</el-menu-item> <el-menu-item index="/pcLayout/default/tool/area">地图测面</el-menu-item> <!-- <el-menu-item index="/pcLayout/default/tool/layer-manage">图层管理</el-menu-item> --> </el-submenu> <el-submenu index="tool"> <template slot="title"> <i class="custom-icon menu-tool"></i> 工具 </template> <el-menu-item index="/pcLayout/default/tool/download">地图下载</el-menu-item> <el-menu-item index="/pcLayout/default/tool/sign">地图标记</el-menu-item> <el-menu-item index="/pcLayout/default/tool/ranging">地图测距</el-menu-item> <el-menu-item index="/pcLayout/default/tool/area">地图测面</el-menu-item> <!-- <el-menu-item index="/pcLayout/default/tool/layer-manage">图层管理</el-menu-item> --> </el-submenu> <!-- <el-submenu index="technique"> <!-- <el-submenu index="technique"> <template slot="title"> <i class="custom-icon menu-rest"></i> 其他 </template> @@ -97,13 +102,15 @@ <el-menu-item index="/pcLayout/default/technique/space">三维空间分析</el-menu-item> <el-menu-item index="/pcLayout/default/technique/graph">学生迁徙图</el-menu-item> <el-menu-item index="/pcLayout/default/technique/path">漫游</el-menu-item> </el-submenu>--> </el-menu> </el-submenu>--> </el-menu> </div> <!-- <div class="out-home"> <el-button size="mini" @click="outHome">返回首页</el-button> </div>--> </el-header> <el-main> <el-main style="flex: 1;"> <router-view /> </el-main> </el-container> @@ -125,4 +132,17 @@ } </script> <style></style> <style lang="scss" scoped> #pcElHeader { display: flex; width: 100%; flex-wrap: wrap; .logo { display: flex; width: 410px; } .nav { width: 850px; } } </style> src/pcviews/Login/index.vue
@@ -36,7 +36,7 @@ </span> <a href>忘记密码?</a> </div> <button @click="onLogin($event)">登录</button> <button @click="onLogin()">登录</button> <div class="tip"> <p>注意:使用IE浏览器查看</p> </div> src/pcviews/homee/BuildingCost/index.vue
@@ -66,14 +66,24 @@ }) const option = { title: { text: '▎学校建筑用电排名', textStyle: { color: '#fff', fontSize: 16, weight: 400 }, show: true, text: ['{a|▎}', '{b|学校建筑用电排名}'], left: 16, top: 16 top: 16, textStyle: { rich: { a: { color: '#28f2ff', fontSize: 16, weight: 400 }, b: { color: '#fff', fontSize: 16, weight: 400 } } } }, tooltop: { trigger: 'item', src/pcviews/homee/Header/index.vue
@@ -1,12 +1,12 @@ <template> <div class="header"> <div class="title">智慧校园可视化信息管理平台</div> <div class="btn1 navBtn">首页</div> <div class="btn2 navBtn">能源管理</div> <div class="btn3 navBtn">地下管网</div> <div class="btn4 navBtn">资产管理</div> <div class="btn5 navBtn">虚拟三维</div> <div class="btn6 navBtn">新生迎新</div> <div class="btn1 navBtn" :class="{'btnClick':isClick == 1}" @click="isClick = 1">首页</div> <div class="btn2 navBtn" :class="{'btnClick':isClick == 2}" @click="isClick = 2">能源管理</div> <div class="btn3 navBtn" :class="{'btnClick':isClick == 3}" @click="isClick = 3">地下管网</div> <div class="btn4 navBtn" :class="{'btnClick':isClick == 4}" @click="isClick = 4">资产管理</div> <div class="btn5 navBtn" :class="{'btnClick':isClick == 5}" @click="onBtn5">校园导览</div> <div class="btn6 navBtn" :class="{'btnClick':isClick == 6}" @click="isClick = 6">新生迎新</div> <div class="underLine"></div> </div> @@ -14,6 +14,17 @@ <script> export default { data () { return { isClick: 1 } }, methods: { onBtn5 () { this.isClick = 5 this.$router.push('/pcLayout') } } } </script> @@ -41,7 +52,7 @@ font-weight: 500; } .title { color: #eed; color: #28f2ff; width: 550px; position: absolute; left: 678px; @@ -80,6 +91,11 @@ .btn6 { right: 37px; } .btnClick { color: #fff; font-weight: 700; box-shadow: 0px 3px 30px #24f2ff; } .nav { position: absolute; display: flex; src/pcviews/homee/PipeNetCount/index.vue
@@ -60,14 +60,24 @@ }) const option = { title: { text: '▎管网统计', textStyle: { color: '#fff', fontSize: 16, weight: 400 }, show: true, text: ['{a|▎}', '{b|管网统计}'], left: 16, top: 16 top: 16, textStyle: { rich: { a: { color: '#28f2ff', fontSize: 16, weight: 400 }, b: { color: '#fff', fontSize: 16, weight: 400 } } } }, grid: { left: '3%', @@ -92,6 +102,9 @@ yAxis: { type: 'value', name: '单位:KM', nameTextStyle: { color: "#fff" }, axisLine: { show: true, lineStyle: { src/pcviews/homee/PipeWellPercent/index.vue
@@ -40,14 +40,24 @@ }) const option = { title: { text: '▎管井占比', textStyle: { color: '#fff', fontSize: 16, weight: 400 }, show: true, text: ['{a|▎}', '{b|管井占比}'], left: 16, top: 16 top: 16, textStyle: { rich: { a: { color: '#28f2ff', fontSize: 16, weight: 400 }, b: { color: '#fff', fontSize: 16, weight: 400 } } } }, legend: { type: 'scroll', src/pcviews/homee/SchoolCostCompare/index.vue
@@ -94,14 +94,22 @@ }) const option = { title: { text: '▎学校用电同比', textStyle: { color: '#fff', fontSize: 16, weight: 400 }, show: true, text: ['{a|▎}', '{b|学校用电同比}'], left: 16, top: 16 top: 16, textStyle: { rich: { a: { color: '#28f2ff', fontSize: 16, }, b: { color: '#fff', fontSize: 16, } } } }, grid: { top: '35%', @@ -131,6 +139,9 @@ yAxis: { type: 'value', name: 'KW·H', nameTextStyle: { color: "#fff" }, axisLabel: { textStyle: { show: true, src/pcviews/homee/index.vue
@@ -16,7 +16,9 @@ </section> <section class="screen_middle"> <div class="middle_top"> <Map></Map> <!-- <Map></Map> --> <!-- <mapBox2></mapBox2> --> <mapBox3></mapBox3> </div> <div class="middle_bottom"> <AlertInfo></AlertInfo> @@ -106,6 +108,8 @@ margin-right: 1.2%; .middle_top { width: 100%; height: 600px; position: relative; } .middle_bottom { width: 100%; @@ -125,6 +129,7 @@ .right_bottom { width: 100%; margin-top: -50px; margin-bottom: 30px; } } } src/pcviews/tool/ranging.vue
@@ -12,7 +12,6 @@ </template> <template slot="public-box-content"> <el-button type="primary" size="mini" @click.stop="calcDistance">开始</el-button> <el-button type="danger" size="mini" @click.stop="deactivate">清除</el-button> </template> </public-box>