/* *description : 单人评分 *author :caiwei_li *date :2017/08/01 */ var isAutoSubmitVal,hideUnselfWholeGrade,hideUnselfWholeScore,hideReviseResultVal,hideUnselfScore,hideHandlerWeight,hideReviseReasonVal,hideUnselfScoring,hideUnselfWholeGrading,hideUnselfWholeScoring ,hideUnselfWholeCommenting; //参数配置 var hideNodeWeight= "true"; var globalPersonBaseData = null; //员工 var evaObj = null; //当前评估对象id var periodId = null; //当前评估对象所在考核周期id var personId = null; //当前登录用户对应的员工id var personNumber = null; //当前评估对象对应的职员编码 var showfieldnum = 5; //员工信息区域默认显示6个字段 var isShowAuditedWholeForm = 0; //我已处理的评分 已评分列表-是否允许查看后续已审核节点评分详情 var entryType = null; //标志是从哪里进入评分页面:myselfEvalu-我的考核自评 var that = null; var globalIndicatorData = null; //指标数据 var CREATE_INDICATOR = 1; //1:创建指标明细 var SWITCH_INDICATOR = 0; //0:切换指标明细 var currentNum = 0; var curIndecatorType = null; //当前指标类型 var currentNodeLevel = 1; //当前节点层级 var gradeTaskNode = ''; //当前节点运行实例id var scoreStatus = ''; //节点评分状态 var _gscoreOrRate = 0; //评分还是打等级[0:评分;1:打等级] var _glowLimit = 0; //分数下限 var _gupLimit = 0; //分数上限 var _overRang ; //超过分数上限 var _ftarscore = 0; //超过分数上限 var _gcanNegative = 0; //可否打负分[0:不可;1:可以] var _gcanRate = 0; //是否可以评分[0:不可;1:可以] var _gcanOverRang = 0; //是否允许评分超出分制范围[0:不可;1:可以] var _needScore = 0; //是否允许评分 var _wholeComment = 0; //整体评语是否必录 var _perfGradeEvaluate = 0; //是否允许打等级 var isShowDistribution = '0'; // 是否显示正态分布 var _indicatorComment = 0; //是否必须打等级 var _noPassVerifyArr = new Array(); //评分校验信息数组 var _gcanSaveFlag = true; //评分是否通过校验的标识 var isFirstInit = 0; //第一条指标初始化标志 var handleName; //当前登陆人姓名 var nodeSumScore = 0; //当前节点总分 var nodeGrade = ""; //当前节点等级 var spreadothersFlag = false; //是否默认展开他人评分 var selectedIndicatorId = ''; //当前点击的指标的id var _clicked = false; var pageSource = "";//标注请求的来源、EVALUCARDVIEV:请求为考核卡界面请求 var personName = ''; var myType = "INIT"; var viewMode = ""; //用于做扩展业务处理,目前用户已发送列表查看评估表 var rows = 8; //左侧列表默认显示8条数据 var page = 1; //默认第一页 var isPageInit = 1; var initGradeTaskNode = ''; var currentIsShowWholeGrade = 0; //当前处理人是否能打整体评价 var isShowHandlerWeight = 1; //是否展示处理人的权重 var isTeamEvalu = 0; //是否团队目标评分[0:否;1:是] //yien 20191122 天虹私包 var isShowLevelScoreRange = 1; //是否显示等级的分数范围 var isManualJudgeGrade = 0; //是否手工调整体等级 var rateIsAutoCaluWholeGrade = 0; //打等级时是否自动计算整体评价等级【0:不自动计算;1:自动计算】 注:不再使用,使用isManualJudgeGrade一个参数控制 var _gExistRejection = 0; //是否存在否决项 var isEditGradesChange = 0; //是否手工选了整体评价等级 var isModifyScore = 0; //是否有修改过指标得分 var submitMsg = null; //提交打分时后台组装的提示信息 var submitNodeGrade = null; //提交时等级 var submitNodeSumScore = null; //提交时节点总分 var errorType = ['0', '1']; //[0:指标得分;1:指标评语] var evaResultId = ""; var hideConfirmResult = false; var hideAppealResult = false; var hideConfirmResultVal = ""; var hideAppealResultVal = ""; var isAudited = false; //是否已审核 var showAttachsOnly = false; // 是否仅显示上传附件但不允许上传 var _gneedScoreArr = new Array(); //评分参数数组 var isInitLeftListCompleted = 0; //左侧评估对象列表是否已加载 var personalScoreSearchIdList = ""; var sourcePeriod = null; //团队目标评分传入的周期id var _gneedScoreArr = new Array(); //评分参数数组 var _wholeCommentIsMustArr = new Array(); //整体评价是否必录-支持矩阵 var fromPage; var _gRadio = null; var gradeOption = [] // 等级下拉框option var canEditTable = true; // 默认表格可以编辑 var lastTable = ''; var lastrow = ''; var lastcell = ''; var scoreparams = null; //指标评分参数 // 组织考核标识 var isOrg = "0"; var uploadAttachSize=10; //附件上传大小 //yien:合并打分节点的任务实例 var combineGradeTaskIds = []; // 新增校验信息记录对象,用于提交时校验字段必填 var globalErrorMsg = []; var interviewData = {}; //补丁18 shr.defineClass("shr.perfweb.perfscoreNew", shr.framework.List, { targetBillIdMap: {}, //暂存目标流程单据 fixedboxWidth: '', initalizeDOM: function () { var defaultPage = this.initData.scoreDefaultPage; if(defaultPage == 'overview'){ this.initCurrentPageByConfig(); } // 初始化JS环境 it = this; that = this; shr.perfweb.perfscoreNew.superClass.initalizeDOM.call(this); evaObj = shr.getUrlRequestParam("evaObj"); periodId = shr.getUrlRequestParam("periodId"); sourcePeriod = periodId; personId = shr.getUrlRequestParam("personId"); personNumber = shr.getUrlRequestParam("personNumber"); entryType = shr.getUrlRequestParam("entryType"); pageSource = shr.getUrlRequestParam("pageSource"); personName = shr.getUrlRequestParam("personName"); viewMode = shr.getUrlRequestParam("viewMode"); initGradeTaskNode = gradeTaskNode = shr.getUrlRequestParam("gradeTaskNode"); personalScoreSearchIdList = shr.getUrlRequestParam("personalScoreSearchIdList"); fromPage = shr.getUrlRequestParam("fromPage"); // hideConfirmResultVal = $("#hideConfirmResult").text(); // hideAppealResultVal = $("#hideAppealResult").text(); var reqRows = shr.getUrlRequestParam("rows"); if(null != reqRows && reqRows != undefined){ rows = reqRows; } var reqPage = shr.getUrlRequestParam("page"); if(null != reqPage && reqPage != undefined){ page = reqPage; } this.initConfigData();//初始化参数配置 //代码还原-yien that.bindGridScoreInputBlurEvent(); //yien 20191122 天虹私包 that.initCustomParamList(); //获取页面自定义参数,是否展示处理人权重 if (hideNodeWeight == 'true') { isShowHandlerWeight = 0; } if(entryType == 'myview'){ // currentNodeLevel = shr.getUrlRequestParam("wfLevel"); // gradeTaskNode = shr.getUrlRequestParam("gradeTaskNode"); // it.initRightContent();//右侧内容 // it.initPersonalInformation(); //评估对象个人信息 it.initLeftList();//左侧列表 isInitLeftListCompleted = 1; $(".content_left").remove(); $('#saveScore, #submitScore').hide(); $('.content_right').css({ 'width': '100%', 'margin-right': '0' }); } else if (entryType == 'myselfEvalu') {//个人目标评分入口 currentNodeLevel = shr.getUrlRequestParam("wfLevel"); gradeTaskNode = shr.getUrlRequestParam("gradeTaskNode"); it.initRightContent();//右侧内容 // it.initPersonalInformation(); //评估对象个人信息 $('.content_right').css({ 'width': '100%', 'margin-right': '0' }); } else if (entryType == 'viewMyScoreForm') {//查看我参与评分的界面; if(isShowAuditedWholeForm == 'true'){ isShowAuditedWholeForm = 1; } canEditTable = false; // 考核结果表单允许查看附件,隐藏上传按钮 2019-09-03 liuzw showAttachsOnly = true; myType = "VIEW"; currentNodeLevel = '2';// shr.getUrlRequestParam("wfLevel"); gradeTaskNode = shr.getUrlRequestParam("gradeTaskNode"); it.initRightContent();//右侧内容 // it.initPersonalInformation(); //评估对象个人信息 $('.content_right').css({ 'width': '100%', 'margin-right': '0' }); $('#processView').hide(); $('#perfHistory').hide(); $('#backTo').hide(); $('#backtoRema').hide(); $('#saveScore').hide(); $('#saveScore, #submitScore, .view_manager_header').hide(); //BT1394720 (Q:之前为什么要隐藏?) // $('#attachments').hide(); $('#submitScore').hide(); // $('.workInfoWrap').append($('考核成绩:')); // $('#controlBtns').prepend($('考核成绩:')); //屏蔽指标上的分数 $('span[name="indeicatorScore"]').hide(); $('span[name="scoreLable"]').hide(); $('.informationBox li:gt(' + showfieldnum + ')').hide(); //获取考核成绩 // that.remoteCall({ // method: "getEvaReuslt", // param: { // evaObj : evaObj // }, // async: false, // success: function (data) { // if (data != null) { // if(data.sumscore != null && data.sumscore != undefined){ // $('#sumscore').text(data.sumscore); // } // if(data.gradeLevel != null && data.gradeLevel != undefined){ // $('#gradeLevel').text(data.gradeLevel); // } // } // } // }); //he_tao 查看评分界面,所有输入框不可编辑 // $("input").attr("disabled", "disabled"); //所有输入框不可编辑 // $("textarea").attr("disabled", "disabled"); //所有输入框不可编辑 } else if (entryType == 'viewEvaForm') {//查看评估表; canEditTable = false; // 考核结果表单允许查看附件,隐藏上传按钮 2019-09-03 liuzw showAttachsOnly = true; var perfPlan = shr.getUrlRequestParam("planId"); var planName = shr.getUrlRequestParam("planName"); isAudited = true; //设置自己的面包屑 if (pageSource != undefined && pageSource == "EVALUCARDVIEV" && isOrg == "0") {//考核卡的面包屑 setTimeout(function () { var nvgStr = '
  • homepage
  • '+ jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_23+ '/
  • ' + '
  • ' + personName + '/
  • ' +'
  • '+ jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_27+ '
  • '; $("#breadcrumb").children().remove(); $("#breadcrumb").append($(nvgStr)); $('#perf_person_evalcard').click(function () { that.reloadPage({ uipk: 'com.kingdee.shr.perfweb.app.evalu.evalucard.list', serviceId: 'KAuskY/8RUGXUtikP5TmRPI9KRA=', inFrame: "true" }) }); $('#perfEvalCardPerson').click(function () { that.reloadPage({ uipk: 'com.kingdee.shr.perfweb.app.evalu.evalucard', serviceId: 'KAuskY/8RUGXUtikP5TmRPI9KRA=', inFrame: "true", type: 'VIEW', personId: personId, pageSource: 'EVALUCARDVIEV' }) }); $("#breadcrumb").attr("style", "display: block;"); }, 500); // 组织绩效考核卡 }else if(pageSource != undefined && pageSource == "EVALUCARDVIEV" && isOrg == "1"){ setTimeout(function() { //var nvgStr = '
  • homepage
  • 绩效考核卡/
  • ' var nvgStr = '
  • homepage
  • '+jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_23+'/
  • ' +'
  • ' +adminOrgName+ '/
  • ' //+'
  • 考核结果
  • '; +'
  • '+jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_27+'
  • '; $("#breadcrumb").children().remove(); $("#breadcrumb").append($(nvgStr)); $('#perf_org_evalcard').click(function(){ that.reloadPage({ uipk: 'com.kingdee.shr.perfweb.app.evalu.ORGevalucard.list', serviceId:'KAuskY/8RUGXUtikP5TmRPI9KRA=', inFrame:"true" }) }); $('#perfEvalCardOrg').click(function(){ that.reloadPage({ uipk: 'com.kingdee.shr.perfweb.app.evalu.ORGevalucard', serviceId:'KAuskY/8RUGXUtikP5TmRPI9KRA=', inFrame:"true", type:'VIEW', adminOrgid:adminOrgId, pageSource:'EVALUCARDVIEV' }) }); $("#breadcrumb").attr("style","display: block;"); }, 500); } else if (pageSource != undefined && pageSource == "PERSONHISTORY") {//个人历史 setTimeout(function () { var nvgStr = // '
  • 我的考核结果/
  • '; //        +'
  • ' +personName+ '/
  • ' '
  • homepage
  • '+ jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_27+ '
  • '; $("#breadcrumb").children().remove(); $("#breadcrumb").append($(nvgStr)); $("#breadcrumb").attr("style", "display: block;"); // $('.switchbutton').css('top', 0); }, 500); // if (hideConfirmResultVal == 'true') { // hideConfirmResult = true; // } // if (hideAppealResultVal == 'true') { // hideAppealResult = true; // } } else if (pageSource != undefined && pageSource == "GROUPHISTORY") {//组织历史 setTimeout(function () { var perfPortalUrl = shr.getContextPath() + '/dynamic.do?uipk=com.kingdee.shr.perfweb.app.perfportal.core&inFrame=true&fromHeader=true&serviceId=fUjSqQK1RouZaEJUI2jH5vI9KRA%3D'; var nvgStr = '
  • homepage/
  • ' + '
  • '+ jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_9+ '/
  • '+ jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_27+ '
  • '; $("#breadcrumb").children().remove(); $("#breadcrumb").append($(nvgStr)); $('#personalEvaCard').click(function () { that.reloadPage({ uipk: "com.kingdee.shr.perfweb.app.evalu.evalucard", personId: personId, pageSource: "GROUPHISTORY", type: "VIEW" }); }); }, 500); } else{//默认的面包屑 var breadcrumb = $('#breadcrumb').shrBreadcrumb(); breadcrumb.shrBreadcrumb('pop'); breadcrumb.shrBreadcrumb('addItem', {name: shr.formatMsg(jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_1, [planName])}); isAudited = shr.getUrlRequestParam("isAudited"); } currentNodeLevel = ""; gradeTaskNode = ""; it.initRightContent();//右侧内容 // it.initPersonalInformation(); //评估对象个人信息 $('.content_right').css({ 'width': '100%', 'margin-right': '0' }); $('#processView').hide(); $('#perfHistory').hide(); $('#backTo').hide(); $('#backtoRema').hide(); $('#saveScore').hide(); $('#saveScore, #submitScore').hide(); //面谈 var interview = shr.getUrlRequestParam("interview"); // BT1440954-组织考核不显示“绩效面谈”按钮 modified by Janeou_xie if (interview == 1 && isOrg == '0') { $('#summaryInterview').show(); } //BT1394720 (Q:之前为什么要隐藏?) // $('#attachments').hide(); $('#submitScore').hide(); // var offsetleft = $('.informationBox').offset().left - $('.content_right').offset().left - 40; var boxwidth = $('.workPhoto').length > 0 ? 27.84 : 32; // $('.controlBtns').hide(); //$('.workInfo').append($('考核成绩:')); //$('.workInfo').append($(''+jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_25+'')); // $('.workInfo').append($(''+ $('.info-result-box').append($(''+ jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_25+ '')); // var hideReviseReasonVal = $("#hideReviseReason").text(); var hideReviseReason = false; if (pageSource != undefined && pageSource == "PERSONHISTORY" && hideReviseReasonVal == 'true') { hideReviseReason = true; } //增加修订原因 // BT1444170 查看评估表--列表模式,报错,上面考核成绩不显示,没有找到定义的地方,先默认为0 // var offsetleft = 0; if (!hideReviseReason) { $('.info-result-box').append($(''+ jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_50+ '')); } // var hideReviseResultVal = $("#hideReviseResult").text(); var hideReviseResult = false; if (pageSource != undefined && pageSource == "PERSONHISTORY" && hideReviseResultVal == 'true') { hideReviseResult = true; } // if($('.workPhoto').length < 1){ // $('#sumScoreShow').css('margin-left','1%'); // } //屏蔽指标上的分数 $('span[name="indeicatorScore"]').hide(); $('span[name="scoreLable"]').hide(); $('.informationBox li:gt(' + showfieldnum + ')').hide(); //获取考核成绩 that.remoteCall({ method: "getEvaReuslt", param: { evaObj: evaObj, isAudited: isAudited }, async: false, success: function (data) { if (data != null) { if (hideReviseResult) { if (data.realSumscore != null && data.realSumscore != undefined) { $('#sumscore').text(data.realSumscore); } if (data.realGradeLevel != null && data.realGradeLevel != undefined) { $('#gradeLevel').text(data.realGradeLevel); } } else { if (data.sumscore != null && data.sumscore != undefined) { $('#sumscore').text(data.sumscore); } if (data.gradeLevel != null && data.gradeLevel != undefined) { $('#gradeLevel').text(data.gradeLevel); } } if (data.reviseReason != null && data.reviseReason != undefined) { $('#reviseReason').text(data.reviseReason); $('#reviseReason').attr('title', data.reviseReason); } if (data.evaResultId) { evaResultId = data.evaResultId; // 屏蔽我的考核历史的结果确认和申诉按钮 if (data.needConfirm && !hideConfirmResult && pageSource != undefined && pageSource == "PERSONHISTORY" && fromPage == "RESULTCONFIRM") { $('#confirmResult').show(); }else{ $('#confirmResult').hide(); } if (data.allowAppeal && !hideAppealResult && pageSource != undefined && pageSource == "PERSONHISTORY" && fromPage == "RESULTCONFIRM") { $('#appeal').show(); }else{ $('#appeal').hide(); } } } } }); //补丁18 绩效面谈处理 that.dealInterviewForm(); } else {//团队目标评分入口 isTeamEvalu = 1; it.initLeftList();//左侧列表 isInitLeftListCompleted = 1; //切换列表后根据传入的节点实例id初始定位 if (isPageInit == 1) { $("li[workerid='" + evaObj + "'][gradetasknode='" + initGradeTaskNode + "']").click(); } else { $("li[workerid='" + evaObj + "'][gradetasknode='" + gradeTaskNode + "']").click();//指哪打哪 } $('.view_manager_body').css('background', '#EDEFF4'); that.getDistributionInfo(); } //第一节点隐藏"打回"按钮 if (currentNodeLevel == 1) { $("#backTo").css("display", "none"); } handleName = $('#ps-profile-set').find('span').text(); that.remoteCall({//附件数 method: "initialAttachment", param: {evaObj: evaObj, gradeTaskNode: gradeTaskNode}, async: true, success: function (data) { // 计算附件数量 var attachcount = data.length; $('.attachcount').html(attachcount); } }); //获取页面自定义参数,是否展示处理人权重 if(hideNodeWeight == 'true'){ isShowHandlerWeight = 0; } //判断节点是否可被提交,模拟点击"展开他人评分" var scoreObj = that.assembleScoreData(); var ids = new Array(); for (var i = 0; i < scoreObj.length; i++) { ids.push(scoreObj[i].gradeTaskNode); } that.remoteCall({ method: "judgeIsCanSubmit", param: { gradeTaskNode: ids.toString(), evaObj: evaObj, scoreObj: JSON.stringify(scoreObj) }, async: false, success: function (data) { if (data != null && data.canSubmit == false) { spreadothersFlag = true; //打开全部展开 // $(".scoreItems").find("li").click(); // $("#wholeComment").click(); // $("div[class='spreadothers']").click(); // $("div[class='spreadothers']").hide(); //已提交的状态下隐藏“保存”和“提交”按钮 $("#saveScore").hide(); $("#submitScore").hide(); } } }); if (fromPage == "APPEAL") { // 从申诉表单页面过来的隐藏确认按钮及申诉按钮 $("#appeal, #confirmResult").hide(); } hideWeight(); var ch = $(window).height() - $('.view_manager_header').outerHeight() - $('#controlBtns').outerHeight() - $('.headercontain').height() + 'px'; if(top != self){ ch = parseInt($('#rightContentIframe',parent.document).css('min-height')) - $('.workInfoWrap').outerHeight() + 'px'; } $('.centercontainer').css({ height: ch }); //考核结果显示控制 if(typeof initScoreDetailResultShow == 'function') { initScoreDetailResultShow(); } }, //补丁18 绩效面谈表单 dealInterviewForm: function() { that.remoteCall({ method: "getInterviewData", param: { evaResultId: evaResultId }, async: true, success: function (data) { if(data.showInterview == '1') { interviewData = data; $('#viewInterviewForm').show(); }else { interviewData = {}; //隐藏查看绩效面谈表单按钮 $('#viewInterviewForm').hide(); } } }); }, viewInterviewForm: function() { if(interviewData.showInterview == '1') { var iid = interviewData.billId; var planId = interviewData.planId; var evaObjName = personName; var uipk = 'com.kingdee.shr.perfweb.app.base.evalplan.Interview.form'; var safeUrl = shr.safeUrl(shr.getContextPath() + "/dynamic.do?uipk=" + uipk + "&inFrame=true&billId=" + encodeURIComponent(iid) + "&planId=" + encodeURIComponent(planId) + "&evaObj=" + encodeURIComponent(evaObj) + "&serviceId=" + encodeURIComponent(shr.getServiceId()) + '&editable&evaObjName='+evaObjName + '&shruicode=AF_PERF_PER&from=PRO' ); window.open(safeUrl); }else { return; } }, /** * yien * 初始化用户自定义参数设置 */ initCustomParamList: function () { //yien 20191122 天虹私包 // isShowLevelScoreRange = $("#isShowLevelScoreRange").html(); if (isShowLevelScoreRange == "false") { isShowLevelScoreRange = 0; } if( isManualJudgeGrade==1) { isEditGradesChange = 1; //如果是手工打等级方式,默认为手工修改过等级 }else if(_gscoreOrRate == '1' ||isEditGradesChange==1){ isEditGradesChange = 1; } }, // 表格内分数字段输入框,失去焦点时自动算分 bindGridScoreInputBlurEvent: function(){ $('.ui-jqgrid-btable input[type="text"][ctrlrole="text"]').live('blur',function(){ if(lastTable){ $(lastTable).jqGrid('editStop'); } }) }, // // // 表格区域滚动时隐藏下拉选择框的选项,否则会脱离选择框,因为.centercontainer设置了高度 bindWindowScrollEvent: function(){ $('.centercontainer').on('scroll',function(){ $('.dropdown-menu').hide(); }) }, /** * 流程图 */ workFlowDiagram: function () { $('#workFlowDiagram').unbind('click').bind('click', function () { that.workFlowDiagramAction(); }) }, /** * 审批意见 */ auditResult : function() { $('#auditResult').unbind('click').bind('click', function () { that.auditResultAction(); }) }, /** * 查看流程图 */ workFlowDiagramAction: function() { var billId = that.getTargetTransmitBill(); if(billId == '-1') { //没有选择记录 return; } if(billId) { that.getWorkFlowHelper().viewWorkFlowDiagram(billId); }else { //BT1393159 提示信息,目标填报已经提交,但是工作流发起报错,这里还不知道怎么处理好 shr.showError({message: jsBizMultLan.perfweb_perfscoreNew_1593331244239_i18n_0}); } }, /** * 查看审批结果 */ auditResultAction: function() { var billId = that.getTargetTransmitBill(); if(billId == '-1') { //没有选择记录 return; } if(billId) { that.getWorkFlowHelper().viewAuditResult(billId); }else { //BT1393159 提示信息,目标填报已经提交,但是工作流发起报错,这里还不知道怎么处理好 shr.showError({message: jsBizMultLan.perfweb_perfscoreNew_1593331244239_i18n_0}); } }, /** * 根据评估对象获取审批单据id */ getTargetTransmitBill: function() { if(!evaObj) { shr.showWarning({message: jsBizMultLan.perfweb_perfscoreNew_1593331244239_i18n_1}); return "-1"; } if(typeof that.targetBillIdMap[evaObj] == "undefined") { that.remoteCall({ // handler: "com.kingdee.shr.perfweb.planexecute.handler.SuperiorUnTransmitListHandler", method: 'getTargetTransmitBill', async: false, param: { "evaObj" : evaObj }, success: function (data) { if(data.result == '200') { that.targetBillIdMap[evaObj] = data.billId; } } }); } return that.targetBillIdMap[evaObj]; }, /** * 任务列表 */ perfTaskList: function () { $('#perfTaskList').unbind('click').bind('click', function () { //alert("evaObj:"+evaObj); var uipk = 'com.kingdee.shr.perfweb.app.base.perftask.evaObjPerfTask.list'; var safeUrl = shr.safeUrl(shr.getContextPath() + "/dynamic.do?uipk=" + uipk + "&inFrame=true&evaObj=" + evaObj); window.open(safeUrl); }) }, /* * 加载当前流程参数 * */ loadNodeParam: function () { that.remoteCall({ method: "getNodeParam", param: { evaObj: evaObj, gradeTaskNode: gradeTaskNode }, async: false, success: function (data) { if (data != null) { _needScore = data.needScore; //是否允许评分 _wholeComment = data.wholeComment; //整体评语是否必录 _perfGradeEvaluate = data.perfGradeEvaluate; //是否允许打等级 _indicatorComment = data.indicatorComment; //是否必须打等级 } } }); }, /** * 左侧列表 * @returns */ initLeftList: function () { //获取左侧列表数据 $('#content').html(''); $('#content').append(leftListHtml()); //var periodTmp = periodId; var periodTmp = shr.getUrlRequestParam("periodId"); var element = $("#selectionList"); var dom = '' + '
    ' + '
      ' + '
    ' + '
    ' + ''; element.addClass('utilsSl-list').append(dom); //clickObj.click(); //调用左侧人员列表utilsSelectionList.js插件 $('#selectionList').utilsSelectionList({ method: "getTeamTargetCommentListByPeriod", listType: 'score', //goals:我的目标; score: 个人评分; isAsync: 1, param: { //获取数据需要的参数 periodId: periodTmp, //考核周期id page: 1, //当前页数 rows: 50, //rows 每页显示记录数 evaObj: evaObj, //当前评估对象 personId: personId, isTeamEvalu: isTeamEvalu, //是否团队目标评分 personalScoreSearchIdList: personalScoreSearchIdList, isOrg: isOrg }, clickMenuEvent: function (e) { //点击一条记录触发事件 if (isInitLeftListCompleted == 1|| isInitLeftCompleted == 1) { $.block.show(); isFirstClickWholeComment = 1; isFirstInit = 0; //20191202 yien 记录当前的周期 periodId = $(e).attr("period"); _noPassVerifyArr = new Array(); //切换评估对象时清空校验不通过的数据 evaObj = $(e).attr("workerid"); //當前評估對象所選id currentNodeLevel = $(e).attr("currentwflevel"); //选中评估对象当前所在流程级数 gradeTaskNode = $(e).attr("gradetasknode"); //评估对象节点实例id it.initRightContent();//右侧内容 // it.initPersonalInformation(true); //初始化个人信息 it.getDistributionInfo(); //第一节点隐藏"打回"按钮 if (currentNodeLevel == 1) { $("#backTo").css("display", "none"); } // it.setScoreBtnLocation(); // that.perfScoreOthersScoreBox(); hideWeight(); that.loadNodeParam(); } } }); }, clickMenuEvent: function (e) { isFirstClickWholeComment = 1; isFirstInit = 0; //20191202 yien 记录当前的周期 periodId = $(e).attr("period"); evaObj = $(e).attr("workerid"); //當前評估對象所選id currentNodeLevel = $(e).attr("currentwflevel"); //选中评估对象当前所在流程级数 gradeTaskNode = $(e).attr("gradetasknode"); //评估对象节点实例id it.initRightContent();//右侧内容 // it.initPersonalInformation(true); //初始化个人信息 //第一节点隐藏"打回"按钮 if (currentNodeLevel == 1) { $("#backTo").css("display", "none"); } }, /** * 模拟左侧列表人员名单数据 * @returns */ loadingListData: function () { var worksData = null; that.remoteCall({ method: "getTeamTargetCommentListByPeriod", param: { period: periodId, personId: personId }, async: false, success: function (data) { if (data != null) { worksData = data; } } }); return worksData; }, /** * 展开员工基本信息 * @returns */ spreadcontrol: function (e) { var informationBoxMeg = { length: showfieldnum, //默认显示几个字段 spreadText: jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_51, packupText: jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_47 }; if($(e).hasClass('spread')){ $('.informationBox').hide(); $(e).html(informationBoxMeg.spreadText); $(e).removeClass('spread'); }else{ $('.informationBox').show(); $(e).html(informationBoxMeg.packupText); $(e).addClass('spread'); } it.setParentIframeHeight(); }, // 设置绩效工作台iframe高度 setParentIframeHeight: function(){ if(parent && parent.setIframeHeight){ var iframeid = 'rightContentIframe'; parent.setIframeHeight(iframeid); } }, /** * 查看备注 * @returns */ viewRema: function (e) { var backReasonHTML = '
    ' + '' + '
    '; $(document.body).append(backReasonHTML); $("#backReasonDiv").show(); that.remoteCall({ method: "getRema", param: { gradeTaskNode: gradeTaskNode }, async: false, success: function (data) { if (data != null) { $('#backReason').val(data.rema); } } }); // 将弹出对话框弹出 $('#backReasonDiv').dialog({ title: jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_7, autoOpen: true, show: "blind", width: 600, height: 380, resizable: true, position: ['center', 'center'], modal: true, buttons: [{ text:jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_42, click: function () { $(this).dialog("destroy").remove(); } }] }); }, /** * 加载员工基本信息 * @param index * @returns */ initPersonalInformation: function (async) { if(null == async || '' == async){ async = false; } //加载员工基本信息 that.remoteCall({ method: "getPersonBaseOfGoals", param: { evaObj: evaObj, periodId: periodId, personId: personId, personNumber: personNumber }, async: async, success: function (data) { if (data != null) { globalPersonBaseData = data; $('.workInfo').html('').append(personalInformation(data)); if($('.informationBox li').length == 0){ $('#spread').hide(); } if(isTeamEvalu == 1){ $('.workPhoto').remove(); // $('.workInfo').css("margin-left","-50px"); }else{ if($('.workPhoto').length < 1){ $('.informationBox,.namebox').css({'width': '100%','margin-left': '0'}); } } $('.attachcountbtn').unbind('click').bind('click',function(){ $('#attachments').click(); }) it.uploadFileDialog();//上传附件 } getAttachcount(); } }); }, /** * 右侧区域指标评分内容 * @returns */ initRightContent: function () { $('.content_right').remove(); $('#content').append(rightContentHtml()); //绩效目标评分的一些操作按钮 var ch = $(window).height() - $('.view_manager_header').outerHeight() - $('#controlBtns').outerHeight() - $('.headercontain').height() + 'px'; if(top != self){ ch = parseInt($('#workAreaDiv',parent.document).css('min-height')) - $('#controlBtns').outerHeight() + 'px'; } $('.centercontainer').css({ height: ch }) if(self != top || entryType == 'myselfEvalu' || entryType == 'viewEvaForm'){ $('.content_right').css({ 'width': '100%', 'margin-right': '0' }); } $('.attachcountbtn').unbind('click').bind('click', function () { $('#attachments').click(); }) it.initPersonalInformation(false); it.bindWindowScrollEvent(); // 绑定滚动事件 it.initEvaPlanAndPerfRule(); //考核计划及考核规则信息 // it.initScoreItems();//加载左边菜单【左侧区域及指标】 it.uploadFileDialog();//上传附件 it.processView();//流程查看 it.perfHistory();//绩效历史查询 it.backTo();//打回 it.uploadFile();//上传附件 it.delFile();//删除附件 // it.switchListPage(); //切换页面 // $('#spread').click(); it.levelSwitchChange(); // it.templatePrint();//套打 it.perfTaskList();//任务列表 $('#summaryInterview').hide(); $('#summaryInterview').unbind('click').bind('click', function () { //alert(evaObj); /*var iid = ''; var url = shr.getContextPath() + "/dynamic.do?handler=com.kingdee.shr.perfweb.report.handler.EvaResultSummaryInterviewListHandler&method=createInterviewByEvaObj"; shr.ajax({ type: "post", async: false, url: url, data: {"evaObj": evaObj}, success: function (data) { if (data.iid) { iid = data.iid; } } }); if (iid) { var uipk = 'com.kingdee.shr.perfweb.app.base.evalplan.Interview.form'; var safeUrl = shr.safeUrl(shr.getContextPath() + "/dynamic.do?uipk=" + uipk + "&inFrame=true&billId=" + iid ); window.open(safeUrl); }*/ // bug-BT-00624090-从员工自助绩效面谈进入查看评估表单,按钮还在,但是使用不了 that.remoteCall({ method: "createInterviewByEvaObj", param: { evaObj : evaObj }, async: false, success: function (data) { if (data.result === 'error') { shr.showError({message : data.summary}) } else { var uipk = "com.kingdee.shr.perfweb.app.base.evalplan.Interview.form"; window.open(shr.safeUrl(shr.getContextPath() + '/dynamic.do?uipk=' + uipk + '&inFrame=true&method=view&billId=' + data.iid + "&shruicode=" + shr.getUrlRequestParam("shruicode"))); } } }); }) //根据查看来源隐藏或显示按钮 if(viewMode == 'justViewReport') { it.workFlowDiagram(); //流程图 it.auditResult(); //审批意见 //隐藏附件按钮 $("#attachments").hide(); }else { //隐藏流程图 审批意见按钮 $('#auditResult').hide(); $('#workFlowDiagram').hide(); } that.personHistoryParamControl(); }, // 等级切换时,更改选择框的title值 levelSwitchChange: function () { $('select[name="_editGrades"],select[name="wholeGrade"]').die('change').live('change', function () { $(this).attr('title', $(this).find("option:selected").text()); if($(this).find("option:selected").parent().attr("name") == 'wholeGrade'){ isEditGradesChange = 1; } $('.workerList li.current').find("i[name='nodeGrade']").text($(this).val()); }) $('input[id$="gradeORrejection"],input[id$="nodeGrade"]').die('change').live('change', function () { calcTotoalScore(gradeTaskNode); }) }, /** * 页面切换 */ initCurrentPageByConfig: function () { var it = this; var param = { evaObj: shr.getUrlRequestParam("evaObj"), periodId: shr.getUrlRequestParam("periodId"), personId: shr.getUrlRequestParam("personId"), personNumber: shr.getUrlRequestParam("personNumber"), entryType: shr.getUrlRequestParam("entryType") , gradeTaskNode : shr.getUrlRequestParam("gradeTaskNode"), wfLevel : shr.getUrlRequestParam("wfLevel"), personName: shr.getUrlRequestParam("personName"), planId: shr.getUrlRequestParam("planId"), planName: shr.getUrlRequestParam("planName"), pageSource: shr.getUrlRequestParam("pageSource"), viewMode: shr.getUrlRequestParam("viewMode"), isAudited: shr.getUrlRequestParam("isAudited"), personalScoreSearchIdList : shr.getUrlRequestParam("personalScoreSearchIdList"), interview:shr.getUrlRequestParam("interview"), fromPage:shr.getUrlRequestParam("fromPage"), shruicode: shr.getUrlRequestParam("shruicode"), } var isFromWFBill = shr.getUrlRequestParam("isFromWFBill"); if (isFromWFBill && isFromWFBill == "true") { // 工作流单据过来的进行后端转发 param.method = "viewPerfscore"; param.isFromWFBill = shr.getUrlRequestParam("isFromWFBill"); param.wfBillParentUipk = shr.getUrlRequestParam("wfBillParentUipk"); param.shrBillInWfId = shr.getUrlRequestParam("shrBillInWfId"); param.billId = shr.getUrlRequestParam("billId"); param.assigmentId = shr.getUrlRequestParam("assigmentId"); param.ProcInstId = shr.getUrlRequestParam("ProcInstId"); param.pageType = '1'; // 1:为概览模式 2:为列表模式 param.uipk = "com.kingdee.shr.perfweb.app.base.evalplan.EvaResultAppealBill.form"; this.reloadPage(param); } else { param.uipk = 'com.kingdee.shr.perfweb.app.perfscore.core'; this.reloadPage(param); } }, //加载考核计划、考核模式、考核规则信息 initEvaPlanAndPerfRule: function () { that.remoteCall({ method: "compositeEvaObjectData", param: { evaObj: evaObj, gradeTaskNode: gradeTaskNode, entryType: entryType, pageSource:pageSource }, async: true, success: function (data) { if (data.result != null) { shr.showError({message: data.result}); } else { globalIndicatorData = data; _needScore = data.needScore; _gscoreOrRate = data.scoreOrRate; var perfGoalsHTML = juicer(perfGoalsTpl, data); var ruleHTML = juicer(ruleTpl, data); $(perfGoalsHTML).appendTo($('.centercontainer')); $('.info-wrap').append(ruleHTML); var evaluationdetails = juicer(evaluationdetailsTpl(), data); $(evaluationdetails).appendTo($('.instructions')); it.instructionsBox(); //弹出说明 // 其他指标区域 var indicatorDatalist = new Array(); for(var i=0; i', '',jsBizMultLan.perfweb_evaluationdetailsJuicer_1586069239184_i18n_5,'', '
    ${area.rema}
    ', '
    ', jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_51, '
    ', ''].join(""); var remaHTML = juicer(remaTpl, {area: item}); $('.info-more-wrap').after(remaHTML) } }) }, /** * 弹出说明 */ instructionsBox: function () { $(".instructions").die('mouseover').live('mouseover', function () { var box = $('.instructionsboxwrap'); box.stop().fadeIn(); }); $(".instructions").die('mouseout').live('mouseout', function () { var box = $('.instructionsboxwrap'); box.stop().fadeOut(); }); }, /** * 上传附件弹出框 */ uploadFileDialog: function () { $('#attachments').unbind('click').bind('click', function () { var html = juicer(uploadAttachmentsTpl, {uploadAttachSize:uploadAttachSize}); $(document.body).append(html); $('#uploadFileBox').html(''); if (showAttachsOnly) { $('.uploadfilebtn').hide(); //不给上传,应该同时也不给删除啊 $(".delfile").hide(); } that.remoteCall({ method: "initialAttachment", param: {evaObj: evaObj, gradeTaskNode: gradeTaskNode}, async: true, /*$.ajax({ url: shr.getContextPath() + "/attachmentUpload.do?method=initialAttachment", data: {formId: evaObj},*/ success: function (data) { if (data) { for (var i = 0; i < data.length; i++) { var tempData = data[i]; var url = that._assembleDownloadUrl(tempData.id, tempData.attachKey); var basetr = '' + '' + tempData.name + '.' + tempData.simpleName + '' + '' + tempData.creator + ''+'' + tempData.createTime + ''; var del = ''; if (tempData.isSelf && tempData.isSelf == "true") { //del = '删除'; del = ''+jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_45+''; } if (tempData.simpleName.toUpperCase() == "TXT" || tempData.simpleName.toUpperCase() == "PDF" || tempData.simpleName.toUpperCase() == "GIF" || tempData.simpleName.toUpperCase() == "JPG" || tempData.simpleName.toUpperCase() == "PNG" || tempData.simpleName.toUpperCase() == "BMP") { //basetr += '' + del + '下载' + basetr += '' + del + ''+jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_49+'' + ''; } else { //basetr += '' + del + '下载' +basetr += '' + del + ''+jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_49+'' + basetr += '' + del + ''+jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_49+'' + ''; } $('#uploadFileBox').append(basetr); //shr.setIframeHeight(); } } //it.uploadFile();//上传附件 $("#attachmentsDialog").dialog({ autoOpen: true, show: "blind", width: 850, height: 500, title: jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_20, resizable: false, position: ['center', 100], modal: true, buttons: [{ text:jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_41, click: function () { $(this).dialog('close'); /** * 这时要刷新附件数 */ getAttachcount(); }},{ text:jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_40, click: function () { $(this).dialog('close'); } }], close: function () { $('#attachmentsDialog').remove(); } }); if (showAttachsOnly) { //不给上传,应该同时也不给删除啊 $(".delfile").hide(); } } }); }) }, /** * 获取上传文件的下载地址 * @param id * @returns {string} * @private */ _assembleDownloadUrl: function (id, attachKey) { // var params = { // method: 'download', // id: id, // serviceId : decodeURIComponent("fUjSqQK1RouZaEJUI2jH5vI9KRA%3D"), // key: attachKey // } // return shr.getContextPath() + '/attachmentUpload.do?' + $.param(params); var self = this; var permItemId = ""; if(!self.isFromWF()){ permItemId = shr.getCurrentPagePermItemId(); } var params = { method: 'download', id: id, permItemId: permItemId, billId:shr.getUrlRequestParam('billId'), shruicode:shr.getShruicode(), uipk:shr.getUrlRequestParam('uipk') // assigmentId:self.getAssignmentId(), // ProcInstId:self.getProcInstId() } return shr.getContextPath() + '/attachmentUpload.do?' + $.param(params); }, /** * 上传文件 */ uploadFile: function (obj) { /*$(document).on('change', '#uploadAttach', function (e) {*/ $('#uploadAttach').die('change').live('change', function (e) { // 检测上传文件的类型 var acceptFileArr = ['doc', 'docx', 'xlsx', 'xls', 'jpg', 'jpeg', 'png', 'jpeg', 'pdf','zip','rar']; var fileList = e.target.files; var fileLength = e.target.files.length; if (!fileLength || fileLength == 0) { //shr.showWarning({message: "请选择要上传的文件 !"}); shr.showWarning({message: jsBizMultLan.perfweb_perfscoreNew_zw20201229_i18n_01}); return false; } if (fileLength > 10) { shr.showWarning({message: $.perfwebI18n.evaobjBatchAttachment.toomanyfiles}); return false; } var totalSize = 0; for (var i = 0; i < fileLength; i++) { var fileItem = fileList[i]; var filePath = fileItem.name; var ext, idx; if (filePath == '') { //shr.showWarning({message: "请选择要上传的文件 !"}); shr.showWarning({message: jsBizMultLan.perfweb_perfscoreNew_zw20201229_i18n_01}); return false; } else { idx = filePath.lastIndexOf("."); if (idx != -1) { ext = filePath.substr(idx + 1).toUpperCase(); ext = ext.toLowerCase(); if (!array_contain(acceptFileArr, ext)) { //shr.showWarning({message: "只能上传 .doc,.docx,.xlsx,.xls,.jpg,.jpeg,.png,.jpeg,.pdf 类型的文件!"}); shr.showWarning({message: jsBizMultLan.perfweb_perfscoreNew_1642579721_i18n_01}); return false; } } else { shr.showWarning({message: ""}); return false; } // 在这里限制文件大小,ie9要想获取文件大小,就要使用flash插件 var size = fileItem.size; if (size / (1024 * 1024 * uploadAttachSize) > 1) { shr.showWarning({ //message: "上传文件不能大于5M", message: shr.formatMsg(jsBizMultLan.perf_perfscoreNew_bw0406_01,[uploadAttachSize]), hideAfter: 3 }); return false; } totalSize = totalSize + size; } } if (totalSize / (1024 * 1024 * uploadAttachSize) > 1) { shr.showWarning({ //message: "上传文件不能大于5M", message: shr.formatMsg(jsBizMultLan.perf_perfscoreNew_bw0406_01, [uploadAttachSize]), hideAfter: 3 }); return false; } that.uploadFileMulity(e); }) }, uploadFileMulity: function (e) { var fileObj = $(e.target); var id = fileObj.attr("id"); $('#uploadFileBox').append('').show(); $.ajaxFileUpload({ // url: shr.getContextPath() + // "/attachmentUpload.do?method=uploadAttachment", // //用于文件上传的服务器端请求地址 url: that.dynamicPage_url + "?method=uploadAttachment&uipk=" + that.uipk + "&shruicode=" + shr.getUrlRequestParam("shruicode"), data: {boID: evaObj, gradeTaskNode: gradeTaskNode, type: '3'}, // type=3附件类型为评分 secureuri: false, // 是否需要安全协议,一般设置为false fileElementId: id, // 文件上传域的ID dataType: 'json', // 返回值类型 一般设置为json success: function (results) {// 服务器成功响应处理函数 if (results && results.result == 'success') { $('#loadingGif').remove(); if (results && results.data && results.data.length > 0) { for (var i = 0; i < results.data.length; i++) { var data = results.data[i]; var url = that._assembleDownloadUrl(data.id, data.attachKey); // uploadFileEvent(); var showDel = ""; if (data.isSelf && data.isSelf == "true") { //showDel = '删除'; showDel = ''+jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_45+''; } var tr = $('' + '' + data.filename + '' + '' + data.creator + '' + '' + data.createTime + '' + //'' + showDel + '下载' + '' + showDel + ''+jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_49+'' + ''); $('#uploadFileBox').append(tr); } } } else if (results && results.result == 'failed') { var failedMag = results.failedMag; var errMsg = $.perfwebI18n.evaobjBatchAttachment['PERFWEB_F_0021']; if(failedMag && $.perfwebI18n.evaobjBatchAttachment[failedMag]) { errMsg = $.perfwebI18n.evaobjBatchAttachment[failedMag]; }else if(failedMag) { errMsg = failedMag; } shr.showError({ message: errMsg }); $('#loadingGif').remove(); } } }); }, /** * 删除上传文件 */ delFile: function () { $(document).on('click', '.delfile', function () { var $del = $(this); var $tr = $del.parent('td').parent('tr'); var attachId = $tr.attr('id'); var attachKey = $tr.attr('attachKey'); shr.showConfirm(jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_43, function () { that.remoteCall({ method: "canAttachmentDelete", async: false, param: {attachmentId : attachId}, success: function (result) { if (result && result.canDelete) { var formId = evaObj; var permItemId = ""; var self = that; if(!self.isFromWF()){ permItemId = shr.getCurrentPagePermItemId(); } $.ajax({ url: shr.getContextPath() + "/attachmentUpload.do?method=deleteAttachment", data: {boID: formId, attachId: attachId, key: attachKey, permItemId: permItemId, billId:shr.getUrlRequestParam('billId'), shruicode:shr.getShruicode(), uipk:shr.getUrlRequestParam('uipk')}, success: function (msg) { var tr = $del.parents('tr'); tr.remove(); getAttachcount(); } }); } else { shr.showWarning({ message: jsBizMultLan.perf_perfscoreNewJuicer_1592900104294_i18n_5, hideAfter: 3 }); } } }); }); }); }, /** * 流程查看 */ processView: function () { $('#processView').unbind('click').bind('click', function () { var html = $('
    '); $(document.body).append(html); that.remoteCall({ method: "getProcessViewData", async: false, param: {gradeTaskNode: gradeTaskNode}, success: function (result) { console.log(result); var chart = ""; if (result) { var datas = {}; datas.data = (result.data)[0]; datas.photo = result.photo; chart = juicer(generateProcessView(datas), ''); } $('#processViewDialog').append(chart); $("#processViewDialog").dialog({ autoOpen: true, show: "blind", width: 800, height: 450, title: jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_30, resizable: false, position: ['center', 'center'], modal: true, close: function () { $('#processViewDialog').remove(); } }); } }); }) }, /** * 绩效考核历史弹出框 */ perfHistory: function () { $('#perfHistory').unbind('click').bind('click', function () { var html = juicer(perfHistoryTpl, ''); $(document.body).append(html); $("#perfHistoryDialog").dialog({ autoOpen: true, show: "blind", width: 740, height: 500, title: jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_24, resizable: false, position: ['center', 'center'], modal: true, close: function () { $('#perfHistoryDialog').remove(); } }); it.perfHistoryTable(); }) }, /** * 初始化jqGrid表格 * @param obj * @param options */ initjqGridTable: function (obj, options) { obj.jqGrid({ mtype: "POST",//提交方式 datatype: "json", height: options.height,//高度,表格高度。可为数值、百分比或'auto' width: options.width,//这个宽度不能为百分比 autowidth: true, colNames: options.name,//'' colModel: options.model, rownumbers: false,//添加左侧行号 sortname: 'number', sortorder: 'asc', sortable: true, rowNum: 10,//每页显示记录数 multiselect: options.multiselect,//复选框 forceFit: true,//如果设置为true,改变列宽,相邻列也将调整以适应整体表格,将不会出现水平滚动条。 multiselectWidth: options.multiselectWidth,//复选框列宽度 shrinkToFit: options.shrinkToFit,//该项描述计算每列相对于表格宽度的初始宽度的类型。若为true,并且设置了列宽度,则每列的宽度根据定义宽度缩放。若为false,并且设置了列宽度,表格宽度为设置宽度,列宽度不会重新计算,使用colModel中定义的值 autoScroll: false, hoverrows: true, hidegrid: false, url: that.dynamicPage_url + "?method=getPerfHistoryList&uipk=" + that.uipk, postData: options.postData, loadComplete: options.loadComplete }).jqGrid('setFrozenColumns');//.jqGrid('setFrozenColumns')冻结列,不生效 }, /** * 加载弹出框表格——绩效历史查询 */ perfHistoryTable: function () { var options = { name: [ jsBizMultLan.perf_perfscoreNewJuicer_1592900104294_i18n_6, jsBizMultLan.perf_perfscoreNewJuicer_1592900104294_i18n_7, jsBizMultLan.perf_perfscoreNewJuicer_1592900104294_i18n_8, jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_28, jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_57, jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_13 ], model: [ {name: 'index', index: 'index', width: 30, align: "left", dataType: "int", sortable: true}, {name: 'periodName', index: 'periodName', width: 74, align: "left", dataType: "int", sortable: true}, { name: 'periodType.alias', index: 'periodType.alias', width: 74, align: "left", dataType: "int", sortable: true }, { name: 'perfModel.name', index: 'perfModel.name', width: 74, align: "center", dataType: "int", sortable: true }, { name: 'lastSumScore', index: 'lastSumScore', width: 74, align: "center", dataType: "int", sortable: true }, { name: 'lastGradeLevel', index: 'lastGradeLevel', width: 74, align: "center", dataType: "int", sortable: true }, ], multiselect: false, multiselectWidth: '',//复选框单元格宽度 shrinkToFit: true,//true没有滚动条,false有滚动条 width: 640,//这个宽度不能为百分比 height: 298,//高度,表格高度。可为数值、百分比或'auto' postData: { rows: 15, page: 1, sord: "DESC", type: '5', evaObj: evaObj }, loadComplete: function (data) { //完成服务器请求后,回调函数 if (data.rows == undefined || data.records == 0) { //如果没有记录返回,追加提示信息,删除按钮不可用 $('#perfHistorytab').find('.norecord td').eq(0).html('').append( '
    ' + '
    ' + '
    '+ jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_22+ '
    ' + '
    ' );//无数据时的提示样式 } } }; it.initjqGridTable($('#perfHistorytab'), options); //it.loadingHistoryData($('#perfHistorytab')); }, /** * 加载jqGrid表格数据 * @param obj */ loadingHistoryData: function (obj) { // var data = [//测试数据 // { // 'perfPlan': '总部骨干员工升迁考核(2014.01.01-01.31)', // 'perfModel': 'KPI', // 'scoreSystem': '五分制', // 'totalScore': '4.8', // 'level': 'A' // }, // { // 'perfPlan': '销售线考核计划(2015.01.01-12.31)', // 'perfModel': 'PBC', // 'scoreSystem': '十分制', // 'totalScore': '8.9', // 'level': 'B' // }, // { // 'perfPlan': '总部骨干员工升迁考核(2014.01.01-01.31)', // 'perfModel': 'KPI', // 'scoreSystem': '五分制', // 'totalScore': '4.8', // 'level': 'A' // }, // { // 'perfPlan': '销售线考核计划(2015.01.01-12.31)', // 'perfModel': 'PBC', // 'scoreSystem': '十分制', // 'totalScore': '8.9', // 'level': 'B' // }, // { // 'perfPlan': '总部骨干员工升迁考核(2014.01.01-01.31)', // 'perfModel': 'KPI', // 'scoreSystem': '五分制', // 'totalScore': '4.8', // 'level': 'A' // }, // { // 'perfPlan': '销售线考核计划(2015.01.01-12.31)', // 'perfModel': 'PBC', // 'scoreSystem': '十分制', // 'totalScore': '8.9', // 'level': 'B' // }, // { // 'perfPlan': '总部骨干员工升迁考核(2014.01.01-01.31)', // 'perfModel': 'KPI', // 'scoreSystem': '五分制', // 'totalScore': '4.8', // 'level': 'A' // }, // { // 'perfPlan': '销售线考核计划(2015.01.01-12.31)', // 'perfModel': 'PBC', // 'scoreSystem': '十分制', // 'totalScore': '8.9', // 'level': 'B' // }, // { // 'perfPlan': '总部骨干员工升迁考核(2014.01.01-01.31)', // 'perfModel': 'KPI', // 'scoreSystem': '五分制', // 'totalScore': '4.8', // 'level': 'A' // }, // { // 'perfPlan': '销售线考核计划(2015.01.01-12.31)', // 'perfModel': 'PBC', // 'scoreSystem': '十分制', // 'totalScore': '8.9', // 'level': 'B' // }, // { // 'perfPlan': '总部骨干员工升迁考核(2014.01.01-01.31)', // 'perfModel': 'KPI', // 'scoreSystem': '五分制', // 'totalScore': '4.8', // 'level': 'A' // }, // { // 'perfPlan': '销售线考核计划(2015.01.01-12.31)', // 'perfModel': 'PBC', // 'scoreSystem': '十分制', // 'totalScore': '8.9', // 'level': 'B' // }, // { // 'perfPlan': '总部骨干员工升迁考核(2014.01.01-01.31)', // 'perfModel': 'KPI', // 'scoreSystem': '五分制', // 'totalScore': '4.8', // 'level': 'A' // }, // { // 'perfPlan': '销售线考核计划(2015.01.01-12.31)', // 'perfModel': 'PBC', // 'scoreSystem': '十分制', // 'totalScore': '8.9', // 'level': 'B' // }, // { // 'perfPlan': '总部骨干员工升迁考核(2014.01.01-01.31)', // 'perfModel': 'KPI', // 'scoreSystem': '五分制', // 'totalScore': '4.8', // 'level': 'A' // }, // { // 'perfPlan': '销售线考核计划(2015.01.01-12.31)', // 'perfModel': 'PBC', // 'scoreSystem': '十分制', // 'totalScore': '8.9', // 'level': 'B' // }, // { // 'perfPlan': '总部骨干员工升迁考核(2014.01.01-01.31)', // 'perfModel': 'KPI', // 'scoreSystem': '五分制', // 'totalScore': '4.8', // 'level': 'A' // }, // { // 'perfPlan': '销售线考核计划(2015.01.01-12.31)', // 'perfModel': 'PBC', // 'scoreSystem': '十分制', // 'totalScore': '8.9', // 'level': 'B' // }, // ]; // for (var i = 0; i < data.length; i++) { // obj.jqGrid("addRowData", i, data[i]); // } }, /** * 打回弹出框 */ backTo: function () { $('#backTo').unbind('click').bind('click', function () { //先校验是否允许打回 var flag = it.checkIsOpenF7(); if(flag){ var subWidgetOptions = { title: jsBizMultLan.perfweb_perfscore_1586254513646_i18n_53, uipk: "com.kingdee.shr.perfweb.app.base.evalrule.EvaluFormAreaBase.F7", //query:"com.kingdee.shr.perfweb.app.base.evalplan.AreaBaseWorkFlowQuery", multiselect: true, filter: "evaObj.id ='" + evaObj + "' and gradeTaskNode.taskStatus = '1'" }; $("#backTo").shrPromptGrid(subWidgetOptions); $("#backTo").shrPromptGrid("open"); $("#backTo").shrPromptGrid("option", { afterCommitClick: function (e, value) { var datas = value.datas; var ids = new Array(); if(datas){ for(var i = 0; i < datas.length; i++){ ids.push(datas[i]["gradeTaskNode.id"]); } it.realBack(ids); }else{ shr.showWarning({ message: jsBizMultLan.perfweb_perfscore_1586254513646_i18n_40 }); } } }); }else{ it.realBack(gradeTaskNode); } }) }, checkIsOpenF7 : function(){ var flag = ''; it.remoteCall({ method: "checkOpenF7", param: { evaObj: evaObj }, async: false, success: function (data) { flag = data.flag; } }); return flag; }, /** * 打回弹出框 */ realBack: function (ids) { var canBackTo = true; var message = null; that.remoteCall({ method: "judgeCanBackToUpLevel", param: { gradeTasknode: ids.toString() }, async: false, success: function (data) { if (data.result != '200') { message = data.message; canBackTo = false; } } }); if (!canBackTo) { shr.showWarning({message: message}); return false; } var backHTML = '
    ' + '

    '+ ''+jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_7+ '

    ' + '

    '+ '

    '+ '

    '+ // '通知方式:'+ ''+jsBizMultLan.perf_perfscoreNew_b10_15626131368_1+''+ // '

    通知上一节点评分人:

    '+ ''+jsBizMultLan.perf_perfscoreNew_b10_15626131368_0+''+ '

    '+ '
    '+ '
    '+ '
    '+ ''+ // ''+ ''+ '
    '+ '
    '+ ''+ // ''+ ''+ '
    '+ '
    '+ ''+ // ''+ ''+ '
    '+ '
    '+ ''+ // ''+ ''+ '
    '+ '
    '+ '
    '+ '
    '; $(document.body).append(backHTML); $('#msgReminder, #emailReminder, #SMSReminder, #cloudReminder').shrCheckbox(); $('#msgReminder, #emailReminder, #SMSReminder,#cloudReminder').shrCheckbox('onChange', function(){ var id = $(this).attr('id'); if($(this).shrCheckbox('getValue')){ $('label[for="'+id+'"]').addClass('checked'); }else{ $('label[for="'+id+'"]').removeClass('checked'); } }); $("#backToUpLevel").show(); // 将弹出对话框弹出 $('#backToUpLevel').dialog({ title: jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_5, autoOpen: true, show: "blind", width: 700, height: 406, resizable: true, position: ['center', 'center'], modal: true, buttons: [{ text:jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_42, click: function () { var backReason = $("#backReason").val(); var SMSType = "NOSEND"; var emailType = "NOSEND"; var portalType = "NOSEND"; var yzjMsgType = "NOSEND"; var meg = $('#megReminder').shrCheckbox('isSelected'); var email = $('#emailReminder').shrCheckbox('isSelected'); var SMS = $('#SMSReminder').shrCheckbox('isSelected'); var yzj = $('#YZJReminder').shrCheckbox('isSelected'); if (SMS) { SMSType = "SEND" } if (email) { emailType = "SEND" } if (meg) { portalType = "SEND" } if (yzj) { yzjMsgType = "SEND"; } var _this = this; that.remoteCall({ method: "backToUpLevel", param: { evaObjIds: evaObj, gradeTaskNodeIds: ids.toString(), backReason: backReason, SMSType: SMSType, emailType: emailType, portalType: portalType, yzjMsgType: yzjMsgType }, async: false, success: function (data) { //打回成功刷新评估对象列表 that.initLeftList(); $(_this).dialog("destroy").remove(); shr.showInfo({message: data.msg}); } }); }},{ text:jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_40, click: function () { $(this).dialog("destroy").remove(); } }] }); }, /** * 个人评分菜单 */ initScoreItems: function () { var scoreMenuHTML = null; //评分区域列表 // 加载区域指标表格部分 globalIndicatorData.entryType = entryType; scoreMenuHTML = juicer(scoreTabsTpl, globalIndicatorData); $(scoreMenuHTML).appendTo($('.scoreItems')); // var hideNodeWeight = $('#hideNodeWeight').text(); if(hideNodeWeight === 'true'){ // 是否隐藏节点权重:{true:是;false:否} $('span[name="snodeWeight"]').hide(); }else{ $('span[name="snodeWeight"]').show(); } that.submitScoreClickEvent(); //评分提交事件 that.saveScoreEvent(); //评分保存事件 it.delgoal(); //目标删除事件 it.scoreMenuListClick(); //指标点击事件 it.wholeCommentListener(); it.scoreInpListener(); $('div[name="editScoreDiv"] input[type="text"]').eq(0).focus().select(); it.initWholeComment(); it.initOthersScore(); }, /** * 整体评价监听字数 */ wholeCommentListener: function () { $('#wholeComment textarea').live('input propertychange', function () { var objVal = $(this).val(); var msgShow = $(this).closest('div[name="editTextareaDivForWholeComment"]').find("span[id='WHOLECOMMENT']"); var errObj = new Object(); existInArrThenDelete(_noPassVerifyArr, errObj); var commentLen = objVal.length; msgShow.text(shr.formatMsg(jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_35, [2000,commentLen])); msgShow.show(); _noPassVerifyArr.push(errObj); }) }, /** * 监听评分回车事件 */ scoreInpListener: function () { $('div[name="editScoreDiv"] input[type="text"]').keydown(function (event) { if (event.keyCode == 13) { var current_index = $('div[name="editScoreDiv"] input[type="text"]').index($(this)); if (current_index == $('div[name="editScoreDiv"] input[type="text"]').length - 1) { $('div[name="editScoreDiv"] input[type="text"]').eq(0).focus().select(); } else { $('div[name="editScoreDiv"] input[type="text"]').eq(current_index + 1).focus().select(); } } }) }, //加载其他人评分 initOthersScore: function () { scoreparams = it.getCurrentScoreParams(); $('.scoretabwrap').each(function(i){ // 初始化指标表格 it.initScoreTab(i,scoreparams); }) $('.scoretabs').each(function(index){ var shrinkToFit = $(this).jqGrid('getGridParam','shrinkToFit'); $(this).jqGrid('setGridWidth',$('.scoretabwrap').eq(0).width(),shrinkToFit); }) it.bindEvent(); it.initPerftips(); }, // 其他人评分信息列tips initPerftips: function(){ $.perfTips.init({target:$('.expend-td-box')}); }, // 事件绑定 bindEvent: function(){ if (_needScore != "3") { $("#totalScore").find("input").attr("disabled", "disabled"); } // 查看其他人打分 // $('.view_other_btn').die('click').live('click',function(){ // var tabid = $(this).closest('table').attr('id'); // var rowid = $(this).closest('tr').attr('id'); // var rowData = $('#'+tabid).jqGrid('getOriginalRowData',rowid); // var msgdata = it.getCurrentAndPrevScoreMsg(rowid); // it.openOtherScoreDialog(msgdata,rowData); // that.personHistoryParamControl(); // }) $('.expend-btn').die('click').live('click',function(){ // var ul = $(this).closest('td').find('ul'); // if(ul.hasClass('show-more')){ // ul.removeClass('show-more'); // }else{ // ul.addClass('show-more'); // } var pre = $(this).closest('td').find('pre'); if(pre.hasClass('textOverflow3')){ pre.removeClass('textOverflow3'); }else{ pre.addClass('textOverflow3'); } }) // 编辑指标评语字段 // $('.commentcell').die('click').live('click',function(){ // //打总分不能输入指标评语 // if (_needScore == '3') { // return; // } // var tabid = $(this).closest('table').attr('id'); // var rowid = $(this).closest('tr').attr('id'); // var rowData = $('#'+tabid).jqGrid('getOriginalRowData',rowid); // it.openCommentDialog(tabid,rowid,rowData); // }) // 点击序号,查看指标其他字段 $('.scoretabs tr').die('click').live('click',function(){ var areaIndex = $(this).closest('table').attr('areaindex'); var areadata = globalIndicatorData.rows.evaAreaList[areaIndex]; var trIndex = $(this).index() - 1; var indicatorDatalist = areadata.evaIndicatorList || areadata.evaRecordList; var indicatorData = indicatorDatalist[trIndex]; var isClosedPrev = $('.fieldsboxhide:visible').hasClass('small'); indicatorData.areaType = areadata.areaType; indicatorData.scoringWay = areadata.scoringWay; indicatorData.fieldslist = it.getTargetData(areadata.fieldList, indicatorData); $('.fieldsboxhide').hide(); if($(shr.xssFilter('.fieldsboxhide[indid="'+indicatorData.FID+'"]')).length > 0){ // $('.fieldsboxhide[indid="'+indicatorData.FID+'"]').show(); _thisbox = $(shr.xssFilter('.fieldsboxhide[indid="'+indicatorData.FID+'"]')); if(_thisbox.find('.field-line').length > 0){ _thisbox.show(); } }else{ indicatorDetailHTML = juicer(indicatorDetailTpl, {rows:[indicatorData]}); _thisbox = $(indicatorDetailHTML); if(_thisbox.find('.field-line').length > 0){ _thisbox.show(); $(indicatorDetailHTML).appendTo($('.indicator-box')); } $('.fieldsboxhide').css({ 'height': $('.centercontainer').height() + 'px' }) if(it.fixedboxWidth){ $('.fieldsboxhide').css({ 'width': it.fixedboxWidth + 'px' }) } // if($('.fieldsboxhide:visible').find('.field-line').length == 0){ // $('.fieldsboxhide:visible').find('.emptywrap').show(); // } } var isClosedCurr = $(shr.xssFilter('.fieldsboxhide[indid="'+indicatorData.FID+'"]')).hasClass('small'); if(isClosedPrev){ // 其他信息是否展开控制 if(!isClosedCurr){ $(shr.xssFilter('.fieldsboxhide[indid="'+indicatorData.FID+'"]')).addClass('small'); } $('.centercontainer').addClass('big'); }else{ if(isClosedCurr){ $(shr.xssFilter('.fieldsboxhide[indid="'+indicatorData.FID+'"]')).removeClass('small'); } $('.centercontainer').removeClass('big'); } $('.scoretabs').each(function(index){ var shrinkToFit = $(this).jqGrid('getGridParam','shrinkToFit'); $(this).jqGrid('setGridWidth',$('.scoretabwrap').eq(0).width(),shrinkToFit); }) }) // 指标其他字段框控制按钮点击事件 $('.fixedboxctrlbtn').die('click').live('click',function(){ var fixedbox = $(this).closest('.fieldsboxhide'); var centerbox = $('.centercontainer'); if($(this).hasClass('isclose')){ centerbox.removeClass('big'); fixedbox.removeClass('small'); $(this).removeClass('isclose'); }else{ centerbox.addClass('big'); fixedbox.addClass('small'); $(this).addClass('isclose'); } $('.scoretabs').each(function(index){ var shrinkToFit = $(this).jqGrid('getGridParam','shrinkToFit'); $(this).jqGrid('setGridWidth',$('.scoretabwrap').eq(0).width(),shrinkToFit); }) }) it.bindDragEvent() }, // 拖拽改变宽度事件 bindDragEvent: function(){ $("#splitDiv").mouseover(function(e) { $(this).css("cursor", "e-resize"); $('.centercontainer').addClass('noselect'); }); $("#splitDiv").mousedown(function(e) { $(this).css("cursor", "e-resize"); $("body").mousemove(function(eve) { var _x = eve.pageX - $('.centercontainer').offset().left; $(".centercontainer").animate({ width: _x }, 1); $(".fieldsboxhide").animate({ width: $('.content_right').width() - _x - 4 }, 1); it.fixedboxWidth = $('.content_right').width() - _x - 4; clearTextSelect() }) }); $("body").mouseup(function(e) { $(this).unbind("mousemove"); $(this).css("cursor", "default"); $('.scoretabs').each(function(index){ var shrinkToFit = $(this).jqGrid('getGridParam','shrinkToFit'); $(this).jqGrid('setGridWidth',$('.scoretabwrap').eq(0).width(),shrinkToFit); }) $('.centercontainer').removeClass('noselect'); // 由于jqgrid组件的savecell方法,会定位到被保存的单元格,所以自动算分的方式修改一下,否则点了评分 整体评价文本框就不能输入包含整体等级,所以注释掉一下代码 // var ariaDescribedby = $(e.target).attr('aria-describedby') || $(e.target).closest('td').attr('aria-describedby') || ''; // if(lastTable && $(e.target).closest('table').attr('id') != lastTable.substring(1) && !$(e.target).closest('div').hasClass('selectPage')&& !$(e.target).closest('ul').hasClass('messenger')){ // $(lastTable).jqGrid("saveCell",lastrow,lastcell); // } }); }, // 组装重新组装目标数据结构 getTargetData: function(fieldList,item){ var targetData = []; for(var i = 0; i < fieldList.length; i++){ targetData.push(fieldList[i]); targetData[i].fieldvalue = item[fieldList[i].colName]; } return targetData; }, // 初始化查看其他人评分弹框 // openOtherScoreDialog: function(otherScoreList,rowData){ // var hideNodeWeightVal = false; // if(pageSource !=undefined && pageSource=="PERSONHISTORY"){ // // var hideNodeWeight = $("#hideNodeWeight").text(); //是否隐藏节点权重 // if(hideNodeWeight == 'true'){ // hideNodeWeightVal = true; // } // } // otherScoreList.currentGradeTaskNode=gradeTaskNode; // var otherScoreDialogHTML = juicer(otherScoreDialogTpl, { // list: otherScoreList, // hideNodeWeightVal: hideNodeWeightVal, // indicator: rowData.id+'Itag0', // isQualityIndicator: rowData.FQUALIORRATION, // isExistComment: rowData.hasOwnProperty('FCOMMENT') ? 1 : 0, // commentName: rowData.commentName, // isShowHandlerWeight: isShowHandlerWeight // }); // $(document.body).append(otherScoreDialogHTML); // // 指标评语title显示设置 // $('.commentbtn').unbind('mouseover').bind('mouseover', function(){ // $('.commentbtn .evaluate').hide(); // $(this).find('.evaluate').show(); // }) // $('.commentbtn').unbind('mouseout').bind('mouseout', function(){ // $(this).find('.evaluate').hide(); // }) // var dialogtop = it.setDialogTopPos(500); // $("#otherScoreDialog").dialog({ // autoOpen : true, // // show : "blind", // width : 800, // height : 500, // //title : "其他人评分", // title : jsBizMultLan.perfweb_perfscoreNew_zw20201229_i18n_03, // resizable : true, // position : [ 'center', dialogtop ], // modal : true, // buttons: [ // { // //'确定' : function() { // text: $.perfwebI18n.perfwebMessageTool.msg1, // click: function () { // $(this).dialog('close'); // } // }, // //'取消' : function() { // { // text: $.perfwebI18n.perfwebMessageTool.msg2, // click: function () { // $(this).dialog('close'); // } // } // ], // close : function(){ // $('#otherScoreDialog').remove(); // }, // open:function(event, ui){ //取消获取焦点 // $(this).parent().focus(); // } // }); // }, // 打开指标评语弹框 // openCommentDialog: function(tabid,rowid,rowData){ // rowData.FCOMMENT = $(rowData.FCOMMENT)[0].innerHTML; // var commentDialogHTML = juicer(commentDialogTpl, { // list: rowData, // }); // $(document.body).append(commentDialogHTML); // $('textarea.commentwrap').unbind('input propertychange').bind('input propertychange', function() { // targetCommentOnblur(this,'propertychange'); // }); // var dialogtop = it.setDialogTopPos(500); // $("#commentDialog").dialog({ // autoOpen : true, // // show : "blind", // width : 800, // height : 500, // title : rowData.commentName, // resizable : true, // position : [ 'center', dialogtop ], // modal : true, // buttons: [ // { // //'确定' : function() { // text: $.perfwebI18n.perfwebMessageTool.msg1, // click: function () { // var commentval = $('.commentwrap').val(); // if (commentval) { // $('#' + tabid).jqGrid('setCell', rowid, 'FCOMMENT', commentval.trim()); // } else { // $('#' + tabid).jqGrid('setCell', rowid, 'FCOMMENT', null); // } // $(this).dialog('close'); // } // }, // { // //'取消' : function() { // text: $.perfwebI18n.perfwebMessageTool.msg2, // click: function () { // $(this).dialog('close'); // } // }], // close : function(){ // $('#commentDialog').remove(); // }, // open:function(event, ui){ //取消获取焦点 // $(this).parent().focus(); // if(!canEditTable){ // $('.commentwrap').attr('disabled',true); // } // } // }); // }, // 计算iframe内弹框竖直方向位置 setDialogTopPos: function(dialogHeight){ var dialogtop = 'center'; var winheight = $(window.top).height(); var winscrolltop = $(window.top).scrollTop(); if(self != top){ dialogtop = (winheight - dialogHeight)/2 + winscrolltop - 80; // dialogHeight: 弹框高度 80:header高度 } return dialogtop; }, // 加载当前节点和之前节点的整体评价信息 initWholeComment: function () { this.remoteCall({ method: "getCurrentAndPrevWholeComment", param: { evaObj: evaObj, handlerId: personId, currentNodeLevel: currentNodeLevel, myType: myType, gradeTaskNode: gradeTaskNode, viewMode: viewMode, isModifyScore: isModifyScore, isShowAuditedWholeForm : isShowAuditedWholeForm, isManualJudgeGrade : isManualJudgeGrade }, async: false, success: function (data) { if (data != null) { _wholeCommentIsMustArr = new Array(); var dataLen = data.length; for(var i=0; i 0) { $("#wholeComment").find(".details").empty(); var $wholeCommentDiv = $('#wholeCommentDiv'); if ($wholeCommentDiv && $wholeCommentDiv.length > 0) { $wholeCommentDiv.remove(); } } that.createWholeCommentHtml(data); //生成整体评价区域 that.personHistoryParamControl(); } } }); }, /* * 组装评分数据 * @return scoreObj * type: '1' 提交评分,需校验必填 * */ assembleScoreData: function (type) { globalErrorMsg = []; var dataList = new Array(); var scoreObj = new Object(); var htmlObj = $(".scoretabs"); var currentEdieTextArea = $("div[name='editTextareaDivForWholeComment']"); var indeicatorDatas = []; var subAreaChecked = true; // 加减分区域,区域上下限校验 var subAreaCheckedMsg = ''; for(var i = 0; i < htmlObj.length; i++){ var idata = $('#scoreTab_'+i).jqGrid('getRowData'); var _subAreaType = ''; var _areaAddSub = ''; var _areaAddSubDown = ''; var _areaAddSubUp = ''; var areaSumScore0 = 0; for(var j = 0; j < idata.length; j++){ if(j == 0){ _subAreaType = idata[j].subAreaType; _areaAddSub = idata[j].areaAddSub; _areaAddSubDown = idata[j].areaAddSubDown; _areaAddSubUp = idata[j].areaAddSubUp; } idata[j].tabIndex = i.toString(); indeicatorDatas.push(idata[j]); if (_subAreaType == "1" && _areaAddSub == "1") { var s0 = idata[j].FSCORE; if (s0) { areaSumScore0 += parseFloat(s0); } } } if ("" != _areaAddSubDown && parseFloat(_areaAddSubDown) > areaSumScore0) { subAreaCheckedMsg = $.perfwebI18n.tableConstant.msg14 + _areaAddSubDown; subAreaChecked = false; } if ("" != _areaAddSubUp && parseFloat(_areaAddSubUp) < areaSumScore0) { subAreaCheckedMsg = $.perfwebI18n.tableConstant.msg15 + _areaAddSubUp; subAreaChecked = false; } if(!subAreaChecked){ break; } } if(!subAreaChecked){ shr.showWarning({ message: subAreaCheckedMsg, hideAfter: 3 }) return false; } for (var n = 0; n < $("div[name='editTextareaDivForWholeComment']").size(); n++) { var scoreObj = new Object(); var scoreList = new Array(); var currentEditTextareaDom = $("div[name='editTextareaDivForWholeComment']")[n]; var wholeComment = $(currentEditTextareaDom).find("textarea").val(); scoreObj.wholeComment = wholeComment; for (var i = 0; i < indeicatorDatas.length; i++) { // 考虑到会有同一个人处理并发评分的情况,因此增加节点Id的判断 if($(currentEditTextareaDom).attr('gradenode') == indeicatorDatas[i].gradeTaskNode){ var scoreObject = new Object(); var score = null; var nodeGrade = ''; //BT1354967 yien_fan 打等级的定量指标显示分数 //判断评分输入框是否存在,国贸需求,在不允许评分的情况下也显示指标评语 if(_gneedScoreArr.length>=2){ for(var m=0; m<_gneedScoreArr.length; m++){ if(_gneedScoreArr[m].gradeTaskNode == indeicatorDatas[i].gradeTaskNode){ _needScore = _gneedScoreArr[m].needScore; break; } } } if (_needScore == 1 || _needScore == 2|| _needScore == '3') { if (indeicatorDatas[i].FQUALIORRATION == '1' || _gscoreOrRate == 0 || (_gscoreOrRate == 1 && indeicatorDatas[i].subAreaType === '1')) { //判断是否为禁用的分数输入框 var $score = ''; score = indeicatorDatas[i].FSCORE; //取分数 _gcanNegative = indeicatorDatas[i].canNegative; //取是否允许评负分 //BT1354967 yien_fan 打等级的定量指标标志位特殊处理为打分 scoreObject.scoreOrRate = 0; if (indeicatorDatas[i].FQUALIORRATION != 1 && indeicatorDatas[i].subAreaType !== '1') { // 可编辑评分时才校验 加减分区域不校验是否允许为负参数 var reg = /^\d+(\.\d{1,2})?$/; var reg2 = /^-\d+(\.\d{1,2})?$/; if (_gcanNegative == 1) { if ("" != score && !reg2.test(score) && !reg.test(score) && score != undefined) { scoreObj.scoreError = true; } } else if ("" != score && !reg.test(score) && score != undefined) { scoreObj.scoreError = true; } } // 如果是定量指标,没有评分公式,且打等级 if(!indeicatorDatas[i].FSCORINGFORMULA && _gscoreOrRate == 1){ // 打等级,则取等级 scoreObject.scoreOrRate = 1; var valueExistFlag = indeicatorDatas[i].nodeGrade == undefined || indeicatorDatas[i].nodeGrade == null || indeicatorDatas[i].nodeGrade == ""; nodeGrade = valueExistFlag ? "" : indeicatorDatas[i].nodeGrade.split("(")[0];; //取等级 } } else { var valueExistFlag = indeicatorDatas[i].nodeGrade == undefined || indeicatorDatas[i].nodeGrade == null || indeicatorDatas[i].nodeGrade == ""; nodeGrade = valueExistFlag ? "" : indeicatorDatas[i].nodeGrade.split("(")[0];; //取等级 } } var comment = ''; //判断指标评语框是否存在 if (indeicatorDatas[i].FCOMMENT) { comment = $(indeicatorDatas[i].FCOMMENT).text(); } var indicatorId = indeicatorDatas[i].id+'Itag0'; scoreObject.score = score; scoreObject.nodeGrade = nodeGrade; scoreObject.comment = comment; scoreObject.actValue = $(indeicatorDatas[i].FACTUALCOMPLEVALUE).text(); scoreObject.targetVale = $(indeicatorDatas[i].FTARGETVALUE).text(); scoreObject.description = $(indeicatorDatas[i].FACTUALCOMPLETEDESC).text(); scoreObject.actulCompleteTime = indeicatorDatas[i].FACTUALCOMPLETETIME; var FQUALIORRATION = indeicatorDatas[i].FQUALIORRATION; var FSCORINGFORMULA = indeicatorDatas[i].FSCORINGFORMULA; if(FQUALIORRATION === '1'){ // 新增无公式的判断,有公式不做校验 if(!isNumberVerify2(scoreObject.actValue , 1)){ scoreObj.actValError = true; } if(!isNumberVerify2(scoreObject.targetVale , 1)){ scoreObj.targetValError = true; } } if (scoreObject.description && scoreObject.description.length > 2000) { scoreObj.desError = true; } //否决项评定 var isRejection = indeicatorDatas[i].isRejection; scoreObject.isRejection = isRejection; if (isRejection == 1) { _gExistRejection = 1; } scoreObject.indicatorId = indicatorId; //如果打分方式没有进行特殊处理,则取考核规则的 if (typeof scoreObject.scoreOrRate == "undefined") { scoreObject.scoreOrRate = _gscoreOrRate; } // 扩展字段取值组装 var extendInfo = {} for(var key in indeicatorDatas[i]){ var colName = 'fillOverwrite_'+key; var colvalue = indeicatorDatas[i][key]; var colAttr = $('#scoreTab_'+indeicatorDatas[i].tabIndex).getColProp(key); var classes = colAttr.classes; var td = $('#scoreTab_'+indeicatorDatas[i].tabIndex+ ' tr[id="'+indeicatorDatas[i].id+'"] td[aria-describedby="scoreTab_'+indeicatorDatas[i].tabIndex+'_'+key+'"]'); if(colvalue.indexOf('class="cell-height scrollbarthin"') > -1){ colvalue = $(colvalue).text(); } if(key.indexOf('FEXTEND') == 0){ extendInfo[key] = { value: colvalue, fillOverwrite: indeicatorDatas[i][colName] } } if(type === '1' && ((classes && classes.indexOf('required') > -1) || td.hasClass('required')) && !colvalue && colAttr.editable && !td.hasClass('not-editable-cell') && !colAttr.hidden){ globalErrorMsg.push({ fid: indeicatorDatas[i].id, tabIndex: indeicatorDatas[i].tabIndex, colName: key, // msg: $('#jqgh_scoreTab_'+indeicatorDatas[i].tabIndex+'_'+key).text()+'不能为空' msg: shr.formatMsg(jsBizMultLan.perf_perfscoreNew_20220826_i18n_2 ,[$('#jqgh_scoreTab_'+indeicatorDatas[i].tabIndex+'_'+key).text()]) }) } } scoreObject.extendInfo = extendInfo; scoreList.push(scoreObject); } } scoreObj.scoreList = scoreList; scoreObj.evaObj = evaObj; scoreObj.gradeTaskNode = $(currentEditTextareaDom).attr('gradenode'); scoreObj.wholeGrade = $('[id="wholeGrade_' + scoreObj.gradeTaskNode + '"]').val(); scoreObj.isEditGrade = isEditGradesChange; scoreObj.needScore=$('[id="wholeScore_' + scoreObj.gradeTaskNode+ '"]').attr("data-needScore"); scoreObj.sumScore = $('[id="wholeScore_' + scoreObj.gradeTaskNode+ '"]').val(); dataList.push(scoreObj); } return dataList; }, /* * 评分保存事件 * */ saveScoreEvent: function () { $('#saveScore').unbind('click').bind('click', function () { // $(lastTable).jqGrid("saveCell",lastrow,lastcell);// 防止评分未校验就保存了 $('.scoretabs').each(function(index,tab){ $(tab).jqGrid('editStop'); }) that.doSaveScore('1', 0); //刷新正态分布列表 that.getDistributionInfo(); }); }, /* * 保存打分 * @param isShowMsg 是否展示提示信息 * @param isEditGradesChange 是否下拉选引起的打分保存操作 * */ doSaveScore: function (isShowMsg, isEditGradesChange) { if (_clicked) { return; } _clicked = true; //防止连击,设置过1s后点击才有效 setTimeout(function () { _clicked = false; }, 1000); if (_noPassVerifyArr.length > 0) { shr.showWarning({message: _noPassVerifyArr[0].errortext}); //自动点击第一条评分不通过的指标 $("input[indicator='" + _noPassVerifyArr[0].indicator + "']").focus(); return false; } // // var canSubmit = false; // var isAsync = false; //组装评分数据 //组装评分数据 var scoreObj = that.assembleScoreData(); if(!scoreObj){ return false; } var ids = new Array(); for (var i = 0; i < scoreObj.length; i++) { ids.push(scoreObj[i].gradeTaskNode); } if (scoreObj[0].targetValError) { shr.showError({ //jsBizMultLan 请检查目标值值输入是否正确 message :jsBizMultLan.perfweb_perfscoreNew_20210917ht_01, hideAfter: 3 }); return false; } if (scoreObj[0].actValError) { shr.showError({ message : jsBizMultLan.perfweb_perfscoreNew_20210917ht_02, hideAfter: 3 }); return false; } if (scoreObj[0].desError) { shr.showError({ message : shr.formatMsg(jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_48, [2000]), hideAfter: 3 }); return false; } //1、判断节点是否可被提交 that.remoteCall({ method: "judgeIsCanSubmit", param: { gradeTaskNode: ids.toString(), evaObj: evaObj, scoreObj: JSON.stringify(scoreObj) }, async: false, success: function (result) { for (var i = 0; i < scoreObj.length; i++) { for (var j = 0; j < result.length; j++) { if (result[j].nodeId = scoreObj[i].gradeTaskNode) { data = result[j]; } if (data != null && data.canSubmit == true) { //保存评分 } else { if (isShowMsg == '1') { shr.showWarning({message : jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_11}); } return false; } } } that.remoteCall({ method: "saveScore", param: { needScore:_needScore, scoreObj: JSON.stringify(scoreObj) }, async: false, success: function (data) { if (data != null && data.result == '200') { if (_needScore == "3") { shr.showInfo({message: $.perfwebI18n.commonMsg.msg3}); //window.location.reload(); //it.initLeftList();//左侧列表 $("li[workerid='" + evaObj + "']").removeClass("current"); $("li[workerid='" + evaObj + "']").click(); return; } //$("li[workerid='"+evaObj+"']").click();//指哪打哪 isFirstInit = 0; /* if (isEditGradesChange != 1) { it.initRightContent();//右侧内容 }*/ if (entryType == 'myview') { $('.content_right').css({ 'width': '100%', 'margin-right': '0' }); } else if (entryType == 'myselfEvalu') {//个人目标评分入口 $('.content_right').css({ 'width': '100%', 'margin-right': '0' }); } else {//团队目标评分入口 $('.view_manager_body').css('background', '#EDEFF4'); } // it.initPersonalInformation(); //评估对象个人信息 nodeSumScore = data.nodeSumScore; nodeGrade = data.nodeGrade; var sumScoreText = nodeSumScore; var nodeGradeText = nodeGrade; if (null != sumScoreText) { if(data.gradetaskNode.length<2){ $("li[workerid='" + evaObj + "'][gradeTaskNode='" + gradeTaskNode + "']").find("i[name='nodeSumScore']").text(sumScoreText); $("#totalScore").find("input").val(sumScoreText); } //TODO //$("#totalScore").text(sumScoreText); } if (null != nodeGradeText) { if(data.gradetaskNode.length<2){ for(var j=0; j<_gneedScoreArr.length;j++){ if(data.gradetaskNode == _gneedScoreArr[j].gradeTaskNode){ _perfGradeEvaluate = _gneedScoreArr[j].perfGradeEvaluate; break; } } if(_perfGradeEvaluate != 0){ $("li[workerid='" + evaObj + "'][gradeTaskNode='" + gradeTaskNode + "']").find("i[name='nodeGrade']").text(nodeGradeText); } $("select[id='wholeGrade_" +gradeTaskNode+ "']").val(nodeGradeText); } } var nodeSumScoreList = data.nodeSumScoreList; var gtnLen = nodeSumScoreList.length; for(var i=0; i 2000) { //shr.showWarning({message: '整体评价中的评价内容已超过最大长度2000个汉字,请重新输入!'}); shr.showWarning({message :shr.formatMsg(jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_53,[2000])}); return false; } }, /* * 评分提交事件 * */ submitScoreClickEvent: function () { $('#submitScore').unbind('click').bind('click', function () { _gExistRejection = 0; // $(lastTable).jqGrid("saveCell",lastrow,lastcell);// 防止评分未校验就保存了 $('.scoretabs').each(function(index,tab){ $(tab).jqGrid('editStop'); }) if (gradeTaskNode == '') { shr.showWarning({message: jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_12}); return false; } if (_noPassVerifyArr.length > 0) { shr.showWarning({message: _noPassVerifyArr[0].errortext}); //自动点击第一条评分不通过的指标 $("input[indicator='" + _noPassVerifyArr[0].indicator + "']").focus(); return false; } //组装评分数据 var scoreObj = that.assembleScoreData('1'); if(!scoreObj){ return false; } //进行评分校验 if (scoreObj[0].scoreError == true) { shr.showError({ // message : '分数只能为整数或不超过2位的小数,请检查!', //12月补丁功能-天虹 message : jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_31, hideAfter: 3 }); return false; } if (scoreObj[0].targetValError) { shr.showError({ message : jsBizMultLan.perfweb_perfscoreNew_20210917ht_01, hideAfter: 3 }); return false; } if (scoreObj[0].actValError) { shr.showError({ message : jsBizMultLan.perfweb_perfscoreNew_20210917ht_02, hideAfter: 3 }); return false; } if (scoreObj[0].desError) { shr.showError({ message : shr.formatMsg(jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_48, [2000]), hideAfter: 3 }); return false; } if(globalErrorMsg.length > 0){ for(var i=0; i 2000) { shr.showWarning({ message: shr.formatMsg(jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_53, [2000]) }); return false; } //判断整体评语是否必录,如果必录则进行必录校验 // BT-00580949 绩效管理--绩效工作台--考核目标填报、目标变更--编辑指标,评价标准填写数字,保存js会报错 if (scoreObj[i].wholeComment == '' || scoreObj[i].wholeComment == undefined || (scoreObj[i].wholeComment+'').trim().length < 1) { var wholeCommentIsMustLen = _wholeCommentIsMustArr.length; for(var m=0; m0){ needrResult[n].unvalidTargetID.forEach(function(item){ $('.scoretabs').jqGrid('setCell', item, 'FCOMMENT', null, 'errorval'); }) shr.showWarning({message : needrResult[n].targetCommentMsg}); canSubmitFlag = false; return false; } } } //判断整体评价等级是否必填,如果必填则进行必录校验(矩阵考核需要根据节点进行判断) var needScoreSize = _gneedScoreArr.length; for(var j=0; j0){ needMustCount++; shr.showWarning({message : result[m].msg}); $("li[numval='"+result[m].unValidId[0]+"']").mousedown(); canSubmitFlag =false; return false; } } if(needMustCount<1){ for(var n=0; n0){ msg += result[n].msg $("li[numval='"+result[n].unValidId[0]+"']").mousedown(); break; } } } if(saveNodeSumScoreList != undefined && saveNodeSumScoreList != null && saveNodeSumScoreList.length >= 2){ confirmMsg = jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_10; for(var i=0; ili")[0].click(); evaObj = $($(".workerList>li")[0]).attr("workerid"); } }else if(entryType = 'myselfEvalu'){ shr.showInfo({message: data.msg}); that.reloadPage({ uipk: 'com.kingdee.shr.perfweb.app.perfportal.core', serviceId : decodeURIComponent("fUjSqQK1RouZaEJUI2jH5vI9KRA%3D"), }); } } else { shr.showWarning({message: data.msg}); } } }); }); } }); }); }, //设置按钮及输入文本框灰选 setDisableStatus: function () { $('#saveScore').attr("disabled", 'disabled'); //”保存“按钮置灰 $('#submitScore').attr("disabled", 'disabled'); //”提交“按钮置灰 $("#home-wrap input").attr("disabled", "disabled"); //所有输入框不可编辑 $("textarea").attr("disabled", "disabled"); //所有多行文本框不可编辑 }, /** * 个人评分菜单点击事件(左侧区域指标点击) */ scoreMenuListClick: function () { var that = this; $('.controller').unbind('click').bind('click', function () { var content = $('#wholeComment').find('.scoreContentboxwrap'); var icon = $(this); if ($(this).hasClass('controller_active')) { content.slideUp(function () { icon.removeClass('controller_active'); if (self != top) { parent.setIframeHeight('myHistoryIframe'); parent.setIframeHeight('processedScoresIframe'); } }); } else { content.slideDown(function () { if (self != top) { parent.setIframeHeight('myHistoryIframe'); parent.setIframeHeight('processedScoresIframe'); } }); $(this).addClass('controller_active'); } }) $('.btn-control').unbind('click').bind('click', function () { var icon = $(this); var areawrap = icon.closest('.scoreMenu'); var content = areawrap.find('.scoretabwrap'); if (icon.hasClass('controller_active')) { content.hide(); icon.removeClass('controller_active'); if (self != top) { parent.setIframeHeight('myHistoryIframe'); parent.setIframeHeight('processedScoresIframe'); } areawrap.addClass('areawrap-active'); } else { content.show(); if (self != top) { parent.setIframeHeight('myHistoryIframe'); parent.setIframeHeight('processedScoresIframe'); } icon.addClass('controller_active'); areawrap.removeClass('areawrap-active'); } }) }, //生成整体评价区域 createWholeCommentHtml: function (data) { var wholeCommentHtml = '
    '; var controlAreaHtml = '
    '; var currentWholeGrade = ''; _gneedScoreArr = new Array(); // var hideNodeWeight = $('#hideNodeWeight').text(); if (data != null && data.length > 0) { var isShowWholeGrade = 0; for (var i = 0; i < data.length; i++) { var wholeCommentEdithtml = ''; var _data = data[i]; isShowWholeGrade = _data.isShowWholeGrade; //获取当前节点是否可显示总分和总体评价 _perfGradeEvaluate = _data.perfGradeEvaluate; //整体评价等级是否允许评定 var _needScore = _data.needScore; //是否允许评分 var needScoreObj = new Object(); needScoreObj.gradeTaskNode = _data.gradeTaskNode; needScoreObj.needScore = _needScore; needScoreObj.indicatorComment = _data.indicatorComment; needScoreObj.perfGradeEvaluate = _perfGradeEvaluate; _gneedScoreArr.push(needScoreObj); if (data[i].canEdit == 1) { //当前节点可评价 currentIsShowWholeGrade = isShowWholeGrade; //记录当前评分人是否可评总体评价 _perfGradeEvaluate = _data.perfGradeEvaluate; // 重新定义一个新的变量,标识当前任务节点能否打等级,_perfGradeEvaluate赋值,使用到的地方太多了,可能会出问题 modified by Janeou_xie isShowDistribution = _data.perfGradeEvaluate _wholeComment = _data.wholeCommentIsMust; //currentWholeGrade = data[i].wholeGrade; currentWholeGrade = _data.scoreToLevel; wholeCommentEdithtml = wholeCommentEdithtml + '' + '' +_data.nodeName; //yien 判断是否展示处理人权重 if(hideNodeWeight != 'true'){ wholeCommentEdithtml += '('+_data.nodeWeight + '%)'; } wholeCommentEdithtml = wholeCommentEdithtml + (_data.nodeHandlerName == '' ? ':' : ':'+_data.nodeHandlerName ); wholeCommentEdithtml = wholeCommentEdithtml + '(' + _data.personNodeWeight + '%)'; wholeCommentEdithtml += ''; //判断是否可评价总分和等级 if (isShowWholeGrade) { var wholeScoreTmp = ''; if(_needScore == '1' || _needScore == '2'|| _needScore == '3'){ wholeScoreTmp = _data.wholeScore; } var disabledClass = 'disabled="disabled"'; if (_needScore == '3') { disabledClass = ''; } // 评分流程节点设置不能评分,则隐藏总分 modify by janeou //var totalScoreDiv = _needScore == '0' ? '':'
    总分:'+jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_58+' ' + ''; totalScoreDiv = totalScoreDiv + '
    '; wholeCommentEdithtml += totalScoreDiv ; if (data[i].isVetoZero == 1) { //wholeCommentEdithtml += '存在否决项
    '; wholeCommentEdithtml += ''+jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_3+'
    '; } else { //wholeCommentEdithtml += '
    '; wholeCommentEdithtml += ''; } wholeCommentEdithtml += '
    '; if (_perfGradeEvaluate == '1') {//允许打整体评价等级 //wholeCommentEdithtml = wholeCommentEdithtml + ''; wholeCommentEdithtml = wholeCommentEdithtml + ''; } else { //wholeCommentEdithtml = wholeCommentEdithtml + '
    '; } wholeCommentEdithtml = wholeCommentEdithtml + '
    ' + ''; //yien:处理合并打分节点问题 combineGradeTaskIds.push(_data.gradeTaskNode); if (_wholeComment == '1') { wholeCommentEdithtml = wholeCommentEdithtml + ''; wholeCommentEdithtml += ''; } else { wholeCommentEdithtml = wholeCommentEdithtml + ''; wholeCommentEdithtml += '' } gradeTaskNode = _data.gradeTaskNode; //当前评估对象节点运行实例id scoreStatus = _data.scoreStatus; $('#wholeComment .details').append(wholeCommentEdithtml); } else { if (_data.isVisible != '1') { continue; } controlAreaHtml = controlAreaHtml + '
    ' + '' + '' + _data.nodeName; //yien 增加判断是否展示处理人权重 if(hideNodeWeight != 'true'){ controlAreaHtml += '('+ _data.nodeWeight + '%)'; } controlAreaHtml = controlAreaHtml + (data[i].nodeHandlerName == '' ? ':' : ':'+data[i].nodeHandlerName ); controlAreaHtml = controlAreaHtml + '(' + _data.personNodeWeight + '%)'; controlAreaHtml += ''; //判断是否显示总分和等级 if (isShowWholeGrade) { //var scoreDivHtml = '
    总分:' + _data.wholeScore; var scoreDivHtml = '
    '+jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_58 + _data.wholeScore; //如果节点不能评分,隐藏总分 if (data[i].needScore == '0') { scoreDivHtml = '
    ';//增加一个div标签,不然格局有问题,打分过程中隐藏评分人参数失败 } controlAreaHtml += scoreDivHtml; if (data[i].isVetoZero == 1) { controlAreaHtml += ''+ jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_3+ '
    '; } else { controlAreaHtml += '
    '; } controlAreaHtml += '
    '; if (_perfGradeEvaluate == '1') {//允许打整体评价等级 controlAreaHtml = controlAreaHtml + '' + '' + (data[i].wholeGrade) + '' } controlAreaHtml = controlAreaHtml + '
    '; } controlAreaHtml = controlAreaHtml + '
    ' + '' + '' + '
    '; } } } controlAreaHtml = controlAreaHtml + "
    "; if (data.length == 1 && data[0].canEdit == 1) { $('.controller').hide(); } else { wholeCommentHtml = wholeCommentHtml + controlAreaHtml; $(wholeCommentHtml).appendTo($('#wholeComment .scoreContentboxwrap')); //$('#wholeComment .controller').click(); } if (data) { for (var i = 0; i < data.length; i++) { if (data[i].scoreToLevel) { $('[id="wholeGrade_' + data[i].gradeTaskNode + '"]').find("option[id='" + data[i].scoreToLevel + "']").attr("selected", "selected"); } else { $('[id="wholeGrade_' + data[i].gradeTaskNode + '"]').find("option[id='" + data[i].wholeGrade + "']").attr("selected", "selected"); } $('[id="wholeGrade_' + data[i].gradeTaskNode + '"]').attr('title', $('#wholeGrade').find("option:selected").text()); } } if (currentWholeGrade == '') { blackOp = "blackOp"; } that.spreadScore(); $('.spreadothers').trigger('click'); it.levelSwitchChange(); //整体评价中是否允许修改等级 if ( isManualJudgeGrade==2) { $("[name='wholeGrade']").attr("disabled", "disabled"); } //总分校验 $("#totalScore").find("input").blur(function () { sumSocreOnblur(this); /** * 自动计算等级 */ var grade = $("#wholeComment").find("select").val(); if (isManualJudgeGrade == 2 || isManualJudgeGrade == 0) { // var url = shr.getContextPath() + "/dynamic.do?handler=com.kingdee.shr.perfweb.portal.handler.PerfBatchScoreHandler&uipk="+shr.getUipk() + // "&method=getLeaveByScore&shruicode="+shr.getUrlRequestParam("shruicode"); that.remoteCall({ method: "getLeaveByScore", async: false, param: { nodeSumScore: $(this).val(), id:gradeTaskNode, shruicode:shr.getUrlRequestParam("shruicode") }, // data: {"nodeSumScore": $(this).val(), "id": gradeTaskNode}, success: function (data) { //这里的结果类似 {data: "差E"} console.log(data); if (data.data) { $("#wholeComment").find("select").find('option').attr('selected', false); $("#wholeComment").find("select").find("option[value='" + data.data + "']").attr('selected', true); //$("#wholeComment").find("select").val(data.data); $('.workerList li.current').find("i[name='nodeGrade']").text(data.data); } } }); } }); //考核结果显示控制 if(typeof initScoreDetailResultShow == 'function') { initScoreDetailResultShow(); } }, getScroeTipsContent: function(items,params){ var arr = []; if(items.subAreaType == '1'){ // 加减分区域 if (_targetAddSub = "1") { // 指标评分范围 if(items.targetAddSubDown && items.targetAddSubUp){ arr.push(shr.formatMsg(jsBizMultLan.perfweb_perfscoreNew_i18n_yw20230307_01, [items.targetAddSubDown,items.targetAddSubUp])); }else if(items.targetAddSubDown){ arr.push(shr.formatMsg(jsBizMultLan.perfweb_perfscoreNew_i18n_yw20230307_02, [items.targetAddSubDown])); }else if(items.targetAddSubUp){ arr.push(shr.formatMsg(jsBizMultLan.perfweb_perfscoreNew_i18n_yw20230307_03, [items.targetAddSubUp])); } } if(items.areaAddSub == "1"){ // 区域评分范围 if(items.areaAddSubDown && items.areaAddSubUp){ arr.push(shr.formatMsg(jsBizMultLan.perfweb_perfscoreNew_i18n_yw20230307_04, [items.areaAddSubDown,items.areaAddSubUp])); }else if(items.areaAddSubDown){ arr.push(shr.formatMsg(jsBizMultLan.perfweb_perfscoreNew_i18n_yw20230307_05, [items.areaAddSubDown])); }else if(items.areaAddSubUp){ arr.push(shr.formatMsg(jsBizMultLan.perfweb_perfscoreNew_i18n_yw20230307_06, [items.areaAddSubUp])); } } }else{ var _gcanOverRang = params.canOverSumRange; _gcanNegative = params.canNegative, scoringWay = items.scoringWay, _glowLimit = (params.lowLimit || params.lowLimit === 0) ? params.lowLimit.toString() : '', _gupLimit = (params.uperLimit || params.uperLimit === 0) ? params.uperLimit.toString() : '', _overRang = params.overRange; if(_glowLimit && _gupLimit){ arr.push(shr.formatMsg(jsBizMultLan.perfweb_perfscoreNew_i18n_yw20230307_07, [_glowLimit,_gupLimit])); }else if(_glowLimit){ arr.push(shr.formatMsg(jsBizMultLan.perfweb_perfscoreNew_i18n_yw20230307_08, [_glowLimit])); }else if(_gupLimit){ arr.push(shr.formatMsg(jsBizMultLan.perfweb_perfscoreNew_i18n_yw20230307_09, [_gupLimit])); } if(_gcanOverRang == '1'){//分数允许超出分制范围 arr.push(shr.formatMsg(jsBizMultLan.perfweb_perfscoreNew_i18n_1625470317_2, [_overRang])) } if (_gcanNegative == '1') {//允许负分 arr.push(jsBizMultLan.perfweb_evaluationdetailsJuicer_1586069239184_i18n_11); } } return arr.join(','); }, _getCurrentScoreLevel: function(){ var curScoreMsg = {}; that.remoteCall({ method: "getCurrentScoreLevel", async: false, param: { evaObj: evaObj }, async: false, success: function (data) { if (data != null) { curScoreMsg = data; } } }); return curScoreMsg; }, // 判断该区域是否有可以选是否存在字段的指标,没有就不显示该字段 judgeIsRejection: function(indicator){ var flag = false; for(var j = 0; j < indicator.length; j++){ if(indicator[j].FREJECTION == 1){ flag = true; break; } } return flag; }, // 判断该区域是否全部都是可以选是否存在字段的指标,没有就不显示该字段 judgeAllIsRejection: function(indicator){ var flag = true; for(var j = 0; j < indicator.length; j++){ if(indicator[j].FREJECTION != 1){ flag = false; break; } } return flag; }, // 指标评语是否必填 judgeCommentIsRequired: function(msgdata, area, tabIndex){ var isTargetComment = ''; for(var i = 0; i < msgdata.length; i++){ if(msgdata[i].gradeTaskNode == area[tabIndex].gradeTaskNodeId){ isTargetComment = msgdata[i].isTargetComment; break; } } return isTargetComment; }, getGradeOption: function(curScoreMsg){ if(null != curScoreMsg){ var levelSelectValue = curScoreMsg.levelSelectVal; //等级下拉选 var levelSelectKey = curScoreMsg.levelSelectKey; //等级下拉选key var selectOptionArr = new Array(); var selectOptionKeyArr = new Array(); if (levelSelectValue != null && levelSelectValue != '') { selectOptionArr = levelSelectValue.split(","); selectOptionKeyArr = levelSelectKey.split(","); } for(var i = 0; i < selectOptionArr.length; i ++){ var selectOptionArrItem = selectOptionArr[i]; if(isShowLevelScoreRange == 0 || isShowLevelScoreRange == false){ selectOptionArrItem = selectOptionArr[i].split("(")[0]; } gradeOption[i] = {}; gradeOption[i]["value"] = selectOptionKeyArr[i]; gradeOption[i]["alias"] = selectOptionArrItem; gradeOption[i]["isenum"] = false; } } }, // 初始化区域指标表格 initScoreTab: function(tabIndex,msgdata){ var params = that._getGridParams(tabIndex,msgdata); var _grid = $('#scoreTab_'+tabIndex); var options = { datatype: 'local', data: params.tabData, colNames: params.myName, colModel: params.myModel, multiSelect: false, multiselectWidth: '',//复选框单元格宽度 shrinkToFit: params.shrinkToFit,//true没有滚动条,false有滚动条 rownumbers: true, width: 640,//这个宽度不能为百分比 height: 298,//高度,表格高度。可为数值、百分比或'auto' cellEdit: entryType == 'viewMyScoreForm' ? false : true, cellsubmit: 'clientArray', keyOptions:{ // 编辑最后一行的最后一个可编辑单元格时,回车不新增行,而是回到第一个可编辑单元格 addNewRowForLastCell: false, loop: true }, beforeEditCell: function(rowid, cellname, value, iRow, iCol){ that._beforeEditCell(rowid, cellname, value, iRow, iCol, _grid); }, afterEditCell: function(rowid, cellname, value, iRow, iCol){ that._afterEditCell(rowid, cellname, value, iRow, iCol, _grid); }, afterSaveCell: function(rowid, cellname, value, iRow, iCol){ that._afterSaveCell(rowid, cellname, value, iRow, iCol, _grid); }, loadComplete: function (data) { that._loadComplete(data, _grid, params.scoreTipsText); } }; _grid.jqGrid(options); }, _getGridParams: function(tabIndex,msgdata){ var area = globalIndicatorData.rows.evaAreaList; var myModel = []; var myName = []; var indicator = area[tabIndex].evaIndicatorList || area[tabIndex].evaRecordList; var areaNeedScore = area[tabIndex].needScore; var fieldList = area[tabIndex].fieldList; var tabData = []; var isExistComment = 0; var thisIsRejection = that.judgeIsRejection(indicator); // 该区域指标是否含有否决项 var thisAllIsRejection = that.judgeAllIsRejection(indicator); // 该区域指标是否都是否决项 var scoreOrRate = globalIndicatorData.scoreOrRate; // 0:打分,1:打等级 //var curScoreMsg = indicator.length > 0 ? it.getCurrentAndPrevScoreMsg(indicator[0].FID) : []; // 当前节点打分信息 var curScoreMsg = that._getCurrentScoreLevel(); // 指标评语是否必填 var isTargetComment = that.judgeCommentIsRequired(msgdata, area, tabIndex); var scoreTipsText = ''; that.getGradeOption(curScoreMsg); // 打分字段单独处理 var myScoreName=''; var myScoreModel={}; for (var i = 0; i < fieldList.length; i++) { var fieldName = fieldList[i].colName; var fieldMaintenanceShow = fieldList[i].fieldMaintenanceShow; var fieldShowLocation = fieldList[i].fieldShowLocation; var fieldType = fieldList[i].fieldType; var canEditField = canEditTable && fieldList[i].fieldMaintenanceStage !== '100'; var isHidden = fieldShowLocation === '10' ? false : true; var fillOverwrite = ''; var required = fieldList[i].required && canEditField; var classes = ''; if(fieldName === 'FCOMMENT'){ required = canEditField && isTargetComment === '1'; }else if(fieldName === 'FSCORE'){ required = canEditField && area[tabIndex].needScore === '2'; } if(fieldName.indexOf('FEXTEND') > -1){ // 扩展字段匹配可维护流程级数 canEditField = canEditTable && (fieldMaintenanceShow === '0' || fieldMaintenanceShow === '1'); isHidden = fieldMaintenanceShow === '3'; fillOverwrite = fieldList[i].fillOverwrite; required = canEditField && fieldMaintenanceShow === '1'; } if(canEditTable && !canEditField){ classes = 'disabled'; }else if(required){ classes = 'required'; } if(fieldName == 'FWEIGHT' && hideWeight()){ isHidden = true; } // 分数 if(fieldName == "FSCORE"){ if(!thisAllIsRejection){ // 打分、选是否存在混合字段列 if((scoreOrRate == 0 || (scoreOrRate == 1 && area[tabIndex].subAreaType == '1')) && thisIsRejection){ //myName.push('评分/是否存在'); myName.push(jsBizMultLan.perfweb_perfscoreNew_zw20201229_i18n_05); myModel.push({ name: 'scoreORrejection', index: 'scoreORrejection', width: 100, align: "left", sortable: true, editable: canEditField, required: required, classes: classes, hidden:entryType === 'viewEvaForm' ? true :false }); } //参数控制打分字段隐藏显示 if (hideUnselfScore=='false' && pageSource == 'PERSONHISTORY'){ myScoreName=fieldList[i].showName; myScoreModel={ name: fieldName, index: fieldName, width: 70, align: "left", sortable: true, editable: canEditField, required: required, classes: classes, // formatter: 'numberField' hidden: false, // 已评分默认显示评分列 } }else if (scoreOrRate == 0 || (scoreOrRate == 1 && area[tabIndex].subAreaType == '1')){ myName.push(fieldList[i].showName+'\\<\/span\>'); myModel.push({ name: fieldName, index: fieldName, width: 70, align: "left", sortable: true, editable: canEditField, required: required, classes: classes, // formatter: 'numberField' hidden: entryType === 'viewEvaForm' ? true : (thisIsRejection ? true : false), // 既有打分又有否决项指标的区域,隐藏打分列,显示混合字段列 }); } } // 组装表格字段名称属性 if(scoreOrRate == 1 && !thisAllIsRejection && thisIsRejection && area[tabIndex].subAreaType !== '1'){ // 打等级、选是否存在混合字段列 //myName.push('等级/是否存在'); myName.push(jsBizMultLan.perfweb_perfscoreNew_zw20201229_i18n_06); myModel.push({ name: 'gradeORrejection', index: 'gradeORrejection', width: 100, align: "left", sortable: true, editable: canEditTable, hidden:entryType === 'viewEvaForm' ? true :false }); } if(scoreOrRate == 1 && !thisAllIsRejection && area[tabIndex].subAreaType !== '1'){ // 既有打等级又有否决项指标的区域,隐藏等级列,显示混合字段列 //myName.push('等级'); myName.push(jsBizMultLan.perfweb_perfscoreNew_zw20201229_i18n_07); myModel.push({ name: 'nodeGrade', index: 'nodeGrade', width: 100, align: "left", sortable: true, editable: canEditTable, edittype: 'shrselect', editoptions: { selectJson: { data: gradeOption }, enumSource: { data: gradeOption } }, formatter: 'shrtext', hidden: entryType === 'viewEvaForm' ? true : (thisIsRejection|| areaNeedScore=='0' ? true : false) }); } } // 定性/定量、可见性、否决项 else if(fieldName == "FQUALIORRATION" || fieldName == 'FISVISIBLE' || fieldName == 'FREJECTION'){ myName.push(fieldList[i].showName); myModel.push({name:fieldName, index:fieldName, width:10, hidden:true}); if(fieldName == "FREJECTION" && thisIsRejection){ // 否决项 myName.push( //'是否存在' jsBizMultLan.perfweb_perfscoreNew_zw20210105_i18n_01 ); myModel.push({ name: 'isRejection', index: 'isRejection', width: 100, align: "left", sortable: true, editable: canEditField, edittype: 'shrselect', required: required, classes: classes, editoptions: { selectJson: { //data: [{value:"0",alias:"否",isenum:false},{value:"1",alias:"是",isenum:false}], data: [{value:"0",alias:jsBizMultLan.perfweb_perfscoreNew_zw20201229_i18n_09,isenum:false},{value:"1",alias:jsBizMultLan.perfweb_perfscoreNew_zw20201229_i18n_10,isenum:false}], onChange: function(){ var $this = $(this); if($this.shrSelect('getValue').value == '1'){ //shr.showConfirm('若存在否决项,将直接影响最终得分,确定要选择吗?', function () { shr.showConfirm(jsBizMultLan.perfweb_perfscoreNew_zw20201229_i18n_08, function () { calcTotoalScore(gradeTaskNode); },function(){ $this.shrSelect('setValue','0'); }); }else{ setTimeout(function(){ calcTotoalScore(gradeTaskNode); },100) } } }, enumSource: { //data: [{value:"0",alias:"否",isenum:false},{value:"1",alias:"是",isenum:false}] data: [{value:"0",alias:jsBizMultLan.perfweb_perfscoreNew_zw20201229_i18n_09,isenum:false},{value:"1",alias:jsBizMultLan.perfweb_perfscoreNew_zw20201229_i18n_10,isenum:false}] } }, formatter: 'shrselect', hidden: entryType === 'viewEvaForm' ? true : (thisAllIsRejection ? false : true),// 既有打等级或评分又有否决项指标的区域,隐藏否决项列,显示混合字段列 }); } if(fieldShowLocation === '10' && fieldName !== 'FREJECTION'){ myName.push(fieldList[i].showName); myModel.push({ name: fieldName+'Text', index: fieldName+'Text', width: 100, align: "left", sortable: true, classes: canEditTable ? 'disabled': '', }); } } // 评分公式,用于判断定量指标是否有评分公式 else if(fieldName == "FSCORINGFORMULA"){ myName.push(fieldList[i].showName); myModel.push({ name: fieldName, index: fieldName, width: 120, align: "left", sortable: true, editable: false, required: required, classes: classes, hidden: fieldShowLocation === '10' ? false : true }); } // 字段类型为是否、选择项 else if(fieldShowLocation === '10' && (fieldType == 'Boolean' || fieldType == 'Select')){ var fieldOptions = []; if(fieldType == 'Boolean'){ // [{value:"0",alias:"否",isenum:false},{value:"1",alias:"是",isenum:false}] fieldOptions = [{value:"0",alias:jsBizMultLan.perfweb_perfscoreNew_zw20201229_i18n_09,isenum:false},{value:"1",alias:jsBizMultLan.perfweb_perfscoreNew_zw20201229_i18n_10,isenum:false}]; }else{ var options = fieldList[i].options; $.each(options,function(i,item){ fieldOptions.push({ value: item.key, alias: item.value }) }) } myName.push(fieldList[i].showName); myModel.push({ name: fieldName, index: fieldName, width: 100, align: "left", sortable: true, editable: canEditField, edittype: 'shrselect', required: required, classes: classes, editoptions: { selectJson: { data: fieldOptions, onChange: function(){ } }, enumSource: { data: fieldOptions } }, formatter: 'shrselect', hidden: isHidden , }); } // 字段类型为长文本 + 实际完成值、目标值 else if(fieldShowLocation === '10' && (fieldType == 'LongText' || fieldName == 'FACTUALCOMPLEVALUE' || fieldName == 'FTARGETVALUE')){ isExistComment = fieldName == "FCOMMENT" ? 1 : 0; var fw = 400; if(fieldName == 'FNAME' || fieldName == 'FKEYITEM'){ fw = 150; } myName.push(fieldList[i].showName); myModel.push({ name: fieldName, index: fieldName, width: fw, align: "left", sortable: true, editable: canEditField, edittype: 'wafTextArea', fillOverwrite: fillOverwrite, hidden: (entryType === 'viewEvaForm' && fieldName == "FCOMMENT") || isHidden ? true : false, required: required, classes: classes, formatter: function(val,msg){ return '
    '+(val?val:'')+'
    '; } }); } // 字段类型为短文本、数字 else if(fieldShowLocation === '10' && (fieldType == 'Text' || fieldType == 'Number')){ myName.push(fieldList[i].showName+(fieldName == "FWEIGHT" ? '(%)' : '')); myModel.push({ name: fieldName, index: fieldName, width: fieldList[i].fieldType === 'Text' ? 120 : 90, align: "left", sortable: true, editable: canEditField, hidden: isHidden, fieldType: fieldType, fillOverwrite: fillOverwrite, required: required, classes: classes, formatter: function(val,msg){ var text = val; var fieldType = msg.colModel.fieldType; if(fieldType === 'Text'){ text = '
    '+val+'
    '; } return text; } }); } // 字段类型为日期 else if(fieldShowLocation === '10' && (fieldType == 'Date' || fieldType == 'Time' || fieldType == 'TimeStamp')){ if(fieldShowLocation === '10'){ myName.push(fieldList[i].showName); myModel.push({ name: fieldName, index: fieldName, width: 100, align: "left", sortable: true, editable: canEditField, edittype: 'shrDateTimePicker', hidden : isHidden, fieldType: fieldType, required: required, classes: classes, editoptions: { datepickerjson: { ctrlType: fieldType } }, formatter: function(val,msg){ return window.dateTimePickerService.transformUTCDate(val,true,'',{ctrlType: msg.colModel.fieldType}) } }); } } // 其他默认显示在列表的字段 else if(fieldShowLocation === '10'){ var fw = 120; if(fieldList[i].fieldType === 'LongText'){ fw = 300; } myName.push(fieldList[i].showName); myModel.push({ name: fieldName, index: fieldName, width:fw, align: "left", sortable: true, hidden: isHidden, fieldType: fieldType, classes: canEditTable ? 'disabled': '', formatter: function(val,msg){ var text = val; var fieldType = msg.colModel.fieldType; if(typeof val === "object"){ text = val.name; }else if(fieldType === 'Text' || fieldType === 'LongText' || fieldType === 'Unknown'){ text = '
    '+val+'
    '; }else if(fieldType == 'Boolean'){ text = val === '0' ? jsBizMultLan.perfweb_perfscoreNew_zw20201229_i18n_09 : jsBizMultLan.perfweb_perfscoreNew_zw20201229_i18n_10; }else if(fieldType == 'Date' || fieldType == 'Time' || fieldType == 'TimeStamp'){ text = window.dateTimePickerService.transformUTCDate(val,true,'',{ctrlType: msg.colModel.fieldType}); } return text; } }); } // 扩展字段加上是否覆盖填写字段值 if(fieldName.indexOf('FEXTEND') > -1 && fieldShowLocation === '10'){ myName.push('fillOverwrite'); myModel.push({name:'fillOverwrite_'+fieldName, index:'fillOverwrite_'+fieldName, width:10, hidden:true}); } } //打分字段后置,放在操作前面 if (hideUnselfScore=='false' && pageSource == 'PERSONHISTORY' && !thisAllIsRejection){ myName.push(myScoreName); myModel.push(myScoreModel); } var otherFieldName = jsBizMultLan.perfweb_perfscore_1637291044_i18n_01 ; //当前页面类型:评分页面:'1',查看考核历史页面:'2',专业应用查看评估表:'3' if(pageSource !=undefined && pageSource=="PERSONHISTORY"){ otherFieldName = jsBizMultLan.perfweb_perfscore_1637291044_i18n_02 ; } else if(pageSource == undefined && viewMode ==undefined){ otherFieldName = jsBizMultLan.perfweb_perfscore_1637291044_i18n_01 ; } else if(pageSource !=undefined && (viewMode == 'viewEvaReport' || viewMode == 'viewAllEffective')){ otherFieldName = jsBizMultLan.perfweb_perfscore_1637291044_i18n_02 ; } myName.push('FID','canEdit','canNegative','canVeto','gradeTaskNode','canOverSumRange','lowLimit','uperLimit','overRange', //'操作' /*jsBizMultLan.perf_perfscoreNewJuicer_1586255741045_i18n_2,*/otherFieldName,jsBizMultLan.perfweb_perfscore_1637291044_i18n_01,'subAreaType','areaAddSub','areaAddSubDown','areaAddSubUp','targetAddSub','targetAddSubDown','targetAddSubUp' ); myModel.push( {name:'id', index:'id', width:10, hidden:true}, {name:'canEdit', index:'canEdit', width:10, hidden:true}, {name:'canNegative', index:'canNegative', width:10, hidden:true}, {name:'canVeto', index:'canVeto', width:10, hidden:true}, // 判断是否可以打否决项canVeto = 2时可以 // {name:'otherScoreList', index:'otherScoreList', width:10, hidden:true}, {name:'gradeTaskNode', index:'gradeTaskNode', width:10, hidden:true}, {name:'canOverSumRange', index:'canOverSumRange', width:10, hidden:true}, {name:'lowLimit', index:'lowLimit', width:10, hidden:true}, {name:'uperLimit', index:'uperLimit', width:10, hidden:true}, {name:'overRange', index:'overRange', width:10, hidden:true}, // {name: 'operation', index: 'operation', width: 60, align: "center", sortable: false, formatter: function(){ // //var btntext = '查看其他人评分'; // var btntext = jsBizMultLan.perfweb_perfscoreNew_zw20201229_i18n_11; // if(entryType === 'viewEvaForm'){ // //btntext = '查看评分详情'; // btntext = jsBizMultLan.perfweb_perfscoreNew_zw20201229_i18n_12; // } // return ''+btntext+'' // },}, {name:'preNodeScoreList', index:'preNodeScoreList', width:100, hidden:true}, {name:'nodeInfoList', index:'nodeInfoList', width:180, hidden: false,classes: canEditTable ? 'disabled': '',formatter: function(value,mmodel,rowData){ // hideUnselfScoring === 'true' ? true : false var nodeInfoList = rowData.nodeInfoList ? JSON.parse(rowData.nodeInfoList) : []; var flag = false; $.each(nodeInfoList, function(i, data){ if(hideUnselfScoring === "false" || (hideUnselfScoring === "true" && data.nodeHandlerId === personId)){ if(data.comment){ flag = true; return false; } } }) var temp = [ '
    ', '
      ', '{@each rows as item,i}', // BT-00650981 绩效工作台—组织/员工目标评分——列表页面:其他评分人信息 打等级的就显示等级,后面多一个“分”字 // 判断是打等级还是打分,不同展示 jianyu_zhang 2022.02.10 '{@if hideUnselfScoring === "false" || (hideUnselfScoring === "true" && item.nodeHandlerId === personId)}', '
    • ', '{@if item.nodeName}(${item.nodeName}){@/if}${item.handlerName}:', '{@if isRejection == 1 }', '${item.isRejection.alias} ', '{@else}', '{@if item.needScore != "0"}',// 增加评分展示控制,不评分的不展示分数(包括定量指标) '{@if item.score !== undefined && item.score !== null && item.score !== ""}', //分 '${item.score}'+ jsBizMultLan.perfweb_perfscoreNew_ht_20220419_20, '{@else if item.gradeRank != undefined && item.gradeRank != null && item.gradeRank != ""}', '${item.gradeRank}', '{@/if}', '{@/if}', '{@/if}', '
    • ', '{@/if}', //指标评语 '{@if item.comment}', '
    • ', ''+jsBizMultLan.perfweb_perfscoreNew_ht_20220414_36+':', '
    • ', '
    • ${item.comment}
    • ', '{@/if}', '{@each fieldList as it,j}', '{@if it.colName.indexOf("FEXTEND") > -1 && it.fieldMaintenanceShow !== "3" && it.fillOverwrite === "0"}', '
    • ', '${it.showName}:', '{@if item[it.colName]}', '
      ${item[it.colName]}
      ', '{@/if}', '
    • ', '{@/if}', '{@/each}', '{@/each}', '
    ', '
    ', flag ? '
    ': '' ].join(''); var tempDom = juicer(temp,{rows: nodeInfoList,isRejection: rowData.FREJECTION,hideUnselfScoring: pageSource === 'PERSONHISTORY'? 'false': hideUnselfScoring,personId: personId,fieldList: rowData.currIndiDetail.fieldList}); return tempDom; }}, {name:'subAreaType', index:'subAreaType', width:10, hidden:true}, {name:'areaAddSub', index:'areaAddSub', width:10, hidden:true}, {name:'areaAddSubDown', index:'areaAddSubDown', width:10, hidden:true}, {name:'areaAddSubUp', index:'areaAddSubUp', width:10, hidden:true}, {name:'targetAddSub', index:'targetAddSub', width:10, hidden:true}, {name:'targetAddSubDown', index:'targetAddSubDown', width:10, hidden:true}, {name:'targetAddSubUp', index:'targetAddSubUp', width:10, hidden:true} ); if(isExistComment == 1){ myName.push('commentName'); // 存储指标评语名称字段 myModel.push({name:'commentName', index:'commentName', width:10, hidden:true}); } // 组装数据 var myData = that._getMyData(indicator,scoreOrRate,area,tabIndex,msgdata,fieldList,areaNeedScore); tabData = myData.tabData; scoreTipsText = myData.scoreTipsText; // var showFieldWidth = 0; // myModel.forEach(function(item){ // if(!item.hidden){ // showFieldWidth += item.width; // } // }) // var shrinkToFit = showFieldWidth < $('.scoretabwrap').eq(0).width() ? true : false; var showFieldWidth = 0; var show_count = 0,text_count = 0; var tabwidth = $('.scoretabwrap').eq(0).width(); myModel.forEach(function(item){ if(!item.hidden){ showFieldWidth += item.width; show_count ++; // 默认显示字段个数 if(item.edittype == "wafTextArea" || (item.edittype == "shrtext" && item.fieldType == 'Text')){ text_count ++ ; // 文本类型字段个数 } } }) var shrinkToFit = showFieldWidth < tabwidth ? true : false; if(shrinkToFit){ var w1 = tabwidth - showFieldWidth - 34 - show_count * 6; // 可按比例分配宽度 34:复选框列 6:单元格左右内边距 var w2 = (w1/text_count).toFixed(2) - 6; // 每个长文本可分配的宽度 if(w1 != 0){ myModel.forEach(function(item, i){ if(!item.hidden && item.name != 'nodeInfoList' && (item.edittype == "wafTextArea" || (item.edittype == "shrtext" && item.fieldType == 'Text'))){ myModel[i].width = myModel[i].width + Number(w2); // 新列宽 } }) } } return { tabData: tabData, myName: myName, myModel: myModel, shrinkToFit: that.getShrinkToFit(shrinkToFit), scoreTipsText: scoreTipsText }; }, // 二开扩展点,true没有滚动条,false有滚动条 getShrinkToFit: function(shrinkToFit){ return shrinkToFit; }, _beforeEditCell: function(rowid, cellname, value, iRow, iCol, _grid){ if(lastTable != _grid.attr('id')){ if(lastTable){ $('#'+lastTable).jqGrid('editStop'); } lastTable = _grid.attr('id'); } }, _afterEditCell: function(rowid, cellname, value, iRow, iCol, _grid){ var rowData = _grid.jqGrid('getOriginalRowData',rowid); var colAttr = _grid.getColProp(cellname); var fieldType = colAttr.fieldType; if(cellname == 'scoreORrejection' || cellname == 'gradeORrejection' || cellname == 'nodeGrade' || cellname == 'isRejection'){ if(rowData.FREJECTION == 1){ $('#'+iRow+'_'+cellname).shrSelect({ id: iRow+'_'+cellname, //data: [{value:"0",alias:"否",isenum:false},{value:"1",alias:"是",isenum:false}], data: [{value:"0",alias:jsBizMultLan.perfweb_perfscoreNew_zw20201229_i18n_09,isenum:false},{value:"1",alias:jsBizMultLan.perfweb_perfscoreNew_zw20201229_i18n_10,isenum:false}], value: rowData.isRejection, onChange: function(){ var $this = $(this); if($this.shrSelect('getValue').value == '1'){ //shr.showConfirm('若存在否决项,将直接影响最终得分,确定要选择吗?', function () { shr.showConfirm(jsBizMultLan.perfweb_perfscoreNew_zw20201229_i18n_08, function () { _grid.jqGrid('setCell', rowData.id, 'isRejection','1'); calcTotoalScore(gradeTaskNode); $('.vetomsg').show(); },function(){ $this.shrSelect('setValue','0'); _grid.jqGrid('setCell', rowData.id, 'isRejection','0'); }); }else{ setTimeout(function(){ calcTotoalScore(gradeTaskNode); if(that.judgeWheatherThereisVetos()){ $('.vetomsg').show(); }else{ $('.vetomsg').hide(); } },100) } } }) }else{ if(cellname == 'gradeORrejection' || cellname == 'nodeGrade'){ var cellVal = ''; $('#'+iRow+'_'+cellname).shrSelect({ id: iRow+'_'+cellname, data: gradeOption, // value: cellVal, onChange: function(){} }) } } } // if(cellname == 'FACTUALCOMPLETETIME'){ // initDateEven(iRow+'_'+cellname,0); // } // 单元格有滚动条时编辑取值修改 if(value.indexOf('class="cell-height scrollbarthin"') > -1){ if(fieldType === 'Text'){ _grid.find('#'+iRow+'_'+cellname).attr('maxlength',''); } _grid.find('#'+iRow+'_'+cellname).val($(value).text()); } }, _afterSaveCell: function(rowid, cellname, value, iRow, iCol, _grid){ var rowData = _grid.jqGrid('getOriginalRowData',rowid); if(rowData.FREJECTION == 1){ if(cellname == 'scoreORrejection'){ //_grid.jqGrid('setCell', rowData.id, 'isRejection',rowData.scoreORrejection == '是' ? '1' : '0'); _grid.jqGrid('setCell', rowData.id, 'isRejection',rowData.scoreORrejection == jsBizMultLan.perfweb_perfscoreNew_zw20201229_i18n_10 ? '1' : '0'); }else if(cellname == 'gradeORrejection'){ //_grid.jqGrid('setCell', rowData.id, 'isRejection',rowData.gradeORrejection == '是' ? '1' : '0'); _grid.jqGrid('setCell', rowData.id, 'isRejection',rowData.gradeORrejection == jsBizMultLan.perfweb_perfscoreNew_zw20201229_i18n_10 ? '1' : '0'); } // that.judgeWheatherThereisVetos(); }else{ if(cellname == 'scoreORrejection'){ // 在此处校验分数是否合法 if(value == ''){ _grid.jqGrid('setCell', rowData.id, 'FSCORE',null); }else{ _grid.jqGrid('setCell', rowData.id, 'FSCORE',rowData.scoreORrejection); inputOnblur(rowid, cellname, value, iRow, iCol, rowData, _grid) } }else if(cellname == 'gradeORrejection' || cellname == 'nodeGrade'){ var cellAlias = ''; var cellValue = ''; for(var i = 0; i < gradeOption.length; i++){ if(rowData.gradeORrejection == gradeOption[i].alias | rowData.nodeGrade == gradeOption[i].value){ cellAlias = gradeOption[i].alias; cellValue = gradeOption[i].value; break; } } _grid.jqGrid('setCell', rowData.id, 'nodeGrade',cellValue); // calcTotoalScore(gradeTaskNode);//[BT-01364238]打等级:算分,接口重复调用,注释掉 _grid.jqGrid('setCell', rowData.id, 'nodeGrade',cellAlias); } /*else if(cellname == 'nodeGrade'){//评等级情况下自动计算总分 calcTotoalScore(gradeTaskNode); }*/ } if(cellname == 'FACTUALCOMPLEVALUE' || cellname == 'FTARGETVALUE' || cellname == 'FACTUALCOMPLETEDESC' || cellname == 'FSCORE' || cellname == 'FCOMMENT' || cellname.indexOf('FEXTEND') > -1){ // 值校验 inputOnblur(rowid, cellname, value, iRow, iCol, rowData, _grid) } }, _loadComplete: function (data, _grid, scoreTipsText) { if(_grid.height() > 500){ _grid.jqGrid('setGridHeight',500); } _grid.closest('.scoretabwrap').find('.score-tips').perfTips({ content: scoreTipsText, defaultWidth: 250, defaultHeight: 80 }) var needScoreTmp = 0; var perfGradeEvaluateTmp = 0; for(var m=0; m -1 && fillOverwrite === '0'){ tabData[j][fieldName] = tabData[j]['currIndiDetail'][fieldName] || ''; } else{ tabData[j][fieldName] = indicator[j][fieldName]; } // 组装覆盖填写参数值 if(fieldName.indexOf('FEXTEND') > -1){ tabData[j]['fillOverwrite_'+fieldName] = fillOverwrite; } } // tabData[j]['otherScoreList'] = JSON.stringify(msgdata); // 区域节点为不评分,则不展示分数 if(areaNeedScore == "0" && pageSource !== 'PERSONHISTORY'){ tabData[j]['FSCORE'] = null; } } var myData = { tabData: tabData, scoreTipsText: scoreTipsText } return myData; }, // 判断是否存在否决项,存在显示整体评价处的提示,不存在隐藏 judgeWheatherThereisVetos: function(){ var htmlObj = $(".scoretabs"); var flag = false; // 不存在否决项 for(var i = 0; i < htmlObj.length; i++){ var idata = $('#scoreTab_'+i).jqGrid('getRowData'); for(var j = 0; j < idata.length; j++){ if(idata[j].isRejection == 1){ // 是否决项 flag = true; break; } } if(flag){ // 存在否决项 break; } } if(flag){ if($('#wholeComment .vetomsg').length == 0){ //$('#totalScore').after('存在否决项'); $('#totalScore').after(''+jsBizMultLan.perfweb_perfscoreNew_zw20201229_i18n_13+''); }else{ $('#wholeComment .vetomsg').show(); } }else{ $('#wholeComment .vetomsg').hide(); } return flag; }, //加载当前节点和之前节点对选中目标的评分信息 getCurrentAndPrevScoreMsg: function(FID){ var msgdata = []; that.remoteCall({ method: "getCurrentAndPrevScore", async: false, param: { gradeTaskNode: gradeTaskNode, evaObj: evaObj, handlerId: personId, currentNodeLevel: currentNodeLevel, indicatorId: FID, myType: myType, viewMode: viewMode, isModifyScore: isModifyScore }, async: false, success: function (data) { if (data != null) { msgdata = data; } } }); return msgdata; }, //加载当前节点的评分参数 getCurrentScoreParams: function(){ //当前页面类型:评分页面:'1',查看考核历史页面:'2',专业应用查看评估表:'3' var _currentPageType = '1'; if(pageSource !=undefined && pageSource=="PERSONHISTORY"){ _currentPageType = '2'; } else if(pageSource == undefined && viewMode ==undefined){ _currentPageType = '1'; } else if(pageSource !=undefined && (viewMode == 'viewEvaReport' || viewMode == 'viewAllEffective')){ _currentPageType = '3'; } var params = []; that.remoteCall({ method: "getCurrentScoreParams", async: false, param: { gradeTaskNode: gradeTaskNode, evaObj: evaObj, viewMode: viewMode, currentPageType:_currentPageType, //yien BT-00646275 切换其他评估对象,返回来指标分数不展示了 combineGradeTaskIds: combineGradeTaskIds.join(',') }, async: false, success: function (data) { if (data != null) { params = data; } } }); return params; }, /** * 删除一条指标 */ delgoal: function () { $('.delgoal').unbind('click').bind('click', function () { var parent = $(this).closest('li'); var list = $('.scoreMenuWrap li'); var index = $('.scoreMenuWrap li').index(parent); var prev = list.eq(index - 1); var next = list.eq(index + 1); if ((index - 1) > -1) { //有上一条数据 prev.click(); } else if ((index + 1) < $('.scoreMenuWrap li').length) { //有下一条数据 next.click(); } else { //没有数据 $('.scoreContentbox').html(''); promptImages($('.scoreContentbox'), jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_32); } parent.remove(); }) }, /** * 展开他人评分 */ spreadScore: function () { $('.spreadothers').unbind('click').bind('click', function () { if ($(this).hasClass('spreadbox')) { $(this).prev('.othersScoreBox').hide(); $(this).removeClass('spreadbox'); //$(this).html('展开他人评分'); $(this).html(jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_52); if (self != top) { parent.setIframeHeight('myHistoryIframe'); } } else { // var height=$('.innerWrap').innerHeight(); $(this).prev('.othersScoreBox').show(); $(this).addClass('spreadbox'); $(this).html( //'收起' jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_47 ); if (self != top) { parent.setIframeHeight('myHistoryIframe'); } } }) }, /* * 个人考核历史参数控制 * */ personHistoryParamControl : function(){ //根据视图设置参数,对页面展示进行控制(我的考核历史) if(pageSource !=undefined && pageSource=="PERSONHISTORY"){ // var hideUnselfScore = $("#hideUnselfScore").text(); if(hideUnselfScore == 'true'){ //参数控制 隐藏非本人节点打分、评语及否决项 $("input[name='evaScore'][isself='0']").closest('div.row1.paddingbox').hide(); //BT1436623 绩效工作台--我的考核历史--视图参数这些不起作用了 $("span[name='evaScore'][isself='0']").closest('div.row1.paddingbox').hide(); $("span[isveto='veto'][isself='0']").closest('div.row1.paddingbox').hide();//否决项 } // var hideUnselfWholeScore = $("#hideUnselfWholeScore").text(); if(hideUnselfWholeScore == 'true'){ $("div[name='wholeScore'][isself='0']").hide(); } // var hideUnselfWholeGrade = $("#hideUnselfWholeGrade").text(); if(hideUnselfWholeGrade == 'true'){ $("div[name='editScoreDiv'][isself='0']").hide(); } //整体评价 连同评分人和评语一并隐藏hideUnselfWholeScore if (hideUnselfWholeScore == 'true' && hideUnselfWholeGrade == 'true') { $("div[name='wholeScore'][isself='0']").parent().hide(); $("div[name='editScoreDiv'][isself='0']").parent().hide(); } } //针对打分过程,隐藏非本人打分情况,自评或者他评时 if(pageSource==""&&(entryType==""||entryType=="myselfEvalu"||entryType=="viewMyScoreForm")){ if(hideUnselfScoring == 'true'){ $("label[name='nodeHandlerId']").each(function(j,item){ if($(item).attr("value")!=personId){ $(item).parent().hide(); } }); } // var hideUnselfWholeScore = $("#hideUnselfWholeScore").text(); if(hideUnselfWholeScoring == 'true'){ $("label[name='WholenodeHandlerId']").each(function(j,item){ if($(item).attr("value")!=personId){ $(item).parent().children("div[name='wholeScore']").hide(); } }); } // var hideUnselfWholeGrade = $("#hideUnselfWholeGrade").text(); if(hideUnselfWholeGrading == 'true'){ $("label[name='WholenodeHandlerId']").each(function(j,item){ if($(item).attr("value")!=personId){ $(item).parent().children("div[name='editScoreDiv']").hide(); } }); } //整体评价 hideUnselfWholeCommenting if(hideUnselfWholeCommenting == 'true'){ $("label[name='WholenodeHandlerId']").each(function(j,item){ if($(item).attr("value")!=personId){ $(item).parent().children("div[name='editTextareaDiv']").hide(); } }); } //整体评价 hideUnselfWholeCommenting if(hideUnselfWholeScoring == 'true'&&hideUnselfWholeGrading == 'true'&&hideUnselfWholeCommenting == 'true'){ $("label[name='WholenodeHandlerId']").each(function(j,item){ if($(item).attr("value")!=personId){ $(item).parent().hide(); } }); } } }, //正态分布信息 getDistributionInfo: function () { if (isTeamEvalu != 1) { return; } //正态分布信息 if (isShowDistribution == '1') {//必须打等级 that.remoteCall({ method: "getDistributionInfo", param: {periodId: periodId}, async: true, success: function (data) { if (data) { var perfPeriod = data.perfPeriod; var perfPlan = data.perfPlan; var all = data.all; var scored = data.scored; var distributionInfoDivDom = $("#distributionInfoDiv"); distributionInfoDivDom.remove(); var distributionInfoHtml = '
    \n' + ' \n' + ' \n' + ' \n'; if (data.leveStrMap) { distributionInfoHtml = distributionInfoHtml + '\n'; $.each(data.leveStrMap, function (k, v) { distributionInfoHtml = distributionInfoHtml + '\n'; }); distributionInfoHtml = distributionInfoHtml + '\n'; } distributionInfoHtml = distributionInfoHtml + '
    ' + perfPlan + ' ' + perfPeriod //+ ' 需评价' + all + '人, ' + '已评分' + scored + '人, ' + '已评分等级分布情况如下:' + shr.formatMsg(jsBizMultLan.perfweb_perfscoreNew_zw20201229_i18n_14, [all]) + ''+shr.formatMsg(jsBizMultLan.perfweb_perfscoreNew_zw20201229_i18n_15, [scored])+' ' + jsBizMultLan.perfweb_perfscoreNew_zw20201229_i18n_16 '
    ' + k + '(' + v + ')
    '; // $(distributionInfoHtml).insertBefore($(".distributionInfo")); $('#content').prepend(distributionInfoHtml); } //console.log(data); } }); } }, /** * 初始化配置参数 */ initConfigData:function(){ isManualJudgeGrade= this.initData.isManualJudgeGrade;//单人评分页面-是否手工调整等级 isShowLevelScoreRange= this.initData.isShowLevelScoreRange;//单人评分页面-录入等级是否显示分数 // scoreLocate= this.initData.scoreLocate;// 单人评分页面-打分默认为定位位置 isShowAuditedWholeForm= this.initData.isShowAuditedWholeForm;//已评分列表-是否允许查看后续已审核节点评分详情 // isAutoSubmitVal= this.initData.isAutoSubmit;//单人评分页面-相邻节点同一人直接提交 // rateIsAutoCaluWholeGrade= this.initData.rateIsAutoCaluWholeGrade;//单人评分页面-是否自动计算整体评价等级 hideUnselfWholeGrade= this.initData.hideUnselfWholeGrade;//单人评分页面-是否隐藏非本人整体评价等级 hideUnselfWholeScore= this.initData.hideUnselfWholeScore;//单人评分页面-是否隐藏非本人整体评价总分 hideReviseResultVal= this.initData.hideReviseResult;//单人评分页面-是否隐藏修订结果 // hideConfirmResultVal= this.initData.hideConfirmResult;//单人评分页面-是否隐藏确认按钮及列表确认状态 hideUnselfScore= this.initData.hideUnselfScore;//单人评分页面-是否隐藏非本人节点得分或等级 hideReviseReasonVal= this.initData.hideReviseReason;//单人评分页面-是否隐藏修订原因 // scoreAndCommentDisplayMode= this.initData.scoreAndCommentDisplayMode;//单人评分页面-评分评语显示模式 // hideAppealResultVal= this.initData.hideAppealResult;//单人评分页面-是否隐藏申诉按钮及列表申诉状态 hideAppealResult= isOrg=="0"?this.initData.khjgqrAppeal:this.initData.zzkhjgqrAppeal;//单人评分页面-是否隐藏申诉按钮 hideConfirmResult= isOrg=="0"?this.initData.khjgqrConfirm:this.initData.zzkhjgqrConfirm;//单人评分页面-是否隐藏确认按钮 hideUnselfScoring =this.initData.hideUnselfScoring;//单人评分页面-是否隐藏非本人节点得分或等级(针对打分过程) hideUnselfWholeGrading =this.initData.hideUnselfWholeGrading;//单人评分页面-是否隐藏非本人整体评价等级(针对打分过程) hideUnselfWholeScoring=this.initData.hideUnselfWholeScoring;//单人评分页面-是否隐藏非本人整体评价总分(针对打分过程) hideUnselfWholeCommenting=this.initData.hideUnselfWholeCommenting;//单人评分页面-是否隐藏非本人整体评价评论(针对打分过程) if (isNumber(this.initData.uploadAttachSize)){ uploadAttachSize= this.initData.uploadAttachSize;//附件上传大小 } //隐藏节点处理人权重 if (this.initData.hideHandlerWeight=='false'&& pageSource=='PERSONHISTORY'){ //评分时的列表概览权重 hideNodeWeight ='false'; } if (this.initData.hideNodeWeight =='false' && pageSource!='PERSONHISTORY'){ //我的考核历史列表概览权重 hideNodeWeight ='false'; } } }) //校验列表字段值 function inputOnblur(rowid, cellname, value, iRow, iCol, rowData, _grid) { var tr = _grid[0].rows.namedItem(rowid), td = tr.cells[iCol], startGradeTaskNode = rowData.gradeTaskNode,flag = true; var objVal = value; var colAttr = _grid.getColProp(cellname); var fieldType = colAttr.fieldType; if (objVal) { objVal = objVal.trim(); } var errObj = new Object(); var indicator = rowData.id; errObj.indicator = indicator; errObj.errorType = cellname; existInArrThenDelete(_noPassVerifyArr, errObj); var inputObj = $("input[indicator='" + indicator + "']"); _gcanOverRang = rowData.canOverSumRange; _gcanNegative = rowData.canNegative; _glowLimit = parseFloat(rowData.lowLimit); _gupLimit = parseFloat(rowData.uperLimit); _overRang = parseFloat(rowData.overRange); _ftarscore= parseFloat(rowData.FTARSCORE); _subAreaType = rowData.subAreaType; _areaAddSub = rowData.areaAddSub; _areaAddSubDown = rowData.areaAddSubDown; _areaAddSubUp = rowData.areaAddSubUp; _targetAddSub = rowData.targetAddSub; _targetAddSubDown = rowData.targetAddSubDown; _targetAddSubUp = rowData.targetAddSubUp; // if(!objVal){ // return false; // } // objVal = Number(objVal); if((cellname == 'FACTUALCOMPLEVALUE' || cellname == 'FTARGETVALUE') && rowData.FQUALIORRATION === '1'){ // 定量校验目标值和实际完成值字段类型为数值型 flag = isNumberVerify2(value,1); if(!false){ // 定性指标可输入其他类型 //提示语 // 请输入最多两位小数的数字 errObj.errortext = jsBizMultLan.perfweb_perfscoreNew_20210926ht_20; } }else if(cellname == 'FACTUALCOMPLETEDESC' || cellname === 'FCOMMENT' || fieldType === 'Text' || fieldType === 'LongText'){ if(value.length > 2000){ flag = false; errObj.errortext = shr.formatMsg(jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_48, [2000]); } }else if(cellname == 'scoreORrejection' || cellname == 'FSCORE'){ // 校验打分 objVal = Number(objVal); var dataReg = /^(-?\d+)(\.\d+)?$/; //浮点数 if (!dataReg.test(objVal)) { //errObj.errortext = '请输入数值!'; errObj.errortext = jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_36; flag = false; } else { //加减分的特殊处理 if (_subAreaType == "1") { var flag0 = true; if (_targetAddSub = "1") { if (flag0 && "" != _targetAddSubDown && parseFloat(_targetAddSubDown) > objVal) { errObj.errortext = $.perfwebI18n.tableConstant.msg12 + _targetAddSubDown; flag0 = false; } if (flag0 && "" != _targetAddSubUp && parseFloat(_targetAddSubUp) < objVal) { errObj.errortext = $.perfwebI18n.tableConstant.msg13 + _targetAddSubUp; flag0 = false; } } if (_areaAddSub == "1") { var liList = $(tr).parent().find("tr.ui-widget-content"); var areaSumScore0 = 0; if (liList && liList.length > 0) { for (var ii = 0; ii < liList.length; ii++) { var td = liList[ii].cells[iCol]; var s0 = $(td).text(); if (s0) { areaSumScore0 += parseFloat(s0); } } } if (flag0 && "" != _areaAddSubDown && parseFloat(_areaAddSubDown) > areaSumScore0) { errObj.errortext = $.perfwebI18n.tableConstant.msg14 + _areaAddSubDown; flag0 = false; } if (flag0 && "" != _areaAddSubUp && parseFloat(_areaAddSubUp) < areaSumScore0) { errObj.errortext = $.perfwebI18n.tableConstant.msg15 + _areaAddSubUp; flag0 = false; } } if(objVal > 99999.99){ errObj.errortext = shr.formatMsg($.perfwebI18n.tableConstant.msg20,[99999.99]) ; flag0 = false; } if(objVal < -99999.99){ errObj.errortext = shr.formatMsg($.perfwebI18n.tableConstant.msg21,[-99999.99]) ; flag0 = false; } if (flag0) { $(td).removeClass("errorval"); if (cellname == 'FSCORE') { calcTotoalScore(startGradeTaskNode); } _noPassVerifyArr = new Array(); } else { _grid.jqGrid('setCell', rowData.id, cellname, value, 'errorval'); shr.showWarning({ message: errObj.errortext, hideAfter: 3 }); _noPassVerifyArr.push(errObj); } return; } if (_gcanOverRang == 0) {//分数不能超出分制范围 if (_gcanNegative == 0) {//不允许负分 var reg = /^\d+(\.\d{1,2})?$/; if (!reg.test(objVal)) { //errObj.errortext = '请输入正数,可带2位小数!'; errObj.errortext = jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_37; flag = false; } else { if (globalIndicatorData.scoringWay == 1) { var scoreLimit = rowData.FTARSCORE; if (scoreLimit && parseFloat(objVal) > parseFloat(scoreLimit)) { //errObj.errortext = '分数大于目标分值上限,请重新输入!'; errObj.errortext = jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_18; flag = false; } } else { if (objVal < _glowLimit) { //errObj.errortext = '分数小于分制控制的分数下限,请重新输入!'; errObj.errortext = jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_19; flag = false; } else if (objVal > _gupLimit) { //errObj.errortext = '分数大于分制控制的分数上限,请重新输入!'; errObj.errortext = jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_17; flag = false; } } } } else { //允许为负分 if (globalIndicatorData.scoringWay == 1) { var scoreLimit = rowData.FTARSCORE; if (scoreLimit && parseFloat(objVal) > parseFloat(scoreLimit)) { //errObj.errortext = '分数大于目标分值上限,请重新输入!'; errObj.errortext = jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_18; flag = false; } } else { if (objVal < _glowLimit && objVal > 0) { //errObj.errortext = '分数小于分制控制的分数下限,请重新输入!'; errObj.errortext = jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_19; flag = false; } else if (objVal > _gupLimit) { //errObj.errortext = '分数大于分制控制的分数上限,请重新输入!'; errObj.errortext = jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_17; flag = false; } } } } else {//可正向超出分制范围 if(_overRang != null || _overRang != undefined){//勾选参数,不维护超出上限,那么打分时输入值不控制 if(globalIndicatorData.scoringWay == 1){ //按分值评分,“允许评分超出分值范围,超出上限□%“ var recordIndWeigVal = _ftarscore ; //指标分值 var limitUp = parseFloat((parseFloat(recordIndWeigVal)*(1+_overRang/100)).toFixed(2)); var limitLow = 0 - parseFloat((parseFloat(recordIndWeigVal) * (_overRang / 100)).toFixed(2)); if (isNumber(limitUp) && parseFloat(objVal) > limitUp) { errObj.errortext = jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_18; flag = false; } else if (isNumber(limitLow) && objVal < limitLow) { errObj.errortext = jsBizMultLan.perf_perfscoreNew_1629278085_i18n_19; flag = false; } } else{ var limitUp = parseFloat((_gupLimit + (_gupLimit - _glowLimit)*(_overRang/100)).toFixed(2)); var limitLow = parseFloat((_glowLimit - (_gupLimit - _glowLimit)*(_overRang/100)).toFixed(2)); if ( objVal < limitLow) { // $(_this).focus(); errObj.errortext = jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_19; flag = false; } else if (objVal > limitUp) { // $(_this).focus(); errObj.errortext = jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_17; flag = false; } } } if (_gcanNegative == 0) {//不允许负分 var reg = /^\d+(\.\d{1,2})?$/; if (!reg.test(objVal)) { //errObj.errortext = '请输入正数,可带2位小数!'; errObj.errortext = jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_37; flag = false; } } } } }else if(cellname.indexOf('FEXTEND') > -1){ if(fieldType === 'Number'){ flag = isNumberVerify(value,1); if(!flag){ errObj.errortext = jsBizMultLan.perfweb_perfscoreNew_20210926ht_20; } } } if(flag){ $(td).removeClass("errorval"); if(cellname == 'scoreORrejection' || cellname == 'FSCORE'){ calcTotoalScore(startGradeTaskNode); } }else{ _grid.jqGrid('setCell', rowData.id, cellname, value, 'errorval'); shr.showWarning({ message: errObj.errortext, hideAfter: 3 }); _noPassVerifyArr.push(errObj); } } function wholeCommentOnblur(_this) { var objVal = $(_this).val(); var msgShow = $("span[id='WHOLECOMMENT']"); var errObj = new Object(); existInArrThenDelete(_noPassVerifyArr, errObj); var commentLen = objVal.length; if (commentLen > 2000) {//限制目标评价为2000个字符 $(_this).focus(); //msgShow.text('指标评语最大支持2000个字符,您目前已输入'+commentLen+'个字符!'); msgShow.text( shr.formatMsg(jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_48, [2000])); msgShow.show(); _noPassVerifyArr.push(errObj); } else { msgShow.hide(); } } //目标评价长度校验 function targetCommentOnblur(_this,eventName) { var maxlength = 2000; var objVal = $(_this).val(); var msgShow = $('span.showmsg'); var errObj = new Object(); var indicator = $(_this).attr("indicator"); errObj.indicator = indicator; existInArrThenDelete(_noPassVerifyArr, errObj); var commentLen = objVal.length; if(eventName == 'propertychange'){ // propertychange事件 if (commentLen > maxlength) {//限制目标评价为2000个字符2000 $(_this).val(objVal.substr(0,maxlength)); objVal = $(_this).val(); commentLen = objVal.length; } msgShow.text(shr.formatMsg(jsBizMultLan.perfweb_perfscore_1586254513646_i18n_62, [commentLen,maxlength-commentLen])); msgShow.show(); }else{ // blur事件 msgShow.hide(); } } function existInArrThenDelete(arr, obj) { for (var i = 0; i < arr.length; i++) { if (arr[i].errorType) { if (arr[i].indicator == obj.indicator && obj.errorType == arr[i].errorType) { arr.splice(i, 1); } } else { if (arr[i].indicator == obj.indicator) { arr.splice(i, 1); } } } return; } //单击其他地方下拉选择框隐藏 $(document).click(function (e) { if (!$(e.target).hasClass('instructions') && !$(e.target).hasClass('instructionsboxwrap') && $(e.target).closest('.instructionsboxwrap').length < 1) { $(".instructionsboxwrap").fadeOut(); } }); //计算总分 function calcTotoalScore(startGradeTaskNode) { if (_noPassVerifyArr.length > 0) { // shr.showWarning({message: _noPassVerifyArr[0].errortext}); // //自动点击第一条评分不通过的指标 // $("li[numval='" + _noPassVerifyArr[0].indicator + "']").click(); return false; } // $(lastTable).jqGrid("saveCell",lastrow,lastcell); $('.scoretabs').each(function(index,tab){ $(tab).jqGrid('editStop'); }) var scoreObj = that.assembleScoreData(); if(!scoreObj){ return false; } var nodeSumScoreList; //保存评分 that.remoteCall({ /* method: "calcTotalScore", param: { scoreObj: JSON.stringify(scoreObj) },*/ method: "saveScore", param: { needScore:_needScore, scoreObj: JSON.stringify(scoreObj) }, async: false, //不能使用异步,下面要使用结果数据计算等级 success: function (data) { if (data != null && data.result == '200') { nodeSumScore = data.nodeSumScore; nodeGrade = data.nodeGrade; matrixDetail = data.detail; nodeSumScoreList = data.nodeSumScoreList; var gtnLen = nodeSumScoreList.length; for(var i=0; i 0) { selectedVal = $tagHidden.val(); } if (selectedVal != '') { if (selectedVal == 1) { $tag.shrCheckbox('check') } } if (isUnited == 1) { //屏蔽选择 $tag.attr({'readonly': 'true', 'disabled': 'disabled'}); } } /** * 初始化否决项评分选择框 * @param targetId */ function initRejectionScore(targetId) { var vetoVal = $('input[name="HIDDENVETO_' + targetId + '"][gradeNode="' + gradeTaskNode + '"]'); var selectedVal = 0; var canEdit = 0; var $tag = $('span[name="vetospan_' + targetId + '"]'); $tag.each(function (i, el) { var inputObj = $($(el).parent().parent().find("input")); selectedVal = inputObj.val(); if (!selectedVal) { inputObj = $($(el).parent().parent().parent().find("input")); selectedVal = inputObj.val(); } canEdit = inputObj.attr("canEdit"); $(el).removeClass("radio-checked"); if (selectedVal != '' && selectedVal == 1) { if ($(el).attr("data-value") == 1) { $(el).addClass("radio-checked"); } _gExistRejection = 1; } else { if ($(el).attr("data-value") == 0) { $(el).addClass("radio-checked"); } } if (canEdit != 1) { $(el).attr({'readonly': 'true', 'disabled': 'disabled'}); } }); } /** * yien * 返回没有分数范围的等级 * @param selectedKey */ function getLevelWidthoutScoreRange(selectedKey) { if (typeof selectedKey != "undefined") { var endIndex = selectedKey.indexOf('('); if (endIndex != -1) { selectedKey = selectedKey.substr(0, endIndex); } } return selectedKey; } /** * 确认考核结果 */ function confirm() { /*var url = shr.getContextPath() + "/dynamic.do?handler=com.kingdee.shr.perfweb.evaluresult.handler.EvaluCardListHandler&method=confirm"; shr.ajax({ type: "post", async: false, url: url, data: {id : evaResultId,isOrg: isOrg}, success: function (res) { if (res.result === 'error') { shr.showError({message : res.summary}) } else { //shr.showInfo({message : '操作成功!'}); shr.showInfo({message: jsBizMultLan.perf_perfscoreNewJuicer_1592900104294_i18n_10}); } }, error: function (res) { console.log('res', res) } });*/ // bug-BT-00624018-我的考核历史,用户张一点击申诉提示无权限 that.remoteCall({ method: "confirm", param: { id : evaResultId, isOrg: isOrg }, async: false, success: function (data) { if (data.result === 'error') { shr.showError({message : data.summary}) } else { shr.showInfo({message : jsBizMultLan.perf_perfscoreNewJuicer_1592900104294_i18n_10}); window.history.back(-1);//返回上一级列表 } }, }); } /** * 确认考核结果 */ function confirmResult() { // 确认考核结果前检查是否有未提交的申诉单据 /*var url = shr.getContextPath() + "/dynamic.do?handler=com.kingdee.shr.perfweb.evaluresult.handler.EvaluCardListHandler&method=confirmCheck"; shr.ajax({ type: "post", async: false, url: url, data: {id : evaResultId,isOrg: isOrg}, success: function (res) { if (res.result === 'error') { shr.showError({message : res.summary}) } else { if (res && res.appealBillSaved == 1) { //shr.showConfirm('您存在未提交的申诉单据,确认后该申诉单据将作废!', function() { shr.showConfirm(jsBizMultLan.perfweb_perfscoreNew_zw20201229_i18n_17, function() { confirm(); }); } else { confirm(); } } }, error: function (res) { console.log('res', res) } });*/ // bug-BT-00624018-我的考核历史,用户张一点击申诉提示无权限 that.remoteCall({ method: "confirmCheck", param: { id : evaResultId, isOrg: isOrg }, async: false, success: function (res) { if (res.result === 'error') { shr.showError({message : res.summary}) } else { if (res && res.appealBillSaved == 1) { //shr.showConfirm('您存在未提交的申诉单据,确认后该申诉单据将作废!', function() { shr.showConfirm(jsBizMultLan.perfweb_perfscoreNew_zw20201229_i18n_17, function() { confirm(); }); } else { confirm(); } } }, }); } /** * 申诉 */ function appeal() { //PBG169113 工作流 --审批中 -页面打不开 //BT1464136 组织考核历史--列表页面,点击申诉,报500 /*shr.callHandler({ handler:"com.kingdee.shr.perfweb.evaluresult.handler.EvaluCardListHandler", action:"appeal", param: { id : evaResultId, isOrg: isOrg //补丁10 组织考核-yien }, async: false, success:function(data){ var uipk = "com.kingdee.shr.perfweb.app.base.evalplan.EvaResultAppealBill.form"; if(isOrg == '1') { uipk = "com.kingdee.shr.perfweb.app.base.evalplan.EvaResultAppealBill4Org.form"; } var methodchagge= data.operateState ? data.operateState.toLowerCase():null; if(methodchagge===null||methodchagge===undefined){ methodchagge= fromPage!='RESULTCONFIRM'?'view':'edit'; } that.reloadPage({ uipk : uipk, billId : data.billId, method : methodchagge, isAddNew: data.isAddNew // yien 是否新增 }); } });*/ // bug-BT-00624018-我的考核历史,用户张一点击申诉提示无权限 that.remoteCall({ method: "appeal", param: { id : evaResultId, isOrg: isOrg //补丁10 组织考核-yien }, async: false, success: function (data) { var uipk = "com.kingdee.shr.perfweb.app.base.evalplan.EvaResultAppealBill.form"; if(isOrg == '1') { uipk = "com.kingdee.shr.perfweb.app.base.evalplan.EvaResultAppealBill4Org.form"; } var methodchagge= data.operateState ? data.operateState.toLowerCase():null; if(methodchagge===null||methodchagge===undefined){ methodchagge= fromPage!='RESULTCONFIRM'?'view':'edit'; } that.reloadPage({ uipk : uipk, billId : data.billId, method : methodchagge, isAddNew: data.isAddNew, // yien 是否新增 shruicode: shr.getUrlRequestParam("shruicode") }); } }); } function getAttachcount() { that.remoteCall({//附件数 method: "initialAttachment", param: {evaObj: evaObj, gradeTaskNode: gradeTaskNode}, async: true, success: function (data) { // 计算附件数量 var attachcount = data.length; $('.attachcount').html(attachcount); } }); } // 清空选中文本 var clearTextSelect = 'getSelection' in window ? function(){ window.getSelection().removeAllRanges(); } : function(){ document.selection.empty(); }; function array_contain(array, obj){ for (var i = 0; i < array.length; i++){ if (array[i] == obj)//如果要求数据类型也一致,这里可使用恒等号=== return true; } return false; } /** * 判断是否为数字 * @param fieldVal * @returns {boolean} */ function isNumber(fieldVal) { var reg = /^\d+(\.\d+)?$/; if (fieldVal) { return reg.test(fieldVal); } else if (parseFloat(fieldVal) == 0) { return true; } return false; } //总分校验 function sumSocreOnblur(_this) { var errObj = new Object(); var objVal = $(_this).val(); var msgShow = $("span[id='MSG_SUMSCORE']"); msgShow.hide(); console.log(objVal); var dataReg = /^(-?\d+)(\.\d{1,2})?$/; //浮点数 if (!dataReg.test(objVal)) { //$(_this).focus(); errObj.errortext = jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_36; msgShow.text(errObj.errortext); msgShow.show(); return false; } return true; } /** * 隐藏权重参数控制 */ function hideWeight() { var flag = false; // 列表模式判断用 //团队目标评分 个人目标评分 已办已评分 if (isTeamEvalu == 1 || entryType == 'myselfEvalu' || entryType == 'viewMyScoreForm') { if (globalIndicatorData && globalIndicatorData.scoringWay == 0) {//权重模式 if (that.initData && that.initData.hideWeight == "true") { // $(".scoretabs").setGridParam().hideCol("FWEIGHT"); $(".grade.areaWeight").hide(); flag = true; } } } return flag; } /** * 判断是否保留小数点后两位 * @param _fieldVal * @param _type 1:整数或带两位小数;undefined/0:整数或带两位小数 * @returns {boolean} */ function isNumberVerify(_fieldVal , _type) { var reg = /^\d+(\.\d{1,2})?$/; if(1 == _type) { reg = /^(-)?\d+(\.\d{1,2})?$/; } if(_fieldVal) { return reg.test(_fieldVal); } return true; } function isNumberVerify2(_fieldVal , _type) { var reg = /^\d+(\.\d{1,10})?$/; if(1 == _type) { reg = /^(-)?\d+(\.\d{1,10})?$/; } if(_fieldVal) { return reg.test(_fieldVal); } return true; } $.extend($.jgrid, { focusKnv: function($t){} }) // 返回指定区域的区域说明数据 var getAreaRema = function(areaId){ var rema = ''; globalIndicatorData.areaBaseList.forEach(function(item){ if(item.id === areaId){ rema = item.rema; return false; } }) return rema; } // 控制查看更多区域说明信息 function showMoreRema(e, areaId){ var remabox = $('.area-rema-box[area-id="'+areaId+'"]'); var textArr = [jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_51,jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_47]; // 展开、收起 if(remabox.hasClass('opened')){ remabox.removeClass('opened'); $(e).text(textArr[0]); }else{ remabox.addClass('opened'); $(e).text(textArr[1]); } }