index.js 4.69 KB
import Vue from 'vue'
import Router from 'vue-router'
Vue.use(Router)
/* Layout */
import Layout from '@/layout'

/* Router Modules */
// import componentsRouter from './modules/components'
export const constantRoutes = [
  {
    path: '/404',
    component: Layout,
    hidden: true,
    redirect: '/404/index',
    children: [
      {
        path: '/index',
        component: () => import('@/views/error-page/404'),
        name: '404',
        meta: { title: '404' }
      }
    ]
  },
  {
    path: '/dataView',
    name: 'dataView',
    component: () => import('@/views/dataView/index')
  }
]
/**
 * asyncRoutes
 * the routes that need to be dynamically loaded based on user roles
 */
export const asyncRoutes = [
  {
    path: '/',
    component: Layout,
    redirect: '/home',
    meta: { title: '首页' },
    children: [
      {
        path: 'home',
        component: () => import('@/views/home/index'),
        name: 'home',
        meta: { title: '工作台', icon: 'workbench', affix: true }
      }
    ]
  },
  // 接入业务信息
  {
    path: '/busineInfo',
    component: Layout,
    meta: { title: '接入业务信息', icon: 'sqcx', breadcrumb: false },
    redirect: '/busineInfo/landOwnership',
    alwaysShow: true,
    name: 'busineInfo',
    children: [
      {
        path: 'landOwnership',
        component: () => import('@/views/business-info/land-ownership/index'),
        name: 'landOwnership',
        meta: { title: '土地所有权' }
      },
      {
        path: 'landBuilding',
        component: () => import('@/views/business-info/land-building/index'),
        name: 'landBuilding',
        meta: { title: '建设用地、宅基地使用权' }
      },
      {
        path: 'realEstateMany',
        component: () => import('@/views/business-info/real-estate-many/index'),
        name: 'realEstateMany',
        meta: { title: '房地产权(项目内多幢房屋)' }
      },
      {
        path: 'realEstateSingle',
        component: () => import('@/views/business-info/real-estate-single/index'),
        name: 'realEstateSingle',
        meta: { title: '房地产权(独幢、层、套、间、房屋)' }
      },
      {
        path: 'ownerShare',
        component: () => import('@/views/business-info/owner-share/index'),
        name: 'ownerShare',
        meta: { title: '建筑物区分所有权业主共有部分' }
      },
      {
        path: 'seaArea',
        component: () => import('@/views/business-info/sea-area/index'),
        name: 'seaArea',
        meta: { title: ' 海域(含无居民海岛)使用权' }
      },
      {
        path: 'buildingOwnership',
        component: () => import('@/views/business-info/building-ownership/index'),
        name: 'buildingOwnership',
        meta: { title: ' 构(建)筑物所有权' }
      },
      {
        path: 'agriculturalLand',
        component: () => import('@/views/business-info/agricultural-land/index'),
        name: 'agriculturalLand',
        meta: { title: ' 农用地使用权(非林地)' }
      },
      {
        path: 'forestOwnership',
        component: () => import('@/views/business-info/forest-ownership/index'),
        name: 'forestOwnership',
        meta: { title: ' 林权' }
      },
      {
        path: 'cancellationReg',
        component: () => import('@/views/business-info/cancellation-registration/index'),
        name: 'cancellationReg',
        meta: { title: ' 注销登记' }
      },
      {
        path: 'objectionReg',
        component: () => import('@/views/business-info/objection-registration/index'),
        name: 'objectionReg',
        meta: { title: ' 异议登记' }
      },
      {
        path: 'noticeReg',
        component: () => import('@/views/business-info/notice-registration/index'),
        name: 'noticeReg',
        meta: { title: ' 预告登记' }
      },
      {
        path: 'seizureReg',
        component: () => import('@/views/business-info/seizure-registration/index'),
        name: 'seizureReg',
        meta: { title: ' 查封登记' }
      },
      {
        path: 'mortgageReg',
        component: () => import('@/views/business-info/mortgage-registration/index'),
        name: 'mortgageReg',
        meta: { title: ' 抵押权登记' }
      },
      {
        path: 'easementReg',
        component: () => import('@/views/business-info/easement-registration/index'),
        name: 'easementReg',
        meta: { title: ' 地役权登记' }
      }
    ]
  },
]

const createRouter = () =>
  new Router({
    scrollBehavior: () => ({ y: 0 }),
    routes: [...constantRoutes, ...asyncRoutes]
  })

const router = createRouter()
export function resetRouter () {
  const newRouter = createRouter()
  router.matcher = newRouter.matcher // reset router
}

export default router