Browse Source

隐藏支付审批报表目录

Tony Kang 2 years atrás
parent
commit
d12559194c
2 changed files with 36 additions and 41 deletions
  1. 21 29
      app/view/payment/detail.ejs
  2. 15 12
      app/view/report/rpt_all_popup.ejs

+ 21 - 29
app/view/payment/detail.ejs

@@ -172,10 +172,23 @@
         iniPage();
     });
     
-    function _getAdhocDummyCells(picPath) {
-        const rst = [];
-        //
-        return rst;
+    function _getAdhocDummyCells(srcCell, rstCells) {
+        if (typeof srcCell.path === 'string') {
+            let paths = srcCell.path.split('!;!');
+            for (let dtlPath of paths) {
+                if (dtlPath.length > 10) {
+                    const newStampCell = {
+                        signature_name: 'dummy_pic',
+                        control: srcCell.control,
+                        style: srcCell.style,
+                        path: dtlPath,
+                        isStamp: true,
+                        area: srcCell.area,
+                    };                
+                    rstCells.push(newStampCell);
+                }
+            }
+        }
     }
 
     function downloadPDFReport(pageDataArr, pageSize, rpt_names, signatureRelArr, signatureRelInfo, refRptTplIds, STAGE_AUDIT) {
@@ -197,31 +210,17 @@
                 if (auditRptPrintHelper.currentDownloadIdx < newPageDataArr.length) setTimeout(private_download(newPageDataArr, new_rpt_names), 2000);
             }
         };
-        // 导出PDF真实优化代码
-        let picPaths = [], dummyPicAmt = 0, dummyCells = [], dupPicPath = [], dupPicCell = [];
+        // 导出PDF审核优化代码
+        let picPaths = [], dummyPicAmt = 0, dummyCells = [];
         // 1. 先找有没有dummy
         for (let pageData of pageDataArr) {
             for (let page of pageData.items) {
                 for (let dCell of page.signature_cells) {
-                    if (dCell.signature_name.indexOf('dummy_pic') >= 0) {
-                        let picIdx = picPaths.indexOf(dCell.path);
-                        if (picIdx < 0) {
-                            picPaths.push(dCell.path);
-                            dummyCells.push(dCell);
-                            dummyPicAmt++;
-                        } else {
-                            let dPicIdx = dupPicPath.indexOf(dCell.path);
-                            if (dPicIdx < 0) {
-                                dupPicPath.push(dCell.path);
-                                dupPicCell.push([]);
-                                dPicIdx = dupPicPath.length - 1;
-                            }
-                            dupPicCell[dPicIdx].push(dCell);
-                        }
-                    }
+                    _getAdhocDummyCells(dCell, dummyCells);
                 }
             }
         }
+        dummyPicAmt = dummyCells.length;
         if (dummyPicAmt > 0) {
             // 2. 有则一个个请求下载图片,下载完后统一导出PDF
             $.bootstrapLoading.start();
@@ -241,13 +240,6 @@
                             let base64 = e.target.result;
                             dCell.pic = base64;
                             handledAmt++;
-                            let pPathIdx = dupPicPath.indexOf(dCell.path);
-                            if (pPathIdx >= 0) {
-                                for (let dupCell of dupPicCell[pPathIdx]) {
-                                    dupCell.pic = base64;
-                                }
-                            }
-                            // console.log(`已处理草图: ${handledAmt}`);
                             if ((handledAmt + exceptionAmt) === dummyPicAmt) {
                                 $.bootstrapLoading.end();
                                 private_download(pageDataArr, rpt_names);

+ 15 - 12
app/view/report/rpt_all_popup.ejs

@@ -998,6 +998,7 @@
     }
 
     function buildCustRptCommon(tbDomId, topTreeNode, checkingArr, isCommonStr) {
+        const filterNames = ['01.支付审批报表'];
         let tbDom = $("#" + tbDomId);
         tbDom.empty();
         tbDom.append('<tr><th>类别</th><th>包含报表</th><th>显示</th></tr>');
@@ -1049,20 +1050,22 @@
         let parentIdx = 0;
         let subCnt = topTreeNode.items.length;
         for (const topItem of topTreeNode.items) {
-            const avRpts = _countAvailableTpls(topItem);
-            if (avRpts > 0) {
-                TplAmts.push(avRpts);
-                let checkedStr = (checkingArr.indexOf(topItem.name) >= 0) ? ' checked' : '';
-                let pIdStr = tbDomId + '_' + parentIdx + '_' + subCnt;
-                tbDom.append('<tr><td>' + topItem.name + '</td><td>' + TplAmts[TplAmts.length - 1] + '</td><td><input id="' + pIdStr + '" onchange="changeFolder(this, ' + isCommonStr + ', null)" hiddenval="' + topItem.name + '" type="checkbox"' + checkedStr + '></td></tr>');
-                if (topItem.items && topItem.items.length > 0) {
-                    let subSeq = 0;
-                    for (const subItem of topItem.items) {
-                        _pushRptLine(topItem, subItem, 1, true, pIdStr, subSeq, '');
+            if (!filterNames.includes(topItem.name)) {
+                const avRpts = _countAvailableTpls(topItem);
+                if (avRpts > 0) {
+                    TplAmts.push(avRpts);
+                    let checkedStr = (checkingArr.indexOf(topItem.name) >= 0) ? ' checked' : '';
+                    let pIdStr = tbDomId + '_' + parentIdx + '_' + subCnt;
+                    tbDom.append('<tr><td>' + topItem.name + '</td><td>' + TplAmts[TplAmts.length - 1] + '</td><td><input id="' + pIdStr + '" onchange="changeFolder(this, ' + isCommonStr + ', null)" hiddenval="' + topItem.name + '" type="checkbox"' + checkedStr + '></td></tr>');
+                    if (topItem.items && topItem.items.length > 0) {
+                        let subSeq = 0;
+                        for (const subItem of topItem.items) {
+                            _pushRptLine(topItem, subItem, 1, true, pIdStr, subSeq, '');
+                        }
+                        subSeq++;
                     }
-                    subSeq++;
+                    parentIdx++;
                 }
-                parentIdx++;
             }
         }
     }