配方滴数 #6

Closed
opened 2026-04-07 22:00:17 +00:00 by hera · 5 comments
Owner

每个配方里,如果容量不是单次,计算出来的数字全部四舍五入,变成整数。

每个配方里,如果容量不是单次,计算出来的数字全部四舍五入,变成整数。
Collaborator

已提 PR #8,来说说改了什么:


逻辑说明

配方里的滴数是「单次」基础用量。切换到其他容量时,按以下公式等比缩放每种精油:

缩放后滴数 = Math.round(原始滴数 × 目标容量滴数 / 配方总滴数)

具体改动

  • VOLUME_DROPS 新增 单次 选项(值 null,不做缩放),默认选中
  • 新增 scaleIngredients() 函数,非单次时对每种成分四舍五入取整
  • 卡片预览加了容量切换按钮,滴数和成本都随容量实时更新
  • 编辑器的成本合计也同步反映已选容量

PR:#8

已提 PR #8,来说说改了什么: --- **逻辑说明** 配方里的滴数是「单次」基础用量。切换到其他容量时,按以下公式等比缩放每种精油: ``` 缩放后滴数 = Math.round(原始滴数 × 目标容量滴数 / 配方总滴数) ``` --- **具体改动** - `VOLUME_DROPS` 新增 `单次` 选项(值 `null`,不做缩放),默认选中 - 新增 `scaleIngredients()` 函数,非单次时对每种成分四舍五入取整 - **卡片预览**加了容量切换按钮,滴数和成本都随容量实时更新 - **编辑器**的成本合计也同步反映已选容量 PR:https://git.euphon.cloud/hera/oil-formula-calculator/pulls/8
Author
Owner

累加到pr5

累加到pr5
Collaborator

搞定~已把 PR#8 的改动直接 squash 到 PR#5 的分支上推上去了。

具体加了什么:

  • VOLUME_DROPS 里新增 '单次': null
  • 新增 scaleIngredients() 函数(单次 时不缩放,其他容量按比例 Math.round
  • 卡片预览区加了容量切换按钮(单次 / 2.5ml / 5ml / 10ml / 15ml / 115ml)
  • cardIngredientscoconutDropspriceInfo 全部改为基于缩放后数据

PR#8 可以关掉了,功能已经在 PR#5 里。

搞定~已把 PR#8 的改动直接 squash 到 PR#5 的分支上推上去了。 具体加了什么: - `VOLUME_DROPS` 里新增 `'单次': null` - 新增 `scaleIngredients()` 函数(`单次` 时不缩放,其他容量按比例 `Math.round`) - 卡片预览区加了容量切换按钮(单次 / 2.5ml / 5ml / 10ml / 15ml / 115ml) - `cardIngredients`、`coconutDrops`、`priceInfo` 全部改为基于缩放后数据 PR#8 可以关掉了,功能已经在 PR#5 里。
Author
Owner
  1. 好像还能看到4.5这样的滴数,把它四舍五入了变成整数
  2. 编辑配方时,如果我改变了容量或者是稀释比例,还没有点保存,点击预览,显示的应该是当前的数字,如果用户要点击关闭,提示他还没有保存,是否要保存;如果用户没有点预览,直接点了保存,那就显示回到配方卡片预览的界面。
  3. 在添加精油的时候,让精油按照首字母去排序,如果输入一个d,那么自动跳到第一个d开头的精油
  4. 在精油价目的地方,编辑界面加入英文名字的编辑,显示界面注意一下排版,可以不把编辑和删除按钮显示上去,而是鼠标或者是手机上点击才会出现
1. 好像还能看到4.5这样的滴数,把它四舍五入了变成整数 2. 编辑配方时,如果我改变了容量或者是稀释比例,还没有点保存,点击预览,显示的应该是当前的数字,如果用户要点击关闭,提示他还没有保存,是否要保存;如果用户没有点预览,直接点了保存,那就显示回到配方卡片预览的界面。 3. 在添加精油的时候,让精油按照首字母去排序,如果输入一个d,那么自动跳到第一个d开头的精油 4. 在精油价目的地方,编辑界面加入英文名字的编辑,显示界面注意一下排版,可以不把编辑和删除按钮显示上去,而是鼠标或者是手机上点击才会出现
Collaborator

推送成功,已更新到 PR#5。以下是本次改动的具体说明:


四项改动已推到 PR#5:

1. 配方卡片 — 容量切换 + 滴数取整
配方卡片视图重新加回容量按钮(单次 / 2.5ml / 5ml / 10ml / 15ml / 115ml)。选择非「单次」容量时,每种精油的滴数会按比例缩放并 Math.round 取整,不再出现 4.5 这样的小数。

2. 编辑器预览 / 保存流程

  • 点「👁 预览」:立即展示当前编辑中的数据(含未保存的容量、稀释比例),而不是上次保存的旧数据
  • 预览状态下点「✕ 关闭」:弹窗询问「是否保存?」
  • 直接点「💾 保存」:保存后留在配方卡片界面,不再自动关闭弹层

3. 添加精油 — 搜索自动补全
添加精油时,<select> 改为搜索框 + 下拉补全列表,支持中文名和英文名模糊筛选。输入 "d" 时会筛选出英文名含 "d" 的精油(如 Dill),精油列表已按字母排序。

4. 精油价目 — 英文名 + 悬停操作按钮

  • 添加/编辑表单新增「英文名」输入框,保存至数据库 oils.en_name
  • 编辑/删除按钮默认隐藏,鼠标悬停时显示;移动端点击精油卡片也能呼出操作按钮
  • 后端 OilIn 模型和数据库 migration 同步更新
推送成功,已更新到 PR#5。以下是本次改动的具体说明: --- **四项改动已推到 PR#5:** **1. 配方卡片 — 容量切换 + 滴数取整** 配方卡片视图重新加回容量按钮(单次 / 2.5ml / 5ml / 10ml / 15ml / 115ml)。选择非「单次」容量时,每种精油的滴数会按比例缩放并 `Math.round` 取整,不再出现 4.5 这样的小数。 **2. 编辑器预览 / 保存流程** - 点「👁 预览」:立即展示当前编辑中的数据(含未保存的容量、稀释比例),而不是上次保存的旧数据 - 预览状态下点「✕ 关闭」:弹窗询问「是否保存?」 - 直接点「💾 保存」:保存后留在配方卡片界面,不再自动关闭弹层 **3. 添加精油 — 搜索自动补全** 添加精油时,`<select>` 改为搜索框 + 下拉补全列表,支持中文名和英文名模糊筛选。输入 "d" 时会筛选出英文名含 "d" 的精油(如 Dill),精油列表已按字母排序。 **4. 精油价目 — 英文名 + 悬停操作按钮** - 添加/编辑表单新增「英文名」输入框,保存至数据库 `oils.en_name` 列 - 编辑/删除按钮默认隐藏,鼠标悬停时显示;移动端点击精油卡片也能呼出操作按钮 - 后端 `OilIn` 模型和数据库 migration 同步更新
hera closed this issue 2026-04-09 19:05:11 +00:00
Sign in to join this conversation.
No Label
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: hera/oil-formula-calculator#6