diff --git a/src/components/feed/PigBreedTable.vue b/src/components/feed/PigBreedTable.vue index 0c8ac311..3d67661d 100644 --- a/src/components/feed/PigBreedTable.vue +++ b/src/components/feed/PigBreedTable.vue @@ -367,10 +367,22 @@ export default { try { await FeedApi.deletePigType(pigType.id); ElMessage.success('年龄阶段删除成功'); - // 刷新当前展开行的 pig_types 数据 - const expandedRow = tableData.value.find(item => expandRowKeys.value.includes(pigType.breed_id)); - if (expandedRow) { - await handleExpandChange(expandedRow, [expandedRow]); + // 刷新当前品种的 pig_types 数据 + const breedIdToRefresh = pigType.breed_id; + if (breedIdToRefresh) { + try { + const response = await FeedApi.getPigTypes({ breed_id: breedIdToRefresh, page: 1, page_size: 999 }); + if (response.data && response.data.list) { + const sortedPigTypes = response.data.list.sort((a, b) => a.age_stage_id - b.age_stage_id); + const index = tableData.value.findIndex(item => item.id === breedIdToRefresh); + if (index !== -1) { + tableData.value[index].pig_types = sortedPigTypes; + } + } + } catch (error) { + console.error('刷新该品种下的猪类型失败:', error); + ElMessage.error('刷新猪类型失败'); + } } } catch (error) { ElMessage.error('删除失败: ' + (error.message || '未知错误')); @@ -383,10 +395,22 @@ export default { // 年龄阶段编辑器保存后的回调 const handlePigTypeSave = async () => { showPigTypeDialog.value = false; - // 刷新当前展开行的 pig_types 数据 - const expandedRow = tableData.value.find(item => expandRowKeys.value.includes(currentBreedIdForPigType.value)); - if (expandedRow) { - await handleExpandChange(expandedRow, [expandedRow]); + // 刷新当前品种的 pig_types 数据 + const breedIdToRefresh = currentBreedIdForPigType.value; + if (breedIdToRefresh) { + try { + const response = await FeedApi.getPigTypes({ breed_id: breedIdToRefresh, page: 1, page_size: 999 }); + if (response.data && response.data.list) { + const sortedPigTypes = response.data.list.sort((a, b) => a.age_stage_id - b.age_stage_id); + const index = tableData.value.findIndex(item => item.id === breedIdToRefresh); + if (index !== -1) { + tableData.value[index].pig_types = sortedPigTypes; + } + } + } catch (error) { + console.error('刷新该品种下的猪类型失败:', error); + ElMessage.error('刷新猪类型失败'); + } } };