Add form for nami

This commit is contained in:
philipp lang 2024-06-14 01:46:06 +02:00
parent 3a83c46430
commit 57555afe2b
1 changed files with 30 additions and 24 deletions

View File

@ -90,29 +90,33 @@
</p>
<div class="grid gap-2 mt-6">
<accordion v-model="openValue" :index="index" :title="member.innerFormName" v-for="(member, index) in inner" :key="index" type="success">
<template v-for="(memberField, memberIndex) in memberFields">
<v-checkbox
v-if="memberField.type === 'CheckboxField'"
v-model="member[memberField.key]"
:name="`${field.key}-memberattr-${member.id}-${memberField.key}`"
:id="`${field.key}-memberattr-${member.id}-${memberField.key}`"
:label="memberField.name"
intro=""
></v-checkbox>
<v-dropdown
v-if="memberField.type === 'DropdownField'"
v-model="member[memberField.key]"
:name="`${field.key}-memberattr-${member.id}-${memberField.key}`"
:id="`${field.key}-memberattr-${member.id}-${memberField.key}`"
:label="memberField.name"
:allowcustom="false"
:options="
memberField.options.map((o) => {
return {id: o, name: o};
})
"
></v-dropdown>
</template>
<div class="mt-6" :class="containerClasses">
<template v-for="(memberField, memberIndex) in memberFields">
<v-checkbox
v-if="memberField.type === 'CheckboxField'"
v-model="member[memberField.key]"
:name="`${field.key}-memberattr-${member.id}-${memberField.key}`"
:id="`${field.key}-memberattr-${member.id}-${memberField.key}`"
:label="memberField.description"
intro=""
:class="colClassesForField(memberField)"
></v-checkbox>
<v-dropdown
v-if="memberField.type === 'DropdownField'"
v-model="member[memberField.key]"
:name="`${field.key}-memberattr-${member.id}-${memberField.key}`"
:id="`${field.key}-memberattr-${member.id}-${memberField.key}`"
:label="memberField.name"
:allowcustom="false"
:class="colClassesForField(memberField)"
:options="
memberField.options.map((o) => {
return {id: o, name: o};
})
"
></v-dropdown>
</template>
</div>
</accordion>
</div>
<div class="flex justify-center mt-5">
@ -143,8 +147,10 @@ import useAdremaLogin from '../../composables/useAdremaLogin.js';
import useEventMeta from '../../composables/useEventMeta.js';
import Pagination from '../Pagination.vue';
import Accordion from '../Accordion.vue';
import useColumns from '../../composables/useColumns.js';
const eventMeta = useEventMeta();
const {colClassesForField, containerClasses} = useColumns();
const {login, logout, user, loginData, searchData, searchForMember, resetSearchData, searchResults, searching} = useAdremaLogin();
if (user.value !== null) {
@ -190,7 +196,7 @@ const props = defineProps({
const defaultMember = computed(() => {
var fields = {};
memberFields.value.forEach((field) => (fields[field.key] = field.default));
memberFields.value.forEach((field) => (fields[field.key] = field.value));
return fields;
});