优化展示
This commit is contained in:
@@ -1,23 +1,25 @@
|
|||||||
<template>
|
<template>
|
||||||
<el-dialog
|
<el-dialog
|
||||||
title="一键生成配方"
|
title="一键生成配方"
|
||||||
v-model="dialogVisible"
|
v-model="dialogVisible"
|
||||||
width="500px"
|
width="500px"
|
||||||
:before-close="handleCancel"
|
:before-close="handleCancel"
|
||||||
>
|
>
|
||||||
<el-form :model="form" ref="generateRecipeForm" label-width="100px">
|
<el-form :model="form" ref="generateRecipeForm" label-width="100px">
|
||||||
<el-form-item label="生成对象" prop="selectedPigType" :rules="[{ required: true, message: '请选择生成对象', trigger: 'change' }]">
|
<el-form-item label="生成对象" prop="selectedPigType"
|
||||||
|
:rules="[{ required: true, message: '请选择生成对象', trigger: 'change' }]">
|
||||||
<el-select v-model="form.selectedPigType" placeholder="请选择猪品种-猪年龄阶段" style="width: 100%;">
|
<el-select v-model="form.selectedPigType" placeholder="请选择猪品种-猪年龄阶段" style="width: 100%;">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in pigTypesOptions"
|
v-for="item in pigTypesOptions"
|
||||||
:key="item.value"
|
:key="item.value"
|
||||||
:label="item.label"
|
:label="item.label"
|
||||||
:value="item.value"
|
:value="item.value"
|
||||||
></el-option>
|
></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<el-form-item label="生成方式" prop="selectedGenerationMethod" :rules="[{ required: true, message: '请选择生成方式', trigger: 'change' }]">
|
<el-form-item label="生成方式" prop="selectedGenerationMethod"
|
||||||
|
:rules="[{ required: true, message: '请选择生成方式', trigger: 'change' }]">
|
||||||
<el-select v-model="form.selectedGenerationMethod" placeholder="请选择生成方式" style="width: 100%;">
|
<el-select v-model="form.selectedGenerationMethod" placeholder="请选择生成方式" style="width: 100%;">
|
||||||
<el-option label="使用系统中所有可用的原料" value="all_raw_materials"></el-option>
|
<el-option label="使用系统中所有可用的原料" value="all_raw_materials"></el-option>
|
||||||
<!-- 新增选项 -->
|
<!-- 新增选项 -->
|
||||||
@@ -36,9 +38,9 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { ref, reactive, watch, onMounted, computed } from 'vue';
|
import {ref, reactive, watch, onMounted, computed} from 'vue';
|
||||||
import { ElMessage } from 'element-plus';
|
import {ElMessage} from 'element-plus';
|
||||||
import { FeedApi } from '../../api/feed'; // 假设 FeedApi 包含生成配方接口
|
import {FeedApi} from '../../api/feed'; // 假设 FeedApi 包含生成配方接口
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'GenerateRecipeDialog',
|
name: 'GenerateRecipeDialog',
|
||||||
@@ -49,7 +51,7 @@ export default {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
emits: ['update:visible', 'success', 'cancel'],
|
emits: ['update:visible', 'success', 'cancel'],
|
||||||
setup(props, { emit }) {
|
setup(props, {emit}) {
|
||||||
const generateRecipeForm = ref(null);
|
const generateRecipeForm = ref(null);
|
||||||
const loading = ref(false);
|
const loading = ref(false);
|
||||||
const pigTypesOptions = ref([]);
|
const pigTypesOptions = ref([]);
|
||||||
@@ -70,12 +72,12 @@ export default {
|
|||||||
*/
|
*/
|
||||||
const fetchPigTypes = async () => {
|
const fetchPigTypes = async () => {
|
||||||
try {
|
try {
|
||||||
const response = await FeedApi.getPigTypes({ page: 1, page_size: 999 }); // 调用 FeedApi 中的 getPigTypes 方法获取猪类型列表
|
const response = await FeedApi.getPigTypes({page: 1, page_size: 999}); // 调用 FeedApi 中的 getPigTypes 方法获取猪类型列表
|
||||||
if (response.data && response.data.list) {
|
if (response.data && response.data.list) {
|
||||||
pigTypesOptions.value = response.data.list.map(pigType => ({
|
pigTypesOptions.value = response.data.list.map(pigType => ({
|
||||||
label: `${pigType.breed_name}-${pigType.age_stage_name}`,
|
label: `${pigType.breed_name}-${pigType.age_stage_name}`,
|
||||||
value: `${pigType.id}`, // 下拉框的值直接是 pigType 的 ID
|
value: `${pigType.id}`, // 下拉框的值直接是 pigType 的 ID
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('获取猪种类失败:', error);
|
console.error('获取猪种类失败:', error);
|
||||||
@@ -94,18 +96,19 @@ export default {
|
|||||||
loading.value = true;
|
loading.value = true;
|
||||||
try {
|
try {
|
||||||
const pigTypeId = parseInt(form.selectedPigType); // 获取选中的 pigType ID
|
const pigTypeId = parseInt(form.selectedPigType); // 获取选中的 pigType ID
|
||||||
|
let response = null; // 声明 response 变量
|
||||||
|
|
||||||
if (form.selectedGenerationMethod === 'all_raw_materials') {
|
if (form.selectedGenerationMethod === 'all_raw_materials') {
|
||||||
// 调用使用所有原料生成配方的接口
|
// 调用使用所有原料生成配方的接口
|
||||||
response = await FeedApi.generateRecipeFromAllMaterials(pigTypeId);
|
response = await FeedApi.generateRecipeFromAllMaterials(pigTypeId);
|
||||||
} else if (form.selectedGenerationMethod === 'prefer_in_stock_materials') {
|
} else if (form.selectedGenerationMethod === 'prefer_in_stock_materials') {
|
||||||
// 调用优先使用有库存原料生成配方的接口
|
// 调用优先使用有库存原料生成配方的接口
|
||||||
response = await FeedApi.generatePrioritizedStockRecipe(pigTypeId);
|
response = await FeedApi.generatePrioritizedStockRecipe(pigTypeId);
|
||||||
} else {
|
} else {
|
||||||
ElMessage.error('未知的生成方式');
|
ElMessage.error('未知的生成方式');
|
||||||
loading.value = false;
|
loading.value = false;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (response.data) {
|
if (response.data) {
|
||||||
ElMessage.success('配方生成成功!');
|
ElMessage.success('配方生成成功!');
|
||||||
|
|||||||
Reference in New Issue
Block a user