hooks.ts 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. import { getPersonOverview, getVehicleOverview } from '@/api/security-confidentiality-overview';
  2. import type { PersonOverview, PieChartData, VehicleOverview, BarChartData } from './types';
  3. import dayjs from 'dayjs';
  4. import { getVehicleRecordList } from '@/api/security-confidentiality-vehicle';
  5. export async function getPersonOverviewChartData() {
  6. const personOverview: PersonOverview = await getPersonOverview();
  7. return [
  8. { name: '非外籍访客', value: personOverview.nonForeignVisitorCount, id: 1, color: '#3777FD' },
  9. { name: '外籍访客', value: personOverview.foreignVisitorCount, id: 2, color: '#F1C7A3' },
  10. ] as PieChartData[];
  11. }
  12. export async function getVehicleOverviewChartData() {
  13. const vehicleOverview: VehicleOverview = await getVehicleOverview();
  14. return {
  15. category: vehicleOverview.vehicleEntryRecordList.map((item) => item.date),
  16. value: vehicleOverview.vehicleEntryRecordList.map((item) => item.vehicleCount),
  17. } as BarChartData;
  18. }
  19. export async function getLastDayFlow() {
  20. const searchTime = [
  21. dayjs().startOf('day').format('YYYY-MM-DD HH:mm:ss'),
  22. dayjs().endOf('day').format('YYYY-MM-DD HH:mm:ss'),
  23. ];
  24. const list = await getVehicleRecordList({
  25. pageNumber: 1,
  26. pageSize: 1,
  27. queryParam: {
  28. startTime: searchTime[0],
  29. endTime: searchTime[1],
  30. },
  31. });
  32. return list.totalRow;
  33. }