diff --git a/src/views/eq/RepairSummary.vue b/src/views/eq/RepairSummary.vue index a674be4..fb0ddc1 100644 --- a/src/views/eq/RepairSummary.vue +++ b/src/views/eq/RepairSummary.vue @@ -49,10 +49,27 @@ :title="`${selectedEquipmentCode} 维修记录`" width="80%" :before-close="handleRepairRecordsClose"> + +
+ 故障名称: + + + +
props.selectedEquipmentType, (newVal, oldVal) => { @@ -203,19 +223,41 @@ const fetchRepairRecords = (equipmentCode) => { .then(data => { if (data.code === 200 && data.data) { selectedRepairRecords.value = data.data + filteredRepairRecords.value = data.data + + // 提取所有唯一的故障名称 + const breakdownNames = [...new Set(data.data.map(record => record.breakdown_name).filter(Boolean))] + uniqueBreakdownNames.value = breakdownNames } else { selectedRepairRecords.value = [] + filteredRepairRecords.value = [] + uniqueBreakdownNames.value = [] } }) .catch(error => { console.error('维修记录API调用失败:', error) selectedRepairRecords.value = [] + filteredRepairRecords.value = [] + uniqueBreakdownNames.value = [] }) .finally(() => { repairRecordsLoading.value = false }) } +// 根据故障名称筛选维修记录 +const filterRecordsByBreakdownName = () => { + if (!selectedBreakdownName.value) { + // 如果没有选择故障名称,显示所有记录 + filteredRepairRecords.value = [...selectedRepairRecords.value] + } else { + // 根据选择的故障名称筛选 + filteredRepairRecords.value = selectedRepairRecords.value.filter( + record => record.breakdown_name === selectedBreakdownName.value + ) + } +} + // 关闭维修记录对话框 const handleRepairRecordsClose = () => { repairRecordsDialogVisible.value = false @@ -286,6 +328,19 @@ const calculateRepairDuration = (applyTime, repairTime) => { color: #66b1ff; } +/* 故障名称筛选区域样式 */ +.breakdown-filter-container { + display: flex; + align-items: center; + margin-bottom: 15px; + padding: 0 10px; +} + +.filter-label { + margin-right: 10px; + white-space: nowrap; +} + /* 维修记录对话框样式 */ .repair-records-container { padding: 10px 0;