修复后台保存无效

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;
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({
enabled: Boolean(form.enabled),
id: form.id || 0,
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();
tasks: (form.tasks || []).map((item: Record<string, any>) => {
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('保存成功');