useMarkerStore.ts 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. import {
  2. PENDING_DISPOSAL_INCIDENT,
  3. PENDING_INCIDENT,
  4. EMERGENCY_VEHICLES,
  5. VIDEO_SURVEILLANCE,
  6. WARNING_INCIDENT,
  7. EMERGENCY_TEAM,
  8. } from '@/components/MarkerMap/constants';
  9. import { defineStore } from 'pinia';
  10. export interface MarkerType {
  11. id?: string | number;
  12. location?: string;
  13. marker?: any;
  14. popup?: any;
  15. [key: string]: any;
  16. }
  17. export interface MarkerStateType {
  18. warningIncident: MarkerType[];
  19. pendingIncident: MarkerType[];
  20. pendingDisposalIncident: MarkerType[];
  21. videoSurveillance: MarkerType[];
  22. emergencyVehicles: MarkerType[];
  23. emergencyTeam: MarkerType[];
  24. emergencyWarehouse: MarkerType[];
  25. }
  26. export interface MainActionsType {}
  27. export default defineStore<'marker', MarkerStateType, {}, MainActionsType>(
  28. 'marker',
  29. {
  30. state: () => ({
  31. warningIncident: WARNING_INCIDENT,
  32. pendingIncident: PENDING_INCIDENT,
  33. pendingDisposalIncident: PENDING_DISPOSAL_INCIDENT,
  34. videoSurveillance: VIDEO_SURVEILLANCE,
  35. emergencyVehicles: EMERGENCY_VEHICLES,
  36. emergencyTeam: EMERGENCY_TEAM,
  37. emergencyWarehouse: [],
  38. }),
  39. actions: {},
  40. },
  41. );