hotFix_supplier_autoBic #1023

Merged
alexm merged 4 commits from hotFix_supplier_autoBic into master 2024-11-29 11:22:56 +00:00
4 changed files with 51 additions and 9 deletions

View File

@ -176,14 +176,13 @@ async function saveChanges(data) {
const changes = data || getChanges();
try {
await axios.post($props.saveUrl || $props.url + '/crud', changes);
} catch (e) {
return (isLoading.value = false);
} finally {
Review

Si el catch no propaga el error no ix ningun fallo per notificacio

Si el catch no propaga el error no ix ningun fallo per notificacio
isLoading.value = false;
}
originalData.value = JSON.parse(JSON.stringify(formData.value));
if (changes.creates?.length) await vnPaginateRef.value.fetch();
hasChanges.value = false;
isLoading.value = false;
emit('saveChanges', data);
quasar.notify({
type: 'positive',

View File

@ -284,9 +284,9 @@ async function onScroll({ to, direction, from, index }) {
:loading="isLoading"
@virtual-scroll="onScroll"
>
<template v-if="isClearable" #append>
<template #append>
Review

Arregla el que si gastes el slot append no te lleve el boto de borrar

Arregla el que si gastes el slot append no te lleve el boto de borrar
<QIcon
v-show="value"
v-show="isClearable && value"
name="close"
@click.stop="
() => {
@ -299,7 +299,22 @@ async function onScroll({ to, direction, from, index }) {
/>
</template>
<template v-for="(_, slotName) in $slots" #[slotName]="slotData" :key="slotName">
<slot :name="slotName" v-bind="slotData ?? {}" :key="slotName" />
<div v-if="slotName == 'append'">
<QIcon
v-show="isClearable && value"
name="close"
@click.stop="
() => {
value = null;
emit('remove');
}
"
class="cursor-pointer"
size="xs"
/>
<slot name="append" v-if="$slots.append" v-bind="slotData ?? {}" />
</div>
<slot v-else :name="slotName" v-bind="slotData ?? {}" :key="slotName" />
</template>
</QSelect>
</template>

View File

@ -24,13 +24,14 @@ const supplier = ref(null);
const supplierAccountRef = ref(null);
const wireTransferFk = ref(null);
const bankEntitiesOptions = ref([]);
const filteredBankEntitiesOptions = ref([]);
const onBankEntityCreated = async (dataSaved, rowData) => {
await bankEntitiesRef.value.fetch();
rowData.bankEntityFk = dataSaved.id;
};
const onChangesSaved = () => {
const onChangesSaved = async () => {
if (supplier.value.payMethodFk !== wireTransferFk.value)
quasar
.dialog({
@ -55,12 +56,35 @@ const setWireTransfer = async () => {
await axios.patch(`Suppliers/${route.params.id}`, params);
notify('globals.dataSaved', 'positive');
};
function findBankFk(value, row) {
Review

Hay una fn parecida en workerList sacada de Salix.

Hay una fn parecida en workerList sacada de Salix.
Review

El codigo de ahi esta bastante raro. Saca todas las bankEntity pero luego tambien hace peticiones para sacarla.
Creo redmine para que se refactorize

El codigo de ahi esta bastante raro. Saca todas las bankEntity pero luego tambien hace peticiones para sacarla. Creo redmine para que se refactorize
Review
https://redmine.verdnatura.es/issues/8254
row.bankEntityFk = null;
if (!value) return;
const bankEntityFk = bankEntitiesOptions.value.find((b) => b.id == value.slice(4, 8));
if (bankEntityFk) row.bankEntityFk = bankEntityFk.id;
}
function bankEntityFilter(val, update) {
update(() => {
const needle = val.toLowerCase();
filteredBankEntitiesOptions.value = bankEntitiesOptions.value.filter(
(bank) =>
bank.bic.toLowerCase().startsWith(needle) ||
bank.name.toLowerCase().includes(needle)
);
});
}
</script>
<template>
<FetchData
ref="bankEntitiesRef"
url="BankEntities"
@on-fetch="(data) => (bankEntitiesOptions = data)"
@on-fetch="
(data) => {
(bankEntitiesOptions = data), (filteredBankEntitiesOptions = data);
}
"
auto-load
/>
<FetchData
@ -98,6 +122,7 @@ const setWireTransfer = async () => {
<VnInput
:label="t('supplier.accounts.iban')"
v-model="row.iban"
@update:model-value="(value) => findBankFk(value, row)"
:required="true"
>
<template #append>
@ -109,7 +134,9 @@ const setWireTransfer = async () => {
<VnSelectDialog
:label="t('worker.create.bankEntity')"
v-model="row.bankEntityFk"
:options="bankEntitiesOptions"
:options="filteredBankEntitiesOptions"
:default-filter="false"
@filter="(val, update) => bankEntityFilter(val, update)"
option-label="bic"
option-value="id"
hide-selected

View File

@ -3,6 +3,7 @@ describe('VnBreadcrumbs', () => {
const firstCard = '.q-infinite-scroll > :nth-child(1)';
const lastBreadcrumb = '.q-breadcrumbs--last > .q-breadcrumbs__el';
beforeEach(() => {
cy.viewport(1920, 1080);
cy.login('developer');
cy.visit('/');
});