血透系统PC前端

index.js 39KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963
  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: '/patients',
  124. component: Layout,
  125. redirect: 'noredirect',
  126. name: 'User',
  127. meta: {
  128. title: 'user',
  129. icon: 'bingren'
  130. },
  131. children: [
  132. {
  133. path: '/patients/patients',
  134. component: () => import('@/xt_pages/user/patients'),
  135. name: 'Patient',
  136. meta: { title: 'patient', noCache: true }
  137. },
  138. {
  139. path: '/patients/create',
  140. component: () => import('@/xt_pages/user/createPatient'),
  141. name: 'createPatient',
  142. meta: { title: 'createPatient', noCache: true }
  143. },
  144. {
  145. path: '/patients/patient/:id',
  146. component: () => import('@/xt_pages/user/patientInfo'),
  147. hidden: true,
  148. is_menu: false,
  149. name: 'patient Page',
  150. meta: { title: 'patientPage', noCache: true }
  151. },
  152. {
  153. path: '/patients/patient/:id/edit',
  154. component: () => import('@/xt_pages/user/editPatient'),
  155. hidden: true,
  156. is_menu: false,
  157. name: 'Edit Patient',
  158. meta: { title: 'editPatient', noCache: true }
  159. },
  160. {
  161. path: '/patients/patient/:id/dialysisSolution',
  162. component: () => import('@/xt_pages/user/dialysisSolution'),
  163. hidden: true,
  164. is_menu: false,
  165. name: 'dialysisSolution',
  166. meta: { title: 'dialysisSolution', noCache: true }
  167. },
  168. {
  169. path: '/patients/patient/:id/weight',
  170. component: () => import('@/xt_pages/user/weight'),
  171. hidden: true,
  172. is_menu: false,
  173. name: 'weight',
  174. meta: { title: 'weight', noCache: true }
  175. },
  176. {
  177. path: '/patients/patient/:id/dialysisRecord',
  178. component: () => import('@/xt_pages/user/dialysisRecord'),
  179. hidden: true,
  180. is_menu: false,
  181. name: 'dialysisRecord',
  182. meta: { title: 'dialysisRecord', noCache: true }
  183. },
  184. {
  185. path: '/patients/patient/:id/scheduling',
  186. component: () => import('@/xt_pages/user/scheduling'),
  187. hidden: true,
  188. is_menu: false,
  189. name: 'scheduling',
  190. meta: { title: 'scheduling', noCache: true }
  191. },
  192. {
  193. path: '/patients/patient/:id/doctorAdvice',
  194. component: () => import('@/xt_pages/user/doctorAdvice'),
  195. hidden: true,
  196. is_menu: false,
  197. name: 'doctorAdvice',
  198. meta: { title: 'doctorAdvice', noCache: true }
  199. },
  200. {
  201. path: '/patients/inspection',
  202. component: () => import('@/xt_pages/user/inspection'),
  203. hidden: true,
  204. is_menu: false,
  205. name: 'Inspection',
  206. meta: { title: 'inspection', noCache: true }
  207. },
  208. {
  209. path: '/patients/course',
  210. component: () => import('@/xt_pages/user/courseOfDisease'),
  211. hidden: true,
  212. is_menu: false,
  213. name: 'CourseOfDiseaseManage',
  214. meta: { title: 'CourseOfDiseaseManage', noCache: true }
  215. },
  216. {
  217. path: '/patients/rescue',
  218. component: () => import('@/xt_pages/user/rescueRecord'),
  219. hidden: true,
  220. is_menu: false,
  221. name: 'RescueRecord',
  222. meta: { title: 'RescueRecord', noCache: true }
  223. },
  224. {
  225. path: '/patients/patient/:id/proeducation',
  226. component: () => import('@/xt_pages/user/proeducation'),
  227. hidden: true,
  228. is_menu: false,
  229. name: 'proeducation',
  230. meta: { title: 'proeducation', noCache: true }
  231. }
  232. ]
  233. },
  234. {
  235. path: '/workforce',
  236. component: Layout,
  237. redirect: 'noredirect',
  238. name: 'workforce',
  239. meta: {
  240. title: 'workforce',
  241. icon: 'paiban'
  242. },
  243. children: [
  244. {
  245. path: '/workforce/appointment',
  246. component: () => import('@/xt_pages/workforce/appointment'),
  247. name: 'appointment',
  248. meta: { title: 'appointment', noCache: true }
  249. },
  250. {
  251. path: '/workforce/sign',
  252. component: () => import('@/xt_pages/workforce/sign'),
  253. hidden: true,
  254. is_menu: false,
  255. name: 'workforcesign',
  256. meta: { title: 'sign', noCache: true }
  257. },
  258. {
  259. path: '/workforce/remind',
  260. component: () => import('@/xt_pages/workforce/remind'),
  261. name: 'remind',
  262. meta: { title: 'remind', noCache: true }
  263. },
  264. {
  265. path: '/workforce/template',
  266. component: () => import('@/xt_pages/workforce/template'),
  267. name: 'workforce_template',
  268. hidden: true,
  269. is_menu: false,
  270. meta: { title: 'workforce_template', noCache: true }
  271. },
  272. {
  273. path: '/workforce/schedule/print',
  274. component: () => import('@/xt_pages/workforce/schedule_print'),
  275. name: 'schedule_print',
  276. hidden: true,
  277. is_menu: false,
  278. meta: { title: 'schedule_print', noCache: true }
  279. }
  280. ]
  281. },
  282. {
  283. path: '/sign',
  284. component: Layout,
  285. redirct: '/sign/index',
  286. children: [{
  287. path: '/sign',
  288. component: () => import('@/xt_pages/sign/index'),
  289. name: 'sign',
  290. meta: { title: 'signWeight', icon: 'sign', noCache: true }
  291. }]
  292. },
  293. {
  294. path: '/dialysis/',
  295. component: Layout,
  296. redirect: 'noredirect',
  297. name: 'dialysis',
  298. meta: {
  299. title: 'dialysis',
  300. icon: 'touxi'
  301. },
  302. children: [
  303. { path: '/dialysis/dialysisrecord', component: () => import('@/xt_pages/dialysis/schedualPatient'), name: '透析记录', meta: { title: '透析记录' }},
  304. {
  305. path: '/dialysis/record/:id',
  306. component: () => import('@/xt_pages/dialysis/dialysisPage'),
  307. hidden: true,
  308. is_menu: false,
  309. name: 'paper',
  310. meta: { title: 'paper', noCache: true }
  311. },
  312. {
  313. path: '/dialysis/print',
  314. component: () => import('@/xt_pages/dialysis/dialysisPrintOrder'),
  315. hidden: true,
  316. is_menu: false,
  317. name: 'dialysisPrintOrder',
  318. meta: { title: 'dialysisPrintOrder', noCache: true }
  319. },
  320. // { path: 'advice', component: () => import('@/xt_pages/dialysis/doctorAdvice'), name: 'advice', meta: { title: 'advice' }},
  321. // { path: 'prepare', component: () => import('@/xt_pages/dialysis/dialysisPrepare'), name: 'prepare', meta: { title: 'prepare' }},
  322. { path: '/dialysis/watch', component: () => import('@/xt_pages/dialysis/bloodPresssWatch'), name: 'watch', meta: { title: 'watch' }},
  323. { path: '/dialysis/details', component: () => import('@/xt_pages/dialysis/details'), name: 'details', meta: { title: 'details' }, hidden: true, is_menu: false },
  324. {
  325. path: '/dialysis/print/batch',
  326. component: () => import('@/xt_pages/dialysis/batch_print/batch_print_order'),
  327. hidden: true,
  328. is_menu: false,
  329. name: 'dialysis_batch_print',
  330. meta: { title: '批量打印', noCache: true }
  331. },
  332. { path: '/dialysis/board', component: () => import('@/xt_pages/dialysis/bulletinBoard'), name: '数据看板', meta: { title: '数据看板' }}
  333. ]
  334. },
  335. {
  336. path: '/stock/',
  337. component: Layout,
  338. redirect: 'noredirect',
  339. name: 'stockManage',
  340. meta: { title: 'stockManage', icon: 'stock' },
  341. children: [
  342. {
  343. path: '/stock/config',
  344. component: () => import('@/xt_pages/stock/index'),
  345. name: 'config',
  346. meta: { title: 'config' }
  347. },
  348. {
  349. path: '/stock/in',
  350. component: () => import('@/xt_pages/stock/stockInOrder'),
  351. name: 'stockInOrder',
  352. meta: { title: 'stockInOrder', noCache: true }
  353. }, {
  354. path: '/stock/in/other',
  355. component: () => import('@/xt_pages/stock/otherStockInOrder'),
  356. name: 'otherStockInOrder',
  357. meta: { title: 'otherStockInOrder', noCache: true }
  358. }, {
  359. path: '/stock/return',
  360. component: () => import('@/xt_pages/stock/salesReturnOrder'),
  361. name: 'salesReturnOrder',
  362. meta: { title: 'salesReturnOrder', noCache: true }
  363. }, {
  364. path: '/stock/return/other',
  365. component: () => import('@/xt_pages/stock/otherSalesReturnOrder'),
  366. name: 'otherSalesReturnOrder',
  367. meta: { title: 'otherSalesReturnOrder', noCache: true }
  368. },
  369. {
  370. path: '/stock/out',
  371. component: () => import('@/xt_pages/stock/stockOutOrder'),
  372. name: 'stockOutOrder',
  373. meta: { title: 'stockOutOrder', noCache: true }
  374. }, {
  375. path: '/stock/out/other',
  376. component: () => import('@/xt_pages/stock/otherStockOutOrder'),
  377. name: 'otherStockOutOrder',
  378. meta: { title: 'otherStockOutOrder', noCache: true }
  379. }, {
  380. path: '/stock/cancel',
  381. component: () => import('@/xt_pages/stock/cancelStockOrder'),
  382. name: 'cancelStockOrder',
  383. meta: { title: 'cancelStockOrder', noCache: true }
  384. }, {
  385. path: '/stock/cancel/other',
  386. component: () => import('@/xt_pages/stock/otherCancelStockOrder'),
  387. name: 'otherCancelStockOrder',
  388. meta: { title: 'otherCancelStockOrder', noCache: true }
  389. }, {
  390. path: '/stock/query',
  391. component: () => import('@/xt_pages/stock/stockQuery'),
  392. name: 'stockQuery',
  393. meta: { title: 'stockQuery' }
  394. }, {
  395. path: '/stock/detail',
  396. component: () => import('@/xt_pages/stock/stockDetailIndex'),
  397. name: 'stockDetail',
  398. meta: { title: 'stockDetail' }
  399. },
  400. {
  401. path: '/stock/in/add',
  402. component: () => import('@/xt_pages/stock/stockInOrderAdd'),
  403. name: 'stockInOrderAdd',
  404. hidden: true,
  405. is_menu: false,
  406. meta: { title: 'stockInOrderAdd' }
  407. }, {
  408. path: '/stock/in/detail',
  409. component: () => import('@/xt_pages/stock/stockInDetail'),
  410. name: 'stockInDetail',
  411. hidden: true,
  412. is_menu: false,
  413. meta: { title: 'stockInDetail' }
  414. }, {
  415. path: '/stock/return/detail',
  416. component: () => import('@/xt_pages/stock/salesReturnDetail'),
  417. name: 'salesReturnDetail',
  418. hidden: true,
  419. is_menu: false,
  420. meta: { title: 'salesReturnDetail' }
  421. }, {
  422. path: '/stock/return/add',
  423. component: () => import('@/xt_pages/stock/salesReturnOrderAdd'),
  424. name: 'salesReturnOrderAdd',
  425. hidden: true,
  426. is_menu: false,
  427. meta: { title: 'salesReturnOrderAdd' }
  428. }, {
  429. path: '/stock/out/add',
  430. component: () => import('@/xt_pages/stock/stockOutOrderAdd'),
  431. name: 'stockOutOrderAdd',
  432. hidden: true,
  433. is_menu: false,
  434. meta: { title: 'stockOutOrderAdd' }
  435. }, {
  436. path: '/stock/out/detail',
  437. component: () => import('@/xt_pages/stock/stockOutDetail'),
  438. name: 'stockOutDetail',
  439. hidden: true,
  440. is_menu: false,
  441. meta: { title: 'stockOutDetail' }
  442. }, {
  443. path: '/stock/cancel/add',
  444. component: () => import('@/xt_pages/stock/cancelStockOrderAdd'),
  445. name: 'cancelStockOrderAdd',
  446. hidden: true,
  447. is_menu: false,
  448. meta: { title: 'cancelStockOrderAdd' }
  449. }, {
  450. path: '/stock/cancel/detail',
  451. component: () => import('@/xt_pages/stock/cancelStockDetail'),
  452. name: 'cancelStockDetail',
  453. hidden: true,
  454. is_menu: false,
  455. meta: { title: 'cancelStockDetail' }
  456. }
  457. ]
  458. },
  459. {
  460. path: '/qcd',
  461. component: Layout,
  462. redirect: '/qcd/dialysistotal',
  463. name: 'qcd',
  464. alwaysShow: true,
  465. meta: { title: '科室质控', icon: 'statistics' },
  466. children: [
  467. { path: '/statistics/index', component: () => import('@/xt_pages/statistics/index'), name: 'statistics', meta: { title: 'statistics' }},
  468. { path: '/qcd/dialysistotal', component: () => import('@/xt_pages/qcd/dialysisTotal'), name: 'dialysistotal', meta: { title: '透析总量' }},
  469. { path: '/qcd/processindicators', component: () => import('@/xt_pages/qcd/processIndicators'), name: 'processIndicators', meta: { title: '过程指标' }},
  470. { path: '/qcd/outcomeIndicators/control', component: () => import('@/xt_pages/qcd/outcomeIndicators/control'), name: 'outcomeIndicatorsControl', meta: { title: '结果指标' }},
  471. { path: '/qcd/outcomeIndicators/query', hidden: true, is_menu: false, component: () => import('@/xt_pages/qcd/outcomeIndicators/query'), name: 'outcomeIndicatorsQuery', meta: { title: '指标查询' }},
  472. { path: '/qcd/patientanalysis/total', component: () => import('@/xt_pages/qcd/patientAnalysis/total'), name: 'patientAnalysisTotal', meta: { title: '患者分析' }},
  473. { path: '/qcd/patientanalysis/weight', hidden: true, is_menu: false, component: () => import('@/xt_pages/qcd/patientAnalysis/weight'), name: 'patientAnalysisWeight', meta: { title: '体重分析' }},
  474. { path: '/qcd/patientanalysis/bloodpressure', hidden: true, is_menu: false, component: () => import('@/xt_pages/qcd/patientAnalysis/bloodPressure'), name: 'patientAnalysisBloodPressure', meta: { title: '血压分析' }},
  475. { path: '/qcd/patientanalysis/dialysisage', hidden: true, is_menu: false, component: () => import('@/xt_pages/qcd/patientAnalysis/dialysisAge'), name: 'patientAnalysisDialysisAge', meta: { title: '透析龄分析' }},
  476. { path: '/qcd/patientanalysis/lapseto', hidden: true, is_menu: false, component: () => import('@/xt_pages/qcd/patientAnalysis/lapseto'), name: 'patientAnalysisLapseto', meta: { title: '转归分析' }},
  477. { path: '/qcd/patientanalysis/complication', hidden: true, is_menu: false, component: () => import('@/xt_pages/qcd/patientAnalysis/complication'), name: 'patientAnalysisComplication', meta: { title: '并发症分析' }},
  478. { path: '/qcd/patientanalysis/infectiousdiseases', hidden: true, is_menu: false, component: () => import('@/xt_pages/qcd/patientAnalysis/infectiousDiseases'), name: 'patientAnalysisInfectiousDiseases', meta: { title: '传染病分析' }},
  479. { path: '/qcd/pa/person/lapseto', hidden: true, is_menu: false, component: () => import('@/xt_pages/qcd/patientAnalysis/person/lapseto'), name: 'paPersonLapseto', meta: { title: '转归' }},
  480. { path: '/qcd/pa/person/weight', hidden: true, is_menu: false, component: () => import('@/xt_pages/qcd/patientAnalysis/person/weight'), name: 'paPersonWeight', meta: { title: '体重' }},
  481. { path: '/qcd/pa/person/bloodpressure', hidden: true, is_menu: false, component: () => import('@/xt_pages/qcd/patientAnalysis/person/bloodPressure'), name: 'paPersonBloodPressure', meta: { title: '血压' }},
  482. { path: '/qcd/pa/person/indicators', hidden: true, is_menu: false, component: () => import('@/xt_pages/qcd/patientAnalysis/person/indicators'), name: 'paPersonIndicators', meta: { title: '指标控制' }},
  483. { path: '/qcd/pa/person/oralmedicine', hidden: true, is_menu: false, component: () => import('@/xt_pages/qcd/patientAnalysis/person/oralMedicine'), name: 'paPersonOralMedicine', meta: { title: '口服药' }}
  484. ]
  485. },
  486. {
  487. path: '/data/',
  488. component: Layout,
  489. redirect: 'noredirect',
  490. name: 'data',
  491. meta: { title: 'data_dictionary', icon: 'excel' },
  492. children: [
  493. { path: '/data/dictionary', component: () => import('@/xt_pages/data/index'), name: 'dictionary', meta: { title: 'field_config' }},
  494. { path: '/data/template', component: () => import('@/xt_pages/data/template'), name: 'template', meta: { title: 'template' }},
  495. { path: '/data/druguse', component: () => import('@/xt_pages/data/druguseTemplate'), name: 'druguse', meta: { title: 'druguse' }}
  496. ]
  497. },
  498. {
  499. path: '/device',
  500. component: Layout,
  501. redirect: '/device/main',
  502. name: 'device',
  503. alwaysShow: true,
  504. meta: { title: 'deviceManage', icon: 'shebei' },
  505. children: [
  506. { path: '/device/zones', component: () => import('@/xt_pages/device/zone_main'), name: 'deviceZoneManage', meta: { title: 'deviceZoneManage' }},
  507. { path: '/device/groups', component: () => import('@/xt_pages/device/group_main'), name: 'deviceGroupManage', meta: { title: 'deviceGroupManage' }},
  508. { path: '/device/numbers', component: () => import('@/xt_pages/device/number_main'), name: 'deviceNumberManage', meta: { title: 'deviceNumberManage' }},
  509. { path: '/device/main', component: () => import('@/xt_pages/device/main'), name: 'dialysisMachineManage', meta: { title: 'dialysisMachineManage' }}
  510. ]
  511. },
  512. {
  513. path: '/role',
  514. component: Layout,
  515. redirect: '/role/admin/manage',
  516. name: 'role',
  517. alwaysShow: true,
  518. meta: { title: 'permissionManage', icon: 'role' },
  519. children: [
  520. { path: '/role/admin/manage', component: () => import('@/xt_pages/role/admin'), name: 'adminManage', meta: { title: 'adminManage' }},
  521. { path: '/role/manage', component: () => import('@/xt_pages/role/role'), name: 'roleManage', meta: { title: 'roleManage' }},
  522. { path: '/role/admin/create', component: () => import('@/xt_pages/role/CreateAdmin'), name: 'addAdmin', meta: { title: 'addAdmin', noCache: true }, hidden: true, is_menu: false },
  523. { path: '/role/admin/edit', component: () => import('@/xt_pages/role/EditAdmin'), name: 'editAdmin', meta: { title: 'editAdmin', noCache: true }, hidden: true, is_menu: false },
  524. { path: '/role/perview', component: () => import('@/xt_pages/role/EditPerview'), name: 'setupPerview', meta: { title: 'setupPerview', noCache: true }, hidden: true, is_menu: false },
  525. { path: '/role/admin/specialpermission', component: () => import('@/xt_pages/role/special_permission'), name: 'special_permission_manage', meta: { title: 'special_permission_manage' }}
  526. ]
  527. }, {
  528. path: '/fullscreenboard',
  529. component: () => import('@/xt_pages/fullscreenboard/index'),
  530. hidden: true
  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: 'workforcesign',
  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. redirct: '/sign/index',
  707. children: [{
  708. path: '/sign',
  709. component: () => import('@/xt_pages/sign/index'),
  710. name: 'sign',
  711. meta: { title: 'signWeight', icon: 'sign', noCache: true }
  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: '批量打印', noCache: true }
  753. },
  754. { path: '/dialysis/board', component: () => import('@/xt_pages/dialysis/bulletinBoard'), name: '数据看板', meta: { title: '数据看板' }},
  755. ]
  756. },
  757. {
  758. path: '/stock/',
  759. component: Layout,
  760. redirect: 'noredirect',
  761. name: 'stockManage',
  762. meta: { title: 'stockManage', icon: 'stock' },
  763. children: [
  764. {
  765. path: '/stock/config',
  766. component: () => import('@/xt_pages/stock/index'),
  767. name: 'config',
  768. meta: { title: 'config' }
  769. },
  770. {
  771. path: '/stock/in',
  772. component: () => import('@/xt_pages/stock/stockInOrder'),
  773. name: 'stockInOrder',
  774. meta: { title: 'stockInOrder', noCache: true }
  775. }, {
  776. path: '/stock/return',
  777. component: () => import('@/xt_pages/stock/salesReturnOrder'),
  778. name: 'salesReturnOrder',
  779. meta: { title: 'salesReturnOrder', noCache: true }
  780. },
  781. {
  782. path: '/stock/out',
  783. component: () => import('@/xt_pages/stock/stockOutOrder'),
  784. name: 'stockOutOrder',
  785. meta: { title: 'stockOutOrder', noCache: true }
  786. }, {
  787. path: '/stock/cancel',
  788. component: () => import('@/xt_pages/stock/cancelStockOrder'),
  789. name: 'cancelStockOrder',
  790. meta: { title: 'cancelStockOrder', noCache: true }
  791. }, {
  792. path: '/stock/in/other',
  793. component: () => import('@/xt_pages/stock/otherStockInOrder'),
  794. name: 'otherStockInOrder',
  795. meta: { title: 'otherStockInOrder', noCache: true }
  796. }, {
  797. path: '/stock/return/other',
  798. component: () => import('@/xt_pages/stock/otherSalesReturnOrder'),
  799. name: 'otherSalesReturnOrder',
  800. meta: { title: 'otherSalesReturnOrder', noCache: true }
  801. },{
  802. path: '/stock/out/other',
  803. component: () => import('@/xt_pages/stock/otherStockOutOrder'),
  804. name: 'otherStockOutOrder',
  805. meta: { title: 'otherStockOutOrder', noCache: true }
  806. }, {
  807. path: '/stock/cancel/other',
  808. component: () => import('@/xt_pages/stock/otherCancelStockOrder'),
  809. name: 'otherCancelStockOrder',
  810. meta: { title: 'otherCancelStockOrder', noCache: true }
  811. }, {
  812. path: '/stock/query',
  813. component: () => import('@/xt_pages/stock/stockQuery'),
  814. name: 'stockQuery',
  815. meta: { title: 'stockQuery' }
  816. }, {
  817. path: '/stock/detail',
  818. component: () => import('@/xt_pages/stock/stockDetailIndex'),
  819. name: 'stockDetail',
  820. meta: { title: 'stockDetail' }
  821. },{
  822. path: '/stock/in/add',
  823. component: () => import('@/xt_pages/stock/stockInOrderAdd'),
  824. name: 'stockInOrderAdd',
  825. hidden: true,
  826. is_menu: false,
  827. meta: { title: 'stockInOrderAdd' }
  828. }, {
  829. path: '/stock/in/detail',
  830. component: () => import('@/xt_pages/stock/stockInDetail'),
  831. name: 'stockInDetail',
  832. hidden: true,
  833. is_menu: false,
  834. meta: { title: 'stockInDetail' }
  835. }, {
  836. path: '/stock/return/detail',
  837. component: () => import('@/xt_pages/stock/salesReturnDetail'),
  838. name: 'salesReturnDetail',
  839. hidden: true,
  840. is_menu: false,
  841. meta: { title: 'salesReturnDetail' }
  842. }, {
  843. path: '/stock/return/add',
  844. component: () => import('@/xt_pages/stock/salesReturnOrderAdd'),
  845. name: 'salesReturnOrderAdd',
  846. hidden: true,
  847. is_menu: false,
  848. meta: { title: 'salesReturnOrderAdd' }
  849. }, {
  850. path: '/stock/out/add',
  851. component: () => import('@/xt_pages/stock/stockOutOrderAdd'),
  852. name: 'stockOutOrderAdd',
  853. hidden: true,
  854. is_menu: false,
  855. meta: { title: 'stockOutOrderAdd', noCache: true }
  856. }, {
  857. path: '/stock/out/detail',
  858. component: () => import('@/xt_pages/stock/stockOutDetail'),
  859. name: 'stockOutDetail',
  860. hidden: true,
  861. is_menu: false,
  862. meta: { title: 'stockOutDetail', noCache: true }
  863. }, {
  864. path: '/stock/cancel/add',
  865. component: () => import('@/xt_pages/stock/cancelStockOrderAdd'),
  866. name: 'cancelStockOrderAdd',
  867. hidden: true,
  868. is_menu: false,
  869. meta: { title: 'cancelStockOrderAdd', noCache: true }
  870. }, {
  871. path: '/stock/cancel/detail',
  872. component: () => import('@/xt_pages/stock/cancelStockDetail'),
  873. name: 'cancelStockDetail',
  874. hidden: true,
  875. is_menu: false,
  876. meta: { title: 'cancelStockDetail', noCache: true }
  877. }
  878. ]
  879. },
  880. {
  881. path: '/qcd',
  882. component: Layout,
  883. redirect: '/qcd/dialysistotal',
  884. name: 'qcd',
  885. alwaysShow: true,
  886. meta: { title: '科室质控', icon: 'table' },
  887. children: [
  888. { path: '/statistics/index', component: () => import('@/xt_pages/statistics/index'), name: 'statistics', meta: { title: 'statistics' }},
  889. { path: '/qcd/dialysistotal', component: () => import('@/xt_pages/qcd/dialysisTotal'), name: 'dialysistotal', meta: { title: '透析总量' }},
  890. { path: '/qcd/processindicators', component: () => import('@/xt_pages/qcd/processIndicators'), name: 'processIndicators', meta: { title: '过程指标' }},
  891. { path: '/qcd/outcomeIndicators/control', component: () => import('@/xt_pages/qcd/outcomeIndicators/control'), name: 'outcomeIndicatorsControl', meta: { title: '结果指标' }},
  892. { path: '/qcd/outcomeIndicators/query', hidden: true, is_menu: false, component: () => import('@/xt_pages/qcd/outcomeIndicators/query'), name: 'outcomeIndicatorsQuery', meta: { title: '指标查询' }},
  893. { path: '/qcd/patientanalysis/total', component: () => import('@/xt_pages/qcd/patientAnalysis/total'), name: 'patientAnalysisTotal', meta: { title: '患者分析' }},
  894. { path: '/qcd/patientanalysis/weight',hidden: true, is_menu: false, component: () => import('@/xt_pages/qcd/patientAnalysis/weight'), name: 'patientAnalysisWeight', meta: { title: '体重分析' }},
  895. { path: '/qcd/patientanalysis/bloodpressure', hidden: true, is_menu: false, component: () => import('@/xt_pages/qcd/patientAnalysis/bloodPressure'), name: 'patientAnalysisBloodPressure', meta: { title: '血压分析' }},
  896. { path: '/qcd/patientanalysis/dialysisage', hidden: true, is_menu: false, component: () => import('@/xt_pages/qcd/patientAnalysis/dialysisAge'), name: 'patientAnalysisDialysisAge', meta: { title: '透析龄分析' }},
  897. { path: '/qcd/patientanalysis/lapseto', hidden: true, is_menu: false, component: () => import('@/xt_pages/qcd/patientAnalysis/lapseto'), name: 'patientAnalysisLapseto', meta: { title: '转归分析' }},
  898. { path: '/qcd/patientanalysis/complication', hidden: true, is_menu: false, component: () => import('@/xt_pages/qcd/patientAnalysis/complication'), name: 'patientAnalysisComplication', meta: { title: '并发症分析' }},
  899. { path: '/qcd/patientanalysis/infectiousdiseases', hidden: true, is_menu: false, component: () => import('@/xt_pages/qcd/patientAnalysis/infectiousDiseases'), name: 'patientAnalysisInfectiousDiseases', meta: { title: '传染病分析' }},
  900. { path: '/qcd/pa/person/lapseto', hidden: true, is_menu: false, component: () => import('@/xt_pages/qcd/patientAnalysis/person/lapseto'), name: 'paPersonLapseto', meta: { title: '转归' }},
  901. { path: '/qcd/pa/person/weight', hidden: true, is_menu: false, component: () => import('@/xt_pages/qcd/patientAnalysis/person/weight'), name: 'paPersonWeight', meta: { title: '体重' }},
  902. { path: '/qcd/pa/person/bloodpressure', hidden: true, is_menu: false, component: () => import('@/xt_pages/qcd/patientAnalysis/person/bloodPressure'), name: 'paPersonBloodPressure', meta: { title: '血压' }},
  903. { path: '/qcd/pa/person/indicators', hidden: true, is_menu: false, component: () => import('@/xt_pages/qcd/patientAnalysis/person/indicators'), name: 'paPersonIndicators', meta: { title: '指标控制' }},
  904. { path: '/qcd/pa/person/oralmedicine', hidden: true, is_menu: false, component: () => import('@/xt_pages/qcd/patientAnalysis/person/oralMedicine'), name: 'paPersonOralMedicine', meta: { title: '口服药' }},
  905. ]
  906. },
  907. {
  908. path: '/data/',
  909. component: Layout,
  910. redirect: 'noredirect',
  911. name: 'data',
  912. meta: { title: 'data_dictionary', icon: 'excel' },
  913. children: [
  914. { path: '/data/dictionary', component: () => import('@/xt_pages/data/index'), name: 'dictionary', meta: { title: 'field_config' }},
  915. { path: '/data/template', component: () => import('@/xt_pages/data/template'), name: 'template', meta: { title: 'template' }},
  916. { path: '/data/druguse', component: () => import('@/xt_pages/data/druguseTemplate'), name: 'druguse', meta: { title: 'druguse' }}
  917. ]
  918. },
  919. {
  920. path: '/device',
  921. component: Layout,
  922. redirect: '/device/main',
  923. name: 'device',
  924. alwaysShow: true,
  925. meta: { title: 'deviceManage', icon: 'shebei' },
  926. children: [
  927. { path: '/device/zones', component: () => import('@/xt_pages/device/zone_main'), name: 'deviceZoneManage', meta: { title: 'deviceZoneManage' }},
  928. { path: '/device/groups', component: () => import('@/xt_pages/device/group_main'), name: 'deviceGroupManage', meta: { title: 'deviceGroupManage' }},
  929. { path: '/device/numbers', component: () => import('@/xt_pages/device/number_main'), name: 'deviceNumberManage', meta: { title: 'deviceNumberManage' }},
  930. { path: '/device/main', component: () => import('@/xt_pages/device/main'), name: 'dialysisMachineManage', meta: { title: 'dialysisMachineManage' }}
  931. ]
  932. },
  933. // /////////////////////////////////////线在end
  934. {
  935. path: '/role',
  936. component: Layout,
  937. redirect: '/role/admin/manage',
  938. name: 'role',
  939. alwaysShow: true,
  940. meta: { title: 'permissionManage', icon: 'role' },
  941. children: [
  942. { path: '/role/admin/manage', component: () => import('@/xt_pages/role/admin'), name: 'adminManage', meta: { title: 'adminManage' }},
  943. { path: '/role/manage', component: () => import('@/xt_pages/role/role'), name: 'roleManage', meta: { title: 'roleManage' }},
  944. { path: '/role/admin/create', component: () => import('@/xt_pages/role/CreateAdmin'), name: 'addAdmin', meta: { title: 'addAdmin', noCache: true }, hidden: true, is_menu: false },
  945. { path: '/role/admin/edit', component: () => import('@/xt_pages/role/EditAdmin'), name: 'editAdmin', meta: { title: 'editAdmin', noCache: true }, hidden: true, is_menu: false },
  946. { path: '/role/perview', component: () => import('@/xt_pages/role/EditPerview'), name: 'setupPerview', meta: { title: 'setupPerview', noCache: true }, hidden: true, is_menu: false },
  947. { path: '/role/admin/specialpermission', component: () => import('@/xt_pages/role/special_permission'), name: 'special_permission_manage', meta: { title: 'special_permission_manage' }}
  948. ]
  949. }
  950. ]