|
|
@@ -326,8 +326,20 @@ const visibleKpiCards = computed(() => {
|
|
|
});
|
|
|
|
|
|
// ─── 数据加载 ─────────────────────────────────────────────────
|
|
|
+// 把 Date 序列化为本地时间字符串 "YYYY-MM-DD HH:mm:ss"(避免 toISOString 因 +08 偏移导致后端窗口错位)。
|
|
|
+function toLocalDateTimeString(d: Date | null | undefined, endOfDay = false): string | undefined {
|
|
|
+ if (!d) return undefined;
|
|
|
+ const pad = (n: number) => String(n).padStart(2, '0');
|
|
|
+ const ymd = `${d.getFullYear()}-${pad(d.getMonth() + 1)}-${pad(d.getDate())}`;
|
|
|
+ return endOfDay ? `${ymd} 23:59:59` : `${ymd} 00:00:00`;
|
|
|
+}
|
|
|
+
|
|
|
async function loadOverview() {
|
|
|
- const data = await s8DashboardApi.overview();
|
|
|
+ const filter = currentPanelFilter.value;
|
|
|
+ const data = await s8DashboardApi.overview({
|
|
|
+ beginTime: toLocalDateTimeString(filter.dateStart, false),
|
|
|
+ endTime: toLocalDateTimeString(filter.dateEnd, true),
|
|
|
+ });
|
|
|
Object.assign(overview, data);
|
|
|
}
|
|
|
|
|
|
@@ -354,8 +366,10 @@ async function loadDetail() {
|
|
|
};
|
|
|
const filter = currentPanelFilter.value;
|
|
|
if (filter.severity) params.severity = filter.severity;
|
|
|
- if (filter.dateStart) params.beginTime = filter.dateStart.toISOString();
|
|
|
- if (filter.dateEnd) params.endTime = filter.dateEnd.toISOString();
|
|
|
+ const beginStr = toLocalDateTimeString(filter.dateStart, false);
|
|
|
+ const endStr = toLocalDateTimeString(filter.dateEnd, true);
|
|
|
+ if (beginStr) params.beginTime = beginStr;
|
|
|
+ if (endStr) params.endTime = endStr;
|
|
|
if (filter.extra) {
|
|
|
if (activePanel.value === 'process') params.processNodeCode = filter.extra;
|
|
|
if (activePanel.value === 'occurrence') params.deptId = filter.extra;
|