浏览代码

code improvement

TonyKang 5 年之前
父节点
当前提交
06d9c0d892
共有 1 个文件被更改,包括 55 次插入0 次删除
  1. 55 0
      app/public/report/js/rpt_signature.js

+ 55 - 0
app/public/report/js/rpt_signature.js

@@ -277,6 +277,12 @@ let rptSignatureHelper = {
         elementsStrArr.push('<div class="">');
         // 日期控件存在页面高度不过高无法选中bug,先不用
         // elementsStrArr.push('<input id="' + idSuffixStr + '" class="datepicker-here form-control form-control-sm mt-0" placeholder="选择签名日期" data-language="zh" data-position="right bottom" type="text" readonly="true"');
+        //*
+        let dftDate = _getSignDateByAllScenarios(userAccId);
+        if (dftDate !== '' && dftDate.length > 20) {
+            dftDate = (new Date(dftDate)).Format('yyyy-MM-dd');
+        }
+        /*/
         let dftDate = '';
         let hasAudit = false;
         if (STAGE_AUDIT && STAGE_AUDIT.length > 0) {
@@ -319,6 +325,7 @@ let rptSignatureHelper = {
                 }
             }
         }
+        //*/
         if (dftDate !== '') {
             elementsStrArr.push('<input id="' + idSuffixStr + '" class="form-control form-control-sm mt-0" placeholder="选择签名日期" type="date" value="' + dftDate + '"');
         } else {
@@ -564,6 +571,11 @@ let rptSignatureHelper = {
             for (let rridx = 0; rridx < currRoleRelList.length; rridx++) {
                 const role_rel = currRoleRelList[rridx];
                 if (role_rel.sign_date === undefined || role_rel.sign_date ===  null || role_rel.sign_date ===  '') {
+                    //*
+                    let dftDate = _getSignDateByAllScenarios(role_rel.acc_id);
+                    role_rel.sign_date = dftDate;
+                    rptSignatureHelper.originalRoleRelList[rridx].sign_date = dftDate;
+                    /*/
                     let hasAudit = false;
                     for (const stg_audit of STAGE_AUDIT) {
                         if (role_rel.acc_id === stg_audit.aid) {
@@ -605,6 +617,7 @@ let rptSignatureHelper = {
                             }
                         }
                     }
+                    //*/
                 }
             }
         }
@@ -629,6 +642,48 @@ let rptSignatureHelper = {
     }
 }
 
+function _getSignDateByAllScenarios(userAccId) {
+    let rst = '';
+    let hasAudit = false;
+    for (const stg_audit of STAGE_AUDIT) {
+        if (stg_audit.aid === userAccId) {
+            hasAudit = true;
+            if (stg_audit.status === 3) {
+                rst = stg_audit.end_time;
+            } else {
+                rst = '';
+            }
+            // break; //因为实际业务中会有反复,所以就不break了,一直判断,以最后一个为准
+        }
+    }
+    let isOrgRpt = false;
+    for (const stg of STAGE_LIST) {
+        if (stg.id === current_stage_id) {
+            if (stg.user_id === userAccId) {
+                isOrgRpt = true;
+            }
+            break;
+        }
+    }
+    if (isOrgRpt && !hasAudit && STAGE_AUDIT_ORG && STAGE_AUDIT_ORG.length > 0) {
+        if (STAGE_AUDIT_ORG[0].begin_time && STAGE_AUDIT_ORG[0].begin_time !== '' && STAGE_AUDIT_ORG[0].begin_time.length > 20) {
+            rst = STAGE_AUDIT_ORG[0].begin_time;
+        }
+    }
+    if (!isOrgRpt && !hasAudit) {
+        //非审批流程人员以及非原报,则显示期截至时间
+        for (const stg of STAGE_LIST) {
+            if (stg.id === current_stage_id && stg.period) {
+                const period = stg.period.split(' ~ ');
+                if (period.length === 2) {
+                    rst = period[1];
+                }
+            }
+        }
+    }
+    return rst;
+}
+
 function _getSignDateDftName() {
     return '    年  月  日';
 }