From c49b23040cdeffa33247d6cc6565871b918d146e Mon Sep 17 00:00:00 2001 From: juncaiq Date: Fri, 12 Dec 2025 10:09:30 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E5=8A=A8=E7=8E=AF=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/index.ts | 8 ++++---- src/views/screen/powerMonitoring.vue | 17 +++++++++++------ 2 files changed, 15 insertions(+), 10 deletions(-) diff --git a/src/api/index.ts b/src/api/index.ts index 0fbefe4..7cd8175 100644 --- a/src/api/index.ts +++ b/src/api/index.ts @@ -122,20 +122,20 @@ export const getTrainingManagementDataPark = (data) => { // 动环监控-总设备数 /jeelowcode/power_env_device_totol_num export const getPowerEnvDeviceTotalNum = (data) => { - return request.post({ url: '/jeelowcode/power_env_device_totol_num', data }) + return request.post({ url: '/jeelowcode/report-data/list/power_env_device_totol_num', data }) } // 动环监控-告警设备类型分布 /jeelowcode/power_env_device_alarm_distribution export const getPowerEnvDeviceAlarmDistribution = (data) => { - return request.post({ url: '/jeelowcode/power_env_device_alarm_distribution', data }) + return request.post({ url: '/jeelowcode/report-data/list/power_env_device_alarm_distribution', data }) } // 动环监控-当月告警趋势 /jeelowcode/power_env_alarm_trend export const getPowerEnvAlarmTrend = (data) => { - return request.post({ url: '/jeelowcode/power_env_alarm_trend', data }) + return request.post({ url: '/jeelowcode/report-data/list/power_env_alarm_trend', data }) } // 动环监控-园区信息列表 /jeelowcode/power_env_device_group_type_campus export const getPowerEnvDeviceGroupTypeCampus = (data) => { - return request.post({ url: '/jeelowcode/power_env_device_group_type_campus', data }) + return request.post({ url: '/jeelowcode/report-data/list/power_env_device_group_type_campus', data }) } \ No newline at end of file diff --git a/src/views/screen/powerMonitoring.vue b/src/views/screen/powerMonitoring.vue index 7137285..b1c381e 100644 --- a/src/views/screen/powerMonitoring.vue +++ b/src/views/screen/powerMonitoring.vue @@ -109,6 +109,8 @@ 异常 正常 @@ -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); From 968cc98f55013b9de758f60d73b78f6595ef6b2a Mon Sep 17 00:00:00 2001 From: juncaiq Date: Fri, 12 Dec 2025 11:01:19 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E5=A4=A7=E5=B1=8F=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/screen/components/AlertPanel.vue | 2 +- src/views/screen/components/HiddenDangerPanel.vue | 5 +++-- src/views/screen/components/OverviewPanel.vue | 2 +- src/views/screen/components/ScreenFrame.vue | 4 ++-- src/views/screen/components/WeatherWarning.vue | 6 +++--- src/views/screen/mainScreen.vue | 8 ++++---- 6 files changed, 14 insertions(+), 13 deletions(-) diff --git a/src/views/screen/components/AlertPanel.vue b/src/views/screen/components/AlertPanel.vue index 9e3eea3..501c2a1 100644 --- a/src/views/screen/components/AlertPanel.vue +++ b/src/views/screen/components/AlertPanel.vue @@ -52,7 +52,7 @@ class="alert-text" :class="[{ error: item.error }, { warn: item.warn }]" > - {{ (index + 1) }} {{ item.text }} + {{ (index + 1) }} {{ item.text }} diff --git a/src/views/screen/components/HiddenDangerPanel.vue b/src/views/screen/components/HiddenDangerPanel.vue index 5bc2173..4a5f93d 100644 --- a/src/views/screen/components/HiddenDangerPanel.vue +++ b/src/views/screen/components/HiddenDangerPanel.vue @@ -61,7 +61,7 @@
- 安全指数: + 安全指数:

{{ hiddenDangerData?.safetyIndex || 0 }}
@@ -382,7 +382,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%; diff --git a/src/views/screen/components/OverviewPanel.vue b/src/views/screen/components/OverviewPanel.vue index 81e01aa..a29c5d6 100644 --- a/src/views/screen/components/OverviewPanel.vue +++ b/src/views/screen/components/OverviewPanel.vue @@ -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; } diff --git a/src/views/screen/components/ScreenFrame.vue b/src/views/screen/components/ScreenFrame.vue index 9647898..d93a046 100644 --- a/src/views/screen/components/ScreenFrame.vue +++ b/src/views/screen/components/ScreenFrame.vue @@ -11,12 +11,12 @@ {{ currentTime }} - +
diff --git a/src/views/screen/components/WeatherWarning.vue b/src/views/screen/components/WeatherWarning.vue index 9dda221..beea09e 100644 --- a/src/views/screen/components/WeatherWarning.vue +++ b/src/views/screen/components/WeatherWarning.vue @@ -1,15 +1,15 @@ diff --git a/src/views/screen/mainScreen.vue b/src/views/screen/mainScreen.vue index 124fcdd..e5a6fd4 100644 --- a/src/views/screen/mainScreen.vue +++ b/src/views/screen/mainScreen.vue @@ -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); } From 7832cec9256cfaccfed9332957539c6c19a49eba Mon Sep 17 00:00:00 2001 From: juncaiq Date: Fri, 12 Dec 2025 11:49:06 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E6=8B=BF=E6=8E=89=E5=9C=A8=E7=BA=BF?= =?UTF-8?q?=E7=8E=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/screen/powerMonitoring.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/views/screen/powerMonitoring.vue b/src/views/screen/powerMonitoring.vue index b1c381e..9a65822 100644 --- a/src/views/screen/powerMonitoring.vue +++ b/src/views/screen/powerMonitoring.vue @@ -27,7 +27,7 @@
在线设备数
{{ onlineDevices.toLocaleString() }}
- 在线率 {{ onlineRate }}% +
From 82930a7f2e322b1c55c76393f1d4d37affdb920e Mon Sep 17 00:00:00 2001 From: yang chen Date: Fri, 12 Dec 2025 14:56:27 +0800 Subject: [PATCH 4/4] =?UTF-8?q?fix(permission):=20=E4=BF=AE=E5=A4=8DSSO?= =?UTF-8?q?=E9=87=8D=E5=AE=9A=E5=90=91URL=E6=9E=84=E9=80=A0=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 正确处理路由中的查询参数 - 使用URLSearchParams构造查询字符串 - 对重定向URL进行编码以确保安全性 - 保持原有路径参数不变 - 提高SSO登录流程的稳定性 --- src/permission.ts | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/permission.ts b/src/permission.ts index aa9f520..b461e2e 100644 --- a/src/permission.ts +++ b/src/permission.ts @@ -102,10 +102,17 @@ router.beforeEach(async (to, from, next) => { } else { if(import.meta.env.VITE_DEFAULT_SSO =='true'){ authUtil.setTenantId("1") + // 正确构造包含查询参数的重定向URL + let redirectUrl = to.fullPath; + if (Object.keys(to.query).length > 0) { + const queryParams = new URLSearchParams(to.query as Record).toString(); + redirectUrl = `${to.path}?${queryParams}`; + } + const redirectUri = location.origin + '/social-login?' + - `type=100&redirect=${to.fullPath}` + `type=100&redirect=${encodeURIComponent(redirectUrl)}` // 进行跳转 const res = await LoginApi.socialAuthRedirect(100, encodeURIComponent(redirectUri))