import Vue from 'vue';
import Router from 'vue-router';
import { AuthGuard } from '@/utils';
import qs from 'qs';
import { globalRoutes, indexRoutes} from '@/router'

Vue.use(Router);

const router = new Router({
    routes: [
        {
            path: '/central/:central?',
            beforeEnter: (to: any, from: any, next: any) => {
                const routerParamsName = 'central';
                const params: any = {};
                if (to.params && to.params[routerParamsName]) {
                    Object.assign(params, qs.parse(to.params[routerParamsName], { delimiter: ';' }));
                }
                const url: string = '/appdata';
                const auth: Promise<any> = AuthGuard.getInstance().authGuard(url, params, router);
                auth.then(() => {
                    next();
                }).catch(() => {
                    next();
                });
            },
            meta: {  
                caption: 'app.views.central.title',
                info:'',
                viewType: 'APPINDEX',
                parameters: [
                    { pathName: 'central', parameterName: 'central' },
                ],
                requireAuth: true,
            },
            component: () => import('@pages/ungroup/central/central.vue'),
            children: [
                {
                    path: 'accounts/:account?/quickcreate/:quickcreate?',
                    meta: {
                        caption: 'entities.account.views.quickcreate.title',
                        info:'',
                        parameters: [
                            { pathName: 'central', parameterName: 'central' },
                            { pathName: 'accounts', parameterName: 'account' },
                            { pathName: 'quickcreate', parameterName: 'quickcreate' },
                        ],
                        requireAuth: true,
                    },
                    component: () => import('@pages/base/account-quick-create/account-quick-create.vue'),
                },
                {
                    path: 'appointments/:appointment?/quickcreate/:quickcreate?',
                    meta: {
                        caption: 'entities.appointment.views.quickcreate.title',
                        info:'',
                        parameters: [
                            { pathName: 'central', parameterName: 'central' },
                            { pathName: 'appointments', parameterName: 'appointment' },
                            { pathName: 'quickcreate', parameterName: 'quickcreate' },
                        ],
                        requireAuth: true,
                    },
                    component: () => import('@pages/base/appointment-quick-create/appointment-quick-create.vue'),
                },
                {
                    path: 'accounts/:account?/info_introduction/:info_introduction?',
                    meta: {
                        caption: 'entities.account.views.info_introduction.title',
                        info:'',
                        parameters: [
                            { pathName: 'central', parameterName: 'central' },
                            { pathName: 'accounts', parameterName: 'account' },
                            { pathName: 'info_introduction', parameterName: 'info_introduction' },
                        ],
                        requireAuth: true,
                    },
                    component: () => import('@pages/base/account-info-introduction/account-info-introduction.vue'),
                },
                {
                    path: 'campaignresponses/:campaignresponse?/editview/:editview?',
                    meta: {
                        caption: 'entities.campaignresponse.views.editview.title',
                        info:'',
                        parameters: [
                            { pathName: 'central', parameterName: 'central' },
                            { pathName: 'campaignresponses', parameterName: 'campaignresponse' },
                            { pathName: 'editview', parameterName: 'editview' },
                        ],
                        requireAuth: true,
                    },
                    component: () => import('@pages/marketing/campaign-response-edit-view/campaign-response-edit-view.vue'),
                },
                {
                    path: 'salesorders/:salesorder?/editview/:editview?',
                    meta: {
                        caption: 'entities.salesorder.views.editview.title',
                        info:'',
                        parameters: [
                            { pathName: 'central', parameterName: 'central' },
                            { pathName: 'salesorders', parameterName: 'salesorder' },
                            { pathName: 'editview', parameterName: 'editview' },
                        ],
                        requireAuth: true,
                    },
                    component: () => import('@pages/sales/sales-order-edit-view/sales-order-edit-view.vue'),
                },
                {
                    path: 'campaignactivities/:campaignactivity?/quickcreate/:quickcreate?',
                    meta: {
                        caption: 'entities.campaignactivity.views.quickcreate.title',
                        info:'',
                        parameters: [
                            { pathName: 'central', parameterName: 'central' },
                            { pathName: 'campaignactivities', parameterName: 'campaignactivity' },
                            { pathName: 'quickcreate', parameterName: 'quickcreate' },
                        ],
                        requireAuth: true,
                    },
                    component: () => import('@pages/marketing/campaign-activity-quick-create/campaign-activity-quick-create.vue'),
                },
                {
                    path: 'campaigns/:campaign?/info/:info?',
                    meta: {
                        caption: 'entities.campaign.views.info.title',
                        info:'',
                        parameters: [
                            { pathName: 'central', parameterName: 'central' },
                            { pathName: 'campaigns', parameterName: 'campaign' },
                            { pathName: 'info', parameterName: 'info' },
                        ],
                        requireAuth: true,
                    },
                    component: () => import('@pages/marketing/campaign-info/campaign-info.vue'),
                },
                {
                    path: 'campaignresponses/:campaignresponse?/byparentkey/:byparentkey?',
                    meta: {
                        caption: 'entities.campaignresponse.views.byparentkey.title',
                        info:'',
                        parameters: [
                            { pathName: 'central', parameterName: 'central' },
                            { pathName: 'campaignresponses', parameterName: 'campaignresponse' },
                            { pathName: 'byparentkey', parameterName: 'byparentkey' },
                        ],
                        requireAuth: true,
                    },
                    component: () => import('@pages/marketing/campaign-response-by-parent-key/campaign-response-by-parent-key.vue'),
                },
                {
                    path: 'accounts/:account?/editview/:editview?',
                    meta: {
                        caption: 'entities.account.views.editview.title',
                        info:'',
                        parameters: [
                            { pathName: 'central', parameterName: 'central' },
                            { pathName: 'accounts', parameterName: 'account' },
                            { pathName: 'editview', parameterName: 'editview' },
                        ],
                        requireAuth: true,
                    },
                    component: () => import('@pages/base/account-edit-view/account-edit-view.vue'),
                },
                {
                    path: 'contacts/:contact?/info_abstract/:info_abstract?',
                    meta: {
                        caption: 'entities.contact.views.info_abstract.title',
                        info:'',
                        parameters: [
                            { pathName: 'central', parameterName: 'central' },
                            { pathName: 'contacts', parameterName: 'contact' },
                            { pathName: 'info_abstract', parameterName: 'info_abstract' },
                        ],
                        requireAuth: true,
                    },
                    component: () => import('@pages/base/contact-info-abstract/contact-info-abstract.vue'),
                },
                {
                    path: 'faxes/:fax?/editview/:editview?',
                    meta: {
                        caption: 'entities.fax.views.editview.title',
                        info:'',
                        parameters: [
                            { pathName: 'central', parameterName: 'central' },
                            { pathName: 'faxes', parameterName: 'fax' },
                            { pathName: 'editview', parameterName: 'editview' },
                        ],
                        requireAuth: true,
                    },
                    component: () => import('@pages/base/fax-edit-view/fax-edit-view.vue'),
                },
                {
                    path: 'incidents/:incident?/editview/:editview?',
                    meta: {
                        caption: 'entities.incident.views.editview.title',
                        info:'',
                        parameters: [
                            { pathName: 'central', parameterName: 'central' },
                            { pathName: 'incidents', parameterName: 'incident' },
                            { pathName: 'editview', parameterName: 'editview' },
                        ],
                        requireAuth: true,
                    },
                    component: () => import('@pages/service/incident-edit-view/incident-edit-view.vue'),
                },
                {
                    path: 'activitypointers/:activitypointer?/editview/:editview?',
                    meta: {
                        caption: 'entities.activitypointer.views.editview.title',
                        info:'',
                        parameters: [
                            { pathName: 'central', parameterName: 'central' },
                            { pathName: 'activitypointers', parameterName: 'activitypointer' },
                            { pathName: 'editview', parameterName: 'editview' },
                        ],
                        requireAuth: true,
                    },
                    component: () => import('@pages/base/activity-pointer-edit-view/activity-pointer-edit-view.vue'),
                },
                {
                    path: 'campaigns/:campaign?/leads/:lead?/gridview/:gridview?',
                    meta: {
                        caption: 'entities.lead.views.gridview.title',
                        info:'',
                        parameters: [
                            { pathName: 'central', parameterName: 'central' },
                            { pathName: 'campaigns', parameterName: 'campaign' },
                            { pathName: 'leads', parameterName: 'lead' },
                            { pathName: 'gridview', parameterName: 'gridview' },
                        ],
                        requireAuth: true,
                    },
                    component: () => import('@pages/sales/lead-grid-view/lead-grid-view.vue'),
                },
                {
                    path: 'leads/:lead?/gridview/:gridview?',
                    meta: {
                        caption: 'entities.lead.views.gridview.title',
                        info:'',
                        parameters: [
                            { pathName: 'central', parameterName: 'central' },
                            { pathName: 'leads', parameterName: 'lead' },
                            { pathName: 'gridview', parameterName: 'gridview' },
                        ],
                        requireAuth: true,
                    },
                    component: () => import('@pages/sales/lead-grid-view/lead-grid-view.vue'),
                },
                {
                    path: 'salesliteratures/:salesliterature?/gridview/:gridview?',
                    meta: {
                        caption: 'entities.salesliterature.views.gridview.title',
                        info:'',
                        parameters: [
                            { pathName: 'central', parameterName: 'central' },
                            { pathName: 'salesliteratures', parameterName: 'salesliterature' },
                            { pathName: 'gridview', parameterName: 'gridview' },
                        ],
                        requireAuth: true,
                    },
                    component: () => import('@pages/sales/sales-literature-grid-view/sales-literature-grid-view.vue'),
                },
                {
                    path: 'competitors/:competitor?/editview/:editview?',
                    meta: {
                        caption: 'entities.competitor.views.editview.title',
                        info:'',
                        parameters: [
                            { pathName: 'central', parameterName: 'central' },
                            { pathName: 'competitors', parameterName: 'competitor' },
                            { pathName: 'editview', parameterName: 'editview' },
                        ],
                        requireAuth: true,
                    },
                    component: () => import('@pages/sales/competitor-edit-view/competitor-edit-view.vue'),
                },
                {
                    path: 'centeralportal/:centeralportal?',
                    meta: {
                        caption: 'app.views.centeralportal.title',
                        info:'',
                        parameters: [
                            { pathName: 'central', parameterName: 'central' },
                            { pathName: 'centeralportal', parameterName: 'centeralportal' },
                        ],
                        requireAuth: true,
                    },
                    component: () => import('@pages/ungroup/centeral-portal/centeral-portal.vue'),
                },
                {
                    path: 'accounts/:account?/edit_address/:edit_address?',
                    meta: {
                        caption: 'entities.account.views.edit_address.title',
                        info:'',
                        parameters: [
                            { pathName: 'central', parameterName: 'central' },
                            { pathName: 'accounts', parameterName: 'account' },
                            { pathName: 'edit_address', parameterName: 'edit_address' },
                        ],
                        requireAuth: true,
                    },
                    component: () => import('@pages/base/account-edit-address/account-edit-address.vue'),
                },
                {
                    path: 'products/:product?/editview/:editview?',
                    meta: {
                        caption: 'entities.product.views.editview.title',
                        info:'',
                        parameters: [
                            { pathName: 'central', parameterName: 'central' },
                            { pathName: 'products', parameterName: 'product' },
                            { pathName: 'editview', parameterName: 'editview' },
                        ],
                        requireAuth: true,
                    },
                    component: () => import('@pages/product/product-edit-view/product-edit-view.vue'),
                },
                {
                    path: 'tasks/:task?/quickcreate/:quickcreate?',
                    meta: {
                        caption: 'entities.task.views.quickcreate.title',
                        info:'',
                        parameters: [
                            { pathName: 'central', parameterName: 'central' },
                            { pathName: 'tasks', parameterName: 'task' },
                            { pathName: 'quickcreate', parameterName: 'quickcreate' },
                        ],
                        requireAuth: true,
                    },
                    component: () => import('@pages/base/task-quick-create/task-quick-create.vue'),
                },
                {
                    path: 'quotes/:quote?/gridview/:gridview?',
                    meta: {
                        caption: 'entities.quote.views.gridview.title',
                        info:'',
                        parameters: [
                            { pathName: 'central', parameterName: 'central' },
                            { pathName: 'quotes', parameterName: 'quote' },
                            { pathName: 'gridview', parameterName: 'gridview' },
                        ],
                        requireAuth: true,
                    },
                    component: () => import('@pages/sales/quote-grid-view/quote-grid-view.vue'),
                },
                {
                    path: 'accounts/:account?/info_account/:info_account?',
                    meta: {
                        caption: 'entities.account.views.info_account.title',
                        info:'',
                        parameters: [
                            { pathName: 'central', parameterName: 'central' },
                            { pathName: 'accounts', parameterName: 'account' },
                            { pathName: 'info_account', parameterName: 'info_account' },
                        ],
                        requireAuth: true,
                    },
                    component: () => import('@pages/base/account-info-account/account-info-account.vue'),
                },
                {
                    path: 'invoices/:invoice?/editview/:editview?',
                    meta: {
                        caption: 'entities.invoice.views.editview.title',
                        info:'',
                        parameters: [
                            { pathName: 'central', parameterName: 'central' },
                            { pathName: 'invoices', parameterName: 'invoice' },
                            { pathName: 'editview', parameterName: 'editview' },
                        ],
                        requireAuth: true,
                    },
                    component: () => import('@pages/finance/invoice-edit-view/invoice-edit-view.vue'),
                },
                {
                    path: 'contacts/:contact?/dashboardview9/:dashboardview9?',
                    meta: {
                        caption: 'entities.contact.views.dashboardview9.title',
                        info:'',
                        parameters: [
                            { pathName: 'central', parameterName: 'central' },
                            { pathName: 'contacts', parameterName: 'contact' },
                            { pathName: 'dashboardview9', parameterName: 'dashboardview9' },
                        ],
                        requireAuth: true,
                    },
                    component: () => import('@pages/base/contact-dashboard-view9/contact-dashboard-view9.vue'),
                },
                {
                    path: 'campaigns/:campaign?/info_schedule/:info_schedule?',
                    meta: {
                        caption: 'entities.campaign.views.info_schedule.title',
                        info:'',
                        parameters: [
                            { pathName: 'central', parameterName: 'central' },
                            { pathName: 'campaigns', parameterName: 'campaign' },
                            { pathName: 'info_schedule', parameterName: 'info_schedule' },
                        ],
                        requireAuth: true,
                    },
                    component: () => import('@pages/marketing/campaign-info-schedule/campaign-info-schedule.vue'),
                },
                {
                    path: 'accounts/:account?/info_contactsetting/:info_contactsetting?',
                    meta: {
                        caption: 'entities.account.views.info_contactsetting.title',
                        info:'',
                        parameters: [
                            { pathName: 'central', parameterName: 'central' },
                            { pathName: 'accounts', parameterName: 'account' },
                            { pathName: 'info_contactsetting', parameterName: 'info_contactsetting' },
                        ],
                        requireAuth: true,
                    },
                    component: () => import('@pages/base/account-info-contact-setting/account-info-contact-setting.vue'),
                },
                {
                    path: 'campaigns/:campaign?/editview/:editview?',
                    meta: {
                        caption: 'entities.campaign.views.editview.title',
                        info:'',
                        parameters: [
                            { pathName: 'central', parameterName: 'central' },
                            { pathName: 'campaigns', parameterName: 'campaign' },
                            { pathName: 'editview', parameterName: 'editview' },
                        ],
                        requireAuth: true,
                    },
                    component: () => import('@pages/marketing/campaign-edit-view/campaign-edit-view.vue'),
                },
                {
                    path: 'opportunities/:opportunity?/gridview/:gridview?',
                    meta: {
                        caption: 'entities.opportunity.views.gridview.title',
                        info:'',
                        parameters: [
                            { pathName: 'central', parameterName: 'central' },
                            { pathName: 'opportunities', parameterName: 'opportunity' },
                            { pathName: 'gridview', parameterName: 'gridview' },
                        ],
                        requireAuth: true,
                    },
                    component: () => import('@pages/sales/opportunity-grid-view/opportunity-grid-view.vue'),
                },
                {
                    path: 'letters/:letter?/editview/:editview?',
                    meta: {
                        caption: 'entities.letter.views.editview.title',
                        info:'',
                        parameters: [
                            { pathName: 'central', parameterName: 'central' },
                            { pathName: 'letters', parameterName: 'letter' },
                            { pathName: 'editview', parameterName: 'editview' },
                        ],
                        requireAuth: true,
                    },
                    component: () => import('@pages/base/letter-edit-view/letter-edit-view.vue'),
                },
                {
                    path: 'goals/:goal?/editview/:editview?',
                    meta: {
                        caption: 'entities.goal.views.editview.title',
                        info:'',
                        parameters: [
                            { pathName: 'central', parameterName: 'central' },
                            { pathName: 'goals', parameterName: 'goal' },
                            { pathName: 'editview', parameterName: 'editview' },
                        ],
                        requireAuth: true,
                    },
                    component: () => import('@pages/sales/goal-edit-view/goal-edit-view.vue'),
                },
                {
                    path: 'transactioncurrencies/:transactioncurrency?/pickupview/:pickupview?',
                    meta: {
                        caption: 'entities.transactioncurrency.views.pickupview.title',
                        info:'',
                        parameters: [
                            { pathName: 'central', parameterName: 'central' },
                            { pathName: 'transactioncurrencies', parameterName: 'transactioncurrency' },
                            { pathName: 'pickupview', parameterName: 'pickupview' },
                        ],
                        requireAuth: true,
                    },
                    component: () => import('@pages/base/transaction-currency-pickup-view/transaction-currency-pickup-view.vue'),
                },
                {
                    path: 'campaigns/:campaign?/info_campagin/:info_campagin?',
                    meta: {
                        caption: 'entities.campaign.views.info_campagin.title',
                        info:'',
                        parameters: [
                            { pathName: 'central', parameterName: 'central' },
                            { pathName: 'campaigns', parameterName: 'campaign' },
                            { pathName: 'info_campagin', parameterName: 'info_campagin' },
                        ],
                        requireAuth: true,
                    },
                    component: () => import('@pages/marketing/campaign-info-campagin/campaign-info-campagin.vue'),
                },
                {
                    path: 'accounts/:account?/info_address/:info_address?',
                    meta: {
                        caption: 'entities.account.views.info_address.title',
                        info:'',
                        parameters: [
                            { pathName: 'central', parameterName: 'central' },
                            { pathName: 'accounts', parameterName: 'account' },
                            { pathName: 'info_address', parameterName: 'info_address' },
                        ],
                        requireAuth: true,
                    },
                    component: () => import('@pages/base/account-info-address/account-info-address.vue'),
                },
                {
                    path: 'contacts/:contact?/info_detail/:info_detail?',
                    meta: {
                        caption: 'entities.contact.views.info_detail.title',
                        info:'',
                        parameters: [
                            { pathName: 'central', parameterName: 'central' },
                            { pathName: 'contacts', parameterName: 'contact' },
                            { pathName: 'info_detail', parameterName: 'info_detail' },
                        ],
                        requireAuth: true,
                    },
                    component: () => import('@pages/base/contact-info-detail/contact-info-detail.vue'),
                },
                {
                    path: 'appointments/:appointment?/editview/:editview?',
                    meta: {
                        caption: 'entities.appointment.views.editview.title',
                        info:'',
                        parameters: [
                            { pathName: 'central', parameterName: 'central' },
                            { pathName: 'appointments', parameterName: 'appointment' },
                            { pathName: 'editview', parameterName: 'editview' },
                        ],
                        requireAuth: true,
                    },
                    component: () => import('@pages/base/appointment-edit-view/appointment-edit-view.vue'),
                },
                {
                    path: 'contacts/:contact?/tabexpview/:tabexpview?',
                    meta: {
                        caption: 'entities.contact.views.tabexpview.title',
                        info:'',
                        parameters: [
                            { pathName: 'central', parameterName: 'central' },
                            { pathName: 'contacts', parameterName: 'contact' },
                            { pathName: 'tabexpview', parameterName: 'tabexpview' },
                        ],
                        requireAuth: true,
                    },
                    component: () => import('@pages/base/contact-tab-exp-view/contact-tab-exp-view.vue'),
                },
                {
                    path: 'emails/:email?/editview/:editview?',
                    meta: {
                        caption: 'entities.email.views.editview.title',
                        info:'',
                        parameters: [
                            { pathName: 'central', parameterName: 'central' },
                            { pathName: 'emails', parameterName: 'email' },
                            { pathName: 'editview', parameterName: 'editview' },
                        ],
                        requireAuth: true,
                    },
                    component: () => import('@pages/base/email-edit-view/email-edit-view.vue'),
                },
                {
                    path: 'goals/:goal?/gridview/:gridview?',
                    meta: {
                        caption: 'entities.goal.views.gridview.title',
                        info:'',
                        parameters: [
                            { pathName: 'central', parameterName: 'central' },
                            { pathName: 'goals', parameterName: 'goal' },
                            { pathName: 'gridview', parameterName: 'gridview' },
                        ],
                        requireAuth: true,
                    },
                    component: () => import('@pages/sales/goal-grid-view/goal-grid-view.vue'),
                },
                {
                    path: 'transactioncurrencies/:transactioncurrency?/pickupgridview/:pickupgridview?',
                    meta: {
                        caption: 'entities.transactioncurrency.views.pickupgridview.title',
                        info:'',
                        parameters: [
                            { pathName: 'central', parameterName: 'central' },
                            { pathName: 'transactioncurrencies', parameterName: 'transactioncurrency' },
                            { pathName: 'pickupgridview', parameterName: 'pickupgridview' },
                        ],
                        requireAuth: true,
                    },
                    component: () => import('@pages/base/transaction-currency-pickup-grid-view/transaction-currency-pickup-grid-view.vue'),
                },
                {
                    path: 'contacts/:contact?/gridview/:gridview?',
                    meta: {
                        caption: 'entities.contact.views.gridview.title',
                        info:'',
                        parameters: [
                            { pathName: 'central', parameterName: 'central' },
                            { pathName: 'contacts', parameterName: 'contact' },
                            { pathName: 'gridview', parameterName: 'gridview' },
                        ],
                        requireAuth: true,
                    },
                    component: () => import('@pages/base/contact-grid-view/contact-grid-view.vue'),
                },
                {
                    path: 'serviceappointments/:serviceappointment?/editview/:editview?',
                    meta: {
                        caption: 'entities.serviceappointment.views.editview.title',
                        info:'',
                        parameters: [
                            { pathName: 'central', parameterName: 'central' },
                            { pathName: 'serviceappointments', parameterName: 'serviceappointment' },
                            { pathName: 'editview', parameterName: 'editview' },
                        ],
                        requireAuth: true,
                    },
                    component: () => import('@pages/service/service-appointment-edit-view/service-appointment-edit-view.vue'),
                },
                {
                    path: 'accounts/:account?/gridview/:gridview?',
                    meta: {
                        caption: 'entities.account.views.gridview.title',
                        info:'',
                        parameters: [
                            { pathName: 'central', parameterName: 'central' },
                            { pathName: 'accounts', parameterName: 'account' },
                            { pathName: 'gridview', parameterName: 'gridview' },
                        ],
                        requireAuth: true,
                    },
                    component: () => import('@pages/base/account-grid-view/account-grid-view.vue'),
                },
                {
                    path: 'campaignactivities/:campaignactivity?/byparentkey/:byparentkey?',
                    meta: {
                        caption: 'entities.campaignactivity.views.byparentkey.title',
                        info:'',
                        parameters: [
                            { pathName: 'central', parameterName: 'central' },
                            { pathName: 'campaignactivities', parameterName: 'campaignactivity' },
                            { pathName: 'byparentkey', parameterName: 'byparentkey' },
                        ],
                        requireAuth: true,
                    },
                    component: () => import('@pages/marketing/campaign-activity-by-parent-key/campaign-activity-by-parent-key.vue'),
                },
                {
                    path: 'activitypointers/:activitypointer?/gridview/:gridview?',
                    meta: {
                        caption: 'entities.activitypointer.views.gridview.title',
                        info:'',
                        parameters: [
                            { pathName: 'central', parameterName: 'central' },
                            { pathName: 'activitypointers', parameterName: 'activitypointer' },
                            { pathName: 'gridview', parameterName: 'gridview' },
                        ],
                        requireAuth: true,
                    },
                    component: () => import('@pages/base/activity-pointer-grid-view/activity-pointer-grid-view.vue'),
                },
                {
                    path: 'invoices/:invoice?/gridview/:gridview?',
                    meta: {
                        caption: 'entities.invoice.views.gridview.title',
                        info:'',
                        parameters: [
                            { pathName: 'central', parameterName: 'central' },
                            { pathName: 'invoices', parameterName: 'invoice' },
                            { pathName: 'gridview', parameterName: 'gridview' },
                        ],
                        requireAuth: true,
                    },
                    component: () => import('@pages/finance/invoice-grid-view/invoice-grid-view.vue'),
                },
                {
                    path: 'accounts/:account?/info_distribution/:info_distribution?',
                    meta: {
                        caption: 'entities.account.views.info_distribution.title',
                        info:'',
                        parameters: [
                            { pathName: 'central', parameterName: 'central' },
                            { pathName: 'accounts', parameterName: 'account' },
                            { pathName: 'info_distribution', parameterName: 'info_distribution' },
                        ],
                        requireAuth: true,
                    },
                    component: () => import('@pages/base/account-info-distribution/account-info-distribution.vue'),
                },
                {
                    path: 'accounts/:account?/pickupview/:pickupview?',
                    meta: {
                        caption: 'entities.account.views.pickupview.title',
                        info:'',
                        parameters: [
                            { pathName: 'central', parameterName: 'central' },
                            { pathName: 'accounts', parameterName: 'account' },
                            { pathName: 'pickupview', parameterName: 'pickupview' },
                        ],
                        requireAuth: true,
                    },
                    component: () => import('@pages/base/account-pickup-view/account-pickup-view.vue'),
                },
                {
                    path: 'pricelevels/:pricelevel?/pickupgridview/:pickupgridview?',
                    meta: {
                        caption: 'entities.pricelevel.views.pickupgridview.title',
                        info:'',
                        parameters: [
                            { pathName: 'central', parameterName: 'central' },
                            { pathName: 'pricelevels', parameterName: 'pricelevel' },
                            { pathName: 'pickupgridview', parameterName: 'pickupgridview' },
                        ],
                        requireAuth: true,
                    },
                    component: () => import('@pages/product/price-level-pickup-grid-view/price-level-pickup-grid-view.vue'),
                },
                {
                    path: 'ibizlists/:ibizlist?/gridview/:gridview?',
                    meta: {
                        caption: 'entities.ibizlist.views.gridview.title',
                        info:'',
                        parameters: [
                            { pathName: 'central', parameterName: 'central' },
                            { pathName: 'ibizlists', parameterName: 'ibizlist' },
                            { pathName: 'gridview', parameterName: 'gridview' },
                        ],
                        requireAuth: true,
                    },
                    component: () => import('@pages/marketing/ibiz-list-grid-view/ibiz-list-grid-view.vue'),
                },
                {
                    path: 'contacts/:contact?/byaccount/:byaccount?',
                    meta: {
                        caption: 'entities.contact.views.byaccount.title',
                        info:'',
                        parameters: [
                            { pathName: 'central', parameterName: 'central' },
                            { pathName: 'contacts', parameterName: 'contact' },
                            { pathName: 'byaccount', parameterName: 'byaccount' },
                        ],
                        requireAuth: true,
                    },
                    component: () => import('@pages/base/contact-by-account/contact-by-account.vue'),
                },
                {
                    path: 'products/:product?/gridview/:gridview?',
                    meta: {
                        caption: 'entities.product.views.gridview.title',
                        info:'',
                        parameters: [
                            { pathName: 'central', parameterName: 'central' },
                            { pathName: 'products', parameterName: 'product' },
                            { pathName: 'gridview', parameterName: 'gridview' },
                        ],
                        requireAuth: true,
                    },
                    component: () => import('@pages/product/product-grid-view/product-grid-view.vue'),
                },
                {
                    path: 'salesliteratures/:salesliterature?/editview/:editview?',
                    meta: {
                        caption: 'entities.salesliterature.views.editview.title',
                        info:'',
                        parameters: [
                            { pathName: 'central', parameterName: 'central' },
                            { pathName: 'salesliteratures', parameterName: 'salesliterature' },
                            { pathName: 'editview', parameterName: 'editview' },
                        ],
                        requireAuth: true,
                    },
                    component: () => import('@pages/sales/sales-literature-edit-view/sales-literature-edit-view.vue'),
                },
                {
                    path: 'campaignresponses/:campaignresponse?/quickcreate/:quickcreate?',
                    meta: {
                        caption: 'entities.campaignresponse.views.quickcreate.title',
                        info:'',
                        parameters: [
                            { pathName: 'central', parameterName: 'central' },
                            { pathName: 'campaignresponses', parameterName: 'campaignresponse' },
                            { pathName: 'quickcreate', parameterName: 'quickcreate' },
                        ],
                        requireAuth: true,
                    },
                    component: () => import('@pages/marketing/campaign-response-quick-create/campaign-response-quick-create.vue'),
                },
                {
                    path: 'accounts/:account?/pickupgridview/:pickupgridview?',
                    meta: {
                        caption: 'entities.account.views.pickupgridview.title',
                        info:'',
                        parameters: [
                            { pathName: 'central', parameterName: 'central' },
                            { pathName: 'accounts', parameterName: 'account' },
                            { pathName: 'pickupgridview', parameterName: 'pickupgridview' },
                        ],
                        requireAuth: true,
                    },
                    component: () => import('@pages/base/account-pickup-grid-view/account-pickup-grid-view.vue'),
                },
                {
                    path: 'products/:product?/edit_quickcreate/:edit_quickcreate?',
                    meta: {
                        caption: 'entities.product.views.edit_quickcreate.title',
                        info:'',
                        parameters: [
                            { pathName: 'central', parameterName: 'central' },
                            { pathName: 'products', parameterName: 'product' },
                            { pathName: 'edit_quickcreate', parameterName: 'edit_quickcreate' },
                        ],
                        requireAuth: true,
                    },
                    component: () => import('@pages/product/product-edit-quick-create/product-edit-quick-create.vue'),
                },
                {
                    path: 'accounts/:account?/info/:info?',
                    meta: {
                        caption: 'entities.account.views.info.title',
                        info:'',
                        parameters: [
                            { pathName: 'central', parameterName: 'central' },
                            { pathName: 'accounts', parameterName: 'account' },
                            { pathName: 'info', parameterName: 'info' },
                        ],
                        requireAuth: true,
                    },
                    component: () => import('@pages/base/account-info/account-info.vue'),
                },
                {
                    path: 'campaigns/:campaign?/info_manager/:info_manager?',
                    meta: {
                        caption: 'entities.campaign.views.info_manager.title',
                        info:'',
                        parameters: [
                            { pathName: 'central', parameterName: 'central' },
                            { pathName: 'campaigns', parameterName: 'campaign' },
                            { pathName: 'info_manager', parameterName: 'info_manager' },
                        ],
                        requireAuth: true,
                    },
                    component: () => import('@pages/marketing/campaign-info-manager/campaign-info-manager.vue'),
                },
                {
                    path: 'campaigns/:campaign?/summary/:summary?',
                    meta: {
                        caption: 'entities.campaign.views.summary.title',
                        info:'',
                        parameters: [
                            { pathName: 'central', parameterName: 'central' },
                            { pathName: 'campaigns', parameterName: 'campaign' },
                            { pathName: 'summary', parameterName: 'summary' },
                        ],
                        requireAuth: true,
                    },
                    component: () => import('@pages/marketing/campaign-summary/campaign-summary.vue'),
                },
                {
                    path: 'campaigns/:campaign?/gridview/:gridview?',
                    meta: {
                        caption: 'entities.campaign.views.gridview.title',
                        info:'',
                        parameters: [
                            { pathName: 'central', parameterName: 'central' },
                            { pathName: 'campaigns', parameterName: 'campaign' },
                            { pathName: 'gridview', parameterName: 'gridview' },
                        ],
                        requireAuth: true,
                    },
                    component: () => import('@pages/marketing/campaign-grid-view/campaign-grid-view.vue'),
                },
                {
                    path: 'accounts/:account?/info_majorcontact/:info_majorcontact?',
                    meta: {
                        caption: 'entities.account.views.info_majorcontact.title',
                        info:'',
                        parameters: [
                            { pathName: 'central', parameterName: 'central' },
                            { pathName: 'accounts', parameterName: 'account' },
                            { pathName: 'info_majorcontact', parameterName: 'info_majorcontact' },
                        ],
                        requireAuth: true,
                    },
                    component: () => import('@pages/base/account-info-major-contact/account-info-major-contact.vue'),
                },
                {
                    path: 'salesorders/:salesorder?/gridview/:gridview?',
                    meta: {
                        caption: 'entities.salesorder.views.gridview.title',
                        info:'',
                        parameters: [
                            { pathName: 'central', parameterName: 'central' },
                            { pathName: 'salesorders', parameterName: 'salesorder' },
                            { pathName: 'gridview', parameterName: 'gridview' },
                        ],
                        requireAuth: true,
                    },
                    component: () => import('@pages/sales/sales-order-grid-view/sales-order-grid-view.vue'),
                },
                {
                    path: 'contacts/:contact?/optionview/:optionview?',
                    meta: {
                        caption: 'entities.contact.views.optionview.title',
                        info:'',
                        parameters: [
                            { pathName: 'central', parameterName: 'central' },
                            { pathName: 'contacts', parameterName: 'contact' },
                            { pathName: 'optionview', parameterName: 'optionview' },
                        ],
                        requireAuth: true,
                    },
                    component: () => import('@pages/base/contact-option-view/contact-option-view.vue'),
                },
                {
                    path: 'activitypointers/:activitypointer?/byparentkey/:byparentkey?',
                    meta: {
                        caption: 'entities.activitypointer.views.byparentkey.title',
                        info:'',
                        parameters: [
                            { pathName: 'central', parameterName: 'central' },
                            { pathName: 'activitypointers', parameterName: 'activitypointer' },
                            { pathName: 'byparentkey', parameterName: 'byparentkey' },
                        ],
                        requireAuth: true,
                    },
                    component: () => import('@pages/base/activity-pointer-by-parent-key/activity-pointer-by-parent-key.vue'),
                },
                {
                    path: 'campaigns/:campaign?/leads/:lead?/editview/:editview?',
                    meta: {
                        caption: 'entities.lead.views.editview.title',
                        info:'',
                        parameters: [
                            { pathName: 'central', parameterName: 'central' },
                            { pathName: 'campaigns', parameterName: 'campaign' },
                            { pathName: 'leads', parameterName: 'lead' },
                            { pathName: 'editview', parameterName: 'editview' },
                        ],
                        requireAuth: true,
                    },
                    component: () => import('@pages/sales/lead-edit-view/lead-edit-view.vue'),
                },
                {
                    path: 'leads/:lead?/editview/:editview?',
                    meta: {
                        caption: 'entities.lead.views.editview.title',
                        info:'',
                        parameters: [
                            { pathName: 'central', parameterName: 'central' },
                            { pathName: 'leads', parameterName: 'lead' },
                            { pathName: 'editview', parameterName: 'editview' },
                        ],
                        requireAuth: true,
                    },
                    component: () => import('@pages/sales/lead-edit-view/lead-edit-view.vue'),
                },
                {
                    path: 'phonecalls/:phonecall?/editview/:editview?',
                    meta: {
                        caption: 'entities.phonecall.views.editview.title',
                        info:'',
                        parameters: [
                            { pathName: 'central', parameterName: 'central' },
                            { pathName: 'phonecalls', parameterName: 'phonecall' },
                            { pathName: 'editview', parameterName: 'editview' },
                        ],
                        requireAuth: true,
                    },
                    component: () => import('@pages/base/phone-call-edit-view/phone-call-edit-view.vue'),
                },
                {
                    path: 'tasks/:task?/editview/:editview?',
                    meta: {
                        caption: 'entities.task.views.editview.title',
                        info:'',
                        parameters: [
                            { pathName: 'central', parameterName: 'central' },
                            { pathName: 'tasks', parameterName: 'task' },
                            { pathName: 'editview', parameterName: 'editview' },
                        ],
                        requireAuth: true,
                    },
                    component: () => import('@pages/base/task-edit-view/task-edit-view.vue'),
                },
                {
                    path: 'campaigns/:campaign?/leads/:lead?/quickcreate/:quickcreate?',
                    meta: {
                        caption: 'entities.lead.views.quickcreate.title',
                        info:'',
                        parameters: [
                            { pathName: 'central', parameterName: 'central' },
                            { pathName: 'campaigns', parameterName: 'campaign' },
                            { pathName: 'leads', parameterName: 'lead' },
                            { pathName: 'quickcreate', parameterName: 'quickcreate' },
                        ],
                        requireAuth: true,
                    },
                    component: () => import('@pages/sales/lead-quick-create/lead-quick-create.vue'),
                },
                {
                    path: 'leads/:lead?/quickcreate/:quickcreate?',
                    meta: {
                        caption: 'entities.lead.views.quickcreate.title',
                        info:'',
                        parameters: [
                            { pathName: 'central', parameterName: 'central' },
                            { pathName: 'leads', parameterName: 'lead' },
                            { pathName: 'quickcreate', parameterName: 'quickcreate' },
                        ],
                        requireAuth: true,
                    },
                    component: () => import('@pages/sales/lead-quick-create/lead-quick-create.vue'),
                },
                {
                    path: 'pricelevels/:pricelevel?/pickupview/:pickupview?',
                    meta: {
                        caption: 'entities.pricelevel.views.pickupview.title',
                        info:'',
                        parameters: [
                            { pathName: 'central', parameterName: 'central' },
                            { pathName: 'pricelevels', parameterName: 'pricelevel' },
                            { pathName: 'pickupview', parameterName: 'pickupview' },
                        ],
                        requireAuth: true,
                    },
                    component: () => import('@pages/product/price-level-pickup-view/price-level-pickup-view.vue'),
                },
                {
                    path: 'opportunities/:opportunity?/editview/:editview?',
                    meta: {
                        caption: 'entities.opportunity.views.editview.title',
                        info:'',
                        parameters: [
                            { pathName: 'central', parameterName: 'central' },
                            { pathName: 'opportunities', parameterName: 'opportunity' },
                            { pathName: 'editview', parameterName: 'editview' },
                        ],
                        requireAuth: true,
                    },
                    component: () => import('@pages/sales/opportunity-edit-view/opportunity-edit-view.vue'),
                },
                {
                    path: 'competitors/:competitor?/gridview/:gridview?',
                    meta: {
                        caption: 'entities.competitor.views.gridview.title',
                        info:'',
                        parameters: [
                            { pathName: 'central', parameterName: 'central' },
                            { pathName: 'competitors', parameterName: 'competitor' },
                            { pathName: 'gridview', parameterName: 'gridview' },
                        ],
                        requireAuth: true,
                    },
                    component: () => import('@pages/sales/competitor-grid-view/competitor-grid-view.vue'),
                },
                {
                    path: 'ibizlists/:ibizlist?/editview/:editview?',
                    meta: {
                        caption: 'entities.ibizlist.views.editview.title',
                        info:'',
                        parameters: [
                            { pathName: 'central', parameterName: 'central' },
                            { pathName: 'ibizlists', parameterName: 'ibizlist' },
                            { pathName: 'editview', parameterName: 'editview' },
                        ],
                        requireAuth: true,
                    },
                    component: () => import('@pages/marketing/ibiz-list-edit-view/ibiz-list-edit-view.vue'),
                },
                {
                    path: 'quotes/:quote?/editview/:editview?',
                    meta: {
                        caption: 'entities.quote.views.editview.title',
                        info:'',
                        parameters: [
                            { pathName: 'central', parameterName: 'central' },
                            { pathName: 'quotes', parameterName: 'quote' },
                            { pathName: 'editview', parameterName: 'editview' },
                        ],
                        requireAuth: true,
                    },
                    component: () => import('@pages/sales/quote-edit-view/quote-edit-view.vue'),
                },
                {
                    path: 'accounts/:account?/edit_accountinfo/:edit_accountinfo?',
                    meta: {
                        caption: 'entities.account.views.edit_accountinfo.title',
                        info:'',
                        parameters: [
                            { pathName: 'central', parameterName: 'central' },
                            { pathName: 'accounts', parameterName: 'account' },
                            { pathName: 'edit_accountinfo', parameterName: 'edit_accountinfo' },
                        ],
                        requireAuth: true,
                    },
                    component: () => import('@pages/base/account-edit-account-info/account-edit-account-info.vue'),
                },
                {
                    path: 'accounts/:account?/summary/:summary?',
                    meta: {
                        caption: 'entities.account.views.summary.title',
                        info:'',
                        parameters: [
                            { pathName: 'central', parameterName: 'central' },
                            { pathName: 'accounts', parameterName: 'account' },
                            { pathName: 'summary', parameterName: 'summary' },
                        ],
                        requireAuth: true,
                    },
                    component: () => import('@pages/base/account-summary/account-summary.vue'),
                },
                {
                    path: 'incidents/:incident?/gridview/:gridview?',
                    meta: {
                        caption: 'entities.incident.views.gridview.title',
                        info:'',
                        parameters: [
                            { pathName: 'central', parameterName: 'central' },
                            { pathName: 'incidents', parameterName: 'incident' },
                            { pathName: 'gridview', parameterName: 'gridview' },
                        ],
                        requireAuth: true,
                    },
                    component: () => import('@pages/service/incident-grid-view/incident-grid-view.vue'),
                },
            ...indexRoutes,
            ],
        },
    {
        path: '/accounts/:account?/summary/:summary?',
        meta: {
            caption: 'entities.account.views.summary.title',
            info:'',
            parameters: [
                { pathName: 'accounts', parameterName: 'account' },
                { pathName: 'summary', parameterName: 'summary' },
            ],
            requireAuth: true,
        },
        component: () => import('@pages/base/account-summary/account-summary.vue'),
    },
    {
        path: '/invoices/:invoice?/editview/:editview?',
        meta: {
            caption: 'entities.invoice.views.editview.title',
            info:'',
            parameters: [
                { pathName: 'invoices', parameterName: 'invoice' },
                { pathName: 'editview', parameterName: 'editview' },
            ],
            requireAuth: true,
        },
        component: () => import('@pages/finance/invoice-edit-view/invoice-edit-view.vue'),
    },
    {
        path: '/contacts/:contact?/gridview/:gridview?',
        meta: {
            caption: 'entities.contact.views.gridview.title',
            info:'',
            parameters: [
                { pathName: 'contacts', parameterName: 'contact' },
                { pathName: 'gridview', parameterName: 'gridview' },
            ],
            requireAuth: true,
        },
        component: () => import('@pages/base/contact-grid-view/contact-grid-view.vue'),
    },
    {
        path: '/incidents/:incident?/editview/:editview?',
        meta: {
            caption: 'entities.incident.views.editview.title',
            info:'',
            parameters: [
                { pathName: 'incidents', parameterName: 'incident' },
                { pathName: 'editview', parameterName: 'editview' },
            ],
            requireAuth: true,
        },
        component: () => import('@pages/service/incident-edit-view/incident-edit-view.vue'),
    },
    {
        path: '/campaigns/:campaign?/info_head/:info_head?',
        meta: {
            caption: 'entities.campaign.views.info_head.title',
            info:'',
            parameters: [
                { pathName: 'campaigns', parameterName: 'campaign' },
                { pathName: 'info_head', parameterName: 'info_head' },
            ],
            requireAuth: true,
        },
        component: () => import('@pages/marketing/campaign-info-head/campaign-info-head.vue'),
    },
    {
        path: '/campaigns/:campaign?/gridview/:gridview?',
        meta: {
            caption: 'entities.campaign.views.gridview.title',
            info:'',
            parameters: [
                { pathName: 'campaigns', parameterName: 'campaign' },
                { pathName: 'gridview', parameterName: 'gridview' },
            ],
            requireAuth: true,
        },
        component: () => import('@pages/marketing/campaign-grid-view/campaign-grid-view.vue'),
    },
    {
        path: '/salesorders/:salesorder?/editview/:editview?',
        meta: {
            caption: 'entities.salesorder.views.editview.title',
            info:'',
            parameters: [
                { pathName: 'salesorders', parameterName: 'salesorder' },
                { pathName: 'editview', parameterName: 'editview' },
            ],
            requireAuth: true,
        },
        component: () => import('@pages/sales/sales-order-edit-view/sales-order-edit-view.vue'),
    },
    {
        path: '/campaignresponses/:campaignresponse?/byparentkey/:byparentkey?',
        meta: {
            caption: 'entities.campaignresponse.views.byparentkey.title',
            info:'',
            parameters: [
                { pathName: 'campaignresponses', parameterName: 'campaignresponse' },
                { pathName: 'byparentkey', parameterName: 'byparentkey' },
            ],
            requireAuth: true,
        },
        component: () => import('@pages/marketing/campaign-response-by-parent-key/campaign-response-by-parent-key.vue'),
    },
    {
        path: '/quotes/:quote?/gridview/:gridview?',
        meta: {
            caption: 'entities.quote.views.gridview.title',
            info:'',
            parameters: [
                { pathName: 'quotes', parameterName: 'quote' },
                { pathName: 'gridview', parameterName: 'gridview' },
            ],
            requireAuth: true,
        },
        component: () => import('@pages/sales/quote-grid-view/quote-grid-view.vue'),
    },
    {
        path: '/campaigns/:campaign?/info_campagin/:info_campagin?',
        meta: {
            caption: 'entities.campaign.views.info_campagin.title',
            info:'',
            parameters: [
                { pathName: 'campaigns', parameterName: 'campaign' },
                { pathName: 'info_campagin', parameterName: 'info_campagin' },
            ],
            requireAuth: true,
        },
        component: () => import('@pages/marketing/campaign-info-campagin/campaign-info-campagin.vue'),
    },
    {
        path: '/campaigns/:campaign?/leads/:lead?/gridview/:gridview?',
        meta: {
            caption: 'entities.lead.views.gridview.title',
            info:'',
            parameters: [
                { pathName: 'campaigns', parameterName: 'campaign' },
                { pathName: 'leads', parameterName: 'lead' },
                { pathName: 'gridview', parameterName: 'gridview' },
            ],
            requireAuth: true,
        },
        component: () => import('@pages/sales/lead-grid-view/lead-grid-view.vue'),
    },
    {
        path: '/leads/:lead?/gridview/:gridview?',
        meta: {
            caption: 'entities.lead.views.gridview.title',
            info:'',
            parameters: [
                { pathName: 'leads', parameterName: 'lead' },
                { pathName: 'gridview', parameterName: 'gridview' },
            ],
            requireAuth: true,
        },
        component: () => import('@pages/sales/lead-grid-view/lead-grid-view.vue'),
    },
    {
        path: '/accounts/:account?/info_account/:info_account?',
        meta: {
            caption: 'entities.account.views.info_account.title',
            info:'',
            parameters: [
                { pathName: 'accounts', parameterName: 'account' },
                { pathName: 'info_account', parameterName: 'info_account' },
            ],
            requireAuth: true,
        },
        component: () => import('@pages/base/account-info-account/account-info-account.vue'),
    },
    {
        path: '/ibizlists/:ibizlist?/gridview/:gridview?',
        meta: {
            caption: 'entities.ibizlist.views.gridview.title',
            info:'',
            parameters: [
                { pathName: 'ibizlists', parameterName: 'ibizlist' },
                { pathName: 'gridview', parameterName: 'gridview' },
            ],
            requireAuth: true,
        },
        component: () => import('@pages/marketing/ibiz-list-grid-view/ibiz-list-grid-view.vue'),
    },
    {
        path: '/activitypointers/:activitypointer?/editview/:editview?',
        meta: {
            caption: 'entities.activitypointer.views.editview.title',
            info:'',
            parameters: [
                { pathName: 'activitypointers', parameterName: 'activitypointer' },
                { pathName: 'editview', parameterName: 'editview' },
            ],
            requireAuth: true,
        },
        component: () => import('@pages/base/activity-pointer-edit-view/activity-pointer-edit-view.vue'),
    },
    {
        path: '/campaignactivities/:campaignactivity?/quickcreate/:quickcreate?',
        meta: {
            caption: 'entities.campaignactivity.views.quickcreate.title',
            info:'',
            parameters: [
                { pathName: 'campaignactivities', parameterName: 'campaignactivity' },
                { pathName: 'quickcreate', parameterName: 'quickcreate' },
            ],
            requireAuth: true,
        },
        component: () => import('@pages/marketing/campaign-activity-quick-create/campaign-activity-quick-create.vue'),
    },
    {
        path: '/accounts/:account?/pickupview/:pickupview?',
        meta: {
            caption: 'entities.account.views.pickupview.title',
            info:'',
            parameters: [
                { pathName: 'accounts', parameterName: 'account' },
                { pathName: 'pickupview', parameterName: 'pickupview' },
            ],
            requireAuth: true,
        },
        component: () => import('@pages/base/account-pickup-view/account-pickup-view.vue'),
    },
    {
        path: '/campaigns/:campaign?/leads/:lead?/editview/:editview?',
        meta: {
            caption: 'entities.lead.views.editview.title',
            info:'',
            parameters: [
                { pathName: 'campaigns', parameterName: 'campaign' },
                { pathName: 'leads', parameterName: 'lead' },
                { pathName: 'editview', parameterName: 'editview' },
            ],
            requireAuth: true,
        },
        component: () => import('@pages/sales/lead-edit-view/lead-edit-view.vue'),
    },
    {
        path: '/leads/:lead?/editview/:editview?',
        meta: {
            caption: 'entities.lead.views.editview.title',
            info:'',
            parameters: [
                { pathName: 'leads', parameterName: 'lead' },
                { pathName: 'editview', parameterName: 'editview' },
            ],
            requireAuth: true,
        },
        component: () => import('@pages/sales/lead-edit-view/lead-edit-view.vue'),
    },
    {
        path: '/accounts/:account?/info/:info?',
        meta: {
            caption: 'entities.account.views.info.title',
            info:'',
            parameters: [
                { pathName: 'accounts', parameterName: 'account' },
                { pathName: 'info', parameterName: 'info' },
            ],
            requireAuth: true,
        },
        component: () => import('@pages/base/account-info/account-info.vue'),
    },
    {
        path: '/salesliteratures/:salesliterature?/editview/:editview?',
        meta: {
            caption: 'entities.salesliterature.views.editview.title',
            info:'',
            parameters: [
                { pathName: 'salesliteratures', parameterName: 'salesliterature' },
                { pathName: 'editview', parameterName: 'editview' },
            ],
            requireAuth: true,
        },
        component: () => import('@pages/sales/sales-literature-edit-view/sales-literature-edit-view.vue'),
    },
    {
        path: '/incidents/:incident?/gridview/:gridview?',
        meta: {
            caption: 'entities.incident.views.gridview.title',
            info:'',
            parameters: [
                { pathName: 'incidents', parameterName: 'incident' },
                { pathName: 'gridview', parameterName: 'gridview' },
            ],
            requireAuth: true,
        },
        component: () => import('@pages/service/incident-grid-view/incident-grid-view.vue'),
    },
    {
        path: '/letters/:letter?/editview/:editview?',
        meta: {
            caption: 'entities.letter.views.editview.title',
            info:'',
            parameters: [
                { pathName: 'letters', parameterName: 'letter' },
                { pathName: 'editview', parameterName: 'editview' },
            ],
            requireAuth: true,
        },
        component: () => import('@pages/base/letter-edit-view/letter-edit-view.vue'),
    },
    {
        path: '/faxes/:fax?/editview/:editview?',
        meta: {
            caption: 'entities.fax.views.editview.title',
            info:'',
            parameters: [
                { pathName: 'faxes', parameterName: 'fax' },
                { pathName: 'editview', parameterName: 'editview' },
            ],
            requireAuth: true,
        },
        component: () => import('@pages/base/fax-edit-view/fax-edit-view.vue'),
    },
    {
        path: '/campaigns/:campaign?/editview/:editview?',
        meta: {
            caption: 'entities.campaign.views.editview.title',
            info:'',
            parameters: [
                { pathName: 'campaigns', parameterName: 'campaign' },
                { pathName: 'editview', parameterName: 'editview' },
            ],
            requireAuth: true,
        },
        component: () => import('@pages/marketing/campaign-edit-view/campaign-edit-view.vue'),
    },
    {
        path: '/activitypointers/:activitypointer?/gridview/:gridview?',
        meta: {
            caption: 'entities.activitypointer.views.gridview.title',
            info:'',
            parameters: [
                { pathName: 'activitypointers', parameterName: 'activitypointer' },
                { pathName: 'gridview', parameterName: 'gridview' },
            ],
            requireAuth: true,
        },
        component: () => import('@pages/base/activity-pointer-grid-view/activity-pointer-grid-view.vue'),
    },
    {
        path: '/campaigns/:campaign?/leads/:lead?/quickcreate/:quickcreate?',
        meta: {
            caption: 'entities.lead.views.quickcreate.title',
            info:'',
            parameters: [
                { pathName: 'campaigns', parameterName: 'campaign' },
                { pathName: 'leads', parameterName: 'lead' },
                { pathName: 'quickcreate', parameterName: 'quickcreate' },
            ],
            requireAuth: true,
        },
        component: () => import('@pages/sales/lead-quick-create/lead-quick-create.vue'),
    },
    {
        path: '/leads/:lead?/quickcreate/:quickcreate?',
        meta: {
            caption: 'entities.lead.views.quickcreate.title',
            info:'',
            parameters: [
                { pathName: 'leads', parameterName: 'lead' },
                { pathName: 'quickcreate', parameterName: 'quickcreate' },
            ],
            requireAuth: true,
        },
        component: () => import('@pages/sales/lead-quick-create/lead-quick-create.vue'),
    },
    {
        path: '/campaigns/:campaign?/summary_head/:summary_head?',
        meta: {
            caption: 'entities.campaign.views.summary_head.title',
            info:'',
            parameters: [
                { pathName: 'campaigns', parameterName: 'campaign' },
                { pathName: 'summary_head', parameterName: 'summary_head' },
            ],
            requireAuth: true,
        },
        component: () => import('@pages/marketing/campaign-summary-head/campaign-summary-head.vue'),
    },
    {
        path: '/campaigns/:campaign?/edit_head/:edit_head?',
        meta: {
            caption: 'entities.campaign.views.edit_head.title',
            info:'',
            parameters: [
                { pathName: 'campaigns', parameterName: 'campaign' },
                { pathName: 'edit_head', parameterName: 'edit_head' },
            ],
            requireAuth: true,
        },
        component: () => import('@pages/marketing/campaign-edit-head/campaign-edit-head.vue'),
    },
    {
        path: '/products/:product?/editview/:editview?',
        meta: {
            caption: 'entities.product.views.editview.title',
            info:'',
            parameters: [
                { pathName: 'products', parameterName: 'product' },
                { pathName: 'editview', parameterName: 'editview' },
            ],
            requireAuth: true,
        },
        component: () => import('@pages/product/product-edit-view/product-edit-view.vue'),
    },
    {
        path: '/campaignactivities/:campaignactivity?/byparentkey/:byparentkey?',
        meta: {
            caption: 'entities.campaignactivity.views.byparentkey.title',
            info:'',
            parameters: [
                { pathName: 'campaignactivities', parameterName: 'campaignactivity' },
                { pathName: 'byparentkey', parameterName: 'byparentkey' },
            ],
            requireAuth: true,
        },
        component: () => import('@pages/marketing/campaign-activity-by-parent-key/campaign-activity-by-parent-key.vue'),
    },
    {
        path: '/accounts/:account?/gridview/:gridview?',
        meta: {
            caption: 'entities.account.views.gridview.title',
            info:'',
            parameters: [
                { pathName: 'accounts', parameterName: 'account' },
                { pathName: 'gridview', parameterName: 'gridview' },
            ],
            requireAuth: true,
        },
        component: () => import('@pages/base/account-grid-view/account-grid-view.vue'),
    },
    {
        path: '/contacts/:contact?/dashboardview9/:dashboardview9?',
        meta: {
            caption: 'entities.contact.views.dashboardview9.title',
            info:'',
            parameters: [
                { pathName: 'contacts', parameterName: 'contact' },
                { pathName: 'dashboardview9', parameterName: 'dashboardview9' },
            ],
            requireAuth: true,
        },
        component: () => import('@pages/base/contact-dashboard-view9/contact-dashboard-view9.vue'),
    },
    {
        path: '/opportunities/:opportunity?/gridview/:gridview?',
        meta: {
            caption: 'entities.opportunity.views.gridview.title',
            info:'',
            parameters: [
                { pathName: 'opportunities', parameterName: 'opportunity' },
                { pathName: 'gridview', parameterName: 'gridview' },
            ],
            requireAuth: true,
        },
        component: () => import('@pages/sales/opportunity-grid-view/opportunity-grid-view.vue'),
    },
    {
        path: '/contacts/:contact?/info_detail/:info_detail?',
        meta: {
            caption: 'entities.contact.views.info_detail.title',
            info:'',
            parameters: [
                { pathName: 'contacts', parameterName: 'contact' },
                { pathName: 'info_detail', parameterName: 'info_detail' },
            ],
            requireAuth: true,
        },
        component: () => import('@pages/base/contact-info-detail/contact-info-detail.vue'),
    },
    {
        path: '/goals/:goal?/gridview/:gridview?',
        meta: {
            caption: 'entities.goal.views.gridview.title',
            info:'',
            parameters: [
                { pathName: 'goals', parameterName: 'goal' },
                { pathName: 'gridview', parameterName: 'gridview' },
            ],
            requireAuth: true,
        },
        component: () => import('@pages/sales/goal-grid-view/goal-grid-view.vue'),
    },
    {
        path: '/accounts/:account?/edit_accountinfo/:edit_accountinfo?',
        meta: {
            caption: 'entities.account.views.edit_accountinfo.title',
            info:'',
            parameters: [
                { pathName: 'accounts', parameterName: 'account' },
                { pathName: 'edit_accountinfo', parameterName: 'edit_accountinfo' },
            ],
            requireAuth: true,
        },
        component: () => import('@pages/base/account-edit-account-info/account-edit-account-info.vue'),
    },
    {
        path: '/campaigns/:campaign?/info_manager/:info_manager?',
        meta: {
            caption: 'entities.campaign.views.info_manager.title',
            info:'',
            parameters: [
                { pathName: 'campaigns', parameterName: 'campaign' },
                { pathName: 'info_manager', parameterName: 'info_manager' },
            ],
            requireAuth: true,
        },
        component: () => import('@pages/marketing/campaign-info-manager/campaign-info-manager.vue'),
    },
    {
        path: '/transactioncurrencies/:transactioncurrency?/pickupgridview/:pickupgridview?',
        meta: {
            caption: 'entities.transactioncurrency.views.pickupgridview.title',
            info:'',
            parameters: [
                { pathName: 'transactioncurrencies', parameterName: 'transactioncurrency' },
                { pathName: 'pickupgridview', parameterName: 'pickupgridview' },
            ],
            requireAuth: true,
        },
        component: () => import('@pages/base/transaction-currency-pickup-grid-view/transaction-currency-pickup-grid-view.vue'),
    },
    {
        path: '/accounts/:account?/editview/:editview?',
        meta: {
            caption: 'entities.account.views.editview.title',
            info:'',
            parameters: [
                { pathName: 'accounts', parameterName: 'account' },
                { pathName: 'editview', parameterName: 'editview' },
            ],
            requireAuth: true,
        },
        component: () => import('@pages/base/account-edit-view/account-edit-view.vue'),
    },
    {
        path: '/accounts/:account?/info_introduction/:info_introduction?',
        meta: {
            caption: 'entities.account.views.info_introduction.title',
            info:'',
            parameters: [
                { pathName: 'accounts', parameterName: 'account' },
                { pathName: 'info_introduction', parameterName: 'info_introduction' },
            ],
            requireAuth: true,
        },
        component: () => import('@pages/base/account-info-introduction/account-info-introduction.vue'),
    },
    {
        path: '/goals/:goal?/editview/:editview?',
        meta: {
            caption: 'entities.goal.views.editview.title',
            info:'',
            parameters: [
                { pathName: 'goals', parameterName: 'goal' },
                { pathName: 'editview', parameterName: 'editview' },
            ],
            requireAuth: true,
        },
        component: () => import('@pages/sales/goal-edit-view/goal-edit-view.vue'),
    },
    {
        path: '/campaignresponses/:campaignresponse?/quickcreate/:quickcreate?',
        meta: {
            caption: 'entities.campaignresponse.views.quickcreate.title',
            info:'',
            parameters: [
                { pathName: 'campaignresponses', parameterName: 'campaignresponse' },
                { pathName: 'quickcreate', parameterName: 'quickcreate' },
            ],
            requireAuth: true,
        },
        component: () => import('@pages/marketing/campaign-response-quick-create/campaign-response-quick-create.vue'),
    },
    {
        path: '/opportunities/:opportunity?/editview/:editview?',
        meta: {
            caption: 'entities.opportunity.views.editview.title',
            info:'',
            parameters: [
                { pathName: 'opportunities', parameterName: 'opportunity' },
                { pathName: 'editview', parameterName: 'editview' },
            ],
            requireAuth: true,
        },
        component: () => import('@pages/sales/opportunity-edit-view/opportunity-edit-view.vue'),
    },
    {
        path: '/centeralportal/:centeralportal?',
        meta: {
            caption: 'app.views.centeralportal.title',
            info:'',
            parameters: [
                { pathName: 'centeralportal', parameterName: 'centeralportal' },
            ],
            requireAuth: true,
        },
        component: () => import('@pages/ungroup/centeral-portal/centeral-portal.vue'),
    },
    {
        path: '/contacts/:contact?/pickupgridview/:pickupgridview?',
        meta: {
            caption: 'entities.contact.views.pickupgridview.title',
            info:'',
            parameters: [
                { pathName: 'contacts', parameterName: 'contact' },
                { pathName: 'pickupgridview', parameterName: 'pickupgridview' },
            ],
            requireAuth: true,
        },
        component: () => import('@pages/base/contact-pickup-grid-view/contact-pickup-grid-view.vue'),
    },
    {
        path: '/tasks/:task?/quickcreate/:quickcreate?',
        meta: {
            caption: 'entities.task.views.quickcreate.title',
            info:'',
            parameters: [
                { pathName: 'tasks', parameterName: 'task' },
                { pathName: 'quickcreate', parameterName: 'quickcreate' },
            ],
            requireAuth: true,
        },
        component: () => import('@pages/base/task-quick-create/task-quick-create.vue'),
    },
    {
        path: '/pricelevels/:pricelevel?/pickupview/:pickupview?',
        meta: {
            caption: 'entities.pricelevel.views.pickupview.title',
            info:'',
            parameters: [
                { pathName: 'pricelevels', parameterName: 'pricelevel' },
                { pathName: 'pickupview', parameterName: 'pickupview' },
            ],
            requireAuth: true,
        },
        component: () => import('@pages/product/price-level-pickup-view/price-level-pickup-view.vue'),
    },
    {
        path: '/salesliteratures/:salesliterature?/gridview/:gridview?',
        meta: {
            caption: 'entities.salesliterature.views.gridview.title',
            info:'',
            parameters: [
                { pathName: 'salesliteratures', parameterName: 'salesliterature' },
                { pathName: 'gridview', parameterName: 'gridview' },
            ],
            requireAuth: true,
        },
        component: () => import('@pages/sales/sales-literature-grid-view/sales-literature-grid-view.vue'),
    },
    {
        path: '/accounts/:account?/info_address/:info_address?',
        meta: {
            caption: 'entities.account.views.info_address.title',
            info:'',
            parameters: [
                { pathName: 'accounts', parameterName: 'account' },
                { pathName: 'info_address', parameterName: 'info_address' },
            ],
            requireAuth: true,
        },
        component: () => import('@pages/base/account-info-address/account-info-address.vue'),
    },
    {
        path: '/contacts/:contact?/byaccount/:byaccount?',
        meta: {
            caption: 'entities.contact.views.byaccount.title',
            info:'',
            parameters: [
                { pathName: 'contacts', parameterName: 'contact' },
                { pathName: 'byaccount', parameterName: 'byaccount' },
            ],
            requireAuth: true,
        },
        component: () => import('@pages/base/contact-by-account/contact-by-account.vue'),
    },
    {
        path: '/contacts/:contact?/info_abstract/:info_abstract?',
        meta: {
            caption: 'entities.contact.views.info_abstract.title',
            info:'',
            parameters: [
                { pathName: 'contacts', parameterName: 'contact' },
                { pathName: 'info_abstract', parameterName: 'info_abstract' },
            ],
            requireAuth: true,
        },
        component: () => import('@pages/base/contact-info-abstract/contact-info-abstract.vue'),
    },
    {
        path: '/serviceappointments/:serviceappointment?/editview/:editview?',
        meta: {
            caption: 'entities.serviceappointment.views.editview.title',
            info:'',
            parameters: [
                { pathName: 'serviceappointments', parameterName: 'serviceappointment' },
                { pathName: 'editview', parameterName: 'editview' },
            ],
            requireAuth: true,
        },
        component: () => import('@pages/service/service-appointment-edit-view/service-appointment-edit-view.vue'),
    },
    {
        path: '/appointments/:appointment?/editview/:editview?',
        meta: {
            caption: 'entities.appointment.views.editview.title',
            info:'',
            parameters: [
                { pathName: 'appointments', parameterName: 'appointment' },
                { pathName: 'editview', parameterName: 'editview' },
            ],
            requireAuth: true,
        },
        component: () => import('@pages/base/appointment-edit-view/appointment-edit-view.vue'),
    },
    {
        path: '/emails/:email?/editview/:editview?',
        meta: {
            caption: 'entities.email.views.editview.title',
            info:'',
            parameters: [
                { pathName: 'emails', parameterName: 'email' },
                { pathName: 'editview', parameterName: 'editview' },
            ],
            requireAuth: true,
        },
        component: () => import('@pages/base/email-edit-view/email-edit-view.vue'),
    },
    {
        path: '/ibizlists/:ibizlist?/editview/:editview?',
        meta: {
            caption: 'entities.ibizlist.views.editview.title',
            info:'',
            parameters: [
                { pathName: 'ibizlists', parameterName: 'ibizlist' },
                { pathName: 'editview', parameterName: 'editview' },
            ],
            requireAuth: true,
        },
        component: () => import('@pages/marketing/ibiz-list-edit-view/ibiz-list-edit-view.vue'),
    },
    {
        path: '/accounts/:account?/quickcreate/:quickcreate?',
        meta: {
            caption: 'entities.account.views.quickcreate.title',
            info:'',
            parameters: [
                { pathName: 'accounts', parameterName: 'account' },
                { pathName: 'quickcreate', parameterName: 'quickcreate' },
            ],
            requireAuth: true,
        },
        component: () => import('@pages/base/account-quick-create/account-quick-create.vue'),
    },
    {
        path: '/phonecalls/:phonecall?/editview/:editview?',
        meta: {
            caption: 'entities.phonecall.views.editview.title',
            info:'',
            parameters: [
                { pathName: 'phonecalls', parameterName: 'phonecall' },
                { pathName: 'editview', parameterName: 'editview' },
            ],
            requireAuth: true,
        },
        component: () => import('@pages/base/phone-call-edit-view/phone-call-edit-view.vue'),
    },
    {
        path: '/appointments/:appointment?/quickcreate/:quickcreate?',
        meta: {
            caption: 'entities.appointment.views.quickcreate.title',
            info:'',
            parameters: [
                { pathName: 'appointments', parameterName: 'appointment' },
                { pathName: 'quickcreate', parameterName: 'quickcreate' },
            ],
            requireAuth: true,
        },
        component: () => import('@pages/base/appointment-quick-create/appointment-quick-create.vue'),
    },
    {
        path: '/quotes/:quote?/editview/:editview?',
        meta: {
            caption: 'entities.quote.views.editview.title',
            info:'',
            parameters: [
                { pathName: 'quotes', parameterName: 'quote' },
                { pathName: 'editview', parameterName: 'editview' },
            ],
            requireAuth: true,
        },
        component: () => import('@pages/sales/quote-edit-view/quote-edit-view.vue'),
    },
    {
        path: '/products/:product?/edit_quickcreate/:edit_quickcreate?',
        meta: {
            caption: 'entities.product.views.edit_quickcreate.title',
            info:'',
            parameters: [
                { pathName: 'products', parameterName: 'product' },
                { pathName: 'edit_quickcreate', parameterName: 'edit_quickcreate' },
            ],
            requireAuth: true,
        },
        component: () => import('@pages/product/product-edit-quick-create/product-edit-quick-create.vue'),
    },
    {
        path: '/products/:product?/gridview/:gridview?',
        meta: {
            caption: 'entities.product.views.gridview.title',
            info:'',
            parameters: [
                { pathName: 'products', parameterName: 'product' },
                { pathName: 'gridview', parameterName: 'gridview' },
            ],
            requireAuth: true,
        },
        component: () => import('@pages/product/product-grid-view/product-grid-view.vue'),
    },
    {
        path: '/campaignresponses/:campaignresponse?/editview/:editview?',
        meta: {
            caption: 'entities.campaignresponse.views.editview.title',
            info:'',
            parameters: [
                { pathName: 'campaignresponses', parameterName: 'campaignresponse' },
                { pathName: 'editview', parameterName: 'editview' },
            ],
            requireAuth: true,
        },
        component: () => import('@pages/marketing/campaign-response-edit-view/campaign-response-edit-view.vue'),
    },
    {
        path: '/campaigns/:campaign?/summary/:summary?',
        meta: {
            caption: 'entities.campaign.views.summary.title',
            info:'',
            parameters: [
                { pathName: 'campaigns', parameterName: 'campaign' },
                { pathName: 'summary', parameterName: 'summary' },
            ],
            requireAuth: true,
        },
        component: () => import('@pages/marketing/campaign-summary/campaign-summary.vue'),
    },
    {
        path: '/contacts/:contact?/pickupview/:pickupview?',
        meta: {
            caption: 'entities.contact.views.pickupview.title',
            info:'',
            parameters: [
                { pathName: 'contacts', parameterName: 'contact' },
                { pathName: 'pickupview', parameterName: 'pickupview' },
            ],
            requireAuth: true,
        },
        component: () => import('@pages/base/contact-pickup-view/contact-pickup-view.vue'),
    },
    {
        path: '/activitypointers/:activitypointer?/byparentkey/:byparentkey?',
        meta: {
            caption: 'entities.activitypointer.views.byparentkey.title',
            info:'',
            parameters: [
                { pathName: 'activitypointers', parameterName: 'activitypointer' },
                { pathName: 'byparentkey', parameterName: 'byparentkey' },
            ],
            requireAuth: true,
        },
        component: () => import('@pages/base/activity-pointer-by-parent-key/activity-pointer-by-parent-key.vue'),
    },
    {
        path: '/accounts/:account?/info_distribution/:info_distribution?',
        meta: {
            caption: 'entities.account.views.info_distribution.title',
            info:'',
            parameters: [
                { pathName: 'accounts', parameterName: 'account' },
                { pathName: 'info_distribution', parameterName: 'info_distribution' },
            ],
            requireAuth: true,
        },
        component: () => import('@pages/base/account-info-distribution/account-info-distribution.vue'),
    },
    {
        path: '/competitors/:competitor?/gridview/:gridview?',
        meta: {
            caption: 'entities.competitor.views.gridview.title',
            info:'',
            parameters: [
                { pathName: 'competitors', parameterName: 'competitor' },
                { pathName: 'gridview', parameterName: 'gridview' },
            ],
            requireAuth: true,
        },
        component: () => import('@pages/sales/competitor-grid-view/competitor-grid-view.vue'),
    },
    {
        path: '/campaigns/:campaign?/info/:info?',
        meta: {
            caption: 'entities.campaign.views.info.title',
            info:'',
            parameters: [
                { pathName: 'campaigns', parameterName: 'campaign' },
                { pathName: 'info', parameterName: 'info' },
            ],
            requireAuth: true,
        },
        component: () => import('@pages/marketing/campaign-info/campaign-info.vue'),
    },
    {
        path: '/transactioncurrencies/:transactioncurrency?/pickupview/:pickupview?',
        meta: {
            caption: 'entities.transactioncurrency.views.pickupview.title',
            info:'',
            parameters: [
                { pathName: 'transactioncurrencies', parameterName: 'transactioncurrency' },
                { pathName: 'pickupview', parameterName: 'pickupview' },
            ],
            requireAuth: true,
        },
        component: () => import('@pages/base/transaction-currency-pickup-view/transaction-currency-pickup-view.vue'),
    },
    {
        path: '/pricelevels/:pricelevel?/pickupgridview/:pickupgridview?',
        meta: {
            caption: 'entities.pricelevel.views.pickupgridview.title',
            info:'',
            parameters: [
                { pathName: 'pricelevels', parameterName: 'pricelevel' },
                { pathName: 'pickupgridview', parameterName: 'pickupgridview' },
            ],
            requireAuth: true,
        },
        component: () => import('@pages/product/price-level-pickup-grid-view/price-level-pickup-grid-view.vue'),
    },
    {
        path: '/salesorders/:salesorder?/gridview/:gridview?',
        meta: {
            caption: 'entities.salesorder.views.gridview.title',
            info:'',
            parameters: [
                { pathName: 'salesorders', parameterName: 'salesorder' },
                { pathName: 'gridview', parameterName: 'gridview' },
            ],
            requireAuth: true,
        },
        component: () => import('@pages/sales/sales-order-grid-view/sales-order-grid-view.vue'),
    },
    {
        path: '/invoices/:invoice?/gridview/:gridview?',
        meta: {
            caption: 'entities.invoice.views.gridview.title',
            info:'',
            parameters: [
                { pathName: 'invoices', parameterName: 'invoice' },
                { pathName: 'gridview', parameterName: 'gridview' },
            ],
            requireAuth: true,
        },
        component: () => import('@pages/finance/invoice-grid-view/invoice-grid-view.vue'),
    },
    {
        path: '/accounts/:account?/info_contactsetting/:info_contactsetting?',
        meta: {
            caption: 'entities.account.views.info_contactsetting.title',
            info:'',
            parameters: [
                { pathName: 'accounts', parameterName: 'account' },
                { pathName: 'info_contactsetting', parameterName: 'info_contactsetting' },
            ],
            requireAuth: true,
        },
        component: () => import('@pages/base/account-info-contact-setting/account-info-contact-setting.vue'),
    },
    {
        path: '/contacts/:contact?/optionview/:optionview?',
        meta: {
            caption: 'entities.contact.views.optionview.title',
            info:'',
            parameters: [
                { pathName: 'contacts', parameterName: 'contact' },
                { pathName: 'optionview', parameterName: 'optionview' },
            ],
            requireAuth: true,
        },
        component: () => import('@pages/base/contact-option-view/contact-option-view.vue'),
    },
    {
        path: '/accounts/:account?/edit_address/:edit_address?',
        meta: {
            caption: 'entities.account.views.edit_address.title',
            info:'',
            parameters: [
                { pathName: 'accounts', parameterName: 'account' },
                { pathName: 'edit_address', parameterName: 'edit_address' },
            ],
            requireAuth: true,
        },
        component: () => import('@pages/base/account-edit-address/account-edit-address.vue'),
    },
    {
        path: '/accounts/:account?/pickupgridview/:pickupgridview?',
        meta: {
            caption: 'entities.account.views.pickupgridview.title',
            info:'',
            parameters: [
                { pathName: 'accounts', parameterName: 'account' },
                { pathName: 'pickupgridview', parameterName: 'pickupgridview' },
            ],
            requireAuth: true,
        },
        component: () => import('@pages/base/account-pickup-grid-view/account-pickup-grid-view.vue'),
    },
    {
        path: '/campaigns/:campaign?/info_schedule/:info_schedule?',
        meta: {
            caption: 'entities.campaign.views.info_schedule.title',
            info:'',
            parameters: [
                { pathName: 'campaigns', parameterName: 'campaign' },
                { pathName: 'info_schedule', parameterName: 'info_schedule' },
            ],
            requireAuth: true,
        },
        component: () => import('@pages/marketing/campaign-info-schedule/campaign-info-schedule.vue'),
    },
    {
        path: '/tasks/:task?/editview/:editview?',
        meta: {
            caption: 'entities.task.views.editview.title',
            info:'',
            parameters: [
                { pathName: 'tasks', parameterName: 'task' },
                { pathName: 'editview', parameterName: 'editview' },
            ],
            requireAuth: true,
        },
        component: () => import('@pages/base/task-edit-view/task-edit-view.vue'),
    },
    {
        path: '/accounts/:account?/info_majorcontact/:info_majorcontact?',
        meta: {
            caption: 'entities.account.views.info_majorcontact.title',
            info:'',
            parameters: [
                { pathName: 'accounts', parameterName: 'account' },
                { pathName: 'info_majorcontact', parameterName: 'info_majorcontact' },
            ],
            requireAuth: true,
        },
        component: () => import('@pages/base/account-info-major-contact/account-info-major-contact.vue'),
    },
    {
        path: '/competitors/:competitor?/editview/:editview?',
        meta: {
            caption: 'entities.competitor.views.editview.title',
            info:'',
            parameters: [
                { pathName: 'competitors', parameterName: 'competitor' },
                { pathName: 'editview', parameterName: 'editview' },
            ],
            requireAuth: true,
        },
        component: () => import('@pages/sales/competitor-edit-view/competitor-edit-view.vue'),
    },
    {
        path: '/contacts/:contact?/tabexpview/:tabexpview?',
        meta: {
            caption: 'entities.contact.views.tabexpview.title',
            info:'',
            parameters: [
                { pathName: 'contacts', parameterName: 'contact' },
                { pathName: 'tabexpview', parameterName: 'tabexpview' },
            ],
            requireAuth: true,
        },
        component: () => import('@pages/base/contact-tab-exp-view/contact-tab-exp-view.vue'),
    },
        ...globalRoutes,
        {
            path: '/login/:login?',
            name: 'login',
            meta: {  
                caption: '登录',
                viewType: 'login',
                requireAuth: false,
                ignoreAddPage: true,
            },
            beforeEnter: (to: any, from: any, next: any) => {
                router.app.$store.commit('resetRootStateData');
                next();
            },
            component: () => import('@components/login/login.vue'),
        },
        {
            path: '/404',
            component: () => import('@components/404/404.vue')
        },
        {
            path: '/500',
            component: () => import('@components/500/500.vue')
        },
        {
            path: '*',
            redirect: 'central'
        },
    ],
});

export default router;
