From 027ff95e8bd110270da58c3c348b134c81b32b46 Mon Sep 17 00:00:00 2001 From: zhx Date: Tue, 19 May 2026 15:36:32 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E8=87=AA=E5=8A=A8=E5=8F=91?= =?UTF-8?q?=E6=94=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../resident-activity/room-turnover-reward.vue | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/apps/src/views/resident-activity/room-turnover-reward.vue b/apps/src/views/resident-activity/room-turnover-reward.vue index fde10e8..6930163 100644 --- a/apps/src/views/resident-activity/room-turnover-reward.vue +++ b/apps/src/views/resident-activity/room-turnover-reward.vue @@ -96,6 +96,8 @@ const rankQuery = reactive({ limit: 20, }); +const autoRewardEnabledCache = new Map(); + const statusOptions = [ { label: '全部状态', value: '' }, { label: '成功', value: 'SUCCESS' }, @@ -141,11 +143,19 @@ const enabledLevelCount = computed(() => function normalizeConfig(result: Record | null | undefined) { const value = result || {}; - form.autoRewardEnabled = value.autoRewardEnabled !== false; + const sysOrigin = String(value.sysOrigin || selectedSysOrigin.value || ''); + if (Object.prototype.hasOwnProperty.call(value, 'autoRewardEnabled')) { + form.autoRewardEnabled = value.autoRewardEnabled !== false; + autoRewardEnabledCache.set(sysOrigin, form.autoRewardEnabled); + } else if (autoRewardEnabledCache.has(sysOrigin)) { + form.autoRewardEnabled = autoRewardEnabledCache.get(sysOrigin); + } else { + form.autoRewardEnabled = true; + } form.configured = Boolean(value.configured); form.enabled = Boolean(value.enabled); form.id = value.id || 0; - form.sysOrigin = String(value.sysOrigin || selectedSysOrigin.value || ''); + form.sysOrigin = sysOrigin; form.timezone = String(value.timezone || 'Asia/Riyadh'); form.updateTime = String(value.updateTime || ''); const levels = Array.isArray(value.levelConfigs) && value.levelConfigs.length > 0 @@ -283,8 +293,9 @@ async function submitForm() { } saving.value = true; try { + const autoRewardEnabled = Boolean(form.autoRewardEnabled); await saveRoomTurnoverRewardConfig({ - autoRewardEnabled: Boolean(form.autoRewardEnabled), + autoRewardEnabled, enabled: Boolean(form.enabled), id: form.id || 0, levelConfigs: (form.levelConfigs || []).map((item: Record) => ({ @@ -297,6 +308,7 @@ async function submitForm() { sysOrigin: selectedSysOrigin.value, timezone: String(form.timezone || '').trim(), }); + autoRewardEnabledCache.set(selectedSysOrigin.value, autoRewardEnabled); message.success('保存成功'); await reloadAll(); } finally {