base.js 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488
  1. import Layout from "~src/layout/index.vue";
  2. //路由菜单系统内置页面配置, noMenuBar: true 不显示在菜单栏记录里, isAuth: true 权限验证
  3. export default [
  4. {
  5. path: '/',
  6. redirect: '/home/index',
  7. },
  8. {
  9. path: '/login',
  10. name: 'login',
  11. meta: {title: '登录'},
  12. component: () => import('~src/views/login/index.vue')
  13. },
  14. {
  15. path: '/home',
  16. name: 'home',
  17. redirect: '/home/index',
  18. meta: {title: '门户'},
  19. component: Layout,
  20. children: [
  21. //首页统计
  22. {
  23. path: '/home/index',
  24. name: 'home-index',
  25. meta: {title: '普通权限'},
  26. component: () => import('~src/views/home/index/index.vue')
  27. },
  28. {
  29. path: '/home/admin',
  30. name: 'home-admin',
  31. meta: {title: '领导权限'},
  32. component: () => import('~src/views/home/index/admin.vue')
  33. },
  34. //审批管理
  35. {
  36. path: '/home/task',
  37. name: 'home-task',
  38. meta: {title: '审批管理'},
  39. component: () => import('~src/views/home/task/task.vue')
  40. },
  41. {
  42. path: '/home/task-details',
  43. name: 'home-task-details',
  44. meta: {title: '任务详情', isAuth: true}, //, noMenuBar: true
  45. component: () => import('~src/views/home/task/task-details.vue')
  46. },
  47. ],
  48. },
  49. {
  50. path: '/project',
  51. name: 'project',
  52. redirect: '/project/index',
  53. meta: {title: '项目管理'},
  54. component: Layout,
  55. children: [
  56. //项目列表
  57. {
  58. path: '/project/index',
  59. name: 'project-index',
  60. meta: {title: '项目列表'},
  61. component: () => import('~src/views/project/list/index.vue')
  62. },
  63. {
  64. path: '/project/list-info',
  65. name: 'project-list-info',
  66. meta: {title: '项目信息', isAuth: true},
  67. component: () => import('~src/views/project/list/list-info.vue')
  68. },
  69. //成本测算
  70. {
  71. path: '/project/cost',
  72. name: 'project-cost',
  73. meta: {title: '成本测算'},
  74. component: () => import('~src/views/project/cost/index.vue')
  75. },
  76. {
  77. path: '/project/cost/form',
  78. name: 'project-cost-form',
  79. meta: {title: '成本测算', text: '新增编辑', isAuth: true},
  80. component: () => import('~src/views/project/cost/form.vue')
  81. },
  82. {
  83. path: '/project/cost-data',
  84. name: 'project-cost-data',
  85. meta: {title: '成本测算预览', isAuth: true},
  86. component: () => import('~src/views/project/cost/data.vue')
  87. },
  88. //项目合同
  89. {
  90. path: '/project/contract',
  91. name: 'project-contract',
  92. meta: {title: '项目合同'},
  93. component: () => import('~src/views/project/contract/index.vue')
  94. },
  95. {
  96. path: '/project/contract/form',
  97. name: 'project-contract-form',
  98. meta: {title: '项目合同信息', isAuth: true},
  99. component: () => import('~src/views/project/contract/form.vue')
  100. },
  101. {
  102. path: '/project/contract/update',
  103. name: 'project-contract-update',
  104. meta: {title: '合同回款更新', isAuth: true},
  105. component: () => import('~src/views/project/contract/update.vue')
  106. },
  107. ],
  108. },
  109. {
  110. path: '/program',
  111. name: 'program',
  112. redirect: '/program/annual',
  113. meta: {title: '预算计划管理'},
  114. component: Layout,
  115. children: [
  116. //年度经营预算
  117. {
  118. path: '/program/annual',
  119. name: 'program-annual',
  120. meta: {title: '年度经营预算'},
  121. component: () => import('~src/views/program/annual/index.vue')
  122. },
  123. {
  124. path: '/program/annual-form',
  125. name: 'program-annual-form',
  126. meta: {title: '年度经营预算信息', isAuth: true},
  127. component: () => import('~src/views/program/annual/form.vue')
  128. },
  129. {
  130. path: '/program/annual-view',
  131. name: 'program-annual-view',
  132. meta: {title: '预览年度经营预算', isAuth: true},
  133. component: () => import('~src/views/program/annual/view.vue')
  134. },
  135. //项目计划预算
  136. {
  137. path: '/program/project',
  138. name: 'program-project',
  139. meta: {title: '项目计划预算'},
  140. component: () => import('~src/views/program/project/index.vue')
  141. },
  142. {
  143. path: '/program/project-form',
  144. name: 'program-project-form',
  145. meta: {title: '项目计划预算信息', isAuth: true},
  146. component: () => import('~src/views/program/project/form.vue')
  147. },
  148. //部门月度计划预算
  149. {
  150. path: '/program/section',
  151. name: 'program-section',
  152. meta: {title: '部门月度计划预算'},
  153. component: () => import('~src/views/program/section/index.vue')
  154. },
  155. {
  156. path: '/program/section-form',
  157. name: 'program-section-form',
  158. meta: {title: '部门月度计划预算信息', isAuth: true},
  159. component: () => import('~src/views/program/section/form.vue')
  160. },
  161. ],
  162. },
  163. {
  164. path: '/task',
  165. name: 'task',
  166. redirect: '/task/logs',
  167. meta: {title: '任务管理'},
  168. component: Layout,
  169. children: [
  170. {
  171. path: '/task/logs',
  172. name: 'task-logs',
  173. meta: {title: '日志填报'},
  174. component: () => import('~src/views/task/logs/index.vue')
  175. },
  176. {
  177. path: '/task/plan',
  178. name: 'task-plan',
  179. meta: {title: '计划任务执行', isAuth: true},
  180. component: () => import('~src/views/task/plan/index.vue')
  181. },
  182. ],
  183. },
  184. {
  185. path: '/expense',
  186. name: 'expense',
  187. redirect: '/expense/finReimburse',
  188. meta: {title: '费用管理'},
  189. component: Layout,
  190. children: [
  191. //财务报销
  192. {
  193. path: '/expense/finReimburse',
  194. name: 'expense-finReimburse',
  195. meta: {title: '财务报销'},
  196. component: () => import('~src/views/expense/finReimburse/index.vue')
  197. },
  198. {
  199. path: '/expense/finReimburse/record',
  200. name: 'expense-finReimburse-record',
  201. meta: {title: '财务报销记录', isAuth: true},
  202. component: () => import('~src/views/expense/finReimburse/record.vue')
  203. },
  204. //支付申请
  205. {
  206. path: '/expense/paymentRequest',
  207. name: 'expense-paymentRequest',
  208. meta: {title: '支付申请'},
  209. component: () => import('~src/views/expense/paymentRequest/index.vue')
  210. },
  211. {
  212. path: '/expense/paymentRequest/record',
  213. name: 'expense-paymentRequest-record',
  214. meta: {title: '支付申请记录', isAuth: true},
  215. component: () => import('~src/views/expense/paymentRequest/record.vue')
  216. },
  217. //借款申请
  218. {
  219. path: '/expense/loanRequest',
  220. name: 'expense-loanRequest',
  221. meta: {title: '借款申请'},
  222. component: () => import('~src/views/expense/loanRequest/index.vue')
  223. },
  224. {
  225. path: '/expense/loanRequest/record',
  226. name: 'expense-loanRequest-record',
  227. meta: {title: '借款申请记录', isAuth: true},
  228. component: () => import('~src/views/expense/loanRequest/record.vue')
  229. },
  230. //采购申请
  231. {
  232. path: '/expense/purchaseRequest',
  233. name: 'expense-purchaseRequest',
  234. meta: {title: '采购申请'},
  235. component: () => import('~src/views/expense/purchaseRequest/index.vue')
  236. },
  237. {
  238. path: '/expense/purchaseRequest/record',
  239. name: 'expense-purchaseRequest-record',
  240. meta: {title: '采购申请记录', isAuth: true},
  241. component: () => import('~src/views/expense/purchaseRequest/record.vue')
  242. },
  243. //用车申请
  244. {
  245. path: '/expense/vehicleRequest',
  246. name: 'expense-vehicleRequest',
  247. meta: {title: '用车申请'},
  248. component: () => import('~src/views/expense/vehicleRequest/index.vue')
  249. },
  250. {
  251. path: '/expense/vehicleRequest/record',
  252. name: 'expense-vehicleRequest-record',
  253. meta: {title: '用车申请记录', isAuth: true},
  254. component: () => import('~src/views/expense/vehicleRequest/record.vue')
  255. },
  256. //发票管理
  257. {
  258. path: '/expense/invoice',
  259. name: 'expense-invoice',
  260. meta: {title: '发票管理'},
  261. component: () => import('~src/views/expense/invoice/index.vue')
  262. },
  263. {
  264. path: '/expense/invoice/billing',
  265. name: 'expense-invoice-billing',
  266. meta: {title: '开票审批', isAuth: true},
  267. component: () => import('~src/views/expense/invoice/billing.vue')
  268. },
  269. //外包支付
  270. {
  271. path: '/expense/outsourcing',
  272. name: 'expense-outsourcing',
  273. meta: {title: '外包支付'},
  274. component: () => import('~src/views/expense/outsourcing/index.vue')
  275. },
  276. {
  277. path: '/expense/outsourcing/record',
  278. name: 'expense-outsourcing-record',
  279. meta: {title: '外包支付记录', isAuth: true},
  280. component: () => import('~src/views/expense/outsourcing/record.vue')
  281. },
  282. ],
  283. },
  284. {
  285. path: '/attendance',
  286. name: 'attendance',
  287. redirect: '/attendance/business-trip',
  288. meta: {title: '考勤管理'},
  289. component: Layout,
  290. children: [
  291. {
  292. path: '/attendance/business-trip',
  293. name: 'attendance-business-trip',
  294. meta: {title: '出差管理'},
  295. component: () => import('~src/views//attendance/business-trip/index.vue')
  296. },
  297. {
  298. path: '/attendance/business-trip-info',
  299. name: 'attendance-business-trip-info',
  300. meta: {title: '出差管理信息', isAuth: true},
  301. component: () => import('~src/views//attendance/business-trip/info.vue')
  302. },
  303. {
  304. path: '/attendance/statistic',
  305. name: 'attendance-statistic',
  306. meta: {title: '考勤统计'},
  307. component: () => import('~src/views//attendance/statistic.vue')
  308. },
  309. ],
  310. },
  311. {
  312. path: '/user',
  313. name: 'user',
  314. redirect: '/user/index',
  315. meta: {title: '个人中心'},
  316. component: Layout,
  317. children: [
  318. {
  319. path: '/user/index',
  320. name: 'user-index',
  321. meta: {title: '个人资料', isAuth: true},
  322. component: () => import('~src/views/user/index.vue')
  323. },
  324. {
  325. path: '/user/config',
  326. name: 'user-config',
  327. meta: {title: '主题设置', isAuth: true},
  328. component: () => import('~src/views/user/config.vue')
  329. },
  330. ],
  331. },
  332. {
  333. path: '/static',
  334. name: 'static',
  335. redirect: '/static/static',
  336. meta: {title: '综合查询统计'},
  337. component: Layout,
  338. children: [
  339. {
  340. path: '/static/actual',
  341. name: 'static-actual',
  342. meta: {title: '预算与实际统计'},
  343. component: () => import('~src/views/static/actual.vue')
  344. },
  345. {
  346. path: '/static/static',
  347. name: 'static-project',
  348. meta: {title: '项目统计'},
  349. component: () => import('~src/views/static/project.vue')
  350. },
  351. {
  352. path: '/static/plan',
  353. name: 'static-plan',
  354. meta: {title: '任务统计'},
  355. component: () => import('~src/views/static/plan.vue')
  356. },
  357. ],
  358. },
  359. {
  360. path: '/system',
  361. name: 'system',
  362. redirect: '/system/user',
  363. meta: {title: '系统设置'},
  364. component: Layout,
  365. children: [
  366. {
  367. path: '/system/user',
  368. name: 'system-user',
  369. meta: {title: '账户管理'},
  370. component: () => import('~src/views/system/user.vue')
  371. },
  372. {
  373. path: '/system/menu',
  374. name: 'system-menu',
  375. meta: {title: '菜单管理'},
  376. component: () => import('~src/views/system/menu.vue')
  377. },
  378. {
  379. path: '/system/parameter',
  380. name: 'system-parameter',
  381. meta: {title: '参数配置'},
  382. component: () => import('~src/views/system/parameter.vue')
  383. },
  384. {
  385. path: '/system/organization',
  386. name: 'system-organization',
  387. meta: {title: '组织架构管理'},
  388. component: () => import('~src/views/system/organization.vue')
  389. },
  390. ],
  391. },
  392. {
  393. path: '/people',
  394. name: 'people',
  395. redirect: '/people/company-rule',
  396. meta: {title: '人资管理'},
  397. component: Layout,
  398. children: [
  399. {
  400. path: '/people/company-rule',
  401. name: 'people-company-rule',
  402. meta: {title: '公司制度'},
  403. component: () => import('~src/views/people/company-rule.vue')
  404. },
  405. {
  406. path: '/people/archive',
  407. name: 'people-archive',
  408. meta: {title: '员工档案'},
  409. component: () => import('~src/views/people/archive/index.vue')
  410. },
  411. {
  412. path: '/people/archive-info',
  413. name: 'people-archive-info',
  414. meta: {title: '员工档案信息', isAuth: true},
  415. component: () => import('~src/views/people/archive/info.vue')
  416. },
  417. {
  418. path: '/people/contract',
  419. name: 'people-contract',
  420. meta: {title: '员工合同'},
  421. component: () => import('~src/views/people/contract/index.vue')
  422. },
  423. {
  424. path: '/people/contract-info',
  425. name: 'people-contract-info',
  426. meta: {title: '员工合同信息', isAuth: true},
  427. component: () => import('~src/views/people/contract/info.vue')
  428. },
  429. {
  430. path: '/people/salary',
  431. name: 'people-salary',
  432. meta: {title: '薪酬管理'},
  433. component: () => import('~src/views/people/salary.vue')
  434. },
  435. {
  436. path: '/people/entry',
  437. name: 'people-entry',
  438. meta: {title: '入职管理'},
  439. component: () => import('~src/views/people/entry.vue')
  440. },
  441. {
  442. path: '/people/dimission',
  443. name: 'people-dimission',
  444. meta: {title: '离职管理'},
  445. component: () => import('~src/views/people/dimission.vue')
  446. },
  447. ],
  448. },
  449. // {
  450. // path: '/risk',
  451. // name: 'risk',
  452. // redirect: '/risk/warning',
  453. // meta: {title: '风险预警'},
  454. // component: Layout,
  455. // children: [
  456. // {
  457. // path: '/risk/warning',
  458. // name: 'risk-warning',
  459. // meta: {title: '风险预警'},
  460. // component: () => import('~src/views/risk/warning.vue')
  461. // },
  462. // ],
  463. // },
  464. {
  465. path: '/403',
  466. name: '403',
  467. meta: {title: '403'},
  468. component: () => import('~src/views/error/403.vue')
  469. },
  470. {
  471. path: '/404',
  472. name: '404',
  473. meta: {title: '404'},
  474. component: () => import('~src/views/error/404.vue')
  475. },
  476. {
  477. path: '/500',
  478. name: '500',
  479. meta: {title: '500'},
  480. component: () => import('~src/views/error/500.vue')
  481. },
  482. {
  483. path: '/:path(.*)*',
  484. redirect: '/404'
  485. }
  486. ]