fix: sort reports by uploadTime descending (newest first)
This commit is contained in:
@@ -13,6 +13,7 @@ import java.util.List;
|
||||
public interface ReportRepository extends JpaRepository<Report, Long> {
|
||||
|
||||
List<Report> findByProjectId(Long projectId);
|
||||
List<Report> findByProjectIdOrderByUploadTimeDesc(Long projectId);
|
||||
long countByProjectId(Long projectId);
|
||||
long countByUploadTimeAfter(LocalDateTime time);
|
||||
long countByProjectIdAndUploadTimeAfter(Long projectId, LocalDateTime time);
|
||||
|
||||
@@ -35,7 +35,7 @@ public class ReportService {
|
||||
public List<ReportResponse> getAllReports(Long projectId) {
|
||||
List<Report> reports;
|
||||
if (projectId != null) {
|
||||
reports = reportRepository.findByProjectId(projectId);
|
||||
reports = reportRepository.findByProjectIdOrderByUploadTimeDesc(projectId);
|
||||
} else {
|
||||
reports = reportRepository.findAll();
|
||||
}
|
||||
|
||||
@@ -82,7 +82,7 @@
|
||||
</div>
|
||||
<template v-else>
|
||||
<ReportCard
|
||||
v-for="report in reports"
|
||||
v-for="report in sortedReports"
|
||||
:key="report.id"
|
||||
:report="report"
|
||||
:is-selected="selectedReport?.id === report.id"
|
||||
@@ -138,6 +138,15 @@ const reports = ref([])
|
||||
const selectedReport = ref(null)
|
||||
const reportContent = ref('')
|
||||
const editing = ref(false)
|
||||
|
||||
// Sort reports: newest first by uploadTime
|
||||
const sortedReports = computed(() => {
|
||||
return [...reports.value].sort((a, b) => {
|
||||
const ta = a.uploadTime ? new Date(a.uploadTime) : 0
|
||||
const tb = b.uploadTime ? new Date(b.uploadTime) : 0
|
||||
return tb - ta
|
||||
})
|
||||
})
|
||||
const sidebarCollapsed = ref(false)
|
||||
const editName = ref('')
|
||||
const coverImageFile = ref(null)
|
||||
|
||||
Reference in New Issue
Block a user