@@ -53,10 +60,20 @@ const toCustomerRecoveries = () => {
-
+
-
+
diff --git a/src/pages/Customer/components/CustomerSamplesCreate.vue b/src/pages/Customer/components/CustomerSamplesCreate.vue
new file mode 100644
index 0000000000..4a28a30615
--- /dev/null
+++ b/src/pages/Customer/components/CustomerSamplesCreate.vue
@@ -0,0 +1,385 @@
+
+
+
+
+
+ (optionsCompanies = data)"
+ auto-load
+ url="Companies"
+ />
+ (optionsSamplesVisible = data)"
+ auto-load
+ url="Samples/visible"
+ />
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{
+ t('Its only used when sample is sent')
+ }}
+
+
+
+
+
+
+
+
+ {{
+ t('To who should the recipient replay?')
+ }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{
+ `${scope.opt.nickname}, ${scope.opt.street}, ${scope.opt.city}, ${scope.opt.province.name} - ${scope.opt.agencyMode.name}`
+ }}
+
+
+
+
+
+
+ {{ t('Edit address') }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+es:
+ Sample: Plantilla
+ Recipient: Destinatario
+ Reply to: Responder a
+ Company: Empresa
+ Address: Dirección
+ Since: Desde
+ Its only used when sample is sent: Se utiliza únicamente cuando se envía la plantilla
+ To who should the recipient replay?: ¿A quien debería responder el destinatario?
+ Edit address: Editar dirección
+ Preview: Vista previa
+ Email cannot be blank: Debes introducir un email
+ Choose a sample: Selecciona una plantilla
+ Choose a company: Selecciona una empresa
+ Choose a date: Selecciona una fecha
+
diff --git a/src/pages/Customer/components/CustomerSamplesPreview.vue b/src/pages/Customer/components/CustomerSamplesPreview.vue
new file mode 100644
index 0000000000..dcd2f7591a
--- /dev/null
+++ b/src/pages/Customer/components/CustomerSamplesPreview.vue
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/Customer/components/CustomerSummaryTable.vue b/src/pages/Customer/components/CustomerSummaryTable.vue
new file mode 100644
index 0000000000..6a33ebc887
--- /dev/null
+++ b/src/pages/Customer/components/CustomerSummaryTable.vue
@@ -0,0 +1,247 @@
+
+
+
+ (rows = data)"
+ auto-load
+ url="Tickets"
+ />
+
+
+
+
+
+
+ {{ props.value }}
+
+
+
+ {{ props.value }}
+
+
+
+
+ {{ props.value }}
+
+
+
+
+ {{ toCurrency(props.value) }}
+
+ {{ toCurrency(props.value) }}
+
+
+
+
+
+
+
+
+
+
+
+es:
+ Id: Id
+ Nickname: Alias
+ Agency: Agencia
+ Route: Ruta
+ Packages: Bultos
+ Date: Fecha
+ State: Estado
+ Total: Total
+
diff --git a/src/pages/Customer/components/CustomerSummaryTableActions.vue b/src/pages/Customer/components/CustomerSummaryTableActions.vue
new file mode 100644
index 0000000000..6e9038374e
--- /dev/null
+++ b/src/pages/Customer/components/CustomerSummaryTableActions.vue
@@ -0,0 +1,44 @@
+
+
+
+
+
+
+ {{ t('Go to lines') }}
+
+
+
+
+ {{ t('Preview') }}
+
+
+
+
+
+
+es:
+ Go to lines: Ir a lineas
+ Preview: Vista previa
+
diff --git a/src/pages/Customer/components/ModalCloseContract.vue b/src/pages/Customer/components/ModalCloseContract.vue
new file mode 100644
index 0000000000..606cfab98b
--- /dev/null
+++ b/src/pages/Customer/components/ModalCloseContract.vue
@@ -0,0 +1,73 @@
+
+
+
+
+
+
+
+
+
+
+
+ {{ t('Are you sure you want to close this contract?') }}
+
+ {{ t('Close contract') }}
+
+
+
+
+
+
+
+
+
+
+
+es:
+ Are you sure you want to close this contract?: ¿Seguro que quieres cerrar este contrato?
+ Close contract: Cerrar contrato
+
diff --git a/src/pages/Customer/locale/en.yml b/src/pages/Customer/locale/en.yml
new file mode 100644
index 0000000000..6eb7cfa85c
--- /dev/null
+++ b/src/pages/Customer/locale/en.yml
@@ -0,0 +1,4 @@
+customerFilter:
+ filter:
+ name: Name
+ socialName: Social name
diff --git a/src/pages/Customer/locale/es.yml b/src/pages/Customer/locale/es.yml
new file mode 100644
index 0000000000..8fed370921
--- /dev/null
+++ b/src/pages/Customer/locale/es.yml
@@ -0,0 +1,4 @@
+customerFilter:
+ filter:
+ name: Nombre
+ socialName: Razón Social
diff --git a/src/pages/Department/Card/DepartmentDescriptor.vue b/src/pages/Department/Card/DepartmentDescriptor.vue
index 7049d41451..e60a8c91b4 100644
--- a/src/pages/Department/Card/DepartmentDescriptor.vue
+++ b/src/pages/Department/Card/DepartmentDescriptor.vue
@@ -63,7 +63,7 @@ const removeDepartment = () => {
router.push({ name: 'WorkerDepartment' });
notify('department.departmentRemoved', 'positive');
} catch (err) {
- console.log('Error removing department');
+ console.error('Error removing department');
}
});
};
diff --git a/src/pages/Entry/Card/EntryBasicData.vue b/src/pages/Entry/Card/EntryBasicData.vue
index 6c5299fa9a..3a6c72a4b5 100644
--- a/src/pages/Entry/Card/EntryBasicData.vue
+++ b/src/pages/Entry/Card/EntryBasicData.vue
@@ -2,6 +2,7 @@
import { ref } from 'vue';
import { useRoute } from 'vue-router';
import { useI18n } from 'vue-i18n';
+import { useRole } from 'src/composables/useRole';
import FetchData from 'components/FetchData.vue';
import FormModel from 'components/FormModel.vue';
@@ -15,6 +16,8 @@ import { toDate } from 'src/filters';
const route = useRoute();
const { t } = useI18n();
+const { hasAny } = useRole();
+const isAdministrative = () => hasAny(['administrative']);
const suppliersOptions = ref([]);
const travelsOptions = ref([]);
@@ -206,6 +209,7 @@ const onFilterTravelSelected = (formData, id) => {