CambiosSolicitadosSuppliers #214
|
@ -1,5 +1,5 @@
|
|||
<script setup>
|
||||
import { reactive, ref } from 'vue';
|
||||
import { reactive, ref, onMounted, nextTick } from 'vue';
|
||||
import { useI18n } from 'vue-i18n';
|
||||
import VnInput from 'src/components/common/VnInput.vue';
|
||||
|
||||
|
@ -16,9 +16,8 @@ const props = defineProps({
|
|||
});
|
||||
|
||||
const emit = defineEmits(['onDataSaved']);
|
||||
|
||||
const { t } = useI18n();
|
||||
|
||||
const bicInputRef = ref(null);
|
||||
const bankEntityFormData = reactive({
|
||||
name: null,
|
||||
bic: null,
|
||||
|
@ -32,9 +31,14 @@ const countriesFilter = {
|
|||
|
||||
const countriesOptions = ref([]);
|
||||
|
||||
const onDataSaved = (data) => {
|
||||
emit('onDataSaved', data);
|
||||
const onDataSaved = (formData, requestResponse) => {
|
||||
emit('onDataSaved', formData, requestResponse);
|
||||
};
|
||||
|
||||
onMounted(async () => {
|
||||
await nextTick();
|
||||
bicInputRef.value.focus();
|
||||
});
|
||||
</script>
|
||||
|
||||
<template>
|
||||
|
@ -50,7 +54,7 @@ const onDataSaved = (data) => {
|
|||
:title="t('title')"
|
||||
:subtitle="t('subtitle')"
|
||||
:form-initial-data="bankEntityFormData"
|
||||
@on-data-saved="onDataSaved($event)"
|
||||
@on-data-saved="onDataSaved"
|
||||
>
|
||||
<template #form-inputs="{ data, validate }">
|
||||
<VnRow class="row q-gutter-md q-mb-md">
|
||||
|
@ -64,6 +68,7 @@ const onDataSaved = (data) => {
|
|||
</div>
|
||||
<div class="col">
|
||||
<VnInput
|
||||
ref="bicInputRef"
|
||||
:label="t('swift')"
|
||||
v-model="data.bic"
|
||||
:required="true"
|
||||
|
|
|
@ -66,6 +66,10 @@ const $props = defineProps({
|
|||
type: Function,
|
||||
default: null,
|
||||
},
|
||||
clearStoreOnUnmount: {
|
||||
type: Boolean,
|
||||
default: true,
|
||||
},
|
||||
saveFn: {
|
||||
type: Function,
|
||||
default: null,
|
||||
|
@ -114,7 +118,12 @@ onBeforeRouteLeave((to, from, next) => {
|
|||
});
|
||||
|
||||
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);
|
||||
|
|
|
@ -42,8 +42,8 @@ const { t } = useI18n();
|
|||
const closeButton = ref(null);
|
||||
const isLoading = ref(false);
|
||||
|
||||
const onDataSaved = (dataSaved) => {
|
||||
emit('onDataSaved', dataSaved);
|
||||
const onDataSaved = (formData, requestResponse) => {
|
||||
emit('onDataSaved', formData, requestResponse);
|
||||
closeForm();
|
||||
};
|
||||
|
||||
|
@ -59,7 +59,7 @@ const closeForm = () => {
|
|||
:default-actions="false"
|
||||
:url-create="urlCreate"
|
||||
:model="model"
|
||||
@on-data-saved="onDataSaved($event)"
|
||||
@on-data-saved="onDataSaved"
|
||||
>
|
||||
<template #form="{ data, validate }">
|
||||
<span ref="closeButton" class="close-icon" v-close-popup>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<script setup>
|
||||
import { computed } from 'vue';
|
||||
import { computed, ref } from 'vue';
|
||||
import { useI18n } from 'vue-i18n';
|
||||
|
||||
const emit = defineEmits(['update:modelValue', 'update:options', 'keyup.enter']);
|
||||
|
@ -17,7 +17,7 @@ const $props = defineProps({
|
|||
|
||||
const { t } = useI18n();
|
||||
const requiredFieldRule = (val) => !!val || t('globals.fieldRequired');
|
||||
|
||||
const vnInputRef = ref(null);
|
||||
const value = computed({
|
||||
get() {
|
||||
return $props.modelValue;
|
||||
|
@ -40,6 +40,14 @@ const styleAttrs = computed(() => {
|
|||
const onEnterPress = () => {
|
||||
emit('keyup.enter');
|
||||
};
|
||||
|
||||
const focus = () => {
|
||||
vnInputRef.value.focus();
|
||||
};
|
||||
|
||||
defineExpose({
|
||||
focus,
|
||||
});
|
||||
</script>
|
||||
|
||||
<template>
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -1,11 +1,10 @@
|
|||
<script setup>
|
||||
import { onMounted, ref, watch } from 'vue';
|
||||
import { useRoute } from 'vue-router';
|
||||
import axios from 'axios';
|
||||
import SkeletonSummary from 'components/ui/SkeletonSummary.vue';
|
||||
import VnLv from 'src/components/ui/VnLv.vue';
|
||||
|
||||
onMounted(() => fetch());
|
||||
|
||||
const entity = ref();
|
||||
const props = defineProps({
|
||||
url: {
|
||||
|
@ -16,14 +15,25 @@ const props = defineProps({
|
|||
type: Object,
|
||||
default: null,
|
||||
},
|
||||
entityId: {
|
||||
type: Number,
|
||||
default: null,
|
||||
},
|
||||
});
|
||||
const emit = defineEmits(['onFetch']);
|
||||
const route = useRoute();
|
||||
const isSummary = ref();
|
||||
|
||||
defineExpose({
|
||||
entity,
|
||||
fetch,
|
||||
});
|
||||
|
||||
onMounted(() => {
|
||||
isSummary.value = String(route.path).endsWith('/summary');
|
||||
fetch();
|
||||
});
|
||||
|
||||
async function fetch() {
|
||||
const params = {};
|
||||
|
||||
|
@ -48,7 +58,17 @@ watch(props, async () => {
|
|||
<template v-if="entity">
|
||||
<div class="summaryHeader bg-primary q-pa-sm text-weight-bolder">
|
||||
<slot name="header-left">
|
||||
<span></span>
|
||||
<router-link
|
||||
v-if="!isSummary && route.meta.moduleName"
|
||||
class="header link"
|
||||
:to="{
|
||||
name: `${route.meta.moduleName}Summary`,
|
||||
params: { id: entityId || entity.id },
|
||||
}"
|
||||
>
|
||||
<QIcon name="open_in_new" color="white" size="sm" />
|
||||
</router-link>
|
||||
<span v-else></span>
|
||||
</slot>
|
||||
<slot name="header" :entity="entity">
|
||||
<VnLv :label="`${entity.id} -`" :value="entity.name" />
|
||||
|
|
|
@ -118,7 +118,12 @@ async function search() {
|
|||
autofocus
|
||||
>
|
||||
<template #prepend>
|
||||
<QIcon name="search" v-if="!quasar.platform.is.mobile" />
|
||||
<QIcon
|
||||
v-if="!quasar.platform.is.mobile"
|
||||
class="cursor-pointer"
|
||||
name="search"
|
||||
@click="search"
|
||||
/>
|
||||
</template>
|
||||
<template #append>
|
||||
<QIcon
|
||||
|
|
|
@ -172,6 +172,7 @@ function openDialog(dmsId) {
|
|||
<CardSummary
|
||||
ref="summary"
|
||||
:url="`Claims/${entityId}/getSummary`"
|
||||
:entity-id="entityId"
|
||||
@on-fetch="getClaimDms"
|
||||
>
|
||||
<template #header="{ entity: { claim } }">
|
||||
|
|
|
@ -172,7 +172,6 @@ const fetchEntryBuys = async () => {
|
|||
<template #header>
|
||||
<span>{{ entry.id }} - {{ entry.supplier.nickname }}</span>
|
||||
</template>
|
||||
|
||||
<template #body>
|
||||
<QCard class="vn-one">
|
||||
<a class="header header-link" :href="`#/entry/${entityId}/basic-data`">
|
||||
|
|
|
@ -95,7 +95,11 @@ const ticketsColumns = ref([
|
|||
</script>
|
||||
|
||||
<template>
|
||||
<CardSummary ref="summary" :url="`InvoiceOuts/${entityId}/summary`">
|
||||
<CardSummary
|
||||
ref="summary"
|
||||
:url="`InvoiceOuts/${entityId}/summary`"
|
||||
:entity-id="entityId"
|
||||
>
|
||||
<template #header="{ entity: { invoiceOut } }">
|
||||
<div>{{ invoiceOut.ref }} - {{ invoiceOut.client?.socialName }}</div>
|
||||
</template>
|
||||
|
|
|
@ -132,12 +132,11 @@ const openBuscaman = async (route, ticket) => {
|
|||
|
||||
<template>
|
||||
<div class="q-pa-md">
|
||||
<CardSummary ref="summary" :url="`Routes/${entityId}/summary`">
|
||||
<template #header-left>
|
||||
<RouterLink :to="{ name: `RouteSummary`, params: { id: entityId } }">
|
||||
<QIcon name="open_in_new" color="white" size="sm" />
|
||||
</RouterLink>
|
||||
</template>
|
||||
<CardSummary
|
||||
ref="summary"
|
||||
:url="`Routes/${entityId}/summary`"
|
||||
:entity-id="entityId"
|
||||
>
|
||||
<template #header="{ entity }">
|
||||
<span>{{ `${entity?.route.id} - ${entity?.route?.description}` }}</span>
|
||||
</template>
|
||||
|
|
|
@ -18,13 +18,16 @@ const quasar = useQuasar();
|
|||
const { notify } = useNotify();
|
||||
const route = useRoute();
|
||||
const { t } = useI18n();
|
||||
|
||||
const bankEntitiesRef = ref(null);
|
||||
const supplier = ref(null);
|
||||
const supplierAccountRef = ref(null);
|
||||
const wireTransferFk = ref(null);
|
||||
const bankEntitiesOptions = ref([]);
|
||||
|
||||
const onBankEntityCreated = (data) => {
|
||||
bankEntitiesOptions.value.push(data);
|
||||
const onBankEntityCreated = async (dataSaved, rowData) => {
|
||||
await bankEntitiesRef.value.fetch();
|
||||
rowData.bankEntityFk = dataSaved.id;
|
||||
};
|
||||
|
||||
const onChangesSaved = () => {
|
||||
|
@ -63,6 +66,7 @@ onMounted(() => {
|
|||
</script>
|
||||
<template>
|
||||
<FetchData
|
||||
ref="bankEntitiesRef"
|
||||
url="BankEntities"
|
||||
@on-fetch="(data) => (bankEntitiesOptions = data)"
|
||||
auto-load
|
||||
|
@ -114,13 +118,16 @@ onMounted(() => {
|
|||
:label="t('worker.create.bankEntity')"
|
||||
v-model="row.bankEntityFk"
|
||||
:options="bankEntitiesOptions"
|
||||
option-label="name"
|
||||
option-label="bic"
|
||||
option-value="id"
|
||||
hide-selected
|
||||
>
|
||||
<template #form>
|
||||
<CreateBankEntityForm
|
||||
@on-data-saved="onBankEntityCreated($event)"
|
||||
@on-data-saved="
|
||||
(_, requestResponse) =>
|
||||
onBankEntityCreated(requestResponse, row)
|
||||
"
|
||||
:show-entity-field="false"
|
||||
/>
|
||||
</template>
|
||||
|
|
|
@ -83,8 +83,13 @@ const redirectToUpdateView = (addressData) => {
|
|||
<QPageSticky :offset="[20, 20]">
|
||||
<QBtn fab icon="add" color="primary" @click="redirectToCreateView()" />
|
||||
<QTooltip>
|
||||
{{ t('supplier.list.newSupplier') }}
|
||||
{{ t('New address') }}
|
||||
</QTooltip>
|
||||
</QPageSticky>
|
||||
</QPage>
|
||||
</template>
|
||||
|
||||
<i18n>
|
||||
es:
|
||||
New address: Nueva dirección
|
||||
</i18n>
|
||||
|
|
|
@ -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">
|
||||
|
|
|
@ -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">
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<script setup>
|
||||
import { ref, onMounted } from 'vue';
|
||||
import { ref, onMounted, nextTick } from 'vue';
|
||||
import { useRoute } from 'vue-router';
|
||||
import { useI18n } from 'vue-i18n';
|
||||
|
||||
|
@ -11,6 +11,15 @@ const route = useRoute();
|
|||
const { t } = useI18n();
|
||||
const supplierContactRef = ref(null);
|
||||
|
||||
const insertRow = () => {
|
||||
supplierContactRef.value.insert();
|
||||
nextTick(() => {
|
||||
const inputs = document.querySelectorAll('[input-name-focusable]');
|
||||
const lastInput = inputs[inputs.length - 1];
|
||||
if (lastInput) lastInput.focus();
|
||||
});
|
||||
};
|
||||
|
||||
onMounted(() => {
|
||||
if (supplierContactRef.value) supplierContactRef.value.reload();
|
||||
});
|
||||
|
@ -38,6 +47,7 @@ onMounted(() => {
|
|||
<VnRow class="row q-gutter-md">
|
||||
<div class="col">
|
||||
<VnInput
|
||||
input-name-focusable
|
||||
:label="t('supplier.contacts.name')"
|
||||
v-model="row.name"
|
||||
/>
|
||||
|
@ -92,7 +102,7 @@ onMounted(() => {
|
|||
size="sm"
|
||||
class="cursor-pointer"
|
||||
color="primary"
|
||||
@click="supplierContactRef.insert()"
|
||||
@click="insertRow()"
|
||||
>
|
||||
<QTooltip>
|
||||
{{ t('Add contact') }}
|
||||
|
|
|
@ -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 supplier = computed(() => state.get('supplier'));
|
||||
jsegarra marked this conversation as resolved
Outdated
|
||||
|
||||
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="supplier" class="q-gutter-x-md">
|
||||
<QIcon
|
||||
v-if="!entity.isActive"
|
||||
v-if="!supplier.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="!supplier.isSerious"
|
||||
name="vn:supplierfalse"
|
||||
color="primary"
|
||||
size="xs"
|
||||
|
@ -167,6 +171,7 @@ const getEntryQueryParams = (supplier) => {
|
|||
<QTooltip>{{ t('All entries with current supplier') }}</QTooltip>
|
||||
</QBtn>
|
||||
<QBtn
|
||||
v-if="entity.client?.fi"
|
||||
:to="{
|
||||
name: 'CustomerCard',
|
||||
params: { id: entity.client?.id },
|
||||
|
|
|
@ -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
jgallego
commented
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
wbuezas
commented
@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 @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
jsegarra
commented
@jgallego https://redmine.verdnatura.es/issues/6973?issue_count=27&issue_position=1&next_issue_id=6972 @jgallego https://redmine.verdnatura.es/issues/6973?issue_count=27&issue_position=1&next_issue_id=6972
jgallego
commented
Perfecto, cierro convesación Perfecto, cierro convesación
|
||||
>
|
||||
<template #form="{ data, validate }">
|
||||
<VnRow class="row q-gutter-md q-mb-md">
|
||||
|
|
|
@ -51,25 +51,20 @@ const isAdministrative = computed(() => {
|
|||
:url="`Suppliers/${entityId}/getSummary`"
|
||||
@on-fetch="(data) => setData(data)"
|
||||
>
|
||||
<template #header-left>
|
||||
<a v-if="isAdministrative" class="header header-link" :href="supplierUrl">
|
||||
<QIcon name="open_in_new" color="white" size="sm" />
|
||||
</a>
|
||||
</template>
|
||||
<template #header>
|
||||
<span>{{ supplier.name }} - {{ supplier.id }}</span>
|
||||
</template>
|
||||
jsegarra marked this conversation as resolved
Outdated
jsegarra
commented
Duda, pero esto se tiene que hacer en cada módulo? Duda, pero esto se tiene que hacer en cada módulo?
No se puede hacer a nivel de CardSummary?
wbuezas
commented
@jsegarra actualmente eso se maneja de manera externa al @jsegarra actualmente eso se maneja de manera externa al `CardSummary`, lo que si se puede hacer es integrar ese icon dentro del `CardSummary` y no repetirlo en todas las vistas
wbuezas
commented
Acá esta el cambio del Commit: Acá esta el cambio del `CardSummary` del que hablamos
Commit: https://gitea.verdnatura.es/verdnatura/salix-front/commit/f1961f07d103e78310aadfea9b2ece6bfb6bdb7a
|
||||
|
||||
<template #body>
|
||||
<QCard class="vn-one">
|
||||
<a
|
||||
<router-link
|
||||
v-if="isAdministrative"
|
||||
class="header header-link"
|
||||
:href="`#/supplier/${entityId}/basic-data`"
|
||||
class="header link"
|
||||
:to="{ name: 'SupplierBasicData', params: { id: entityId } }"
|
||||
>
|
||||
{{ t('globals.summary.basicData') }}
|
||||
<QIcon name="open_in_new" />
|
||||
</a>
|
||||
</router-link>
|
||||
<span v-else> {{ t('globals.summary.basicData') }}</span>
|
||||
<VnLv label="Id" :value="supplier.id" />
|
||||
<VnLv label="Alias" :value="supplier.nickname" />
|
||||
|
@ -98,14 +93,14 @@ const isAdministrative = computed(() => {
|
|||
/>
|
||||
</QCard>
|
||||
<QCard class="vn-one">
|
||||
<a
|
||||
<router-link
|
||||
v-if="isAdministrative"
|
||||
class="header header-link"
|
||||
:href="`#/supplier/${entityId}/billing-data`"
|
||||
class="header link"
|
||||
:to="{ name: 'SupplierBillingData', params: { id: entityId } }"
|
||||
>
|
||||
{{ t('supplier.summary.billingData') }}
|
||||
<QIcon name="open_in_new" />
|
||||
</a>
|
||||
</router-link>
|
||||
<span v-else> {{ t('supplier.summary.billingData') }}</span>
|
||||
<VnLv
|
||||
:label="t('supplier.summary.payMethod')"
|
||||
|
@ -121,14 +116,14 @@ const isAdministrative = computed(() => {
|
|||
<VnLv :label="t('supplier.summary.account')" :value="supplier.account" />
|
||||
</QCard>
|
||||
<QCard class="vn-one">
|
||||
<a
|
||||
<router-link
|
||||
v-if="isAdministrative"
|
||||
class="header header-link"
|
||||
:href="`#/supplier/${entityId}/fiscal-data`"
|
||||
class="header link"
|
||||
:to="{ name: 'SupplierFiscalData', params: { id: entityId } }"
|
||||
>
|
||||
{{ t('supplier.summary.fiscalData') }}
|
||||
<QIcon name="open_in_new" />
|
||||
</a>
|
||||
</router-link>
|
||||
<span v-else> {{ t('supplier.summary.fiscalData') }}</span>
|
||||
<VnLv
|
||||
:label="t('supplier.summary.sageTaxType')"
|
||||
|
@ -156,14 +151,14 @@ const isAdministrative = computed(() => {
|
|||
/>
|
||||
</QCard>
|
||||
<QCard class="vn-one">
|
||||
<a
|
||||
<router-link
|
||||
v-if="isAdministrative"
|
||||
class="header header-link"
|
||||
:href="`#/supplier/${entityId}/fiscal-data`"
|
||||
class="header link"
|
||||
:to="{ name: 'SupplierFiscalData', params: { id: entityId } }"
|
||||
>
|
||||
{{ t('supplier.summary.fiscalAddress') }}
|
||||
<QIcon name="open_in_new" />
|
||||
</a>
|
||||
</router-link>
|
||||
<span v-else> {{ t('supplier.summary.fiscalAddress') }}</span>
|
||||
<VnLv :label="t('supplier.summary.socialName')" :value="supplier.name" />
|
||||
<VnLv :label="t('supplier.summary.taxNumber')" :value="supplier.nif" />
|
||||
|
|
|
@ -42,7 +42,7 @@ const redirectToCreateView = () => {
|
|||
</QScrollArea>
|
||||
</QDrawer>
|
||||
<div class="vn-card-list">
|
||||
<VnPaginate data-key="SuppliersList" url="Suppliers/filter" auto-load>
|
||||
<VnPaginate data-key="SuppliersList" url="Suppliers/filter">
|
||||
<template #body="{ rows }">
|
||||
<CardList
|
||||
v-for="row of rows"
|
||||
|
|
|
@ -236,19 +236,9 @@ async function setTravelData(travelData) {
|
|||
:url="`Travels/${entityId}/getTravel`"
|
||||
@on-fetch="(data) => setTravelData(data)"
|
||||
>
|
||||
<template #header-left>
|
||||
<router-link
|
||||
class="header link"
|
||||
:to="{ name: 'TravelSummary', params: { id: entityId } }"
|
||||
>
|
||||
<QIcon name="open_in_new" color="white" size="sm" />
|
||||
<QTooltip>{{ t('travel.pageTitles.summary') }}</QTooltip>
|
||||
</router-link>
|
||||
</template>
|
||||
<template #header>
|
||||
<span>{{ travel.ref }} - {{ travel.id }}</span>
|
||||
</template>
|
||||
|
||||
<template #header-right>
|
||||
<QBtn color="white" dense flat icon="more_vert" round size="md">
|
||||
<QTooltip>
|
||||
|
|
|
@ -6,6 +6,7 @@ export default {
|
|||
meta: {
|
||||
title: 'suppliers',
|
||||
icon: 'vn:supplier',
|
||||
moduleName: 'Supplier',
|
||||
},
|
||||
component: RouterView,
|
||||
redirect: { name: 'SupplierMain' },
|
||||
|
|
|
@ -6,6 +6,7 @@ export default {
|
|||
meta: {
|
||||
title: 'claims',
|
||||
icon: 'vn:claims',
|
||||
moduleName: 'Claim',
|
||||
},
|
||||
component: RouterView,
|
||||
redirect: { name: 'ClaimMain' },
|
||||
|
|
|
@ -6,6 +6,7 @@ export default {
|
|||
meta: {
|
||||
title: 'customers',
|
||||
icon: 'vn:client',
|
||||
moduleName: 'Customer',
|
||||
},
|
||||
component: RouterView,
|
||||
redirect: { name: 'CustomerMain' },
|
||||
|
|
|
@ -6,6 +6,7 @@ export default {
|
|||
meta: {
|
||||
title: 'entries',
|
||||
icon: 'vn:entry',
|
||||
moduleName: 'Entry',
|
||||
},
|
||||
component: RouterView,
|
||||
redirect: { name: 'EntryMain' },
|
||||
|
|
|
@ -6,6 +6,7 @@ export default {
|
|||
meta: {
|
||||
title: 'invoiceIns',
|
||||
icon: 'vn:invoice-in',
|
||||
moduleName: 'InvoiceIn',
|
||||
},
|
||||
component: RouterView,
|
||||
redirect: { name: 'InvoiceInMain' },
|
||||
|
|
|
@ -6,6 +6,7 @@ export default {
|
|||
meta: {
|
||||
title: 'invoiceOuts',
|
||||
icon: 'vn:invoice-out',
|
||||
moduleName: 'InvoiceOut',
|
||||
},
|
||||
component: RouterView,
|
||||
redirect: { name: 'InvoiceOutMain' },
|
||||
|
|
|
@ -6,6 +6,7 @@ export default {
|
|||
meta: {
|
||||
title: 'order',
|
||||
icon: 'vn:basket',
|
||||
moduleName: 'Order',
|
||||
},
|
||||
component: RouterView,
|
||||
redirect: { name: 'OrderMain' },
|
||||
|
|
|
@ -6,6 +6,7 @@ export default {
|
|||
meta: {
|
||||
title: 'routes',
|
||||
icon: 'vn:delivery',
|
||||
moduleName: 'Route',
|
||||
},
|
||||
component: RouterView,
|
||||
redirect: { name: 'RouteMain' },
|
||||
|
|
|
@ -1,17 +1,18 @@
|
|||
import {RouterView} from "vue-router";
|
||||
import { RouterView } from 'vue-router';
|
||||
|
||||
export default {
|
||||
path: '/shelving',
|
||||
name: 'Shelving',
|
||||
meta: {
|
||||
title: 'shelving',
|
||||
icon: 'vn:inventory'
|
||||
icon: 'vn:inventory',
|
||||
moduleName: 'Shelving',
|
||||
},
|
||||
component: RouterView,
|
||||
redirect: { name: 'ShelvingMain' },
|
||||
menus: {
|
||||
main: ['ShelvingList'],
|
||||
card: ['ShelvingBasicData', 'ShelvingLog']
|
||||
card: ['ShelvingBasicData', 'ShelvingLog'],
|
||||
},
|
||||
children: [
|
||||
{
|
||||
|
@ -51,8 +52,7 @@ export default {
|
|||
meta: {
|
||||
title: 'summary',
|
||||
},
|
||||
component: () =>
|
||||
import('pages/Shelving/Card/ShelvingSummary.vue'),
|
||||
component: () => import('pages/Shelving/Card/ShelvingSummary.vue'),
|
||||
},
|
||||
{
|
||||
name: 'ShelvingBasicData',
|
||||
|
@ -75,6 +75,5 @@ export default {
|
|||
},
|
||||
],
|
||||
},
|
||||
]
|
||||
],
|
||||
};
|
||||
|
||||
|
|
|
@ -6,6 +6,7 @@ export default {
|
|||
meta: {
|
||||
title: 'tickets',
|
||||
icon: 'vn:ticket',
|
||||
moduleName: 'Ticket',
|
||||
},
|
||||
component: RouterView,
|
||||
redirect: { name: 'TicketMain' },
|
||||
|
|
|
@ -6,6 +6,7 @@ export default {
|
|||
meta: {
|
||||
title: 'travel',
|
||||
icon: 'local_airport',
|
||||
moduleName: 'Travel',
|
||||
},
|
||||
component: RouterView,
|
||||
redirect: { name: 'TravelMain' },
|
||||
|
|
|
@ -6,6 +6,7 @@ export default {
|
|||
meta: {
|
||||
title: 'wagons',
|
||||
icon: 'vn:trolley',
|
||||
moduleName: 'Wagon',
|
||||
},
|
||||
component: RouterView,
|
||||
redirect: { name: 'WagonMain' },
|
||||
|
|
|
@ -6,6 +6,7 @@ export default {
|
|||
meta: {
|
||||
title: 'workers',
|
||||
icon: 'vn:worker',
|
||||
moduleName: 'Worker',
|
||||
},
|
||||
component: RouterView,
|
||||
redirect: { name: 'WorkerMain' },
|
||||
|
|
Loading…
Reference in New Issue
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?
Claro, tomé la decisión de cambiar el nombre de la variable porque en el html ya utilizamos la variable
entity
que se obtiene delv-slot
y en este caso necesitaba obtener la información del store de manera que se podian repetir/pisar las variables con el mismo nombreDe todas maneras cambié el nombre de la variable
currentSupplier
por el nombresupplier
Commit:
052123ad0e