| | |
| | | * @Author : yuan |
| | | * @Date : 2026-01-06 16:35:50 |
| | | * @LastEditors : yuan |
| | | * @LastEditTime : 2026-01-09 16:34:39 |
| | | * @LastEditTime : 2026-01-16 17:17:24 |
| | | * @FilePath : \applications\drone-command\src\views\dataCockpit\index.vue |
| | | * @Description : |
| | | * Copyright 2026 OBKoro1, All Rights Reserved. |
| | |
| | | --> |
| | | <template> |
| | | <div class="page-container"> |
| | | <MapContainer :online-devices="onlineDevices" :left-collapsed="leftCollapsed" /> |
| | | <DeviceMapContainer |
| | | :online-devices="onlineDevices" |
| | | :left-collapsed="leftCollapsed" |
| | | container-id="data-cockpit-map" |
| | | /> |
| | | <LeftContainer class="left-container" v-model:activeId="leftActiveId" v-model:collapsed="leftCollapsed" /> |
| | | <RightContainer class="right-container" v-model:collapsed="rightCollapsed" v-model:onlineDevices="onlineDevices" /> |
| | | <CenterContainer @select-warning="onSelectWarning" @select-equipment="onSelectEquipment" /> |
| | |
| | | </template> |
| | | |
| | | <script setup> |
| | | import MapContainer from './components/MapContainer.vue'; |
| | | import DeviceMapContainer from '@/components/map-container/device-map-container.vue'; |
| | | import LeftContainer from './components/LeftContainer.vue'; |
| | | import RightContainer from './components/RightContainer.vue'; |
| | | import CenterContainer from './components/CenterContainer.vue'; |
| | |
| | | .left-container, |
| | | .right-container { |
| | | position: absolute; |
| | | top: 96px; |
| | | bottom: 0; |
| | | width: 401px; |
| | | bottom: 20px; |
| | | width: 300px; |
| | | z-index: 9; |
| | | backdrop-filter: blur(2px); |
| | | border-radius: 10px 10px 10px 10px; |
| | | |
| | | ::v-deep(.wrapper) { |
| | | display: flex; |
| | | flex-direction: column; |
| | | position: absolute; |
| | | top: 17px; |
| | | bottom: 20px; |
| | | top: 0; |
| | | bottom: 0; |
| | | padding: 20px; |
| | | width: 300px; |
| | | background: rgba(0,0,0,0.3); |
| | | backdrop-filter: blur(16px); |
| | | border-radius: 10px 10px 10px 10px; |
| | | box-sizing: border-box; |
| | | } |
| | | } |
| | | |
| | | .left-container { |
| | | top: 96px; |
| | | left: 0; |
| | | top: 113px; |
| | | left: 17px; |
| | | background: linear-gradient( 270deg, rgba(17,23,34,0) 0%, rgba(17,23,34,0.56) 50%, rgba(17,23,34,0.96) 100%); |
| | | |
| | | ::v-deep(.wrapper) { |
| | | left: 17px; |
| | | } |
| | | } |
| | | |
| | | .right-container { |
| | | top: 54px; |
| | | right: 0; |
| | | top: 75px; |
| | | right: 17px; |
| | | background: linear-gradient( 270deg, rgba(17,23,34,0.96) 0.16%, rgba(17,23,34,0.56) 57.57%, rgba(4,30,37,0) 100%); |
| | | |
| | | ::v-deep(.wrapper) { |
| | | top: 21px; |
| | | right: 17px; |
| | | } |
| | | } |
| | | </style> |