Browse Source

no message

9060 1 day ago
parent
commit
c971c71741

+ 175 - 73
js/deploy/easweb.ear/shr_web.war/addon/customer/web/js/shr/perfweb/perfplanExecute/evaResultManagerListExEx.js

@@ -4,8 +4,9 @@ var hrorg = '';
 var isOrg = '0'; //组织考核-yien
 var scoreDefaultPage = "";
 var hrOrgUnit;
-var msg1="正态分布校验结果";
-var msg2="上季度部门绩效等级结果";
+var msg1 = "正态分布校验结果";
+var msg2 = "上季度部门绩效等级结果";
+var performanceLevel;
 shr.defineClass("shr.custom.evaResultManagerListExEx", shr.custom.evaResultManagerListEx, {
     levelScoreLVInfo: {},
     initalizeDOM: function () {
@@ -15,9 +16,10 @@ shr.defineClass("shr.custom.evaResultManagerListExEx", shr.custom.evaResultManag
         shr.custom.evaResultManagerListExEx.superClass.initalizeDOM.call(_self);
         var perobjectId = _self.initData.perobjectId;
         var projectName = _self.initData.projectName;
-        if(perobjectId){
-            msg1=projectName+"项目绩效正态分布校验结果";
-            msg2=projectName+"项目绩效等级结果";
+        performanceLevel=_self.initData.performanceLevel;
+        if (perobjectId) {
+            msg1 = projectName + "项目绩效正态分布校验结果";
+            msg2 = projectName + "项目绩效等级结果";
             $("#bindProjectBatch").show();
             $("#bindDepBatch").hide();
             $("#getSpanDepCollaborate").hide();
@@ -32,9 +34,9 @@ shr.defineClass("shr.custom.evaResultManagerListExEx", shr.custom.evaResultManag
             $("#grid").setGridParam().hideCol("oldSumScore");//隐藏
             $("#grid").setGridParam().hideCol("depCoefficient");//隐藏
 
-        }else{
-            msg1="正态分布校验结果";
-            msg2="上季度部门绩效等级结果";
+        } else {
+            msg1 = "正态分布校验结果";
+            msg2 = "上季度部门绩效等级结果";
             $("#bindProjectBatch").hide();
             $("#bindDepBatch").show();
             $("#getSpanDepCollaborate").show();
@@ -51,7 +53,7 @@ shr.defineClass("shr.custom.evaResultManagerListExEx", shr.custom.evaResultManag
         }
     },
     // 批量录入修订
-    batchReviseAction: function(){
+    batchReviseAction: function () {
         var grid = $("#grid");
         that.bindBatchReviseGridEvent(grid);
         var ids = this.getSelectedFields();
@@ -62,7 +64,7 @@ shr.defineClass("shr.custom.evaResultManagerListExEx", shr.custom.evaResultManag
     },
 
     // 绑定重新刷新页面事件
-    bindBatchReviseGridEvent: function(grid){
+    bindBatchReviseGridEvent: function (grid) {
         $(".shr-toolbar").find("button").hide();
         $("#batchSaveReviseData").show();
         $("#batchSaveReviseDataExit").show();
@@ -83,17 +85,21 @@ shr.defineClass("shr.custom.evaResultManagerListExEx", shr.custom.evaResultManag
         grid.setGridParam().hideCol("interview.interviewStatus");
         grid.setGridParam({cellEdit: true});
         grid.setColProp('reviseSumScore', {editable: true});
-        grid.setColProp('reviseGradeLevel', {editable: true, edittype: 'shrselect',formatter: 'shrtext',editoptions: {
+        grid.setColProp('reviseGradeLevel', {
+            editable: true, edittype: 'shrselect', formatter: 'shrtext', editoptions: {
                 selectJson: {
-                    onChange: function(){
+                    onChange: function () {
                         var $this = $(this);
                         var selectVal = $(this).val();
                     }
                 }
-            }});
-        grid.setColProp('reviseReason', {editable: true, edittype: 'wafTextArea',formatter: function(val,msg){
-                return '<div class="cell-height scrollbarthin">'+(val?val:'')+'</div>';
-            }});
+            }
+        });
+        grid.setColProp('reviseReason', {
+            editable: true, edittype: 'wafTextArea', formatter: function (val, msg) {
+                return '<div class="cell-height scrollbarthin">' + (val ? val : '') + '</div>';
+            }
+        });
         grid.setColProp('perCoefficient', {editable: true});
         var _self = this;
         grid.jqGrid('option', {
@@ -108,6 +114,23 @@ shr.defineClass("shr.custom.evaResultManagerListExEx", shr.custom.evaResultManag
             onPaging: function () {
                 _self.onPaging();
             },
+            afterSaveCell: function (rowId, colName, newValue, oldValue) {
+                console.log("单元格值改变,行 ID:" + rowId + ",列名:" + colName + ",新值:" + newValue + ",旧值:" + oldValue);
+                // 在这里可以添加自定义的处理逻辑,例如发送数据到服务器
+                if(colName=="reviseGradeLevel"){
+                    var levelMap = performanceLevel[newValue];
+                    // 开始编辑
+                    grid.jqGrid("setCell", rowId, "perCoefficient", levelMap["coefficient"]);
+                    grid.jqGrid("saveCell", rowId, "perCoefficient");
+
+
+                    grid.jqGrid("setCell", rowId, "perMaxCoefficient", levelMap["maxcoefficient"]);
+                    grid.jqGrid("saveCell", rowId, "perMaxCoefficient");
+
+                    grid.jqGrid("setCell", rowId, "perMinCoefficient", levelMap["mincoefficient"]);
+                    grid.jqGrid("saveCell", rowId, "perMinCoefficient");
+                }
+            },
             beforeEditCell: function (rowid, cellname, value, iRow, iCol) {
                 var $cell_reviseSumScore = $('[id="' + rowid + '"]').find("td[aria-describedby='grid_reviseSumScore']");
                 var $cell_reviseGradeLevel = $('[id="' + rowid + '"]').find("td[aria-describedby='grid_reviseGradeLevel']");
@@ -121,21 +144,21 @@ shr.defineClass("shr.custom.evaResultManagerListExEx", shr.custom.evaResultManag
                 return true;
             },
             afterEditCell: function (rowid, cellname, value, iRow, iCol) {
-                if(cellname == 'reviseReason'){
-                    $(this).find('textarea[id="'+iRow+'_'+cellname+'"]').val($(value).text());
+                if (cellname == 'reviseReason') {
+                    $(this).find('textarea[id="' + iRow + '_' + cellname + '"]').val($(value).text());
                 }
                 var $cell_reviseSumScore = $('[id="' + rowid + '"]').find("td[aria-describedby='grid_reviseSumScore']");
                 var $cell_reviseGradeLevel = $('[id="' + rowid + '"]').find("td[aria-describedby='grid_reviseGradeLevel']");
                 var $cell_reviseReason = $('[id="' + rowid + '"]').find("td[aria-describedby='grid_reviseReason']");
-                var reviseGradeLevelSelectJSON=$('[id="' + rowid + '"]').find("td[aria-describedby='grid_reviseGradeLevelSelect']").html();
+                var reviseGradeLevelSelectJSON = $('[id="' + rowid + '"]').find("td[aria-describedby='grid_reviseGradeLevelSelect']").html();
                 reviseGradeLevelSelectJSON = JSON.parse(reviseGradeLevelSelectJSON);
                 if ("reviseGradeLevel" == cellname) {
                     $('#' + iRow + '_' + cellname).attr('readonly', true);
                     $('#' + iRow + '_' + cellname).shrSelect('addOption', reviseGradeLevelSelectJSON);
                 }
                 var _grid = $(this);
-                if(cellname == 'reviseSumScore'){
-                    $('#' + iRow + '_' + cellname).bind('blur',function(){
+                if (cellname == 'reviseSumScore') {
+                    $('#' + iRow + '_' + cellname).bind('blur', function () {
                         that.setReviseLevel(rowid, cellname, $(this).val(), iRow, iCol, _grid);
                     })
                 }
@@ -152,37 +175,38 @@ shr.defineClass("shr.custom.evaResultManagerListExEx", shr.custom.evaResultManag
     },
 
     // 修改分数后匹配等级
-    setReviseLevel: function(rowid, cellname, value, iRow, iCol, _grid){
+    setReviseLevel: function (rowid, cellname, value, iRow, iCol, _grid) {
         var rowData = _grid.getRowData(rowid);
-        if(!rowData.levelScoreKVInfo) return false;
+        if (!rowData.levelScoreKVInfo) return false;
         var levelScoreKVInfo = JSON.parse(rowData.levelScoreKVInfo);
         var wholeGrade = '';
-        if(value){
-            var minGrade = '', maxGrade = '', scoreLowLimit = rowData.scoreLowLimit, scoreUpLimit = rowData.scoreUpLimit;
-            for(var key in levelScoreKVInfo){
+        if (value) {
+            var minGrade = '', maxGrade = '', scoreLowLimit = rowData.scoreLowLimit,
+                scoreUpLimit = rowData.scoreUpLimit;
+            for (var key in levelScoreKVInfo) {
                 var range = key.split('~');
-                if(Number(value) > Number(range[0]) && Number(value) <= Number(range[1])){
+                if (Number(value) > Number(range[0]) && Number(value) <= Number(range[1])) {
                     wholeGrade = key;
                     break;
                 }
-                if(scoreLowLimit == Number(range[0])){
+                if (scoreLowLimit == Number(range[0])) {
                     minGrade = key;
                 }
-                if(scoreUpLimit == Number(range[1])){
+                if (scoreUpLimit == Number(range[1])) {
                     maxGrade = key
                 }
             }
-            if(!wholeGrade){
-                if(Number(value) <= Number(scoreLowLimit)){
+            if (!wholeGrade) {
+                if (Number(value) <= Number(scoreLowLimit)) {
                     wholeGrade = minGrade;
                 }
-                if(Number(value) > Number(scoreUpLimit)){
+                if (Number(value) > Number(scoreUpLimit)) {
                     wholeGrade = maxGrade;
                 }
             }
-            _grid.jqGrid('setCell', rowid, 'reviseGradeLevel',levelScoreKVInfo[wholeGrade]);
-        }else{
-            _grid.jqGrid('setCell', rowid, 'reviseGradeLevel',null);
+            _grid.jqGrid('setCell', rowid, 'reviseGradeLevel', levelScoreKVInfo[wholeGrade]);
+        } else {
+            _grid.jqGrid('setCell', rowid, 'reviseGradeLevel', null);
         }
     },
 
@@ -208,24 +232,25 @@ shr.defineClass("shr.custom.evaResultManagerListExEx", shr.custom.evaResultManag
                 val.id = rowData.id;
                 val.periodId = parent.periodInfo.id;
                 var modified = false;
-                if ($cell.hasClass("dirty-cell")||$cell2.hasClass("dirty-cell")||$cell3.hasClass("dirty-cell")||$cell4.hasClass("dirty-cell")){
+                if ($cell.hasClass("dirty-cell") || $cell2.hasClass("dirty-cell") || $cell3.hasClass("dirty-cell") || $cell4.hasClass("dirty-cell")) {
                     val.reviseSumScore = rowData['reviseSumScore'];
                     val.reviseGradeLevel = rowData['reviseGradeLevel'];
                     val.reviseReason = $(rowData['reviseReason']).text().trim();
-                    if(null!=rowData['perCoefficient']&&null!=rowData['perMaxCoefficient']&&null!=rowData['perMinCoefficient']){
+                    if (null != rowData['perCoefficient'] && null != rowData['perMaxCoefficient'] && null != rowData['perMinCoefficient']) {
                         val.perCoefficient = rowData['perCoefficient'];
                         val.perMaxCoefficient = rowData['perMaxCoefficient'];
                         val.perMinCoefficient = rowData['perMinCoefficient'];
-                        if(Number(val.perCoefficient)>Number(val.perMaxCoefficient)
-                            ||Number(val.perCoefficient)<Number(val.perMinCoefficient)){
+                        if (!(Number(val.perCoefficient) <= Number(val.perMaxCoefficient)
+                            && Number(val.perCoefficient) >= Number(val.perMinCoefficient))) {
                             errData.push(val);
-                            modified = false;
-                        } else {
-                            modified = true;
                         }
-                    }else {
+                    }
+                    if(val.reviseGradeLevel){
                         modified = true;
                     }
+                    else {
+                        modified = false;
+                    }
                 }
 
                 if (modified) {
@@ -233,22 +258,75 @@ shr.defineClass("shr.custom.evaResultManagerListExEx", shr.custom.evaResultManag
                     billId.push(rowData.id);
                 }
             }
-            if (errData.length > 0) {
-                return shr.showWarning({message: "所修改的绩效系数,大于最大绩效系数或者小于最小绩效系数!"});
-            }
             if (editData.length == 0) {
                 return shr.showWarning({message: $.perfwebI18n.commonMsg.msg17});
             }
-
-            shr.showConfirm($.perfwebI18n.commonMsg.msg18, function () {
-                _self.doRemoteWithBatchExtendAction({
-                    method: "batchSaveReviseData",
-                    datas: JSON.stringify(editData),
-                    billId: billId.join(","),
-                    permItemId: $(obj.currentTarget).attr("data-permitemid"),
+            if (errData.length > 0) {
+                let data = {};
+                let dataIds=[];
+                data = $.extend(_self.prepareParam(), data);
+                data = $.extend({permItemId: shr.getCurrentPagePermItemId()}, data);
+                var batchMessageTipsHeader = {};
+                batchMessageTipsHeader.successCount=0;
+                batchMessageTipsHeader.failureCount=0;
+                batchMessageTipsHeader.billId;
+                batchMessageTipsHeader.result = [];
+                for (var i = 0; i < errData.length; i++) {
+                    var vall = errData[i];
+                    var body = {};
+                    body.id = vall.id;
+                    dataIds.push(body.id);
+                    body.muitTipsState = "false";
+                    body.muitTipsMessage = "所修改的绩效系数" + vall.perCoefficient + ",大于最大绩效系数" + vall.perMaxCoefficient + "或者小于最小绩效系数" + val.perMinCoefficient + "!";
+                    batchMessageTipsHeader.result.push(body);
+                    batchMessageTipsHeader.failureCount+=1;
+                }
+                for (var i = 0; i < editData.length; i++) {
+                    var vall = editData[i];
+                    var body = {};
+                    body.id = vall.id;
+                    dataIds.push(body.id);
+                    body.muitTipsState = "true";
+                    body.muitTipsMessage = "校验成功";
+                    batchMessageTipsHeader.result.push(body);
+                    batchMessageTipsHeader.successCount+=1;
+                }
+                batchMessageTipsHeader.billId=dataIds.toString();
+                const batchTipsData = _self.batchTipsDataHandler(batchMessageTipsHeader, data);
+                let len = 0;
+                $(_self).shrMessageTips({
+                    isSuccess: batchTipsData.isSuccess,
+                    successCount: batchTipsData.successCount,
+                    failureCount: batchTipsData.failureCount,
+                    confirmCallback: function () {
+                        $(_self).shrDetailTips({
+                            tableData: batchTipsData.tmp,
+                            successCount: batchTipsData.successCount,
+                            failureCount: batchTipsData.failureCount,
+                            colNamesData: batchTipsData.tableModel,
+                            isSortable: _self.batchHandlerWhetherSortable(),
+                            modalWidth: ''
+                        }).shrDetailTips("open");
+                        let modal_title = $("#detailTipsCode .modal-title");
+                        let modal_titleStr = modal_title.html().replace('批量处理结果', msg1);
+                        modal_title.html(modal_titleStr);
+                    },
+                    closeCallback: function () {
+                        _self.reloadGrid();
+                    }
+                }).shrMessageTips("open");
+                return false
+            }else{
+                shr.showConfirm($.perfwebI18n.commonMsg.msg18, function () {
+                    _self.doRemoteWithBatchExtendAction({
+                        method: "batchSaveReviseData",
+                        datas: JSON.stringify(editData),
+                        billId: billId.join(","),
+                        permItemId: $(obj.currentTarget).attr("data-permitemid"),
+                    });
+                    $('#appealBillList').hide();
                 });
-                $('#appealBillList').hide();
-            });
+            }
         }
     },
     appendBatchHtml: function () {
@@ -334,20 +412,20 @@ shr.defineClass("shr.custom.evaResultManagerListExEx", shr.custom.evaResultManag
         showDialog("#batchSet_dialog", "绩效分组", $('#batchSet_dialog').html(), buttons, 600, 410);
         that.changeButtonClass();
         var text_json = {
-            id:"groupValue",
+            id: "groupValue",
             name: "groupValue",
             readonly: "",
             value: "{&quot;l2&quot;:&quot;&quot;}",
             validate: "{maxlength:255,required:true}",
-            trimAll:false,
-            isHtmlDecode:true,
-            isMultiLan:true,
-            isNumberfield:false,
+            trimAll: false,
+            isHtmlDecode: true,
+            isMultiLan: true,
+            isNumberfield: false,
             isMenuIcon: false,
             onChange: null,
             joinSelectField: "",
-            extendOptions:{},
-            numberfieldBlank:false
+            extendOptions: {},
+            numberfieldBlank: false
         };
         $('#groupValue').shrTextField(text_json);
     },
@@ -413,6 +491,14 @@ shr.defineClass("shr.custom.evaResultManagerListExEx", shr.custom.evaResultManag
             planId: parent.planId,
         });
     },
+    /**
+     * 上季度部门绩效等级结果或项目绩效等级结果
+     */
+    bindWholeCommentAction: function () {
+        that.doRemoteAction({
+            method: 'bindWholeComment',
+        });
+    },
     /**
      * 项目绩效等级结果
      */
@@ -516,7 +602,11 @@ shr.defineClass("shr.custom.evaResultManagerListExEx", shr.custom.evaResultManag
                             }
                         }).shrMessageTips("open");
                         $(_self).shrMessageTips("open");
-                        $(_self).shrMessageTips({openCallback: function () { return true;}})
+                        $(_self).shrMessageTips({
+                            openCallback: function () {
+                                return true;
+                            }
+                        })
                     }
                 }
             },
@@ -581,7 +671,11 @@ shr.defineClass("shr.custom.evaResultManagerListExEx", shr.custom.evaResultManag
                             }
                         }).shrMessageTips("open");
                         $(_self).shrMessageTips("open");
-                        $(_self).shrMessageTips({openCallback: function () { return true;}})
+                        $(_self).shrMessageTips({
+                            openCallback: function () {
+                                return true;
+                            }
+                        })
                     }
                 }
             },
@@ -598,7 +692,7 @@ shr.defineClass("shr.custom.evaResultManagerListExEx", shr.custom.evaResultManag
     auditAction: function () {
         var _self = this;
         var billIds = this.getSelectedIds();
-        if(!billIds){
+        if (!billIds) {
             return;
         }
 
@@ -611,9 +705,9 @@ shr.defineClass("shr.custom.evaResultManagerListExEx", shr.custom.evaResultManag
                 billId: billIds,
             },
             success: function (data) {
-                if(data.ProjectManager=="1"){
+                if (data.ProjectManager == "1") {
                     shr.custom.evaResultManagerListExEx.superClass.auditAction.call(that);
-                }else {
+                } else {
                     _self.auditAction2();
                 }
             }
@@ -622,7 +716,7 @@ shr.defineClass("shr.custom.evaResultManagerListExEx", shr.custom.evaResultManag
     evaresultAuditAction: function () {
         var _self = this;
         var billIds = this.getSelectedIds();
-        if(!billIds){
+        if (!billIds) {
             return;
         }
 
@@ -635,9 +729,9 @@ shr.defineClass("shr.custom.evaResultManagerListExEx", shr.custom.evaResultManag
                 billId: billIds,
             },
             success: function (data) {
-                if(data.ProjectManager=="1"){
+                if (data.ProjectManager == "1") {
                     shr.custom.evaResultManagerListExEx.superClass.evaresultAuditAction.call(that);
-                }else {
+                } else {
                     _self.evaresultAuditAction2();
                 }
             }
@@ -670,7 +764,7 @@ shr.defineClass("shr.custom.evaResultManagerListExEx", shr.custom.evaResultManag
             return;
         }
         var billIds = this.getSelectedIds();
-        if(!billIds){
+        if (!billIds) {
             return;
         }
 
@@ -736,7 +830,11 @@ shr.defineClass("shr.custom.evaResultManagerListExEx", shr.custom.evaResultManag
                             }
                         }).shrMessageTips("open");
                         $(_self).shrMessageTips("open");
-                        $(_self).shrMessageTips({openCallback: function () { return true;}})
+                        $(_self).shrMessageTips({
+                            openCallback: function () {
+                                return true;
+                            }
+                        })
                     }
                 }
             },
@@ -826,7 +924,11 @@ shr.defineClass("shr.custom.evaResultManagerListExEx", shr.custom.evaResultManag
                             }
                         }).shrMessageTips("open");
                         $(_self).shrMessageTips("open");
-                        $(_self).shrMessageTips({openCallback: function () { return true;}})
+                        $(_self).shrMessageTips({
+                            openCallback: function () {
+                                return true;
+                            }
+                        })
                     }
                 }
             },

+ 146 - 0
js/deploy/easweb.ear/shr_web.war/addon/customer/web/js/shr/perfweb/perfplanExecute/evaluresultSummaryAuditEditEx.js

@@ -0,0 +1,146 @@
+var period = null;
+//yien 单据状态
+var billState = '0';
+//yien 是否组织考核
+var isOrg = '0';
+
+shr.defineClass("shr.perfweb.evaluresultSummaryAuditEditEx", shr.perfweb.evaluresultSummaryAuditEdit, {
+    that: null,
+    billId: null,
+    initalizeDOM: function () {
+        that = this;
+        // this.billId = shr.getUrlRequestParam("billId");
+        //yien 补丁11 考核结果审批改造
+        this.billId = this.initData.billId;
+        shr.perfweb.evaluresultSummaryAuditEditEx.superClass.initalizeDOM.call(this);
+    },
+    //工作流执行不需要执行submit
+    beforeSubmit: function (callback) {
+
+        var entrys = [];
+        var RowData = $('#entrysIframe').contents().find('#grid').jqGrid('getRowData');
+        for (var i = 0; i < RowData.length; i++) {
+            var Row = RowData[i];
+            Row["evaResult.sumScore"] = '';
+            Row["evaResult.auditSumScore"] = '';
+            Row["evaResult.auditReason"] = '';
+            Row["evaResult.reviseSumScore"] = '';
+            Row["reviseGradeLevelSelect"] = '';
+            Row["levelScoreKVInfo"] = '';
+
+            entrys.push(Row);
+        }
+        var entryData = JSON.stringify(entrys);
+
+        var flag = false;
+        that.remoteCall({
+            method: "verifyBeforeSubmit",
+            async: false,
+            param: {
+                entryData: entryData,
+            },
+            success: function (response) {
+                let data = {};
+                data = $.extend(that.prepareParam(), data);
+                data = $.extend({permItemId: shr.getCurrentPagePermItemId()}, data);
+                const batchTipsData = that.batchTipsDataHandler(response, data);
+                if (batchTipsData.successCount > 0 && batchTipsData.failureCount <= 0) {
+                    flag = (true);
+                } else {
+                    let len = 0;
+                    $(that).shrMessageTips({
+                        isSuccess: batchTipsData.isSuccess,
+                        successCount: batchTipsData.successCount,
+                        failureCount: batchTipsData.failureCount,
+                        confirmCallback: function () {
+                            $(that).shrDetailTips({
+                                tableData: batchTipsData.tmp,
+                                successCount: batchTipsData.successCount,
+                                failureCount: batchTipsData.failureCount,
+                                colNamesData: batchTipsData.tableModel,
+                                isSortable: that.batchHandlerWhetherSortable(),
+                                modalWidth: ''
+                            }).shrDetailTips("open");
+                            let modal_title = $("#detailTipsCode .modal-title");
+                            let modal_titleStr = modal_title.html().replace('批量处理结果', "失败原因");
+                            modal_title.html(modal_titleStr);
+                        },
+                        closeCallback: function () {
+                        }
+                    }).shrMessageTips("open");
+                    let modal_title = $("#tips-title");
+                    let modal_titleStr = modal_title.html().replace('批量处理结果', "失败原因");
+                    modal_title.html(modal_titleStr);
+                    flag = (false);
+                }
+            }
+        });
+        return flag;
+
+    },
+
+    /**
+     * 如果重写过getBatchTipsRowDatas方法,则需要增加对应的列配置属性
+     */
+    getBatchTipsTableModel: function () {
+        var tableModel = $('#entrysIframe').contents().find('#grid').jqGrid("getGridConfig").colModel;
+        return tableModel;
+    },
+    /**
+     * 批量提示裂变是否支持排序,方便子类覆写
+     */
+    batchHandlerWhetherSortable: function () {
+        return true;
+    },
+    /**
+     * 批量反馈,处理请求返回数据
+     */
+    batchTipsDataHandler: function (data, options) {
+        var _self = this;
+        var successCount = data.successCount;
+        var failureCount = data.failureCount;
+        var isSuccess = !data.failureCount ? true : false;
+        var result = data.result;
+
+        var ids = data.billId.split(','); //使用变量时注意声明,若在方法内部未声明则为全局变量,此处需要注意!
+        var tmp = _self.getBatchTipsRowDatas(ids, options); //获取选中的表格数据
+        for (var i = 0, l = result.length; i < l; i++) {
+            if (result[i].muitTipsState) {
+                result[i].muitTipsState = $.shrI18n.common.title.success;
+            } else {
+
+                result[i].muitTipsState = $.shrI18n.common.title.failure;
+            }
+            for (var j = 0, size = tmp.length; j < size; j++) {
+                if (tmp[j][_self.getBillIdFieldName()] == result[i].id) {
+                    tmp[j].muitTipsState = result[i].muitTipsState;
+                    tmp[j].muitTipsMessage = result[i].muitTipsMessage;
+                }
+            }
+        }
+
+        var batchData = {
+            "successCount": successCount,
+            "failureCount": failureCount,
+            "isSuccess": isSuccess,
+            "tmp": tmp,
+            "tableModel": _self.getBatchTipsTableModel()
+        };
+
+        return batchData;
+    },
+    /**
+     * 批量提示行数据,方便子类覆写
+     */
+    getBatchTipsRowDatas: function (ids, options) {
+        var _self = this;
+        var $table = $('#entrysIframe').contents().find('#grid');
+
+        var rowDatas = []; //获取选中的表格数据,这种方法只能获取到当前页数据   bug编号:BT1155539
+        for (var i = 0, l = ids.length; i < l; i++) {
+            rowDatas.push($table.jqGrid('getOriginalRowData', ids[i]));
+        }
+        // rowDatas = _self.selectedRowData;
+        return rowDatas;
+    },
+});

+ 1451 - 0
js/deploy/easweb.ear/shr_web.war/addon/perfweb/web/js/shr/perfweb/portal/perfBatchScore.js

@@ -0,0 +1,1451 @@
+var lastsel = '';	//录入结果时,单击下一行,记录上一行的行id
+var personId = ''; //当前登录的员工id
+var period = ''; //绩效门户点击进来时的周期id
+var currentPeriod = ''; //当前所选中的周期
+var globalTeamTargetCommentData = ''; //团队目标评价数据
+var that = null;
+var currentPeriodName = ''; //当前所选中的周期名
+var defaultRows = 20; //表格默认显示行数
+var rows = defaultRows;
+var pname = ''; //搜索的员工姓名
+var firstLoaded = false;
+var allPeriodIdArr = new Array();
+var gradeLeveObj = null; //周期对应的整体
+
+var currentScoreWay = 0; //当前周期所用考核规则的计分方式 
+// 组织考核标识
+var isOrg = "0"
+shr.defineClass("shr.perfweb.perfBatchScore", shr.perfweb.commonBatchList, {
+	virtualQueryMode: "0",
+	initalizeDOM : function() {
+        // 初始化JS环境
+		it = this;
+	    that = this;
+	    personId = shr.getUrlRequestParam("personId");
+	    //默认进来为"所有"
+	    //period = shr.getUrlRequestParam("period");
+        //初始化表格
+        it.initContentHtml();
+        $(".instructionswrap").hide();
+        //it.initPerfMarkTable('prftableData','prf');
+        it.instructionsBox();
+	    shr.perfweb.perfBatchScore.superClass.initalizeDOM.call(this);
+        //it.initQuickSearcher();
+		//按钮权限
+		if (!that.initData.batchScore) {
+			$("#batchScore").hide();
+		}
+		if (!that.initData.importNodeSumscore && !that.initData.importNodeTargetScore) {
+			$("#importNodeSumscore").parent().parent().hide();
+		} else {
+			if (!that.initData.importNodeSumscore) {
+				$("#importNodeSumscore").hide();
+			}
+			if (!that.initData.importNodeTargetScore) {
+				$("#importNodeTargetScore").hide();
+			}
+		}
+    },
+
+    //BT1050905-批量处理界面高级过滤字段不正确,字段要与列表字段一致-2017/12/12-liuzw
+    //高级搜索用
+/*    queryGrid: function() {
+		//页面未初始化过不执行该方法,用于响应高级搜索按钮查询
+		if (firstLoaded) {
+            reloadGrid($("#prftableData"));
+		}
+        firstLoaded = true;
+    },*/
+
+	initContentHtml : function(){
+		var ruleHtml = '';
+		//未选指定周期时,批量修改等级等级下拉选所在列点击事件
+    	if(!currentPeriod){
+    		$("td[aria-describedby='batchModify_nodeGrade']").live('click',function(){
+    			var _this = this;
+    			if(null != gradeLeveObj.periodMap && gradeLeveObj.periodMap.length>0)
+    			var len = gradeLeveObj.periodMap.length;
+    			for(var i=0; i<len; i++){
+    				var periodTmp = $(_this).parent().find("td[aria-describedby='batchModify_period']").text();
+    				var html = '<option role="option" value="&amp;nbsp">&nbsp;</option>';
+    				if(periodTmp == gradeLeveObj.periodMap[i].period){
+    					var level = gradeLeveObj.periodMap[i].level;
+    					var levelArr = level.split(";");
+    					var levelLen = levelArr.length;
+    					for(var j=0; j<levelLen; j++){
+    						html += '<option role="option" value="' +levelArr[j][0]+ '">' +levelArr[j][2]+ '</option>';
+    					}
+    					$(_this).find("select").html(html);
+    					break;
+    				}
+    			}
+    	 	})
+    	}
+    	var globalTeamTargetCommentData = null;
+		//获取考核周期下拉列表
+/*		that.remoteCall({
+			method : "getTeamTargetCommentList",
+			param : {
+			  period: currentPeriod,
+			  personId : personId,
+			  isBatchView:1,
+			  isOrg:isOrg
+			},
+			async : false,
+			success : function(data) {
+			   if(data != null){
+				   globalTeamTargetCommentData = data;
+				   var len = data.evaPerfPeriodBeanList.length;
+				   allPeriodIdArr = new Array();
+				   if(len>0){
+					   for(var i=0; i<len; i++){
+						   allPeriodIdArr.push(data.evaPerfPeriodBeanList[i].periodId);
+					   }
+				   }
+				   if(!currentPeriod){
+					   currentPeriod = allPeriodIdArr.toString();
+				   }
+			   }else{
+				   if(data != null && data.totalCount==0){
+					    promptImages($('#goals_give .nameboard .nameboardlist'),
+					   jsBizMultLan.perfweb_perfBatchScore_26466229_i18n_30);
+				   }
+			   }
+			}
+		});*/
+
+		/**
+		 * 下拉框性能优化,只取周期,不要查询其他无关的数据
+		 */
+		that.remoteCall({
+			method: "getTeamTargetPeriodList",
+			param: {
+				personId: personId,
+				isOrg: isOrg
+			},
+			async: false,
+			success: function (data) {
+				if (data != null) {
+					globalTeamTargetCommentData=data;
+					var len = data.evaPerfPeriodBeanList.length;
+					allPeriodIdArr = new Array();
+					if (len > 0) {
+						for (var i = 0; i < len; i++) {
+							allPeriodIdArr.push(data.evaPerfPeriodBeanList[i].periodId);
+						}
+					}
+					if (!currentPeriod) {
+						currentPeriod = allPeriodIdArr.toString();
+					}
+				} else {
+					if (data != null && data.totalCount == 0) {
+						promptImages($('#goals_give .nameboard .nameboardlist'),
+							jsBizMultLan.perfweb_perfBatchScore_26466229_i18n_30);
+					}
+				}
+			}
+		});
+		// 默认选中请求参数中的考核周期
+        //period = shr.getUrlRequestParam("period");
+        //currentPeriod = period;
+		ruleHtml = initDomTpl(globalTeamTargetCommentData);
+		$(ruleHtml).appendTo($('#planlist'));
+		//输入框回车事件绑定
+        // $('#searchinp').bind('keyup', function(event) {
+	     //    if (event.keyCode == "13") {
+	     //        pname = $("#searchinp").val();
+	     //        reloadGrid($("#prftableData"));
+	     //    }
+        // });
+
+	    //下拉选事件绑定
+	    $('#RDCenterplan').bind('change',function(e){
+	    	var baseDom = $('#RDCenterplan option:selected');
+	    	currentPeriod = baseDom.attr("period");
+	    	currentPeriodName = baseDom.val();
+	    	currentScoreWay = baseDom.attr("scoreWay");
+	    	if(!currentPeriod){
+	    		$(".instructionswrap").hide();
+	    		currentPeriod = allPeriodIdArr.toString();
+	    	}else{
+	    		$(".instructionswrap").show();
+	    	}
+			//reloadGrid($("#prftableData"));
+			that.getRules();
+            it.initData.custom_params.period = currentPeriod;
+            it.queryGrid();
+        });
+	    //点击当前周期下拉选
+	    //$("#blackOp").attr("selected","selected");
+		// 页面一开始查全部数据
+        it.initData.custom_params.period = allPeriodIdArr.toString();
+		//$('#pfmTable').append(tabHtml()); 	//加载表格框架
+		//this.getRules();
+	 },
+
+	 getRules: function(){
+		that.remoteCall({
+			method : "getPerfRuleInstructions",
+			param : {
+				//(8.6补丁5规则历史update by wei_baiii)
+				planId: $('#RDCenterplan option:selected').attr("planId"),
+				period:currentPeriod
+			},
+			async : false,
+			success : function(data) {
+				if(data != null) {
+					var areaBaseList = [];
+					var resultList = data.resultList;
+					for (var i = 0; i < resultList.length; i++) {
+						areaBaseList.push(resultList[i].baseInfo);
+					}
+					var param =
+                        {
+					        areaBaseList: areaBaseList,
+                            ruleName: data.ruleName
+					    };
+					var evaluationdetails = null;
+					if(currentScoreWay == 0){
+						evaluationdetails = juicer(evaluationdetailsTpl(), param);
+					}else if(currentScoreWay == 1){
+						evaluationdetails = juicer(evaluationdetailsOfTargetScoreTpl(), param);
+					}
+					$('.instructionsboxwrap').remove();
+					$(evaluationdetails).appendTo($('.instructionswrap .icon_instructions'));
+				}
+			}
+		});
+	 },
+
+	//初始化快速搜索
+    initQuickSearcher: function() {
+        $('#searcher').shrSearchBar({
+            fields: [
+            	{columnName:'evaObj.name',label:
+					jsBizMultLan.perfweb_perfBatchScore_26466229_i18n_24},
+				{columnName:'evaObj.number',label:
+					jsBizMultLan.perfweb_perfBatchScore_26466229_i18n_28},
+				{columnName:'evaObj.adminOrUnitName',label:
+					jsBizMultLan.perfweb_perfBatchScore_26466229_i18n_21}
+			],
+        });
+        //高级搜索事件
+        $("i[class='icon-search icon-gray']").click(function(){
+            reloadGrid($("#prftableData"));
+        });
+        $('#searcher').bind('keyup', function(event) {
+           if (event.keyCode == "13") {
+               reloadGrid($("#prftableData"));
+           }
+        });
+	},
+
+	 /*
+	  * 批量修改评级
+	  */
+	 batchModifyRatingAction : function (){
+		 if(currentPeriod.split(",").length>1){
+			 shr.showWarning({message : jsBizMultLan.perfweb_perfBatchScore_26466229_i18n_13});
+			 return false;
+		 }
+		var selectedIds = $("#grid").jqGrid('getGridParam','selarrrow');
+		var levelVal = "";
+        var unEvaluateName = [];
+		var gradeTaskNodeIds = new Array();
+		if(selectedIds.length < 1){
+			 shr.showWarning({message : jsBizMultLan.perfweb_perfBatchScore_26466229_i18n_14});
+			 return false;
+		 }else{
+			for(var i=0; i<selectedIds.length; i++){
+				if($('#grid').jqGrid("getCell",selectedIds[i], "wfNode.perfGradeEvaluate") == 0){
+					var name =  $('#grid').jqGrid("getCell",selectedIds[i], "evaObj.name");
+                    unEvaluateName.push(name);
+					// shr.showWarning({message : '您没有对评估对象【' +name+ '】打整体等级的权限,请重新选择!'});
+					continue;
+				}
+				gradeTaskNodeIds.push(selectedIds[i]);
+			}
+		}
+		if (unEvaluateName.length<1){
+            that.openBatchGrade(gradeTaskNodeIds);
+		}else {
+            shr.showConfirm(jsBizMultLan.perfweb_perfBatchScore_keymsf3_i18n_errData, function() {
+            	if(gradeTaskNodeIds.length<1){
+                    shr.showWarning({message : jsBizMultLan.perfweb_perfBatchScore_keymsf3_i18n_noLeaveData});
+                    return false;
+				}
+                that.openBatchGrade(gradeTaskNodeIds);
+            });
+		}
+	},
+    /**
+	 * 打开批量打等级页面
+     * @param gradeTaskNodeIds
+     */
+	openBatchGrade:function (gradeTaskNodeIds) {
+        var uipk = 'com.kingdee.shr.perfweb.app.perfBatchGrade.core';
+        localStorage.setItem(uipk, gradeTaskNodeIds.toString());
+        var safeUrl = shr.safeUrl(shr.getContextPath() + "/dynamic.do?uipk=" +uipk+
+            "&periodId=" + currentPeriod
+            + '&periodName=' + encodeURIComponent(encodeURIComponent(currentPeriodName)) + '&isOrg=' + isOrg);
+        window.open(safeUrl);
+    },
+	 /*
+	  *初始化表格
+	  */
+	 initPerfMarkTable : function (tableid,tag){
+	 	var options={
+	 		 name:['ID',
+				 jsBizMultLan.perfweb_perfBatchScore_26466229_i18n_10,
+				 jsBizMultLan.perfweb_perfBatchScore_26466229_i18n_6,
+				 jsBizMultLan.perfweb_perfBatchScore_26466229_i18n_7,
+				 jsBizMultLan.perfweb_perfBatchScore_26466229_i18n_28,
+				 jsBizMultLan.perfweb_perfBatchScore_26466229_i18n_24,
+				 jsBizMultLan.perfweb_perfBatchScore_26466229_i18n_31,
+				 jsBizMultLan.perfweb_perfBatchScore_26466229_i18n_21,
+				 jsBizMultLan.perfweb_perfBatchScore_26466229_i18n_15,
+				 jsBizMultLan.perfweb_perfBatchScore_26466229_i18n_2,
+				 jsBizMultLan.perfweb_perfBatchScore_26466229_i18n_3,
+				 jsBizMultLan.perfweb_perfBatchScore_26466229_i18n_20],
+	 		 model:[
+                 {"index":"id","width":10,"label":"Id","name":"id","align":"left",hidden: true,resizable:false},
+                 {name:'evaObj',index:'evaObj', width:10, align:"left",frozen: true, dataType: "String", hidden: true},
+                 {name:'gradeTaskNode',index:'gradeTaskNode', width:10, align:"left",frozen: true, dataType: "String", hidden: true},
+                 {name:'wfLevel',index:'wfLevel', width:10, align:"left",frozen: true, dataType: "String", hidden: true},
+	 			 {name:'number',index:'number', width:100, align:"left",frozen: true, dataType: "String", sortable: true},
+	 			 {name:'name',index:'name', width:100, align:"left",frozen: true, dataType: "String", sortable: true},
+	 			 {name:'position',index:'position', width:100, align:"left", dataType: "String", sortable: true},
+	 			 {name:'orgName',index:'orgName', width:100, align:"left", dataType: "String", sortable: true},
+	 			 {name:'areaName',index:'areaName', width:100, align:"left", dataType: "String", sortable: false},
+	 			 {name:'nodeSumScore',index:'nodeSumScore', width:100, align:"right", dataType: "String", sortable: true},
+	 			 {name:'nodeGrade',index:'nodeGrade', width:100, align:"left", dataType: "String", sortable: true},
+	 			 {name:'isShowWholeGrade',index:'isShowWholeGrade', width:10, align:"left",frozen: true, dataType: "int", hidden: true}
+	 		 ],
+	 		 multiselect:true,
+	 		 multiselectWidth:60,//复选框单元格宽度
+	 		 shrinkToFit:true,
+	 		 height:'auto',//高度,表格高度。可为数值、百分比或'auto'
+	 		 width:1150,//这个宽度不能为百分比
+	 		 rownumbers:false,
+	 		 rowNum : defaultRows,
+	 		 postData : {
+				  rows : defaultRows,
+				  page : 1,
+				  sord : 'DESC',
+				  period : currentPeriod,
+				  personId : personId
+		  	 },
+		  	 url: that.dynamicPage_url+"?method=initPerfEvaObjectList&uipk=" + that.uipk,
+		  	 nextPage : $("#"+ tag +"PageNext"), //下一页对象
+		  	 prevPage : $("#"+ tag +"PagePrev"),//上一页对象
+		  	 pageTotal : $("#"+ tag +"PageTotal"), //总页数对象
+		  	 curPage : $("#"+ tag +"CurPage"), //当前页对象
+		  	 selectIds : '', //选中的数据id
+
+		  	 allNum : null, //全部,没有null
+		  	 pageNum : $("#"+ tag +"PageNum"), //页面当前数及总页数显示对象
+
+		  	 onSelectRow : function (rowid,status){
+
+		  	},
+		  	onSelectAll : function (aRowids,status){}
+	 	 };
+		hrtable.createTable($('#'+tableid),options);
+	    $("#"+tableid).on("click", 'tr[role="row"]', function(e) {
+	       var ariaDescribedby = null;
+	       var ua = navigator.userAgent.toLowerCase();
+		   var browser = {
+		        isIE: /(msie\s|trident.*rv:)([\w.]+)/.test(ua),
+		        isFF: /firefox/.test(ua),
+		        isChrome: /chrome/.test(ua),
+		        isSafari: /safari/.test(ua)
+		    };
+		   if (browser.isIE) {
+		       ariaDescribedby = $(event.srcElement).attr("aria-describedby");
+		   }else{
+		       ariaDescribedby = $(e.srcElement).attr("aria-describedby")
+		   }
+
+	      if(ariaDescribedby == 'prftableData_cb' || ariaDescribedby == undefined){
+	    	  //return false;
+	      }else{
+	    	    var gradeTaskNodeId = $(this).attr("id");
+				var evaObj = $('#prftableData').jqGrid("getCell",gradeTaskNodeId,"evaObj"); //评估对象id
+				var defaultPage = this.initData.defaultPage;
+				var pageUipk = 'com.kingdee.shr.perfweb.app.perfscore.core';
+				if(defaultPage == 'list'){
+					pageUipk = 'com.kingdee.shr.perfweb.app.perfscoreNew.core';
+				}
+			  var rows = $('#prfPageSelect option:selected').attr("value");
+			  that.reloadPage({
+				  uipk: pageUipk,
+				  evaObj : evaObj,
+				  personId : personId,
+				  periodId : currentPeriod,
+				  gradeTaskNode : gradeTaskNodeId,
+				  rows : rows,
+				  personalScoreSearchIdList : encodeURIComponent(personalScoreSearchIdList),
+                  shruicode: "AF_PERF_S0001"
+			  });
+	      }
+
+	    })
+	 },
+
+	 /**
+	  * 初始化批量修改等级表格
+	  */
+	 batchModifyRatingTable : function (tableid,tag,gradeTaskNodeIds,levelVal){
+	 	var that = this;
+	 	//等级列表添加空白选项-liuzw-2018/03/29
+	 	levelVal = '&nbsp:&nbsp;'+levelVal;
+	 	var options={
+	 			name:['ID',
+					jsBizMultLan.perfweb_perfBatchScore_26466229_i18n_34,
+					jsBizMultLan.perfweb_perfBatchScore_26466229_i18n_28,
+					jsBizMultLan.perfweb_perfBatchScore_26466229_i18n_24,
+					jsBizMultLan.perfweb_perfBatchScore_26466229_i18n_31,
+					jsBizMultLan.perfweb_perfBatchScore_26466229_i18n_2,
+					jsBizMultLan.perfweb_perfBatchScore_26466229_i18n_19,
+					jsBizMultLan.perfweb_perfBatchScore_26466229_i18n_3],
+	 			model:[
+                         {"index":"id","width":10,"label":"Id","name":"id","align":"left",hidden: true,resizable:false},
+                         {name:'period',index:'period', width:10, align:"left",frozen: true, dataType: "String", hidden: true},
+	 		 			 {name:'number',index:'number', width:110, align:"left", dataType: "String", sortable: false},
+	 		 			 {name:'name',index:'name', width:130, align:"left",fdataType: "String", sortable: false},
+	 		 			 {name:'position',index:'position', width:130, align:"left", dataType: "String", sortable: false},
+	 		 			 {name:'nodeSumScore',index:'nodeSumScore', width:110, align:"left", dataType: "String",sortable: false},
+                   		 {name:'perfGradeEvaluate',index:'perfGradeEvaluate', width:110, align:"left", dataType: "String", hidden: true,sortable: false},
+	 		 			 {name:'nodeGrade',index:'nodeGrade', width:300, align:"left",editable: true, dataType: "String", sortable: false,edittype:'select',
+	 		 				editoptions:{
+	 		 				    value: levelVal
+	 		 				}
+	 		 			 }
+
+	 			 ],
+	 			url : that.dynamicPage_url+"?method=initEvaBatchGradeList&uipk=" + that.uipk,
+	 			postData : {
+			 		  rows : defaultRows,
+					  page : 1,
+					  sord : 'DESC',
+					  gradeTaskNodeIds : gradeTaskNodeIds
+			  	 },
+			  	 nextPage : $("#"+ tag +"PageNext"), //下一页对象
+			  	 prevPage : $("#"+ tag +"PagePrev"),//上一页对象
+			  	 pageTotal : $("#"+ tag +"PageTotal"), //总页数对象
+			  	 curPage : $("#"+ tag +"CurPage"), //当前页对象
+			  	 selectIds : '', //选中的数据id
+
+			  	 allNum : null, //全部,没有null
+			  	 pageNum : $("#"+ tag +"PageNum"), //页面当前数及总页数显示对象
+			  	 rowNum : defaultRows//每页显示记录数
+	 	 };
+
+	 	$('#'+tableid).jqGrid({
+	 		mtype : "POST",//提交方式
+			datatype : 'json',
+			data: options.data,
+			height:270,//高度,表格高度。可为数值、百分比或'auto'
+			width : 669,//这个宽度不能为百分比
+			autowidth: true,
+			colNames : options.name,//'<span class="checkboxs selectallcheckbox"></span>'
+			colModel : options.model,
+	     	rownumbers : false,//添加左侧行号
+	     	sortname : options.sortname,
+	     	sortorder : options.sortorder,
+	     	sortable : options.sortable,
+	        rowNum : options.rowNum,//每页显示记录数
+	        multiselect : false,//复选框
+	        forceFit : true,//如果设置为true,改变列宽,相邻列也将调整以适应整体表格,将不会出现水平滚动条。
+	        multiselectWidth : options.multiselectWidth,//复选框列宽度
+	        shrinkToFit : true,//该项描述计算每列相对于表格宽度的初始宽度的类型。若为true,并且设置了列宽度,则每列的宽度根据定义宽度缩放。若为false,并且设置了列宽度,表格宽度为设置宽度,列宽度不会重新计算,使用colModel中定义的值
+	        autoScroll : false,
+	        hoverrows : true,
+	        url : options.url,
+	        postData: options.postData,
+	        cellEdit: true,//是否开启单元格的编辑功能
+			cellsubmit: 'remote',//or 'clientArray',remote代表每次编辑提交后进行服务器保存,clientArray只保存到数据表格不保存到服务器
+			cellurl: '', //cellsubmit要提交的后台路径
+	        loadComplete:function(data){
+	        	if(data.rows == undefined || data.records == 0 || data.rows.length == 0){ //如果没有记录返回,追加提示信息,删除按钮不可用
+                    $('#'+tableid).find('.norecord td').eq(0).html('').append('<div class="PromptEmptyData_td"><div class="promptimg_td"></div><div class="prompttext_td">'+
+						jsBizMultLan.perfweb_perfBatchScore_26466229_i18n_4+
+						'</div></div>');//无数据时的提示样式
+	        		if(options.allNum != null){
+	        			options.allNum.text(data.records);
+	        		}
+	        		options.prevPage.css('opacity','0.4');
+	        		options.nextPage.css('opacity','0.4');
+	  	        }else{
+	  	        	if(options.allNum != null && options.allNum != undefined){
+	  	        		options.allNum.text(data.records);
+	  	        	}
+	  	        	options.curPage.val(data.page);
+
+			       	//设置总记录数
+			   		var lowNum = (parseInt(data.page)-1)*(options.rowNum)+1;
+			   		var highNum = lowNum + data.rows.length -1;
+
+			   		options.pageNum.text("(" +lowNum+ "-" +highNum+ "/" +data.records+ ")");
+			   		options.pageTotal.text(data.total);
+
+			     	//如果总页数<=当前页,点击"下一页"无反应
+		        	if(data.total <= data.page){
+		        		options.nextPage.css('opacity','0.4');
+		        	}else{
+		        		options.nextPage.css('opacity','1');
+		        	}
+
+		        	//如果是第一页,”上一页”箭头灰选
+		        	if(data.page == 1){
+		        		options.prevPage.css('opacity','0.4');
+		        	}else{
+		        		options.prevPage.css('opacity','1');
+		        	}
+
+		        	//设置已勾选的数据默认为选中状态
+		        	if(options.selectIds != null){
+		        		var midleSelectIds = options.selectIds;
+			            if(midleSelectIds != null && midleSelectIds.length>0){
+			            	for(var i=0 ; i<midleSelectIds.length ;i++){
+			            		obj.jqGrid('setSelection',midleSelectIds[i]);
+			            	}
+			            }
+		        	}
+			  }
+	        },
+	        onCellSelect  : function (rowid,iCol,cellcontent,e){
+	        	if(rowid && rowid != lastsel){
+					$('#'+tableid).jqGrid('editRow',rowid,true);
+					$('#'+tableid).jqGrid('saveRow',lastsel,{"url" : 'clientArray'});
+					lastsel=rowid;
+				}
+	        },
+            gridComplete: function (data) {
+                that.setNodeGradeEditable('nodeGrade', tableid);
+            }
+		}).jqGrid('setFrozenColumns');
+	 },
+
+    /**
+	 * 设置等级是否可编辑
+     */
+     setNodeGradeEditable : function (column, tableid) {
+        var trsObj = $("#"+tableid+">tbody>tr:gt(0)");
+        var perfGradeEvaluateCol = trsObj.eq(0).children("[aria-describedby='"+ tableid+"_perfGradeEvaluate" + "']");
+        var currentCol = trsObj.eq(0).children("[aria-describedby='"+ tableid+"_nodeGrade"+"']");
+        var index = currentCol.index();
+        var pindex = perfGradeEvaluateCol.index();
+        trsObj.each(function (ind2, tr) {
+            var perfGradeEvaluate = $(tr).children("td").eq(pindex);
+            if (perfGradeEvaluate.text() == '0') {
+                var rowid = $(tr).attr('id');
+                $('#'+tableid).jqGrid('editRow',rowid , false);
+                $('#'+tableid).jqGrid('setCell', rowid, 'nodeGrade', '', 'not-editable-cell');
+                $(tr).children("td").eq(index).find('select').attr("disabled","disabled");
+            }
+        });
+	 },
+	 /*
+	  * 选择分组
+	  */
+	 groupClick : function (){
+	 	$('.grouping li').unbind('click').bind('click',function(){
+	 		if(!$(this).hasClass('groupselect')){
+	 			$('.groupselect').removeClass('groupselect');
+	 			$(this).addClass('groupselect');
+	 		}
+	 	})
+	 },
+
+	 /*
+	  * 选择表格记录
+	  */
+	 recordsmenuClick : function (){
+	 	$('.recordsmenu li').unbind('click').bind('click',function(){
+	 		if(!$(this).hasClass('selectli')){
+	 			var index=$(this).index();
+	 			var tabwrap = $(this).closest('.tablebox').find('.tabwrap');
+	 			$(this).siblings('li.selectli').removeClass('selectli');
+	 			$(this).addClass('selectli');
+	 			tabwrap.find('.tabinnerwrap').eq(index).siblings('.tabinnerwrap').hide();
+	 			tabwrap.find('.tabinnerwrap').eq(index).show();
+	 		}
+	 	})
+	 },
+
+	 /*
+	  * 初始化【批量评分-全部】表格
+	  */
+	 initGroupDataTable : function (tableid,tag){
+	 	var options={
+	 		 name:[jsBizMultLan.perfweb_perfBatchScore_26466229_i18n_27,
+				 jsBizMultLan.perfweb_perfBatchScore_26466229_i18n_24,
+				 jsBizMultLan.perfweb_perfBatchScore_26466229_i18n_32],
+	 		 model:[
+	 			 {name:'number',index:'number', width:100, align:"left",frozen: true},
+	 			 {name:'name',index:'name', width:100, align:"left",frozen: true},
+	 			 {name:'indicatorType',index:'indicatorType', width:100, align:"left"},
+	 		 ],
+	 		 multiselect:true,
+	 		 multiselectWidth:'60',//复选框单元格宽度
+	 		 rownumbers: false,
+	 		 shrinkToFit:true,
+	 		 height:270,//高度,表格高度。可为数值、百分比或'auto'
+	 		 width:499,//这个宽度不能为百分比
+	 		 postData : {
+				  rows : defaultRows,
+				  page : 1,
+				  sord : 'DESC',
+				  type : '',
+				  selectedIds : ''
+		  	 },
+		  	url: it.dynamicPage_url+"?method=getIndicatorList&uipk=" + it.uipk,	//暂时放这里,要改哦
+		  	 nextPage : $("#"+ tag +"PageNext"), //下一页对象
+		  	 prevPage : $("#"+ tag +"PagePrev"),//上一页对象
+		  	 pageTotal : $("#"+ tag +"PageTotal"), //总页数对象
+		  	 curPage : $("#"+ tag +"CurPage"), //当前页对象
+		  	 selectIds : '', //选中的数据id
+
+		  	 allNum : $('#setgoal_num'), //全部,没有null
+		  	 pageNum : $("#"+ tag +"PageNum"), //页面当前数及总页数显示对象
+
+		  	 onSelectRow : function (rowid,status){},
+		  	 onSelectAll : function (aRowids,status){}
+	 	 };
+	 	hrtable.createTable($('#'+tableid),options);
+	 },
+
+	 /*
+	  * 移除选中事件
+	  */
+	 removeSelected : function (obj,rowsid){ 							//bug:排序后删除才管用
+	 	$(obj).closest('table').jqGrid("delRowData", rowsid);
+	 },
+
+	 /**
+	  * 批量提交
+	  */
+	 batchSubmitAction : function (){
+		var selectIds = $("#grid").jqGrid('getGridParam','selarrrow');
+		var gradeTaskNodeIds = new Array();
+		var evaObjIds = new Array();
+		if(selectIds.length < 1){
+			shr.showWarning({message : jsBizMultLan.perfweb_perfBatchScore_26466229_i18n_14});
+			return false;
+		}else{
+			for(var i=0; i<selectIds.length; i++){
+				gradeTaskNodeIds.push($('#grid').jqGrid("getCell",selectIds[i], "id"));
+				evaObjIds.push($('#grid').jqGrid("getCell",selectIds[i], "evaObj.id"));
+			}
+
+			shr.showConfirm(jsBizMultLan.perfweb_perfBatchScore_26466229_i18n_22, function() {
+				top.Messenger().hideAll();
+				$.block.show({text : jsBizMultLan.perfweb_perfBatchScore_keymsf3_i18n_blockMsg});
+		        setTimeout(function () {
+		        	that.remoteCall({
+						method : "submitScore",
+						param : {
+						   evaObjIds : evaObjIds.toString(),
+						   gradeTaskNodeIds : gradeTaskNodeIds.toString()
+						},
+						async : false,
+						success : function(data) {
+							$.block.hide();
+							shr.showWarning({message : data.msg});
+							$('#grid').jqGrid("reloadGrid");
+						}
+					});
+		        }, 300);
+
+
+			});
+		}
+	 },
+	 /*
+	  * 初始化【批量提交-已选】表格
+	  */
+	 initbatchSubmitselectedDataTable : function (tableid,tag){
+	 	var options={
+	 		 name:['','',
+				 jsBizMultLan.perfweb_perfBatchScore_26466229_i18n_27,
+				 jsBizMultLan.perfweb_perfBatchScore_26466229_i18n_29,
+				 jsBizMultLan.perfweb_perfBatchScore_26466229_i18n_32,
+				 jsBizMultLan.perfweb_perfBatchScore_26466229_i18n_33],
+	 		 model:[
+					{name:'merge',index:'merge', width:60,align:"center",frozen: true,
+						 formatter: function (value, grid, rows, state) {
+						 	return '<span class="del_selected" onclick=\" it.removeSelected(this,'+grid.rowId+')\" title="'+
+								jsBizMultLan.perfweb_perfBatchScore_26466229_i18n_25+
+								'"></span>'
+						 }
+					 },
+					 {"index":"id","width":10,"label":"Id","name":"fid","align":"left",hidden: true,resizable:false},
+					 {name:'number',index:'number', width:135, align:"left",frozen: true, dataType: "int", sortable: true},
+					 {name:'name',index:'name', width:135, align:"left",frozen: true, dataType: "int", sortable: true},
+					 {name:'indicatorType',index:'indicatorType', width:135, align:"left", dataType: "int", sortable: true},
+					 {name:'PIDescription',index:'PIDescription', width:135, align:"left", dataType: "int", sortable: true,
+		 				 formatter: function (value, grid, rows, state) {
+							 var titleval='evaluationStandard',
+								 text=jsBizMultLan.perfweb_perfBatchScore_26466229_i18n_23;
+							 var btn=it.titleAttr(value, grid, rows, state,titleval,text);
+							 return btn;
+						 }
+	 				 },//添加title值,titleAttr公用
+	 		 ],
+	 		 multiselect:false,
+	 		 multiselectWidth:'',//复选框单元格宽度
+	 		 rownumbers: false,
+	 		 shrinkToFit:true,
+	 		 height:270,//高度,表格高度。可为数值、百分比或'auto'
+	 		 width:640,//这个宽度不能为百分比
+	 		 postData: {
+	 			rows : defaultRows,
+	 			page : 1,
+	 			sord : "DESC",
+	 			type : '5'
+	 		 },
+	 		 url: it.dynamicPage_url+"?method=getIndicatorList&uipk=" + it.uipk,	//暂时放这里,要改哦
+	 		 nextPage : $("#"+ tag +"PageNext"), //下一页对象
+		  	 prevPage : $("#"+ tag +"PagePrev"),//上一页对象
+		  	 pageTotal : $("#"+ tag +"PageTotal"), //总页数对象
+		  	 curPage : $("#"+ tag +"CurPage"), //当前页对象
+		  	 selectIds : '', //选中的数据id
+
+		  	 allNum : $('#batchsubmit_num'), //全部,没有null
+		  	 pageNum : $("#"+ tag +"PageNum"), //页面当前数及总页数显示对象
+
+		  	 onSelectRow : function (rowid,status){},
+		  	 onSelectAll : function (aRowids,status){}
+	 	 };
+	 	hrtable.createTable($('#'+tableid),options);
+	 	$('#batchSubmitDataselected').parents('.tabinnerwrap').hide();
+	 },
+
+	 /**
+	  * 添加详细信息的title值
+	  */
+	 titleAttr : function (value, grid, rows, state,titleval,text){
+	 	var data=simulatedData();
+	 	var i=grid.rowId;
+	 	console.log(data[i].titleval);
+	 	console.log(data[i][titleval]);
+	 	return '<span class="detailedInformation" title="'+data[i][titleval]+'">'+text+'</span>';
+	 },
+
+	 /**
+	  * 批量打回打上一级流程
+	  */
+	 batchBackAction : function (){
+		var selectIds = $("#grid").jqGrid('getGridParam','selarrrow');
+		var gradeTaskNodeIds = new Array();
+		var evaObjIds = new Array();
+		if(selectIds.length < 1){
+			shr.showWarning({message : jsBizMultLan.perfweb_perfBatchScore_26466229_i18n_14});
+			return false;
+		}else{
+			for(var i=0; i<selectIds.length; i++){
+				var wfLevel = $('#grid').jqGrid("getCell",selectIds[i], "wfLevel");
+				if(wfLevel > 1){ //第一级流程无需打回
+					gradeTaskNodeIds.push($('#grid').jqGrid("getCell",selectIds[i], "id"));
+					evaObjIds.push($('#grid').jqGrid("getCell",selectIds[i], "evaObj.id"));
+				}else{
+					var fname = $('#grid').jqGrid("getCell",selectIds[i], "evaObj.name");
+                    if (isOrg == '0') {
+						shr.showWarning({
+							message:
+								shr.formatMsg(jsBizMultLan.perfweb_perfBatchScore_26466229_i18n_26,
+									[fname])
+						});
+                    } else {
+                        shr.showWarning({message: shr.formatMsg(jsBizMultLan.perfweb_perfBatchScore_keymsf3_i18n_orgWfNeedNotBack, [fname])});
+                    }
+					return false;
+				}
+			}
+			var backHTML = '<div id="backToUpLevel">'+
+				'<p class="note-title">'+jsBizMultLan.perfweb_perfBatchScore_202305051851_i18n_0+
+				'</p>'+
+			                  '<p><textarea id="backReason" placeholder="'+
+                shr.formatMsg(jsBizMultLan.perfweb_perfBatchScore_26466229_i18n_11,
+					[2000])+
+				'"></textarea></p>'+
+				'<p >' +
+				
+				'<span class="note-title">' +
+				// '通知方式:' +
+				jsBizMultLan.perfweb_perfBatchScore_bw0311_02 +
+				'</span>'+
+				// '通知上一节点评分人:' +
+				'<span class="note-obj">'+jsBizMultLan.perfweb_perfBatchScore_bw0311_01 +'</span>'+
+				'</p>'+
+				'<div id="pickReminderDialog" >'+
+				'<div class="type-box">'+
+				'<div>'+
+				'<input id="msgReminder" type="checkbox" value="msg">'+
+				'<label for="msgReminder" class ="checked">' +
+				jsBizMultLan.perfweb_perfBatchScore_bw0311_03 +
+				// '消息通知' +
+				'</label>'+
+				'</div>'+
+				'<div>'+
+				'<input id="emailReminder" type="checkbox" value="email">'+
+				'<label for="emailReminder">' +
+				// '邮件' +
+				jsBizMultLan.perfweb_perfBatchScore_bw0311_04 +
+				'</label>'+
+				'</div>'+
+				'<div>'+
+				'<input id="SMSReminder" type="checkbox" value="sms">'+
+				'<label for="SMSReminder">' +
+				jsBizMultLan.perfweb_perfBatchScore_bw0311_05 +
+				// '短信' +
+				'</label>'+
+				'</div>'+
+				'<div >'+
+				'<input id="cloudReminder" type="checkbox" value="cloud">'+
+				'<label for="cloudReminder">' +
+				jsBizMultLan.perfweb_perfBatchScore_bw0311_06 +
+				// '云之家' +
+				'</label>'+
+				'</div>'+
+				'</div>'+
+				'</div>'+
+				'</div>';
+			$(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.perfweb_perfBatchScore_26466229_i18n_0,
+				autoOpen : true,
+				show : "blind",
+				width : 700,
+				height : 420,
+				resizable : true,
+				position : [ 'center', 'center' ],
+				modal : true,
+				buttons : [{
+					text:jsBizMultLan.perfweb_perfBatchScore_26466229_i18n_18,
+					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 : evaObjIds.toString(),
+							   gradeTaskNodeIds : gradeTaskNodeIds.toString(),
+							   backReason : backReason,
+								SMSType: SMSType,
+								emailType: emailType,
+								portalType: portalType,
+								yzjMsgType: yzjMsgType
+							},
+							async : false,
+							success : function(data) {
+								$('#prftableData').jqGrid("reloadGrid");
+								$(_this).dialog("destroy").remove();
+								shr.showInfo({message : data.msg, hideAfter : 10});
+							}
+						});
+					}},{
+					text:jsBizMultLan.perfweb_perfBatchScore_26466229_i18n_16,
+					click : function() {
+						$(this).dialog("destroy").remove();
+					}
+				}]
+			});
+		}
+	 },
+	//评分操作
+	grade : function(obj){
+	  var gradeTaskNode = obj.parentNode.parentNode.id;
+	  var evaObj = $('#grid').jqGrid("getCell",gradeTaskNode,"evaObj.id"); //评估对象id
+	  that.reloadPage({
+		  uipk:'com.kingdee.shr.perfweb.app.perfscore.core',
+		  evaObj : evaObj,
+		  personId : personId,
+		  periodId : currentPeriod,
+          shruicode: "AF_PERF_S0001"
+	  });
+	},
+	reloadPage: function(params, url) {
+		shr.hideErrorMsg();
+
+		if (!url) {
+			url = this.getPageUrl();
+		}
+		params = $.extend(this.prepareParam(), params);
+
+		if (this.isFragment) {
+			// 片断
+			var target = this.getWorkarea();
+			shr.loadHTML({
+				url: url,
+				data: params,
+				success: function(response) {
+					target.fadeOut({
+						complete: function() {
+							target.replaceWith(response);
+							shr.setIframeHeight();
+						}
+					});
+				}
+			});
+		} else {
+			this.savePageState();
+			//console.log('url: ' + url);
+
+			if (parent == top) {
+				// 主iframe,目前主界面的第一层只能有一个主操作区workArea。使用urlLocate产生history
+				shr.urlLocate(url, params);
+			} else {
+				// 使用redirect不产生history
+				shr.redirect(url, params);
+			}
+		}
+	},
+	prepareParam: function(action) {
+		var param = {
+			uipk: this.uipk
+		};
+
+		if (this.isFragment) {
+			param.isFragment = this.isFragment
+		}
+		// fromWF
+		var fromWF = shr.getUrlRequestParam('fromWF');
+		if (fromWF) {
+			param.fromWF = fromWF;
+		}
+		// iframe
+		var iframe = shr.getUrlRequestParam('iframe');
+		if (iframe) {
+			param.iframe = iframe;
+		}
+		// serviceId
+		var serviceId = shr.getUrlRequestParam('serviceId');
+		if (serviceId) {
+			param.serviceId = serviceId;
+		}
+		// inFrame
+		var inFrame = shr.getUrlRequestParam('inFrame');
+		if (inFrame) {
+			param.inFrame = inFrame;
+		}
+
+		return param;
+	},
+
+    /**
+     * 弹出说明
+     */
+    instructionsBox : function(){
+        $(".icon_instructions").die('mouseover').live('mouseover',function(){
+            var box=$('.instructionsboxwrap');
+            // BT1441329-规则提示有时不生效的问题 modified by Janeou_xie
+            box.stop().hide().fadeIn();
+        });
+        $(".icon_instructions").die('mouseout').live('mouseout',function(){
+            var box=$('.instructionsboxwrap');
+            box.stop().fadeOut();
+        });
+    },
+
+    /**
+	 * 查看单人评分
+     * @param billId
+     */
+    viewAction: function(billId){
+        var evaObj = $(this.gridId).jqGrid("getCell",billId,"evaObj.id"); //评估对象id
+        var defaultPage =this.initData.defaultPage;
+        var pageUipk = 'com.kingdee.shr.perfweb.app.perfscore.core';
+        if(defaultPage == 'list'){
+            pageUipk = 'com.kingdee.shr.perfweb.app.perfscoreNew.core';
+        }
+        var rows = $('.ui-pg-selbox option:selected').attr("value");
+        that.reloadPage({
+            uipk: pageUipk,
+            evaObj : evaObj,
+            personId : personId,
+            periodId : currentPeriod,
+            gradeTaskNode : billId,
+            rows : rows,
+            personalScoreSearchIdList : encodeURIComponent(personalScoreSearchIdList),
+			shruicode: "AF_PERF_S0001"
+        });
+    },
+
+    initalizeGridEvent: function (grid) {
+    	grid.setGridParam({cellEdit: false});
+    	$("#batchSaveGradeTaskNode").hide();
+    	$("#batchSaveGradeTaskNodeExit").hide();
+        if (typeof grid == 'undefined') {
+            grid = $(this.gridId);
+        }
+        var _self = this;
+        grid.jqGrid('option', {
+            onCellSelect: function (rowid, colIndex, cellcontent, e) {
+                _self.onCellSelect(rowid, colIndex, cellcontent, e);
+            },
+            onSelectAll: function (rowIds, checked) {
+                _self.onSelectAll(rowIds, checked);
+            },
+            onPaging: function () {
+                _self.onPaging();
+            },
+			loadComplete: function (data) {
+				personalScoreSearchIdList = "";
+				if (data && data.rows) {
+					rows = data.rows;
+					/**
+					 * 拼接评分任务实例ID,传到打分页面(如果团队目标评价页面过滤了数据,
+					 * 比如说根据“员工姓名”进行了精确搜索,过滤后只剩下6条数据,打分页面也必须只展示这6条数据)
+					 */
+					data.rows.forEach(function (currentVal, index) {
+						if (index < data.rows.length - 1) {
+							personalScoreSearchIdList = personalScoreSearchIdList + currentVal.id + ",";
+							// 最后一条数据单独处理
+						} else {
+							personalScoreSearchIdList = personalScoreSearchIdList + currentVal.id;
+						}
+					});
+
+					$("td[role='gridcell']").each(function () {
+						$(this).removeClass("disabled");
+					});
+				}
+			}
+        });
+    },
+
+	bindBatchScoreGridEvent: function (grid) {
+    	$(".shr-toolbar").find("button").hide();
+    	$("#batchSaveGradeTaskNode").show();
+    	$("#batchSaveGradeTaskNodeExit").show();
+		if (typeof grid == 'undefined') {
+			grid = $(this.gridId);
+		}
+		grid.setGridParam({cellEdit: true});
+		grid.setColProp('nodeSumScore', {editable: true});
+		grid.setColProp('nodeGrade', {editable: true, edittype: 'shrselect',formatter: 'shrtext',editoptions: {
+			selectJson: {
+				onChange: function(){
+					var $this = $(this);
+					var selectVal = $(this).val();
+					// change事件入口
+				}
+			}
+		}});
+		grid.setColProp('wholeComment', {editable: true, edittype: 'wafTextArea',formatter: function(val,msg){
+            return '<div class="cell-height scrollbarthin">'+(val?val:'')+'</div>';
+        }});
+		//不允许修改等级,
+		if (that.initData.isManualJudgeGrade == "2") {
+			grid.setColProp('nodeGrade', {editable: false});
+		}
+		var _self = this;
+		grid.jqGrid('option', {
+			cellsubmit: 'clientArray',
+			keyOptions:{    // 编辑最后一行的最后一个可编辑单元格时,回车不新增行,而是回到第一个可编辑单元格
+                addNewRowForLastCell: false,
+                loop: true
+            },
+			onCellSelect: function (rowid, colIndex, cellcontent, e) {
+				_self.onCellSelect(rowid, colIndex, cellcontent, e);
+
+			},
+			onSelectAll: function (rowIds, checked) {
+				_self.onSelectAll(rowIds, checked);
+			},
+			onPaging: function () {
+				_self.onPaging();
+			},
+			beforeEditCell: function (rowid, cellname, value, iRow, iCol) {
+				var $cell_nodeSumScore = $('[id="' + rowid + '"]').find("td[aria-describedby='grid_nodeSumScore']");
+				var $cell_nodeGrade = $('[id="' + rowid + '"]').find("td[aria-describedby='grid_nodeGrade']");
+				var $cell_wholeComment = $('[id="' + rowid + '"]').find("td[aria-describedby='grid_wholeComment']");
+				if ($cell_nodeSumScore.hasClass("disabled") && cellname == "nodeSumScore") {
+					return false;
+				}
+				if ($cell_nodeGrade.hasClass("disabled") && cellname == "nodeGrade") {
+					return false;
+				}
+				
+				return true;
+				
+			},
+			afterEditCell: function (rowid, cellname, value, iRow, iCol) {
+				//selected-row ui-state-hover edited
+/*				$("tr[role='row']").each(function () {
+					$(this).removeClass("selected-row");
+					$(this).removeClass("ui-state-hover");
+					$(this).removeClass("edited");
+				});*/
+				if(cellname == 'wholeComment'){
+                    $(this).find('textarea[id="'+iRow+'_'+cellname+'"]').val($(value).text());
+                }
+				var $cell_nodeSumScore = $('[id="' + rowid + '"]').find("td[aria-describedby='grid_nodeSumScore']");
+				var $cell_nodeGrade = $('[id="' + rowid + '"]').find("td[aria-describedby='grid_nodeGrade']");
+				var $cell_wholeComment  = $('[id="' + rowid + '"]').find("td[aria-describedby='grid_wholeComment']");
+				var nodeGradeSelectJSON=$('[id="' + rowid + '"]').find("td[aria-describedby='grid_nodeGradeSelect']").html();
+				nodeGradeSelectJSON = JSON.parse(nodeGradeSelectJSON);
+				if ("nodeGrade" == cellname) {
+					$('#' + iRow + '_' + cellname).attr('readonly', true);
+					//$('#' + iRow + '_' + cellname).shrSelect('addOption', nodeGradeSelectJSON.reverse());
+					$('#' + iRow + '_' + cellname).shrSelect('addOption', nodeGradeSelectJSON);
+				}
+			},
+			afterSaveCell: function (rowid, cellname, value, iRow, iCol) {
+				var rowdata = $('#grid').jqGrid('getRowData',rowid);
+				if ("nodeSumScore" == cellname && rowdata["wfNode.perfGradeEvaluate"] != 0) {
+					/** 处理逻辑 isManualJudgeGrade = 0/2 的时候改变分数需要自动计算等级
+					 * 参数控制:通过改变分数自动获取节点等级
+					 */
+					if (that.initData.isManualJudgeGrade == "2" || that.initData.isManualJudgeGrade == "0") {
+						that.remoteCall({
+							method: "getLeaveByScore",
+							param: {
+								nodeSumScore: value, // 这里获取修改后的分数 $('[id="' + rowid + '"]').find("td[aria-describedby='grid_nodeSumScore']").html(),
+								id: $('[id="' + rowid + '"]').find("td[aria-describedby='grid_id']").html()
+							},
+							async: false,
+							success: function (data) {
+								//这里的结果类似 {data: "差E"}
+								console.log(data);
+								grid.jqGrid('setCell', rowid, 'nodeGrade', data.data);
+								var $cell_nodeGrade = $('[id="' + rowid + '"]').find("td[aria-describedby='grid_nodeGrade']");
+								$cell_nodeGrade.addClass("dirty-cell");
+							}
+						});
+					}
+				}
+				var wholeGradeB=$cell_nodeGrade.text();
+				if("B"===wholeGradeB){
+	                $('#grid').jqGrid('setCell',rowid,'wholeComment','ㅤ');
+	            }else{
+	                 var curWholeCommentB = $($('#grid').jqGrid('getCell',rowid,'wholeComment')).text();
+	                if('ㅤ'===curWholeCommentB){
+	                   $('#grid').jqGrid('setCell',rowid,'wholeComment','');
+	                }
+	            }
+			},
+			loadComplete: function (data) {
+				_self.gridLoadComplete();
+				var $grid = $("#grid");
+				$("td[role='gridcell']").each(function () {
+					$(this).removeClass("disabled");
+					$(this).addClass("gridcell0");
+				});
+				if (data && data.rows && data.rows.length > 0) {
+					for (var i = 0; i < data.rows.length; i++) {
+						var rowData = data.rows[i];
+						if (rowData["wfNode.needScore"].value != 3) {
+							//非打总分的节点也允许打总分
+							// var $cell = $(shr.xssFilter('[id="' + rowData.id + '"]')).find("td[aria-describedby='grid_nodeSumScore']");
+							// var $cell2 = $(shr.xssFilter('[id="' + rowData.id + '"]')).find("td[aria-describedby='grid_nodeGrade']");
+							// var $cell3 = $(shr.xssFilter('[id="' + rowData.id + '"]')).find("td[aria-describedby='grid_wholeComment']");
+							// $cell.addClass("disabled");
+							// $cell2.addClass("disabled");
+							// $cell3.addClass("disabled");
+						}
+						if (rowData["wfNode.needScore"].value == 0) {//不评分的不能输入总分
+							var $cell = $(shr.xssFilter('[id="' + rowData.id + '"]')).find("td[aria-describedby='grid_nodeSumScore']");
+							$cell.addClass("disabled");
+						}
+						if (rowData["wfNode.perfGradeEvaluate"].value == 0) {//不打等级的不能选等级
+							var $cell = $(shr.xssFilter('[id="' + rowData.id + '"]')).find("td[aria-describedby='grid_nodeGrade']");
+							$cell.addClass("disabled");
+						}
+					}
+				}
+				//打分框获取焦点
+				// if ($('[aria-describedby="grid_nodeSumScore"]')[0]) {
+				// 	$('[aria-describedby="grid_nodeSumScore"]')[0].click();
+				// }
+			}
+		});
+	},
+    //导入总分
+    importNodeSumscoreAction: function () {
+        var _self = this;
+        //获取表格查询记录数
+        var $grid = $("#grid"),totalRecords,isNeedEmpty=1,dynamicSql='',selectIds='';
+        totalRecords = $grid.jqGrid('getGridParam', 'records');
+        if(totalRecords > 0) {
+            isNeedEmpty = 1;
+            var data = _self.getDynamicSql('importNodeSumScore');
+            dynamicSql = data.dynamicSql;
+        }
+        selectIds = $grid.jqGrid('getGridParam', 'selarrrow').toString();
+        var customParam = {
+            isNeedEmpty : isNeedEmpty,
+            selectIds : selectIds,
+            dynamicSql : dynamicSql,
+			period: currentPeriod
+        };
+
+         this.doImportData('importNodeSumscore', customParam, 'importNodeSumScore');
+         if($('iframe', parent.document).height() < 482){
+             $('.tabImport').height($('iframe', parent.document).height()-10).css('top', '5px');
+         }
+    },
+
+    //导入指标得分
+    importNodeTargetScoreAction: function () {
+        var _self = this;
+        //获取表格查询记录数
+        var $grid = $("#grid"),totalRecords,isNeedEmpty=1,dynamicSql='',selectIds='';
+        totalRecords = $grid.jqGrid('getGridParam', 'records');
+        if(totalRecords > 0) {
+            isNeedEmpty = 1;
+            var data = _self.getDynamicSql('importNodeTargetScore');
+            dynamicSql = data.dynamicSql;
+        }
+        selectIds = $grid.jqGrid('getGridParam', 'selarrrow').toString();
+        var customParam = {
+            isNeedEmpty : isNeedEmpty,
+            selectIds : selectIds,
+            dynamicSql : dynamicSql,
+			period: currentPeriod
+        };
+
+         this.doImportData('importNodeTargetScore', customParam, 'importNodeTargetScore');
+         if($('iframe', parent.document).height() < 482){
+             $('.tabImport').height($('iframe', parent.document).height()-10).css('top', '5px');
+         }
+    },
+
+	/**
+	 * 批量评分
+	 */
+	batchScoreAction: function() {
+		var grid = $("#grid");
+		that.bindBatchScoreGridEvent(grid);
+		that.initData.custom_params.nodeGradeSelect = "true";
+		//grid.jqGrid("reloadGrid");that.initData.custom_params
+		grid.jqGrid("option", "custom_params", JSON.stringify(that.initData.custom_params)).jqGrid("reloadGrid");
+		//window.location.reload();
+	},
+
+
+	/**
+	 * 批量保存打分等级
+	 */
+	batchSaveGradeTaskNodeAction: function (obj) {
+		var _self = this;
+		var $grid = $("#grid");
+		$('#grid').jqGrid('editStop')
+		var rowDatas = $grid.jqGrid("getRowData");
+		if (rowDatas && rowDatas.length > 0) {
+			var editData = [];
+			var billId = [];
+			for (var i = 0; i < rowDatas.length; i++) {
+				var rowData = rowDatas[i];
+				var $cell = $(shr.xssFilter('[id="' + rowData.id + '"]')).find("td[aria-describedby='grid_nodeSumScore']");
+				var $cell2 = $(shr.xssFilter('[id="' + rowData.id + '"]')).find("td[aria-describedby='grid_nodeGrade']");
+				var $cell3 = $(shr.xssFilter('[id="' + rowData.id + '"]')).find("td[aria-describedby='grid_wholeComment']");
+				var val = {};
+				val.id = rowData.id;
+				var modified = false;
+/*				if ($cell.hasClass("dirty-cell")) {
+					val.sumScore = rowData['nodeSumScore'];
+					modified = true;
+				}
+
+				if ($cell2.hasClass("dirty-cell")) {
+					val.grade = rowData['nodeGrade'].trim();
+					modified = true;
+				}
+				if ($cell3.hasClass("dirty-cell")) {
+					val.wholeComment = rowData['wholeComment'].trim();
+					modified = true;
+				}*/
+				if ($cell.hasClass("dirty-cell")||$cell2.hasClass("dirty-cell")||$cell3.hasClass("dirty-cell")){
+					val.sumScore = rowData['nodeSumScore'];
+					val.grade = rowData['nodeGrade'].trim();
+					val.wholeComment = $(rowData['wholeComment']).text().trim();
+					modified = true;
+				}
+
+				if (modified) {
+					editData.push(val);
+					billId.push(rowData.id);
+				}
+			}
+
+			if (editData.length == 0) {
+				return shr.showWarning({message: $.perfwebI18n.commonMsg.msg17});
+			}
+
+			shr.showConfirm($.perfwebI18n.commonMsg.msg18, function () {
+				_self.doRemoteWithBatchExtendAction({
+					method: "batchSaveGradeTaskNode",
+					datas: JSON.stringify(editData),
+					billId: billId.join(","),
+					permItemId: $(obj.currentTarget).attr("data-permitemid"),
+				});
+			});
+		}
+	},
+
+	/**
+	 * 退出
+	 * @param obj
+	 */
+	batchSaveGradeTaskNodeExitAction: function (obj) {
+		window.location.reload();
+	},
+
+     /**
+      * 获取导出模板的查询参数
+      */
+     getDynamicSql: function(importType) {
+         this.remoteCall({
+             async:false,
+             param : {
+            	 importType : importType
+             },
+             method : "getDynamicSql",
+             success : function(data){
+                 value = data;
+             }
+         });
+         return value;
+     },
+
+})
+
+function reloadGrid(tableObj){
+	var customeFilterItems = '\"' + getFilterItems('') + '\"';
+    tableObj.jqGrid("option","filterItems","{customeFilterItems : " +customeFilterItems+"}").jqGrid('setGridParam',{datatype:'json'}).jqGrid("reloadGrid");
+}
+
+//获取自定义过滤条件 
+function getFilterItems(operate){
+	var page = '1';
+	var type = '';
+	currentPeriod = $('#RDCenterplan option:selected').attr("period");
+	if(!currentPeriod){
+		currentPeriod = allPeriodIdArr.toString();;
+	}
+	var personName = '';
+	page = $("#prfCurPage").val().trim();
+
+	if(isNaN(parseInt(page))){
+		shr.showError({message : jsBizMultLan.perfweb_perfBatchScore_26466229_i18n_12});
+	}else{
+		if('nextPage' == operate){//下一页
+			page = parseInt(page) + 1;
+		}else if('prevPage' == operate){//上一页
+			page = parseInt(page) - 1;
+		}else{
+			page = 1;
+		}
+
+	}
+    var advancedFilterItems = that.getQuickFilterItems();
+	if (!advancedFilterItems) {
+        advancedFilterItems = '';
+	}
+    var filterItems = "{rows : '" +rows+ "'; page : '" +page+ "'; sord:'DESC';type:'"
+                                  +type+ "';period:'" +currentPeriod+ "';orgId:'';pname:'" +pname+ "';"
+        //BT1050905-批量处理界面高级过滤字段不正确,字段要与列表字段一致-2017/12/12-liuzw
+        +"advancedFilterItems:\\\""+advancedFilterItems+"\\\"}";
+	return filterItems;
+}
+
+
+/*$('html').bind('click', function(e) { //用于点击其他地方保存正在编辑状态下的行
+	var tabid = 'batchModify';
+    if ( lastsel != "" ) { //if a row is selected for edit
+		if($(e.target).closest('#' + tabid).length == 0) { //and the click is outside of the grid //save the row being edited and unselect the row
+	        $('#' + tabid).jqGrid('saveRow',lastsel,{"url" : "clientArray"});
+	        $('#' + tabid).resetSelection();
+	        lastsel="";
+        }
+    }
+});*/
+
+//单击其他地方下拉选择框隐藏
+/*$(document).click(function(e){
+    if(!$(e.target).hasClass('icon_instructions') && !$(e.target).hasClass('instructionsboxwrap') && $(e.target).closest('.instructionsboxwrap').length < 1){
+        $(".instructionsboxwrap").stop().fadeOut();
+    }
+});*/
+
+$("#prfPageSelect").live('change',function(){
+	var numval = $(this).val();
+	rows = numval;
+	that.queryGrid();
+});
+
+/**
+ * 批量修改等级-翻页器下拉选择框事件
+ */
+$('#batchModifyPageSelect').live('change',function(){
+    var numval = $(this).val();
+    $('#batchModify').jqGrid("option","filterItems","{rows : " + numval + "; page : 1}").jqGrid("reloadGrid");
+});
+
+
+//下一页
+$("#batchModifyPageNext").live('click',function(){
+	  var pageTotal = parseInt($("#batchModifyPageTotal").text()); //总页数
+	  var curPage = parseInt($("#batchModifyCurPage").val());
+	  var rowNum = defaultRows;
+	  //如果总页数<=当前页,点击无反应
+	  if(pageTotal <= curPage){
+		  return false;
+	  }else{
+		 rowNum = $("#batchModifyPageSelect").val();
+		 $('#batchModify').jqGrid("option","filterItems","{rows :"+ rowNum +"; page : "+ (parseInt(curPage)+1) + "}").jqGrid("reloadGrid");
+	  }
+
+});
+
+//上一页
+$("#batchModifyPagePrev").live('click',function(){
+	  var pageTotal = parseInt($("#batchModifyPageTotal").text()); //总页数
+	  var curPage = parseInt($("#batchModifyCurPage").val());
+	  var rowNum = defaultRows;
+	  //如果总页数<当前页或者当前页为第一页,点击无反应
+	  if(pageTotal < curPage || curPage == 1){
+		  return false;
+	  }else{
+		 rowNum = $("#batchModifyPageSelect").val();
+		 $('#batchModify').jqGrid("option","filterItems","{rows : " + rowNum + "; page : "+ (parseInt(curPage)-1) + "}").jqGrid("reloadGrid");
+	  }
+
+});
+
+

+ 5880 - 0
js/deploy/easweb.ear/shr_web.war/addon/perfweb/web/js/shr/perfweb/portal/perfscoreNew.js

@@ -0,0 +1,5880 @@
+/*
+ *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($('<span id="sumScoreShow"  style="margin-left:'+$('.informationBox').offset().left - 40+'px">考核成绩:<span id="sumscore"/><span id="gradeLevel" style="margin-left:10px" /></span>'));
+//            $('#controlBtns').prepend($('<span id="sumScoreShow">考核成绩:<span id="sumscore" style="margin-left:10px"/><span id="gradeLevel" style="margin-left:10px" /></span>'));
+
+            //屏蔽指标上的分数
+            $('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 = '<li class="homepage"><a href="' + shr.getContextPath() + '/home.do" target="_parent">homepage</a></li><li><a id="perf_person_evalcard" href="#">'+
+                        jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_23+
+                        '</a><span class="divider">/</span></li>'
+                        + '<li><a id="perfEvalCardPerson" href="#">' + personName + '</a><span class="divider">/</span></li>'
+                        +'<li class="active">'+
+                        jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_27+
+                        '</li>';
+
+                    $("#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 = '<li class="homepage"><a href="' + shr.getContextPath() + '/home.do" target="_parent">homepage</a> </li><li><a id="perf_org_evalcard" href="#">绩效考核卡</a><span class="divider">/</span></li>'
+		    var nvgStr = '<li class="homepage"><a href="' + shr.getContextPath() + '/home.do" target="_parent">homepage</a> </li><li><a id="perf_org_evalcard" href="#">'+jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_23+'</a><span class="divider">/</span></li>'
+                        +'<li><a id="perfEvalCardOrg" href="#">' +adminOrgName+ '</a><span class="divider">/</span></li>'
+                        //+'<li class="active">考核结果</li>';
+			+'<li class="active">'+jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_27+'</li>';
+
+                    $("#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 =
+                        // '<li><a id="evaPlanExecuteList" href="#">我的考核结果</a><span class="divider">/</span></li>';
+                        //                    +'<li><a id="evaPlanExecution" href="#">' +personName+ '</a><span class="divider">/</span></li>'
+                        '<li class="homepage"><a href="' + shr.getContextPath() + '/home.do" target="_parent">homepage</a></li><li class="active">'+
+                        jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_27+
+                        '</li>';
+
+                    $("#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 = '<li class="homepage"><a href="' + perfPortalUrl + '" target="_parent">homepage</a><span class="divider">/</span> </li>'
+                        + '<li><a id="personalEvaCard" href="#">'+
+                        jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_9+
+                        '</a><span class="divider">/</span></li><li class="active">'+
+                        jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_27+
+                        '</li>';
+                    $("#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($('<span id="sumScoreShow">考核成绩:<span id="sumscore"/><span id="gradeLevel" style="margin-left:10px" /></span>'));
+	        //$('.workInfo').append($('<span id="sumScoreShow">'+jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_25+'<span id="sumscore"/><span id="gradeLevel" style="margin-left:10px" /></span>'));
+            // $('.workInfo').append($('<span id="sumScoreShow" style="margin-left:' + (offsetleft) + 'px;width:'+boxwidth+'%">'+
+            $('.info-result-box').append($('<span id="sumScoreShow">'+
+                jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_25+
+                '<span id="sumscore"/></span><span id="gradeLevel" style="margin-left:10px" />'));
+	    // 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($('<span id="reviseReasonSpan">'+
+                    jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_50+
+                    '<span id="reviseReason" title=""></span>'));
+            }
+
+            // 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();
+        }
+    },
+    // 附件显示到页面,不用弹框
+    showAllAttachs: function(data){
+        var that = this;
+        for (var i = 0; i < data.length; i++) {
+            var tempData = data[i];
+            var url = that._assembleDownloadUrl(tempData.id, tempData.attachKey);
+            data[i].url = url;
+            data[i].canDel = tempData.isSelf && tempData.isSelf == "true" ? true : false;
+            data[i].canDowload = tempData.simpleName.toUpperCase() == "TXT" || tempData.simpleName.toUpperCase() == "PDF" || tempData.simpleName.toUpperCase() == "GIF" || tempData.simpleName.toUpperCase() == "JPG" || tempData.simpleName.toUpperCase() == "PNG" || tempData.simpleName.toUpperCase() == "BMP" ? true : false;
+            data[i].allowPreview = (new RegExp(/^(txt|pdf|gif|jpg|jpe|jpeg|png|bmp|ico|mac|pbm|html|htm)$/i)).test(data[i].simpleName);
+        }
+        var html = scoreMenuHTML = juicer(attachmentstpl, {rows: data, viewMode: viewMode});
+        that.setAttachLocation(html);
+    },
+    // 根据配置参数设置附件显示位置
+    setAttachLocation: function(dom){
+        var that = this;
+        var wrap = $('.workInfoWrap');
+        if(wrap.length > 0){
+            var attachLocation = $('#attachLocation').val();
+            $('.attach-wrap').remove();
+            if(attachLocation == 'top'){
+                wrap = $('.workInfoWrap');
+                wrap.after(dom);
+                return false;
+            }else if(attachLocation == 'bottom'){
+                wrap = $('#wholeComment').closest('.scoreMenu');
+            }else if(attachLocation){
+                wrap = $(attachLocation);
+            }
+            wrap.append(dom);
+        }else{
+            setTimeout(function(){
+                that.setAttachLocation(dom)
+            },500)
+        }
+    },
+    // 附件预览
+    viewFile: function(file){
+        var that = this;
+        file = shr.allDecrypt(file);
+        file = JSON.parse(file);
+        var permItemId = "";
+        if(!that.isFromWF()){
+            permItemId = shr.getCurrentPagePermItemId();
+        }
+        var params = {
+            method: 'previewAttachment',
+            attachId: file.id,
+            permItemId: permItemId,
+            billId:shr.getUrlRequestParam('billId'),
+            shruicode:shr.getShruicode(),
+            uipk:shr.getUrlRequestParam('uipk')
+        }
+        var url = shr.getContextPath() + '/attachmentUpload.do?' + $.param(params);
+        window.open(url);
+    },
+
+    //补丁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 = '<span class="up"></span>' +
+            '<div class="scrollBox scrollbarthin">' +
+            '<ul class="workerList">' +
+            '</ul>' +
+            '</div>' +
+            '<span class="down"></span>';
+        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 = '<div id="backReasonDiv">' +
+            '<span style="width:560px"><textarea id="backReason" disabled="disabled"></textarea></span>' +
+            '</div>';
+        $(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());
+            var wholeGradeB = $('select[name="_editGrades"],select[name="wholeGrade"]').val();
+            if("B"===wholeGradeB){
+                $('#curWholeComment').val('ㅤ');
+                $('#curWholeComment').removeClass('required');
+                
+            }else{
+                 var curWholeCommentB = $('#curWholeComment').val();
+                if('ㅤ'===curWholeCommentB){
+                    $('#curWholeComment').val('');
+                }
+                 $('#curWholeComment').addClass('required');
+            }
+        })
+        var wholeGradeB = $('select[name="_editGrades"],select[name="wholeGrade"]').val();
+        var curWholeCommentB = $('#curWholeComment').val();
+            if("B"===wholeGradeB){
+                $('#curWholeComment').val('ㅤ');
+                $('#curWholeComment').removeClass('required');
+                
+            }else if("B"!==wholeGradeB&&'ㅤ'===curWholeCommentB){
+                $('#curWholeComment').val('');
+                $('#curWholeComment').addClass('required');
+            }
+        $('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: false,
+            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<globalIndicatorData.rows.evaAreaList.length; i++){
+                        var areadata = globalIndicatorData.rows.evaAreaList[i];
+                        // 组装区域说明字段
+                        globalIndicatorData.rows.evaAreaList[i].rema = getAreaRema(areadata.areaId);
+                    	if(areadata.evaIndicatorList || areadata.evaRecordList){
+                    		indicatorDatalist.push(areadata.evaIndicatorList || areadata.evaRecordList);
+                    	}
+                    }
+                   /* var indicatorData = indicatorDatalist[0];
+                    indicatorData.areaType = areadata.areaType;
+                    indicatorData.scoringWay = areadata.scoringWay;
+                    indicatorData.fieldslist = it.getTargetData(areadata.fieldList, indicatorData);
+                    var indicatorDetailHTML = juicer(indicatorDetailTpl, {rows:[indicatorData]});
+                    $(indicatorDetailHTML).appendTo($('.content_right'));*/
+                    $('.fieldsboxhide,#splitDiv').css({
+                        height: $('.centercontainer').height() + 'px'
+                    })
+                    if($('.fieldsboxhide:visible').find('.field-line').length == 0){
+                        $('.fieldsboxhide:visible').find('.emptywrap').show();
+                    }
+                    it.setPersonInfoRema();
+                }
+                it.initScoreItems();
+            }
+        });
+    },
+
+    // 员工信息区域的区域说明显示到页面上
+    setPersonInfoRema: function(){
+        $.each(globalIndicatorData.areaBaseList,function(i,item){
+            if((item.areaType.value == '100' || item.areaType.value == '400') && item.rema){
+                var remaTpl = 
+                ['<div class="area-rema-box" area-id="${area.id}">',
+                    '<span>',jsBizMultLan.perfweb_evaluationdetailsJuicer_1586069239184_i18n_5,'</span>',
+                    '<pre area-id="${area.id}">${area.rema}</pre>',
+                    '<div class="area-rema-btn" onclick="showMoreRema(this,\'${area.id}\')">',
+                    jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_51,
+                    '</div>',
+                '</div>'].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 = '<tr id="' + tempData.id + '" attachKey="' + tempData.attachKey + '">' +
+                                '<td class="textOverflow paddingbox">' + tempData.name + '.' + tempData.simpleName + '</td>' +
+                                '<td>' + tempData.creator + '</td>'+'<td>' + tempData.createTime + '</td>';
+                            var del = '';
+                            if (tempData.isSelf && tempData.isSelf == "true") {
+                                //del = '<span class="delfile linkstyle">删除</span>';
+				del = '<span class="delfile linkstyle">'+jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_45+'</span>';
+                            }
+                            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 += '<td>' + del + '<a class="uploadfile linkstyle" href="' + url + '" target="_blank" style="color:#388cff">下载</a></td>' +
+                                basetr += '<td>' + del + '<a class="uploadfile linkstyle" href="' + url + '" target="_blank" style="color:#388cff">'+jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_49+'</a></td>' +
+                                    '</tr>';
+                            } else {
+                                //basetr += '<td>' + del + '<a class="uploadfile linkstyle" href="' + url + '" style="color:#388cff">下载</a></td>' +basetr += '<td>' + del + '<a class="uploadfile linkstyle" href="' + url + '" style="color:#388cff">'+jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_49+'</a></td>' +
+                                basetr += '<td>' + del + '<a class="uploadfile linkstyle" href="' + url + '" style="color:#388cff">'+jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_49+'</a></td>' +
+                                    '</tr>';
+                            }
+                            $('#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");
+        $.block.show();
+        // $('#uploadFileBox').append('<image id="loadingGif" src="' + shr.getContextPath() + '/addon/perfweb/web/images/upload.gif"/>').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) {// 服务器成功响应处理函数
+                $.block.hide();
+                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 = '<span class="delfile linkstyle">删除</span>';
+				// showDel = '<span class="delfile linkstyle">'+jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_45+'</span>';
+                //             }
+                //             var tr = $('<tr id="' + data.id + '" attachKey="' + data.attachKey + '">' +
+                //                 '<td class="textOverflow paddingbox">' + data.filename + '</td>' +
+                //                 '<td>' + data.creator + '</td>' +
+                //                 '<td>' + data.createTime + '</td>' +
+                //                 //'<td>' + showDel + '<a class="uploadfile linkstyle" href="' + url + '" style="color:#388cff">下载</a></td>' +
+				// '<td>' + showDel + '<a class="uploadfile linkstyle" href="' + url + '" style="color:#388cff">'+jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_49+'</a></td>' +
+                //                 '</tr>');
+                //             $('#uploadFileBox').append(tr);
+                            
+                //         }
+                        getAttachcount();
+                    }
+                } 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 = $('<div id="processViewDialog"></div>');
+            $(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,//'<span class="checkboxs selectallcheckbox"></span>'
+            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(
+                        '<div class="PromptEmptyData_td">' +
+                        '<div class="promptimg_td"></div>' +
+                        '<div class="prompttext">'+
+                        jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_22+
+                        '</div>' +
+                        '</div>'
+                    );//无数据时的提示样式
+                }
+            }
+        };
+        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 = '<div id="backToUpLevel">' +
+            '<p class="note-title">'+
+            '<span>'+jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_7+
+            '</p>' +
+            '<p><span class="textareawrap">'+
+            '<textarea id="backReason" placeholder="'+
+            shr.formatMsg(jsBizMultLan.perf_perfscoreNew_202305061455_i18n_0,
+                [2000])+
+            '" style="width:650px!important;height:130px!important;"></textarea></span></p>'+
+            '<p class="note-title">'+
+            // '<span>通知方式:</span>'+
+            '<span>'+jsBizMultLan.perf_perfscoreNew_b10_15626131368_1+'</span>'+
+            // '<p >通知上一节点评分人:</p>'+
+            '<span class="note-obj">'+jsBizMultLan.perf_perfscoreNew_b10_15626131368_0+'</span>'+
+            '</p>'+
+            '<div id="pickReminderDialog" >'+
+            '<div class="type-box">'+
+            '<div>'+
+            '<input id="msgReminder" type="checkbox" value="msg">'+
+            // '<label for="msgReminder" class ="checked">消息通知</label>'+
+            '<label for="msgReminder" class ="checked">'+jsBizMultLan.perf_perfscoreNew_b10_15626131368_2+
+            '</label>'+
+            '</div>'+
+            '<div>'+
+            '<input id="emailReminder" type="checkbox" value="email">'+
+            // '<label for="emailReminder">邮件</label>'+
+            '<label for="emailReminder">'+jsBizMultLan.perf_perfscoreNew_b10_15626131368_3+
+            '</label>'+
+            '</div>'+
+            '<div>'+
+            '<input id="SMSReminder" type="checkbox" value="sms">'+
+            // '<label for="SMSReminder">短信</label>'+
+            '<label for="SMSReminder">'+jsBizMultLan.perf_perfscoreNew_b10_15626131368_4+
+            '</label>'+
+            '</div>'+
+            '<div>'+
+            '<input id="cloudReminder" type="checkbox" value="msg">'+
+            // '<label for="msgReminder">通知</label>'+
+            '<label for="cloudReminder">'+jsBizMultLan.perf_perfscoreNew_bw0416_01+
+            '</label>'+
+            '</div>'+
+            '</div>'+
+            '</div>'+
+            '</div>';
+        $(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<dataLen; i++){
+                		var wholeCommentParam = new Object();
+                		wholeCommentParam.gradeTaskNode = data[i].gradeTaskNode;
+                		wholeCommentParam.wholeCommentIsMust = data[i].wholeCommentIsMust;
+                		_wholeCommentIsMustArr.push(wholeCommentParam);
+                	}
+
+                    if ($("#wholeComment").find(".details").children().length > 0) {
+                        $("#wholeComment").find(".details").empty();
+                        var $wholeCommentDiv = $('#wholeCommentDiv');
+                        if ($wholeCommentDiv && $wholeCommentDiv.length > 0) {
+                            $wholeCommentDiv.remove();
+                        }
+                    }
+                    that.createWholeCommentHtml(data); //生成整体评价区域
+                    that.personHistoryParamControl();
+                    shr.setIframeHeight('rightContentIframe');
+                }
+            }
+        });
+    },
+
+    /*
+     * 组装评分数据
+     * @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<gtnLen; i++){
+                            	var nsumscore = nodeSumScoreList[i].nodeSumscore ? parseFloat(nodeSumScoreList[i].nodeSumscore).toFixed(2) : '';
+                            	// if(null != nsumscore && "" != nsumscore){
+                                    $('#wholeComment').find('span[gtnname="'+nodeSumScoreList[i].gradeTaskNode+'"] input').val(nsumscore);
+                                    $("li[gradetasknode='" +nodeSumScoreList[i].gradeTaskNode+ "']").find("i[name='nodeSumScore']").text(nsumscore);
+                            	// }else{
+                            	// 	 //$('#wholeComment').find('span[gtnname="'+nodeSumScoreList[i].gradeTaskNode+'"]').val("");
+                            	// }
+                            }
+                            
+                            //第一节点隐藏"打回"按钮
+                            if (currentNodeLevel == 1) {
+                                $("#backTo").css("display", "none");
+                            }
+                            if (isShowMsg == '1') {
+                                shr.showInfo({message: data.msg});
+                            }
+                        } else {
+                            if (isShowMsg == '1') {
+                                shr.showWarning({message: data.msg});
+                            }
+                        }
+                    }
+                });
+            }
+        });
+        if (scoreObj.wholeComment != null && scoreObj.wholeComment != undefined && scoreObj.wholeComment.length > 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<globalErrorMsg.length;i++){
+                    $('#scoreTab_'+globalErrorMsg[i].tabIndex).jqGrid('setCell', globalErrorMsg[i].fid, globalErrorMsg[i].colName, '', 'errorval');
+                }
+                
+                // shr.showWarning({message : '必填字段不能为空,请检查'});
+                shr.showWarning({message : jsBizMultLan.perf_perfscoreNew_20220826_i18n_1});
+                return false;
+            }
+            //判断整体评价等级是否必填,如果必填则进行必录校验
+            var ids = new Array();
+            for (var i = 0; i < scoreObj.length; i++) {
+                ids.push(scoreObj[i].gradeTaskNode);
+            }
+
+            //打总分校验总分必填
+            if (_needScore == "3" && ($("#totalScore").find("input").val() == undefined || $("#totalScore").find("input").val().length < 1)) {
+                var flag = sumSocreOnblur($("#totalScore").find("input"));
+                if (!flag) {
+                    return;
+                }
+            }
+
+            var canSubmitFlag = false;
+            var scoremsg = '';
+            var confirmMsg = '';
+            var msg = '';
+            var matrixDetail = "";
+            var saveNodeSumScoreList;
+            var marginTop = -(document.body.clientHeight/3);
+			$.block.show({text :
+                //'数据处理中,请稍后...'
+                jsBizMultLan.perfweb_perfscoreNew_zw20201229_i18n_04
+                ,marginTop:marginTop});
+            //1、保存分数
+            that.remoteCall({
+                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;
+                        saveNodeSumScoreList = data.nodeSumScoreList;
+                        var nodeSumScoreList = data.nodeSumScoreList;
+                        var gtnLen = nodeSumScoreList.length;
+                        for(var i=0; i<gtnLen; i++){
+                        	var nsumscore = nodeSumScoreList[i].nodeSumscore ? parseFloat(nodeSumScoreList[i].nodeSumscore).toFixed(2) : '';
+                        	// if(null != nsumscore && "" != nsumscore){
+                                 $('#wholeComment').find('span[gtnname="'+nodeSumScoreList[i].gradeTaskNode+'"] input').val(nsumscore);
+                                 $($("li[gradetasknode='" +nodeSumScoreList[i].gradeTaskNode+ "']").find("i[name='nodeSumScore']")).text(nsumscore);
+                        	// }else{
+                        	// 	 //$('#wholeComment').find('span[gtnname="'+nodeSumScoreList[i].gradeTaskNode+'"]').text("");
+                        	// }
+                        }
+                    }
+                }
+            });
+
+            var needrResult = null;
+            //2、判断节点是否可被提交
+            that.remoteCall({
+                method: "judgeIsCanSubmit",
+                param: {
+                    gradeTaskNode: ids.toString(),
+                    evaObj: evaObj,
+                    scoreObj: JSON.stringify(scoreObj)
+                },
+                async: false,
+                success: function (result) {
+                	$.block.hide();
+                    canSubmitFlag=true;
+                     needrResult =result;
+                    for (var i = 0; i < scoreObj.length; i++) {
+                        var data = '';
+                        for (var j = 0; j < result.length; j++) {
+                            if (result[j].nodeId = scoreObj[i].gradeTaskNode) {
+                                data = result[j];
+                            }
+                        }
+
+                        if (data != null && data.canSubmit == true) {
+                            if (scoreObj[i].wholeComment != null && scoreObj[i].wholeComment != undefined && scoreObj[i].wholeComment.length > 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; m<wholeCommentIsMustLen; m++){
+                             		if(_wholeCommentIsMustArr[m].gradeTaskNode == scoreObj[i].gradeTaskNode 
+                             				&& _wholeCommentIsMustArr[m].wholeCommentIsMust == 1){
+                             			//shr.showWarning({message: '请填写当前节点整体评价中的评价内容!'});
+						shr.showWarning({message: jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_39});
+                                        $("#wholeComment").click();
+                                        $("#curWholeComment").focus();
+                                        canSubmitFlag = false;
+                                        return false;
+                             		}
+                                }
+                            }
+
+                            //指标评语是否必录校验,如果必录则提示并定位到其中一条未录评语的指标
+                            if(needrResult != null){
+                                for(var n=0; n<needrResult.length; n++){
+                                    if(needrResult[n].isTargetComment == '1' && needrResult[n].unvalidTargetID.length>0){
+                                        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; j<needScoreSize; j++){
+                           	 if(_gneedScoreArr[j].gradeTaskNode == scoreObj[i].gradeTaskNode 
+                           			 && _gneedScoreArr[j].indicatorComment == 1
+                           			 && _gneedScoreArr[j].perfGradeEvaluate == 1){
+                           		 if (scoreObj[i].wholeGrade == '' || scoreObj[i].wholeGrade == undefined) {
+                                    //shr.showWarning({message: '请填写当前节点整体评价等级!'});
+				    shr.showWarning({message: jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_38});
+                                     canSubmitFlag = false;
+                                    return false;
+                                 }
+                           	  }
+                            }
+                        } else {
+                            shr.showWarning({message: data.msg});
+                            return;
+                        }
+                    }
+                    
+                	var resLen = result.length;
+                	var needMustCount = 0;
+                	for(var m=0; m<resLen; m++){
+                	  if(result[m].isNeedScore == '2' && result[m].unValidId.length>0){
+                		 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; n<resLen; n++){
+                    		if(result[n].isNeedScore == '1' && result[n].unValidId.length>0){
+                    			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; i<saveNodeSumScoreList.length; i++){
+                            var scoremsg = '';
+                            //12月补丁功能-天虹,如果流程设置为不评分,则不提示评分信息
+                            if (_needScore == '1' || _needScore == '2'|| _needScore == '3') {
+                                if (saveNodeSumScoreList[i].nodeSumscore == null) {
+                                    saveNodeSumScoreList[i].nodeSumscore = "";
+                                }
+                                scoremsg = jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_58 + saveNodeSumScoreList[i].nodeSumscore + ',';
+                            }
+                            if(matrixDetail != null && matrixDetail != ''){
+                                confirmMsg = matrixDetail;
+                            }else{
+                                confirmMsg += saveNodeSumScoreList[i].nodeHandlerName + scoremsg;
+                                //BT1422884 绩效工作台--评分--流程中勾选了不评等级,列表模式下提交时还是显示了等级(1.176 yanju_zhang)
+                                for(var j=0; j<_gneedScoreArr.length;j++){
+                                    if(data.nodeId== _gneedScoreArr[j].gradeTaskNode){
+                                        _perfGradeEvaluate = _gneedScoreArr[j].perfGradeEvaluate;
+                                        break;
+                                    }
+                                }
+                                if(currentIsShowWholeGrade == 1 && _perfGradeEvaluate == 1){
+                                    confirmMsg += jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_14 + saveNodeSumScoreList[i].nodeGrade + ',';
+                                }
+                            }
+                        }
+                    }else{
+                        //12月补丁功能-天虹,如果流程设置为不评分,则不提示评分信息
+                        var scoremsg = '';
+                        if (_needScore == '1' || _needScore == '2'|| _needScore == '3') {
+                            if (nodeSumScore == null) {
+                                nodeSumScore = "";
+                            }
+                            scoremsg = jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_58 + nodeSumScore + ',';
+                        }
+                        if(matrixDetail != null && matrixDetail != ''){
+                            confirmMsg = matrixDetail;
+                        }else{
+                            confirmMsg = jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_10 + scoremsg;
+                            //BT1422884 绩效工作台--评分--流程中勾选了不评等级,列表模式下提交时还是显示了等级(1.176 yanju_zhang)
+                            for(var j=0; j<_gneedScoreArr.length;j++){
+                                if(data.nodeId== _gneedScoreArr[j].gradeTaskNode){
+                                    _perfGradeEvaluate = _gneedScoreArr[j].perfGradeEvaluate;
+                                    break;
+                                }
+                            }
+                            if(currentIsShowWholeGrade == 1 && _perfGradeEvaluate == 1){
+                                confirmMsg += jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_14 +nodeGrade + ',';
+                            }
+                        }
+                    }
+
+                    if(null != msg && msg != undefined && msg != 'undefined' && '' != msg){
+                    	confirmMsg +=  msg;
+                    }              
+                    if(_gExistRejection == 1){
+                    	//confirmMsg += '存在否决项,将直接影响绩效最终得分!';
+			confirmMsg += jsBizMultLan.perf_perfscoreNewJuicer_1592900104294_i18n_9;
+                    }
+                    //confirmMsg += '您确认提交吗?';
+		    confirmMsg += jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_33;
+                    if(!canSubmitFlag){
+                    	return false;
+                    }
+
+                    shr.showConfirm(confirmMsg, function () {
+                    	//$.block.show({text : '数据处理中,请稍后...',marginTop:marginTop});
+			$.block.show({text : jsBizMultLan.perfweb_perfscoreNew_zw20201229_i18n_04,marginTop:marginTop});
+                        // var isAutoSubmitVal = $("#isAutoSubmit").text();
+                        // var isAutoSubmit = false;
+                        // if (isAutoSubmitVal == 'true') {
+                        //     isAutoSubmit = true;
+                        // }
+                        //3、提交
+                        that.remoteCall({
+                            method: "submitScore",
+                            param: {
+                                scoreObj: JSON.stringify(scoreObj),
+                                // isAutoSubmit: isAutoSubmit
+                            },
+                            async: false,
+                            success: function (data) {
+                            	$.block.hide();
+                                if (data != null && data.result == '200') {
+                                    scoreStatus = '2';
+                                    if (_gscoreOrRate == 0) {//评分
+                                        $("input[name='evaScore']").attr("disabled", "disabled");
+                                    } else {
+                                        $("select[name='_editGrades']").attr("disabled", "disabled");
+                                    }
+                                    if(!entryType){
+                                        $("li[workerid='" +evaObj+ "']").remove();
+                                        shr.showInfo({message: data.msg});
+                                        if ($('.workerList').find('li').length == 0) {
+                                            // ==================================================================================
+                                            /**
+                                             * 组织考核返回组织目标评价页面,个人考核返回团队个人目标评价页面
+                                             * modified by Janeou_xie 2020/11/12
+                                             */
+                                            if(isOrg == "1"){
+                                                that.reloadPage({
+                                                    uipk: 'com.kingdee.shr.perfweb.app.perfBatchScore4Org.core',
+                                                    serviceId : decodeURIComponent("fUjSqQK1RouZaEJUI2jH5vI9KRA%3D"),
+                                                    personId : personId
+                                                })
+                                            }else {
+                                                that.reloadPage({
+                                                    uipk: 'com.kingdee.shr.perfweb.app.perfBatchScore.core',
+                                                    serviceId : decodeURIComponent("fUjSqQK1RouZaEJUI2jH5vI9KRA%3D"),
+                                                    personId : personId
+                                                });
+                                            }
+                                            // ==================================================================================
+                                            return;
+                                        }else{
+                                        	 $(".workerList>li")[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 = '<div id="wholeCommentDiv" class="scoreContentboxWholeComment">';
+        var controlAreaHtml = '<div class="othersScoreBox">';
+        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
+                        + '<label name ="WholenodeHandlerId" value="' +data[i].nodeHandler+ '"></label>'
+                        + '<span class="left textOverflow">' +_data.nodeName;
+
+                    //yien 判断是否展示处理人权重
+                    if(hideNodeWeight != 'true'){  
+                        wholeCommentEdithtml += '('+_data.nodeWeight + '%)';
+                    }
+                    wholeCommentEdithtml = wholeCommentEdithtml + (_data.nodeHandlerName == '' ? ':' : ':'+_data.nodeHandlerName );
+                    wholeCommentEdithtml = wholeCommentEdithtml + '(' + _data.personNodeWeight + '%)';
+                    wholeCommentEdithtml += '</span>';
+
+                    //判断是否可评价总分和等级
+                    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' ? '':'<div class="right">总分:<span id="totalScore" ' +
+			var totalScoreDiv = _needScore == '0' ? '':'<div class="right">'+jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_58+'<span id="totalScore" ' +
+                            'gtnname="'+_data.gradeTaskNode+'"><input '+ disabledClass +' id ="wholeScore_' + _data.gradeTaskNode + '" data-needScore="'+_needScore+'" value="'+wholeScoreTmp+'"> '  + '</input></span>';
+                        totalScoreDiv = totalScoreDiv + '<div style="padding-left:1%"><span class="shorterinpwrap" id="MSG_SUMSCORE" style="max-width:300px;color:red"></span></div>';
+                        wholeCommentEdithtml += totalScoreDiv ;
+                        if (data[i].isVetoZero == 1) {
+                            //wholeCommentEdithtml += '<span class="vetomsg">存在否决项</span></div>';
+			    wholeCommentEdithtml += '<span class="vetomsg">'+jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_3+'</span></div>';
+                        } else {
+                            //wholeCommentEdithtml += '<span class="vetomsg" style="display:none">存在否决项</span></div>';
+			    wholeCommentEdithtml += '<span class="vetomsg" style="display:none">'+jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_3+'</span></div>';
+                        }
+                        wholeCommentEdithtml += '<div name="editScoreDiv" class="row1 paddingbox">';
+
+                        if (_perfGradeEvaluate == '1') {//允许打整体评价等级
+                            //wholeCommentEdithtml = wholeCommentEdithtml + '<label>等级:</label><span class="selectwrap">';
+			    wholeCommentEdithtml = wholeCommentEdithtml + '<label>'+jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_14+'</label><span class="selectwrap">';
+                        } else {
+                            //wholeCommentEdithtml = wholeCommentEdithtml + '<label style="display:none">等级:</label><span class="selectwrap" style="display:none">';
+			    wholeCommentEdithtml = wholeCommentEdithtml + '<label style="display:none">'+jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_14+'</label><span class="selectwrap" style="display:none">';
+                        }
+                        wholeCommentEdithtml = wholeCommentEdithtml + '<select name="wholeGrade" id ="wholeGrade_' + _data.gradeTaskNode + '">'
+                            + '<option id="blackOp"></option>';
+                        var levelSelectValue = _data.levelSelectVal; //等级下拉选值value
+                        var levelSelectKey = _data.levelSelectKey; //等级下拉选key
+                        var selectOptionArr = new Array();
+                        var selectOptionKeyArr = new Array();
+                        if (levelSelectValue != null && levelSelectValue != '') {
+                            selectOptionArr = levelSelectValue.split(",");
+                            selectOptionKeyArr = levelSelectKey.split(",");
+                        }
+                        for (var j = 0; j < selectOptionArr.length; j++) {
+                            //yien 20191122 天虹私包 
+                            var _selectOptionKeyArr = selectOptionKeyArr[j];
+                            var _selectOptionArr = selectOptionArr[j];
+                            //不显示分数范围
+                            if (isShowLevelScoreRange == 0) {
+                                _selectOptionArr = getLevelWidthoutScoreRange(_selectOptionArr);
+                            }
+                            wholeCommentEdithtml = wholeCommentEdithtml + '<option id="' + _selectOptionKeyArr + '" value="' + _selectOptionKeyArr + '" title="' + _selectOptionArr + '">' + (_selectOptionArr) + '</option>';
+                        }
+                        wholeCommentEdithtml = wholeCommentEdithtml + '</select>'
+                            + '</span>'
+                            + '</div>';
+                    }
+
+
+                    wholeCommentEdithtml = wholeCommentEdithtml + '<div name="editTextareaDivForWholeComment" gradeNode="' + _data.gradeTaskNode + '" class="row1 paddingbox longeditbox">'
+                        + '<label>'+
+                        jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_34+
+                        '</label>';
+
+                    //yien:处理合并打分节点问题
+                    combineGradeTaskIds.push(_data.gradeTaskNode);
+
+                    if (_wholeComment == '1') {
+                        wholeCommentEdithtml = wholeCommentEdithtml + '<span class="longinpwrap evaluate"><textarea id="curWholeComment" class="paddingbox required" onblur="wholeCommentOnblur(this)">' + data[i].wholeComment + '</textarea></span>';
+                        wholeCommentEdithtml += '<span class="shorterinpwrap" id="WHOLECOMMENT" style="width:300px;color:red;padding-left:75px;display: none;font-size: 12px;"></span>';
+                    } else {
+                        wholeCommentEdithtml = wholeCommentEdithtml + '<span class="longinpwrap evaluate"><textarea class="paddingbox" onblur="wholeCommentOnblur(this)">' + data[i].wholeComment + '</textarea></span>';
+                        wholeCommentEdithtml += '<span class="shorterinpwrap" id="WHOLECOMMENT" style="width:300px;color:red;padding-left:75px;display: none;font-size: 12px;"></span>'
+                    }
+                    gradeTaskNode = _data.gradeTaskNode; //当前评估对象节点运行实例id
+                    scoreStatus = _data.scoreStatus;
+                    $('#wholeComment .details').append(wholeCommentEdithtml);
+
+                } else {
+                    if (_data.isVisible != '1') {
+                        continue;
+                    }
+                    controlAreaHtml = controlAreaHtml + '<div class="cutting_line">'
+                        + '<label name ="WholenodeHandlerId" value="' +data[i].nodeHandler+ '"></label>'
+                        + '<span class="left textOverflow">' +  _data.nodeName;
+                    //yien 增加判断是否展示处理人权重
+                    if(hideNodeWeight != 'true'){ 
+                        controlAreaHtml += '('+ _data.nodeWeight + '%)';
+                    }
+                    controlAreaHtml = controlAreaHtml + (data[i].nodeHandlerName == '' ? ':' : ':'+data[i].nodeHandlerName );
+                    controlAreaHtml = controlAreaHtml + '(' + _data.personNodeWeight + '%)';
+                    controlAreaHtml += '</span>';
+                    //判断是否显示总分和等级
+                    if (isShowWholeGrade) {
+                        //var scoreDivHtml = '<div name="wholeScore" class="right" isself="' +_data.isSelf+ '">总分:' + _data.wholeScore;
+			var scoreDivHtml = '<div name="wholeScore" class="right" isself="' +_data.isSelf+ '">'+jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_58 + _data.wholeScore;
+                        //如果节点不能评分,隐藏总分
+                        if (data[i].needScore == '0') {
+                            scoreDivHtml = '<div>';//增加一个div标签,不然格局有问题,打分过程中隐藏评分人参数失败
+                        }
+                        controlAreaHtml += scoreDivHtml;
+
+                        if (data[i].isVetoZero == 1) {
+                		controlAreaHtml += '<span style="margin-left:5px;color:red">'+
+	                        jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_3+
+	                        '</span></div>';
+                        } else {
+                            controlAreaHtml += '</div>';
+                        }
+                        controlAreaHtml += '<div name="editScoreDiv" class="row1 paddingbox" isself="' +_data.isSelf+ '">';
+                        if (_perfGradeEvaluate == '1') {//允许打整体评价等级
+                            controlAreaHtml = controlAreaHtml + '<label>'+
+                                jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_14+
+                                '</label>'
+                                + '<span style="float: left;">'
+                                + (data[i].wholeGrade)
+                                + '</span>'
+                        }
+                        controlAreaHtml = controlAreaHtml + '</div>';
+                    }
+                    controlAreaHtml = controlAreaHtml + '<div name="editTextareaDiv" class="row1 paddingbox">'
+                        + '<label>'+
+                        jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_34+
+                        '</label>'
+                        + '<span class="longinpwrap evaluate"><textarea disabled="disabled" class="paddingbox" >' + _data.wholeComment + '</textarea></span>'
+                        + '</div></div>';
+                }
+            }
+        }
+        controlAreaHtml = controlAreaHtml + "</div>";
+
+        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\ class="score-tips">\<\/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')){                        
+                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 '<div class="cell-height scrollbarthin">'+(val?val:'')+'</div>';
+                    }
+                });
+            }
+             // 字段类型实际完成值、目标值 
+             else if(fieldShowLocation === '10' && (fieldName == 'FACTUALCOMPLEVALUE' || fieldName == 'FTARGETVALUE')){                        
+                isExistComment = fieldName == "FCOMMENT" ? 1 : 0;
+                myName.push(fieldList[i].showName);
+                myModel.push({
+                    name: fieldName, 
+                    index: fieldName, 
+                    width: 120, 
+                    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 '<div class="cell-height scrollbarthin">'+(val?val:'')+'</div>';
+                    }
+                });
+            }
+            // 字段类型为短文本、数字
+            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 = '<div class="cell-height scrollbarthin">'+val+'</div>';
+                        }
+                        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 = '<div class="cell-height scrollbarthin">'+val+'</div>';
+                        }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 '<a class="view_other_btn" href="javascript:;">'+btntext+'</a>'
+            // },},
+            {name:'preNodeScoreList', index:'preNodeScoreList', width:100, hidden:true},
+            {name:'nodeInfoList', index:'nodeInfoList', width:400,edittype: "shrtext",fieldType:'Text', 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 = [
+                    '<div class="expend-td-box cell-height scrollbarthin">',
+                    '<ul class="other-msg">',
+                    '{@each rows as item,i}',
+                        // BT-00650981 绩效工作台—组织/员工目标评分——列表页面:其他评分人信息 打等级的就显示等级,后面多一个“分”字
+                        // 判断是打等级还是打分,不同展示  jianyu_zhang 2022.02.10
+                        '{@if hideUnselfScoring === "false" || (hideUnselfScoring === "true" && item.nodeHandlerId === personId)}',
+                        '<li class="node-name">',
+                            '{@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}',
+                        '</li>',
+                        '{@/if}',
+                        //指标评语
+                        '{@if item.comment}',
+                        '<li>',
+                            '<span class="expend-td-comment-field" title="${item.comment}">'+jsBizMultLan.perfweb_perfscoreNew_ht_20220414_36+':</span>',
+                        '</li>',
+                        '<li class="expend-td-comment"><pre class="textOverflow3">${item.comment}</pre></li>',
+                        '{@/if}',
+                        '{@each fieldList as it,j}',
+                            '{@if it.colName.indexOf("FEXTEND") > -1 && it.fieldMaintenanceShow !== "3" && it.fillOverwrite === "0"}',
+                            '<li field-type="${it.fieldType}">',
+                                '<span class="" title="${it.showName}">${it.showName}:</span>',
+                                '{@if item[it.colName]}',
+                                '<pre class="textOverflow3">${item[it.colName]}</pre>',
+                                '{@/if}',
+                            '</li>',
+                            '{@/if}',
+                        '{@/each}',
+                        
+                    '{@/each}',
+                    '</ul>',
+                    '</div>',
+                    flag ? '<div class="expend-btn"></div>': ''
+                ].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<data.rows.length; m++){
+            for(var k=0; k<_gneedScoreArr.length; k++){
+                if(data.rows[m].gradeTaskNode == _gneedScoreArr[k].gradeTaskNode){
+                    needScoreTmp = _gneedScoreArr[k].needScore;
+                    perfGradeEvaluateTmp = _gneedScoreArr[k].perfGradeEvaluate;
+
+
+                    var rowData =  data.rows[m];
+                    var tmpMap = [];
+                    tmpMap['scoreORrejection'] = rowData.scoreORrejection;
+                    tmpMap['gradeORrejection'] = rowData.gradeORrejection;
+
+
+                    var tmpScore = null;
+                    if(rowData.FREJECTION == '1'){
+                        tmpScore = "";
+                    }
+                    if(needScoreTmp !=0 && (rowData.FSCORE || rowData.FSCORE === 0)){
+                        tmpScore = parseFloat(rowData.FSCORE).toFixed(2);
+                    }
+                    if(!rowData.isCanEditActValue){
+                        _grid.jqGrid('setCell', rowData.id, 'FACTUALCOMPLEVALUE',rowData.FACTUALCOMPLEVALUE, 'not-editable-cell');
+                        _grid.jqGrid('setCell', rowData.id, 'FTARGETVALUE',rowData.FTARGETVALUE, 'not-editable-cell');
+                        _grid.jqGrid('setCell', rowData.id, 'FACTUALCOMPLETETIME',rowData.FACTUALCOMPLETETIME, 'not-editable-cell');
+                        _grid.jqGrid('setCell', rowData.id, 'FACTUALCOMPLETEDESC',rowData.FACTUALCOMPLETEDESC, 'not-editable-cell');
+                    }
+                    // 评分时定量指标时,分数输入框、等级选择框不可编辑
+                    if((entryType != 'viewMyScoreForm') && needScoreTmp == 0){
+                        if(rowData.FQUALIORRATION == 1){
+                            _grid.jqGrid('setCell', rowData.id, 'FSCORE',null, 'not-editable-cell');
+                            _grid.jqGrid('setCell', rowData.id, 'scoreORrejection',null, 'not-editable-cell');
+                            _grid.jqGrid('setCell', rowData.id, 'gradeORrejection',null, 'not-editable-cell');
+                            _grid.jqGrid('setCell', rowData.id, 'nodeGrade',null, 'not-editable-cell');
+                        }else{
+                            if(needScoreTmp != 0){
+                                if(rowData.FSCORE){
+                                    _grid.jqGrid('setCell', rowData.id, 'FSCORE',tmpScore, 'not-editable-cell');
+                                    //_grid.jqGrid('setCell', rowData.id, 'gradeORrejection',tmpScore, 'not-editable-cell');
+                                    _grid.jqGrid('setCell', rowData.id, 'nodeGrade',rowData.nodeGrade, 'not-editable-cell');
+                                }
+                                _grid.jqGrid('setCell', rowData.id, 'gradeORrejection',tmpScore, 'not-editable-cell');
+                                _grid.jqGrid('setCell', rowData.id, 'scoreORrejection',rowData.scoreORrejection, 'not-editable-cell');
+                                _grid.jqGrid('setCell', rowData.id, 'isRejection',rowData.isRejection, 'not-editable-cell');
+                            }else{
+                                _grid.jqGrid('setCell', rowData.id, 'FSCORE',null, 'not-editable-cell');
+                                _grid.jqGrid('setCell', rowData.id, 'scoreORrejection',null, 'not-editable-cell');
+                                if(rowData.FREJECTION != 1){
+                                    _grid.jqGrid('setCell', rowData.id, 'gradeORrejection',null, 'not-editable-cell');
+                                }
+                                _grid.jqGrid('setCell', rowData.id, 'nodeGrade',null, 'not-editable-cell');
+                            }
+                        }
+                        //BT-00543726 绩效工作台—个人目标评价 列表页面 定量指标没有公式是可以列表编辑的 跟概览保持一致 8612也要同步
+                    }else if(needScoreTmp == 0 && !$.isEmptyObject(rowData.FSCORINGFORMULA)){
+                        _grid.jqGrid('setCell', rowData.id, 'FSCORE',null, 'not-editable-cell');
+                        _grid.jqGrid('setCell', rowData.id, 'scoreORrejection',null, 'not-editable-cell');
+                        _grid.jqGrid('setCell', rowData.id, 'gradeORrejection',null, 'not-editable-cell');
+                        _grid.jqGrid('setCell', rowData.id, 'nodeGrade',null, 'not-editable-cell');
+                    }
+                    if(needScoreTmp !=0 && !$.isEmptyObject(rowData.FSCORINGFORMULA)){
+                         _grid.jqGrid('setCell', rowData.id, 'scoreORrejection',rowData.scoreORrejection, 'not-editable-cell');
+                         _grid.jqGrid('setCell', rowData.id, 'scoreORrejection',tmpScore, 'not-editable-cell');
+                         _grid.jqGrid('setCell', rowData.id, 'FSCORE',tmpScore, 'not-editable-cell');
+                         _grid.jqGrid('setCell', rowData.id, 'gradeORrejection',tmpScore, 'not-editable-cell');
+                         _grid.jqGrid('setCell', rowData.id, 'nodeGrade',tmpScore, 'not-editable-cell');
+                         //R20201111-1363
+                    }else if(needScoreTmp != 0 && $.isEmptyObject(rowData.FSCORINGFORMULA)){
+                        _grid.jqGrid('setCell', rowData.id, 'scoreORrejection',tmpMap['scoreORrejection']);
+                        _grid.jqGrid('setCell', rowData.id, 'FSCORE',tmpScore);
+                    }else{
+                        _grid.jqGrid('setCell', rowData.id, 'scoreORrejection',tmpMap['scoreORrejection'], 'not-editable-cell');
+                        _grid.jqGrid('setCell', rowData.id, 'FSCORE',tmpScore,'not-editable-cell');
+                    }
+                    _grid.jqGrid('setCell', rowData.id, 'FCOMMENT',rowData.FCOMMENT, 'commentcell');
+                    if (rowData.FREJECTION == 1 && rowData.canVeto != 2) {     // 是否决项,但不可编辑是否存在字段
+                        _grid.jqGrid('setCell', rowData.id, 'scoreORrejection', tmpMap['scoreORrejection'], 'not-editable-cell');
+                        _grid.jqGrid('setCell', rowData.id, 'isRejection', rowData.isRejection, 'not-editable-cell');
+                        _grid.jqGrid('setCell', rowData.id, 'gradeORrejection', tmpMap['gradeORrejection'], 'not-editable-cell');
+                    }
+                    //if(rowData.FREJECTION != 1 && scoreOrRate == 1 && thisIsRejection && !thisAllIsRejection){
+                    if(rowData.gradeORrejection != null && rowData.gradeORrejection != undefined){
+                        var cellAlias = '';
+                        for(var j = 0; j < gradeOption.length; j++){
+                            if(rowData.gradeORrejection == gradeOption[j].value){
+                                cellAlias = gradeOption[j].alias;
+                                break;
+                            }
+                        }
+                        _grid.jqGrid('setCell', rowData.id, 'gradeORrejection',cellAlias);
+                        _grid.jqGrid('setCell', rowData.id, 'isRejection',rowData.isRejection);
+                        _grid.jqGrid('setCell', rowData.id, 'nodeGrade',cellAlias);
+                    }
+
+                    //打总分的节点不能评分
+                    if (_needScore == '3') {
+                        _grid.jqGrid('setCell', rowData.id, 'scoreORrejection', tmpMap['scoreORrejection'], 'not-editable-cell');
+                        _grid.jqGrid('setCell', rowData.id, 'isRejection', rowData.isRejection, 'not-editable-cell');
+                        _grid.jqGrid('setCell', rowData.id, 'FSCORE', tmpScore, 'not-editable-cell');
+                        _grid.jqGrid('setCell', rowData.id, 'FCOMMENT', rowData.FCOMMENT, 'not-editable-cell');
+                        //_grid.find("td[aria-describedby='scoreTab_" + tabIndex + "_FSCORE']").addClass('disabled')
+                    }
+                }
+            }
+        }
+    },
+    // 组装数据
+    _getMyData: function(indicator,scoreOrRate,area,tabIndex,msgdata,fieldList,areaNeedScore){
+        var tabData = [];
+        var scoreTipsText = '';
+        for (var j = 0; j < indicator.length; j++) {
+            tabData[j] = {};
+            tabData[j]['FQUALIORRATION'] = indicator[j].FQUALIORRATION;
+            tabData[j]['FQUALIORRATIONText'] = indicator[j].FQUALIORRATION === '0' ? jsBizMultLan.perfweb_perfscoreNewJuicer_zw20201229_i18n_15 : jsBizMultLan.perfweb_perfscoreNewJuicer_zw20201229_i18n_16;
+            tabData[j]['FISVISIBLEText'] = indicator[j].FISVISIBLE === '0' ? jsBizMultLan.perfweb_perfscoreNewJuicer_zw20201229_i18n_17 : jsBizMultLan.perfweb_perfscoreNewJuicer_zw20201229_i18n_18;
+            if(indicator[j].FREJECTION == 1 && indicator[j]['isRejection']){   // 如果是否决项
+                tabData[j]['scoreORrejection'] = indicator[j]['isRejection'].alias;
+                tabData[j]['gradeORrejection'] = indicator[j]['isRejection'].alias;
+                tabData[j]['isRejection'] = indicator[j]['isRejection'].value;
+                tabData[j]['FREJECTIONText'] = indicator[j]['isRejection'].alias;
+            }else{
+                if(scoreOrRate == 0){
+                    tabData[j]['scoreORrejection'] = indicator[j]['targetScore'];
+                }else if(scoreOrRate == 1){
+                    tabData[j]['gradeORrejection'] = indicator[j]['gradeRank'];
+                }
+            }
+
+            // 加减分 
+            tabData[j]['subAreaType'] = area[tabIndex].subAreaType;
+            tabData[j]['areaAddSub'] = area[tabIndex].areaAddSub;
+            tabData[j]['areaAddSubDown'] = area[tabIndex].areaAddSubDown;
+            tabData[j]['areaAddSubUp'] = area[tabIndex].areaAddSubUp;
+            tabData[j]['targetAddSub'] = area[tabIndex].targetAddSub;
+            tabData[j]['targetAddSubDown'] = area[tabIndex].targetAddSubDown;
+            tabData[j]['targetAddSubUp'] = area[tabIndex].targetAddSubUp;
+            tabData[j]['isCanEditActValue'] = indicator[j].isCanEditActValue;
+            tabData[j]['id'] = indicator[j].FID;
+            tabData[j]['nodeGrade'] = indicator[j].gradeRank;
+            for(var i = 0; i < msgdata.length; i++){
+                // 从执行计划列表进入表单,目前后端无法传递正确的节点Id,先不做节点Id过滤
+                if(entryType == 'viewEvaForm' && msgdata[i].targetId == indicator[j].FID){
+                   tabData[j]['nodeInfoList'] =JSON.stringify(msgdata[i].nodeInfoList);
+                }
+            	if(entryType != 'viewMyScoreForm' && msgdata[i].canEdit != '1'){
+            		continue;
+            	}
+            	if(entryType == 'viewMyScoreForm' && msgdata[i].canEdit == '1'){
+            		continue;
+            	}
+            	// 考虑到会有同一个人处理并发评分的情况,因此增加了节点Id的判断
+                if(msgdata[i].targetId == indicator[j].FID && msgdata[i].gradeTaskNode == indicator[j].nodeTask){      // 为1才是当前节点评分信息,否则是其他人打分
+                    tabData[j]['canEdit'] = msgdata[i].canEdit;
+                    tabData[j]['canNegative'] = msgdata[i].canNegative;
+                    tabData[j]['gradeTaskNode'] = msgdata[i].gradeTaskNode;
+                    tabData[j]['canVeto'] = msgdata[i].canVeto;
+                    tabData[j]['canOverSumRange'] = msgdata[i].canOverSumRange;
+                    tabData[j]['lowLimit'] = msgdata[i].lowLimit;
+                    tabData[j]['uperLimit'] = msgdata[i].uperLimit;
+                    tabData[j]['overRange'] = msgdata[i].overRange;
+                    // 新增赋值,在已评分页面针对并发场景做赋值操作
+                    tabData[j]['nodeInfoList'] =JSON.stringify(msgdata[i].nodeInfoList);
+                    tabData[j]['preNodeScoreList'] = msgdata[i].nodeScoreList;
+                    tabData[j]['currIndiDetail'] = msgdata[i];
+                    tabData[j]['FCOMMENT'] = msgdata[i].fcomment;
+                }
+                if(entryType == 'viewMyScoreForm' && gradeTaskNode){
+                	tabData[j]['gradeTaskNode'] = gradeTaskNode;
+                }
+            }
+            // 组装评分字段tips文本
+            if(!scoreTipsText){
+                // 组装评分字段tips文本
+                var _params = {
+                    canOverSumRange: tabData[j]['canOverSumRange'],
+                    canNegative: tabData[j]['canNegative'],
+                    lowLimit: tabData[j]['lowLimit'],
+                    uperLimit: tabData[j]['uperLimit'],
+                    overRange: tabData[j]['overRange']
+                }
+                scoreTipsText = that.getScroeTipsContent(area[tabIndex], _params);
+            }
+
+            if(!tabData[j]['currIndiDetail']){
+                tabData[j]['currIndiDetail'] = {};
+            }
+            tabData[j]['currIndiDetail']['fieldList'] = fieldList;
+            for (var i = 0; i < fieldList.length; i++) {
+                var fieldName = fieldList[i].colName;
+                var fillOverwrite = fieldList[i].fillOverwrite;
+                if(fieldName == "FSCORE"){ // 分数
+                    // tabData[j][fieldName]  = indicator[j]["targetScore"]
+                    //yien 补丁11 改成获取指标汇总分数,和概览页面保持一致
+                    tabData[j][fieldName]  = indicator[j]["FSCORE"]
+                    if(pageSource == 'PERSONHISTORY' && indicator[j].FREJECTION == 1 && indicator[j]['isRejection']){
+                        tabData[j][fieldName] = null;
+                    }
+                    tabData[j]['FSCORE'] = pageSource=="PERSONHISTORY" ? tabData[j]['FSCORE'] :  (tabData[j]['currIndiDetail'].targetScore === 0 ? tabData[j]['currIndiDetail'].targetScore : (tabData[j]['currIndiDetail'].targetScore || ''));
+                }else if(fieldName == "FCOMMENT"){        // 存储指标评语名称
+                    tabData[j]['commentName'] = fieldList[i].showName;
+                    // tabData[j][fieldName] = indicator[j][fieldName];
+                }else if(fieldName == "FREJECTION"){    // 否决项
+                    tabData[j][fieldName] = indicator[j].FREJECTION;
+                }else if(fieldName == "FREJECTION" && indicator[j].isRejection){    // 是否存在
+                	tabData[j]['isRejection'] = indicator[j].isRejection.value;
+                }else if(indicator[j].FREJECTION == 1 && fieldName == "FTARSCORE"){   // 否决项时,目标分值无值
+                    tabData[j][fieldName] = null;
+                }
+                // else if(fieldName == 'FACTUALCOMPLETETIME'){
+                //     tabData[j][fieldName] = indicator[j][fieldName] ? indicator[j][fieldName].substr(0 , 10) : indicator[j][fieldName];
+                // }
+                //BT-00543726 绩效工作台—个人目标评价 列表页面 定量指标没有公式是可以列表编辑的 跟概览保持一致 8612也要同步
+                else if(fieldName == 'FSCORINGFORMULA'){
+                    //BT-00653483 评分公式显示不正确,之前显示的是 indicator[j][fieldName].id   jianyu_zhang 2022.02.10
+                    tabData[j][fieldName] = $.isEmptyObject(indicator[j][fieldName]) ? '' : indicator[j][fieldName].name;
+                }
+                else if(fieldName.indexOf('FEXTEND') > -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('<span class="vetomsg">存在否决项</span>');
+		$('#totalScore').after('<span class="vetomsg">'+jsBizMultLan.perfweb_perfscoreNew_zw20201229_i18n_13+'</span>');
+            }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 = '<div id="distributionInfoDiv"><table class="table table-hover"     id="tablebox">\n' +
+                            '    <tr>\n' +
+                            '        <td colspan="12">'
+                            + perfPlan + ' ' + perfPeriod
+                            //+ ' 需评价' + all + '人, ' + '<span style="color: #00afff">已评分' + scored + '人</span>, ' + '已评分等级分布情况如下:'
+			    + shr.formatMsg(jsBizMultLan.perfweb_perfscoreNew_zw20201229_i18n_14, [all]) + '<span style="color: #00afff">'+shr.formatMsg(jsBizMultLan.perfweb_perfscoreNew_zw20201229_i18n_15, [scored])+'</span> ' + jsBizMultLan.perfweb_perfscoreNew_zw20201229_i18n_16
+                        '</td>\n' +
+                        '    </tr>\n';
+                        if (data.leveStrMap) {
+                            distributionInfoHtml = distributionInfoHtml + '<tr>\n';
+                            $.each(data.leveStrMap, function (k, v) {
+                                distributionInfoHtml = distributionInfoHtml + '<td> ' + k + '(' + v + ') </td>\n';
+                            });
+                            distributionInfoHtml = distributionInfoHtml + '</tr>\n';
+                        }
+                        distributionInfoHtml = distributionInfoHtml + '</table></div>';
+                        // $(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 (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();
+    }
+    var wholeGradeB = $('select[name="_editGrades"],select[name="wholeGrade"]').val();
+    var curWholeCommentB = $('#curWholeComment').val();
+    if("B"===wholeGradeB&&(null==curWholeCommentB||curWholeCommentB.trim().length<=0)){
+        $('#curWholeComment').val('ㅤ');
+        $('#curWholeComment').removeClass('required');
+                
+    }else if("B"!==wholeGradeB&&'ㅤ'===curWholeCommentB){
+        $('#curWholeComment').val('');
+        $('#curWholeComment').addClass('required');
+    }
+}
+
+//目标评价长度校验
+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<gtnLen; i++){
+                	var nsumscore = nodeSumScoreList[i].nodeSumscore ? parseFloat(nodeSumScoreList[i].nodeSumscore).toFixed(2) : '';
+                	// if(null != nsumscore && "" != nsumscore){
+                        $('#wholeComment').find('span[gtnname="'+nodeSumScoreList[i].gradeTaskNode+'"] input').val(nsumscore);
+                        $("li[gradetasknode='" +nodeSumScoreList[i].gradeTaskNode+ "']").find("i[name='nodeSumScore']").text(nsumscore);
+                	// }else{
+                	// 	 //$('#wholeComment').find('span[gtnname="'+nodeSumScoreList[i].gradeTaskNode+'"]').text("");
+                	// }
+                	var isVetoZero = nodeSumScoreList[i].isVetoZero;
+                	if(isVetoZero == '1'){
+                		$($('#wholeComment').find('span[gtnname="'+nodeSumScoreList[i].gradeTaskNode+'"]')).next().show();
+                	}else{
+                		$($('#wholeComment').find('span[gtnname="'+nodeSumScoreList[i].gradeTaskNode+'"]')).next().hide();
+                	}
+                	
+                	if(nodeSumScoreList[i].nodeGrade){
+                        $('[id="wholeGrade_' + nodeSumScoreList[i].gradeTaskNode+ '"]').find("option[id='" + nodeSumScoreList[i].nodeGrade + "']").attr("selected", "selected");
+                        $("li[gradetasknode='" +nodeSumScoreList[i].gradeTaskNode+ "']").find("i[name='nodeGrade']").text(nodeSumScoreList[i].nodeGrade);
+               	 	}
+                }
+            }
+        }
+    });
+    /**
+     * 自动计算等级
+     */
+    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");
+        if(nodeSumScoreList){
+            for(var i=0; i< nodeSumScoreList.length; i++){
+                that.remoteCall({
+                    method: "getLeaveByScore",
+                    async: false,
+                    param: {
+                        nodeSumScore: $('#wholeComment').find('span[gtnname="'+nodeSumScoreList[i].gradeTaskNode+'"] input').val(),
+                        id: nodeSumScoreList[i].gradeTaskNode
+                    },
+                    //data: {"nodeSumScore":  $('#wholeComment').find('span[gtnname="'+nodeSumScoreList[i].gradeTaskNode+'"] input').val(), "id": nodeSumScoreList[i].gradeTaskNode},
+                    success: function (data) {
+                        //这里的结果类似 {data: "差E"}
+                        console.log(data);
+                        if (data.data) {
+                            $("#wholeComment").find("select").find('option').attr('selected', false);
+                            $("#wholeComment").find("[id='wholeGrade_"+nodeSumScoreList[i].gradeTaskNode+"']").find("option[value='" + data.data + "']").attr('selected', true);
+                            //$("#wholeComment").find("select").val(data.data);
+                            $('.workerList li.current').find("i[name='nodeGrade']").text(data.data);
+                        }
+                    }
+                });
+            }
+        }else{
+            that.remoteCall({
+                method: "getLeaveByScore",
+                async: false,
+                param: {
+                    nodeSumScore:  $('#wholeComment').find('span[gtnname="'+startGradeTaskNode+'"] input').val(),
+                    id:gradeTaskNode
+                },
+                data: {"nodeSumScore":  $('#wholeComment').find('span[gtnname="'+startGradeTaskNode+'"] input').val(), "id": gradeTaskNode},
+                success: function (data) {
+                    //这里的结果类似 {data: "差E"}
+                    console.log(data);
+                    if (data.data) {
+                        $("#wholeComment").find("select").find('option').attr('selected', false);
+                        $("#wholeComment").find("[id='wholeGrade_"+gradeTaskNode+"']").find("option[value='" + data.data + "']").attr('selected', true);
+                        //$("#wholeComment").find("select").val(data.data);
+                        $('.workerList li.current').find("i[name='nodeGrade']").text(data.data);
+                    }
+                }
+            });
+        }
+
+    }
+}
+
+//初始化定性定量下拉列表
+function initQualiOrRationSelectEven(indicatorId, isUnit) {
+    var qualiOrRationId = "FQUALIORRATION" + indicatorId;
+    // var $qualiOrRation = $('#' + qualiOrRationId);
+    var $qualiOrRation = $('input[id="' + qualiOrRationId + '"]');
+    // 初始化下拉选择框
+    var options = [
+        {value:0,alias:jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_16},
+        {value:1,alias:jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_15}
+    ];
+    var qualiOrRation = $qualiOrRation.val() ? $qualiOrRation.val() : 0;
+    $qualiOrRation.shrSelect({
+        // 'id': qualiOrRationId,
+        'id': encodeURIComponent(qualiOrRationId),
+        'data': options
+    });
+
+    //如果分组未下达,则绑定选中事件
+    if (isUnit != 1) {
+        $qualiOrRation.shrSelect("option", "onChange", function (e, value) {
+            var selectVal = value.selectVal;
+            // 判断是定性定量
+            if (selectVal == 0) {
+                //定性,屏蔽评分公式和单位
+                disableUnitAndFormulaTag(indicatorId);
+            } else if (selectVal == 1) {
+                //定量,打开评分公式和单位
+                // var $unit = $('#FUNIT' + indicatorId);
+                var $unit = $('input[id="' + 'FUNIT' + indicatorId + '"]');
+                // var $scoringFormula = $('#FSCORINGFORMULA' + indicatorId);
+                var $scoringFormula = $('input[id="' + 'FSCORINGFORMULA' + indicatorId + '"]');
+                if ($unit.attr('fname')) {
+                    $unit.removeAttr('disabled');
+                }
+                if ($scoringFormula.attr('fname')) {
+                    $scoringFormula.shrPromptBox('enable');
+                }
+            }
+
+        });
+    } else {
+        //屏蔽选择
+        $qualiOrRation.shrSelect('disable', true);
+    }
+
+    $qualiOrRation.shrSelect('setValue', qualiOrRation);
+}
+
+//初始化定性定量下拉列表
+function initIsVisibleSelectEven(indicatorId, isUnited) {
+    // 初始化下拉选择框
+    // var $isVisible = $('#FISVISIBLE' + indicatorId);
+    var $isVisible = $('input[id="' + 'FISVISIBLE' + indicatorId + '"]');
+    var options = [
+        {value:0,alias:jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_2},
+        {value:1,alias:jsBizMultLan.perf_perfscoreNew_1586255739735_i18n_21}
+    ];
+    var selectedVal = $isVisible.val() ? $isVisible.val() : 0;
+    $isVisible.shrSelect({
+        // 'id': 'FISVISIBLE' + indicatorId,
+        'id': encodeURIComponent('FISVISIBLE' + indicatorId),
+        'data': options
+    });
+
+    $isVisible.shrSelect('setValue', selectedVal);
+
+    //如果是统一下达,则屏蔽选择按钮
+    if (isUnited == 1) {
+        $isVisible.shrSelect('disable', true);
+    }
+}
+
+/**
+ * 屏蔽单位和公式
+ */
+function disableUnitAndFormulaTag(indicatorId) {
+    // var $unit = $('#FUNIT' + indicatorId);
+    var $unit = $('input[id="' + 'FUNIT' + indicatorId + '"]');
+    // var $scoringFormula = $('#FSCORINGFORMULA' + indicatorId);
+    var $scoringFormula = $('input[id="' + 'FSCORINGFORMULA' + indicatorId + '"]');
+    if ($unit.attr('fname')) {
+        $unit.val('');
+        $unit.attr('disabled', 'disabled');
+    }
+    if ($scoringFormula.attr('fname')) {
+        $scoringFormula.shrPromptBox("setValue", '');
+        $scoringFormula.shrPromptBox('disable');
+    }
+}
+
+/**
+ * 初始化业绩日期
+ * 兼容IE
+ * @param indicateId
+ * @param isUnited
+ */
+function initDateEven(tagId , isUnited) {
+    // var $tag = $('#' + tagId);
+    var $tag = $('input[id="'+ tagId +'"]');
+    var selectedVal = $tag.val();
+    if(selectedVal) {
+        //截取日期部分
+        selectedVal = selectedVal.substr(0 , 10);
+        $tag.shrDateTimePicker({
+            // value: selectedVal,
+            isShowUTC:false,
+            ctrlType: 'Date'
+        });
+        $tag.shrDateTimePicker('setValue',selectedVal);
+    }else {
+        var currentDate = new Date();
+        var currentDateStr = currentDate.getFullYear();
+        if(currentDate.getMonth() < 9) {
+            currentDateStr += "-0" + (currentDate.getMonth() + 1);
+        }else {
+            currentDateStr += "-" + (currentDate.getMonth() + 1);
+        }
+        if(currentDate.getDate() < 10) {
+            currentDateStr += "-0" + currentDate.getDate();
+        }else {
+            currentDateStr += "-" + currentDate.getDate();
+        }
+        $tag.shrDateTimePicker({
+            // value: currentDateStr,
+            isShowUTC:false,
+            ctrlType: 'Date'
+        }); // 设置完成时间
+        $tag.shrDateTimePicker('setValue',currentDateStr)
+    }
+    if(isUnited == 1) {
+        //屏蔽选择
+        $tag.shrDateTimePicker('disable');
+    }
+}
+
+/**
+ * 初始化否决项
+ * @param tagObj
+ * @param isUnited
+ */
+function initRejection(tagId, isUnited) {
+    var $tag = $('input[id="' + tagId + '"]');
+    $tag.shrCheckbox();
+    var $tagHidden = $('input[id="HIDDEN_' + tagId + '"]');
+    var selectedVal = 0;
+    if ($tagHidden.length > 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);
+            that.showAllAttachs(data);
+        }
+    });
+}
+
+// 清空选中文本
+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]);
+    }
+}

