血透系统PC前端

index.js 40KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976
  1. import Vue from 'vue'
  2. import Router from 'vue-router'
  3. Vue.use(Router)
  4. /* Layout */
  5. import Layout from '@/views/layout/Layout'
  6. /** note: submenu only apppear when children.length>=1
  7. * detail see https://panjiachen.github.io/vue-element-admin-site/guide/essentials/router-and-nav.html
  8. **/
  9. /**
  10. * hidden: true if `hidden:true` will not show in the sidebar(default is false)
  11. * alwaysShow: true if set true, will always show the root menu, whatever its child routes length
  12. * if not set alwaysShow, only more than one route under the children
  13. * it will becomes nested mode, otherwise not show the root menu
  14. * redirect: noredirect if `redirect:noredirect` will no redirct in the breadcrumb
  15. * name:'router-name' the name is used by <keep-alive> (must set!!!)
  16. * meta : {
  17. roles: ['admin','editor'] will control the page roles (you can set multiple roles)
  18. title: 'title' the name show in submenu and breadcrumb (recommend set)
  19. icon: 'svg-name' the icon show in the sidebar,
  20. noCache: true if true ,the page will no be cached(default is false)
  21. }
  22. **/
  23. export const xt_constantRouterMap = [
  24. // { path: '/login', component: () => import('@/views/login/index'), hidden: true },
  25. { path: '/token/verify', component: () => import('@/xt_pages/index/verify_token'), hidden: true },
  26. { path: '/404', component: () => import('@/views/errorPage/404'), hidden: true },
  27. { path: '/401', component: () => import('@/views/errorPage/401'), hidden: true },
  28. {
  29. path: '',
  30. component: Layout,
  31. redirect: '/home',
  32. children: [{
  33. path: '/home',
  34. component: () => import('@/xt_pages/home/index'),
  35. name: 'home',
  36. meta: { title: 'home', icon: 'dashboard', noCache: true }
  37. }]
  38. },
  39. {
  40. path: '/service',
  41. component: Layout,
  42. // redirect: '/service',
  43. hidden: true,
  44. is_menu: false,
  45. meta: { title: 'service', icon: 'shebei' },
  46. children: [{
  47. path: '/service',
  48. component: () => import('@/xt_pages/service/index'),
  49. hidden: true,
  50. is_menu: false,
  51. name: 'service',
  52. meta: { title: 'service', icon: 'shebei', noCache: true }
  53. }, {
  54. path: '/service/invoice',
  55. component: () => import('@/xt_pages/service/invoice'),
  56. hidden: true,
  57. is_menu: false,
  58. name: 'invoice',
  59. meta: { title: 'invoice', icon: 'shebei', noCache: true }
  60. }, {
  61. path: '/service/invoice/apply',
  62. component: () => import('@/xt_pages/service/invoiceApply'),
  63. hidden: true,
  64. is_menu: false,
  65. name: 'invoiceApply',
  66. meta: { title: 'invoiceApply', icon: 'shebei', noCache: true }
  67. },
  68. {
  69. path: '/servicePay',
  70. component: () => import('@/xt_pages/service/servicePay'),
  71. hidden: true,
  72. name: 'servicePay',
  73. meta: { title: 'servicePay' }
  74. },
  75. {
  76. path: '/payType',
  77. component: () => import('@/xt_pages/service/payType'),
  78. hidden: true,
  79. name: 'payType',
  80. meta: { title: 'payType' }
  81. },
  82. {
  83. path: '/weChatPay',
  84. component: () => import('@/xt_pages/service/weChatPay'),
  85. hidden: true,
  86. name: 'weChatPay',
  87. meta: { title: 'weChatPay' }
  88. },
  89. {
  90. path: '/service/completeOrder',
  91. component: () => import('@/xt_pages/service/completeOrder'),
  92. hidden: true,
  93. name: 'completeOrder',
  94. meta: { title: 'completeOrder' }
  95. }, {
  96. path: '/service/buy',
  97. component: () => import('@/xt_pages/service/serviceOrder'),
  98. hidden: true,
  99. is_menu: false,
  100. name: 'serviceOrder',
  101. meta: { title: 'serviceOrder', icon: 'shebei', noCache: true }
  102. }, {
  103. path: '/order',
  104. component: () => import('@/xt_pages/service/orderRecord'),
  105. hidden: true,
  106. is_menu: false,
  107. name: 'orderRecord',
  108. meta: { title: 'orderRecord', icon: 'shebei', noCache: true }
  109. }, {
  110. path: '/service/recordList',
  111. component: () => import('@/xt_pages/service/serviceRecord'),
  112. hidden: true,
  113. is_menu: false,
  114. name: 'recordList',
  115. meta: { title: 'recordList', icon: 'shebei', noCache: true }
  116. }
  117. ]
  118. },
  119. // ////////////////////////////
  120. // 本地开始
  121. // /////////////////////////////
  122. {
  123. path: '/sign',
  124. component: Layout,
  125. redirct: '/sign/index',
  126. children: [{
  127. path: '/sign',
  128. component: () => import('@/xt_pages/sign/index'),
  129. name: 'sign',
  130. meta: { title: 'signWeight', icon: 'sign', noCache: true }
  131. }]
  132. },
  133. {
  134. path: '/qcd',
  135. component: Layout,
  136. redirect: '/qcd/dialysistotal',
  137. name: 'qcd',
  138. alwaysShow: true,
  139. meta: { title: '科室质控', icon: 'statistics' },
  140. children: [
  141. { path: '/statistics/index', component: () => import('@/xt_pages/statistics/index'), name: 'statistics', meta: { title: 'statistics' }},
  142. { path: '/qcd/dialysistotal', component: () => import('@/xt_pages/qcd/dialysisTotal'), name: 'dialysistotal', meta: { title: '透析总量' }},
  143. { path: '/qcd/processindicators', component: () => import('@/xt_pages/qcd/processIndicators'), name: 'processIndicators', meta: { title: '过程指标' }},
  144. { path: '/qcd/outcomeIndicators/control', component: () => import('@/xt_pages/qcd/outcomeIndicators/control'), name: 'outcomeIndicatorsControl', meta: { title: '结果指标' }},
  145. { path: '/qcd/outcomeIndicators/query', hidden: true, is_menu: false, component: () => import('@/xt_pages/qcd/outcomeIndicators/query'), name: 'outcomeIndicatorsQuery', meta: { title: '指标查询' }},
  146. { path: '/qcd/patientanalysis/total', component: () => import('@/xt_pages/qcd/patientAnalysis/total'), name: 'patientAnalysisTotal', meta: { title: '患者分析' }},
  147. { path: '/qcd/patientanalysis/weight', hidden: true, is_menu: false, component: () => import('@/xt_pages/qcd/patientAnalysis/weight'), name: 'patientAnalysisWeight', meta: { title: '体重分析' }},
  148. { path: '/qcd/patientanalysis/bloodpressure', hidden: true, is_menu: false, component: () => import('@/xt_pages/qcd/patientAnalysis/bloodPressure'), name: 'patientAnalysisBloodPressure', meta: { title: '血压分析' }},
  149. { path: '/qcd/patientanalysis/dialysisage', hidden: true, is_menu: false, component: () => import('@/xt_pages/qcd/patientAnalysis/dialysisAge'), name: 'patientAnalysisDialysisAge', meta: { title: '透析龄分析' }},
  150. { path: '/qcd/patientanalysis/lapseto', hidden: true, is_menu: false, component: () => import('@/xt_pages/qcd/patientAnalysis/lapseto'), name: 'patientAnalysisLapseto', meta: { title: '转归分析' }},
  151. { path: '/qcd/patientanalysis/complication', hidden: true, is_menu: false, component: () => import('@/xt_pages/qcd/patientAnalysis/complication'), name: 'patientAnalysisComplication', meta: { title: '并发症分析' }},
  152. { path: '/qcd/patientanalysis/infectiousdiseases', hidden: true, is_menu: false, component: () => import('@/xt_pages/qcd/patientAnalysis/infectiousDiseases'), name: 'patientAnalysisInfectiousDiseases', meta: { title: '传染病分析' }},
  153. { path: '/qcd/pa/person/lapseto', hidden: true, is_menu: false, component: () => import('@/xt_pages/qcd/patientAnalysis/person/lapseto'), name: 'paPersonLapseto', meta: { title: '转归' }},
  154. { path: '/qcd/pa/person/weight', hidden: true, is_menu: false, component: () => import('@/xt_pages/qcd/patientAnalysis/person/weight'), name: 'paPersonWeight', meta: { title: '体重' }},
  155. { path: '/qcd/pa/person/bloodpressure', hidden: true, is_menu: false, component: () => import('@/xt_pages/qcd/patientAnalysis/person/bloodPressure'), name: 'paPersonBloodPressure', meta: { title: '血压' }},
  156. { path: '/qcd/pa/person/indicators', hidden: true, is_menu: false, component: () => import('@/xt_pages/qcd/patientAnalysis/person/indicators'), name: 'paPersonIndicators', meta: { title: '指标控制' }},
  157. { path: '/qcd/pa/person/oralmedicine', hidden: true, is_menu: false, component: () => import('@/xt_pages/qcd/patientAnalysis/person/oralMedicine'), name: 'paPersonOralMedicine', meta: { title: '口服药' }}
  158. ]
  159. },
  160. {
  161. path: '/patients',
  162. component: Layout,
  163. redirect: 'noredirect',
  164. name: 'User',
  165. meta: {
  166. title: 'user',
  167. icon: 'bingren'
  168. },
  169. children: [
  170. {
  171. path: '/patients/patients',
  172. component: () => import('@/xt_pages/user/patients'),
  173. name: 'Patient',
  174. meta: { title: 'patient', noCache: true }
  175. },
  176. {
  177. path: '/patients/create',
  178. component: () => import('@/xt_pages/user/createPatient'),
  179. name: 'createPatient',
  180. meta: { title: 'createPatient', noCache: true }
  181. },
  182. {
  183. path: '/patients/patient/:id',
  184. component: () => import('@/xt_pages/user/patientInfo'),
  185. hidden: true,
  186. is_menu: false,
  187. name: 'patient Page',
  188. meta: { title: 'patientPage', noCache: true }
  189. },
  190. {
  191. path: '/patients/patient/:id/edit',
  192. component: () => import('@/xt_pages/user/editPatient'),
  193. hidden: true,
  194. is_menu: false,
  195. name: 'Edit Patient',
  196. meta: { title: 'editPatient', noCache: true }
  197. },
  198. {
  199. path: '/patients/patient/:id/dialysisSolution',
  200. component: () => import('@/xt_pages/user/dialysisSolution'),
  201. hidden: true,
  202. is_menu: false,
  203. name: 'dialysisSolution',
  204. meta: { title: 'dialysisSolution', noCache: true }
  205. },
  206. {
  207. path: '/patients/patient/:id/weight',
  208. component: () => import('@/xt_pages/user/weight'),
  209. hidden: true,
  210. is_menu: false,
  211. name: 'weight',
  212. meta: { title: 'weight', noCache: true }
  213. },
  214. {
  215. path: '/patients/patient/:id/dialysisRecord',
  216. component: () => import('@/xt_pages/user/dialysisRecord'),
  217. hidden: true,
  218. is_menu: false,
  219. name: 'dialysisRecord',
  220. meta: { title: 'dialysisRecord', noCache: true }
  221. },
  222. {
  223. path: '/patients/patient/:id/scheduling',
  224. component: () => import('@/xt_pages/user/scheduling'),
  225. hidden: true,
  226. is_menu: false,
  227. name: 'scheduling',
  228. meta: { title: 'scheduling', noCache: true }
  229. },
  230. {
  231. path: '/patients/patient/:id/doctorAdvice',
  232. component: () => import('@/xt_pages/user/doctorAdvice'),
  233. hidden: true,
  234. is_menu: false,
  235. name: 'doctorAdvice',
  236. meta: { title: 'doctorAdvice', noCache: true }
  237. },
  238. {
  239. path: '/patients/inspection',
  240. component: () => import('@/xt_pages/user/inspection'),
  241. hidden: true,
  242. is_menu: false,
  243. name: 'Inspection',
  244. meta: { title: 'inspection', noCache: true }
  245. },
  246. {
  247. path: '/patients/course',
  248. component: () => import('@/xt_pages/user/courseOfDisease'),
  249. hidden: true,
  250. is_menu: false,
  251. name: 'CourseOfDiseaseManage',
  252. meta: { title: 'CourseOfDiseaseManage', noCache: true }
  253. },
  254. {
  255. path: '/patients/rescue',
  256. component: () => import('@/xt_pages/user/rescueRecord'),
  257. hidden: true,
  258. is_menu: false,
  259. name: 'RescueRecord',
  260. meta: { title: 'RescueRecord', noCache: true }
  261. },
  262. {
  263. path: '/patients/patient/:id/proeducation',
  264. component: () => import('@/xt_pages/user/proeducation'),
  265. hidden: true,
  266. is_menu: false,
  267. name: 'proeducation',
  268. meta: { title: 'proeducation', noCache: true }
  269. }
  270. ]
  271. },
  272. {
  273. path: '/workforce',
  274. component: Layout,
  275. redirect: 'noredirect',
  276. name: 'workforce',
  277. meta: {
  278. title: 'workforce',
  279. icon: 'paiban'
  280. },
  281. children: [
  282. {
  283. path: '/workforce/appointment',
  284. component: () => import('@/xt_pages/workforce/appointment'),
  285. name: 'appointment',
  286. meta: { title: 'appointment', noCache: true }
  287. },
  288. {
  289. path: '/workforce/sign',
  290. component: () => import('@/xt_pages/workforce/sign'),
  291. hidden: true,
  292. is_menu: false,
  293. name: 'sign',
  294. meta: { title: 'sign', noCache: true }
  295. },
  296. {
  297. path: '/workforce/remind',
  298. component: () => import('@/xt_pages/workforce/remind'),
  299. name: 'remind',
  300. meta: { title: 'remind', noCache: true }
  301. },
  302. {
  303. path: '/workforce/template',
  304. component: () => import('@/xt_pages/workforce/template'),
  305. name: 'workforce_template',
  306. hidden: true,
  307. is_menu: false,
  308. meta: { title: 'workforce_template', noCache: true }
  309. },
  310. {
  311. path: '/workforce/schedule/print',
  312. component: () => import('@/xt_pages/workforce/schedule_print'),
  313. name: 'schedule_print',
  314. hidden: true,
  315. is_menu: false,
  316. meta: { title: 'schedule_print', noCache: true }
  317. }
  318. ]
  319. },
  320. {
  321. path: '/dialysis/',
  322. component: Layout,
  323. redirect: 'noredirect',
  324. name: 'dialysis',
  325. meta: {
  326. title: 'dialysis',
  327. icon: 'touxi'
  328. },
  329. children: [
  330. { path: '/dialysis/dialysisrecord', component: () => import('@/xt_pages/dialysis/schedualPatient'), name: '透析记录', meta: { title: '透析记录' }},
  331. {
  332. path: '/dialysis/record/:id',
  333. component: () => import('@/xt_pages/dialysis/dialysisPage'),
  334. hidden: true,
  335. is_menu: false,
  336. name: 'paper',
  337. meta: { title: 'paper', noCache: true }
  338. },
  339. {
  340. path: '/dialysis/print',
  341. component: () => import('@/xt_pages/dialysis/dialysisPrintOrder'),
  342. hidden: true,
  343. is_menu: false,
  344. name: 'dialysisPrintOrder',
  345. meta: { title: 'dialysisPrintOrder', noCache: true }
  346. },
  347. // { path: 'advice', component: () => import('@/xt_pages/dialysis/doctorAdvice'), name: 'advice', meta: { title: 'advice' }},
  348. // { path: 'prepare', component: () => import('@/xt_pages/dialysis/dialysisPrepare'), name: 'prepare', meta: { title: 'prepare' }},
  349. { path: '/dialysis/watch', component: () => import('@/xt_pages/dialysis/bloodPresssWatch'), name: 'watch', meta: { title: 'watch' }},
  350. { path: '/dialysis/details', component: () => import('@/xt_pages/dialysis/details'), name: 'details', meta: { title: 'details' }, hidden: true, is_menu: false },
  351. {
  352. path: '/dialysis/print/batch',
  353. component: () => import('@/xt_pages/dialysis/batch_print/batch_print_order'),
  354. hidden: true,
  355. is_menu: false,
  356. name: 'dialysis_batch_print',
  357. meta: { title: 'dialysis_batch_print', noCache: true }
  358. },
  359. { path: '/dialysis/board', component: () => import('@/xt_pages/dialysis/bulletinBoard'), name: '数据看板', meta: { title: '数据看板' }}
  360. ]
  361. },
  362. {
  363. path: '/fullscreenboard',
  364. component: () => import('@/xt_pages/fullscreenboard/index'),
  365. hidden: true
  366. },
  367. {
  368. path: '/device',
  369. component: Layout,
  370. redirect: '/device/main',
  371. name: 'device',
  372. alwaysShow: true,
  373. meta: { title: 'deviceManage', icon: 'shebei' },
  374. children: [
  375. { path: '/device/zones', component: () => import('@/xt_pages/device/zone_main'), name: 'deviceZoneManage', meta: { title: 'deviceZoneManage' }},
  376. { path: '/device/groups', component: () => import('@/xt_pages/device/group_main'), name: 'deviceGroupManage', meta: { title: 'deviceGroupManage' }},
  377. { path: '/device/numbers', component: () => import('@/xt_pages/device/number_main'), name: 'deviceNumberManage', meta: { title: 'deviceNumberManage' }},
  378. { path: '/device/main', component: () => import('@/xt_pages/device/main'), name: 'dialysisMachineManage', meta: { title: 'dialysisMachineManage' }}
  379. ]
  380. }, {
  381. path: '/stock/',
  382. component: Layout,
  383. redirect: 'noredirect',
  384. name: 'stockManage',
  385. meta: { title: 'stockManage', icon: 'stock' },
  386. children: [
  387. {
  388. path: '/stock/config',
  389. component: () => import('@/xt_pages/stock/index'),
  390. name: 'config',
  391. meta: { title: 'config' }
  392. },
  393. {
  394. path: '/stock/in',
  395. component: () => import('@/xt_pages/stock/stockInOrder'),
  396. name: 'stockInOrder',
  397. meta: { title: 'stockInOrder', noCache: true }
  398. }, {
  399. path: '/stock/in/other',
  400. component: () => import('@/xt_pages/stock/otherStockInOrder'),
  401. name: 'otherStockInOrder',
  402. meta: { title: 'otherStockInOrder', noCache: true }
  403. }, {
  404. path: '/stock/return',
  405. component: () => import('@/xt_pages/stock/salesReturnOrder'),
  406. name: 'salesReturnOrder',
  407. meta: { title: 'salesReturnOrder', noCache: true }
  408. }, {
  409. path: '/stock/return/other',
  410. component: () => import('@/xt_pages/stock/otherSalesReturnOrder'),
  411. name: 'otherSalesReturnOrder',
  412. meta: { title: 'otherSalesReturnOrder', noCache: true }
  413. },
  414. {
  415. path: '/stock/out',
  416. component: () => import('@/xt_pages/stock/stockOutOrder'),
  417. name: 'stockOutOrder',
  418. meta: { title: 'stockOutOrder', noCache: true }
  419. }, {
  420. path: '/stock/out/other',
  421. component: () => import('@/xt_pages/stock/otherStockOutOrder'),
  422. name: 'otherStockOutOrder',
  423. meta: { title: 'otherStockOutOrder', noCache: true }
  424. }, {
  425. path: '/stock/cancel',
  426. component: () => import('@/xt_pages/stock/cancelStockOrder'),
  427. name: 'cancelStockOrder',
  428. meta: { title: 'cancelStockOrder', noCache: true }
  429. }, {
  430. path: '/stock/cancel/other',
  431. component: () => import('@/xt_pages/stock/otherCancelStockOrder'),
  432. name: 'otherCancelStockOrder',
  433. meta: { title: 'otherCancelStockOrder', noCache: true }
  434. }, {
  435. path: '/stock/query',
  436. component: () => import('@/xt_pages/stock/stockQuery'),
  437. name: 'stockQuery',
  438. meta: { title: 'stockQuery' }
  439. }, {
  440. path: '/stock/detail',
  441. component: () => import('@/xt_pages/stock/stockDetailIndex'),
  442. name: 'stockDetail',
  443. meta: { title: 'stockDetail' }
  444. },
  445. {
  446. path: '/stock/in/add',
  447. component: () => import('@/xt_pages/stock/stockInOrderAdd'),
  448. name: 'stockInOrderAdd',
  449. hidden: true,
  450. is_menu: false,
  451. meta: { title: 'stockInOrderAdd' }
  452. }, {
  453. path: '/stock/in/detail',
  454. component: () => import('@/xt_pages/stock/stockInDetail'),
  455. name: 'stockInDetail',
  456. hidden: true,
  457. is_menu: false,
  458. meta: { title: 'stockInDetail' }
  459. }, {
  460. path: '/stock/return/detail',
  461. component: () => import('@/xt_pages/stock/salesReturnDetail'),
  462. name: 'salesReturnDetail',
  463. hidden: true,
  464. is_menu: false,
  465. meta: { title: 'salesReturnDetail' }
  466. }, {
  467. path: '/stock/return/add',
  468. component: () => import('@/xt_pages/stock/salesReturnOrderAdd'),
  469. name: 'salesReturnOrderAdd',
  470. hidden: true,
  471. is_menu: false,
  472. meta: { title: 'salesReturnOrderAdd' }
  473. }, {
  474. path: '/stock/out/add',
  475. component: () => import('@/xt_pages/stock/stockOutOrderAdd'),
  476. name: 'stockOutOrderAdd',
  477. hidden: true,
  478. is_menu: false,
  479. meta: { title: 'stockOutOrderAdd' }
  480. }, {
  481. path: '/stock/out/detail',
  482. component: () => import('@/xt_pages/stock/stockOutDetail'),
  483. name: 'stockOutDetail',
  484. hidden: true,
  485. is_menu: false,
  486. meta: { title: 'stockOutDetail' }
  487. }, {
  488. path: '/stock/cancel/add',
  489. component: () => import('@/xt_pages/stock/cancelStockOrderAdd'),
  490. name: 'cancelStockOrderAdd',
  491. hidden: true,
  492. is_menu: false,
  493. meta: { title: 'cancelStockOrderAdd' }
  494. }, {
  495. path: '/stock/cancel/detail',
  496. component: () => import('@/xt_pages/stock/cancelStockDetail'),
  497. name: 'cancelStockDetail',
  498. hidden: true,
  499. is_menu: false,
  500. meta: { title: 'cancelStockDetail' }
  501. }
  502. ]
  503. },
  504. {
  505. path: '/data/',
  506. component: Layout,
  507. redirect: 'noredirect',
  508. name: 'data',
  509. meta: { title: 'data_dictionary', icon: 'excel' },
  510. children: [
  511. { path: '/data/dictionary', component: () => import('@/xt_pages/data/index'), name: 'dictionary', meta: { title: 'field_config' }},
  512. { path: '/data/template', component: () => import('@/xt_pages/data/template'), name: 'template', meta: { title: 'template' }},
  513. { path: '/data/druguse', component: () => import('@/xt_pages/data/druguseTemplate'), name: 'druguse', meta: { title: 'druguse' }}
  514. ]
  515. },
  516. {
  517. path: '/role',
  518. component: Layout,
  519. redirect: '/role/admin/manage',
  520. name: 'role',
  521. alwaysShow: true,
  522. meta: { title: 'permissionManage', icon: 'role' },
  523. children: [
  524. { path: '/role/admin/manage', component: () => import('@/xt_pages/role/admin'), name: 'adminManage', meta: { title: 'adminManage' }},
  525. { path: '/role/manage', component: () => import('@/xt_pages/role/role'), name: 'roleManage', meta: { title: 'roleManage' }},
  526. { path: '/role/admin/create', component: () => import('@/xt_pages/role/CreateAdmin'), name: 'addAdmin', meta: { title: 'addAdmin', noCache: true }, hidden: true, is_menu: false },
  527. { path: '/role/admin/edit', component: () => import('@/xt_pages/role/EditAdmin'), name: 'editAdmin', meta: { title: 'editAdmin', noCache: true }, hidden: true, is_menu: false },
  528. { path: '/role/perview', component: () => import('@/xt_pages/role/EditPerview'), name: 'setupPerview', meta: { title: 'setupPerview', noCache: true }, hidden: true, is_menu: false },
  529. { path: '/role/admin/specialpermission', component: () => import('@/xt_pages/role/special_permission'), name: 'special_permission_manage', meta: { title: 'special_permission_manage' }}
  530. ]
  531. }
  532. // /////////////本地要end/
  533. ]
  534. export default new Router({
  535. // mode: 'history', // require service support
  536. scrollBehavior: () => ({ y: 0 }),
  537. routes: xt_constantRouterMap
  538. })
  539. export const xt_asyncRouterMap = [
  540. // //////////////////////////////////线在开始
  541. // {
  542. // path: '/patients',
  543. // component: Layout,
  544. // redirect: 'noredirect',
  545. // name: 'User',
  546. // alwaysShow: true,
  547. // meta: {
  548. // title: 'user',
  549. // icon: 'bingren'
  550. // },
  551. // children: [
  552. // {
  553. // path: '/patients/patients',
  554. // component: () => import('@/xt_pages/user/patients'),
  555. // name: 'Patient',
  556. // meta: { title: 'patient', noCache: true }
  557. // },
  558. // {
  559. // path: '/patients/create',
  560. // component: () => import('@/xt_pages/user/createPatient'),
  561. // name: 'createPatient',
  562. // meta: { title: 'createPatient', noCache: true }
  563. // },
  564. // {
  565. // path: '/patients/patient/:id',
  566. // component: () => import('@/xt_pages/user/patientInfo'),
  567. // hidden: true,
  568. // is_menu: false,
  569. // name: 'patient Page',
  570. // meta: { title: 'patientPage', noCache: true }
  571. // },
  572. // {
  573. // path: '/patients/patient/:id/edit',
  574. // component: () => import('@/xt_pages/user/editPatient'),
  575. // hidden: true,
  576. // is_menu: false,
  577. // name: 'Edit Patient',
  578. // meta: { title: 'editPatient', noCache: true }
  579. // },
  580. // {
  581. // path: '/patients/patient/:id/dialysisSolution',
  582. // component: () => import('@/xt_pages/user/dialysisSolution'),
  583. // hidden: true,
  584. // is_menu: false,
  585. // name: 'dialysisSolution',
  586. // meta: { title: 'dialysisSolution', noCache: true }
  587. // },
  588. // {
  589. // path: '/patients/patient/:id/weight',
  590. // component: () => import('@/xt_pages/user/weight'),
  591. // hidden: true,
  592. // is_menu: false,
  593. // name: 'weight',
  594. // meta: { title: 'weight', noCache: true }
  595. // },
  596. // {
  597. // path: '/patients/patient/:id/dialysisRecord',
  598. // component: () => import('@/xt_pages/user/dialysisRecord'),
  599. // hidden: true,
  600. // is_menu: false,
  601. // name: 'dialysisRecord',
  602. // meta: { title: 'dialysisRecord', noCache: true }
  603. // },
  604. // {
  605. // path: '/patients/patient/:id/scheduling',
  606. // component: () => import('@/xt_pages/user/scheduling'),
  607. // hidden: true,
  608. // is_menu: false,
  609. // name: 'scheduling',
  610. // meta: { title: 'scheduling', noCache: true }
  611. // },
  612. // {
  613. // path: '/patients/patient/:id/doctorAdvice',
  614. // component: () => import('@/xt_pages/user/doctorAdvice'),
  615. // hidden: true,
  616. // is_menu: false,
  617. // name: 'doctorAdvice',
  618. // meta: { title: 'doctorAdvice', noCache: true }
  619. // },
  620. // {
  621. // path: '/patients/inspection',
  622. // component: () => import('@/xt_pages/user/inspection'),
  623. // hidden: true,
  624. // is_menu: false,
  625. // name: 'Inspection',
  626. // meta: { title: 'inspection', noCache: true }
  627. // },
  628. // {
  629. // path: '/patients/course',
  630. // component: () => import('@/xt_pages/user/courseOfDisease'),
  631. // hidden: true,
  632. // is_menu: false,
  633. // name: 'CourseOfDiseaseManage',
  634. // meta: { title: 'CourseOfDiseaseManage', noCache: true }
  635. // },
  636. // {
  637. // path: '/patients/rescue',
  638. // component: () => import('@/xt_pages/user/rescueRecord'),
  639. // hidden: true,
  640. // is_menu: false,
  641. // name: 'RescueRecord',
  642. // meta: { title: 'RescueRecord', noCache: true }
  643. // },
  644. // {
  645. // path: '/patients/patient/:id/proeducation',
  646. // component: () => import('@/xt_pages/user/proeducation'),
  647. // hidden: true,
  648. // is_menu: false,
  649. // name: 'proeducation',
  650. // meta: { title: 'proeducation', noCache: true }
  651. // }
  652. // ]
  653. // },
  654. // {
  655. // path: '/workforce',
  656. // component: Layout,
  657. // redirect: 'noredirect',
  658. // name: 'workforce',
  659. // alwaysShow: true,
  660. // meta: {
  661. // title: 'workforce',
  662. // icon: 'paiban'
  663. // },
  664. // children: [
  665. // {
  666. // path: '/workforce/appointment',
  667. // component: () => import('@/xt_pages/workforce/appointment'),
  668. // name: 'appointment',
  669. // meta: { title: 'appointment', noCache: true }
  670. // },
  671. // {
  672. // path: '/workforce/sign',
  673. // component: () => import('@/xt_pages/workforce/sign'),
  674. // hidden: true,
  675. // is_menu: false,
  676. // name: 'sign',
  677. // meta: { title: 'sign', noCache: true }
  678. // },
  679. // {
  680. // path: '/workforce/remind',
  681. // component: () => import('@/xt_pages/workforce/remind'),
  682. // name: 'remind',
  683. // meta: { title: 'remind', noCache: true }
  684. // },
  685. // {
  686. // path: "/workforce/template",
  687. // component: () => import("@/xt_pages/workforce/template"),
  688. // name: "workforce_template",
  689. // hidden: true,
  690. // is_menu: false,
  691. // meta: { title: 'workforce_template', noCache: true }
  692. // },
  693. // {
  694. // path: "/workforce/schedule/print",
  695. // component: () => import("@/xt_pages/workforce/schedule_print"),
  696. // name: "schedule_print",
  697. // hidden: true,
  698. // is_menu: false,
  699. // meta: { title: 'schedule_print', noCache: true }
  700. // },
  701. // ]
  702. // },
  703. // {
  704. // path: '/sign',
  705. // component: Layout,
  706. // redirect: '/sign/index',
  707. // name: 'sign',
  708. // alwaysShow: true,
  709. // meta: { title: 'signWeight', icon: 'sign' },
  710. // children: [
  711. // { path: '/sign/index', component: () => import('@/xt_pages/sign/index'), name: 'signWeight', meta: { title: 'signWeight' }}
  712. // ]
  713. // },
  714. // {
  715. // path: '/dialysis/',
  716. // component: Layout,
  717. // redirect: 'noredirect',
  718. // name: 'dialysis',
  719. // alwaysShow: true,
  720. // meta: {
  721. // title: 'dialysis',
  722. // icon: 'touxi'
  723. // },
  724. // children: [
  725. // { path: '/dialysis/dialysisrecord', component: () => import('@/xt_pages/dialysis/schedualPatient'), name: '透析记录', meta: { title: '透析记录' }},
  726. // {
  727. // path: '/dialysis/record/:id',
  728. // component: () => import('@/xt_pages/dialysis/dialysisPage'),
  729. // hidden: true,
  730. // is_menu: false,
  731. // name: 'paper',
  732. // meta: { title: 'paper', noCache: true }
  733. // },
  734. // {
  735. // path: '/dialysis/print',
  736. // component: () => import('@/xt_pages/dialysis/dialysisPrintOrder'),
  737. // hidden: true,
  738. // is_menu: false,
  739. // name: 'dialysisPrintOrder',
  740. // meta: { title: 'dialysisPrintOrder', noCache: true }
  741. // },
  742. // // { path: 'advice', component: () => import('@/xt_pages/dialysis/doctorAdvice'), name: 'advice', meta: { title: 'advice' }},
  743. // // { path: 'prepare', component: () => import('@/xt_pages/dialysis/dialysisPrepare'), name: 'prepare', meta: { title: 'prepare' }},
  744. // { path: '/dialysis/watch', component: () => import('@/xt_pages/dialysis/bloodPresssWatch'), name: 'watch', meta: { title: 'watch' }},
  745. // { path: '/dialysis/details', component: () => import('@/xt_pages/dialysis/details'), name: 'details', meta: { title: 'details' }, is_menu: false,},
  746. // {
  747. // path: '/dialysis/print/batch',
  748. // component: () => import('@/xt_pages/dialysis/batch_print/batch_print_order'),
  749. // hidden: true,
  750. // is_menu: false,
  751. // name: 'dialysis_batch_print',
  752. // meta: { title: 'dialysis_batch_print', noCache: true }
  753. // },
  754. // { path: '/dialysis/board', component: () => import('@/xt_pages/dialysis/bulletinBoard'), name: '数据看板', meta: { title: '数据看板' }},
  755. // ]
  756. // },
  757. // {
  758. // path: '/fullscreenboard',
  759. // component: () => import('@/xt_pages/fullscreenboard/index'),
  760. // hidden:true,
  761. // },
  762. // {
  763. // path: '/device',
  764. // component: Layout,
  765. // redirect: '/device/main',
  766. // name: 'device',
  767. // alwaysShow: true,
  768. // meta: { title: 'deviceManage', icon: 'shebei' },
  769. // children: [
  770. // { path: '/device/zones', component: () => import('@/xt_pages/device/zone_main'), name: 'deviceZoneManage', meta: { title: 'deviceZoneManage' }},
  771. // { path: '/device/groups', component: () => import('@/xt_pages/device/group_main'), name: 'deviceGroupManage', meta: { title: 'deviceGroupManage' }},
  772. // { path: '/device/numbers', component: () => import('@/xt_pages/device/number_main'), name: 'deviceNumberManage', meta: { title: 'deviceNumberManage' }},
  773. // { path: '/device/main', component: () => import('@/xt_pages/device/main'), name: 'dialysisMachineManage', meta: { title: 'dialysisMachineManage' }}
  774. // ]
  775. // }, {
  776. // path: '/stock/',
  777. // component: Layout,
  778. // redirect: 'noredirect',
  779. // name: 'stockManage',
  780. // meta: { title: 'stockManage', icon: 'stock' },
  781. // children: [
  782. // {
  783. // path: '/stock/config',
  784. // component: () => import('@/xt_pages/stock/index'),
  785. // name: 'config',
  786. // meta: { title: 'config' }
  787. // },
  788. // {
  789. // path: '/stock/in',
  790. // component: () => import('@/xt_pages/stock/stockInOrder'),
  791. // name: 'stockInOrder',
  792. // meta: { title: 'stockInOrder', noCache: true }
  793. // }, {
  794. // path: '/stock/in/other',
  795. // component: () => import('@/xt_pages/stock/otherStockInOrder'),
  796. // name: 'otherStockInOrder',
  797. // meta: { title: 'otherStockInOrder', noCache: true }
  798. // }, {
  799. // path: '/stock/return',
  800. // component: () => import('@/xt_pages/stock/salesReturnOrder'),
  801. // name: 'salesReturnOrder',
  802. // meta: { title: 'salesReturnOrder', noCache: true }
  803. // }, {
  804. // path: '/stock/return/other',
  805. // component: () => import('@/xt_pages/stock/otherSalesReturnOrder'),
  806. // name: 'otherSalesReturnOrder',
  807. // meta: { title: 'otherSalesReturnOrder', noCache: true }
  808. // },
  809. // {
  810. // path: '/stock/out',
  811. // component: () => import('@/xt_pages/stock/stockOutOrder'),
  812. // name: 'stockOutOrder',
  813. // meta: { title: 'stockOutOrder', noCache: true }
  814. // }, {
  815. // path: '/stock/out/other',
  816. // component: () => import('@/xt_pages/stock/otherStockOutOrder'),
  817. // name: 'otherStockOutOrder',
  818. // meta: { title: 'otherStockOutOrder', noCache: true }
  819. // }, {
  820. // path: '/stock/cancel',
  821. // component: () => import('@/xt_pages/stock/cancelStockOrder'),
  822. // name: 'cancelStockOrder',
  823. // meta: { title: 'cancelStockOrder', noCache: true }
  824. // }, {
  825. // path: '/stock/cancel/other',
  826. // component: () => import('@/xt_pages/stock/otherCancelStockOrder'),
  827. // name: 'otherCancelStockOrder',
  828. // meta: { title: 'otherCancelStockOrder', noCache: true }
  829. // }, {
  830. // path: '/stock/query',
  831. // component: () => import('@/xt_pages/stock/stockQuery'),
  832. // name: 'stockQuery',
  833. // meta: { title: 'stockQuery' }
  834. // }, {
  835. // path: '/stock/detail',
  836. // component: () => import('@/xt_pages/stock/stockDetailIndex'),
  837. // name: 'stockDetail',
  838. // meta: { title: 'stockDetail' }
  839. // },{
  840. // path: '/stock/in/add',
  841. // component: () => import('@/xt_pages/stock/stockInOrderAdd'),
  842. // name: 'stockInOrderAdd',
  843. // hidden: true,
  844. // is_menu: false,
  845. // meta: { title: 'stockInOrderAdd' }
  846. // }, {
  847. // path: '/stock/in/detail',
  848. // component: () => import('@/xt_pages/stock/stockInDetail'),
  849. // name: 'stockInDetail',
  850. // hidden: true,
  851. // is_menu: false,
  852. // meta: { title: 'stockInDetail' }
  853. // }, {
  854. // path: '/stock/return/detail',
  855. // component: () => import('@/xt_pages/stock/salesReturnDetail'),
  856. // name: 'salesReturnDetail',
  857. // hidden: true,
  858. // is_menu: false,
  859. // meta: { title: 'salesReturnDetail' }
  860. // }, {
  861. // path: '/stock/return/add',
  862. // component: () => import('@/xt_pages/stock/salesReturnOrderAdd'),
  863. // name: 'salesReturnOrderAdd',
  864. // hidden: true,
  865. // is_menu: false,
  866. // meta: { title: 'salesReturnOrderAdd' }
  867. // }, {
  868. // path: '/stock/out/add',
  869. // component: () => import('@/xt_pages/stock/stockOutOrderAdd'),
  870. // name: 'stockOutOrderAdd',
  871. // hidden: true,
  872. // is_menu: false,
  873. // meta: { title: 'stockOutOrderAdd', noCache: true }
  874. // }, {
  875. // path: '/stock/out/detail',
  876. // component: () => import('@/xt_pages/stock/stockOutDetail'),
  877. // name: 'stockOutDetail',
  878. // hidden: true,
  879. // is_menu: false,
  880. // meta: { title: 'stockOutDetail', noCache: true }
  881. // }, {
  882. // path: '/stock/cancel/add',
  883. // component: () => import('@/xt_pages/stock/cancelStockOrderAdd'),
  884. // name: 'cancelStockOrderAdd',
  885. // hidden: true,
  886. // is_menu: false,
  887. // meta: { title: 'cancelStockOrderAdd', noCache: true }
  888. // }, {
  889. // path: '/stock/cancel/detail',
  890. // component: () => import('@/xt_pages/stock/cancelStockDetail'),
  891. // name: 'cancelStockDetail',
  892. // hidden: true,
  893. // is_menu: false,
  894. // meta: { title: 'cancelStockDetail', noCache: true }
  895. // }
  896. // ]
  897. // },
  898. // // {
  899. // // path: 'statistics',
  900. // // component: Layout,
  901. // // redirect: '/statistics/index',
  902. // // children: [{
  903. // // path: '/statistics',
  904. // // component: () => import('@/xt_pages/statistics/index'),
  905. // // name: 'statistics',
  906. // // meta: { title: 'statistics', icon: 'statistics', noCache: true }
  907. // // }]
  908. // // },
  909. // {
  910. // path: '/data/',
  911. // component: Layout,
  912. // redirect: 'noredirect',
  913. // name: 'data',
  914. // meta: { title: 'data_dictionary', icon: 'excel' },
  915. // children: [
  916. // { path: '/data/dictionary', component: () => import('@/xt_pages/data/index'), name: 'dictionary', meta: { title: 'field_config' }},
  917. // { path: '/data/template', component: () => import('@/xt_pages/data/template'), name: 'template', meta: { title: 'template' }},
  918. // { path: '/data/druguse', component: () => import('@/xt_pages/data/druguseTemplate'), name: 'druguse', meta: { title: 'druguse' }}
  919. // ]
  920. // },
  921. // {
  922. // path: '/qcd',
  923. // component: Layout,
  924. // redirect: '/qcd/dialysistotal',
  925. // name: 'qcd',
  926. // alwaysShow: true,
  927. // meta: { title: '科室质控', icon: 'table' },
  928. // children: [
  929. // { path: '/statistics/index', component: () => import('@/xt_pages/statistics/index'), name: 'statistics', meta: { title: 'statistics' }},
  930. // { path: '/qcd/dialysistotal', component: () => import('@/xt_pages/qcd/dialysisTotal'), name: 'dialysistotal', meta: { title: '透析总量' }},
  931. // { path: '/qcd/processindicators', component: () => import('@/xt_pages/qcd/processIndicators'), name: 'processIndicators', meta: { title: '过程指标' }},
  932. // { path: '/qcd/outcomeIndicators/control', component: () => import('@/xt_pages/qcd/outcomeIndicators/control'), name: 'outcomeIndicatorsControl', meta: { title: '结果指标' }},
  933. // { path: '/qcd/outcomeIndicators/query', hidden: true, is_menu: false, component: () => import('@/xt_pages/qcd/outcomeIndicators/query'), name: 'outcomeIndicatorsQuery', meta: { title: '指标查询' }},
  934. // { path: '/qcd/patientanalysis/total', component: () => import('@/xt_pages/qcd/patientAnalysis/total'), name: 'patientAnalysisTotal', meta: { title: '患者分析' }},
  935. // { path: '/qcd/patientanalysis/weight',hidden: true, is_menu: false, component: () => import('@/xt_pages/qcd/patientAnalysis/weight'), name: 'patientAnalysisWeight', meta: { title: '体重分析' }},
  936. // { path: '/qcd/patientanalysis/bloodpressure', hidden: true, is_menu: false, component: () => import('@/xt_pages/qcd/patientAnalysis/bloodPressure'), name: 'patientAnalysisBloodPressure', meta: { title: '血压分析' }},
  937. // { path: '/qcd/patientanalysis/dialysisage', hidden: true, is_menu: false, component: () => import('@/xt_pages/qcd/patientAnalysis/dialysisAge'), name: 'patientAnalysisDialysisAge', meta: { title: '透析龄分析' }},
  938. // { path: '/qcd/patientanalysis/lapseto', hidden: true, is_menu: false, component: () => import('@/xt_pages/qcd/patientAnalysis/lapseto'), name: 'patientAnalysisLapseto', meta: { title: '转归分析' }},
  939. // { path: '/qcd/patientanalysis/complication', hidden: true, is_menu: false, component: () => import('@/xt_pages/qcd/patientAnalysis/complication'), name: 'patientAnalysisComplication', meta: { title: '并发症分析' }},
  940. // { path: '/qcd/patientanalysis/infectiousdiseases', hidden: true, is_menu: false, component: () => import('@/xt_pages/qcd/patientAnalysis/infectiousDiseases'), name: 'patientAnalysisInfectiousDiseases', meta: { title: '传染病分析' }},
  941. // { path: '/qcd/pa/person/lapseto', hidden: true, is_menu: false, component: () => import('@/xt_pages/qcd/patientAnalysis/person/lapseto'), name: 'paPersonLapseto', meta: { title: '转归' }},
  942. // { path: '/qcd/pa/person/weight', hidden: true, is_menu: false, component: () => import('@/xt_pages/qcd/patientAnalysis/person/weight'), name: 'paPersonWeight', meta: { title: '体重' }},
  943. // { path: '/qcd/pa/person/bloodpressure', hidden: true, is_menu: false, component: () => import('@/xt_pages/qcd/patientAnalysis/person/bloodPressure'), name: 'paPersonBloodPressure', meta: { title: '血压' }},
  944. // { path: '/qcd/pa/person/indicators', hidden: true, is_menu: false, component: () => import('@/xt_pages/qcd/patientAnalysis/person/indicators'), name: 'paPersonIndicators', meta: { title: '指标控制' }},
  945. // ]
  946. // },
  947. // /////////////////////////////////////线在end
  948. {
  949. path: '/role',
  950. component: Layout,
  951. redirect: '/role/admin/manage',
  952. name: 'role',
  953. alwaysShow: true,
  954. meta: { title: 'permissionManage', icon: 'role' },
  955. children: [
  956. { path: '/role/admin/manage', component: () => import('@/xt_pages/role/admin'), name: 'adminManage', meta: { title: 'adminManage' }},
  957. { path: '/role/manage', component: () => import('@/xt_pages/role/role'), name: 'roleManage', meta: { title: 'roleManage' }},
  958. { path: '/role/admin/create', component: () => import('@/xt_pages/role/CreateAdmin'), name: 'addAdmin', meta: { title: 'addAdmin', noCache: true }, hidden: true, is_menu: false },
  959. { path: '/role/admin/edit', component: () => import('@/xt_pages/role/EditAdmin'), name: 'editAdmin', meta: { title: 'editAdmin', noCache: true }, hidden: true, is_menu: false },
  960. { path: '/role/perview', component: () => import('@/xt_pages/role/EditPerview'), name: 'setupPerview', meta: { title: 'setupPerview', noCache: true }, hidden: true, is_menu: false },
  961. { path: '/role/admin/specialpermission', component: () => import('@/xt_pages/role/special_permission'), name: 'special_permission_manage', meta: { title: 'special_permission_manage' }}
  962. ]
  963. }
  964. ]