From 0b9095227438cb35f5a8759aee8f3b32a732151c Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Tue, 21 Dec 2021 16:42:40 +0800
Subject: [PATCH] 校内机构等模块中弹框封装,及部分接口对接,及部分样式更改
---
public/examples/images/icon/ter.png | 0
src/api/pc/public/arc.js | 10
src/pcviews/service/aed.vue | 37 +
public/img/icon/service-tx.png | 0
public/img/navicon/audio.png | 0
src/pcviews/service/medical.vue | 37 +
public/img/icon/service-yh.png | 0
src/store/getters.js | 6
public/img/icon/service-aed.png | 0
src/pcviews/service/index.vue | 8
src/api/pc/service/index.js | 96 ++
src/pcLayout/index.vue | 18
src/pcviews/service/alleyway.vue | 37 +
src/pcviews/service/showers.vue | 37 +
public/img/icon/service-ys.png | 0
public/img/icon/service-tc.png | 0
src/components/map/index.vue | 129 ++-
src/components/serviceNavBar/index.vue | 443 +++++++++++++
src/pcviews/orgnav/teaching.vue | 9
src/components/map/component/mapPopup.vue | 179 ++++-
src/pcviews/orgnav/rest.vue | 9
src/styles/pcpage/index.scss | 1
src/pcviews/orgnav/masses.vue | 7
public/examples/images/icon/elec.png | 0
src/pcviews/orgnav/ofc.vue | 7
src/components/campusNav/index.vue | 6
src/pcviews/service/service.vue | 37 +
src/components/arcNavBar/index.vue | 71 +
public/img/icon/service-cs.png | 0
src/pcviews/service/bank.vue | 37 +
public/img/icon/service-kd.png | 0
public/img/icon/service-st.png | 0
src/pcviews/orgnav/directly.vue | 9
src/pcviews/service/supermarket.vue | 37 +
src/styles/divforms/panoramaBox.scss | 12
src/pcviews/service/park.vue | 37 +
public/img/icon/service-yl.png | 0
src/router/page/index.js | 367 ++++++----
src/components/orgNavBar/index.vue | 68 +
src/store/modules/popupParams.js | 25
src/pcviews/service/transfer.vue | 35 +
src/pcviews/service/canteen.vue | 37 +
src/styles/divforms/popup.scss | 37 +
public/img/icon/service-fy.png | 0
src/pcviews/service/copy.vue | 37 +
src/styles/pcpage/dc-ui.scss | 13
src/styles/layout/pc.scss | 12
public/img/icon/service-cr.png | 0
src/pcviews/service/express.vue | 37 +
public/examples/images/icon/img.png | 0
50 files changed, 1,683 insertions(+), 301 deletions(-)
diff --git a/public/examples/images/icon/elec.png b/public/examples/images/icon/elec.png
new file mode 100644
index 0000000..44f20b9
--- /dev/null
+++ b/public/examples/images/icon/elec.png
Binary files differ
diff --git a/public/examples/images/icon/img.png b/public/examples/images/icon/img.png
new file mode 100644
index 0000000..19f0c8a
--- /dev/null
+++ b/public/examples/images/icon/img.png
Binary files differ
diff --git a/public/examples/images/icon/ter.png b/public/examples/images/icon/ter.png
new file mode 100644
index 0000000..d4d6afc
--- /dev/null
+++ b/public/examples/images/icon/ter.png
Binary files differ
diff --git a/public/img/icon/service-aed.png b/public/img/icon/service-aed.png
new file mode 100644
index 0000000..3e7818f
--- /dev/null
+++ b/public/img/icon/service-aed.png
Binary files differ
diff --git a/public/img/icon/service-cr.png b/public/img/icon/service-cr.png
new file mode 100644
index 0000000..94ecb28
--- /dev/null
+++ b/public/img/icon/service-cr.png
Binary files differ
diff --git a/public/img/icon/service-cs.png b/public/img/icon/service-cs.png
new file mode 100644
index 0000000..7e9cc5e
--- /dev/null
+++ b/public/img/icon/service-cs.png
Binary files differ
diff --git a/public/img/icon/service-fy.png b/public/img/icon/service-fy.png
new file mode 100644
index 0000000..f6e5fc0
--- /dev/null
+++ b/public/img/icon/service-fy.png
Binary files differ
diff --git a/public/img/icon/service-kd.png b/public/img/icon/service-kd.png
new file mode 100644
index 0000000..617bf16
--- /dev/null
+++ b/public/img/icon/service-kd.png
Binary files differ
diff --git a/public/img/icon/service-st.png b/public/img/icon/service-st.png
new file mode 100644
index 0000000..e67ddf9
--- /dev/null
+++ b/public/img/icon/service-st.png
Binary files differ
diff --git a/public/img/icon/service-tc.png b/public/img/icon/service-tc.png
new file mode 100644
index 0000000..e817db5
--- /dev/null
+++ b/public/img/icon/service-tc.png
Binary files differ
diff --git a/public/img/icon/service-tx.png b/public/img/icon/service-tx.png
new file mode 100644
index 0000000..93bc3de
--- /dev/null
+++ b/public/img/icon/service-tx.png
Binary files differ
diff --git a/public/img/icon/service-yh.png b/public/img/icon/service-yh.png
new file mode 100644
index 0000000..b6ccbea
--- /dev/null
+++ b/public/img/icon/service-yh.png
Binary files differ
diff --git a/public/img/icon/service-yl.png b/public/img/icon/service-yl.png
new file mode 100644
index 0000000..d1b427f
--- /dev/null
+++ b/public/img/icon/service-yl.png
Binary files differ
diff --git a/public/img/icon/service-ys.png b/public/img/icon/service-ys.png
new file mode 100644
index 0000000..48b1ce3
--- /dev/null
+++ b/public/img/icon/service-ys.png
Binary files differ
diff --git a/public/img/navicon/audio.png b/public/img/navicon/audio.png
new file mode 100644
index 0000000..a2d8fb1
--- /dev/null
+++ b/public/img/navicon/audio.png
Binary files differ
diff --git a/src/api/pc/public/arc.js b/src/api/pc/public/arc.js
index b6636af..01ed286 100644
--- a/src/api/pc/public/arc.js
+++ b/src/api/pc/public/arc.js
@@ -2,7 +2,7 @@
* @Author: Morpheus
* @Date: 2021-05-09 15:17:44
* @Last Modified by: Morpheus
- * @Last Modified time: 2021-12-15 11:57:20
+ * @Last Modified time: 2021-12-21 14:31:00
*/
// 校区
import request from '@/router/axios'
@@ -30,3 +30,11 @@
params: params
})
}
+
+export const getMechanismDetail = (params) => {
+ return request({
+ url: '/blade-mechanism/mechanism/detail',
+ method: 'get',
+ params: params
+ })
+}
diff --git a/src/api/pc/service/index.js b/src/api/pc/service/index.js
new file mode 100644
index 0000000..af9133e
--- /dev/null
+++ b/src/api/pc/service/index.js
@@ -0,0 +1,96 @@
+/*
+ * @Author: Morpheus
+ * @Date: 2021-05-09 15:17:44
+ * @Last Modified by: Morpheus
+ * @Last Modified time: 2021-12-21 09:59:43
+ */
+// 校区
+import request from '@/router/axios'
+
+export const getList = (params) => {
+ return request({
+ url: '/blade-system/dict-biz/dictionary?code=campus',
+ method: 'get',
+ params: params
+ })
+}
+
+export const getCanteenList = (params) => {
+ return request({
+ url: '/blade-restaurant/restaurant/list',
+ method: 'get',
+ params: params
+ })
+}
+
+export const getSupermarketList = (params) => {
+ return request({
+ url: '/blade-supermarket/supermarket/list',
+ method: 'get',
+ params: params
+ })
+}
+
+export const getMedicalList = (params) => {
+ return request({
+ url: '/blade-medical/medical/list',
+ method: 'get',
+ params: params
+ })
+}
+
+export const getExpressList = (params) => {
+ return request({
+ url: '/blade-mail/mail/list',
+ method: 'get',
+ params: params
+ })
+}
+
+export const getShowersList = (params) => {
+ return request({
+ url: '/blade-bathroom/bathroom/list',
+ method: 'get',
+ params: params
+ })
+}
+
+export const getCopyList = (params) => {
+ return request({
+ url: '/blade-duplicate/duplicate/list',
+ method: 'get',
+ params: params
+ })
+}
+
+export const getBankList = (params) => {
+ return request({
+ url: '/blade-network/network/list',
+ method: 'get',
+ params: params
+ })
+}
+
+export const getAedList = (params) => {
+ return request({
+ url: '/blade-aed/aed/list',
+ method: 'get',
+ params: params
+ })
+}
+
+export const getServiceList = (params) => {
+ return request({
+ url: '/blade-signal/signal/list',
+ method: 'get',
+ params: params
+ })
+}
+
+export const getParkList = (params) => {
+ return request({
+ url: '/blade-parking/parking/list',
+ method: 'get',
+ params: params
+ })
+}
diff --git a/src/components/arcNavBar/index.vue b/src/components/arcNavBar/index.vue
index dfc747a..b168144 100644
--- a/src/components/arcNavBar/index.vue
+++ b/src/components/arcNavBar/index.vue
@@ -6,7 +6,7 @@
@mousedown="move"
:class="{'move': moveFlag}">
<div class="title">
- <img class="icon"
+ <img class="icon deblurring"
src="/img/icon/xyjz.png"
alt="">
<span>
@@ -46,8 +46,6 @@
<script>
import { mapGetters } from 'vuex'
import { getList, getChildNavList, getChildNavDetail } from '@/api/pc/public/arc'
-
-var $ = window.$
export default {
name: 'ArcNavBar',
@@ -163,7 +161,7 @@
getChildNavList({ campus: campus, type: this.arcCode }).then(res => {
res.data.data.forEach(item => {
this.itemNavList.push({
- navTitle: item.mechanismName,
+ navTitle: item.mechanismname,
icon: '/img/navicon/tag.png',
id: item.id
})
@@ -175,27 +173,36 @@
var result = res.data.data[0].list
this.$store.commit('CLEAR_ALL', null)
- this.$store.commit('SET_POPUPBGURL', result.tpUrl)
- this.$store.commit('SET_POPUPQRURL', result.codeUrl)
+ var imgArr = result.tpurl.split(',')
+ var tabOne = res.data.data[0].jx.split(',')
+
+ this.$store.commit('SET_POPUPBGURL', imgArr[0])
+ this.$store.commit('SET_POPUPQRURL', result.codeurl)
this.$store.commit('SET_POINTPOSITION', [Number(result.jd), Number(result.wd), Number(result.gd), Number(result.heading), Number(result.pitch), Number(result.roll)])
- this.$store.commit('SET_STATENAME', result.mechanismName)
+ this.$store.commit('SET_STATENAME', result.mechanismname)
this.$store.commit('SET_SITENAME', result.address)
+ this.$store.commit('SET_TELEPHONE', result.telephone)
this.$store.commit('SET_INTRODUCETEXT', result.introduce)
this.$store.commit('SET_PANORAMAURL', result.panoramaurl)
+ this.$store.commit('SET_POPUPIMGATLAS', imgArr)
+ if (res.data.data[0].jx != '') {
+ this.$store.commit('SET_TEACHLIST', tabOne)
+ } else {
+ this.$store.commit('SET_TEACHLIST', [])
+ }
+ this.$store.commit('SET_LIVELIST', [])
- var that = this
- // item.alt, item.heading, item.pitch, item.roll
- this.viewer.zoomToPosition(
- new this.DC.Position(result.jd, result.wd, result.gd, result.heading, result.pitch, result.roll),
+ this.newPopup(result)
+ this.viewer.flyToPosition(
+ new this.DC.Position(Number(result.jd), Number(result.wd), 3000, Number(result.heading), Number(result.pitch), Number(result.roll)),
function () {
- that.newPopup(result)
- }
+ },
+ 3
)
- // res.data.data[0].jx
})
},
newPopup (item) {
- const position = this.DC.Transform.transformWGS84ToCartesian(new this.DC.Position(item.jd, item.wd, item.gd, item.heading, item.pitch, item.roll))
+ const position = this.DC.Transform.transformWGS84ToCartesian(new this.DC.Position(Number(item.jd), Number(item.wd), Number(item.gd), Number(item.heading), Number(item.pitch), Number(item.roll)))
// eslint-disable-next-line no-unused-vars
var popup = new this.DC.DivForms(this.viewer, {
domId: 'divFormsDomBox',
@@ -219,7 +226,7 @@
border-radius: 8px;
top: 24%;
left: 20%;
- background-color: #fff;
+ background-color: transparent;
z-index: 999;
font-size: 14px;
.container {
@@ -229,12 +236,23 @@
width: 100%;
height: 36px;
line-height: 36px;
- background-color: #020c17;
+ background: rgba(0, 131, 176, 0.9); /* fallback for old browsers */
+ background: -webkit-linear-gradient(
+ to left,
+ rgba(0, 180, 219, 0.9),
+ rgba(0, 131, 176, 0.9)
+ ); /* Chrome 10-25, Safari 5.1-6 */
+ background: linear-gradient(
+ to left,
+ rgba(0, 180, 219, 0.9),
+ rgba(0, 131, 176, 0.9)
+ ); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
+
.title {
padding-left: 10px;
img {
- width: 18px;
- height: 18px;
+ width: 20px;
+ height: 20px;
vertical-align: middle;
}
span {
@@ -265,8 +283,19 @@
margin-top: 0px;
text-align: center;
overflow-y: auto;
- background: url(/img/bg/nav-bg.jpeg) no-repeat;
- background-size: 100% 100%;
+ background: rgba(0, 131, 176, 0.9); /* fallback for old browsers */
+ background: -webkit-linear-gradient(
+ to left,
+ rgba(0, 180, 219, 0.9),
+ rgba(0, 131, 176, 0.9)
+ ); /* Chrome 10-25, Safari 5.1-6 */
+ background: linear-gradient(
+ to left,
+ rgba(0, 180, 219, 0.9),
+ rgba(0, 131, 176, 0.9)
+ ); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
+ border-radius: 0 0 8px 8px;
+
.tab {
height: 42px;
border-bottom: 1px solid #ccc;
diff --git a/src/components/campusNav/index.vue b/src/components/campusNav/index.vue
index 1008df4..f9ab156 100644
--- a/src/components/campusNav/index.vue
+++ b/src/components/campusNav/index.vue
@@ -5,7 +5,7 @@
@mousedown="move"
:class="{'move': moveFlag}">
<div class="title">
- <img class="icon"
+ <img class="icon deblurring"
src="/img/icon/jg.png"
alt="">
<span>
@@ -264,8 +264,8 @@
padding-left: 10px;
img {
- width: 18px;
- height: 18px;
+ width: 20px;
+ height: 20px;
vertical-align: middle;
}
diff --git a/src/components/map/component/mapPopup.vue b/src/components/map/component/mapPopup.vue
index 0eea98a..f96a9e1 100644
--- a/src/components/map/component/mapPopup.vue
+++ b/src/components/map/component/mapPopup.vue
@@ -17,6 +17,14 @@
<div class="label-wrap">
<div class="title">
{{stateName}}
+ <img @click="audioPlay"
+ class="audio-control"
+ src="/img/navicon/audio.png"
+ alt="">
+ <img @click="closeMapPopupBox"
+ class="close-box"
+ src="/img/navicon/close.png"
+ alt="">
</div>
<div class="label-content">
<div class="arc-bcg">
@@ -25,13 +33,19 @@
</div>
<div v-show="siteName != null && siteName != ''"
class="site">
- <strong>地址:</strong>{{siteName}}
+ <strong>地址:</strong>
+ {{siteName}}
+ </div>
+ <div v-show="telephone != null && telephone != ''"
+ class="phone">
+ <strong>电话:</strong>
+ {{telephone}}
</div>
<div v-show="introduceText != null && introduceText != ''"
class="introduce">
- <p>
- <strong>介绍:</strong>
- {{introduceText}}
+ <p ref="DomIntroduceText">
+ <strong>介绍:</strong>
+ <span v-html="introduceText"></span>
</p>
</div>
<div class="popup-nav">
@@ -59,33 +73,33 @@
</li>
</ul>
</div>
- <div class="arc-box">
+ <div v-show="teachList.length > 0 || liveList.length > 0"
+ class="arc-box">
<ul class="tab-btn">
- <li class="on">教学科研行政</li>
- <li>生活服务</li>
+ <li v-show="teachList.length > 0"
+ :class="{'on': tabBtnFlag == '教学科研行政'}"
+ @click="tabBtnClick('教学科研行政')">教学科研行政</li>
+ <li v-show="liveList.length > 0"
+ :class="{'on': tabBtnFlag == '生活服务'}"
+ @click="tabBtnClick('生活服务')">生活服务</li>
</ul>
<div class="btm-content">
<div class="on">
<ul>
- <li>
+ <li v-for="(item, index) in teachList"
+ :key="index"
+ @click="mechanismDetailPopup(item)">
<i class="popup-icon location-icon deblurring"></i>
- 教学楼
- </li>
- <li>
- <i class="popup-icon location-icon deblurring"></i>
- 教学楼
+ {{item}}
</li>
</ul>
</div>
<div>
<ul>
- <li>
+ <li v-for="(item, index) in liveList"
+ :key="index">
<i class="popup-icon location-icon deblurring"></i>
- 生活楼
- </li>
- <li>
- <i class="popup-icon location-icon deblurring"></i>
- 生活楼
+ {{item}}
</li>
</ul>
</div>
@@ -111,6 +125,10 @@
<div class="content-wrap">
<div class="title">
{{stateName}}
+ <img @click="closePanoramaPopupBox"
+ class="close-box"
+ src="/img/navicon/close.png"
+ alt="">
</div>
<div class="content">
<iframe :src="panoramaUrl"
@@ -146,8 +164,8 @@
<el-image v-show="false"
style="width: 100px; height: 100px"
- :src="url"
- :preview-src-list="srcList"
+ :src="popupImgAtlas[0]"
+ :preview-src-list="popupImgAtlas"
ref="popupImgs">
</el-image>
@@ -155,26 +173,32 @@
:comeName="comeName"
:getToName="getToName"
v-show="campusNavFlag" />
+
+ <audio ref="audioControlPlay"
+ style="position: fixed; left: 111111111px;"
+ v-html="audioSource"
+ @ended="overAudio">
+
+ </audio>
</div>
</template>
<script>
import { mapGetters } from 'vuex'
+import { getMechanismDetail } from '@/api/pc/public/arc'
export default {
name: 'mapPopup',
data () {
return {
DC: null,
+ tabBtnFlag: '教学科研行政',
campusNavFlag: false,
comeName: '',
getToName: '',
QRCodeFlag: false,
- url: 'https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg',
- srcList: [
- 'https://fuss10.elemecdn.com/8/27/f01c15bb73e1ef3793e64e6b7bbccjpeg.jpeg',
- 'https://fuss10.elemecdn.com/1/8e/aeffeb4de74e2fde4bd74fc7b4486jpeg.jpeg'
- ]
+ audioSource: '',
+ audioFlag: false
}
},
computed: {
@@ -192,6 +216,8 @@
'stateName',
// 地址
'siteName',
+ // 电话
+ 'telephone',
// 介绍
'introduceText',
// 全景地址
@@ -199,21 +225,23 @@
// 详情弹框显示关闭
'detailsPopup',
// 全景弹框显示关闭
- 'panoramaPopup'
+ 'panoramaPopup',
+
+ 'popupImgAtlas',
+ // 教学
+ 'teachList',
+ // 科研
+ 'liveList'
])
},
created () {
this.DC = global.DC
-
- this.$nextTick(() => {
- $('#map_popup_content').on('click', '.tab-btn li', function (e) {
- $(this).addClass('on').siblings().removeClass('on')
-
- $(this).parent().siblings().children(`div:eq(${$(this).index()})`).addClass('on').siblings().removeClass('on')
- })
- })
},
methods: {
+ tabBtnClick (param) {
+ this.tabBtnFlag = param
+ },
+
closeCampusNav () {
this.campusNavFlag = false
this.$refs.campusNavRoute.clearLayer()
@@ -244,6 +272,10 @@
},
panoramaClick () {
+ if (this.audioFlag == true) {
+ this.$refs.audioControlPlay.pause()
+ this.audioFlag = false
+ }
// eslint-disable-next-line new-cap
var positions = this.DC.Transform.transformWGS84ToCartesian(new this.DC.Position.fromArray(this.pointPosition))
this.viewer.scene.globe.depthTestAgainstTerrain = false
@@ -256,6 +288,83 @@
})
this.$store.commit('SET_DETAILSPOPUP', false)
this.$store.commit('SET_PANORAMAPOPUP', true)
+ },
+
+ closeMapPopupBox () {
+ if (this.audioFlag == true) {
+ this.$refs.audioControlPlay.pause()
+ this.audioFlag = false
+ }
+ this.audioSource = ''
+ this.$store.commit('SET_DETAILSPOPUP', false)
+ },
+
+ closePanoramaPopupBox () {
+ this.$store.commit('SET_PANORAMAURL', '')
+ this.$store.commit('SET_PANORAMAPOPUP', false)
+ },
+
+ audioPlay () {
+ if (this.audioSource == '') {
+ var zhText = encodeURI(this.$refs.DomIntroduceText.innerText)
+ this.audioSource = `<source src="http://tts.baidu.com/text2audio?lan=zh&ie=UTF-8&spd=4&text=${zhText}" type="audio/mpeg"><embed height="0" width="0" src="http://tts.baidu.com/text2audio?text=${zhText}">`
+ console.log(this.audioSource)
+ this.$refs.audioControlPlay.play()
+ this.audioFlag = true
+ } else {
+ if (this.audioFlag == true) {
+ this.$refs.audioControlPlay.pause()
+ this.audioFlag = false
+ } else {
+ this.$refs.audioControlPlay.play()
+ this.audioFlag = true
+ }
+ }
+ },
+
+ overAudio () {
+ this.audioFlag = false
+ },
+
+ mechanismDetailPopup (param) {
+ getMechanismDetail({ mechanismname: param }).then(res => {
+ console.log(res)
+ var result = res.data.data
+ this.$store.commit('CLEAR_ALL', null)
+
+ var imgArr = result.tpurl.split(',')
+
+ this.$store.commit('SET_POPUPBGURL', imgArr[0])
+ this.$store.commit('SET_POPUPQRURL', result.codeurl)
+ this.$store.commit('SET_POINTPOSITION', [Number(result.jd), Number(result.wd), Number(result.gd), Number(result.heading), Number(result.pitch), Number(result.roll)])
+ this.$store.commit('SET_STATENAME', result.mechanismname)
+ this.$store.commit('SET_SITENAME', result.address)
+ this.$store.commit('SET_TELEPHONE', result.telephone)
+ this.$store.commit('SET_INTRODUCETEXT', result.introduce)
+ this.$store.commit('SET_POPUPIMGATLAS', imgArr)
+
+ this.newPopup(result)
+ this.viewer.flyToPosition(
+ new this.DC.Position(Number(result.jd), Number(result.wd), 3000, Number(result.heading), Number(result.pitch), Number(result.roll)),
+ function () {
+ },
+ 3
+ )
+ })
+ },
+
+ newPopup (item) {
+ const position = this.DC.Transform.transformWGS84ToCartesian(new this.DC.Position(Number(item.jd), Number(item.wd), Number(item.gd), Number(item.heading), Number(item.pitch), Number(item.roll)))
+ // eslint-disable-next-line no-unused-vars
+ var popup = new this.DC.DivForms(this.viewer, {
+ domId: 'divFormsDomBox',
+ position: [
+ position
+ ]
+ })
+
+ this.$store.commit('SET_PANORAMAPOPUP', false)
+ this.$store.commit('SET_DETAILSPOPUP', true)
}
}
diff --git a/src/components/map/index.vue b/src/components/map/index.vue
index a6112c9..6f5c55e 100644
--- a/src/components/map/index.vue
+++ b/src/components/map/index.vue
@@ -170,59 +170,94 @@
name: '地形'
})
- const layer = new that.DC.TilesetLayer('layer')
- viewer.addLayer(layer)
- const tileset = new that.DC.Tileset(
- 'http://resource.dvgis.cn/data/3dtiles/ljz/tileset.json'
+ // const tilesetLayer = new that.DC.TilesetLayer('tilesetLayer')
+ // viewer.addLayer(tilesetLayer)
+ // const tileset = new that.DC.Tileset(
+ // 'http://resource.dvgis.cn/data/3dtiles/ljz/tileset.json'
+ // )
+ // const style = new that.DC.TilesetStyle()
+ // style.color = {
+ // conditions: [
+ // // eslint-disable-next-line no-template-curly-in-string
+ // ['${Height} >= 300', 'rgba(45, 0, 75, 0.5)'],
+ // // eslint-disable-next-line no-template-curly-in-string
+ // ['${Height} >= 200', 'rgb(102, 71, 151)'],
+ // // eslint-disable-next-line no-template-curly-in-string
+ // ['${Height} >= 100', 'rgb(170, 162, 204)'],
+ // // eslint-disable-next-line no-template-curly-in-string
+ // ['${Height} >= 50', 'rgb(224, 226, 238)'],
+ // // eslint-disable-next-line no-template-curly-in-string
+ // ['${Height} >= 25', 'rgb(252, 230, 200)'],
+ // // eslint-disable-next-line no-template-curly-in-string
+ // ['${Height} >= 10', 'rgb(248, 176, 87)'],
+ // // eslint-disable-next-line no-template-curly-in-string
+ // ['${Height} >= 5', 'rgb(198, 106, 11)'],
+ // // eslint-disable-next-line no-template-curly-in-string
+ // ['true', 'rgb(127, 59, 8)']
+ // ]
+ // }
+ // tileset.setStyle(style)
+ // tilesetLayer.addOverlay(tileset)
+ // viewer.flyTo(tileset)
+ // tileset.on(that.DC.MouseEventType.CLICK, e => {
+ // // that.popupFlag = true
+
+ // viewer.scene.globe.depthTestAgainstTerrain = false
+
+ // // 定制化窗体
+ // // eslint-disable-next-line no-unused-vars
+ // var popup = new that.DC.DivForms(that.viewer, {
+ // domId: 'divFormsDomBox',
+ // position: [
+ // e.position
+ // ]
+ // })
+
+ // that.$store.commit('SET_PANORAMAPOPUP', false)
+ // that.$store.commit('SET_DETAILSPOPUP', true)
+ // })
+
+ const wallLayer = new that.DC.VectorLayer('wallLayer')
+ viewer.addLayer(wallLayer)
+
+ var arr = [
+ [115.87597219, 28.74628526, 100],
+ [115.87556558, 28.74415792, 100],
+ [115.87459782, 28.74197687, 100],
+ [115.87371834, 28.74219927, 100],
+ [115.87210924, 28.74182217, 100],
+ [115.86469971, 28.73630725, 100],
+ [115.86387107, 28.73620123, 100],
+ [115.86274498, 28.73616026, 100],
+ [115.86173699, 28.74241350, 100],
+ [115.86105468, 28.74643934, 100],
+ [115.86609240, 28.74642593, 100],
+ [115.87597219, 28.74628526, 100]
+ ]
+
+ arr.forEach(item => {
+ item = item.join(',')
+ })
+
+ arr = arr.join(';')
+
+ const wall = new that.DC.Wall(
+ arr
)
- const style = new that.DC.TilesetStyle()
- style.color = {
- conditions: [
- // eslint-disable-next-line no-template-curly-in-string
- ['${Height} >= 300', 'rgba(45, 0, 75, 0.5)'],
- // eslint-disable-next-line no-template-curly-in-string
- ['${Height} >= 200', 'rgb(102, 71, 151)'],
- // eslint-disable-next-line no-template-curly-in-string
- ['${Height} >= 100', 'rgb(170, 162, 204)'],
- // eslint-disable-next-line no-template-curly-in-string
- ['${Height} >= 50', 'rgb(224, 226, 238)'],
- // eslint-disable-next-line no-template-curly-in-string
- ['${Height} >= 25', 'rgb(252, 230, 200)'],
- // eslint-disable-next-line no-template-curly-in-string
- ['${Height} >= 10', 'rgb(248, 176, 87)'],
- // eslint-disable-next-line no-template-curly-in-string
- ['${Height} >= 5', 'rgb(198, 106, 11)'],
- // eslint-disable-next-line no-template-curly-in-string
- ['true', 'rgb(127, 59, 8)']
- ]
- }
+ wall.setStyle({
+ material: new that.DC.WallTrailMaterialProperty({
+ color: that.DC.Color.GREEN,
+ speed: 4
+ })
+ })
+ wallLayer.addOverlay(wall)
viewer.use(new that.DC.Measure())
- tileset.setStyle(style)
- layer.addOverlay(tileset)
- viewer.flyTo(tileset)
-
- tileset.on(that.DC.MouseEventType.CLICK, e => {
- // that.popupFlag = true
-
- viewer.scene.globe.depthTestAgainstTerrain = false
-
- // 定制化窗体
- // eslint-disable-next-line no-unused-vars
- var popup = new that.DC.DivForms(that.viewer, {
- domId: 'divFormsDomBox',
- position: [
- e.position
- ]
- })
-
- that.$store.commit('SET_PANORAMAPOPUP', false)
- that.$store.commit('SET_DETAILSPOPUP', true)
- })
+ viewer.flyTo(wallLayer)
// viewer.zoomToPosition(
- // new DC.Position(105.565571, 31.984708, 15362816, 0, -90)
+ // new that.DC.Position(115.87186406, 28.74449337, 1200, 0, -90)
// )
viewer.compass.enable = true
diff --git a/src/components/orgNavBar/index.vue b/src/components/orgNavBar/index.vue
index cc9b184..affd761 100644
--- a/src/components/orgNavBar/index.vue
+++ b/src/components/orgNavBar/index.vue
@@ -6,7 +6,7 @@
@mousedown="move"
:class="{'move': moveFlag}">
<div class="title">
- <img class="icon"
+ <img class="icon deblurring"
src="/img/icon/jg.png"
alt="">
<span>
@@ -37,8 +37,6 @@
<script>
import { mapGetters } from 'vuex'
-
-var $ = window.$
export default {
name: 'OrgNavBar',
@@ -129,22 +127,27 @@
mapPopup (item) {
this.$store.commit('CLEAR_ALL', null)
- this.$store.commit('SET_POPUPBGURL', item.bgImg)
+ var imgArr = item.bgImg.split(',')
+
+ this.$store.commit('SET_POPUPBGURL', imgArr[0])
this.$store.commit('SET_POPUPQRURL', item.QRImg)
this.$store.commit('SET_POINTPOSITION', [Number(item.longitude), Number(item.latitude), Number(item.alt), Number(item.heading), Number(item.pitch), Number(item.roll)])
this.$store.commit('SET_STATENAME', item.navTitle)
+ this.$store.commit('SET_SITENAME', item.address)
+ this.$store.commit('SET_TELEPHONE', item.telephone)
+ this.$store.commit('SET_INTRODUCETEXT', item.introduce)
+ this.$store.commit('SET_POPUPIMGATLAS', imgArr)
- var that = this
-
- this.viewer.zoomToPosition(
- new this.DC.Position(item.longitude, item.latitude, item.alt, item.heading, item.pitch, item.roll),
+ this.newPopup(item)
+ this.viewer.flyToPosition(
+ new this.DC.Position(Number(item.longitude), Number(item.latitude), 3000, Number(item.heading), Number(item.pitch), Number(item.roll)),
function () {
- that.newPopup(item)
- }
+ },
+ 3
)
},
newPopup (item) {
- const position = this.DC.Transform.transformWGS84ToCartesian(new this.DC.Position(item.longitude, item.latitude, item.alt, item.heading, item.pitch, item.roll))
+ const position = this.DC.Transform.transformWGS84ToCartesian(new this.DC.Position(Number(item.longitude), Number(item.latitude), Number(item.alt), Number(item.heading), Number(item.pitch), Number(item.roll)))
// eslint-disable-next-line no-unused-vars
var popup = new this.DC.DivForms(this.viewer, {
domId: 'divFormsDomBox',
@@ -168,9 +171,10 @@
border-radius: 8px;
top: 24%;
left: 20%;
- background-color: #fff;
+ background-color: transparent;
z-index: 999;
font-size: 14px;
+
.container {
.header {
position: relative;
@@ -178,14 +182,27 @@
width: 100%;
height: 36px;
line-height: 36px;
- background-color: #020c17;
+ background: rgba(0, 131, 176, 0.9); /* fallback for old browsers */
+ background: -webkit-linear-gradient(
+ to left,
+ rgba(0, 180, 219, 0.9),
+ rgba(0, 131, 176, 0.9)
+ ); /* Chrome 10-25, Safari 5.1-6 */
+ background: linear-gradient(
+ to left,
+ rgba(0, 180, 219, 0.9),
+ rgba(0, 131, 176, 0.9)
+ ); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
+
.title {
padding-left: 10px;
+
img {
- width: 18px;
- height: 18px;
+ width: 20px;
+ height: 20px;
vertical-align: middle;
}
+
span {
margin-left: 6px;
display: inline-block;
@@ -193,6 +210,7 @@
color: #fff;
}
}
+
.close {
position: absolute;
right: 6px;
@@ -204,9 +222,11 @@
height: 14px;
}
}
+
.move {
cursor: move;
}
+
.content {
clear: both;
width: 100%;
@@ -214,12 +234,23 @@
margin-top: 0px;
text-align: center;
overflow-y: auto;
- background: url(/img/bg/nav-bg.jpeg) no-repeat;
- background-size: 100% 100%;
+ background: rgba(0, 131, 176, 0.9); /* fallback for old browsers */
+ background: -webkit-linear-gradient(
+ to left,
+ rgba(0, 180, 219, 0.9),
+ rgba(0, 131, 176, 0.9)
+ ); /* Chrome 10-25, Safari 5.1-6 */
+ background: linear-gradient(
+ to left,
+ rgba(0, 180, 219, 0.9),
+ rgba(0, 131, 176, 0.9)
+ ); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
border-radius: 0 0 8px 8px;
+
ul {
padding: 15px;
padding-top: 4px;
+
li {
padding-left: 24px;
position: relative;
@@ -228,6 +259,7 @@
list-style: none;
border-bottom: 1px dashed #ccc;
text-align: left;
+
img {
position: absolute;
left: 0;
@@ -237,10 +269,12 @@
margin: auto;
width: 14px;
}
+
span {
color: #fff;
cursor: pointer;
}
+
span:hover {
text-decoration: underline;
}
diff --git a/src/components/serviceNavBar/index.vue b/src/components/serviceNavBar/index.vue
new file mode 100644
index 0000000..e5cdee1
--- /dev/null
+++ b/src/components/serviceNavBar/index.vue
@@ -0,0 +1,443 @@
+<template>
+ <div class="public-org-nav-bar"
+ ref="publicOrgNavBar">
+ <div class="container">
+ <div class="header"
+ @mousedown="move"
+ :class="{'move': moveFlag}">
+ <div class="title">
+ <img class="icon deblurring"
+ :src="headerLog"
+ alt="">
+ <span>
+ {{title}}
+ </span>
+ </div>
+ <img class="close"
+ src="/img/navicon/close.png"
+ alt=""
+ @click="closeModel">
+ </div>
+ <div class="content">
+ <div class="tab">
+ <ul>
+ <li :class="{'on': item.flag}"
+ v-for="(item, index) in titleList"
+ :key="index"
+ @click="topNavClick(item, index)">{{ item.title }}</li>
+ </ul>
+ </div>
+ <ul>
+ <li v-for="(item, index) in itemNavList"
+ :key="index"
+ @click="mapPopup(item.details)">
+ <img :src="item.icon"
+ alt="">
+ <span>
+ {{item.navTitle}}
+ </span>
+ </li>
+ </ul>
+ </div>
+ </div>
+ </div>
+</template>
+
+<script>
+import { mapGetters } from 'vuex'
+import {
+ getList, getCanteenList, getSupermarketList, getMedicalList,
+ getExpressList, getShowersList, getCopyList, getBankList, getAedList, getServiceList, getParkList
+} from '@/api/pc/service/index'
+
+export default {
+ name: 'ServiceNavBar',
+ data () {
+ return {
+ moveFlag: false,
+ itemNavList: [],
+ DC: null
+ }
+ },
+ props: {
+ title: {
+ type: String
+ },
+ headerLog: {
+ type: String
+ },
+ arcCode: {
+ type: Number
+ }
+ },
+ computed: {
+ ...mapGetters([
+ 'viewer',
+ 'popupBgUrl',
+ 'pupupQRUrl',
+ // 点信息
+ 'pointPosition',
+ // 点名称
+ 'stateName',
+ // 地址
+ 'siteName',
+ // 介绍
+ 'introduceText',
+ // 全景地址
+ 'panoramaUrl'
+ ])
+ },
+ created () {
+ this.DC = global.DC
+ this.titleList = []
+ getList().then(res => {
+ res.data.data.forEach(item => {
+ this.titleList.push({ title: item.dictValue, flag: false, key: item.dictKey })
+ })
+
+ this.titleList[0].flag = true
+
+ this.getChilsNavs(this.titleList[0].key)
+ })
+ },
+ mounted () {
+ },
+ methods: {
+ move (e) {
+ const that = this
+ const odiv = this.$refs.publicOrgNavBar // 获取目标元素
+ // 算出鼠标相对元素的位置
+ const disX = e.clientX - odiv.offsetLeft
+ const disY = e.clientY - odiv.offsetTop
+
+ const disH = odiv.offsetHeight
+ const disW = odiv.offsetWidth
+
+ document.onmousemove = (e) => {
+ that.moveFlag = true
+ // 鼠标按下并移动的事件
+ // 用鼠标的位置减去鼠标相对元素的位置,得到元素的位置
+ let left = e.clientX - disX
+ let top = e.clientY - disY
+
+ // 绑定元素位置到positionX和positionY上面
+
+ if (left >= window.innerWidth - disW) {
+ left = window.innerWidth - disW
+ }
+
+ if (left <= 0) {
+ left = 0
+ }
+
+ if (top >= window.innerHeight - disH) {
+ top = window.innerHeight - disH
+ }
+
+ if (top <= 60) {
+ top = 60
+ }
+
+ // 移动当前元素
+ odiv.style.left = (left) + 'px'
+ odiv.style.top = (top) + 'px'
+ odiv.style.bottom = 'auto'
+ }
+ document.onmouseup = (e) => {
+ that.moveFlag = false
+ document.onmousemove = null
+ document.onmouseup = null
+ }
+ },
+ closeModel () {
+ this.$parent.closeModel()
+ },
+ topNavClick (item, index) {
+ this.titleList.forEach(item => {
+ item.flag = false
+ })
+
+ this.titleList[index].flag = true
+
+ this.getChilsNavs(item.key)
+ },
+ getChilsNavs (campus) {
+ this.itemNavList = []
+
+ if (this.arcCode == 1) {
+ getCanteenList({ campus: campus }).then(res => {
+ res.data.data.records.forEach(item => {
+ this.itemNavList.push({
+ navTitle: item.mechanismname,
+ icon: '/img/navicon/tag.png',
+ details: item
+ })
+ })
+ })
+ } else if (this.arcCode == 2) {
+ getSupermarketList({ campus: campus }).then(res => {
+ res.data.data.records.forEach(item => {
+ this.itemNavList.push({
+ navTitle: item.mechanismname,
+ icon: '/img/navicon/tag.png',
+ details: item
+ })
+ })
+ })
+ } else if (this.arcCode == 3) {
+ getMedicalList({ campus: campus }).then(res => {
+ res.data.data.records.forEach(item => {
+ this.itemNavList.push({
+ navTitle: item.mechanismname,
+ icon: '/img/navicon/tag.png',
+ details: item
+ })
+ })
+ })
+ } else if (this.arcCode == 4) {
+ getExpressList({ campus: campus }).then(res => {
+ res.data.data.records.forEach(item => {
+ this.itemNavList.push({
+ navTitle: item.mechanismname,
+ icon: '/img/navicon/tag.png',
+ details: item
+ })
+ })
+ })
+ } else if (this.arcCode == 5) {
+ getShowersList({ campus: campus }).then(res => {
+ res.data.data.records.forEach(item => {
+ this.itemNavList.push({
+ navTitle: item.mechanismname,
+ icon: '/img/navicon/tag.png',
+ details: item
+ })
+ })
+ })
+ } else if (this.arcCode == 7) {
+ getCopyList({ campus: campus }).then(res => {
+ res.data.data.records.forEach(item => {
+ this.itemNavList.push({
+ navTitle: item.mechanismname,
+ icon: '/img/navicon/tag.png',
+ details: item
+ })
+ })
+ })
+ } else if (this.arcCode == 8) {
+ getBankList({ campus: campus }).then(res => {
+ res.data.data.records.forEach(item => {
+ this.itemNavList.push({
+ navTitle: item.mechanismname,
+ icon: '/img/navicon/tag.png',
+ details: item
+ })
+ })
+ })
+ } else if (this.arcCode == 9) {
+ getAedList({ campus: campus }).then(res => {
+ res.data.data.records.forEach(item => {
+ this.itemNavList.push({
+ navTitle: item.mechanismname,
+ icon: '/img/navicon/tag.png',
+ details: item
+ })
+ })
+ })
+ } else if (this.arcCode == 10) {
+ getServiceList({ campus: campus }).then(res => {
+ res.data.data.records.forEach(item => {
+ this.itemNavList.push({
+ navTitle: item.mechanismname,
+ icon: '/img/navicon/tag.png',
+ details: item
+ })
+ })
+ })
+ } else if (this.arcCode == 11) {
+ getParkList({ campus: campus }).then(res => {
+ res.data.data.records.forEach(item => {
+ this.itemNavList.push({
+ navTitle: item.mechanismname,
+ icon: '/img/navicon/tag.png',
+ details: item
+ })
+ })
+ })
+ }
+ },
+ mapPopup (param) {
+ var result = param
+ this.$store.commit('CLEAR_ALL', null)
+
+ var imgArr = result.tpurl.split(',')
+
+ this.$store.commit('SET_POPUPBGURL', imgArr[0])
+ this.$store.commit('SET_POPUPQRURL', result.codeurl)
+ this.$store.commit('SET_POINTPOSITION', [Number(result.jd), Number(result.wd), Number(result.gd), Number(result.heading), Number(result.pitch), Number(result.roll)])
+ this.$store.commit('SET_STATENAME', result.mechanismname)
+ this.$store.commit('SET_SITENAME', result.address)
+ this.$store.commit('SET_TELEPHONE', result.telephone)
+ this.$store.commit('SET_INTRODUCETEXT', result.introduce)
+ this.$store.commit('SET_PANORAMAURL', result.panoramaurl)
+ this.$store.commit('SET_POPUPIMGATLAS', imgArr)
+
+ this.newPopup(result)
+ this.viewer.flyToPosition(
+ new this.DC.Position(Number(result.jd), Number(result.wd), 3000, Number(result.heading), Number(result.pitch), Number(result.roll)),
+ function () {
+ },
+ 3
+ )
+ },
+ newPopup (item) {
+ const position = this.DC.Transform.transformWGS84ToCartesian(new this.DC.Position(Number(item.jd), Number(item.wd), Number(item.gd), Number(item.heading), Number(item.pitch), Number(item.roll)))
+ // eslint-disable-next-line no-unused-vars
+ var popup = new this.DC.DivForms(this.viewer, {
+ domId: 'divFormsDomBox',
+ position: [
+ position
+ ]
+ })
+
+ this.$store.commit('SET_PANORAMAPOPUP', false)
+ this.$store.commit('SET_DETAILSPOPUP', true)
+ }
+ }
+}
+</script>
+
+<style scoped lang='scss'>
+.public-org-nav-bar {
+ position: fixed;
+ width: 322px;
+ height: auto;
+ border-radius: 8px;
+ top: 24%;
+ left: 20%;
+ background-color: transparent;
+ z-index: 999;
+ font-size: 14px;
+ .container {
+ .header {
+ position: relative;
+ border-radius: 8px 8px 0 0;
+ width: 100%;
+ height: 36px;
+ line-height: 36px;
+ background: rgba(0, 131, 176, 0.9); /* fallback for old browsers */
+ background: -webkit-linear-gradient(
+ to left,
+ rgba(0, 180, 219, 0.9),
+ rgba(0, 131, 176, 0.9)
+ ); /* Chrome 10-25, Safari 5.1-6 */
+ background: linear-gradient(
+ to left,
+ rgba(0, 180, 219, 0.9),
+ rgba(0, 131, 176, 0.9)
+ ); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
+
+ .title {
+ padding-left: 10px;
+ img {
+ width: 20px;
+ height: 20px;
+ vertical-align: middle;
+ }
+ span {
+ margin-left: 6px;
+ display: inline-block;
+ vertical-align: middle;
+ color: #fff;
+ }
+ }
+ .close {
+ position: absolute;
+ right: 6px;
+ top: 0;
+ left: auto;
+ bottom: 0;
+ margin: auto;
+ width: 14px;
+ height: 14px;
+ }
+ }
+ .move {
+ cursor: move;
+ }
+ .content {
+ clear: both;
+ width: 100%;
+ height: 440px;
+ margin-top: 0px;
+ text-align: center;
+ overflow-y: auto;
+ background: rgba(0, 131, 176, 0.9); /* fallback for old browsers */
+ background: -webkit-linear-gradient(
+ to left,
+ rgba(0, 180, 219, 0.9),
+ rgba(0, 131, 176, 0.9)
+ ); /* Chrome 10-25, Safari 5.1-6 */
+ background: linear-gradient(
+ to left,
+ rgba(0, 180, 219, 0.9),
+ rgba(0, 131, 176, 0.9)
+ ); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
+ border-radius: 0 0 8px 8px;
+
+ .tab {
+ height: 42px;
+ border-bottom: 1px solid #ccc;
+ ul {
+ display: flex;
+ padding: 0;
+ li {
+ padding: 0;
+ flex: 1;
+ height: 42px;
+ line-height: 42px;
+ color: #fff;
+ text-align: center;
+ border: none;
+ cursor: pointer;
+ }
+
+ li.on {
+ border-bottom: 1px solid yellow;
+ color: yellow;
+ }
+ }
+ }
+ ul {
+ padding: 15px;
+ padding-top: 4px;
+ li {
+ padding-left: 24px;
+ position: relative;
+ height: 40px;
+ line-height: 40px;
+ list-style: none;
+ border-bottom: 1px dashed #ccc;
+ text-align: left;
+ img {
+ position: absolute;
+ left: 0;
+ right: auto;
+ top: 0;
+ bottom: 0;
+ margin: auto;
+ width: 14px;
+ }
+ span {
+ color: #fff;
+ cursor: pointer;
+ }
+ span:hover {
+ text-decoration: underline;
+ }
+ }
+ }
+ }
+ }
+}
+</style>
diff --git a/src/pcLayout/index.vue b/src/pcLayout/index.vue
index 54cb7ba..8168c3f 100644
--- a/src/pcLayout/index.vue
+++ b/src/pcLayout/index.vue
@@ -36,11 +36,25 @@
<el-menu-item index="/pcLayout/default/arc/rest">其他楼宇</el-menu-item>
</el-submenu>
- <el-menu-item index="/pcLayout/default/service"> <i class='custom-icon menu-shfw'></i> 生活服务设施</el-menu-item>
+ <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/allquery"> <i class='custom-icon menu-zhcx'></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/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>
diff --git a/src/pcviews/orgnav/directly.vue b/src/pcviews/orgnav/directly.vue
index dbd93f9..712bfe4 100644
--- a/src/pcviews/orgnav/directly.vue
+++ b/src/pcviews/orgnav/directly.vue
@@ -3,7 +3,7 @@
* @Name: 直属及附属单位
* @Date: 2021-11-15 10:02:12
* @Last Modified by: Morpheus
- * @Last Modified time: 2021-12-14 16:30:52
+ * @Last Modified time: 2021-12-21 15:11:39
*/
<template>
<div>
@@ -22,7 +22,7 @@
}
},
created () {
- getList({ type: 2 }).then(res => {
+ getList({ type: 3 }).then(res => {
res.data.data.records.forEach(item => {
this.list.push({
navTitle: item.mechanismname,
@@ -34,7 +34,10 @@
pitch: item.pitch,
roll: item.roll,
bgImg: item.tpurl,
- QRImg: item.codeurl
+ QRImg: item.codeurl,
+ address: item.address,
+ telephone: item.telephone,
+ introduce: item.introduce
})
})
})
diff --git a/src/pcviews/orgnav/masses.vue b/src/pcviews/orgnav/masses.vue
index d321806..41854f0 100644
--- a/src/pcviews/orgnav/masses.vue
+++ b/src/pcviews/orgnav/masses.vue
@@ -3,7 +3,7 @@
* @Name: 党群机构
* @Date: 2021-11-15 10:02:12
* @Last Modified by: Morpheus
- * @Last Modified time: 2021-12-15 14:42:59
+ * @Last Modified time: 2021-12-20 11:26:52
*/
<template>
<div>
@@ -34,7 +34,10 @@
pitch: item.pitch,
roll: item.roll,
bgImg: item.tpurl,
- QRImg: item.codeurl
+ QRImg: item.codeurl,
+ address: item.address,
+ telephone: item.telephone,
+ introduce: item.introduce
})
})
})
diff --git a/src/pcviews/orgnav/ofc.vue b/src/pcviews/orgnav/ofc.vue
index 25e254c..9b3e7e1 100644
--- a/src/pcviews/orgnav/ofc.vue
+++ b/src/pcviews/orgnav/ofc.vue
@@ -3,7 +3,7 @@
* @Name: 职能部处
* @Date: 2021-11-15 10:02:12
* @Last Modified by: Morpheus
- * @Last Modified time: 2021-12-15 14:44:26
+ * @Last Modified time: 2021-12-20 11:26:49
*/
<template>
<div>
@@ -34,7 +34,10 @@
pitch: item.pitch,
roll: item.roll,
bgImg: item.tpurl,
- QRImg: item.codeurl
+ QRImg: item.codeurl,
+ address: item.address,
+ telephone: item.telephone,
+ introduce: item.introduce
})
})
})
diff --git a/src/pcviews/orgnav/rest.vue b/src/pcviews/orgnav/rest.vue
index 42fe5eb..d4d787e 100644
--- a/src/pcviews/orgnav/rest.vue
+++ b/src/pcviews/orgnav/rest.vue
@@ -3,7 +3,7 @@
* @Name: 其他机构
* @Date: 2021-11-15 10:02:12
* @Last Modified by: Morpheus
- * @Last Modified time: 2021-12-15 14:44:30
+ * @Last Modified time: 2021-12-21 15:13:31
*/
<template>
<div>
@@ -22,7 +22,7 @@
}
},
created () {
- getList({ type: 2 }).then(res => {
+ getList({ type: 5 }).then(res => {
res.data.data.records.forEach(item => {
this.list.push({
navTitle: item.mechanismname,
@@ -34,7 +34,10 @@
pitch: item.pitch,
roll: item.roll,
bgImg: item.tpurl,
- QRImg: item.codeurl
+ QRImg: item.codeurl,
+ address: item.address,
+ telephone: item.telephone,
+ introduce: item.introduce
})
})
})
diff --git a/src/pcviews/orgnav/teaching.vue b/src/pcviews/orgnav/teaching.vue
index 5b028e2..57e84aa 100644
--- a/src/pcviews/orgnav/teaching.vue
+++ b/src/pcviews/orgnav/teaching.vue
@@ -3,7 +3,7 @@
* @Name: 教学与科研机构
* @Date: 2021-11-15 10:02:12
* @Last Modified by: Morpheus
- * @Last Modified time: 2021-12-15 14:44:35
+ * @Last Modified time: 2021-12-21 15:12:33
*/
<template>
<div>
@@ -22,7 +22,7 @@
}
},
created () {
- getList({ type: 2 }).then(res => {
+ getList({ type: 4 }).then(res => {
res.data.data.records.forEach(item => {
this.list.push({
navTitle: item.mechanismname,
@@ -34,7 +34,10 @@
pitch: item.pitch,
roll: item.roll,
bgImg: item.tpurl,
- QRImg: item.codeurl
+ QRImg: item.codeurl,
+ address: item.address,
+ telephone: item.telephone,
+ introduce: item.introduce
})
})
})
diff --git a/src/pcviews/service/aed.vue b/src/pcviews/service/aed.vue
new file mode 100644
index 0000000..8c6de83
--- /dev/null
+++ b/src/pcviews/service/aed.vue
@@ -0,0 +1,37 @@
+/*
+ * @Author: Morpheus
+ * @Name: AED
+ * @Date: 2021-11-15 17:14:47
+ * @Last Modified by: Morpheus
+ * @Last Modified time: 2021-12-21 11:41:47
+ */
+<template>
+ <div>
+ <service-nav-bar :title="title"
+ :arcCode="code"
+ :headerLog="headerLog"></service-nav-bar>
+ </div>
+</template>
+
+<script>
+export default {
+ data () {
+ return {
+ title: 'AED',
+ code: 9,
+ headerLog: '/img/icon/service-aed.png'
+ }
+ },
+ created () {
+ },
+ methods: {
+ closeModel () {
+ this.$store.dispatch('delVisitedViews', this.$route)
+ this.$router.push('/pcLayout/default')
+ }
+ }
+}
+</script>
+
+<style>
+</style>
diff --git a/src/pcviews/service/alleyway.vue b/src/pcviews/service/alleyway.vue
new file mode 100644
index 0000000..58673fb
--- /dev/null
+++ b/src/pcviews/service/alleyway.vue
@@ -0,0 +1,37 @@
+/*
+ * @Author: Morpheus
+ * @Name: 出入口
+ * @Date: 2021-11-15 17:14:47
+ * @Last Modified by: Morpheus
+ * @Last Modified time: 2021-12-21 11:41:46
+ */
+<template>
+ <div>
+ <service-nav-bar :title="title"
+ :arcCode="code"
+ :headerLog="headerLog"></service-nav-bar>
+ </div>
+</template>
+
+<script>
+export default {
+ data () {
+ return {
+ title: '出入口',
+ code: 12,
+ headerLog: '/img/icon/service-cr.png'
+ }
+ },
+ created () {
+ },
+ methods: {
+ closeModel () {
+ this.$store.dispatch('delVisitedViews', this.$route)
+ this.$router.push('/pcLayout/default')
+ }
+ }
+}
+</script>
+
+<style>
+</style>
diff --git a/src/pcviews/service/bank.vue b/src/pcviews/service/bank.vue
new file mode 100644
index 0000000..6038c09
--- /dev/null
+++ b/src/pcviews/service/bank.vue
@@ -0,0 +1,37 @@
+/*
+ * @Author: Morpheus
+ * @Name: 银行网点
+ * @Date: 2021-11-15 17:14:47
+ * @Last Modified by: Morpheus
+ * @Last Modified time: 2021-12-21 11:41:52
+ */
+<template>
+ <div>
+ <service-nav-bar :title="title"
+ :arcCode="code"
+ :headerLog="headerLog"></service-nav-bar>
+ </div>
+</template>
+
+<script>
+export default {
+ data () {
+ return {
+ title: '银行网点',
+ code: 8,
+ headerLog: '/img/icon/service-yh.png'
+ }
+ },
+ created () {
+ },
+ methods: {
+ closeModel () {
+ this.$store.dispatch('delVisitedViews', this.$route)
+ this.$router.push('/pcLayout/default')
+ }
+ }
+}
+</script>
+
+<style>
+</style>
diff --git a/src/pcviews/service/canteen.vue b/src/pcviews/service/canteen.vue
new file mode 100644
index 0000000..d600905
--- /dev/null
+++ b/src/pcviews/service/canteen.vue
@@ -0,0 +1,37 @@
+/*
+ * @Author: Morpheus
+ * @Name: 食堂餐厅
+ * @Date: 2021-11-15 17:14:47
+ * @Last Modified by: Morpheus
+ * @Last Modified time: 2021-12-21 11:41:55
+ */
+<template>
+ <div>
+ <service-nav-bar :title="title"
+ :arcCode="code"
+ :headerLog="headerLog"></service-nav-bar>
+ </div>
+</template>
+
+<script>
+export default {
+ data () {
+ return {
+ title: '食堂餐厅',
+ code: 1,
+ headerLog: '/img/icon/service-st.png'
+ }
+ },
+ created () {
+ },
+ methods: {
+ closeModel () {
+ this.$store.dispatch('delVisitedViews', this.$route)
+ this.$router.push('/pcLayout/default')
+ }
+ }
+}
+</script>
+
+<style>
+</style>
diff --git a/src/pcviews/service/copy.vue b/src/pcviews/service/copy.vue
new file mode 100644
index 0000000..9389889
--- /dev/null
+++ b/src/pcviews/service/copy.vue
@@ -0,0 +1,37 @@
+/*
+ * @Author: Morpheus
+ * @Name: 打字复印
+ * @Date: 2021-11-15 17:14:47
+ * @Last Modified by: Morpheus
+ * @Last Modified time: 2021-12-21 11:41:56
+ */
+<template>
+ <div>
+ <service-nav-bar :title="title"
+ :arcCode="code"
+ :headerLog="headerLog"></service-nav-bar>
+ </div>
+</template>
+
+<script>
+export default {
+ data () {
+ return {
+ title: '打字复印',
+ code: 7,
+ headerLog: '/img/icon/service-fy.png'
+ }
+ },
+ created () {
+ },
+ methods: {
+ closeModel () {
+ this.$store.dispatch('delVisitedViews', this.$route)
+ this.$router.push('/pcLayout/default')
+ }
+ }
+}
+</script>
+
+<style>
+</style>
diff --git a/src/pcviews/service/express.vue b/src/pcviews/service/express.vue
new file mode 100644
index 0000000..e19790a
--- /dev/null
+++ b/src/pcviews/service/express.vue
@@ -0,0 +1,37 @@
+/*
+ * @Author: Morpheus
+ * @Name: 邮寄快递
+ * @Date: 2021-11-15 17:14:47
+ * @Last Modified by: Morpheus
+ * @Last Modified time: 2021-12-21 11:43:27
+ */
+<template>
+ <div>
+ <service-nav-bar :title="title"
+ :arcCode="code"
+ :headerLog="headerLog"></service-nav-bar>
+ </div>
+</template>
+
+<script>
+export default {
+ data () {
+ return {
+ title: '邮寄快递',
+ code: 4,
+ headerLog: '/img/icon/service-kd.png'
+ }
+ },
+ created () {
+ },
+ methods: {
+ closeModel () {
+ this.$store.dispatch('delVisitedViews', this.$route)
+ this.$router.push('/pcLayout/default')
+ }
+ }
+}
+</script>
+
+<style>
+</style>
diff --git a/src/pcviews/service/index.vue b/src/pcviews/service/index.vue
index 6a0c204..3dce109 100644
--- a/src/pcviews/service/index.vue
+++ b/src/pcviews/service/index.vue
@@ -1,14 +1,10 @@
<template>
- <div>
- 生活服务设施
- </div>
+ <router-view></router-view>
</template>
<script>
export default {
- created () {
- alert(1)
- }
+
}
</script>
diff --git a/src/pcviews/service/medical.vue b/src/pcviews/service/medical.vue
new file mode 100644
index 0000000..96a18cb
--- /dev/null
+++ b/src/pcviews/service/medical.vue
@@ -0,0 +1,37 @@
+/*
+ * @Author: Morpheus
+ * @Name: 校内医疗
+ * @Date: 2021-11-15 17:14:47
+ * @Last Modified by: Morpheus
+ * @Last Modified time: 2021-12-21 11:42:06
+ */
+<template>
+ <div>
+ <service-nav-bar :title="title"
+ :arcCode="code"
+ :headerLog="headerLog"></service-nav-bar>
+ </div>
+</template>
+
+<script>
+export default {
+ data () {
+ return {
+ title: '校内医疗',
+ code: 3,
+ headerLog: '/img/icon/service-yl.png'
+ }
+ },
+ created () {
+ },
+ methods: {
+ closeModel () {
+ this.$store.dispatch('delVisitedViews', this.$route)
+ this.$router.push('/pcLayout/default')
+ }
+ }
+}
+</script>
+
+<style>
+</style>
diff --git a/src/pcviews/service/park.vue b/src/pcviews/service/park.vue
new file mode 100644
index 0000000..217933b
--- /dev/null
+++ b/src/pcviews/service/park.vue
@@ -0,0 +1,37 @@
+/*
+ * @Author: Morpheus
+ * @Name: 停车场
+ * @Date: 2021-11-15 17:14:47
+ * @Last Modified by: Morpheus
+ * @Last Modified time: 2021-12-21 11:42:09
+ */
+<template>
+ <div>
+ <service-nav-bar :title="title"
+ :arcCode="code"
+ :headerLog="headerLog"></service-nav-bar>
+ </div>
+</template>
+
+<script>
+export default {
+ data () {
+ return {
+ title: '停车场',
+ code: 11,
+ headerLog: '/img/icon/service-tc.png'
+ }
+ },
+ created () {
+ },
+ methods: {
+ closeModel () {
+ this.$store.dispatch('delVisitedViews', this.$route)
+ this.$router.push('/pcLayout/default')
+ }
+ }
+}
+</script>
+
+<style>
+</style>
diff --git a/src/pcviews/service/service.vue b/src/pcviews/service/service.vue
new file mode 100644
index 0000000..071ccbc
--- /dev/null
+++ b/src/pcviews/service/service.vue
@@ -0,0 +1,37 @@
+/*
+ * @Author: Morpheus
+ * @Name: 通信营业厅
+ * @Date: 2021-11-15 17:14:47
+ * @Last Modified by: Morpheus
+ * @Last Modified time: 2021-12-21 11:42:12
+ */
+<template>
+ <div>
+ <service-nav-bar :title="title"
+ :arcCode="code"
+ :headerLog="headerLog"></service-nav-bar>
+ </div>
+</template>
+
+<script>
+export default {
+ data () {
+ return {
+ title: '通信营业厅',
+ code: 10,
+ headerLog: '/img/icon/service-tx.png'
+ }
+ },
+ created () {
+ },
+ methods: {
+ closeModel () {
+ this.$store.dispatch('delVisitedViews', this.$route)
+ this.$router.push('/pcLayout/default')
+ }
+ }
+}
+</script>
+
+<style>
+</style>
diff --git a/src/pcviews/service/showers.vue b/src/pcviews/service/showers.vue
new file mode 100644
index 0000000..474719d
--- /dev/null
+++ b/src/pcviews/service/showers.vue
@@ -0,0 +1,37 @@
+/*
+ * @Author: Morpheus
+ * @Name: 学生浴室
+ * @Date: 2021-11-15 17:14:47
+ * @Last Modified by: Morpheus
+ * @Last Modified time: 2021-12-21 11:42:15
+ */
+<template>
+ <div>
+ <service-nav-bar :title="title"
+ :arcCode="code"
+ :headerLog="headerLog"></service-nav-bar>
+ </div>
+</template>
+
+<script>
+export default {
+ data () {
+ return {
+ title: '学生浴室',
+ code: 5,
+ headerLog: '/img/icon/service-ys.png'
+ }
+ },
+ created () {
+ },
+ methods: {
+ closeModel () {
+ this.$store.dispatch('delVisitedViews', this.$route)
+ this.$router.push('/pcLayout/default')
+ }
+ }
+}
+</script>
+
+<style>
+</style>
diff --git a/src/pcviews/service/supermarket.vue b/src/pcviews/service/supermarket.vue
new file mode 100644
index 0000000..94c7345
--- /dev/null
+++ b/src/pcviews/service/supermarket.vue
@@ -0,0 +1,37 @@
+/*
+ * @Author: Morpheus
+ * @Name: 购物超市
+ * @Date: 2021-11-15 17:14:47
+ * @Last Modified by: Morpheus
+ * @Last Modified time: 2021-12-21 11:42:18
+ */
+<template>
+ <div>
+ <service-nav-bar :title="title"
+ :arcCode="code"
+ :headerLog="headerLog"></service-nav-bar>
+ </div>
+</template>
+
+<script>
+export default {
+ data () {
+ return {
+ title: '购物超市',
+ code: 2,
+ headerLog: '/img/icon/service-cs.png'
+ }
+ },
+ created () {
+ },
+ methods: {
+ closeModel () {
+ this.$store.dispatch('delVisitedViews', this.$route)
+ this.$router.push('/pcLayout/default')
+ }
+ }
+}
+</script>
+
+<style>
+</style>
diff --git a/src/pcviews/service/transfer.vue b/src/pcviews/service/transfer.vue
new file mode 100644
index 0000000..77ce962
--- /dev/null
+++ b/src/pcviews/service/transfer.vue
@@ -0,0 +1,35 @@
+/*
+ * @Author: Morpheus
+ * @Name: 圈存机
+ * @Date: 2021-11-15 17:14:47
+ * @Last Modified by: Morpheus
+ * @Last Modified time: 2021-12-21 11:42:21
+ */
+<template>
+ <div>
+ <service-nav-bar :title="title"
+ :arcCode="code"></service-nav-bar>
+ </div>
+</template>
+
+<script>
+export default {
+ data () {
+ return {
+ title: '圈存机',
+ code: 6
+ }
+ },
+ created () {
+ },
+ methods: {
+ closeModel () {
+ this.$store.dispatch('delVisitedViews', this.$route)
+ this.$router.push('/pcLayout/default')
+ }
+ }
+}
+</script>
+
+<style>
+</style>
diff --git a/src/router/page/index.js b/src/router/page/index.js
index ae24e98..06e930f 100644
--- a/src/router/page/index.js
+++ b/src/router/page/index.js
@@ -1,8 +1,8 @@
/*
* @Author: Morpheus
* @Date: 2021-04-30 14:12:09
- * @Last Modified by: liu
- * @Last Modified time: 2021-12-13 14:53:06
+ * @Last Modified by: Morpheus
+ * @Last Modified time: 2021-12-21 11:42:32
*/
import Vue from 'vue'
@@ -26,170 +26,251 @@
title: '系统首页'
},
children: [{
- path: 'mapnav',
- component: resolve => require(['../../pcviews/mapnav/index.vue'], resolve),
- meta: {
- title: '地图导览'
- }
- },
- {
- path: 'orgnav',
- component: resolve => require(['../../pcviews/orgnav/index.vue'], resolve),
- meta: {
- title: '校内机构导览'
- },
- children: [{
- path: 'masses',
- component: resolve => require(['../../pcviews/orgnav/masses.vue'], resolve),
+ path: 'mapnav',
+ component: resolve => require(['../../pcviews/mapnav/index.vue'], resolve),
meta: {
- title: '党群机构'
+ title: '地图导览'
}
},
{
- path: 'ofc',
- component: resolve => require(['../../pcviews/orgnav/ofc.vue'], resolve),
+ path: 'orgnav',
+ component: resolve => require(['../../pcviews/orgnav/index.vue'], resolve),
meta: {
- title: '职能部处'
- }
- }, {
- path: 'directly',
- component: resolve => require(['../../pcviews/orgnav/directly.vue'], resolve),
+ title: '校内机构导览'
+ },
+ children: [{
+ path: 'masses',
+ component: resolve => require(['../../pcviews/orgnav/masses.vue'], resolve),
+ meta: {
+ title: '党群机构'
+ }
+ },
+ {
+ path: 'ofc',
+ component: resolve => require(['../../pcviews/orgnav/ofc.vue'], resolve),
+ meta: {
+ title: '职能部处'
+ }
+ }, {
+ path: 'directly',
+ component: resolve => require(['../../pcviews/orgnav/directly.vue'], resolve),
+ meta: {
+ title: '直属及附属单位'
+ }
+ },
+ {
+ path: 'teaching',
+ component: resolve => require(['../../pcviews/orgnav/teaching.vue'], resolve),
+ meta: {
+ title: '教学与科研机构'
+ }
+ }, {
+ path: 'rest',
+ component: resolve => require(['../../pcviews/orgnav/rest.vue'], resolve),
+ meta: {
+ title: '其他机构'
+ }
+ }
+ ]
+ },
+ {
+ path: 'arc',
+ component: resolve => require(['../../pcviews/arc/index.vue'], resolve),
meta: {
- title: '直属及附属单位'
+ title: '校内建筑'
+ },
+ children: [{
+ path: 'edifact',
+ component: resolve => require(['../../pcviews/arc/edifact.vue'], resolve),
+ meta: {
+ title: '行政办公'
+ }
+ },
+ {
+ path: 'teaching',
+ component: resolve => require(['../../pcviews/arc/teaching.vue'], resolve),
+ meta: {
+ title: '教学科研'
+ }
+ }, {
+ path: 'venue',
+ component: resolve => require(['../../pcviews/arc/venue.vue'], resolve),
+ meta: {
+ title: '校内场馆'
+ }
+ },
+ {
+ path: 'dorm',
+ component: resolve => require(['../../pcviews/arc/dorm.vue'], resolve),
+ meta: {
+ title: '学生宿舍'
+ }
+ }, {
+ path: 'culture',
+ component: resolve => require(['../../pcviews/arc/culture.vue'], resolve),
+ meta: {
+ title: '文化风景'
+ }
+ },
+ {
+ path: 'family',
+ component: resolve => require(['../../pcviews/arc/family.vue'], resolve),
+ meta: {
+ title: '家属住宅'
+ }
+ }, {
+ path: 'rest',
+ component: resolve => require(['../../pcviews/arc/rest.vue'], resolve),
+ meta: {
+ title: '其他楼宇'
+ }
+ }
+ ]
+ },
+ {
+ path: 'service',
+ component: resolve => require(['../../pcviews/service/index.vue'], resolve),
+ meta: {
+ title: '生活服务设施'
+ },
+ children: [{
+ path: 'canteen',
+ component: resolve => require(['../../pcviews/service/canteen.vue'], resolve),
+ meta: {
+ title: '食堂餐厅'
+ }
+ },
+ {
+ path: 'supermarket',
+ component: resolve => require(['../../pcviews/service/supermarket.vue'], resolve),
+ meta: {
+ title: '购物超市'
+ }
+ }, {
+ path: 'medical',
+ component: resolve => require(['../../pcviews/service/medical.vue'], resolve),
+ meta: {
+ title: '校内医疗'
+ }
+ },
+ {
+ path: 'express',
+ component: resolve => require(['../../pcviews/service/express.vue'], resolve),
+ meta: {
+ title: '邮寄快递'
+ }
+ }, {
+ path: 'showers',
+ component: resolve => require(['../../pcviews/service/showers.vue'], resolve),
+ meta: {
+ title: '学生浴室'
+ }
+ },
+ // {
+ // path: 'transfer',
+ // component: resolve => require(['../../pcviews/service/transfer.vue'], resolve),
+ // meta: {
+ // title: '圈存机'
+ // }
+ // },
+ {
+ path: 'copy',
+ component: resolve => require(['../../pcviews/service/copy.vue'], resolve),
+ meta: {
+ title: '打字复印'
+ }
+ },
+ {
+ path: 'bank',
+ component: resolve => require(['../../pcviews/service/bank.vue'], resolve),
+ meta: {
+ title: '银行网点'
+ }
+ }, {
+ path: 'aed',
+ component: resolve => require(['../../pcviews/service/aed.vue'], resolve),
+ meta: {
+ title: 'AED'
+ }
+ },
+ {
+ path: 'service',
+ component: resolve => require(['../../pcviews/service/service.vue'], resolve),
+ meta: {
+ title: '通信营业厅'
+ }
+ }, {
+ path: 'park',
+ component: resolve => require(['../../pcviews/service/park.vue'], resolve),
+ meta: {
+ title: '停车场'
+ }
+ },
+ {
+ path: 'alleyway',
+ component: resolve => require(['../../pcviews/service/alleyway.vue'], resolve),
+ meta: {
+ title: '出入口'
+ }
+ }
+ ]
+ },
+ {
+ path: 'allquery',
+ component: resolve => require(['../../pcviews/allquery/index.vue'], resolve),
+ meta: {
+ title: '综合查询'
}
},
{
- path: 'teaching',
- component: resolve => require(['../../pcviews/orgnav/teaching.vue'], resolve),
+ path: 'campusnav',
+ component: resolve => require(['../../pcviews/campusnav/index.vue'], resolve),
meta: {
- title: '教学与科研机构'
- }
- }, {
- path: 'rest',
- component: resolve => require(['../../pcviews/orgnav/rest.vue'], resolve),
- meta: {
- title: '其他机构'
- }
- }
- ]
- },
- {
- path: 'arc',
- component: resolve => require(['../../pcviews/arc/index.vue'], resolve),
- meta: {
- title: '校内建筑'
- },
- children: [{
- path: 'edifact',
- component: resolve => require(['../../pcviews/arc/edifact.vue'], resolve),
- meta: {
- title: '行政办公'
+ title: '校园导览'
}
},
{
- path: 'teaching',
- component: resolve => require(['../../pcviews/arc/teaching.vue'], resolve),
+ path: 'campusnavi',
+ component: resolve => require(['../../pcviews/campusnavi/index.vue'], resolve),
meta: {
- title: '教学科研'
- }
- }, {
- path: 'venue',
- component: resolve => require(['../../pcviews/arc/venue.vue'], resolve),
- meta: {
- title: '校内场馆'
+ title: '校园导航'
}
},
{
- path: 'dorm',
- component: resolve => require(['../../pcviews/arc/dorm.vue'], resolve),
+ path: 'specialmap',
+ component: resolve => require(['../../pcviews/specialmap/index.vue'], resolve),
meta: {
- title: '学生宿舍'
- }
- }, {
- path: 'culture',
- component: resolve => require(['../../pcviews/arc/culture.vue'], resolve),
- meta: {
- title: '文化风景'
+ title: '专题地图'
}
},
{
- path: 'family',
- component: resolve => require(['../../pcviews/arc/family.vue'], resolve),
+ path: 'tool',
+ component: resolve => require(['../../pcviews/tool/index.vue'], resolve),
meta: {
- title: '家属住宅'
- }
- }, {
- path: 'rest',
- component: resolve => require(['../../pcviews/arc/rest.vue'], resolve),
- meta: {
- title: '其他楼宇'
- }
+ title: '工具'
+ },
+ children: [{
+ path: 'download',
+ component: resolve => require(['../../pcviews/tool/download.vue'], resolve),
+ meta: {
+ title: '地图下载'
+ }
+ }, {
+ path: 'sign',
+ component: resolve => require(['../../pcviews/tool/sign.vue'], resolve),
+ meta: {
+ title: '地图标记'
+ }
+ },
+ {
+ path: 'ranging',
+ component: resolve => require(['../../pcviews/tool/ranging.vue'], resolve),
+ meta: {
+ title: '地图测距'
+ }
+ }
+ ]
}
- ]
- },
- {
- path: 'service',
- component: resolve => require(['../../pcviews/service/index.vue'], resolve),
- meta: {
- title: '生活服务设施'
- }
- },
- {
- path: 'allquery',
- component: resolve => require(['../../pcviews/allquery/index.vue'], resolve),
- meta: {
- title: '综合查询'
- }
- },
- {
- path: 'campusnav',
- component: resolve => require(['../../pcviews/campusnav/index.vue'], resolve),
- meta: {
- title: '校园导览'
- }
- },
- {
- path: 'campusnavi',
- component: resolve => require(['../../pcviews/campusnavi/index.vue'], resolve),
- meta: {
- title: '校园导航'
- }
- },
- {
- path: 'specialmap',
- component: resolve => require(['../../pcviews/specialmap/index.vue'], resolve),
- meta: {
- title: '专题地图'
- }
- },
- {
- path: 'tool',
- component: resolve => require(['../../pcviews/tool/index.vue'], resolve),
- meta: {
- title: '工具'
- },
- children: [{
- path: 'download',
- component: resolve => require(['../../pcviews/tool/download.vue'], resolve),
- meta: {
- title: '地图下载'
- }
- }, {
- path: 'sign',
- component: resolve => require(['../../pcviews/tool/sign.vue'], resolve),
- meta: {
- title: '地图标记'
- }
- },
- {
- path: 'ranging',
- component: resolve => require(['../../pcviews/tool/ranging.vue'], resolve),
- meta: {
- title: '地图测距'
- }
- }
- ]
- }
]
}]
},
diff --git a/src/store/getters.js b/src/store/getters.js
index bae0997..0989790 100644
--- a/src/store/getters.js
+++ b/src/store/getters.js
@@ -22,9 +22,13 @@
startingPoint: state => state.popupParams.startingPoint,
stateName: state => state.popupParams.stateName,
siteName: state => state.popupParams.siteName,
+ telephone: state => state.popupParams.telephone,
introduceText: state => state.popupParams.introduceText,
panoramaUrl: state => state.popupParams.panoramaUrl,
detailsPopup: state => state.popupParams.detailsPopup,
- panoramaPopup: state => state.popupParams.panoramaPopup
+ panoramaPopup: state => state.popupParams.panoramaPopup,
+ popupImgAtlas: state => state.popupParams.popupImgAtlas,
+ teachList: state => state.popupParams.teachList,
+ liveList: state => state.popupParams.liveList
}
export default getters
diff --git a/src/store/modules/popupParams.js b/src/store/modules/popupParams.js
index 997c1e2..b055c9d 100644
--- a/src/store/modules/popupParams.js
+++ b/src/store/modules/popupParams.js
@@ -7,16 +7,21 @@
pointPosition: null,
stateName: null,
siteName: null,
+ telephone: null,
introduceText: null,
panoramaUrl: null,
detailsPopup: false,
- panoramaPopup: false
+ panoramaPopup: false,
+ // 图集
+ popupImgAtlas: [],
+ teachList: [],
+ liveList: []
},
mutations: {
- SET_POPUPBGURL(state, popupBgUrl) {
+ SET_POPUPBGURL (state, popupBgUrl) {
state.popupBgUrl = popupBgUrl
},
- SET_POPUPQRURL(state, pupupQRUrl) {
+ SET_POPUPQRURL (state, pupupQRUrl) {
state.pupupQRUrl = pupupQRUrl
},
SET_TERMINUS (state, terminus) {
@@ -34,6 +39,9 @@
SET_SITENAME (state, siteName) {
state.siteName = siteName
},
+ SET_TELEPHONE (state, telephone) {
+ state.telephone = telephone
+ },
SET_INTRODUCETEXT (state, introduceText) {
state.introduceText = introduceText
},
@@ -46,11 +54,22 @@
SET_PANORAMAPOPUP (state, panoramaPopup) {
state.panoramaPopup = panoramaPopup
},
+ SET_POPUPIMGATLAS (state, popupImgAtlas) {
+ state.popupImgAtlas = popupImgAtlas
+ },
+ SET_TEACHLIST (state, teachList) {
+ state.teachList = teachList
+ },
+ SET_LIVELIST (state, liveList) {
+ state.liveList = liveList
+ },
CLEAR_ALL (state, param) {
state.siteName = param
state.introduceText = param
state.panoramaUrl = param
+ state.teachList = []
+ state.liveList = []
}
},
actions: {
diff --git a/src/styles/divforms/panoramaBox.scss b/src/styles/divforms/panoramaBox.scss
index 699e72a..530f5bf 100644
--- a/src/styles/divforms/panoramaBox.scss
+++ b/src/styles/divforms/panoramaBox.scss
@@ -16,9 +16,21 @@
box-shadow: 0 0px 12px #29b8f1e5;
.title {
+ position: relative;
line-height: 36px;
color: #fff;
text-align: center;
+
+ .close-box {
+ position: absolute;
+ top: 0;
+ right: 8px;
+ bottom: 0;
+ left: auto;
+ margin: auto;
+ width: 18px;
+ height: 18px;
+ }
}
}
diff --git a/src/styles/divforms/popup.scss b/src/styles/divforms/popup.scss
index 7f96b17..75da573 100644
--- a/src/styles/divforms/popup.scss
+++ b/src/styles/divforms/popup.scss
@@ -56,7 +56,7 @@
}
.btm-box {
- height: 30px;
+ height: 36px;
}
.arc-box {
@@ -123,7 +123,8 @@
}
}
-.site {
+.site,
+.phone {
font-size: 0.875rem;
line-height: 24px;
@@ -145,4 +146,34 @@
font-size: 0.875rem;
line-height: 24px;
}
-}
\ No newline at end of file
+}
+
+.label-wrap {
+
+ .title {
+
+ .audio-control {
+ position: absolute;
+ top: 0;
+ right: 34px;
+ bottom: 0;
+ left: auto;
+ margin: auto;
+ width: 20px;
+ height: 20px;
+ }
+
+ .close-box {
+ position: absolute;
+ top: 0;
+ right: 8px;
+ bottom: 0;
+ left: auto;
+ margin: auto;
+ width: 16px;
+ height: 16px;
+ }
+ }
+}
+
+
diff --git a/src/styles/layout/pc.scss b/src/styles/layout/pc.scss
index c0bb64a..175db77 100644
--- a/src/styles/layout/pc.scss
+++ b/src/styles/layout/pc.scss
@@ -61,12 +61,12 @@
li.el-menu-item.is-active {
border: 0px !important;
- background: #3f51b5 !important;
+ background: rgba(1, 64, 112, 0.494) !important;
}
li:hover {
border: 0px !important;
- background: #3f51b5 !important;
+ background: #1A78C2 !important;
}
}
}
@@ -117,7 +117,7 @@
@keyframes dialog-fade-in {
0% {
- transform: scale(0.1) translate3d(0, -100%, 0);
+ transform: scale(0.1) translate3d(0, 0, 0);
opacity: 0;
}
@@ -134,14 +134,14 @@
}
100% {
- transform: scale(0.1) translate3d(0, -100%, 0);
+ transform: scale(0.1) translate3d(0, 0, 0);
opacity: 0;
}
}
@keyframes anim-open {
0% {
- transform: scale(0.1) translate3d(0, -100%, 0);
+ transform: scale(0.1) translate3d(0, 0%, 0);
opacity: 0;
}
@@ -158,7 +158,7 @@
}
100% {
- transform: scale(0.1) translate3d(0, -100%, 0);
+ transform: scale(0.1) translate3d(0, 0%, 0);
opacity: 0;
}
}
\ No newline at end of file
diff --git a/src/styles/pcpage/dc-ui.scss b/src/styles/pcpage/dc-ui.scss
new file mode 100644
index 0000000..718b1d1
--- /dev/null
+++ b/src/styles/pcpage/dc-ui.scss
@@ -0,0 +1,13 @@
+#viewer-container {
+
+ .dc-compass {
+ top: 20px;
+ transform: scale(1.6);
+ }
+
+ .dc-zoom-controller {
+ top: 120px;
+ transform: scale(1.6);
+ }
+
+}
\ No newline at end of file
diff --git a/src/styles/pcpage/index.scss b/src/styles/pcpage/index.scss
index 12997fc..1fef45c 100644
--- a/src/styles/pcpage/index.scss
+++ b/src/styles/pcpage/index.scss
@@ -1,3 +1,4 @@
@import './element-ui.scss';
+@import './dc-ui.scss';
@import './tool/ranging.scss';
\ No newline at end of file
--
Gitblit v1.9.3