From 1c293d0c86fcbf9fbb11e67f44df3477699ed31b Mon Sep 17 00:00:00 2001 From: sy2084 Date: Tue, 29 Oct 2024 11:47:37 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E9=A2=84=E8=A7=88=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E7=B1=BB=E5=9E=8B=E4=BC=A0=E5=8F=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.production | 3 +- src/components/common/y-table.vue | 2 +- .../view-all-manage/create-view/index.vue | 71 +++++++++++++++---- 3 files changed, 62 insertions(+), 14 deletions(-) diff --git a/.env.production b/.env.production index f5baabc..38669de 100644 --- a/.env.production +++ b/.env.production @@ -2,6 +2,7 @@ VITE_NODE_ENV = prod VITE_OA_BASEURL = https://oa.shiyuegame.com -VITE_YCODE_BASEURL = https://custom-chart-api.shiyuegame.com +# VITE_YCODE_BASEURL = https://custom-chart-api.shiyuegame.com +VITE_YCODE_BASEURL = https://custom-chart-api.shiyuegame.com:19998 VITE_YCODE_BASEURL_FRONT = https://custom-chart.shiyuegame.com diff --git a/src/components/common/y-table.vue b/src/components/common/y-table.vue index 5e608f1..d762fe7 100644 --- a/src/components/common/y-table.vue +++ b/src/components/common/y-table.vue @@ -125,7 +125,7 @@ const pageState = reactive({ watch(() => props.filterConfig, (newVal) => { newVal.forEach((item) => { // 给数值区间类型赋初始值,防止报错 - if (item.type === 'number_range') { + if (item.type === 'number_range' && !filterData.value[item.name]) { filterData.value[item.name] = { min: undefined, max: undefined, diff --git a/src/views/view-all-manage/create-view/index.vue b/src/views/view-all-manage/create-view/index.vue index 3e61577..d428636 100644 --- a/src/views/view-all-manage/create-view/index.vue +++ b/src/views/view-all-manage/create-view/index.vue @@ -88,6 +88,13 @@ @change="toFilt" /> + + +
+ + - + +
导出
@@ -285,15 +292,36 @@ const toPreview = ({filter}) => { return previewData.filterData[item.name] !== undefined && previewData.filterData[item.name] !== null; }) .map((item) => { - return item.type === 'time' && previewData.filterData[item.name] ? { - name: item.name, - type: item.type, - start_time: previewData.filterData[item.name][0].format('YYYY-MM-DD'), - end_time: previewData.filterData[item.name][1].format('YYYY-MM-DD'), - } : { - name: item.name, - type: item.type, - value: previewData.filterData[item.name], + if (item.type === 'time' && previewData.filterData[item.name]) { + // 日期类型的参数 + return { + name: item.name, + type: item.type, + start_time: previewData.filterData[item.name][0].format('YYYY-MM-DD'), + end_time: previewData.filterData[item.name][1].format('YYYY-MM-DD'), + }; + } else if (item.type === 'date_time' && previewData.filterData[item.name]) { + // 带时分的日期类型参数 + return { + name: item.name, + type: item.type, + start_time: previewData.filterData[item.name][0].format('YYYY-MM-DD HH:mm') + ':00', + end_time: previewData.filterData[item.name][1].format('YYYY-MM-DD HH:mm') + ':59', + }; + } else if (item.type === 'number_range') { + // 数值区间 + return { + name: item.name, + type: item.type, + min: previewData.filterData[item.name].min ? String(previewData.filterData[item.name].min) : '', + max: previewData.filterData[item.name].max ? String(previewData.filterData[item.name].max) : '', + }; + } else { + return { + name: item.name, + type: item.type, + value: previewData.filterData[item.name], + }; } }); } else { @@ -316,9 +344,17 @@ const toPreview = ({filter}) => { if (res.data.type === "table") { previewData.filterConfig = res.data.filter; previewData.filterConfig.forEach((item) => { - previewData.filterData[item.name] = previewData.filterData[item.name] - ? previewData.filterData[item.name] - : undefined; + if (item.type === 'number_range' && !previewData.filterData[item.name]) { + previewData.filterData[item.name] = { + ...item, + min: undefined, + max: undefined, + }; + } else { + previewData.filterData[item.name] = previewData.filterData[item.name] + ? previewData.filterData[item.name] + : undefined; + } }); previewData.columnConfig = res.data.header; previewData.dataList = res.data.data; @@ -427,6 +463,17 @@ const toFilt = () => { .date-item { width: 240px; } +.date-time-item { + width: 300px; +} +.number_range_box { + display: inline-flex; + align-items: center; + + .divider { + margin: 0 4px; + } +} .y-table-content { margin-top: 10px; }