修复后台保存无效

This commit is contained in:
zhx 2026-05-09 14:12:53 +08:00
parent aedfc5d8e3
commit 1c3c0f072c

View File

@ -512,26 +512,9 @@ async function submitForm() {
} }
saving.value = true; saving.value = true;
try { try {
await saveResidentDailyTaskConfig({ const conditionJumpPayloads: Array<Record<string, any>> = (
enabled: Boolean(form.enabled), form.conditionJumps || []
id: form.id || 0, ).map((item: Record<string, any>) => {
sysOrigin: selectedSysOrigin.value,
taskCategory: activeTaskCategory.value,
tasks: (form.tasks || []).map((item: Record<string, any>) => ({
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<string, any>) => {
const jumpType = String(item.jumpType || '').trim(); const jumpType = String(item.jumpType || '').trim();
return { return {
conditionType: String(item.conditionType || '').trim(), conditionType: String(item.conditionType || '').trim(),
@ -541,7 +524,39 @@ async function submitForm() {
sortOrder: Number(item.sortOrder || 0), sortOrder: Number(item.sortOrder || 0),
taskCategory: activeTaskCategory.value, taskCategory: activeTaskCategory.value,
}; };
});
const jumpByCondition = new Map<string, Record<string, any>>(
conditionJumpPayloads.map((item: Record<string, any>) => [
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<string, any>) => {
const conditionType = String(item.conditionType || '').trim();
const conditionJump = jumpByCondition.get(conditionType);
return {
conditionType,
cover: String(item.cover || '').trim(),
enabled: item.enabled !== false,
id: item.id || 0,
jumpPage: conditionJump?.jumpPage || '',
jumpType: conditionJump?.jumpType || '',
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: conditionJumpPayloads,
timezone: String(form.timezone || '').trim(), timezone: String(form.timezone || '').trim(),
}); });
message.success('保存成功'); message.success('保存成功');