fix: 翻译保存修复 — 去掉version检查 + 保存后重新加载数据
Some checks failed
PR Preview / teardown-preview (pull_request) Has been skipped
Test / unit-test (push) Successful in 4s
Test / build-check (push) Successful in 3s
PR Preview / test (pull_request) Successful in 4s
PR Preview / deploy-preview (pull_request) Successful in 14s
Test / e2e-test (push) Failing after 1m29s
Some checks failed
PR Preview / teardown-preview (pull_request) Has been skipped
Test / unit-test (push) Successful in 4s
Test / build-check (push) Successful in 3s
PR Preview / test (pull_request) Successful in 4s
PR Preview / deploy-preview (pull_request) Successful in 14s
Test / e2e-test (push) Failing after 1m29s
根因: PUT /api/recipes/{id} 传了 version 字段导致 409 冲突
(version 不匹配时后端拒绝),但修改 en_name 不需要 version 检查
修复:
- 保存 recipe en_name 时不传 version(后端只在 version 存在时才检查)
- 保存后 loadRecipes + loadOils 刷新数据
- 下次打开配方卡片读到最新的 en_name
- 精油价目页也同步更新(loadOils 刷新 oilsMeta.enName)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -611,16 +611,17 @@ async function applyTranslation() {
|
|||||||
showTranslationEditor.value = false
|
showTranslationEditor.value = false
|
||||||
let saved = 0
|
let saved = 0
|
||||||
|
|
||||||
// 1. Save recipe English name
|
// 1. Save recipe English name (no version check — only updating en_name)
|
||||||
if (recipe.value._id && customRecipeNameEn.value) {
|
if (recipe.value._id && customRecipeNameEn.value) {
|
||||||
try {
|
try {
|
||||||
await api.put(`/api/recipes/${recipe.value._id}`, {
|
await api.put(`/api/recipes/${recipe.value._id}`, {
|
||||||
en_name: customRecipeNameEn.value,
|
en_name: customRecipeNameEn.value,
|
||||||
version: recipe.value._version,
|
|
||||||
})
|
})
|
||||||
recipe.value.en_name = customRecipeNameEn.value
|
recipe.value.en_name = customRecipeNameEn.value
|
||||||
saved++
|
saved++
|
||||||
} catch {}
|
} catch (e) {
|
||||||
|
console.error('Save recipe en_name failed:', e)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 2. Save each oil's English name to oils table (syncs with oil reference page)
|
// 2. Save each oil's English name to oils table (syncs with oil reference page)
|
||||||
@@ -639,9 +640,16 @@ async function applyTranslation() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (saved > 0) ui.showToast(`翻译已保存(${saved}项)` + (failed > 0 ? `,${failed}项失败` : ''))
|
if (saved > 0) {
|
||||||
else if (failed > 0) ui.showToast(`保存失败 ${failed} 项`)
|
ui.showToast(`翻译已保存(${saved}项)` + (failed > 0 ? `,${failed}项失败` : ''))
|
||||||
else ui.showToast('没有修改')
|
// Reload data so next open shows updated names
|
||||||
|
recipesStore.loadRecipes()
|
||||||
|
oilsStore.loadOils()
|
||||||
|
} else if (failed > 0) {
|
||||||
|
ui.showToast(`保存失败 ${failed} 项`)
|
||||||
|
} else {
|
||||||
|
ui.showToast('没有修改')
|
||||||
|
}
|
||||||
|
|
||||||
cardImageUrl.value = null
|
cardImageUrl.value = null
|
||||||
nextTick(() => generateCardImage())
|
nextTick(() => generateCardImage())
|
||||||
|
|||||||
Reference in New Issue
Block a user