feat: 配方volume字段存储编辑器选择的容量
All checks were successful
PR Preview / teardown-preview (pull_request) Has been skipped
Test / unit-test (push) Successful in 5s
Test / build-check (push) Successful in 4s
PR Preview / test (pull_request) Successful in 5s
PR Preview / deploy-preview (pull_request) Successful in 12s
Test / e2e-test (push) Successful in 52s
All checks were successful
PR Preview / teardown-preview (pull_request) Has been skipped
Test / unit-test (push) Successful in 5s
Test / build-check (push) Successful in 4s
PR Preview / test (pull_request) Successful in 5s
PR Preview / deploy-preview (pull_request) Successful in 12s
Test / e2e-test (push) Successful in 52s
- 后端: recipes表新增volume列,API返回/保存volume - 前端: 保存时发送formVolume,编辑时优先用stored volume - 容量显示优先级: stored volume > 椰子油计算 > 产品ml求和 - 修复编辑器容量选择保存后不生效的bug Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -48,6 +48,15 @@ const priceInfo = computed(() => oilsStore.fmtCostWithRetail(props.recipe.ingred
|
||||
const isFav = computed(() => recipesStore.isFavorite(props.recipe))
|
||||
|
||||
const volumeLabel = computed(() => {
|
||||
// Priority 1: stored volume from editor selection
|
||||
const vol = props.recipe.volume
|
||||
if (vol) {
|
||||
if (vol === 'single') return '单次'
|
||||
if (vol === 'custom') return ''
|
||||
if (/^\d+$/.test(vol)) return `${vol}ml`
|
||||
return vol
|
||||
}
|
||||
// Priority 2: calculate from ingredients
|
||||
const ings = props.recipe.ingredients || []
|
||||
const coco = ings.find(i => i.oil === '椰子油')
|
||||
if (coco && coco.drops) {
|
||||
@@ -56,7 +65,7 @@ const volumeLabel = computed(() => {
|
||||
if (ml <= 2) return '单次'
|
||||
return `${Math.round(ml)}ml`
|
||||
}
|
||||
// Non-coconut: sum all portion products as ml
|
||||
// Priority 3: sum portion products as ml
|
||||
let totalMl = 0
|
||||
let hasProduct = false
|
||||
for (const ing of ings) {
|
||||
|
||||
Reference in New Issue
Block a user