diff --git a/src/components/common/VnSelectCreate.vue b/src/components/common/VnSelectCreate.vue index 54d36ceaa..cdfb0bfbd 100644 --- a/src/components/common/VnSelectCreate.vue +++ b/src/components/common/VnSelectCreate.vue @@ -63,7 +63,7 @@ const toggleForm = () => { diff --git a/src/components/common/VnSelectFilter.vue b/src/components/common/VnSelectFilter.vue index 759706d11..c223571f3 100644 --- a/src/components/common/VnSelectFilter.vue +++ b/src/components/common/VnSelectFilter.vue @@ -102,7 +102,7 @@ const value = computed({ name="close" @click.stop="value = null" class="cursor-pointer" - size="18px" + size="xs" /> diff --git a/src/i18n/en/index.js b/src/i18n/en/index.js index 0aa0ff89e..96a25d1a7 100644 --- a/src/i18n/en/index.js +++ b/src/i18n/en/index.js @@ -62,6 +62,7 @@ export default { selectRows: 'Select all { numberRows } row(s)', allRows: 'All { numberRows } row(s)', markAll: 'Mark all', + noResults: 'No results' }, errors: { statusUnauthorized: 'Access denied', @@ -115,7 +116,20 @@ export default { defaulter: 'Defaulter', createCustomer: 'Create customer', summary: 'Summary', - basicData: 'Basic Data', + basicData: 'Basic data', + fiscalData: 'Fiscal data', + billingData: 'Billing data', + consignees: 'Consignees', + notes: 'Notes', + credits: 'Credits', + greuges: 'Greuges', + balance: 'Balance', + recoveries: 'Recoveries', + webAccess: 'Web access', + log: 'Log', + sms: 'Sms', + creditManagement: 'Credit management', + others: 'Others', }, list: { phone: 'Phone', @@ -605,6 +619,7 @@ export default { basicData: 'Basic Data', catalog: 'Catalog', volume: 'Volume', + lines: 'Lines', }, field: { salesPersonFk: 'Sales Person', diff --git a/src/i18n/es/index.js b/src/i18n/es/index.js index 67f5a15ee..6b1e22263 100644 --- a/src/i18n/es/index.js +++ b/src/i18n/es/index.js @@ -62,6 +62,7 @@ export default { selectRows: 'Seleccionar las { numberRows } filas(s)', allRows: 'Todo { numberRows } filas(s)', markAll: 'Marcar todo', + noResults: 'Sin resultados' }, errors: { statusUnauthorized: 'Acceso denegado', @@ -114,8 +115,21 @@ export default { notifications: 'Notificaciones', defaulter: 'Morosos', createCustomer: 'Crear cliente', - basicData: 'Datos básicos', summary: 'Resumen', + basicData: 'Datos básicos', + fiscalData: 'Datos fiscales', + billingData: 'Forma de pago', + consignees: 'Consignatarios', + notes: 'Notas', + credits: 'Créditos', + greuges: 'Greuges', + balance: 'Balance', + recoveries: 'Recobros', + webAccess: 'Acceso web', + log: 'Historial', + sms: 'Sms', + creditManagement: 'Gestión de crédito', + others: 'Otros', }, list: { phone: 'Teléfono', @@ -513,6 +527,7 @@ export default { basicData: 'Datos básicos', catalog: 'Catálogo', volume: 'Volumen', + lines: 'Líneas', }, field: { salesPersonFk: 'Comercial', diff --git a/src/pages/Customer/Card/CustomerBalance.vue b/src/pages/Customer/Card/CustomerBalance.vue new file mode 100644 index 000000000..9e44f67f5 --- /dev/null +++ b/src/pages/Customer/Card/CustomerBalance.vue @@ -0,0 +1,3 @@ + + Balance + diff --git a/src/pages/Customer/Card/CustomerBillingData.vue b/src/pages/Customer/Card/CustomerBillingData.vue new file mode 100644 index 000000000..c14f3b499 --- /dev/null +++ b/src/pages/Customer/Card/CustomerBillingData.vue @@ -0,0 +1,3 @@ + + Billing data + diff --git a/src/pages/Customer/Card/CustomerConsignees.vue b/src/pages/Customer/Card/CustomerConsignees.vue new file mode 100644 index 000000000..bab2bd1ff --- /dev/null +++ b/src/pages/Customer/Card/CustomerConsignees.vue @@ -0,0 +1,3 @@ + + Consignees + diff --git a/src/pages/Customer/Card/CustomerCreditManagement.vue b/src/pages/Customer/Card/CustomerCreditManagement.vue new file mode 100644 index 000000000..fe24ddfd0 --- /dev/null +++ b/src/pages/Customer/Card/CustomerCreditManagement.vue @@ -0,0 +1,3 @@ + + Credit management + diff --git a/src/pages/Customer/Card/CustomerCredits.vue b/src/pages/Customer/Card/CustomerCredits.vue new file mode 100644 index 000000000..e8a4c3b48 --- /dev/null +++ b/src/pages/Customer/Card/CustomerCredits.vue @@ -0,0 +1,3 @@ + + Credits + diff --git a/src/pages/Customer/Card/CustomerFiscalData.vue b/src/pages/Customer/Card/CustomerFiscalData.vue new file mode 100644 index 000000000..ced6012b8 --- /dev/null +++ b/src/pages/Customer/Card/CustomerFiscalData.vue @@ -0,0 +1,3 @@ + + Fiscal data + diff --git a/src/pages/Customer/Card/CustomerGreuges.vue b/src/pages/Customer/Card/CustomerGreuges.vue new file mode 100644 index 000000000..d322e04a5 --- /dev/null +++ b/src/pages/Customer/Card/CustomerGreuges.vue @@ -0,0 +1,3 @@ + + Greuges + diff --git a/src/pages/Customer/Card/CustomerLog.vue b/src/pages/Customer/Card/CustomerLog.vue new file mode 100644 index 000000000..fe59bf2dc --- /dev/null +++ b/src/pages/Customer/Card/CustomerLog.vue @@ -0,0 +1,3 @@ + + Log + diff --git a/src/pages/Customer/Card/CustomerNotes.vue b/src/pages/Customer/Card/CustomerNotes.vue new file mode 100644 index 000000000..65ade2903 --- /dev/null +++ b/src/pages/Customer/Card/CustomerNotes.vue @@ -0,0 +1,3 @@ + + Notes + diff --git a/src/pages/Customer/Card/CustomerOthers.vue b/src/pages/Customer/Card/CustomerOthers.vue new file mode 100644 index 000000000..bd4729cab --- /dev/null +++ b/src/pages/Customer/Card/CustomerOthers.vue @@ -0,0 +1,3 @@ + + Others + diff --git a/src/pages/Customer/Card/CustomerRecoveries.vue b/src/pages/Customer/Card/CustomerRecoveries.vue new file mode 100644 index 000000000..54274717c --- /dev/null +++ b/src/pages/Customer/Card/CustomerRecoveries.vue @@ -0,0 +1,3 @@ + + Recoveries + diff --git a/src/pages/Customer/Card/CustomerSms.vue b/src/pages/Customer/Card/CustomerSms.vue new file mode 100644 index 000000000..fa4a34e30 --- /dev/null +++ b/src/pages/Customer/Card/CustomerSms.vue @@ -0,0 +1,3 @@ + + Sms + diff --git a/src/pages/Customer/Card/CustomerWebAccess.vue b/src/pages/Customer/Card/CustomerWebAccess.vue new file mode 100644 index 000000000..95ec77c3d --- /dev/null +++ b/src/pages/Customer/Card/CustomerWebAccess.vue @@ -0,0 +1,3 @@ + + Web access + diff --git a/src/pages/Customer/Defaulter/CustomerBalanceDueTotal.vue b/src/pages/Customer/Defaulter/CustomerBalanceDueTotal.vue new file mode 100644 index 000000000..c2bfbc2f5 --- /dev/null +++ b/src/pages/Customer/Defaulter/CustomerBalanceDueTotal.vue @@ -0,0 +1,54 @@ + + + + + {{ t('Total') }} + + {{ t('Balance due') }}: + + {{ toCurrency($props.amount) }} + + + + + + + + +es: + Total: Total + Balance due: Saldo vencido + diff --git a/src/pages/Customer/Defaulter/CustomerDefaulter.vue b/src/pages/Customer/Defaulter/CustomerDefaulter.vue index 476c612d6..0331acfc0 100644 --- a/src/pages/Customer/Defaulter/CustomerDefaulter.vue +++ b/src/pages/Customer/Defaulter/CustomerDefaulter.vue @@ -4,11 +4,12 @@ import { useI18n } from 'vue-i18n'; import { QBtn, QCheckbox } from 'quasar'; +import { toCurrency, toDate } from 'filters/index'; import { useArrayData } from 'composables/useArrayData'; import { useStateStore } from 'stores/useStateStore'; -import { toCurrency, toDate } from 'filters/index'; import CustomerNotificationsFilter from './CustomerDefaulterFilter.vue'; +import CustomerBalanceDueTotal from './CustomerBalanceDueTotal.vue'; import CustomerDescriptorProxy from 'src/pages/Customer/Card/CustomerDescriptorProxy.vue'; import WorkerDescriptorProxy from 'src/pages/Worker/Card/WorkerDescriptorProxy.vue'; @@ -16,6 +17,7 @@ const { t } = useI18n(); const stateStore = useStateStore(); const arrayData = ref(null); +const balanceDueTotal = ref(0); onBeforeMount(async () => { arrayData.value = useArrayData('CustomerDefaulter', { @@ -23,6 +25,13 @@ onBeforeMount(async () => { limit: 0, }); await arrayData.value.fetch({ append: false }); + balanceDueTotal.value = arrayData.value.store.data.reduce( + (accumulator, currentValue) => { + return accumulator + (currentValue['amount'] || 0); + }, + 0 + ); + console.log(balanceDueTotal.value); stateStore.rightDrawer = true; }); @@ -188,7 +197,9 @@ const selectAuthorId = (id) => { - + + + @@ -204,11 +215,6 @@ const selectAuthorId = (id) => { selection="multiple" v-model:selected="selected" > - - - {{ `${rows.length} ${t('route.cmr.list.results')}` }} - - diff --git a/src/pages/Customer/Notifications/CustomerNotifications.vue b/src/pages/Customer/Notifications/CustomerNotifications.vue index e8d779cb5..d93de1c2d 100644 --- a/src/pages/Customer/Notifications/CustomerNotifications.vue +++ b/src/pages/Customer/Notifications/CustomerNotifications.vue @@ -121,11 +121,6 @@ const selectCustomerId = (id) => { selection="multiple" v-model:selected="selected" > - - - {{ `${rows.length} ${t('route.cmr.list.results')}` }} - - diff --git a/src/pages/Order/Card/OrderDescriptor.vue b/src/pages/Order/Card/OrderDescriptor.vue index 727d74322..1c770194a 100644 --- a/src/pages/Order/Card/OrderDescriptor.vue +++ b/src/pages/Order/Card/OrderDescriptor.vue @@ -10,6 +10,7 @@ import WorkerDescriptorProxy from 'src/pages/Worker/Card/WorkerDescriptorProxy.v import CardDescriptor from 'components/ui/CardDescriptor.vue'; import VnLv from 'src/components/ui/VnLv.vue'; import OrderDescriptorMenu from 'pages/Order/Card/OrderDescriptorMenu.vue'; +import FetchData from 'components/FetchData.vue'; const DEFAULT_ITEMS = 0; @@ -66,9 +67,16 @@ const setData = (entity) => { const getConfirmationValue = (isConfirmed) => { return t(isConfirmed ? 'order.summary.confirmed' : 'order.summary.notConfirmed'); }; + +const total = ref(null); + (total = response)" + auto-load + /> { :label="t('order.summary.items')" :value="(entity?.rows?.length || DEFAULT_ITEMS).toString()" /> - + diff --git a/src/pages/Order/OrderCatalog.vue b/src/pages/Order/OrderCatalog.vue index a257f7627..93c805e91 100644 --- a/src/pages/Order/OrderCatalog.vue +++ b/src/pages/Order/OrderCatalog.vue @@ -64,6 +64,9 @@ const catalogParams = { > + + {{ t('globals.noResults') }} + @@ -72,7 +75,7 @@ const catalogParams = { - diff --git a/src/pages/Order/OrderLines.vue b/src/pages/Order/OrderLines.vue new file mode 100644 index 000000000..48d0e548c --- /dev/null +++ b/src/pages/Order/OrderLines.vue @@ -0,0 +1,288 @@ + + + + (orderSummary.total = data)" + auto-load + /> + (orderSummary.vat = data)" + auto-load + /> + + + + {{ t('globals.noResults') }} + + + + {{ t('summary') }} + + + + + + + + + + + + + + + + {{ row?.item?.name }} + + + {{ t('ID') }}: {{ row.id }} + + + + + + + {{ row.item.subName }} + + + + + + + + + + + + + + + + + + + + + + {{ t('confirm') }} + + + + + + + +en: + summary: Summary + subtotal: Subtotal + VAT: VAT + total: Total + item: Item + warehouse: Warehouse + shipped: Shipped + quantity: Quantity + price: Price + amount: Amount + remove: Remove + confirmDeletion: Confirm deletion, + confirmDeletionMessage: Are you sure you want to delete this item? + confirm: Confirm +es: + summary: Resumen + subtotal: Subtotal + VAT: IVA + total: Total + item: Artículo + warehouse: Almacén + shipped: F. envío + quantity: Cantidad + price: Precio + amount: Importe + remove: Eliminar + confirmDeletion: Confirmar eliminación, + confirmDeletionMessage: Seguro que quieres eliminar este artículo? + confirm: Confirmar + diff --git a/src/pages/Order/OrderVolume.vue b/src/pages/Order/OrderVolume.vue index 2c962600e..4f4c269f6 100644 --- a/src/pages/Order/OrderVolume.vue +++ b/src/pages/Order/OrderVolume.vue @@ -1,15 +1,17 @@
{{ t('Balance due') }}:
+ {{ t('summary') }} +