259 lines
		
	
	
		
			6.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
			
		
		
	
	
			259 lines
		
	
	
		
			6.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
import Vue from 'vue'
 | 
						||
import Router from 'vue-router'
 | 
						||
 | 
						||
Vue.use(Router)
 | 
						||
 | 
						||
/* Layout */
 | 
						||
import Layout from '@/layout'
 | 
						||
 | 
						||
/* Router Modules */
 | 
						||
/**
 | 
						||
 * Note: 子菜单仅在路由children.length> = 1时出现
 | 
						||
 *
 | 
						||
 * hidden: true                   如果设置为true,则项目不会显示在左侧菜单栏中(默认为false)
 | 
						||
 * alwaysShow: true               如果设置为true,将始终显示根菜单
 | 
						||
 *                                如果未设置alwaysShow,则当项具有多个子路由时,它将变为嵌套模式,否则不显示根菜单
 | 
						||
 * redirect: noRedirect           如果设置noRedirect,则不会在面包屑中重定向
 | 
						||
 * name:'router-name'             该名称由<keep-alive>使用
 | 
						||
 * meta : {
 | 
						||
    title: 'title'               名称显示在侧边栏和面包屑中
 | 
						||
    icon: 'svg-name'             侧栏中的图标显示
 | 
						||
    breadcrumb: false            如果设置为false,则该项将隐藏在面包屑中(默认为true)
 | 
						||
    activeMenu: '/example/list'  如果设置了路径,则侧边栏将高亮显示此路径
 | 
						||
  }
 | 
						||
 */
 | 
						||
 | 
						||
/**
 | 
						||
 * constantRoutes
 | 
						||
 * 没有权限要求的页面
 | 
						||
 * 所有角色都可访问
 | 
						||
 */
 | 
						||
