我已修复了下拉框选择第一个项不筛选的问题。主要做了以下几点改进:

添加了 @clear 事件处理,确保清除选择时也能正确显示所有数据
增加了 selectedBreakdownName 的 watch 监听器,确保其值变化时总是触发筛选
修改了 filterRecordsByBreakdownName 函数,确保它能正确处理所有传入值
在获取维修记录数据后,确保筛选器正确初始化
添加了控制台日志,便于调试和跟踪筛选过程
master
huangjinysf 2 months ago
parent df809650ff
commit f9fd5e6488

@ -57,6 +57,7 @@
placeholder="全部故障" placeholder="全部故障"
clearable clearable
@change="filterRecordsByBreakdownName" @change="filterRecordsByBreakdownName"
@clear="filterRecordsByBreakdownName"
> >
<el-option <el-option
v-for="name in uniqueBreakdownNames" v-for="name in uniqueBreakdownNames"
@ -161,6 +162,13 @@ watch(() => props.dateRange, (newVal, oldVal) => {
} }
}, { deep: true }); }, { deep: true });
//
watch(selectedBreakdownName, (newVal, oldVal) => {
console.log('故障名称从', oldVal, '变化为', newVal);
//
filterRecordsByBreakdownName();
});
// //
onMounted(() => { onMounted(() => {
console.log('组件加载,设备类型:', props.selectedEquipmentType); console.log('组件加载,设备类型:', props.selectedEquipmentType);
@ -228,6 +236,10 @@ const fetchRepairRecords = (equipmentCode) => {
// //
const breakdownNames = [...new Set(data.data.map(record => record.breakdown_name).filter(Boolean))] const breakdownNames = [...new Set(data.data.map(record => record.breakdown_name).filter(Boolean))]
uniqueBreakdownNames.value = breakdownNames uniqueBreakdownNames.value = breakdownNames
//
selectedBreakdownName.value = ''
filteredRepairRecords.value = [...selectedRepairRecords.value]
} else { } else {
selectedRepairRecords.value = [] selectedRepairRecords.value = []
filteredRepairRecords.value = [] filteredRepairRecords.value = []
@ -246,16 +258,28 @@ const fetchRepairRecords = (equipmentCode) => {
} }
// //
const filterRecordsByBreakdownName = () => { const filterRecordsByBreakdownName = (value) => {
if (!selectedBreakdownName.value) { console.log('筛选故障名称:', value, 'selectedBreakdownName.value:', selectedBreakdownName.value)
// selectedBreakdownName
if (value !== undefined) {
selectedBreakdownName.value = value
}
//
const filterValue = selectedBreakdownName.value || ''
if (!filterValue) {
// //
filteredRepairRecords.value = [...selectedRepairRecords.value] filteredRepairRecords.value = [...selectedRepairRecords.value]
} else { } else {
// //
filteredRepairRecords.value = selectedRepairRecords.value.filter( filteredRepairRecords.value = selectedRepairRecords.value.filter(
record => record.breakdown_name === selectedBreakdownName.value record => record.breakdown_name === filterValue
) )
} }
console.log('筛选后记录数:', filteredRepairRecords.value.length)
} }
// //

Loading…
Cancel
Save