diff --git a/src/components/CreateBankEntityForm.vue b/src/components/CreateBankEntityForm.vue
index f4f5fef7d..2a1385945 100644
--- a/src/components/CreateBankEntityForm.vue
+++ b/src/components/CreateBankEntityForm.vue
@@ -7,6 +7,13 @@ import FetchData from 'components/FetchData.vue';
import VnRow from 'components/ui/VnRow.vue';
import FormModelPopup from './FormModelPopup.vue';
+const props = defineProps({
+ showEntityField: {
+ type: Boolean,
+ default: true,
+ },
+});
+
const emit = defineEmits(['onDataSaved']);
const { t } = useI18n();
@@ -73,7 +80,7 @@ const onDataSaved = (data) => {
:rules="validate('bankEntity.countryFk')"
/>
-
+
diff --git a/src/components/CreateNewPostcodeForm.vue b/src/components/CreateNewPostcodeForm.vue
index a9efcf8f4..40efa0789 100644
--- a/src/components/CreateNewPostcodeForm.vue
+++ b/src/components/CreateNewPostcodeForm.vue
@@ -131,7 +131,7 @@ const onProvinceCreated = async () => {
es:
New postcode: Nuevo código postal
Please, ensure you put the correct data!: ¡Por favor, asegúrese de poner los datos correctos!
- City: Ciudad
+ City: Población
Province: Provincia
Country: País
Postcode: Código postal
diff --git a/src/components/CrudModel.vue b/src/components/CrudModel.vue
index 75353a35a..17fc8fc4a 100644
--- a/src/components/CrudModel.vue
+++ b/src/components/CrudModel.vue
@@ -225,15 +225,19 @@ function getDifferences(obj1, obj2) {
delete obj2.$index;
for (let key in obj1) {
- if (obj2[key] && obj1[key] !== obj2[key]) {
+ if (obj2[key] && JSON.stringify(obj1[key]) !== JSON.stringify(obj2[key])) {
diff[key] = obj2[key];
}
}
for (let key in obj2) {
- if (obj1[key] === undefined || obj1[key] !== obj2[key]) {
+ if (
+ obj1[key] === undefined ||
+ JSON.stringify(obj1[key]) !== JSON.stringify(obj2[key])
+ ) {
diff[key] = obj2[key];
}
}
+
return diff;
}
diff --git a/src/i18n/en/index.js b/src/i18n/en/index.js
index 1b3c1298c..bd59edad1 100644
--- a/src/i18n/en/index.js
+++ b/src/i18n/en/index.js
@@ -907,6 +907,41 @@ export default {
payDemFk: 'Payment deadline',
payDay: 'Pay day',
},
+ accounts: {
+ iban: 'Iban',
+ bankEntity: 'Bank entity',
+ beneficiary: 'Beneficiary',
+ },
+ contacts: {
+ name: 'Name',
+ phone: 'Phone',
+ mobile: 'Mobile',
+ email: 'Email',
+ observation: 'Notes',
+ },
+ addresses: {
+ street: 'Street',
+ postcode: 'Postcode',
+ phone: 'Phone',
+ name: 'Name',
+ city: 'City',
+ province: 'Province',
+ mobile: 'Mobile',
+ },
+ agencyTerms: {
+ agencyFk: 'Agency',
+ minimumM3: 'Minimum M3',
+ packagePrice: 'Package Price',
+ kmPrice: 'Km Price',
+ m3Price: 'M3 Price',
+ routePrice: 'Route price',
+ minimumKm: 'Minimum Km',
+ },
+ consumption: {
+ entry: 'Entry',
+ date: 'Date',
+ reference: 'Reference',
+ },
},
travel: {
pageTitles: {
diff --git a/src/i18n/es/index.js b/src/i18n/es/index.js
index 9758baefd..94f508429 100644
--- a/src/i18n/es/index.js
+++ b/src/i18n/es/index.js
@@ -906,6 +906,41 @@ export default {
payDemFk: 'Plazo de pago',
payDay: 'Día de pago',
},
+ accounts: {
+ iban: 'Iban',
+ bankEntity: 'Entidad bancaria',
+ beneficiary: 'Beneficiario',
+ },
+ contacts: {
+ name: 'Nombre',
+ phone: 'Teléfono',
+ mobile: 'Móvil',
+ email: 'Email',
+ observation: 'Notas',
+ },
+ addresses: {
+ street: 'Dirección',
+ postcode: 'Código postal',
+ phone: 'Teléfono',
+ name: 'Nombre',
+ city: 'Población',
+ province: 'Provincia',
+ mobile: 'Móvil',
+ },
+ agencyTerms: {
+ agencyFk: 'Agencia',
+ minimumM3: 'M3 mínimos',
+ packagePrice: 'Precio bulto',
+ kmPrice: 'Precio Km',
+ m3Price: 'Precio M3',
+ routePrice: 'Precio ruta',
+ minimumKm: 'Km mínimos',
+ },
+ consumption: {
+ entry: 'Entrada',
+ date: 'Fecha',
+ reference: 'Referencia',
+ },
},
travel: {
pageTitles: {
diff --git a/src/pages/Supplier/Card/SupplierAccounts.vue b/src/pages/Supplier/Card/SupplierAccounts.vue
index 2b7059ea3..30edfb2fd 100644
--- a/src/pages/Supplier/Card/SupplierAccounts.vue
+++ b/src/pages/Supplier/Card/SupplierAccounts.vue
@@ -1 +1,177 @@
-
Supplier accounts
+
+
+ (bankEntitiesOptions = data)"
+ auto-load
+ />
+ (wireTransferFk = data.id)"
+ :filter="{ where: { code: 'wireTransfer' } }"
+ auto-load
+ />
+ (supplier = data)"
+ auto-load
+ />
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ scope.opt.bic }}
+ {{ scope.opt.name }}
+
+
+
+
+
+
+
+
+
+
+
+ {{ t('Remove account') }}
+
+
+
+
+
+
+
+ {{ t('Add account') }}
+
+
+
+
+
+
+
+
+
+ es:
+ Do you want to change the pay method to wire transfer?: ¿Quieres modificar la forma de pago a transferencia?
+ Add account: Añadir cuenta
+ Remove account: Remover cuenta
+
diff --git a/src/pages/Supplier/Card/SupplierAddresses.vue b/src/pages/Supplier/Card/SupplierAddresses.vue
index dd82abe78..df7cff932 100644
--- a/src/pages/Supplier/Card/SupplierAddresses.vue
+++ b/src/pages/Supplier/Card/SupplierAddresses.vue
@@ -1 +1,97 @@
-
Supplier addresses
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ t('supplier.list.newSupplier') }}
+
+
+
+
+
+
diff --git a/src/pages/Supplier/Card/SupplierAddressesCreate.vue b/src/pages/Supplier/Card/SupplierAddressesCreate.vue
new file mode 100644
index 000000000..8ad0959f5
--- /dev/null
+++ b/src/pages/Supplier/Card/SupplierAddressesCreate.vue
@@ -0,0 +1,182 @@
+
+
+
+ (postcodesOptions = data)"
+ auto-load
+ />
+ (provincesOptions = data)"
+ auto-load
+ url="Provinces"
+ />
+ (townsLocationOptions = data)"
+ auto-load
+ url="Towns/location"
+ />
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ scope.opt.code }}
+ {{ scope.opt.code }} -
+ {{ scope.opt.town.name }} ({{
+ scope.opt.town.province.name
+ }},
+ {{
+ scope.opt.town.province.country.country
+ }})
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/Supplier/Card/SupplierAgencyTerm.vue b/src/pages/Supplier/Card/SupplierAgencyTerm.vue
index 2a0c341cf..a300ae8e7 100644
--- a/src/pages/Supplier/Card/SupplierAgencyTerm.vue
+++ b/src/pages/Supplier/Card/SupplierAgencyTerm.vue
@@ -1 +1,139 @@
-
Supplier agency term
+
+
+ (agenciesOptions = data)"
+ auto-load
+ />
+
+
+
+
+
+
+
+
+ {{ row.agency?.name }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ t('Remove row') }}
+
+
+
+
+
+
+
+
+
+
+ {{ t('supplier.list.newSupplier') }}
+
+
+
+
+
+ es:
+ Remove row: Eliminar fila
+
diff --git a/src/pages/Supplier/Card/SupplierAgencyTermCreate.vue b/src/pages/Supplier/Card/SupplierAgencyTermCreate.vue
new file mode 100644
index 000000000..00f0b868f
--- /dev/null
+++ b/src/pages/Supplier/Card/SupplierAgencyTermCreate.vue
@@ -0,0 +1,113 @@
+
+
+
+ (agenciesOptions = data)"
+ auto-load
+ />
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/Supplier/Card/SupplierCard.vue b/src/pages/Supplier/Card/SupplierCard.vue
index 5b44159df..6b6e8c7f7 100644
--- a/src/pages/Supplier/Card/SupplierCard.vue
+++ b/src/pages/Supplier/Card/SupplierCard.vue
@@ -29,7 +29,6 @@ const { t } = useI18n();
-
diff --git a/src/pages/Supplier/Card/SupplierConsumption.vue b/src/pages/Supplier/Card/SupplierConsumption.vue
index df1dead17..714499f63 100644
--- a/src/pages/Supplier/Card/SupplierConsumption.vue
+++ b/src/pages/Supplier/Card/SupplierConsumption.vue
@@ -1 +1,192 @@
-
Supplier consumption
+
+
+
+ (suppliersConsumption = data)"
+ :filter="{
+ where: { supplierFk: route.params.id },
+ order: ['itemTypeFk', 'itemName', 'itemSize'],
+ }"
+ :params="userParams"
+ auto-load
+ />
+
+
+
+
+ {{ t('Open as PDF') }}
+
+
+
+
+ {{ t('Send to email') }}
+
+
+
+
+
+
+
+
+
+
+ {{
+ t('supplier.consumption.entry')
+ }}
+ {{ row.id }}
+ {{ t('supplier.consumption.date') }}
+ {{ toDate(row.shipped) }}
+ {{
+ t('supplier.consumption.reference')
+ }}
+ {{ row.invoiceNumber }}
+
+
+ {{ buy.itemName }}
+
+
+ {{ buy.subName }}
+
+
+ {{ dashIfEmpty(buy.quantity) }}
+ {{ dashIfEmpty(buy.price) }}
+ {{ dashIfEmpty(buy.total) }}
+
+
+
+ {{ t('Total entry') }}:
+ {{ calculateTotal(row.buys) }}
+
+
+
+
+
+
+
+
+
+
+es:
+ Total entry: Total entrada
+ Open as PDF: Abrir como PDF
+ Send to email: Enviar por email
+ This supplier does not have a contact with an email address: Este proveedor no tiene un email de contacto
+
diff --git a/src/pages/Supplier/Card/SupplierContacts.vue b/src/pages/Supplier/Card/SupplierContacts.vue
index ca58d4ab7..d69b74a4c 100644
--- a/src/pages/Supplier/Card/SupplierContacts.vue
+++ b/src/pages/Supplier/Card/SupplierContacts.vue
@@ -1 +1,118 @@
-
Supplier contacts
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ t('Remove contact') }}
+
+
+
+
+
+
+
+
+ {{ t('Add contact') }}
+
+
+
+
+
+
+
+
+
+
+
+ es:
+ Add contact: Añadir contacto
+ Remove contact: Remover contacto
+
diff --git a/src/pages/Travel/ExtraCommunity.vue b/src/pages/Travel/ExtraCommunity.vue
index 62292f115..b9f4f002e 100644
--- a/src/pages/Travel/ExtraCommunity.vue
+++ b/src/pages/Travel/ExtraCommunity.vue
@@ -262,7 +262,16 @@ onMounted(async () => {
-
+
+
+ {{ t('Open as PDF') }}
+
+
@@ -415,4 +424,5 @@ es:
physicKg: KG físico
shipped: F. envío
landed: F. llegada
+ Open as PDF: Abrir como PDF
diff --git a/src/router/modules/Supplier.js b/src/router/modules/Supplier.js
index 6ce1a7688..d341ddc25 100644
--- a/src/router/modules/Supplier.js
+++ b/src/router/modules/Supplier.js
@@ -134,6 +134,12 @@ export default {
component: () =>
import('src/pages/Supplier/Card/SupplierAddresses.vue'),
},
+ {
+ path: 'address/create',
+ name: 'SupplierAddressesCreate',
+ component: () =>
+ import('src/pages/Supplier/Card/SupplierAddressesCreate.vue'),
+ },
{
path: 'consumption',
name: 'SupplierConsumption',
@@ -154,6 +160,12 @@ export default {
component: () =>
import('src/pages/Supplier/Card/SupplierAgencyTerm.vue'),
},
+ {
+ path: 'agency-term/create',
+ name: 'SupplierAgencyTermCreate',
+ component: () =>
+ import('src/pages/Supplier/Card/SupplierAgencyTermCreate.vue'),
+ },
],
},
],