You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							460 lines
						
					
					
						
							16 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							460 lines
						
					
					
						
							16 KiB
						
					
					
				
								import Vue from "vue";
							 | 
						|
								import VueRouter from "vue-router";
							 | 
						|
								// import HomeView from "../views/HomeView.vue";
							 | 
						|
								
							 | 
						|
								import login from "@/views/login/Login.vue";
							 | 
						|
								Vue.use(VueRouter);
							 | 
						|
								// const originalpush = VueRouter.prototype.push
							 | 
						|
								// VueRouter.prototype.push = function (location) {
							 | 
						|
								//   return originalpush.call(this, location).catch(err => err)
							 | 
						|
								// }
							 | 
						|
								const routes = [{
							 | 
						|
								        path: "/",
							 | 
						|
								        component: login,
							 | 
						|
								    },
							 | 
						|
								    {
							 | 
						|
								        path: "/login",
							 | 
						|
								        name: "login",
							 | 
						|
								
							 | 
						|
								        component: () =>
							 | 
						|
								            import ("../views/login/Login.vue"),
							 | 
						|
								    },
							 | 
						|
								    {
							 | 
						|
								        path: "/home",
							 | 
						|
								        name: "home",
							 | 
						|
								        component: () =>
							 | 
						|
								            import ("../views/Home.vue"),
							 | 
						|
								        children: [{
							 | 
						|
								                path: "/role",
							 | 
						|
								                component: () =>
							 | 
						|
								                    import ("../views/user-list/Role.vue"),
							 | 
						|
								            },
							 | 
						|
								            {
							 | 
						|
								                path: "/user-list",
							 | 
						|
								                component: () =>
							 | 
						|
								                    import ("../views/user-list/UserList.vue"),
							 | 
						|
								            },
							 | 
						|
								            {
							 | 
						|
								                path: "/organization-units",
							 | 
						|
								                component: () =>
							 | 
						|
								                    import ("../views/user-list/OrganizationUnits.vue"),
							 | 
						|
								            },
							 | 
						|
								            {
							 | 
						|
								                path: "/audit-log",
							 | 
						|
								                component: () =>
							 | 
						|
								                    import ("../views/user-list/AuditLog.vue"),
							 | 
						|
								            },
							 | 
						|
								            {
							 | 
						|
								                path: "/guide-type",
							 | 
						|
								                component: () =>
							 | 
						|
								                    import ("../views/basic-dictionary/GuideType.vue"),
							 | 
						|
								            },
							 | 
						|
								            {
							 | 
						|
								                path: "/medical-report-type",
							 | 
						|
								                component: () =>
							 | 
						|
								                    import ("../views/basic-dictionary/MedicalReportType.vue"),
							 | 
						|
								            },
							 | 
						|
								            {
							 | 
						|
								                path: "/sex",
							 | 
						|
								                component: () =>
							 | 
						|
								                    import ("../views/basic-dictionary/Sex.vue"),
							 | 
						|
								            },
							 | 
						|
								            {
							 | 
						|
								                path: "/marital-status",
							 | 
						|
								                component: () =>
							 | 
						|
								                    import ("../views/basic-dictionary/MaritalStatus.vue"),
							 | 
						|
								            },
							 | 
						|
								            {
							 | 
						|
								                path: "/nation",
							 | 
						|
								                component: () =>
							 | 
						|
								                    import ("../views/basic-dictionary/Nation.vue"),
							 | 
						|
								            },
							 | 
						|
								            {
							 | 
						|
								                path: "/birth-place",
							 | 
						|
								                component: () =>
							 | 
						|
								                    import ("../views/basic-dictionary/BirthPlace.vue"),
							 | 
						|
								            },
							 | 
						|
								            {
							 | 
						|
								                path: "/result-status",
							 | 
						|
								                component: () =>
							 | 
						|
								                    import ("../views/basic-dictionary/ResultStatus.vue"),
							 | 
						|
								            },
							 | 
						|
								            {
							 | 
						|
								                path: "/medical-type",
							 | 
						|
								                component: () =>
							 | 
						|
								                    import ("../views/basic-dictionary/MedicalType.vue"),
							 | 
						|
								            },
							 | 
						|
								            {
							 | 
						|
								                path: "/personnel-type",
							 | 
						|
								                component: () =>
							 | 
						|
								                    import ("../views/basic-dictionary/PersonnelType.vue"),
							 | 
						|
								            },
							 | 
						|
								            {
							 | 
						|
								                path: "/device-type",
							 | 
						|
								                component: () =>
							 | 
						|
								                    import ("../views/basic-dictionary/DeviceType.vue"),
							 | 
						|
								            },
							 | 
						|
								            {
							 | 
						|
								                path: "/sample-type",
							 | 
						|
								                component: () =>
							 | 
						|
								                    import ("../views/basic-dictionary/SampleType.vue"),
							 | 
						|
								            },
							 | 
						|
								            {
							 | 
						|
								                path: "/unit",
							 | 
						|
								                component: () =>
							 | 
						|
								                    import ("../views/basic-dictionary/Unit.vue"),
							 | 
						|
								            },
							 | 
						|
								            {
							 | 
						|
								                path: "/diagnosis-postfix",
							 | 
						|
								                component: () =>
							 | 
						|
								                    import ("../views/basic-dictionary/DiagnosisPostfix.vue"),
							 | 
						|
								            },
							 | 
						|
								            {
							 | 
						|
								                path: "/medical-conclusion-type",
							 | 
						|
								                component: () =>
							 | 
						|
								                    import ("../views/basic-dictionary/MedicalConclusionType.vue"),
							 | 
						|
								            },
							 | 
						|
								            {
							 | 
						|
								                path: "/medical-conclusion",
							 | 
						|
								                component: () =>
							 | 
						|
								                    import ("../views/basic-dictionary/MedicalConclusion.vue"),
							 | 
						|
								            },
							 | 
						|
								            {
							 | 
						|
								                path: "/sample-container",
							 | 
						|
								                component: () =>
							 | 
						|
								                    import ("../views/basic-dictionary/SampleContainer.vue"),
							 | 
						|
								            },
							 | 
						|
								            {
							 | 
						|
								                path: "/common-char-type",
							 | 
						|
								                component: () =>
							 | 
						|
								                    import ("../views/basic-dictionary/CommonCharType.vue"),
							 | 
						|
								            },
							 | 
						|
								            {
							 | 
						|
								                path: "/common-char",
							 | 
						|
								                component: () =>
							 | 
						|
								                    import ("../views/basic-dictionary/CommonChar.vue"),
							 | 
						|
								            },
							 | 
						|
								            {
							 | 
						|
								                path: "/customer-org-type",
							 | 
						|
								                component: () =>
							 | 
						|
								                    import ("../views/basic-dictionary/CustomerOrgType.vue"),
							 | 
						|
								            },
							 | 
						|
								            {
							 | 
						|
								                path: "/item-default-result",
							 | 
						|
								                component: () =>
							 | 
						|
								                    import ("../views/basic-dictionary/ItemDefaultResult.vue"),
							 | 
						|
								            },
							 | 
						|
								            {
							 | 
						|
								                path: "/diagnosis-level",
							 | 
						|
								                component: () =>
							 | 
						|
								                    import ("../views/basic-dictionary/DiagnosisLevel.vue"),
							 | 
						|
								            },
							 | 
						|
								            {
							 | 
						|
								                path: "/diagnosisSet",
							 | 
						|
								                name:'诊断建议设置',
							 | 
						|
								                component: () =>
							 | 
						|
								                    import ("../views/diagnosis/diagnosis.vue"),
							 | 
						|
								            },
							 | 
						|
								            //----------------------  收费设置 start ----------------------
							 | 
						|
								            {
							 | 
						|
								                path: "/invoice-item-type",
							 | 
						|
								                component: () =>
							 | 
						|
								                    import ("../views/fee-settings/InvoiceItemType.vue"),
							 | 
						|
								            },
							 | 
						|
								            {
							 | 
						|
								                path: "/pay-mode",
							 | 
						|
								                component: () =>
							 | 
						|
								                    import ("../views/fee-settings/PayMode.vue"),
							 | 
						|
								            },
							 | 
						|
								            {
							 | 
						|
								                path: "/cardType",
							 | 
						|
								                name: "会员卡类别",
							 | 
						|
								                component: () =>
							 | 
						|
								                    import ("../views/fee-settings/cardType.vue"),
							 | 
						|
								            },
							 | 
						|
								            {
							 | 
						|
								                path: "/cardRegister",
							 | 
						|
								                name: "会员卡登记",
							 | 
						|
								                component: () =>
							 | 
						|
								                    import ("../views/fee-settings/cardRegister.vue"),
							 | 
						|
								            },
							 | 
						|
								            {
							 | 
						|
								                path: "/cardBill",
							 | 
						|
								                name: "会员卡记账",
							 | 
						|
								                component: () =>
							 | 
						|
								                    import ("../views/fee-settings/cardBill.vue"),
							 | 
						|
								            },
							 | 
						|
								            //----------------------  收费设置 start ----------------------
							 | 
						|
								
							 | 
						|
								            {
							 | 
						|
								                path: "/item-type",
							 | 
						|
								                component: () =>
							 | 
						|
								                    import ("../views/common-settings/ItemType.vue"),
							 | 
						|
								            },
							 | 
						|
								            {
							 | 
						|
								                path: "/sample-group",
							 | 
						|
								                name:'条码分组',
							 | 
						|
								                component: () =>
							 | 
						|
								                    import ("../views/common-settings/SampleGroup.vue"),
							 | 
						|
								            },
							 | 
						|
								            {
							 | 
						|
								                path: "/asbitem",
							 | 
						|
								                component: () =>
							 | 
						|
								                    import ("../views/fee-settings/Asbitem.vue"),
							 | 
						|
								            },
							 | 
						|
								            {
							 | 
						|
								                path: "/item",
							 | 
						|
								                component: () =>
							 | 
						|
								                    import ("../views/fee-settings/Item.vue"),
							 | 
						|
								            },
							 | 
						|
								            {
							 | 
						|
								                path: "/reference-range",
							 | 
						|
								                component: () =>
							 | 
						|
								                    import ("../views/fee-settings/ReferenceRange.vue"),
							 | 
						|
								            },
							 | 
						|
								            {
							 | 
						|
								                path: "/diagnosis",
							 | 
						|
								                component: () =>
							 | 
						|
								                    import ("../views/fee-settings/Diagnosis.vue"),
							 | 
						|
								                hidden: true,
							 | 
						|
								                // meta: {
							 | 
						|
								                //   title: '诊断',
							 | 
						|
								                //   menu
							 | 
						|
								                // }
							 | 
						|
								                meat: {
							 | 
						|
								                    title: "诊断",
							 | 
						|
								                    noCache: true,
							 | 
						|
								                    menus: ["diagosis:advertDemandRelease"],
							 | 
						|
								                },
							 | 
						|
								            },
							 | 
						|
								            {
							 | 
						|
								                path: "/item-result-template",
							 | 
						|
								                component: () =>
							 | 
						|
								                    import ("../views/fee-settings/ItemResultTemplate.vue"),
							 | 
						|
								            },
							 | 
						|
								            {
							 | 
						|
								                path: "/item-result-match",
							 | 
						|
								                component: () =>
							 | 
						|
								                    import ("../views/fee-settings/ItemResultMatch.vue"),
							 | 
						|
								            },
							 | 
						|
								            {
							 | 
						|
								                path: "/item-template",
							 | 
						|
								                component: () =>
							 | 
						|
								                    import ("../views/fee-settings/ItemTemplate.vue"),
							 | 
						|
								            },            
							 | 
						|
								            {
							 | 
						|
								                path: "/medicalPackage",  // medical-package
							 | 
						|
								                name:"套餐设置",    
							 | 
						|
								                component: () => 
							 | 
						|
								                    import ("../views/common-settings/medicalPackage.vue"),  //../views/fee-settings/MedicalPackage.vue
							 | 
						|
								            },
							 | 
						|
								
							 | 
						|
								            {
							 | 
						|
								                path: "/sex-hormone-reference-range",
							 | 
						|
								                component: () =>
							 | 
						|
								                    import ("../views/fee-settings/SexHormoneReferenceRange.vue"),
							 | 
						|
								            },
							 | 
						|
								            {
							 | 
						|
								                path: "/diagnosis-template",
							 | 
						|
								                component: () =>
							 | 
						|
								                    import ("../views/fee-settings/DiagnosisTemplate.vue"),
							 | 
						|
								            },
							 | 
						|
								            {
							 | 
						|
								                path: "/sys-parm-type",
							 | 
						|
								                component: () =>
							 | 
						|
								                    import ("../views/fee-settings/SysParmSet.vue"), //../views/fee-settings/SysParmType.vue
							 | 
						|
								            },
							 | 
						|
								            //----------------------  体检登记 start ----------------------
							 | 
						|
								            {
							 | 
						|
								                path: "/customerOrg",
							 | 
						|
								                name: "体检单位设置",
							 | 
						|
								                component: () =>
							 | 
						|
								                    import ("../views/customerOrg/customerOrg.vue"),
							 | 
						|
								            },
							 | 
						|
								            {
							 | 
						|
								                path: "/customerOrgGroup",
							 | 
						|
								                name: "单位分组设置",
							 | 
						|
								                component: () =>
							 | 
						|
								                    import ("../views/customerOrg/customerOrgGroup.vue"),
							 | 
						|
								            },
							 | 
						|
								            {
							 | 
						|
								                path: "/patientRegister",
							 | 
						|
								                name: "体检人员登记",
							 | 
						|
								                component: () =>
							 | 
						|
								                    import ("../views/customerOrg/patientRegister.vue"),
							 | 
						|
								            },
							 | 
						|
								            {
							 | 
						|
								                path: "/patientRegisterSign",
							 | 
						|
								                name: "体检人员签到",
							 | 
						|
								                component: () =>
							 | 
						|
								                    import ("../views/customerOrg/patientRegisterSign.vue"),
							 | 
						|
								            },
							 | 
						|
								            {
							 | 
						|
								                path: "/patientRegisterBatch",
							 | 
						|
								                name: "人员批量登记",
							 | 
						|
								                component: () =>
							 | 
						|
								                    import ("../views/customerOrg/patientRegisterImport.vue"),  //../views/doctorCheck/personnelBatch.vue
							 | 
						|
								            },
							 | 
						|
								            {
							 | 
						|
								                path: "/patientRegisterRecover",
							 | 
						|
								                name: "体检表回收",
							 | 
						|
								                component: () =>
							 | 
						|
								                    import ("../views/customerOrg/patientRegisterRecover.vue"),
							 | 
						|
								            },
							 | 
						|
								            {
							 | 
						|
								                path: "/patientRegisterRefuse",
							 | 
						|
								                name: "弃检登记",
							 | 
						|
								                component: () =>
							 | 
						|
								                    import ("../views/customerOrg/patientRegisterRefuse.vue"),
							 | 
						|
								            },
							 | 
						|
								            {
							 | 
						|
								                path: "/charge",
							 | 
						|
								                name: "体检收费",
							 | 
						|
								                component: () =>
							 | 
						|
								                    import ("../views/charge/charge.vue"),
							 | 
						|
								            },
							 | 
						|
								            //----------------------  体检登记 start ----------------------
							 | 
						|
								            //----------------------  体   检 start ----------------------
							 | 
						|
								            {
							 | 
						|
								                path: "/doctorCheck",
							 | 
						|
								                name: "体检医生诊台",
							 | 
						|
								                component: () =>
							 | 
						|
								                    import ("../views/doctorCheck/doctorCheck.vue"),
							 | 
						|
								            },
							 | 
						|
								            {
							 | 
						|
								                path: "/sumDoctorCheck",
							 | 
						|
								                name: "总检医生诊台",
							 | 
						|
								                component: () =>
							 | 
						|
								                    import ("../views/doctorCheck/sumDoctorCheck.vue"),
							 | 
						|
								
							 | 
						|
								            },
							 | 
						|
								            //----------------------  体   检  end  ----------------------
							 | 
						|
								            //----------------------  体检查询 start ----------------------
							 | 
						|
								            {
							 | 
						|
								                path: "/report",
							 | 
						|
								                name: "体检报告",
							 | 
						|
								                component: () =>
							 | 
						|
								                    import ("../views/report/report.vue"),
							 | 
						|
								            },
							 | 
						|
								            {
							 | 
						|
								                path: "/checkStatus",
							 | 
						|
								                name: "组合项目检查状态",
							 | 
						|
								                component: () =>
							 | 
						|
								                    import ("../views/report/checkStatus.vue"),
							 | 
						|
								            },
							 | 
						|
								            {
							 | 
						|
								                path: "/chargeAsbitem",
							 | 
						|
								                name: "人员费用组合项目",
							 | 
						|
								                component: () =>
							 | 
						|
								                    import ("../views/report/chargeAsbitem.vue"),
							 | 
						|
								            },
							 | 
						|
								            {
							 | 
						|
								                path: "/unCheckAsbitem",
							 | 
						|
								                name: "人员未检组合项目",
							 | 
						|
								                component: () =>
							 | 
						|
								                    import ("../views/report/unCheckAsbitem.vue"),
							 | 
						|
								            },
							 | 
						|
								            //----------------------  体检查询  end  ----------------------
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								            //----------------------  体   检  end  ----------------------
							 | 
						|
								            //----------------------  疾病人数登记  ----------------------
							 | 
						|
								            {
							 | 
						|
								                path: "/diseaseStatistics",
							 | 
						|
								                name: "疾病人数统计",
							 | 
						|
								                component: () =>
							 | 
						|
								                    import ("../views/customerReport/diseaseStatistics.vue"),
							 | 
						|
								            },
							 | 
						|
								            {
							 | 
						|
								                path: "/positiveResultsList",
							 | 
						|
								                name: "阳性结果清单",
							 | 
						|
								                component: () =>
							 | 
						|
								                    import ("../views/customerReport/positiveResultsList.vue"),
							 | 
						|
								            },
							 | 
						|
								            {
							 | 
						|
								                path: "/unitphysicalexamination",
							 | 
						|
								                name: "单位体检报表",
							 | 
						|
								                component: () =>
							 | 
						|
								                    import ("../views/doctorCheck/unitphysicalexamination.vue"),
							 | 
						|
								            },
							 | 
						|
								            {
							 | 
						|
								                path: "/personnelPositive",
							 | 
						|
								                name: "人员阳性结果",
							 | 
						|
								                component: () =>
							 | 
						|
								                    import ("../views/customerReport/personnelPositive.vue")
							 | 
						|
								            },
							 | 
						|
								            //----------------------  工作量登记  ----------------------
							 | 
						|
								            {
							 | 
						|
								                path: "/registrar",
							 | 
						|
								                name: "登记员工作量",
							 | 
						|
								                component: () =>
							 | 
						|
								                    import ("../views/workload/registrar.vue"),
							 | 
						|
								            },
							 | 
						|
								            {
							 | 
						|
								                path: "/doctorstaionworkload",
							 | 
						|
								                name: "登记员工作量",
							 | 
						|
								                component: () =>
							 | 
						|
								                    import ("../views/workload/doctorstaionworkload.vue"),
							 | 
						|
								            },
							 | 
						|
								            {
							 | 
						|
								                path: "/directordoctor",
							 | 
						|
								                name: "总检医生工作量",
							 | 
						|
								                component: () =>
							 | 
						|
								                    import ("../views/workload/directordoctor.vue"),
							 | 
						|
								            },
							 | 
						|
								            {
							 | 
						|
								                path: "/deskwork",
							 | 
						|
								                name: "总检医生工作量",
							 | 
						|
								                component: () =>
							 | 
						|
								                    import ("../views/workload/deskwork.vue"),
							 | 
						|
								            },
							 | 
						|
								            {
							 | 
						|
								                path: "/tollcollector",
							 | 
						|
								                name: "收费员",
							 | 
						|
								                component: () =>
							 | 
						|
								                    import ("../views/workload/tollcollector.vue"),
							 | 
						|
								            },
							 | 
						|
								            {
							 | 
						|
								                path: "/individualfeedetails",
							 | 
						|
								                name: "个人收费明细",
							 | 
						|
								                component: () =>
							 | 
						|
								                    import ("../views/workload/individualfeedetails.vue"),
							 | 
						|
								            },
							 | 
						|
								            {
							 | 
						|
								                path: "/membershipcard",
							 | 
						|
								                name: "会员卡分类统计",
							 | 
						|
								                component: () =>
							 | 
						|
								                    import ("../views/workload/membershipcard.vue"),
							 | 
						|
								            },
							 | 
						|
								        ],
							 | 
						|
								    },
							 | 
						|
								];
							 | 
						|
								
							 | 
						|
								const router = new VueRouter({
							 | 
						|
								    //mode: "history",
							 | 
						|
								    //base: process.env.BASE_URL,
							 | 
						|
								    routes,
							 | 
						|
								});
							 | 
						|
								
							 | 
						|
								router.beforeEach((to, form, next) => {
							 | 
						|
								    let token = window.sessionStorage.getItem("token");
							 | 
						|
								    let tokentype = window.sessionStorage.getItem("tokentype");
							 | 
						|
								    if (to.path === "/login") {
							 | 
						|
								        if (token != null) {
							 | 
						|
								            next({
							 | 
						|
								                path: "/",
							 | 
						|
								            });
							 | 
						|
								        } else {
							 | 
						|
								            next();
							 | 
						|
								        }
							 | 
						|
								    } else {
							 | 
						|
								        if (token == null) {
							 | 
						|
								            next({
							 | 
						|
								                path: "/login",
							 | 
						|
								            });
							 | 
						|
								        } else {
							 | 
						|
								            next();
							 | 
						|
								        }
							 | 
						|
								    }
							 | 
						|
								});
							 | 
						|
								export default router;
							 |