From 0bd8771cbe96ccadb1630706ad1e5130e831df7b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=85=B4=E5=87=AF?= <2448379534@qq.com> Date: Wed, 2 Sep 2026 18:24:20 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A1=B5=E9=9D=A2bug=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/views/monitorData/Export/index.vue | 43 ++++++++++++++----- frontend/src/components/CronPicker/index.vue | 17 ++++---- .../components/monitorData/Export/index.vue | 17 +++----- .../components/ConfigManagement/index.vue | 11 +++++ 4 files changed, 57 insertions(+), 31 deletions(-) diff --git a/frontend-sjgl/src/views/monitorData/Export/index.vue b/frontend-sjgl/src/views/monitorData/Export/index.vue index 6471fd71..12f8559f 100644 --- a/frontend-sjgl/src/views/monitorData/Export/index.vue +++ b/frontend-sjgl/src/views/monitorData/Export/index.vue @@ -158,7 +158,7 @@ :filter-option="filterOption" :loading="rvcdLoading" @change="handleRvcdChange" - style="width: 200px; margin-right: 10px" + style="width: 340px; margin-right: 10px" :max-tag-count="2" > 基地: { loadStationOptions(values); }; +// 切换时间维度时重置选项 +watch( + () => formData.timeDimension, + () => { + const now = new Date(); + const year = now.getFullYear(); + // 重置非年统计选项 + formData.monitorElements = dataFieldOption.value.map(item => item.itemCode); + formData.rvcd = rvcdOptions.value.length > 0 ? [rvcdOptions.value[0].value] : []; + formData.stations = []; + formData.statMonths = getDefaultStatMonths(); + formData.dataSource = 'true'; + // 重置年统计选项 + formData.yearStatContent = ['wq', 'qec']; + formData.statYears = [String(year)]; + formData.yearDimContent = ['stcd', 'baseId']; + formData.yearBaseRvcd = rvcdOptions.value.length > 0 ? [rvcdOptions.value[0].value] : []; + formData.lyRvcd = lyOptions.value.length > 0 ? [lyOptions.value[0].value] : []; + // 重新加载电站 + if (formData.rvcd.length > 0) { + loadStationOptions(formData.rvcd); + } + } +); + // 加载流域数据 const loadLyOptions = async () => { lyLoading.value = true; @@ -472,7 +497,7 @@ const handleExport = async () => { params.stcd = formData.stations.join(','); } if (formData.yearDimContent.includes('baseId')) { - params.baseId = formData.rvcd.join(','); + params.baseId = formData.yearBaseRvcd.join(','); } if (formData.yearDimContent.includes('ly')) { params.hbRvcd = formData.lyRvcd.join(','); @@ -510,7 +535,6 @@ onMounted(() => { diff --git a/frontend/src/components/CronPicker/index.vue b/frontend/src/components/CronPicker/index.vue index df9bc8d5..cba8aebe 100644 --- a/frontend/src/components/CronPicker/index.vue +++ b/frontend/src/components/CronPicker/index.vue @@ -22,7 +22,6 @@ { case 'nthWeek': return `${data.nthWeek}#${data.nthWeekDay}`; case 'lastWeekDay': - return `L#${data.lastWeekDay}`; + return `${data.lastWeekDay}L`; case 'weekday': - return `W${data.weekdayDay}`; + return `${data.weekdayDay}W`; case 'lastDay': return 'L'; case 'specify': @@ -477,7 +476,7 @@ const validateCron = ( !isRange(day) && !isInterval(day) && !isList(day) && - !day.startsWith('W') && + !day.endsWith('W') && day !== 'L' ) { const num = parseInt(day); @@ -495,7 +494,7 @@ const validateCron = ( !isRange(week) && !isList(week) && !week.includes('#') && - !week.startsWith('L') + !week.endsWith('L') ) { const num = parseInt(week); if (isNaN(num) || num < 1 || num > 7) { @@ -580,12 +579,12 @@ const parseCron = (expression: string) => { const [nth, day] = value.split('#').map(Number); data.nthWeek = nth; data.nthWeekDay = day; - } else if (value.startsWith('L#')) { + } else if (value.endsWith('L') && value.length > 1) { data.type = 'lastWeekDay'; - data.lastWeekDay = parseInt(value.substring(2)); - } else if (value.startsWith('W')) { + data.lastWeekDay = parseInt(value.substring(0, value.length - 1)); + } else if (value.endsWith('W')) { data.type = 'weekday'; - data.weekdayDay = parseInt(value.substring(1)); + data.weekdayDay = parseInt(value.substring(0, value.length - 1)); } else if (value === 'L') { data.type = 'lastDay'; } else if (value.includes(',')) { diff --git a/frontend/src/views/DataQueryMenuModule/components/monitorData/Export/index.vue b/frontend/src/views/DataQueryMenuModule/components/monitorData/Export/index.vue index 6471fd71..1812ff4c 100644 --- a/frontend/src/views/DataQueryMenuModule/components/monitorData/Export/index.vue +++ b/frontend/src/views/DataQueryMenuModule/components/monitorData/Export/index.vue @@ -158,7 +158,7 @@ :filter-option="filterOption" :loading="rvcdLoading" @change="handleRvcdChange" - style="width: 200px; margin-right: 10px" + style="width: 300px; margin-right: 10px" :max-tag-count="2" > 基地: { params.stcd = formData.stations.join(','); } if (formData.yearDimContent.includes('baseId')) { - params.baseId = formData.rvcd.join(','); + params.baseId = formData.yearBaseRvcd.join(','); } if (formData.yearDimContent.includes('ly')) { params.hbRvcd = formData.lyRvcd.join(','); @@ -510,7 +509,6 @@ onMounted(() => { diff --git a/frontend/src/views/system/pushManagement/components/ConfigManagement/index.vue b/frontend/src/views/system/pushManagement/components/ConfigManagement/index.vue index 239cf3db..d55ee435 100644 --- a/frontend/src/views/system/pushManagement/components/ConfigManagement/index.vue +++ b/frontend/src/views/system/pushManagement/components/ConfigManagement/index.vue @@ -228,6 +228,8 @@ const handleEditSubmit = async (values: any) => { }; // const switchChange = async (checked: any, record: any) => { + // checked 是新值,反推出原值(因为 v-model 已更新 record.isSms) + const originalValue = checked === 1 ? 0 : 1; Modal.confirm({ title: '确认修改', content: '确定要修改短信提醒的开关状态吗?', @@ -241,10 +243,19 @@ const switchChange = async (checked: any, record: any) => { if (res.code == 0) { message.success(`修改成功`); basicTable.value.refresh(); + } else { + // 请求返回错误码,恢复原状态 + record.isSms = originalValue; } } catch (error) { + // 请求异常,恢复原状态 + record.isSms = originalValue; return; } + }, + onCancel: () => { + // 用户取消确认,恢复原状态 + record.isSms = originalValue; } }); };