index.js 7.9 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: '/',
    component: Layout,
    redirect: '/home',
    meta: { title: '首页' },
    children: [
      {
        path: 'home',
        component: () => import('@/views/home/index'),
        name: 'home',
        meta: { title: '工作台', icon: 'workbench', affix: true }
      }
    ]
  }
]
/**
 * asyncRoutes
 * the routes that need to be dynamically loaded based on user roles
 */
export const asyncRoutes = [
  // 监管首页
  {
    path: '/',
    component: Layout,
    redirect: '/jgHome',
    meta: { title: '首页' },
    children: [
      {
        path: 'jgHome',
        component: () => import('@/views/home/index'),
        name: 'jgHome',
        meta: { title: '首页', icon: 'workbench', affix: true }
      }
    ]
  },
  // 接收报文查询
  {
    path: '/jsbwcx',
    component: Layout,
    children: [
      {
        path: 'index',
        component: () => import('@/views/jsbwcx/index.vue'),
        name: 'jsbwcx',
        meta: { title: '接收报文查询', icon: 'zsgl' }
      }
    ]
  },
  // 省厅汇交
  {
    path: '/sthj',
    component: Layout,
    children: [
      {
        path: 'sbbwcx',
        component: () => import('@/views/sbbwcx/index'),
        name: 'sbbwcx',
        meta: { title: '上报报文', icon: 'zsgl' }
      },
      {
        path: 'dbrzcx',
        component: () => import('@/views/dbrzcx/index'),
        name: 'dbrzcx',
        meta: { title: '登簿日志', icon: 'zsgl' }
      }
    ]
  },
  // 监控统计
  {
    path: '/jktj',
    component: Layout,
    meta: { title: '统计监控', icon: 'sqcx'},
    children: [
      {
        path: 'ywltj',
        component: () => import('@/views/jktj/ywltj/index'),
        name: 'jktj',
        meta: { title: '业务量统计', icon: 'zhcx' }
      },
      {
        path: 'bsxljk',
        component: () => import('@/views/jktj/bsxljk/index'),
        name: 'jktj',
        meta: { title: '办事效率监控', icon: 'zhcx' }
      }
    ]
  },
  // 接入区域管理
  {
    path: '/jrqygl',
    component: Layout,
    children: [
      {
        path: 'index',
        component: () => import('@/views/jrqygl/index'),
        name: 'jrqygl',
        meta: { title: '接入区域管理', icon: 'zhcx' }
      }
    ]
  },
  // 接收规则管理
  {
    path: '/jsgzgl',
    component: Layout,
    children: [
      {
        path: 'index',
        component: () => import('@/views/jsgzgl/index'),
        name: 'jsgzgl',
        meta: { title: '接收规则管理', icon: 'zhcx' }
      }
    ]
  },
  // 接收报文重新入库
  {
    path: '/jsbwcxrk',
    component: Layout,
    children: [
      {
        path: 'index',
        component: () => import('@/views/jsbwcxrk/index'),
        name: 'jsbwcxrk',
        meta: { title: '接收报文重新入库', icon: 'zhcx' }
      }
    ]
  },
  // 报文重新入库日志
  {
    path: '/bwcxrkrz',
    component: Layout,
    children: [
      {
        path: 'index',
        component: () => import('@/views/bwcxrkrz/index'),
        name: 'bwcxrkrz',
        meta: { title: '报文重新入库日志', icon: 'zhcx' }
      }
    ]
  },
  // 中心日志
  {
    path: '/zxrz',
    component: Layout,
    children: [
      {
        path: 'index',
        component: () => import('@/views/zxrz/index'),
        name: 'zxrz',
        meta: { title: '中心日志', icon: 'zhcx' }
      }
    ]
  },
  // 接入业务信息-不动产数据
  {
    path: '/busineInfo',
    component: Layout,
    meta: { title: '不动产数据', icon: 'sqcx'},
    redirect: '/busineInfo/landOwnership',
    alwaysShow: true,
    name: 'busineInfo',
    children: [
      {
        path: 'tdsyq',
        component: () => import('@/views/business-info/tdsyq/index'),
        name: 'tdsyq',
        meta: { title: '土地所有权' }
      },
      {
        path: 'jsydzjdsyq',
        component: () => import('@/views/business-info/jsydzjdsyq/index'),
        name: 'jsydzjdsyq',
        meta: { title: '建设用地、宅基地使用权' }
      },
      {
        path: 'fdcqdz',
        component: () => import('@/views/business-info/fdcqdz/index'),
        name: 'fdcqdz',
        meta: { title: '房地产权(项目内多幢房屋)' }
      },
      {
        path: 'fdcqyz',
        component: () => import('@/views/business-info/fdcqyz/index'),
        name: 'fdcqyz',
        meta: { title: '房地产权(独幢、层、套、间、房屋)' }
      },
      {
        path: 'fdcqqfsyq',
        component: () => import('@/views/business-info/fdcqqfsyq/index'),
        name: 'fdcqqfsyq',
        meta: { title: '建筑物区分所有权业主共有部分' }
      },
      {
        path: 'hysyq',
        component: () => import('@/views/business-info/hysyq/index'),
        name: 'hysyq',
        meta: { title: '海域(含无居民海岛)使用权' }
      },
      {
        path: 'gzwsyq',
        component: () => import('@/views/business-info/gzwsyq/index'),
        name: 'gzwsyq',
        meta: { title: '构(建)筑物所有权' }
      },
      {
        path: 'nydsyq',
        component: () => import('@/views/business-info/nydsyq/index'),
        name: 'nydsyq',
        meta: { title: '农用地使用权(非林地)' }
      },
      {
        path: 'lq',
        component: () => import('@/views/business-info/lq/index'),
        name: 'lq',
        meta: { title: '林权' }
      },
      {
        path: 'zxdj',
        component: () => import('@/views/business-info/zxdj/index'),
        name: 'zxdj',
        meta: { title: '注销登记' }
      },
      {
        path: 'yydj',
        component: () => import('@/views/business-info/yydj/index'),
        name: 'yydj',
        meta: { title: '异议登记' }
      },
      {
        path: 'ygdj',
        component: () => import('@/views/business-info/ygdj/index'),
        name: 'ygdj',
        meta: { title: '预告登记' }
      },
      {
        path: 'Cfdj',
        component: () => import('@/views/business-info/Cfdj/index'),
        name: 'Cfdj',
        meta: { title: '查封登记' }
      },
      {
        path: 'dyaq',
        component: () => import('@/views/business-info/dyaq/index'),
        name: 'dyaq',
        meta: { title: ' 抵押权登记' }
      },
      {
        path: 'dyiq',
        component: () => import('@/views/business-info/dyiq/index'),
        name: 'dyiq',
        meta: { title: ' 地役权登记' }
      }
    ]
  },
  // 系统管理
  {
    path: '/system',
    component: Layout,
    meta: { title: '运维中心', icon: 'sqcx', breadcrumb: false },
    redirect: '/system/dictionaries',
    alwaysShow: true,
    name: 'system',
    children: [
      {
        path: 'dictionaries',
        component: () => import('@/views/system/dictionaries/dictionaries.vue'),
        name: 'dictionaries',
        meta: { title: '字典管理' }
      },
      {
        path: 'validationRule',
        component: () => import('@/views/system/validationRule/index'),
        name: 'validationRule',
        meta: { title: '上报效验规则配置' }
      },
      {
        path: 'timedTask',
        component: () => import('@/views/system/timedTask/index'),
        name: 'timedTask',
        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