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', 'CustomerNotifications', 'CustomerDefaulter', ], card: [ 'CustomerBasicData', 'CustomerFiscalData', 'CustomerBillingData', 'CustomerAddress', 'CustomerNotes', 'CustomerCredits', 'CustomerGreuges', 'CustomerBalance', 'CustomerRecoveries', 'CustomerWebAccess', 'CustomerLog', 'CustomerSms', 'CustomerCreditManagement', 'CustomerOthers', ], }, children: [ { path: '', name: 'CustomerMain', component: () => import('src/components/common/VnSectionMain.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: '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: 'CustomerNotes', meta: { title: 'notes', icon: 'vn:notes', }, component: () => import('src/pages/Customer/Card/CustomerNotes.vue'), }, { path: 'credits', name: 'CustomerCredits', meta: { title: 'credits', icon: 'vn:credit', }, component: () => import('src/pages/Customer/Card/CustomerCredits.vue'), }, { path: 'greuges', name: 'CustomerGreuges', meta: { title: 'greuges', icon: 'vn:greuge', }, component: () => import('src/pages/Customer/Card/CustomerGreuges.vue'), }, { path: 'balance', name: 'CustomerBalance', meta: { title: 'balance', icon: 'balance', }, component: () => import('src/pages/Customer/Card/CustomerBalance.vue'), }, { path: 'recoveries', name: 'CustomerRecoveries', meta: { title: 'recoveries', icon: 'vn:recovery', }, component: () => import('src/pages/Customer/Card/CustomerRecoveries.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'), }, ], }, ], }, ], };