';
if (_perfGradeEvaluate == '1') {//允许打整体评价等级
//wholeCommentEdithtml = wholeCommentEdithtml + '';
wholeCommentEdithtml = wholeCommentEdithtml + '';
} else {
//wholeCommentEdithtml = wholeCommentEdithtml + '';
wholeCommentEdithtml = wholeCommentEdithtml + '';
}
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 = [
'',
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' +
' '
+ 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
' | \n' +
'
\n';
if (data.leveStrMap) {
distributionInfoHtml = distributionInfoHtml + '\n';
$.each(data.leveStrMap, function (k, v) {
distributionInfoHtml = distributionInfoHtml + ' ' + k + '(' + v + ') | \n';
});
distributionInfoHtml = distributionInfoHtml + '
\n';
}
distributionInfoHtml = distributionInfoHtml + '
';
// $(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]);
}
}