New CustomerInventory,
New Mitgliederverwaltung für Vereine New Bank Auto Complete
This commit is contained in:
@@ -16,6 +16,7 @@ const toast = useToast()
|
||||
const accounts = ref([])
|
||||
const ibanSearch = ref("")
|
||||
const showCreate = ref(false)
|
||||
const resolvingIban = ref(false)
|
||||
|
||||
const createPayload = ref({
|
||||
iban: "",
|
||||
@@ -78,6 +79,25 @@ const createAndAssign = async () => {
|
||||
showCreate.value = false
|
||||
}
|
||||
|
||||
const resolveCreatePayloadFromIban = async () => {
|
||||
const normalized = normalizeIban(createPayload.value.iban)
|
||||
if (!normalized) return
|
||||
|
||||
resolvingIban.value = true
|
||||
try {
|
||||
const data = await useFunctions().useBankingResolveIban(normalized)
|
||||
if (!data) return
|
||||
|
||||
createPayload.value.iban = data.iban || normalized
|
||||
if (data.bic) createPayload.value.bic = data.bic
|
||||
if (data.bankName) createPayload.value.bankName = data.bankName
|
||||
} catch (e) {
|
||||
// intentionally ignored: user can still enter fields manually
|
||||
} finally {
|
||||
resolvingIban.value = false
|
||||
}
|
||||
}
|
||||
|
||||
loadAccounts()
|
||||
</script>
|
||||
|
||||
@@ -125,7 +145,21 @@ loadAccounts()
|
||||
<template #header>Neue Bankverbindung erstellen</template>
|
||||
<div class="space-y-3">
|
||||
<UFormGroup label="IBAN">
|
||||
<UInput v-model="createPayload.iban" />
|
||||
<InputGroup>
|
||||
<UInput
|
||||
v-model="createPayload.iban"
|
||||
@blur="resolveCreatePayloadFromIban"
|
||||
@keydown.enter.prevent="resolveCreatePayloadFromIban"
|
||||
/>
|
||||
<UButton
|
||||
color="gray"
|
||||
variant="outline"
|
||||
:loading="resolvingIban"
|
||||
@click="resolveCreatePayloadFromIban"
|
||||
>
|
||||
Ermitteln
|
||||
</UButton>
|
||||
</InputGroup>
|
||||
</UFormGroup>
|
||||
<UFormGroup label="BIC">
|
||||
<UInput v-model="createPayload.bic" />
|
||||
|
||||
Reference in New Issue
Block a user