CambiosSolicitadosSuppliers #214

Merged
jgallego merged 21 commits from :CambiosSolicitadosSuppliers into dev 2024-03-13 14:38:00 +00:00
6 changed files with 26 additions and 6 deletions
Showing only changes of commit f048a1c820 - Show all commits

View File

@ -59,6 +59,10 @@ const $props = defineProps({
type: Function,
default: null,
},
clearStoreOnUnmount: {
type: Boolean,
default: true,
},
});
const emit = defineEmits(['onFetch', 'onDataSaved']);
@ -91,7 +95,12 @@ onMounted(async () => {
});
onUnmounted(() => {
state.unset($props.model);
// Restauramos los datos originales en el store si se realizaron cambios en el formulario pero no se guardaron, evitando modificaciones erróneas.
if (hasChanges.value) {
state.set($props.model, originalData.value);
return;
}
if ($props.clearStoreOnUnmount) state.unset($props.model);
});
const isLoading = ref(false);

View File

@ -4,6 +4,7 @@ import { useI18n } from 'vue-i18n';
import SkeletonDescriptor from 'components/ui/SkeletonDescriptor.vue';
import { useArrayData } from 'composables/useArrayData';
import { useSummaryDialog } from 'src/composables/useSummaryDialog';
import { useState } from 'src/composables/useState';
const $props = defineProps({
url: {
@ -35,6 +36,8 @@ const $props = defineProps({
default: null,
},
});
const state = useState();
const slots = useSlots();
const { t } = useI18n();
const { viewSummary } = useSummaryDialog();
@ -64,6 +67,7 @@ async function getData() {
isLoading.value = true;
try {
const { data } = await arrayData.fetch({ append: false, updateRouter: false });
state.set($props.dataKey, data);
emit('onFetch', data);
} finally {
isLoading.value = false;

View File

@ -26,6 +26,7 @@ const workersOptions = ref([]);
:url-update="`Suppliers/${route.params.id}`"
model="supplier"
auto-load
:clear-store-on-unmount="false"
>
<template #form="{ data, validate }">
<VnRow class="row q-gutter-md q-mb-md">

View File

@ -33,6 +33,7 @@ const formatPayDems = (data) => {
:url-update="`Suppliers/${route.params.id}`"
model="supplier"
auto-load
:clear-store-on-unmount="false"
>
<template #form="{ data, validate }">
<VnRow class="row q-gutter-md q-mb-md">

View File

@ -9,6 +9,7 @@ import VnLv from 'src/components/ui/VnLv.vue';
import { toDateString } from 'src/filters';
import useCardDescription from 'src/composables/useCardDescription';
import { getUrl } from 'src/composables/getUrl';
import { useState } from 'src/composables/useState';
const $props = defineProps({
id: {
@ -21,6 +22,7 @@ const $props = defineProps({
const route = useRoute();
const { t } = useI18n();
const url = ref();
const state = useState();
const filter = {
fields: [
@ -71,6 +73,8 @@ const setData = (entity) => {
data.value = useCardDescription(entity.ref, entity.id);
};
const currentSupplier = computed(() => state.get('supplier'));
jsegarra marked this conversation as resolved Outdated

si cogemos el patron de usar entity igual que parece que hacia salix para guadar la entidad en la que nos encontramos mejor, @jsegarra confirma tu.

si cogemos el patron de usar entity igual que parece que hacia salix para guadar la entidad en la que nos encontramos mejor, @jsegarra confirma tu.

@wbuezas A lo que se refiere Javi es al cambio del nombre de la variable? Hay algún motivo explicito?

La verdad es que si ya estas en el descriptor sabes que es el currentSupplier. Quizás si fuese un formulario en el que manejas diferentes estados puedo entenderlo.

Por lo que he visto, al declarar como entity puede dar problemas de reactividad con los iconos

Aunque vemos que no se está usando este patrón en ClaimDescriptor, por ello, podemos cambiar currentsupplier por supplier?

@wbuezas A lo que se refiere Javi es al cambio del nombre de la variable? Hay algún motivo explicito? La verdad es que si ya estas en el descriptor sabes que es el currentSupplier. Quizás si fuese un formulario en el que manejas diferentes estados puedo entenderlo. Por lo que he visto, al declarar como entity puede dar problemas de reactividad con los iconos Aunque vemos que no se está usando este patrón en ClaimDescriptor, por ello, podemos cambiar currentsupplier por supplier?

Claro, tomé la decisión de cambiar el nombre de la variable porque en el html ya utilizamos la variable entity que se obtiene del v-slot y en este caso necesitaba obtener la información del store de manera que se podian repetir/pisar las variables con el mismo nombre

De todas maneras cambié el nombre de la variable currentSupplier por el nombre supplier

Commit: 052123ad0e

Claro, tomé la decisión de cambiar el nombre de la variable porque en el html ya utilizamos la variable `entity` que se obtiene del `v-slot` y en este caso necesitaba obtener la información del store de manera que se podian repetir/pisar las variables con el mismo nombre De todas maneras cambié el nombre de la variable `currentSupplier` por el nombre `supplier` Commit: https://gitea.verdnatura.es/verdnatura/salix-front/commit/052123ad0e6259d6e08b53bbc82352a1eae78e1b
const getEntryQueryParams = (supplier) => {
if (!supplier) return null;
@ -101,7 +105,7 @@ const getEntryQueryParams = (supplier) => {
:subtitle="data.subtitle"
:filter="filter"
@on-fetch="setData"
data-key="Supplier"
data-key="supplier"
>
<template #header-extra-action>
<QBtn
@ -133,10 +137,10 @@ const getEntryQueryParams = (supplier) => {
<VnLv :label="t('supplier.summary.payDay')" :value="entity.payDay" />
<VnLv :label="t('supplier.summary.account')" :value="entity.account" />
</template>
<template #icons="{ entity }">
<QCardActions class="q-gutter-x-md">
<template #icons>
<QCardActions v-if="currentSupplier" class="q-gutter-x-md">
<QIcon
v-if="!entity.isActive"
v-if="!currentSupplier.isActive"
name="vn:disabled"
color="primary"
size="xs"
@ -144,7 +148,7 @@ const getEntryQueryParams = (supplier) => {
<QTooltip>{{ t('Inactive supplier') }}</QTooltip>
</QIcon>
<QIcon
v-if="!entity.isSerious"
v-if="!currentSupplier.isSerious"
name="vn:supplierfalse"
color="primary"
size="xs"

View File

@ -53,6 +53,7 @@ function handleLocation(data, location) {
:url-update="`Suppliers/${route.params.id}/updateFiscalData`"
model="supplier"
auto-load
:clear-store-on-unmount="false"
jgallego marked this conversation as resolved
Review

http://localhost:9000/#/supplier/791/fiscal-data si añado un codigo postal desde el boton mas, lo tiene que cambiar por el actual

http://localhost:9000/#/supplier/791/fiscal-data si añado un codigo postal desde el boton mas, lo tiene que cambiar por el actual
Review

@jgallego habíamos charlado este asunto con @jsegarra y quedamos en que el equipo de Verdnatura se iba a encargar de los inputs relacionados a los postcodes

#214 (comment)

@jgallego habíamos charlado este asunto con @jsegarra y quedamos en que el equipo de Verdnatura se iba a encargar de los inputs relacionados a los `postcodes` https://gitea.verdnatura.es/verdnatura/salix-front/pulls/214#issuecomment-43595
Review
@jgallego https://redmine.verdnatura.es/issues/6973?issue_count=27&issue_position=1&next_issue_id=6972
Review

Perfecto, cierro convesación

Perfecto, cierro convesación
>
<template #form="{ data, validate }">
<VnRow class="row q-gutter-md q-mb-md">