光伏功能

This commit is contained in:
huangjp
2025-11-07 15:23:08 +08:00
parent 6b4e5cd036
commit c6ea4a8c52
18 changed files with 1256 additions and 132 deletions

View File

@ -1652,9 +1652,32 @@
<circle id="myCircle" cx="220" cy="64" r="16" fill="#0DA17D"></circle>
<circle id="myCircle" cx="960" cy="64" r="16" fill="#FB4444"></circle>
<!-- 动画元素 -->
<circle id="myCircle" cx="280" cy="64" r="10" fill="#FFFFFF">
<animate attributeName="cx" from="280" to="940" dur="800ms" fill="freeze" repeatCount="indefinite" />
</circle>
<circle id="myCircle" cx="280" cy="64" r="15" fill="#0DA17D">
<animate attributeName="cx" from="280" to="940" dur="3000ms" fill="freeze" repeatCount="indefinite" />
</circle>
<!-- pv1 -->
<circle cx="160" cy="680" r="16" fill="#338EFE" />
<circle class="anim-pv1" cx="160" cy="680" r="15" fill="#338EFE" />
<!-- pv2 -->
<circle cx="560" cy="680" r="16" fill="#338EFE" />
<circle class="anim-pv2" cx="560" cy="680" r="15" fill="#338EFE" />
<!-- pcs1 -->
<circle cx="925" cy="680" r="16" fill="#58D86B" />
<circle class="anim-elebox1" cx="925" cy="680" r="15" fill="#58D86B" />
<!-- pv3 -->
<circle cx="160" cy="1230" r="16" fill="#338EFE" />
<circle class="anim-pv3" cx="160" cy="1230" r="15" fill="#338EFE" />
<!-- pv4 -->
<circle cx="560" cy="1230" r="16" fill="#338EFE" />
<circle class="anim-pv4" cx="560" cy="1230" r="15" fill="#338EFE" />
<!-- pcs2 -->
<circle cx="925" cy="1230" r="16" fill="#58D86B" />
<circle class="anim-elebox2" cx="925" cy="1230" r="15" fill="#58D86B" />
<!-- 往负载方向 -->
<!-- <circle cx="573" cy="500" r="16" fill="#338EFE" /> -->
<circle class="animation anim-pvele" cx="300" cy="400" r="15" fill="#338EFE" />
<!-- <circle cx="573" cy="500" r="16" fill="#58D86B" /> -->
<circle class="animation anim-boxele" cx="300" cy="400" r="15" fill="#58D86B" />
</svg>
</view>
</template>
@ -1675,17 +1698,17 @@
y: 194
},
{
text: '计量电表功率(kW):100',
text: this.$t('homePage.home.workStatus') + this.$t('homePage.home.standing'),
x: 535,
y: 370
},
{
text: '计量电表功率(kW):120',
text: this.$t('homePage.home.activePower') + '120',
x: 535,
y: 420
},
{
text: '运行功率',
text: this.$t('homePage.home.operatingPower'),
x: 58,
y: 860
},
@ -1695,7 +1718,7 @@
y: 920
},
{
text: '累计电量',
text: this.$t('homePage.home.accumulatedElectricityConsumption'),
x: 58,
y: 990
},
@ -1705,7 +1728,7 @@
y: 1050
},
{
text: '运行功率',
text: this.$t('homePage.home.operatingPower'),
x: 460,
y: 860
},
@ -1715,7 +1738,7 @@
y: 920
},
{
text: '累计电量',
text: this.$t('homePage.home.accumulatedElectricityConsumption'),
x: 460,
y: 990
},
@ -1727,28 +1750,15 @@
{
text: 'SOC(%):100',
x: 810,
y: 860
y: 910
},
{
text: 'SOH(%):100',
x: 810,
y: 920
y: 960
},
{
text: '有机功率',
x: 840,
y: 990
},
{
text: '(kWh):100',
x: 810,
y: 1050
},
{
text: '运行功率',
text: this.$t('homePage.home.operatingPower'),
x: 58,
y: 1420
},
@ -1758,7 +1768,7 @@
y: 1480
},
{
text: '累计电量',
text: this.$t('homePage.home.accumulatedElectricityConsumption'),
x: 58,
y: 1550
},
@ -1768,7 +1778,7 @@
y: 1610
},
{
text: '运行功率',
text: this.$t('homePage.home.operatingPower'),
x: 460,
y: 1420
},
@ -1778,7 +1788,7 @@
y: 1480
},
{
text: '累计电量',
text: this.$t('homePage.home.accumulatedElectricityConsumption'),
x: 460,
y: 1550
},
@ -1790,23 +1800,13 @@
{
text: 'SOC(%):100',
x: 810,
y: 1420
y: 1470
},
{
text: 'SOH(%):100',
x: 810,
y: 1480
},
{
text: '有机功率',
x: 840,
y: 1550
},
{
text: '(kWh):100',
x: 810,
y: 1610
},
y: 1530
}
]
}
},
@ -1837,4 +1837,86 @@
font-size: 40px;
fill: #7F7F7F;
}
.anim-pv1{
animation: moveToplfetpv1 3s linear 0s infinite both;
}
@keyframes moveToplfetpv1 {
0% { cx: 160; cy: 680; }
10% { cx: 160; cy: 600; }
37.5% { cx: 10; cy: 600; }
67.5% { cx: 10; cy: 405; }
99.9999% { cx: 180; cy: 405; }
100% { cx: 160; cy: 680; }
}
.anim-pv2{
animation: moveToplfetpv2 3.8s linear 0s infinite both;
}
@keyframes moveToplfetpv2 {
0% { cx: 560; cy: 680; }
10% { cx: 560; cy: 600; }
57.5% { cx: 10; cy: 600; }
77.5% { cx: 10; cy: 405; }
99.9999% { cx: 180; cy: 405; }
100% { cx: 560; cy: 680; }
}
.anim-pv3{
animation: moveToplfetpv3 5s linear 0s infinite both;
}
@keyframes moveToplfetpv3 {
0% { cx: 160; cy: 1230; }
7% { cx: 160; cy: 1160; }
21% { cx: 10; cy: 1160; }
70% { cx: 10; cy: 405; }
99.9999% { cx: 180; cy: 405; }
100% { cx: 160; cy: 1230; }
}
.anim-pv4{
animation: moveToplfetpv4 6.5s linear 0s infinite both;
}
@keyframes moveToplfetpv4 {
0% { cx: 560; cy: 1230; }
5% { cx: 560; cy: 1160; }
45% { cx: 10; cy: 1160; }
85% { cx: 10; cy: 405; }
99.9999% { cx: 180; cy: 405; }
100% { cx: 560; cy: 1230; }
}
.anim-elebox1{
animation: moveToplfetbox1 5s linear 0s infinite both;
}
@keyframes moveToplfetbox1 {
0% { cx: 925; cy: 680; }
10% { cx: 925; cy: 600; }
67.5% { cx: 10; cy: 600; }
82.5% { cx: 10; cy: 405; }
99.9999% { cx: 180; cy: 405; }
100% { cx: 925; cy: 680; }
}
.anim-elebox2{
animation: moveToplfetbox2 8s linear 0s infinite both;
}
@keyframes moveToplfetbox2 {
0% { cx: 925; cy: 1230; }
5% { cx: 925; cy: 1160; }
55% { cx: 10; cy: 1160; }
90% { cx: 10; cy: 405; }
99.9999% { cx: 180; cy: 405; }
100% { cx: 925; cy: 1230; }
}
.animation{
animation: moveRightTopRight 5s linear 0s infinite both;
}
.anim-pvele{
animation-delay: 0s;
}
@keyframes moveRightTopRight {
0% { cx: 300; cy: 400; }
15% { cx: 435; cy: 400; }
50% { cx: 435; cy: 64; }
99.9999% { cx: 940; cy: 64; }
100% { cx: 300; cy: 400; }
}
.anim-boxele{
animation-delay: 1s;
}
</style>