kreta/KretaWeb/Areas/LEPModul/Views/EloadasokKezelese/Index.cshtml
2024-03-13 00:33:46 +01:00

236 lines
No EOL
11 KiB
Text

@using Kreta.BusinessLogic.Classes
@using Kreta.Web.Helpers.Grid
@using Kreta.Web.Areas.LEPModul.Models
@using Kreta.Resources
@using Kreta.Enums.ManualEnums
@model EloadasokSearchModel
@section AddSearchPanel {
@using (Html.SearchPanelSideBar("searchForm", "EloadasokGrid"))
{
@Html.KretaRangeDatePickerSideBar(x => x.IdoszakKezdete, x => x.IdoszakVege)
@Html.KretaComboBoxFor(x => x.EvfolyamID, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = @Model.IsMindenEvfolyamJog ? "GetEvfolyamListLEP" : "GetEvfolyamListByFelhasznalo" }), "Text", "Value").RenderSearchPanelSideBar()
@Html.KretaTextBoxFor(x => x.EloadasNev).RenderSearchPanelSideBar()
@Html.KretaTextBoxFor(x => x.SzervezetNev).RenderSearchPanelSideBar()
@Html.KretaTextBoxFor(x => x.Helyszin).RenderSearchPanelSideBar()
@Html.KretaTimePickerFor(x => x.IdoszakKezdeteTime).RenderSearchPanelSideBar()
@Html.KretaTimePickerFor(x => x.IdoszakVegeTime).RenderSearchPanelSideBar()
@Html.HiddenFor(x => x.IsMindenEvfolyamJog)
@Html.HiddenFor(x => x.EvfolyamIdList)
@Html.HiddenFor(x => x.TanevSorszam)
}
}
@{
var rowFunctionList = new List<RowFunction>
{
new RowFunction { Name = "Leiras", ClientAction= "LEPHelper.OpenEloadasLeiras", IconEnum = GridRowFunctionIconEnum.Adatok }
};
}
<div>
@(
Html.KretaGrid<EloadasokGridModel>
(
"EloadasokGrid",
new GridApiUrl("EloadasokKezeleseApi", "GetEloadasokGrid", new Dictionary<string, string> { }),
dataParameterFunction: "searchForm",
sort: sort => sort.Add(m => m.Datum).Descending(),
clientTemplate: "detailGrid-template",
clientTemplateUrl: @Url.Action("GetEloadasokDetailPartial", "EloadasokKezelese", new { area = "LEPModul", isMindenEvfolyamJog = Model.IsMindenEvfolyamJog.ToString() }),
clientTemplateWholeDataRow: true,
allowFilterable: false,
allowPaging: true,
allowSorting: true
)
.Columns(columns =>
{
columns.Bound(m => m.Datum).Width("8%").Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]);
columns.Bound(m => m.EloadasKezdete).Width("5%").Format(SDAFormat.Format[SDAFormat.FormatType.ShortTime]);
columns.Bound(m => m.EloadasVege).Width("5%").Format(SDAFormat.Format[SDAFormat.FormatType.ShortTime]);
columns.Bound(m => m.EloadasNev);
columns.Bound(m => m.SzervezetNev);
columns.Bound(m => m.Helyszin).Width("20%");
columns.Bound(m => m.EvFolyamIdList).Width("5%").Sortable(false).Hidden();
columns.Bound(m => m.FerohelyFoglaltHelyek).Width("10%").Sortable(false).Hidden();
})
.ConditionalRowFunction(Html, rowFunctionList, "LEPGridHelper.setRowEditing")
)
</div>
@Html.KretaGridTemplate("detailGrid-template")
<div style="display: none !important;">
@using (Html.KretaForm("GetLepGondviseloEngedelyezesZip", "EloadasokKezelese", FormMethod.Post, "dokuSaveForm"))
{
@Html.Hidden("data");
<button id="downloadBtn" type="submit" data-role="button" class="k-button" role="button" aria-disabled="false" tabindex="0">Letöltés</button>
}
</div>
<script>
var LEPGridHelper = (function () {
var helper = function () { };
helper.setRowEditing = function (rowData) { if (rowData.Leiras != null) return true; }
return helper;
})();
</script>
<script type="text/javascript">
var LEPHelper = (function () {
var lepHelper = function () { };
lepHelper.setRowDeleting = function (rowData) {
var result = false
if (rowData.isErasable == 'T') result = true;
return result;
}
lepHelper.DeleteTanulokForEloadas = function (rowData) {
var jsonData = {
Id: rowData.ID,
eloadasId: rowData.EloadasId,
szervNev: rowData.szervezetNev,
eloadasNev: rowData.eloadasNev,
idopont: rowData.datum,
kezdete: rowData.kezdete,
vege: rowData.vege
};
AjaxHelper.DoPostQuery("@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "EloadasokKezeleseApi", action = "DeleteTanulokForEloadas" })", null, jsonData, saveResponseOk);
}
lepHelper.JelenletMentes = function (data) {
if (data != null && data.length > 0) {
var postJsonData = [];
var gridData = KretaGridHelper.getModifiedRows("EloadasokDetailGrid_" + data[0].EloadasId);
$.each(gridData, function (i, v) {
if (v.dirty) {
postJsonData.push({ Id: v.ID, Megjelent: v.ki_Megjelent, EloadasDatum: v.datum, EloadasId: v.EloadasId });
}
});
if (postJsonData.length == 0) {
postJsonData.push({ Id: null, Megjelent: null, EloadasDatum: data[0].datum, EloadasId: data[0].EloadasId });
}
AjaxHelper.DoPost("@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "EloadasokKezeleseApi", action = "SaveTanulokMegjelent" })", postJsonData, feedBackOk, feedBackError);
}
}
function feedBackOk(data) {
KretaWindowHelper.feedbackWindow("@EloadasokResource.SikeresMuvelet", "@EloadasokResource.AResztvevokMenteseSikeresenMegtortent", "success");
setTimeout(function () {
$.each($('[id^=' + data + ']'), function (i, v) {
if (v.id.length == 26 && v.id != data) {
KretaGridHelper.refreshGrid(v.id);
}
});
}, 1000);
}
function feedBackError(data) {
KretaWindowHelper.feedbackWindow("@CommonResource.Hiba", data.responseJSON.Message, true);
}
lepHelper.JelenletiIv = function (data) {
if (data[0] != undefined) {
var obj = $("#EloadasokDetailGrid_" + data[0].EloadasId);
KretaGridHelper.exportGrid(obj[0], "JelenletiIv_" + data[0].datum.substring(0, 10), 'undefined', 'undefined', 'undefined', true);
}
}
lepHelper.Export = function (data) {
if (data[0] != undefined) {
var exportDiv = $("<div>", { 'id': "exportDiv" });
var columns = ["Előadás_Időpontja", "Szervezet_neve", "Előadás_neve", "Tanuló_neve", "Tanuló_osztálya"];
if (kendo.parseDate(data[0].datum) > kendo.parseDate("@DateTime.Now")) {
columns.push("Megjelent");
}
var exportGrid = exportDiv.kendoGrid({ columns: columns });
var dataSource = new kendo.data.DataSource();
var obj = $("#EloadasokDetailGrid_" + data[0].EloadasId);
var dataSource2 = $("#" + obj[0].attributes.id.value).data("kendoGrid").dataSource;
$.each(dataSource2.data(), function (i, v) {
var megj = "";
if (kendo.parseDate(data[0].datum) > kendo.parseDate("@DateTime.Now")) {
if (v.Megjelent == 'T') { megj = "Igen" } else { megj = "Nem" }
}
dataSource.add({
"Előadás_Időpontja": v.datum.replace("T00:00:00","").replace("-",".").replace("-",".") + ".",
"Szervezet_neve": v.szervezetNev,
"Előadás_neve": v.eloadasNev,
"Tanuló_neve": v.TanuloNev,
"Tanuló_osztálya": v.OsztalyCsoportNev,
"Megjelent": megj
});
});
var grid = exportGrid.data("kendoGrid");
grid.setDataSource(dataSource);
grid.options.excel.fileName = "Export";
grid.options.excel.allPages = true;
grid.bind("excelExport", function (e) {
var elem = document.createElement('div');
for (var i = 1; i < e.workbook.sheets[0].rows.length; i++) {
var row = e.workbook.sheets[0].rows[i];
}
});
grid.saveAsExcel();
}
}
lepHelper.ChangeAllJelenletValue = function (id, isMegjelent) {
var id = id.toString();
if (isMegjelent) {
$.each($("#EloadasokDetailGrid_" + id).find(".kretaSelectorButton[val='" + 'T' + "']"), function () {
if (!$(this).hasClass("activebar")) {
$(this).click();
}
});
} else {
$.each($("#EloadasokDetailGrid_" + id).find(".kretaSelectorButton[val='" + 'F' + "']"), function () {
if (!$(this).hasClass("activebar")) {
$(this).click();
}
});
}
}
function saveResponseOk(data) {
$("#EloadasokDetailGrid_" + data).data('kendoGrid').dataSource.read();
$("#EloadasokDetailGrid_" + data).data('kendoGrid').refresh();
}
lepHelper.OpenEloadasLeiras = function (rowData) {
popupTantervProperties(rowData.Leiras);
$("#BtnCancel").click(function () {
KretaWindowHelper.destroyAllWindow();
});
}
function popupTantervProperties(data) {
var content = "<div class='modalContainer'><div class='modalOuter'><div class='modalContent'><div class='k-content'><div class='container-fluid details'>" + data + "</div></div></div></div></div><div class='modalFooter'><div style='display: flex; flex-direction: column; padding: inherit;'><div style='padding: inherit;'><div style='float:right; padding-left: 5px;'><button id='BtnCancel' type='button' data-role='button' class='k-button' role='button' aria-disabled='false' tabindex='0'>Mégse</button>"+ "</div></div><div style='padding: inherit;'></div></div></div>";
var config = KretaWindowHelper.getWindowConfigContainer();
config.title = "@(EloadasokResource.Leiras)";
config.content = content;
config.width = "50%";
config.height = "50%";
var modal = KretaWindowHelper.createWindow("LeirasWindow", config);
KretaWindowHelper.openWindow(modal, true);
}
return lepHelper;
})();
</script>