From df809650ff227918997851a74262ead77e0679ff Mon Sep 17 00:00:00 2001 From: huangjinysf Date: Tue, 23 Dec 2025 16:44:28 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=BA=86=E6=95=85=E9=9A=9C?= =?UTF-8?q?=E5=90=8D=E7=A7=B0=E7=AD=9B=E9=80=89=E5=8C=BA=E5=9F=9F=EF=BC=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 在对话框上方添加了一个筛选区域,包含标签和下拉选择框 使用 Element Plus 的 el-select 组件,支持清除和选择功能 添加了相关的响应式变量: selectedBreakdownName :存储当前选择的故障名称 uniqueBreakdownNames :存储所有唯一的故障名称列表 filteredRepairRecords :存储筛选后的维修记录 --- src/views/eq/RepairSummary.vue | 57 +++++++++++++++++++++++++++++++++- 1 file changed, 56 insertions(+), 1 deletion(-) 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;