437 lines
No EOL
20 KiB
Text
437 lines
No EOL
20 KiB
Text
@using Kreta.Enums
|
|
@using Kreta.Framework
|
|
@using Kreta.Resources
|
|
@using Kreta.Web.Areas.Hianyzas.Models
|
|
@using Kreta.Web.Helpers
|
|
@using Kreta.Web.Security
|
|
|
|
@model MulasztasIndexModel
|
|
|
|
@{ Layout = "~/Views/Shared/_MasterLayout.cshtml"; }
|
|
|
|
@section AddCss {
|
|
@Styles.Render("~/Content/Mulasztasok")
|
|
}
|
|
|
|
@{ var searchFormName = "MulasztasokSearchForm";
|
|
var datumNezetGridName = "MulasztasokDatumNezetGrid";
|
|
var tanuloNezetGridName = "MulasztasokTanuloNezetGrid";
|
|
var naploNezetGridName = "MulasztasokNaploNezetGrid"; }
|
|
|
|
@section AddSearchPanel {
|
|
@using (Html.SearchPanelSideBar(searchFormName, null, postSubmitFunction: "MulasztasKezelesHelper.refreshTabGrids"))
|
|
{
|
|
@Html.KretaComboBoxFor(x => x.OsztalyCsoportId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetOsztCsopList", osztalyfonokiFeladat = true }), "Text", "Value").AutoBind(true).RenderSearchPanelSideBar()}
|
|
}
|
|
|
|
@Html.KretaTabStripAjax("MulasztasokTabStrip", Model.TabList)
|
|
|
|
@Html.KretaTooltipTemplate("kendoTooltip-tanuloNevTemplate",
|
|
@"<div class='kendoTooltip'>
|
|
<table>
|
|
<tr>
|
|
<td style='padding-right: 5px'><b>Osztály:</b></td>
|
|
<td>#:target.data('osztaly')#</td>
|
|
</tr>
|
|
<tr>
|
|
<td style='padding-right: 5px'><b>Anyja neve:</b></td>
|
|
<td>#:target.data('anyjaneve')#</td>
|
|
</tr>
|
|
<tr>
|
|
<td style='padding-right: 5px'><b>Születési idő:</b></td>
|
|
<td>#:target.data('szuletesiido')#</td>
|
|
</tr>
|
|
</table>
|
|
</div>")
|
|
|
|
<script type="text/javascript">
|
|
var naploNezetDatum;
|
|
var igazolasNaplozarasDatum = new Date(@Model.IgazolasNaploZarasDatum.Year, @(Model.IgazolasNaploZarasDatum.Month - 1), @Model.IgazolasNaploZarasDatum.Day);
|
|
|
|
var MulasztasKezelesHelper = (function () {
|
|
var mulasztasKezelesHelper = function () { };
|
|
|
|
var url = {
|
|
OpenTanuloMulasztasaiPopup: "@Url.Action("OpenTanuloMulasztasaiPopup", "Mulasztasok", new { area = "Hianyzas" })",
|
|
SaveMulasztasList: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "MulasztasokApi", action = "SaveMulasztasList" })",
|
|
Delete: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new {controller = "MulasztasokApi", action = "DeleteMulasztas" })",
|
|
VaneMarIgazolt: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "MulasztasokApi", action = "VaneMarIgazolt" })"
|
|
};
|
|
|
|
var confirmMessage = "@HianyzasResource.MarVanRogzitettIgazolas";
|
|
|
|
var gridNamesToRefreshList;
|
|
var currentFormName;
|
|
|
|
var currentTanuloNev;
|
|
var searchFormName = "@searchFormName";
|
|
|
|
mulasztasKezelesHelper.onTabStripActivate = function () {
|
|
mulasztasKezelesHelper.refreshTabGrids(searchFormName);
|
|
}
|
|
|
|
function popUpDetailWindow(data) {
|
|
var config = KretaWindowHelper.getWindowConfigContainer();
|
|
config.title = "@(StringResourcesUtil.GetString(5628) /*Tanuló mulasztásai*/) (" + kendo.htmlEncode(currentTanuloNev) + ")";
|
|
config.content = data;
|
|
|
|
var modal = KretaWindowHelper.createWindow("detailTanuloWindow", config);
|
|
KretaWindowHelper.openWindow(modal, true);
|
|
}
|
|
|
|
mulasztasKezelesHelper.detailTanuloWindowCancel = function () {
|
|
KretaWindowHelper.destroyWindow("detailTanuloWindow");
|
|
}
|
|
|
|
mulasztasKezelesHelper.dataBoundAdditionalFunction = function () {
|
|
mulasztasKezelesHelper.setToolTip();
|
|
}
|
|
|
|
mulasztasKezelesHelper.setToolTip = function () {
|
|
var kendoTooltip = $(".tanuloNev");
|
|
KretaTooltipHelper.setTooltip(kendoTooltip, "#kendoTooltip-tanuloNevTemplate");
|
|
kendoTooltip.off("click");
|
|
kendoTooltip.click(function () {
|
|
var tanuloId = $(this).attr("data-tanuloid");
|
|
currentTanuloNev = $(this).attr("data-tanulonev");
|
|
if (!CommonUtils.isNullOrEmpty(tanuloId)) {
|
|
var { OsztalyCsoportId } = KretaGridHelper.getSearchParameterObject("@searchFormName");
|
|
var data = { TanuloId: tanuloId, OsztalyCsoportId, apiControllerName: "@Constants.ApiControllers.MulasztasokApi" };
|
|
AjaxHelper.DoPost(url.OpenTanuloMulasztasaiPopup, data, popUpDetailWindow);
|
|
}
|
|
});
|
|
}
|
|
|
|
mulasztasKezelesHelper.saveMulasztasList = function (detailGridName, gridToRefreshList, formName, visszavonhato) {
|
|
var modRows = KretaGridHelper.getModifiedRows(detailGridName);
|
|
|
|
if (modRows.length > 0) {
|
|
var resultData = [modRows.length];
|
|
var message = "";
|
|
$.each(modRows, function (index, value) {
|
|
var igazoltValue = null;
|
|
if (value.input[0].value === "0") {
|
|
igazoltValue = true;
|
|
} else if (value.input[0].value === "1") {
|
|
igazoltValue = false;
|
|
}
|
|
var igazolasTipusValue = value.input[1].value;
|
|
var megjegyzesValue = value.input[2].value;
|
|
var tanuloId;
|
|
if (value.ID === "0") {
|
|
tanuloId = 0;
|
|
} else {
|
|
tanuloId = value.TanuloId;
|
|
}
|
|
resultData[index] = {
|
|
ID: value.ID,
|
|
TanuloId: tanuloId,
|
|
Igazolt: igazoltValue,
|
|
IgazolasTipus: igazolasTipusValue,
|
|
Megjegyzes: megjegyzesValue,
|
|
Visszavonhato: visszavonhato
|
|
}
|
|
|
|
if (igazoltValue && igazolasTipusValue === "" && value.ID > 0) {
|
|
if (message.length > 0) {
|
|
message += "<br />";
|
|
}
|
|
if (CommonUtils.isUndefined(value.TanuloNev)) {
|
|
message += value.TargyNev + " esetében Igazolás típus megadása kötelező!";
|
|
} else {
|
|
message += value.TanuloNev + " esetében Igazolás típus megadása kötelező!";
|
|
}
|
|
}
|
|
});
|
|
|
|
gridNamesToRefreshList = gridToRefreshList;
|
|
currentFormName = formName;
|
|
|
|
if (message.length > 0) {
|
|
KretaWindowHelper.feedbackWindow("", message, true);
|
|
} else {
|
|
AjaxHelper.DoPost(url.SaveMulasztasList,
|
|
resultData,
|
|
mulasztasKezelesHelper.saveMulasztasListFeedBackOkPostReturn);
|
|
}
|
|
}
|
|
}
|
|
|
|
mulasztasKezelesHelper.setDetailControlsEvents = function (igazoltDivNamePrefix, detailGridName, visszavonhato) {
|
|
var igazoltDivSelectorPrefix = "#" + igazoltDivNamePrefix;
|
|
var detailGridSelector = "#" + detailGridName;
|
|
|
|
$(detailGridSelector).off("click");
|
|
$(detailGridSelector).on("click", igazoltDivSelectorPrefix + "0", function () {
|
|
var row = $(this).closest("tr");
|
|
var rowId = $("tr", $(detailGridSelector)).index(row);
|
|
|
|
if (rowId === 1) {
|
|
var headerValue = $(igazoltDivSelectorPrefix + "0 li.activebar").attr('val');
|
|
|
|
$.each(KretaGridHelper.getKendoGridData(detailGridName).dataSource.data(), function (index, value) {
|
|
if (value.ID !== "0") {
|
|
var liList = $(igazoltDivSelectorPrefix + value.ID + " li");
|
|
$(detailGridSelector + "_Igazolt_" + value.ID).val(headerValue);
|
|
value.Igazolt = headerValue;
|
|
value.dirty = true;
|
|
$.each(liList, function (liIndex, liValue) {
|
|
if ($(liValue).attr('val') === headerValue) {
|
|
$(liValue).addClass('activebar');
|
|
}
|
|
else {
|
|
$(liValue).removeClass('activebar');
|
|
}
|
|
});
|
|
}
|
|
});
|
|
|
|
}
|
|
});
|
|
|
|
$(detailGridSelector).on("click", "div[id^='" + igazoltDivNamePrefix + "']", function (e) {
|
|
//hack, hogy egértől jött-e
|
|
if (CommonUtils.isNullOrUndefined(e.clientX)) {
|
|
return;
|
|
}
|
|
$.each(KretaGridHelper.getKendoGridData(detailGridName).dataSource.data(), function (index, value) {
|
|
var kendoComboBox = KretaComboBoxHelper.getKendoComboBoxData(detailGridName + "_IgazolasTipus_" + value.ID);
|
|
if (CommonUtils.isUndefined(kendoComboBox)) {
|
|
return;
|
|
}
|
|
|
|
var textarea = $(detailGridSelector + "_Megjegyzes_" + value.ID);
|
|
|
|
var igazoltVal = $(igazoltDivSelectorPrefix + value.ID + " li.activebar").attr('val');
|
|
if (!CommonUtils.isUndefined(igazoltVal)) {
|
|
value.dirty = true;
|
|
textarea.prop('disabled', false);
|
|
var isIgazolt = igazoltVal === "0";
|
|
if (isIgazolt) {
|
|
|
|
kendoComboBox.enable(true);
|
|
if (CommonUtils.isNullOrEmpty(kendoComboBox.value())) {
|
|
KretaComboBoxHelper.setKendoValue(kendoComboBox, "@((int)IgazolasTipusEnum.orvosi_igazolas)");
|
|
}
|
|
} else {
|
|
function folytatIgazolatlan() {
|
|
kendoComboBox.enable(false);
|
|
kendoComboBox.value("");
|
|
}
|
|
|
|
function stopIgazolatlan() {
|
|
value.dirty = false;
|
|
kendoComboBox.enable(false);
|
|
kendoComboBox.value("");
|
|
textarea.prop('disabled', true);
|
|
textarea.val("");
|
|
|
|
var igazolasValaszto = $(igazoltDivSelectorPrefix + value.ID + " li");
|
|
|
|
$.each(igazolasValaszto, function (index, e) {
|
|
e.classList.remove('activebar');
|
|
});
|
|
}
|
|
|
|
if (!CommonUtils.isNull(value.Igazolt) && value.Igazolt == 1
|
|
&& igazoltDivSelectorPrefix !== "#divMulasztasokNaploNezetGrid_Igazolt_" && igazoltDivSelectorPrefix.indexOf("MulasztasokDatumNezetDetailGrid_") == -1
|
|
&& igazoltDivSelectorPrefix.indexOf("TanuloMulasztasaiDetailGrid_Kezeletlen") == -1) {
|
|
KretaWindowHelper.confirmWindow(Globalization.Figyelem, confirmMessage, folytatIgazolatlan, null, stopIgazolatlan, Globalization.Folytatas, Globalization.Megsem);
|
|
}
|
|
else {
|
|
if (value.Igazolt == 0) {
|
|
KretaWindowHelper.confirmWindow(Globalization.Figyelem, confirmMessage, folytatIgazolatlan, null, stopIgazolatlan, Globalization.Folytatas, Globalization.Megsem);
|
|
}
|
|
else {
|
|
var elements = $(".naploNezetOra[data-tanuloId=" + value.TanuloId + "][data-isigazolt='True']");
|
|
|
|
if (!CommonUtils.isNullOrUndefined(elements) && elements.length > 0) {
|
|
KretaWindowHelper.confirmWindow(Globalization.Figyelem, confirmMessage, folytatIgazolatlan, null, stopIgazolatlan, Globalization.Folytatas, Globalization.Megsem);
|
|
}
|
|
else {
|
|
kendoComboBox.enable(false);
|
|
kendoComboBox.value("");
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|
|
} else {
|
|
if (!visszavonhato) {
|
|
value.dirty = false;
|
|
}
|
|
kendoComboBox.enable(false);
|
|
kendoComboBox.value("");
|
|
textarea.prop('disabled', true);
|
|
textarea.val("");
|
|
}
|
|
});
|
|
|
|
$(detailGridSelector).off("change");
|
|
$(detailGridSelector).on("change", detailGridSelector + "_IgazolasTipus_0", function () {
|
|
var headerValue = $(detailGridSelector + "_IgazolasTipus_0")[0].value;
|
|
|
|
$.each(KretaGridHelper.getKendoGridData(detailGridName).dataSource.data(), function (index, value) {
|
|
value.dirty = true;
|
|
var isIgazolt = $(igazoltDivSelectorPrefix + value.ID + " li.activebar").attr('val') === "0";
|
|
var kendoComboBox = KretaComboBoxHelper.getKendoComboBoxData(detailGridName + "_IgazolasTipus_" + value.ID);
|
|
if (value.ID !== "0" && isIgazolt) {
|
|
kendoComboBox.value(headerValue);
|
|
value.IgazolasTipus = headerValue;
|
|
}
|
|
else if (!isIgazolt) {
|
|
kendoComboBox.value('');
|
|
value.IgazolasTipus = null;
|
|
}
|
|
});
|
|
});
|
|
});
|
|
|
|
$(detailGridSelector).off("keyup");
|
|
$(detailGridSelector).on("keyup", detailGridSelector + "_Megjegyzes_0", function () {
|
|
var headerValue = $(detailGridSelector + "_Megjegyzes_0")[0].value;
|
|
|
|
$.each(KretaGridHelper.getKendoGridData(detailGridName).dataSource.data(), function (index, value) {
|
|
value.dirty = true;
|
|
var textarea = $(detailGridSelector + "_Megjegyzes_" + value.ID);
|
|
var igazoltVal = $(igazoltDivSelectorPrefix + value.ID + " li.activebar").attr('val');
|
|
if (value.ID !== "0" && !CommonUtils.isUndefined(igazoltVal)) {
|
|
textarea.val(headerValue);
|
|
value.Megjegyzes = headerValue;
|
|
}
|
|
});
|
|
});
|
|
|
|
$.each(KretaGridHelper.getKendoGridData(detailGridName).dataSource.data(), function (index, value) {
|
|
var kendoComboBox = KretaComboBoxHelper.getKendoComboBoxData(detailGridName + "_IgazolasTipus_" + value.ID);
|
|
var textarea = $(detailGridSelector + "_Megjegyzes_" + value.ID);
|
|
if (!CommonUtils.isUndefined(kendoComboBox) && !CommonUtils.isUndefined(textarea)) {
|
|
var igazoltVal = $(igazoltDivSelectorPrefix + value.ID + " li.activebar").attr('val');
|
|
if (!CommonUtils.isUndefined(igazoltVal)) {
|
|
textarea.prop('disabled', false);
|
|
var isIgazolt = igazoltVal === "0";
|
|
if (isIgazolt) {
|
|
kendoComboBox.enable(true);
|
|
} else {
|
|
kendoComboBox.enable(false);
|
|
kendoComboBox.value("");
|
|
}
|
|
} else {
|
|
kendoComboBox.enable(false);
|
|
kendoComboBox.value("");
|
|
textarea.prop('disabled', true);
|
|
textarea.val("");
|
|
}
|
|
}
|
|
});
|
|
}
|
|
|
|
mulasztasKezelesHelper.saveMulasztasListFeedBackOkPostReturn = function (data) {
|
|
mulasztasKezelesHelper.saveMulasztasListFeedBackOk(gridNamesToRefreshList, currentFormName, data);
|
|
}
|
|
|
|
mulasztasKezelesHelper.saveMulasztasListFeedBackOk = function (gridToRefreshList, formName, data) {
|
|
$.each(gridToRefreshList,
|
|
function (index, value) {
|
|
if (CommonUtils.isNullOrEmpty(formName)) {
|
|
KretaGridHelper.refreshGrid(value);
|
|
} else {
|
|
KretaGridHelper.refreshGridByFormName(value, formName);
|
|
}
|
|
}
|
|
);
|
|
|
|
mulasztasKezelesHelper.refreshTabGrids(searchFormName);
|
|
|
|
KretaWindowHelper.successFeedBackWindow();
|
|
|
|
if (!CommonUtils.isNullOrEmpty(data)) {
|
|
mulasztasKezelesHelper.OsztondijJogosultsag7HianyzasMiattErtesito(data);
|
|
}
|
|
}
|
|
|
|
mulasztasKezelesHelper.OsztondijJogosultsag7HianyzasMiattErtesito = function (message) {
|
|
KretaWindowHelper.warningWindow("@(HianyzasResource.OsztondijJogosultsag7HianyzasMiattErtesitoFejlec)", message, null, null, null, Globalization.Rendben);
|
|
}
|
|
|
|
mulasztasKezelesHelper.refreshTabGrids = function (formName) {
|
|
KretaGridHelper.refreshGridSearchPanel("@(datumNezetGridName)", formName);
|
|
KretaGridHelper.refreshGridSearchPanel("@(tanuloNezetGridName)", formName);
|
|
mulasztasKezelesHelper.refreshNaploNezetGrid(formName);
|
|
}
|
|
|
|
mulasztasKezelesHelper.refreshNaploNezetGrid = function (formName) {
|
|
var naploNezetModel = KretaGridHelper.getSearchParameterObject(formName);
|
|
if (!CommonUtils.isUndefined(naploNezetDatum)) {
|
|
if (this.getNaploNezetDatum() > igazolasNaplozarasDatum) {
|
|
$('#@(naploNezetGridName)').removeClass("disabledItem");
|
|
$('#MulasztasMentes').show();
|
|
}
|
|
else {
|
|
$('#@(naploNezetGridName)').addClass("disabledItem");
|
|
$('#MulasztasMentes').hide();
|
|
}
|
|
naploNezetModel.NaploNezetDatum = naploNezetDatum;
|
|
KretaGridHelper.refreshGridByObject("@(naploNezetGridName)", naploNezetModel);
|
|
}
|
|
}
|
|
|
|
mulasztasKezelesHelper.setNaploNezetDatum = function (datum) {
|
|
naploNezetDatum = datum.toDateString();
|
|
}
|
|
|
|
mulasztasKezelesHelper.getNaploNezetDatum = function () {
|
|
return new Date(naploNezetDatum);
|
|
}
|
|
|
|
mulasztasKezelesHelper.deleteConfirmWindow = function (rowData, gridToRefreshList, formName) {
|
|
var deleteParamters = {
|
|
Id: rowData.ID,
|
|
GridToRefreshList: gridToRefreshList,
|
|
FormName: formName,
|
|
};
|
|
|
|
KretaWindowHelper.confirmWindow("@CommonResource.Kerdes", "@CommonResource.BiztosanTorli", deleteMulasztas, deleteParamters);
|
|
}
|
|
|
|
function deleteMulasztas(data) {
|
|
var deleteResponseOkFunction = function () { deleteResponseOk(data.GridToRefreshList, data.FormName); };
|
|
AjaxHelper.DoPost(
|
|
url.Delete,
|
|
data.Id,
|
|
deleteResponseOkFunction,
|
|
feedbackError
|
|
);
|
|
}
|
|
|
|
function deleteResponseOk(gridToRefreshList, formName) {
|
|
$.each(gridToRefreshList,
|
|
function (index, value) {
|
|
if (CommonUtils.isNullOrEmpty(formName)) {
|
|
KretaGridHelper.refreshGrid(value);
|
|
} else {
|
|
KretaGridHelper.refreshGridByFormName(value, formName);
|
|
}
|
|
}
|
|
);
|
|
|
|
mulasztasKezelesHelper.refreshTabGrids(searchFormName);
|
|
|
|
KretaWindowHelper.successFeedBackWindow();
|
|
}
|
|
|
|
function feedbackError() {
|
|
var message = "@CommonResource.Hiba";
|
|
KretaWindowHelper.feedbackWindow("@CommonResource.Hiba", message, true);
|
|
}
|
|
|
|
return mulasztasKezelesHelper;
|
|
})();
|
|
|
|
$(document).ready(function () {
|
|
var tabStrip = $("#MulasztasokTabStrip").data("kendoTabStrip");
|
|
tabStrip.bind("activate", function () {
|
|
MulasztasKezelesHelper.onTabStripActivate(tabStrip);
|
|
});
|
|
});
|
|
</script> |