export const constantRoutes = [
 | 
						||
  {
 | 
						||
    path: '/',
 | 
						||
    redirect: '/login',
 | 
						||
    hidden: true
 | 
						||
  },
 | 
						||
  {
 | 
						||
    path: '/redirect',
 | 
						||
    component: Layout,
 | 
						||
    hidden: true,
 | 
						||
    children: [
 | 
						||
      {
 | 
						||
        path: '/redirect/:path*',
 | 
						||
        component: () => import('@/views/redirect')
 | 
						||
      }
 | 
						||
    ]
 | 
						||
  },
 | 
						||
  {
 | 
						||
    path: '/login',
 | 
						||
    component: () => import('@/views/login/index'),
 | 
						||
    hidden: true
 | 
						||
  },
 | 
						||
  {
 | 
						||
    path: '/resetpassword',
 | 
						||
    component: () => import('@/views/forgetpassword/index'),
 | 
						||
    name: 'Resetpassword',
 | 
						||
    hidden: true
 | 
						||
  },
 | 
						||
  {
 | 
						||
    path: '/recompose',
 | 
						||
    component: () => import('@/views/recompose/index'),
 | 
						||
    name: 'Recompose',
 | 
						||
    hidden: true
 | 
						||
  },
 | 
						||
  {
 | 
						||
    path: '/email-recompose',
 | 
						||
    component: () => import('@/views/email-recompose/index'),
 | 
						||
    name: 'emailRecompose',
 | 
						||
    hidden: true
 | 
						||
  },
 | 
						||
  {
 | 
						||
    path: '/joinVerify',
 | 
						||
    component: () => import('@/views/joinVerify/index'),
 | 
						||
    name: 'joinVerify',
 | 
						||
    hidden: true
 | 
						||
  },
 | 
						||
  {
 | 
						||
    path: '/trialStats',
 | 
						||
    component: () => import('@/views/reviewers/trialStats'),
 | 
						||
    name: 'trialStats',
 | 
						||
    hidden: true
 | 
						||
  },
 | 
						||
  {
 | 
						||
    path: '/showdicom',
 | 
						||
    name: 'showdicoms',
 | 
						||
    hidden: true,
 | 
						||
    component: () => import('@/views/dicom-show/dicom-study')
 | 
						||
  },
 | 
						||
 | 
						||
  // {
 | 
						||
  //   path: '/showvisitdicoms',
 | 
						||
  //   name: 'showvisitdicoms',
 | 
						||
  //   hidden: true,
 | 
						||
  //   component: () => import('@/views/dicom-show/dicom-visit')
 | 
						||
  // },
 | 
						||
  // {
 | 
						||
  //   path: '/showseriesdicoms',
 | 
						||
  //   name: 'showseriesdicoms',
 | 
						||
  //   hidden: true,
 | 
						||
  //   component: () => import('@/views/dicom-show/dicom-series')
 | 
						||
  // },
 | 
						||
  // {
 | 
						||
  //   path: '/preview',
 | 
						||
  //   name: 'previewDicoms',
 | 
						||
  //   component: () => import('@/views/dicom-show/server-dicom-temporary'),
 | 
						||
  //   hidden: true
 | 
						||
  // },
 | 
						||
 | 
						||
  {
 | 
						||
    path: '/showNoneDicoms',
 | 
						||
    hidden: true,
 | 
						||
    component: () => import('@/views/none-dicom-show/index')
 | 
						||
  },
 | 
						||
  {
 | 
						||
    path: '/noneDicomReading',
 | 
						||
    name: 'noneDicomReading',
 | 
						||
    hidden: true,
 | 
						||
    component: () => import('@/views/trials/trials-panel/reading/none-dicoms/index')
 | 
						||
  },
 | 
						||
  {
 | 
						||
    path: '/readingDicoms',
 | 
						||
    component: () => import('@/views/trials/trials-panel/reading/dicoms/index'),
 | 
						||
    hidden: true
 | 
						||
  },
 | 
						||
  {
 | 
						||
    path: '/nonedicoms',
 | 
						||
    hidden: true,
 | 
						||
    component: () => import('@/views/trials/trials-panel/reading/dicoms/none-dicoms')
 | 
						||
  },
 | 
						||
  {
 | 
						||
    path: '/readingPage',
 | 
						||
    name: 'readingPage',
 | 
						||
    hidden: true,
 | 
						||
    component: () => import('@/views/trials/trials-panel/reading/reading-page/index')
 | 
						||
  },
 | 
						||
 | 
						||
  {
 | 
						||
    path: '/visitDicomReview',
 | 
						||
    name: 'visitDicomReview',
 | 
						||
    hidden: true,
 | 
						||
    component: () => import('@/views/trials/trials-panel/reading/dicoms/index')
 | 
						||
  },
 | 
						||
  {
 | 
						||
    path: '/visitNondicomReview',
 | 
						||
    name: 'visitNondicomReview',
 | 
						||
    hidden: true,
 | 
						||
    component: () => import('@/views/trials/trials-panel/reading/none-dicoms/index')
 | 
						||
  },
 | 
						||
  {
 | 
						||
    path: '/globalReview',
 | 
						||
    name: 'globalReview',
 | 
						||
    hidden: true,
 | 
						||
    component: () => import('@/views/trials/trials-panel/reading/global-review/index')
 | 
						||
  },
 | 
						||
  {
 | 
						||
    path: '/adReview',
 | 
						||
    name: 'adReview',
 | 
						||
    hidden: true,
 | 
						||
    component: () => import('@/views/trials/trials-panel/reading/ad-review/index')
 | 
						||
  },
 | 
						||
  {
 | 
						||
    path: '/oncologyReview',
 | 
						||
    name: 'oncologyReview',
 | 
						||
    hidden: true,
 | 
						||
    component: () => import('@/views/trials/trials-panel/reading/oncology-review/index')
 | 
						||
  },
 | 
						||
 | 
						||
  {
 | 
						||
    path: '/imagesShare',
 | 
						||
    name: 'imagesShare',
 | 
						||
    component: () => import('@/views/share/images'),
 | 
						||
    hidden: true
 | 
						||
  },
 | 
						||
  {
 | 
						||
    path: '/clinicalData',
 | 
						||
    name: 'clinicalData',
 | 
						||
    component: () => import('@/views/trials/trials-panel/clinical-data/index'),
 | 
						||
    hidden: true
 | 
						||
  },
 | 
						||
  {
 | 
						||
    path: '/researchLogin',
 | 
						||
    name: 'researchLogin',
 | 
						||
    component: () => import('@/views/research/login'),
 | 
						||
    hidden: true
 | 
						||
  },
 | 
						||
  {
 | 
						||
    path: '/researchForm',
 | 
						||
    name: 'researchForm',
 | 
						||
    component: () => import('@/views/research/form'),
 | 
						||
    hidden: true
 | 
						||
  },
 | 
						||
  {
 | 
						||
    path: '/trialsResume',
 | 
						||
    component: () => import('@/views/trials/trials-panel/enrolled-reviewers/resume/index'),
 | 
						||
    hidden: true
 | 
						||
  },
 | 
						||
  {
 | 
						||
    path: '/blindResumeInfo',
 | 
						||
    component: () => import('@/views/blindResumeInfo/index'),
 | 
						||
    hidden: true
 | 
						||
  },
 | 
						||
  {
 | 
						||
    path: '/showvisitdicoms',
 | 
						||
    name: 'showvisitdicoms',
 | 
						||
    hidden: true,
 | 
						||
    component: () => import('@/views/dicom-show/dicom-visit')
 | 
						||
  },
 | 
						||
 | 
						||
  // {
 | 
						||
  //   path: '/audit',
 | 
						||
  //   name: 'audit',
 | 
						||
  //   component: () => import('@/views/trials/audit'),
 | 
						||
  //   hidden: true
 | 
						||
  // },
 | 
						||
  {
 | 
						||
    path: '/error',
 | 
						||
    component: () => import('@/views/error'),
 | 
						||
    hidden: true
 | 
						||
  },
 | 
						||
  {
 | 
						||
    path: '/404',
 | 
						||
    component: () => import('@/views/404'),
 | 
						||
    hidden: true
 | 
						||
  },
 | 
						||
  {
 | 
						||
    path: '/editUser',
 | 
						||
    component: Layout,
 | 
						||
    redirect: '/editUser/baiscInfo',
 | 
						||
    hidden: true,
 | 
						||
    children: [{
 | 
						||
      path: 'baiscInfo',
 | 
						||
      name: 'BaiscInfo',
 | 
						||
      component: () => import('@/views/user/editInfo')
 | 
						||
    },
 | 
						||
    {
 | 
						||
      path: 'account',
 | 
						||
      name: 'Account',
 | 
						||
      component: () => import('@/views/user/account')
 | 
						||
    }
 | 
						||
    ]
 | 
						||
  }
 | 
						||
]
 | 
						||
 | 
						||
const createRouter = () => new Router({
 | 
						||
  mode: 'history',
 | 
						||
  base: '/',
 | 
						||
  scrollBehavior: () => ({ y: 0 }),
 | 
						||
  routes: constantRoutes
 | 
						||
})
 | 
						||
 | 
						||
const router = createRouter()
 | 
						||
 | 
						||
export function resetRouter() {
 | 
						||
  const newRouter = createRouter()
 | 
						||
  router.matcher = newRouter.matcher // reset router
 | 
						||
}
 | 
						||
 | 
						||
export default router
 |