| | |
| | | gridApi.query(); |
| | | } |
| | | |
| | | /** |
| | | * 把表单里的日期区间拆成后端需要的 startDate / endDate |
| | | * |
| | | * 不选日期时后端走「月度汇总表」查询;选了日期则按日区间实时统计打卡记录。 |
| | | */ |
| | | function buildQueryParams(formValues: any) { |
| | | const { dateRange, ...rest } = formValues || {}; |
| | | return { |
| | | ...rest, |
| | | startDate: dateRange?.[0], |
| | | endDate: dateRange?.[1], |
| | | }; |
| | | } |
| | | |
| | | /** 生成统计 */ |
| | | function handleGenerate() { |
| | | generateModalApi.open(); |
| | |
| | | |
| | | /** 导出考勤统计 */ |
| | | async function handleExport() { |
| | | const data = await exportAttendanceSummary(await gridApi.formApi.getValues()); |
| | | const data = await exportAttendanceSummary( |
| | | buildQueryParams(await gridApi.formApi.getValues()), |
| | | ); |
| | | downloadFileFromBlobPart({ fileName: '考勤统计.xls', source: data }); |
| | | } |
| | | |
| | |
| | | await getAttendanceSummaryPage({ |
| | | pageNo: page.currentPage, |
| | | pageSize: page.pageSize, |
| | | ...formValues, |
| | | ...buildQueryParams(formValues), |
| | | }), |
| | | }, |
| | | }, |