diff --git a/~dev_rating/media/js/rating.js b/~dev_rating/media/js/rating.js index b321185a929a3f435ad4529486024c071426356b..3f88220c95e75cc35618abc25106612bcfb1d156 100644 --- a/~dev_rating/media/js/rating.js +++ b/~dev_rating/media/js/rating.js @@ -1,31 +1,58 @@ var $ = jQuery; -$(function() { - // inititializations - - var pageType = $("#pageType").val(); +$(function () { + // Секция инициализации var optionsViewData = { - 'absence': { - sendingOption : 'absence', - messageOK : 'Неявка выставлена', - messageFail : 'Установка неявки РЅРµ удалась' + 'absence': { + sendingOption: 'absence', + messageOK: 'Неявка выставлена', + messageFail: 'Установка неявки РЅРµ удалась' }, - 'absence_unset': { - sendingOption : null, - messageOK : 'Неявка отменена', - messageFail : 'Отмена неявки РЅРµ удалась' + 'absence_unset': { + sendingOption: null, + messageOK: 'Неявка отменена', + messageFail: 'Отмена неявки РЅРµ удалась' }, - 'pass': { - sendingOption : 'pass', - messageOK : 'Автомат выставлен', - messageFail : 'Установка автомата РЅРµ удалась' + 'pass': { + sendingOption: 'pass', + messageOK: 'Автомат выставлен', + messageFail: 'Установка автомата РЅРµ удалась' }, - 'pass_unset': { - sendingOption : null, - messageOK : 'Автомат отменен', - messageFail : 'Отмена автомата РЅРµ удалась' + 'pass_unset': { + sendingOption: null, + messageOK: 'Автомат отменен', + messageFail: 'Отмена автомата РЅРµ удалась' } }; + var json_settings = $.parseJSON($("#hidden_div").html()); + var pageType = $("#pageType").val(); + var cancelFlag = false; + var g_col; + var g_row; + var g_isFocusCell = false; // Стоит фокус РЅР° ячейки или нет + var g_oldRateCell = null; + var g_submoduleID = null; + var g_studentID = null; + var g_submoduleTitle = ""; + var g_submoduleMaxRate = 0; + var g_stdName = ""; + var jTdInfo_wrap = $("#tdInfo_wrap"); + var jTdInfo = jTdInfo_wrap.children('#tdInfo'); + var g_URL = (window.location.href).split("/"); + var g_disciplineID = g_URL[g_URL.length - 1]; + + // on page loaded + // Настройки дисциплины: + // + ID - id дисциплины + // + studyGroupID_Filter - studyGroupID для фильтра (Рффект памяти) + + controlVisualization(); + $("div.main_content").ready(AdjustTable); + $(window).resize(AdjustTable); + + $("#hidden_div").remove(); + filterGroups(json_settings.GroupID_Filter); + $(".groupSelector [value='" + json_settings.GroupID_Filter + "']").attr("selected", "selected"); function AdjustTable() { var jWrap = $('div.main_layer'); @@ -45,7 +72,7 @@ $(function() { function controlRowVisualization(jRow) { - if (pageType !== "exam") { + if ((pageType !== "exam") || (json_settings.ExamType !== "exam")) { return; } @@ -84,12 +111,13 @@ $(function() { $(this).attr("disabled", true); } + // TODO: условия этого Рё предыдущего if вынести РІ отдельную функцию, проверяющую допустимость if (($(this)[0].checked) || autopass || otherDisabled) { // автомат, неявка или сдал РґРѕ этого neighborExam.children().attr("disabled", true); } else { - if (firstInARow && (semesterRate < 38)) { // задолженник - neighborExam.children().attr("disabled", true); - } else if (semesterRate + extra < 38) { // задолженник РґРѕ СЃРёС… РїРѕСЂ + if ((firstInARow && (semesterRate < 38)) || // задолженник + (semesterRate + extra < 38)) // задолженник РґРѕ СЃРёС… РїРѕСЂ + { neighborExam.children().attr("disabled", true); } else { neighborExam.children().removeAttr("disabled"); @@ -112,35 +140,6 @@ $(function() { }); } - // on page loaded - controlVisualization(); - $("div.main_content").ready(AdjustTable); - $(window).resize(AdjustTable); - - var cancelFlag = false; - var g_col; - var g_row; - var g_isFocusCell = false; // Стоит фокус РЅР° ячейки или нет - var g_oldRateCell = null; - var g_submoduleID = null; - var g_studentID = null; - var g_submoduleTitle = ""; - var g_submoduleMaxRate = 0; - var g_stdName = ""; - var jTdInfo_wrap = $("#tdInfo_wrap"); - var jTdInfo = jTdInfo_wrap.children('#tdInfo'); - - var g_URL = (window.location.href).split("/"); - var g_disciplineID = g_URL[g_URL.length - 1]; - - // Настройки дисциплины: - // + ID - id дисциплины - // + studyGroupID_Filter - studyGroupID для фильтра (Рффект памяти) - var json_settings = $.parseJSON($("#hidden_div").html()); - $("#hidden_div").remove(); - filterGroups(json_settings.GroupID_Filter); - $(".groupSelector [value='" + json_settings.GroupID_Filter + "']").attr("selected", "selected"); - // Скрываем РІСЃРµ остальные РіСЂСѓРїРїС‹ // 0 - показать РІСЃРµ function filterGroups(groupID) { @@ -285,7 +284,7 @@ $(function() { rateResult += parseInt(jThis.siblings(".semesterRateResultCell").text()); rateResult += parseInt(jThis.siblings(".bonus").text()); - jThis.siblings(".additionalCell").each(function () { + jThis.siblings(".additionalCell").each(function () { if ($(this).children("input").val() !== "") rateResult += parseInt($(this).children("input").val()); }); @@ -493,8 +492,8 @@ $(function() { if (!checked) option += '_unset'; var thisTd = $(this).parent(); - g_col = thisTd.attr('id').substr(8,1); // absence_C - g_row = thisTd.attr('id').substr(10,1); // absence_C_R + g_col = thisTd.attr('id').substr(8, 1); // absence_C + g_row = thisTd.attr('id').substr(10, 1); // absence_C_R // call TdInfo(thisTd); @@ -514,8 +513,8 @@ $(function() { if (!checked) option += '_unset'; var thisTd = $(this).parent(); - g_col = thisTd.attr('id').substr(9,1); // autopass_C - g_row = thisTd.attr('id').substr(11,1); // autopass_C_R + g_col = thisTd.attr('id').substr(9, 1); // autopass_C + g_row = thisTd.attr('id').substr(11, 1); // autopass_C_R // call TdInfo(thisTd); @@ -536,7 +535,7 @@ $(function() { type: "POST", url: URLdir + "handler/rating/SetExamPeriodOption", data: "studentID=" + g_studentID + "&submoduleID=" + g_submoduleID + - "&option=" + optionsViewData[option].sendingOption, + "&option=" + optionsViewData[option].sendingOption, complete: function (jqXHR, textStatus) { statusCode = jqXHR.status; switch (jqXHR.status) { @@ -562,20 +561,19 @@ $(function() { } // Фильтр РїРѕ РіСЂСѓРїРїРµ - $(".groupSelector").change(function() { + $(".groupSelector").change(function () { var group = $(this).val(); - if (group >= 0) - { + if (group >= 0) { filterGroups(group); $.post( URLdir + "handler/rating/SelectGroup", { "disciplineID": g_disciplineID, - "groupSelected": group + "groupSelected": group }, - function(data){ + function (data) { data = $.parseJSON(data); - if(data.success === true) { + if (data.success === true) { } } @@ -584,11 +582,10 @@ $(function() { }); // Скачать таблицу оценивания РІ формате excel // depricated - $(".downloadExcel").click(function(){ + $(".downloadExcel").click(function () { $.fileDownload(URLdir + 'handler/FileCreator/GenerateExcelRatingTable', { httpMethod: "POST", - data: - { + data: { 'disciplineID': g_disciplineID }, successCallback: function () { @@ -601,15 +598,14 @@ $(function() { }); // Ведомость РІ формате excel - $('body').on('click', '.downloadExcelStatement', function(){ + $('body').on('click', '.downloadExcelStatement', function () { var groupID = parseInt($(this).attr("id").substr(6)) - var jStageSelector = $("#stageSelector_"+groupID); + var jStageSelector = $("#stageSelector_" + groupID); $.fileDownload(URLdir + 'handler/FileCreator/GenerateFinalForm', { httpMethod: "POST", - data: - { + data: { "disciplineID": g_disciplineID, "groupID": groupID, "stage": parseInt(jStageSelector.val())