2. Zwischenstand
All checks were successful
Build and Push Docker Images / build-backend (push) Successful in 15s
Build and Push Docker Images / build-frontend (push) Successful in 2m43s

This commit is contained in:
2026-03-21 22:56:56 +01:00
parent 68b2cbb0ee
commit 03bcc1a939
56 changed files with 1289 additions and 1302 deletions

View File

@@ -182,75 +182,75 @@ onMounted(fetchProfile)
<USeparator label="Persönliche Daten" />
<UForm :state="profile" @submit.prevent="saveProfile" class="grid grid-cols-1 md:grid-cols-2 gap-6 mt-4">
<UFormGroup label="Vorname">
<UFormField label="Vorname">
<UInput v-model="profile.first_name" />
</UFormGroup>
</UFormField>
<UFormGroup label="Nachname">
<UFormField label="Nachname">
<UInput v-model="profile.last_name" />
</UFormGroup>
</UFormField>
<UFormGroup label="E-Mail">
<UFormField label="E-Mail">
<UInput v-model="profile.email" />
</UFormGroup>
</UFormField>
<UFormGroup label="Telefon (Mobil)">
<UFormField label="Telefon (Mobil)">
<UInput v-model="profile.mobile_tel" />
</UFormGroup>
</UFormField>
<UFormGroup label="Telefon (Festnetz)">
<UFormField label="Telefon (Festnetz)">
<UInput v-model="profile.fixed_tel" />
</UFormGroup>
</UFormField>
<UFormGroup label="Geburtstag">
<UFormField label="Geburtstag">
<div class="flex items-center gap-2">
<UInput type="date" v-model="profile.birthday" class="flex-1" />
<UButton color="gray" variant="soft" label="Heute" @click="setProfileDate('birthday')" />
</div>
</UFormGroup>
</UFormField>
</UForm>
</UCard>
<UCard v-if="!pending && profile" class="mt-3">
<USeparator label="Vertragsinformationen" />
<UForm :state="profile" @submit.prevent="saveProfile" class="grid grid-cols-1 md:grid-cols-2 gap-6 mt-4">
<UFormGroup label="Vertragsart">
<UFormField label="Vertragsart">
<UInput v-model="profile.contract_type"/>
</UFormGroup>
</UFormField>
<UFormGroup label="Status">
<UFormField label="Status">
<UInput v-model="profile.status"/>
</UFormGroup>
</UFormField>
<UFormGroup label="Position">
<UFormField label="Position">
<UInput v-model="profile.position"/>
</UFormGroup>
</UFormField>
<UFormGroup label="Qualifikation">
<UFormField label="Qualifikation">
<UInput v-model="profile.qualification"/>
</UFormGroup>
</UFormField>
<UFormGroup label="Eintrittsdatum">
<UFormField label="Eintrittsdatum">
<div class="flex items-center gap-2">
<UInput type="date" v-model="profile.entry_date" class="flex-1" />
<UButton color="gray" variant="soft" label="Heute" @click="setProfileDate('entry_date')" />
</div>
</UFormGroup>
</UFormField>
<UFormGroup label="Wöchentliche Arbeitszeit (Std)">
<UFormField label="Wöchentliche Arbeitszeit (Std)">
<UInput type="number" v-model="profile.weekly_working_hours" />
</UFormGroup>
</UFormField>
<UFormGroup label="Bezahlte Urlaubstage (Jahr)">
<UFormField label="Bezahlte Urlaubstage (Jahr)">
<UInput type="number" v-model="profile.annual_paid_leave_days" />
</UFormGroup>
<UFormGroup label="Aktiv">
</UFormField>
<UFormField label="Aktiv">
<div class="flex items-center gap-3">
<UToggle v-model="profile.active" color="primary" />
<USwitch v-model="profile.active" color="primary" />
<span class="text-sm text-gray-600">
</span>
</div>
</UFormGroup>
</UFormField>
</UForm>
</UCard>
@@ -259,19 +259,19 @@ onMounted(fetchProfile)
<USeparator label="Adresse & Standort" />
<UForm :state="profile" @submit.prevent="saveProfile" class="grid grid-cols-1 md:grid-cols-2 gap-6 mt-4">
<UFormGroup label="Straße und Hausnummer">
<UFormField label="Straße und Hausnummer">
<UInput v-model="profile.address_street"/>
</UFormGroup>
</UFormField>
<UFormGroup label="PLZ">
<UFormField label="PLZ">
<UInput type="text" v-model="profile.address_zip" @focusout="checkZip"/>
</UFormGroup>
</UFormField>
<UFormGroup label="Ort">
<UFormField label="Ort">
<UInput v-model="profile.address_city"/>
</UFormGroup>
</UFormField>
<UFormGroup label="Bundesland">
<UFormField label="Bundesland">
<USelectMenu
v-model="profile.state_code"
:options="bundeslaender"
@@ -279,7 +279,7 @@ onMounted(fetchProfile)
option-attribute="name"
placeholder="Bundesland auswählen"
/>
</UFormGroup>
</UFormField>
</UForm>
</UCard>
@@ -315,21 +315,21 @@ onMounted(fetchProfile)
<UCard v-if="!pending && profile" class="mt-3">
<USeparator label="Sonstiges" />
<UForm :state="profile" @submit.prevent="saveProfile" class="grid grid-cols-1 md:grid-cols-2 gap-6 mt-4">
<UFormGroup label="Kleidergröße (Oberteil)">
<UFormField label="Kleidergröße (Oberteil)">
<UInput v-model="profile.clothing_size_top" />
</UFormGroup>
</UFormField>
<UFormGroup label="Kleidergröße (Hose)">
<UFormField label="Kleidergröße (Hose)">
<UInput v-model="profile.clothing_size_bottom" />
</UFormGroup>
</UFormField>
<UFormGroup label="Schuhgröße">
<UFormField label="Schuhgröße">
<UInput v-model="profile.clothing_size_shoe" />
</UFormGroup>
</UFormField>
<UFormGroup label="Token-ID">
<UFormField label="Token-ID">
<UInput v-model="profile.token_id" />
</UFormGroup>
</UFormField>
</UForm>
</UCard>

View File

@@ -41,7 +41,7 @@
<UTable
:data="items"
:columns="normalizeTableColumns(columns)"
@select="(i) => navigateTo(`/staff/profiles/${i.id}`)"
:on-select="(i) => navigateTo(`/staff/profiles/${i.id}`)"
>
</UTable>