minor v1.6.0 #106
4 changed files with 20 additions and 4 deletions
|
@ -80,6 +80,10 @@
|
|||
|
||||
<input type="text" id="internalId" />
|
||||
</div>
|
||||
<div>
|
||||
<label for="note">Notiz (optional)</label>
|
||||
<textarea type="text" id="note" />
|
||||
</div>
|
||||
<div class="flex flex-row gap-2">
|
||||
<button primary type="submit" :disabled="status == 'loading' || status?.status == 'success'">erstellen</button>
|
||||
<Spinner v-if="status == 'loading'" class="my-auto" />
|
||||
|
@ -154,6 +158,7 @@ export default defineComponent({
|
|||
nameaffix: formData.nameaffix.value,
|
||||
birthdate: formData.birthdate.value,
|
||||
internalId: formData.internalId.value,
|
||||
note: formData.note.value,
|
||||
};
|
||||
this.status = "loading";
|
||||
this.createMember(createMember)
|
||||
|
|
|
@ -15,6 +15,7 @@ export interface MemberViewModel {
|
|||
sendNewsletter?: CommunicationViewModel;
|
||||
smsAlarming?: Array<CommunicationViewModel>;
|
||||
preferredCommunication?: Array<CommunicationViewModel>;
|
||||
note?: string;
|
||||
}
|
||||
|
||||
export interface MemberStatisticsViewModel {
|
||||
|
@ -36,6 +37,7 @@ export interface CreateMemberViewModel {
|
|||
nameaffix: string;
|
||||
birthdate: Date;
|
||||
internalId?: string;
|
||||
note?: string;
|
||||
}
|
||||
|
||||
export interface UpdateMemberViewModel {
|
||||
|
@ -46,4 +48,5 @@ export interface UpdateMemberViewModel {
|
|||
nameaffix: string;
|
||||
birthdate: Date;
|
||||
internalId?: string;
|
||||
note?: string;
|
||||
}
|
||||
|
|
|
@ -75,6 +75,10 @@
|
|||
<label for="internalId">Interne ID (optional)</label>
|
||||
<input type="text" id="internalId" v-model="member.internalId" />
|
||||
</div>
|
||||
<div>
|
||||
<label for="note">Notiz (optional)</label>
|
||||
<textarea type="text" id="note" v-model="member.note" />
|
||||
</div>
|
||||
<div class="flex flex-row justify-end gap-2">
|
||||
<button primary-outline type="reset" class="w-fit!" :disabled="canSaveOrReset" @click="resetForm">
|
||||
verwerfen
|
||||
|
@ -93,7 +97,6 @@
|
|||
<script setup lang="ts">
|
||||
import { defineComponent } from "vue";
|
||||
import { mapActions, mapState } from "pinia";
|
||||
import MainTemplate from "@/templates/Main.vue";
|
||||
import { useMemberStore } from "@/stores/admin/club/member/member";
|
||||
import type { MemberViewModel, UpdateMemberViewModel } from "@/viewmodels/admin/club/member/member.models";
|
||||
import Spinner from "@/components/Spinner.vue";
|
||||
|
@ -163,6 +166,7 @@ export default defineComponent({
|
|||
nameaffix: formData.nameaffix.value,
|
||||
birthdate: formData.birthdate.value,
|
||||
internalId: formData.internalId.value,
|
||||
note: formData.note.value,
|
||||
};
|
||||
this.status = "loading";
|
||||
this.updateActiveMember(updateMember)
|
||||
|
|
|
@ -25,13 +25,17 @@
|
|||
<label for="birthdate">Geburtsdatum</label>
|
||||
<input type="date" id="birthdate" :value="activeMemberObj.birthdate" readonly />
|
||||
</div>
|
||||
<div>
|
||||
<label for="note">Notiz</label>
|
||||
<textarea type="text" id="note" v-model="activeMemberObj.note" readonly />
|
||||
</div>
|
||||
<div v-if="membershipStatistics.length != 0 || totalMembershipStatistics != undefined">
|
||||
<p>Statistiken zur Mitgliedschaft</p>
|
||||
<div class="flex flex-col h-fit w-full rounded-md overflow-hidden">
|
||||
<div class="flex flex-col h-fit w-full rounded-md overflow-hidden divide-y divide-white">
|
||||
<div class="bg-primary p-2 text-white flex flex-row justify-between items-center">
|
||||
<p>
|
||||
gesamt {{ totalMembershipStatistics.durationInDays }} Tage
|
||||
<span class="whitespace-nowrap"> ~> {{ totalMembershipStatistics.exactDuration }}</span>
|
||||
gesamt {{ totalMembershipStatistics?.durationInDays }} Tage
|
||||
<span class="whitespace-nowrap"> ~> {{ totalMembershipStatistics?.exactDuration }}</span>
|
||||
</p>
|
||||
</div>
|
||||
<div
|
||||
|
|
Loading…
Add table
Reference in a new issue