router.js 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254
  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 tenderCheck = app.middlewares.tenderCheck();
  11. // 期读取中间件
  12. const stageCheck = app.middlewares.stageCheck();
  13. // 登入登出相关
  14. app.get('/login', 'loginController.index');
  15. app.get('/', 'loginController.index');
  16. app.get('/logout', 'loginController.logout');
  17. app.post('/login', 'loginController.login');
  18. app.get('/sign', 'signController.index');
  19. app.post('/sign/save', 'signController.save');
  20. // 用户信息初始化相关
  21. app.get('/boot', sessionAuth, 'bootController.index');
  22. app.post('/boot', sessionAuth, 'bootController.boot');
  23. // 控制面板相关
  24. app.get('/dashboard', sessionAuth, 'dashboardController.index');
  25. /**
  26. * 项目设置
  27. */
  28. // 项目信息
  29. app.get('/setting/info', sessionAuth, 'settingController.info');
  30. app.post('/setting/updateinfo/:id', sessionAuth, 'settingController.updateinfo');
  31. // 账号设置
  32. app.get('/setting/user', sessionAuth, 'settingController.user');
  33. app.get('/setting/user/permission/set', sessionAuth, 'settingController.userPermissionSet');
  34. // 账号停用和启用
  35. app.post('/setting/user/switch', sessionAuth, 'settingController.userSwitch');
  36. app.post('/setting/user/add', sessionAuth, 'settingController.addUser');
  37. app.post('/setting/user/update', sessionAuth, 'settingController.updateUser');
  38. app.post('/setting/user/permission', sessionAuth, 'settingController.permission');
  39. app.post('/setting/user/reset/password', sessionAuth, 'settingController.resetUserPassword');
  40. app.post('/setting/user/exist', sessionAuth, 'settingController.accountExist');
  41. // 标段自定义类别
  42. app.get('/setting/category', sessionAuth, 'settingController.category');
  43. app.post('/setting/category/add', sessionAuth, 'settingController.addCategory');
  44. app.post('/setting/category/del', sessionAuth, 'settingController.deleteCategory');
  45. app.post('/setting/category/update', sessionAuth, 'settingController.updateCategory');
  46. app.post('/setting/category/value', sessionAuth, 'settingController.setCategoryValue');
  47. app.post('/setting/category/level', sessionAuth, 'settingController.resetCategoryLevel');
  48. // 项目相关
  49. app.get('/project/info', sessionAuth, 'projectController.info');
  50. app.get('/project/account', sessionAuth, projectManagerCheck, 'accountController.index');
  51. app.post('/project/account/permission/:accountId', sessionAuth, projectManagerCheck, 'accountController.savePermission');
  52. app.get('/project/account/enable/:accountId', sessionAuth, projectManagerCheck, 'accountController.enable');
  53. app.get('/project/account/disable/:accountId', sessionAuth, projectManagerCheck, 'accountController.enable');
  54. app.get('/project/switch/:projectId', sessionAuth, projectManagerCheck, 'projectController.switchProject');
  55. app.post('/project/info', sessionAuth, 'projectController.saveInfo');
  56. /**
  57. * 标段管理
  58. */
  59. // 金额概况
  60. app.get('/list', sessionAuth, 'tenderController.listInfo');
  61. // 计量进度
  62. app.get('/list/progress', sessionAuth, 'tenderController.listProgress');
  63. // 管理标段
  64. app.get('/list/manage', sessionAuth, 'tenderController.listManage');
  65. app.post('/list/add', sessionAuth, 'tenderController.addTender');
  66. app.post('/list/update', sessionAuth, 'tenderController.updateTender');
  67. app.post('/list/del', sessionAuth, 'tenderController.deleteTender');
  68. // 标段概况
  69. app.get('/tender/:id', sessionAuth, tenderCheck, 'tenderController.tenderInfo');
  70. app.get('/tender/:id/type', sessionAuth, 'tenderController.tenderType');
  71. app.post('/tender/:id/save', sessionAuth, tenderCheck, 'tenderController.saveTenderInfo');
  72. app.post('/tender/rule', sessionAuth, 'tenderController.rule');
  73. app.post('/tender/:id/rule/first', sessionAuth, tenderCheck, 'tenderController.ruleFirst');
  74. // 标段协作办公
  75. app.get('/tender/:id/cooperation', sessionAuth, tenderCheck, 'tenderController.tenderCooperation');
  76. // 台账管理相关
  77. app.get('/tender/:id/ledger/explode', sessionAuth, tenderCheck, 'ledgerController.explode');
  78. app.post('/tender/:id/ledger/get-children', sessionAuth, tenderCheck, 'ledgerController.getChildren');
  79. app.post('/tender/:id/ledger/base-operation', sessionAuth, tenderCheck, 'ledgerController.baseOperation');
  80. app.post('/tender/:id/ledger/update', sessionAuth, tenderCheck, 'ledgerController.update');
  81. app.post('/tender/:id/ledger/update-info', sessionAuth, tenderCheck, 'ledgerController.updateInfo');
  82. app.post('/tender/:id/ledger/paste-block', sessionAuth, tenderCheck, 'ledgerController.pasteBlock');
  83. app.post('/tender/:id/ledger/add-by-std', sessionAuth, tenderCheck, 'ledgerController.addFromStandardLib');
  84. app.post('/tender/:id/ledger/add-by-deal', sessionAuth, tenderCheck, 'ledgerController.addFromDealBills');
  85. app.post('/tender/:id/ledger/batch-insert', sessionAuth, tenderCheck, 'ledgerController.batchInsert');
  86. app.post('/tender/:id/ledger/explode/upload-excel', sessionAuth, tenderCheck, 'ledgerController.uploadExcel');
  87. app.get('/tender/:id/ledger/download/:file', sessionAuth, tenderCheck, 'ledgerController.download');
  88. app.post('/tender/:id/pos', sessionAuth, tenderCheck, 'ledgerController.pos');
  89. app.post('/tender/:id/pos/update', sessionAuth, tenderCheck, 'ledgerController.posUpdate');
  90. app.post('/tender/:id/pos/paste', sessionAuth, tenderCheck, 'ledgerController.posPaste');
  91. // 台账修订
  92. app.get('/tender/:id/revise', sessionAuth, tenderCheck, 'reviseController.index');
  93. app.post('/tender/:id/revise/add', sessionAuth, tenderCheck, 'reviseController.add');
  94. app.post('/tender/:id/revise/cancel', sessionAuth, tenderCheck, 'reviseController.cancel');
  95. app.post('/tender/:id/revise/save', sessionAuth, tenderCheck, 'reviseController.save');
  96. app.get('/tender/:id/revise/info', sessionAuth, tenderCheck, 'reviseController.info');
  97. app.post('/tender/:id/revise/info/base-opr', sessionAuth, tenderCheck, 'reviseController.baseOpr');
  98. app.post('/tender/:id/revise/info/batch-insert', sessionAuth, tenderCheck, 'reviseController.batchInsert');
  99. //app.post('/tender/:id/ledger/revise/audit/', sessionAuth, tenderCheck, 'ledgerController.reviseStatus');
  100. //app.get('/tender/:id/ledger/index', sessionAuth, 'ledgerController.index');
  101. // 台账审批相关
  102. app.get('/tender/:id/ledger/audit', sessionAuth, tenderCheck, 'ledgerAuditController.index');
  103. app.post('/tender/:id/ledger/audit/add', sessionAuth, tenderCheck, 'ledgerAuditController.add');
  104. app.post('/tender/:id/ledger/audit/delete', sessionAuth, tenderCheck, 'ledgerAuditController.remove');
  105. app.post('/tender/:id/ledger/audit/start', sessionAuth, tenderCheck, 'ledgerAuditController.start');
  106. app.post('/tender/:id/ledger/audit/check', sessionAuth, tenderCheck, 'ledgerAuditController.check');
  107. // 签约清单
  108. app.post('/tender/:id/deal/get-data', sessionAuth, tenderCheck, 'dealBillsController.getData');
  109. app.post('/tender/:id/deal/upload-excel', sessionAuth, tenderCheck, 'dealBillsController.loadExcel');
  110. app.get('/tender/:id/deal/download/:file', sessionAuth, tenderCheck, 'dealBillsController.download');
  111. // 计量台账
  112. // 期计量
  113. app.get('/tender/:id/measure/stage', sessionAuth, tenderCheck, 'measureController.stage');
  114. app.post('/tender/:id/measure/stage/auditors', sessionAuth, tenderCheck, 'measureController.stageAuditors');
  115. app.post('/tender/:id/measure/add', sessionAuth, tenderCheck, 'measureController.add');
  116. app.post('/tender/:id/measure/save', sessionAuth, tenderCheck, 'measureController.save');
  117. app.post('/tender/:id/measure/stage/delete', sessionAuth, tenderCheck, 'measureController.delete');
  118. // 计量台账 -- 清单汇总
  119. app.get('/tender/:id/measure/gather', sessionAuth, tenderCheck, 'measureController.gather');
  120. // 计量台账 -- 审核比较
  121. app.get('/tender/:id/measure/compare', sessionAuth, tenderCheck, 'measureController.compare');
  122. // 期计量详细
  123. // 本期计量台账
  124. app.get('/tender/:id/measure/stage/:order', sessionAuth, tenderCheck, stageCheck, 'stageController.index');
  125. app.post('/tender/:id/measure/stage/:order/pos', sessionAuth, tenderCheck, stageCheck, 'stageController.getStagePosData');
  126. app.post('/tender/:id/measure/stage/:order/update', sessionAuth, tenderCheck, stageCheck, 'stageController.updateStageData');
  127. app.post('/tender/:id/measure/stage/:order/valid-change', sessionAuth, tenderCheck, stageCheck, 'stageController.searchValidChange');
  128. app.post('/tender/:id/measure/stage/:order/use-change',sessionAuth, tenderCheck, stageCheck, 'stageController.useChange');
  129. // 中间计量
  130. app.get('/tender/:id/measure/stage/:order/detail', sessionAuth, tenderCheck, stageCheck, 'stageController.detail');
  131. app.post('/tender/:id/measure/stage/:order/detail/build', sessionAuth, tenderCheck, stageCheck, 'stageController.buildDetailData');
  132. app.post('/tender/:id/measure/stage/:order/detail/adv', sessionAuth, tenderCheck, stageCheck, 'stageController.setAdvancedConfig');
  133. app.post('/tender/:id/measure/stage/:order/detail/load', sessionAuth, tenderCheck, stageCheck, 'stageController.loadDetailRelaData');
  134. app.post('/tender/:id/measure/stage/:order/detail/save', sessionAuth, tenderCheck, stageCheck, 'stageController.saveDetailData');
  135. app.post('/tender/:id/measure/stage/:order/detail/add-img', sessionAuth, tenderCheck, stageCheck, 'stageController.addCalcImage');
  136. app.post('/tender/:id/measure/stage/:order/detail/merge-img', sessionAuth, tenderCheck, stageCheck, 'stageController.mergeCalcImage');
  137. app.get('/tender/:id/measure/stage/:order/detail/done', sessionAuth, tenderCheck, stageCheck, 'stageController.doneDetail');
  138. app.get('/tender/:id/measure/stage/:order/detail/unlock', sessionAuth, tenderCheck, stageCheck, 'stageController.unlockDetail');
  139. // 合同支付
  140. app.get('/tender/:id/measure/stage/:order/pay', sessionAuth, tenderCheck, stageCheck, 'stageController.pay');
  141. app.post('/tender/:id/measure/stage/:order/pay/detail', sessionAuth, tenderCheck, stageCheck, 'stageController.chapterDetail');
  142. app.post('/tender/:id/measure/stage/:order/pay/save', sessionAuth, tenderCheck, stageCheck, 'stageController.savePayData');
  143. app.post('/tender/:id/measure/stage/:order/pay/upload/file', sessionAuth, tenderCheck, stageCheck, 'stageController.payUploadFile');
  144. app.get('/tender/:id/measure/stage/:order/pay/download/file/:pid/:index', sessionAuth, 'stageController.payDownloadFile');
  145. app.post('/tender/:id/measure/stage/:order/pay/delete/file', sessionAuth, 'stageController.payDeleteFile');
  146. // 变更概况
  147. app.get('/tender/:id/measure/stage/:order/change', sessionAuth, tenderCheck, stageCheck, 'stageController.change');
  148. app.post('/tender/:id/measure/stage/:order/change/data', sessionAuth, tenderCheck, stageCheck, 'stageController.getChangeData');
  149. app.post('/tender/:id/measure/stage/:order/change/detail', sessionAuth, tenderCheck, stageCheck, 'stageController.changeDetail');
  150. // 审批
  151. app.post('/tender/:id/measure/stage/:order/audit/add', sessionAuth, tenderCheck, stageCheck, 'stageController.addAudit');
  152. app.post('/tender/:id/measure/stage/:order/audit/delete', sessionAuth, tenderCheck, stageCheck, 'stageController.deleteAudit');
  153. app.post('/tender/:id/measure/stage/:order/audit/start', sessionAuth, tenderCheck, stageCheck, 'stageController.startAudit');
  154. app.post('/tender/:id/measure/stage/:order/audit/check', sessionAuth, tenderCheck, stageCheck, 'stageController.checkAudit');
  155. app.get('/tender/:id/measure/stage/:order/audit/check/again', sessionAuth, tenderCheck, stageCheck, 'stageController.checkAuditAgain');
  156. // 清单汇总
  157. app.get('/tender/:id/measure/stage/:order/gather', sessionAuth, tenderCheck, stageCheck, 'stageController.gather');
  158. // 审核比较
  159. app.get('/tender/:id/measure/stage/:order/compare', sessionAuth, tenderCheck, stageCheck, 'stageController.compare');
  160. app.post('/tender/:id/measure/stage/:order/compare/load', sessionAuth, tenderCheck, stageCheck, 'stageController.compareAuditor');
  161. // 报表
  162. app.get('/tender/:id/report', sessionAuth, tenderCheck, 'reportController.index');
  163. app.get('/tender/:id/measure/stage/:order/report', sessionAuth, tenderCheck, stageCheck, 'reportController.index');
  164. app.post('/tender/report_api/getReport', sessionAuth, 'reportController.getReport');
  165. // 计量附件
  166. app.post('/tender/:id/measure/stage/:order/upload/file', sessionAuth, 'stageController.uploadFile');
  167. app.get('/tender/:id/measure/stage/:order/download/file/:fid', sessionAuth, 'stageController.downloadFile');
  168. app.post('/tender/:id/measure/stage/:order/delete/file', sessionAuth, 'stageController.deleteFile');
  169. app.post('/tender/:id/measure/stage/:order/save/file', sessionAuth, 'stageController.saveFile');
  170. // 变更管理
  171. app.get('/tender/:id/change', sessionAuth, tenderCheck, 'changeController.index');
  172. app.get('/tender/:id/change/status/:status', sessionAuth, tenderCheck, 'changeController.status');
  173. app.post('/tender/:id/change/newCode', sessionAuth, tenderCheck, 'changeController.newCode');
  174. app.post('/tender/:id/change/add', sessionAuth, tenderCheck, 'changeController.add');
  175. app.get('/tender/:id/change/:cid/info', sessionAuth, tenderCheck, 'changeController.info');
  176. app.get('/tender/:id/change/:cid/info', sessionAuth, tenderCheck, 'changeController.info');
  177. app.post('/change/upload/file', sessionAuth, 'changeController.uploadFile');
  178. app.get('/change/download/file/:id', sessionAuth, 'changeController.downloadFile');
  179. app.post('/change/delete/file', sessionAuth, 'changeController.deleteFile');
  180. app.post('/tender/:id/change/delete', sessionAuth, tenderCheck, 'changeController.delete');
  181. app.post('/change/save', sessionAuth, 'changeController.save');
  182. app.post('/change/approval', sessionAuth, 'changeController.approval');
  183. // 变更单位管理
  184. app.post('/change/update/company', sessionAuth, 'changeController.updateCompany');
  185. // 个人账号相关
  186. app.get('/profile/info', sessionAuth, 'profileController.info');
  187. app.get('/profile/sms', sessionAuth, 'profileController.sms');
  188. app.post('/profile/sms/type', sessionAuth, 'profileController.smsType');
  189. app.get('/profile/sign', sessionAuth, 'profileController.sign');
  190. app.post('/profile/sign/delete', sessionAuth, 'profileController.signDelete');
  191. app.get('/profile/safe', sessionAuth, 'profileController.safe');
  192. app.post('/profile/save', sessionAuth, 'profileController.saveBase');
  193. app.post('/profile/password', sessionAuth, 'profileController.modifyPassword');
  194. app.post('/profile/code', sessionAuth, 'profileController.getCode');
  195. app.post('/profile/bind', sessionAuth, 'profileController.bindMobile');
  196. app.get('/profile/qrCode', sessionAuth, 'profileController.qrCode');
  197. // 中间计量 - 计量编制相关
  198. // app.get('/measure/wlist', sessionAuth, tenderSelect, 'measureController.list');
  199. //
  200. // app.get('/measure/work/:mid', sessionAuth, tenderSelect, 'measureController.work');
  201. // app.post('/measure/newCode', sessionAuth, 'measureController.newCode');
  202. // app.post('/measure/add', sessionAuth, 'measureController.addMeasure');
  203. // app.post('/measure/delete', sessionAuth, 'measureController.deleteMeasure');
  204. // app.post('/measure/search', sessionAuth, 'measureController.search');
  205. // app.post('/measure/pos', sessionAuth, 'measureController.pos');
  206. // app.post('/measure/bills', sessionAuth, 'measureController.bills');
  207. // app.post('/measure/detail', sessionAuth, 'measureController.measureDetail');
  208. // app.post('/measure/billsUpdate', sessionAuth, 'measureController.billsUpdate');
  209. // 中间计量 - 计量审批相关
  210. // app.get('/measure/alist', sessionAuth, tenderSelect, 'measureAuditController.list');
  211. // app.get('/measure/audit/:mid', sessionAuth, 'measureAuditController.index');
  212. // app.post('/measure/audit/add', sessionAuth, 'measureAuditController.add');
  213. // app.post('/measure/audit/remove', sessionAuth, 'measureAuditController.remove');
  214. // app.post('/measure/audit/start', sessionAuth, 'measureAuditController.start');
  215. // app.post('/measure/audit/check', sessionAuth, 'measureAuditController.check');
  216. // 期计量管理相关
  217. // app.get('/tender/:id/measure/stage', sessionAuth, tenderCheck, 'stageController.index');
  218. // app.post('/tender/:id/stage/add', sessionAuth, tenderCheck, 'stageController.add');
  219. // app.get('/tender/:id/stage/:order/measure', sessionAuth, tenderSelect, 'stageController.stageMeasure');
  220. // app.get('/tender/:id/stage/:order/deal', sessionAuth, tenderSelect, 'stageController.stageDeal');
  221. // app.get('/tender/:id/stage/:order/report', sessionAuth, tenderSelect, 'stageController.stageReport');
  222. // 标准库相关
  223. app.post('/std/bills/get-data', sessionAuth, 'stdBillsController.getData');
  224. app.post('/std/bills/get-children', sessionAuth, 'stdBillsController.getChildren');
  225. app.post('/std/chapter/get-data', sessionAuth, 'stdChapterController.getData');
  226. app.post('/std/chapter/get-children', sessionAuth, 'stdChapterController.getChildren');
  227. // 查询
  228. app.post('/search/user', sessionAuth, 'projectController.searchAccount');
  229. };