From fded64ef8fb4a1ff81a2212567378d20ece93c66 Mon Sep 17 00:00:00 2001
From: huang <1724659546@qq.com>
Date: Thu, 27 Nov 2025 16:27:59 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=B1=95=E7=A4=BA?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/api/feed.js | 2 +-
src/components/feed/RecipeDetailDialog.vue | 12 ++++++------
2 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/src/api/feed.js b/src/api/feed.js
index 7531017c..e938cd5d 100644
--- a/src/api/feed.js
+++ b/src/api/feed.js
@@ -278,7 +278,7 @@ import {PaginationDTO, Response} from '../enums';
/**
* @typedef {object} RecipeIngredientDto
* @property {number} raw_material_id - 原料ID
- * @property {number} [percentage] - 原料在配方中的百分比 (0-1之间)
+ * @property {number} [percentage] - 原料在配方中的百分比 (0-100之间)
*/
/**
diff --git a/src/components/feed/RecipeDetailDialog.vue b/src/components/feed/RecipeDetailDialog.vue
index 18febbb7..ec44a7f5 100644
--- a/src/components/feed/RecipeDetailDialog.vue
+++ b/src/components/feed/RecipeDetailDialog.vue
@@ -25,7 +25,7 @@
- {{ (scope.row.percentage * 100).toFixed(2) }}%
+ {{ scope.row.percentage.toFixed(2) }}%
@@ -35,7 +35,7 @@
-
+
@@ -111,7 +111,7 @@ export default {
ingredients.forEach(ing => {
if (ing.raw_material_nutrients) {
ing.raw_material_nutrients.forEach(nutrient => {
- const contribution = nutrient.value * ing.percentage;
+ const contribution = nutrient.value * (ing.percentage / 100); // 修正:计算时需要将百分比转换为小数
if (summary.has(nutrient.nutrient_name)) {
summary.set(nutrient.nutrient_name, summary.get(nutrient.nutrient_name) + contribution);
} else {
@@ -213,11 +213,11 @@ export default {
// 保存配方
const handleSaveRecipe = async () => {
- // 验证占比总和是否为1
+ // 验证占比总和是否为100
const totalPercentage = localIngredientDetails.value.reduce((sum, ing) => sum + ing.percentage, 0);
- if (Math.abs(totalPercentage - 1) > 0.001) { // 允许浮点数误差
- ElMessage.error(`原料总占比必须为100%,当前为${(totalPercentage * 100).toFixed(2)}%`);
+ if (Math.abs(totalPercentage - 100) > 0.001) { // 允许浮点数误差
+ ElMessage.error(`原料总占比必须为100%,当前为${totalPercentage.toFixed(2)}%`);
return;
}