From b3f5918dff20df7761159606b6873f30e1cd5b81 Mon Sep 17 00:00:00 2001 From: user9994793890 <3722323274763196-user9994793890@noreply.coze.cn> Date: Mon, 13 Jul 2026 14:55:08 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E5=8E=86=E5=8F=B2?= =?UTF-8?q?=E8=AE=B0=E5=BD=95=E6=97=A5=E6=9C=9F=E6=A0=BC=E5=BC=8F=E5=92=8C?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E5=90=8D=E7=A7=B0=E6=98=BE=E7=A4=BA=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Coze-Commit-Type: user Coze-User-ID: 3722323274763196 Coze-Conversation-ID: 9894087 --- assets/image_20260713145227175.png | Bin 0 -> 14498 bytes templates/index.html | 109 ++++++++++++++++++++++------- 2 files changed, 82 insertions(+), 27 deletions(-) create mode 100644 assets/image_20260713145227175.png diff --git a/assets/image_20260713145227175.png b/assets/image_20260713145227175.png new file mode 100644 index 0000000000000000000000000000000000000000..43cc58329ebe9dd5d4bad6a076ef2d149f314d46 GIT binary patch literal 14498 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 ltBJAC7vM=lm^XZY1dCj=9N+Sm-3PXSNq { + if (!dateStr) return null; + + // 尝试匹配 "2026-07-12" 格式 + let match = dateStr.match(/(\d{4})-(\d{1,2})-(\d{1,2})/); + if (match) { + return { + year: parseInt(match[1]), + month: parseInt(match[2]), + day: parseInt(match[3]) + }; + } + + // 尝试匹配 "Sun, 12 Jul 2026 00:00:00 GMT" 格式 + match = dateStr.match(/(\d{1,2})\s+(\w+)\s+(\d{4})/); + if (match) { + const months = { + 'Jan': 1, 'Feb': 2, 'Mar': 3, 'Apr': 4, 'May': 5, 'Jun': 6, + 'Jul': 7, 'Aug': 8, 'Sep': 9, 'Oct': 10, 'Nov': 11, 'Dec': 12 + }; + return { + year: parseInt(match[3]), + month: months[match[2]] || 1, + day: parseInt(match[1]) + }; + } + + return null; + }; + + // 解析时间字符串(支持多种格式) + const parseTime = (timeStr) => { + if (!timeStr) return null; + + // 尝试匹配 "2026-07-12 08:00:00" 格式 + let match = timeStr.match(/(\d{4})-(\d{1,2})-(\d{1,2})\s+(\d{1,2}):(\d{1,2}):(\d{1,2})/); + if (match) { + return { + year: match[1], + month: match[2].padStart(2, '0'), + day: match[3].padStart(2, '0'), + hour: match[4].padStart(2, '0'), + minute: match[5].padStart(2, '0'), + second: match[6].padStart(2, '0') + }; + } + + // 尝试匹配 "Sun, 12 Jul 2026 08:00:00 GMT" 格式 + match = timeStr.match(/(\d{1,2})\s+(\w+)\s+(\d{4})\s+(\d{1,2}):(\d{1,2}):(\d{1,2})/); + if (match) { + const months = { + 'Jan': '01', 'Feb': '02', 'Mar': '03', 'Apr': '04', 'May': '05', 'Jun': '06', + 'Jul': '07', 'Aug': '08', 'Sep': '09', 'Oct': '10', 'Nov': '11', 'Dec': '12' + }; + return { + year: match[3], + month: months[match[2]] || '01', + day: match[1].padStart(2, '0'), + hour: match[4].padStart(2, '0'), + minute: match[5].padStart(2, '0'), + second: match[6].padStart(2, '0') + }; + } + + return null; + }; + tbody.innerHTML = list.map(item => { const statusText = item.status === 1 ? '成功' : '失败'; const statusClass = item.status === 1 ? 'status-success' : 'status-failed'; - // 格式化报表日期为中文(直接解析字符串格式 '2026-07-12') + // 格式化报表日期为中文 let reportDate = '-'; - if (item.report_date) { - const match = item.report_date.match(/(\d{4})-(\d{1,2})-(\d{1,2})/); - if (match) { - const year = parseInt(match[1]); - const month = parseInt(match[2]); - const day = parseInt(match[3]); - reportDate = `${year}年${month}月${day}日`; - } else { - reportDate = item.report_date; - } + const dateObj = parseDate(item.report_date); + if (dateObj) { + reportDate = `${dateObj.year}年${dateObj.month}月${dateObj.day}日`; + } else if (item.report_date) { + reportDate = item.report_date; } - // 格式化时间范围(直接解析字符串格式 '2026-07-12 08:00:00') + // 格式化时间范围 let timeRange = '-'; - if (item.start_time && item.end_time) { - const formatTimeStr = (timeStr) => { - const match = timeStr.match(/(\d{4})-(\d{1,2})-(\d{1,2})\s+(\d{1,2}):(\d{1,2}):(\d{1,2})/); - if (match) { - const year = match[1]; - const month = match[2].padStart(2, '0'); - const day = match[3].padStart(2, '0'); - const hour = match[4].padStart(2, '0'); - const minute = match[5].padStart(2, '0'); - const second = match[6].padStart(2, '0'); - return `${year}-${month}-${day} ${hour}:${minute}:${second}`; - } - return timeStr; - }; - timeRange = `${formatTimeStr(item.start_time)} 至 ${formatTimeStr(item.end_time)}`; + const startObj = parseTime(item.start_time); + const endObj = parseTime(item.end_time); + if (startObj && endObj) { + const formatTimeObj = (obj) => `${obj.year}-${obj.month}-${obj.day} ${obj.hour}:${obj.minute}:${obj.second}`; + timeRange = `${formatTimeObj(startObj)} 至 ${formatTimeObj(endObj)}`; + } else if (item.start_time && item.end_time) { + timeRange = `${item.start_time} 至 ${item.end_time}`; } const configName = item.config_name || '-';