//加载
$(function () {
var evaluationStudentID = $("#EvaluationStudentID").val();
var evaluationTableID = $("#EvaluationTableID").val();
if (evaluationTableID != "" && evaluationTableID != null) {
loadColumsRank(evaluationTableID, evaluationStudentID);
LoadCalculateMethod();
}
});
function loadColumsRank(evaluationTableID, evaluationStudentID) {
var dataColums = Invoke("/StudentEvaluationEnter/FormTitle", null, "jsonp", function (re) { });
var dataList = Invoke("/StudentEvaluationEnter/Content?evaluationTableID=" + evaluationTableID + "&evaluationStudentID=" + evaluationStudentID, null, "jsonp", function (re) { });
if (dataColums != undefined && dataColums != null) {
if (dataList !== undefined && dataList != null) {
var jsonData = { rows: eval("[" + dataList.rows + "]"), total: dataList.total };
$("#dgStudentEvaluationEnterList").datagrid({
columns: [[
{ field: 'OrderNo', title: '次序', width: 120, align: 'center' },
{ field: 'EvaluationTargetID', title: '评价指标ID', width: 20, align: 'center' },
{ field: 'EvaluationTargetWeight', title: '评价指标权重', width: 20, align: 'center' },
{ field: 'EvaluationProjectID', title: '评价项目ID', width: 20, align: 'center' },
{ field: 'EvaluationProjectName', title: '评价项目', width: 350, align: 'center', formatter: formatCellTooltip },
{ field: 'Weight', title: '权重', width: 50, align: 'center' },
{ field: 'EvaluationNormName', title: '评分标准', width: 385, align: 'center' }]],
data: jsonData,
singleSelect: true,
rownumbers: false,
showFooter: true,
striped: 'True',
nowrap: true,
fitColumns: false,
rowStyler: function (index, row) {
if (isNaN(row.OrderNo)) {
return 'color:blue;';
}
},
onClickRow: function (rowIndex, field, value) {
//onClickSum(rowIndex, field, value);
}
});
$('#dgStudentEvaluationEnterList').datagrid('hideColumn', 'EvaluationTargetID');
$('#dgStudentEvaluationEnterList').datagrid('hideColumn', 'EvaluationTargetWeight');
$('#dgStudentEvaluationEnterList').datagrid('hideColumn', 'EvaluationProjectID');
}
}
}
function LoadCalculateMethod() {
//计算规则
//1.选中的评分标准权重/100*评价项目权重=评价项目分数
//2.Sum(评价项目分数)/Sum(评价项目权重)*评价指标权重=评价指标分数
//3.Sum(评价指标分数)/Sum(评价指标权重)*评价表格权重=评价表格分数
var rows = $("#dgStudentEvaluationEnterList").datagrid("getRows");//获取全部数据
var radioButtonObject = $("input:radio[name^='radioButtonName_']:checked")
//求取评价指标分数
var jsonStr = "";
var evaluationScore = 0;//评价项目分数
var zbScore = 0;//评价指标分数
var bgScore = 0;//评价表格分数
var arrList = new Array();
var newarrList = new Array();
var xmqzarrList = new Array();
var pjzbfsArry = new Array();
var pjxmID = null;
var pjzbfs = 0;
for (var k = 0; k < radioButtonObject.length; k++) {
var str = radioButtonObject[k].name;
var strindex = str.lastIndexOf("_") + 1;
var sNewStr = str.substring(strindex);
arrList.push(sNewStr);//将评价指标权重加入数组记录起来
}
var pjzbSum = "";
arrList.sort();
newarrList = $.unique(arrList);//去除重复元素、新指标权重
var targetIDs = newarrList.join(','); //获取指标这个数组的和
if (targetIDs != "") {
$.ajax({
type: "POST",
url: "/StudentEvaluationEnter/GetTargetWeightSum",
data: { evaluationTargetIDs: targetIDs },
dataType: "json",
async: false,
success: function (result) {
//将返回数据添加到页面表格中
$("#ProjectWeightSum").val(result);
}
});
}
pjzbSum = $("#ProjectWeightSum").val();
var zb = 0;
var bg = 0;
var evaluationTableWeight = $("#EvaluationTableWeight").val();
if (evaluationTableWeight == null || evaluationTableWeight == "") {
evaluationTableWeight = 100.0;
}
var tableWeight = evaluationTableWeight;//评价表格
var CodeSum = new Array();
var ProjectSum = 0;
for (var i = 0; i < radioButtonObject.length; i++) {
var qzxmf = radioButtonObject.parent().parent().prev().prev().prev().prev().find("div").eq(i).html();//评价权重
var qz = radioButtonObject.parent().parent().prev().find("div").eq(i).html();//项目权重数据
pjxmID = radioButtonObject.parent().parent().prev().prev().prev().find("div").eq(i).html();//评价项目ID
var targetID = $(radioButtonObject[i]).closest("tr").find("td[field='EvaluationTargetID'] div").text();
if (targetID != "") {
$.ajax({
type: "POST",
url: "/StudentEvaluationEnter/GetProjectWeightSum",
data: { evaluationTargetID: targetID },
dataType: "json",
async: false,
success: function (result) {
ProjectSum = result;
//将返回数据添加到页面表格中
}
});
}
var pfbz = radioButtonObject[i].value;
var xm = radioButtonObject[i].value / 100 * qz;
zb = xm / parseInt(ProjectSum) * qzxmf/*指标权重*/;
bg = zb / parseInt(pjzbSum) * parseInt(tableWeight);
CodeSum.push(bg.toFixed(5));
evaluationScore += pfbz / 100 * qz;
pjzbfs = ((pfbz / 100) * qz) / 100 * (qzxmf);
pjzbfsArry.push(pjzbfs.toFixed(2));
xmqzarrList.push(qz);//记录项目权重
jsonStr += "{ \"EvaluationProjectID\":\"" + pjxmID + "\",\"Score\":\"" + pfbz + "\"}" + ","; //拼接json、返回后台操作
}
jsonStr = jsonStr.substring(0, jsonStr.length - 1);
var jsonData = "[ " + jsonStr + " ]";
var SumValue = eval(CodeSum.join('+')) //获取项目权重这个数组的和
// var sum = eval(pjzbfsArry.join('+')) //获取项目权重这个数组的和
$("#JsonDataStr").val(jsonData);
$("#EvaluationProjectID").val(pjxmID);
$("#EvaluationScore").val(evaluationScore);
$("#EvaluationTotalScore").html(((SumValue * 100) / 100).toFixed(1));
if ($("#EvaluationTotalScore").html() == "NaN" || $("#EvaluationTotalScore").html() == "") {
$("#EvaluationTotalScore").html(0);
}
}
function getonclick(obj) {
var CodeSum = new Array();
var jsonStr = "";
var evaluationTableWeight = $("#EvaluationTableWeight").val();
if (evaluationTableWeight == null || evaluationTableWeight == "") {
evaluationTableWeight = 100;
}
var tableWeight = evaluationTableWeight;//评价表格
var rows = $("#dgStudentEvaluationEnterList").datagrid("getRows");//获取全部数据
var orderNo = $(obj).closest("tr").find("td[field='OrderNo'] div").text();//序号ID
var targetID = $(obj).closest("tr").find("td[field='EvaluationTargetID'] div").text();
var targetWeight = $(obj).closest("tr").find("td[field='EvaluationTargetWeight'] div").text();//评价指标分数
var normNameProjectID = $(obj).closest("tr").find("td[field='EvaluationProjectID'] div").text();
var weight = $(obj).closest("tr").find("td[field='Weight'] div").text();//项目分数
var allZb = $.grep(rows, function (x) { return (x.EvaluationProjectID == ""); });
var brothers = $.grep(rows, function (x) { return (x.EvaluationTargetID == targetID); })
var xmqzdate = $.grep(rows, function (x) { return (x.EvaluationTargetID == targetID && x.EvaluationProjectID != ""); });//Sum(评价项目权重)
var xmqzSum = 0;
var targetWeightSum = 0;
var totalSum = 0;
var radioButtonObject = $("input:radio[name^='radioButtonName_']:checked") //获取所有选中值~~
for (var j = 0; j < xmqzdate.length; j++) {
var xmqzfs = xmqzdate[j].Weight;
xmqzSum += parseInt(xmqzfs);
}
for (var k = 0; k < allZb.length; k++) {
var pgfs = allZb[k].Weight;
targetWeightSum += parseInt(pgfs);
}
var zb = 0;
var bg = 0;
//debugger;
for (var h = 0; h < radioButtonObject.length; h++) {
var qzxmf = radioButtonObject.parent().parent().prev().prev().prev().prev().find("div").eq(h).html();//评价权重
var qz = radioButtonObject.parent().parent().prev().find("div").eq(h).html();//项目权重数据
var pjxmID = radioButtonObject.parent().parent().prev().prev().prev().find("div").eq(h).html();//评价项目ID
var xm = radioButtonObject[h].value / 100 * qz;
zb = xm / xmqzSum * qzxmf/*指标权重*/;
bg = zb / targetWeightSum * parseInt(tableWeight);
CodeSum.push(bg.toFixed(5));
jsonStr += "{ \"EvaluationProjectID\":\"" + pjxmID + "\",\"Score\":\"" + radioButtonObject[h].value + "\"}" + ","; //拼接json、返回后台操作
}
var jsonData = "[ " + jsonStr + " ]";
for (var z = 0; z < CodeSum.length; z++) {
totalSum = totalSum + parseFloat(CodeSum[z]);
}
$("#JsonDataStr").val(jsonData);
$("#EvaluationTotalScore").html(((totalSum * 100) / 100).toFixed(1));
}
function EvaluationCount() {
var rows = $("#dgStudentEvaluationEnterList").datagrid("getRows");
var evaluationTotal = "";
for (var i = 0; i < rows.length; i++) {
if (rows[i]['EvaluationProjectName'] != "") {
evaluationTotal += rows[i]['EvaluationProjectName'] + "&";
}
}
if (evaluationTotal.length > 0) {
evaluationTotal = evaluationTotal.substr(0, evaluationTotal.length - 1);
}
return evaluationTotal.split('&').length;
}
//格式化单元格提示信息
function formatCellTooltip(val, rec) {
return "" + val + "";
}
//设置列颜色为红色
function SetRedColumn(index, row, value) {
return " " + value + "";
}
//保存
function StudentEvaluationEnter_Save() {
var radioButtonCount = $("input:radio[name^='radioButtonName_']:checked");
if (radioButtonCount.length != EvaluationCount()) {
$.messager.alert("系统提示", "评价内容没有评选完,请选择。");
return;
}
var advice = $("#Advice").val();
if (advice == null || advice == "") {
$.messager.alert("系统提示", "请填写简要评语或建议。");
return;
}
var evaluationTotalScore = $("#EvaluationTotalScore").text();
$("#TotalScore").val(evaluationTotalScore);
$(document.forms[0]).submit();
}