router.js 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640
  1. import Vue from 'vue'
  2. import Router from 'vue-router'
  3. const routerPush = Router.prototype.push
  4. Router.prototype.push = function push(location) {
  5. return routerPush.call(this, location).catch(error => error)
  6. }
  7. Vue.use(Router)
  8. export default new Router({
  9. // mode: 'history',
  10. base: process.env.BASE_URL,
  11. routes: [
  12. {
  13. path: '/',
  14. redirect: '/home'
  15. },
  16. {
  17. path: '/home',
  18. name: 'home',
  19. component: () => import('./views/Home.vue'),
  20. meta: {
  21. title: '荆州市红十字会'
  22. }
  23. },
  24. {
  25. path: '/donation',
  26. name: 'donation',
  27. component: () => import('./views/Donation.vue'),
  28. redirect: '/donation/contribution',
  29. meta: {
  30. title: '捐赠平台'
  31. },
  32. children: [
  33. {
  34. path: 'contribution',
  35. name: 'contribution',
  36. component: () => import('./views/donation/Contribution.vue'),
  37. meta: {
  38. title: '捐款'
  39. }
  40. },
  41. {
  42. path: 'organDonation',
  43. name: 'organDonation',
  44. component: () => import('./views/donation/OrganDonation.vue'),
  45. meta: {
  46. title: '器官捐献'
  47. }
  48. },
  49. {
  50. path: 'HPC',
  51. name: 'HPC',
  52. component: () => import('./views/donation/Hpc.vue'),
  53. meta: {
  54. title: '捐献造血干细胞'
  55. }
  56. },
  57. ]
  58. },
  59. {
  60. path: '/loveList',
  61. name: 'loveList',
  62. component: () => import('./views/LoveList.vue'),
  63. meta: {
  64. title: '爱心榜'
  65. }
  66. },
  67. {
  68. path: '/join',
  69. name: 'join',
  70. component: () => import('./views/Join.vue'),
  71. redirect: '/join/volunteer',
  72. meta: {
  73. title: '我要参与'
  74. },
  75. children: [
  76. {
  77. path: 'volunteer',
  78. name: 'volunteer',
  79. component: () => import('./views/join/Volunteer.vue'),
  80. meta: {
  81. title: '登记志愿者'
  82. }
  83. },
  84. {
  85. path: 'member',
  86. name: 'member',
  87. component: () => import('./views/join/Member.vue'),
  88. meta: {
  89. title: '登记个人会员'
  90. }
  91. },
  92. {
  93. path: 'train',
  94. name: 'train',
  95. component: () => import('./views/join/Train.vue'),
  96. meta: {
  97. title: '参与普及培训'
  98. }
  99. },
  100. {
  101. path: 'rescue',
  102. name: 'rescue',
  103. component: () => import('./views/join/Rescue.vue'),
  104. meta: {
  105. title: '登记救护员'
  106. }
  107. }
  108. ]
  109. },
  110. {
  111. path: '/about',
  112. name: 'about',
  113. component: () => import('./views/About.vue'),
  114. meta: {
  115. title: '关于我们'
  116. },
  117. },
  118. {
  119. path: '/introduce',
  120. name: 'introduce',
  121. component: () => import('./views/Introduce.vue'),
  122. meta: {
  123. title: '组织介绍'
  124. },
  125. },
  126. {
  127. path: '/law',
  128. name: 'law',
  129. component: () => import('./views/Law.vue'),
  130. meta: {
  131. title: '政策法规'
  132. },
  133. },
  134. {
  135. path: '/cause',
  136. name: 'cause',
  137. component: () => import('./views/Cause.vue'),
  138. meta: {
  139. title: '政策法规'
  140. },
  141. },
  142. {
  143. path: '/concat',
  144. name: 'concat',
  145. component: () => import('./views/Concat.vue'),
  146. meta: {
  147. title: '联系我们'
  148. }
  149. },
  150. {
  151. path: '/knowledge',
  152. name: 'Knowledge',
  153. component: () => import('./views/Knowledge.vue'),
  154. meta: {
  155. title: '知识库'
  156. },
  157. redirect: '/knowledge/rescue',
  158. children: [
  159. {
  160. path: 'rescue',
  161. name: 'rescue',
  162. component: () => import('./views/knowledge/Rescue.vue'),
  163. meta: {
  164. title: '救护培训'
  165. },
  166. redirect: '/knowledge/rescue/list',
  167. children: [
  168. {
  169. path: 'list',
  170. name: 'rescueList',
  171. component: () => import('./views/knowledge/rescue/List.vue'),
  172. meta: {
  173. title: '救护培训'
  174. }
  175. },
  176. {
  177. path: 'detail',
  178. name: 'rescuedetail',
  179. component: () => import('./views/knowledge/rescue/Detail.vue'),
  180. meta: {
  181. title: '救护培训'
  182. }
  183. }
  184. ]
  185. },
  186. {
  187. path: 'cells',
  188. name: 'cells',
  189. component: () => import('./views/knowledge/Cells.vue'),
  190. meta: {
  191. title: '造血干细胞'
  192. },
  193. redirect: '/knowledge/cells/list',
  194. children: [
  195. {
  196. path: 'list',
  197. name: 'cellsList',
  198. component: () => import('./views/knowledge/cells/List.vue'),
  199. meta: {
  200. title: '造血干细胞'
  201. }
  202. },
  203. {
  204. path: 'detail',
  205. name: 'cellsdetail',
  206. component: () => import('./views/knowledge/cells/Detail.vue'),
  207. meta: {
  208. title: '造血干细胞'
  209. }
  210. }
  211. ]
  212. },
  213. {
  214. path: 'bloodDonation',
  215. name: 'bloodDonation',
  216. component: () => import('./views/knowledge/BloodDonation.vue'),
  217. meta: {
  218. title: '无偿献血'
  219. },
  220. redirect: '/knowledge/bloodDonation/list',
  221. children: [
  222. {
  223. path: 'list',
  224. name: 'bloodDonationList',
  225. component: () => import('./views/knowledge/bloodDonation/List.vue'),
  226. meta: {
  227. title: '无偿献血'
  228. }
  229. },
  230. {
  231. path: 'detail',
  232. name: 'bloodDonationdetail',
  233. component: () => import('./views/knowledge/bloodDonation/Detail.vue'),
  234. meta: {
  235. title: '无偿献血'
  236. }
  237. }
  238. ]
  239. }
  240. ]
  241. },
  242. {
  243. path: '/newContent',
  244. name: 'newContent',
  245. component: () => import('./views/NewContent.vue'),
  246. meta: {
  247. title: '县市区红会动态'
  248. },
  249. redirect: '/newContent/jlx',
  250. children: [
  251. {
  252. path: 'jlx',
  253. name: 'jlx',
  254. component: () => import('./views/newContent/Jlx.vue'),
  255. meta: {
  256. title: '江陵县红会动态'
  257. },
  258. redirect: '/newContent/jlx/list',
  259. children: [
  260. {
  261. path: 'list',
  262. name: 'jlxList',
  263. component: () => import('./views/newContent/jlx/List.vue'),
  264. meta: {
  265. title: '江陵县红会动态'
  266. }
  267. },
  268. {
  269. path: 'detail',
  270. name: 'jlxdetail',
  271. component: () => import('./views/newContent/jlx/Detail.vue'),
  272. meta: {
  273. title: '江陵县红会动态'
  274. }
  275. }
  276. ]
  277. },
  278. {
  279. path: 'sss',
  280. name: 'sss',
  281. component: () => import('./views/newContent/Sss.vue'),
  282. meta: {
  283. title: '石首市红会动态'
  284. },
  285. redirect: '/newContent/sss/list',
  286. children: [
  287. {
  288. path: 'list',
  289. name: 'cellsList',
  290. component: () => import('./views/newContent/sss/List.vue'),
  291. meta: {
  292. title: '石首市红会动态'
  293. }
  294. },
  295. {
  296. path: 'detail',
  297. name: 'cellsdetail',
  298. component: () => import('./views/newContent/sss/Detail.vue'),
  299. meta: {
  300. title: '石首市红会动态'
  301. }
  302. }
  303. ]
  304. },
  305. {
  306. path: 'hhs',
  307. name: 'hhs',
  308. component: () => import('./views/newContent/Hhs.vue'),
  309. meta: {
  310. title: '洪湖市红会动态'
  311. },
  312. redirect: '/newContent/hhs/list',
  313. children: [
  314. {
  315. path: 'list',
  316. name: 'hhsList',
  317. component: () => import('./views/newContent/hhs/List.vue'),
  318. meta: {
  319. title: '洪湖市红会动态'
  320. }
  321. },
  322. {
  323. path: 'detail',
  324. name: 'hhsdetail',
  325. component: () => import('./views/newContent/hhs/Detail.vue'),
  326. meta: {
  327. title: '洪湖市红会动态'
  328. }
  329. }
  330. ]
  331. },
  332. {
  333. path: 'jzq',
  334. name: 'jzq',
  335. component: () => import('./views/newContent/Jzq.vue'),
  336. meta: {
  337. title: '荆州区红会动态'
  338. },
  339. redirect: '/newContent/jzq/list',
  340. children: [
  341. {
  342. path: 'list',
  343. name: 'jzqList',
  344. component: () => import('./views/newContent/jzq/List.vue'),
  345. meta: {
  346. title: '荆州区红会动态'
  347. }
  348. },
  349. {
  350. path: 'detail',
  351. name: 'jzqdetail',
  352. component: () => import('./views/newContent/jzq/Detail.vue'),
  353. meta: {
  354. title: '荆州区红会动态'
  355. }
  356. }
  357. ]
  358. },
  359. {
  360. path: 'ssq',
  361. name: 'ssq',
  362. component: () => import('./views/newContent/Ssq.vue'),
  363. meta: {
  364. title: '沙市区红会动态'
  365. },
  366. redirect: '/newContent/ssq/list',
  367. children: [
  368. {
  369. path: 'list',
  370. name: 'ssqList',
  371. component: () => import('./views/newContent/ssq/List.vue'),
  372. meta: {
  373. title: '沙市区红会动态'
  374. }
  375. },
  376. {
  377. path: 'detail',
  378. name: 'ssqdetail',
  379. component: () => import('./views/newContent/ssq/Detail.vue'),
  380. meta: {
  381. title: '沙市区红会动态'
  382. }
  383. }
  384. ]
  385. },
  386. {
  387. path: 'szs',
  388. name: 'szs',
  389. component: () => import('./views/newContent/Szs.vue'),
  390. meta: {
  391. title: '松滋市红会动态'
  392. },
  393. redirect: '/newContent/szs/list',
  394. children: [
  395. {
  396. path: 'list',
  397. name: 'szsList',
  398. component: () => import('./views/newContent/szs/List.vue'),
  399. meta: {
  400. title: '松滋市红会动态'
  401. }
  402. },
  403. {
  404. path: 'detail',
  405. name: 'szsdetail',
  406. component: () => import('./views/newContent/szs/Detail.vue'),
  407. meta: {
  408. title: '松滋市红会动态'
  409. }
  410. }
  411. ]
  412. },
  413. {
  414. path: 'jls',
  415. name: 'jls',
  416. component: () => import('./views/newContent/Jls.vue'),
  417. meta: {
  418. title: '松滋市红会动态'
  419. },
  420. redirect: '/newContent/jls/list',
  421. children: [
  422. {
  423. path: 'list',
  424. name: 'jlsList',
  425. component: () => import('./views/newContent/jls/List.vue'),
  426. meta: {
  427. title: '松滋市红会动态'
  428. }
  429. },
  430. {
  431. path: 'detail',
  432. name: 'jlsdetail',
  433. component: () => import('./views/newContent/jls/Detail.vue'),
  434. meta: {
  435. title: '松滋市红会动态'
  436. }
  437. }
  438. ]
  439. }
  440. ]
  441. },
  442. {
  443. path: '/popularScience',
  444. name: 'popularScience',
  445. component: () => import('./views/PopularScience.vue'),
  446. meta: {
  447. title: '红会科普'
  448. },
  449. redirect: '/popularScience/list',
  450. children: [
  451. {
  452. path: 'list',
  453. name: 'list',
  454. component: () => import('./views/popularScience/List.vue'),
  455. meta: {
  456. title: '红会科普'
  457. }
  458. },
  459. {
  460. path: 'detail',
  461. name: 'detail',
  462. component: () => import('./views/popularScience/Detail.vue'),
  463. meta: {
  464. title: '红会科普'
  465. }
  466. }
  467. ]
  468. },
  469. {
  470. path: '/news',
  471. name: 'news',
  472. component: () => import('./views/News.vue'),
  473. meta: {
  474. title: '红会新闻'
  475. },
  476. redirect: '/news/list',
  477. children: [
  478. {
  479. path: 'list',
  480. name: 'newslist',
  481. component: () => import('./views/news/List.vue'),
  482. meta: {
  483. title: '红会新闻'
  484. }
  485. },
  486. {
  487. path: 'detail',
  488. name: 'newsdetail',
  489. component: () => import('./views/news/Detail.vue'),
  490. meta: {
  491. title: '红会新闻'
  492. }
  493. }
  494. ]
  495. },
  496. {
  497. path: '/publicity',
  498. name: 'publicity',
  499. component: () => import('./views/Publicity.vue'),
  500. meta: {
  501. title: '信息公示'
  502. },
  503. redirect: '/publicity/list',
  504. children: [
  505. {
  506. path: 'list',
  507. name: 'publicitylist',
  508. component: () => import('./views/publicity/List.vue'),
  509. meta: {
  510. title: '信息公示'
  511. }
  512. },
  513. {
  514. path: 'detail',
  515. name: 'publicitydetail',
  516. component: () => import('./views/publicity/Detail.vue'),
  517. meta: {
  518. title: '信息公示'
  519. }
  520. }
  521. ]
  522. },
  523. {
  524. path: '/regulations',
  525. name: 'regulations',
  526. component: () => import('./views/Regulations.vue'),
  527. meta: {
  528. title: '政策法规'
  529. },
  530. redirect: '/regulations/list',
  531. children: [
  532. {
  533. path: 'list',
  534. name: 'regulationsList',
  535. component: () => import('./views/regulations/List.vue'),
  536. meta: {
  537. title: '政策法规'
  538. }
  539. },
  540. {
  541. path: 'detail',
  542. name: 'regulationsdetail',
  543. component: () => import('./views/regulations/Detail.vue'),
  544. meta: {
  545. title: '政策法规'
  546. }
  547. }
  548. ]
  549. },
  550. {
  551. path: '/help',
  552. name: 'help',
  553. component: () => import('./views/Help.vue'),
  554. meta: {
  555. title: '我要求助'
  556. },
  557. redirect: '/help/list',
  558. children: [
  559. {
  560. path: 'list',
  561. name: 'helpList',
  562. component: () => import('./views/help/List.vue'),
  563. meta: {
  564. title: '我要求助'
  565. }
  566. },
  567. {
  568. path: 'detail',
  569. name: 'helpdetail',
  570. component: () => import('./views/help/Detail.vue'),
  571. meta: {
  572. title: '我要求助'
  573. }
  574. }
  575. ]
  576. },
  577. {
  578. path: '/directories',
  579. name: 'directories',
  580. component: () => import('./views/Directories.vue'),
  581. meta: {
  582. title: '造血干细胞捐献名录'
  583. },
  584. redirect: '/directories/list',
  585. children: [
  586. {
  587. path: 'list',
  588. name: 'directoriesList',
  589. component: () => import('./views/directories/List.vue'),
  590. meta: {
  591. title: '造血干细胞捐献名录'
  592. }
  593. },
  594. {
  595. path: 'detail',
  596. name: 'directoriesdetail',
  597. component: () => import('./views/directories/Detail.vue'),
  598. meta: {
  599. title: '造血干细胞捐献名录'
  600. }
  601. }
  602. ]
  603. },
  604. {
  605. path: '/organs',
  606. name: 'organs',
  607. component: () => import('./views/Organs.vue'),
  608. meta: {
  609. title: '器官/遗体捐献名录'
  610. },
  611. redirect: '/organs/list',
  612. children: [
  613. {
  614. path: 'list',
  615. name: 'organsList',
  616. component: () => import('./views/organs/List.vue'),
  617. meta: {
  618. title: '器官/遗体捐献名录'
  619. }
  620. },
  621. {
  622. path: 'detail',
  623. name: 'organsdetail',
  624. component: () => import('./views/organs/Detail.vue'),
  625. meta: {
  626. title: '器官/遗体捐献名录'
  627. }
  628. }
  629. ]
  630. },
  631. {
  632. path: '*',
  633. redirect: '/home'
  634. }
  635. ]
  636. })