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> {
|
public interface ReportRepository extends JpaRepository<Report, Long> {
|
||||||
|
|
||||||
List<Report> findByProjectId(Long projectId);
|
List<Report> findByProjectId(Long projectId);
|
||||||
|
List<Report> findByProjectIdOrderByUploadTimeDesc(Long projectId);
|
||||||
long countByProjectId(Long projectId);
|
long countByProjectId(Long projectId);
|
||||||
long countByUploadTimeAfter(LocalDateTime time);
|
long countByUploadTimeAfter(LocalDateTime time);
|
||||||
long countByProjectIdAndUploadTimeAfter(Long projectId, LocalDateTime time);
|
long countByProjectIdAndUploadTimeAfter(Long projectId, LocalDateTime time);
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ public class ReportService {
|
|||||||
public List<ReportResponse> getAllReports(Long projectId) {
|
public List<ReportResponse> getAllReports(Long projectId) {
|
||||||
List<Report> reports;
|
List<Report> reports;
|
||||||
if (projectId != null) {
|
if (projectId != null) {
|
||||||
reports = reportRepository.findByProjectId(projectId);
|
reports = reportRepository.findByProjectIdOrderByUploadTimeDesc(projectId);
|
||||||
} else {
|
} else {
|
||||||
reports = reportRepository.findAll();
|
reports = reportRepository.findAll();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -82,7 +82,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<template v-else>
|
<template v-else>
|
||||||
<ReportCard
|
<ReportCard
|
||||||
v-for="report in reports"
|
v-for="report in sortedReports"
|
||||||
:key="report.id"
|
:key="report.id"
|
||||||
:report="report"
|
:report="report"
|
||||||
:is-selected="selectedReport?.id === report.id"
|
:is-selected="selectedReport?.id === report.id"
|
||||||
@@ -138,6 +138,15 @@ const reports = ref([])
|
|||||||
const selectedReport = ref(null)
|
const selectedReport = ref(null)
|
||||||
const reportContent = ref('')
|
const reportContent = ref('')
|
||||||
const editing = ref(false)
|
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 sidebarCollapsed = ref(false)
|
||||||
const editName = ref('')
|
const editName = ref('')
|
||||||
const coverImageFile = ref(null)
|
const coverImageFile = ref(null)
|
||||||
|
|||||||
Reference in New Issue
Block a user