File diff suppressed because it is too large
+ 343 - 285
websrc/com/kingdee/eas/hr/perf/handler/EvaResultSummaryManagerListHandlerExEx.java


+ 104 - 2
websrc/com/kingdee/eas/hr/perf/handler/EvaresultAuditBillEditHandlerEx.java

@@ -1,17 +1,33 @@
 package com.kingdee.eas.hr.perf.handler;
 
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.kingdee.bos.BOSException;
 import com.kingdee.bos.Context;
 import com.kingdee.bos.rabbitmq.guava.Lists;
+import com.kingdee.eas.common.EASBizException;
 import com.kingdee.eas.framework.CoreBaseInfo;
 import com.kingdee.eas.util.app.DbUtil;
 import com.kingdee.jdbc.rowset.IRowSet;
+import com.kingdee.shr.base.syssetting.api.bean.BatchMessageTipsBody;
 import com.kingdee.shr.base.syssetting.api.bean.BatchMessageTipsHeader;
+import com.kingdee.shr.base.syssetting.context.SHRContext;
 import com.kingdee.shr.base.syssetting.exception.SHRWebException;
+import com.kingdee.shr.base.syssetting.web.json.JSONUtils;
+import com.kingdee.shr.compensation.util.CmpStrUtil;
+import com.kingdee.shr.perfweb.app.base.evalplan.EvaResultSummaryAuditBillFactory;
+import com.kingdee.shr.perfweb.app.base.evalplan.IEvaResultSummaryAuditBill;
 import com.kingdee.shr.perfweb.planexecute.handler.EvaresultAuditBillEditHandler;
 import org.apache.commons.lang3.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.ui.ModelMap;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+import java.sql.SQLException;
