router.js 61 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692
  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. const ledgerAuditCheck = app.middlewares.ledgerAuditCheck();
  12. const reviseAuditCheck = app.middlewares.reviseAuditCheck();
  13. const changeAuditCheck = app.middlewares.changeAuditCheck();
  14. const uncheckTenderCheck = app.middlewares.uncheckTenderCheck();
  15. // 期读取中间件
  16. const stageCheck = app.middlewares.stageCheck();
  17. // 材料调差读取中间件
  18. const materialCheck = app.middlewares.materialCheck();
  19. // 第三方接口认证判断中间件
  20. const api2otherCheck = app.middlewares.api2otherCheck();
  21. // 项目管理接口认证中间件
  22. const api3managementCheck = app.middlewares.api3managementCheck();
  23. // 微信验证登录中间件
  24. const wechatAuth = app.middlewares.wechatAuth();
  25. // 预付款中间件
  26. const advanceCheck = app.middlewares.advanceCheck();
  27. // 变更令中间件
  28. const changeCheck = app.middlewares.changeCheck();
  29. // 变更立项书中间件
  30. const changeProjectCheck = app.middlewares.changeProjectCheck();
  31. // 变更申请中间件
  32. const changeApplyCheck = app.middlewares.changeApplyCheck();
  33. // 变更方案中间件
  34. const changePlanCheck = app.middlewares.changePlanCheck();
  35. // 投资进度中间件
  36. const scheduleCheck = app.middlewares.scheduleCheck();
  37. // 修订
  38. const reviseCheck = app.middlewares.reviseCheck();
  39. const budgetCheck = app.middlewares.budgetCheck();
  40. // 登入登出相关
  41. app.get('/login', 'loginController.index');
  42. app.get('/login/:code', 'loginController.index');
  43. app.get('/login/port', api2otherCheck, 'loginController.port');
  44. app.get('/', 'loginController.index');
  45. app.get('/logout', 'loginController.logout');
  46. app.post('/login', 'loginController.login');
  47. app.post('/login/port', 'loginController.loginPort');
  48. app.get('/login/management', api3managementCheck, 'loginController.management');
  49. app.get('/project/name', 'loginController.projectName');
  50. app.get('/sign', 'signController.index');
  51. app.post('/sign/save', 'signController.save');
  52. app.post('/reset/password', 'loginController.resetPassword');
  53. // 项目管理对计量接口相关
  54. app.get('/management/account', api3managementCheck, 'loginController.account');
  55. app.get('/management/account/sync', api3managementCheck, 'loginController.syncProjectAccount');
  56. app.get('/management/project', api3managementCheck, 'loginController.project');
  57. app.get('/management/proxy/project/vertify', sessionAuth, 'loginController.vertifyProject');
  58. app.get('/management/proxy/project/add', sessionAuth, 'loginController.addProject');
  59. // 用户信息初始化相关
  60. app.get('/boot', sessionAuth, 'bootController.index');
  61. app.post('/boot', sessionAuth, 'bootController.boot');
  62. // 控制面板相关
  63. app.get('/dashboard', sessionAuth, 'dashboardController.index');
  64. app.get('/dashboard/msg/list', sessionAuth, 'dashboardController.msgList');
  65. app.get('/dashboard/msg/add/:id', sessionAuth, 'dashboardController.msgAdd');
  66. app.post('/dashboard/msg/set/:id', sessionAuth, datetimeFill, 'dashboardController.msgSet');
  67. app.get('/dashboard/msg/del/:id', sessionAuth, 'dashboardController.msgDelete');
  68. // 推送相关
  69. // app.post('/dashboard/push', sessionAuth, 'dashboardController.pushSet');
  70. /**
  71. * 项目设置
  72. */
  73. // 项目信息
  74. app.get('/setting/info', sessionAuth, 'settingController.info');
  75. app.post('/setting/updateinfo/:id', sessionAuth, 'settingController.updateinfo');
  76. // 账号设置
  77. app.get('/setting/user', sessionAuth, 'settingController.user');
  78. app.get('/setting/user/permission/set', sessionAuth, 'settingController.userPermissionSet');
  79. app.get('/setting/user/unit', sessionAuth, 'settingController.userUnit');
  80. app.post('/setting/user/unit/add', sessionAuth, 'settingController.userUnitAdd');
  81. app.post('/setting/user/unit/save', sessionAuth, 'settingController.userUnitSave');
  82. app.post('/setting/user/unit/upload', sessionAuth, 'settingController.userUnitUpload');
  83. // 账号停用和启用
  84. app.post('/setting/user/switch', sessionAuth, 'settingController.userSwitch');
  85. app.post('/setting/user/add', sessionAuth, datetimeFill, 'settingController.addUser');
  86. app.post('/setting/user/update', sessionAuth, 'settingController.updateUser');
  87. app.post('/setting/user/permission', sessionAuth, 'settingController.permission');
  88. app.post('/setting/user/reset/password', sessionAuth, 'settingController.resetUserPassword');
  89. app.post('/setting/user/exist', sessionAuth, 'settingController.accountExist');
  90. app.post('/setting/user/unbind', sessionAuth, 'settingController.userUnbind');
  91. // 显示设置
  92. app.get('/setting/show', sessionAuth, 'settingController.show');
  93. app.post('/setting/show/update', sessionAuth, 'settingController.showListUpdate');
  94. app.post('/setting/show/update-sjs', sessionAuth, 'settingController.showSjsUpdate');
  95. // 标段自定义类别
  96. app.get('/setting/category', sessionAuth, 'settingController.category');
  97. app.post('/setting/category/add', sessionAuth, 'settingController.addCategory');
  98. app.post('/setting/category/del', sessionAuth, 'settingController.deleteCategory');
  99. app.post('/setting/category/update', sessionAuth, 'settingController.updateCategory');
  100. app.post('/setting/category/value', sessionAuth, 'settingController.setCategoryValue');
  101. app.post('/setting/category/level', sessionAuth, 'settingController.resetCategoryLevel');
  102. // 操作日志
  103. app.get('/setting/logs', sessionAuth, 'settingController.logs');
  104. app.get('/setting/logs/type/:type', sessionAuth, 'settingController.logs');
  105. // 功能设置
  106. app.get('/setting/fun', sessionAuth, 'settingController.fun');
  107. app.post('/setting/fun/update', sessionAuth, 'settingController.updateFun');
  108. // 接口设置
  109. app.get('/setting/api', sessionAuth, 'settingController.s2b');
  110. app.post('/setting/api/update', sessionAuth, 'settingController.s2bUpdate');
  111. app.post('/setting/api/update-status', sessionAuth, 'settingController.s2bUpdateStatus');
  112. // 决策大屏
  113. app.get('/setting/datacollect', sessionAuth, 'settingController.dataCollect');
  114. app.post('/setting/datacollect/save', sessionAuth, 'settingController.dataCollectSave');
  115. // 项目相关
  116. app.get('/project/info', sessionAuth, 'projectController.info');
  117. app.get('/project/account', sessionAuth, projectManagerCheck, 'accountController.index');
  118. app.post('/project/account/permission/:accountId', sessionAuth, projectManagerCheck, 'accountController.savePermission');
  119. app.get('/project/account/enable/:accountId', sessionAuth, projectManagerCheck, 'accountController.enable');
  120. app.get('/project/account/disable/:accountId', sessionAuth, projectManagerCheck, 'accountController.enable');
  121. app.get('/project/switch/:projectId', sessionAuth, projectManagerCheck, 'projectController.switchProject');
  122. app.post('/project/info', sessionAuth, 'projectController.saveInfo');
  123. /**
  124. * 标段管理
  125. */
  126. // 金额概况
  127. app.get('/list', sessionAuth, 'tenderController.listDefault');
  128. app.post('/list/load', sessionAuth, 'tenderController.listLoad');
  129. app.post('/list/load2', sessionAuth, 'tenderController.listLoad2');
  130. app.get('/list/info', sessionAuth, 'tenderController.listInfo');
  131. // 计量进度
  132. app.get('/list/progress', sessionAuth, 'tenderController.listProgress');
  133. // 管理标段
  134. app.get('/list/manage', sessionAuth, 'tenderController.listManage');
  135. app.post('/list/add', sessionAuth, 'tenderController.addTender');
  136. app.post('/list/update', sessionAuth, 'tenderController.updateTender');
  137. app.post('/list/del', sessionAuth, 'tenderController.deleteTender');
  138. // 标段概况
  139. app.get('/tender/:id', sessionAuth, tenderCheck, 'tenderController.tenderInfo');
  140. app.get('/tender/:id/type', sessionAuth, 'tenderController.tenderType');
  141. app.post('/tender/:id/save', sessionAuth, tenderCheck, 'tenderController.saveTenderInfo');
  142. app.post('/tender/:id/save2', sessionAuth, tenderCheck, 'tenderController.saveTenderInfo2');
  143. app.post('/tender/rule', sessionAuth, 'tenderController.rule');
  144. app.post('/tender/:id/rule/first', sessionAuth, tenderCheck, 'tenderController.ruleFirst');
  145. app.get('/tender/:id/shenpi', sessionAuth, tenderCheck, 'tenderController.shenpiSet');
  146. app.post('/tender/:id/shenpi/save', sessionAuth, tenderCheck, 'tenderController.saveTenderInfoShenpi');
  147. app.post('/tender/:id/shenpi/audit/save', sessionAuth, tenderCheck, 'tenderController.saveShenpiAudit');
  148. app.post('/tender/:id/shenpi/ledger/load', sessionAuth, tenderCheck, 'tenderController.loadLedgerData');
  149. app.post('/tender/:id/shenpi/save-sign', sessionAuth, tenderCheck, 'tenderController.saveCooperateSign');
  150. app.post('/tender/:id/copy-setting', sessionAuth, tenderCheck, 'tenderController.copyTender');
  151. app.post('/tender/:id/tourist/audit/save', sessionAuth, tenderCheck, uncheckTenderCheck, 'tenderController.saveTourist');
  152. app.post('/tender/:id/map/save', sessionAuth, tenderCheck, uncheckTenderCheck, 'tenderController.saveMap');
  153. app.post('/tender/:id/map/upload', sessionAuth, tenderCheck, uncheckTenderCheck, 'tenderController.uploadMap');
  154. app.post('/tender/:id/load', sessionAuth, tenderCheck, 'tenderController.loadData');
  155. app.post('/tender/:id/saveRela', sessionAuth, tenderCheck, 'tenderController.saveRelaData');
  156. // 预付款
  157. app.get('/tender/:id/advance/:type', sessionAuth, tenderCheck, 'advanceController.index');
  158. // app.get('/tender/:id/advance/material', sessionAuth, tenderCheck, 'advanceController.materialList');
  159. app.post('/tender/:id/advance/:type/create', sessionAuth, tenderCheck, 'advanceController.create');
  160. app.post('/tender/:id/advance/:type/delete', sessionAuth, tenderCheck, 'advanceController.delete');
  161. app.get('/tender/:id/advance/:order/detail', sessionAuth, tenderCheck, advanceCheck, 'advanceController.detail');
  162. app.post('/tender/:id/advance/:order/audit/add', sessionAuth, tenderCheck, advanceCheck, 'advanceController.addAudit');
  163. app.post('/tender/:id/advance/:order/audit/delete', sessionAuth, tenderCheck, advanceCheck, 'advanceController.deleteAudit');
  164. app.post('/tender/:id/advance/:order/audit/start', sessionAuth, tenderCheck, advanceCheck, 'advanceController.start');
  165. app.post('/tender/:id/advance/:order/audit/check', sessionAuth, tenderCheck, advanceCheck, 'advanceController.checkAudit');
  166. app.post('/tender/:id/advance/:order/update', sessionAuth, tenderCheck, advanceCheck, 'advanceController.update');
  167. app.post('/tender/:id/advance/:order/file/upload', sessionAuth, tenderCheck, advanceCheck, 'advanceController.upload');
  168. app.get('/tender/:id/advance/:order/file/:fid/download', sessionAuth, tenderCheck, 'advanceController.downloadFile');
  169. app.post('/tender/:id/advance/:order/file/del', sessionAuth, tenderCheck, advanceCheck, 'advanceController.deleteFile');
  170. app.post('/tender/:id/advance/:type/:order/auditors', sessionAuth, tenderCheck, advanceCheck, 'advanceController.getAuditors');
  171. // 标段协作办公
  172. app.get('/tender/:id/cooperation', sessionAuth, tenderCheck, 'tenderController.tenderCooperation');
  173. // 台账管理相关
  174. app.get('/tender/:id/ledger', sessionAuth, tenderCheck, uncheckTenderCheck, ledgerAuditCheck, 'ledgerController.explode');
  175. app.post('/tender/:id/ledger/load', sessionAuth, tenderCheck, uncheckTenderCheck, 'ledgerController.loadExplodeData');
  176. app.post('/tender/:id/ledger/get-children', sessionAuth, tenderCheck, uncheckTenderCheck, 'ledgerController.getChildren');
  177. app.post('/tender/:id/ledger/update', sessionAuth, tenderCheck, uncheckTenderCheck, 'ledgerController.update');
  178. app.post('/tender/:id/ledger/upload-excel/:ueType', sessionAuth, tenderCheck, uncheckTenderCheck, 'ledgerController.uploadExcel');
  179. app.get('/tender/:id/ledger/download/:file', sessionAuth, tenderCheck, uncheckTenderCheck, 'ledgerController.download');
  180. app.post('/tender/:id/pos/update', sessionAuth, tenderCheck, uncheckTenderCheck, 'ledgerController.posUpdate');
  181. app.post('/tender/:id/pos/paste', sessionAuth, tenderCheck, uncheckTenderCheck, 'ledgerController.posPaste');
  182. app.post('/tender/:id/ledger/deal2sgfh', sessionAuth, tenderCheck, uncheckTenderCheck, 'ledgerController.deal2sgfh');
  183. app.post('/tender/:id/ledger/check', sessionAuth, tenderCheck, uncheckTenderCheck, 'ledgerController.check');
  184. app.post('/tender/:id/measure/ledger/auditors', sessionAuth, tenderCheck, uncheckTenderCheck, 'ledgerController.ledgerAuditors');
  185. // 台账附件
  186. app.post('/tender/:id/ledger/upload/file', sessionAuth, tenderCheck, uncheckTenderCheck, 'ledgerController.uploadFile');
  187. app.get('/tender/:id/ledger/download/file/:fid', sessionAuth, 'ledgerController.downloadFile');
  188. app.post('/tender/:id/ledger/delete/file', sessionAuth, tenderCheck, uncheckTenderCheck, 'ledgerController.deleteFile');
  189. app.post('/tender/:id/ledger/save/file', sessionAuth, tenderCheck, uncheckTenderCheck, 'ledgerController.saveFile');
  190. app.post('/tender/:id/ledger/check/file', sessionAuth, tenderCheck, uncheckTenderCheck, 'ledgerController.checkFile');
  191. app.post('/tender/:id/ledger/compresse/file', sessionAuth, tenderCheck, uncheckTenderCheck, 'ledgerController.downloadZip');
  192. // 台账审批相关
  193. app.get('/tender/:id/ledger/audit', sessionAuth, tenderCheck, uncheckTenderCheck, 'ledgerAuditController.index');
  194. app.post('/tender/:id/ledger/audit/add', sessionAuth, tenderCheck, uncheckTenderCheck, 'ledgerAuditController.add');
  195. app.post('/tender/:id/ledger/audit/delete', sessionAuth, tenderCheck, uncheckTenderCheck, 'ledgerAuditController.remove');
  196. app.post('/tender/:id/ledger/audit/start', sessionAuth, tenderCheck, uncheckTenderCheck, ledgerAuditCheck, 'ledgerAuditController.start');
  197. app.post('/tender/:id/ledger/audit/check', sessionAuth, tenderCheck, uncheckTenderCheck, 'ledgerAuditController.check');
  198. // 部位台账
  199. app.get('/tender/:id/ledger/bwtz', sessionAuth, tenderCheck, uncheckTenderCheck, 'ledgerController.bwtz');
  200. app.post('/tender/:id/ledger/bwtz/load', sessionAuth, tenderCheck, uncheckTenderCheck, 'ledgerController.loadBwtz');
  201. // 台账对比
  202. app.get('/tender/:id/ledger/gather', sessionAuth, tenderCheck, uncheckTenderCheck, 'ledgerController.gather');
  203. app.post('/tender/:id/ledger/gather/load', sessionAuth, tenderCheck, uncheckTenderCheck, 'ledgerController.loadGatherData');
  204. // 台账修订
  205. app.get('/tender/:id/revise', sessionAuth, tenderCheck, uncheckTenderCheck, 'reviseController.index');
  206. app.post('/tender/:id/revise/add', sessionAuth, tenderCheck, uncheckTenderCheck, 'reviseController.add');
  207. app.post('/tender/:id/revise/cancel', sessionAuth, tenderCheck, uncheckTenderCheck, 'reviseController.cancel');
  208. app.post('/tender/:id/revise/save', sessionAuth, tenderCheck, uncheckTenderCheck, 'reviseController.save');
  209. // 台账修订页面
  210. app.get('/tender/:id/revise/:rid/info', sessionAuth, tenderCheck, uncheckTenderCheck, reviseCheck, reviseAuditCheck, 'reviseController.info');
  211. app.post('/tender/:id/revise/auditors', sessionAuth, tenderCheck, uncheckTenderCheck, reviseCheck, 'reviseController.reviseAuditors');
  212. app.post('/tender/:id/revise/:rid/info/load', sessionAuth, tenderCheck, uncheckTenderCheck, reviseCheck, 'reviseController.loadInfoData');
  213. app.post('/tender/:id/revise/:rid/info/update', sessionAuth, tenderCheck, uncheckTenderCheck, reviseCheck, 'reviseController.update');
  214. app.post('/tender/:id/revise/:rid/info/upload-excel/:ueType', sessionAuth, tenderCheck, uncheckTenderCheck, reviseCheck, 'reviseController.uploadExcel');
  215. app.post('/tender/:id/revise/:rid/info/check', sessionAuth, tenderCheck, uncheckTenderCheck, reviseCheck, 'reviseController.checkData');
  216. app.post('/tender/:id/revise/:rid/info/deal2sgfh', sessionAuth, tenderCheck, uncheckTenderCheck, reviseCheck, 'reviseController.deal2sgfh');
  217. app.get('/tender/:id/revise/:rid/compare', sessionAuth, tenderCheck, uncheckTenderCheck, reviseCheck, reviseAuditCheck, 'reviseController.compare');
  218. app.get('/tender/:id/revise/:rid/gcl-compare', sessionAuth, tenderCheck, uncheckTenderCheck, reviseCheck, reviseAuditCheck, 'reviseController.gclCompare');
  219. app.post('/tender/:id/revise/:rid/load', sessionAuth, tenderCheck, uncheckTenderCheck, reviseCheck, reviseAuditCheck, 'reviseController.loadData');
  220. // 单价调整
  221. app.get('/tender/:id/revise/:rid/price', sessionAuth, tenderCheck, uncheckTenderCheck, reviseCheck, 'reviseController.price');
  222. app.post('/tender/:id/revise/:rid/price/update', sessionAuth, tenderCheck, uncheckTenderCheck, reviseCheck, 'reviseController.priceUpdate');
  223. // 查看修订数据
  224. app.get('/tender/:id/revise/history/:rid/info', sessionAuth, tenderCheck, uncheckTenderCheck, reviseCheck, 'reviseController.history');
  225. app.post('/tender/:id/revise/history/:rid/load', sessionAuth, tenderCheck, uncheckTenderCheck, reviseCheck, 'reviseController.loadData');
  226. app.get('/tender/:id/revise/history/:rid/gcl-compare', sessionAuth, tenderCheck, uncheckTenderCheck, reviseCheck, 'reviseController.gclCompare');
  227. app.get('/tender/:id/revise/history/:rid/compare', sessionAuth, tenderCheck, uncheckTenderCheck, reviseCheck, 'reviseController.compare');
  228. app.get('/tender/:id/revise/history/:rid/price', sessionAuth, tenderCheck, uncheckTenderCheck, reviseCheck, 'reviseController.price');
  229. // 修订审批
  230. app.post('/tender/:id/revise/audit/add', sessionAuth, tenderCheck, uncheckTenderCheck, 'reviseController.addAuditor');
  231. app.post('/tender/:id/revise/audit/remove', sessionAuth, tenderCheck, uncheckTenderCheck, 'reviseController.removeAuditor');
  232. app.post('/tender/:id/revise/audit/start', sessionAuth, tenderCheck, uncheckTenderCheck, reviseCheck, reviseAuditCheck, 'reviseController.start');
  233. app.post('/tender/:id/revise/audit/check', sessionAuth, tenderCheck, uncheckTenderCheck, reviseCheck, 'reviseController.check');
  234. // 签约清单
  235. app.post('/tender/:id/deal/get-data', sessionAuth, tenderCheck, uncheckTenderCheck, 'dealBillsController.getData');
  236. app.post('/tender/:id/deal/upload-excel', sessionAuth, tenderCheck, uncheckTenderCheck, 'dealBillsController.loadExcel');
  237. app.get('/tender/:id/deal/download/:file', sessionAuth, tenderCheck, uncheckTenderCheck, 'dealBillsController.download');
  238. app.post('/tender/:id/deal/update', sessionAuth, tenderCheck, uncheckTenderCheck, 'dealBillsController.update');
  239. // 计量台账
  240. // 期计量
  241. app.get('/tender/:id/measure/stage', sessionAuth, tenderCheck, uncheckTenderCheck, 'measureController.stage');
  242. app.post('/tender/:id/measure/stage/auditors', sessionAuth, tenderCheck, uncheckTenderCheck, 'measureController.stageAuditors');
  243. app.post('/tender/:id/measure/add', sessionAuth, tenderCheck, uncheckTenderCheck, 'measureController.add');
  244. app.post('/tender/:id/measure/save', sessionAuth, tenderCheck, uncheckTenderCheck, 'measureController.save');
  245. app.post('/tender/:id/measure/stage/delete', sessionAuth, tenderCheck, uncheckTenderCheck, 'measureController.delete');
  246. // 计量台账 -- 清单汇总
  247. app.get('/tender/:id/measure/gather', sessionAuth, tenderCheck, uncheckTenderCheck, 'measureController.gather');
  248. // 计量台账 -- 审核比较
  249. app.get('/tender/:id/measure/compare', sessionAuth, tenderCheck, uncheckTenderCheck, 'measureController.compare');
  250. app.post('/tender/:id/measure/compare/load', sessionAuth, tenderCheck, uncheckTenderCheck, 'measureController.loadCompareData');
  251. // 期计量详细
  252. // 本期计量台账
  253. app.get('/tender/:id/measure/stage/:order', sessionAuth, tenderCheck, uncheckTenderCheck, stageCheck, 'stageController.index');
  254. app.post('/tender/:id/measure/stage/:order/load', sessionAuth, tenderCheck, uncheckTenderCheck, stageCheck, 'stageController.getStageData');
  255. app.post('/tender/:id/measure/stage/:order/pos', sessionAuth, tenderCheck, uncheckTenderCheck, stageCheck, 'stageController.getStagePosData');
  256. app.post('/tender/:id/measure/stage/:order/update', sessionAuth, tenderCheck, uncheckTenderCheck, stageCheck, 'stageController.updateStageData');
  257. app.post('/tender/:id/measure/stage/:order/valid-change', sessionAuth, tenderCheck, uncheckTenderCheck, stageCheck, 'stageController.searchValidChange');
  258. app.post('/tender/:id/measure/stage/:order/use-change', sessionAuth, tenderCheck, uncheckTenderCheck, stageCheck, 'stageController.useChange');
  259. app.post('/tender/:id/measure/stage/:order/auto-use-change', sessionAuth, tenderCheck, uncheckTenderCheck, stageCheck, 'stageController.autoUseChange');
  260. app.post('/tender/:id/measure/stage/:order/check', sessionAuth, tenderCheck, uncheckTenderCheck, stageCheck, 'stageController.check');
  261. app.post('/tender/:id/measure/stage/:order/stageCheck', sessionAuth, tenderCheck, uncheckTenderCheck, stageCheck, 'stageController.stageCheck');
  262. app.post('/tender/:id/measure/stage/:order/save/cooperation', sessionAuth, tenderCheck, uncheckTenderCheck, stageCheck, 'stageController.saveCooperationData');
  263. app.post('/tender/:id/measure/stage/:order/im-file/upload', sessionAuth, tenderCheck, uncheckTenderCheck, stageCheck, 'stageController.uploadImFile');
  264. app.post('/tender/:id/measure/stage/:order/im-file/del', sessionAuth, tenderCheck, uncheckTenderCheck, stageCheck, 'stageController.deleteImFile');
  265. app.get('/tender/:id/measure/stage/:order/im-file/download', sessionAuth, tenderCheck, uncheckTenderCheck, stageCheck, 'stageController.downloadImFile');
  266. // 暂存计量
  267. app.post('/tender/:id/measure/stage/:order/stash/list', sessionAuth, tenderCheck, stageCheck, 'stageController.stashList');
  268. app.post('/tender/:id/measure/stage/:order/stash/add', sessionAuth, tenderCheck, stageCheck, 'stageController.addStash');
  269. app.post('/tender/:id/measure/stage/:order/stash/del', sessionAuth, tenderCheck, stageCheck, 'stageController.delStash');
  270. app.post('/tender/:id/measure/stage/:order/stash/recover', sessionAuth, tenderCheck, stageCheck, 'stageController.recoverStash');
  271. app.post('/tender/:id/measure/stage/:order/importStageSheet', sessionAuth, tenderCheck, stageCheck, 'stageController.importStageSheet');
  272. // 计量附件
  273. app.post('/tender/:id/measure/stage/:order/upload/file', sessionAuth, tenderCheck, uncheckTenderCheck, stageCheck, 'stageController.uploadFile');
  274. app.get('/tender/:id/measure/stage/:order/download/file/:fid', sessionAuth, 'stageController.downloadFile');
  275. app.post('/tender/:id/measure/stage/:order/delete/file', sessionAuth, tenderCheck, uncheckTenderCheck, stageCheck, 'stageController.deleteFile');
  276. app.post('/tender/:id/measure/stage/:order/save/file', sessionAuth, tenderCheck, uncheckTenderCheck, stageCheck, 'stageController.saveFile');
  277. app.post('/tender/:id/measure/stage/:order/check/file', sessionAuth, tenderCheck, uncheckTenderCheck, stageCheck, 'stageController.checkFile');
  278. app.post('/tender/:id/measure/stage/:order/download/compresse-file', sessionAuth, tenderCheck, uncheckTenderCheck, stageCheck, 'stageController.downloadZip');
  279. app.post('/tender/:id/measure/stage/:order/save/shoufang', sessionAuth, tenderCheck, uncheckTenderCheck, stageCheck, 'stageController.saveShoufang');
  280. app.post('/tender/:id/measure/stage/:order/shoufang/file', sessionAuth, tenderCheck, uncheckTenderCheck, stageCheck, 'stageController.shoufangAtt');
  281. // 中间计量
  282. app.get('/tender/:id/measure/stage/:order/detail', sessionAuth, tenderCheck, uncheckTenderCheck, stageCheck, 'stageController.detail');
  283. app.post('/tender/:id/measure/stage/:order/detail/build', sessionAuth, tenderCheck, uncheckTenderCheck, stageCheck, 'stageController.buildDetailData');
  284. app.post('/tender/:id/measure/stage/:order/detail/adv', sessionAuth, tenderCheck, uncheckTenderCheck, stageCheck, 'stageController.setAdvancedConfig');
  285. app.post('/tender/:id/measure/stage/:order/detail/load', sessionAuth, tenderCheck, uncheckTenderCheck, stageCheck, 'stageController.loadDetailRelaData');
  286. app.post('/tender/:id/measure/stage/:order/detail/save', sessionAuth, tenderCheck, uncheckTenderCheck, stageCheck, 'stageController.saveDetailData');
  287. app.post('/tender/:id/measure/stage/:order/detail/add-img', sessionAuth, tenderCheck, uncheckTenderCheck, stageCheck, 'stageController.addCalcImage');
  288. app.post('/tender/:id/measure/stage/:order/detail/merge-img', sessionAuth, tenderCheck, uncheckTenderCheck, stageCheck, 'stageController.mergeCalcImage');
  289. // 合同支付
  290. app.get('/tender/:id/measure/stage/:order/pay', sessionAuth, tenderCheck, uncheckTenderCheck, stageCheck, 'stageController.pay');
  291. app.post('/tender/:id/measure/stage/:order/pay/detail', sessionAuth, tenderCheck, uncheckTenderCheck, stageCheck, 'stageController.chapterDetail');
  292. app.post('/tender/:id/measure/stage/:order/pay/save', sessionAuth, tenderCheck, uncheckTenderCheck, stageCheck, 'stageController.savePayData');
  293. app.post('/tender/:id/measure/stage/:order/pay/upload/file', sessionAuth, tenderCheck, uncheckTenderCheck, stageCheck, 'stageController.payUploadFile');
  294. app.get('/tender/:id/measure/stage/:order/pay/download/file/:fid', sessionAuth, 'stageController.payDownloadFile');
  295. app.post('/tender/:id/measure/stage/:order/pay/delete/file', sessionAuth, tenderCheck, uncheckTenderCheck, stageCheck, 'stageController.payDeleteFile');
  296. // 变更概况
  297. app.get('/tender/:id/measure/stage/:order/change', sessionAuth, tenderCheck, uncheckTenderCheck, stageCheck, 'stageController.change');
  298. app.post('/tender/:id/measure/stage/:order/change/data', sessionAuth, tenderCheck, uncheckTenderCheck, stageCheck, 'stageController.getChangeData');
  299. app.post('/tender/:id/measure/stage/:order/change/iData', sessionAuth, tenderCheck, uncheckTenderCheck, stageCheck, 'stageController.getImportChangeData');
  300. app.post('/tender/:id/measure/stage/:order/change/detail', sessionAuth, tenderCheck, uncheckTenderCheck, stageCheck, 'stageController.changeDetail');
  301. // 审批
  302. app.post('/tender/:id/measure/stage/:order/audit/add', sessionAuth, tenderCheck, uncheckTenderCheck, stageCheck, 'stageController.addAudit');
  303. app.post('/tender/:id/measure/stage/:order/audit/delete', sessionAuth, tenderCheck, uncheckTenderCheck, stageCheck, 'stageController.deleteAudit');
  304. app.post('/tender/:id/measure/stage/:order/audit/start', sessionAuth, tenderCheck, uncheckTenderCheck, stageCheck, 'stageController.startAudit');
  305. app.post('/tender/:id/measure/stage/:order/audit/check', sessionAuth, tenderCheck, uncheckTenderCheck, stageCheck, 'stageController.checkAudit');
  306. app.get('/tender/:id/measure/stage/:order/audit/check/again', sessionAuth, tenderCheck, uncheckTenderCheck, stageCheck, 'stageController.checkAuditAgain');
  307. // 部位台账
  308. app.get('/tender/:id/measure/stage/:order/bwtz', sessionAuth, tenderCheck, uncheckTenderCheck, stageCheck, 'stageController.bwtz');
  309. app.post('/tender/:id/measure/stage/:order/bwtz/load', sessionAuth, tenderCheck, uncheckTenderCheck, stageCheck, 'stageController.loadBwtz');
  310. // 清单汇总
  311. app.get('/tender/:id/measure/stage/:order/gather', sessionAuth, tenderCheck, uncheckTenderCheck, stageCheck, 'stageController.gather');
  312. // 审核比较
  313. app.get('/tender/:id/measure/stage/:order/compare', sessionAuth, tenderCheck, uncheckTenderCheck, stageCheck, 'stageController.compare');
  314. app.post('/tender/:id/measure/stage/:order/compare/load', sessionAuth, tenderCheck, uncheckTenderCheck, stageCheck, 'stageController.compareAuditor');
  315. // 附加功能
  316. // 甲供材料
  317. app.get('/tender/:id/measure/stage/:order/extra/jgcl', sessionAuth, tenderCheck, uncheckTenderCheck, stageCheck, 'stageExtraController.jgcl');
  318. app.post('/tender/:id/measure/stage/:order/extra/jgcl/load', sessionAuth, tenderCheck, uncheckTenderCheck, stageCheck, 'stageExtraController.loadJgcl');
  319. app.post('/tender/:id/measure/stage/:order/extra/jgcl/update', sessionAuth, tenderCheck, uncheckTenderCheck, stageCheck, 'stageExtraController.updateJgcl');
  320. // 奖罚金
  321. app.get('/tender/:id/measure/stage/:order/extra/bonus', sessionAuth, tenderCheck, uncheckTenderCheck, stageCheck, 'stageExtraController.bonus');
  322. app.post('/tender/:id/measure/stage/:order/extra/bonus/load', sessionAuth, tenderCheck, uncheckTenderCheck, stageCheck, 'stageExtraController.loadBonus');
  323. app.post('/tender/:id/measure/stage/:order/extra/bonus/update', sessionAuth, tenderCheck, uncheckTenderCheck, stageCheck, 'stageExtraController.updateBonus');
  324. // 其他
  325. app.get('/tender/:id/measure/stage/:order/extra/other', sessionAuth, tenderCheck, uncheckTenderCheck, stageCheck, 'stageExtraController.other');
  326. app.post('/tender/:id/measure/stage/:order/extra/other/load', sessionAuth, tenderCheck, uncheckTenderCheck, stageCheck, 'stageExtraController.loadOther');
  327. app.post('/tender/:id/measure/stage/:order/extra/other/update', sessionAuth, tenderCheck, uncheckTenderCheck, stageCheck, 'stageExtraController.updateOther');
  328. app.post('/tender/:id/measure/stage/:order/extra/upload/file', sessionAuth, tenderCheck, uncheckTenderCheck, stageCheck, 'stageExtraController.uploadFile');
  329. app.get('/tender/:id/measure/stage/:order/extra/download/file', sessionAuth, tenderCheck, uncheckTenderCheck, stageCheck, 'stageExtraController.downloadFile');
  330. app.post('/tender/:id/measure/stage/:order/extra/delete/file', sessionAuth, tenderCheck, uncheckTenderCheck, stageCheck, 'stageExtraController.deleteFile');
  331. // 安全生产
  332. app.get('/tender/:id/measure/stage/:order/extra/safeProd', sessionAuth, tenderCheck, uncheckTenderCheck, stageCheck, 'stageExtraController.safeProd');
  333. app.post('/tender/:id/measure/stage/:order/extra/safeProd/load', sessionAuth, tenderCheck, uncheckTenderCheck, stageCheck, 'stageExtraController.loadSafeProd');
  334. app.post('/tender/:id/measure/stage/:order/extra/safeProd/update', sessionAuth, tenderCheck, uncheckTenderCheck, stageCheck, 'stageExtraController.updateSafeProd');
  335. // 临时用地
  336. app.get('/tender/:id/measure/stage/:order/extra/tempLand', sessionAuth, tenderCheck, uncheckTenderCheck, stageCheck, 'stageExtraController.tempLand');
  337. app.post('/tender/:id/measure/stage/:order/extra/tempLand/load', sessionAuth, tenderCheck, uncheckTenderCheck, stageCheck, 'stageExtraController.loadTempLand');
  338. app.post('/tender/:id/measure/stage/:order/extra/tempLand/update', sessionAuth, tenderCheck, uncheckTenderCheck, stageCheck, 'stageExtraController.updateTempLand');
  339. // 关联台账
  340. app.get('/tender/:id/measure/stage/:order/rela', sessionAuth, tenderCheck, uncheckTenderCheck, stageCheck, 'stageRelaController.index');
  341. app.post('/tender/:id/measure/stage/:order/rela/add', sessionAuth, tenderCheck, uncheckTenderCheck, stageCheck, 'stageRelaController.add');
  342. app.post('/tender/:id/measure/stage/:order/rela/del', sessionAuth, tenderCheck, uncheckTenderCheck, stageCheck, 'stageRelaController.del');
  343. app.post('/tender/:id/measure/stage/:order/rela/update', sessionAuth, tenderCheck, uncheckTenderCheck, stageCheck, 'stageRelaController.update');
  344. app.get('/tender/:id/measure/stage/:order/rela/detail/:trid', sessionAuth, tenderCheck, uncheckTenderCheck, stageCheck, 'stageRelaController.detail');
  345. app.post('/tender/:id/measure/stage/:order/rela/detail/:trid/load', sessionAuth, tenderCheck, uncheckTenderCheck, stageCheck, 'stageRelaController.load');
  346. app.post('/tender/:id/measure/stage/:order/rela/detail/:trid/im-file/del', sessionAuth, tenderCheck, uncheckTenderCheck, stageCheck, 'stageRelaController.deleteImFile');
  347. app.post('/tender/:id/measure/stage/:order/rela/detail/:trid/im-file/upload', sessionAuth, tenderCheck, uncheckTenderCheck, stageCheck, 'stageRelaController.uploadImFile');
  348. app.get('/tender/:id/measure/stage/:order/rela/detail/:trid/im-file/download', sessionAuth, tenderCheck, uncheckTenderCheck, stageCheck, 'stageRelaController.downloadImFile');
  349. // 期审批管理
  350. app.get('/tender/:id/measure/stage/:order/manager', sessionAuth, tenderCheck, uncheckTenderCheck, stageCheck, 'stageController.manager');
  351. app.post('/tender/:id/measure/stage/:order/manager/audit/delete', sessionAuth, tenderCheck, uncheckTenderCheck, stageCheck, 'stageController.managerAuditDelete');
  352. // 报表
  353. app.get('/tender/:id/report', sessionAuth, tenderCheck, uncheckTenderCheck, 'reportController.index');
  354. app.get('/tender/:id/measure/stage/:order/report', sessionAuth, tenderCheck, uncheckTenderCheck, stageCheck, 'reportController.index');
  355. app.get('/tender/:id/archiveReport', sessionAuth, tenderCheck, uncheckTenderCheck, 'reportArchiveController.index');
  356. app.post('/tender/report_api/getReportArchive', sessionAuth, 'reportArchiveController.getReportArchive');
  357. app.get('/getArchivedFileByUUID/:uuid/:rptName', sessionAuth, 'reportArchiveController.getArchivedFileByUUID');
  358. app.get('/tender/:id/measure/stage/:order/archiveReport', sessionAuth, tenderCheck, uncheckTenderCheck, stageCheck, 'reportArchiveController.index');
  359. app.get('/archive/pdf/show', sessionAuth, 'reportArchiveController.pdfShow');
  360. app.get('/printReport/:size', sessionAuth, 'reportController.showPrintPage');
  361. app.get('/individualReport/:size', sessionAuth, 'reportController.showIndividualPage');
  362. app.post('/tender/report_api/getReport', sessionAuth, 'reportController.getReport');
  363. app.post('/tender/report_api/getDirectReport', sessionAuth, 'reportController.createExcelFilesFromDirectData');
  364. app.post('/tender/report_api/getMultiReports', sessionAuth, 'reportController.getMultiReportsEx');
  365. app.post('/tender/report_api/getTestReport', sessionAuth, 'reportController.getTestReport');
  366. app.post('/tender/report_api/createExcelFiles', sessionAuth, 'reportController.createExcelFilesEx');
  367. app.post('/tender/report_api/createExcelFilesInOneBook', sessionAuth, 'reportController.createExcelFilesInOneBookEx');
  368. // app.post('/tender/report_api/createExcelFiles', sessionAuth, 'reportController.createExcelFilesFromLocal');
  369. // app.post('/tender/report_api/createExcelFilesInOneBook', sessionAuth, 'reportController.createExcelFilesFromLocal');
  370. app.get('/getFileByUUID/:uuid/:rptName/:suffix', sessionAuth, 'reportController.getFileByUUID');
  371. // rptRouter.get('/getFileByUUID/:uuid/:rptName/:suffix', reportController.getFileByUUID);
  372. app.post('/tender/report_api/createSignatureRole', sessionAuth, 'signatureController.createSignatureRole');
  373. app.post('/tender/report_api/updateSignatureUsed', sessionAuth, datetimeFill, 'signatureController.updateSignatureUsed');
  374. app.post('/tender/report_api/updateRoleRelationship', sessionAuth, 'signatureController.updateRoleRel');
  375. app.post('/tender/report_api/updateMultiRoleRelationship', sessionAuth, 'signatureController.updateCrossTendersRoleRelationship');
  376. app.post('/tender/report_api/getMultiRoleRelationships', sessionAuth, 'signatureController.getMultiRoleRptRels');
  377. app.post('/tender/report_api/createRoleRelationship', sessionAuth, 'signatureController.createRoleRel');
  378. app.post('/tender/report_api/updateCustNode', sessionAuth, 'reportController.updateCustNode');
  379. app.post('/report/cDefine', sessionAuth, 'reportController.setCustomDefine');
  380. app.post('/tender/report_api/addArchive/:prjId/:stgId/:rptId', sessionAuth, 'reportArchiveController.addReportArchive');
  381. app.post('/tender/report_api/updateArchive/:prjId/:stgId/:rptId/:orgName', sessionAuth, 'reportArchiveController.updateReportArchive');
  382. app.post('/tender/report_api/removeArchive/:prjId/:stgId/:rptId/:orgName', sessionAuth, 'reportArchiveController.removeReportArchive');
  383. app.post('/tender/report_api/addArchiveEncryption', sessionAuth, 'reportArchiveController.addReportArchiveEncryption');
  384. app.post('/tender/report_api/updateArchiveEncryption', sessionAuth, 'reportArchiveController.updateReportArchiveEncryption');
  385. app.post('/tender/report_api/removeArchiveEncryption', sessionAuth, 'reportArchiveController.removeReportArchiveEncryption');
  386. app.post('/tender/:id/sendReportFileMsg', sessionAuth, tenderCheck, uncheckTenderCheck, 'reportArchiveController.sendFileMsg');
  387. app.get('/tender/:id/measure/stage/:order/sendReportFileMsg', sessionAuth, tenderCheck, uncheckTenderCheck, stageCheck, 'reportArchiveController.sendFileMsg');
  388. // 电子签名
  389. app.get('/tender/:id/signReport', sessionAuth, tenderCheck, uncheckTenderCheck, 'reportArchiveController.signReport');
  390. app.post('/tender/:id/signReport/post', sessionAuth, tenderCheck, uncheckTenderCheck, 'reportArchiveController.signPost');
  391. app.post('/tender/:id/signReport/file', sessionAuth, tenderCheck, uncheckTenderCheck, 'reportArchiveController.signFile');
  392. // 变更管理
  393. app.get('/tender/:id/change', sessionAuth, tenderCheck, uncheckTenderCheck, 'changeController.index');
  394. app.get('/tender/:id/change/status/:status', sessionAuth, tenderCheck, uncheckTenderCheck, 'changeController.status');
  395. app.post('/tender/:id/change/newCode', sessionAuth, tenderCheck, uncheckTenderCheck, 'changeController.newCode');
  396. app.post('/tender/:id/change/add', sessionAuth, tenderCheck, uncheckTenderCheck, 'changeController.add');
  397. app.post('/tender/:id/change/defaultBills', sessionAuth, tenderCheck, uncheckTenderCheck, 'changeController.defaultBills');
  398. app.get('/tender/:id/change/:cid/info', sessionAuth, tenderCheck, uncheckTenderCheck, changeAuditCheck, 'changeController.info');
  399. app.post('/tender/:id/change/:cid/info/file/upload', sessionAuth, 'changeController.uploadFile');
  400. app.get('/change/download/file/:id', sessionAuth, 'changeController.downloadFile');
  401. app.post('/change/download/file/:id', sessionAuth, 'changeController.checkFile');
  402. app.post('/tender/:id/change/:cid/info/file/delete', sessionAuth, 'changeController.deleteFile');
  403. app.post('/tender/:id/change/:cid/download/compresse-file', sessionAuth, tenderCheck, uncheckTenderCheck, 'changeController.downloadZip');
  404. app.post('/tender/:id/change/delete', sessionAuth, tenderCheck, uncheckTenderCheck, 'changeController.delete');
  405. app.post('/tender/:id/change/bills', sessionAuth, tenderCheck, uncheckTenderCheck, 'changeController.bills');
  406. app.post('/tender/:id/change/save', sessionAuth, tenderCheck, uncheckTenderCheck, changeAuditCheck, 'changeController.save');
  407. app.post('/tender/:id/change/approval', sessionAuth, tenderCheck, uncheckTenderCheck, 'changeController.approval');
  408. app.post('/tender/:id/change/check/again', sessionAuth, tenderCheck, uncheckTenderCheck, 'changeController.checkAgain');
  409. app.post('/tender/:id/change/check/revise', sessionAuth, tenderCheck, uncheckTenderCheck, 'changeController.checkRevise');
  410. app.post('/tender/:id/change/:cid/check/codeRepeat', sessionAuth, tenderCheck, uncheckTenderCheck, 'changeController.checkCodeRepeat');
  411. app.post('/tender/:id/change/:cid/info/copy', sessionAuth, tenderCheck, uncheckTenderCheck, 'changeController.copyChange');
  412. // 变更单位管理
  413. app.post('/change/update/company', sessionAuth, 'changeController.updateCompany');
  414. // 变更令 - 新版本
  415. app.get('/tender/:id/change/:cid/information', sessionAuth, tenderCheck, uncheckTenderCheck, changeCheck, changeAuditCheck, 'changeController.information');
  416. app.post('/tender/:id/change/:cid/information/save', sessionAuth, tenderCheck, uncheckTenderCheck, changeCheck, 'changeController.saveListsData');
  417. app.post('/tender/:id/change/:cid/information/audit/start', sessionAuth, tenderCheck, uncheckTenderCheck, changeCheck, changeAuditCheck, 'changeController.startAudit');
  418. app.post('/tender/:id/change/:cid/information/file/upload', sessionAuth, 'changeController.uploadFile');
  419. app.post('/tender/:id/change/:cid/information/file/delete', sessionAuth, 'changeController.deleteFile');
  420. app.post('/tender/:id/change/:cid/information/copy', sessionAuth, tenderCheck, uncheckTenderCheck, 'changeController.copyChange');
  421. app.post('/tender/:id/change/:cid/information/audit/add', sessionAuth, tenderCheck, uncheckTenderCheck, changeCheck, 'changeController.addAudit');
  422. app.post('/tender/:id/change/:cid/information/audit/delete', sessionAuth, tenderCheck, uncheckTenderCheck, changeCheck, 'changeController.deleteAudit');
  423. // 变更新增部位页
  424. app.get('/tender/:id/change/:cid/information/revise', sessionAuth, tenderCheck, uncheckTenderCheck, changeCheck, 'changeController.reviseInfo');
  425. app.post('/tender/:id/change/:cid/information/revise/update', sessionAuth, tenderCheck, uncheckTenderCheck, changeCheck, 'changeController.updateRevise');
  426. // 变更立项
  427. app.get('/tender/:id/change/project', sessionAuth, tenderCheck, uncheckTenderCheck, 'changeController.project');
  428. app.get('/tender/:id/change/project/status/:status', sessionAuth, tenderCheck, uncheckTenderCheck, 'changeController.projectStatus');
  429. app.post('/tender/:id/change/project/add', sessionAuth, tenderCheck, uncheckTenderCheck, 'changeController.projectAdd');
  430. app.post('/tender/:id/change/project/delete', sessionAuth, tenderCheck, uncheckTenderCheck, 'changeController.projectDelete');
  431. app.get('/tender/:id/change/project/:cpid/information', sessionAuth, tenderCheck, uncheckTenderCheck, changeProjectCheck, 'changeController.projectInformation');
  432. app.post('/tender/:id/change/project/:cpid/information/save', sessionAuth, tenderCheck, uncheckTenderCheck, changeProjectCheck, 'changeController.projectInformationSave');
  433. app.post('/tender/:id/change/project/:cpid/information/file/upload', sessionAuth, tenderCheck, uncheckTenderCheck, changeProjectCheck, 'changeController.uploadProjectFile');
  434. app.post('/tender/:id/change/project/:cpid/information/file/delete', sessionAuth, tenderCheck, uncheckTenderCheck, changeProjectCheck, 'changeController.deleteProjectFile');
  435. app.get('/tender/:id/change/project/:cpid/information/file/:fid/download', sessionAuth, tenderCheck, uncheckTenderCheck, changeProjectCheck, 'changeController.downloadProjectFile');
  436. app.post('/tender/:id/change/project/:cpid/information/audit/add', sessionAuth, tenderCheck, uncheckTenderCheck, changeProjectCheck, 'changeController.addProjectAudit');
  437. app.post('/tender/:id/change/project/:cpid/information/audit/delete', sessionAuth, tenderCheck, uncheckTenderCheck, changeProjectCheck, 'changeController.deleteProjectAudit');
  438. app.post('/tender/:id/change/project/:cpid/information/audit/start', sessionAuth, tenderCheck, uncheckTenderCheck, changeProjectCheck, 'changeController.startProjectAudit');
  439. app.post('/tender/:id/change/project/:cpid/information/audit/check', sessionAuth, tenderCheck, uncheckTenderCheck, changeProjectCheck, 'changeController.checkProjectAudit');
  440. app.post('/tender/:id/change/project/:cpid/information/xsaudit/add', sessionAuth, tenderCheck, uncheckTenderCheck, changeProjectCheck, 'changeController.addProjectXsAudit');
  441. app.post('/tender/:id/change/project/:cpid/information/xsaudit/delete', sessionAuth, tenderCheck, uncheckTenderCheck, changeProjectCheck, 'changeController.deleteProjectXsAudit');
  442. // 变更申请
  443. app.get('/tender/:id/change/apply', sessionAuth, tenderCheck, uncheckTenderCheck, 'changeController.apply');
  444. app.get('/tender/:id/change/apply/status/:status', sessionAuth, tenderCheck, uncheckTenderCheck, 'changeController.applyStatus');
  445. app.post('/tender/:id/change/apply/add', sessionAuth, tenderCheck, uncheckTenderCheck, 'changeController.applyAdd');
  446. app.post('/tender/:id/change/apply/delete', sessionAuth, tenderCheck, uncheckTenderCheck, 'changeController.applyDelete');
  447. app.get('/tender/:id/change/apply/:caid/information', sessionAuth, tenderCheck, uncheckTenderCheck, changeApplyCheck, 'changeController.applyInformation');
  448. app.post('/tender/:id/change/apply/:caid/information/save', sessionAuth, tenderCheck, uncheckTenderCheck, changeApplyCheck, 'changeController.applyInformationSave');
  449. app.post('/tender/:id/change/apply/:caid/information/file/upload', sessionAuth, tenderCheck, uncheckTenderCheck, changeApplyCheck, 'changeController.uploadApplyFile');
  450. app.post('/tender/:id/change/apply/:caid/information/file/delete', sessionAuth, tenderCheck, uncheckTenderCheck, changeApplyCheck, 'changeController.deleteApplyFile');
  451. app.get('/tender/:id/change/apply/:caid/information/file/:fid/download', sessionAuth, tenderCheck, uncheckTenderCheck, changeApplyCheck, 'changeController.downloadApplyFile');
  452. app.post('/tender/:id/change/apply/:caid/information/audit/add', sessionAuth, tenderCheck, uncheckTenderCheck, changeApplyCheck, 'changeController.addApplyAudit');
  453. app.post('/tender/:id/change/apply/:caid/information/audit/delete', sessionAuth, tenderCheck, uncheckTenderCheck, changeApplyCheck, 'changeController.deleteApplyAudit');
  454. app.post('/tender/:id/change/apply/:caid/information/audit/start', sessionAuth, tenderCheck, uncheckTenderCheck, changeApplyCheck, 'changeController.startApplyAudit');
  455. app.post('/tender/:id/change/apply/:caid/information/audit/check', sessionAuth, tenderCheck, uncheckTenderCheck, changeApplyCheck, 'changeController.checkApplyAudit');
  456. app.get('/tender/:id/change/apply/:caid/information/notice', sessionAuth, tenderCheck, uncheckTenderCheck, changeApplyCheck, 'changeController.applyInformationNotice');
  457. app.post('/tender/:id/change/apply/:caid/information/list/save', sessionAuth, tenderCheck, uncheckTenderCheck, changeApplyCheck, 'changeController.saveApplyListsData');
  458. // 变更方案
  459. app.get('/tender/:id/change/plan', sessionAuth, tenderCheck, uncheckTenderCheck, 'changeController.plan');
  460. app.get('/tender/:id/change/plan/status/:status', sessionAuth, tenderCheck, uncheckTenderCheck, 'changeController.planStatus');
  461. app.post('/tender/:id/change/plan/add', sessionAuth, tenderCheck, uncheckTenderCheck, 'changeController.planAdd');
  462. app.post('/tender/:id/change/plan/delete', sessionAuth, tenderCheck, uncheckTenderCheck, 'changeController.planDelete');
  463. app.get('/tender/:id/change/plan/:cpid/information', sessionAuth, tenderCheck, uncheckTenderCheck, changePlanCheck, 'changeController.planInformation');
  464. app.post('/tender/:id/change/plan/:cpid/information/save', sessionAuth, tenderCheck, uncheckTenderCheck, changePlanCheck, 'changeController.planInformationSave');
  465. app.post('/tender/:id/change/plan/:cpid/information/file/upload', sessionAuth, tenderCheck, uncheckTenderCheck, changePlanCheck, 'changeController.uploadPlanFile');
  466. app.post('/tender/:id/change/plan/:cpid/information/file/delete', sessionAuth, tenderCheck, uncheckTenderCheck, changePlanCheck, 'changeController.deletePlanFile');
  467. app.get('/tender/:id/change/plan/:cpid/information/file/:fid/download', sessionAuth, tenderCheck, uncheckTenderCheck, changePlanCheck, 'changeController.downloadPlanFile');
  468. app.post('/tender/:id/change/plan/:cpid/information/audit/add', sessionAuth, tenderCheck, uncheckTenderCheck, changePlanCheck, 'changeController.addPlanAudit');
  469. app.post('/tender/:id/change/plan/:cpid/information/audit/delete', sessionAuth, tenderCheck, uncheckTenderCheck, changePlanCheck, 'changeController.deletePlanAudit');
  470. app.post('/tender/:id/change/plan/:cpid/information/audit/start', sessionAuth, tenderCheck, uncheckTenderCheck, changePlanCheck, 'changeController.startPlanAudit');
  471. app.post('/tender/:id/change/plan/:cpid/information/audit/check', sessionAuth, tenderCheck, uncheckTenderCheck, changePlanCheck, 'changeController.checkPlanAudit');
  472. app.post('/tender/:id/change/plan/:cpid/information/list/save', sessionAuth, tenderCheck, uncheckTenderCheck, changePlanCheck, 'changeController.savePlanListsData');
  473. // 材料调差
  474. app.get('/tender/:id/measure/material', sessionAuth, tenderCheck, uncheckTenderCheck, 'materialController.index');
  475. app.post('/tender/:id/measure/material/add', sessionAuth, tenderCheck, uncheckTenderCheck, 'materialController.add');
  476. app.post('/tender/:id/measure/material/delete', sessionAuth, tenderCheck, uncheckTenderCheck, 'materialController.delete');
  477. app.post('/tender/:id/measure/material/auditors', sessionAuth, tenderCheck, uncheckTenderCheck, 'materialController.materialAuditors');
  478. app.post('/tender/:id/measure/material/:order/save/decimal', sessionAuth, tenderCheck, uncheckTenderCheck, materialCheck, 'materialController.saveDecimal');
  479. app.post('/tender/:id/measure/material/save', sessionAuth, tenderCheck, uncheckTenderCheck, 'materialController.save');
  480. // 审批
  481. app.post('/tender/:id/measure/material/:order/audit/add', sessionAuth, tenderCheck, uncheckTenderCheck, materialCheck, 'materialController.addAudit');
  482. app.post('/tender/:id/measure/material/:order/audit/delete', sessionAuth, tenderCheck, uncheckTenderCheck, materialCheck, 'materialController.deleteAudit');
  483. app.post('/tender/:id/measure/material/:order/audit/start', sessionAuth, tenderCheck, uncheckTenderCheck, materialCheck, 'materialController.startAudit');
  484. app.post('/tender/:id/measure/material/:order/audit/check', sessionAuth, tenderCheck, uncheckTenderCheck, materialCheck, 'materialController.checkAudit');
  485. app.get('/tender/:id/measure/material/:order/audit/check/again', sessionAuth, tenderCheck, uncheckTenderCheck, materialCheck, 'materialController.checkAuditAgain');
  486. // 调差工料
  487. app.get('/tender/:id/measure/material/:order', sessionAuth, tenderCheck, uncheckTenderCheck, materialCheck, 'materialController.info');
  488. app.post('/tender/:id/measure/material/:order/save', sessionAuth, tenderCheck, uncheckTenderCheck, materialCheck, 'materialController.saveBillsData');
  489. // 月信息价
  490. app.post('/tender/:id/measure/material/:order/month/save', sessionAuth, tenderCheck, uncheckTenderCheck, materialCheck, 'materialController.saveMonth');
  491. // 指数调差
  492. app.get('/tender/:id/measure/material/:order/exponent', sessionAuth, tenderCheck, uncheckTenderCheck, materialCheck, 'materialController.exponent');
  493. app.post('/tender/:id/measure/material/:order/exponent/save', sessionAuth, tenderCheck, uncheckTenderCheck, materialCheck, 'materialController.saveExponentData');
  494. // 调差清单
  495. app.get('/tender/:id/measure/material/:order/list', sessionAuth, tenderCheck, uncheckTenderCheck, materialCheck, 'materialController.list');
  496. app.post('/tender/:id/measure/material/:order/list/save', sessionAuth, tenderCheck, uncheckTenderCheck, materialCheck, 'materialController.saveListsData');
  497. app.post('/tender/:id/measure/material/:order/list/load', sessionAuth, tenderCheck, uncheckTenderCheck, materialCheck, 'materialController.loadListsData');
  498. // 调差清单设置页
  499. app.get('/tender/:id/measure/material/:order/checklist', sessionAuth, tenderCheck, uncheckTenderCheck, materialCheck, 'materialController.checklist');
  500. app.post('/tender/:id/measure/material/:order/checklist/load', sessionAuth, tenderCheck, uncheckTenderCheck, materialCheck, 'materialController.loadListsData');
  501. app.post('/tender/:id/measure/material/:order/checklist/save', sessionAuth, tenderCheck, uncheckTenderCheck, materialCheck, 'materialController.saveChecklistData');
  502. // 附件
  503. app.get('/tender/:id/measure/material/:order/file', sessionAuth, tenderCheck, uncheckTenderCheck, materialCheck, 'materialController.file');
  504. app.post('/tender/:id/measure/material/:order/file/upload', sessionAuth, tenderCheck, uncheckTenderCheck, materialCheck, 'materialController.upload');
  505. app.get('/tender/:id/measure/material/:order/file/:fid/download', sessionAuth, tenderCheck, uncheckTenderCheck, 'materialController.downloadFile');
  506. app.post('/tender/:id/measure/material/:order/file/find', sessionAuth, tenderCheck, uncheckTenderCheck, materialCheck, 'materialController.getCurMatericalFiles');
  507. app.post('/tender/:id/measure/material/:order/file/delete', sessionAuth, tenderCheck, uncheckTenderCheck, materialCheck, 'materialController.deleteFile');
  508. app.post('/tender/:id/measure/material/:order/file/download/compresse-file', sessionAuth, tenderCheck, uncheckTenderCheck, 'materialController.downloadZip');
  509. // 调差新建期数据获取
  510. app.post('/tender/:id/measure/material/gcl/load', sessionAuth, tenderCheck, uncheckTenderCheck, 'materialController.loadGclData');
  511. // 个人账号相关
  512. app.get('/profile/info', sessionAuth, 'profileController.info');
  513. app.get('/profile/sms', sessionAuth, 'profileController.sms');
  514. app.post('/profile/sms/type', sessionAuth, 'profileController.smsType');
  515. app.get('/profile/sign', sessionAuth, 'profileController.sign');
  516. app.get('/profile/sign/netca', sessionAuth, 'profileController.netcasign');
  517. app.post('/profile/sign/save', sessionAuth, 'profileController.signSave');
  518. // app.get('/profile/netcasign/delete', sessionAuth, 'profileController.netcasignDelete');
  519. // app.get('/profile/netcasign/upload', sessionAuth, 'profileController.netcasignload');
  520. app.post('/profile/sign/delete', sessionAuth, 'profileController.signDelete');
  521. app.post('/profile/sign/upload', sessionAuth, 'profileController.signUpload');
  522. app.post('/profile/stamp/upload', sessionAuth, 'profileController.stampUpload');
  523. app.get('/profile/safe', sessionAuth, 'profileController.safe');
  524. app.post('/profile/save', sessionAuth, 'profileController.saveBase');
  525. app.post('/profile/password', sessionAuth, 'profileController.modifyPassword');
  526. app.post('/profile/code', sessionAuth, 'profileController.getCode');
  527. app.post('/profile/bind', sessionAuth, 'profileController.bindMobile');
  528. app.get('/profile/qrCode', sessionAuth, 'profileController.qrCode');
  529. app.get('/profile/wechat', sessionAuth, 'profileController.wechat');
  530. app.post('/profile/wechat/remove', sessionAuth, 'profileController.removeWechat');
  531. // 标准库相关
  532. app.post('/std-lib/get-data', sessionAuth, 'standardLibController.getData');
  533. // 查询
  534. app.post('/search/user', sessionAuth, 'projectController.searchAccount');
  535. // 示例
  536. app.get('/template/:file', sessionAuth, 'templateController.download');
  537. // 标段对比
  538. app.get('/compare/tz', sessionAuth, 'spssController.compareTz');
  539. app.post('/compare/tz/load', sessionAuth, 'spssController.loadCompareTz');
  540. app.get('/compare/stage', sessionAuth, 'spssController.compareStage');
  541. app.post('/compare/stage/load', sessionAuth, 'spssController.loadCompareStage');
  542. app.get('/gather/tz', sessionAuth, 'spssController.gatherTz');
  543. app.post('/gather/tz/load', sessionAuth, 'spssController.loadGatherTz');
  544. app.get('/gather/stage', sessionAuth, 'spssController.gatherStage');
  545. app.post('/gather/stage/load', sessionAuth, 'spssController.loadGatherStage');
  546. app.get('/tools/check-tz', sessionAuth, 'spssController.checkTz');
  547. app.post('/tools/load', sessionAuth, 'spssController.loadBaseData');
  548. // wap页面
  549. app.get('/wap', 'wapController.index');
  550. app.get('/wap/login', 'wapController.index');
  551. app.post('/wap/login', 'wapController.login');
  552. app.get('/wap/logout', 'wapController.logout');
  553. app.get('/wap/dashboard', sessionAuth, 'wapController.dashboard');
  554. app.get('/wap/list', sessionAuth, 'wapController.list');
  555. app.get('/wap/tender/:id', sessionAuth, tenderCheck, uncheckTenderCheck, 'wapController.tender');
  556. app.get('/wap/tender/:id/stage/:order', sessionAuth, tenderCheck, uncheckTenderCheck, 'wapController.stage');
  557. app.get('/wap/tender/:id/change/:cid/info', sessionAuth, tenderCheck, uncheckTenderCheck, 'wapController.change');
  558. app.get('/wap/tender/:id/change/plan/:cpid/info', sessionAuth, tenderCheck, uncheckTenderCheck, 'wapController.changePlan');
  559. app.post('/wap/tender/:id/change/approval', sessionAuth, tenderCheck, uncheckTenderCheck, 'wapController.changeApproval');
  560. app.get('/wap/tender/:id/revise/:rid/info', sessionAuth, tenderCheck, uncheckTenderCheck, 'wapController.revise');
  561. app.get('/wap/tender/:id/advance', sessionAuth, tenderCheck, uncheckTenderCheck, 'wapController.advance');
  562. app.get('/wap/tender/:id/advance/:order/detail', sessionAuth, tenderCheck, advanceCheck, 'wapController.advanceDetail');
  563. // 微信
  564. app.get('/wx', 'wechatController.index');
  565. app.get('/wx/oauth', 'wechatController.oauth');
  566. app.get('/wx/bind', wechatAuth, 'wechatController.bind');
  567. app.post('/wx/bindwx', wechatAuth, 'wechatController.bindwx');
  568. app.get('/wx/url2wap', wechatAuth, 'wechatController.url2wap');
  569. app.get('/wx/project', wechatAuth, 'wechatController.project');
  570. app.get('/wx/test', 'wechatController.testwx');
  571. app.get('/MP_verify_t3MkWAMqplVxPjmr.txt', 'wechatController.oauthTxt');
  572. // 投资进度
  573. app.get('/tender/:id/schedule', sessionAuth, tenderCheck, uncheckTenderCheck, scheduleCheck, 'scheduleController.index');
  574. app.get('/tender/:id/schedule/ledger', sessionAuth, tenderCheck, uncheckTenderCheck, scheduleCheck, 'scheduleController.ledger');
  575. app.post('/tender/:id/schedule/ledger/load', sessionAuth, tenderCheck, uncheckTenderCheck, 'scheduleController.loadLedgerData');
  576. app.post('/tender/:id/schedule/ledger/save', sessionAuth, tenderCheck, uncheckTenderCheck, 'scheduleController.saveLedger');
  577. app.get('/tender/:id/schedule/plan', sessionAuth, tenderCheck, uncheckTenderCheck, scheduleCheck, 'scheduleController.plan');
  578. app.post('/tender/:id/schedule/plan/save', sessionAuth, tenderCheck, uncheckTenderCheck, 'scheduleController.savePlan');
  579. app.get('/tender/:id/schedule/stage', sessionAuth, tenderCheck, uncheckTenderCheck, scheduleCheck, 'scheduleController.stageTp');
  580. app.get('/tender/:id/schedule/stage/order/:order', sessionAuth, tenderCheck, uncheckTenderCheck, scheduleCheck, 'scheduleController.stageTp');
  581. app.post('/tender/:id/schedule/stage/save', sessionAuth, tenderCheck, uncheckTenderCheck, 'scheduleController.saveStageTp');
  582. app.get('/tender/:id/schedule/stage/gcl', sessionAuth, tenderCheck, uncheckTenderCheck, scheduleCheck, 'scheduleController.stageGcl');
  583. app.post('/tender/:id/schedule/stage/gcl/save', sessionAuth, tenderCheck, uncheckTenderCheck, 'scheduleController.saveStageGcl');
  584. app.post('/tender/:id/schedule/stage/:order/load', sessionAuth, tenderCheck, uncheckTenderCheck, 'scheduleController.loadTpLedgerData');
  585. app.post('/tender/:id/schedule/stage/gcl/:order/load', sessionAuth, tenderCheck, uncheckTenderCheck, 'scheduleController.loadGclLedgerData');
  586. app.post('/tender/:id/schedule/audit/save', sessionAuth, tenderCheck, uncheckTenderCheck, 'scheduleController.saveAudit');
  587. // 书签
  588. app.post('/tender/:id/ledger/tag', sessionAuth, tenderCheck, uncheckTenderCheck, 'tenderController.billsTag');
  589. app.post('/tender/:id/revise/:rid/info/tag', sessionAuth, tenderCheck, uncheckTenderCheck, reviseCheck, 'tenderController.billsTag');
  590. app.post('/tender/:id/measure/stage/:order/tag', sessionAuth, tenderCheck, uncheckTenderCheck, stageCheck, 'tenderController.billsTag');
  591. // 总分包
  592. app.post('/tender/:id/ledger/sumLoad', sessionAuth, tenderCheck, uncheckTenderCheck, 'tenderController.sumLoad');
  593. app.post('/tender/:id/measure/stage/:order/sumLoad', sessionAuth, tenderCheck, uncheckTenderCheck, stageCheck, 'tenderController.sumLoad');
  594. app.post('/tender/:id/revise/:rid/info/sumLoad', sessionAuth, tenderCheck, uncheckTenderCheck, reviseCheck, 'tenderController.sumLoad');
  595. // 扫码登录
  596. app.get('/wxAuth', 'loginController.wxAuth');
  597. app.get('/wxproject', 'loginController.wxProject');
  598. app.get('/wx/url2web', 'loginController.url2web');
  599. // 收方单附件页,免session
  600. app.get('/wap/shoufang/upload', 'wapController.shoufangUpload');
  601. app.post('/wap/shoufang/upfile', 'wapController.shoufangUpFile');
  602. app.post('/wap/shoufang/delfile', 'wapController.shoufangDeleteFile');
  603. app.post('/wap/shoufang/editfile', 'wapController.shoufangEditFile');
  604. app.get('/wap/shoufang/download/file/:fid', 'wapController.shoufangDownloadFile');
  605. // 决策大屏
  606. app.get('/datacollect', sessionAuth, 'datacollectController.index');
  607. app.post('/datacollect/load', sessionAuth, 'datacollectController.loadData');
  608. // 概算投资
  609. app.get('/budget', sessionAuth, 'budgetController.list');
  610. app.post('/budget/add', sessionAuth, projectManagerCheck, 'budgetController.add');
  611. app.post('/budget/del', sessionAuth, projectManagerCheck, 'budgetController.del');
  612. app.post('/budget/save', sessionAuth, 'budgetController.save');
  613. app.post('/budget/rela', sessionAuth, 'budgetController.rela');
  614. app.post('/budget/member', sessionAuth, projectManagerCheck, 'budgetController.member');
  615. app.post('/budget/member-save', sessionAuth, projectManagerCheck, 'budgetController.memberSave');
  616. app.get('/budget/:id/compare', sessionAuth, budgetCheck, 'budgetController.compare');
  617. app.post('/budget/:id/compare/load', sessionAuth, budgetCheck, 'budgetController.compareLoad');
  618. app.post('/budget/:id/compare/final', sessionAuth, budgetCheck, 'budgetController.compareFinal');
  619. app.get('/budget/:id/:btype', sessionAuth, budgetCheck, 'budgetController.detail');
  620. app.post('/budget/:id/:btype/load', sessionAuth, budgetCheck, 'budgetController.detailLoad');
  621. app.post('/budget/:id/:btype/update', sessionAuth, budgetCheck, 'budgetController.detailUpdate');
  622. app.post('/budget/:id/:btype/upload-excel/:ueType', sessionAuth, budgetCheck, 'budgetController.detailUploadExcel');
  623. app.post('/budget/:id/decimal', sessionAuth, budgetCheck, 'budgetController.decimal');
  624. };