优化展示
This commit is contained in:
@@ -240,6 +240,7 @@ import {PaginationDTO, Response} from '../enums';
|
||||
* @property {string} description
|
||||
* @property {Array<RawMaterialNutrientDTO>} raw_material_nutrients
|
||||
* @property {number} [reference_price] - 参考价格(kg/元)
|
||||
* @property {number} [max_addition_ratio] - 最大添加比例(%)
|
||||
*/
|
||||
|
||||
/**
|
||||
@@ -264,6 +265,7 @@ import {PaginationDTO, Response} from '../enums';
|
||||
* @property {string} name - 原料名称
|
||||
* @property {string} [description] - 描述
|
||||
* @property {number} [reference_price] - 参考价格(kg/元)
|
||||
* @property {number} [max_addition_ratio] - 最大添加比例(%)
|
||||
*/
|
||||
|
||||
/**
|
||||
@@ -271,6 +273,7 @@ import {PaginationDTO, Response} from '../enums';
|
||||
* @property {string} name - 原料名称
|
||||
* @property {string} [description] - 描述
|
||||
* @property {number} [reference_price] - 参考价格(kg/元)
|
||||
* @property {number} [max_addition_ratio] - 最大添加比例(%)
|
||||
*/
|
||||
|
||||
// --- Recipe ---
|
||||
|
||||
@@ -6,6 +6,9 @@
|
||||
<el-form-item label="参考价格(kg/元)" prop="reference_price">
|
||||
<el-input-number v-model="formData.reference_price" :min="0" :precision="2" :step="0.01" controls-position="right" style="width: 100%;"></el-input-number>
|
||||
</el-form-item>
|
||||
<el-form-item label="最大添加比例(%)" prop="max_addition_ratio">
|
||||
<el-input-number v-model="formData.max_addition_ratio" :min="0" :max="100" :precision="2" :step="1" controls-position="right" style="width: 100%;"></el-input-number>
|
||||
</el-form-item>
|
||||
<el-form-item label="描述" prop="description">
|
||||
<el-input
|
||||
v-model="formData.description"
|
||||
@@ -37,7 +40,8 @@ export default {
|
||||
default: () => ({
|
||||
name: '',
|
||||
description: '',
|
||||
reference_price: 0, // 新增参考价格默认值
|
||||
reference_price: 0,
|
||||
max_addition_ratio: 0,
|
||||
}),
|
||||
},
|
||||
},
|
||||
@@ -47,7 +51,8 @@ export default {
|
||||
const formData = reactive({
|
||||
name: '',
|
||||
description: '',
|
||||
reference_price: 0, // 新增参考价格
|
||||
reference_price: 0,
|
||||
max_addition_ratio: 0,
|
||||
});
|
||||
|
||||
// 监听 initialData 变化,用于编辑模式下初始化表单
|
||||
@@ -57,7 +62,8 @@ export default {
|
||||
if (newVal) {
|
||||
formData.name = newVal.name || '';
|
||||
formData.description = newVal.description || '';
|
||||
formData.reference_price = newVal.reference_price || 0; // 初始化参考价格
|
||||
formData.reference_price = newVal.reference_price || 0;
|
||||
formData.max_addition_ratio = newVal.max_addition_ratio || 0;
|
||||
}
|
||||
},
|
||||
{ immediate: true, deep: true }
|
||||
@@ -73,6 +79,10 @@ export default {
|
||||
{ type: 'number', message: '参考价格必须是数字', trigger: 'change' },
|
||||
{ min: 0, type: 'number', message: '参考价格不能小于0', trigger: 'change' },
|
||||
],
|
||||
max_addition_ratio: [
|
||||
{ required: true, message: '请输入最大添加比例', trigger: 'change' },
|
||||
{ type: 'number', min: 0, max: 100, message: '比例必须在 0 到 100 之间', trigger: 'change' },
|
||||
],
|
||||
};
|
||||
|
||||
const submitForm = () => {
|
||||
@@ -96,7 +106,8 @@ export default {
|
||||
// 手动重置 formData,因为 resetFields 不会重置未绑定 prop 的字段
|
||||
formData.name = '';
|
||||
formData.description = '';
|
||||
formData.reference_price = 0; // 重置参考价格
|
||||
formData.reference_price = 0;
|
||||
formData.max_addition_ratio = 0;
|
||||
};
|
||||
|
||||
return {
|
||||
|
||||
@@ -40,6 +40,12 @@
|
||||
</el-table-column>
|
||||
<el-table-column prop="name" label="原料名称" width="150"></el-table-column>
|
||||
<el-table-column prop="reference_price" label="参考价格(kg/元)" width="180"></el-table-column>
|
||||
<el-table-column
|
||||
prop="max_addition_ratio"
|
||||
label="最大添加比例(%)"
|
||||
width="180"
|
||||
:formatter="formatMaxAdditionRatio"
|
||||
></el-table-column>
|
||||
<el-table-column prop="description" label="描述"></el-table-column>
|
||||
<el-table-column label="操作">
|
||||
<template #default="scope">
|
||||
@@ -185,6 +191,13 @@ export default {
|
||||
emit('edit-nutrients', row); // 触发 edit-nutrients 事件
|
||||
};
|
||||
|
||||
const formatMaxAdditionRatio = (row, column, cellValue) => {
|
||||
if (typeof cellValue === 'number') {
|
||||
return cellValue.toFixed(2);
|
||||
}
|
||||
return cellValue;
|
||||
};
|
||||
|
||||
onMounted(() => {
|
||||
fetchRawMaterials();
|
||||
});
|
||||
@@ -206,6 +219,7 @@ export default {
|
||||
handleDelete,
|
||||
handleEditNutrients,
|
||||
fetchRawMaterials, // 将方法暴露出去
|
||||
formatMaxAdditionRatio,
|
||||
};
|
||||
},
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user