Compare commits

..

No commits in common. "d692cf3bdf6c85c99f55a79e9a85208d0a366ca1" and "e21e818ac6fbc68e7ff8d16617945b0fd1c0a239" have entirely different histories.

1 changed files with 10 additions and 11 deletions

View File

@ -10,19 +10,23 @@
<ui-box heading="Beitrag"> <ui-box heading="Beitrag">
<div class="grid gap-4 sm:grid-cols-2"> <div class="grid gap-4 sm:grid-cols-2">
<f-text id="name" v-model="inner.name" label="Name" size="sm" required></f-text> <f-text id="name" v-model="inner.name" label="Name" size="sm" required></f-text>
<f-select id="fee_id" v-model="inner.fee_id" name="fee_id" :options="fees" label="Nami-Beitrag" size="sm" required></f-select> <f-select id="fee_id" v-model="inner.fee_id" name="fee_id" :options="fees" label="Nami-Beitrag"
size="sm" required></f-select>
</div> </div>
</ui-box> </ui-box>
<ui-box heading="Positionen"> <ui-box heading="Positionen">
<div class="flex flex-col space-y-4"> <div class="flex flex-col space-y-4">
<div v-for="(pos, index) in inner.children" :key="index" class="flex space-x-2 items-end"> <div v-for="(pos, index) in inner.children" :key="index" class="flex space-x-2 items-end">
<f-text :id="`name-${index}`" v-model="pos.name" label="Name" size="sm" required></f-text> <f-text :id="`name-${index}`" v-model="pos.name" label="Name" size="sm" required></f-text>
<f-text :id="`amount-${index}`" v-model="pos.amount" label="Beitrag" size="sm" mode="area" required></f-text> <f-text :id="`amount-${index}`" v-model="pos.amount" label="Beitrag" size="sm" mode="area"
<a href="#" class="btn btn-sm btn-danger icon flex-none" @click.prevent="inner.children.splice(index, 1)"> required></f-text>
<a href="#" class="btn btn-sm btn-danger icon flex-none"
@click.prevent="inner.children.splice(index, 1)">
<ui-sprite src="trash" class="w-5 h-5"></ui-sprite> <ui-sprite src="trash" class="w-5 h-5"></ui-sprite>
</a> </a>
</div> </div>
<a href="#" class="btn btn-sm flex btn-primary flex self-start mt-4" @click.prevent="inner.children.push({name: defaultChildName, amount: 0})"> <a href="#" class="btn btn-sm flex btn-primary flex self-start mt-4"
@click.prevent="inner.children.push({ name: '', amount: 0 })">
<ui-sprite src="plus" class="w-5 h-5"></ui-sprite> <ui-sprite src="plus" class="w-5 h-5"></ui-sprite>
Position hinzufügen Position hinzufügen
</a> </a>
@ -34,6 +38,7 @@
<script> <script>
export default { export default {
props: { props: {
data: {}, data: {},
fees: {}, fees: {},
@ -42,16 +47,10 @@ export default {
}, },
data: function () { data: function () {
return { return {
inner: {...this.data}, inner: { ...this.data },
}; };
}, },
computed: {
defaultChildName() {
return this.inner.name ? `Beitrag {year} für {name} (${this.inner.name})` : 'Beitrag {year} für {name}';
},
},
methods: { methods: {
submit() { submit() {
this.mode === 'create' ? this.$inertia.post(`/subscription`, this.inner) : this.$inertia.patch(`/subscription/${this.inner.id}`, this.inner); this.mode === 'create' ? this.$inertia.post(`/subscription`, this.inner) : this.$inertia.patch(`/subscription/${this.inner.id}`, this.inner);