From 5faa4b79061c2bccda45f1e8eed398ad12077465 Mon Sep 17 00:00:00 2001 From: Julian Krauser Date: Wed, 26 Mar 2025 12:45:14 +0100 Subject: [PATCH] view models and data structure --- .../damageReport/DamageReportListItem.vue | 8 +-- .../unit/equipment/CreateEquipmentModal.vue | 12 ++-- .../unit/equipment/EquipmentListItem.vue | 6 +- .../CreateEquipmentTypeModal.vue | 61 ++----------------- .../equipmentType/EquipmentTypeListItem.vue | 11 ++-- .../CreateRespiratoryGearModal.vue | 12 ++-- .../RespiratoryGearListItem.vue | 7 +-- .../CreateRespiratoryMissionModal.vue | 12 ++-- .../RespiratoryMissionListItem.vue | 9 +-- .../CreateRespiratoryWearerModal.vue | 12 ++-- .../RespiratoryWearerListItem.vue | 8 +-- .../admin/unit/vehicle/CreateVehicleModal.vue | 56 +---------------- .../admin/unit/vehicle/VehicleListItem.vue | 5 +- .../admin/unit/damageReport/damageReport.ts | 14 +---- src/stores/admin/unit/equipment/equipment.ts | 26 +------- .../admin/unit/equipmentType/equipmentType.ts | 16 +---- .../unit/respiratoryGear/respiratoryGear.ts | 14 +---- .../respiratoryMission/respiratoryMission.ts | 14 +---- .../respiratoryWearer/respiratoryWearer.ts | 14 +---- src/stores/admin/unit/vehicle/vehicle.ts | 24 +------- .../unit/damageReport/damageReport.models.ts | 39 +++--------- .../admin/unit/equipment/equipment.models.ts | 25 ++++++++ .../admin/unit/equipmentType.models.ts | 39 ------------ .../unit/equipmentType/equipment.models.ts | 39 ------------ .../equipmentType/equipmentType.models.ts | 20 ++++++ .../respiratoryGear/respiratoryGear.models.ts | 35 ++--------- .../respiratoryMission.models.ts | 39 +++--------- .../respiratoryWearer.models.ts | 35 ++--------- .../admin/unit/vehicle/vehicle.models.ts | 32 +--------- .../admin/unit/damageReport/DamageReport.vue | 10 +-- src/views/admin/unit/equipment/Equipment.vue | 2 +- .../admin/unit/equipment/EquipmentRouting.vue | 2 +- .../unit/equipmentType/EquipmentType.vue | 2 +- .../equipmentType/EquipmentTypeRouting.vue | 2 +- .../RespiratoryGearRouting.vue | 4 +- .../RespiratoryMissionRouting.vue | 4 +- .../RespiratoryWearerRouting.vue | 3 +- 37 files changed, 157 insertions(+), 516 deletions(-) create mode 100644 src/viewmodels/admin/unit/equipment/equipment.models.ts delete mode 100644 src/viewmodels/admin/unit/equipmentType.models.ts delete mode 100644 src/viewmodels/admin/unit/equipmentType/equipment.models.ts create mode 100644 src/viewmodels/admin/unit/equipmentType/equipmentType.models.ts diff --git a/src/components/admin/unit/damageReport/DamageReportListItem.vue b/src/components/admin/unit/damageReport/DamageReportListItem.vue index d2515ae..f7d8af5 100644 --- a/src/components/admin/unit/damageReport/DamageReportListItem.vue +++ b/src/components/admin/unit/damageReport/DamageReportListItem.vue @@ -1,16 +1,16 @@ diff --git a/src/components/admin/unit/equipment/CreateEquipmentModal.vue b/src/components/admin/unit/equipment/CreateEquipmentModal.vue index 9b4227f..6690d9a 100644 --- a/src/components/admin/unit/equipment/CreateEquipmentModal.vue +++ b/src/components/admin/unit/equipment/CreateEquipmentModal.vue @@ -100,7 +100,7 @@ import FailureXMark from "@/components/FailureXMark.vue"; import { Listbox, ListboxButton, ListboxOptions, ListboxOption, ListboxLabel } from "@headlessui/vue"; import { CheckIcon, ChevronUpDownIcon } from "@heroicons/vue/20/solid"; import { useEquipmentStore } from "@/stores/admin/unit/equipment/equipment"; -import type { CreateEquipmentViewModel } from "@/viewmodels/admin/unit/equipmentType/equipment.models"; +import type { CreateEquipmentViewModel } from "@/viewmodels/admin/unit/equipment/equipment.models"; import { useSalutationStore } from "../../../../stores/admin/configuration/salutation"; import type { SalutationViewModel } from "../../../../viewmodels/admin/configuration/salutation.models"; @@ -133,12 +133,10 @@ export default defineComponent({ if (!this.selectedSalutation) return; let formData = e.target.elements; let createEquipment: CreateEquipmentViewModel = { - salutationId: this.selectedSalutation.id, - firstname: formData.firstname.value, - lastname: formData.lastname.value, - nameaffix: formData.nameaffix.value, - birthdate: formData.birthdate.value, - internalId: formData.internalId.value, + code: "", + name: "", + location: "", + equipmentTypeId: "", }; this.status = "loading"; this.createEquipment(createEquipment) diff --git a/src/components/admin/unit/equipment/EquipmentListItem.vue b/src/components/admin/unit/equipment/EquipmentListItem.vue index 3d45cf8..dc9d7f3 100644 --- a/src/components/admin/unit/equipment/EquipmentListItem.vue +++ b/src/components/admin/unit/equipment/EquipmentListItem.vue @@ -5,11 +5,11 @@ >

- {{ equipment.lastname }}, {{ equipment.firstname }} {{ equipment.nameaffix ? `- ${equipment.nameaffix}` : "" }} + {{ equipment.name }}

-

ID: {{ equipment.internalId }}

+

Code: {{ equipment.code }}

@@ -18,7 +18,7 @@ import { defineComponent, type PropType } from "vue"; import { mapState, mapActions } from "pinia"; import { useAbilityStore } from "@/stores/ability"; -import type { EquipmentViewModel } from "@/viewmodels/admin/unit/equipmentType/equipment.models"; +import type { EquipmentViewModel } from "@/viewmodels/admin/unit/equipment/equipment.models"; @@ -111,7 +64,6 @@ export default defineComponent({ return { status: null as null | "loading" | { status: "success" | "failed"; reason?: string }, timeout: undefined as any, - selectedSalutation: null as null | SalutationViewModel, }; }, computed: { @@ -130,15 +82,12 @@ export default defineComponent({ ...mapActions(useEquipmentStore, ["createEquipment"]), ...mapActions(useSalutationStore, ["fetchSalutations"]), triggerCreate(e: any) { - if (!this.selectedSalutation) return; let formData = e.target.elements; let createEquipment: CreateEquipmentViewModel = { - salutationId: this.selectedSalutation.id, - firstname: formData.firstname.value, - lastname: formData.lastname.value, - nameaffix: formData.nameaffix.value, - birthdate: formData.birthdate.value, - internalId: formData.internalId.value, + code: "", + name: "", + location: "", + equipmentTypeId: "", }; this.status = "loading"; this.createEquipment(createEquipment) diff --git a/src/components/admin/unit/equipmentType/EquipmentTypeListItem.vue b/src/components/admin/unit/equipmentType/EquipmentTypeListItem.vue index 3d45cf8..c8cb5ea 100644 --- a/src/components/admin/unit/equipmentType/EquipmentTypeListItem.vue +++ b/src/components/admin/unit/equipmentType/EquipmentTypeListItem.vue @@ -1,16 +1,13 @@ @@ -18,13 +15,13 @@ import { defineComponent, type PropType } from "vue"; import { mapState, mapActions } from "pinia"; import { useAbilityStore } from "@/stores/ability"; -import type { EquipmentViewModel } from "@/viewmodels/admin/unit/equipmentType/equipment.models"; +import type { EquipmentTypeViewModel } from "@/viewmodels/admin/unit/equipmentType/equipmentType.models"; @@ -133,12 +133,10 @@ export default defineComponent({ if (!this.selectedSalutation) return; let formData = e.target.elements; let createEquipment: CreateEquipmentViewModel = { - salutationId: this.selectedSalutation.id, - firstname: formData.firstname.value, - lastname: formData.lastname.value, - nameaffix: formData.nameaffix.value, - birthdate: formData.birthdate.value, - internalId: formData.internalId.value, + code: "", + name: "", + location: "", + equipmentTypeId: "", }; this.status = "loading"; this.createEquipment(createEquipment) diff --git a/src/components/admin/unit/respiratoryGear/RespiratoryGearListItem.vue b/src/components/admin/unit/respiratoryGear/RespiratoryGearListItem.vue index 9e2cb47..dd0a616 100644 --- a/src/components/admin/unit/respiratoryGear/RespiratoryGearListItem.vue +++ b/src/components/admin/unit/respiratoryGear/RespiratoryGearListItem.vue @@ -1,16 +1,15 @@ diff --git a/src/components/admin/unit/respiratoryMission/CreateRespiratoryMissionModal.vue b/src/components/admin/unit/respiratoryMission/CreateRespiratoryMissionModal.vue index 9b4227f..6690d9a 100644 --- a/src/components/admin/unit/respiratoryMission/CreateRespiratoryMissionModal.vue +++ b/src/components/admin/unit/respiratoryMission/CreateRespiratoryMissionModal.vue @@ -100,7 +100,7 @@ import FailureXMark from "@/components/FailureXMark.vue"; import { Listbox, ListboxButton, ListboxOptions, ListboxOption, ListboxLabel } from "@headlessui/vue"; import { CheckIcon, ChevronUpDownIcon } from "@heroicons/vue/20/solid"; import { useEquipmentStore } from "@/stores/admin/unit/equipment/equipment"; -import type { CreateEquipmentViewModel } from "@/viewmodels/admin/unit/equipmentType/equipment.models"; +import type { CreateEquipmentViewModel } from "@/viewmodels/admin/unit/equipment/equipment.models"; import { useSalutationStore } from "../../../../stores/admin/configuration/salutation"; import type { SalutationViewModel } from "../../../../viewmodels/admin/configuration/salutation.models"; @@ -133,12 +133,10 @@ export default defineComponent({ if (!this.selectedSalutation) return; let formData = e.target.elements; let createEquipment: CreateEquipmentViewModel = { - salutationId: this.selectedSalutation.id, - firstname: formData.firstname.value, - lastname: formData.lastname.value, - nameaffix: formData.nameaffix.value, - birthdate: formData.birthdate.value, - internalId: formData.internalId.value, + code: "", + name: "", + location: "", + equipmentTypeId: "", }; this.status = "loading"; this.createEquipment(createEquipment) diff --git a/src/components/admin/unit/respiratoryMission/RespiratoryMissionListItem.vue b/src/components/admin/unit/respiratoryMission/RespiratoryMissionListItem.vue index 324265a..d51eaaa 100644 --- a/src/components/admin/unit/respiratoryMission/RespiratoryMissionListItem.vue +++ b/src/components/admin/unit/respiratoryMission/RespiratoryMissionListItem.vue @@ -1,16 +1,13 @@ diff --git a/src/components/admin/unit/respiratoryWearer/CreateRespiratoryWearerModal.vue b/src/components/admin/unit/respiratoryWearer/CreateRespiratoryWearerModal.vue index 9b4227f..6690d9a 100644 --- a/src/components/admin/unit/respiratoryWearer/CreateRespiratoryWearerModal.vue +++ b/src/components/admin/unit/respiratoryWearer/CreateRespiratoryWearerModal.vue @@ -100,7 +100,7 @@ import FailureXMark from "@/components/FailureXMark.vue"; import { Listbox, ListboxButton, ListboxOptions, ListboxOption, ListboxLabel } from "@headlessui/vue"; import { CheckIcon, ChevronUpDownIcon } from "@heroicons/vue/20/solid"; import { useEquipmentStore } from "@/stores/admin/unit/equipment/equipment"; -import type { CreateEquipmentViewModel } from "@/viewmodels/admin/unit/equipmentType/equipment.models"; +import type { CreateEquipmentViewModel } from "@/viewmodels/admin/unit/equipment/equipment.models"; import { useSalutationStore } from "../../../../stores/admin/configuration/salutation"; import type { SalutationViewModel } from "../../../../viewmodels/admin/configuration/salutation.models"; @@ -133,12 +133,10 @@ export default defineComponent({ if (!this.selectedSalutation) return; let formData = e.target.elements; let createEquipment: CreateEquipmentViewModel = { - salutationId: this.selectedSalutation.id, - firstname: formData.firstname.value, - lastname: formData.lastname.value, - nameaffix: formData.nameaffix.value, - birthdate: formData.birthdate.value, - internalId: formData.internalId.value, + code: "", + name: "", + location: "", + equipmentTypeId: "", }; this.status = "loading"; this.createEquipment(createEquipment) diff --git a/src/components/admin/unit/respiratoryWearer/RespiratoryWearerListItem.vue b/src/components/admin/unit/respiratoryWearer/RespiratoryWearerListItem.vue index 69d8628..22e0998 100644 --- a/src/components/admin/unit/respiratoryWearer/RespiratoryWearerListItem.vue +++ b/src/components/admin/unit/respiratoryWearer/RespiratoryWearerListItem.vue @@ -1,16 +1,16 @@ diff --git a/src/components/admin/unit/vehicle/CreateVehicleModal.vue b/src/components/admin/unit/vehicle/CreateVehicleModal.vue index 19fe092..8ce33c7 100644 --- a/src/components/admin/unit/vehicle/CreateVehicleModal.vue +++ b/src/components/admin/unit/vehicle/CreateVehicleModal.vue @@ -5,53 +5,6 @@
-
- - Anrede -
- - {{ selectedSalutation?.salutation }} - - - - - - - -
  • - {{ - salutation.salutation - }} - - -
  • -
    -
    -
    -
    -
    -
    @@ -111,7 +64,6 @@ export default defineComponent({ return { status: null as null | "loading" | { status: "success" | "failed"; reason?: string }, timeout: undefined as any, - selectedSalutation: null as null | SalutationViewModel, }; }, computed: { @@ -130,15 +82,9 @@ export default defineComponent({ ...mapActions(useVehicleStore, ["createVehicle"]), ...mapActions(useSalutationStore, ["fetchSalutations"]), triggerCreate(e: any) { - if (!this.selectedSalutation) return; let formData = e.target.elements; let createVehicle: CreateVehicleViewModel = { - salutationId: this.selectedSalutation.id, - firstname: formData.firstname.value, - lastname: formData.lastname.value, - nameaffix: formData.nameaffix.value, - birthdate: formData.birthdate.value, - internalId: formData.internalId.value, + name: "", }; this.status = "loading"; this.createVehicle(createVehicle) diff --git a/src/components/admin/unit/vehicle/VehicleListItem.vue b/src/components/admin/unit/vehicle/VehicleListItem.vue index 5ac56f5..0d24b45 100644 --- a/src/components/admin/unit/vehicle/VehicleListItem.vue +++ b/src/components/admin/unit/vehicle/VehicleListItem.vue @@ -4,10 +4,7 @@ class="flex flex-col h-fit w-full border border-primary rounded-md" >
    -

    {{ vehicle.lastname }}, {{ vehicle.firstname }} {{ vehicle.nameaffix ? `- ${vehicle.nameaffix}` : "" }}

    -
    -
    -

    ID: {{ vehicle.internalId }}

    +

    {{ vehicle.name }}

    diff --git a/src/stores/admin/unit/damageReport/damageReport.ts b/src/stores/admin/unit/damageReport/damageReport.ts index aa761e7..903fc36 100644 --- a/src/stores/admin/unit/damageReport/damageReport.ts +++ b/src/stores/admin/unit/damageReport/damageReport.ts @@ -68,24 +68,14 @@ export const useDamageReportStore = defineStore("damageReport", { }, async createDamageReport(damageReport: CreateDamageReportViewModel): Promise> { const result = await http.post(`/admin/damageReport`, { - salutationId: damageReport.salutationId, - firstname: damageReport.firstname, - lastname: damageReport.lastname, - nameaffix: damageReport.nameaffix, - birthdate: damageReport.birthdate, - internalId: damageReport.internalId, + // TODO: data }); this.fetchDamageReports(); return result; }, async updateDamageReport(damageReport: UpdateDamageReportViewModel): Promise> { const result = await http.patch(`/admin/damageReport/${damageReport.id}`, { - salutationId: damageReport.salutationId, - firstname: damageReport.firstname, - lastname: damageReport.lastname, - nameaffix: damageReport.nameaffix, - birthdate: damageReport.birthdate, - internalId: damageReport.internalId, + // TODO: data }); this.fetchDamageReports(); return result; diff --git a/src/stores/admin/unit/equipment/equipment.ts b/src/stores/admin/unit/equipment/equipment.ts index 42b368b..13185a1 100644 --- a/src/stores/admin/unit/equipment/equipment.ts +++ b/src/stores/admin/unit/equipment/equipment.ts @@ -2,9 +2,8 @@ import { defineStore } from "pinia"; import type { EquipmentViewModel, CreateEquipmentViewModel, - EquipmentStatisticsViewModel, UpdateEquipmentViewModel, -} from "@/viewmodels/admin/unit/equipmentType/equipment.models"; +} from "@/viewmodels/admin/unit/equipment/equipment.models"; import { http } from "@/serverCom"; import type { AxiosResponse } from "axios"; @@ -16,7 +15,6 @@ export const useEquipmentStore = defineStore("equipment", { loading: "loading" as "loading" | "fetched" | "failed", activeEquipment: null as string | null, activeEquipmentObj: null as EquipmentViewModel | null, - activeEquipmentStatistics: null as EquipmentStatisticsViewModel | null, loadingActive: "loading" as "loading" | "fetched" | "failed", }; }, @@ -79,14 +77,6 @@ export const useEquipmentStore = defineStore("equipment", { fetchEquipmentById(id: string) { return http.get(`/admin/equipment/${id}`); }, - fetchEquipmentStatisticsByActiveId() { - http - .get(`/admin/equipment/${this.activeEquipment}/statistics`) - .then((res) => { - this.activeEquipmentStatistics = res.data; - }) - .catch((err) => {}); - }, async printEquipmentByActiveId() { return http.get(`/admin/equipment/${this.activeEquipment}/print`, { responseType: "blob", @@ -97,24 +87,14 @@ export const useEquipmentStore = defineStore("equipment", { }, async createEquipment(equipment: CreateEquipmentViewModel): Promise> { const result = await http.post(`/admin/equipment`, { - salutationId: equipment.salutationId, - firstname: equipment.firstname, - lastname: equipment.lastname, - nameaffix: equipment.nameaffix, - birthdate: equipment.birthdate, - internalId: equipment.internalId, + // TODO: data }); this.fetchEquipments(); return result; }, async updateActiveEquipment(equipment: UpdateEquipmentViewModel): Promise> { const result = await http.patch(`/admin/equipment/${equipment.id}`, { - salutationId: equipment.salutationId, - firstname: equipment.firstname, - lastname: equipment.lastname, - nameaffix: equipment.nameaffix, - birthdate: equipment.birthdate, - internalId: equipment.internalId, + // TODO: data }); this.fetchEquipments(); return result; diff --git a/src/stores/admin/unit/equipmentType/equipmentType.ts b/src/stores/admin/unit/equipmentType/equipmentType.ts index 40b377e..cbe9956 100644 --- a/src/stores/admin/unit/equipmentType/equipmentType.ts +++ b/src/stores/admin/unit/equipmentType/equipmentType.ts @@ -3,7 +3,7 @@ import type { EquipmentTypeViewModel, CreateEquipmentTypeViewModel, UpdateEquipmentTypeViewModel, -} from "@/viewmodels/admin/unit/equipmentType.models"; +} from "@/viewmodels/admin/unit/equipmentType/equipmentType.models"; import { http } from "@/serverCom"; import type { AxiosResponse } from "axios"; @@ -79,24 +79,14 @@ export const useEquipmentTypeStore = defineStore("equipmentType", { }, async createEquipmentType(equipmentType: CreateEquipmentTypeViewModel): Promise> { const result = await http.post(`/admin/equipmentType`, { - salutationId: equipmentType.salutationId, - firstname: equipmentType.firstname, - lastname: equipmentType.lastname, - nameaffix: equipmentType.nameaffix, - birthdate: equipmentType.birthdate, - internalId: equipmentType.internalId, + // TODO: data }); this.fetchEquipmentTypes(); return result; }, async updateActiveEquipmentType(equipmentType: UpdateEquipmentTypeViewModel): Promise> { const result = await http.patch(`/admin/equipmentType/${equipmentType.id}`, { - salutationId: equipmentType.salutationId, - firstname: equipmentType.firstname, - lastname: equipmentType.lastname, - nameaffix: equipmentType.nameaffix, - birthdate: equipmentType.birthdate, - internalId: equipmentType.internalId, + // TODO: data }); this.fetchEquipmentTypes(); return result; diff --git a/src/stores/admin/unit/respiratoryGear/respiratoryGear.ts b/src/stores/admin/unit/respiratoryGear/respiratoryGear.ts index 94bdc98..a153612 100644 --- a/src/stores/admin/unit/respiratoryGear/respiratoryGear.ts +++ b/src/stores/admin/unit/respiratoryGear/respiratoryGear.ts @@ -87,12 +87,7 @@ export const useRespiratoryGearStore = defineStore("respiratoryGear", { }, async createRespiratoryGear(respiratoryGear: CreateRespiratoryGearViewModel): Promise> { const result = await http.post(`/admin/respiratoryGear`, { - salutationId: respiratoryGear.salutationId, - firstname: respiratoryGear.firstname, - lastname: respiratoryGear.lastname, - nameaffix: respiratoryGear.nameaffix, - birthdate: respiratoryGear.birthdate, - internalId: respiratoryGear.internalId, + // TODO: data }); this.fetchRespiratoryGears(); return result; @@ -101,12 +96,7 @@ export const useRespiratoryGearStore = defineStore("respiratoryGear", { respiratoryGear: UpdateRespiratoryGearViewModel ): Promise> { const result = await http.patch(`/admin/respiratoryGear/${respiratoryGear.id}`, { - salutationId: respiratoryGear.salutationId, - firstname: respiratoryGear.firstname, - lastname: respiratoryGear.lastname, - nameaffix: respiratoryGear.nameaffix, - birthdate: respiratoryGear.birthdate, - internalId: respiratoryGear.internalId, + // TODO: data }); this.fetchRespiratoryGears(); return result; diff --git a/src/stores/admin/unit/respiratoryMission/respiratoryMission.ts b/src/stores/admin/unit/respiratoryMission/respiratoryMission.ts index 712a843..d5aa214 100644 --- a/src/stores/admin/unit/respiratoryMission/respiratoryMission.ts +++ b/src/stores/admin/unit/respiratoryMission/respiratoryMission.ts @@ -93,12 +93,7 @@ export const useRespiratoryMissionStore = defineStore("respiratoryMission", { respiratoryMission: CreateRespiratoryMissionViewModel ): Promise> { const result = await http.post(`/admin/respiratoryMission`, { - salutationId: respiratoryMission.salutationId, - firstname: respiratoryMission.firstname, - lastname: respiratoryMission.lastname, - nameaffix: respiratoryMission.nameaffix, - birthdate: respiratoryMission.birthdate, - internalId: respiratoryMission.internalId, + // TODO: data }); this.fetchRespiratoryMissions(); return result; @@ -107,12 +102,7 @@ export const useRespiratoryMissionStore = defineStore("respiratoryMission", { respiratoryMission: UpdateRespiratoryMissionViewModel ): Promise> { const result = await http.patch(`/admin/respiratoryMission/${respiratoryMission.id}`, { - salutationId: respiratoryMission.salutationId, - firstname: respiratoryMission.firstname, - lastname: respiratoryMission.lastname, - nameaffix: respiratoryMission.nameaffix, - birthdate: respiratoryMission.birthdate, - internalId: respiratoryMission.internalId, + // TODO: data }); this.fetchRespiratoryMissions(); return result; diff --git a/src/stores/admin/unit/respiratoryWearer/respiratoryWearer.ts b/src/stores/admin/unit/respiratoryWearer/respiratoryWearer.ts index 18bd220..67eba7b 100644 --- a/src/stores/admin/unit/respiratoryWearer/respiratoryWearer.ts +++ b/src/stores/admin/unit/respiratoryWearer/respiratoryWearer.ts @@ -93,12 +93,7 @@ export const useRespiratoryWearerStore = defineStore("respiratoryWearer", { respiratoryWearer: CreateRespiratoryWearerViewModel ): Promise> { const result = await http.post(`/admin/respiratoryWearer`, { - salutationId: respiratoryWearer.salutationId, - firstname: respiratoryWearer.firstname, - lastname: respiratoryWearer.lastname, - nameaffix: respiratoryWearer.nameaffix, - birthdate: respiratoryWearer.birthdate, - internalId: respiratoryWearer.internalId, + // TODO: data }); this.fetchRespiratoryWearers(); return result; @@ -107,12 +102,7 @@ export const useRespiratoryWearerStore = defineStore("respiratoryWearer", { respiratoryWearer: UpdateRespiratoryWearerViewModel ): Promise> { const result = await http.patch(`/admin/respiratoryWearer/${respiratoryWearer.id}`, { - salutationId: respiratoryWearer.salutationId, - firstname: respiratoryWearer.firstname, - lastname: respiratoryWearer.lastname, - nameaffix: respiratoryWearer.nameaffix, - birthdate: respiratoryWearer.birthdate, - internalId: respiratoryWearer.internalId, + // TODO: data }); this.fetchRespiratoryWearers(); return result; diff --git a/src/stores/admin/unit/vehicle/vehicle.ts b/src/stores/admin/unit/vehicle/vehicle.ts index 5b3e669..56fa419 100644 --- a/src/stores/admin/unit/vehicle/vehicle.ts +++ b/src/stores/admin/unit/vehicle/vehicle.ts @@ -2,7 +2,6 @@ import { defineStore } from "pinia"; import type { VehicleViewModel, CreateVehicleViewModel, - VehicleStatisticsViewModel, UpdateVehicleViewModel, } from "@/viewmodels/admin/unit/vehicle/vehicle.models"; import { http } from "@/serverCom"; @@ -16,7 +15,6 @@ export const useVehicleStore = defineStore("vehicle", { loading: "loading" as "loading" | "fetched" | "failed", activeVehicle: null as string | null, activeVehicleObj: null as VehicleViewModel | null, - activeVehicleStatistics: null as VehicleStatisticsViewModel | null, loadingActive: "loading" as "loading" | "fetched" | "failed", }; }, @@ -79,14 +77,6 @@ export const useVehicleStore = defineStore("vehicle", { fetchVehicleById(id: string) { return http.get(`/admin/vehicle/${id}`); }, - fetchVehicleStatisticsByActiveId() { - http - .get(`/admin/vehicle/${this.activeVehicle}/statistics`) - .then((res) => { - this.activeVehicleStatistics = res.data; - }) - .catch((err) => {}); - }, async printVehicleByActiveId() { return http.get(`/admin/vehicle/${this.activeVehicle}/print`, { responseType: "blob", @@ -97,24 +87,14 @@ export const useVehicleStore = defineStore("vehicle", { }, async createVehicle(vehicle: CreateVehicleViewModel): Promise> { const result = await http.post(`/admin/vehicle`, { - salutationId: vehicle.salutationId, - firstname: vehicle.firstname, - lastname: vehicle.lastname, - nameaffix: vehicle.nameaffix, - birthdate: vehicle.birthdate, - internalId: vehicle.internalId, + // TODO: data }); this.fetchVehicles(); return result; }, async updateActiveVehicle(vehicle: UpdateVehicleViewModel): Promise> { const result = await http.patch(`/admin/vehicle/${vehicle.id}`, { - salutationId: vehicle.salutationId, - firstname: vehicle.firstname, - lastname: vehicle.lastname, - nameaffix: vehicle.nameaffix, - birthdate: vehicle.birthdate, - internalId: vehicle.internalId, + // TODO: data }); this.fetchVehicles(); return result; diff --git a/src/viewmodels/admin/unit/damageReport/damageReport.models.ts b/src/viewmodels/admin/unit/damageReport/damageReport.models.ts index 7551f19..b21bff1 100644 --- a/src/viewmodels/admin/unit/damageReport/damageReport.models.ts +++ b/src/viewmodels/admin/unit/damageReport/damageReport.models.ts @@ -1,39 +1,20 @@ +import type { EquipmentViewModel } from "../equipment/equipment.models"; + export interface DamageReportViewModel { id: string; - firstname: string; - lastname: string; - nameaffix: string; - birthdate: Date; - internalId?: string; -} - -export interface DamageReportStatisticsViewModel { - id: string; - salutation: string; - firstname: string; - lastname: string; - nameaffix: string; - birthdate: Date; - todayAge: number; - ageThisYear: number; - exactAge: string; + reported: Date; + status: string; + description: string; + affectedEquipmentId: string; + affectedEquipment: EquipmentViewModel; } export interface CreateDamageReportViewModel { - salutationId: number; - firstname: string; - lastname: string; - nameaffix: string; - birthdate: Date; - internalId?: string; + description: string; + affectedEquipmentId: string; } export interface UpdateDamageReportViewModel { id: string; - salutationId: number; - firstname: string; - lastname: string; - nameaffix: string; - birthdate: Date; - internalId?: string; + status: string; } diff --git a/src/viewmodels/admin/unit/equipment/equipment.models.ts b/src/viewmodels/admin/unit/equipment/equipment.models.ts new file mode 100644 index 0000000..191ffff --- /dev/null +++ b/src/viewmodels/admin/unit/equipment/equipment.models.ts @@ -0,0 +1,25 @@ +import type { EquipmentTypeViewModel } from "../equipmentType/equipmentType.models"; + +export interface EquipmentViewModel { + id: string; + code: string; + name: string; + location: string; + equipmentTypeId: string; + equipmentType: EquipmentTypeViewModel; +} + +export interface CreateEquipmentViewModel { + code: string; + name: string; + location: string; + equipmentTypeId: string; +} + +export interface UpdateEquipmentViewModel { + id: string; + code: string; + name: string; + location: string; + equipmentTypeId: string; +} diff --git a/src/viewmodels/admin/unit/equipmentType.models.ts b/src/viewmodels/admin/unit/equipmentType.models.ts deleted file mode 100644 index ee5dc54..0000000 --- a/src/viewmodels/admin/unit/equipmentType.models.ts +++ /dev/null @@ -1,39 +0,0 @@ -export interface EquipmentTypeViewModel { - id: string; - firstname: string; - lastname: string; - nameaffix: string; - birthdate: Date; - internalId?: string; -} - -export interface EquipmentTypeStatisticsViewModel { - id: string; - salutation: string; - firstname: string; - lastname: string; - nameaffix: string; - birthdate: Date; - todayAge: number; - ageThisYear: number; - exactAge: string; -} - -export interface CreateEquipmentTypeViewModel { - salutationId: number; - firstname: string; - lastname: string; - nameaffix: string; - birthdate: Date; - internalId?: string; -} - -export interface UpdateEquipmentTypeViewModel { - id: string; - salutationId: number; - firstname: string; - lastname: string; - nameaffix: string; - birthdate: Date; - internalId?: string; -} diff --git a/src/viewmodels/admin/unit/equipmentType/equipment.models.ts b/src/viewmodels/admin/unit/equipmentType/equipment.models.ts deleted file mode 100644 index 4ea40a5..0000000 --- a/src/viewmodels/admin/unit/equipmentType/equipment.models.ts +++ /dev/null @@ -1,39 +0,0 @@ -export interface EquipmentViewModel { - id: string; - firstname: string; - lastname: string; - nameaffix: string; - birthdate: Date; - internalId?: string; -} - -export interface EquipmentStatisticsViewModel { - id: string; - salutation: string; - firstname: string; - lastname: string; - nameaffix: string; - birthdate: Date; - todayAge: number; - ageThisYear: number; - exactAge: string; -} - -export interface CreateEquipmentViewModel { - salutationId: number; - firstname: string; - lastname: string; - nameaffix: string; - birthdate: Date; - internalId?: string; -} - -export interface UpdateEquipmentViewModel { - id: string; - salutationId: number; - firstname: string; - lastname: string; - nameaffix: string; - birthdate: Date; - internalId?: string; -} diff --git a/src/viewmodels/admin/unit/equipmentType/equipmentType.models.ts b/src/viewmodels/admin/unit/equipmentType/equipmentType.models.ts new file mode 100644 index 0000000..942dc60 --- /dev/null +++ b/src/viewmodels/admin/unit/equipmentType/equipmentType.models.ts @@ -0,0 +1,20 @@ +export interface EquipmentTypeViewModel { + id: string; + type: string; + description: string; + inspectionInterval: `${number}${"d" | "m" | "y"}`; + // attached inspection plans +} + +export interface CreateEquipmentTypeViewModel { + type: string; + description: string; + inspectionInterval: `${number}${"d" | "m" | "y"}`; +} + +export interface UpdateEquipmentTypeViewModel { + id: string; + type: string; + description: string; + inspectionInterval: `${number}${"d" | "m" | "y"}`; +} diff --git a/src/viewmodels/admin/unit/respiratoryGear/respiratoryGear.models.ts b/src/viewmodels/admin/unit/respiratoryGear/respiratoryGear.models.ts index b37c28b..07f4ec8 100644 --- a/src/viewmodels/admin/unit/respiratoryGear/respiratoryGear.models.ts +++ b/src/viewmodels/admin/unit/respiratoryGear/respiratoryGear.models.ts @@ -1,39 +1,16 @@ +import type { EquipmentViewModel } from "../equipment/equipment.models"; + export interface RespiratoryGearViewModel { id: string; - firstname: string; - lastname: string; - nameaffix: string; - birthdate: Date; - internalId?: string; -} - -export interface RespiratoryGearStatisticsViewModel { - id: string; - salutation: string; - firstname: string; - lastname: string; - nameaffix: string; - birthdate: Date; - todayAge: number; - ageThisYear: number; - exactAge: string; + equipmentId: string; + equipment: EquipmentViewModel; } export interface CreateRespiratoryGearViewModel { - salutationId: number; - firstname: string; - lastname: string; - nameaffix: string; - birthdate: Date; - internalId?: string; + equipmentId: string; } export interface UpdateRespiratoryGearViewModel { id: string; - salutationId: number; - firstname: string; - lastname: string; - nameaffix: string; - birthdate: Date; - internalId?: string; + equipmentId: string; } diff --git a/src/viewmodels/admin/unit/respiratoryMission/respiratoryMission.models.ts b/src/viewmodels/admin/unit/respiratoryMission/respiratoryMission.models.ts index 2a19bae..49c6e7f 100644 --- a/src/viewmodels/admin/unit/respiratoryMission/respiratoryMission.models.ts +++ b/src/viewmodels/admin/unit/respiratoryMission/respiratoryMission.models.ts @@ -1,39 +1,20 @@ export interface RespiratoryMissionViewModel { id: string; - firstname: string; - lastname: string; - nameaffix: string; - birthdate: Date; - internalId?: string; -} - -export interface RespiratoryMissionStatisticsViewModel { - id: string; - salutation: string; - firstname: string; - lastname: string; - nameaffix: string; - birthdate: Date; - todayAge: number; - ageThisYear: number; - exactAge: string; + date: Date; + title: string; + description: string; + // refs to used respiratory gear and wearers } export interface CreateRespiratoryMissionViewModel { - salutationId: number; - firstname: string; - lastname: string; - nameaffix: string; - birthdate: Date; - internalId?: string; + date: Date; + title: string; + description: string; } export interface UpdateRespiratoryMissionViewModel { id: string; - salutationId: number; - firstname: string; - lastname: string; - nameaffix: string; - birthdate: Date; - internalId?: string; + date: Date; + title: string; + description: string; } diff --git a/src/viewmodels/admin/unit/respiratoryWearer/respiratoryWearer.models.ts b/src/viewmodels/admin/unit/respiratoryWearer/respiratoryWearer.models.ts index 113ee71..027fa25 100644 --- a/src/viewmodels/admin/unit/respiratoryWearer/respiratoryWearer.models.ts +++ b/src/viewmodels/admin/unit/respiratoryWearer/respiratoryWearer.models.ts @@ -1,39 +1,16 @@ +import type { MemberViewModel } from "../../club/member/member.models"; + export interface RespiratoryWearerViewModel { id: string; - firstname: string; - lastname: string; - nameaffix: string; - birthdate: Date; - internalId?: string; -} - -export interface RespiratoryWearerStatisticsViewModel { - id: string; - salutation: string; - firstname: string; - lastname: string; - nameaffix: string; - birthdate: Date; - todayAge: number; - ageThisYear: number; - exactAge: string; + memberId: string; + member: MemberViewModel; } export interface CreateRespiratoryWearerViewModel { - salutationId: number; - firstname: string; - lastname: string; - nameaffix: string; - birthdate: Date; - internalId?: string; + memberId: string; } export interface UpdateRespiratoryWearerViewModel { id: string; - salutationId: number; - firstname: string; - lastname: string; - nameaffix: string; - birthdate: Date; - internalId?: string; + memberId: string; } diff --git a/src/viewmodels/admin/unit/vehicle/vehicle.models.ts b/src/viewmodels/admin/unit/vehicle/vehicle.models.ts index d35fe94..27fcd98 100644 --- a/src/viewmodels/admin/unit/vehicle/vehicle.models.ts +++ b/src/viewmodels/admin/unit/vehicle/vehicle.models.ts @@ -1,39 +1,13 @@ export interface VehicleViewModel { id: string; - firstname: string; - lastname: string; - nameaffix: string; - birthdate: Date; - internalId?: string; -} - -export interface VehicleStatisticsViewModel { - id: string; - salutation: string; - firstname: string; - lastname: string; - nameaffix: string; - birthdate: Date; - todayAge: number; - ageThisYear: number; - exactAge: string; + name: string; } export interface CreateVehicleViewModel { - salutationId: number; - firstname: string; - lastname: string; - nameaffix: string; - birthdate: Date; - internalId?: string; + name: string; } export interface UpdateVehicleViewModel { id: string; - salutationId: number; - firstname: string; - lastname: string; - nameaffix: string; - birthdate: Date; - internalId?: string; + name: string; } diff --git a/src/views/admin/unit/damageReport/DamageReport.vue b/src/views/admin/unit/damageReport/DamageReport.vue index 99aabac..1d7a863 100644 --- a/src/views/admin/unit/damageReport/DamageReport.vue +++ b/src/views/admin/unit/damageReport/DamageReport.vue @@ -7,12 +7,12 @@