修复后台保存无效

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

View File

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