| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296 | 'use strict';module.exports = app => {    // session验证中间件    const sessionAuth = app.middlewares.sessionAuth();    // 创建时间自动填充中间件    const datetimeFill = app.middlewares.datetimeFill();    // 项目管理员判断中间件    const projectManagerCheck = app.middlewares.projectManagerCheck();    // 标段读取中间件    const tenderCheck = app.middlewares.tenderCheck();    // 期读取中间件    const stageCheck = app.middlewares.stageCheck();    // 材料调差读取中间件    const materialCheck = app.middlewares.materialCheck();    // 登入登出相关    app.get('/login', 'loginController.index');    app.get('/', 'loginController.index');    app.get('/logout', 'loginController.logout');    app.post('/login', 'loginController.login');    app.get('/project/name', 'loginController.projectName');    app.get('/sign', 'signController.index');    app.post('/sign/save', 'signController.save');    app.post('/reset/password', 'loginController.resetPassword');    // 用户信息初始化相关    app.get('/boot', sessionAuth, 'bootController.index');    app.post('/boot', sessionAuth, 'bootController.boot');    // 控制面板相关    app.get('/dashboard', sessionAuth, 'dashboardController.index');    /**     * 项目设置     */    // 项目信息    app.get('/setting/info', sessionAuth, 'settingController.info');    app.post('/setting/updateinfo/:id', sessionAuth, 'settingController.updateinfo');    // 账号设置    app.get('/setting/user', sessionAuth, 'settingController.user');    app.get('/setting/user/permission/set', sessionAuth, 'settingController.userPermissionSet');    // 账号停用和启用    app.post('/setting/user/switch', sessionAuth, 'settingController.userSwitch');    app.post('/setting/user/add', sessionAuth, datetimeFill, 'settingController.addUser');    app.post('/setting/user/update', sessionAuth, 'settingController.updateUser');    app.post('/setting/user/permission', sessionAuth, 'settingController.permission');    app.post('/setting/user/reset/password', sessionAuth, 'settingController.resetUserPassword');    app.post('/setting/user/exist', sessionAuth, 'settingController.accountExist');    // 标段自定义类别    app.get('/setting/category', sessionAuth, 'settingController.category');    app.post('/setting/category/add', sessionAuth, 'settingController.addCategory');    app.post('/setting/category/del', sessionAuth, 'settingController.deleteCategory');    app.post('/setting/category/update', sessionAuth, 'settingController.updateCategory');    app.post('/setting/category/value', sessionAuth, 'settingController.setCategoryValue');    app.post('/setting/category/level', sessionAuth, 'settingController.resetCategoryLevel');    // 项目相关    app.get('/project/info', sessionAuth, 'projectController.info');    app.get('/project/account', sessionAuth, projectManagerCheck, 'accountController.index');    app.post('/project/account/permission/:accountId', sessionAuth, projectManagerCheck, 'accountController.savePermission');    app.get('/project/account/enable/:accountId', sessionAuth, projectManagerCheck, 'accountController.enable');    app.get('/project/account/disable/:accountId', sessionAuth, projectManagerCheck, 'accountController.enable');    app.get('/project/switch/:projectId', sessionAuth, projectManagerCheck, 'projectController.switchProject');    app.post('/project/info', sessionAuth, 'projectController.saveInfo');    /**     * 标段管理     */    // 金额概况    app.get('/list', sessionAuth, 'tenderController.listDefault');    app.get('/list/info', sessionAuth, 'tenderController.listInfo');    // 计量进度    app.get('/list/progress', sessionAuth, 'tenderController.listProgress');    // 管理标段    app.get('/list/manage', sessionAuth, 'tenderController.listManage');    app.post('/list/add', sessionAuth, 'tenderController.addTender');    app.post('/list/update', sessionAuth, 'tenderController.updateTender');    app.post('/list/del', sessionAuth, 'tenderController.deleteTender');    // 标段概况    app.get('/tender/:id', sessionAuth, tenderCheck, 'tenderController.tenderInfo');    app.get('/tender/:id/type', sessionAuth, 'tenderController.tenderType');    app.post('/tender/:id/save', sessionAuth, tenderCheck, 'tenderController.saveTenderInfo');    app.post('/tender/rule', sessionAuth, 'tenderController.rule');    app.post('/tender/:id/rule/first', sessionAuth, tenderCheck, 'tenderController.ruleFirst');    // 标段协作办公    app.get('/tender/:id/cooperation', sessionAuth, tenderCheck, 'tenderController.tenderCooperation');    // 台账管理相关    app.get('/tender/:id/ledger', sessionAuth, tenderCheck, 'ledgerController.explode');    app.post('/tender/:id/ledger/load', sessionAuth, tenderCheck, 'ledgerController.loadExplodeData');    app.post('/tender/:id/ledger/get-children', sessionAuth, tenderCheck, 'ledgerController.getChildren');    app.post('/tender/:id/ledger/update', sessionAuth, tenderCheck, 'ledgerController.update');    app.post('/tender/:id/ledger/upload-excel/:ueType', sessionAuth, tenderCheck, 'ledgerController.uploadExcel');    app.get('/tender/:id/ledger/download/:file', sessionAuth, tenderCheck, 'ledgerController.download');    app.post('/tender/:id/pos/update', sessionAuth, tenderCheck, 'ledgerController.posUpdate');    app.post('/tender/:id/pos/paste', sessionAuth, tenderCheck, 'ledgerController.posPaste');    app.post('/tender/:id/ledger/deal2sgfh', sessionAuth, tenderCheck, 'ledgerController.deal2sgfh');    // 台账审批相关    app.get('/tender/:id/ledger/audit', sessionAuth, tenderCheck, 'ledgerAuditController.index');    app.post('/tender/:id/ledger/audit/add', sessionAuth, tenderCheck, 'ledgerAuditController.add');    app.post('/tender/:id/ledger/audit/delete', sessionAuth, tenderCheck, 'ledgerAuditController.remove');    app.post('/tender/:id/ledger/audit/start', sessionAuth, tenderCheck, 'ledgerAuditController.start');    app.post('/tender/:id/ledger/audit/check', sessionAuth, tenderCheck, 'ledgerAuditController.check');    // 台账对比    app.get('/tender/:id/ledger/gather', sessionAuth, tenderCheck, 'ledgerController.gather');    app.post('/tender/:id/ledger/gather/load', sessionAuth, tenderCheck, 'ledgerController.loadGatherData');    // 台账修订    app.get('/tender/:id/revise', sessionAuth, tenderCheck, 'reviseController.index');    app.post('/tender/:id/revise/add', sessionAuth, tenderCheck, 'reviseController.add');    app.post('/tender/:id/revise/cancel', sessionAuth, tenderCheck, 'reviseController.cancel');    app.post('/tender/:id/revise/save', sessionAuth, tenderCheck, 'reviseController.save');    //app.post('/tender/:id/revise/deal2sgfh', sessionAuth, tenderCheck, 'reviseController.deal2sgfh');    // 台账修订页面    app.get('/tender/:id/revise/info', sessionAuth, tenderCheck, 'reviseController.info');    app.post('/tender/:id/revise/auditors', sessionAuth, tenderCheck, 'reviseController.reviseAuditors');    app.post('/tender/:id/revise/info/load', sessionAuth, tenderCheck, 'reviseController.loadInfoData');    app.post('/tender/:id/revise/info/update', sessionAuth, tenderCheck, 'reviseController.update');    app.post('/tender/:id/revise/info/upload-excel/:ueType', sessionAuth, tenderCheck, 'reviseController.uploadExcel');    // 查看修订数据    app.get('/tender/:id/revise/history', sessionAuth, tenderCheck, 'reviseController.history');    app.post('/tender/:id/revise/history/load', sessionAuth, tenderCheck, 'reviseController.loadHistoryData');    app.post('/tender/:id/revise/history/info', sessionAuth, tenderCheck, 'reviseController.historyInfo');    // 修订审批    app.post('/tender/:id/revise/audit/add', sessionAuth, tenderCheck, 'reviseController.addAuditor');    app.post('/tender/:id/revise/audit/remove', sessionAuth, tenderCheck, 'reviseController.removeAuditor');    app.post('/tender/:id/revise/audit/start', sessionAuth, tenderCheck, 'reviseController.start');    app.post('/tender/:id/revise/audit/check', sessionAuth, tenderCheck, 'reviseController.check');    // 签约清单    app.post('/tender/:id/deal/get-data', sessionAuth, tenderCheck, 'dealBillsController.getData');    app.post('/tender/:id/deal/upload-excel', sessionAuth, tenderCheck, 'dealBillsController.loadExcel');    app.get('/tender/:id/deal/download/:file', sessionAuth, tenderCheck, 'dealBillsController.download');    // 计量台账    // 期计量    app.get('/tender/:id/measure/stage', sessionAuth, tenderCheck, 'measureController.stage');    app.post('/tender/:id/measure/stage/auditors', sessionAuth, tenderCheck, 'measureController.stageAuditors');    app.post('/tender/:id/measure/add', sessionAuth, tenderCheck, 'measureController.add');    app.post('/tender/:id/measure/save', sessionAuth, tenderCheck, 'measureController.save');    app.post('/tender/:id/measure/stage/delete', sessionAuth, tenderCheck, 'measureController.delete');    // 计量台账 -- 清单汇总    app.get('/tender/:id/measure/gather', sessionAuth, tenderCheck, 'measureController.gather');    // 计量台账 -- 审核比较    app.get('/tender/:id/measure/compare', sessionAuth, tenderCheck, 'measureController.compare');    app.post('/tender/:id/measure/compare/load', sessionAuth, tenderCheck, 'measureController.loadCompareData');    // 期计量详细    // 本期计量台账    app.get('/tender/:id/measure/stage/:order', sessionAuth, tenderCheck, stageCheck, 'stageController.index');    app.post('/tender/:id/measure/stage/:order/load', sessionAuth, tenderCheck, stageCheck, 'stageController.getStageData');    app.post('/tender/:id/measure/stage/:order/pos', sessionAuth, tenderCheck, stageCheck, 'stageController.getStagePosData');    app.post('/tender/:id/measure/stage/:order/update', sessionAuth, tenderCheck, stageCheck, 'stageController.updateStageData');    app.post('/tender/:id/measure/stage/:order/valid-change', sessionAuth, tenderCheck, stageCheck, 'stageController.searchValidChange');    app.post('/tender/:id/measure/stage/:order/use-change',sessionAuth, tenderCheck, stageCheck, 'stageController.useChange');    // 计量附件    app.post('/tender/:id/measure/stage/:order/upload/file', sessionAuth, tenderCheck, stageCheck, 'stageController.uploadFile');    app.get('/tender/:id/measure/stage/:order/download/file/:fid', sessionAuth, 'stageController.downloadFile');    app.post('/tender/:id/measure/stage/:order/delete/file', sessionAuth, tenderCheck, stageCheck, 'stageController.deleteFile');    app.post('/tender/:id/measure/stage/:order/save/file', sessionAuth, tenderCheck, stageCheck, 'stageController.saveFile');    // 中间计量    app.get('/tender/:id/measure/stage/:order/detail', sessionAuth, tenderCheck, stageCheck, 'stageController.detail');    app.post('/tender/:id/measure/stage/:order/detail/build', sessionAuth, tenderCheck, stageCheck, 'stageController.buildDetailData');    app.post('/tender/:id/measure/stage/:order/detail/adv', sessionAuth, tenderCheck, stageCheck, 'stageController.setAdvancedConfig');    app.post('/tender/:id/measure/stage/:order/detail/load', sessionAuth, tenderCheck, stageCheck, 'stageController.loadDetailRelaData');    app.post('/tender/:id/measure/stage/:order/detail/save', sessionAuth, tenderCheck, stageCheck, 'stageController.saveDetailData');    app.post('/tender/:id/measure/stage/:order/detail/add-img', sessionAuth, tenderCheck, stageCheck, 'stageController.addCalcImage');    app.post('/tender/:id/measure/stage/:order/detail/merge-img', sessionAuth, tenderCheck, stageCheck, 'stageController.mergeCalcImage');    // 合同支付    app.get('/tender/:id/measure/stage/:order/pay', sessionAuth, tenderCheck, stageCheck, 'stageController.pay');    app.post('/tender/:id/measure/stage/:order/pay/detail', sessionAuth, tenderCheck, stageCheck, 'stageController.chapterDetail');    app.post('/tender/:id/measure/stage/:order/pay/save', sessionAuth, tenderCheck, stageCheck, 'stageController.savePayData');    app.post('/tender/:id/measure/stage/:order/pay/upload/file', sessionAuth, tenderCheck, stageCheck, 'stageController.payUploadFile');    app.get('/tender/:id/measure/stage/:order/pay/download/file/:pid/:index', sessionAuth, 'stageController.payDownloadFile');    app.post('/tender/:id/measure/stage/:order/pay/delete/file', sessionAuth, tenderCheck, stageCheck, 'stageController.payDeleteFile');    // 变更概况    app.get('/tender/:id/measure/stage/:order/change', sessionAuth, tenderCheck, stageCheck, 'stageController.change');    app.post('/tender/:id/measure/stage/:order/change/data', sessionAuth, tenderCheck, stageCheck, 'stageController.getChangeData');    app.post('/tender/:id/measure/stage/:order/change/detail', sessionAuth, tenderCheck, stageCheck, 'stageController.changeDetail');    // 审批    app.post('/tender/:id/measure/stage/:order/audit/add', sessionAuth, tenderCheck, stageCheck, 'stageController.addAudit');    app.post('/tender/:id/measure/stage/:order/audit/delete', sessionAuth, tenderCheck, stageCheck, 'stageController.deleteAudit');    app.post('/tender/:id/measure/stage/:order/audit/start', sessionAuth, tenderCheck, stageCheck, 'stageController.startAudit');    app.post('/tender/:id/measure/stage/:order/audit/check', sessionAuth, tenderCheck, stageCheck, 'stageController.checkAudit');    app.get('/tender/:id/measure/stage/:order/audit/check/again', sessionAuth, tenderCheck, stageCheck, 'stageController.checkAuditAgain');    // 部位台账    app.get('/tender/:id/measure/stage/:order/bwtz', sessionAuth, tenderCheck, stageCheck, 'stageController.bwtz');    // 清单汇总    app.get('/tender/:id/measure/stage/:order/gather', sessionAuth, tenderCheck, stageCheck, 'stageController.gather');    // 审核比较    app.get('/tender/:id/measure/stage/:order/compare', sessionAuth, tenderCheck, stageCheck, 'stageController.compare');    app.post('/tender/:id/measure/stage/:order/compare/load', sessionAuth, tenderCheck, stageCheck, 'stageController.compareAuditor');    // 附加功能    app.get('/tender/:id/measure/stage/:order/extra/jgcl', sessionAuth, tenderCheck, stageCheck, 'stageExtraController.jgcl');    app.post('/tender/:id/measure/stage/:order/extra/jgcl/load', sessionAuth, tenderCheck, stageCheck, 'stageExtraController.loadJgcl');    app.post('/tender/:id/measure/stage/:order/extra/jgcl/update', sessionAuth, tenderCheck, stageCheck, 'stageExtraController.updateJgcl');    app.get('/tender/:id/measure/stage/:order/extra/bonus', sessionAuth, tenderCheck, stageCheck, 'stageExtraController.bonus');    app.post('/tender/:id/measure/stage/:order/extra/bonus/load', sessionAuth, tenderCheck, stageCheck, 'stageExtraController.loadBonus');    app.post('/tender/:id/measure/stage/:order/extra/bonus/update', sessionAuth, tenderCheck, stageCheck, 'stageExtraController.updateBonus');    app.get('/tender/:id/measure/stage/:order/extra/other', sessionAuth, tenderCheck, stageCheck, 'stageExtraController.other');    app.post('/tender/:id/measure/stage/:order/extra/other/load', sessionAuth, tenderCheck, stageCheck, 'stageExtraController.loadOther');    app.post('/tender/:id/measure/stage/:order/extra/other/update', sessionAuth, tenderCheck, stageCheck, 'stageExtraController.updateOther');    // 报表    app.get('/tender/:id/report', sessionAuth, tenderCheck, 'reportController.index');    app.get('/tender/:id/measure/stage/:order/report', sessionAuth, tenderCheck, stageCheck, 'reportController.index');    app.get('/printReport/:size', sessionAuth, 'reportController.showPrintPage');    app.post('/tender/report_api/getReport', sessionAuth, 'reportController.getReport');    app.post('/tender/report_api/getMultiReports', sessionAuth, 'reportController.getMultiReportsEx');    app.post('/tender/report_api/createExcelFiles', sessionAuth, 'reportController.createExcelFilesEx');    app.post('/tender/report_api/createExcelFilesInOneBook', sessionAuth, 'reportController.createExcelFilesInOneBookEx');    app.get('/getFileByUUID/:uuid/:rptName/:suffix', sessionAuth, 'reportController.getFileByUUID');    // rptRouter.get('/getFileByUUID/:uuid/:rptName/:suffix', reportController.getFileByUUID);    app.post('/tender/report_api/createSignatureRole', sessionAuth, 'signatureController.createSignatureRole');    app.post('/tender/report_api/updateSignatureUsed', sessionAuth, datetimeFill, 'signatureController.updateSignatureUsed');    app.post('/tender/report_api/updateRoleRelationship', sessionAuth, 'signatureController.updateRoleRel');    app.post('/tender/report_api/createRoleRelationship', sessionAuth, 'signatureController.createRoleRel');    // 变更管理    app.get('/tender/:id/change', sessionAuth, tenderCheck, 'changeController.index');    app.get('/tender/:id/change/status/:status', sessionAuth, tenderCheck, 'changeController.status');    app.post('/tender/:id/change/newCode', sessionAuth, tenderCheck, 'changeController.newCode');    app.post('/tender/:id/change/add', sessionAuth, tenderCheck, 'changeController.add');    app.post('/tender/:id/change/defaultBills', sessionAuth, tenderCheck, 'changeController.defaultBills');    app.get('/tender/:id/change/:cid/info', sessionAuth, tenderCheck, 'changeController.info');    app.post('/change/upload/file', sessionAuth, 'changeController.uploadFile');    app.get('/change/download/file/:id', sessionAuth, 'changeController.downloadFile');    app.post('/change/delete/file', sessionAuth, 'changeController.deleteFile');    app.post('/tender/:id/change/delete', sessionAuth, tenderCheck, 'changeController.delete');    app.post('/tender/:id/change/bills', sessionAuth, tenderCheck, 'changeController.bills');    app.post('/change/save', sessionAuth, 'changeController.save');    app.post('/change/approval', sessionAuth, 'changeController.approval');    app.post('/change/check/again', sessionAuth, 'changeController.checkAgain');    app.post('/tender/:id/change/:cid/check/codeRepeat', sessionAuth, tenderCheck, 'changeController.checkCodeRepeat');    // 变更单位管理    app.post('/change/update/company', sessionAuth, 'changeController.updateCompany');    // 材料调差    app.get('/tender/:id/measure/material', sessionAuth, tenderCheck, 'materialController.index');    app.post('/tender/:id/measure/material/add', sessionAuth, tenderCheck, 'materialController.add');    app.post('/tender/:id/measure/material/delete', sessionAuth, tenderCheck, 'materialController.delete');    app.post('/tender/:id/measure/material/auditors', sessionAuth, tenderCheck, 'materialController.materialAuditors');    // 审批    app.post('/tender/:id/measure/material/:order/audit/add', sessionAuth, tenderCheck, materialCheck, 'materialController.addAudit');    app.post('/tender/:id/measure/material/:order/audit/delete', sessionAuth, tenderCheck, materialCheck, 'materialController.deleteAudit');    app.post('/tender/:id/measure/material/:order/audit/start', sessionAuth, tenderCheck, materialCheck, 'materialController.startAudit');    app.post('/tender/:id/measure/material/:order/audit/check', sessionAuth, tenderCheck, materialCheck, 'materialController.checkAudit');    // 调差工料    app.get('/tender/:id/measure/material/:order', sessionAuth, tenderCheck, materialCheck, 'materialController.info');    app.post('/tender/:id/measure/material/:order/save', sessionAuth, tenderCheck, materialCheck, 'materialController.saveBillsData');    // 调差清单    app.get('/tender/:id/measure/material/:order/list', sessionAuth, tenderCheck, materialCheck, 'materialController.list');    app.post('/tender/:id/measure/material/:order/list/save', sessionAuth, tenderCheck, materialCheck, 'materialController.saveListsData');    // 个人账号相关    app.get('/profile/info', sessionAuth, 'profileController.info');    app.get('/profile/sms', sessionAuth, 'profileController.sms');    app.post('/profile/sms/type', sessionAuth, 'profileController.smsType');    app.get('/profile/sign', sessionAuth, 'profileController.sign');    app.post('/profile/sign/delete', sessionAuth, 'profileController.signDelete');    app.post('/profile/sign/upload', sessionAuth, 'profileController.signUpload');    app.get('/profile/safe', sessionAuth, 'profileController.safe');    app.post('/profile/save', sessionAuth, 'profileController.saveBase');    app.post('/profile/password', sessionAuth, 'profileController.modifyPassword');    app.post('/profile/code', sessionAuth, 'profileController.getCode');    app.post('/profile/bind', sessionAuth, 'profileController.bindMobile');    app.get('/profile/qrCode', sessionAuth, 'profileController.qrCode');    // 标准库相关    app.post('/std-lib/get-data', sessionAuth, 'standardLibController.getData');    // 查询    app.post('/search/user', sessionAuth, 'projectController.searchAccount');    // 示例    app.get('/template/:file', sessionAuth, 'templateController.download');    // 标段对比    app.get('/compare/tz', sessionAuth, 'spssController.compareTz');    app.post('/compare/tz/load', sessionAuth, 'spssController.loadCompareTz');    app.get('/compare/stage', sessionAuth, 'spssController.compareStage');    app.post('/compare/stage/load', sessionAuth, 'spssController.loadCompareStage');    app.get('/gather/tz', sessionAuth, 'spssController.gatherTz');    app.post('/gather/tz/load', sessionAuth, 'spssController.loadGatherTz');    app.get('/gather/stage', sessionAuth, 'spssController.gatherStage');    app.post('/gather/stage/load', sessionAuth, 'spssController.loadGatherStage');};
 |