/** * Created by Tony on 2019/9/25. */ 'use strict' const DFT_ROLE_NAME = ''; let rptSignatureHelper = { currentSelectedESignAccDom: null, currentSelectedESignAccIdx: -1, currentSelectedESignAccName: null, originalRoleRelList: [], buildSelectableAccount: function () { //PRJ_ACCOUNT_LIST //1. 清理所有选择项 // $("#project_account_select_div").empty(); let accDiv = $('#project_account_select_div'); let accSelect = $('#project_account_select_dom'); //绑定成员 let searchInput = $('#search_account').val(); accDiv.empty(); accSelect.empty(); //2. 一个个加可选用户项 const prj_accounts = []; const prj_sel_option_accounts = []; const acc_role_keys = []; for (let accIdx = 0; accIdx < PRJ_ACCOUNT_LIST.length; accIdx++) { const prjAccount = PRJ_ACCOUNT_LIST[accIdx]; if (searchInput === '' || (searchInput !== '' && prjAccount.name.indexOf(searchInput) !== -1)) { let companyKey = prjAccount.account_group; let roleKey = prjAccount.role; if (companyKey === '') { companyKey = '其他单位'; } if (roleKey === '') { roleKey = DFT_ROLE_NAME; } let keyIdx = acc_role_keys.indexOf(companyKey); if (keyIdx < 0) { acc_role_keys.push(companyKey); prj_accounts.push([]); prj_sel_option_accounts.push([]); keyIdx = prj_accounts.length - 1; //这里先push一些 html prefix,在后面统一在push html suffix prj_accounts[keyIdx].push('
' + userName + '-' + ((userRole === '')?DFT_ROLE_NAME:userRole) + '
'); // rptSignatureHelper.pushDatePickerDom(elementsStrArr); }, pushDomElementByRole: function (elementsStrArr, roleName, userName) { elementsStrArr.push('' + roleName + '-' + userName + '
'); // rptSignatureHelper.pushDatePickerDom(elementsStrArr); }, pushDatePickerDom: function (elementsStrArr, userAccId) { let idSuffixStr = 'dtp_' + rptSignatureHelper.currentSelectedESignAccName; elementsStrArr.push('' + selectedAcc.name + '-' + roleName + '
'); $('#existed_roles_ul').append(domArr.join(' ')); }, function(err){ // hintBox.unWaitBox(); }, function(ex){ // hintBox.unWaitBox(); } ); } else { alert('请输入合适的名称!'); } }, buildRoleDom: function (roleList) { const ulDom = $('#existed_roles_ul'); ulDom.empty(); for (let domIdx = 0; domIdx < roleList.length; domIdx++) { const role = roleList[domIdx]; const domArr = []; domArr.push('' + acc.name + '-' + ((acc.role === '')?DFT_ROLE_NAME:acc.role) + '
'); ulDom.append(domArr.join(' ')); } }, getUserAccount: function (accId) { let rst = null; for (const acc of PRJ_ACCOUNT_LIST) { if (acc.id === accId) { rst = acc; break; } } return rst; }, mergeSignature: function (pageData, currRoleRelList) { for (const page of pageData.items) { if (page.signature_cells) { for (const sCell of page.signature_cells) { for (const role_rel of currRoleRelList) { if (role_rel.signature_name === sCell.signature_name) { sCell.path = role_rel.sign_path; sCell.pre_path = role_rel.sign_path; } } } } } }, mergeSignAudit: function (pageData, currRoleRelList, currAuditList) { for (const page of pageData.items) { if (page.signature_audit_cells) { for (const sCell of page.signature_audit_cells) { sCell.Value = '同意'; //默认的 for (const role_rel of currRoleRelList) { if (sCell.signature_name === role_rel.signature_name + '_审核意见') { for (const audit_rel of currAuditList) { if (role_rel.acc_id === audit_rel.aid) { sCell.Value = audit_rel.opinion; break; } } break; } } } } } }, mergeSignDate: function (pageData, currRoleRelList) { if (currRoleRelList && currRoleRelList.length > 0 && STAGE_AUDIT && STAGE_AUDIT.length > 0) { 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) { hasAudit = true; if (stg_audit.status === 3) { role_rel.sign_date = stg_audit.end_time; rptSignatureHelper.originalRoleRelList[rridx].sign_date = stg_audit.end_time; } else { role_rel.sign_date = ''; rptSignatureHelper.originalRoleRelList[rridx].sign_date = ''; } // break; //因为实际业务中会有反复,所以就不break了,一直判断,以最后一个为准 } } let isOrgRpt = false; for (const stg of STAGE_LIST) { if (stg.id === current_stage_id) { if (stg.user_id === role_rel.acc_id) { 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) { role_rel.sign_date = STAGE_AUDIT_ORG[0].begin_time; rptSignatureHelper.originalRoleRelList[rridx].sign_date = 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) { role_rel.sign_date = period[1]; rptSignatureHelper.originalRoleRelList[rridx].sign_date = period[1]; } } } } //*/ } } } for (const page of pageData.items) { if (page.signature_date_cells) { for (const sCell of page.signature_date_cells) { sCell.Value = _getSignDateDftName(); for (const role_rel of currRoleRelList) { if (sCell.signature_name === role_rel.signature_name + '_签字日期') { if (role_rel.sign_date !== '') { if (typeof role_rel.sign_date === 'string') { role_rel.sign_date = new Date(role_rel.sign_date); } sCell.Value = role_rel.sign_date.Format(role_rel.sign_date_format); } break; } } } } } } } 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 ' 年 月 日'; }