|
@@ -1,237 +0,0 @@
|
|
|
-<script setup>
|
|
|
-import {ref} from "vue";
|
|
|
-import {queryMapTree} from '@/service/cim/cim'
|
|
|
-import condition from './template/condition.vue'
|
|
|
-import weather from './template/weather.vue'
|
|
|
-
|
|
|
-// 对应展示的id
|
|
|
-const menuUtilShowIndex = ref(0);
|
|
|
-
|
|
|
-// 菜单栏选中key
|
|
|
-const menuIndex = ref(0)
|
|
|
-// 工具栏选中key
|
|
|
-const utilToolIndex = ref(0)
|
|
|
-
|
|
|
-const layerData = ref([])
|
|
|
-
|
|
|
-const layerFlag = ref(false)
|
|
|
-const weatherFlag = ref(false)
|
|
|
-
|
|
|
-// 菜单栏菜单回调
|
|
|
-function handleMenuSelect(key, keyPath) {
|
|
|
- if (key == menuIndex.value) {
|
|
|
- menuIndex.value = 0
|
|
|
- return
|
|
|
- }
|
|
|
- menuIndex.value = key
|
|
|
-}
|
|
|
-
|
|
|
-// 工具栏菜单回调
|
|
|
-function handleUtilMenuSelect(key, keyPath) {
|
|
|
- if (key == utilToolIndex.value) {
|
|
|
- utilToolIndex.value = 0
|
|
|
- return
|
|
|
- }
|
|
|
- utilToolIndex.value = key
|
|
|
-}
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-// 打开天气组件
|
|
|
-function openWeatherFlag(flag) {
|
|
|
- weatherFlag.value = flag;
|
|
|
-}
|
|
|
-
|
|
|
-// 打开参数组件
|
|
|
-function openDisplayFlag(flag) {
|
|
|
- layerFlag.value = flag;
|
|
|
- queryMapTree('二维', '1317').then(response => {
|
|
|
- console.log(response.data.Rows[0].children, 123123);
|
|
|
- layerData.value = response.data.Rows[0].children[0].children
|
|
|
- }).catch(error => {
|
|
|
- console.error("Error fetching queryMapTree:", error);
|
|
|
- });
|
|
|
-}
|
|
|
-</script>
|
|
|
-
|
|
|
-<template>
|
|
|
- <div id="div-background">
|
|
|
- <!-- 头部主题栏 -->
|
|
|
- <div id="div-head">
|
|
|
- <p class="font-ht title-font">上海CIM平台</p>
|
|
|
- </div>
|
|
|
-
|
|
|
- <!-- 待接入视频流 -->
|
|
|
- <div>
|
|
|
- <iframe
|
|
|
- id="layerIframe"
|
|
|
- style="pointer-events: auto;"
|
|
|
- src="https://zh.wikipedia.org/wiki/Wikipedia"
|
|
|
- >
|
|
|
- </iframe>
|
|
|
- </div>
|
|
|
- <!-- 底部工具栏 -->
|
|
|
- <div id="div-bottom">
|
|
|
- <el-menu class="horizontally" mode="horizontal" background-color="transparent"
|
|
|
- @select="handleMenuSelect">
|
|
|
- <el-menu-item :index="1">
|
|
|
- <!-- 总体态势 -->
|
|
|
- <img @click="openDisplayFlag(true)" src="../../assets/imgs/cim/overallSituation1.png" v-if="menuIndex != 1">
|
|
|
- <img @click="openDisplayFlag(false)" class="img-select" src="../../assets/imgs/cim/overallSituation2.png"
|
|
|
- v-if="menuIndex == 1">
|
|
|
- </el-menu-item>
|
|
|
- <el-menu-item :index="2">
|
|
|
- <!-- 实时感知 -->
|
|
|
- <img src="../../assets/imgs/cim/perception1.png" v-if="menuIndex != 2"
|
|
|
- @click="openDisplayFlag(true)">
|
|
|
- <img class="img-select" src="../../assets/imgs/cim/perception2.png" v-if="menuIndex == 2"
|
|
|
- @click="openDisplayFlag(false)">
|
|
|
- </el-menu-item>
|
|
|
- <el-menu-item :index="3">
|
|
|
- <!-- 车辆仿真模拟 -->
|
|
|
- <img src="../../assets/imgs/cim/vehicleSimulation1.png" v-if="menuIndex != 3">
|
|
|
- <img class="img-select" src="../../assets/imgs/cim/vehicleSimulation2.png" v-if="menuIndex == 3">
|
|
|
- </el-menu-item>
|
|
|
- <el-menu-item :index="4">
|
|
|
- <!-- 工地管理 -->
|
|
|
- <img @click="openDisplayFlag(true)" src="../../assets/imgs/cim/construction1.png" v-if="menuIndex != 4">
|
|
|
- <img @click="openDisplayFlag(false)" class="img-select" src="../../assets/imgs/cim/construction2.png"
|
|
|
- v-if="menuIndex == 4">
|
|
|
- </el-menu-item>
|
|
|
- </el-menu>
|
|
|
- </div>
|
|
|
-
|
|
|
- <!-- 工具栏具体内容 -->
|
|
|
- <condition :data="layerData" v-if="layerFlag"/>
|
|
|
-
|
|
|
- <weather v-if="weatherFlag"/>
|
|
|
-
|
|
|
- <div id="toolbar" style=" position: fixed; right: 20px;">
|
|
|
- <el-menu @select="handleUtilMenuSelect" background-color="transparent" :collapse="true">
|
|
|
- <el-menu-item :index="1">
|
|
|
- <!-- 图层 -->
|
|
|
- <img src="../../assets/imgs/cim/layer1.png" v-if="utilToolIndex != 1"
|
|
|
- @click="openDisplayFlag(true)">
|
|
|
- <img src="../../assets/imgs/cim/layer2.png" v-if="utilToolIndex == 1"
|
|
|
- @click="openDisplayFlag(false)">
|
|
|
- </el-menu-item>
|
|
|
- <el-menu-item :index="2">
|
|
|
- <!-- 天气 -->
|
|
|
- <img src="../../assets/imgs/cim/weather1.png" v-if="utilToolIndex != 2"
|
|
|
- @click="openWeatherFlag(true)">
|
|
|
- <img src="../../assets/imgs/cim/weather2.png" v-if="utilToolIndex == 2"
|
|
|
- @click="openWeatherFlag(false)">
|
|
|
- </el-menu-item>
|
|
|
- <el-menu-item :index="3">
|
|
|
- <!-- 侧面 -->
|
|
|
- <img src="../../assets/imgs/cim/measureSurface1.png" v-if="utilToolIndex != 3">
|
|
|
- <img src="../../assets/imgs/cim/measureSurface2.png" v-if="utilToolIndex == 3">
|
|
|
- </el-menu-item>
|
|
|
- <el-menu-item :index="4">
|
|
|
- <!-- 测距 -->
|
|
|
- <img src="../../assets/imgs/cim/ranging1.png" v-if="utilToolIndex != 4">
|
|
|
- <img src="../../assets/imgs/cim/ranging2.png" v-if="utilToolIndex == 4">
|
|
|
- </el-menu-item>
|
|
|
- <el-menu-item :index="5">
|
|
|
- <!-- 限高 -->
|
|
|
- <img src="../../assets/imgs/cim/heightLimit1.png" v-if="utilToolIndex != 5">
|
|
|
- <img src="../../assets/imgs/cim/heightLimit2.png" v-if="utilToolIndex == 5">
|
|
|
- </el-menu-item>
|
|
|
- </el-menu>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
-</template>
|
|
|
-
|
|
|
-<style scoped lang="scss">
|
|
|
-#layerIframe {
|
|
|
- width: 100%;
|
|
|
- height: 100%;
|
|
|
- position: absolute;
|
|
|
- top: 0;
|
|
|
- left: 0;
|
|
|
- border: none;
|
|
|
-}
|
|
|
-
|
|
|
-#div-background {
|
|
|
- height: 100%;
|
|
|
- width: 100%;
|
|
|
-
|
|
|
- #div-bottom {
|
|
|
- background-image: url("@/assets/imgs/cim/lowerBase.png");
|
|
|
- }
|
|
|
-
|
|
|
- #div-head {
|
|
|
- background-image: url("@/assets/imgs/cim/bigTitle.png");
|
|
|
- }
|
|
|
-
|
|
|
- #toolbar {
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-// 侧边样式
|
|
|
-#div-right-side {
|
|
|
- position: fixed;
|
|
|
- right: 10px;
|
|
|
- top: 80px;
|
|
|
-}
|
|
|
-
|
|
|
-// 菜单鼠标悬浮样式
|
|
|
-.el-menu-item:hover {
|
|
|
-
|
|
|
- outline: 0 !important;
|
|
|
- background-color: transparent !important;
|
|
|
-
|
|
|
-}
|
|
|
-
|
|
|
-// 菜单下右边框去除
|
|
|
-.el-menu {
|
|
|
- border-bottom: none;
|
|
|
- border-right: none;
|
|
|
-}
|
|
|
-
|
|
|
-// 菜单选中后样式
|
|
|
-.el-menu-item .is-active {
|
|
|
- background-color: transparent !important;
|
|
|
-}
|
|
|
-
|
|
|
-// 菜单设置背景色
|
|
|
-.el-menu-item {
|
|
|
- background-color: transparent !important;
|
|
|
-}
|
|
|
-
|
|
|
-// 底部样式
|
|
|
-#div-bottom {
|
|
|
- min-width: 100%;
|
|
|
- position: fixed;
|
|
|
- bottom: 0;
|
|
|
-
|
|
|
- .horizontally {
|
|
|
- min-width: 100%;
|
|
|
-
|
|
|
- img {
|
|
|
- transform: translateY(-35px);
|
|
|
- }
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-.img-select {
|
|
|
- transform: translateY(-50px) !important;
|
|
|
-}
|
|
|
-
|
|
|
-// 头部样式
|
|
|
-#div-head {
|
|
|
- p {
|
|
|
- text-align: center;
|
|
|
- text-shadow: 2px 2px 2px #347fc2;
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-// 标题栏 字体
|
|
|
-.title-font {
|
|
|
- color: #e8eef6;
|
|
|
- font-size: 38px;
|
|
|
- font-weight: 500;
|
|
|
- letter-spacing: 10px;
|
|
|
-}
|
|
|
-
|
|
|
-</style>
|