236 lines
No EOL
11 KiB
Text
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> |