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.

459 lines
16 KiB

2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
  1. import Vue from "vue";
  2. import VueRouter from "vue-router";
  3. // import HomeView from "../views/HomeView.vue";
  4. import login from "@/views/login/Login.vue";
  5. Vue.use(VueRouter);
  6. // const originalpush = VueRouter.prototype.push
  7. // VueRouter.prototype.push = function (location) {
  8. // return originalpush.call(this, location).catch(err => err)
  9. // }
  10. const routes = [{
  11. path: "/",
  12. component: login,
  13. },
  14. {
  15. path: "/login",
  16. name: "login",
  17. component: () =>
  18. import ("../views/login/Login.vue"),
  19. },
  20. {
  21. path: "/home",
  22. name: "home",
  23. component: () =>
  24. import ("../views/Home.vue"),
  25. children: [{
  26. path: "/role",
  27. component: () =>
  28. import ("../views/user-list/Role.vue"),
  29. },
  30. {
  31. path: "/user-list",
  32. component: () =>
  33. import ("../views/user-list/UserList.vue"),
  34. },
  35. {
  36. path: "/organization-units",
  37. component: () =>
  38. import ("../views/user-list/OrganizationUnits.vue"),
  39. },
  40. {
  41. path: "/audit-log",
  42. component: () =>
  43. import ("../views/user-list/AuditLog.vue"),
  44. },
  45. {
  46. path: "/guide-type",
  47. component: () =>
  48. import ("../views/basic-dictionary/GuideType.vue"),
  49. },
  50. {
  51. path: "/medical-report-type",
  52. component: () =>
  53. import ("../views/basic-dictionary/MedicalReportType.vue"),
  54. },
  55. {
  56. path: "/sex",
  57. component: () =>
  58. import ("../views/basic-dictionary/Sex.vue"),
  59. },
  60. {
  61. path: "/marital-status",
  62. component: () =>
  63. import ("../views/basic-dictionary/MaritalStatus.vue"),
  64. },
  65. {
  66. path: "/nation",
  67. component: () =>
  68. import ("../views/basic-dictionary/Nation.vue"),
  69. },
  70. {
  71. path: "/birth-place",
  72. component: () =>
  73. import ("../views/basic-dictionary/BirthPlace.vue"),
  74. },
  75. {
  76. path: "/result-status",
  77. component: () =>
  78. import ("../views/basic-dictionary/ResultStatus.vue"),
  79. },
  80. {
  81. path: "/medical-type",
  82. component: () =>
  83. import ("../views/basic-dictionary/MedicalType.vue"),
  84. },
  85. {
  86. path: "/personnel-type",
  87. component: () =>
  88. import ("../views/basic-dictionary/PersonnelType.vue"),
  89. },
  90. {
  91. path: "/device-type",
  92. component: () =>
  93. import ("../views/basic-dictionary/DeviceType.vue"),
  94. },
  95. {
  96. path: "/sample-type",
  97. component: () =>
  98. import ("../views/basic-dictionary/SampleType.vue"),
  99. },
  100. {
  101. path: "/unit",
  102. component: () =>
  103. import ("../views/basic-dictionary/Unit.vue"),
  104. },
  105. {
  106. path: "/diagnosis-postfix",
  107. component: () =>
  108. import ("../views/basic-dictionary/DiagnosisPostfix.vue"),
  109. },
  110. {
  111. path: "/medical-conclusion-type",
  112. component: () =>
  113. import ("../views/basic-dictionary/MedicalConclusionType.vue"),
  114. },
  115. {
  116. path: "/medical-conclusion",
  117. component: () =>
  118. import ("../views/basic-dictionary/MedicalConclusion.vue"),
  119. },
  120. {
  121. path: "/sample-container",
  122. component: () =>
  123. import ("../views/basic-dictionary/SampleContainer.vue"),
  124. },
  125. {
  126. path: "/common-char-type",
  127. component: () =>
  128. import ("../views/basic-dictionary/CommonCharType.vue"),
  129. },
  130. {
  131. path: "/common-char",
  132. component: () =>
  133. import ("../views/basic-dictionary/CommonChar.vue"),
  134. },
  135. {
  136. path: "/customer-org-type",
  137. component: () =>
  138. import ("../views/basic-dictionary/CustomerOrgType.vue"),
  139. },
  140. {
  141. path: "/item-default-result",
  142. component: () =>
  143. import ("../views/basic-dictionary/ItemDefaultResult.vue"),
  144. },
  145. {
  146. path: "/diagnosis-level",
  147. component: () =>
  148. import ("../views/basic-dictionary/DiagnosisLevel.vue"),
  149. },
  150. {
  151. path: "/diagnosisSet",
  152. name:'诊断建议设置',
  153. component: () =>
  154. import ("../views/diagnosis/diagnosis.vue"),
  155. },
  156. //---------------------- 收费设置 start ----------------------
  157. {
  158. path: "/invoice-item-type",
  159. component: () =>
  160. import ("../views/fee-settings/InvoiceItemType.vue"),
  161. },
  162. {
  163. path: "/pay-mode",
  164. component: () =>
  165. import ("../views/fee-settings/PayMode.vue"),
  166. },
  167. {
  168. path: "/cardType",
  169. name: "会员卡类别",
  170. component: () =>
  171. import ("../views/fee-settings/cardType.vue"),
  172. },
  173. {
  174. path: "/cardRegister",
  175. name: "会员卡登记",
  176. component: () =>
  177. import ("../views/fee-settings/cardRegister.vue"),
  178. },
  179. {
  180. path: "/cardBill",
  181. name: "会员卡记账",
  182. component: () =>
  183. import ("../views/fee-settings/cardBill.vue"),
  184. },
  185. //---------------------- 收费设置 start ----------------------
  186. {
  187. path: "/item-type",
  188. component: () =>
  189. import ("../views/common-settings/ItemType.vue"),
  190. },
  191. {
  192. path: "/sample-group",
  193. name:'条码分组',
  194. component: () =>
  195. import ("../views/common-settings/SampleGroup.vue"),
  196. },
  197. {
  198. path: "/asbitem",
  199. component: () =>
  200. import ("../views/fee-settings/Asbitem.vue"),
  201. },
  202. {
  203. path: "/item",
  204. component: () =>
  205. import ("../views/fee-settings/Item.vue"),
  206. },
  207. {
  208. path: "/reference-range",
  209. component: () =>
  210. import ("../views/fee-settings/ReferenceRange.vue"),
  211. },
  212. {
  213. path: "/diagnosis",
  214. component: () =>
  215. import ("../views/fee-settings/Diagnosis.vue"),
  216. hidden: true,
  217. // meta: {
  218. // title: '诊断',
  219. // menu
  220. // }
  221. meat: {
  222. title: "诊断",
  223. noCache: true,
  224. menus: ["diagosis:advertDemandRelease"],
  225. },
  226. },
  227. {
  228. path: "/item-result-template",
  229. component: () =>
  230. import ("../views/fee-settings/ItemResultTemplate.vue"),
  231. },
  232. {
  233. path: "/item-result-match",
  234. component: () =>
  235. import ("../views/fee-settings/ItemResultMatch.vue"),
  236. },
  237. {
  238. path: "/item-template",
  239. component: () =>
  240. import ("../views/fee-settings/ItemTemplate.vue"),
  241. },
  242. {
  243. path: "/medicalPackage", // medical-package
  244. name:"套餐设置",
  245. component: () =>
  246. import ("../views/common-settings/medicalPackage.vue"), //../views/fee-settings/MedicalPackage.vue
  247. },
  248. {
  249. path: "/sex-hormone-reference-range",
  250. component: () =>
  251. import ("../views/fee-settings/SexHormoneReferenceRange.vue"),
  252. },
  253. {
  254. path: "/diagnosis-template",
  255. component: () =>
  256. import ("../views/fee-settings/DiagnosisTemplate.vue"),
  257. },
  258. {
  259. path: "/sys-parm-type",
  260. component: () =>
  261. import ("../views/fee-settings/SysParmSet.vue"), //../views/fee-settings/SysParmType.vue
  262. },
  263. //---------------------- 体检登记 start ----------------------
  264. {
  265. path: "/customerOrg",
  266. name: "体检单位设置",
  267. component: () =>
  268. import ("../views/customerOrg/customerOrg.vue"),
  269. },
  270. {
  271. path: "/customerOrgGroup",
  272. name: "单位分组设置",
  273. component: () =>
  274. import ("../views/customerOrg/customerOrgGroup.vue"),
  275. },
  276. {
  277. path: "/patientRegister",
  278. name: "体检人员登记",
  279. component: () =>
  280. import ("../views/customerOrg/patientRegister.vue"),
  281. },
  282. {
  283. path: "/patientRegisterSign",
  284. name: "体检人员签到",
  285. component: () =>
  286. import ("../views/customerOrg/patientRegisterSign.vue"),
  287. },
  288. {
  289. path: "/patientRegisterBatch",
  290. name: "人员批量登记",
  291. component: () =>
  292. import ("../views/customerOrg/patientRegisterImport.vue"), //../views/doctorCheck/personnelBatch.vue
  293. },
  294. {
  295. path: "/patientRegisterRecover",
  296. name: "体检表回收",
  297. component: () =>
  298. import ("../views/customerOrg/patientRegisterRecover.vue"),
  299. },
  300. {
  301. path: "/patientRegisterRefuse",
  302. name: "弃检登记",
  303. component: () =>
  304. import ("../views/customerOrg/patientRegisterRefuse.vue"),
  305. },
  306. {
  307. path: "/charge",
  308. name: "体检收费",
  309. component: () =>
  310. import ("../views/charge/charge.vue"),
  311. },
  312. //---------------------- 体检登记 start ----------------------
  313. //---------------------- 体 检 start ----------------------
  314. {
  315. path: "/doctorCheck",
  316. name: "体检医生诊台",
  317. component: () =>
  318. import ("../views/doctorCheck/doctorCheck.vue"),
  319. },
  320. {
  321. path: "/sumDoctorCheck",
  322. name: "总检医生诊台",
  323. component: () =>
  324. import ("../views/doctorCheck/sumDoctorCheck.vue"),
  325. },
  326. //---------------------- 体 检 end ----------------------
  327. //---------------------- 体检查询 start ----------------------
  328. {
  329. path: "/report",
  330. name: "体检报告",
  331. component: () =>
  332. import ("../views/report/report.vue"),
  333. },
  334. {
  335. path: "/checkStatus",
  336. name: "组合项目检查状态",
  337. component: () =>
  338. import ("../views/report/checkStatus.vue"),
  339. },
  340. {
  341. path: "/chargeAsbitem",
  342. name: "人员费用组合项目",
  343. component: () =>
  344. import ("../views/report/chargeAsbitem.vue"),
  345. },
  346. {
  347. path: "/unCheckAsbitem",
  348. name: "人员未检组合项目",
  349. component: () =>
  350. import ("../views/report/unCheckAsbitem.vue"),
  351. },
  352. //---------------------- 体检查询 end ----------------------
  353. //---------------------- 体 检 end ----------------------
  354. //---------------------- 疾病人数登记 ----------------------
  355. {
  356. path: "/diseaseStatistics",
  357. name: "疾病人数统计",
  358. component: () =>
  359. import ("../views/customerReport/diseaseStatistics.vue"),
  360. },
  361. {
  362. path: "/positiveResultsList",
  363. name: "阳性结果清单",
  364. component: () =>
  365. import ("../views/customerReport/positiveResultsList.vue"),
  366. },
  367. {
  368. path: "/unitphysicalexamination",
  369. name: "单位体检报表",
  370. component: () =>
  371. import ("../views/doctorCheck/unitphysicalexamination.vue"),
  372. },
  373. {
  374. path: "/personnelPositive",
  375. name: "人员阳性结果",
  376. component: () =>
  377. import ("../views/customerReport/personnelPositive.vue")
  378. },
  379. //---------------------- 工作量登记 ----------------------
  380. {
  381. path: "/registrar",
  382. name: "登记员工作量",
  383. component: () =>
  384. import ("../views/workload/registrar.vue"),
  385. },
  386. {
  387. path: "/doctorstaionworkload",
  388. name: "登记员工作量",
  389. component: () =>
  390. import ("../views/workload/doctorstaionworkload.vue"),
  391. },
  392. {
  393. path: "/directordoctor",
  394. name: "总检医生工作量",
  395. component: () =>
  396. import ("../views/workload/directordoctor.vue"),
  397. },
  398. {
  399. path: "/deskwork",
  400. name: "总检医生工作量",
  401. component: () =>
  402. import ("../views/workload/deskwork.vue"),
  403. },
  404. {
  405. path: "/tollcollector",
  406. name: "收费员",
  407. component: () =>
  408. import ("../views/workload/tollcollector.vue"),
  409. },
  410. {
  411. path: "/individualfeedetails",
  412. name: "个人收费明细",
  413. component: () =>
  414. import ("../views/workload/individualfeedetails.vue"),
  415. },
  416. {
  417. path: "/membershipcard",
  418. name: "会员卡分类统计",
  419. component: () =>
  420. import ("../views/workload/membershipcard.vue"),
  421. },
  422. ],
  423. },
  424. ];
  425. const router = new VueRouter({
  426. //mode: "history",
  427. //base: process.env.BASE_URL,
  428. routes,
  429. });
  430. router.beforeEach((to, form, next) => {
  431. let token = window.sessionStorage.getItem("token");
  432. let tokentype = window.sessionStorage.getItem("tokentype");
  433. if (to.path === "/login") {
  434. if (token != null) {
  435. next({
  436. path: "/",
  437. });
  438. } else {
  439. next();
  440. }
  441. } else {
  442. if (token == null) {
  443. next({
  444. path: "/login",
  445. });
  446. } else {
  447. next();
  448. }
  449. }
  450. });
  451. export default router;