Browse Source

fix: 台账分解批量下载接口路由无法命中

lanjianrong 4 years ago
parent
commit
b808382986

+ 1 - 2
app/controller/ledger_controller.js

@@ -983,11 +983,10 @@ module.exports = app => {
         async downloadZip(ctx) {
             try {
                 const fileIds = JSON.parse(ctx.request.query.fileIds);
-                const zipFilename = `${ctx.tender.data.name}-计量台账-${ctx.params.order}-附件.zip`;
+                const zipFilename = `${ctx.tender.data.name}-台账分解-附件.zip`;
                 const time = Date.now();
                 const zipPath = `app/public/upload/${ctx.tender.id}/ledger/fu_jian_zip${time}.zip`;
                 const size = await ctx.service.ledgerAtt.compressedFile(fileIds, zipPath);
-
                 // 解决中文无法下载问题
                 const userAgent = (ctx.request.header['user-agent'] || '').toLowerCase();
                 let disposition = '';

+ 5 - 2
app/public/js/ledger.js

@@ -2436,6 +2436,8 @@ $(document).ready(function() {
             } else if (tab.attr('content') === '#check-list') {
                 checkList.spread.refresh();
             } else if (tab.attr('content') === '#fujian') {
+              $('#dqjiedian').addClass('active')
+              $('#showAttachment').hide()
               const node = SpreadJsObj.getSelectObject(ledgerSpread.getActiveSheet());
               getNodeList(node.id);
             }
@@ -3415,7 +3417,7 @@ $(document).ready(function() {
         // }
         const files = $('#upload-file')[0].files;
         const node = SpreadJsObj.getSelectObject(ledgerSpread.getActiveSheet());
-        console.log(node);
+        // console.log(node);
         const formData = new FormData();
         formData.append('lid', node.id);
         for (const file of files) {
@@ -3648,8 +3650,9 @@ $(document).ready(function() {
       });
 
       if (fileIds.length) {
-          const url = `/tender/${tender.id}/ledger/download/compresse-file?fileIds=${JSON.stringify(fileIds)}`;
+          const url = `/tender/${tender.id}/ledger/compresse/file?fileIds=${JSON.stringify(fileIds)}`;
           $('#zipDown').attr('href', url);
+          console.log(url);
           $("#zipDown")[0].click();
       }
   });

+ 1 - 1
app/router.js

@@ -175,7 +175,7 @@ module.exports = app => {
     app.post('/tender/:id/ledger/delete/file', sessionAuth, tenderCheck, uncheckTenderCheck, 'ledgerController.deleteFile');
     app.post('/tender/:id/ledger/save/file', sessionAuth, tenderCheck, uncheckTenderCheck, 'ledgerController.saveFile');
     app.post('/tender/:id/ledger/check/file', sessionAuth, tenderCheck, uncheckTenderCheck, 'ledgerController.checkFile');
-    app.get('/tender/:id/ledger/download/compresse-file', sessionAuth, tenderCheck, uncheckTenderCheck, 'ledgerController.downloadZip');
+    app.get('/tender/:id/ledger/compresse/file', sessionAuth, tenderCheck, uncheckTenderCheck, 'ledgerController.downloadZip');
 
     // 台账审批相关
     app.get('/tender/:id/ledger/audit', sessionAuth, tenderCheck, uncheckTenderCheck, 'ledgerAuditController.index');

+ 0 - 3
app/service/ledger_att.js

@@ -105,9 +105,6 @@ module.exports = app => {
             });
             const [sql, sqlParam] = this.sqlBuilder.build(this.tableName);
             const files = await this.db.query(sql, sqlParam);
-            // const paths = files.map(item => {
-            //     return { name: item.filename + item.fileext, path: item.filepath }
-            // })
             return new Promise((resolve, reject) => {
                 // 每次开一个新的archiver
                 const ziparchiver = archiver('zip');

+ 1 - 1
config/config.default.js

@@ -145,7 +145,7 @@ module.exports = appInfo => {
     config.gzip = {
         threshold: 2048,
         // 下载的url要用正则忽略
-        ignore: /(\w*)(\/download\/file)|(\/profile\/qrCode)|(\/download\/compresse-file)(\w*)/ig,
+        ignore: /(\w*)(\/download\/file)|(\/profile\/qrCode)|(\/download\/compresse-file)|(\/compresse\/file)(\w*)/ig,
     };
 
     config.customLogger = {