This commit is contained in:
jjLv 2024-12-05 11:16:37 +08:00
parent 6b9242bceb
commit bbe8fd48f6
12 changed files with 1689 additions and 831 deletions

View File

@ -19,7 +19,7 @@ var proxyUrl = (module.exports = {
proxyTable: { proxyTable: {
'/screen': { '/screen': {
// target: 'http://112.29.103.165:21626',//重庆 // target: 'http://112.29.103.165:21626',//重庆
target: 'http://192.168.2.216:39080', //测试 target: 'http://localhost:39080', //测试
// target: 'http://10.40.92.74:8080', // target: 'http://10.40.92.74:8080',
changeOrigin: true, changeOrigin: true,
// secure: true, //如果是https接口需要配置这个参数 // secure: true, //如果是https接口需要配置这个参数

View File

@ -8,6 +8,9 @@
content="width=device-width, initial-scale=1.0, user-scalable=0" content="width=device-width, initial-scale=1.0, user-scalable=0"
/> />
<link rel="shortcut icon" href="./static/favicon.ico" type="image/x-icon" /> <link rel="shortcut icon" href="./static/favicon.ico" type="image/x-icon" />
<script async src="https://api.map.baidu.com/api?v=2.0&ak=cClgLBaLgGUdQDilX9dGvieL"></script>
<script src="https://api.map.baidu.com/api?type=webgl&v=2.0&ak=cClgLBaLgGUdQDilX9dGvieL"></script>
<script type="text/javascript" src="//api.map.baidu.com/library/TrackAnimation/src/TrackAnimation_min.js"></script>
<title>智慧仓储管理平台</title> <title>智慧仓储管理平台</title>
</head> </head>
<body style="margin: 0;"> <body style="margin: 0;">

1658
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -7,7 +7,8 @@ axios.defaults.timeout = 30000
// 默认配置 // 默认配置
// axios.defaults.baseURL = process.env.API_ROOT; // axios.defaults.baseURL = process.env.API_ROOT;
// axios.defaults.baseURL = 'http://192.168.0.56:21627/bigScreen' // axios.defaults.baseURL = 'http://192.168.0.56:21627/bigScreen'
axios.defaults.baseURL = 'screen' // axios.defaults.baseURL = 'screen'
axios.defaults.baseURL = 'http://localhost:8080/screen'
axios.interceptors.request.use( axios.interceptors.request.use(
(config) => { (config) => {

BIN
src/assets/img/close.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

View File

@ -1,24 +1,7 @@
<template> <template>
<div class="centerTopPage"> <div class="centerTopPage">
<div class="mapBox"> <div class="mapBox">
<div v-if="type == 1" id="mapEcharts"></div> <div id="mapEcharts"></div>
<div v-if="type == 2" id="mapEcharts2"></div>
</div>
<div class="buttonTop">
<div
:class="type == 1 ? 'on' : ''"
@click="getMapSelect(1)"
class="buttom1"
>
全国
</div>
<div
:class="type == 2 ? 'on' : ''"
@click="getMapSelect(2)"
class="buttom1"
>
全市
</div>
</div> </div>
</div> </div>
</template> </template>
@ -111,48 +94,6 @@ export default {
// } // }
// }) // })
}, },
getMapSelect(type) {
let dom = document.getElementsByClassName('iconMap')
dom[0].style.display = 'none'
if (type == 1) {
this.type = 1
if (this.mapEcharts) {
this.mapEcharts.dispose()
this.mapEcharts = null
}
if (this.mapEcharts2) {
this.mapEcharts2.dispose()
this.mapEcharts2 = null
}
setTimeout(() => {
this.mapEcharts = echarts.init(document.getElementById('mapEcharts'))
let mapJson1 = mapChinaJson
echarts.registerMap('china', mapJson1)
this.setMapOption()
}, 200)
} else {
this.type = 2
this.isCity = 1
this.getCityCount()
if (this.mapEcharts) {
this.mapEcharts.dispose()
this.mapEcharts = null
}
if (this.mapEcharts2) {
this.mapEcharts2.dispose()
this.mapEcharts2 = null
}
setTimeout(() => {
this.mapEcharts2 = echarts.init(
document.getElementById('mapEcharts2')
)
// let mapJson2 = mapJson('1515507975659761665', '')
let mapJson2 = ningxiaJson
echarts.registerMap('hs', mapJson2)
this.setMapOption2()
}, 200)
}
},
getInitData() { getInitData() {
this.mapEcharts = echarts.init(document.getElementById('mapEcharts')) this.mapEcharts = echarts.init(document.getElementById('mapEcharts'))
this.mapJson = mapChinaJson this.mapJson = mapChinaJson
@ -175,27 +116,47 @@ export default {
}) })
let mapData = [ let mapData = [
// {
// name: '',
// value: ['101.778', '36.623'],
// a: '100',
// },
// {
// name: '',
// value: ['106.278', '38.466'],
// a: '100',
// },
// {
// name: '',
// value: ['117.283', '31.861'],
// a: '100',
// },
// {
// name: '',
// value: ['112.982', '28.194'],
// a: '100',
// },
{ {
name: '青海省', name: '重庆市',
value: ['101.778', '36.623'], value: [],
a: '100', a: 100,
},
{
name: '宁夏回族自治区',
value: ['106.278', '38.466'],
a: '100',
},
{
name: '安徽省',
value: ['117.283', '31.861'],
a: '100',
},
{
name: '湖南省',
value: ['112.982', '28.194'],
a: '100',
}, },
] ]
// let mapData = this.mapList.map((e) => {
// return {
// name: e.province,
// a: e.num,
// value: [],
// }
// })
for (let i = 0; i < mapData.length; i++) {
let geoCoord = geoCoordMap[mapData[i].name]
if (geoCoord) {
mapData[i].value = geoCoord.concat(mapData[i].value)
}
}
let that = this let that = this
this.pointAll = this.cityCount this.pointAll = this.cityCount
this.pointAll.push({ this.pointAll.push({
@ -219,7 +180,7 @@ export default {
}, },
{ {
name: '重庆市', name: '重庆市',
itemStyle: { normal: { areaColor: '#0A2B7B' } }, itemStyle: { normal: { areaColor: '#2187FF' } },
}, },
{ {
name: '河北省', name: '河北省',
@ -323,7 +284,7 @@ export default {
}, },
{ {
name: '宁夏回族自治区', name: '宁夏回族自治区',
itemStyle: { normal: { areaColor: '#2187FF' } }, itemStyle: { normal: { areaColor: '#0A2B7B' } },
}, },
{ {
name: '海南省', name: '海南省',
@ -492,26 +453,27 @@ export default {
zlevel: 1, zlevel: 1,
symbolSize: [45, 55], symbolSize: [45, 55],
symbol: (value, params) => { symbol: (value, params) => {
if (params.name == '安徽省') { return 'image://' + require('@/assets/img/myImage/markPoints.png')
return ( // if (params.name == '') {
'image://' + require('@/assets/img/myImage/markPoints.png') // return (
) // 'image://' + require('@/assets/img/myImage/markPoints.png')
} // )
if (params.name == '湖南省') { // }
return ( // if (params.name == '') {
'image://' + require('@/assets/img/myImage/markPoints.png') // return (
) // 'image://' + require('@/assets/img/myImage/markPoints.png')
} // )
if (params.name == '宁夏回族自治区') { // }
return ( // if (params.name == '') {
'image://' + require('@/assets/img/myImage/markPoints.png') // return (
) // 'image://' + require('@/assets/img/myImage/markPoints.png')
} // )
if (params.name == '青海省') { // }
return ( // if (params.name == '') {
'image://' + require('@/assets/img/myImage/markPoints.png') // return (
) // 'image://' + require('@/assets/img/myImage/markPoints.png')
} // )
// }
}, },
emphasis: { emphasis: {
scale: false, scale: false,
@ -527,7 +489,7 @@ export default {
position: 'top', position: 'top',
padding: [0, 0, -15, 0], padding: [0, 0, -15, 0],
formatter: function (params) { formatter: function (params) {
return params.data.count return params.data.a
}, },
}, },
}, },
@ -563,7 +525,22 @@ export default {
that.mapEcharts.setOption(option) //option that.mapEcharts.setOption(option) //option
}) })
const _this = this
this.mapEcharts.on('click', function (params) { this.mapEcharts.on('click', function (params) {
if (params.data && params.data.a > 0) {
_this.$router.push({
path: '/bigScrap/home-new',
query: { province: params.data.name, location: params.data.value },
})
} else if (params.region.count > 0) {
_this.$router.push({
path: '/bigScrap/home-new',
query: { province: params.name, location: params.region.value },
})
} else {
_this.$message.error('当前省份没有工程数据!')
}
if (params.seriesType === 'scatter' && !params.name) { if (params.seriesType === 'scatter' && !params.name) {
let option = that.mapEcharts.getOption() //option let option = that.mapEcharts.getOption() //option
// //

View File

@ -0,0 +1,209 @@
<template>
<div id="map-container"></div>
</template>
<script>
// import { getProjectByMapApi, getDeviceByMapApi } from '@/api/screen.js'
export default {
data() {
return {
map: null,
projectList: [],
deviceList: [],
}
},
mounted() {
// Promise.all([this.getProjectByMapData(), this.getDeviceByMapData()]).then(
// () => {
// this.initMap()
// }
// )
this.initMap()
},
beforeDestroy() {
/** 组件销毁之前 先清除地图实例 */
//
if (this.map) {
this.map.clearOverlays()
this.map.destroy()
this.map = null
}
},
methods: {
//
initMap() {
this.$nextTick(() => {
console.log(this.projectList, '工程信息--', this.deviceList)
const _this = this
this.map = new BMapGL.Map('map-container') //
let point = new BMapGL.Point(
this.$route.query.location[0] || 117.13805,
this.$route.query.location[1] || 31.8734
) //
// let point = new BMapGL.Point(this.calLon, this.calLat) //
this.map.centerAndZoom(point, 15) //
this.map.enableScrollWheelZoom(true) //
this.map.setHeading(64.5) //
this.map.setTilt(73) //
var icon1 = new BMapGL.Icon(
require('../../assets/img/location-icon.png'),
new BMapGL.Size(30, 42),
{
anchor: new BMapGL.Size(3, 10),
}
)
var icon2 = new BMapGL.Icon(
require('../../assets/img/project-icon.png'),
new BMapGL.Size(30, 42),
{
anchor: new BMapGL.Size(3, 10),
}
)
var points = []
this.projectList.forEach((e) => {
points.push({
point: new BMapGL.Point(e.longitude * 1, e.latitude * 1),
type: 1,
...e,
})
})
this.deviceList.forEach((e) => {
points.push({
iotId: e.iotLocationVo.iotId,
voltagepercent: e.iotLocationVo.voltagepercent,
point: new BMapGL.Point(
e.iotLocationVo.callon,
e.iotLocationVo.callat
),
type: 2,
...e,
})
})
let positionList = []
for (let i = 0; i < points.length; i++) {
let marker = new BMapGL.Marker(points[i].point, {
icon: points[i].type === 1 ? icon2 : icon1,
}) //
marker.data = {
...points[i],
}
this.map.addOverlay(marker) //
positionList.push(
marker.getPosition(points[i].longitude, points[i].latitude)
)
//
// this.addInfoWindow(marker, points[i].title)
if (points[i].type === 2) {
// let opts = {
// width: 320, //
// height: 280, //
// title: points[i].typeModelName, //
// }
// const mapHtml = `<div style="height: 35px;line-height: 35px;letter-spacing: 1px;font-size: 16px"><span></span>${points[i].maCode}</div><div style="height: 35px;line-height: 35px;letter-spacing: 1px;;font-size: 16px"><span>${points[i].maStatus}</span></div><div style="height: 35px;line-height: 35px;letter-spacing: 1px;;font-size: 16px"><span>${points[i].projectName}</span></div><div style='border-bottom: 2px dashed #3484ff;margin:15px 0'></div><div style="height: 35px;line-height: 35px;letter-spacing: 1px;;font-size: 16px"><span>${points[i].iotId}</span></div><div style="height: 35px;line-height: 35px;letter-spacing: 1px;;font-size: 16px"><span>//${points[i].voltagepercent}%</span></div><div style="height: 35px;line-height: 35px;letter-spacing: 1px;;font-size: 16px"><span></span></div>`
const mapHtml = `<div class='my-info-window'><h3 class='my-info-window-title'>${points[i].typeModelName}</h3><div class='my-info-window-content'><div style="height: 35px;line-height: 35px;letter-spacing: 1px;font-size: 16px"><span>设备编码:</span>${points[i].maCode}</div><div style="height: 35px;line-height: 35px;letter-spacing: 1px;;font-size: 16px"><span>设备状态:${points[i].maStatus}</span></div><div style="height: 35px;line-height: 35px;letter-spacing: 1px;;font-size: 16px"><span>领用工程:${points[i].projectName}</span></div><div style='border-bottom: 2px dashed #3484ff;margin:15px 0'></div><div style="height: 35px;line-height: 35px;letter-spacing: 1px;;font-size: 16px"><span>设备编码:${points[i].iotId}</span></div><div style="height: 35px;line-height: 35px;letter-spacing: 1px;;font-size: 16px"><span>设备状态:在用/ 电量${points[i].voltagepercent}%</span></div><div style="height: 35px;line-height: 35px;letter-spacing: 1px;;font-size: 16px"><span>当前位置:${points[i].iotLocationVo.address}</span></div></div></div>`
let infoWindow = new BMapGL.InfoWindow(mapHtml) //
// marker.openInfoWindow(infoWindow) //
//
marker.addEventListener('mouseover', function () {
this.openInfoWindow(infoWindow, this.map.getCenter())
})
marker.addEventListener('mouseout', function () {
this.closeInfoWindow(infoWindow)
})
}
marker.addEventListener('click', function (e) {
// infoWindow.open(this.map, marker)
// infoWindow.setPosition(marker.getPosition())
// this.map.openInfoWindow(infoWindow, this.map.getCenter())
console.log(e, '地图点击了--')
_this.$emit('openDrawer', e.target.data)
})
}
this.map.setViewport(positionList)
})
},
//
async getProjectByMapData() {
if (this.$route.query && this.$route.query.province) {
const { data: res } = await getProjectByMapApi({
province: this.$route.query.province,
})
this.projectList = res
}
},
//
async getDeviceByMapData() {
if (this.$route.query && this.$route.query.province) {
const { data: res } = await getDeviceByMapApi({
province: this.$route.query.province,
})
this.deviceList = res
}
},
},
watch: {
$route: {
handler(newValue) {
console.log(newValue, '路由参数')
},
deep: true,
immediate: true,
},
},
}
</script>
<style scoped>
#map-container {
width: 100%;
height: 100%;
background-color: #bfc;
}
.BMap_pop > div {
background: transparent !important;
border: 0;
}
.BMap_pop > div > div {
background: transparent;
border: 0;
}
.BMap_pop > div > img {
display: none;
}
.BMap_pop > img {
width: 0;
height: 0;
}
.ll {
height: 35px;
line-height: 35px;
letter-spacing: 1px;
border: 1px dashed;
}
</style>
<style>
.my-info-window {
margin: 15px;
width: 420px;
}
.my-info-window-title {
margin: 0;
padding: 0;
font-size: 18px;
}
</style>

View File

@ -16,6 +16,11 @@ const routes = [
path: '/', path: '/',
redirect: '/Layout', redirect: '/Layout',
}, },
{
path: '/bigScrap/home-new',
name: 'home-new',
component: () => import('@/views/newHome/index.vue'),
},
{ {
path: '/Layout', path: '/Layout',
component: Layout, component: Layout,
@ -52,6 +57,7 @@ const routes = [
requireLoginAuth: true, requireLoginAuth: true,
}, },
}, },
], ],
}, },
{ {
@ -63,7 +69,7 @@ const routes = [
const router = new Router({ const router = new Router({
mode: 'history', mode: 'history',
routes, routes,
base: '/screen', base: '',
}) })
router.beforeEach(async (to, from, next) => { router.beforeEach(async (to, from, next) => {
@ -72,7 +78,7 @@ router.beforeEach(async (to, from, next) => {
} }
const token = localStorage.getItem('token') const token = localStorage.getItem('token')
if (!token) { if (!token) {
next('/screen/login/index') // 跳转到登录页 next('/login/index') // 跳转到登录页
} else { } else {
next() // 放行 next() // 放行
} }

View File

@ -19,31 +19,13 @@
</div> </div>
<div class="center-top"> <div class="center-top">
<!-- 宁夏地图 --> <!-- 宁夏地图 -->
<!-- <CountryMap></CountryMap> --> <CountryMap></CountryMap>
<!-- 重庆地图 --> <!-- 重庆地图 -->
<Center3DMap></Center3DMap> <!-- <Center3DMap></Center3DMap> -->
</div> </div>
<div class="center-bottom"> <div class="center-bottom">
<CenterBottom></CenterBottom> <CenterBottom></CenterBottom>
</div> </div>
<!-- <div class="buttom-box">
<div class="buttonTop">
<div
:class="maType == 1 ? 'on' : ''"
class="buttom1"
@click="getMapSelect(1)"
>
施工机具
</div>
<div
:class="maType == 2 ? 'on' : ''"
class="buttom1"
@click="getMapSelect(2)"
>
工器具
</div>
</div>
</div> -->
</div> </div>
<!-- 右侧数据模块列表 --> <!-- 右侧数据模块列表 -->
<div class="rightModuleBox"> <div class="rightModuleBox">
@ -98,8 +80,8 @@ import CenterTop from '../../components/home/centerTop.vue'
// import Center3DMap from '../../components/home/Center3DMap.vue' // import Center3DMap from '../../components/home/Center3DMap.vue'
import Center3DMap from '../../components/home/center3DMap_new.vue' import Center3DMap from '../../components/home/center3DMap_new.vue'
// import Center3DMap from '../../components/home/center3DMap_new.vue' // import Center3DMap from '../../components/home/center3DMap_new.vue'
// import CountryMap from '../../components/home/countryMap.vue' import CountryMap from '../../components/home/countryMap.vue'
import CountryMap from '../../components/home/countryMap1.vue' // import CountryMap from '../../components/home/countryMap1.vue'
import CenterFold from '../../components/home/centerFold.vue' import CenterFold from '../../components/home/centerFold.vue'
import { getMaintenanceWarningApi } from '../../api/screen' import { getMaintenanceWarningApi } from '../../api/screen'
export default { export default {

430
src/views/newHome/index.vue Normal file
View File

@ -0,0 +1,430 @@
<template>
<div class="screen-container">
<div class="data-v-container" :key="key">
<div class="title-bg">
<div class="btn-content">
<el-button
size="medium"
type="primary"
@click="
() => {
$router.go(-1)
}
"
>返回</el-button
>
<el-button size="medium" type="primary" @click="goBackstage"
>后台管理</el-button
>
</div>
<!-- 获取天气 -->
<div class="weather">
<div class="weather_box">
<div><img alt="" src="../../assets/img/myImage//time.png" /></div>
<div class="dateTimeString">{{ dateTimeString }}</div>
</div>
</div>
</div>
<NewMap @openDrawer="openDrawer" />
<div class="screen-left">
<LeftOne />
<LeftTwo />
<LeftFour />
<!-- <dv-border-box-11 class="left-container">
</dv-border-box-11> -->
<!-- <div class="left-container">
<LeftTwo />
</div>
<div class="left-container">
<LeftThree />
</div> -->
</div>
<div class="screen-center">
<!-- <CenterFold /> -->
<CenterBottom />
<div class="tip-container">
<dv-border-box-8>
<img src="../../assets/img/project-icon.png" alt="" />
<span>工程位置</span>
<img
src="../../assets/img/location-icon.png"
alt=""
style="margin-left: 12px"
/>
<span>定位设备位置</span>
</dv-border-box-8>
</div>
</div>
<div class="screen-right">
<RightOne />
<rightTwo />
<rightThree />
<LeftThree></LeftThree>
<!-- <div class="right-container">
<RightOne />
</div> -->
<!-- <div class="right-container">
</div>
<div class="right-container">
<RightThree />
</div>
<div class="right-container">
<CenterBottom />
</div> -->
</div>
<!-- <div class="screen-left">
<div class="left-container">
<LeftOne />
</div>
<div class="left-container">
<LeftTwo />
</div>
<div class="left-container">
<LeftThree />
</div>
</div>
<div class="screen-content"></div>
<div class="screen-right">
<div class="right-container">
<RightOne />
</div>
<div class="right-container">
<RightTwo />
</div>
<div class="right-container">
<RightThree />
</div>
<div class="right-container">
<CenterBottom />
</div>
</div> -->
</div>
<!-- <div class="new-map-container">
<NewMap />
</div> -->
<!-- <el-drawer
:visible.sync="drawer"
v-if="drawer"
:with-header="false"
:direction="direction"
size="80%"
>
<DrawerProject :queryParams="queryParams" v-if="drawerType == 1" />
<DrawerDevice :queryParams="queryParams" v-else />
<img
@click="
() => {
drawer = false
}
"
class="closeIcon"
src="../../assets/img/close.png"
/>
</el-drawer> -->
</div>
</template>
<script>
import CenterFold from '../../components/home/centerFold.vue'
import CountryMap from '../../components/home/countryMap.vue'
import LeftOne from '../../components/home/leftOne.vue'
import LeftTwo from '../../components/home/leftTwo.vue'
import LeftThree from '../../components/home/leftThree.vue'
import LeftFour from '../../components/home/leftFour.vue'
import RightOne from '../../components/home/rightOne.vue'
import rightTwo from '../../components/home/rightTwo.vue'
import rightThree from '../../components/home/rightThree.vue'
import RightFour from '../../components/home/rightFour.vue'
import CenterBottom from '../../components/home/centerBottom.vue'
import NewMap from '../../components/home/new-map.vue'
// import DrawerProject from './components/drawer-project.vue'
// import DrawerDevice from './components/drawer-device.vue'
export default {
components: {
CenterFold,
CountryMap,
LeftOne,
LeftTwo,
LeftThree,
LeftFour,
RightOne,
rightTwo,
rightThree,
RightFour,
NewMap,
CenterBottom,
// DrawerProject,
// DrawerDevice,
},
data() {
return {
key: 0,
drawer: false,
direction: 'ltr',
drawerType: null,
maType: 1,
//
queryParams: null,
dateTimeString: '',
}
},
mounted() {},
mounted() {
this.getCurrentDateTime()
setInterval(this.getCurrentDateTime, 1000)
// let that = this
// AMap.plugin('AMap.CitySearch', function () {
// var citySearch = new AMap.CitySearch()
// citySearch.getLocalCity(function (status, result) {
// if (status === 'complete' && result.info === 'OK') {
// AMap.plugin('AMap.Weather', function () {
// var weather = new AMap.Weather();
// weather.getLive('', function (err, data) {
// // console.log(err, data);
// that.weatherData = data
// that.weatherUrl = data.weather == '' ? ONE : data.weather == '' ? TWO : data.weather == '' ? THREE : ''
// });
// })
// }
// })
// })
// this.getWeather()
this.getMapSelect(this.maType)
// getMaintenanceWarningApi().then((res) => {
// this.transformList = res.data
// })
},
methods: {
openDrawer(query) {
this.queryParams = query
// console.log(query, 'c')
this.drawerType = query.type
this.drawer = true
},
routerClick() {
this.$router.go()
},
getMapSelect(type) {
if (type == 1) {
this.maType = 1
this.$nextTick(() => {
this.$eventBus.$emit('maType', this.maType)
})
} else {
this.maType = 2
this.$nextTick(() => {
this.$eventBus.$emit('maType', this.maType)
})
}
},
async getWeather() {
try {
const res = await axios.get(
'https://api.map.baidu.com/weather/v1/?district_id=110000&data_type=all&ak=YOUR_AK'
)
//
} catch (error) {
console.error(error)
}
},
getCurrentDateTime() {
const date = new Date()
const year = date.getFullYear()
const month = (date.getMonth() + 1).toString().padStart(2, '0')
const day = date.getDate().toString().padStart(2, '0')
const weekdays = [
'星期日',
'星期一',
'星期二',
'星期三',
'星期四',
'星期五',
'星期六',
]
const weekday = weekdays[date.getDay()]
const hours = date.getHours().toString().padStart(2, '0')
const minutes = date.getMinutes().toString().padStart(2, '0')
const seconds = date.getSeconds().toString().padStart(2, '0')
const dateTimeString = `${year}/${month}/${day} ${weekday} ${hours}:${minutes}:${seconds}`
this.dateTimeString = dateTimeString
},
goBackstage() {
location.href = 'http://192.168.0.14:21624/index'
},
},
}
</script>
<style scoped lang="less">
.screen-container {
width: 1920px;
height: 1080px;
background: url(../../assets/img/myImage/screenBg.png) no-repeat center;
background-size: 100% 100%;
color: #fff;
position: relative;
}
.new-map-container {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
// opacity: 0.6;
}
.data-v-container {
width: 100%;
height: 100%;
position: relative;
display: flex;
.screen-left,
.screen-right {
width: 25%;
margin-top: 87px;
height: calc(100% - 87px);
display: flex;
flex-direction: column;
justify-content: space-between;
z-index: 9;
}
.title-bg {
height: 87px;
width: 100%;
position: absolute;
top: 0;
left: 0;
background-color: skyblue;
background: url('../..//assets/img/myImage/screenBg.png') no-repeat;
background-size: 100%, 100%;
z-index: 8;
.btn-content {
position: absolute;
right: 45px;
bottom: 8px;
}
.weather {
position: absolute;
bottom: 10px;
right: 15%;
.weather_box {
display: flex;
justify-content: flex-start;
align-content: center;
flex-wrap: nowrap;
.dateTimeString {
font-size: 14px;
font-family: Alibaba PuHuiTi, Alibaba PuHuiTi;
font-weight: 400;
color: #ffffff;
line-height: 18px;
letter-spacing: 0.1em;
margin-left: 5px;
}
}
}
}
.screen-left {
position: absolute;
left: 0;
top: 0;
// background: linear-gradient(to right, #182151, #d2d6e3);
background: linear-gradient(
90deg,
rgba(11, 20, 71, 1) 0%,
rgba(11, 20, 71, 0.9) 32%,
rgba(11, 20, 70, 0.5) 70%,
rgba(11, 20, 71, 0.1) 100%
);
}
.screen-right {
position: absolute;
right: 0;
top: 0;
background: linear-gradient(
-90deg,
rgba(11, 20, 71, 1) 0%,
rgba(11, 20, 71, 0.9) 32%,
rgba(11, 20, 70, 0.5) 70%,
rgba(11, 20, 71, 0.3) 100%
);
}
.screen-center {
width: 50%;
height: 30%;
position: absolute;
bottom: 0;
left: 50%;
transform: translateX(-50%);
background: linear-gradient(
0deg,
rgba(11, 20, 71, 1) 0%,
rgba(11, 20, 71, 0.9) 32%,
rgba(11, 20, 70, 0.5) 70%,
rgba(11, 20, 71, 0.1) 100%
);
z-index: 9;
.tip-container {
position: absolute;
height: 60px;
right: 30px;
width: 260px;
top: -90px;
/deep/ .dv-border-box-8 .border-box-content {
width: 100%;
padding: 0 15px;
display: flex;
align-items: center;
font-size: 14px;
img {
width: 27px;
height: 32px;
margin-right: 5px;
}
}
}
}
.left-container {
flex: 1;
}
}
/deep/.el-drawer {
overflow: visible;
background: transparent;
}
.closeIcon {
width: 27px;
height: 72px;
position: absolute;
right: -27px;
top: 50%;
transform: translateY(-50%);
cursor: pointer;
}
</style>