kreta/KretaWeb/Areas/HRModul/Views/Tavolletjelento/Tavolletjelento_Bevitel.cshtml
2024-03-13 00:33:46 +01:00

263 lines
No EOL
11 KiB
Text

@using Kreta.Web.Areas.HRModul.Models;
@using Kreta.Enums.ManualEnums;
@using Kreta.Web.Helpers.Grid;
@using Kreta.Web.Security;
@using Kreta.Resources;
@model TavolletjelentoModel
@{
var customOpacity = "opacity: 1!important;";
var viewTypeClass = "";
if (Model.ViewType == TavolletjelentoViewTypeEnum.Detail) { viewTypeClass = "disabledItem"; customOpacity = "opacity: 0.8!important;"; }
var isLeaderCallClass = "disabledItem";
if (Model.IsLeaderCall || Model.ViewType == TavolletjelentoViewTypeEnum.Detail || Model.IsAdminCall) { isLeaderCallClass = ""; }
var isHianypotlasClass = "";
if (Model.Muvelet == WorkflowMuveletEnum.Hianypotlas && (Model.IsLeaderCall || ClaimData.IsDefaultAdminUser)) { isHianypotlasClass = "disabledItem"; }
}
<style>
.commentRow,
.commentRow ul {
padding-left: 20px;
padding-right: 20px;
list-style-type: none;
}
.commentRow label {
padding: 10px 0;
vertical-align: middle;
}
.commentRow li {
background-color: azure;
padding: 2px;
}
.commentRow li:nth-child(odd) {
background-color: lightgrey;
}
.commentRow .hp {
padding-left: 2em;
background-color: bisque;
}
.commentRow li.hp:nth-child(odd) {
background-color: lightgoldenrodyellow;
}
.tavolletTooltip .kretaLabelTooltipText {
width: 200px;
}
</style>
<div style="@customOpacity" class="container-fluid details @viewTypeClass">
@using (Html.KretaForm("TavolletjelentoForm"))
{
@Html.KretaValidationSummary()
@Html.HiddenFor(x => x.ID)
@Html.HiddenFor(x => x.IsKezeles)
@Html.HiddenFor(x => x.IsHianypotlas)
@Html.HiddenFor(x => x.IsAdminCall)
@Html.HiddenFor(x => x.IsLeaderCall)
@Html.HiddenFor(x => x.StatuszId)
@Html.HiddenFor(x => x.RogzitoId)
@Html.HiddenFor(x => x.Muvelet)
@Html.HiddenFor(x => x.Megjegyzes)
@Html.HiddenFor(x => x.HianypotlasSzoveg)
@Html.HiddenFor(x => x.AlkalmazottFilterId)
@Html.HiddenFor(x => x.EredetiRogzitoGuid)
if (Model.IsNemRogzitoIntezmeny)
{
<div class="row" style="padding: 5px; text-align: center;">
<label>@HRModulResource.WarnNemRogzitoIntezmeny</label>
</div>
}
<div class="row @isHianypotlasClass">
@Html.KretaComboBoxFor(x => x.TavolletOka, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new {controller = "ComboBoxHelperEnumApi", action = "GetTavolletjelentoTipusList"}), "Text", "Value").AutoBind(true).RenderWithName(2, 10)
</div>
<div class="row @isHianypotlasClass">
@if (Model.IsNemRogzitoIntezmeny)
{
@Html.KretaLabelFor(x => x.AlkalmazottNeve, 2, 9)
}
else
{
<div class="@{
if ((Model.ID.HasValue && isHianypotlasClass == "" && viewTypeClass == "") || Model.IsKezeles == false)
{
@Html.Raw("disabledItem")
;
}
} ">
@Html.KretaMultiSelectFor(x => x.AlkalmazottList, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new {controller = "ComboBoxHelperApi", action = "GetAllAlkalmazott", id = Model.AlkalmazottFilterId, isNemCsakFointezmenyesek = Model.ID.HasValue}), "Text", "Value").AutoBind(true).RenderWithName(2, 9)
@if (Model.IsKezeles && (Model.IsLeaderCall || Model.IsAdminCall))
{
<button id="select" type="button" data-role="button" class="k-button" role="button" aria-disabled="false" tabindex="0">+</button>
<button id="deselect" type="button" data-role="button" class="k-button" role="button" aria-disabled="false" tabindex="0">-</button>
}
</div>
}
</div>
<div class="row @isHianypotlasClass">
@Html.KretaDatePickerFor(x => x.TavolletKezdet).Events(x => x.Change("TavolletjelentoHelper.GetTavolletIdotartam")).RenderWithName(2, 2)
@Html.KretaDatePickerFor(x => x.TavolletVeg).Events(x => x.Change("TavolletjelentoHelper.GetTavolletIdotartam")).RenderWithName(2, 2)
<div>
@Html.KretaTextBoxFor(x => x.TavolletIdotartamNap).Enable(false).RenderWithName(2, 1, tooltipResource: HRModulResource.TavolletNapokTooltip, customClass: "tavolletTooltip")
</div>
</div>
<div class="row">
@Html.KretaLabelFor(x => x.StatuszNeve, 2, 4)
@Html.KretaLabelFor(x => x.RogzitoNeve, 2, 4)
</div>
if (Model.ViewType != TavolletjelentoViewTypeEnum.Detail)
{
<div class="row">
@Html.KretaTextBoxFor(x => x.MegjegyzesMezo).RenderWithBottomInfoAndName(null, 2, 10, bottomInfo: string.Format(HRModulResource.MegjegyzesMezoMaxHossza, Model.MegjegyzesMezoMaxHossza))
</div>
}
<div class="row commentRow">
<label class="windowInputLabel">@HRModulResource.Megjegyzesek</label>
<ul>
@{
if (Model.OsszefuzottMegjegyzesek != null && Model.OsszefuzottMegjegyzesek.Count > 0)
{
foreach (var item in Model.OsszefuzottMegjegyzesek)
{
<li class="@item.CommentTypeClass">@item.CommentContent</li>
}
}
}
</ul>
</div>
if (Model.ViewType != TavolletjelentoViewTypeEnum.Detail)
{
<div id="CsatolmanyokInputContainer" class="row @isHianypotlasClass">
@Html.KretaFileUpload("TavolletjelentoDok", onSelectEvent: "function(e){ TavolletFileUploadHelper.onSelect(e); }")
</div>
}
}
</div>
@{
var grid = Html.KretaGrid<TavolletjelentoDokGridModel>
(
name: "TavolletjelentoDokGrid",
getUrl: new GridApiUrl("TavolletjelentoApi", "GetTavolletjelentoDokGrid", new Dictionary<string, string> { { "tavolletId", Model.ID.ToString() } })
)
.Columns(columns =>
{
columns.Bound(c => c.DokumentumNev);
columns.Bound(c => c.Iktatoszam);
columns.Template(@<text></text>).Width(140).ClientTemplate(@"<a href='/HRModul/Tavolletjelento/GetFile?fileId=#: ID #&isDokumentum=#: IsDokumentum#'>Letöltés</a>");
})
.AutoBind(true)
.Sortable(sortable => sortable
.AllowUnsort(true)
.SortMode(GridSortMode.MultipleColumn));
}
@if (Model.ID.HasValue && (Model.IsAdminCall || Model.IsLeaderCall || Model.RogzitoId == ClaimData.FelhasznaloId))
{
<div>@(grid)</div>
}
<script type="text/javascript">
var TavolletFileUploadHelper = (function () {
var tavolletFileUploadHelper = function () { };
tavolletFileUploadHelper.onSelect = function (e) {
KretaFileUpload.StopAnimation();
var allowedFileExtensionArray = [".txt", ".pdf", ".png", ".bmp", ".jpg", ".jpeg", ".xls", ".xlsx", ".doc", ".docx", ".roz"];
var attachmentMaxFileSizeInBytes = 5242880;
var attachments = e.files;
for(var i = 0; i<attachments.length;i++){
if (attachmentMaxFileSizeInBytes<attachments[i].size){
e.preventDefault();
var errorMessage = "@ErrorResource.HibaTortentXMBNalNemLehetNagyobbAFajlMerete";
errorMessage=errorMessage.replace("{0}",attachmentMaxFileSizeInBytes/(1024*1024));
KretaWindowHelper.feedbackWindow("@CommonResource.Hiba", errorMessage, true);
break;
}
if ($.inArray(attachments[i].extension.toLowerCase(), allowedFileExtensionArray)===-1){
e.preventDefault();
KretaWindowHelper.feedbackWindow("@CommonResource.Hiba","@ErrorResource.AFajlKiterjeszteseVagyTipusaNemMegfelelo", true);
break;
}
}
}
return tavolletFileUploadHelper;
})();
$(document).ready(function () {
KretaFileUpload.DisplayValidationInfo("CsatolmanyokInputContainer", "FileUploadValidationInfo");
var allowedFileExtensionArray = ["Megengedett típusok: ",
".txt", ".pdf", ".png", ".bmp", ".jpg", ".jpeg", ".xls", ".xlsx", ".doc", ".docx", ".roz",
" Maximális méret: 5MB"
];
var uploadButton = $("#CsatolmanyokInputContainer");
var validationVisible = false;
uploadButton.mouseenter(function () {
if (!validationVisible) {
validationVisible = true;
KretaFileUpload.StartAnimation();
KretaFileUpload.VaidationInfoExtensionContainerAnimation("FileUploadValidationInfo", allowedFileExtensionArray, 0);
}
});
uploadButton.mouseleave(function () {
validationVisible = false;
KretaFileUpload.StopAnimation("FileUploadValidationInfo");
});
var lista = $("#AlkalmazottList").data("kendoMultiSelect");
$("#select").click(function () {
var values = [];
$.each(lista.dataSource.data(), function (i, v) { values.push(v.Value); });
lista.value(values);
});
$("#deselect").click(function() { lista.value([]); });
var disInputs = $("div.disabledItem .row :input.k-input");
$.each(disInputs, function () {
$(this)[0].disabled = true;
$(this)[0].classList.add('k-state-disabled');
$(this).parent('.k-state-default').addClass('k-state-disabled');
});
tavolletDatumBeallitasa();
function tavolletDatumBeallitasa() {
szerkesztesKikapcsolasa("#TavolletKezdet");
szerkesztesKikapcsolasa("#TavolletVeg");
function szerkesztesKikapcsolasa(control) {
$(control).prop("readonly", true);
$(control).on("keydown", function (e) {
e.preventDefault();
});
}
var tavolletKezdet = $("#TavolletKezdet").data("kendoDatePicker");
var tavolletVeg = $("#TavolletVeg").data("kendoDatePicker");
var now = new Date();
var past = new Date();
past.setFullYear(past.getFullYear(), past.getMonth() - 1);
if (now.getDate() <= 5) {
tavolletKezdet.min(new Date(past.getFullYear(), past.getMonth(), 1));
tavolletVeg.min(new Date(past.getFullYear(), past.getMonth(), 1));
}
else {
tavolletKezdet.min(new Date(now.getFullYear(), now.getMonth(), 1));
tavolletVeg.min(new Date(now.getFullYear(), now.getMonth(), 1));
}
}
});
</script>