improve logic and date handling. use v-model for form

This commit is contained in:
Moriz Wahl 2022-07-15 11:23:03 +02:00
parent 9efb83b2af
commit 66f10df1d0
2 changed files with 7 additions and 19 deletions

View File

@ -12,7 +12,6 @@
<b>{{ $t('contribution.formText.text2') }}</b> <b>{{ $t('contribution.formText.text2') }}</b>
</div> </div>
</div> </div>
{{ id }}
<b-form ref="form" @submit.prevent="submit"> <b-form ref="form" @submit.prevent="submit">
<label>{{ $t('time.month') }}</label> <label>{{ $t('time.month') }}</label>
<b-form-datepicker <b-form-datepicker
@ -66,21 +65,14 @@
export default { export default {
name: 'ContributionForm', name: 'ContributionForm',
props: { props: {
id: { type: Number, required: false, default: null }, value: { type: Object, required: true },
date: { type: String, required: false },
memo: { type: String, required: false },
amount: { type: String, required: false },
}, },
data() { data() {
return { return {
minlength: 50, minlength: 50,
maxlength: 255, maxlength: 255,
max: new Date(), max: new Date(),
form: { form: this.value,
date: this.id === null ? '' : this.date,
memo: this.id === null ? '' : this.memo,
amount: this.id === null ? '' : this.amount,
},
} }
}, },
methods: { methods: {
@ -97,10 +89,10 @@ export default {
* *
*/ */
lastMonth() { lastMonth() {
return new Date(new Date(new Date().setMonth(new Date().getMonth() - 1))) return new Date(this.max.getFullYear(), this.max.getMonth() - 1, 1)
}, },
min() { min() {
return new Date(new Date(new Date().setMonth(new Date().getMonth() - 1)).setDate(1)) return new Date(this.max.getFullYear(), this.max.getMonth() - 1, 1)
}, },
disabled() { disabled() {
if ( if (
@ -127,10 +119,5 @@ export default {
return this.$t('contribution.formText.thisMonth', obj) return this.$t('contribution.formText.thisMonth', obj)
}, },
}, },
watch: {
id(newId, oldId) {
alert('eine id kommt mit')
},
},
} }
</script> </script>

View File

@ -3,7 +3,7 @@
<div> <div>
<b-tabs v-model="tabIndex" content-class="mt-3" align="center"> <b-tabs v-model="tabIndex" content-class="mt-3" align="center">
<b-tab :title="$t('community.writing')" active> <b-tab :title="$t('community.writing')" active>
<contribution-form @set-contribution="setContribution" v-bind="form" /> <contribution-form @set-contribution="setContribution" v-model="form" />
</b-tab> </b-tab>
<b-tab :title="$t('community.myContributions')"> <b-tab :title="$t('community.myContributions')">
<contribution-list <contribution-list
@ -113,10 +113,11 @@ export default {
}) })
}, },
updateContribution(item) { updateContribution(item) {
this.tabIndex = 0 this.form.id = item.id
this.form.date = item.createdAt this.form.date = item.createdAt
this.form.memo = item.memo this.form.memo = item.memo
this.form.amount = item.amount this.form.amount = item.amount
this.tabIndex = 0
}, },
updateTransactions(pagination) { updateTransactions(pagination) {
this.$emit('update-transactions', pagination) this.$emit('update-transactions', pagination)