This commit is contained in:
chenlin
2025-12-13 18:14:36 +08:00
9 changed files with 38 additions and 25 deletions

View File

@@ -52,7 +52,7 @@
class="alert-text"
:class="[{ error: item.error }, { warn: item.warn }]"
>
{{ (index + 1) }} {{ item.text }}
<a href="'http://10.0.64.20/pms/workorder-list'">{{ (index + 1) }} {{ item.text }}</a>
</span>
</div>
</div>

View File

@@ -61,7 +61,7 @@
<div class="safe-wrapper">
<span class="safe-title">
<img width="22" style="margin: 3px 5px 0 0" src="@/assets/images/ybp_icon.png" />
安全指数:
安全指数:<p title="安全指数 = 逾期隐患百分比 × 60% + 安全考核通过率 × 20% + 安全培训完成率 × 20%"></p>
</span>
<span class="pending-count">{{ hiddenDangerData?.safetyIndex || 0 }}</span>
</div>
@@ -392,7 +392,8 @@ onMounted(() => {
}
}
}
p{width:17px; height:17px; background-color:rgb(125, 125, 152); border-radius:50%; text-align:center; }
p:before{content:'?'; color:yellow; font-weight: bold;}
.center-container {
position: fixed;
top: 55%;

View File

@@ -263,7 +263,7 @@ onMounted(() => {
line-height: 25px;
color: #fff;
text-align: center;
background-color: #1afb8f;
background-color: #158e56;
border-radius: 2px;
transition: all 0.3s ease;
}

View File

@@ -11,12 +11,12 @@
{{ currentTime }}
</div>
</div>
<span class="weather-warning">
<!-- <span class="weather-warning">
天气预警:
<span style="color: red">
2025年08月19日13:25分中央气象台发布雄安地区于17时至夜间将有200毫米强降雨并伴有10级大风......
</span>
</span>
</span> -->
<!-- 主内容区 -->
<div class="content-container">
<div class="left-wrapper">

View File

@@ -1,15 +1,15 @@
<template>
<div class="weather-warning">
<span>天气预警:</span>
<!-- <span>天气预警:</span> -->
<!-- 预报内容 -->
<div class="weather-scroll-container" @mouseenter="stopWeatherScroll" @mouseleave="startWeatherScroll">
<!-- <div class="weather-scroll-container" @mouseenter="stopWeatherScroll" @mouseleave="startWeatherScroll">
<div class="weather-scroll-content" :style="{ transform: `translateX(${scrollPosition}px)` }">
<span v-for="(item, index) in weatherData" :key="index" class="weather-item"
:style="{ color: getLevelColor(item.level_code) }">
{{ item.content }}
</span>
</div>
</div>
</div> -->
</div>
</template>

View File

@@ -1355,7 +1355,7 @@ const timeOut1 = (): void => {
@keyframes typeFlashEffect {
0% {
background-color: #1afb8f;
background-color: #158e56;
}
50% {
@@ -1363,7 +1363,7 @@ const timeOut1 = (): void => {
}
100% {
background-color: #1afb8f;
background-color: #158e56;
}
}
@@ -1381,14 +1381,14 @@ const timeOut1 = (): void => {
line-height: 25px;
color: #fff;
text-align: center;
background-color: #1afb8f;
background-color: #158e56;
border-radius: 2px;
animation: typeNumberPulse 1.5s ease-in-out infinite;
transition: all 0.3s ease;
}
.type-number:hover {
background-color: #16d47a;
background-color: #158e56;
transform: scale(1.2);
}

View File

@@ -27,7 +27,7 @@
<div class="card-title">在线设备数</div>
<div class="card-value">{{ onlineDevices.toLocaleString() }}</div>
<div class="card-trend online-rate">
<span>在线率 {{ onlineRate }}%</span>
<!-- <span>在线率 {{ onlineRate }}%</span> -->
</div>
</div>
</div>
@@ -109,6 +109,8 @@
<a
:class="['detail-link', row.hasAlarm ? 'detail-alarm' : 'detail-normal']"
@click="handleViewDetail(row)"
:href="'http://10.0.64.20/configcenter/console/device-manage'"
target="_blank"
>
<span v-if="row.hasAlarm" class="alarm-badge">异常</span>
<span v-else class="normal-badge">正常</span>
@@ -440,8 +442,10 @@ const fetchTotalDevices = async () => {
pageSize: 10
};
const response = await getPowerEnvDeviceTotalNum(params);
if (response.code === 0 && response.data?.records?.length > 0) {
const total = parseInt(response.data.records[0].total || '0', 10);
debugger
if (response.records?.length > 0) {
debugger
const total = parseInt(response.records[0].total || '0', 10);
totalDevices.value = total;
onlineDevices.value = total; // 在线设备数也用total
}
@@ -522,11 +526,12 @@ const fetchParkList = async () => {
pageSize: parkListPage.value.pageSize
};
const response = await getPowerEnvDeviceGroupTypeCampus(params);
if (response.code === 0 && response.data) {
parkListPage.value.total = response.data.total || 0;
debugger
if (response.records?.length>0) {
parkListPage.value.total = response.records?.length || 0;
if (response.data.records && response.data.records.length > 0) {
parkList.value = response.data.records.map((item: any) => {
if (response.records && response.records.length > 0) {
parkList.value = response.records.map((item: any) => {
const upsCount = parseInt(item.ups || '0', 10);
const jmktCount = parseInt(item.jmkt || '0', 10);
const wsdCount = parseInt(item.wsd || '0', 10);