From 70680061e2c679682793120d7b485645ce750a18 Mon Sep 17 00:00:00 2001 From: zhouyonggao <1971162852@qq.com> Date: Wed, 17 Dec 2025 18:31:36 +0800 Subject: [PATCH] =?UTF-8?q?feat(date-picker):=20=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E9=BB=98=E8=AE=A4=E6=97=B6=E9=97=B4=E8=AE=BE=E7=BD=AE=E4=BB=A5?= =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=97=A5=E6=9C=9F=E8=8C=83=E5=9B=B4=E9=80=89?= =?UTF-8?q?=E6=8B=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在日期选择器中引入默认时间设置,开始时间为00:00:00,结束时间为23:59:59,提升用户体验 - 增加normalizeMarketingEndTime函数,确保在导出时将结束时间的00:00:00标准化为23:59:59 - 更新相关逻辑以支持新的时间处理,确保日期范围选择的准确性和灵活性 --- web/index.html | 1 + web/main.js | 24 +++++++++++++++++++++++- 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/web/index.html b/web/index.html index 68b39b4..1102cd0 100644 --- a/web/index.html +++ b/web/index.html @@ -247,6 +247,7 @@ end-placeholder="结束时间" value-format="YYYY-MM-DD HH:mm:ss" :shortcuts="dateShortcuts" + :default-time="dateDefaultTime" style="width:100%" /> diff --git a/web/main.js b/web/main.js index c70bcec..5cb2aa7 100644 --- a/web/main.js +++ b/web/main.js @@ -181,6 +181,12 @@ const app = createApp({ const exportRules = ValidationRules.createExportRules(); // ==================== 时间快捷选项 ==================== + // Element Plus datetimerange 默认时间:开始 00:00:00,结束 23:59:59(仅用于 UI 默认显示) + const dateDefaultTime = [ + new Date(2000, 0, 1, 0, 0, 0), + new Date(2000, 0, 1, 23, 59, 59), + ]; + const dateShortcuts = [ { text: '本日', @@ -666,8 +672,23 @@ const app = createApp({ filters.type_eq = Number(typeValue); } + const normalizeMarketingEndTime = (endStr) => { + const s = String(endStr || '').trim(); + if (!s) return s; + // value-format is 'YYYY-MM-DD HH:mm:ss' so we just normalize "00:00:00" to end-of-day for marketing exports + if (s.length >= 19 && s.slice(11, 19) === '00:00:00') { + return s.slice(0, 10) + ' 23:59:59'; + } + return s; + }; + if (dateRange?.length === 2) { - filters.create_time_between = [dateRange[0], dateRange[1]]; + const start = String(dateRange[0] || '').trim(); + let end = String(dateRange[1] || '').trim(); + if (datasource === 'marketing') { + end = normalizeMarketingEndTime(end); + } + filters.create_time_between = [start, end]; } if (planId) filters.plan_id_eq = Number(planId); @@ -976,6 +997,7 @@ const app = createApp({ createRules, editRules, exportRules, + dateDefaultTime, dateShortcuts, // 表单引用 createFormRef,