Explorar o código

fix: TASK #5299 调整

Tony Kang hai 3 semanas
pai
achega
06d208ab53
Modificáronse 2 ficheiros con 30 adicións e 14 borrados
  1. 12 0
      app/controller/report_controller.js
  2. 18 14
      app/public/report/js/rpt_signature.js

+ 12 - 0
app/controller/report_controller.js

@@ -164,6 +164,17 @@ module.exports = app => {
             return prjAccList;
         }
 
+        async _resetAccCompanySignPath(ctx, prjAccList) {
+            // 新需求: 如没有授权公司章的,要取自己的章
+            for (let idx = 0; idx < prjAccList.length; idx++) {
+                if (prjAccList[idx].unit_sign_path === undefined || prjAccList[idx].unit_sign_path === null || prjAccList[idx].unit_sign_path === '') {
+                    // getUserUnitSign
+                    const signPaths = await ctx.service.projectAccount.getUserUnitSign(prjAccList[idx].id);
+                    prjAccList[idx].unit_sign_path = signPaths.join('&%&');
+                }
+            }
+        }
+
         /**
          * 报表显示页面
          *
@@ -254,6 +265,7 @@ module.exports = app => {
                 const roleList = await ctx.service.signatureRole.getSignatureRolesByTenderId(tender.id);
                 const usedList = await ctx.service.signatureUsed.getSignatureUsedByTenderId(tender.id);
                 const prjAccList = await this._getPrjAccList(ctx, pageShow);
+                this._resetAccCompanySignPath(ctx, prjAccList);
 
                 // 分类列表
                 const categoryData = await this.ctx.service.category.getAllCategory(ctx.subProject);

+ 18 - 14
app/public/report/js/rpt_signature.js

@@ -528,32 +528,36 @@ let rptSignatureHelper = {
         }
         const companyPathList = userAcc && userAcc.unit_sign_path ? userAcc.unit_sign_path.split('!;!') : [];
         // const hasIndividualStamp = (userAcc && userAcc.stamp_path && userAcc.stamp_path !== ''); //用户账号的stamp_path是属于用户自己的私章,不是公司章
-        const hasMultiStamp = (stampPathList.length > 1 || companyPathList.length > 1); //用户账号的stamp_path是属于用户自己的私章,不是公司章
+        const hasMultiStamp = (stampPathList.length > 0 || companyPathList.length > 0); //用户账号的stamp_path是属于用户自己的私章,不是公司章
 
         if (hasMultiStamp) {
             elementsStrArr.push('       <div class="form-check form-check-inline mx-1">');
             elementsStrArr.push('           <div class="form-group">');
-            elementsStrArr.push('               <div class="form-check form-check-inline px-1">');
-            elementsStrArr.push(`                   <input class="form-check-input" type="${chkType}" id="${idSuffixStr}_sign2" value="companyStamp" name="${rdoNameStr}" onchange="rptSignatureHelper._changeSignType(this, '${role_rel.signature_name}', '${COMPANY_SIGN_STR}')" ${companySignChkStr}>`);
-            elementsStrArr.push(`                   <label class="form-check-label" for="${idSuffixStr}_sign2">单位章</label>`);
-            if (companyPathList.length > 1 ) {
-                elementsStrArr.push(`                   <a class="pl-2" href="#chose-company-stamp-path" data-toggle="modal" data-target="#chose-company-stamp-path" onclick="rptSignatureHelper.currentSelectedCompanySignDom = this.parentNode;rptSignatureHelper.initChosePrivateStampPath('${userAcc.unit_sign_path}','${role_rel.signature_name}', -1, 'chose-company-stamp-path') ">选择单位章</a>`);
-            } 
-            elementsStrArr.push('               </div>');
-            if(stampPathList.length>1){
+            if (companyPathList.length > 0 ) {
+                elementsStrArr.push('               <div class="form-check form-check-inline px-1">');
+                elementsStrArr.push(`                   <input class="form-check-input" type="${chkType}" id="${idSuffixStr}_sign2" value="companyStamp" name="${rdoNameStr}" onchange="rptSignatureHelper._changeSignType(this, '${role_rel.signature_name}', '${COMPANY_SIGN_STR}')" ${companySignChkStr}>`);
+                elementsStrArr.push(`                   <label class="form-check-label" for="${idSuffixStr}_sign2">单位章</label>`);
+                if (companyPathList.length > 1 ) {
+                    elementsStrArr.push(`                   <a class="pl-2" href="#chose-company-stamp-path" data-toggle="modal" data-target="#chose-company-stamp-path" onclick="rptSignatureHelper.currentSelectedCompanySignDom = this.parentNode;rptSignatureHelper.initChosePrivateStampPath('${userAcc.unit_sign_path}','${role_rel.signature_name}', -1, 'chose-company-stamp-path') ">选择单位章</a>`);
+                } 
+                elementsStrArr.push('               </div>');
+            }
+            if (stampPathList.length > 0) {
                 elementsStrArr.push('               <div class="form-check form-check-inline">');
                 elementsStrArr.push(`                   <input class="form-check-input" type="${chkType}" id="${idSuffixStr}_sign3" value="individualStamp" name="${rdoNameStr}" onchange="rptSignatureHelper._changeSignType(this, '${role_rel.signature_name}', '${PRIVATE_SIGN_STR}','${userAcc.stamp_path}')" ${privateSignChkStr}>`);
                 elementsStrArr.push(`                   <label class="form-check-label" for="${idSuffixStr}_sign3">个人章</label>`);
-                elementsStrArr.push(`                   <a class="pl-2" href="#chose-private-stamp-path" data-toggle="modal" data-target="#chose-private-stamp-path" onclick="rptSignatureHelper.currentSelectedESignAccDom = this.parentNode;rptSignatureHelper.initChosePrivateStampPath('${userAcc.stamp_path}','${role_rel.signature_name}') ">选择个人章</a>`);
+                if (stampPathList.length > 1) {
+                    elementsStrArr.push(`                   <a class="pl-2" href="#chose-private-stamp-path" data-toggle="modal" data-target="#chose-private-stamp-path" onclick="rptSignatureHelper.currentSelectedESignAccDom = this.parentNode;rptSignatureHelper.initChosePrivateStampPath('${userAcc.stamp_path}','${role_rel.signature_name}') ">选择个人章</a>`);
+                }
                 elementsStrArr.push('               </div>');
             } 
             elementsStrArr.push('           </div>');
             elementsStrArr.push('       </div>');
         } else {
-            elementsStrArr.push('       <div class="form-check form-check-inline px-2">');
-            elementsStrArr.push(`           <input class="form-check-input" type="${chkType}" id="${idSuffixStr}_sign10" value="option2" onchange="rptSignatureHelper._changeSignType(this, '${role_rel.signature_name}', '${COMPANY_SIGN_STR}')" ${companySignChkStr}>`);
-            elementsStrArr.push(`           <label class="form-check-label" for="${idSuffixStr}_sign10">单位章</label>`);
-            elementsStrArr.push('       </div>');
+            // elementsStrArr.push('       <div class="form-check form-check-inline px-2">');
+            // elementsStrArr.push(`           <input class="form-check-input" type="${chkType}" id="${idSuffixStr}_sign10" value="option2" onchange="rptSignatureHelper._changeSignType(this, '${role_rel.signature_name}', '${COMPANY_SIGN_STR}')" ${companySignChkStr}>`);
+            // elementsStrArr.push(`           <label class="form-check-label" for="${idSuffixStr}_sign10">单位章</label>`);
+            // elementsStrArr.push('       </div>');
         }
         elementsStrArr.push('   </div>');
         elementsStrArr.push('</div>');