diff --git a/app/person/dashboard/components/PersonalProjectTable.tsx b/app/person/dashboard/components/PersonalProjectTable.tsx index 45db5e8..f875591 100644 --- a/app/person/dashboard/components/PersonalProjectTable.tsx +++ b/app/person/dashboard/components/PersonalProjectTable.tsx @@ -35,6 +35,18 @@ interface FilterFormRecord { query_date: DatesRangeValue } +function normalizeQueryDateRange(value: DatesRangeValue): [string, string] { + const today = dayjs().format("YYYY-MM-DD") + const [start, end] = value + const normalizedStart = start ?? end ?? today + const normalizedEnd = end ?? normalizedStart + + return [ + dayjs(normalizedStart).format("YYYY-MM-DD"), + dayjs(normalizedEnd).format("YYYY-MM-DD"), + ] +} + function createInitialFilters(): FilterFormRecord { return { query_date: [ @@ -77,16 +89,12 @@ export default function PersonalProjectTable() { }, [page, pageSize, records]) const appliedParams = useMemo(() => { - const obj: Project.ReqPersonProjectDashBoard = { - start_date: dayjs().format("YYYY-MM-DD"), - end_date: dayjs().format("YYYY-MM-DD"), + const [start_date, end_date] = normalizeQueryDateRange(form.query_date) + const params: Project.ReqPersonProjectDashBoard = { + start_date, + end_date, } - if (form.query_date[0] && form.query_date[1]) { - obj.start_date = dayjs(form.query_date[0]).format("YYYY-MM-DD") - obj.end_date = dayjs(form.query_date[1]).format("YYYY-MM-DD") - } - - return obj + return params }, [form.query_date]) const load = useCallback(async () => { @@ -259,7 +267,8 @@ export default function PersonalProjectTable() {
r.work_time ?? 0)), + footer: sum(records.map((r) => r.work_time ?? 0)).toLocaleString(), }, { accessor: "rate", title: "额定倍率", width: 90 }, { @@ -407,28 +407,30 @@ export default function PersonReportPage() { title: "标准量", width: 90, sortable: true, - footer: sum(records.map((r) => r.standard_size ?? 0)), + footer: sum(records.map((r) => r.standard_size ?? 0)).toLocaleString(), }, { accessor: "completed_size", title: "完成量", width: 90, sortable: true, - footer: sum(records.map((r) => r.completed_size ?? 0)), + footer: sum(records.map((r) => r.completed_size ?? 0)).toLocaleString(), }, { accessor: "residual_size", title: "余量", width: 90, sortable: true, - footer: sum(records.map((r) => r.residual_size ?? 0)), + footer: sum(records.map((r) => r.residual_size ?? 0)).toLocaleString(), }, { accessor: "residual_work_time", title: "余量工时", width: 110, sortable: true, - footer: sum(records.map((r) => r.residual_work_time ?? 0)), + footer: sum( + records.map((r) => r.residual_work_time ?? 0) + ).toLocaleString(), }, { accessor: "remarks", @@ -437,6 +439,7 @@ export default function PersonReportPage() { render: (record) => ( {record.remarks ?? "-"}