血透系统PC前端

index.js 29KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854
  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. // path: 'statistics',
  122. // component: Layout,
  123. // redirect: '/statistics/index',
  124. // children: [{
  125. // path: '/statistics',
  126. // component: () => import('@/xt_pages/statistics/index'),
  127. // name: 'statistics',
  128. // meta: { title: 'statistics', icon: 'chart', noCache: true }
  129. // }]
  130. // },
  131. // {
  132. // path: '/sign',
  133. // component: Layout,
  134. // redirect: '/sign/index',
  135. // name: 'sign',
  136. // alwaysShow: true,
  137. // meta: { title: 'signWeight', icon: 'table' },
  138. // children: [
  139. // { path: '/sign/index', component: () => import('@/xt_pages/sign/index'), name: 'signWeight', meta: { title: 'signWeight' }}
  140. // ]
  141. // },
  142. // {
  143. // path: '/patients',
  144. // component: Layout,
  145. // redirect: 'noredirect',
  146. // name: 'User',
  147. // meta: {
  148. // title: 'user',
  149. // icon: 'bingren'
  150. // },
  151. // children: [
  152. // {
  153. // path: '/patients/patients',
  154. // component: () => import('@/xt_pages/user/patients'),
  155. // name: 'Patient',
  156. // meta: { title: 'patient', noCache: true }
  157. // },
  158. // {
  159. // path: '/patients/create',
  160. // component: () => import('@/xt_pages/user/createPatient'),
  161. // name: 'createPatient',
  162. // meta: { title: 'createPatient', noCache: true }
  163. // },
  164. // {
  165. // path: '/patients/patient/:id',
  166. // component: () => import('@/xt_pages/user/patientInfo'),
  167. // hidden: true,
  168. // is_menu: false,
  169. // name: 'patient Page',
  170. // meta: { title: 'patientPage', noCache: true }
  171. // },
  172. // {
  173. // path: '/patients/patient/:id/edit',
  174. // component: () => import('@/xt_pages/user/editPatient'),
  175. // hidden: true,
  176. // is_menu: false,
  177. // name: 'Edit Patient',
  178. // meta: { title: 'editPatient', noCache: true }
  179. // },
  180. // {
  181. // path: '/patients/patient/:id/dialysisSolution',
  182. // component: () => import('@/xt_pages/user/dialysisSolution'),
  183. // hidden: true,
  184. // is_menu: false,
  185. // name: 'dialysisSolution',
  186. // meta: { title: 'dialysisSolution', noCache: true }
  187. // },
  188. // {
  189. // path: '/patients/patient/:id/weight',
  190. // component: () => import('@/xt_pages/user/weight'),
  191. // hidden: true,
  192. // is_menu: false,
  193. // name: 'weight',
  194. // meta: { title: 'weight', noCache: true }
  195. // },
  196. // {
  197. // path: '/patients/patient/:id/dialysisRecord',
  198. // component: () => import('@/xt_pages/user/dialysisRecord'),
  199. // hidden: true,
  200. // is_menu: false,
  201. // name: 'dialysisRecord',
  202. // meta: { title: 'dialysisRecord', noCache: true }
  203. // },
  204. // {
  205. // path: '/patients/patient/:id/scheduling',
  206. // component: () => import('@/xt_pages/user/scheduling'),
  207. // hidden: true,
  208. // is_menu: false,
  209. // name: 'scheduling',
  210. // meta: { title: 'scheduling', noCache: true }
  211. // },
  212. // {
  213. // path: '/patients/patient/:id/doctorAdvice',
  214. // component: () => import('@/xt_pages/user/doctorAdvice'),
  215. // hidden: true,
  216. // is_menu: false,
  217. // name: 'doctorAdvice',
  218. // meta: { title: 'doctorAdvice', noCache: true }
  219. // },
  220. // {
  221. // path: '/patients/inspection',
  222. // component: () => import('@/xt_pages/user/inspection'),
  223. // hidden: true,
  224. // is_menu: false,
  225. // name: 'Inspection',
  226. // meta: { title: 'inspection', noCache: true }
  227. // },
  228. // {
  229. // path: '/patients/course',
  230. // component: () => import('@/xt_pages/user/courseOfDisease'),
  231. // hidden: true,
  232. // is_menu: false,
  233. // name: 'CourseOfDiseaseManage',
  234. // meta: { title: 'CourseOfDiseaseManage', noCache: true }
  235. // },
  236. // {
  237. // path: '/patients/rescue',
  238. // component: () => import('@/xt_pages/user/rescueRecord'),
  239. // hidden: true,
  240. // is_menu: false,
  241. // name: 'RescueRecord',
  242. // meta: { title: 'RescueRecord', noCache: true }
  243. // },
  244. // {
  245. // path: '/patients/patient/:id/proeducation',
  246. // component: () => import('@/xt_pages/user/proeducation'),
  247. // hidden: true,
  248. // is_menu: false,
  249. // name: 'proeducation',
  250. // meta: { title: 'proeducation', noCache: true }
  251. // }
  252. // ]
  253. // },
  254. // {
  255. // path: '/workforce',
  256. // component: Layout,
  257. // redirect: 'noredirect',
  258. // name: 'workforce',
  259. // meta: {
  260. // title: 'workforce',
  261. // icon: 'paiban'
  262. // },
  263. // children: [
  264. // {
  265. // path: '/workforce/appointment',
  266. // component: () => import('@/xt_pages/workforce/appointment'),
  267. // name: 'appointment',
  268. // meta: { title: 'appointment', noCache: true }
  269. // },
  270. // {
  271. // path: '/workforce/sign',
  272. // component: () => import('@/xt_pages/workforce/sign'),
  273. // hidden: true,
  274. // is_menu: false,
  275. // name: 'sign',
  276. // meta: { title: 'sign', noCache: true }
  277. // },
  278. // {
  279. // path: '/workforce/remind',
  280. // component: () => import('@/xt_pages/workforce/remind'),
  281. // name: 'remind',
  282. // meta: { title: 'remind', noCache: true }
  283. // },
  284. // {
  285. // path: "/workforce/template",
  286. // component: () => import("@/xt_pages/workforce/template"),
  287. // name: "workforce_template",
  288. // hidden: true,
  289. // is_menu: false,
  290. // meta: { title: 'workforce_template', noCache: true }
  291. // },
  292. // {
  293. // path: "/workforce/schedule/print",
  294. // component: () => import("@/xt_pages/workforce/schedule_print"),
  295. // name: "schedule_print",
  296. // hidden: true,
  297. // is_menu: false,
  298. // meta: { title: 'schedule_print', noCache: true }
  299. // },
  300. // ]
  301. // },
  302. // {
  303. // path: '/dialysis/',
  304. // component: Layout,
  305. // redirect: 'noredirect',
  306. // name: 'dialysis',
  307. // meta: {
  308. // title: 'dialysis',
  309. // icon: 'touxi'
  310. // },
  311. // children: [
  312. // { path: '/dialysis/dialysisrecord', component: () => import('@/xt_pages/dialysis/schedualPatient'), name: '透析记录', meta: { title: '透析记录' }},
  313. // {
  314. // path: '/dialysis/record/:id',
  315. // component: () => import('@/xt_pages/dialysis/dialysisPage'),
  316. // hidden: true,
  317. // is_menu: false,
  318. // name: 'paper',
  319. // meta: { title: 'paper', noCache: true }
  320. // },
  321. // {
  322. // path: '/dialysis/print',
  323. // component: () => import('@/xt_pages/dialysis/dialysisPrintOrder'),
  324. // hidden: true,
  325. // is_menu: false,
  326. // name: 'dialysisPrintOrder',
  327. // meta: { title: 'dialysisPrintOrder', noCache: true }
  328. // },
  329. // // { path: 'advice', component: () => import('@/xt_pages/dialysis/doctorAdvice'), name: 'advice', meta: { title: 'advice' }},
  330. // // { path: 'prepare', component: () => import('@/xt_pages/dialysis/dialysisPrepare'), name: 'prepare', meta: { title: 'prepare' }},
  331. // { path: '/dialysis/watch', component: () => import('@/xt_pages/dialysis/bloodPresssWatch'), name: 'watch', meta: { title: 'watch' }},
  332. // { path: '/dialysis/details', component: () => import('@/xt_pages/dialysis/details'), name: 'details', meta: { title: 'details' }},
  333. // {
  334. // path: '/dialysis/print/batch',
  335. // component: () => import('@/xt_pages/dialysis/batch_print/batch_print_order'),
  336. // hidden: true,
  337. // is_menu: false,
  338. // name: 'dialysis_batch_print',
  339. // meta: { title: 'dialysis_batch_print', noCache: true }
  340. // },
  341. // ]
  342. // },
  343. // {
  344. // path: '/device',
  345. // component: Layout,
  346. // redirect: '/device/main',
  347. // name: 'device',
  348. // alwaysShow: true,
  349. // meta: { title: 'deviceManage', icon: 'shebei' },
  350. // children: [
  351. // { path: '/device/zones', component: () => import('@/xt_pages/device/zone_main'), name: 'deviceZoneManage', meta: { title: 'deviceZoneManage' }},
  352. // { path: '/device/groups', component: () => import('@/xt_pages/device/group_main'), name: 'deviceGroupManage', meta: { title: 'deviceGroupManage' }},
  353. // { path: '/device/numbers', component: () => import('@/xt_pages/device/number_main'), name: 'deviceNumberManage', meta: { title: 'deviceNumberManage' }},
  354. // { path: '/device/main', component: () => import('@/xt_pages/device/main'), name: 'dialysisMachineManage', meta: { title: 'dialysisMachineManage' }}
  355. // ]
  356. // },{
  357. // path: '/stock/',
  358. // component: Layout,
  359. // redirect: 'noredirect',
  360. // name: 'stockManage',
  361. // meta: {title: 'stockManage', icon: 'excel'},
  362. // children: [
  363. // {
  364. // path: '/stock/config',
  365. // component: () => import('@/xt_pages/stock/index'),
  366. // name: 'config',
  367. // meta: {title: 'config'},
  368. // children:[
  369. // {
  370. // path: 'manufacturer',
  371. // component: () => import('@/xt_pages/stock/config/manufacturer'),
  372. // name: 'manufacturer',
  373. // meta: {title: 'manufacturer'}
  374. // },
  375. // {
  376. // path: 'dealer',
  377. // component: () => import('@/xt_pages/stock/config/dealer'),
  378. // name: 'dealer',
  379. // meta: {title: 'dealer'}
  380. // },
  381. // {
  382. // path: 'type',
  383. // component: () => import('@/xt_pages/stock/config/goodType'),
  384. // name: 'goodType',
  385. // meta: {title: 'goodType'}
  386. // },
  387. // {
  388. // path: 'info',
  389. // component: () => import('@/xt_pages/stock/config/goodInfo'),
  390. // name: 'goodInfo',
  391. // meta: {title: 'goodInfo'}
  392. // },
  393. // ]
  394. // },
  395. // {
  396. // path: '/stock/in',
  397. // component: () => import('@/xt_pages/stock/stockIn'),
  398. // name: 'stockIn',
  399. // meta: {title: 'stockIn',noCache: true }
  400. // },
  401. // {
  402. // path: '/stock/out',
  403. // component: () => import('@/xt_pages/stock/stockOut'),
  404. // name: 'stockOut',
  405. // meta: {title: 'stockOut'}
  406. // },{
  407. // path: '/stock/query',
  408. // component: () => import('@/xt_pages/stock/stockQuery'),
  409. // name: 'stockQuery',
  410. // meta: {title: 'stockQuery'}
  411. // },{
  412. // path: '/stock/in/add',
  413. // component: () => import('@/xt_pages/stock/addStockIn'),
  414. // name: 'addStockIn',
  415. // hidden: true,
  416. // is_menu: false,
  417. // meta: {title: 'addStockIn',noCache: true}
  418. // }, {
  419. // path: '/stock/out/add',
  420. // component: () => import('@/xt_pages/stock/addStockOut'),
  421. // name: 'addStockOut',
  422. // hidden: true,
  423. // is_menu: false,
  424. // meta: {title: 'addStockOut',noCache: true }
  425. // },{
  426. // path: '/stock/return',
  427. // component: () => import('@/xt_pages/stock/salesReturn'),
  428. // name: 'salesReturn',
  429. // hidden: true,
  430. // is_menu: false,
  431. // meta: {title: 'salesReturn'}
  432. // },{
  433. // path: '/stock/return/record',
  434. // component: () => import('@/xt_pages/stock/salesReutrnRecord'),
  435. // name: 'salesReutrnRecord',
  436. // hidden: true,
  437. // is_menu: false,
  438. // meta: {title: 'salesReutrnRecord'}
  439. // },{
  440. // path: '/stock/warehouse/record',
  441. // component: () => import('@/xt_pages/stock/warehouseRecord'),
  442. // name: 'warehouseRecord',
  443. // hidden: true,
  444. // is_menu: false,
  445. // meta: {title: 'warehouseRecord'}
  446. // },{
  447. // path: '/stock/cancel/',
  448. // component: () => import('@/xt_pages/stock/cancelStock'),
  449. // name: 'cancelStock',
  450. // hidden: true,
  451. // is_menu: false,
  452. // meta: {title: 'cancelStock'}
  453. // }, {
  454. // path: '/stock/cancel/record',
  455. // component: () => import('@/xt_pages/stock/cancelStockRecord'),
  456. // name: 'cancelStockRecord',
  457. // hidden: true,
  458. // is_menu: false,
  459. // meta: {title: 'cancelStockRecord'}
  460. // }, {
  461. // path: '/stock/out/record',
  462. // component: () => import('@/xt_pages/stock/stockOutRecord'),
  463. // name: 'stockOutRecord',
  464. // hidden: true,
  465. // is_menu: false,
  466. // meta: {title: 'stockOutRecord'}
  467. // },
  468. // ]
  469. // },
  470. // {
  471. // path: '/data/',
  472. // component: Layout,
  473. // redirect: 'noredirect',
  474. // name: 'data',
  475. // meta: { title: 'data_dictionary', icon: 'excel' },
  476. // children: [
  477. // { path: '/data/dictionary', component: () => import('@/xt_pages/data/index'), name: 'dictionary', meta: { title: 'field_config' }},
  478. // { path: '/data/template', component: () => import('@/xt_pages/data/template'), name: 'template', meta: { title: 'template' }},
  479. // { path: '/data/druguse', component: () => import('@/xt_pages/data/druguseTemplate'), name: 'druguse', meta: { title: 'druguse' }}
  480. // ]
  481. // }
  482. // /////////////本地要end/
  483. ]
  484. export default new Router({
  485. // mode: 'history', // require service support
  486. scrollBehavior: () => ({ y: 0 }),
  487. routes: xt_constantRouterMap
  488. })
  489. export const xt_asyncRouterMap = [
  490. // //////////////////////////////////线在开始
  491. {
  492. path: '/patients',
  493. component: Layout,
  494. redirect: 'noredirect',
  495. name: 'User',
  496. alwaysShow: true,
  497. meta: {
  498. title: 'user',
  499. icon: 'bingren'
  500. },
  501. children: [
  502. {
  503. path: '/patients/patients',
  504. component: () => import('@/xt_pages/user/patients'),
  505. name: 'Patient',
  506. meta: { title: 'patient', noCache: true }
  507. },
  508. {
  509. path: '/patients/create',
  510. component: () => import('@/xt_pages/user/createPatient'),
  511. name: 'createPatient',
  512. meta: { title: 'createPatient', noCache: true }
  513. },
  514. {
  515. path: '/patients/patient/:id',
  516. component: () => import('@/xt_pages/user/patientInfo'),
  517. hidden: true,
  518. is_menu: false,
  519. name: 'patient Page',
  520. meta: { title: 'patientPage', noCache: true }
  521. },
  522. {
  523. path: '/patients/patient/:id/edit',
  524. component: () => import('@/xt_pages/user/editPatient'),
  525. hidden: true,
  526. is_menu: false,
  527. name: 'Edit Patient',
  528. meta: { title: 'editPatient', noCache: true }
  529. },
  530. {
  531. path: '/patients/patient/:id/dialysisSolution',
  532. component: () => import('@/xt_pages/user/dialysisSolution'),
  533. hidden: true,
  534. is_menu: false,
  535. name: 'dialysisSolution',
  536. meta: { title: 'dialysisSolution', noCache: true }
  537. },
  538. {
  539. path: '/patients/patient/:id/weight',
  540. component: () => import('@/xt_pages/user/weight'),
  541. hidden: true,
  542. is_menu: false,
  543. name: 'weight',
  544. meta: { title: 'weight', noCache: true }
  545. },
  546. {
  547. path: '/patients/patient/:id/dialysisRecord',
  548. component: () => import('@/xt_pages/user/dialysisRecord'),
  549. hidden: true,
  550. is_menu: false,
  551. name: 'dialysisRecord',
  552. meta: { title: 'dialysisRecord', noCache: true }
  553. },
  554. {
  555. path: '/patients/patient/:id/scheduling',
  556. component: () => import('@/xt_pages/user/scheduling'),
  557. hidden: true,
  558. is_menu: false,
  559. name: 'scheduling',
  560. meta: { title: 'scheduling', noCache: true }
  561. },
  562. {
  563. path: '/patients/patient/:id/doctorAdvice',
  564. component: () => import('@/xt_pages/user/doctorAdvice'),
  565. hidden: true,
  566. is_menu: false,
  567. name: 'doctorAdvice',
  568. meta: { title: 'doctorAdvice', noCache: true }
  569. },
  570. {
  571. path: '/patients/inspection',
  572. component: () => import('@/xt_pages/user/inspection'),
  573. hidden: true,
  574. is_menu: false,
  575. name: 'Inspection',
  576. meta: { title: 'inspection', noCache: true }
  577. },
  578. {
  579. path: '/patients/course',
  580. component: () => import('@/xt_pages/user/courseOfDisease'),
  581. hidden: true,
  582. is_menu: false,
  583. name: 'CourseOfDiseaseManage',
  584. meta: { title: 'CourseOfDiseaseManage', noCache: true }
  585. },
  586. {
  587. path: '/patients/rescue',
  588. component: () => import('@/xt_pages/user/rescueRecord'),
  589. hidden: true,
  590. is_menu: false,
  591. name: 'RescueRecord',
  592. meta: { title: 'RescueRecord', noCache: true }
  593. },
  594. {
  595. path: '/patients/patient/:id/proeducation',
  596. component: () => import('@/xt_pages/user/proeducation'),
  597. hidden: true,
  598. is_menu: false,
  599. name: 'proeducation',
  600. meta: { title: 'proeducation', noCache: true }
  601. }
  602. ]
  603. },
  604. {
  605. path: '/workforce',
  606. component: Layout,
  607. redirect: 'noredirect',
  608. name: 'workforce',
  609. alwaysShow: true,
  610. meta: {
  611. title: 'workforce',
  612. icon: 'paiban'
  613. },
  614. children: [
  615. {
  616. path: '/workforce/appointment',
  617. component: () => import('@/xt_pages/workforce/appointment'),
  618. name: 'appointment',
  619. meta: { title: 'appointment', noCache: true }
  620. },
  621. {
  622. path: '/workforce/sign',
  623. component: () => import('@/xt_pages/workforce/sign'),
  624. hidden: true,
  625. is_menu: false,
  626. name: 'sign',
  627. meta: { title: 'sign', noCache: true }
  628. },
  629. {
  630. path: '/workforce/remind',
  631. component: () => import('@/xt_pages/workforce/remind'),
  632. name: 'remind',
  633. meta: { title: 'remind', noCache: true }
  634. },
  635. {
  636. path: "/workforce/template",
  637. component: () => import("@/xt_pages/workforce/template"),
  638. name: "workforce_template",
  639. hidden: true,
  640. is_menu: false,
  641. meta: { title: 'workforce_template', noCache: true }
  642. },
  643. {
  644. path: "/workforce/schedule/print",
  645. component: () => import("@/xt_pages/workforce/schedule_print"),
  646. name: "schedule_print",
  647. hidden: true,
  648. is_menu: false,
  649. meta: { title: 'schedule_print', noCache: true }
  650. },
  651. ]
  652. },
  653. {
  654. path: '/dialysis/',
  655. component: Layout,
  656. redirect: 'noredirect',
  657. name: 'dialysis',
  658. alwaysShow: true,
  659. meta: {
  660. title: 'dialysis',
  661. icon: 'touxi'
  662. },
  663. children: [
  664. { path: '/dialysis/dialysisrecord', component: () => import('@/xt_pages/dialysis/schedualPatient'), name: '透析记录', meta: { title: '透析记录' }},
  665. {
  666. path: '/dialysis/record/:id',
  667. component: () => import('@/xt_pages/dialysis/dialysisPage'),
  668. hidden: true,
  669. is_menu: false,
  670. name: 'paper',
  671. meta: { title: 'paper', noCache: true }
  672. },
  673. {
  674. path: '/dialysis/print',
  675. component: () => import('@/xt_pages/dialysis/dialysisPrintOrder'),
  676. hidden: true,
  677. is_menu: false,
  678. name: 'dialysisPrintOrder',
  679. meta: { title: 'dialysisPrintOrder', noCache: true }
  680. },
  681. // { path: 'advice', component: () => import('@/xt_pages/dialysis/doctorAdvice'), name: 'advice', meta: { title: 'advice' }},
  682. // { path: 'prepare', component: () => import('@/xt_pages/dialysis/dialysisPrepare'), name: 'prepare', meta: { title: 'prepare' }},
  683. { path: '/dialysis/watch', component: () => import('@/xt_pages/dialysis/bloodPresssWatch'), name: 'watch', meta: { title: 'watch' }},
  684. { path: '/dialysis/details', component: () => import('@/xt_pages/dialysis/details'), name: 'details', meta: { title: 'details' }, is_menu: false,},
  685. {
  686. path: '/dialysis/print/batch',
  687. component: () => import('@/xt_pages/dialysis/batch_print/batch_print_order'),
  688. hidden: true,
  689. is_menu: false,
  690. name: 'dialysis_batch_print',
  691. meta: { title: 'dialysis_batch_print', noCache: true }
  692. },
  693. ]
  694. },
  695. {
  696. path: '/device',
  697. component: Layout,
  698. redirect: '/device/main',
  699. name: 'device',
  700. alwaysShow: true,
  701. meta: { title: 'deviceManage', icon: 'shebei' },
  702. children: [
  703. { path: '/device/zones', component: () => import('@/xt_pages/device/zone_main'), name: 'deviceZoneManage', meta: { title: 'deviceZoneManage' }},
  704. { path: '/device/groups', component: () => import('@/xt_pages/device/group_main'), name: 'deviceGroupManage', meta: { title: 'deviceGroupManage' }},
  705. { path: '/device/numbers', component: () => import('@/xt_pages/device/number_main'), name: 'deviceNumberManage', meta: { title: 'deviceNumberManage' }},
  706. { path: '/device/main', component: () => import('@/xt_pages/device/main'), name: 'dialysisMachineManage', meta: { title: 'dialysisMachineManage' }}
  707. ]
  708. },{
  709. path: '/stock/',
  710. component: Layout,
  711. redirect: 'noredirect',
  712. name: 'stockManage',
  713. meta: {title: 'stockManage', icon: 'nested'},
  714. children: [
  715. {
  716. path: '/stock/in',
  717. component: () => import('@/xt_pages/stock/stockIn'),
  718. name: 'stockIn',
  719. meta: {title: 'stockIn',noCache: true }
  720. },
  721. {
  722. path: '/stock/out',
  723. component: () => import('@/xt_pages/stock/stockOut'),
  724. name: 'stockOut',
  725. meta: {title: 'stockOut',noCache: true}
  726. },{
  727. path: '/stock/query',
  728. component: () => import('@/xt_pages/stock/stockQuery'),
  729. name: 'stockQuery',
  730. meta: {title: 'stockQuery',noCache: true}
  731. },
  732. {
  733. path: '/stock/config',
  734. component: () => import('@/xt_pages/stock/index'),
  735. name: 'config',
  736. meta: {title: 'config'},
  737. },{
  738. path: '/stock/in/add',
  739. component: () => import('@/xt_pages/stock/addStockIn'),
  740. name: 'addStockIn',
  741. hidden: true,
  742. is_menu: false,
  743. meta: {title: 'addStockIn',noCache: true}
  744. }, {
  745. path: '/stock/out/add',
  746. component: () => import('@/xt_pages/stock/addStockOut'),
  747. name: 'addStockOut',
  748. hidden: true,
  749. is_menu: false,
  750. meta: {title: 'addStockOut',noCache: true }
  751. },{
  752. path: '/stock/return',
  753. component: () => import('@/xt_pages/stock/salesReturn'),
  754. name: 'salesReturn',
  755. hidden: true,
  756. is_menu: false,
  757. meta: {title: 'salesReturn'}
  758. },{
  759. path: '/stock/return/record',
  760. component: () => import('@/xt_pages/stock/salesReutrnRecord'),
  761. name: 'salesReutrnRecord',
  762. hidden: true,
  763. is_menu: false,
  764. meta: {title: 'salesReutrnRecord'}
  765. },{
  766. path: '/stock/warehouse/record',
  767. component: () => import('@/xt_pages/stock/warehouseRecord'),
  768. name: 'warehouseRecord',
  769. hidden: true,
  770. is_menu: false,
  771. meta: {title: 'warehouseRecord'}
  772. },{
  773. path: '/stock/cancel/',
  774. component: () => import('@/xt_pages/stock/cancelStock'),
  775. name: 'cancelStock',
  776. hidden: true,
  777. is_menu: false,
  778. meta: {title: 'cancelStock'}
  779. }, {
  780. path: '/stock/cancel/record',
  781. component: () => import('@/xt_pages/stock/cancelStockRecord'),
  782. name: 'cancelStockRecord',
  783. hidden: true,
  784. is_menu: false,
  785. meta: {title: 'cancelStockRecord'}
  786. }, {
  787. path: '/stock/out/record',
  788. component: () => import('@/xt_pages/stock/stockOutRecord'),
  789. name: 'stockOutRecord',
  790. hidden: true,
  791. is_menu: false,
  792. meta: {title: 'stockOutRecord'}
  793. },
  794. ]
  795. },
  796. {
  797. path: 'statistics',
  798. component: Layout,
  799. redirect: '/statistics/index',
  800. children: [{
  801. path: '/statistics',
  802. component: () => import('@/xt_pages/statistics/index'),
  803. name: 'statistics',
  804. meta: { title: 'statistics', icon: 'chart', noCache: true }
  805. }]
  806. },
  807. {
  808. path: '/data/',
  809. component: Layout,
  810. redirect: 'noredirect',
  811. name: 'data',
  812. meta: { title: 'data_dictionary', icon: 'excel' },
  813. children: [
  814. { path: '/data/dictionary', component: () => import('@/xt_pages/data/index'), name: 'dictionary', meta: { title: 'field_config' }},
  815. { path: '/data/template', component: () => import('@/xt_pages/data/template'), name: 'template', meta: { title: 'template' }},
  816. { path: '/data/druguse', component: () => import('@/xt_pages/data/druguseTemplate'), name: 'druguse', meta: { title: 'druguse' }}
  817. ]
  818. },
  819. // /////////////////////////////////////线在end
  820. {
  821. path: '/role',
  822. component: Layout,
  823. redirect: '/role/admin/manage',
  824. name: 'role',
  825. alwaysShow: true,
  826. meta: { title: 'permissionManage', icon: 'table' },
  827. children: [
  828. { path: '/role/admin/manage', component: () => import('@/xt_pages/role/admin'), name: 'adminManage', meta: { title: 'adminManage' }},
  829. { path: '/role/manage', component: () => import('@/xt_pages/role/role'), name: 'roleManage', meta: { title: 'roleManage' }},
  830. { path: '/role/admin/create', component: () => import('@/xt_pages/role/CreateAdmin'), name: 'addAdmin', meta: { title: 'addAdmin', noCache: true }, hidden: true, is_menu: false },
  831. { path: '/role/admin/edit', component: () => import('@/xt_pages/role/EditAdmin'), name: 'editAdmin', meta: { title: 'editAdmin', noCache: true }, hidden: true, is_menu: false },
  832. { path: '/role/perview', component: () => import('@/xt_pages/role/EditPerview'), name: 'setupPerview', meta: { title: 'setupPerview', noCache: true }, hidden: true, is_menu: false },
  833. { path: '/role/admin/specialpermission', component: () => import('@/xt_pages/role/special_permission'), name: 'special_permission_manage', meta: { title: 'special_permission_manage' }},
  834. ]
  835. }
  836. ]