feat(光伏电站): 添加左侧面板组件及资源文件
添加左侧面板组件leftPage.vue,包含光伏电站总览和主规模设备展示 新增smalltitle.vue组件用于标题展示 添加相关图片资源和字体文件 更新字体配置文件fonts.scss
BIN
src/assets/fonts/LCD2 Bold.ttf
Normal file
BIN
src/assets/fonts/PangMenZhengDaoBiaoTiTiMianFeiBan-2.ttf
Normal file
@ -11,14 +11,20 @@
|
|||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
}
|
}
|
||||||
|
@font-face {
|
||||||
|
font-family: 'ue_title'; //UE标题体
|
||||||
|
src: url('./PangMenZhengDaoBiaoTiTiMianFeiBan-2.ttf');
|
||||||
|
font-weight: normal;
|
||||||
|
font-weight: normal;
|
||||||
|
font-style: normal;
|
||||||
|
}
|
||||||
// 思源字体
|
// 思源字体
|
||||||
// @font-face {
|
@font-face {
|
||||||
// font-family: 'SourceHanSansCN-Bold';
|
font-family: 'SourceHanSansCN-Bold';
|
||||||
// src: url('./ReflectTi/SourceHanSansCN-Bold_0.otf'); //暂时没用
|
src: url('./ReflectTi/SourceHanSansCN-Bold_0.otf'); //思源加粗
|
||||||
// font-weight: normal;
|
font-weight: normal;
|
||||||
// font-style: normal;
|
font-style: normal;
|
||||||
// }
|
}
|
||||||
// @font-face {
|
// @font-face {
|
||||||
// font-family: 'SourceHanSansCN-ExtraLight';
|
// font-family: 'SourceHanSansCN-ExtraLight';
|
||||||
// src: url('./ReflectTi/SourceHanSansCN-ExtraLight.otf');//暂时没用
|
// src: url('./ReflectTi/SourceHanSansCN-ExtraLight.otf');//暂时没用
|
||||||
@ -154,7 +160,13 @@
|
|||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
}
|
}
|
||||||
|
@font-face {
|
||||||
|
font-family: 'LCDFont'; //光伏电量字体
|
||||||
|
src: url('./LCD2 Bold.ttf');
|
||||||
|
font-weight: normal;
|
||||||
|
font-weight: normal;
|
||||||
|
font-style: normal;
|
||||||
|
}
|
||||||
@font-face {
|
@font-face {
|
||||||
font-family: 'D-Din';
|
font-family: 'D-Din';
|
||||||
src: url('./D-Din//D-DIN.ttf');
|
src: url('./D-Din//D-DIN.ttf');
|
||||||
|
|||||||
BIN
src/assets/ueimg/1.png
Normal file
|
After Width: | Height: | Size: 2.9 KiB |
BIN
src/assets/ueimg/2.png
Normal file
|
After Width: | Height: | Size: 3.4 KiB |
BIN
src/assets/ueimg/3.png
Normal file
|
After Width: | Height: | Size: 5.6 KiB |
BIN
src/assets/ueimg/4.png
Normal file
|
After Width: | Height: | Size: 4.1 KiB |
BIN
src/assets/ueimg/5.png
Normal file
|
After Width: | Height: | Size: 3.7 KiB |
BIN
src/assets/ueimg/bg.png
Normal file
|
After Width: | Height: | Size: 60 KiB |
BIN
src/assets/ueimg/center.png
Normal file
|
After Width: | Height: | Size: 17 KiB |
BIN
src/assets/ueimg/circle1.png
Normal file
|
After Width: | Height: | Size: 55 KiB |
BIN
src/assets/ueimg/circle2.png
Normal file
|
After Width: | Height: | Size: 1.9 KiB |
BIN
src/assets/ueimg/icon-1.png
Normal file
|
After Width: | Height: | Size: 933 B |
BIN
src/assets/ueimg/icon-2.png
Normal file
|
After Width: | Height: | Size: 10 KiB |
BIN
src/assets/ueimg/item.png
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
BIN
src/assets/ueimg/title.png
Normal file
|
After Width: | Height: | Size: 4.6 KiB |
228
src/views/ueScreen/components/leftPage.vue
Normal file
@ -0,0 +1,228 @@
|
|||||||
|
<template>
|
||||||
|
<div class="leftpageContainer">
|
||||||
|
<!-- 头部图表 -->
|
||||||
|
<!-- 中部图表 -->
|
||||||
|
<div class="middleInfo">
|
||||||
|
<SmallTitle :title="'光伏电站总览'" />
|
||||||
|
<div class="middleInfoContainer">
|
||||||
|
<div class="totalView">
|
||||||
|
<div class="totalNum">
|
||||||
|
<span class="num">264966.00</span>
|
||||||
|
<span class="unit">kWh</span>
|
||||||
|
</div>
|
||||||
|
<div class="totalDesc">
|
||||||
|
累计总发电量
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="electricity">
|
||||||
|
<div class="dayNumbox">
|
||||||
|
<div class="left">
|
||||||
|
<img src="@/assets/ueimg/icon-2.png" alt="">
|
||||||
|
</div>
|
||||||
|
<div class="right">
|
||||||
|
<div class="title">日发电量</div>
|
||||||
|
<div class="num">2649 <span class="unit">kWh</span></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="monthNumBox">
|
||||||
|
<div class="left">
|
||||||
|
<img src="@/assets/ueimg/icon-2.png" alt="">
|
||||||
|
</div>
|
||||||
|
<div class="right">
|
||||||
|
<div class="title">月发电量</div>
|
||||||
|
<div class="num">2649 <span class="unit">kWh</span></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="yearNumBox">
|
||||||
|
<div class="left">
|
||||||
|
<img src="@/assets/ueimg/icon-2.png" alt="">
|
||||||
|
</div>
|
||||||
|
<div class="right">
|
||||||
|
<div class="title">年发电量</div>
|
||||||
|
<div class="num">2649 <span class="unit">kWh</span></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<!-- 底部信息 -->
|
||||||
|
<div class="bottomInfo">
|
||||||
|
<SmallTitle :title="'主规模设备'" />
|
||||||
|
<div class="infoContainer">
|
||||||
|
<div v-for="item in infoList" :key="item.name" class="infoItem">
|
||||||
|
<div class="infoIcon">
|
||||||
|
<img :src="item.icon" alt="">
|
||||||
|
</div>
|
||||||
|
<div class="infoName">
|
||||||
|
{{ item.name }}
|
||||||
|
</div>
|
||||||
|
<div class="infoValue">
|
||||||
|
{{ item.value }}
|
||||||
|
</div>
|
||||||
|
<div class="infoUnit">
|
||||||
|
{{ item.unit }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script lang="ts" setup>
|
||||||
|
import SmallTitle from './smalltitle.vue';
|
||||||
|
import { ref } from 'vue';
|
||||||
|
const infoList = ref([
|
||||||
|
{
|
||||||
|
name: '变压器220KV',
|
||||||
|
value: 564,
|
||||||
|
unit: '(台)',
|
||||||
|
icon: 'src/assets/ueimg/1.png',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '开关柜220KV',
|
||||||
|
value: 100,
|
||||||
|
unit: '(台)',
|
||||||
|
icon: 'src/assets/ueimg/2.png',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '接地变110v',
|
||||||
|
value: 564,
|
||||||
|
unit: '(台)',
|
||||||
|
icon: 'src/assets/ueimg/3.png',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '电缆110v',
|
||||||
|
value: 768,
|
||||||
|
unit: '(回)',
|
||||||
|
icon: 'src/assets/ueimg/4.png',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'GIS',
|
||||||
|
value: 100,
|
||||||
|
unit: '(个)',
|
||||||
|
icon: 'src/assets/ueimg/5.png',
|
||||||
|
},
|
||||||
|
])
|
||||||
|
|
||||||
|
</script>
|
||||||
|
<style scoped lang="scss">
|
||||||
|
@import '@/views/ueScreen/gis.scss';
|
||||||
|
|
||||||
|
.leftpageContainer {
|
||||||
|
|
||||||
|
// 中部信息
|
||||||
|
.middleInfo {
|
||||||
|
|
||||||
|
.middleInfoContainer {
|
||||||
|
// margin-top: vh(12);
|
||||||
|
width: vw(467);
|
||||||
|
height: vh(313);
|
||||||
|
// padding: vw(8);
|
||||||
|
box-sizing: border-box;
|
||||||
|
position: relative;
|
||||||
|
background-image: url('@/assets/ueimg/circle1.png');
|
||||||
|
background-size: 100% 100%;
|
||||||
|
.totalView {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
.totalNum {
|
||||||
|
margin-top: vh(31);
|
||||||
|
.num {
|
||||||
|
font-size: vh(36);
|
||||||
|
font-family: 'LCDFont';
|
||||||
|
}
|
||||||
|
.unit {
|
||||||
|
margin-left: vw(11);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.totalDesc {
|
||||||
|
font-size: vh(12);
|
||||||
|
margin-top: vh(8);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.electricity {
|
||||||
|
width: vw(462);
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-around;
|
||||||
|
position: absolute;
|
||||||
|
bottom: vh(27.51);
|
||||||
|
.dayNumbox,
|
||||||
|
.monthNumBox,
|
||||||
|
.yearNumBox {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
height: vh(60);
|
||||||
|
|
||||||
|
.left {
|
||||||
|
img {
|
||||||
|
width: vw(48);
|
||||||
|
height: vh(48);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.right {
|
||||||
|
.title {
|
||||||
|
font-size: vh(16);
|
||||||
|
}
|
||||||
|
.num {
|
||||||
|
margin-top: vh(10.28);
|
||||||
|
font-family: 'D-Din';
|
||||||
|
font-size: vh(24);
|
||||||
|
text-shadow: 0px 0px 6px rgba(0, 255, 238, 1);
|
||||||
|
|
||||||
|
.unit {
|
||||||
|
font-size: vh(16);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 底部信息
|
||||||
|
.bottomInfo {
|
||||||
|
.infoContainer {
|
||||||
|
.infoItem {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
width: vw(465.8);
|
||||||
|
height: vh(74);
|
||||||
|
background-image: url('@/assets/ueimg/item.png');
|
||||||
|
background-size: cover;
|
||||||
|
padding: vw(8);
|
||||||
|
margin-top: vh(12);
|
||||||
|
box-sizing: border-box;
|
||||||
|
|
||||||
|
.infoIcon {
|
||||||
|
img {
|
||||||
|
width: vw(42);
|
||||||
|
height: vh(42);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.infoName {
|
||||||
|
margin-left: vw(17);
|
||||||
|
font-size: vh(20);
|
||||||
|
width: vw(200);
|
||||||
|
height: vh(28);
|
||||||
|
}
|
||||||
|
|
||||||
|
.infoValue {
|
||||||
|
margin-left: vw(82);
|
||||||
|
font-size: vh(20);
|
||||||
|
}
|
||||||
|
|
||||||
|
.infoUnit {
|
||||||
|
margin-left: vw(34);
|
||||||
|
font-size: vh(20);
|
||||||
|
color: rgba(125, 255, 253, 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
41
src/views/ueScreen/components/smalltitle.vue
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
<template>
|
||||||
|
<div class="leftpageContainer">
|
||||||
|
<div class="bottomInfo">
|
||||||
|
<div class="title">
|
||||||
|
<span>{{ title }}</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script lang="ts" setup>
|
||||||
|
|
||||||
|
const props = defineProps({
|
||||||
|
title: {
|
||||||
|
type: Number||String,
|
||||||
|
default: ''
|
||||||
|
}
|
||||||
|
})
|
||||||
|
</script>
|
||||||
|
<style scoped lang="scss">
|
||||||
|
@import '@/views/ueScreen/gis.scss';
|
||||||
|
|
||||||
|
.title {
|
||||||
|
background-image: url('@/assets/ueimg/title.png');
|
||||||
|
background-size: cover;
|
||||||
|
border: vw(1) solid rgba(255, 255, 255, 1);
|
||||||
|
width: vw(465.8);
|
||||||
|
height: vh(40);
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
span {
|
||||||
|
margin-left: vw(41.42);
|
||||||
|
font-size: vh(20);
|
||||||
|
font-weight: 400;
|
||||||
|
letter-spacing: vw(1);
|
||||||
|
line-height: vh(19.08);
|
||||||
|
color: rgba(255, 255, 255, 1);
|
||||||
|
vertical-align: middle;
|
||||||
|
font-family: 'ue_title';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@ -1,11 +1,13 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="ueScreen">
|
<div class="ueScreen">
|
||||||
<Header />
|
<Header />
|
||||||
|
<LeftPage />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import Header from './components/header.vue';
|
import Header from './components/header.vue';
|
||||||
|
import LeftPage from './components/leftPage.vue';
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
|
|||||||