diff --git a/src/pages/Customer/components/CustomerRecoverieCreate.vue b/src/pages/Customer/components/CustomerRecoverieCreate.vue
index ed7304be0..b4ef5a9a3 100644
--- a/src/pages/Customer/components/CustomerRecoverieCreate.vue
+++ b/src/pages/Customer/components/CustomerRecoverieCreate.vue
@@ -14,9 +14,6 @@ const router = useRouter();
const initialData = reactive({
started: '2001-01-01T11:00:00.000Z',
- finished: null,
- amount: null,
- period: null,
});
onMounted(() => {
@@ -41,6 +38,16 @@ const toCustomerRecoveries = () => {
model="client"
url-create="Recoveries"
>
+
+
+
+
@@ -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 000000000..4a28a3061
--- /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 000000000..dcd2f7591
--- /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 000000000..6a33ebc88
--- /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 000000000..6e9038374
--- /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 000000000..606cfab98
--- /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/Order/Card/OrderForm.vue b/src/pages/Order/Card/OrderForm.vue
index 42aee7640..6a4ae6aac 100644
--- a/src/pages/Order/Card/OrderForm.vue
+++ b/src/pages/Order/Card/OrderForm.vue
@@ -1,6 +1,6 @@
+
+
+ (clientOptions = data)"
+ :filter="{ fields: ['id', 'name', 'defaultAddressFk'], order: 'id' }"
+ auto-load
+ />
+ (warehousesOptions = data)"
+ order="name"
+ auto-load
+ />
+
+
+
+
+
+
+ onClientSelected(data)"
+ >
+
+
+
+
+ {{ scope.opt.name }}
+
+
+ {{ `#${scope.opt.id}` }}
+
+
+
+
+
+
+
+
+
+ fetchAvailableAgencies(data)"
+ >
+
+
+
+
+ {{ scope.opt.nickname }}
+
+
+ {{ `${scope.opt.street}, ${scope.opt.city}` }}
+
+
+
+
+
+
+
+
+
+ fetchAvailableAgencies(data)"
+ />
+
+
+
+
+ fetchAvailableAgencies(data)"
+ />
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/Ticket/TicketList.vue b/src/pages/Ticket/TicketList.vue
index c5d25fed2..c6e5cb60c 100644
--- a/src/pages/Ticket/TicketList.vue
+++ b/src/pages/Ticket/TicketList.vue
@@ -123,6 +123,13 @@ function navigate(id) {
+
+
+
+ {{ t('New ticket') }}
+
+
+
@@ -131,4 +138,5 @@ es:
Search ticket: Buscar ticket
You can search by ticket id or alias: Puedes buscar por id o alias del ticket
Zone: Zona
+ New ticket: Nuevo ticket
diff --git a/src/router/modules/customer.js b/src/router/modules/customer.js
index 76d9a5af1..5ef5945f3 100644
--- a/src/router/modules/customer.js
+++ b/src/router/modules/customer.js
@@ -22,7 +22,7 @@ export default {
'CustomerBasicData',
'CustomerFiscalData',
'CustomerBillingData',
- 'CustomerConsignees',
+ 'CustomerAddress',
'CustomerNotes',
'CustomerCredits',
'CustomerGreuges',
@@ -153,45 +153,45 @@ export default {
import('src/pages/Customer/Card/CustomerBillingData.vue'),
},
{
- path: 'consignees',
- name: 'ConsigneesCard',
- redirect: { name: 'CustomerConsignees' },
+ path: 'address',
+ name: 'AddressCard',
+ redirect: { name: 'CustomerAddress' },
children: [
{
path: '',
- name: 'CustomerConsignees',
+ name: 'CustomerAddress',
meta: {
icon: 'vn:delivery',
title: 'consignees',
},
component: () =>
- import('src/pages/Customer/Card/CustomerConsignees.vue'),
+ import('src/pages/Customer/Card/CustomerAddress.vue'),
},
{
path: 'create',
- name: 'CustomerConsigneeCreate',
+ name: 'CustomerAddressCreate',
meta: {
- title: 'consignee-create',
+ title: 'address-create',
},
component: () =>
import(
- 'src/pages/Customer/components/CustomerConsigneeCreate.vue'
+ 'src/pages/Customer/components/CustomerAddressCreate.vue'
),
},
{
- path: ':consigneeId',
- name: 'CustomerConsigneeEditCard',
- redirect: { name: 'CustomerConsigneeEdit' },
+ path: ':addressId',
+ name: 'CustomerAddressEditCard',
+ redirect: { name: 'CustomerAddressEdit' },
children: [
{
path: 'edit',
- name: 'CustomerConsigneeEdit',
+ name: 'CustomerAddressEdit',
meta: {
- title: 'consignee-edit',
+ title: 'address-edit',
},
component: () =>
import(
- 'src/pages/Customer/components/CustomerConsigneeEdit.vue'
+ 'src/pages/Customer/components/CustomerAddressEdit.vue'
),
},
],
@@ -200,7 +200,7 @@ export default {
},
{
path: 'notes',
- name: 'NotesCard',
+ name: 'CustomerNotesCard',
redirect: { name: 'CustomerNotes' },
children: [
{
@@ -358,36 +358,55 @@ export default {
{
name: 'CustomerCreditContracts',
title: 'creditContracts',
- icon: 'paid',
+ icon: 'vn:solunion',
},
{
name: 'CustomerCreditOpinion',
title: 'creditOpinion',
- icon: 'paid',
+ icon: 'vn:linesprepaired',
},
],
},
- component: () =>
- import('src/pages/Customer/Card/CustomerCreditManagement.vue'),
children: [
{
path: 'credit-contracts',
- name: 'CustomerCreditContracts',
- meta: {
- title: 'creditContracts',
- icon: 'paid',
- },
- component: () =>
- import(
- 'src/pages/Customer/Card/CustomerCreditContracts.vue'
- ),
+ name: 'CreditContractsCard',
+ redirect: { name: 'CustomerCreditContracts' },
+ children: [
+ {
+ path: '',
+ name: 'CustomerCreditContracts',
+ meta: {
+ title: 'creditContracts',
+ },
+ component: () =>
+ import(
+ 'src/pages/Customer/Card/CustomerCreditContracts.vue'
+ ),
+ },
+ {
+ path: 'create',
+ name: 'CustomerCreditContractsCreate',
+ component: () =>
+ import(
+ 'src/pages/Customer/components/CustomerCreditContractsCreate.vue'
+ ),
+ },
+ {
+ path: 'insurance/:creditId',
+ name: 'CustomerCreditContractsInsurance',
+ component: () =>
+ import(
+ 'src/pages/Customer/components/CustomerCreditContractsInsurance.vue'
+ ),
+ },
+ ],
},
{
path: 'credit-opinion',
name: 'CustomerCreditOpinion',
meta: {
title: 'creditOpinion',
- icon: 'paid',
},
component: () =>
import(
@@ -396,15 +415,177 @@ export default {
},
],
},
-
{
path: 'others',
name: 'CustomerOthers',
meta: {
title: 'others',
icon: 'pending',
+ menuChildren: [
+ {
+ name: 'CustomerSamples',
+ title: 'samples',
+ icon: 'vn:notes',
+ },
+ {
+ name: 'CustomerConsumption',
+ title: 'consumption',
+ icon: 'show_chart',
+ },
+ {
+ name: 'CustomerMandates',
+ title: 'mandates',
+ icon: 'vn:mandatory',
+ },
+ {
+ name: 'CustomerContacts',
+ title: 'contacts',
+ icon: 'contact_phone',
+ },
+ {
+ name: 'CustomerWebPayment',
+ title: 'webPayment',
+ icon: 'vn:onlinepayment',
+ },
+ {
+ name: 'CustomerFileManagement',
+ title: 'fileManagement',
+ icon: 'Upload',
+ },
+ {
+ name: 'CustomerUnpaid',
+ title: 'unpaid',
+ icon: 'vn:defaulter',
+ },
+ ],
},
- component: () => import('src/pages/Customer/Card/CustomerOthers.vue'),
+ children: [
+ {
+ path: 'samples',
+ name: 'CustomerSamples',
+ meta: {
+ title: 'samples',
+ },
+ component: () =>
+ import('src/pages/Customer/Card/CustomerSamples.vue'),
+ },
+ {
+ path: 'samples',
+ name: 'CustomerSamplesCard',
+ redirect: { name: 'CustomerSamples' },
+ children: [
+ {
+ path: '',
+ name: 'CustomerSamples',
+ meta: {
+ title: 'samples',
+ },
+ component: () =>
+ import(
+ 'src/pages/Customer/Card/CustomerSamples.vue'
+ ),
+ },
+ {
+ path: 'create',
+ name: 'CustomerSamplesCreate',
+ component: () =>
+ import(
+ 'src/pages/Customer/components/CustomerSamplesCreate.vue'
+ ),
+ },
+ ],
+ },
+ {
+ path: 'consumption',
+ name: 'CustomerConsumption',
+ meta: {
+ title: 'consumption',
+ },
+ component: () =>
+ import('src/pages/Customer/Card/CustomerConsumption.vue'),
+ },
+ {
+ path: 'mandates',
+ name: 'CustomerMandates',
+ meta: {
+ title: 'mandates',
+ },
+ component: () =>
+ import('src/pages/Customer/Card/CustomerMandates.vue'),
+ },
+ {
+ path: 'contacts',
+ name: 'CustomerContacts',
+ meta: {
+ title: 'contacts',
+ },
+ component: () =>
+ import('src/pages/Customer/Card/CustomerContacts.vue'),
+ },
+ {
+ path: 'web-payment',
+ name: 'CustomerWebPayment',
+ meta: {
+ title: 'webPayment',
+ },
+ component: () =>
+ import('src/pages/Customer/Card/CustomerWebPayment.vue'),
+ },
+ {
+ path: 'file-management',
+ name: 'CustomerFileManagement',
+ meta: {
+ title: 'fileManagement',
+ },
+ component: () =>
+ import(
+ 'src/pages/Customer/Card/CustomerFileManagement.vue'
+ ),
+ },
+ {
+ path: 'file-management',
+ name: 'CustomerFileManagementCard',
+ redirect: { name: 'CustomerFileManagement' },
+ children: [
+ {
+ path: '',
+ name: 'CustomerFileManagement',
+ meta: {
+ title: 'fileManagement',
+ },
+ component: () =>
+ import(
+ 'src/pages/Customer/Card/CustomerFileManagement.vue'
+ ),
+ },
+ {
+ path: 'create',
+ name: 'CustomerFileManagementCreate',
+ component: () =>
+ import(
+ 'src/pages/Customer/components/CustomerFileManagementCreate.vue'
+ ),
+ },
+ {
+ path: ':dmsId/edit',
+ name: 'CustomerFileManagementEdit',
+ component: () =>
+ import(
+ 'src/pages/Customer/components/CustomerFileManagementEdit.vue'
+ ),
+ },
+ ],
+ },
+ {
+ path: 'unpaid',
+ name: 'CustomerUnpaid',
+ meta: {
+ title: 'unpaid',
+ },
+ component: () =>
+ import('src/pages/Customer/Card/CustomerUnpaid.vue'),
+ },
+ ],
},
],
},
diff --git a/src/router/modules/ticket.js b/src/router/modules/ticket.js
index d6b714154..eb6c1b6d2 100644
--- a/src/router/modules/ticket.js
+++ b/src/router/modules/ticket.js
@@ -38,7 +38,7 @@ export default {
icon: 'vn:ticketAdd',
roles: ['developer'],
},
- component: () => import('src/pages/Ticket/TicketList.vue'),
+ component: () => import('src/pages/Ticket/TicketCreate.vue'),
},
],
},