menu.js 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596
  1. 'use strict';
  2. /**
  3. * 前台菜单配置
  4. *
  5. * @author CaiAoLin
  6. * @date 2017/11/29
  7. * @version
  8. */
  9. const projectMenu = {
  10. dashboard: {
  11. name: '工作台',
  12. icon: 'fa-check-square-o',
  13. display: true,
  14. url: '/dashboard',
  15. children: null,
  16. caption: '工作台',
  17. controller: 'dashboard',
  18. },
  19. projectscreen: {
  20. name: '项目大屏',
  21. icon: 'fa-television',
  22. display: false,
  23. url: '/projectscreen',
  24. children: null,
  25. caption: '项目大屏',
  26. controller: 'projectscreen',
  27. },
  28. dataview: {
  29. name: '数据大屏',
  30. icon: 'fa-th-large',
  31. display: false,
  32. url: '/dataview',
  33. children: null,
  34. caption: '数据大屏',
  35. controller: 'dataview',
  36. },
  37. subproj: {
  38. name: '项目列表',
  39. icon: 'fa-cubes',
  40. display: true,
  41. url: '/subproj',
  42. children: null,
  43. caption: '项目列表',
  44. controller: 'subproj',
  45. },
  46. spgather: {
  47. name: '项目汇总',
  48. icon: 'fa-sitemap',
  49. display: false,
  50. url: '/spgather',
  51. children: null,
  52. caption: '项目汇总',
  53. controller: 'spgather',
  54. },
  55. management: {
  56. name: '项目管理系统',
  57. icon: 'fa-cubes',
  58. display: false,
  59. caption: 'PMSS',
  60. children: null,
  61. },
  62. };
  63. const menu = {
  64. back: {
  65. name: '项目列表',
  66. icon: 'fa-mail-reply-all',
  67. display: true,
  68. url: '/subproj',
  69. children: null,
  70. caption: '项目列表',
  71. controller: 'subproj',
  72. },
  73. dashboard: {
  74. name: '待办事项',
  75. icon: 'fa-check-square-o',
  76. display: true,
  77. children: null,
  78. caption: '待办事项',
  79. controller: 'dashboard',
  80. },
  81. datacollect: {
  82. name: '决策大屏',
  83. icon: 'fa-th-large',
  84. display: true,
  85. children: null,
  86. caption: '决策大屏',
  87. controller: 'datacollect',
  88. },
  89. info: {
  90. name: '项目概况',
  91. icon: 'fa-tags',
  92. display: true,
  93. children: null,
  94. caption: '项目概况',
  95. controller: 'info',
  96. controllers: ['info', 'progress', 'data', 'push'],
  97. },
  98. tender: {
  99. name: '计量管理',
  100. icon: 'fa-list-ul',
  101. display: true,
  102. children: null,
  103. caption: '计量管理',
  104. controller: 'list',
  105. controllers: ['list', 'tender', 'construction', 'spss'],
  106. // includedUrl: { contract: ['/contract/tender'] },
  107. },
  108. contract: {
  109. name: '合同管理',
  110. icon: 'fa-file-text-o',
  111. display: true,
  112. // url: '/contract/detail',
  113. children: [
  114. {
  115. msg: 'subproj',
  116. name: '项目合同',
  117. caption: '项目合同',
  118. controller: 'contract',
  119. display: true,
  120. notIncludedUrl: ['/contract/tender'],
  121. },
  122. {
  123. msg: 'tender',
  124. name: '标段合同',
  125. caption: '标段合同',
  126. controllers: ['contract'],
  127. display: true,
  128. includedUrl: { contract: ['/contract/tender'] },
  129. },
  130. ],
  131. caption: '合同管理',
  132. },
  133. quality: {
  134. name: '质量管理',
  135. icon: 'fa-balance-scale',
  136. display: true,
  137. caption: '质量管理',
  138. // controller: 'quality',
  139. // notIncludedUrl: ['/inspection'],
  140. children: [
  141. {
  142. msg: 'quality',
  143. name: '工程资料',
  144. caption: '工程资料',
  145. controller: 'quality',
  146. display: true,
  147. notIncludedUrl: ['/inspection'],
  148. },
  149. {
  150. msg: 'inspection',
  151. name: '质量巡检',
  152. caption: '质量巡检',
  153. display: true,
  154. controllers: ['quality'],
  155. includedUrl: { quality: ['/inspection'] },
  156. },
  157. ],
  158. },
  159. // inspection: {
  160. // name: '质量巡检',
  161. // icon: 'fa-newspaper-o',
  162. // display: true,
  163. // children: null,
  164. // caption: '质量巡检',
  165. // controllers: ['quality'],
  166. // includedUrl: { quality: ['/inspection'] },
  167. // },
  168. safe: {
  169. name: '安全管理',
  170. icon: 'fa-shield',
  171. display: true,
  172. // url: '/contract/detail',
  173. children: [
  174. {
  175. msg: 'payment',
  176. name: '安全计量',
  177. caption: '安全计量',
  178. controller: 'safe',
  179. display: true,
  180. notIncludedUrl: ['/inspection'],
  181. },
  182. {
  183. msg: 'inspection',
  184. name: '安全巡检',
  185. caption: '安全巡检',
  186. controllers: ['safe'],
  187. display: true,
  188. includedUrl: { safe: ['/inspection'] },
  189. },
  190. ],
  191. caption: '安全管理',
  192. },
  193. file: {
  194. name: '资料管理',
  195. icon: 'fa-file-zip-o',
  196. display: true,
  197. children: null,
  198. caption: '资料管理',
  199. controller: 'file',
  200. controllers: ['file', 'fm'],
  201. },
  202. budget: {
  203. name: '进度管理',
  204. icon: 'fa-pie-chart',
  205. display: true,
  206. children: [
  207. {
  208. msg: 'budget',
  209. name: '项目进度',
  210. caption: '项目进度',
  211. controller: 'budget',
  212. display: true,
  213. // notIncludedUrl: ['/inspection'],
  214. },
  215. {
  216. msg: 'schedule',
  217. name: '标段进度',
  218. caption: '标段进度',
  219. controller: 'schedule',
  220. display: true,
  221. // includedUrl: { safe: ['/inspection'] },
  222. },
  223. ],
  224. caption: '进度管理',
  225. controller: 'budget',
  226. },
  227. payment: {
  228. name: '支付审批',
  229. icon: 'fa-handshake-o',
  230. display: true,
  231. // url: '/payment',
  232. caption: '支付审批',
  233. children: null,
  234. controller: 'payment',
  235. },
  236. financial: {
  237. name: '资金监管',
  238. icon: 'fa-cny',
  239. display: true,
  240. // url: '/financial',
  241. caption: '资金监管',
  242. children: null,
  243. controller: 'financial',
  244. },
  245. cost: {
  246. name: '成本管理',
  247. icon: 'fa-calculator',
  248. display: true,
  249. caption: '成本管理',
  250. children: null,
  251. controller: 'cost',
  252. },
  253. // sum: {
  254. // name: '总分包',
  255. // icon: 'fa-sitemap',
  256. // display: true,
  257. // url: '/sum',
  258. // children: null,
  259. // caption: '总分包',
  260. // },
  261. };
  262. const tenderMenu = {
  263. info: {
  264. name: '标段概况',
  265. display: false,
  266. children: [
  267. {
  268. name: '标段概况',
  269. icon: '<i class="fa fa-pie-chart"></i> ',
  270. display: true,
  271. url: '',
  272. },
  273. ],
  274. },
  275. ledger: {
  276. name: '0号台账',
  277. icon: '<i class="fa fa-list-alt"></i> ',
  278. display: true,
  279. children: [
  280. {
  281. name: '台账分解',
  282. display: true,
  283. url: '/ledger/explode',
  284. }, {
  285. name: '台账修订',
  286. display: true,
  287. url: '/revise',
  288. },
  289. ],
  290. },
  291. measure: {
  292. name: '计量台账',
  293. icon: '<i class="fa fa-calendar-check-o"></i> ',
  294. display: true,
  295. children: [
  296. {
  297. name: '期列表',
  298. display: true,
  299. url: '/measure/stage',
  300. // }, {
  301. // name: '清单汇总',
  302. // display: true,
  303. // url: '/measure/gather',
  304. }, {
  305. name: '多期比较',
  306. display: true,
  307. url: '/measure/compare',
  308. },
  309. ],
  310. },
  311. change: {
  312. name: '工程变更',
  313. display: false,
  314. children: [
  315. {
  316. name: '工程变更',
  317. icon: '<i class="fa fa-retweet"></i> ',
  318. display: true,
  319. url: '/change',
  320. },
  321. ],
  322. },
  323. report: {
  324. name: '输出报表',
  325. display: false,
  326. children: [
  327. {
  328. name: '输出报表',
  329. icon: '<i class="fa fa-file-text-o"></i> ',
  330. display: true,
  331. url: '/report',
  332. },
  333. ],
  334. },
  335. };
  336. const stageMenu = {
  337. back: {
  338. name: '返回',
  339. display: false,
  340. children: [
  341. {
  342. name: '返回',
  343. icon: '<i class="fa fa-chevron-left "></i> ',
  344. display: true,
  345. url: '/measure/stage',
  346. fixedUrl: true,
  347. },
  348. ],
  349. },
  350. ledger: {
  351. name: '本期计量台账',
  352. display: false,
  353. children: [
  354. {
  355. name: '本期计量台账',
  356. icon: '',
  357. display: true,
  358. url: '',
  359. class: ' class="ml-3"',
  360. },
  361. ],
  362. },
  363. detail: {
  364. name: '中间计量',
  365. display: false,
  366. children: [
  367. {
  368. name: '中间计量',
  369. icon: '',
  370. display: true,
  371. url: '/detail',
  372. class: ' class="ml-3"',
  373. },
  374. ],
  375. },
  376. pay: {
  377. name: '合同支付',
  378. display: false,
  379. children: [
  380. {
  381. name: '合同支付',
  382. icon: '',
  383. display: true,
  384. url: '/pay',
  385. class: ' class="ml-3"',
  386. },
  387. ],
  388. },
  389. change: {
  390. name: '变更令',
  391. display: false,
  392. children: [
  393. {
  394. name: '变更令',
  395. icon: '',
  396. display: true,
  397. url: '/change',
  398. class: ' class="ml-3"',
  399. },
  400. ],
  401. },
  402. gather: {
  403. name: '清单汇总',
  404. display: false,
  405. children: [
  406. {
  407. name: '清单汇总',
  408. icon: '',
  409. display: true,
  410. url: '/gather',
  411. class: ' class="ml-3"',
  412. },
  413. ],
  414. },
  415. compare: {
  416. name: '审核比较',
  417. display: false,
  418. children: [
  419. {
  420. name: '审核比较',
  421. icon: '',
  422. display: true,
  423. url: '/compare',
  424. class: ' class="ml-3"',
  425. },
  426. ],
  427. },
  428. report: {
  429. name: '输出报表',
  430. display: false,
  431. children: [
  432. {
  433. name: '输出报表',
  434. icon: '<i class="fa fa-file-text-o"></i> ',
  435. display: true,
  436. url: '/report',
  437. class: '',
  438. },
  439. ],
  440. },
  441. };
  442. const sumMenu = {
  443. info: {
  444. name: '总包概况',
  445. display: false,
  446. children: [
  447. {
  448. name: '总包概况',
  449. icon: '<i class="fa fa-pie-chart"></i> ',
  450. display: true,
  451. url: '/sum',
  452. },
  453. ],
  454. },
  455. stage: {
  456. name: '上报期',
  457. display: false,
  458. children: [
  459. {
  460. name: '上报期',
  461. icon: '<i class="fa fa-calendar-check-o"></i> ',
  462. display: true,
  463. url: '/sum/stage',
  464. },
  465. ],
  466. },
  467. };
  468. const settingMenu = {
  469. info: {
  470. name: '平台信息',
  471. display: true,
  472. url: '/setting/info',
  473. caption: '平台信息',
  474. },
  475. user: {
  476. name: '账号设置',
  477. display: true,
  478. url: '/setting/user',
  479. caption: '账号设置',
  480. },
  481. s2b: {
  482. name: '接口设置',
  483. display: false,
  484. url: '/setting/api',
  485. caption: '接口设置',
  486. },
  487. show: {
  488. name: '显示设置',
  489. display: true,
  490. url: '/setting/show',
  491. caption: '显示设置',
  492. },
  493. module: {
  494. name: '模块管理',
  495. display: true,
  496. url: '/setting/module',
  497. caption: '模块管理',
  498. },
  499. manage: {
  500. name: '计量管理',
  501. display: false,
  502. url: '/setting/manage',
  503. caption: '计量管理',
  504. },
  505. };
  506. const projectSettingMenu = {
  507. category: {
  508. name: '标段自定义类别',
  509. display: true,
  510. url: '/setting/category',
  511. caption: '标段自定义类别',
  512. },
  513. user: {
  514. name: '项目成员',
  515. display: true,
  516. url: '/setting/user',
  517. caption: '项目成员',
  518. },
  519. fun: {
  520. name: '功能设置',
  521. display: true,
  522. url: '/setting/fun',
  523. caption: '功能设置',
  524. },
  525. log: {
  526. name: '操作日志',
  527. display: true,
  528. url: '/setting/logs',
  529. caption: '操作日志',
  530. },
  531. datacollect: {
  532. name: '决策大屏',
  533. display: true,
  534. url: '/setting/datacollect',
  535. caption: '决策大屏',
  536. },
  537. manage: {
  538. name: '标段设置',
  539. display: true,
  540. url: '/setting/manage',
  541. caption: '标段设置',
  542. },
  543. };
  544. const profileMenu = {
  545. info: {
  546. name: '账号资料',
  547. display: false,
  548. url: '/profile/info',
  549. },
  550. sms: {
  551. name: '认证手机',
  552. display: false,
  553. url: '/profile/sms',
  554. },
  555. wechat: {
  556. name: '微信通知',
  557. display: false,
  558. url: '/profile/wechat',
  559. },
  560. sign: {
  561. name: '签字/签章管理',
  562. display: false,
  563. url: '/profile/sign',
  564. },
  565. safe: {
  566. name: '账号安全',
  567. display: false,
  568. url: '/profile/safe',
  569. },
  570. // help: {
  571. // name: '帮助中心',
  572. // display: false,
  573. // url: '/',
  574. // },
  575. };
  576. module.exports = {
  577. projectMenu,
  578. menu,
  579. tenderMenu,
  580. stageMenu,
  581. sumMenu,
  582. settingMenu,
  583. projectSettingMenu,
  584. profileMenu,
  585. };