diff --git a/src/components/FormModel.vue b/src/components/FormModel.vue index 9f5ae319c..56811ffdd 100644 --- a/src/components/FormModel.vue +++ b/src/components/FormModel.vue @@ -96,16 +96,16 @@ onMounted(async () => { }); onBeforeRouteLeave((to, from, next) => { - if (!hasChanges.value) next(); - - quasar.dialog({ - component: VnConfirm, - componentProps: { - title: t('Unsaved changes will be lost'), - message: t('Are you sure exit without saving?'), - promise: () => next(), - }, - }); + if (hasChanges.value) { + quasar.dialog({ + component: VnConfirm, + componentProps: { + title: t('Unsaved changes will be lost'), + message: t('Are you sure exit without saving?'), + promise: () => next(), + }, + }); + } else next(); }); onUnmounted(() => { diff --git a/src/i18n/en/index.js b/src/i18n/en/index.js index 0cc91c88d..7643ef640 100644 --- a/src/i18n/en/index.js +++ b/src/i18n/en/index.js @@ -698,6 +698,7 @@ export default { intrastat: 'Intrastat', corrective: 'Corrective', log: 'Logs', + create: 'Create', }, list: { ref: 'Reference', diff --git a/src/i18n/es/index.js b/src/i18n/es/index.js index 7369721e6..c22a15b69 100644 --- a/src/i18n/es/index.js +++ b/src/i18n/es/index.js @@ -756,6 +756,7 @@ export default { intrastat: 'Intrastat', corrective: 'Rectificativa', log: 'Registros de auditoría', + create: 'Crear', }, list: { ref: 'Referencia', diff --git a/src/pages/InvoiceIn/Card/InvoiceInBasicData.vue b/src/pages/InvoiceIn/Card/InvoiceInBasicData.vue index 8ee7e647a..746ff3c49 100644 --- a/src/pages/InvoiceIn/Card/InvoiceInBasicData.vue +++ b/src/pages/InvoiceIn/Card/InvoiceInBasicData.vue @@ -1,6 +1,6 @@ (banks = data)" /> @@ -180,6 +182,17 @@ async function insert() { /> + + + + + + + {{ toCurrency(getTotalAmount(rows)) }} + + + + diff --git a/src/pages/InvoiceIn/Card/InvoiceInSummary.vue b/src/pages/InvoiceIn/Card/InvoiceInSummary.vue index 1df785b9d..47f9eb4cc 100644 --- a/src/pages/InvoiceIn/Card/InvoiceInSummary.vue +++ b/src/pages/InvoiceIn/Card/InvoiceInSummary.vue @@ -6,6 +6,7 @@ import { toCurrency, toDate } from 'src/filters'; import { getUrl } from 'src/composables/getUrl'; import CardSummary from 'components/ui/CardSummary.vue'; import VnLv from 'src/components/ui/VnLv.vue'; +import SupplierDescriptorProxy from 'src/pages/Supplier/Card/SupplierDescriptorProxy.vue'; onMounted(async () => { salixUrl.value = await getUrl(''); @@ -217,7 +218,14 @@ function getLink(param) { + > + + + {{ invoiceIn.supplier?.name }} + + + + - - {{ t('invoiceIn.pageTitles.basicData') }} - - + {{ t('Totals') }} - - - - - - - {{ toCurrency(invoiceIn.totals.totalDueDay) }} - - - - + + + + + + {{ toCurrency(invoiceIn.totals.totalDueDay) }} + + + - + {{ t('invoiceIn.card.vat') }} @@ -350,7 +350,7 @@ function getLink(param) { - + {{ t('invoiceIn.card.dueDay') }} @@ -416,13 +416,16 @@ function getLink(param) { .bg { background-color: var(--vn-light-gray); } -.bordered { - border: 1px solid var(--vn-text); - max-width: 18em; + +@media (max-width: $breakpoint-md) { + .cardSummary .summaryBody > .q-card.vn-two { + flex: 100%; + } } es: Search invoice: Buscar factura recibida You can search by invoice reference: Puedes buscar por referencia de la factura + Totals: Totales diff --git a/src/pages/InvoiceIn/Card/InvoiceInVat.vue b/src/pages/InvoiceIn/Card/InvoiceInVat.vue index 8915a96ec..0a817b8fc 100644 --- a/src/pages/InvoiceIn/Card/InvoiceInVat.vue +++ b/src/pages/InvoiceIn/Card/InvoiceInVat.vue @@ -1,6 +1,6 @@ + + + + + + {{ toCurrency(getTotalTaxableBase(rows)) }} + + + + + + + diff --git a/src/pages/InvoiceIn/InvoiceInCreate.vue b/src/pages/InvoiceIn/InvoiceInCreate.vue new file mode 100644 index 000000000..df8ea4885 --- /dev/null +++ b/src/pages/InvoiceIn/InvoiceInCreate.vue @@ -0,0 +1,123 @@ + + + + (suppliersOptions = data)" + auto-load + /> + (companiesOptions = data)" + auto-load + /> + + + + + + + + + + + + + + + {{ scope.opt?.nickname }} + + #{{ scope.opt?.id }} + + + + + + + + + + + + + + + + + + es: + Supplier: Proveedor + Travel: Envío + Company: Empresa + diff --git a/src/pages/InvoiceIn/InvoiceInList.vue b/src/pages/InvoiceIn/InvoiceInList.vue index 9508c669c..af1d226f3 100644 --- a/src/pages/InvoiceIn/InvoiceInList.vue +++ b/src/pages/InvoiceIn/InvoiceInList.vue @@ -13,6 +13,7 @@ import InvoiceInFilter from './InvoiceInFilter.vue'; import { getUrl } from 'src/composables/getUrl'; import InvoiceInSummary from './Card/InvoiceInSummary.vue'; import { useSummaryDialog } from 'src/composables/useSummaryDialog'; +import SupplierDescriptorProxy from 'src/pages/Supplier/Card/SupplierDescriptorProxy.vue'; const stateStore = useStateStore(); const router = useRouter(); @@ -85,7 +86,15 @@ function navigate(id) { + @click.stop + > + + + {{ row.supplierName }} + + + + - + diff --git a/src/pages/Supplier/Card/SupplierDescriptor.vue b/src/pages/Supplier/Card/SupplierDescriptor.vue index 83bad87d2..e30ef430c 100644 --- a/src/pages/Supplier/Card/SupplierDescriptor.vue +++ b/src/pages/Supplier/Card/SupplierDescriptor.vue @@ -178,7 +178,7 @@ const getEntryQueryParams = (supplier) => { {{ t('Go to client') }} import('src/pages/InvoiceIn/InvoiceInList.vue'), }, + { + path: 'create', + name: 'InvoiceInCreate', + meta: { + title: 'create', + icon: 'vn:settings', + }, + component: () => import('src/pages/InvoiceIn/InvoiceInCreate.vue'), + }, ], }, {