+import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -24,6 +40,92 @@ import java.util.List;
  */
 public class  EvaresultAuditBillEditHandlerEx extends EvaresultAuditBillEditHandler {
 
+    private static Logger logger = LoggerFactory.getLogger(EvaresultAuditBillEditHandlerEx.class);
+
+    /**
+      [{"evaResult.pnumber":"0000381","evaResult.pname":"谭梓傲","evaResult.positionName":"物资岗","evaResult.evaObj.perfFile.adminOrgUnit.company.name":"湖南红太阳光电科技有限公司","evaResult.evaObj.perfFile.adminOrgUnit.department.name":"综合管理","evaResult.sumScore":"<span></span>","evaResult.gradeLevel":"","evaResult.auditSumScore":"<span value=\\"86\\">86.00</span>","evaResult.auditGradeLevel":"C","evaResult.auditReason":"<div class=\\"cell-height scrollbarthin\\">正态分布更新结果</div>","evaResult.reviseSumScore":"<span value=\\"86\\">86.00</span>","evaResult.reviseGradeLevel":"C","evaResult.reviseReason":"正态分布更新结果","id":"KQukJy27Skiy1rPPghjkJBdK16Q=","evaResult.id":"Ka7FkRQuTAaPlTaLvJSD3IESG3Q=","bill.id":"m85zTeeDSmaAU2QLbYWMUoZLdW4=","evaResult.evaObj.id":"gjX3giS2RKurkJVjPhnwa4GI54s=","reviseGradeLevelSelect":"[{\\"value\\":\\"S\\",\\"alias\\":\\"S\\"},{\\"value\\":\\"A\\",\\"alias\\":\\"A\\"},{\\"value\\":\\"B\\",\\"alias\\":\\"B\\"},{\\"value\\":\\"C\\",\\"alias\\":\\"C\\"},{\\"value\\":\\"D\\",\\"alias\\":\\"D\\"}]","levelScoreKVInfo":"{\\n  \\"90.00~100.00\\": \\"S\\",\\n  \\"80.00~90.00\\": \\"A\\",\\n  \\"70.00~80.00\\": \\"B\\",\\n  \\"60.00~70.00\\": \\"C\\",\\n  \\"0.00~60.00\\": \\"D\\"\\n}","scoreLowLimit":"0","scoreUpLimit":"100","evaResult.period.id":"q6myAjHaQLK+wnczfdLCJEUaiOU=","evaResult.reviseFlag":"是","evaResult.auditFlag":"否"}]
+     * @param request
+     * @param response
+     * @param modelMap
+     * @throws SHRWebException
+     */
+    public void verifyBeforeSubmitAction(HttpServletRequest request, HttpServletResponse response, ModelMap modelMap) throws SHRWebException {
+        String entryData = request.getParameter("entryData");
+        BatchMessageTipsHeader header = new BatchMessageTipsHeader();
+        boolean isExists = true;
+        if (!com.kingdee.util.StringUtils.isEmpty(entryData)) {
+            int success = 0;
+            int fail = 0;
+            StringBuilder ids = new StringBuilder();
+            List<String> allIdList = new ArrayList<>();
+            try {
+                Context ctx = SHRContext.getInstance().getContext();
+                //明细数据
+                JSONArray entryList = JSON.parseArray(entryData);
+                for(int i=0;i<entryList.size();i++) {
+                    JSONObject object = entryList.getJSONObject(i);
+                    BatchMessageTipsBody body = new BatchMessageTipsBody();
+                    String id =object.getString("id");
+                    boolean isSuccess=false;
+                    String msg="";
+                    String pnumber = object.getString("evaResult.pnumber");
+                    String pname = object.getString("evaResult.pname");
+                    String positionName = object.getString("evaResult.positionName");
+                    String evaResult = object.getString("evaResult.id");
+                    //修改后等级
+                    String auditGradeLevel = object.getString("evaResult.auditGradeLevel");
+
+                    body.setId(id);
+                    ids.append(id).append(",");
+                    allIdList.add(id);
+                    //获取跨部门协作绩效等级
+                    String sql = "select CFDEPGRADELEVEL from T_EVA_EvaResultSummary where fid = ?";
+                    IRowSet rs = DbUtil.executeQuery(ctx, sql, new String[]{evaResult});
+                    //当跨部门协作绩效等级为C、D等级的,当期员工绩效不得为高绩效(S、A等级)
+                    if (rs.next()){
+                        //跨部门协作绩效等级
+                       String depgradelevel = rs.getString("CFDEPGRADELEVEL");
+                       switch (depgradelevel){
+                           case "S":;
+                           case "A":;
+                           case "B":isSuccess=true; msg="校验通过";success+=1;break;
+                           case "C":
+                           case "D":
+                               if("S".equals(auditGradeLevel)||"A".equals(auditGradeLevel)){
+                                   isSuccess=false;
+                                   msg="当跨部门协作绩效等级为C、D等级的,当期员工绩效不得为高绩效(S、A等级)";
+                                   fail+=1;
+                               } else {
+                                   isSuccess=true; msg="校验通过";success+=1;
+                               }
+                               break;
+                       }
+                    }else {
+                        msg="操作失败,数据异常";
+                        isSuccess=false;
+                        fail+=1;
+                    }
+                    body.setMuitTipsState(isSuccess);
+                    body.setMuitTipsMessage(msg);
+                    List<Object> messageListExt = new ArrayList<>();
+                    messageListExt.add(pnumber);
+                    messageListExt.add(pname);
+                    messageListExt.add(positionName);
+                    body.addMessageListExt(messageListExt);
+                    header.addResult(body);
+                }
+
+            } catch (BOSException | SQLException var7) {
+                var7.printStackTrace();
+            }
+            ids.delete(ids.length()-1,ids.length());
+            header.setBillId(ids.toString());
+            header.setFailureCount(fail);
+            header.setSuccessCount(success);
+        }
+        this.writeSuccessData(header);
+    }
+
     protected void verifyModel(HttpServletRequest request, HttpServletResponse response, CoreBaseInfo model) throws SHRWebException {
 
     }
@@ -49,14 +151,14 @@ public class  EvaresultAuditBillEditHandlerEx extends EvaresultAuditBillEditHand
                 String FPNUMBER = rsSql.getString("FPNUMBER");
                 String orgLevelEveID = rsSql.getString("CFOrgLevelEveID");
                 if(StringUtils.isBlank(orgLevelEveID)) {
-                    err.append("鍛樺伐锛�"+FPNAME+"("+FPNUMBER+"),鏃犳硶鑾峰彇褰撳墠缁勭粐缁╂晥鑰冩牳绛夌骇");
+                    err.append("员工:"+FPNAME+"("+FPNUMBER+"),无法获取当前组织绩效考核等级");
                     unIdLIst.add(id);
                 }
             }
 
             if(!unIdLIst.isEmpty()) {
                 ids.removeAll(unIdLIst);
-                err.append("瀛樺湪鏃犳硶鑾峰彇褰撳墠缁勭粐缁╂晥鑰冩牳绛夌骇鐨勮�褰�");
+                err.append("存在无法获取当前组织绩效考核等级的记录");
             }
         }catch (Exception e){
             e.printStackTrace();

+ 31 - 0
websrc/com/kingdee/eas/hr/perf/osf/WholeCommentOSFService.java

@@ -0,0 +1,31 @@
+package com.kingdee.eas.hr.perf.osf;
+
+import com.kingdee.bos.BOSException;
+import com.kingdee.bos.Context;
+import com.kingdee.bos.bsf.service.app.IHRMsfService;
+import com.kingdee.eas.common.EASBizException;
+import com.kingdee.eas.util.app.DbUtil;
+
+import java.util.Map;
+
+/**
+ * 考核结果管理列表新增显示“整体评价评语”(取最终等级的整体评价评语)
+ * description: WholeCommentOSFService <br>
+ * date: 2025/6/18 15:32 <br>
+ * author: lhbj <br>
+ * version: 1.0 <br>
+ */
+public class WholeCommentOSFService  implements IHRMsfService {
+    @Override
+    public Object process(Context context, Map<String, Object> map) throws EASBizException, BOSException {
+        try {
+            String sql =
+                    "UPDATE T_EVA_EvaResultSummary SET CFWholeComment = (select to_char(wc.FCOMMENT) FCOMMENT from T_EVA_GradeTaskNodeInst gtni left join T_EVA_WFNodeDef wnf on wnf.fid = gtni.FWFNODEID left join T_PEF_WholeComment wc on wc.FGRADETASKNODEINSTID=gtni.fid where wnf.FISFINALGRADE=1 and wc.FCOMMENT is not null and T_EVA_EvaResultSummary.FEVAOBJID = gtni.FEVAOBJID) WHERE EXISTS (select to_char(wc.FCOMMENT) FCOMMENT from T_EVA_GradeTaskNodeInst gtni left join T_EVA_WFNodeDef wnf on wnf.fid = gtni.FWFNODEID left join T_PEF_WholeComment wc on wc.FGRADETASKNODEINSTID=gtni.fid where wnf.FISFINALGRADE=1 and wc.FCOMMENT is not null and T_EVA_EvaResultSummary.FEVAOBJID = gtni.FEVAOBJID)";
+            DbUtil.execute(context,sql);
+        }catch (Exception e){
+            e.printStackTrace();
+            throw e;
+        }
+        return "ok";
+    }
+}

+ 40 - 0
websrc/com/kingdee/eas/hr/project/importService/MemberManagementImportService.java

@@ -0,0 +1,40 @@
+package com.kingdee.eas.hr.project.importService;
+
+import com.kingdee.eas.framework.CoreBaseInfo;
+import com.kingdee.eas.hr.project.MemberManagementInfo;
+import com.kingdee.shr.base.syssetting.BaseItemStateEnum;
+import com.kingdee.shr.base.syssetting.app.io.fileImport.BaseImportService;
+import com.kingdee.shr.base.syssetting.app.io.fileImport.ImportException;
+
+public class MemberManagementImportService extends BaseImportService {
+
+    protected void saveData(Object object) throws ImportException {
+        if (this.hasCallback()) {
+            this.addObjectToCallbackList(object);
+        } else {
+            CoreBaseInfo coreBaseInfo;
+            if (this.isBigEntry()) {
+                coreBaseInfo = (CoreBaseInfo)object;
+                String mainBillId = this.getMainBillId();
+                String billFieldName = this.getBillEntryField();
+                coreBaseInfo.setString(billFieldName, mainBillId);
+                this.beforeSubmitData(coreBaseInfo);
+                this.submitData(coreBaseInfo);
+                this.afterSubmitData(coreBaseInfo);
+            } else {
+                coreBaseInfo = (CoreBaseInfo)object;
+                this.beforeSubmitData(coreBaseInfo);
+                this.submitData(coreBaseInfo);
+                this.afterSubmitData(coreBaseInfo);
+            }
+        }
+
+    }
+    protected void beforeSubmitData(CoreBaseInfo coreBaseInfo) throws ImportException {
+        MemberManagementInfo managementInfo = (MemberManagementInfo) coreBaseInfo;
+        managementInfo.setState(BaseItemStateEnum.NEW);
+    }
+
+    protected void afterSubmitData(CoreBaseInfo coreBaseInfo) throws ImportException {
+    }
+}

Some files were not shown because too many files changed in this diff