diff --git a/src/components/feed/PigBreedTable.vue b/src/components/feed/PigBreedTable.vue index 8de6bbdd..7786a973 100644 --- a/src/components/feed/PigBreedTable.vue +++ b/src/components/feed/PigBreedTable.vue @@ -59,6 +59,12 @@ + + + + @@ -83,6 +89,21 @@ @size-change="handleSizeChange" @current-change="handleCurrentChange" > + + + + + @@ -90,16 +111,26 @@ import {ref, onMounted} from 'vue'; import {FeedApi} from '../../api/feed'; import {ElMessageBox, ElMessage} from 'element-plus'; +import PigNutrientRequirementsDisplay from './PigNutrientRequirementsDisplay.vue'; // 导入新的组件 export default { name: 'PigBreedTable', emits: ['edit'], // 声明触发的事件 + components: { + PigNutrientRequirementsDisplay, // 注册组件 + }, setup(props, { emit }) { const tableData = ref([]); const loading = ref(false); const searchKeyword = ref(''); const expandRowKeys = ref([]); // 用于控制展开行 + // 营养需求弹窗相关 + const showNutrientDialog = ref(false); + const currentNutrientRequirements = ref([]); + const currentBreedName = ref(''); + const currentAgeStageName = ref(''); + const pagination = ref({ page: 1, page_size: 10, @@ -180,6 +211,14 @@ export default { return cellValue; }; + // 处理查看营养需求详情 + const handleViewNutrientRequirements = (pigType) => { + currentNutrientRequirements.value = pigType.pig_nutrient_requirements || []; + currentBreedName.value = pigType.breed_name; + currentAgeStageName.value = pigType.age_stage_name; + showNutrientDialog.value = true; + }; + const handleEdit = (row) => { emit('edit', row); // 触发 edit 事件,并传递当前行数据 }; @@ -216,11 +255,16 @@ export default { searchKeyword, expandRowKeys, pagination, + showNutrientDialog, + currentNutrientRequirements, + currentBreedName, + currentAgeStageName, handleSearch, handleSizeChange, handleCurrentChange, handleExpandChange, weightFormatter, // 暴露给模板 + handleViewNutrientRequirements, // 暴露给模板 handleEdit, handleDelete, fetchPigBreeds, // 将方法暴露出去