From 1c3c0f072c54017a21ced8294f745df9ebfbb539 Mon Sep 17 00:00:00 2001 From: zhx Date: Sat, 9 May 2026 14:12:53 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=90=8E=E5=8F=B0=E4=BF=9D?= =?UTF-8?q?=E5=AD=98=E6=97=A0=E6=95=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../resident-activity/daily-task-config.vue | 55 ++++++++++++------- 1 file changed, 35 insertions(+), 20 deletions(-) diff --git a/apps/src/views/resident-activity/daily-task-config.vue b/apps/src/views/resident-activity/daily-task-config.vue index 8ef8921..8d9db32 100644 --- a/apps/src/views/resident-activity/daily-task-config.vue +++ b/apps/src/views/resident-activity/daily-task-config.vue @@ -512,36 +512,51 @@ async function submitForm() { } saving.value = true; try { + const conditionJumpPayloads: Array> = ( + form.conditionJumps || [] + ).map((item: Record) => { + const jumpType = String(item.jumpType || '').trim(); + return { + conditionType: String(item.conditionType || '').trim(), + id: item.id || 0, + jumpPage: String(item.jumpPage || '').trim(), + jumpType, + sortOrder: Number(item.sortOrder || 0), + taskCategory: activeTaskCategory.value, + }; + }); + const jumpByCondition = new Map>( + conditionJumpPayloads.map((item: Record) => [ + String(item.conditionType || ''), + item, + ]), + ); await saveResidentDailyTaskConfig({ enabled: Boolean(form.enabled), id: form.id || 0, sysOrigin: selectedSysOrigin.value, taskCategory: activeTaskCategory.value, - tasks: (form.tasks || []).map((item: Record) => ({ - conditionType: String(item.conditionType || '').trim(), - cover: String(item.cover || '').trim(), - enabled: item.enabled !== false, - id: item.id || 0, - rewardGold: Number(item.rewardGold || 0), - sortOrder: Number(item.sortOrder || 0), - targetUnit: String(item.targetUnit || '').trim(), - targetValue: Number(item.targetValue || 0), - taskCode: String(item.taskCode || '').trim(), - taskDesc: String(item.taskDesc || '').trim(), - taskIcon: String(item.taskIcon || '').trim(), - taskName: String(item.taskName || '').trim(), - })), - conditionJumps: (form.conditionJumps || []).map((item: Record) => { - const jumpType = String(item.jumpType || '').trim(); + tasks: (form.tasks || []).map((item: Record) => { + const conditionType = String(item.conditionType || '').trim(); + const conditionJump = jumpByCondition.get(conditionType); return { - conditionType: String(item.conditionType || '').trim(), + conditionType, + cover: String(item.cover || '').trim(), + enabled: item.enabled !== false, id: item.id || 0, - jumpPage: String(item.jumpPage || '').trim(), - jumpType, + jumpPage: conditionJump?.jumpPage || '', + jumpType: conditionJump?.jumpType || '', + rewardGold: Number(item.rewardGold || 0), sortOrder: Number(item.sortOrder || 0), - taskCategory: activeTaskCategory.value, + targetUnit: String(item.targetUnit || '').trim(), + targetValue: Number(item.targetValue || 0), + taskCode: String(item.taskCode || '').trim(), + taskDesc: String(item.taskDesc || '').trim(), + taskIcon: String(item.taskIcon || '').trim(), + taskName: String(item.taskName || '').trim(), }; }), + conditionJumps: conditionJumpPayloads, timezone: String(form.timezone || '').trim(), }); message.success('保存成功');