594 lines
24 KiB
JavaScript
594 lines
24 KiB
JavaScript
import { RouterView } from 'vue-router';
|
|
|
|
export default {
|
|
path: '/customer',
|
|
name: 'Customer',
|
|
meta: {
|
|
title: 'customers',
|
|
icon: 'vn:client',
|
|
moduleName: 'Customer',
|
|
},
|
|
component: RouterView,
|
|
redirect: { name: 'CustomerMain' },
|
|
menus: {
|
|
main: [
|
|
'CustomerList',
|
|
'CustomerPayments',
|
|
'CustomerExtendedList',
|
|
'CustomerNotifications',
|
|
'CustomerDefaulter',
|
|
],
|
|
card: [
|
|
'CustomerBasicData',
|
|
'CustomerFiscalData',
|
|
'CustomerBillingData',
|
|
'CustomerAddress',
|
|
'CustomerNotes',
|
|
'CustomerCredits',
|
|
'CustomerGreuges',
|
|
'CustomerBalance',
|
|
'CustomerRecoveries',
|
|
'CustomerWebAccess',
|
|
'CustomerLog',
|
|
'CustomerSms',
|
|
'CustomerCreditManagement',
|
|
'CustomerOthers',
|
|
],
|
|
},
|
|
children: [
|
|
{
|
|
path: '',
|
|
name: 'CustomerMain',
|
|
component: () => import('src/pages/Customer/CustomerMain.vue'),
|
|
redirect: { name: 'CustomerList' },
|
|
children: [
|
|
{
|
|
path: 'list',
|
|
name: 'CustomerList',
|
|
meta: {
|
|
title: 'list',
|
|
icon: 'view_list',
|
|
},
|
|
component: () => import('src/pages/Customer/CustomerList.vue'),
|
|
},
|
|
{
|
|
path: 'create',
|
|
name: 'CustomerCreate',
|
|
meta: {
|
|
title: 'customerCreate',
|
|
icon: 'add',
|
|
},
|
|
component: () => import('src/pages/Customer/CustomerCreate.vue'),
|
|
},
|
|
{
|
|
path: 'payments',
|
|
name: 'CustomerPayments',
|
|
meta: {
|
|
title: 'webPayments',
|
|
icon: 'vn:onlinepayment',
|
|
},
|
|
component: () =>
|
|
import('src/pages/Customer/Payments/CustomerPayments.vue'),
|
|
},
|
|
{
|
|
path: 'extendedList',
|
|
name: 'CustomerExtendedList',
|
|
meta: {
|
|
title: 'extendedList',
|
|
icon: 'vn:client',
|
|
},
|
|
component: () =>
|
|
import(
|
|
'src/pages/Customer/ExtendedList/CustomerExtendedList.vue'
|
|
),
|
|
},
|
|
{
|
|
path: 'notifications',
|
|
name: 'CustomerNotifications',
|
|
meta: {
|
|
title: 'notifications',
|
|
icon: 'campaign',
|
|
},
|
|
component: () =>
|
|
import(
|
|
'src/pages/Customer/Notifications/CustomerNotifications.vue'
|
|
),
|
|
},
|
|
{
|
|
path: 'defaulter',
|
|
name: 'CustomerDefaulter',
|
|
meta: {
|
|
title: 'defaulter',
|
|
icon: 'vn:defaulter',
|
|
},
|
|
component: () =>
|
|
import('src/pages/Customer/Defaulter/CustomerDefaulter.vue'),
|
|
},
|
|
],
|
|
},
|
|
{
|
|
name: 'CustomerCard',
|
|
path: ':id',
|
|
component: () => import('src/pages/Customer/Card/CustomerCard.vue'),
|
|
redirect: { name: 'CustomerSummary' },
|
|
children: [
|
|
{
|
|
name: 'CustomerSummary',
|
|
path: 'summary',
|
|
meta: {
|
|
title: 'summary',
|
|
icon: 'launch',
|
|
},
|
|
component: () =>
|
|
import('src/pages/Customer/Card/CustomerSummary.vue'),
|
|
},
|
|
{
|
|
path: 'basic-data',
|
|
name: 'CustomerBasicData',
|
|
meta: {
|
|
title: 'basicData',
|
|
icon: 'vn:settings',
|
|
},
|
|
component: () =>
|
|
import('src/pages/Customer/Card/CustomerBasicData.vue'),
|
|
},
|
|
{
|
|
path: 'fiscal-data',
|
|
name: 'CustomerFiscalData',
|
|
meta: {
|
|
title: 'fiscalData',
|
|
icon: 'vn:dfiscales',
|
|
},
|
|
component: () =>
|
|
import('src/pages/Customer/Card/CustomerFiscalData.vue'),
|
|
},
|
|
{
|
|
path: 'billing-data',
|
|
name: 'CustomerBillingData',
|
|
meta: {
|
|
title: 'billingData',
|
|
icon: 'vn:payment',
|
|
},
|
|
component: () =>
|
|
import('src/pages/Customer/Card/CustomerBillingData.vue'),
|
|
},
|
|
{
|
|
path: 'address',
|
|
name: 'AddressCard',
|
|
redirect: { name: 'CustomerAddress' },
|
|
children: [
|
|
{
|
|
path: '',
|
|
name: 'CustomerAddress',
|
|
meta: {
|
|
icon: 'vn:delivery',
|
|
title: 'consignees',
|
|
},
|
|
component: () =>
|
|
import('src/pages/Customer/Card/CustomerAddress.vue'),
|
|
},
|
|
{
|
|
path: 'create',
|
|
name: 'CustomerAddressCreate',
|
|
meta: {
|
|
title: 'address-create',
|
|
},
|
|
component: () =>
|
|
import(
|
|
'src/pages/Customer/components/CustomerAddressCreate.vue'
|
|
),
|
|
},
|
|
{
|
|
path: ':addressId',
|
|
name: 'CustomerAddressEditCard',
|
|
redirect: { name: 'CustomerAddressEdit' },
|
|
children: [
|
|
{
|
|
path: 'edit',
|
|
name: 'CustomerAddressEdit',
|
|
meta: {
|
|
title: 'address-edit',
|
|
},
|
|
component: () =>
|
|
import(
|
|
'src/pages/Customer/components/CustomerAddressEdit.vue'
|
|
),
|
|
},
|
|
],
|
|
},
|
|
],
|
|
},
|
|
{
|
|
path: 'notes',
|
|
name: 'CustomerNotesCard',
|
|
redirect: { name: 'CustomerNotes' },
|
|
children: [
|
|
{
|
|
path: '',
|
|
name: 'CustomerNotes',
|
|
meta: {
|
|
title: 'notes',
|
|
icon: 'vn:notes',
|
|
},
|
|
component: () =>
|
|
import('src/pages/Customer/Card/CustomerNotes.vue'),
|
|
},
|
|
{
|
|
path: 'create',
|
|
name: 'CustomerNoteCreate',
|
|
meta: {
|
|
title: 'note-create',
|
|
},
|
|
component: () =>
|
|
import(
|
|
'src/pages/Customer/components/CustomerNoteCreate.vue'
|
|
),
|
|
},
|
|
],
|
|
},
|
|
{
|
|
path: 'credits',
|
|
name: 'CreditsCard',
|
|
redirect: { name: 'CustomerCredits' },
|
|
children: [
|
|
{
|
|
path: '',
|
|
name: 'CustomerCredits',
|
|
meta: {
|
|
title: 'credits',
|
|
icon: 'vn:credit',
|
|
},
|
|
component: () =>
|
|
import('src/pages/Customer/Card/CustomerCredits.vue'),
|
|
},
|
|
{
|
|
path: 'create',
|
|
name: 'CustomerCreditCreate',
|
|
meta: {
|
|
title: 'credit-create',
|
|
},
|
|
component: () =>
|
|
import(
|
|
'src/pages/Customer/components/CustomerCreditCreate.vue'
|
|
),
|
|
},
|
|
],
|
|
},
|
|
{
|
|
path: 'greuges',
|
|
name: 'GreugesCard',
|
|
redirect: { name: 'CustomerGreuges' },
|
|
children: [
|
|
{
|
|
path: '',
|
|
name: 'CustomerGreuges',
|
|
meta: {
|
|
title: 'greuges',
|
|
icon: 'vn:greuge',
|
|
},
|
|
component: () =>
|
|
import('src/pages/Customer/Card/CustomerGreuges.vue'),
|
|
},
|
|
{
|
|
path: 'create',
|
|
name: 'CustomerGreugeCreate',
|
|
meta: {
|
|
title: 'greuge-create',
|
|
},
|
|
component: () =>
|
|
import(
|
|
'src/pages/Customer/components/CustomerGreugeCreate.vue'
|
|
),
|
|
},
|
|
],
|
|
},
|
|
{
|
|
path: 'balance',
|
|
name: 'CustomerBalance',
|
|
meta: {
|
|
title: 'balance',
|
|
icon: 'vn:invoice',
|
|
},
|
|
component: () =>
|
|
import('src/pages/Customer/Card/CustomerBalance.vue'),
|
|
},
|
|
{
|
|
path: 'recoveries',
|
|
name: 'RecoveriesCard',
|
|
redirect: { name: 'CustomerRecoveries' },
|
|
children: [
|
|
{
|
|
path: '',
|
|
name: 'CustomerRecoveries',
|
|
meta: {
|
|
title: 'recoveries',
|
|
icon: 'vn:recovery',
|
|
},
|
|
component: () =>
|
|
import('src/pages/Customer/Card/CustomerRecoveries.vue'),
|
|
},
|
|
{
|
|
path: 'create',
|
|
name: 'CustomerRecoverieCreate',
|
|
meta: {
|
|
title: 'recoverie-create',
|
|
},
|
|
component: () =>
|
|
import(
|
|
'src/pages/Customer/components/CustomerRecoverieCreate.vue'
|
|
),
|
|
},
|
|
],
|
|
},
|
|
{
|
|
path: 'web-access',
|
|
name: 'CustomerWebAccess',
|
|
meta: {
|
|
title: 'webAccess',
|
|
icon: 'vn:web',
|
|
},
|
|
component: () =>
|
|
import('src/pages/Customer/Card/CustomerWebAccess.vue'),
|
|
},
|
|
{
|
|
path: 'log',
|
|
name: 'CustomerLog',
|
|
meta: {
|
|
title: 'log',
|
|
icon: 'vn:History',
|
|
},
|
|
component: () => import('src/pages/Customer/Card/CustomerLog.vue'),
|
|
},
|
|
{
|
|
path: 'sms',
|
|
name: 'CustomerSms',
|
|
meta: {
|
|
title: 'sms',
|
|
icon: 'sms',
|
|
},
|
|
component: () => import('src/pages/Customer/Card/CustomerSms.vue'),
|
|
},
|
|
{
|
|
path: 'credit-management',
|
|
name: 'CustomerCreditManagement',
|
|
meta: {
|
|
title: 'creditManagement',
|
|
icon: 'paid',
|
|
menuChildren: [
|
|
{
|
|
name: 'CustomerCreditContracts',
|
|
title: 'creditContracts',
|
|
icon: 'vn:solunion',
|
|
},
|
|
{
|
|
name: 'CustomerCreditOpinion',
|
|
title: 'creditOpinion',
|
|
icon: 'vn:linesprepaired',
|
|
},
|
|
],
|
|
},
|
|
children: [
|
|
{
|
|
path: 'credit-contracts',
|
|
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',
|
|
},
|
|
component: () =>
|
|
import(
|
|
'src/pages/Customer/Card/CustomerCreditOpinion.vue'
|
|
),
|
|
},
|
|
],
|
|
},
|
|
{
|
|
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',
|
|
},
|
|
],
|
|
},
|
|
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'),
|
|
},
|
|
],
|
|
},
|
|
],
|
|
},
|
|
],
|
|
};
|