shuishen
2022-01-13 05e12ffc0cd7ca5cc0469cc7b69f9a524d722d1c
忽略模型文件
15 files modified
3 files added
549 ■■■■ changed files
.gitignore 2 ●●●●● patch | view | raw | blame | history
public/img/icon/activity.png patch | view | raw | blame | history
public/img/icon/right.png patch | view | raw | blame | history
src/api/pc/public/specialmap.js 16 ●●●●● patch | view | raw | blame | history
src/components/arcNavBar/index.vue 2 ●●● patch | view | raw | blame | history
src/components/campusNav/index.vue 30 ●●●● patch | view | raw | blame | history
src/components/leftNav/index.vue 68 ●●●● patch | view | raw | blame | history
src/components/map/components/campusBuildingSearch.vue 2 ●●● patch | view | raw | blame | history
src/components/map/components/dimension.vue 7 ●●●● patch | view | raw | blame | history
src/components/map/components/mapPopup.vue 79 ●●●●● patch | view | raw | blame | history
src/components/map/index.vue 15 ●●●● patch | view | raw | blame | history
src/components/orgNavBar/index.vue 2 ●●● patch | view | raw | blame | history
src/components/serviceNavBar/index.vue 2 ●●● patch | view | raw | blame | history
src/pcLayout/index.vue 4 ●●●● patch | view | raw | blame | history
src/pcviews/specialmap/welcome.vue 286 ●●●●● patch | view | raw | blame | history
src/styles/divforms/panoramaBox.scss 2 ●●●●● patch | view | raw | blame | history
src/styles/entitys/text-entitys.scss 26 ●●●●● patch | view | raw | blame | history
src/styles/pcpage/element-ui.scss 6 ●●●● patch | view | raw | blame | history
.gitignore
@@ -1,6 +1,8 @@
.DS_Store
node_modules
/dist
/public/mx
/public/wp
# local env files
public/img/icon/activity.png
public/img/icon/right.png
src/api/pc/public/specialmap.js
New file
@@ -0,0 +1,16 @@
/*
 * @Author: Morpheus
 * @Date: 2021-05-09 15:17:44
 * @Last Modified by: Morpheus
 * @Last Modified time: 2022-01-13 10:08:11
 */
// 校区
import request from '@/router/axios'
export const getWelcome = (params) => {
    return request({
        url: 'blade-hd/hd/detail',
        method: 'get',
        params: params
    })
}
src/components/arcNavBar/index.vue
@@ -209,7 +209,7 @@
                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)),
                    new this.DC.Position(Number(result.jd), Number(result.wd), 300, Number(result.heading), Number(result.pitch), Number(result.roll)),
                    function () {
                    },
                    3
