router.js 8.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. 'use strict';
  2. module.exports = app => {
  3. // session验证中间件
  4. const sessionAuth = app.middlewares.sessionAuth();
  5. // 创建时间自动填充中间件
  6. const datetimeFill = app.middlewares.datetimeFill();
  7. // 项目管理员判断中间件
  8. const projectManagerCheck = app.middlewares.projectManagerCheck();
  9. // 标段读取中间件
  10. const tenderSelect = app.middlewares.tenderSelect();
  11. // 登入登出相关
  12. app.get('/login', 'loginController.index');
  13. app.get('/', 'loginController.index');
  14. app.get('/logout', 'loginController.logout');
  15. app.post('/login', 'loginController.login');
  16. // 用户信息初始化相关
  17. app.get('/boot', sessionAuth, 'bootController.index');
  18. app.post('/boot', sessionAuth, 'bootController.boot');
  19. // 控制面板相关
  20. app.get('/dashboard', sessionAuth, 'dashboardController.index');
  21. /**
  22. * 项目设置
  23. */
  24. // 项目信息
  25. app.get('/setting/info', sessionAuth, 'settingController.info');
  26. app.post('/setting/updateinfo/:id', sessionAuth, 'settingController.updateinfo');
  27. // 账号设置
  28. app.get('/setting/user', sessionAuth, 'settingController.user');
  29. // 标段自定义类别
  30. app.get('/setting/category', sessionAuth, 'settingController.category');
  31. app.post('/api/setting/category/add', sessionAuth, 'settingController.addCategory');
  32. app.post('/api/setting/category/del', sessionAuth, 'settingController.deleteCategory');
  33. app.post('/api/setting/category/update', sessionAuth, 'settingController.updateCategory');
  34. app.post('/api/setting/category/value', sessionAuth, 'settingController.setCategoryValue');
  35. app.post('/api/setting/category/level', sessionAuth, 'settingController.resetCategoryLevel');
  36. // 项目相关
  37. app.get('/project/info', sessionAuth, 'projectController.info');
  38. app.get('/project/account', sessionAuth, projectManagerCheck, 'accountController.index');
  39. app.post('/project/account/permission/:accountId', sessionAuth, projectManagerCheck, 'accountController.savePermission');
  40. app.get('/project/account/enable/:accountId', sessionAuth, projectManagerCheck, 'accountController.enable');
  41. app.get('/project/account/disable/:accountId', sessionAuth, projectManagerCheck, 'accountController.enable');
  42. app.get('/project/switch/:projectId', sessionAuth, projectManagerCheck, 'projectController.switchProject');
  43. app.post('/project/info', sessionAuth, 'projectController.saveInfo');
  44. /**
  45. * 标段管理
  46. */
  47. // 金额概况
  48. app.get('/list', sessionAuth, 'tenderController.listInfo');
  49. // 计量进度
  50. app.get('/list/progress', sessionAuth, 'tenderController.listProgress');
  51. // 管理标段
  52. app.get('/list/manage', sessionAuth, 'tenderController.listManage');
  53. app.post('/list/add', sessionAuth, 'tenderController.addTender');
  54. app.post('/list/update', sessionAuth, 'tenderController.updateTender');
  55. app.post('/list/del', sessionAuth, 'tenderController.deleteTender');
  56. // 标段概况
  57. app.get('/tender/:id', sessionAuth, 'tenderController.tenderInfo');
  58. app.post('/api/tender/:id/save', sessionAuth, 'tenderController.saveTenderInfo');
  59. app.post('/tender/rule', sessionAuth, 'tenderController.rule');
  60. // 台账管理相关
  61. app.get('/tender/:id/ledger/explode', sessionAuth, 'ledgerController.explode');
  62. app.post('/tender/:id/ledger/get-children', sessionAuth, 'ledgerController.getChildren');
  63. app.post('/tender/:id/ledger/base-operation', sessionAuth, 'ledgerController.baseOperation');
  64. app.post('/tender/:id/ledger/update', sessionAuth, 'ledgerController.update');
  65. app.post('/tender/:id/ledger/update-info', sessionAuth, 'ledgerController.updateInfo');
  66. app.post('/tender/:id/ledger/paste-block', sessionAuth, 'ledgerController.pasteBlock');
  67. app.post('/tender/:id/ledger/add-by-std', sessionAuth, 'ledgerController.addFromStandardLib');
  68. app.post('/tender/:id/ledger/batch-insert', sessionAuth, 'ledgerController.batchInsert');
  69. app.post('/tender/:id/ledger/search', sessionAuth, 'ledgerController.search');
  70. app.post('/tender/:id/ledger/locate', sessionAuth, 'ledgerController.locate');
  71. app.post('/tender/:id/ledger/posterity', sessionAuth, 'ledgerController.posterity');
  72. app.get('/tender/:id/ledger/change', sessionAuth, 'ledgerController.change');
  73. app.get('/tender/:id/ledger/index', sessionAuth, 'ledgerController.index');
  74. // 台账审批相关
  75. app.get('/tender/:id/ledger/audit', sessionAuth, 'ledgerAuditController.index');
  76. app.post('/tender/:id/ledger/audit/add', sessionAuth, 'ledgerAuditController.add');
  77. app.post('/tender/:id/ledger/audit/delete', sessionAuth, 'ledgerAuditController.remove');
  78. app.post('/tender/:id/ledger/audit/start', sessionAuth, 'ledgerAuditController.start');
  79. app.post('/tender/:id/ledger/audit/check', sessionAuth, 'ledgerAuditController.check');
  80. app.post('/tender/:id/ledger/audit/addContent', sessionAuth, 'ledgerAuditController.addContent');
  81. app.post('/tender/:id/ledger/audit/getContent', sessionAuth, 'ledgerAuditController.getContent');
  82. // 签约清单
  83. app.post('/tender/:id/deal/get-data', sessionAuth, 'dealBillsController.getData');
  84. app.post('/tender/:id/deal/upload-excel', sessionAuth, 'dealBillsController.loadExcel');
  85. app.get('/tender/:id/deal/download/:file', sessionAuth, 'dealBillsController.download');
  86. // 变更管理
  87. app.get('/tender/:id/change', sessionAuth, 'changeController.index');
  88. app.get('/tender/:id/change/status/:status', sessionAuth, 'changeController.status');
  89. app.post('/tender/:id/change/newCode', sessionAuth, 'changeController.newCode');
  90. app.post('/tender/:id/change/add', sessionAuth, 'changeController.add');
  91. app.get('/tender/:id/change/:cid/info', sessionAuth, 'changeController.info');
  92. app.get('/tender/:id/change/:cid/bills', sessionAuth, 'changeController.bills');
  93. app.get('/tender/:id/change/:cid/file', sessionAuth, 'changeController.file');
  94. // 个人账号相关
  95. app.get('/profile/info', sessionAuth, 'profileController.info');
  96. app.post('/profile/save', sessionAuth, 'profileController.saveBase');
  97. app.post('/profile/password', sessionAuth, 'profileController.modifyPassword');
  98. app.post('/profile/code', sessionAuth, 'profileController.getCode');
  99. app.post('/profile/bind', sessionAuth, 'profileController.bindMobile');
  100. // 中间计量 - 计量编制相关
  101. app.get('/measure/wlist', sessionAuth, tenderSelect, 'measureController.list');
  102. app.get('/measure/work/:mid', sessionAuth, tenderSelect, 'measureController.work');
  103. app.post('/measure/newCode', sessionAuth, 'measureController.newCode');
  104. app.post('/measure/add', sessionAuth, 'measureController.addMeasure');
  105. app.post('/measure/delete', sessionAuth, 'measureController.deleteMeasure');
  106. app.post('/measure/search', sessionAuth, 'measureController.search');
  107. app.post('/measure/pos', sessionAuth, 'measureController.pos');
  108. app.post('/measure/bills', sessionAuth, 'measureController.bills');
  109. app.post('/measure/detail', sessionAuth, 'measureController.measureDetail');
  110. app.post('/measure/billsUpdate', sessionAuth, 'measureController.billsUpdate');
  111. // 中间计量 - 计量审批相关
  112. app.get('/measure/alist', sessionAuth, tenderSelect, 'measureAuditController.list');
  113. app.get('/measure/audit/:mid', sessionAuth, 'measureAuditController.index');
  114. app.post('/measure/audit/add', sessionAuth, 'measureAuditController.add');
  115. app.post('/measure/audit/remove', sessionAuth, 'measureAuditController.remove');
  116. app.post('/measure/audit/start', sessionAuth, 'measureAuditController.start');
  117. app.post('/measure/audit/check', sessionAuth, 'measureAuditController.check');
  118. // 期计量管理相关
  119. app.get('/tender/:id/measure/stage', sessionAuth, 'stageController.index');
  120. app.post('/tender/:id/stage/add', sessionAuth, 'stageController.add');
  121. app.get('/tender/:id/stage/:order/measure', sessionAuth, tenderSelect, 'stageController.stageMeasure');
  122. app.get('/tender/:id/stage/:order/deal', sessionAuth, tenderSelect, 'stageController.stageDeal');
  123. app.get('/tender/:id/stage/:order/report', sessionAuth, tenderSelect, 'stageController.stageReport');
  124. //标准库相关
  125. app.post('/std/bills/get-data', sessionAuth, 'stdBillsController.getData');
  126. app.post('/std/bills/get-children', sessionAuth, 'stdBillsController.getChildren');
  127. app.post('/std/chapter/get-data', sessionAuth, 'stdChapterController.getData');
  128. app.post('/std/chapter/get-children', sessionAuth, 'stdChapterController.getChildren');
  129. // 查询
  130. app.post('/search/user', sessionAuth, 'projectController.searchAccount');
  131. };