route.ts 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509
  1. export interface RouterType {
  2. path:string,
  3. name:string,
  4. addr?:string,
  5. icon?:string,
  6. children?:RouterType[]
  7. }
  8. export const buildTree =(routes: RouterType[]): RouterType[]=> {
  9. const map: { [key: string]: RouterType } = {}
  10. const tree: RouterType[] = []
  11. routes.forEach(route => {
  12. map[route.path] = { ...route, children: [] }
  13. })
  14. for (const route of routes) {
  15. const parentPath = route.path.substring(0, route.path.lastIndexOf('/'))
  16. if (map[parentPath]) {
  17. map[parentPath].children?.push(map[route.path])
  18. } else {
  19. tree.push(map[route.path])
  20. }
  21. }
  22. return tree
  23. }
  24. export const routeList:RouterType[] = [
  25. {
  26. path: 'zhdpgl',
  27. name: '智慧大屏管理',
  28. icon: 'Location'
  29. },
  30. {
  31. path: 'zhdpgl/yqzl',
  32. name: '园区总览',
  33. icon: 'Location',
  34. },
  35. {
  36. path: 'zhdpgl/yqzl/yqjs',
  37. name: '园区总览-园区介绍',
  38. icon: 'Location',
  39. addr: 'zhdpgl/yqzl/yqjs'
  40. },
  41. {
  42. path: 'zhdpgl/yqzl/yqaf',
  43. name: '园区总览-园区安防',
  44. icon: 'Location',
  45. addr: 'zhdpgl/yqzl/yqaf'
  46. },
  47. {
  48. path: 'zhdpgl/yqzl/yqdl',
  49. name: '园区总览-园区电力',
  50. icon: 'Location',
  51. addr: 'zhdpgl/yqzl/yqdl'
  52. },
  53. // {
  54. // path: 'zhdpgl/yqzl/yqxf',
  55. // name: '园区总览-园区消防',
  56. // icon: 'Location',
  57. // addr: 'zhdpgl/yqzl/yqxf'
  58. // },
  59. // {
  60. // path: 'zhdpgl/yqzl/yqnh',
  61. // name: '园区总览-园区能耗',
  62. // icon: 'Location',
  63. // addr: 'zhdpgl/yqzl/yqnh'
  64. // },
  65. {
  66. path: 'zhdpgl/zhaf',
  67. name: '智慧安防',
  68. icon: 'Location',
  69. },
  70. {
  71. path: 'zhdpgl/zhaf/ssjk',
  72. name: '智慧安防-实时监控',
  73. icon: 'Location',
  74. addr: 'zhdpgl/zhaf/ssjk'
  75. },
  76. // {
  77. // path: 'zhdpgl/zhaf/jrbjlb',
  78. // name: '智慧安防-今日报警列表',
  79. // icon: 'Location',
  80. // addr: 'zhdpgl/zhaf/jrbjlb'
  81. // },
  82. // {
  83. // path: 'zhdpgl/zhaf/ssbjtj',
  84. // name: '智慧安防-实时报警统计',
  85. // icon: 'Location',
  86. // addr: 'zhdpgl/zhaf/ssbjtj'
  87. // },
  88. // {
  89. // path: 'zhdpgl/zhaf/sbdwlb',
  90. // name: '智慧安防-设备点位列表',
  91. // icon: 'Location',
  92. // addr: 'zhdpgl/zhaf/sbdwlb'
  93. // },
  94. // {
  95. // path: 'zhdpgl/zhaf/sjzx',
  96. // name: '智慧安防-事件中心',
  97. // icon: 'Location',
  98. // addr: 'zhdpgl/zhaf/sjzx'
  99. // },
  100. // {
  101. // path: 'zhdpgl/zhaf/sjtjzx',
  102. // name: '智慧安防-事件统计中心',
  103. // icon: 'Location',
  104. // addr: 'zhdpgl/zhaf/sjtjzx'
  105. // },
  106. // {
  107. // path: 'zhdpgl/zhnh',
  108. // name: '智慧能耗',
  109. // icon: 'Location',
  110. // },
  111. // {
  112. // path: 'zhdpgl/zhnh/sbbj',
  113. // name: '智慧能耗-设备报警',
  114. // icon: 'Location',
  115. // addr: 'zhdpgl/zhnh/sbbj'
  116. // },
  117. // {
  118. // path: 'zhdpgl/zhnh/sbzxzt',
  119. // name: '智慧能耗-设备在线状态',
  120. // icon: 'Location',
  121. // addr: 'zhdpgl/zhnh/sbzxzt'
  122. // },
  123. // {
  124. // path: 'zhdpgl/zhnh/sbfjc',
  125. // name: '智慧能耗-水泵房监测',
  126. // icon: 'Location',
  127. // addr: 'zhdpgl/zhnh/sbfjc'
  128. // },
  129. // {
  130. // path: 'zhdpgl/zhnh/sblb',
  131. // name: '智慧能耗-设备列表',
  132. // icon: 'Location',
  133. // addr: 'zhdpgl/zhnh/sblb'
  134. // },
  135. // {
  136. // path: 'zhdpgl/zhnh/sjtjzx',
  137. // name: '智慧能耗-事件统计中心',
  138. // icon: 'Location',
  139. // addr: 'zhdpgl/zhnh/sjtjzx'
  140. // },
  141. // {
  142. // path: 'zhdpgl/zhnh/zhnhs',
  143. // name: '水',
  144. // icon: 'Location',
  145. // },
  146. // {
  147. // path: 'zhdpgl/zhnh/zhnhs/dyysl',
  148. // name: '智慧能耗-当月用水量',
  149. // icon: 'Location',
  150. // addr: 'zhdpgl/zhnh/zhnhs/dyysl'
  151. // },
  152. // {
  153. // path: 'zhdpgl/zhnh/zhnhs/bndysl',
  154. // name: '智慧能耗-本年度用水量',
  155. // icon: 'Location',
  156. // addr: 'zhdpgl/zhnh/zhnhs/bndysl'
  157. // },
  158. // {
  159. // path: 'zhdpgl/zhnh/zhnhs/nhjgs',
  160. // name: '智慧能耗-能耗结构(水)',
  161. // icon: 'Location',
  162. // addr: 'zhdpgl/zhnh/zhnhs/nhjgs'
  163. // },
  164. // {
  165. // path: 'zhdpgl/zhnh/zhnhs/fxyszb',
  166. // name: '智慧能耗-分项用水占比',
  167. // icon: 'Location',
  168. // addr: 'zhdpgl/zhnh/zhnhs/fxyszb'
  169. // },
  170. // {
  171. // path: 'zhdpgl/zhnh/zhnhs/qyyshz',
  172. // name: '智慧能耗-企业用水汇总',
  173. // icon: 'Location',
  174. // addr: 'zhdpgl/zhnh/zhnhs/qyyshz'
  175. // },
  176. // {
  177. // path: 'zhdpgl/zhnh/zhnhs/ystjfx',
  178. // name: '智慧能耗-用水统计分析',
  179. // icon: 'Location',
  180. // addr: 'zhdpgl/zhnh/zhnhs/ystjfx'
  181. // },
  182. // {
  183. // path: 'zhdpgl/zhnh/zhnhd',
  184. // name: '电',
  185. // icon: 'Location',
  186. // },
  187. // {
  188. // path: 'zhdpgl/zhnh/zhnhd/dyydl',
  189. // name: '智慧能耗-当月用电量',
  190. // icon: 'Location',
  191. // addr: 'zhdpgl/zhnh/zhnhd/dyydl'
  192. // },
  193. // {
  194. // path: 'zhdpgl/zhnh/zhnhd/bndydl',
  195. // name: '智慧能耗-本年度用电量',
  196. // icon: 'Location',
  197. // addr: 'zhdpgl/zhnh/zhnhd/bndydl'
  198. // },
  199. // {
  200. // path: 'zhdpgl/zhnh/zhnhd/nhjgd',
  201. // name: '智慧能耗-能耗结构(电)',
  202. // icon: 'Location',
  203. // addr: 'zhdpgl/zhnh/zhnhd/nhjgd'
  204. // },
  205. // {
  206. // path: 'zhdpgl/zhnh/zhnhd/fxydzb',
  207. // name: '智慧能耗-分项用电占比',
  208. // icon: 'Location',
  209. // addr: 'zhdpgl/zhnh/zhnhd/fxydzb'
  210. // },
  211. // {
  212. // path: 'zhdpgl/zhnh/zhnhd/qyydhz',
  213. // name: '智慧能耗-企业用电汇总',
  214. // icon: 'Location',
  215. // addr: 'zhdpgl/zhnh/zhnhd/qyydhz'
  216. // },
  217. // {
  218. // path: 'zhdpgl/zhnh/zhnhd/ydtjfx',
  219. // name: '智慧能耗-用电统计分析',
  220. // icon: 'Location',
  221. // addr: 'zhdpgl/zhnh/zhnhd/ydtjfx'
  222. // },
  223. {
  224. path: 'zhdpgl/zhxf',
  225. name: '智慧消防',
  226. icon: 'Location',
  227. },
  228. // {
  229. // path: 'zhdpgl/zhxf/jrsb',
  230. // name: '智慧消防-接入设备',
  231. // icon: 'Location',
  232. // addr: 'zhdpgl/zhxf/jrsb'
  233. // },
  234. {
  235. path: 'zhdpgl/zhxf/ssjk',
  236. name: '智慧消防-实时监控',
  237. icon: 'Location',
  238. addr: 'zhdpgl/zhxf/ssjk'
  239. },
  240. // {
  241. // path: 'zhdpgl/zhxf/sbdwlb',
  242. // name: '智慧消防-设备点位列表',
  243. // icon: 'Location',
  244. // addr: 'zhdpgl/zhxf/sbdwlb'
  245. // },
  246. // {
  247. // path: 'zhdpgl/zhxf/ystjfx',
  248. // name: '智慧消防-用水统计分析',
  249. // icon: 'Location',
  250. // addr: 'zhdpgl/zhxf/ystjfx'
  251. // },
  252. // {
  253. // path: 'zhdpgl/zhxf/ssbjtj',
  254. // name: '智慧消防-实时报警统计',
  255. // icon: 'Location',
  256. // addr: 'zhdpgl/zhxf/ssbjtj'
  257. // },
  258. // {
  259. // path: 'zhdpgl/zhxf/bjtj',
  260. // name: '智慧消防-报警统计',
  261. // icon: 'Location',
  262. // addr: 'zhdpgl/zhxf/bjtj'
  263. // },
  264. {
  265. path: 'zhdpgl/zhdg',
  266. name: '智慧灯杆',
  267. icon: 'Location',
  268. },
  269. {
  270. path: 'zhdpgl/zhdg/dgzm',
  271. name: '智慧灯杆-灯杆照明',
  272. icon: 'Location',
  273. addr: 'zhdpgl/zhdg/dgzm'
  274. },
  275. {
  276. path: 'zhdpgl/zhdg/wg',
  277. name: '智慧灯杆-网关',
  278. icon: 'Location',
  279. addr: 'zhdpgl/zhdg/wg'
  280. },
  281. {
  282. path: 'zhdpgl/zhdg/yjhj',
  283. name: '智慧灯杆-一键呼叫',
  284. icon: 'Location',
  285. addr: 'zhdpgl/zhdg/yjhj'
  286. },
  287. {
  288. path: 'zhdpgl/zhdg/dpfb',
  289. name: '智慧灯杆-大屏发布',
  290. icon: 'Location',
  291. addr: 'zhdpgl/zhdg/dpfb'
  292. },
  293. // {
  294. // path: 'zhdpgl/zhtc',
  295. // name: '智慧停车',
  296. // icon: 'Location',
  297. // },
  298. // {
  299. // path: 'zhdpgl/zhtc/drjccl',
  300. // name: '智慧停车-当日进出车辆',
  301. // icon: 'Location',
  302. // addr: 'zhdpgl/zhtc/drjccl'
  303. // },
  304. // {
  305. // path: 'zhdpgl/zhtc/byjccl',
  306. // name: '智慧停车-本月进出车辆',
  307. // icon: 'Location',
  308. // addr: 'zhdpgl/zhtc/byjccl'
  309. // },
  310. // {
  311. // path: 'zhdpgl/zhtc/cllxjg',
  312. // name: '智慧停车-车辆类型结构',
  313. // icon: 'Location',
  314. // addr: 'zhdpgl/zhtc/cllxjg'
  315. // },
  316. // {
  317. // path: 'zhdpgl/zhtc/clzylfx',
  318. // name: '智慧停车-车辆占用率分项',
  319. // icon: 'Location',
  320. // addr: 'zhdpgl/zhtc/clzylfx'
  321. // },
  322. // {
  323. // path: 'zhdpgl/zhtc/ryqk',
  324. // name: '智慧停车-人员情况',
  325. // icon: 'Location',
  326. // addr: 'zhdpgl/zhtc/ryqk'
  327. // },
  328. // {
  329. // path: 'zhdpgl/zhtc/yqrygl',
  330. // name: '智慧停车-园区人员管理',
  331. // icon: 'Location',
  332. // addr: 'zhdpgl/zhtc/yqrygl'
  333. // },
  334. // {
  335. // path: 'zhdpgl/zhtc/ryll',
  336. // name: '智慧停车-人员流量',
  337. // icon: 'Location',
  338. // addr: 'zhdpgl/zhtc/ryll'
  339. // },
  340. // {
  341. // path: 'zhdpgl/zhtc/kll',
  342. // name: '智慧停车-客流量',
  343. // icon: 'Location',
  344. // addr: 'zhdpgl/zhtc/kll'
  345. // },
  346. {
  347. path: 'zhld',
  348. name: '智慧路灯',
  349. icon: 'Location',
  350. },
  351. {
  352. path: 'zhld/dggl',
  353. name: '智慧路灯-路灯管理',
  354. icon: 'Location',
  355. addr: 'zhld/dggl'
  356. },
  357. {
  358. path: 'zhld/tyfw',
  359. name: '智慧路灯-统一服务',
  360. icon: 'Location',
  361. addr: 'zhld/tyfw'
  362. },
  363. {
  364. path: 'zhld/bjld',
  365. name: '智慧路灯-报警联动',
  366. icon: 'Location',
  367. addr: 'zhld/bjld'
  368. },
  369. {
  370. path: 'zhld/sbjr',
  371. name: '智慧路灯-设备接入',
  372. icon: 'Location',
  373. addr: 'zhld/sbjr'
  374. },
  375. {
  376. path: 'zhld/yzxg',
  377. name: '智慧路灯-阈值修改',
  378. icon: 'Location',
  379. addr: 'zhld/yzxg'
  380. },
  381. {
  382. path: 'zhld/bjckcl',
  383. name: '智慧路灯-报警查看处理',
  384. icon: 'Location',
  385. addr: 'zhld/bjckcl'
  386. },
  387. {
  388. path: 'zhld/csjc',
  389. name: '智慧路灯-参数监测',
  390. icon: 'Location',
  391. addr: 'zhld/csjc'
  392. },
  393. {
  394. path: 'zhld/yckz',
  395. name: '智慧路灯-远程控制',
  396. icon: 'Location',
  397. addr: 'zhld/yckz'
  398. },
  399. {
  400. path: 'zhld/yczj',
  401. name: '智慧路灯-远程自检',
  402. icon: 'Location',
  403. addr: 'zhld/yczj'
  404. },
  405. {
  406. path: 'zhld/dsrw',
  407. name: '智慧路灯-定时任务',
  408. icon: 'Location',
  409. addr: 'zhld/dsrw'
  410. },
  411. {
  412. path: 'zhld/lstj',
  413. name: '智慧路灯-历史统计',
  414. icon: 'Location',
  415. addr: 'zhld/lstj'
  416. },
  417. {
  418. path: 'zhhj',
  419. name: '智慧环境',
  420. icon: 'Location',
  421. },
  422. {
  423. path: 'zhhj/ssjc',
  424. name: '实时监测',
  425. icon: 'Location',
  426. addr: 'zhhj/ssjc'
  427. },
  428. {
  429. path: 'zhhj/sjcx',
  430. name: '数据查询',
  431. icon: 'Location',
  432. addr: 'zhhj/sjcx'
  433. },
  434. {
  435. path: 'zhhj/bjcx',
  436. name: '报警查询',
  437. icon: 'Location',
  438. addr: 'zhhj/bjcx'
  439. },
  440. {
  441. path: 'zhhj/bjjbpz',
  442. name: '报警级别配置',
  443. icon: 'Location',
  444. addr: 'zhhj/bjjbpz'
  445. },
  446. {
  447. path: 'zhhj/bjld',
  448. name: '报警联动',
  449. icon: 'Location',
  450. addr: 'zhhj/bjld'
  451. },
  452. {
  453. path: 'zhhj/ccclpz',
  454. name: '存储策略配置',
  455. icon: 'Location',
  456. addr: 'zhhj/ccclpz'
  457. },
  458. {
  459. path: 'zhhj/pzpcyz',
  460. name: '配置偏差阈值',
  461. icon: 'Location',
  462. addr: 'zhhj/pzpcyz'
  463. },
  464. {
  465. path: 'abrylr',
  466. name: '安保管理',
  467. icon: 'Location',
  468. },
  469. {
  470. path: 'abrylr/ablr',
  471. name: '安保录入',
  472. icon: 'Location',
  473. addr: 'abrylr/ablr'
  474. },
  475. ]
  476. export const useDynamicRoutes: () => RouterType[] = () => {
  477. routeList.forEach(item => {
  478. item.addr = `views/${item.addr}.vue`
  479. })
  480. return [
  481. ...routeList
  482. ]
  483. }