kreta/KretaWeb/Areas/Adatszolgaltatasok/Views/SZIRAdatszolg/Infra_Partial.cshtml
2024-03-13 00:33:46 +01:00

109 lines
No EOL
4.7 KiB
Text

@using Kreta.Web.Helpers
@using Kreta.Web.Helpers.Grid
@using Kreta.Web.Helpers
@using Kreta.Web.Areas.Adatszolgaltatasok.Models
@using Kreta.Web.Areas.Tantargy.Models
@using Kreta.Resources
@model SZIRAdatszolgInfraModel
@{
List<FunctionCommand> functions = new List<FunctionCommand> { };
functions.Add(new FunctionCommand { Name = CommonResource.Mentes, ClientAction = "SaveGrid" });
var grid = Html.KretaGrid<SZIRAdatszolgGridModel>(
"SZIRAdatszolgGrid",
new GridApiUrl("SZIRAdatszolgApi", "GetSZIRAdatszolgGrid"),
allowFilterable: false,
useToolBar: true,
dataBoundAdditionalFunction: "InfraRowsBound();"
).TableHtmlAttributes(new { @class = "tableLayoutFixed" }).FunctionCommand(Html, functions);
grid.Columns(column =>
{
column.Template(@<text></text>).ClientTemplate("#: FeladatellatasiHelyNev #").Title(CommonResource.Feladatellatasihely);
column.Template(@<text></text>).ClientTemplate(
grid.NumericBoxForColumnTemplate(Html, m => m.OkostelefonSzama, max: 10000, precision: 0, step: 1, min: 0)
).Title(SZIRAdatszolgResource.OkostelefonSzam);
column.Template(@<text></text>).ClientTemplate(
grid.NumericBoxForColumnTemplate(Html, m => m.TabletSzama, max: 10000, precision: 0, step: 1, min: 0)
).Title(SZIRAdatszolgResource.TabletSzam);
column.Template(@<text></text>).ClientTemplate(
grid.NumericBoxForColumnTemplate(Html, m => m.NotebookSzama, max: 10000, precision: 0, step: 1, min: 0)
).Title(SZIRAdatszolgResource.NotebookSzam);
column.Template(@<text></text>).ClientTemplate(
grid.NumericBoxForColumnTemplate(Html, m => m.AsztaliGepSzama, max: 10000, precision: 0, step: 1, min: 0)
).Title(SZIRAdatszolgResource.AsztaliSzam);
});
grid.Sortable(sortable => sortable.AllowUnsort(false));
}
<div style="padding: 15px;">
@(grid)
</div>
<div style="display: flex; flex-direction: column; padding: 10px 20px; gap: 5px;">
<div id="InfraFileDownload" style="cursor: pointer;">@Html.KretaIcon("fa-file-excel-o", new Dictionary<string, object> { { "style", "font-size: 22px; color: #207446;" } }) @SZIRAdatszolgResource.EllenorzoTablazat</div>
<a style="text-decoration: none;" href="https://tudasbazis.ekreta.hu/download/attachments/2424949/INFRA_segedlet_v1.0.pdf?api=v2" rel="noopener noreferrer" target="_blank">@Html.KretaIcon("fa-globe", new Dictionary<string, object> { { "style", "font-size: 22px; color: #406A7C;" } }) @SZIRAdatszolgResource.Segedlet</a>
</div>
<script type="text/javascript">
$(document).ready(function () {
$('#InfraFileDownload').click(function () {
var url = "@Url.Action("Infra", "SZIRAdatszolg", new { area = "Adatszolgaltatasok" })";
AjaxHelper.DownloadFile(url);
});
InfraRowsBound = function () {
SZIRHelper.GridDataSourceRowsBound('SZIRAdatszolgGrid', CommonUtils.parseBool('@Model.IsPanelEditable'));
}
SaveGrid = function () {
var obj = getData();
if (obj !== undefined) {
var url = "@Url.HttpRouteUrl("ActionApi", new { controller = "SZIRAdatszolgApi", action = "SetSZIRAdatszolgGrid" })";
AjaxHelper.DoPost(url, obj, SuccessGridSave);
}
}
function SuccessGridSave() {
KretaGridHelper.refreshGrid("SZIRAdatszolgGrid");
KretaWindowHelper.successFeedBackWindow();
$('#InfraFileDownload').trigger('click');
}
function getData() {
var obj = [];
var nincsKitoltve = false;
$.each(KretaGridHelper.getAllRows("SZIRAdatszolgGrid"), function (i, v) {
if (!nincsKitoltve) {
var jsonObj = { };
$.each(v.input, function (i2, v2) {
if (v2.value == '' && nincsKitoltve == false) { nincsKitoltve = true; }
else {
jsonObj.feladatellatasiHelyId = v.FeladatellatasiHelyId;
jsonObj.SzirId = v.SzirId;
if (v2.name == "OkostelefonSzama") jsonObj.OkostelefonSzama = v2.value;
if (v2.name == "TabletSzama") jsonObj.TabletSzama = v2.value;
if (v2.name == "NotebookSzama") jsonObj.NotebookSzama = v2.value;
if (v2.name == "AsztaliGepSzama") jsonObj.AsztaliGepSzama = v2.value;
}
});
obj.push(jsonObj);
}
});
if (nincsKitoltve) {
KretaWindowHelper.warningWindow("@(CommonResource.Hiba)", "@(SZIRAdatszolgResource.TablazatKitolteseKotelezo)");
}
else {
return obj;
}
}
});
</script>