Compare commits
2 commits
43f46c0fad
...
def32b786c
Author | SHA1 | Date | |
---|---|---|---|
def32b786c | |||
b83b22d806 |
39 changed files with 151 additions and 177 deletions
|
@ -8,6 +8,8 @@ export const equipmentDemoData: Array<EquipmentViewModel> = [
|
||||||
code: "0456984224498",
|
code: "0456984224498",
|
||||||
name: "B-Schlauch",
|
name: "B-Schlauch",
|
||||||
location: "HLF",
|
location: "HLF",
|
||||||
|
commissioned: new Date(),
|
||||||
|
decommissioned: undefined,
|
||||||
equipmentTypeId: equipmentTypeDemoData[0].id,
|
equipmentTypeId: equipmentTypeDemoData[0].id,
|
||||||
equipmentType: equipmentTypeDemoData[0],
|
equipmentType: equipmentTypeDemoData[0],
|
||||||
inspections: [inspectionDemoData[0]],
|
inspections: [inspectionDemoData[0]],
|
||||||
|
|
|
@ -7,6 +7,8 @@ export const vehicleDemoData: Array<VehicleViewModel> = [
|
||||||
code: "",
|
code: "",
|
||||||
name: "HLF",
|
name: "HLF",
|
||||||
location: "Tor 1",
|
location: "Tor 1",
|
||||||
|
commissioned: new Date(),
|
||||||
|
decommissioned: undefined,
|
||||||
vehicleTypeId: vehicleTypeDemoData[0].id,
|
vehicleTypeId: vehicleTypeDemoData[0].id,
|
||||||
vehicleType: vehicleTypeDemoData[0],
|
vehicleType: vehicleTypeDemoData[0],
|
||||||
inspections: [],
|
inspections: [],
|
||||||
|
@ -16,6 +18,8 @@ export const vehicleDemoData: Array<VehicleViewModel> = [
|
||||||
code: "",
|
code: "",
|
||||||
name: "LF",
|
name: "LF",
|
||||||
location: "Tor 2",
|
location: "Tor 2",
|
||||||
|
commissioned: new Date(),
|
||||||
|
decommissioned: undefined,
|
||||||
vehicleTypeId: vehicleTypeDemoData[1].id,
|
vehicleTypeId: vehicleTypeDemoData[1].id,
|
||||||
vehicleType: vehicleTypeDemoData[1],
|
vehicleType: vehicleTypeDemoData[1],
|
||||||
inspections: [],
|
inspections: [],
|
||||||
|
|
|
@ -7,6 +7,8 @@ export const wearableDemoData: Array<WearableViewModel> = [
|
||||||
code: "0456984224498",
|
code: "0456984224498",
|
||||||
name: "Jacke",
|
name: "Jacke",
|
||||||
location: "Spint",
|
location: "Spint",
|
||||||
|
commissioned: new Date(),
|
||||||
|
decommissioned: undefined,
|
||||||
wearerId: "9469991d-fa22-4899-82ce-b1ba5de990dc",
|
wearerId: "9469991d-fa22-4899-82ce-b1ba5de990dc",
|
||||||
wearer: {
|
wearer: {
|
||||||
id: "9469991d-fa22-4899-82ce-b1ba5de990dc",
|
id: "9469991d-fa22-4899-82ce-b1ba5de990dc",
|
||||||
|
|
|
@ -6,6 +6,8 @@ export interface EquipmentViewModel {
|
||||||
code?: string;
|
code?: string;
|
||||||
name: string;
|
name: string;
|
||||||
location: string;
|
location: string;
|
||||||
|
commissioned: Date;
|
||||||
|
decommissioned?: Date;
|
||||||
equipmentTypeId: string;
|
equipmentTypeId: string;
|
||||||
equipmentType: EquipmentTypeViewModel;
|
equipmentType: EquipmentTypeViewModel;
|
||||||
inspections: Array<InspectionViewModel>;
|
inspections: Array<InspectionViewModel>;
|
||||||
|
@ -15,6 +17,7 @@ export interface CreateEquipmentViewModel {
|
||||||
code?: string;
|
code?: string;
|
||||||
name: string;
|
name: string;
|
||||||
location: string;
|
location: string;
|
||||||
|
commissioned: Date;
|
||||||
equipmentTypeId: string;
|
equipmentTypeId: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -23,4 +26,6 @@ export interface UpdateEquipmentViewModel {
|
||||||
code?: string;
|
code?: string;
|
||||||
name: string;
|
name: string;
|
||||||
location: string;
|
location: string;
|
||||||
|
commissioned: Date;
|
||||||
|
decommissioned?: Date;
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,6 +26,7 @@ export interface InspectionPointViewModel {
|
||||||
title: string;
|
title: string;
|
||||||
description: string;
|
description: string;
|
||||||
type: "iO-niO" | "text" | "number";
|
type: "iO-niO" | "text" | "number";
|
||||||
|
min?: number;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface InspectionPointResultViewModel {
|
export interface InspectionPointResultViewModel {
|
||||||
|
|
|
@ -6,6 +6,8 @@ export interface VehicleViewModel {
|
||||||
code?: string;
|
code?: string;
|
||||||
name: string;
|
name: string;
|
||||||
location: string;
|
location: string;
|
||||||
|
commissioned: Date;
|
||||||
|
decommissioned?: Date;
|
||||||
vehicleTypeId: string;
|
vehicleTypeId: string;
|
||||||
vehicleType: VehicleTypeViewModel;
|
vehicleType: VehicleTypeViewModel;
|
||||||
inspections: Array<InspectionViewModel>;
|
inspections: Array<InspectionViewModel>;
|
||||||
|
@ -15,6 +17,7 @@ export interface CreateVehicleViewModel {
|
||||||
code?: string;
|
code?: string;
|
||||||
name: string;
|
name: string;
|
||||||
location: string;
|
location: string;
|
||||||
|
commissioned: Date;
|
||||||
vehicleTypeId: string;
|
vehicleTypeId: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -23,4 +26,6 @@ export interface UpdateVehicleViewModel {
|
||||||
code?: string;
|
code?: string;
|
||||||
name: string;
|
name: string;
|
||||||
location: string;
|
location: string;
|
||||||
|
commissioned: Date;
|
||||||
|
decommissioned?: Date;
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,7 +5,9 @@ export interface WearableViewModel {
|
||||||
id: string;
|
id: string;
|
||||||
code?: string;
|
code?: string;
|
||||||
name: string;
|
name: string;
|
||||||
location?: string;
|
location: string;
|
||||||
|
commissioned: Date;
|
||||||
|
decommissioned?: Date;
|
||||||
wearerId?: string;
|
wearerId?: string;
|
||||||
wearer?: MemberViewModel;
|
wearer?: MemberViewModel;
|
||||||
wearableTypeId: string;
|
wearableTypeId: string;
|
||||||
|
@ -17,6 +19,7 @@ export interface CreateWearableViewModel {
|
||||||
name: string;
|
name: string;
|
||||||
wearerId?: string;
|
wearerId?: string;
|
||||||
location?: string;
|
location?: string;
|
||||||
|
commissioned: Date;
|
||||||
wearableTypeId: string;
|
wearableTypeId: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -25,5 +28,7 @@ export interface UpdateWearableViewModel {
|
||||||
code?: string;
|
code?: string;
|
||||||
name: string;
|
name: string;
|
||||||
location?: string;
|
location?: string;
|
||||||
|
commissioned: Date;
|
||||||
|
decommissioned?: Date;
|
||||||
wearerId?: string;
|
wearerId?: string;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,10 +1,5 @@
|
||||||
<template>
|
<template>
|
||||||
<MainTemplate>
|
<MainTemplate title="Schadensmeldungen">
|
||||||
<template #topBar>
|
|
||||||
<div class="flex flex-row items-center justify-between pt-5 pb-3 px-7">
|
|
||||||
<h1 class="font-bold text-xl h-8">Schadensmeldungen</h1>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
<template #diffMain>
|
<template #diffMain>
|
||||||
<div class="flex flex-col gap-2 grow px-7 overflow-hidden">
|
<div class="flex flex-col gap-2 grow px-7 overflow-hidden">
|
||||||
<div class="flex flex-col grow gap-2 overflow-hidden">
|
<div class="flex flex-col grow gap-2 overflow-hidden">
|
||||||
|
|
|
@ -1,10 +1,5 @@
|
||||||
<template>
|
<template>
|
||||||
<MainTemplate>
|
<MainTemplate title="Ausrüstung erfassen">
|
||||||
<template #topBar>
|
|
||||||
<div class="flex flex-row items-center justify-between pt-5 pb-3 px-7">
|
|
||||||
<h1 class="font-bold text-xl h-8">Ausrüstung erfassen</h1>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
<template #diffMain>
|
<template #diffMain>
|
||||||
<div class="flex flex-col gap-2 h-full w-full overflow-y-auto">
|
<div class="flex flex-col gap-2 h-full w-full overflow-y-auto">
|
||||||
<form class="flex flex-col gap-4 py-2 w-full max-w-xl mx-auto" @submit.prevent="triggerCreate">
|
<form class="flex flex-col gap-4 py-2 w-full max-w-xl mx-auto" @submit.prevent="triggerCreate">
|
||||||
|
@ -14,6 +9,10 @@
|
||||||
<input type="text" id="name" required />
|
<input type="text" id="name" required />
|
||||||
</div>
|
</div>
|
||||||
<ScanInput name="code" label="Code" :required="false" />
|
<ScanInput name="code" label="Code" :required="false" />
|
||||||
|
<div>
|
||||||
|
<label for="commissioned">In-Betrieb-Nahme</label>
|
||||||
|
<input type="date" id="commissioned" required />
|
||||||
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<label for="location">Verortung (optional)</label>
|
<label for="location">Verortung (optional)</label>
|
||||||
<input type="text" id="location" />
|
<input type="text" id="location" />
|
||||||
|
@ -81,6 +80,7 @@ export default defineComponent({
|
||||||
name: formData.name.value,
|
name: formData.name.value,
|
||||||
location: formData.location.value,
|
location: formData.location.value,
|
||||||
equipmentTypeId: this.selectedType,
|
equipmentTypeId: this.selectedType,
|
||||||
|
commissioned: formData.commissioned.value,
|
||||||
};
|
};
|
||||||
this.status = "loading";
|
this.status = "loading";
|
||||||
this.createEquipment(createEquipment)
|
this.createEquipment(createEquipment)
|
||||||
|
|
|
@ -1,10 +1,5 @@
|
||||||
<template>
|
<template>
|
||||||
<MainTemplate>
|
<MainTemplate title="Gerätschaften">
|
||||||
<template #topBar>
|
|
||||||
<div class="flex flex-row items-center justify-between pt-5 pb-3 px-7">
|
|
||||||
<h1 class="font-bold text-xl h-8">Gerätschaften</h1>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
<template #diffMain>
|
<template #diffMain>
|
||||||
<div class="flex flex-col w-full h-full gap-2 justify-center px-7">
|
<div class="flex flex-col w-full h-full gap-2 justify-center px-7">
|
||||||
<Pagination
|
<Pagination
|
||||||
|
|
|
@ -1,18 +1,12 @@
|
||||||
<template>
|
<template>
|
||||||
<MainTemplate>
|
<MainTemplate :title="activeEquipmentObj?.name">
|
||||||
<template #headerInsert>
|
<template #headerInsert>
|
||||||
<RouterLink to="../" class="text-primary">zurück zur Liste</RouterLink>
|
<RouterLink to="../" class="text-primary">zurück zur Liste</RouterLink>
|
||||||
</template>
|
</template>
|
||||||
<template #topBar>
|
<template #topBar>
|
||||||
<div class="flex flex-row gap-2 items-center justify-between pt-5 pb-3 px-7">
|
|
||||||
<h1 class="font-bold text-xl h-8 min-h-fit grow">
|
|
||||||
{{ activeEquipmentObj?.name }}
|
|
||||||
</h1>
|
|
||||||
|
|
||||||
<RouterLink v-if="can('update', 'unit', 'equipment')" :to="{ name: 'admin-unit-equipment-edit' }">
|
<RouterLink v-if="can('update', 'unit', 'equipment')" :to="{ name: 'admin-unit-equipment-edit' }">
|
||||||
<PencilIcon class="w-5 h-5" />
|
<PencilIcon class="w-5 h-5" />
|
||||||
</RouterLink>
|
</RouterLink>
|
||||||
</div>
|
|
||||||
</template>
|
</template>
|
||||||
<template #diffMain>
|
<template #diffMain>
|
||||||
<div class="flex flex-col gap-2 grow px-7 overflow-hidden">
|
<div class="flex flex-col gap-2 grow px-7 overflow-hidden">
|
||||||
|
|
|
@ -17,6 +17,14 @@
|
||||||
<label for="location">Verortung</label>
|
<label for="location">Verortung</label>
|
||||||
<input type="text" id="location" :value="activeEquipmentObj.location" readonly />
|
<input type="text" id="location" :value="activeEquipmentObj.location" readonly />
|
||||||
</div>
|
</div>
|
||||||
|
<div>
|
||||||
|
<label for="commissioned">In-Betrieb-Nahme</label>
|
||||||
|
<input type="date" id="commissioned" :value="activeEquipmentObj.commissioned" readonly />
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<label for="decommissioned">Außer-Betrieb-Nahme</label>
|
||||||
|
<input type="date" id="decommissioned" :value="activeEquipmentObj.decommissioned" readonly />
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<Spinner v-if="loadingActive == 'loading'" class="mx-auto" />
|
<Spinner v-if="loadingActive == 'loading'" class="mx-auto" />
|
||||||
|
|
|
@ -17,6 +17,14 @@
|
||||||
<label for="location">Verortung (optional)</label>
|
<label for="location">Verortung (optional)</label>
|
||||||
<input type="text" id="location" v-model="equipment.location" />
|
<input type="text" id="location" v-model="equipment.location" />
|
||||||
</div>
|
</div>
|
||||||
|
<div>
|
||||||
|
<label for="commissioned">In-Betrieb-Nahme</label>
|
||||||
|
<input type="date" id="commissioned" required v-model="equipment.commissioned" />
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<label for="decommissioned">Außer-Betrieb-Nahme (optional)</label>
|
||||||
|
<input type="date" id="decommissioned" v-model="equipment.decommissioned" />
|
||||||
|
</div>
|
||||||
<div class="flex flex-row justify-end gap-2">
|
<div class="flex flex-row justify-end gap-2">
|
||||||
<button primary-outline type="reset" class="w-fit!" :disabled="canSaveOrReset" @click="resetForm">
|
<button primary-outline type="reset" class="w-fit!" :disabled="canSaveOrReset" @click="resetForm">
|
||||||
abbrechen
|
abbrechen
|
||||||
|
@ -98,6 +106,8 @@ export default defineComponent({
|
||||||
code: formData.code.value || null,
|
code: formData.code.value || null,
|
||||||
name: formData.name.value,
|
name: formData.name.value,
|
||||||
location: formData.location.value,
|
location: formData.location.value,
|
||||||
|
commissioned: formData.commissioned.value,
|
||||||
|
decommissioned: formData.decommissioned.value ?? null,
|
||||||
};
|
};
|
||||||
this.status = "loading";
|
this.status = "loading";
|
||||||
this.updateActiveEquipment(updateEquipment)
|
this.updateActiveEquipment(updateEquipment)
|
||||||
|
|
|
@ -1,10 +1,5 @@
|
||||||
<template>
|
<template>
|
||||||
<MainTemplate>
|
<MainTemplate title="Geräte-Typen">
|
||||||
<template #topBar>
|
|
||||||
<div class="flex flex-row items-center justify-between pt-5 pb-3 px-7">
|
|
||||||
<h1 class="font-bold text-xl h-8">Geräte-Typen</h1>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
<template #diffMain>
|
<template #diffMain>
|
||||||
<div class="flex flex-col w-full h-full gap-2 justify-center px-7">
|
<div class="flex flex-col w-full h-full gap-2 justify-center px-7">
|
||||||
<Pagination
|
<Pagination
|
||||||
|
|
|
@ -1,14 +1,10 @@
|
||||||
<template>
|
<template>
|
||||||
<MainTemplate>
|
<MainTemplate :title="activeEquipmentTypeObj?.type">
|
||||||
<template #headerInsert>
|
<template #headerInsert>
|
||||||
<RouterLink :to="{ name: 'admin-unit-equipment_type' }" class="text-primary">zurück zur Liste</RouterLink>
|
<RouterLink :to="{ name: 'admin-unit-equipment_type' }" class="text-primary">zurück zur Liste</RouterLink>
|
||||||
</template>
|
</template>
|
||||||
<template #topBar>
|
<template #topBar>
|
||||||
<div class="flex flex-row gap-2 items-center justify-between pt-5 pb-3 px-7">
|
<div class="flex flex-row gap-2">
|
||||||
<h1 class="font-bold text-xl h-8 min-h-fit grow">
|
|
||||||
{{ activeEquipmentTypeObj?.type }}
|
|
||||||
</h1>
|
|
||||||
|
|
||||||
<RouterLink v-if="can('update', 'unit', 'equipment_type')" :to="{ name: 'admin-unit-equipment_type-edit' }">
|
<RouterLink v-if="can('update', 'unit', 'equipment_type')" :to="{ name: 'admin-unit-equipment_type-edit' }">
|
||||||
<PencilIcon class="w-5 h-5" />
|
<PencilIcon class="w-5 h-5" />
|
||||||
</RouterLink>
|
</RouterLink>
|
||||||
|
|
|
@ -1,11 +1,9 @@
|
||||||
<template>
|
<template>
|
||||||
<MainTemplate>
|
<MainTemplate>
|
||||||
<template #topBar>
|
<template #topBar>
|
||||||
<div class="flex flex-row items-center justify-between pt-5 pb-3 px-7">
|
|
||||||
<h1 class="font-bold text-xl min-h-8">
|
<h1 class="font-bold text-xl min-h-8">
|
||||||
Prüfung durchführen: {{ activeInspectionObj?.related.name }} - {{ activeInspectionObj?.inspectionPlan.title }}
|
Prüfung durchführen: {{ activeInspectionObj?.related.name }} - {{ activeInspectionObj?.inspectionPlan.title }}
|
||||||
</h1>
|
</h1>
|
||||||
</div>
|
|
||||||
</template>
|
</template>
|
||||||
<template #main>
|
<template #main>
|
||||||
<Spinner v-if="loading == 'loading'" class="mx-auto" />
|
<Spinner v-if="loading == 'loading'" class="mx-auto" />
|
||||||
|
|
|
@ -1,10 +1,5 @@
|
||||||
<template>
|
<template>
|
||||||
<MainTemplate>
|
<MainTemplate title="Prüfung erstellen">
|
||||||
<template #topBar>
|
|
||||||
<div class="flex flex-row items-center justify-between pt-5 pb-3 px-7">
|
|
||||||
<h1 class="font-bold text-xl h-8">Prüfung erstellen</h1>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
<template #main>
|
<template #main>
|
||||||
<form class="flex flex-col gap-4 py-2 w-full max-w-xl mx-auto" @submit.prevent="">
|
<form class="flex flex-col gap-4 py-2 w-full max-w-xl mx-auto" @submit.prevent="">
|
||||||
<div class="flex flex-row">
|
<div class="flex flex-row">
|
||||||
|
|
|
@ -1,10 +1,5 @@
|
||||||
<template>
|
<template>
|
||||||
<MainTemplate>
|
<MainTemplate title="Prüfplan erstellen">
|
||||||
<template #topBar>
|
|
||||||
<div class="flex flex-row items-center justify-between pt-5 pb-3 px-7">
|
|
||||||
<h1 class="font-bold text-xl h-8">Prüfplan erstellen</h1>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
<template #diffMain>
|
<template #diffMain>
|
||||||
<div class="flex flex-col gap-2 h-full w-full overflow-y-auto">
|
<div class="flex flex-col gap-2 h-full w-full overflow-y-auto">
|
||||||
<form class="flex flex-col gap-4 py-2 w-full max-w-xl mx-auto" @submit.prevent="triggerCreate">
|
<form class="flex flex-col gap-4 py-2 w-full max-w-xl mx-auto" @submit.prevent="triggerCreate">
|
||||||
|
|
|
@ -1,10 +1,5 @@
|
||||||
<template>
|
<template>
|
||||||
<MainTemplate>
|
<MainTemplate title="Prüfpläne">
|
||||||
<template #topBar>
|
|
||||||
<div class="flex flex-row items-center justify-between pt-5 pb-3 px-7">
|
|
||||||
<h1 class="font-bold text-xl h-8">Prüfpläne</h1>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
<template #diffMain>
|
<template #diffMain>
|
||||||
<div class="flex flex-col w-full h-full gap-2 justify-center px-7">
|
<div class="flex flex-col w-full h-full gap-2 justify-center px-7">
|
||||||
<Pagination
|
<Pagination
|
||||||
|
|
|
@ -1,18 +1,12 @@
|
||||||
<template>
|
<template>
|
||||||
<MainTemplate>
|
<MainTemplate :title="activeInspectionPlanObj?.title">
|
||||||
<template #headerInsert>
|
<template #headerInsert>
|
||||||
<RouterLink to="./" class="text-primary">zurück zur Liste</RouterLink>
|
<RouterLink to="./" class="text-primary">zurück zur Liste</RouterLink>
|
||||||
</template>
|
</template>
|
||||||
<template #topBar>
|
<template #topBar>
|
||||||
<div class="flex flex-row gap-2 items-center justify-between pt-5 pb-3 px-7">
|
|
||||||
<h1 class="font-bold text-xl h-8 min-h-fit grow">
|
|
||||||
{{ activeInspectionPlanObj?.title }}
|
|
||||||
</h1>
|
|
||||||
|
|
||||||
<RouterLink v-if="can('update', 'unit', 'inspection_plan')" :to="{ name: 'admin-unit-inspection_plan-edit' }">
|
<RouterLink v-if="can('update', 'unit', 'inspection_plan')" :to="{ name: 'admin-unit-inspection_plan-edit' }">
|
||||||
<PencilIcon class="w-5 h-5" />
|
<PencilIcon class="w-5 h-5" />
|
||||||
</RouterLink>
|
</RouterLink>
|
||||||
</div>
|
|
||||||
</template>
|
</template>
|
||||||
<template #diffMain>
|
<template #diffMain>
|
||||||
<div class="flex flex-col gap-2 grow px-7 overflow-hidden">
|
<div class="flex flex-col gap-2 grow px-7 overflow-hidden">
|
||||||
|
|
|
@ -1,10 +1,5 @@
|
||||||
<template>
|
<template>
|
||||||
<MainTemplate>
|
<MainTemplate title="Atemschutz-Geräte">
|
||||||
<template #topBar>
|
|
||||||
<div class="flex flex-row items-center justify-between pt-5 pb-3 px-7">
|
|
||||||
<h1 class="font-bold text-xl h-8">Atemschutz-Geräte</h1>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
<template #diffMain>
|
<template #diffMain>
|
||||||
<div class="flex flex-col w-full h-full gap-2 justify-center px-7">
|
<div class="flex flex-col w-full h-full gap-2 justify-center px-7">
|
||||||
<Pagination
|
<Pagination
|
||||||
|
|
|
@ -4,8 +4,7 @@
|
||||||
<RouterLink to="../" class="text-primary">zurück zur Liste</RouterLink>
|
<RouterLink to="../" class="text-primary">zurück zur Liste</RouterLink>
|
||||||
</template>
|
</template>
|
||||||
<template #topBar>
|
<template #topBar>
|
||||||
<div class="flex flex-row gap-2 items-center justify-between pt-5 pb-3 px-7">
|
<h1 class="font-bold text-xl h-8 min-h-fit">AGT-Gerät: {{ activeRespiratoryGearObj?.equipment.name }}</h1>
|
||||||
<h1 class="font-bold text-xl h-8 min-h-fit grow">AGT-Gerät: {{ activeRespiratoryGearObj?.equipment.name }}</h1>
|
|
||||||
|
|
||||||
<RouterLink
|
<RouterLink
|
||||||
v-if="can('read', 'unit', 'equipment')"
|
v-if="can('read', 'unit', 'equipment')"
|
||||||
|
@ -16,7 +15,6 @@
|
||||||
>
|
>
|
||||||
<ArrowTopRightOnSquareIcon class="w-5 h-5" />
|
<ArrowTopRightOnSquareIcon class="w-5 h-5" />
|
||||||
</RouterLink>
|
</RouterLink>
|
||||||
</div>
|
|
||||||
</template>
|
</template>
|
||||||
<template #diffMain>
|
<template #diffMain>
|
||||||
<div class="flex flex-col gap-2 grow px-7 overflow-hidden">
|
<div class="flex flex-col gap-2 grow px-7 overflow-hidden">
|
||||||
|
|
|
@ -1,10 +1,5 @@
|
||||||
<template>
|
<template>
|
||||||
<MainTemplate>
|
<MainTemplate title="Atemschutz-Einsätze">
|
||||||
<template #topBar>
|
|
||||||
<div class="flex flex-row items-center justify-between pt-5 pb-3 px-7">
|
|
||||||
<h1 class="font-bold text-xl h-8">Atemschutz-Einsätze</h1>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
<template #diffMain>
|
<template #diffMain>
|
||||||
<div class="flex flex-col w-full h-full gap-2 justify-center px-7">
|
<div class="flex flex-col w-full h-full gap-2 justify-center px-7">
|
||||||
<Pagination
|
<Pagination
|
||||||
|
|
|
@ -4,9 +4,7 @@
|
||||||
<RouterLink to="../" class="text-primary">zurück zur Liste</RouterLink>
|
<RouterLink to="../" class="text-primary">zurück zur Liste</RouterLink>
|
||||||
</template>
|
</template>
|
||||||
<template #topBar>
|
<template #topBar>
|
||||||
<div class="flex flex-row gap-2 items-center justify-between pt-5 pb-3 px-7">
|
<h1 class="font-bold text-xl h-8 min-h-fit">AGT-Einsatz: {{ activeRespiratoryMissionObj?.title }}</h1>
|
||||||
<h1 class="font-bold text-xl h-8 min-h-fit grow">AGT-Einsatz: {{ activeRespiratoryMissionObj?.title }}</h1>
|
|
||||||
</div>
|
|
||||||
</template>
|
</template>
|
||||||
<template #diffMain>
|
<template #diffMain>
|
||||||
<div class="flex flex-col gap-2 grow px-7 overflow-hidden">
|
<div class="flex flex-col gap-2 grow px-7 overflow-hidden">
|
||||||
|
|
|
@ -1,10 +1,5 @@
|
||||||
<template>
|
<template>
|
||||||
<MainTemplate>
|
<MainTemplate title="Atemschutz-Träger">
|
||||||
<template #topBar>
|
|
||||||
<div class="flex flex-row items-center justify-between pt-5 pb-3 px-7">
|
|
||||||
<h1 class="font-bold text-xl h-8">Atemschutz-Träger</h1>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
<template #diffMain>
|
<template #diffMain>
|
||||||
<div class="flex flex-col w-full h-full gap-2 justify-center px-7">
|
<div class="flex flex-col w-full h-full gap-2 justify-center px-7">
|
||||||
<Pagination
|
<Pagination
|
||||||
|
|
|
@ -4,12 +4,10 @@
|
||||||
<RouterLink to="../" class="text-primary">zurück zur Liste</RouterLink>
|
<RouterLink to="../" class="text-primary">zurück zur Liste</RouterLink>
|
||||||
</template>
|
</template>
|
||||||
<template #topBar>
|
<template #topBar>
|
||||||
<div class="flex flex-row gap-2 items-center justify-between pt-5 pb-3 px-7">
|
|
||||||
<h1 class="font-bold text-xl h-8 min-h-fit grow">
|
<h1 class="font-bold text-xl h-8 min-h-fit grow">
|
||||||
AGT-Träger: {{ activeRespiratoryWearerObj?.member.lastname }},
|
AGT-Träger: {{ activeRespiratoryWearerObj?.member.lastname }},
|
||||||
{{ activeRespiratoryWearerObj?.member.firstname }}
|
{{ activeRespiratoryWearerObj?.member.firstname }}
|
||||||
</h1>
|
</h1>
|
||||||
</div>
|
|
||||||
</template>
|
</template>
|
||||||
<template #diffMain>
|
<template #diffMain>
|
||||||
<div class="flex flex-col gap-2 grow px-7 overflow-hidden">
|
<div class="flex flex-col gap-2 grow px-7 overflow-hidden">
|
||||||
|
|
|
@ -1,10 +1,5 @@
|
||||||
<template>
|
<template>
|
||||||
<MainTemplate>
|
<MainTemplate title="Fahrzeug erfassen">
|
||||||
<template #topBar>
|
|
||||||
<div class="flex flex-row items-center justify-between pt-5 pb-3 px-7">
|
|
||||||
<h1 class="font-bold text-xl h-8">Fahrzeug erfassen</h1>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
<template #diffMain>
|
<template #diffMain>
|
||||||
<div class="flex flex-col gap-2 h-full w-full overflow-y-auto">
|
<div class="flex flex-col gap-2 h-full w-full overflow-y-auto">
|
||||||
<form class="flex flex-col gap-4 py-2 w-full max-w-xl mx-auto" @submit.prevent="triggerCreate">
|
<form class="flex flex-col gap-4 py-2 w-full max-w-xl mx-auto" @submit.prevent="triggerCreate">
|
||||||
|
@ -14,6 +9,10 @@
|
||||||
<input type="text" id="name" required />
|
<input type="text" id="name" required />
|
||||||
</div>
|
</div>
|
||||||
<ScanInput name="code" label="Code" :required="false" />
|
<ScanInput name="code" label="Code" :required="false" />
|
||||||
|
<div>
|
||||||
|
<label for="commissioned">In-Betrieb-Nahme</label>
|
||||||
|
<input type="date" id="commissioned" required />
|
||||||
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<label for="location">Verortung (optional)</label>
|
<label for="location">Verortung (optional)</label>
|
||||||
<input type="text" id="location" />
|
<input type="text" id="location" />
|
||||||
|
@ -80,6 +79,7 @@ export default defineComponent({
|
||||||
code: formData.code.value || null,
|
code: formData.code.value || null,
|
||||||
location: formData.location.value,
|
location: formData.location.value,
|
||||||
vehicleTypeId: this.selectedType,
|
vehicleTypeId: this.selectedType,
|
||||||
|
commissioned: formData.commissioned.value,
|
||||||
};
|
};
|
||||||
this.status = "loading";
|
this.status = "loading";
|
||||||
this.createVehicle(createVehicle)
|
this.createVehicle(createVehicle)
|
||||||
|
|
|
@ -17,6 +17,14 @@
|
||||||
<label for="location">Verortung</label>
|
<label for="location">Verortung</label>
|
||||||
<input type="text" id="location" :value="activeVehicleObj.location" readonly />
|
<input type="text" id="location" :value="activeVehicleObj.location" readonly />
|
||||||
</div>
|
</div>
|
||||||
|
<div>
|
||||||
|
<label for="commissioned">In-Betrieb-Nahme</label>
|
||||||
|
<input type="date" id="commissioned" :value="activeVehicleObj.commissioned" readonly />
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<label for="decommissioned">Außer-Betrieb-Nahme</label>
|
||||||
|
<input type="date" id="decommissioned" :value="activeVehicleObj.decommissioned" readonly />
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<Spinner v-if="loadingActive == 'loading'" class="mx-auto" />
|
<Spinner v-if="loadingActive == 'loading'" class="mx-auto" />
|
||||||
|
|
|
@ -17,6 +17,14 @@
|
||||||
<label for="location">Verortung (optional)</label>
|
<label for="location">Verortung (optional)</label>
|
||||||
<input type="text" id="location" />
|
<input type="text" id="location" />
|
||||||
</div>
|
</div>
|
||||||
|
<div>
|
||||||
|
<label for="commissioned">In-Betrieb-Nahme</label>
|
||||||
|
<input type="date" id="commissioned" required v-model="vehicle.commissioned" />
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<label for="decommissioned">Außer-Betrieb-Nahme (optional)</label>
|
||||||
|
<input type="date" id="decommissioned" v-model="vehicle.decommissioned" />
|
||||||
|
</div>
|
||||||
<div class="flex flex-row justify-end gap-2">
|
<div class="flex flex-row justify-end gap-2">
|
||||||
<RouterLink
|
<RouterLink
|
||||||
:to="{ name: 'admin-unit-vehicle' }"
|
:to="{ name: 'admin-unit-vehicle' }"
|
||||||
|
@ -100,6 +108,8 @@ export default defineComponent({
|
||||||
name: formData.name.value,
|
name: formData.name.value,
|
||||||
code: formData.code.value || null,
|
code: formData.code.value || null,
|
||||||
location: formData.location.value,
|
location: formData.location.value,
|
||||||
|
commissioned: formData.commissioned.value,
|
||||||
|
decommissioned: formData.decommissioned.value ?? null,
|
||||||
};
|
};
|
||||||
this.status = "loading";
|
this.status = "loading";
|
||||||
this.updateActiveVehicle(updateVehicle)
|
this.updateActiveVehicle(updateVehicle)
|
||||||
|
|
|
@ -1,10 +1,5 @@
|
||||||
<template>
|
<template>
|
||||||
<MainTemplate>
|
<MainTemplate title="Fahrzeuge">
|
||||||
<template #topBar>
|
|
||||||
<div class="flex flex-row items-center justify-between pt-5 pb-3 px-7">
|
|
||||||
<h1 class="font-bold text-xl h-8">Fahrzeuge</h1>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
<template #diffMain>
|
<template #diffMain>
|
||||||
<div class="flex flex-col w-full h-full gap-2 justify-center px-7">
|
<div class="flex flex-col w-full h-full gap-2 justify-center px-7">
|
||||||
<Pagination
|
<Pagination
|
||||||
|
|
|
@ -1,18 +1,12 @@
|
||||||
<template>
|
<template>
|
||||||
<MainTemplate>
|
<MainTemplate :title="activeVehicleObj?.name">
|
||||||
<template #headerInsert>
|
<template #headerInsert>
|
||||||
<RouterLink to="../" class="text-primary">zurück zur Liste</RouterLink>
|
<RouterLink to="../" class="text-primary">zurück zur Liste</RouterLink>
|
||||||
</template>
|
</template>
|
||||||
<template #topBar>
|
<template #topBar>
|
||||||
<div class="flex flex-row gap-2 items-center justify-between pt-5 pb-3 px-7">
|
|
||||||
<h1 class="font-bold text-xl h-8 min-h-fit grow">
|
|
||||||
{{ activeVehicleObj?.name }}
|
|
||||||
</h1>
|
|
||||||
|
|
||||||
<RouterLink v-if="can('update', 'unit', 'vehicle')" :to="{ name: 'admin-unit-vehicle-edit' }">
|
<RouterLink v-if="can('update', 'unit', 'vehicle')" :to="{ name: 'admin-unit-vehicle-edit' }">
|
||||||
<PencilIcon class="w-5 h-5" />
|
<PencilIcon class="w-5 h-5" />
|
||||||
</RouterLink>
|
</RouterLink>
|
||||||
</div>
|
|
||||||
</template>
|
</template>
|
||||||
<template #diffMain>
|
<template #diffMain>
|
||||||
<div class="flex flex-col gap-2 grow px-7 overflow-hidden">
|
<div class="flex flex-col gap-2 grow px-7 overflow-hidden">
|
||||||
|
|
|
@ -1,10 +1,5 @@
|
||||||
<template>
|
<template>
|
||||||
<MainTemplate>
|
<MainTemplate title="Geräte-Typen">
|
||||||
<template #topBar>
|
|
||||||
<div class="flex flex-row items-center justify-between pt-5 pb-3 px-7">
|
|
||||||
<h1 class="font-bold text-xl h-8">Geräte-Typen</h1>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
<template #diffMain>
|
<template #diffMain>
|
||||||
<div class="flex flex-col w-full h-full gap-2 justify-center px-7">
|
<div class="flex flex-col w-full h-full gap-2 justify-center px-7">
|
||||||
<Pagination
|
<Pagination
|
||||||
|
|
|
@ -1,14 +1,10 @@
|
||||||
<template>
|
<template>
|
||||||
<MainTemplate>
|
<MainTemplate :title="activeVehicleTypeObj?.type">
|
||||||
<template #headerInsert>
|
<template #headerInsert>
|
||||||
<RouterLink :to="{ name: 'admin-unit-vehicle_type' }" class="text-primary">zurück zur Liste</RouterLink>
|
<RouterLink :to="{ name: 'admin-unit-vehicle_type' }" class="text-primary">zurück zur Liste</RouterLink>
|
||||||
</template>
|
</template>
|
||||||
<template #topBar>
|
<template #topBar>
|
||||||
<div class="flex flex-row gap-2 items-center justify-between pt-5 pb-3 px-7">
|
<div class="flex flex-row gap-2">
|
||||||
<h1 class="font-bold text-xl h-8 min-h-fit grow">
|
|
||||||
{{ activeVehicleTypeObj?.type }}
|
|
||||||
</h1>
|
|
||||||
|
|
||||||
<RouterLink v-if="can('update', 'unit', 'vehicle_type')" :to="{ name: 'admin-unit-vehicle_type-edit' }">
|
<RouterLink v-if="can('update', 'unit', 'vehicle_type')" :to="{ name: 'admin-unit-vehicle_type-edit' }">
|
||||||
<PencilIcon class="w-5 h-5" />
|
<PencilIcon class="w-5 h-5" />
|
||||||
</RouterLink>
|
</RouterLink>
|
||||||
|
|
|
@ -1,10 +1,5 @@
|
||||||
<template>
|
<template>
|
||||||
<MainTemplate>
|
<MainTemplate title="Kleidung erfassen">
|
||||||
<template #topBar>
|
|
||||||
<div class="flex flex-row items-center justify-between pt-5 pb-3 px-7">
|
|
||||||
<h1 class="font-bold text-xl h-8">Kleidung erfassen</h1>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
<template #diffMain>
|
<template #diffMain>
|
||||||
<div class="flex flex-col gap-2 h-full w-full overflow-y-auto">
|
<div class="flex flex-col gap-2 h-full w-full overflow-y-auto">
|
||||||
<form class="flex flex-col gap-4 py-2 w-full max-w-xl mx-auto" @submit.prevent="triggerCreate">
|
<form class="flex flex-col gap-4 py-2 w-full max-w-xl mx-auto" @submit.prevent="triggerCreate">
|
||||||
|
@ -14,11 +9,15 @@
|
||||||
<input type="text" id="name" required />
|
<input type="text" id="name" required />
|
||||||
</div>
|
</div>
|
||||||
<ScanInput name="code" label="Code" :required="false" />
|
<ScanInput name="code" label="Code" :required="false" />
|
||||||
|
<div>
|
||||||
|
<label for="commissioned">In-Betrieb-Nahme</label>
|
||||||
|
<input type="date" id="commissioned" required />
|
||||||
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<label for="location">Verortung (optional)</label>
|
<label for="location">Verortung (optional)</label>
|
||||||
<input type="text" id="location" />
|
<input type="text" id="location" />
|
||||||
</div>
|
</div>
|
||||||
<MemberSearchSelectSingle title="Träger (optional)" />
|
<MemberSearchSelectSingle title="Träger (optional)" v-model="wearer" />
|
||||||
<div class="flex flex-row justify-end gap-2">
|
<div class="flex flex-row justify-end gap-2">
|
||||||
<RouterLink
|
<RouterLink
|
||||||
:to="{ name: 'admin-unit-wearable' }"
|
:to="{ name: 'admin-unit-wearable' }"
|
||||||
|
@ -62,6 +61,7 @@ export default defineComponent({
|
||||||
status: null as null | "loading" | { status: "success" | "failed"; reason?: string },
|
status: null as null | "loading" | { status: "success" | "failed"; reason?: string },
|
||||||
timeout: null as any,
|
timeout: null as any,
|
||||||
selectedType: "" as string,
|
selectedType: "" as string,
|
||||||
|
wearer: "" as string,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
|
@ -82,8 +82,9 @@ export default defineComponent({
|
||||||
code: formData.code.value || null,
|
code: formData.code.value || null,
|
||||||
name: formData.name.value,
|
name: formData.name.value,
|
||||||
location: formData.location.value,
|
location: formData.location.value,
|
||||||
wearerId: "",
|
wearerId: this.wearer,
|
||||||
wearableTypeId: this.selectedType,
|
wearableTypeId: this.selectedType,
|
||||||
|
commissioned: formData.commissioned.value,
|
||||||
};
|
};
|
||||||
this.status = "loading";
|
this.status = "loading";
|
||||||
this.createWearable(createWearable)
|
this.createWearable(createWearable)
|
||||||
|
|
|
@ -17,6 +17,14 @@
|
||||||
<label for="location">Verortung</label>
|
<label for="location">Verortung</label>
|
||||||
<input type="text" id="location" :value="activeWearableObj.location" readonly />
|
<input type="text" id="location" :value="activeWearableObj.location" readonly />
|
||||||
</div>
|
</div>
|
||||||
|
<div>
|
||||||
|
<label for="commissioned">In-Betrieb-Nahme</label>
|
||||||
|
<input type="date" id="commissioned" :value="activeWearableObj.commissioned" readonly />
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<label for="decommissioned">Außer-Betrieb-Nahme</label>
|
||||||
|
<input type="date" id="decommissioned" :value="activeWearableObj.decommissioned" readonly />
|
||||||
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<label for="wearer">Träger</label>
|
<label for="wearer">Träger</label>
|
||||||
<input
|
<input
|
||||||
|
|
|
@ -18,6 +18,14 @@
|
||||||
<input type="text" id="location" v-model="wearable.location" />
|
<input type="text" id="location" v-model="wearable.location" />
|
||||||
</div>
|
</div>
|
||||||
<MemberSearchSelectMultiple title="Träger (optional)" />
|
<MemberSearchSelectMultiple title="Träger (optional)" />
|
||||||
|
<div>
|
||||||
|
<label for="commissioned">In-Betrieb-Nahme</label>
|
||||||
|
<input type="date" id="commissioned" required v-model="wearable.commissioned" />
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<label for="decommissioned">Außer-Betrieb-Nahme (optional)</label>
|
||||||
|
<input type="date" id="decommissioned" v-model="wearable.decommissioned" />
|
||||||
|
</div>
|
||||||
<div class="flex flex-row justify-end gap-2">
|
<div class="flex flex-row justify-end gap-2">
|
||||||
<button primary-outline type="reset" class="w-fit!" :disabled="canSaveOrReset" @click="resetForm">
|
<button primary-outline type="reset" class="w-fit!" :disabled="canSaveOrReset" @click="resetForm">
|
||||||
abbrechen
|
abbrechen
|
||||||
|
@ -100,6 +108,8 @@ export default defineComponent({
|
||||||
code: formData.code.value || null,
|
code: formData.code.value || null,
|
||||||
name: formData.name.value,
|
name: formData.name.value,
|
||||||
location: formData.location.value,
|
location: formData.location.value,
|
||||||
|
commissioned: formData.commissioned.value,
|
||||||
|
decommissioned: formData.decommissioned.value ?? null,
|
||||||
};
|
};
|
||||||
this.status = "loading";
|
this.status = "loading";
|
||||||
this.updateActiveWearable(updateWearable)
|
this.updateActiveWearable(updateWearable)
|
||||||
|
|
|
@ -1,10 +1,5 @@
|
||||||
<template>
|
<template>
|
||||||
<MainTemplate>
|
<MainTemplate title="Kleidungen">
|
||||||
<template #topBar>
|
|
||||||
<div class="flex flex-row items-center justify-between pt-5 pb-3 px-7">
|
|
||||||
<h1 class="font-bold text-xl h-8">Kleidungen</h1>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
<template #diffMain>
|
<template #diffMain>
|
||||||
<div class="flex flex-col w-full h-full gap-2 justify-center px-7">
|
<div class="flex flex-col w-full h-full gap-2 justify-center px-7">
|
||||||
<Pagination
|
<Pagination
|
||||||
|
|
|
@ -1,18 +1,12 @@
|
||||||
<template>
|
<template>
|
||||||
<MainTemplate>
|
<MainTemplate :title="activeWearableObj?.name">
|
||||||
<template #headerInsert>
|
<template #headerInsert>
|
||||||
<RouterLink to="../" class="text-primary">zurück zur Liste</RouterLink>
|
<RouterLink to="../" class="text-primary">zurück zur Liste</RouterLink>
|
||||||
</template>
|
</template>
|
||||||
<template #topBar>
|
<template #topBar>
|
||||||
<div class="flex flex-row gap-2 items-center justify-between pt-5 pb-3 px-7">
|
|
||||||
<h1 class="font-bold text-xl h-8 min-h-fit grow">
|
|
||||||
{{ activeWearableObj?.name }}
|
|
||||||
</h1>
|
|
||||||
|
|
||||||
<RouterLink v-if="can('update', 'unit', 'wearable')" :to="{ name: 'admin-unit-wearable-edit' }">
|
<RouterLink v-if="can('update', 'unit', 'wearable')" :to="{ name: 'admin-unit-wearable-edit' }">
|
||||||
<PencilIcon class="w-5 h-5" />
|
<PencilIcon class="w-5 h-5" />
|
||||||
</RouterLink>
|
</RouterLink>
|
||||||
</div>
|
|
||||||
</template>
|
</template>
|
||||||
<template #diffMain>
|
<template #diffMain>
|
||||||
<div class="flex flex-col gap-2 grow px-7 overflow-hidden">
|
<div class="flex flex-col gap-2 grow px-7 overflow-hidden">
|
||||||
|
|
|
@ -1,10 +1,5 @@
|
||||||
<template>
|
<template>
|
||||||
<MainTemplate>
|
<MainTemplate title="Kleidungs-Typen">
|
||||||
<template #topBar>
|
|
||||||
<div class="flex flex-row items-center justify-between pt-5 pb-3 px-7">
|
|
||||||
<h1 class="font-bold text-xl h-8">Kleidungs-Typen</h1>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
<template #diffMain>
|
<template #diffMain>
|
||||||
<div class="flex flex-col w-full h-full gap-2 justify-center px-7">
|
<div class="flex flex-col w-full h-full gap-2 justify-center px-7">
|
||||||
<Pagination
|
<Pagination
|
||||||
|
|
Loading…
Add table
Reference in a new issue