src/components/campusNav/index.vue
@@ -250,6 +250,14 @@
                        output: 'json'
                    }
                }).then(res => {
                    if (res.data.info == 'OVER_DIRECTION_RANGE') {
                        this.$message({
                            message: '超出步行范围!',
                            type: 'warning',
                            duration: 3000
                        })
                    }
                    res.data.route.paths[0].steps.forEach(item => {
                        item.polyline = item.polyline.split(';')
@@ -266,8 +274,6 @@
                        routes += lineArr
                    })
                    console.log(routes, 123)
                    routes = routes.substr(0, routes.length - 1)
@@ -318,8 +324,8 @@
            } else {
                axios.get('https://restapi.amap.com/v3/direction/driving', {
                    params: {
                        origin: `${startLog + ',' + startLat}`,
                        destination: `${endLog + ',' + endLat}`,
                        origin: `${origin[0].toFixed(6) + ',' + origin[1].toFixed(6)}`,
                        destination: `${destination[0].toFixed(6) + ',' + destination[1].toFixed(6)}`,
                        key: '4b3e1db3211054ce5b466407cbb9d221',
                        strategy: 2,
                        extensions: 'all',
@@ -327,8 +333,20 @@
                    }
                }).then(res => {
                    res.data.route.paths[0].steps.forEach(item => {
                        item.polyline += ';'
                        routes += item.polyline
                        item.polyline = item.polyline.split(';')
                        var lineArr = []
                        item.polyline.forEach(it => {
                            it = it.split(',')
                            lineArr.push(this.DC.CoordTransform.GCJ02ToWGS84(it[0], it[1]).join(','))
                        })
                        lineArr = lineArr.join(';')
                        lineArr += ';'
                        routes += lineArr
                    })
                    routes = routes.substr(0, routes.length - 1)
src/components/leftNav/index.vue
@@ -133,9 +133,9 @@
            viewer.addLayer(this.tagLayer)
            this.wayLayer = new this.DC.HtmlLayer('wayLayer')
            viewer.addLayer(this.wayLayer)
            this.sceneLayer = new this.DC.VectorLayer('sceneLayer')
            this.sceneLayer = new this.DC.HtmlLayer('sceneLayer')
            viewer.addLayer(this.sceneLayer)
            this.monitorLayer = new this.DC.VectorLayer('monitorLayer')
            this.monitorLayer = new this.DC.HtmlLayer('monitorLayer')
            viewer.addLayer(this.monitorLayer)
            this.aedLayer = new this.DC.VectorLayer('aedLayer')
            viewer.addLayer(this.aedLayer)
@@ -186,19 +186,71 @@
            getMonitorList().then(res => {
                res.data.data.forEach(item => {
                    const billboard = new this.DC.Billboard(new that.DC.Position(Number(item.jd), Number(item.wd), 0), '/img/leftnav/map-monitor.png')
                    billboard.size = [20, 20]
                    this.monitorLayer.addOverlay(billboard)
                    console.log(item, 456)
                    const divIcon = new this.DC.DivIcon(
                        new that.DC.Position(Number(item.jd), Number(item.wd), 0),
                        `
                        <img class="monitor-entitys-box" src="/img/leftnav/map-monitor.png" alt="">
                        `
                    )
                    divIcon.attrParams = item
                    this.monitorLayer.addOverlay(divIcon)
                    divIcon.on(that.DC.MouseEventType.CLICK, e => {
                        this.$store.commit('SET_PANORAMAPOPUP', false)
                        this.$store.commit('SET_DETAILSPOPUP', false)
                        this.$store.commit('SET_STATENAME', e.overlay.attrParams.mechanismname)
                        this.$store.commit('SET_MONITORURL', e.overlay.attrParams.videourl)
                        // eslint-disable-next-line new-cap
                        var positions = this.DC.Transform.transformWGS84ToCartesian(new this.DC.Position.fromArray([Number(item.jd), Number(item.wd), 0, 0, -90, 0]))
                        this.viewer.scene.globe.depthTestAgainstTerrain = false
                        // eslint-disable-next-line no-unused-vars
                        var monitor = new this.DC.PanoramaBox(this.viewer, {
                            domId: 'MonitorBox',
                            position: [
                                positions
                            ]
                        })
                        this.$store.commit('SET_MONITORPOPUP', true)
                    })
                })
                this.monitorLayer.show = false
            })
            getSceneList().then(res => {
                res.data.data.forEach(item => {
                    const billboard = new this.DC.Billboard(new that.DC.Position(Number(item.jd), Number(item.wd), 0), '/img/leftnav/map-panorama.png')
                    billboard.size = [20, 20]
                    this.sceneLayer.addOverlay(billboard)
                    console.log(item, 123)
                    const divIcon = new this.DC.DivIcon(
                        new that.DC.Position(Number(item.jd), Number(item.wd), 0),
                        `
                        <img class="scene-entitys-box" src="/img/leftnav/map-panorama.png" alt="">
                        `
                    )
                    divIcon.attrParams = item
                    this.sceneLayer.addOverlay(divIcon)
                    divIcon.on(that.DC.MouseEventType.CLICK, e => {
                        this.$store.commit('SET_DETAILSPOPUP', false)
                        this.$store.commit('SET_MONITORPOPUP', false)
                        this.$store.commit('SET_STATENAME', e.overlay.attrParams.mechanismname)
                        this.$store.commit('SET_PANORAMAURL', e.overlay.attrParams.panoramaurl)
                        // eslint-disable-next-line new-cap
                        var positions = this.DC.Transform.transformWGS84ToCartesian(new this.DC.Position.fromArray([Number(item.jd), Number(item.wd), 0, 0, -90, 0]))
                        this.viewer.scene.globe.depthTestAgainstTerrain = false
                        // eslint-disable-next-line no-unused-vars
                        var panorama = new this.DC.PanoramaBox(this.viewer, {
                            domId: 'PanoramaBox',
                            position: [
                                positions
                            ]
                        })
                        this.$store.commit('SET_PANORAMAPOPUP', true)
                    })
                })
                this.sceneLayer.show = false
            })
src/components/map/components/campusBuildingSearch.vue
@@ -264,7 +264,7 @@
            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)),
                new this.DC.Position(Number(result.jd), Number(result.wd), 300, Number(result.heading), Number(result.pitch), Number(result.roll)),
                () => {
                },
src/components/map/components/dimension.vue
@@ -28,7 +28,6 @@
            // 标注
            cvaLayer: null,
            // 建筑2.5D面数据
            areaLayer: null,
            provider: null,
            wallLayer: null,
            tileset: null,
@@ -72,6 +71,7 @@
            ]
        }
    },
    props: ['areaLayer'],
    computed: {
        ...mapGetters([
            'viewer',
@@ -303,9 +303,6 @@
                    // 视角旋转
                    that.viewer.scene.screenSpaceCameraController.enableTilt = false
                    that.areaLayer = new that.DC.VectorLayer('areaLayer')
                    that.viewer.addLayer(that.areaLayer)
                    axios.get('http://arcgis.jxpskj.com:6080/arcgis/rest/services/lxxqwxq/MapServer/0/query?where=1%3D1&text=&objectIds=&time=&geometry=&geometryType=esriGeometryEnvelope&inSR=&spatialRel=esriSpatialRelIntersects&relationParam=&outFields=*&returnGeometry=true&maxAllowableOffset=&geometryPrecision=&outSR=&returnIdsOnly=false&returnCountOnly=false&orderByFields=&groupByFieldsForStatistics=&outStatistics=&returnZ=false&returnM=false&gdbVersion=&returnDistinctValues=false&returnTrueCurves=false&resultOffset=&resultRecordCount=&f=pjson').then(resultData => {
                        resultData.data.features.forEach(item => {
                            item.geometry.rings[0].forEach(it => {
@@ -333,7 +330,7 @@
                    }
                    that.viewer.on(that.DC.MouseEventType.MOUSE_MOVE, e => {
                        if (e.overlay != undefined) {
                        if (e.overlay != undefined && e.layer.id == 'areaLayer') {
                            if (select.overlay != undefined) {
                                if (e.overlay != select.overlay) {
                                    select.overlay.setStyle({
src/components/map/components/mapPopup.vue
@@ -204,12 +204,6 @@
                  :preview-src-list="popupImgAtlas"
                  ref="popupImgs">
        </el-image>
        <audio ref="audioControlPlay"
               style="position: fixed; left: 111111111px;"
               v-html="audioSource"
               @ended="overAudio">
        </audio>
    </div>
</template>
@@ -225,7 +219,10 @@
            tabBtnFlag: '教学科研行政',
            QRCodeFlag: false,
            audioSource: '',
            audioFlag: false
            audioFlag: false,
            audioCourse: false,
            audioSynth: null,
            audioMsg: null
        }
    },
    computed: {
@@ -269,13 +266,26 @@
    },
    created () {
        this.DC = global.DC
        this.audioSynth = window.speechSynthesis
        this.audioMsg = new window.SpeechSynthesisUtterance()
        this.audioMsg.onend = function () {
            this.audioSynth.cancel()
            this.audioFlag = false
            this.audioCourse = false
        }
    },
    watch: {
        introduceText: {
            immediate: true,
            handler (newQuestion, oldQuestion) {
                var zhText = encodeURI(newQuestion)
                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}">`
                this.audioSource = newQuestion
                if (this.audioFlag == true) {
                    this.audioSynth.cancel()
                    this.audioFlag = false
                    this.audioCourse = false
                }
            }
        },
        teachList: {
@@ -291,6 +301,22 @@
            handler (newCode, oldCode) {
                if (newCode.length > 0 && this.teachList.length == 0) {
                    this.tabBtnFlag = '生活服务'
                }
            }
        },
        detailsPopup: {
            immediate: true,
            handler (newCode, oldCode) {
                if (newCode == false) {
                    this.audioSynth.cancel()
                    this.audioFlag = false
                    this.audioCourse = false
                } else {
                    if (this.audioFlag == true) {
                        this.audioSynth.cancel()
                        this.audioFlag = false
                        this.audioCourse = false
                    }
                }
            }
        }
@@ -322,9 +348,11 @@
        panoramaClick () {
            if (this.audioFlag == true) {
                this.$refs.audioControlPlay.pause()
                this.audioSynth.cancel()
                this.audioFlag = false
                this.audioCourse = 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
@@ -343,8 +371,9 @@
        monitorClick () {
            if (this.audioFlag == true) {
                this.$refs.audioControlPlay.pause()
                this.audioSynth.cancel()
                this.audioFlag = false
                this.audioCourse = false
            }
            // eslint-disable-next-line new-cap
            var positions = this.DC.Transform.transformWGS84ToCartesian(new this.DC.Position.fromArray(this.pointPosition))
@@ -363,10 +392,10 @@
        closeMapPopupBox () {
            if (this.audioFlag == true) {
                this.$refs.audioControlPlay.pause()
                this.audioSynth.cancel()
                this.audioFlag = false
                this.audioCourse = false
            }
            this.audioSource = ''
            this.$store.commit('SET_DETAILSPOPUP', false)
        },
@@ -381,24 +410,20 @@
        },
        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}">`
                this.$refs.audioControlPlay.play()
            if (this.audioFlag == false) {
                this.audioMsg.text = this.audioSource
                this.audioSynth.speak(this.audioMsg)
                this.audioFlag = true
                this.audioCourse = true
            } else {
                if (this.audioFlag == true) {
                    this.$refs.audioControlPlay.pause()
                    this.audioFlag = false
                if (this.audioCourse == true) {
                    this.audioSynth.pause()
                    this.audioCourse = false
                } else {
                    this.$refs.audioControlPlay.play()
                    this.audioFlag = true
                    this.audioSynth.resume()
                    this.audioCourse = true
                }
            }
        },
        overAudio () {
            this.audioFlag = false
        },
        mechanismDetailPopup (num, param) {
@@ -423,7 +448,7 @@
                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)),
                    new this.DC.Position(Number(result.jd), Number(result.wd), 300, Number(result.heading), Number(result.pitch), Number(result.roll)),
                    function () {
                    },
                    3
src/components/map/index.vue
@@ -20,7 +20,7 @@
            智慧社区
        </div>
        <dimension />
        <dimension :areaLayer='areaLayer' />
        <left-nav ref="leftNav"></left-nav>
@@ -52,7 +52,8 @@
    },
    data () {
        return {
            DC: null
            DC: null,
            areaLayer: null
        }
    },
    computed: {
@@ -154,6 +155,8 @@
                    }
                }
            })
            that.createdLayers(viewer)
            that.$store.commit('SET_VIEWER', viewer)
@@ -305,6 +308,14 @@
        mapClick (e) {
            this.$refs.campusNavRoute.shortcutShow(e)
            this.$refs.campusBuildingSearch.shortcutShow(e)
        },
        createdLayers (viewer) {
            const layerGroup = new this.DC.LayerGroup('modelBox')
            viewer.addLayerGroup(layerGroup)
            this.areaLayer = new this.DC.VectorLayer('areaLayer')
            layerGroup.addLayer(this.areaLayer)
        }
    }
}
src/components/orgNavBar/index.vue
@@ -135,7 +135,7 @@
            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)),
                new this.DC.Position(Number(item.longitude), Number(item.latitude), 300, Number(item.heading), Number(item.pitch), Number(item.roll)),
                function () {
                },
                3
src/components/serviceNavBar/index.vue
@@ -196,7 +196,7 @@
            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)),
                new this.DC.Position(Number(result.jd), Number(result.wd), 300, Number(result.heading), Number(result.pitch), Number(result.roll)),
                function () {
                },
                3
src/pcLayout/index.vue
@@ -56,11 +56,11 @@
                    <el-menu-item index="/pcLayout/default/campusnavi"> <i class='custom-icon menu-xydh'></i> 社区导航</el-menu-item>
                    <!-- <el-submenu index="specialmap">
                    <el-submenu index="specialmap">
                        <template slot="title"> <i class='custom-icon menu-ztdt'></i> 专题地图</template>
                        <el-menu-item index="/pcLayout/default/specialmap/celebrate">社区庆</el-menu-item>
                        <el-menu-item index="/pcLayout/default/specialmap/welcome">社区迎新</el-menu-item>
                    </el-submenu> -->
                    </el-submenu>
                    <el-submenu index="tool">
                        <template slot="title"> <i class='custom-icon menu-tool'></i> 工具</template>
src/pcviews/specialmap/welcome.vue
@@ -3,55 +3,299 @@
 * @Name: 社区迎新
 * @Date: 2021-11-15 17:14:47
 * @Last Modified by: Morpheus
 * @Last Modified time: 2022-01-05 14:06:20
 * @Last Modified time: 2022-01-13 17:39:35
 */
<template>
    <div>
        <service-nav-bar :title="title"
                         :arcCode="code"
                         :headerLog="headerLog"></service-nav-bar>
        <div class="welcome-container">
            <div class="header">
                <div class="title">
                    {{ title }}
                    <a href="javascript:void(0);" title="语音介绍">
                         <img @click="audioPlay"
                         class="audio-control"
                         src="/img/navicon/audio.png"
                         alt="">
                    </a>
                    <a href="javascript:void(0);" title="关闭">
                        <img @click="closeMapPopupBox"
                         class="close-box"
                         src="/img/navicon/close.png"
                         alt="">
                    </a>
                </div>
            </div>
            <div class="content-box">
                <div class="text-introduce">
                    <div class="title">
                        相关介绍:
                    </div>
                    <div class="content">
                        <p v-text="introduce">
                        </p>
                    </div>
                </div>
                <div class="organizer">
                    主办:{{}}
                </div>
                <div class="undertake">
                    承办:{{}}
                </div>
                <div class="img-exhibition">
                    <div class="title">
                        相关图片:
                    </div>
                    <div class="content">
                        <el-carousel :interval="5000"
                                     arrow="always"
                                     height="300px">
                            <el-carousel-item v-for="item in list"
                                              :key="item">
                                <el-image :src="item"
                                          :preview-src-list="[item]">
                                </el-image>
                            </el-carousel-item>
                        </el-carousel>
                    </div>
                </div>
                <div class="operating-btn">
                    <ul>
                        <li>全景</li>
                        <li>视频</li>
                    </ul>
                </div>
            </div>
        </div>
    </div>
</template>
<script>
import { getWelcome } from '@/api/pc/public/specialmap'
import { mapGetters } from 'vuex'
export default {
    data () {
        return {
            title: '圈存机',
            code: 6,
            headerLog: '/img/icon/service-qcj.png'
            data: [],
            time: '',
            num: 0,
            title: '',
            introduce: '',
            list: [],
            pathList: [],
            pointNameList: [],
            pointList: [],
            DC: null,
            pathLayer: null,
            pointLayer: null
        }
    },
    created () {
        if (this.orgNavBarFlag == true) {
            this.$store.commit('SET_ORGNAVBARTITLE', '')
            this.$store.commit('SET_ORGNAVBARLIST', [])
            this.$store.commit('SET_ORGNAVBARFLAG', false)
        }
        if (this.arcNavBarFlag == true) {
            this.$store.commit('SET_ARCNAVBARTITLE', '')
            this.$store.commit('SET_ARCNAVBARCODE', '')
            this.$store.commit('SET_ARCNAVBARFLAG', false)
        }
    },
    mounted () {
        this.DC = global.DC
        getWelcome({ hdname: '社区迎新' }).then((res) => {
            var result = res.data.data
            this.title = result.hdname
            this.introduce = result.context
            this.list = result.tpurl.split(',')
            this.pointNameList = result.addressname.split(',')
            this.pointList = result.address.split(';')
            this.list.forEach((item, index) => {
                var a = index + 1
                this.data.push(a)
            })
            var a = result.lx.split(';')
            a.forEach(item => {
                var b = item.split('(')
                var c = b[1].substr(0, b[1].length - 1)
                var d = c.split(',')
                var j = []
                d.forEach(it => {
                    var e = it.split(' ')
                    var f = e.join(',')
                    j.push(f)
                })
                var k = j.join(';')
                this.pathList.push(k)
            })
            this.pathLayer = new this.DC.VectorLayer('pathLayer')
            this.viewer.addLayer(this.pathLayer)
            this.pointLayer = new this.DC.HtmlLayer('pointLayer')
            this.viewer.addLayer(this.pointLayer)
            this.pathList.forEach(item => {
                this.drawPolyline(item)
            })
            this.pointList.forEach((item, index) => {
                this.drawPoint(item.split(','), this.pointNameList[index])
            })
        })
    },
    computed: {
        ...mapGetters([
            'viewer',
            // 社区内导航的显示关闭
            'campusNavFlag',
            'orgNavBarFlag',
            'arcNavBarFlag'
        ])
    },
    methods: {
        closeModel () {
            this.$store.dispatch('delVisitedViews', this.$route)
            this.$router.push('/pcLayout/default')
        drawPolyline (item) {
            const polyline = new this.DC.Polyline(item)
            polyline.setStyle({
                width: 6,
                arcType: true,
                material: new this.DC.PolylineImageTrailMaterialProperty({
                    color: new this.DC.Color(255, 0, 0),
                    speed: 60,
                    image: '/img/icon/right.png',
                    repeat: { x: 320, y: 1 }
                }),
                clampToGround: true
            })
            this.pathLayer.addOverlay(polyline)
        },
        drawPoint (item, name) {
            console.log(item, name)
            const divIcon = new this.DC.DivIcon(
                new this.DC.Position(Number(item[0]), Number(item[1]), 0),
                `
                    <div class="point-entitys-box">
                        <div class="point-logo">
                            <img src="/img/icon/activity.png">
                        </div>
                        <div class="point-title">
                            ${name}
                        </div>
                    </div>
                `
            )
            this.pointLayer.addOverlay(divIcon)
        }
    }
}
</script>
<style>
<style lang='scss' scope>
.welcome-container {
    padding: 10px;
    position: fixed;
    top: 132px;
    left: 132px;
    width: 480px;
    height: 620px;
    background: #2196f3;
    border-radius: 10px;
    color: #fff;
    .header {
        height: 36px;
        line-height: 36px;
        text-align: center;
        position: relative;
        .title {
            .audio-control {
                position: absolute;
                top: 0;
                right: 34px;
                bottom: 0;
                left: auto;
                margin: auto;
                width: 20px;
                height: 20px;
                cursor: pointer;
            }
            .close-box {
                position: absolute;
                top: 0;
                right: 8px;
                bottom: 0;
                left: auto;
                margin: auto;
                width: 16px;
                height: 16px;
                cursor: pointer;
            }
        }
    }
    .content-box {
        height: calc(100% - 36px);
        .text-introduce {
            height: calc(100% - 408px);
            .title {
                height: 36px;
                line-height: 36px;
            }
            .content {
                height: calc(100% - 36px);
                p {
                    height: 100%;
                    text-indent: 2em;
                    font-size: 16px;
                    letter-spacing: 2px;
                    line-height: 24px;
                    overflow-y: auto;
                }
            }
        }
        .organizer,
        .undertake {
            height: 36px;
            line-height: 36px;
        }
        .img-exhibition {
            height: 336px;
            .title {
                height: 36px;
                line-height: 36px;
            }
            .content {
                .el-image {
                    position: absolute;
                    top: 0;
                    left: 0;
                    right: 0;
                    bottom: 0;
                    margin: auto;
                    // width: 100%;
                    height: 100%;
                    img {
                        position: absolute;
                        top: 0;
                        left: 0;
                        right: 0;
                        bottom: 0;
                        margin: auto;
                        width: 100%;
                        height: 100%;
                    }
                }
            }
        }
    }
}
</style>
src/styles/divforms/panoramaBox.scss
@@ -17,6 +17,7 @@
            .title {
                position: relative;
                height: 36px;
                line-height: 36px;
                color: #fff;
                text-align: center;
@@ -71,6 +72,7 @@
            .title {
                position: relative;
                height: 36px;
                line-height: 36px;
                color: #fff;
                text-align: center;
src/styles/entitys/text-entitys.scss
@@ -69,6 +69,27 @@
        margin: -6px 26px 0px 10px;
    }
}
.point-entitys-box {
    width: 72px;
    height: 64px;
    .point-logo {
        height: 40px;
        text-align: center;
        img {
            height: 40px;
        }
    }
    .point-title {
        font-weight: 700;
        text-align: center;
        color: red;
        line-height: 24px;
    }
}
.way-entitys-box {
    .way-title {
        border: white 1px solid;
@@ -108,3 +129,8 @@
        background: transparent;
    }
}
.scene-entitys-box,
.monitor-entitys-box {
    height: 40px;
}
src/styles/pcpage/element-ui.scss
@@ -86,6 +86,10 @@
    }
}
.el-message--warning {
    top: 120px !important;
}
.el-image-viewer__wrapper {
    z-index: 111111;
    z-index: 111111 !important;
}