kreta/KretaWeb/Areas/KirImportExport/Views/KirAlkalmazott/IndexImport.cshtml
2024-03-13 00:33:46 +01:00

202 lines
No EOL
9.1 KiB
Text

@using Kreta.Web.Helpers.Grid;
@using Kreta.Web.Areas.KirImportExport.Models.KirImport
@using Kreta.Enums.ManualEnums
@using Kreta.Resources
@using Kreta.BusinessLogic.Classes
@model KirSearchModel
@{
var searchFormName = "searchForm";
var gridName = "KirAlkalmazottImportGrid";
}
@Scripts.Render("~/bundles/KirSzinkronHelper")
@section AddSearchPanel {
@using (Html.SearchPanelSideBar(searchFormName, gridName))
{
@(Html.KretaComboBoxFor(x => x.KirTelephelyId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.KirAlkalmazottImportApi, action = "GetKirTelephelyList" }))
.AutoBind(true)
.SelectedIndex(0)
.Events(e => e.DataBound("KirAlkalmazottImportHelper.fillGrid"))
.RenderSearchPanelSideBar())
@Html.KretaTextBoxFor(model => model.NevSearch).RenderSearchPanelSideBar()
@Html.KretaTextBoxFor(x => x.OktatasiAzonositoSearch).RenderSearchPanelSideBar()
@Html.KretaRangeDatePickerSideBar(x => x.SzuletesiDatumTol, x => x.SzuletesiDatumIg)
@Html.KretaTextBoxFor(model => model.SzuletesiHelySearch).RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(x => x.StatuszSearch, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperEnumApi", action = "GetKirSzerkesztehetoEnumList" }), "Text", "Value").AutoBind(true).RenderSearchPanelSideBar()
}
}
<div>
@(
Html.KretaGrid<KirGridModel>
(
name: gridName,
getUrl: new GridApiUrl(Constants.ApiControllers.KirAlkalmazottImportApi, "GetKirAlkalmazottakGrid"),
dataParameterFunction: searchFormName,
errorHandlerFunction: "KirAlkalmazottImportHelper.feedbackGridError"
)
.SelectBoxColumn(Html, string.Empty)
.Columns(columns =>
{
columns.Bound(c => c.Nev);
columns.Bound(c => c.OktatasiAzonosito);
columns.Bound(c => c.SzuletesiIdo).Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]);
columns.Bound(c => c.SzuletesiHely);
columns.Bound(c => c.ValtozottString);
})
.ConditionalRowFunction(Html, new List<RowFunction> {
new RowFunction { Name = IntezmenyResource.Adatok, ClientAction= "KirAlkalmazottImportHelper.checkLoginBeforeOpenAlkalmazottInfoWindow", IconEnum = GridRowFunctionIconEnum.Adatok }
}, "KirAlkalmazottImportHelper.isVisible")
.ConditionalRowFunction(Html, new List<RowFunction> {
new RowFunction { Name = IntezmenyResource.Modositas, ClientAction= "KirAlkalmazottImportHelper.checkLoginBeforeOpenOpenAlkalmazottComparePopupp", IconEnum = GridRowFunctionIconEnum.Modositas }
}, "KirAlkalmazottImportHelper.isEditable")
.Sortable(sortable => sortable
.AllowUnsort(true)
.SortMode(GridSortMode.MultipleColumn))
.FunctionCommand(Html, new List<FunctionCommand> {
new FunctionCommand { Name = KirImportExportResource.KijeloltekSzinkronizalasa, ClientAction = "KirAlkalmazottImportHelper.modifySelected" }
})
.AutoBind(false)
)
</div>
<script type="text/javascript">
var KirAlkalmazottImportHelper = (function () {
var kirAlkalmazottImportHelper = function () { };
var gridName = "@gridName";
var searchFormName = "@searchFormName";
var gridNameList = "AlkalmazottAlapadatokGrid" + ",AlkalmazottElerhetosegAdatokGrid" + ",AlkalmazottElsodlegesMunkaugyiAdatokGrid";
var url = {
OpenAlkalmazottKretaKirOsszehasonlitasPopup: "@Url.Action("OpenAlkalmazottComparePopupp", Constants.Controllers.KirAlkalmazott, new { area = Constants.Areas.KirImportExport })",
OpenAlkalmazottInfoPopUp: "@Url.Action("OpenAlkalmazottInfoPopUp", Constants.Controllers.KirAlkalmazott, new { area = Constants.Areas.KirImportExport })",
KirLoginCheck: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.KirAuthenticationApi, action = "KirLoginCheck" })",
ToIndex: "@Url.Action("Index", Constants.Controllers.KirAlkalmazott, new { area = Constants.Areas.KirImportExport })",
Modify: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.KirAlkalmazottImportApi, action = "ModifyAlkalmazott" })",
UpdateSelected: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.KirAlkalmazottImportApi, action = "ModifySelected" })"
}
kirAlkalmazottImportHelper.fillGrid = function () {
var grid = $('#'+gridName).data('kendoGrid');
grid.dataSource.read();
}
kirAlkalmazottImportHelper.isVisible = function (rowData) {
return rowData.Szerkesztheto != @((int)KirEditableEnum.Uj);
}
kirAlkalmazottImportHelper.isEditable = function (rowData) {
return rowData.Szerkesztheto == @((int)KirEditableEnum.ModositasraVar);
}
kirAlkalmazottImportHelper.checkLoginBeforeOpenAlkalmazottInfoWindow = function (rowData) {
AjaxHelper.DoPost(url.KirLoginCheck, {}, openAlkalmazottInfoWindow(rowData.ID), feedbackError);
}
function openAlkalmazottInfoWindow(alkalmazottId) {
AjaxHelper.DoPost(url.OpenAlkalmazottInfoPopUp, { AlkalmazottId: alkalmazottId }, popUpInfoWindow);
}
kirAlkalmazottImportHelper.checkLoginBeforeOpenOpenAlkalmazottComparePopupp = function (rowData) {
AjaxHelper.DoPost(url.KirLoginCheck, {}, openAlkalmazottComparePopupp(rowData.ID), feedbackError);
}
function openAlkalmazottComparePopupp(alkalmazottId) {
AjaxHelper.DoPost(url.OpenAlkalmazottKretaKirOsszehasonlitasPopup, { AlkalmazottId: alkalmazottId }, popUpAlkalmazottCompare);
}
kirAlkalmazottImportHelper.feedbackGridError = function ()
{
AjaxHelper.DoPost(url.KirLoginCheck, {}, undefined, feedbackError);
}
kirAlkalmazottImportHelper.modifyAddSave = function () {
KirSzinkronHelper.collectSzinkronData(gridNameList, url.Modify);
}
kirAlkalmazottImportHelper.alkalmazottInfoCancel = function () {
KretaWindowHelper.destroyWindow("alkalmazottInfoWindow");
}
kirAlkalmazottImportHelper.propertiesCancel = function () {
KretaWindowHelper.destroyWindow("popUpAlkalmazottCompare");
}
kirAlkalmazottImportHelper.modifySelected = function () {
var selectedRows = KretaGridHelper.getSelectedRowsByGridName(gridName);
if (selectedRows.length > 0) {
KretaWindowHelper.confirmWindow("@(IntezmenyResource.Figyelmeztetes)", "@(KirImportExportResource.KijeloltElemekFrissitveLesznekAKirbenTalalhatoBizonyosAdatokkalBiztosFolytatjaASzinkronizalast)", function () { modifySelected(selectedRows); });
}
else {
KretaWindowHelper.feedbackWindow("@(IntezmenyResource.Figyelmeztetes)", "@(KirImportExportResource.ASzinkronizalashozLegalabbEgyElemetSzuksegesKijelolni)", true, KretaWindowHelper.destroyAllWindow);
}
}
function modifySelected(selectedRows) {
var parameters = [];
$.each(selectedRows, function (index, value) {
parameters.push({
"OktatasiAzonosito": value.OktatasiAzonosito,
"FelhasznaloId": value.ID,
});
});
AjaxHelper.DoPost(url.UpdateSelected, parameters, modifySelectedResponseOk, modifySelectedResponseError);
}
function modifySelectedResponseError(data) {
KretaGridHelper.refreshGridSearchPanel(gridName, searchFormName);
AjaxHelper.ShowError(data);
}
function modifySelectedResponseOk(data) {
KretaWindowHelper.successFeedBackWindow(KretaWindowHelper.destroyAllWindow, data.Message);
KretaGridHelper.refreshGridSearchPanel(gridName, searchFormName);
}
function feedbackError() {
window.location.replace(url.ToIndex);
}
function popUpAlkalmazottCompare(data) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.title = "Alkalmazott";
config.content = data;
var modal = KretaWindowHelper.createWindow("popUpAlkalmazottCompare", config);
KretaWindowHelper.openWindow(modal, true);
}
function popUpInfoWindow(data) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.title = "@(AlkalmazottResource.AlkalmazottAdatai)";
config.content = data;
var modal = KretaWindowHelper.createWindow("alkalmazottInfoWindow", config);
KretaWindowHelper.openWindow(modal, true);
}
return kirAlkalmazottImportHelper;
})();
</script>
<style>
.selectedKirSzinkronData {
background-color: rgb(153, 255, 153);
}
.selectableDiv {
cursor: pointer
}
.selectedKirSzinkronData :hover {
background-color: rgb(153, 255, 153);
}
</style>