router.js 110 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073
  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 tenderBuildCheck = app.middlewares.tenderBuildCheck();
  12. const ledgerAuditCheck = app.middlewares.ledgerAuditCheck();
  13. const reviseAuditCheck = app.middlewares.reviseAuditCheck();
  14. const changeAuditCheck = app.middlewares.changeAuditCheck();
  15. const changeProjectAuditCheck = app.middlewares.changeProjectAuditCheck();
  16. const changeApplyAuditCheck = app.middlewares.changeApplyAuditCheck();
  17. const changePlanAuditCheck = app.middlewares.changePlanAuditCheck();
  18. const uncheckTenderCheck = app.middlewares.uncheckTenderCheck();
  19. // 期读取中间件
  20. const stageCheck = app.middlewares.stageCheck();
  21. const settleCheck = app.middlewares.settleCheck();
  22. const phasePayCheck = app.middlewares.phasePayCheck();
  23. // 材料调差读取中间件
  24. const materialCheck = app.middlewares.materialCheck();
  25. // 第三方接口认证判断中间件
  26. const api2otherCheck = app.middlewares.api2otherCheck();
  27. // 项目管理接口认证中间件
  28. const api3managementCheck = app.middlewares.api3managementCheck();
  29. // 微信验证登录中间件
  30. const wechatAuth = app.middlewares.wechatAuth();
  31. // 企业微信验证登录中间件
  32. const wxWorkAuth = app.middlewares.wxWorkAuth();
  33. // 预付款中间件
  34. const advanceCheck = app.middlewares.advanceCheck();
  35. // 变更令中间件
  36. const changeCheck = app.middlewares.changeCheck();
  37. // 变更立项书中间件
  38. const changeProjectCheck = app.middlewares.changeProjectCheck();
  39. // 变更申请中间件
  40. const changeApplyCheck = app.middlewares.changeApplyCheck();
  41. // 变更方案中间件
  42. const changePlanCheck = app.middlewares.changePlanCheck();
  43. // 投资进度中间件
  44. const scheduleCheck = app.middlewares.scheduleCheck();
  45. // 修订
  46. const reviseCheck = app.middlewares.reviseCheck();
  47. const budgetCheck = app.middlewares.budgetCheck();
  48. const subProjectCheck = app.middlewares.subProjectCheck();
  49. // 支付审批中间件
  50. const paymentTenderCheck = app.middlewares.paymentTenderCheck();
  51. const paymentDetailCheck = app.middlewares.paymentDetailCheck();
  52. // 施工日志中间件
  53. const constructionCheck = app.middlewares.constructionCheck();
  54. // 合同管理中间件
  55. const contractCheck = app.middlewares.contractCheck();
  56. // 资金监管中间件
  57. const financialCheck = app.middlewares.financialCheck();
  58. const financialPayCheck = app.middlewares.financialPayCheck();
  59. const financialPayAuditCheck = app.middlewares.financialPayAuditCheck();
  60. // 登入登出相关
  61. app.get('/login', 'loginController.index');
  62. app.get('/login/:code', 'loginController.index');
  63. app.get('/login/port', api2otherCheck, 'loginController.port');
  64. app.get('/', 'loginController.index');
  65. app.get('/logout', 'loginController.logout');
  66. app.post('/login', 'loginController.login');
  67. app.post('/login/port', 'loginController.loginPort');
  68. app.get('/login/management', api3managementCheck, 'loginController.management');
  69. app.get('/project/name', 'loginController.projectName');
  70. app.get('/sign', 'signController.index');
  71. app.post('/sign/save', 'signController.save');
  72. app.post('/reset/password', 'loginController.resetPassword');
  73. // 项目管理对计量接口相关
  74. app.get('/management/account', api3managementCheck, 'loginController.account');
  75. app.get('/management/account/sync', api3managementCheck, 'loginController.syncProjectAccount');
  76. app.get('/management/account/valid', api3managementCheck, 'loginController.syncValidAccount');
  77. app.get('/management/project', api3managementCheck, 'loginController.project');
  78. app.get('/management/proxy/project/vertify', sessionAuth, 'loginController.vertifyProject');
  79. app.get('/management/proxy/project/add', sessionAuth, 'loginController.addProject');
  80. // 用户信息初始化相关
  81. app.get('/boot', sessionAuth, 'bootController.index');
  82. app.post('/boot', sessionAuth, 'bootController.boot');
  83. // 项目相关
  84. app.get('/project/info', sessionAuth, 'projectController.info');
  85. app.get('/project/account', sessionAuth, projectManagerCheck, 'accountController.index');
  86. app.post('/project/account/permission/:accountId', sessionAuth, projectManagerCheck, 'accountController.savePermission');
  87. app.get('/project/account/enable/:accountId', sessionAuth, projectManagerCheck, 'accountController.enable');
  88. app.get('/project/account/disable/:accountId', sessionAuth, projectManagerCheck, 'accountController.enable');
  89. app.get('/project/switch/:projectId', sessionAuth, projectManagerCheck, 'projectController.switchProject');
  90. app.post('/project/info', sessionAuth, 'projectController.saveInfo');
  91. // 个人账号相关
  92. app.get('/profile/info', sessionAuth, 'profileController.info');
  93. app.get('/profile/cert', sessionAuth, 'profileController.cert');
  94. app.post('/profile/cert/save', sessionAuth, 'profileController.certSave');
  95. app.post('/profile/cert/upload', sessionAuth, 'profileController.certUpload');
  96. app.get('/profile/sms', sessionAuth, 'profileController.sms');
  97. app.post('/profile/sms/type', sessionAuth, 'profileController.smsType');
  98. app.post('/profile/dsk/api', sessionAuth, 'profileController.dskApi');
  99. app.get('/profile/sign', sessionAuth, 'profileController.sign');
  100. app.get('/profile/sign/netca', sessionAuth, 'profileController.netcasign');
  101. app.post('/profile/sign/save', sessionAuth, 'profileController.signSave');
  102. // app.get('/profile/netcasign/delete', sessionAuth, 'profileController.netcasignDelete');
  103. // app.get('/profile/netcasign/upload', sessionAuth, 'profileController.netcasignload');
  104. app.post('/profile/sign/delete', sessionAuth, 'profileController.signDelete');
  105. app.post('/profile/sign/upload', sessionAuth, 'profileController.signUpload');
  106. app.post('/profile/stamp/upload', sessionAuth, 'profileController.stampUpload');
  107. app.get('/profile/safe', sessionAuth, 'profileController.safe');
  108. app.post('/profile/save', sessionAuth, 'profileController.saveBase');
  109. app.post('/profile/password', sessionAuth, 'profileController.modifyPassword');
  110. app.post('/profile/code', sessionAuth, 'profileController.getCode');
  111. app.post('/profile/bind', sessionAuth, 'profileController.bindMobile');
  112. app.get('/profile/qrCode', sessionAuth, 'profileController.qrCode');
  113. app.get('/profile/wechat', sessionAuth, 'profileController.wechat');
  114. app.post('/profile/wechat/remove', sessionAuth, 'profileController.removeWechat');
  115. // ------------------------- 通用 -----------------------------
  116. // 标准库相关
  117. app.post('/std-lib/get-data', sessionAuth, 'standardLibController.getData');
  118. // 查询
  119. app.post('/search/user', sessionAuth, 'projectController.searchAccount');
  120. // 示例
  121. app.get('/template/:file', sessionAuth, 'templateController.download');
  122. // ------------------------- 通用 -----------------------------
  123. // ------------------------- 项目相关 -----------------------------
  124. // **工作台 todo 暂时引用控制面板,待修改
  125. app.get('/dashboard', sessionAuth, 'dashboardController.index');
  126. app.get('/dashboard/msg', sessionAuth, 'dashboardController.msg');
  127. app.get('/dashboard/msg/:id', sessionAuth, 'dashboardController.msg');
  128. app.get('/dashboard/msg/add/:id', sessionAuth, 'dashboardController.msgAdd');
  129. app.post('/dashboard/msg/set/:id', sessionAuth, datetimeFill, 'dashboardController.msgSet');
  130. app.get('/dashboard/msg/del/:id', sessionAuth, 'dashboardController.msgDelete');
  131. app.post('/dashboard/msg/:id/file/upload', sessionAuth, 'dashboardController.msgUploadFile');
  132. app.post('/dashboard/msg/:id/file/del', sessionAuth, 'dashboardController.msgDeleteFile');
  133. // **数据大屏 todo dataview
  134. // **项目列表
  135. app.get('/subproj', sessionAuth, 'subProjController.index');
  136. app.post('/subproj/addFolder', sessionAuth, projectManagerCheck, 'subProjController.addFolder');
  137. app.post('/subproj/addProj', sessionAuth, projectManagerCheck, 'subProjController.addProj');
  138. app.post('/subproj/dragTo', sessionAuth, projectManagerCheck, 'subProjController.dragTo');
  139. app.post('/subproj/move', sessionAuth, projectManagerCheck, 'subProjController.move');
  140. app.post('/subproj/del', sessionAuth, projectManagerCheck, 'subProjController.del');
  141. app.post('/subproj/save', sessionAuth, projectManagerCheck, 'subProjController.save');
  142. app.post('/subproj/refresh', sessionAuth, projectManagerCheck, 'subProjController.refresh');
  143. app.post('/subproj/rela/save', sessionAuth, 'subProjController.saveRela');
  144. app.post('/subproj/rela', sessionAuth, 'subProjController.rela');
  145. app.post('/subproj/member', sessionAuth, projectManagerCheck, 'subProjController.member');
  146. app.post('/subproj/memberSave', sessionAuth, projectManagerCheck, 'subProjController.memberSave');
  147. // **项目汇总 todo spgather
  148. // **平台设置
  149. // 项目信息
  150. app.get('/setting/info', sessionAuth, 'settingController.info');
  151. app.post('/setting/updateinfo/:id', sessionAuth, 'settingController.updateinfo');
  152. app.post('/setting/update/projectset', sessionAuth, 'settingController.updateProjectSet');
  153. // 账号设置
  154. app.get('/setting/user', sessionAuth, 'settingController.user');
  155. app.get('/setting/user/permission/set', sessionAuth, 'settingController.userPermissionSet');
  156. app.get('/setting/user/unit', sessionAuth, 'settingController.userUnit');
  157. app.post('/setting/user/unit/add', sessionAuth, 'settingController.userUnitAdd');
  158. app.post('/setting/user/unit/save', sessionAuth, 'settingController.userUnitSave');
  159. app.post('/setting/user/unit/upload', sessionAuth, 'settingController.userUnitUpload');
  160. // 账号停用和启用
  161. app.post('/setting/user/switch', sessionAuth, 'settingController.userSwitch');
  162. app.post('/setting/user/add', sessionAuth, datetimeFill, 'settingController.addUser');
  163. app.post('/setting/user/update', sessionAuth, 'settingController.updateUser');
  164. app.post('/setting/user/permission', sessionAuth, 'settingController.permission');
  165. app.post('/setting/user/reset/password', sessionAuth, 'settingController.resetUserPassword');
  166. app.post('/setting/user/exist', sessionAuth, 'settingController.accountExist');
  167. app.post('/setting/user/unbind', sessionAuth, 'settingController.userUnbind');
  168. // 接口设置
  169. app.get('/setting/api', sessionAuth, 'settingController.s2b');
  170. app.post('/setting/api/update', sessionAuth, 'settingController.s2bUpdate');
  171. app.post('/setting/api/update-status', sessionAuth, 'settingController.s2bUpdateStatus');
  172. // 显示设置
  173. app.get('/setting/show', sessionAuth, 'settingController.show');
  174. app.post('/setting/show/update', sessionAuth, 'settingController.showListUpdate');
  175. app.post('/setting/show/update-sjs', sessionAuth, 'settingController.showSjsUpdate');
  176. app.get('/setting/spread', sessionAuth, projectManagerCheck, 'settingController.spread');
  177. app.post('/setting/spread/save', sessionAuth, projectManagerCheck, 'settingController.saveSpread');
  178. app.post('/setting/spread/preview', sessionAuth, projectManagerCheck, 'settingController.previewSpread');
  179. app.post('/setting/spread/reset', sessionAuth, projectManagerCheck, 'settingController.resetSpread');
  180. // ------------------------- 项目相关 -----------------------------
  181. // ------------------------- 项目内部相关 -----------------------------
  182. // **项目设置
  183. // 标段自定义类别
  184. app.get('/sp/:id/setting/category', sessionAuth, subProjectCheck, 'subProjSettingController.category');
  185. app.post('/sp/:id/setting/category/add', sessionAuth, subProjectCheck, 'subProjSettingController.addCategory');
  186. app.post('/sp/:id/setting/category/del', sessionAuth, subProjectCheck, 'subProjSettingController.deleteCategory');
  187. app.post('/sp/:id/setting/category/update', sessionAuth, subProjectCheck, 'subProjSettingController.updateCategory');
  188. app.post('/sp/:id/setting/category/value', sessionAuth, subProjectCheck, 'subProjSettingController.setCategoryValue');
  189. app.post('/sp/:id/setting/category/level', sessionAuth, subProjectCheck, 'subProjSettingController.resetCategoryLevel');
  190. app.post('/sp/:id/setting/category/self-level', sessionAuth, subProjectCheck, 'subProjSettingController.selfCategoryLevel');
  191. // 账号设置
  192. app.get('/sp/:id/setting/user', sessionAuth, subProjectCheck, 'subProjSettingController.user');
  193. app.get('/sp/:id/setting/user/permission', sessionAuth, subProjectCheck, 'subProjSettingController.permission');
  194. app.post('/sp/:id/setting/user/permission/update', sessionAuth, subProjectCheck, 'subProjSettingController.permissionUpdate');
  195. // 操作日志
  196. app.get('/sp/:id/setting/logs', sessionAuth, subProjectCheck, 'subProjSettingController.logs');
  197. app.get('/sp/:id/setting/logs/type/:type', sessionAuth, subProjectCheck, 'subProjSettingController.logs');
  198. // 功能设置
  199. app.get('/sp/:id/setting/fun', sessionAuth, subProjectCheck, 'subProjSettingController.fun');
  200. app.post('/sp/:id/setting/fun/update', sessionAuth, subProjectCheck, 'subProjSettingController.updateFun');
  201. // 决策大屏
  202. app.get('/sp/:id/setting/datacollect', sessionAuth, subProjectCheck, 'subProjSettingController.dataCollect');
  203. app.post('/sp/:id/setting/datacollect/save', sessionAuth, subProjectCheck, 'subProjSettingController.dataCollectSave');
  204. // 标段管理
  205. app.get('/sp/:id/setting/manage', sessionAuth, subProjectCheck, 'subProjSettingController.manage');
  206. app.post('/sp/:id/setting/manage/tender/save', sessionAuth, subProjectCheck, 'subProjSettingController.manageTenderSave');
  207. app.get('/sp/:id/nop/:block', sessionAuth, subProjectCheck, 'subProjController.noPermission');
  208. // 项目列表跳转项目内部 todo 除标段内,均改为/sp/:id/xxx的链接形式
  209. // **控制面板
  210. app.get('/sp/:id/dashboard', sessionAuth, subProjectCheck, 'dashboardController.index');
  211. app.get('/dashboard/msg', sessionAuth, 'dashboardController.msg');
  212. app.get('/dashboard/msg/:id', sessionAuth, 'dashboardController.msg');
  213. app.get('/dashboard/msg/add/:id', sessionAuth, 'dashboardController.msgAdd');
  214. app.post('/dashboard/msg/set/:id', sessionAuth, datetimeFill, 'dashboardController.msgSet');
  215. app.get('/dashboard/msg/del/:id', sessionAuth, 'dashboardController.msgDelete');
  216. app.post('/dashboard/msg/:id/file/upload', sessionAuth, 'dashboardController.msgUploadFile');
  217. app.post('/dashboard/msg/:id/file/del', sessionAuth, 'dashboardController.msgDeleteFile');
  218. app.get('/wap/message/download/file/:fid', 'wapController.messageDownloadFile');
  219. // 推送相关
  220. // app.post('/dashboard/push', sessionAuth, 'dashboardController.pushSet');
  221. // **决策大屏
  222. app.get('/sp/:id/datacollect', sessionAuth, subProjectCheck, 'datacollectController.index');
  223. app.get('/sp/:id/datacollect/index/:index', sessionAuth, subProjectCheck, 'datacollectController.index');
  224. app.post('/sp/:id/datacollect/load', sessionAuth, subProjectCheck, 'datacollectController.loadData');
  225. // **项目概况
  226. // 项目信息
  227. app.get('/sp/:id/info', sessionAuth, subProjectCheck, 'subProjController.info');
  228. app.get('/sp/:id/data', sessionAuth, subProjectCheck, 'subProjController.dataIndex');
  229. app.post('/sp/:id/info/save', sessionAuth, subProjectCheck, 'subProjController.saveInfo');
  230. app.post('/sp/:id/load', sessionAuth, subProjectCheck, 'subProjController.load');
  231. // 阶段进度
  232. app.get('/sp/:id/progress', sessionAuth, subProjectCheck, 'subProjController.progress');
  233. app.post('/sp/:id/progress/update', sessionAuth, subProjectCheck, 'subProjController.progressUpdate');
  234. app.post('/sp/:id/progress/file/upload', sessionAuth, subProjectCheck, 'subProjController.uploadFile');
  235. app.post('/sp/:id/progress/file/delete', sessionAuth, subProjectCheck, 'subProjController.deleteFile');
  236. //推进记录
  237. app.get('/sp/:id/push', sessionAuth, subProjectCheck, 'subProjController.push');
  238. app.post('/sp/:id/push/update', sessionAuth, subProjectCheck, 'subProjController.pushUpdate');
  239. app.post('/sp/:id/push/file/upload', sessionAuth, subProjectCheck, 'subProjController.uploadFile');
  240. app.post('/sp/:id/push/file/delete', sessionAuth, subProjectCheck, 'subProjController.deleteFile');
  241. // **标段管理
  242. // 金额概况
  243. app.get('/sp/:id/list', sessionAuth, subProjectCheck, 'tenderController.listDefault');
  244. app.get('/sp/:id/list/finish', sessionAuth, subProjectCheck, 'tenderController.listDefaultFinish');
  245. app.post('/sp/:id/list/load', sessionAuth, subProjectCheck, 'tenderController.listLoad');
  246. app.post('/sp/:id/list/load2', sessionAuth, subProjectCheck, 'tenderController.listLoad2');
  247. app.get('/sp/:id/list/info', sessionAuth, subProjectCheck, 'tenderController.listInfo');
  248. app.get('/sp/:id/list/info/finish', sessionAuth, subProjectCheck, 'tenderController.listInfoFinish');
  249. app.post('/sp/:id/list/info/col-set', sessionAuth, projectManagerCheck, subProjectCheck, 'subProjController.colSet');
  250. // 计量进度
  251. app.get('/sp/:id/list/progress', sessionAuth, subProjectCheck, 'tenderController.listProgress');
  252. // 管理标段
  253. app.get('/sp/:id/list/manage', sessionAuth, subProjectCheck, 'tenderController.listManage');
  254. app.get('/sp/:id/list/manage/finish', sessionAuth, subProjectCheck, 'tenderController.listManageFinish');
  255. app.post('/sp/:id/list/add', sessionAuth, subProjectCheck, 'tenderController.addTender');
  256. app.post('/sp/:id/list/update', sessionAuth, subProjectCheck, 'tenderController.updateTender');
  257. app.post('/sp/:id/list/del', sessionAuth, subProjectCheck, 'tenderController.deleteTender');
  258. app.get('/sp/:id/list/refreshCache', sessionAuth, subProjectCheck, 'tenderController.refreshCache');
  259. // **标段合同管理 todo 接入项目内部
  260. // app.get('/sp/:id/contract', sessionAuth, subProjectCheck, 'contractController.index');
  261. app.get('/sp/:id/contract/tender', sessionAuth, subProjectCheck, 'contractController.tender');
  262. app.post('/sp/:id/contract/tender/:tid/audit/save', sessionAuth, subProjectCheck, contractCheck, 'contractController.auditSave');
  263. app.get('/sp/:id/contract/tender/:tid/detail', sessionAuth, subProjectCheck, contractCheck, 'contractController.detail');
  264. app.get('/sp/:id/contract/tender/:tid/detail/:type', sessionAuth, subProjectCheck, contractCheck, 'contractController.detail');
  265. app.post('/sp/:id/contract/tender/:tid/detail/load', sessionAuth, subProjectCheck, contractCheck, 'contractController.loadDetail');
  266. app.post('/sp/:id/contract/tender/:tid/detail/:type/load', sessionAuth, subProjectCheck, contractCheck, 'contractController.loadDetail');
  267. app.post('/sp/:id/contract/tender/:tid/detail/update', sessionAuth, subProjectCheck, contractCheck, 'contractController.updateBills');
  268. app.post('/sp/:id/contract/tender/:tid/detail/:type/update', sessionAuth, subProjectCheck, contractCheck, 'contractController.updateBills');
  269. app.post('/sp/:id/contract/tender/:tid/detail/:type/:cid/file/upload', sessionAuth, subProjectCheck, contractCheck, 'contractController.uploadFile');
  270. app.post('/sp/:id/contract/tender/:tid/detail/:type/:cid/file/delete', sessionAuth, subProjectCheck, contractCheck, 'contractController.deleteFile');
  271. app.get('/sp/:id/contract/tender/:tid/detail/:type/:cid/file/:fid/download', sessionAuth, subProjectCheck, contractCheck, 'contractController.downloadFile');
  272. app.post('/sp/:id/contract/tender/:tid/detail/:type/:cid/pay/:cpid/file/upload', sessionAuth, subProjectCheck, contractCheck, 'contractController.uploadFile');
  273. app.post('/sp/:id/contract/tender/:tid/detail/:type/:cid/pay/:cpid/file/delete', sessionAuth, subProjectCheck, contractCheck, 'contractController.deleteFile');
  274. app.get('/sp/:id/contract/tender/:tid/detail/:type/:cid/pay/:cpid/file/:fid/download', sessionAuth, subProjectCheck, contractCheck, 'contractController.downloadFile');
  275. // 项目合同管理
  276. app.get('/sp/:id/contract', sessionAuth, subProjectCheck, contractCheck, 'contractController.detail');
  277. app.post('/sp/:id/contract/audit/save', sessionAuth, subProjectCheck, contractCheck, 'contractController.auditSave');
  278. app.get('/sp/:id/contract/detail', sessionAuth, subProjectCheck, contractCheck, 'contractController.detail');
  279. app.get('/sp/:id/contract/detail/:type', sessionAuth, subProjectCheck, contractCheck, 'contractController.detail');
  280. app.post('/sp/:id/contract/load', sessionAuth, subProjectCheck, contractCheck, 'contractController.loadDetail');
  281. app.post('/sp/:id/contract/detail/load', sessionAuth, subProjectCheck, contractCheck, 'contractController.loadDetail');
  282. app.post('/sp/:id/contract/detail/:type/load', sessionAuth, subProjectCheck, contractCheck, 'contractController.loadDetail');
  283. app.post('/sp/:id/contract/detail/update', sessionAuth, subProjectCheck, contractCheck, 'contractController.updateBills');
  284. app.post('/sp/:id/contract/detail/:type/update', sessionAuth, subProjectCheck, contractCheck, 'contractController.updateBills');
  285. app.post('/sp/:id/contract/detail/:type/:cid/file/upload', sessionAuth, subProjectCheck, contractCheck, 'contractController.uploadFile');
  286. app.post('/sp/:id/contract/detail/:type/:cid/file/delete', sessionAuth, subProjectCheck, contractCheck, 'contractController.deleteFile');
  287. app.get('/sp/:id/contract/detail/:type/:cid/file/:fid/download', sessionAuth, subProjectCheck, contractCheck, 'contractController.downloadFile');
  288. app.post('/sp/:id/contract/detail/:type/:cid/pay/:cpid/file/upload', sessionAuth, subProjectCheck, contractCheck, 'contractController.uploadFile');
  289. app.post('/sp/:id/contract/detail/:type/:cid/pay/:cpid/file/delete', sessionAuth, subProjectCheck, contractCheck, 'contractController.deleteFile');
  290. app.get('/sp/:id/contract/detail/:type/:cid/pay/:cpid/file/:fid/download', sessionAuth, subProjectCheck, contractCheck, 'contractController.downloadFile');
  291. // 资料归集-列表
  292. app.get('/file', sessionAuth, 'fileController.index');
  293. // 资料归集-模板
  294. app.get('/file/template', sessionAuth, projectManagerCheck, 'fileController.template');
  295. app.post('/file/template/save', sessionAuth, projectManagerCheck, 'fileController.saveTemplate');
  296. app.post('/file/template/reset', sessionAuth, projectManagerCheck, 'fileController.resetTemplate');
  297. app.post('/file/template/del', sessionAuth, projectManagerCheck, 'fileController.delTemplate');
  298. app.get('/file/template/:id', sessionAuth, projectManagerCheck, 'fileController.templateDetail');
  299. app.post('/file/template/:id/update', sessionAuth, projectManagerCheck, 'fileController.updateTemplate');
  300. // 资料归集-文件
  301. app.get('/sp/:id/file', sessionAuth, subProjectCheck, 'fileController.file');
  302. app.post('/sp/:id/permission', sessionAuth, projectManagerCheck, subProjectCheck, 'fileController.getFilingTypePermission');
  303. app.post('/sp/:id/permission/save', sessionAuth, projectManagerCheck, subProjectCheck, 'fileController.saveFilingTypePermission');
  304. app.post('/sp/:id/filing/add', sessionAuth, subProjectCheck, 'fileController.addFiling');
  305. app.post('/sp/:id/filing/save', sessionAuth, subProjectCheck, 'fileController.saveFiling');
  306. app.post('/sp/:id/filing/del', sessionAuth, subProjectCheck, 'fileController.delFiling');
  307. app.post('/sp/:id/filing/move', sessionAuth, subProjectCheck, 'fileController.moveFiling');
  308. app.post('/sp/:id/file/load', sessionAuth, subProjectCheck, 'fileController.loadFile');
  309. app.post('/sp/:id/file/check', sessionAuth, subProjectCheck, 'fileController.checkFiles');
  310. app.post('/sp/:id/file/upload', sessionAuth, subProjectCheck, 'fileController.uploadFile');
  311. app.post('/sp/:id/file/upload/big', sessionAuth, subProjectCheck, 'fileController.uploadBigFile');
  312. app.post('/sp/:id/file/del', sessionAuth, subProjectCheck, 'fileController.delFile');
  313. app.post('/sp/:id/file/save', sessionAuth, subProjectCheck, 'fileController.saveFile');
  314. app.post('/sp/:id/file/move', sessionAuth, subProjectCheck, 'fileController.moveFile');
  315. app.post('/sp/:id/file/rela', sessionAuth, subProjectCheck, 'fileController.relaFile');
  316. app.post('/sp/:id/file/rela/tender', sessionAuth, subProjectCheck, 'fileController.loadValidRelaTender');
  317. app.post('/sp/:id/file/rela/files', sessionAuth, subProjectCheck, 'fileController.loadRelaFiles');
  318. app.post('/sp/:id/file/search', sessionAuth, subProjectCheck, 'fileController.search');
  319. // 资料归集-管理员编辑
  320. app.get('/sp/:id/fm', sessionAuth, projectManagerCheck, subProjectCheck, 'fileController.manage');
  321. app.post('/sp/:id/lock-file', sessionAuth, projectManagerCheck, subProjectCheck, 'fileController.lockFiling');
  322. app.post('/sp/:id/fm/update', sessionAuth, projectManagerCheck, subProjectCheck, 'fileController.manageUpdate');
  323. // **施工日志 todo 接入项目内部
  324. app.get('/sp/:id/construction', sessionAuth, subProjectCheck, 'constructionController.index');
  325. app.post('/sp/:id/construction/:tid/audit/save', sessionAuth, subProjectCheck, 'constructionController.auditSave');
  326. app.get('/sp/:id/construction/:tid/list', sessionAuth, subProjectCheck, constructionCheck, 'constructionController.list');
  327. app.post('/sp/:id/construction/:tid/list/add', sessionAuth, subProjectCheck, constructionCheck, 'constructionController.addLog');
  328. app.post('/sp/:id/construction/:tid/list/startmulti', sessionAuth, subProjectCheck, constructionCheck, 'constructionController.startMulti');
  329. app.get('/sp/:id/construction/:tid/log/:lid', sessionAuth, subProjectCheck, constructionCheck, 'constructionController.logInfo');
  330. app.post('/sp/:id/construction/:tid/log/:lid/delete', sessionAuth, subProjectCheck, constructionCheck, 'constructionController.deleteLog');
  331. app.post('/sp/:id/construction/:tid/log/:lid/save', sessionAuth, subProjectCheck, constructionCheck, 'constructionController.logSave');
  332. app.post('/sp/:id/construction/:tid/log/:lid/file/upload', sessionAuth, subProjectCheck, constructionCheck, 'constructionController.uploadFile');
  333. app.post('/sp/:id/construction/:tid/log/:lid/file/delete', sessionAuth, subProjectCheck, constructionCheck, 'constructionController.deleteFile');
  334. app.get('/sp/:id/construction/:tid/log/:lid/file/:fid/download', sessionAuth, subProjectCheck, constructionCheck, 'constructionController.downloadFile');
  335. // **概算投资/动态投资
  336. // app.get('/budget', sessionAuth, 'budgetController.list');
  337. app.get('/sp/:id/budget', sessionAuth, subProjectCheck, budgetCheck, 'budgetController.budgetInfo');
  338. app.get('/sp/:id/budget/compare', sessionAuth, subProjectCheck, budgetCheck, 'budgetController.compare');
  339. app.post('/sp/:id/budget/compare/load', sessionAuth, subProjectCheck, budgetCheck, 'budgetController.compareLoad');
  340. app.post('/sp/:id/budget/compare/final', sessionAuth, subProjectCheck, budgetCheck, 'budgetController.compareFinal');
  341. app.get('/sp/:id/budget/:btype', sessionAuth, subProjectCheck, budgetCheck, 'budgetController.detail');
  342. app.post('/sp/:id/budget/:btype/load', sessionAuth, subProjectCheck, budgetCheck, 'budgetController.detailLoad');
  343. app.post('/sp/:id/budget/:btype/update', sessionAuth, subProjectCheck, budgetCheck, 'budgetController.detailUpdate');
  344. app.post('/sp/:id/budget/:btype/upload-excel/:ueType', sessionAuth, subProjectCheck, budgetCheck, 'budgetController.detailUploadExcel');
  345. app.post('/sp/:id/budget/decimal', sessionAuth, subProjectCheck, budgetCheck, 'budgetController.decimal');
  346. // 支付审批
  347. app.get('/sp/:id/payment', sessionAuth, subProjectCheck, 'paymentController.index');
  348. app.get('/sp/:id/payment/setting', sessionAuth, subProjectCheck, 'paymentController.setting');
  349. app.post('/sp/:id/payment/permission/save', sessionAuth, subProjectCheck, 'paymentController.permissionSave');
  350. app.post('/sp/:id/payment/info/save', sessionAuth, subProjectCheck, 'paymentController.paymentInfoSave');
  351. app.get('/sp/:id/payment/:pid/detail/:did', sessionAuth, subProjectCheck, paymentTenderCheck, paymentDetailCheck, 'paymentController.detail');
  352. app.post('/sp/:id/payment/:pid/detail/:did/save', sessionAuth, subProjectCheck, paymentTenderCheck, paymentDetailCheck, 'paymentController.detailSave');
  353. app.post('/sp/:id/payment/save', sessionAuth, subProjectCheck, 'paymentController.save');
  354. app.post('/sp/:id/payment/list/load', sessionAuth, subProjectCheck, 'paymentController.listLoad');
  355. app.get('/sp/:id/payment/:pid/process', sessionAuth, subProjectCheck, paymentTenderCheck, 'paymentController.process');
  356. app.post('/sp/:id/payment/:pid/process/save', sessionAuth, subProjectCheck, paymentTenderCheck, 'paymentController.processSave');
  357. app.get('/sp/:id/payment/:pid/list', sessionAuth, subProjectCheck, paymentTenderCheck, 'paymentController.rptList');
  358. app.get('/sp/:id/payment/:pid/list/:trid', sessionAuth, subProjectCheck, paymentTenderCheck, 'paymentController.rptList');
  359. app.post('/sp/:id/payment/:pid/list/:trid/save', sessionAuth, subProjectCheck, paymentTenderCheck, 'paymentController.rptSave');
  360. app.post('/sp/:id/payment/:pid/list/:trid/delete', sessionAuth, subProjectCheck, paymentTenderCheck, 'paymentController.deleteDetail');
  361. app.post('/sp/:id/payment/:pid/list/:trid/auditors', sessionAuth, subProjectCheck, paymentTenderCheck, 'paymentController.detailAuditors');
  362. app.post('/sp/:id/payment/:pid/detail/:did/audit/start', sessionAuth, subProjectCheck, paymentTenderCheck, paymentDetailCheck, 'paymentController.startAudit');
  363. app.post('/sp/:id/payment/:pid/detail/:did/audit/check', sessionAuth, subProjectCheck, paymentTenderCheck, paymentDetailCheck, 'paymentController.checkAudit');
  364. // 附件
  365. app.post('/sp/:id/payment/:pid/detail/:did/file/upload', sessionAuth, subProjectCheck, paymentTenderCheck, paymentDetailCheck, 'paymentController.uploadDetailFile');
  366. app.post('/sp/:id/payment/:pid/detail/:did/file/delete', sessionAuth, subProjectCheck, paymentTenderCheck, paymentDetailCheck, 'paymentController.deleteDetailFile');
  367. app.get('/sp/:id/payment/:pid/detail/:did/file/:fid/download', sessionAuth, subProjectCheck, paymentTenderCheck, paymentDetailCheck, 'paymentController.downloadDetailFile');
  368. // 安全生产费
  369. app.get('/sp/:id/payment/:pid/safe/:did/bills', sessionAuth, subProjectCheck, paymentTenderCheck, paymentDetailCheck, 'paymentController.safeBills');
  370. app.get('/sp/:id/payment/:pid/safe/:did/compare', sessionAuth, subProjectCheck, paymentTenderCheck, paymentDetailCheck, 'paymentController.safeCompare');
  371. app.post('/sp/:id/payment/:pid/safe/:did/load', sessionAuth, subProjectCheck, paymentTenderCheck, paymentDetailCheck, 'paymentController.safeLoad');
  372. app.post('/sp/:id/payment/:pid/safe/:did/update', sessionAuth, subProjectCheck, paymentTenderCheck, paymentDetailCheck, 'paymentController.safeUpdate');
  373. app.post('/sp/:id/payment/:pid/safe/:did/decimal', sessionAuth, subProjectCheck, paymentTenderCheck, paymentDetailCheck, 'paymentController.safeDecimal');
  374. app.post('/sp/:id/payment/:pid/safe/:did/file/upload', sessionAuth, subProjectCheck, paymentTenderCheck, paymentDetailCheck, 'paymentController.uploadDetailFile');
  375. app.post('/sp/:id/payment/:pid/safe/:did/file/delete', sessionAuth, subProjectCheck, paymentTenderCheck, paymentDetailCheck, 'paymentController.deleteDetailFile');
  376. // **资金监管 todo 接入项目内部
  377. // app.get('/financial', sessionAuth, 'financialController.index');
  378. // app.post('/financial/audit/save', sessionAuth, financialCheck, 'financialController.auditSave');
  379. app.get('/sp/:id/financial/transfer', sessionAuth, subProjectCheck, financialCheck, 'financialController.transfer');
  380. app.post('/sp/:id/financial/transfer/add', sessionAuth, subProjectCheck, financialCheck, 'financialController.transferAdd');
  381. app.post('/sp/:id/financial/transfer/update', sessionAuth, subProjectCheck, financialCheck, 'financialController.transferUpdate');
  382. app.post('/sp/:id/financial/transfer/:trid/file/upload', sessionAuth, subProjectCheck, financialCheck, 'financialController.transferUploadFile');
  383. app.post('/sp/:id/financial/transfer/:trid/file/delete', sessionAuth, subProjectCheck, financialCheck, 'financialController.transferDeleteFile');
  384. app.get('/sp/:id/financial/transfer/:trid/file/:fid/download', sessionAuth, subProjectCheck, financialCheck, 'financialController.transferDownloadFile');
  385. app.get('/sp/:id/financial/transfer/:trid/tender', sessionAuth, subProjectCheck, financialCheck, 'financialController.transferTender');
  386. app.post('/sp/:id/financial/transfer/:trid/tender/update', sessionAuth, subProjectCheck, financialCheck, 'financialController.transferTenderUpdate');
  387. app.post('/sp/:id/financial/transfer/:trid/tender/:ttid/file/upload', sessionAuth, subProjectCheck, financialCheck, 'financialController.transferTenderUploadFile');
  388. app.post('/sp/:id/financial/transfer/:trid/tender/:ttid/file/delete', sessionAuth, subProjectCheck, financialCheck, 'financialController.transferTenderDeleteFile');
  389. app.get('/sp/:id/financial/transfer/:trid/tender/:ttid/file/:fid/download', sessionAuth, subProjectCheck, financialCheck, 'financialController.transferTenderDownloadFile');
  390. app.get('/sp/:id/financial/pay', sessionAuth, subProjectCheck, financialCheck, 'financialController.pay');
  391. app.post('/sp/:id/financial/pay/save', sessionAuth, subProjectCheck, financialCheck, 'financialController.paySave');
  392. app.get('/sp/:id/financial/pay/:fpid/detail', sessionAuth, subProjectCheck, financialCheck, financialPayCheck, financialPayAuditCheck, 'financialController.payDetail');
  393. app.post('/sp/:id/financial/pay/:fpid/save', sessionAuth, subProjectCheck, financialCheck, financialPayCheck, 'financialController.payDetailSave');
  394. app.post('/sp/:id/financial/pay/:fpid/file/upload', sessionAuth, subProjectCheck, financialCheck, financialPayCheck, 'financialController.payUploadFile');
  395. app.post('/sp/:id/financial/pay/:fpid/file/delete', sessionAuth, subProjectCheck, financialCheck, financialPayCheck, 'financialController.payDeleteFile');
  396. app.get('/sp/:id/financial/pay/:fpid/file/:fid/download', sessionAuth, subProjectCheck, financialCheck, financialPayCheck, 'financialController.payDownloadFile');
  397. app.post('/sp/:id/financial/pay/:fpid/audit/start', sessionAuth, subProjectCheck, financialCheck, financialPayCheck, financialPayAuditCheck, 'financialController.startPayAudit');
  398. app.post('/sp/:id/financial/pay/:fpid/audit/check', sessionAuth, subProjectCheck, financialCheck, financialPayCheck, 'financialController.checkPayAudit');
  399. app.get('/sp/:id/financial/summary', sessionAuth, subProjectCheck, financialCheck, 'financialController.summary');
  400. app.post('/sp/:id/financial/summary/load', sessionAuth, subProjectCheck, financialCheck, 'financialController.summaryLoad');
  401. // ------------------------- 项目内部相关 -----------------------------
  402. // ------------------------- 标段内部 -----------------------------
  403. // 为了保持标段内部链接不变,须在tenderCheck后,进行subProjectCheck,使用tender.spid来获取所属的子项目,标段无所属子项目时则无法进入
  404. // 标段概况
  405. app.get('/tender/:id', sessionAuth, tenderCheck, subProjectCheck, 'tenderController.tenderInfo');
  406. app.get('/tender/:id/type', sessionAuth, 'tenderController.tenderType');
  407. app.post('/tender/:id/save', sessionAuth, tenderCheck, subProjectCheck, 'tenderController.saveTenderInfo');
  408. app.post('/tender/:id/save2', sessionAuth, tenderCheck, subProjectCheck, 'tenderController.saveTenderInfo2');
  409. app.post('/tender/:id/build', sessionAuth, tenderCheck, subProjectCheck, 'tenderController.saveBuildStatus');
  410. app.post('/tender/rule', sessionAuth, 'tenderController.rule');
  411. app.post('/tender/:id/rule/first', sessionAuth, tenderCheck, subProjectCheck, 'tenderController.ruleFirst');
  412. app.get('/tender/:id/shenpi', sessionAuth, tenderCheck, subProjectCheck, 'tenderController.shenpiSet');
  413. app.post('/tender/:id/shenpi/save', sessionAuth, tenderCheck, subProjectCheck, 'tenderController.saveTenderInfoShenpi');
  414. app.post('/tender/:id/shenpi/audit/save', sessionAuth, tenderCheck, subProjectCheck, 'tenderController.saveShenpiAudit');
  415. app.post('/tender/:id/shenpi/ass/load', sessionAuth, tenderCheck, subProjectCheck, 'tenderController.loadAuditAss');
  416. app.post('/tender/:id/shenpi/save-sign', sessionAuth, tenderCheck, subProjectCheck, 'tenderController.saveCooperateSign');
  417. app.post('/tender/:id/shenpi/union/load', sessionAuth, tenderCheck, subProjectCheck, 'tenderController.loadUnionAudit');
  418. app.post('/tender/:id/shenpi/union/save', sessionAuth, tenderCheck, subProjectCheck, 'tenderController.saveUnionAudit');
  419. app.post('/tender/:id/copy-setting', sessionAuth, tenderCheck, subProjectCheck, 'tenderController.copyTender');
  420. app.post('/tender/:id/tourist/audit/save', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'tenderController.saveTourist');
  421. app.post('/tender/:id/map/save', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'tenderController.saveMap');
  422. app.post('/tender/:id/map/upload', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'tenderController.uploadMap');
  423. app.post('/tender/:id/load', sessionAuth, tenderCheck, subProjectCheck, 'tenderController.loadData');
  424. app.post('/tender/:id/saveRela', sessionAuth, tenderCheck, subProjectCheck, 'tenderController.saveRelaData');
  425. app.get('/tender/:id/cert', sessionAuth, tenderCheck, subProjectCheck, 'tenderController.certSet');
  426. app.post('/tender/:id/cert/save', sessionAuth, tenderCheck, subProjectCheck, 'tenderController.saveCert');
  427. app.get('/tender/:id/ctrl-price', sessionAuth, tenderCheck, subProjectCheck, 'ctrlPriceController.index');
  428. app.post('/tender/:id/ctrl-price/load', sessionAuth, tenderCheck, subProjectCheck, 'ctrlPriceController.load');
  429. app.post('/tender/:id/ctrl-price/update', sessionAuth, tenderCheck, subProjectCheck, 'ctrlPriceController.update');
  430. app.post('/tender/:id/ctrl-price/upload-excel/:ueType', sessionAuth, tenderCheck, subProjectCheck, 'ctrlPriceController.uploadExcel');
  431. app.post('/tender/:id/expr/save', sessionAuth, tenderCheck, subProjectCheck, 'tenderController.saveExpr');
  432. app.post('/tender/:id/expr/load', sessionAuth, tenderCheck, subProjectCheck, 'tenderController.loadExpr');
  433. // 预付款
  434. app.get('/tender/:id/advance/:type', sessionAuth, tenderCheck, subProjectCheck, 'advanceController.index');
  435. // app.get('/tender/:id/advance/material', sessionAuth, tenderCheck, subProjectCheck, 'advanceController.materialList');
  436. app.post('/tender/:id/advance/:type/create', sessionAuth, tenderCheck, subProjectCheck, tenderBuildCheck, 'advanceController.create');
  437. app.post('/tender/:id/advance/:type/delete', sessionAuth, tenderCheck, subProjectCheck, tenderBuildCheck, 'advanceController.delete');
  438. app.get('/tender/:id/advance/:order/detail', sessionAuth, tenderCheck, subProjectCheck, advanceCheck, 'advanceController.detail');
  439. app.post('/tender/:id/advance/:order/audit/add', sessionAuth, tenderCheck, subProjectCheck, advanceCheck, 'advanceController.addAudit');
  440. app.post('/tender/:id/advance/:order/audit/delete', sessionAuth, tenderCheck, subProjectCheck, advanceCheck, 'advanceController.deleteAudit');
  441. app.post('/tender/:id/advance/:order/audit/start', sessionAuth, tenderCheck, subProjectCheck, tenderBuildCheck, advanceCheck, 'advanceController.start');
  442. app.post('/tender/:id/advance/:order/audit/check', sessionAuth, tenderCheck, subProjectCheck, tenderBuildCheck, advanceCheck, 'advanceController.checkAudit');
  443. app.post('/tender/:id/advance/:order/update', sessionAuth, tenderCheck, subProjectCheck, advanceCheck, 'advanceController.update');
  444. app.post('/tender/:id/advance/:order/file/upload', sessionAuth, tenderCheck, subProjectCheck, advanceCheck, 'advanceController.upload');
  445. app.get('/tender/:id/advance/:order/file/:fid/download', sessionAuth, tenderCheck, subProjectCheck, 'advanceController.downloadFile');
  446. app.post('/tender/:id/advance/:order/file/del', sessionAuth, tenderCheck, subProjectCheck, advanceCheck, 'advanceController.deleteFile');
  447. app.post('/tender/:id/advance/:type/:order/auditors', sessionAuth, tenderCheck, subProjectCheck, advanceCheck, 'advanceController.getAuditors');
  448. app.post('/tender/:id/advance/:order/check/again', sessionAuth, tenderCheck, subProjectCheck, tenderBuildCheck, advanceCheck, 'advanceController.checkAgain');
  449. // 标段协作办公
  450. app.get('/tender/:id/cooperation', sessionAuth, tenderCheck, subProjectCheck, 'tenderController.tenderCooperation');
  451. // 台账管理相关
  452. app.get('/tender/:id/ledger', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, ledgerAuditCheck, 'ledgerController.explode');
  453. app.post('/tender/:id/ledger/load', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'ledgerController.loadExplodeData');
  454. app.post('/tender/:id/ledger/get-children', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'ledgerController.getChildren');
  455. app.post('/tender/:id/ledger/update', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'ledgerController.update');
  456. app.post('/tender/:id/ledger/upload-excel/:ueType', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'ledgerController.uploadExcel');
  457. app.post('/tender/:id/ledger/ybp', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'ledgerController.uploadYbp');
  458. app.post('/tender/:id/ledger/dsk', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'ledgerController.importDsk');
  459. app.get('/tender/:id/ledger/download/:file', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'ledgerController.download');
  460. app.post('/tender/:id/anc-gcl/update', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'ledgerController.ancGclUpdate');
  461. app.post('/tender/:id/pos/update', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'ledgerController.posUpdate');
  462. app.post('/tender/:id/pos/paste', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'ledgerController.posPaste');
  463. app.post('/tender/:id/ledger/deal2sgfh', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'ledgerController.deal2sgfh');
  464. app.post('/tender/:id/ledger/check', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'ledgerController.check');
  465. app.post('/tender/:id/measure/ledger/auditors', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'ledgerController.ledgerAuditors');
  466. // 台账附件
  467. app.post('/tender/:id/ledger/upload/file', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'ledgerController.uploadFile');
  468. app.get('/tender/:id/ledger/download/file/:fid', sessionAuth, 'ledgerController.downloadFile');
  469. app.post('/tender/:id/ledger/delete/file', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'ledgerController.deleteFile');
  470. app.post('/tender/:id/ledger/save/file', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'ledgerController.saveFile');
  471. app.post('/tender/:id/ledger/check/file', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'ledgerController.checkFile');
  472. app.post('/tender/:id/ledger/compresse/file', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'ledgerController.downloadZip');
  473. // 台账审批相关
  474. app.post('/tender/:id/ledger/audit/add', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'ledgerAuditController.add');
  475. app.post('/tender/:id/ledger/audit/delete', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'ledgerAuditController.remove');
  476. app.post('/tender/:id/ledger/audit/save', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'ledgerAuditController.saveAudit');
  477. app.post('/tender/:id/ledger/audit/start', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, ledgerAuditCheck, tenderBuildCheck, 'ledgerAuditController.start');
  478. app.post('/tender/:id/ledger/audit/check', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, tenderBuildCheck, 'ledgerAuditController.check');
  479. app.post('/tender/:id/ledger/audit/check/again', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, tenderBuildCheck, 'ledgerAuditController.checkAgain');
  480. // 部位台账
  481. app.get('/tender/:id/ledger/bwtz', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'ledgerController.bwtz');
  482. app.post('/tender/:id/ledger/bwtz/load', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'ledgerController.loadBwtz');
  483. // 台账对比
  484. app.get('/tender/:id/ledger/gather', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'ledgerController.gather');
  485. app.post('/tender/:id/ledger/gather/load', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'ledgerController.loadGatherData');
  486. // 台账修订
  487. app.get('/tender/:id/revise', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'reviseController.index');
  488. app.post('/tender/:id/revise/add', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, tenderBuildCheck, 'reviseController.add');
  489. app.post('/tender/:id/revise/cancel', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, tenderBuildCheck, 'reviseController.cancel');
  490. app.post('/tender/:id/revise/save', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'reviseController.save');
  491. app.post('/setting/revise/show-invalid', sessionAuth, 'reviseController.showInvalid'); // todo 在平台or在项目设置
  492. // 台账修订页面
  493. app.get('/tender/:id/revise/:rid/info', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, reviseCheck, reviseAuditCheck, 'reviseController.info');
  494. app.post('/tender/:id/revise/auditors', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, reviseCheck, 'reviseController.reviseAuditors');
  495. app.post('/tender/:id/revise/:rid/info/load', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, reviseCheck, 'reviseController.loadInfoData');
  496. app.post('/tender/:id/revise/:rid/info/update', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, reviseCheck, 'reviseController.update');
  497. app.post('/tender/:id/revise/:rid/info/upload-excel/:ueType', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, reviseCheck, 'reviseController.uploadExcel');
  498. app.post('/tender/:id/revise/:rid/info/check', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, reviseCheck, 'reviseController.checkData');
  499. app.post('/tender/:id/revise/:rid/info/deal2sgfh', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, reviseCheck, 'reviseController.deal2sgfh');
  500. app.post('/tender/:id/revise/:rid/file/upload', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, reviseCheck, 'reviseController.uploadFile');
  501. app.post('/tender/:id/revise/:rid/file/delete', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, reviseCheck, 'reviseController.deleteFile');
  502. app.post('/tender/:id/revise/:rid/file/save', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, reviseCheck, 'reviseController.saveFile');
  503. app.get('/tender/:id/revise/:rid/compare', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, reviseCheck, reviseAuditCheck, 'reviseController.compare');
  504. app.get('/tender/:id/revise/:rid/gcl-compare', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, reviseCheck, reviseAuditCheck, 'reviseController.gclCompare');
  505. app.post('/tender/:id/revise/:rid/load', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, reviseCheck, reviseAuditCheck, 'reviseController.loadData');
  506. // 单价调整
  507. app.get('/tender/:id/revise/:rid/price', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, reviseCheck, 'reviseController.price');
  508. app.post('/tender/:id/revise/:rid/price/update', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, reviseCheck, 'reviseController.priceUpdate');
  509. // 查看修订数据
  510. app.get('/tender/:id/revise/history/:rid/info', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, reviseCheck, 'reviseController.history');
  511. app.post('/tender/:id/revise/history/:rid/load', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, reviseCheck, 'reviseController.loadData');
  512. app.get('/tender/:id/revise/history/:rid/gcl-compare', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, reviseCheck, 'reviseController.gclCompare');
  513. app.get('/tender/:id/revise/history/:rid/compare', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, reviseCheck, 'reviseController.compare');
  514. app.get('/tender/:id/revise/history/:rid/price', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, reviseCheck, 'reviseController.price');
  515. // 修订审批
  516. app.post('/tender/:id/revise/audit/add', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'reviseController.addAuditor');
  517. app.post('/tender/:id/revise/audit/remove', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'reviseController.removeAuditor');
  518. app.post('/tender/:id/revise/audit/start', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, reviseCheck, reviseAuditCheck, tenderBuildCheck, 'reviseController.start');
  519. app.post('/tender/:id/revise/audit/check', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, reviseCheck, tenderBuildCheck, 'reviseController.check');
  520. // 签约清单
  521. app.post('/tender/:id/deal/get-data', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'dealBillsController.getData');
  522. app.post('/tender/:id/deal/upload-excel', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'dealBillsController.loadExcel');
  523. app.get('/tender/:id/deal/download/:file', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'dealBillsController.download');
  524. app.post('/tender/:id/deal/update', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'dealBillsController.update');
  525. // 计量台账
  526. // 期计量
  527. app.get('/tender/:id/measure/stage', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'measureController.stage');
  528. app.post('/tender/:id/measure/stage/auditors', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'measureController.stageAuditors');
  529. app.post('/tender/:id/measure/add', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, tenderBuildCheck, 'measureController.add');
  530. app.post('/tender/:id/measure/save', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'measureController.save');
  531. app.post('/tender/:id/measure/stage/delete', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, tenderBuildCheck, 'measureController.delete');
  532. // 计量台账 -- 清单汇总
  533. app.get('/tender/:id/measure/gather', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'measureController.gather');
  534. // 计量台账 -- 审核比较
  535. app.get('/tender/:id/measure/compare', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'measureController.compare');
  536. app.post('/tender/:id/measure/compare/load', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'measureController.loadCompareData');
  537. // 期计量详细
  538. // 本期计量台账
  539. app.get('/tender/:id/measure/stage/:order', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, stageCheck, 'stageController.index');
  540. app.get('/tender/:id/stage/:order', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, stageCheck, 'stageController.index');// 针对旧数据wap端跳转web问题
  541. app.post('/tender/:id/measure/stage/:order/load', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, stageCheck, 'stageController.getStageData');
  542. app.post('/tender/:id/measure/stage/:order/pos', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, stageCheck, 'stageController.getStagePosData');
  543. app.post('/tender/:id/measure/stage/:order/update', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, stageCheck, 'stageController.updateStageData');
  544. app.post('/tender/:id/measure/stage/:order/valid-change', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, stageCheck, 'stageController.searchValidChange');
  545. app.post('/tender/:id/measure/stage/:order/use-change', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, stageCheck, 'stageController.useChange');
  546. app.post('/tender/:id/measure/stage/:order/auto-use-change', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, stageCheck, 'stageController.autoUseChange');
  547. app.post('/tender/:id/measure/stage/:order/check', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, stageCheck, 'stageController.check');
  548. app.post('/tender/:id/measure/stage/:order/stageCheck', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, stageCheck, 'stageController.stageCheck');
  549. app.post('/tender/:id/measure/stage/:order/save/cooperation', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, stageCheck, 'stageController.saveCooperationData');
  550. app.post('/tender/:id/measure/stage/:order/im-file/upload', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, stageCheck, 'stageController.uploadImFile');
  551. app.post('/tender/:id/measure/stage/:order/im-file/del', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, stageCheck, 'stageController.deleteImFile');
  552. app.get('/tender/:id/measure/stage/:order/im-file/download', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, stageCheck, 'stageController.downloadImFile');
  553. app.get('/tender/:id/measure/stage/:order/cpd', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, stageCheck, 'stageController.exportStageData');
  554. app.post('/tender/:id/measure/stage/:order/cpd/load', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, stageCheck, 'stageController.importStageData');
  555. // 暂存计量
  556. app.post('/tender/:id/measure/stage/:order/stash/list', sessionAuth, tenderCheck, subProjectCheck, stageCheck, 'stageController.stashList');
  557. app.post('/tender/:id/measure/stage/:order/stash/add', sessionAuth, tenderCheck, subProjectCheck, stageCheck, 'stageController.addStash');
  558. app.post('/tender/:id/measure/stage/:order/stash/del', sessionAuth, tenderCheck, subProjectCheck, stageCheck, 'stageController.delStash');
  559. app.post('/tender/:id/measure/stage/:order/stash/recover', sessionAuth, tenderCheck, subProjectCheck, stageCheck, 'stageController.recoverStash');
  560. app.post('/tender/:id/measure/stage/:order/importStageSheet', sessionAuth, tenderCheck, subProjectCheck, stageCheck, 'stageController.importStageSheet');
  561. // 计量附件
  562. app.post('/tender/:id/measure/stage/:order/upload/file', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, stageCheck, 'stageController.uploadFile');
  563. app.get('/tender/:id/measure/stage/:order/download/file/:fid', sessionAuth, 'stageController.downloadFile');
  564. app.post('/tender/:id/measure/stage/:order/delete/file', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, stageCheck, 'stageController.deleteFile');
  565. app.post('/tender/:id/measure/stage/:order/save/file', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, stageCheck, 'stageController.saveFile');
  566. app.post('/tender/:id/measure/stage/:order/check/file', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, stageCheck, 'stageController.checkFile');
  567. app.post('/tender/:id/measure/stage/:order/download/compresse-file', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, stageCheck, 'stageController.downloadZip');
  568. app.post('/tender/:id/measure/stage/:order/save/shoufang', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, stageCheck, 'stageController.saveShoufang');
  569. app.post('/tender/:id/measure/stage/:order/shoufang/file', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, stageCheck, 'stageController.shoufangAtt');
  570. // 中间计量
  571. app.get('/tender/:id/measure/stage/:order/detail', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, stageCheck, 'stageController.detail');
  572. app.post('/tender/:id/measure/stage/:order/detail/build', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, stageCheck, 'stageController.buildDetailData');
  573. app.post('/tender/:id/measure/stage/:order/detail/adv', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, stageCheck, 'stageController.setAdvancedConfig');
  574. app.post('/tender/:id/measure/stage/:order/detail/load', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, stageCheck, 'stageController.loadDetailRelaData');
  575. app.post('/tender/:id/measure/stage/:order/detail/save', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, stageCheck, 'stageController.saveDetailData');
  576. app.post('/tender/:id/measure/stage/:order/detail/add-img', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, stageCheck, 'stageController.addCalcImage');
  577. app.post('/tender/:id/measure/stage/:order/detail/merge-img', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, stageCheck, 'stageController.mergeCalcImage');
  578. // 合同支付
  579. app.get('/tender/:id/measure/stage/:order/pay', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, stageCheck, 'stageController.pay');
  580. app.post('/tender/:id/measure/stage/:order/pay/detail', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, stageCheck, 'stageController.chapterDetail');
  581. app.post('/tender/:id/measure/stage/:order/pay/save', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, stageCheck, 'stageController.savePayData');
  582. app.post('/tender/:id/measure/stage/:order/pay/upload/file', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, stageCheck, 'stageController.payUploadFile');
  583. app.get('/tender/:id/measure/stage/:order/pay/download/file/:fid', sessionAuth, 'stageController.payDownloadFile');
  584. app.post('/tender/:id/measure/stage/:order/pay/delete/file', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, stageCheck, 'stageController.payDeleteFile');
  585. app.get('/tender/:id/pay', sessionAuth, tenderCheck, subProjectCheck, 'payController.index');
  586. app.post('/tender/:id/pay/add', sessionAuth, tenderCheck, subProjectCheck, 'payController.add');
  587. app.post('/tender/:id/pay/delete', sessionAuth, tenderCheck, subProjectCheck, 'payController.del');
  588. app.post('/tender/:id/pay/save', sessionAuth, tenderCheck, subProjectCheck, 'payController.save');
  589. app.post('/tender/:id/pay/auditors', sessionAuth, tenderCheck, subProjectCheck, 'payController.loadAuditors');
  590. app.get('/tender/:id/pay/:order/detail', sessionAuth, tenderCheck, subProjectCheck, phasePayCheck, 'payController.detail');
  591. app.post('/tender/:id/pay/:order/load', sessionAuth, tenderCheck, subProjectCheck, phasePayCheck, 'payController.detailLoad');
  592. app.post('/tender/:id/pay/:order/update', sessionAuth, tenderCheck, subProjectCheck, phasePayCheck, 'payController.detailUpdate');
  593. app.post('/tender/:id/pay/:order/file/upload', sessionAuth, tenderCheck, subProjectCheck, phasePayCheck, 'payController.uploadFile');
  594. app.post('/tender/:id/pay/:order/file/delete', sessionAuth, tenderCheck, subProjectCheck, phasePayCheck, 'payController.deleteFile');
  595. // 合同支付审批
  596. app.post('/tender/:id/pay/:order/audit/add', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, phasePayCheck, 'payController.addAudit');
  597. app.post('/tender/:id/pay/:order/audit/delete', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, phasePayCheck, 'payController.deleteAudit');
  598. app.post('/tender/:id/pay/:order/audit/start', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, phasePayCheck, 'payController.auditStart');
  599. app.post('/tender/:id/pay/:order/audit/check', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, phasePayCheck, 'payController.auditCheck');
  600. app.post('/tender/:id/pay/:order/audit/checkAgain', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, phasePayCheck, 'payController.auditCheckAgain');
  601. app.post('/tender/:id/pay/:order/audit/checkCancel', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, phasePayCheck, 'payController.auditCheckCancel');
  602. // 变更概况
  603. app.get('/tender/:id/measure/stage/:order/change', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, stageCheck, 'stageController.change');
  604. app.post('/tender/:id/measure/stage/:order/change/data', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, stageCheck, 'stageController.getChangeData');
  605. app.post('/tender/:id/measure/stage/:order/change/iData', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, stageCheck, 'stageController.getImportChangeData');
  606. app.post('/tender/:id/measure/stage/:order/change/detail', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, stageCheck, 'stageController.changeDetail');
  607. // 审批
  608. app.post('/tender/:id/measure/stage/:order/audit/add', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, stageCheck, 'stageController.addAudit');
  609. app.post('/tender/:id/measure/stage/:order/audit/delete', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, stageCheck, 'stageController.deleteAudit');
  610. app.post('/tender/:id/measure/stage/:order/audit/start', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, stageCheck, tenderBuildCheck, 'stageController.startAudit');
  611. app.post('/tender/:id/measure/stage/:order/audit/check', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, stageCheck, tenderBuildCheck, 'stageController.checkAudit');
  612. app.get('/tender/:id/measure/stage/:order/audit/check/again', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, stageCheck, tenderBuildCheck, 'stageController.checkAuditAgain');
  613. app.get('/tender/:id/measure/stage/:order/audit/check/cancel', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, stageCheck, tenderBuildCheck, 'stageController.checkAuditCancel');
  614. app.post('/tender/:id/measure/stage/:order/audit/save', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, stageCheck, 'stageController.saveAudit');
  615. // 部位台账
  616. app.get('/tender/:id/measure/stage/:order/bwtz', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, stageCheck, 'stageController.bwtz');
  617. app.post('/tender/:id/measure/stage/:order/bwtz/load', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, stageCheck, 'stageController.loadBwtz');
  618. // 清单汇总
  619. app.get('/tender/:id/measure/stage/:order/gather', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, stageCheck, 'stageController.gather');
  620. // 审核比较
  621. app.get('/tender/:id/measure/stage/:order/compare', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, stageCheck, 'stageController.compare');
  622. app.post('/tender/:id/measure/stage/:order/compare/load', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, stageCheck, 'stageController.compareAuditor');
  623. // 附加功能
  624. // 甲供材料
  625. app.get('/tender/:id/measure/stage/:order/extra/jgcl', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, stageCheck, 'stageExtraController.jgcl');
  626. app.post('/tender/:id/measure/stage/:order/extra/jgcl/load', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, stageCheck, 'stageExtraController.loadJgcl');
  627. app.post('/tender/:id/measure/stage/:order/extra/jgcl/update', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, stageCheck, 'stageExtraController.updateJgcl');
  628. // 永久材料
  629. app.get('/tender/:id/measure/stage/:order/extra/yjcl', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, stageCheck, 'stageExtraController.yjcl');
  630. app.post('/tender/:id/measure/stage/:order/extra/yjcl/load', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, stageCheck, 'stageExtraController.loadYjcl');
  631. app.post('/tender/:id/measure/stage/:order/extra/yjcl/update', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, stageCheck, 'stageExtraController.updateYjcl');
  632. // 奖罚金
  633. app.get('/tender/:id/measure/stage/:order/extra/bonus', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, stageCheck, 'stageExtraController.bonus');
  634. app.post('/tender/:id/measure/stage/:order/extra/bonus/load', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, stageCheck, 'stageExtraController.loadBonus');
  635. app.post('/tender/:id/measure/stage/:order/extra/bonus/update', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, stageCheck, 'stageExtraController.updateBonus');
  636. // 其他
  637. app.get('/tender/:id/measure/stage/:order/extra/other', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, stageCheck, 'stageExtraController.other');
  638. app.post('/tender/:id/measure/stage/:order/extra/other/load', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, stageCheck, 'stageExtraController.loadOther');
  639. app.post('/tender/:id/measure/stage/:order/extra/other/update', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, stageCheck, 'stageExtraController.updateOther');
  640. app.post('/tender/:id/measure/stage/:order/extra/upload/file', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, stageCheck, 'stageExtraController.uploadFile');
  641. app.get('/tender/:id/measure/stage/:order/extra/download/file', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, stageCheck, 'stageExtraController.downloadFile');
  642. app.post('/tender/:id/measure/stage/:order/extra/delete/file', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, stageCheck, 'stageExtraController.deleteFile');
  643. // 安全生产
  644. app.get('/tender/:id/measure/stage/:order/extra/safeProd', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, stageCheck, 'stageExtraController.safeProd');
  645. app.post('/tender/:id/measure/stage/:order/extra/safeProd/load', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, stageCheck, 'stageExtraController.loadSafeProd');
  646. app.post('/tender/:id/measure/stage/:order/extra/safeProd/update', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, stageCheck, 'stageExtraController.updateSafeProd');
  647. // 临时用地
  648. app.get('/tender/:id/measure/stage/:order/extra/tempLand', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, stageCheck, 'stageExtraController.tempLand');
  649. app.post('/tender/:id/measure/stage/:order/extra/tempLand/load', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, stageCheck, 'stageExtraController.loadTempLand');
  650. app.post('/tender/:id/measure/stage/:order/extra/tempLand/update', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, stageCheck, 'stageExtraController.updateTempLand');
  651. // 关联台账
  652. app.get('/tender/:id/measure/stage/:order/rela', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, stageCheck, 'stageRelaController.index');
  653. app.post('/tender/:id/measure/stage/:order/rela/add', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, stageCheck, 'stageRelaController.add');
  654. app.post('/tender/:id/measure/stage/:order/rela/del', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, stageCheck, 'stageRelaController.del');
  655. app.post('/tender/:id/measure/stage/:order/rela/update', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, stageCheck, 'stageRelaController.update');
  656. app.get('/tender/:id/measure/stage/:order/rela/detail/:trid', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, stageCheck, 'stageRelaController.detail');
  657. app.post('/tender/:id/measure/stage/:order/rela/detail/:trid/load', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, stageCheck, 'stageRelaController.load');
  658. app.post('/tender/:id/measure/stage/:order/rela/detail/:trid/im-file/del', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, stageCheck, 'stageRelaController.deleteImFile');
  659. app.post('/tender/:id/measure/stage/:order/rela/detail/:trid/im-file/upload', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, stageCheck, 'stageRelaController.uploadImFile');
  660. app.get('/tender/:id/measure/stage/:order/rela/detail/:trid/im-file/download', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, stageCheck, 'stageRelaController.downloadImFile');
  661. // 期审批管理
  662. app.get('/tender/:id/measure/stage/:order/manager', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, stageCheck, 'stageController.manager');
  663. app.post('/tender/:id/measure/stage/:order/manager/audit/delete', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, stageCheck, tenderBuildCheck, 'stageController.managerAuditDelete');
  664. // 过程结算
  665. app.get('/tender/:id/settle', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'settleController.list');
  666. app.post('/tender/:id/settle/auditors', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'settleController.loadAuditors');
  667. app.post('/tender/:id/settle/add', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, tenderBuildCheck, 'settleController.add');
  668. app.post('/tender/:id/settle/save', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'settleController.save');
  669. app.post('/tender/:id/settle/delete', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, tenderBuildCheck, 'settleController.delete');
  670. // 结算汇总
  671. app.get('/tender/:id/settle/gather', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'settleController.gather');
  672. app.post('/tender/:id/settle/gather/load', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'settleController.loadGatherData');
  673. // 结算期
  674. app.get('/tender/:id/settle/:sorder', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, settleCheck, 'settleController.index');
  675. app.get('/tender/:id/settle/:sorder/select', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, settleCheck, 'settleController.select');
  676. app.get('/tender/:id/settle/:sorder/ledger', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, settleCheck, 'settleController.ledger');
  677. app.post('/tender/:id/settle/:sorder/load', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, settleCheck, 'settleController.loadSettleData');
  678. app.post('/tender/:id/settle/:sorder/select/update', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, settleCheck, 'settleController.updateSelect');
  679. app.post('/tender/:id/settle/:sorder/file/upload', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, settleCheck, 'settleController.uploadFile');
  680. app.post('/tender/:id/settle/:sorder/file/delete', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, settleCheck, 'settleController.deleteFile');
  681. app.post('/tender/:id/settle/:sorder/file/save', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, settleCheck, 'settleController.saveFile');
  682. // 结算审批
  683. app.post('/tender/:id/settle/:sorder/audit/add', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, settleCheck, 'settleController.addAudit');
  684. app.post('/tender/:id/settle/:sorder/audit/delete', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, settleCheck, 'settleController.deleteAudit');
  685. app.post('/tender/:id/settle/:sorder/audit/start', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, settleCheck, 'settleController.auditStart');
  686. app.post('/tender/:id/settle/:sorder/audit/check', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, settleCheck, 'settleController.auditCheck');
  687. app.post('/tender/:id/settle/:sorder/audit/checkAgain', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, settleCheck, 'settleController.auditCheckAgain');
  688. app.post('/tender/:id/settle/:sorder/audit/checkCancel', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, settleCheck, 'settleController.auditCheckCancel');
  689. // 报表
  690. app.get('/tender/:id/report', sessionAuth, tenderCheck, subProjectCheck, 'reportController.index');
  691. app.get('/tender/:id/change/:cid/report', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'reportController.indexForChange');
  692. app.get('/tender/:id/change/plan/:cplnid/report', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'reportController.indexForChangePlan');
  693. app.get('/tender/:id/change/project/:cprjid/report', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'reportController.indexForChangeProject');
  694. app.get('/tender/:id/change/apply/:caid/report', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'reportController.indexForChangeApply');
  695. app.get('/tender/:id/measure/stage/:order/report', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, stageCheck, 'reportController.index');
  696. app.get('/payment/:id/safe/:did/report', sessionAuth, paymentTenderCheck, paymentDetailCheck, 'reportController.indexForPaymentSafe');
  697. app.get('/budget/:id/report', sessionAuth, budgetCheck, 'reportController.indexForDynamicGrandTotal');
  698. app.get('/tender/:id/archiveReport', sessionAuth, tenderCheck, subProjectCheck, 'reportArchiveController.index');
  699. app.post('/tender/report_api/getReportArchive', sessionAuth, 'reportArchiveController.getReportArchive');
  700. app.post('/tender/report_api/getReportArchive4bz', sessionAuth, 'reportArchiveController.getReportArchive4bz');
  701. app.get('/getArchivedFileByUUID/:uuid/:rptName', sessionAuth, 'reportArchiveController.getArchivedFileByUUID');
  702. app.get('/tender/:id/measure/stage/:order/archiveReport', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, stageCheck, 'reportArchiveController.index');
  703. app.get('/archive/pdf/show', sessionAuth, 'reportArchiveController.pdfShow');
  704. app.get('/printReport/:size', sessionAuth, 'reportController.showPrintPage');
  705. app.get('/individualReport/:size', sessionAuth, 'reportController.showIndividualPage');
  706. app.post('/tender/report_api/getReport', sessionAuth, 'reportController.getReport');
  707. app.post('/tender/report_api/getDirectReport', sessionAuth, 'reportController.createExcelFilesFromDirectData');
  708. app.post('/tender/report_api/getMultiReports', sessionAuth, 'reportController.getMultiReportsEx');
  709. app.post('/tender/report_api/getTestReport', sessionAuth, 'reportController.getTestReport');
  710. app.post('/tender/report_api/createExcelFiles', sessionAuth, 'reportController.createExcelFilesEx');
  711. app.post('/tender/report_api/createExcelFilesInOneBook', sessionAuth, 'reportController.createExcelFilesInOneBookEx');
  712. // app.post('/tender/report_api/createExcelFiles', sessionAuth, 'reportController.createExcelFilesFromLocal');
  713. // app.post('/tender/report_api/createExcelFilesInOneBook', sessionAuth, 'reportController.createExcelFilesFromLocal');
  714. app.get('/getFileByUUID/:uuid/:rptName/:suffix', sessionAuth, 'reportController.getFileByUUID');
  715. // rptRouter.get('/getFileByUUID/:uuid/:rptName/:suffix', reportController.getFileByUUID);
  716. app.post('/tender/report_api/createSignatureRole', sessionAuth, 'signatureController.createSignatureRole');
  717. app.post('/tender/report_api/updateSignatureUsed', sessionAuth, datetimeFill, 'signatureController.updateSignatureUsed');
  718. app.post('/tender/report_api/updateRoleRelationship', sessionAuth, 'signatureController.updateRoleRel');
  719. app.post('/tender/report_api/updateMultiRoleRelationship', sessionAuth, 'signatureController.updateCrossTendersRoleRelationship');
  720. app.post('/tender/report_api/updateMultiChangesRoleRelationship', sessionAuth, 'signatureController.updateMultiChangesRoleRelationship');
  721. app.post('/tender/report_api/updateMultiOtherRoleRelationship', sessionAuth, 'signatureController.updateMultiOtherRoleRelationship');
  722. app.post('/tender/report_api/getMultiRoleRelationships', sessionAuth, 'signatureController.getMultiRoleRptRels');
  723. app.post('/tender/report_api/createRoleRelationship', sessionAuth, 'signatureController.createRoleRel');
  724. app.post('/tender/report_api/updateCustNode', sessionAuth, 'reportController.updateCustNode');
  725. app.post('/report/cDefine', sessionAuth, 'reportController.setCustomDefine');
  726. app.post('/tender/report_api/addArchive/:prjId/:stgId/:bzId/:tdId/:rptId', sessionAuth, 'reportArchiveController.addReportArchive');
  727. app.post('/tender/report_api/addParentChildrenArchive/:prjId/:stgId/:bzId/:tdId/:rptId/:splitInfo', sessionAuth, 'reportArchiveController.addParentChildrenArchiveReports');
  728. app.post('/tender/report_api/updateArchive/:prjId/:stgId/:bzId/:tdId/:rptId/:orgName', sessionAuth, 'reportArchiveController.updateReportArchive');
  729. app.post('/tender/report_api/removeArchive/:prjId/:stgId/:bzId/:rptId/:orgName', sessionAuth, 'reportArchiveController.removeReportArchive');
  730. app.post('/tender/report_api/addArchiveEncryption', sessionAuth, 'reportArchiveController.addReportArchiveEncryption');
  731. app.post('/tender/report_api/updateArchiveEncryption', sessionAuth, 'reportArchiveController.updateReportArchiveEncryption');
  732. app.post('/tender/report_api/removeArchiveEncryption', sessionAuth, 'reportArchiveController.removeReportArchiveEncryption');
  733. app.post('/tender/:id/sendReportFileMsg', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'reportArchiveController.sendFileMsg');
  734. app.post('/tender/:id/measure/stage/:order/sendReportFileMsg', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, stageCheck, 'reportArchiveController.sendFileMsg');
  735. app.post('/tender/:id/sendOtherReportFileMsg', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'reportArchiveController.sendOtherFileMsg');
  736. // 电子签名
  737. app.get('/tender/:id/signReport', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'reportArchiveController.signReport');
  738. app.post('/tender/:id/signReport/post', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'reportArchiveController.signPost');
  739. app.post('/tender/:id/signReport/file', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'reportArchiveController.signFile');
  740. // 变更管理
  741. app.get('/tender/:id/change', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'changeController.index');
  742. app.get('/tender/:id/change/status/:status', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'changeController.status');
  743. app.post('/tender/:id/change/auditors', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'changeController.changeAuditors');
  744. app.post('/tender/:id/change/newCode', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'changeController.newCode');
  745. app.post('/tender/:id/change/add', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, tenderBuildCheck, 'changeController.add');
  746. app.post('/tender/:id/change/defaultBills', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'changeController.defaultBills');
  747. app.post('/tender/:id/change/:cid/info/file/upload', sessionAuth, 'changeController.uploadFile');
  748. app.get('/change/download/file/:id', sessionAuth, 'changeController.downloadFile');
  749. app.post('/change/download/file/:id', sessionAuth, 'changeController.checkFile');
  750. app.post('/tender/:id/change/:cid/info/file/delete', sessionAuth, 'changeController.deleteFile');
  751. app.post('/tender/:id/change/:cid/download/compresse-file', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'changeController.downloadZip');
  752. app.post('/tender/:id/change/delete', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, tenderBuildCheck, 'changeController.delete');
  753. app.post('/tender/:id/change/bills', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'changeController.bills');
  754. app.post('/tender/:id/change/save', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, changeAuditCheck, 'changeController.save');
  755. app.post('/tender/:id/change/approval', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, tenderBuildCheck, 'changeController.approval');
  756. app.post('/tender/:id/change/check/again', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, tenderBuildCheck, changeCheck, changeAuditCheck, 'changeController.checkAgain');
  757. app.post('/tender/:id/change/check/revise', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, tenderBuildCheck, changeCheck, changeAuditCheck, 'changeController.checkRevise');
  758. app.post('/tender/:id/change/cancel/revise', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, tenderBuildCheck, changeCheck, changeAuditCheck, 'changeController.cancelRevise');
  759. app.post('/tender/:id/change/:cid/check/codeRepeat', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'changeController.checkCodeRepeat');
  760. app.post('/tender/:id/change/:cid/info/copy', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'changeController.copyChange');
  761. app.post('/tender/:id/change/batch/fun', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'changeController.batchChangeFun');
  762. // 变更单位管理
  763. app.post('/change/update/company', sessionAuth, 'changeController.updateCompany');
  764. // 变更令 - 新版本
  765. app.get('/tender/:id/change/:cid/information', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, changeCheck, changeAuditCheck, 'changeController.information');
  766. app.get('/tender/:id/change/:cid/relation', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, changeCheck, 'changeController.relation');
  767. app.post('/tender/:id/change/:cid/information/save', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, changeCheck, 'changeController.saveListsData');
  768. app.post('/tender/:id/change/:cid/information/audit/start', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, changeCheck, changeAuditCheck, 'changeController.startAudit');
  769. app.post('/tender/:id/change/:cid/information/file/upload', sessionAuth, 'changeController.uploadFile');
  770. app.post('/tender/:id/change/:cid/information/file/delete', sessionAuth, 'changeController.deleteFile');
  771. app.post('/tender/:id/change/:cid/information/copy', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'changeController.copyChange');
  772. app.post('/tender/:id/change/:cid/information/audit/add', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, changeCheck, 'changeController.addAudit');
  773. app.post('/tender/:id/change/:cid/information/audit/delete', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, changeCheck, 'changeController.deleteAudit');
  774. app.post('/tender/:id/change/:cid/information/audit/spgroup', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, changeCheck, 'changeController.changeSpGroup');
  775. app.post('/tender/:id/change/cancel/audit', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, changeCheck, 'changeController.checkAuditCancel');
  776. app.post('/tender/:id/change/:cid/information/audit/save', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, changeCheck, changeAuditCheck, 'changeController.saveAudit');
  777. // 变更新增部位页(添加台账清单-台账模式)
  778. app.get('/tender/:id/change/:cid/information/revise', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, changeCheck, 'changeController.reviseInfo');
  779. app.post('/tender/:id/change/:cid/information/revise/update', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, changeCheck, 'changeController.updateRevise');
  780. // 添加台账清单-清单模式
  781. app.get('/tender/:id/change/:cid/information/list', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, changeCheck, 'changeController.addListInfo');
  782. // app.post('/tender/:id/change/:cid/information/list/update', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, changeCheck, 'changeController.updateRevise');
  783. // 变更立项
  784. app.get('/tender/:id/change/project', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'changeController.project');
  785. app.get('/tender/:id/change/project/status/:status', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'changeController.projectStatus');
  786. app.post('/tender/:id/change/project/add', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, tenderBuildCheck, 'changeController.projectAdd');
  787. app.post('/tender/:id/change/project/delete', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, tenderBuildCheck, 'changeController.projectDelete');
  788. app.get('/tender/:id/change/project/:cpid/information', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, changeProjectCheck, changeProjectAuditCheck, 'changeController.projectInformation');
  789. app.post('/tender/:id/change/project/:cpid/information/save', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, changeProjectCheck, 'changeController.projectInformationSave');
  790. app.post('/tender/:id/change/project/:cpid/information/file/upload', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, changeProjectCheck, 'changeController.uploadProjectFile');
  791. app.post('/tender/:id/change/project/:cpid/information/file/delete', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, changeProjectCheck, 'changeController.deleteProjectFile');
  792. app.get('/tender/:id/change/project/:cpid/information/file/:fid/download', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, changeProjectCheck, 'changeController.downloadProjectFile');
  793. app.post('/tender/:id/change/project/:cpid/information/audit/add', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, changeProjectCheck, 'changeController.addProjectAudit');
  794. app.post('/tender/:id/change/project/:cpid/information/audit/delete', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, changeProjectCheck, 'changeController.deleteProjectAudit');
  795. app.post('/tender/:id/change/project/:cpid/information/audit/start', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, changeProjectCheck, changeProjectAuditCheck, tenderBuildCheck, 'changeController.startProjectAudit');
  796. app.post('/tender/:id/change/project/:cpid/information/audit/check', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, changeProjectCheck, tenderBuildCheck, 'changeController.checkProjectAudit');
  797. app.post('/tender/:id/change/project/:cpid/information/xsaudit/add', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, changeProjectCheck, 'changeController.addProjectXsAudit');
  798. app.post('/tender/:id/change/project/:cpid/information/xsaudit/delete', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, changeProjectCheck, 'changeController.deleteProjectXsAudit');
  799. app.post('/tender/:id/change/project/cancel/audit', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, tenderBuildCheck, changeProjectCheck, 'changeController.checkProjectAuditCancel');
  800. app.post('/tender/:id/change/project/check/revise', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, tenderBuildCheck, changeProjectCheck, 'changeController.checkProjectRevise');
  801. app.post('/tender/:id/change/project/cancel/revise', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, tenderBuildCheck, changeProjectCheck, 'changeController.cancelProjectRevise');
  802. app.post('/tender/:id/change/project/check/again', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, tenderBuildCheck, changeProjectCheck, 'changeController.checkProjectAgain');
  803. app.post('/tender/:id/change/project/:cpid/information/audit/save', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, changeProjectCheck, 'changeController.saveProjectAudit');
  804. app.post('/tender/:id/change/project/:cpid/information/audit/spgroup', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, changeProjectCheck, 'changeController.changeProjectSpGroup');
  805. app.post('/tender/:id/change/project/auditors', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'changeController.changeProjectAuditors');
  806. // 变更申请
  807. app.get('/tender/:id/change/apply', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'changeController.apply');
  808. app.get('/tender/:id/change/apply/status/:status', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'changeController.applyStatus');
  809. app.post('/tender/:id/change/apply/add', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, tenderBuildCheck, 'changeController.applyAdd');
  810. app.post('/tender/:id/change/apply/delete', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, tenderBuildCheck, 'changeController.applyDelete');
  811. app.get('/tender/:id/change/apply/:caid/information', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, changeApplyCheck, changeApplyAuditCheck, 'changeController.applyInformation');
  812. app.post('/tender/:id/change/apply/:caid/information/save', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, changeApplyCheck, 'changeController.applyInformationSave');
  813. app.post('/tender/:id/change/apply/:caid/information/file/upload', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, changeApplyCheck, 'changeController.uploadApplyFile');
  814. app.post('/tender/:id/change/apply/:caid/information/file/delete', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, changeApplyCheck, 'changeController.deleteApplyFile');
  815. app.get('/tender/:id/change/apply/:caid/information/file/:fid/download', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, changeApplyCheck, 'changeController.downloadApplyFile');
  816. app.post('/tender/:id/change/apply/:caid/information/audit/add', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, changeApplyCheck, 'changeController.addApplyAudit');
  817. app.post('/tender/:id/change/apply/:caid/information/audit/delete', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, changeApplyCheck, 'changeController.deleteApplyAudit');
  818. app.post('/tender/:id/change/apply/:caid/information/audit/start', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, changeApplyCheck, changeApplyAuditCheck, tenderBuildCheck, 'changeController.startApplyAudit');
  819. app.post('/tender/:id/change/apply/:caid/information/audit/check', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, changeApplyCheck, tenderBuildCheck, 'changeController.checkApplyAudit');
  820. app.get('/tender/:id/change/apply/:caid/information/notice', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, changeApplyCheck, 'changeController.applyInformationNotice');
  821. app.post('/tender/:id/change/apply/:caid/information/list/save', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, changeApplyCheck, 'changeController.saveApplyListsData');
  822. app.post('/tender/:id/change/apply/cancel/audit', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, tenderBuildCheck, changeApplyCheck, 'changeController.checkApplyAuditCancel');
  823. app.post('/tender/:id/change/apply/check/revise', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, tenderBuildCheck, changeApplyCheck, 'changeController.checkApplyRevise');
  824. app.post('/tender/:id/change/apply/cancel/revise', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, tenderBuildCheck, changeApplyCheck, 'changeController.cancelApplyRevise');
  825. app.post('/tender/:id/change/apply/check/again', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, tenderBuildCheck, changeApplyCheck, 'changeController.checkApplyAgain');
  826. app.post('/tender/:id/change/apply/:caid/information/audit/save', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, changeApplyCheck, 'changeController.saveApplyAudit');
  827. app.post('/tender/:id/change/apply/:caid/information/audit/spgroup', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, changeApplyCheck, 'changeController.changeApplySpGroup');
  828. app.post('/tender/:id/change/apply/auditors', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'changeController.changeApplyAuditors');
  829. // 变更方案
  830. app.get('/tender/:id/change/plan', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'changeController.plan');
  831. app.get('/tender/:id/change/plan/status/:status', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'changeController.planStatus');
  832. app.post('/tender/:id/change/plan/add', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, tenderBuildCheck, 'changeController.planAdd');
  833. app.post('/tender/:id/change/plan/delete', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, tenderBuildCheck, 'changeController.planDelete');
  834. app.get('/tender/:id/change/plan/:cpid/info', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, changePlanCheck, 'changeController.planInformation');// 针对旧数据wap端跳转web问题
  835. app.get('/tender/:id/change/plan/:cpid/information', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, changePlanCheck, changePlanAuditCheck, 'changeController.planInformation');
  836. app.post('/tender/:id/change/plan/:cpid/information/save', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, changePlanCheck, 'changeController.planInformationSave');
  837. app.post('/tender/:id/change/plan/:cpid/information/file/upload', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, changePlanCheck, 'changeController.uploadPlanFile');
  838. app.post('/tender/:id/change/plan/:cpid/information/file/delete', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, changePlanCheck, 'changeController.deletePlanFile');
  839. app.get('/tender/:id/change/plan/:cpid/information/file/:fid/download', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, changePlanCheck, 'changeController.downloadPlanFile');
  840. app.post('/tender/:id/change/plan/:cpid/information/audit/add', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, changePlanCheck, 'changeController.addPlanAudit');
  841. app.post('/tender/:id/change/plan/:cpid/information/audit/delete', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, changePlanCheck, 'changeController.deletePlanAudit');
  842. app.post('/tender/:id/change/plan/:cpid/information/audit/start', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, changePlanCheck, changePlanAuditCheck, tenderBuildCheck, 'changeController.startPlanAudit');
  843. app.post('/tender/:id/change/plan/:cpid/information/audit/check', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, changePlanCheck, tenderBuildCheck, 'changeController.checkPlanAudit');
  844. app.post('/tender/:id/change/plan/:cpid/information/list/save', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, changePlanCheck, 'changeController.savePlanListsData');
  845. app.post('/tender/:id/change/plan/cancel/audit', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, tenderBuildCheck, changePlanCheck, 'changeController.checkPlanAuditCancel');
  846. app.post('/tender/:id/change/plan/check/revise', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, tenderBuildCheck, changePlanCheck, 'changeController.checkPlanRevise');
  847. app.post('/tender/:id/change/plan/cancel/revise', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, tenderBuildCheck, changePlanCheck, 'changeController.cancelPlanRevise');
  848. app.post('/tender/:id/change/plan/check/again', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, tenderBuildCheck, changePlanCheck, 'changeController.checkPlanAgain');
  849. app.post('/tender/:id/change/plan/:cpid/information/audit/save', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, changePlanCheck, 'changeController.savePlanAudit');
  850. app.post('/tender/:id/change/plan/:cpid/information/audit/spgroup', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, changePlanCheck, 'changeController.changePlanSpGroup');
  851. app.post('/tender/:id/change/plan/auditors', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'changeController.changePlanAuditors');
  852. // 材料调差
  853. app.get('/tender/:id/measure/material', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'materialController.index');
  854. app.post('/tender/:id/measure/material/add', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, tenderBuildCheck, 'materialController.add');
  855. app.post('/tender/:id/measure/material/delete', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, tenderBuildCheck, 'materialController.delete');
  856. app.post('/tender/:id/measure/material/auditors', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'materialController.materialAuditors');
  857. app.post('/tender/:id/measure/material/:order/save/decimal', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, materialCheck, 'materialController.saveDecimal');
  858. app.post('/tender/:id/measure/material/save', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'materialController.save');
  859. app.post('/tender/:id/measure/material/save/data', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'materialController.saveData');
  860. // 审批
  861. app.post('/tender/:id/measure/material/:order/audit/add', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, materialCheck, 'materialController.addAudit');
  862. app.post('/tender/:id/measure/material/:order/audit/delete', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, materialCheck, 'materialController.deleteAudit');
  863. app.post('/tender/:id/measure/material/:order/audit/start', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, materialCheck, tenderBuildCheck, 'materialController.startAudit');
  864. app.post('/tender/:id/measure/material/:order/audit/check', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, materialCheck, tenderBuildCheck, 'materialController.checkAudit');
  865. app.get('/tender/:id/measure/material/:order/audit/check/again', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, materialCheck, 'materialController.checkAuditAgain');
  866. app.post('/tender/:id/measure/material/:order/audit/save', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, materialCheck, 'materialController.saveAudit');
  867. // 调差工料
  868. app.get('/tender/:id/measure/material/:order', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, materialCheck, 'materialController.info');
  869. app.post('/tender/:id/measure/material/:order/save', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, materialCheck, 'materialController.saveBillsData');
  870. // 月信息价
  871. app.post('/tender/:id/measure/material/:order/month/save', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, materialCheck, 'materialController.saveMonth');
  872. // 指数调差
  873. app.get('/tender/:id/measure/material/:order/exponent', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, materialCheck, 'materialController.exponent');
  874. app.post('/tender/:id/measure/material/:order/exponent/save', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, materialCheck, 'materialController.saveExponentData');
  875. // 调差清单
  876. app.get('/tender/:id/measure/material/:order/list', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, materialCheck, 'materialController.list');
  877. app.post('/tender/:id/measure/material/:order/list/save', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, materialCheck, 'materialController.saveListsData');
  878. app.post('/tender/:id/measure/material/:order/list/load', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, materialCheck, 'materialController.loadListsData');
  879. // 调差清单设置页
  880. app.get('/tender/:id/measure/material/:order/checklist', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, materialCheck, 'materialController.checklist');
  881. app.post('/tender/:id/measure/material/:order/checklist/load', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, materialCheck, 'materialController.loadListsData');
  882. app.post('/tender/:id/measure/material/:order/checklist/save', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, materialCheck, 'materialController.saveChecklistData');
  883. // 附件
  884. app.get('/tender/:id/measure/material/:order/file', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, materialCheck, 'materialController.file');
  885. app.post('/tender/:id/measure/material/:order/file/upload', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, materialCheck, 'materialController.upload');
  886. app.get('/tender/:id/measure/material/:order/file/:fid/download', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'materialController.downloadFile');
  887. app.post('/tender/:id/measure/material/:order/file/find', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, materialCheck, 'materialController.getCurMatericalFiles');
  888. app.post('/tender/:id/measure/material/:order/file/delete', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, materialCheck, 'materialController.deleteFile');
  889. app.post('/tender/:id/measure/material/:order/file/download/compresse-file', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'materialController.downloadZip');
  890. // 调差新建期数据获取
  891. app.post('/tender/:id/measure/material/gcl/load', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'materialController.loadGclData');
  892. // 标段对比
  893. app.get('/compare/tz', sessionAuth, 'spssController.compareTz');
  894. app.post('/compare/tz/load', sessionAuth, 'spssController.loadCompareTz');
  895. app.get('/compare/stage', sessionAuth, 'spssController.compareStage');
  896. app.post('/compare/stage/load', sessionAuth, 'spssController.loadCompareStage');
  897. app.get('/gather/tz', sessionAuth, 'spssController.gatherTz');
  898. app.post('/gather/tz/load', sessionAuth, 'spssController.loadGatherTz');
  899. app.get('/gather/stage', sessionAuth, 'spssController.gatherStage');
  900. app.post('/gather/stage/load', sessionAuth, 'spssController.loadGatherStage');
  901. app.get('/tools/check-tz', sessionAuth, 'spssController.checkTz');
  902. app.post('/tools/load', sessionAuth, 'spssController.loadBaseData');
  903. // wap页面
  904. app.get('/wap', 'wapController.index');
  905. app.get('/wap/login', 'wapController.index');
  906. app.post('/wap/login', 'wapController.login');
  907. app.get('/wap/logout', 'wapController.logout');
  908. app.get('/wap/dashboard', sessionAuth, 'wapController.dashboard');
  909. app.get('/wap/dashboard/msg/:id', sessionAuth, 'wapController.msg');
  910. app.get('/wap/list', sessionAuth, 'wapController.list');
  911. app.get('/wap/tender/:id', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'wapController.tender');
  912. app.get('/wap/tender/:id/stage/:order', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, stageCheck, 'wapController.stage');
  913. app.get('/wap/tender/:id/change/:cid/info', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, changeCheck, changeAuditCheck, 'wapController.change');
  914. app.get('/wap/tender/:id/change/plan/:cpid/info', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'wapController.changePlan');
  915. app.post('/wap/tender/:id/change/approval', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, tenderBuildCheck, 'wapController.changeApproval');
  916. app.get('/wap/tender/:id/revise/:rid/info', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'wapController.revise');
  917. app.get('/wap/tender/:id/advance', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'wapController.advance');
  918. app.get('/wap/tender/:id/advance/:order/detail', sessionAuth, tenderCheck, subProjectCheck, advanceCheck, 'wapController.advanceDetail');
  919. // 针对企业微信访问判断去掉wap就能直达web端
  920. app.get('/wap/tender/:id/measure/stage/:order', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, stageCheck, 'wapController.stage');
  921. app.get('/wap/tender/:id/change', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'wapController.changeIndex');
  922. app.get('/wap/tender/:id/change/:cid/information', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, changeCheck, changeAuditCheck, 'wapController.change');
  923. app.get('/wap/tender/:id/change/project/:cpid/information', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, changeProjectCheck, changeProjectAuditCheck, 'wapController.changeProject');
  924. app.get('/wap/tender/:id/change/apply/:caid/information', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, changeApplyCheck, changeApplyAuditCheck, 'wapController.changeApply');
  925. app.get('/wap/tender/:id/change/plan/:cpid/information', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, changePlanCheck, changePlanAuditCheck, 'wapController.changePlan');
  926. // 微信
  927. app.get('/wx', 'wechatController.index');
  928. app.post('/wx', 'wechatController.replyMessage');
  929. app.get('/wx/oauth', 'wechatController.oauth');
  930. app.get('/wx/bind', wechatAuth, 'wechatController.bind');
  931. app.post('/wx/bindwx', wechatAuth, 'wechatController.bindwx');
  932. app.get('/wx/url2wap', wechatAuth, 'wechatController.url2wap');
  933. app.get('/wx/project', wechatAuth, 'wechatController.project');
  934. app.get('/wx/test', 'wechatController.testwx');
  935. app.get('/MP_verify_t3MkWAMqplVxPjmr.txt', 'wechatController.oauthTxt');
  936. // 投资进度
  937. app.get('/tender/:id/schedule', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, scheduleCheck, 'scheduleController.index');
  938. app.get('/tender/:id/schedule/ledger', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, scheduleCheck, 'scheduleController.ledger');
  939. app.post('/tender/:id/schedule/ledger/load', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'scheduleController.loadLedgerData');
  940. app.post('/tender/:id/schedule/ledger/save', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'scheduleController.saveLedger');
  941. app.get('/tender/:id/schedule/plan', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, scheduleCheck, 'scheduleController.plan');
  942. app.post('/tender/:id/schedule/plan/save', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'scheduleController.savePlan');
  943. app.get('/tender/:id/schedule/stage', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, scheduleCheck, 'scheduleController.stageTp');
  944. app.get('/tender/:id/schedule/stage/order/:order', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, scheduleCheck, 'scheduleController.stageTp');
  945. app.post('/tender/:id/schedule/stage/save', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'scheduleController.saveStageTp');
  946. app.get('/tender/:id/schedule/stage/gcl', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, scheduleCheck, 'scheduleController.stageGcl');
  947. app.post('/tender/:id/schedule/stage/gcl/save', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'scheduleController.saveStageGcl');
  948. app.post('/tender/:id/schedule/stage/:order/load', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'scheduleController.loadTpLedgerData');
  949. app.post('/tender/:id/schedule/stage/gcl/:order/load', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'scheduleController.loadGclLedgerData');
  950. app.post('/tender/:id/schedule/audit/save', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'scheduleController.saveAudit');
  951. // 书签
  952. app.post('/tender/:id/ledger/tag', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'tenderController.billsTag');
  953. app.post('/tender/:id/revise/:rid/info/tag', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, reviseCheck, 'tenderController.billsTag');
  954. app.post('/tender/:id/measure/stage/:order/tag', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, stageCheck, 'tenderController.billsTag');
  955. app.post('/tender/:id/settle/:sorder/ledger/tag', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, settleCheck, 'tenderController.billsTag');
  956. // 总分包
  957. app.post('/tender/:id/ledger/sumLoad', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'tenderController.sumLoad');
  958. app.post('/tender/:id/measure/stage/:order/sumLoad', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, stageCheck, 'tenderController.sumLoad');
  959. app.post('/tender/:id/revise/:rid/info/sumLoad', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, reviseCheck, 'tenderController.sumLoad');
  960. // 多人协同
  961. app.post('/tender/:id/measure/stage/:order/ass', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, stageCheck, 'tenderController.auditAssist');
  962. app.post('/tender/:id/measure/stage/:order/ass-confirm', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, stageCheck, 'tenderController.auditAssistConfirm');
  963. // 扫码登录
  964. app.get('/wxAuth', 'loginController.wxAuth');
  965. app.get('/wxproject', 'loginController.wxProject');
  966. app.get('/wx/url2web', 'loginController.url2web');
  967. // 收方单附件页,免session
  968. app.get('/wap/shoufang/upload', 'wapController.shoufangUpload');
  969. app.post('/wap/shoufang/upfile', 'wapController.shoufangUpFile');
  970. app.post('/wap/shoufang/delfile', 'wapController.shoufangDeleteFile');
  971. app.post('/wap/shoufang/editfile', 'wapController.shoufangEditFile');
  972. app.get('/wap/shoufang/download/file/:fid', 'wapController.shoufangDownloadFile');
  973. // 企业微信回调
  974. app.get('/wx/work/callback/command', 'wechatController.command');
  975. app.post('/wx/work/callback/command', 'wechatController.postCommand');
  976. app.get('/WW_verify_CZwGPbI7BRGOBUX1.txt', 'wechatController.oauthWxWorkTxt');// 可信域名配置
  977. app.get('/wx/work/:corpid/oauth', 'wechatController.workOauth');
  978. app.get('/wx/work/:corpid/bind', wxWorkAuth, 'wechatController.workBind');
  979. app.post('/wx/work/bindwx', wxWorkAuth, 'wechatController.workBindwx');
  980. app.get('/wx/work/:corpid/url2wap', wxWorkAuth, 'wechatController.url2wap4work');
  981. app.get('/wx/work/:corpid/project', wxWorkAuth, 'wechatController.workProject');
  982. app.get('/wx/work/:corpid/test', wxWorkAuth, 'wechatController.workTest');
  983. app.get('/wx/tips', 'wechatController.tips');
  984. };