实现功能

This commit is contained in:
2025-11-22 19:30:24 +08:00
parent 55a3dbd1d5
commit f7f95b4241
2 changed files with 72 additions and 12 deletions

View File

@@ -142,6 +142,8 @@
v-if="showPigTypeDialog"
:initialData="currentPigType"
:breedId="currentBreedIdForPigType"
:isEditing="isEditingPigType"
:existingAgeStageIds="getExistingAgeStageIds(currentBreedIdForPigType)"
@save="handlePigTypeSave"
@cancel="handlePigTypeCancel"
></PigTypeEditor>
@@ -320,11 +322,17 @@ export default {
showNutrientDialog.value = false;
};
// 获取当前品种已有的年龄阶段ID列表
const getExistingAgeStageIds = (breedId) => {
const breed = tableData.value.find(item => item.id === breedId);
return breed && breed.pig_types ? breed.pig_types.map(pt => pt.age_stage_id) : [];
};
// 处理添加年龄阶段
const handleAddPigType = (breedId) => {
isEditingPigType.value = false;
currentPigType.value = { // 初始化新年龄阶段的数据
age_stage_name: '',
age_stage_id: null, // age_stage_id 默认为 null由下拉框选择
description: '',
min_days: 0,
max_days: 0,
@@ -360,7 +368,7 @@ export default {
await FeedApi.deletePigType(pigType.id);
ElMessage.success('年龄阶段删除成功');
// 刷新当前展开行的 pig_types 数据
const expandedRow = tableData.value.find(item => expandRowKeys.value.includes(item.breed_id));
const expandedRow = tableData.value.find(item => expandRowKeys.value.includes(pigType.breed_id));
if (expandedRow) {
await handleExpandChange(expandedRow, [expandedRow]);
}
@@ -420,6 +428,7 @@ export default {
handleAddPigType,
handleEditPigType,
handleDeletePigType,
getExistingAgeStageIds, // 暴露给模板
handleNutrientRequirementsRefresh, // 暴露给模板
handlePigTypeSave,
handlePigTypeCancel,