From 28dd1bf331b940a4bdec1da11e5adeb1f9e1ec8d Mon Sep 17 00:00:00 2001 From: dengbf Date: Tue, 22 Jul 2025 17:05:49 +0800 Subject: [PATCH 1/2] =?UTF-8?q?-=20[=E5=85=B3=E8=81=94]=20#[14710842919157?= =?UTF-8?q?76]=E4=BB=AA=E8=A1=A8=E7=9B=98=EF=BC=8C=E5=A4=A7=E5=B1=8F?= =?UTF-8?q?=E6=97=B6=E9=97=B4=E6=8E=92=E5=BA=8F=E8=B0=83=E6=95=B4=20http:/?= =?UTF-8?q?/192.168.0.96:8090/demo/rdm.html#/story-detail/939050947543040/?= =?UTF-8?q?939050947543042/1471084291915776?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/resources/assets/js/util.js | 24 +++++++++++++++++++ .../dashboard/widget/charts/widget-base.js | 15 +++++++++++- .../report/statement/widgets/widget-base.js | 15 +++++++++++- 3 files changed, 52 insertions(+), 2 deletions(-) diff --git a/src/resources/assets/js/util.js b/src/resources/assets/js/util.js index e81b3b32..12b90299 100644 --- a/src/resources/assets/js/util.js +++ b/src/resources/assets/js/util.js @@ -1243,5 +1243,29 @@ const methods = { } return result; }, + isValidTimeString(timeStr) { //校验时间字符串 + const parts = timeStr.split(':'); + if (parts.length === 2) { + const [h, m] = parts.map(Number); + return h >= 0 && h < 24 && m >= 0 && m < 60; + } else if (parts.length === 3) { + const [h, m, s] = parts.map(Number); + return h >= 0 && h < 24 && m >= 0 && m < 60 && s >= 0 && s; + } + return false; + }, + isValidDateTime(dateStr) { //校验日期时间字符串 + // 检查是否为Date对象实例 + if (dateStr instanceof Date) { + return !isNaN(dateStr.getTime()); + } + // 检查是否为可解析的日期字符串 + if (typeof dateStr === 'string') { + // 尝试解析为Date对象 + const date = new Date(dateStr); + return !isNaN(date.getTime()); + } + return false; + } }; export default methods; diff --git a/src/views/pages/dashboard/widget/charts/widget-base.js b/src/views/pages/dashboard/widget/charts/widget-base.js index cdc71fd0..f17f0a13 100644 --- a/src/views/pages/dashboard/widget/charts/widget-base.js +++ b/src/views/pages/dashboard/widget/charts/widget-base.js @@ -75,7 +75,7 @@ export const WidgetBase = { data.push(d); }); } - this.data = data; + this.data = data.sort((a, b) => this.changeString(a.xField) - this.changeString(b.xField)); if (!isFirstGetData) { //第一次加载由于组件还没加载完毕,所以不需要调用changeData this.changeData(); @@ -90,6 +90,19 @@ export const WidgetBase = { }, this.widget.dataInterval * 1000); } }); + }, + changeString(a) { //字符串转时间戳 + if (!this.$utils.isEmpty(a)) { + if (this.$utils.isValidDateTime(a)) { + return new Date(a).getTime(); + } else if (this.$utils.isValidTimeString(a)) { + const pad = num => num.toString().padStart(2, '0'); + const [h1, m1, s1 = '00'] = a.split(':').map(pad); + return `${h1}${m1}${s1}`; + } + return a.charCodeAt(0); + } + return a; } }, beforeDestroy() { diff --git a/src/views/pages/report/statement/widgets/widget-base.js b/src/views/pages/report/statement/widgets/widget-base.js index 0b9d8fa4..9dc155f6 100644 --- a/src/views/pages/report/statement/widgets/widget-base.js +++ b/src/views/pages/report/statement/widgets/widget-base.js @@ -65,7 +65,7 @@ export const WidgetBase = { data.push(d); }); } - this.data = data; + this.data = data.sort((a, b) => this.changeString(a.xField) - this.changeString(b.xField)); if (!isFirstGetData) { //第一次加载由于组件还没加载完毕,所以不需要调用changeData this.changeData(); @@ -80,6 +80,19 @@ export const WidgetBase = { }, this.widget.dataInterval * 1000); } }); + }, + changeString(a) { //字符串转时间戳 + if (!this.$utils.isEmpty(a)) { + if (this.$utils.isValidDateTime(a)) { + return new Date(a).getTime(); + } else if (this.$utils.isValidTimeString(a)) { + const pad = num => num.toString().padStart(2, '0'); + const [h1, m1, s1 = '00'] = a.split(':').map(pad); + return `${h1}${m1}${s1}`; + } + return a.charCodeAt(0); + } + return a; } }, beforeDestroy() { -- Gitee From 79db46d6d8fd0646e8dd91e60817f4fd72104a1f Mon Sep 17 00:00:00 2001 From: dengbf Date: Tue, 22 Jul 2025 17:16:25 +0800 Subject: [PATCH 2/2] =?UTF-8?q?-=20[=E5=85=B3=E8=81=94]=20#[14710842919157?= =?UTF-8?q?76]=E4=BB=AA=E8=A1=A8=E7=9B=98=EF=BC=8C=E5=A4=A7=E5=B1=8F?= =?UTF-8?q?=E6=97=B6=E9=97=B4=E6=8E=92=E5=BA=8F=E8=B0=83=E6=95=B4=20http:/?= =?UTF-8?q?/192.168.0.96:8090/demo/rdm.html#/story-detail/939050947543040/?= =?UTF-8?q?939050947543042/1471084291915776?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/resources/assets/js/util.js | 5 ++++- src/views/pages/dashboard/widget/charts/widget-base.js | 2 +- src/views/pages/report/statement/widgets/widget-base.js | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/resources/assets/js/util.js b/src/resources/assets/js/util.js index 12b90299..b17b6ea1 100644 --- a/src/resources/assets/js/util.js +++ b/src/resources/assets/js/util.js @@ -1243,7 +1243,10 @@ const methods = { } return result; }, - isValidTimeString(timeStr) { //校验时间字符串 + isValidTimeString(timeStr) { //校验时间字符串 + if(!timeStr) { + return false; + } const parts = timeStr.split(':'); if (parts.length === 2) { const [h, m] = parts.map(Number); diff --git a/src/views/pages/dashboard/widget/charts/widget-base.js b/src/views/pages/dashboard/widget/charts/widget-base.js index f17f0a13..0854bc0d 100644 --- a/src/views/pages/dashboard/widget/charts/widget-base.js +++ b/src/views/pages/dashboard/widget/charts/widget-base.js @@ -92,7 +92,7 @@ export const WidgetBase = { }); }, changeString(a) { //字符串转时间戳 - if (!this.$utils.isEmpty(a)) { + if (a) { if (this.$utils.isValidDateTime(a)) { return new Date(a).getTime(); } else if (this.$utils.isValidTimeString(a)) { diff --git a/src/views/pages/report/statement/widgets/widget-base.js b/src/views/pages/report/statement/widgets/widget-base.js index 9dc155f6..ac03065c 100644 --- a/src/views/pages/report/statement/widgets/widget-base.js +++ b/src/views/pages/report/statement/widgets/widget-base.js @@ -82,7 +82,7 @@ export const WidgetBase = { }); }, changeString(a) { //字符串转时间戳 - if (!this.$utils.isEmpty(a)) { + if (a) { if (this.$utils.isValidDateTime(a)) { return new Date(a).getTime(); } else if (this.$utils.isValidTimeString(a)) { -- Gitee