add customize workshop settings and childern
This commit is contained in:
@@ -55,8 +55,8 @@
|
||||
</div>
|
||||
|
||||
<div class="modal-body p-2">
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="container-fluid h-m-100">
|
||||
<div class="row h-m-100">
|
||||
<div class="@(Model.AssignViewModels?.Count > 1 ? "col-12 col-md-3 pe-0" : "d-none")">
|
||||
<div class="assigns_section">
|
||||
@{
|
||||
@@ -84,7 +84,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="@(Model.AssignViewModels?.Count > 1 ? "col-12 col-md-9 ps-0" : "col-12")">
|
||||
<div class="h-m-100 @(Model.AssignViewModels?.Count > 1 ? "col-12 col-md-9 ps-0" : "col-12")">
|
||||
<div class="chat-section">
|
||||
<div class="chat-card-main">
|
||||
<div class="row">
|
||||
@@ -223,7 +223,7 @@
|
||||
@* && Model.ReceiverId.All(x => x == userId) || userId == Model.SenderId *@
|
||||
@if (!Model.IsDone && !Model.IsCancel)
|
||||
{
|
||||
<div class="actionBtnsection">
|
||||
<div class="actionBtnsection showInMobile">
|
||||
<div class="input-form row" id="select2MemberList">
|
||||
<select class="form-select select2Member" id="select2AssignList" multiple="multiple">
|
||||
|
||||
|
||||
6
ServiceHost/Areas/Camera/Pages/CamStandby.cshtml
Normal file
6
ServiceHost/Areas/Camera/Pages/CamStandby.cshtml
Normal file
@@ -0,0 +1,6 @@
|
||||
@page
|
||||
@model ServiceHost.Areas.Camera.Pages.CamStandbyModel
|
||||
@{
|
||||
}
|
||||
|
||||
<h1>تست</h1>
|
||||
12
ServiceHost/Areas/Camera/Pages/CamStandby.cshtml.cs
Normal file
12
ServiceHost/Areas/Camera/Pages/CamStandby.cshtml.cs
Normal file
@@ -0,0 +1,12 @@
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.AspNetCore.Mvc.RazorPages;
|
||||
|
||||
namespace ServiceHost.Areas.Camera.Pages
|
||||
{
|
||||
public class CamStandbyModel : PageModel
|
||||
{
|
||||
public void OnGet()
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -327,7 +327,7 @@
|
||||
|
||||
<!-- Modal -->
|
||||
<partial name="AddPasswordModal" />
|
||||
|
||||
<a type="button" asp-page="./CamStandby">standby</a>
|
||||
@section Script
|
||||
{
|
||||
|
||||
|
||||
@@ -11,19 +11,32 @@
|
||||
}
|
||||
|
||||
<div class="modal-content">
|
||||
<div class="modal-header d-block text-center mb-2">
|
||||
<button type="button" class="btn-close position-absolute text-start" data-bs-dismiss="modal" aria-label="Close"></button>
|
||||
<h5 class="modal-title mb-4" id="startBuyLabel">خطا</h5>
|
||||
</div>
|
||||
<div class="modal-header d-block text-center mb-2">
|
||||
<button type="button" class="btn-close position-absolute text-start" data-bs-dismiss="modal" aria-label="Close"></button>
|
||||
<h5 class="modal-title" id="startBuyLabel">خطا</h5>
|
||||
</div>
|
||||
|
||||
<div class="modal-body clearfix">
|
||||
<section class="container-fluid d-flex justify-content-center align-items-center" style="height: 220px">
|
||||
<div class="row justify-content-center align-items-center">
|
||||
<div class="col-12 mt-2 text-center">
|
||||
<p class="m-0 p-2">@Model.WorkshopFullName</p>
|
||||
<p>@Model.Message</p>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-body clearfix">
|
||||
<section class="container-fluid d-flex justify-content-center align-items-center" style="height: 220px">
|
||||
<div class="row justify-content-center align-items-center">
|
||||
<div class="col-12 mt-2 text-center">
|
||||
<svg viewBox="0 0 25 25" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g id="SVGRepo_bgCarrier" stroke-width="0"></g>
|
||||
<g id="SVGRepo_tracerCarrier" stroke-linecap="round" stroke-linejoin="round"></g>
|
||||
<g id="SVGRepo_iconCarrier">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M4 12.5C4 7.80558 7.80558 4 12.5 4C17.1944 4 21 7.80558 21 12.5C21 17.1944 17.1944 21 12.5 21C7.80558 21 4 17.1944 4 12.5ZM13 14.5V16H12V14.5H13ZM12 9V13H13V9H12Z" fill="#bdbdbd"></path>
|
||||
</g>
|
||||
</svg>
|
||||
<p class="m-0 p-2">@Model.WorkshopFullName</p>
|
||||
<p>@Model.Message</p>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
$('.spinner-loading').hide();
|
||||
});
|
||||
</script>
|
||||
@@ -1,8 +1,8 @@
|
||||
@page
|
||||
@model ServiceHost.Areas.Client.Pages.Company.RollCall.CaseHistoryModel
|
||||
@using Version = _0_Framework.Application.Version
|
||||
|
||||
@{
|
||||
string clientVersion = _0_Framework.Application.Version.StyleVersion;
|
||||
ViewData["Title"] = " - " + "سوابق حضور و غیاب";
|
||||
int index = 1;
|
||||
int i = 0;
|
||||
@@ -72,15 +72,15 @@
|
||||
}
|
||||
|
||||
@section Styles {
|
||||
<link href="~/assetsclient/css/table-style.css?ver=@Version.StyleVersion" rel="stylesheet" />
|
||||
<link href="~/assetsclient/css/table-responsive.css?ver=@Version.StyleVersion" rel="stylesheet" />
|
||||
<link href="~/assetsclient/css/rollcall-list-table.css?ver=@Version.StyleVersion" rel="stylesheet" />
|
||||
<link href="~/assetsclient/css/operation-button.css?ver=@Version.StyleVersion" rel="stylesheet" />
|
||||
<link href="~/assetsclient/css/table-style.css?ver=@clientVersion" rel="stylesheet" />
|
||||
<link href="~/assetsclient/css/table-responsive.css?ver=@clientVersion" rel="stylesheet" />
|
||||
<link href="~/assetsclient/css/rollcall-list-table.css?ver=@clientVersion" rel="stylesheet" />
|
||||
<link href="~/assetsclient/css/operation-button.css?ver=@clientVersion" rel="stylesheet" />
|
||||
<link href="~/AssetsClient/css/dropdown.css?ver=123" rel="stylesheet" />
|
||||
<link href="~/AssetsClient/css/select2.css?ver=@Version.StyleVersion" rel="stylesheet" />
|
||||
<link href="~/AssetsClient/css/filter-search.css?ver=@Version.StyleVersion" rel="stylesheet" />
|
||||
<link href="~/assetsclient/pages/rollcall/css/casehistory.css?ver=@Version.StyleVersion" rel="stylesheet" />
|
||||
<link href="~/AssetsClient/css/datetimepicker.css?ver=@Version.StyleVersion" rel="stylesheet" />
|
||||
<link href="~/AssetsClient/css/select2.css?ver=@clientVersion" rel="stylesheet" />
|
||||
<link href="~/AssetsClient/css/filter-search.css?ver=@clientVersion" rel="stylesheet" />
|
||||
<link href="~/assetsclient/pages/rollcall/css/casehistory.css?ver=@clientVersion" rel="stylesheet" />
|
||||
<link href="~/AssetsClient/css/datetimepicker.css?ver=@clientVersion" rel="stylesheet" />
|
||||
}
|
||||
|
||||
|
||||
@@ -310,13 +310,13 @@
|
||||
|
||||
|
||||
@section Script {
|
||||
<script src="~/assetsclient/js/site.js?ver=@Version.StyleVersion"></script>
|
||||
<script src="~/AssetsClient/js/dropdown.js?ver=@Version.StyleVersion"></script>
|
||||
<script src="~/assetsclient/js/site.js?ver=@clientVersion"></script>
|
||||
<script src="~/AssetsClient/js/dropdown.js?ver=@clientVersion"></script>
|
||||
<script>
|
||||
var antiForgeryToken = $(`@Html.AntiForgeryToken()`).val();
|
||||
var caseHistoryAjaxLoadData = `@Url.Page("./CaseHistory", "CaseHistoryRollCallAjax")`;
|
||||
var itemsYearList = @Html.Raw(Json.Serialize(Model.YearlyList.OrderBy(x => x)));
|
||||
// var dateIndex = 0;
|
||||
</script>
|
||||
<script src="~/assetsclient/pages/rollcall/js/casehistory.js?ver=45454"></script>
|
||||
<script src="~/assetsclient/pages/rollcall/js/casehistory.js?ver=@clientVersion"></script>
|
||||
}
|
||||
145
ServiceHost/Areas/Client/Pages/Company/RollCall/Grouping.cshtml
Normal file
145
ServiceHost/Areas/Client/Pages/Company/RollCall/Grouping.cshtml
Normal file
@@ -0,0 +1,145 @@
|
||||
@page
|
||||
@model ServiceHost.Areas.Client.Pages.Company.RollCall.GroupingModel
|
||||
|
||||
@{
|
||||
string clientVersion = _0_Framework.Application.Version.StyleVersion;
|
||||
ViewData["Title"] = " - " + "گروهبندی حضور و غیاب";
|
||||
int index = 1;
|
||||
int i = 0;
|
||||
}
|
||||
|
||||
@section Styles {
|
||||
<link href="~/AssetsClient/css/table-style.css?ver=@clientVersion" rel="stylesheet" />
|
||||
<link href="~/AssetsClient/css/table-responsive.css?ver=@clientVersion" rel="stylesheet" />
|
||||
<link href="~/assetsclient/css/operation-button.css?ver=@clientVersion" rel="stylesheet" />
|
||||
<link href="~/assetsclient/pages/rollcall/css/group.css" rel="stylesheet" />
|
||||
|
||||
<style>
|
||||
button.btn-setting {
|
||||
border: 1px solid transparent;
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
border-radius: 5px;
|
||||
padding: 3px 1px;
|
||||
color: #64748b;
|
||||
margin: auto 0 auto 1px;
|
||||
background-color: #fff;
|
||||
background-color: rgba(100, 116, 139, 0.20);
|
||||
box-shadow: 0;
|
||||
transition: ease .2s;
|
||||
}
|
||||
|
||||
button.btn-setting:hover {
|
||||
color: #ffffff;
|
||||
background-color: rgba(100, 116, 139, 0.40);
|
||||
}
|
||||
|
||||
button.btn-add {
|
||||
border: 1px solid transparent;
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
border-radius: 5px;
|
||||
padding: 3px 1px;
|
||||
color: #84cc16;
|
||||
margin: auto 0 auto 1px;
|
||||
background-color: #ffffff;
|
||||
background-color: rgba(132, 204, 22, 0.20);
|
||||
box-shadow: 0;
|
||||
transition: ease .2s;
|
||||
}
|
||||
|
||||
button.btn-add:hover {
|
||||
color: #ffffff;
|
||||
background-color: rgba(132, 204, 22, 0.40);
|
||||
}
|
||||
</style>
|
||||
}
|
||||
|
||||
<div class="content-container">
|
||||
|
||||
<div class="container-fluid">
|
||||
<div class="row p-2">
|
||||
<div class="col p-0 m-0 d-flex align-items-center justify-content-between">
|
||||
<div class="col d-flex align-items-center justify-content-start">
|
||||
<img src="~/AssetsClient/images/icons/workshop.png" alt="" class="img-fluid me-2" style="width: 45px;" />
|
||||
<div>
|
||||
<h4 class="title d-flex align-items-center">عملیات گروهبندی حضور و غیاب</h4>
|
||||
<div class="title d-flex align-items-center">@Model.WorkshopFullName</div>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<a asp-page="/Company/RollCall/Index" class="back-btn" type="button">
|
||||
<span>بازگشت</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-12 p-0 mt-2">
|
||||
<button class="btnCreateNew" type="button" id="newCreateGroup">
|
||||
گروه جدید
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- List Items -->
|
||||
<div class="container-fluid">
|
||||
<div class="row px-lg-1">
|
||||
|
||||
<div class="col-12 col-md-6 p-0 pe-1">
|
||||
<div class="wrapper list-box w-100 table-rollcall-group1">
|
||||
<div class="Rtable Rtable--5cols Rtable--collapse">
|
||||
|
||||
<div class="Rtable-row Rtable-row--head align-items-center d-flex mb-2 px-2 d-none d-md-flex">
|
||||
<div class="Rtable-cell column-heading width1">ردیف</div>
|
||||
<div class="Rtable-cell column-heading width2">نام گروه</div>
|
||||
<div class="Rtable-cell column-heading text-center width3">ساعت کاری</div>
|
||||
<div class="Rtable-cell column-heading text-center width4">حقوق</div>
|
||||
<div class="Rtable-cell column-heading width5 text-end">عملیات</div>
|
||||
</div>
|
||||
|
||||
<div class="w-100" id="ajaxDataMain"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 col-md-6 p-0 ps-1 d-none d-md-flex">
|
||||
<div class="wrapper list-box w-100 table-rollcall-group2">
|
||||
<div class="Rtable Rtable--5cols Rtable--collapse">
|
||||
|
||||
<div class="Rtable-row Rtable-row--head align-items-center d-flex mb-2 px-3">
|
||||
<div class="Rtable-cell column-heading width1">ردیف</div>
|
||||
<div class="Rtable-cell column-heading width2">نام پرسنل</div>
|
||||
<div class="Rtable-cell column-heading text-center width3">ساعت کاری</div>
|
||||
<div class="Rtable-cell column-heading width4">حقوق</div>
|
||||
<div class="Rtable-cell column-heading text-end width5">عملیات</div>
|
||||
</div>
|
||||
|
||||
<div class="w-100 overflow-auto" id="loadAccountItems"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="MainModal" class="modal fade personalListModal" aria-labelledby="myModalLabel" data-bs-backdrop="static" aria-hidden="true" tabindex="-1" style="display: none;">
|
||||
<div class="modal-dialog modal-md modal-dialog-centered">
|
||||
<div class="modal-content" id="ModalContent">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@section Script {
|
||||
<script src="~/assetsclient/js/site.js?ver=@clientVersion"></script>
|
||||
<script src="~/assetsadminnew/libs/sweetalert2/sweetalert2.all.min.js"></script>
|
||||
<script>
|
||||
var antiForgeryToken = $(`@Html.AntiForgeryToken()`).val();
|
||||
var loadWorkshopSettingsDataAjax = `@Url.Page("./Grouping", "WorkshopSettingsDataAjax")`;
|
||||
var loadEmployeesGroupAjax = `@Url.Page("./Grouping", "EmployeesGroupAjax")`;
|
||||
var removeGroupAjax = `@Url.Page("./Grouping", "DeleteGroup")`;
|
||||
var removeEmployeeFromGroupAjax = `@Url.Page("./Grouping", "RemoveEmployee")`;
|
||||
var workshopSettingId = Number((@Model.RollCallWorkshopSettings.Id));
|
||||
</script>
|
||||
<script src="~/assetsclient/pages/rollcall/js/grouping.js?ver=7418952"></script>
|
||||
}
|
||||
@@ -0,0 +1,265 @@
|
||||
using _0_Framework.Application;
|
||||
using CompanyManagment.App.Contracts.Workshop;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.AspNetCore.Mvc.RazorPages;
|
||||
using System.Security.Claims;
|
||||
using Company.Domain.CustomizeWorkshopGroupSettingsAgg;
|
||||
using CompanyManagment.App.Contracts.CustomizeWorkshopSettings;
|
||||
using CompanyManagment.App.Contracts.Employee;
|
||||
using System.Text.RegularExpressions;
|
||||
using Microsoft.AspNetCore.Mvc.Formatters;
|
||||
using static Microsoft.EntityFrameworkCore.DbLoggerCategory.Database;
|
||||
|
||||
namespace ServiceHost.Areas.Client.Pages.Company.RollCall
|
||||
{
|
||||
[Authorize]
|
||||
public class GroupingModel : PageModel
|
||||
{
|
||||
private readonly IPasswordHasher _passwordHasher;
|
||||
private readonly IWorkshopApplication _workshopApplication;
|
||||
private readonly IEmployeeApplication _employeeApplication;
|
||||
private readonly ICustomizeWorkshopSettingsApplication _customizeWorkshopSettingsApplication;
|
||||
|
||||
public string WorkshopFullName;
|
||||
public CustomizeWorkshopSettingsViewModel RollCallWorkshopSettings;
|
||||
|
||||
public GroupingModel(IPasswordHasher passwordHasher, IWorkshopApplication workshopApplication, ICustomizeWorkshopSettingsApplication rollCallWorkshopSettingsApplication, IEmployeeApplication employeeApplication)
|
||||
{
|
||||
_passwordHasher = passwordHasher;
|
||||
_workshopApplication = workshopApplication;
|
||||
_customizeWorkshopSettingsApplication = rollCallWorkshopSettingsApplication;
|
||||
_employeeApplication = employeeApplication;
|
||||
}
|
||||
|
||||
public IActionResult OnGet()
|
||||
{
|
||||
var workshopHash = User.FindFirstValue("WorkshopSlug");
|
||||
var workshopId = _passwordHasher.SlugDecrypt(workshopHash);
|
||||
|
||||
if (workshopId < 1)
|
||||
return BadRequest();
|
||||
|
||||
if (workshopId != 11)
|
||||
return Redirect("/Client/Company/RollCall");
|
||||
|
||||
|
||||
var workshop = _workshopApplication.GetWorkshopInfo(workshopId);
|
||||
WorkshopFullName = workshop.WorkshopFullName;
|
||||
|
||||
RollCallWorkshopSettings = _customizeWorkshopSettingsApplication.GetWorkshopSettingsByWorkshopId(workshopId);
|
||||
|
||||
return Page();
|
||||
}
|
||||
|
||||
public IActionResult OnGetWorkshopSettingsDataAjax()
|
||||
{
|
||||
var workshopHash = User.FindFirstValue("WorkshopSlug");
|
||||
var workshopId = _passwordHasher.SlugDecrypt(workshopHash);
|
||||
|
||||
if (workshopId < 1)
|
||||
return BadRequest();
|
||||
|
||||
var result = _customizeWorkshopSettingsApplication.GetWorkshopSettingsByWorkshopId(workshopId);
|
||||
return new JsonResult(new
|
||||
{
|
||||
isSuccedded = true,
|
||||
data = result
|
||||
});
|
||||
}
|
||||
|
||||
public IActionResult OnGetEmployeesGroupAjax(long groupId)
|
||||
{
|
||||
var result = _customizeWorkshopSettingsApplication.GetEmployeeSettingsByGroupSettingsId(groupId);
|
||||
return new JsonResult(new
|
||||
{
|
||||
success = true,
|
||||
data = result
|
||||
});
|
||||
}
|
||||
|
||||
public IActionResult OnGetCreateGroup(long workshopSettingId)
|
||||
{
|
||||
var command = new CreateCustomizeWorkshopGroupSettings
|
||||
{
|
||||
CustomizeWorkshopSettingId = workshopSettingId
|
||||
};
|
||||
return Partial("ModalCreateGroup", command);
|
||||
}
|
||||
|
||||
public IActionResult OnPostCreateGroup(CreateCustomizeWorkshopGroupSettings command)
|
||||
{
|
||||
OperationResult result = _customizeWorkshopSettingsApplication.CreateGroupSettingsByRollCallWorkshopSettingId(command);
|
||||
|
||||
return new JsonResult(new
|
||||
{
|
||||
success = result.IsSuccedded,
|
||||
message = result.Message
|
||||
});
|
||||
}
|
||||
|
||||
public IActionResult OnGetEditGroup(long groupId)
|
||||
{
|
||||
var command = _customizeWorkshopSettingsApplication.GetCustomizeWorkshopGroupSettingsDetails(groupId);
|
||||
|
||||
command.ChangeSettingEmployeeIsChange = _customizeWorkshopSettingsApplication
|
||||
.GetEmployeeSettingsByGroupSettingsId(groupId)
|
||||
.Any(x => x.IsChanged == true);
|
||||
return Partial("ModalEditGroup", command);
|
||||
}
|
||||
|
||||
public IActionResult OnPostEditGroup(EditCustomizeWorkshopGroupSettings command)
|
||||
{
|
||||
var result = _customizeWorkshopSettingsApplication.EditSimpleRollCallGroupSetting(command);
|
||||
return new JsonResult(new
|
||||
{
|
||||
success = result.IsSuccedded,
|
||||
message = result.Message
|
||||
});
|
||||
}
|
||||
|
||||
public IActionResult OnGetEmployeeIsChangeList(long groupId)
|
||||
{
|
||||
var result = _customizeWorkshopSettingsApplication.GetEmployeeSettingsByGroupSettingsId(groupId)
|
||||
.Where(x => x.IsChanged).ToList();
|
||||
return new JsonResult(new
|
||||
{
|
||||
success = true,
|
||||
data = result
|
||||
});
|
||||
}
|
||||
|
||||
public IActionResult OnPostDeleteGroup(long groupId)
|
||||
{
|
||||
var result = _customizeWorkshopSettingsApplication.RemoveGroupSettings(groupId);
|
||||
return new JsonResult(new
|
||||
{
|
||||
success = result.IsSuccedded,
|
||||
message = result.Message
|
||||
});
|
||||
}
|
||||
|
||||
public IActionResult OnGetEmployeeGroupAjax(long rollCallWorkshopSettingId)
|
||||
{
|
||||
var result = _customizeWorkshopSettingsApplication.GetEmployeesWithoutGroup(rollCallWorkshopSettingId);
|
||||
return new JsonResult(new
|
||||
{
|
||||
success = true,
|
||||
data = result
|
||||
});
|
||||
}
|
||||
|
||||
public IActionResult OnGetCreateEmployee(long workshopSettingId, long groupId)
|
||||
{
|
||||
var command = new CreateCustomizeEmployeeSettings()
|
||||
{
|
||||
WorkshopSettingId = workshopSettingId,
|
||||
GroupId = groupId
|
||||
};
|
||||
|
||||
return Partial("ModalAddEmployeeToGroup", command);
|
||||
}
|
||||
|
||||
public IActionResult OnPostCreateEmployee(CreateCustomizeEmployeeSettings command)
|
||||
{
|
||||
var workshopHash = User.FindFirstValue("WorkshopSlug");
|
||||
var workshopId = _passwordHasher.SlugDecrypt(workshopHash);
|
||||
|
||||
if (workshopId < 1)
|
||||
return BadRequest();
|
||||
|
||||
command.WorkshopId = workshopId;
|
||||
|
||||
OperationResult result = _customizeWorkshopSettingsApplication.CreateRollCallEmployeeSettings(command);
|
||||
return new JsonResult(new
|
||||
{
|
||||
success = result.IsSuccedded,
|
||||
message = result.Message
|
||||
});
|
||||
}
|
||||
|
||||
public IActionResult OnPostRemoveEmployee(long employeeId, long groupId)
|
||||
{
|
||||
OperationResult result = _customizeWorkshopSettingsApplication.RemoveEmployeeFromRollCallWorkshopGroup(employeeId, groupId);
|
||||
return new JsonResult(new
|
||||
{
|
||||
success = result.IsSuccedded,
|
||||
message = result.Message
|
||||
});
|
||||
}
|
||||
|
||||
public IActionResult OnGetEditEmployee(long groupId, List<long> employeeId)
|
||||
{
|
||||
var workshopHash = User.FindFirstValue("WorkshopSlug");
|
||||
var workshopId = _passwordHasher.SlugDecrypt(workshopHash);
|
||||
if (workshopId <= 0)
|
||||
return BadRequest();
|
||||
|
||||
var getGroup = _customizeWorkshopSettingsApplication.GetEmployeeSettingsByEmployeeIdGroupSettingsId(workshopId, employeeId.First());
|
||||
var command = new EditCustomizeEmployeeSettings()
|
||||
{
|
||||
Id = getGroup.Id,
|
||||
EmployeeIds = employeeId,
|
||||
EmployeeFullName = getGroup.EmployeeFullName,
|
||||
Salary = getGroup.Salary.ToMoney(),
|
||||
NameGroup = getGroup.Name,
|
||||
ShiftViewModel = getGroup.RollCallWorkshopShifts,
|
||||
};
|
||||
return Partial("ModalEditEmployeeFromGroup", command);
|
||||
}
|
||||
|
||||
public IActionResult OnPostEditEmployee(EditCustomizeEmployeeSettings command)
|
||||
{
|
||||
OperationResult result = _customizeWorkshopSettingsApplication.EditSimpleRollCallEmployeeGroupSetting(command);
|
||||
return new JsonResult(new
|
||||
{
|
||||
success = result.IsSuccedded,
|
||||
message = result.Message
|
||||
});
|
||||
}
|
||||
|
||||
public IActionResult OnGetGroupingSetting(long groupId)
|
||||
{
|
||||
var command = _customizeWorkshopSettingsApplication.GetCustomizeWorkshopGroupSettingsDetails(groupId);
|
||||
|
||||
return Partial("ModalSettingGroup", command);
|
||||
}
|
||||
|
||||
public IActionResult OnPostGroupingSetting(EditCustomizeWorkshopGroupSettings command)
|
||||
{
|
||||
command.EmployeeIds = _customizeWorkshopSettingsApplication.GetEmployeeSettingsByGroupSettingsId(command.Id).Select(x => x.EmployeeId).ToList();
|
||||
OperationResult result = _customizeWorkshopSettingsApplication.EditRollCallGroupSetting(command);
|
||||
|
||||
return new JsonResult(new
|
||||
{
|
||||
isSuccess = result.IsSuccedded,
|
||||
message = result.Message
|
||||
});
|
||||
}
|
||||
|
||||
public IActionResult OnGetGroupingEmployeeSetting(long customizeEmployeeId, List<long> employeeId)
|
||||
{
|
||||
var command = _customizeWorkshopSettingsApplication.GetCustomizeEmployeeSettingsDetails(customizeEmployeeId);
|
||||
command.EmployeeIds = employeeId;
|
||||
|
||||
return Partial("ModalSettingGroupEmployee", command);
|
||||
}
|
||||
|
||||
public IActionResult OnPostGroupingEmployeeSetting(EditCustomizeEmployeeSettings command)
|
||||
{
|
||||
var workshopHash = User.FindFirstValue("WorkshopSlug");
|
||||
var workshopId = _passwordHasher.SlugDecrypt(workshopHash);
|
||||
if (workshopId <= 0)
|
||||
return BadRequest();
|
||||
|
||||
command.WorkshopId = workshopId;
|
||||
OperationResult result = _customizeWorkshopSettingsApplication.EditRollCallEmployeeSettings(command);
|
||||
|
||||
return new JsonResult(new
|
||||
{
|
||||
isSuccess = result.IsSuccedded,
|
||||
message = result.Message
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,15 +1,14 @@
|
||||
@page
|
||||
@model ServiceHost.Areas.Client.Pages.Company.RollCall.IndexModel
|
||||
@using Version = _0_Framework.Application.Version
|
||||
|
||||
@{
|
||||
ViewData["Title"] = " - " + "حضور و غیاب";
|
||||
string clientVersion = _0_Framework.Application.Version.StyleVersion;
|
||||
int index = 1;
|
||||
int i = 0;
|
||||
<link href="~/assetsclient/css/card.css?ver=@Version.StyleVersion" rel="stylesheet" />
|
||||
<link href="~/assetsclient/css/card.css?ver=@clientVersion" rel="stylesheet" />
|
||||
|
||||
<style>
|
||||
|
||||
@@media (min-width: 1260px) {
|
||||
.col-60 {
|
||||
width: calc(100% / 6);
|
||||
@@ -246,62 +245,63 @@
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
@{
|
||||
if (Model.WorkshopId == 11)
|
||||
{
|
||||
<div class="gwb-card @(Model.CheckRollCallService && Model.HasCameraAccount == "true" ? "" : "disable")">
|
||||
<a asp-page="/Company/RollCall/Grouping" class="click loadingButton">
|
||||
<div class="d-flex align-items-center justify-content-start p-1">
|
||||
<img src="~/AssetsClient/images/icons/image-rollcall.png" alt="" class="img-fluid mx-1" width="50px" />
|
||||
<div class="text-start ms-1">
|
||||
<div class="card-title">عملیات گروهبندی</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="spinner-loading loading" style="display: none;">
|
||||
<span class="spinner-border spinner-border-sm loading text-white" role="status" aria-hidden="true"></span>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
<div class="gwb-card">
|
||||
<a href="#showmodal=@Url.Page("./Index", "ModalSettingRollCall")" class="click loadingButton">
|
||||
<div class="d-flex align-items-center justify-content-start p-1">
|
||||
<img src="~/AssetsClient/images/icons/image-rollcall.png" alt="" class="img-fluid mx-1" width="50px" />
|
||||
<div class="text-start ms-1">
|
||||
<div class="card-title">تنظیمات حضور و غیاب</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="spinner-loading loading" style="display: none;">
|
||||
<span class="spinner-border spinner-border-sm loading text-white" role="status" aria-hidden="true"></span>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- END MAIN CONTENT -->
|
||||
|
||||
@* مودال حساب کاربری *@
|
||||
@* <div class="modal fade profilePasswordModal" id="MainModal" tabindex="-1" data-bs-backdrop="static" aria-labelledby="profilePasswordModalLabel" aria-hidden="true" style="display: none;">
|
||||
<div class="modal-dialog modal-dialog-centered">
|
||||
<div class="modal-content">
|
||||
|
||||
<div class="modal-header d-block text-center">
|
||||
<svg width="56" height="56" viewBox="0 0 66 66" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M57.5025 30.5801C57.5025 44.0276 47.74 56.6226 34.4025 60.3076C33.495 60.5551 32.505 60.5551 31.5975 60.3076C18.26 56.6226 8.4975 44.0276 8.4975 30.5801V18.5075C8.4975 16.2525 10.2025 13.695 12.32 12.8425L27.6375 6.57263C31.075 5.17013 34.9525 5.17013 38.39 6.57263L53.7075 12.8425C55.7975 13.695 57.53 16.2525 57.53 18.5075L57.5025 30.5801Z" stroke="url(#paint0_linear_320_3375)" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" />
|
||||
<path d="M33 34.375C36.0376 34.375 38.5 31.9126 38.5 28.875C38.5 25.8374 36.0376 23.375 33 23.375C29.9624 23.375 27.5 25.8374 27.5 28.875C27.5 31.9126 29.9624 34.375 33 34.375Z" stroke="url(#paint1_linear_320_3375)" stroke-width="3" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round" />
|
||||
<path d="M33 34.375V42.625" stroke="url(#paint2_linear_320_3375)" stroke-width="3" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round" />
|
||||
<defs>
|
||||
<linearGradient id="paint0_linear_320_3375" x1="33.0138" y1="5.52075" x2="33.0138" y2="60.4932" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#2EC0C0" />
|
||||
<stop offset="1" stop-color="#087373" />
|
||||
</linearGradient>
|
||||
<linearGradient id="paint1_linear_320_3375" x1="33" y1="23.375" x2="33" y2="34.375" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#2EC0C0" />
|
||||
<stop offset="1" stop-color="#087373" />
|
||||
</linearGradient>
|
||||
<linearGradient id="paint2_linear_320_3375" x1="33.5" y1="34.375" x2="33.5" y2="42.625" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#087373" />
|
||||
<stop offset="1" stop-color="#2EC0C0" />
|
||||
</linearGradient>
|
||||
</defs>
|
||||
</svg>
|
||||
<h5 class="modal-title text-center" id="profilePasswordModalLabel">ایجاد حساب کاربری</h5>
|
||||
</div>
|
||||
|
||||
<div id="ModalContent">
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div> *@
|
||||
|
||||
|
||||
<div id="MainModal" class="modal fade personalListModal" aria-labelledby="myModalLabel" aria-hidden="true" style="display: none;">
|
||||
<div id="MainModal" class="modal fade personalListModal" aria-labelledby="myModalLabel" aria-hidden="true" tabindex="-1" data-bs-backdrop="static" style="display: none;">
|
||||
<div class="modal-dialog modal-md modal-dialog-centered">
|
||||
<div class="modal-content" id="ModalContent">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@* مودال حساب کاربری *@
|
||||
|
||||
<script>
|
||||
var workshopId = @Model.WorkshopId;
|
||||
var hasRollCallService = @(Model.CheckRollCallService == true ? "true" : "false");
|
||||
var hasCameraAccount = @Model.HasCameraAccount;
|
||||
var saveCameraAccountUrl = `#showmodal=@Url.Page("./Index", "SaveCameraAccount")`;
|
||||
var hasRollCallWorkshopSetting = @Model.HasRollCallWorkshopSetting;
|
||||
var saveCameraAccountUrl = `#showmodal=@Url.Page("./Index", "SaveCameraAccountAndWorkshopSetting")`;
|
||||
</script>
|
||||
|
||||
@section Script {
|
||||
<script src="~/assetsclient/js/site.js?ver=@Version.StyleVersion"></script>
|
||||
<script src="~/assetsclient/pages/rollcall/js/index.js"></script>
|
||||
<script src="~/assetsclient/js/site.js?ver=@clientVersion"></script>
|
||||
<script src="~/assetsclient/pages/rollcall/js/index.js?ver=@clientVersion"></script>
|
||||
}
|
||||
@@ -6,9 +6,14 @@ using System.Net;
|
||||
using _0_Framework.Application;
|
||||
using CompanyManagment.App.Contracts.RollCallEmployee;
|
||||
using System.Security.Claims;
|
||||
using _0_Framework.Domain.CustomizeCheckoutValueObjects;
|
||||
using AccountManagement.Application.Contracts.Account;
|
||||
using AccountManagement.Application.Contracts.CameraAccount;
|
||||
using CompanyManagment.App.Contracts.CustomizeWorkshopSettings;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using CompanyManagment.App.Contracts.RollCall;
|
||||
using CompanyManagment.App.Contracts.Error;
|
||||
|
||||
namespace ServiceHost.Areas.Client.Pages.Company.RollCall
|
||||
{
|
||||
@@ -18,17 +23,21 @@ namespace ServiceHost.Areas.Client.Pages.Company.RollCall
|
||||
private readonly IWorkshopApplication _workshopApplication;
|
||||
private readonly IRollCallServiceApplication _rollCallServiceApplication;
|
||||
private readonly IRollCallEmployeeApplication _rollCallEmployeeApplication;
|
||||
private readonly ICustomizeWorkshopSettingsApplication _rollCallWorkshopSettingsApplication;
|
||||
private readonly ICameraAccountApplication _cameraAccountApplication;
|
||||
private readonly ICustomizeWorkshopSettingsApplication _customizeWorkshopSettingsApplication;
|
||||
private readonly IPasswordHasher _passwordHasher;
|
||||
private readonly IAuthHelper _authHelper;
|
||||
|
||||
public string WorkshopFullName;
|
||||
public long WorkshopId;
|
||||
public bool CheckRollCallService;
|
||||
public string RollCallServicePersonnelActive;
|
||||
public string RollCallServiceDeadline;
|
||||
public string HasCameraAccount = "false";
|
||||
public string HasRollCallWorkshopSetting = "false";
|
||||
|
||||
public IndexModel(IWorkshopApplication workshopApplication, IRollCallServiceApplication rollCallServiceApplication, IRollCallEmployeeApplication rollCallEmployeeApplication, IPasswordHasher passwordHasher, ICameraAccountApplication cameraAccountApplication, IAuthHelper authHelper)
|
||||
public IndexModel(IWorkshopApplication workshopApplication, IRollCallServiceApplication rollCallServiceApplication, IRollCallEmployeeApplication rollCallEmployeeApplication, IPasswordHasher passwordHasher, ICameraAccountApplication cameraAccountApplication, IAuthHelper authHelper, ICustomizeWorkshopSettingsApplication rollCallWorkshopSettingsApplication, ICustomizeWorkshopSettingsApplication customizeWorkshopSettingsApplication)
|
||||
{
|
||||
_workshopApplication = workshopApplication;
|
||||
_rollCallServiceApplication = rollCallServiceApplication;
|
||||
@@ -36,17 +45,22 @@ namespace ServiceHost.Areas.Client.Pages.Company.RollCall
|
||||
_passwordHasher = passwordHasher;
|
||||
_cameraAccountApplication = cameraAccountApplication;
|
||||
_authHelper = authHelper;
|
||||
_rollCallWorkshopSettingsApplication = rollCallWorkshopSettingsApplication;
|
||||
_customizeWorkshopSettingsApplication = customizeWorkshopSettingsApplication;
|
||||
}
|
||||
|
||||
public IActionResult OnGet()
|
||||
{
|
||||
var workshopHash = User.FindFirstValue("WorkshopSlug");
|
||||
var workshopId = _passwordHasher.SlugDecrypt(workshopHash);
|
||||
if (workshopId < 0)
|
||||
return BadRequest();
|
||||
WorkshopId = workshopId;
|
||||
|
||||
if (workshopId <= 0)
|
||||
return NotFound();
|
||||
var rollCallWorkshopSetting = _rollCallWorkshopSettingsApplication.GetWorkshopSettingsByWorkshopId(workshopId);
|
||||
HasRollCallWorkshopSetting = rollCallWorkshopSetting.ArePropertiesEqual(new CustomizeWorkshopSettingsViewModel()) ? "false" : "true";
|
||||
|
||||
var workshopInfo = _workshopApplication.GetWorkshopInfo(workshopId);
|
||||
var workshopInfo = _workshopApplication.GetWorkshopInfo(workshopId);
|
||||
WorkshopFullName = workshopInfo.WorkshopFullName;
|
||||
|
||||
var hasBeforeService = _rollCallServiceApplication.GetAllServiceByWorkshopId(workshopId).Any();
|
||||
@@ -74,55 +88,92 @@ namespace ServiceHost.Areas.Client.Pages.Company.RollCall
|
||||
return Page();
|
||||
}
|
||||
|
||||
public IActionResult OnGetSaveCameraAccount()
|
||||
public IActionResult OnGetSaveCameraAccountAndWorkshopSetting()
|
||||
{
|
||||
return Partial("ModalCameraAccount");
|
||||
var accountId = _authHelper.CurrentAccountId();
|
||||
var workshopHash = User.FindFirstValue("WorkshopSlug");
|
||||
var workshopId = _passwordHasher.SlugDecrypt(workshopHash);
|
||||
if (workshopId < 1)
|
||||
return BadRequest();
|
||||
|
||||
|
||||
var cameraAccount = _cameraAccountApplication.HasCameraAccount(workshopId, accountId);
|
||||
var rollCallWorkshopSetting = _rollCallWorkshopSettingsApplication.GetWorkshopSettingsByWorkshopId(workshopId);
|
||||
|
||||
var result = new AccountAndSettingViewModel()
|
||||
{
|
||||
HasCamera = cameraAccount,
|
||||
HasGroupWorkshop = !rollCallWorkshopSetting.ArePropertiesEqual(new CustomizeWorkshopSettingsViewModel())
|
||||
};
|
||||
|
||||
return Partial("ModalCreateAccountSetting", result);
|
||||
}
|
||||
|
||||
public IActionResult OnPostSaveCameraAccount(CreateCameraAccount command)
|
||||
public IActionResult OnPostSaveCameraAccountAndWorkshopSetting(AccountAndSettingViewModel command)
|
||||
{
|
||||
if (User.Identity.IsAuthenticated)
|
||||
{
|
||||
var workshopHash = User.FindFirstValue("WorkshopSlug");
|
||||
var workshopId = _passwordHasher.SlugDecrypt(workshopHash);
|
||||
if (workshopId > 0)
|
||||
{
|
||||
var createCommand = new CreateCameraAccount()
|
||||
{
|
||||
WorkshopId = workshopId,
|
||||
AccountId = _authHelper.CurrentAccountId(),
|
||||
Username = command.Username,
|
||||
Password = command.Password,
|
||||
RePassword = command.RePassword,
|
||||
WorkshopName = _workshopApplication.GetDetails(workshopId).WorkshopFullName,
|
||||
IsActiveString = "true",
|
||||
};
|
||||
var result = _cameraAccountApplication.Create(createCommand);
|
||||
return new JsonResult(new
|
||||
{
|
||||
Success = result.IsSuccedded,
|
||||
message = result.Message,
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
return new JsonResult(new
|
||||
{
|
||||
Success = false,
|
||||
message = "هیچ کارگاهی یافت نشد",
|
||||
});
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return new JsonResult(new
|
||||
{
|
||||
Success = false,
|
||||
message = "درخواست شما نامعتبر است",
|
||||
});
|
||||
}
|
||||
}
|
||||
var workshopHash = User.FindFirstValue("WorkshopSlug");
|
||||
var workshopId = _passwordHasher.SlugDecrypt(workshopHash);
|
||||
if (workshopId < 1)
|
||||
return new JsonResult(new
|
||||
{
|
||||
Success = false,
|
||||
message = "هیچ کارگاهی یافت نشد",
|
||||
});
|
||||
|
||||
bool anySuccess = false;
|
||||
string finalMessage = "";
|
||||
|
||||
if (!command.HasCamera)
|
||||
{
|
||||
var createAccountCommand = new CreateCameraAccount()
|
||||
{
|
||||
WorkshopId = workshopId,
|
||||
AccountId = _authHelper.CurrentAccountId(),
|
||||
Username = command.CreateCameraAccount.Username,
|
||||
Password = command.CreateCameraAccount.Password,
|
||||
RePassword = command.CreateCameraAccount.RePassword,
|
||||
WorkshopName = _workshopApplication.GetDetails(workshopId).WorkshopFullName,
|
||||
IsActiveString = "true",
|
||||
};
|
||||
var resultAccount = _cameraAccountApplication.Create(createAccountCommand);
|
||||
if (resultAccount.IsSuccedded)
|
||||
{
|
||||
anySuccess = true;
|
||||
finalMessage = resultAccount.Message;
|
||||
}
|
||||
}
|
||||
|
||||
if (!command.HasGroupWorkshop)
|
||||
{
|
||||
var createWorkshopSettingCommand = new CreateCustomizeWorkshopSettings()
|
||||
{
|
||||
ShiftsList = command.CreateWorkshopSettings.ShiftsList
|
||||
};
|
||||
var resultWorkshopSetting = _rollCallWorkshopSettingsApplication.CreateWorkshopSettings(createWorkshopSettingCommand);
|
||||
if (resultWorkshopSetting.IsSuccedded)
|
||||
{
|
||||
anySuccess = true;
|
||||
finalMessage = resultWorkshopSetting.Message;
|
||||
}
|
||||
}
|
||||
|
||||
if (anySuccess)
|
||||
{
|
||||
return new JsonResult(new
|
||||
{
|
||||
Success = true,
|
||||
message = finalMessage,
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
return new JsonResult(new
|
||||
{
|
||||
Success = false,
|
||||
message = "هیچ عملیاتی موفقیتآمیز نبود",
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
public IActionResult OnGetCheckAccount(string username)
|
||||
{
|
||||
@@ -133,5 +184,37 @@ namespace ServiceHost.Areas.Client.Pages.Company.RollCall
|
||||
message = result.IsSuccedded ? "نام کاربری با مورد تاییداست" : result.Message,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
public IActionResult OnGetModalSettingRollCall()
|
||||
{
|
||||
var workshopHash = User.FindFirstValue("WorkshopSlug");
|
||||
var workshopId = _passwordHasher.SlugDecrypt(workshopHash);
|
||||
if (workshopId < 1)
|
||||
return BadRequest();
|
||||
|
||||
if (workshopId != 11)
|
||||
{
|
||||
var resultError = new ErrorViewModel()
|
||||
{
|
||||
Message = "شما مجاز به بخش نیستید."
|
||||
};
|
||||
return Partial("../Error/_ErrorModal", resultError);
|
||||
}
|
||||
|
||||
var command = _customizeWorkshopSettingsApplication.GetWorkshopSettingsDetails(workshopId);
|
||||
|
||||
return Partial("ModalSettingRollCall", command);
|
||||
}
|
||||
|
||||
public IActionResult OnPostSaveCustomWorkshopSettings(EditCustomizeWorkshopSettings command)
|
||||
{
|
||||
var result = _customizeWorkshopSettingsApplication.EditWorkshopSetting(command);
|
||||
|
||||
return new JsonResult(new
|
||||
{
|
||||
isSuccess = result.IsSuccedded,
|
||||
message = result.Message,
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,63 @@
|
||||
@model CompanyManagment.App.Contracts.CustomizeWorkshopSettings.CreateCustomizeEmployeeSettings
|
||||
@{
|
||||
}
|
||||
|
||||
<form role="form" method="post" name="create-form" id="create-form" autocomplete="off">
|
||||
<div class="modal-content" style="height: 450px;">
|
||||
<div class="modal-header d-block text-center">
|
||||
<button type="button" class="btn-close position-absolute text-start" data-bs-dismiss="modal" aria-label="Close"></button>
|
||||
<h5 class="modal-title" id="createNewGroupLabel">افزودن اعضاء به گروه</h5>
|
||||
</div>
|
||||
|
||||
<div class="modal-body">
|
||||
<div class="container-fluid">
|
||||
<div class="row g-2">
|
||||
<div class="col-12">
|
||||
<div class="d-flex align-items-center justify-content-between mb-3">
|
||||
<div class="from-group">
|
||||
<input class="form-check-input selectAll" type="checkbox" name="selectAll" id="selectAll">
|
||||
<label class="form-check-label" for="selectAll">
|
||||
انتخاب همه
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div class="from-group">
|
||||
<input type="text" class="form-control" placeholder="جستجو" id="search" onkeyup="searchMember()">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-12" style="overflow: auto; height: 230px;" id="PersonnelList">
|
||||
<div id="loadingSkeleton">
|
||||
@for (int j = 0; j < 30; j++)
|
||||
{
|
||||
<div class="skeleton-loader" style="margin: 2px 0 !important;"></div>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="modal-footer justify-content-center align-items-center">
|
||||
<div class="row">
|
||||
<div class="col-6 text-end">
|
||||
<button type="button" class="btn-cancel2" data-bs-dismiss="modal">انصراف</button>
|
||||
</div>
|
||||
<div class="col-6 text-start">
|
||||
<button type="button" class="btn-register" onclick="saveEmployeeData()">افزودن</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<script>
|
||||
var antiForgeryToken = $('@Html.AntiForgeryToken()').val();
|
||||
var loadEmployeeGroupAjax = `@Url.Page("./Grouping", "EmployeeGroupAjax")`;
|
||||
var saveEmployeeToGroupAjax = `@Url.Page("./Grouping", "CreateEmployee")`;
|
||||
var workshopSettingId = Number(@Model.WorkshopSettingId);
|
||||
var groupId = Number(@Model.GroupId);
|
||||
var workshopSettingId = Number(@Model.WorkshopSettingId);
|
||||
</script>
|
||||
<script src="~/assetsclient/pages/rollcall/js/modaladdemployeetogroup.js?ver=123645"></script>
|
||||
@@ -0,0 +1,266 @@
|
||||
@model CompanyManagment.App.Contracts.RollCall.AccountAndSettingViewModel
|
||||
@{
|
||||
<link rel="stylesheet" href="~/AssetsClient/css/rollcall-package.css">
|
||||
<style>
|
||||
.errored {
|
||||
animation: shake 300ms;
|
||||
color: #eb3434 !important;
|
||||
background-color: #fef2f2 !important;
|
||||
border: 1px solid #eb3434 !important;
|
||||
}
|
||||
|
||||
.modal-dialog, .modal-content {
|
||||
height: 420px;
|
||||
}
|
||||
|
||||
.timeWorkTitle {
|
||||
color: #5C5C5C;
|
||||
font-weight: 600;
|
||||
font-size: 12px;
|
||||
margin: auto 0 auto 6px;
|
||||
}
|
||||
|
||||
.groupBox {
|
||||
background-color: #F5F5F5;
|
||||
border-radius: 10px;
|
||||
border: 1px solid #E7E7E7;
|
||||
padding: 6px;
|
||||
margin: 6px 3px;
|
||||
}
|
||||
|
||||
.groupBox .form-control{
|
||||
background-color: #ffffff;
|
||||
}
|
||||
|
||||
.groupBox .form-control::placeholder {
|
||||
color: #bfbfbf;
|
||||
opacity: 1; /* Firefox */
|
||||
}
|
||||
|
||||
.groupBox .form-control::-ms-input-placeholder { /* Edge 12-18 */
|
||||
color: #bfbfbf;
|
||||
}
|
||||
|
||||
.btnAddTimeWork {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
background-color: #84CC16;
|
||||
border-radius: 5px;
|
||||
color: #ffffff;
|
||||
font-size: 12px;
|
||||
font-weight: 500;
|
||||
padding: 4px 8px;
|
||||
}
|
||||
|
||||
.btnRemoveTimeWork {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
background-color: #F87171;
|
||||
border-radius: 7px;
|
||||
padding: 3px;
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
}
|
||||
</style>
|
||||
}
|
||||
|
||||
<form role="form" method="post" name="create-form" id="create-form" autocomplete="off">
|
||||
|
||||
<input type="hidden" asp-for="@Model.HasCamera" />
|
||||
<input type="hidden" asp-for="@Model.HasGroupWorkshop" />
|
||||
|
||||
<div class="modal-content">
|
||||
<div class="modal-header d-block text-center mb-2">
|
||||
<button type="button" class="btn-close position-absolute text-start" data-bs-dismiss="modal" aria-label="Close"></button>
|
||||
<div class="d-flex justify-content-center align-items-center" style="margin: 15px 0 0 0;">
|
||||
<div class="step-progress">
|
||||
<h5 class="d-flex justify-content-center align-items-center" id="step-1">1</h5>
|
||||
<p>ساخت اکانت جدید</p>
|
||||
</div>
|
||||
|
||||
<div class="line"></div>
|
||||
|
||||
<div class="step-progress">
|
||||
<h5 class="d-flex justify-content-center align-items-center not-step" id="step-2">2</h5>
|
||||
<p>ساعات کاری مجموعه</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="modal-body">
|
||||
<div class="container p-0 m-0" id="step-form1">
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<div class="form-group text-start my-2">
|
||||
<label for="username">حساب کاربری</label>
|
||||
<div class="position-relative">
|
||||
<input type="text" class="form-control" id="username" asp-for="CreateCameraAccount.Username" placeholder="" style="direction: ltr;" />
|
||||
|
||||
<div class="position-absolute top-0 start-0 m-1 bg-transparent">
|
||||
<div class="spinner-border spinner-border-sm m-1 d-none" id="loadingSpinner" role="status">
|
||||
<span class="visually-hidden">Loading...</span>
|
||||
</div>
|
||||
<svg id="successSvg" class="d-none" width="28" height="28" viewBox="0 0 28 28" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<circle cx="14" cy="14" r="10.5" stroke="#65A30D" stroke-width="1.5"/>
|
||||
<path d="M9.33342 14L12.8334 17.5L18.6667 10.5" stroke="#65A30D" stroke-width="1.5" stroke-linecap="round"/>
|
||||
</svg>
|
||||
<svg id="errorSvg" class="d-none" width="28" height="28" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor">
|
||||
<path stroke="#ef4444" stroke-linecap="round" stroke-linejoin="round" d="m9.75 9.75 4.5 4.5m0-4.5-4.5 4.5M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z"/>
|
||||
</svg>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12">
|
||||
<div class="form-group text-start my-2">
|
||||
<label for="signupInputPassword">گذرواژه</label>
|
||||
<div class="position-relative">
|
||||
|
||||
<button type="button" class="position-absolute top-0 start-0 m-1 bg-transparent" onclick="passFunction()">
|
||||
<svg class="eyeShow" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M15.58 11.9999C15.58 13.9799 13.98 15.5799 12 15.5799C10.02 15.5799 8.42004 13.9799 8.42004 11.9999C8.42004 10.0199 10.02 8.41992 12 8.41992C13.98 8.41992 15.58 10.0199 15.58 11.9999Z" stroke="#292D32" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" />
|
||||
<path d="M12 20.27C15.53 20.27 18.82 18.19 21.11 14.59C22.01 13.18 22.01 10.81 21.11 9.39997C18.82 5.79997 15.53 3.71997 12 3.71997C8.46997 3.71997 5.17997 5.79997 2.88997 9.39997C1.98997 10.81 1.98997 13.18 2.88997 14.59C5.17997 18.19 8.46997 20.27 12 20.27Z" stroke="#292D32" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" />
|
||||
</svg>
|
||||
<svg class="eyeClose" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M14.53 9.46992L9.47004 14.5299C8.82004 13.8799 8.42004 12.9899 8.42004 11.9999C8.42004 10.0199 10.02 8.41992 12 8.41992C12.99 8.41992 13.88 8.81992 14.53 9.46992Z" stroke="#292D32" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" />
|
||||
<path d="M17.82 5.76998C16.07 4.44998 14.07 3.72998 12 3.72998C8.46997 3.72998 5.17997 5.80998 2.88997 9.40998C1.98997 10.82 1.98997 13.19 2.88997 14.6C3.67997 15.84 4.59997 16.91 5.59997 17.77" stroke="#292D32" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" />
|
||||
<path d="M8.42004 19.5299C9.56004 20.0099 10.77 20.2699 12 20.2699C15.53 20.2699 18.82 18.1899 21.11 14.5899C22.01 13.1799 22.01 10.8099 21.11 9.39993C20.78 8.87993 20.42 8.38993 20.05 7.92993" stroke="#292D32" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" />
|
||||
<path d="M15.5099 12.7C15.2499 14.11 14.0999 15.26 12.6899 15.52" stroke="#292D32" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" />
|
||||
<path d="M9.47 14.53L2 22" stroke="#292D32" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" />
|
||||
<path d="M22 2L14.53 9.47" stroke="#292D32" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" />
|
||||
</svg>
|
||||
</button>
|
||||
|
||||
<input asp-for="CreateCameraAccount.Password" type="password" class="form-control mb-1" id="signupInputPassword" aria-describedby="passwordHelp" placeholder="رمز جدید" style="direction: ltr;" />
|
||||
|
||||
<div class="input-icon-right peek-password-button" data-peek-password="signupInputPassword">
|
||||
<span class="peek-password-icon icon-visibility d-none"></span>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="password-strength-group" data-strength="">
|
||||
<div id="password-strength-meter" class="password-strength-meter" style="direction: ltr;">
|
||||
<div class="meter-block"></div>
|
||||
<div class="meter-block"></div>
|
||||
<div class="meter-block"></div>
|
||||
<div class="meter-block"></div>
|
||||
</div>
|
||||
|
||||
<div class="password-strength-message">
|
||||
<div class="message-item">
|
||||
ضعیف
|
||||
</div>
|
||||
|
||||
<div class="message-item">
|
||||
متوسط
|
||||
</div>
|
||||
|
||||
<div class="message-item">
|
||||
خوب
|
||||
</div>
|
||||
|
||||
<div class="message-item">
|
||||
عالی
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12">
|
||||
<div class="form-group mt-3">
|
||||
<div class="position-relative">
|
||||
<input type="password" asp-for="CreateCameraAccount.RePassword" class="form-control" id="repeat_password" placeholder="تکرار گذرواژه" style="direction: ltr;" />
|
||||
<button type="button" class="position-absolute top-0 start-0 m-1 bg-transparent" onclick="rePassFunction()">
|
||||
<svg class="reEyeShow" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M15.58 11.9999C15.58 13.9799 13.98 15.5799 12 15.5799C10.02 15.5799 8.42004 13.9799 8.42004 11.9999C8.42004 10.0199 10.02 8.41992 12 8.41992C13.98 8.41992 15.58 10.0199 15.58 11.9999Z" stroke="#292D32" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" />
|
||||
<path d="M12 20.27C15.53 20.27 18.82 18.19 21.11 14.59C22.01 13.18 22.01 10.81 21.11 9.39997C18.82 5.79997 15.53 3.71997 12 3.71997C8.46997 3.71997 5.17997 5.79997 2.88997 9.39997C1.98997 10.81 1.98997 13.18 2.88997 14.59C5.17997 18.19 8.46997 20.27 12 20.27Z" stroke="#292D32" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" />
|
||||
</svg>
|
||||
<svg class="reEyeClose" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M14.53 9.46992L9.47004 14.5299C8.82004 13.8799 8.42004 12.9899 8.42004 11.9999C8.42004 10.0199 10.02 8.41992 12 8.41992C12.99 8.41992 13.88 8.81992 14.53 9.46992Z" stroke="#292D32" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" />
|
||||
<path d="M17.82 5.76998C16.07 4.44998 14.07 3.72998 12 3.72998C8.46997 3.72998 5.17997 5.80998 2.88997 9.40998C1.98997 10.82 1.98997 13.19 2.88997 14.6C3.67997 15.84 4.59997 16.91 5.59997 17.77" stroke="#292D32" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" />
|
||||
<path d="M8.42004 19.5299C9.56004 20.0099 10.77 20.2699 12 20.2699C15.53 20.2699 18.82 18.1899 21.11 14.5899C22.01 13.1799 22.01 10.8099 21.11 9.39993C20.78 8.87993 20.42 8.38993 20.05 7.92993" stroke="#292D32" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" />
|
||||
<path d="M15.5099 12.7C15.2499 14.11 14.0999 15.26 12.6899 15.52" stroke="#292D32" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" />
|
||||
<path d="M9.47 14.53L2 22" stroke="#292D32" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" />
|
||||
<path d="M22 2L14.53 9.47" stroke="#292D32" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" />
|
||||
</svg>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12">
|
||||
<p class="m-0" id="ShowAccountMessage"></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="container p-0 m-0" id="step-form2" style="display:none">
|
||||
<div class="row">
|
||||
<div class="col-12" id="appendChildTimeWorkHtml">
|
||||
<div class="groupBox">
|
||||
<div class="row align-items-center justify-content-between">
|
||||
|
||||
<div class="col-2 d-flex align-items-center">
|
||||
<input type="hidden" name="CreateWorkshopSettings.ShiftsList[0].Placement" value="First" />
|
||||
<div class="timeWorkTitle">نوبت اول</div>
|
||||
</div>
|
||||
|
||||
<div class="col-4 d-flex align-items-center">
|
||||
<div class="timeWorkTitle">از</div>
|
||||
<input type="text" class="form-control text-center dateTime" name="CreateWorkshopSettings.ShiftsList[0].StartTime" placeholder="00:00" style="direction: ltr;">
|
||||
</div>
|
||||
|
||||
<div class="col-4 d-flex align-items-center">
|
||||
<div class="timeWorkTitle">الی</div>
|
||||
<input type="text" class="form-control text-center dateTime" name="CreateWorkshopSettings.ShiftsList[0].EndTime" placeholder="00:00" style="direction: ltr;">
|
||||
</div>
|
||||
<div class="col-2 d-flex align-items-center justify-content-end">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="d-flex align-items-center justify-content-center w-100 my-2">
|
||||
<button type="button" class="btnAddTimeWork">
|
||||
<svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<circle cx="11" cy="11" r="8.25" stroke="white"/>
|
||||
<path d="M11 13.75L11 8.25" stroke="white" stroke-linecap="round"/>
|
||||
<path d="M13.75 11L8.25 11" stroke="white" stroke-linecap="round"/>
|
||||
</svg>
|
||||
<div class="mx-1 btnAppendChildTimeWork">افزودن نوبت دوم</div>
|
||||
</button>
|
||||
</div>
|
||||
<div class="col-12">
|
||||
<p class="m-0" id="ShowSettingMessage"></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="modal-footer">
|
||||
<div class="container m-0">
|
||||
<div class="row">
|
||||
<div class="col-6 text-end">
|
||||
<button type="button" class="btn-cancel2 justify-content-center w-100" id="prev-step">انصراف</button>
|
||||
</div>
|
||||
<div class="col-6 text-start">
|
||||
<button type="button" class="btn-register w-100" id="next-step">مرحله بعد</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<script src="~/assetsclient/libs/cleave/cleave.min.js"></script>
|
||||
<script>
|
||||
var antiForgeryToken = $('@Html.AntiForgeryToken()').val();
|
||||
var checkAccountAjax = `@Url.Page("./Index", "CheckAccount")`;
|
||||
var hasCamera = @(Model.HasCamera ? "true" : "false");
|
||||
var hasGroupWorkshop = @(Model.HasGroupWorkshop ? "true" : "false");
|
||||
var saveCameraAccountAndWorkshopSettingAjax = `@Url.Page("./Index", "SaveCameraAccountAndWorkshopSetting")`;
|
||||
</script>
|
||||
<script src="~/assetsclient/pages/rollcall/js/modalcameraaccount.js?ver=151515"></script>
|
||||
@@ -0,0 +1,154 @@
|
||||
@model CompanyManagment.App.Contracts.CustomizeWorkshopSettings.CreateCustomizeWorkshopGroupSettings
|
||||
|
||||
<style>
|
||||
.errored {
|
||||
animation: shake 300ms;
|
||||
color: #eb3434 !important;
|
||||
background-color: #fef2f2 !important;
|
||||
border: 1px solid #eb3434 !important;
|
||||
}
|
||||
|
||||
.modal-dialog, .modal-content {
|
||||
height: 420px;
|
||||
}
|
||||
|
||||
.timeWorkTitle {
|
||||
color: #5C5C5C;
|
||||
font-weight: 600;
|
||||
font-size: 12px;
|
||||
margin: auto 0 auto 6px;
|
||||
}
|
||||
|
||||
.form-control {
|
||||
background-color: #ffffff !important;
|
||||
}
|
||||
|
||||
.groupBox {
|
||||
background-color: #F5F5F5;
|
||||
border-radius: 10px;
|
||||
border: 1px solid #E7E7E7;
|
||||
padding: 6px;
|
||||
margin: 6px 3px;
|
||||
}
|
||||
|
||||
.groupBox .form-control {
|
||||
background-color: #ffffff;
|
||||
}
|
||||
|
||||
.groupBox .form-control::placeholder {
|
||||
color: #bfbfbf;
|
||||
opacity: 1; /* Firefox */
|
||||
}
|
||||
|
||||
.groupBox .form-control::-ms-input-placeholder { /* Edge 12-18 */
|
||||
color: #bfbfbf;
|
||||
}
|
||||
|
||||
.btnAddTimeWork {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
background-color: #84CC16;
|
||||
border-radius: 5px;
|
||||
color: #ffffff;
|
||||
font-size: 12px;
|
||||
font-weight: 500;
|
||||
padding: 4px 8px;
|
||||
}
|
||||
|
||||
.btnRemoveTimeWork {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
background-color: #F87171;
|
||||
border-radius: 7px;
|
||||
padding: 3px;
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
}
|
||||
</style>
|
||||
|
||||
<form role="form" method="post" name="create-form" id="create-form" autocomplete="off">
|
||||
|
||||
<input type="hidden" asp-for="@Model.CustomizeWorkshopSettingId" />
|
||||
|
||||
<div class="modal-content">
|
||||
<div class="modal-header d-block text-center mb-2">
|
||||
<button type="button" class="btn-close position-absolute text-start" data-bs-dismiss="modal" aria-label="Close"></button>
|
||||
<h6>ساعات کاری مجموعه</h6>
|
||||
</div>
|
||||
|
||||
<div class="modal-body">
|
||||
<div class="container p-0 m-0">
|
||||
<div class="row">
|
||||
<div class="col-12" id="appendChildTimeWorkHtml">
|
||||
<div class="row">
|
||||
<div class="col-6 d-flex align-items-center">
|
||||
<input type="text" class="form-control" asp-for="@Model.Name" placeholder="نام گروه"/>
|
||||
</div>
|
||||
<div class="col-6 d-flex align-items-center position-relative">
|
||||
<input type="text" class="form-control money" asp-for="@Model.Salary" placeholder="حقوق" />
|
||||
<span class="position-absolute" style="left: 20px;font-size: 12px;">ریال</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="groupBox">
|
||||
<div class="row align-items-center justify-content-between">
|
||||
<div class="col-3 d-flex align-items-center">
|
||||
<input type="hidden" name="ShiftViewModel[0].Placement" id="Placement" value="First" />
|
||||
<div class="timeWorkTitle">نوبت اول</div>
|
||||
</div>
|
||||
|
||||
<div class="col-4 d-flex align-items-center">
|
||||
<div class="timeWorkTitle">از</div>
|
||||
<input type="text" class="form-control text-center dateTime" id="startDateTime" name="ShiftViewModel[0].StartTime" placeholder="00:00" style="direction: ltr;">
|
||||
</div>
|
||||
|
||||
<div class="col-4 d-flex align-items-center">
|
||||
<div class="timeWorkTitle">الی</div>
|
||||
<input type="text" class="form-control text-center dateTime" id="endDateTime" name="ShiftViewModel[0].EndTime" placeholder="00:00" style="direction: ltr;">
|
||||
</div>
|
||||
<div class="col-1 d-flex align-items-center justify-content-end">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="d-flex align-items-center justify-content-center w-100 my-2">
|
||||
<button type="button" class="btnAddTimeWork">
|
||||
<svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<circle cx="11" cy="11" r="8.25" stroke="white" />
|
||||
<path d="M11 13.75L11 8.25" stroke="white" stroke-linecap="round" />
|
||||
<path d="M13.75 11L8.25 11" stroke="white" stroke-linecap="round" />
|
||||
</svg>
|
||||
<div class="mx-1 btnAppendChildTimeWork">افزودن نوبت دوم</div>
|
||||
</button>
|
||||
</div>
|
||||
<div class="col-12">
|
||||
<p class="m-0" id="ShowSettingMessage"></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="modal-footer">
|
||||
<div class="container m-0">
|
||||
<div class="row">
|
||||
<div class="col-6 text-end">
|
||||
<button type="button" class="btn-cancel2 d-flex justify-content-center w-100">انصراف</button>
|
||||
</div>
|
||||
<div class="col-6 text-start">
|
||||
<button type="button" id="btnSave" class="btn-register w-100" onclick="ajaxSaveData()">ثبت</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<script src="~/assetsclient/libs/cleave/cleave.min.js"></script>
|
||||
<script>
|
||||
var antiForgeryToken = $('@Html.AntiForgeryToken()').val();
|
||||
var ajaxCreateGroup = `@Url.Page("./Grouping", "CreateGroup")`;
|
||||
</script>
|
||||
<script src="~/assetsclient/pages/rollcall/js/modalcreategroup.js?ver=12123"></script>
|
||||
@@ -0,0 +1,180 @@
|
||||
@model CompanyManagment.App.Contracts.CustomizeWorkshopSettings.EditCustomizeEmployeeSettings
|
||||
|
||||
@{
|
||||
int iteration = 0;
|
||||
int indexEmployee = 0;
|
||||
}
|
||||
<style>
|
||||
.errored {
|
||||
animation: shake 300ms;
|
||||
color: #eb3434 !important;
|
||||
background-color: #fef2f2 !important;
|
||||
border: 1px solid #eb3434 !important;
|
||||
}
|
||||
|
||||
.modal-dialog, .modal-content {
|
||||
height: 420px;
|
||||
}
|
||||
|
||||
.timeWorkTitle {
|
||||
color: #5C5C5C;
|
||||
font-weight: 600;
|
||||
font-size: 12px;
|
||||
margin: auto 0 auto 6px;
|
||||
}
|
||||
|
||||
.groupBox {
|
||||
background-color: #F5F5F5;
|
||||
border-radius: 10px;
|
||||
border: 1px solid #E7E7E7;
|
||||
padding: 6px;
|
||||
margin: 6px 3px;
|
||||
}
|
||||
|
||||
.groupBox .form-control {
|
||||
background-color: #ffffff;
|
||||
}
|
||||
|
||||
.btnAddTimeWork {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
background-color: #84CC16;
|
||||
border-radius: 5px;
|
||||
color: #ffffff;
|
||||
font-size: 12px;
|
||||
font-weight: 500;
|
||||
padding: 4px 8px;
|
||||
}
|
||||
|
||||
.btnRemoveTimeWork {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
background-color: #F87171;
|
||||
border-radius: 7px;
|
||||
padding: 3px;
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
}
|
||||
</style>
|
||||
|
||||
<form role="form" method="post" name="edit-employee-form" id="edit-employee-form" autocomplete="off">
|
||||
|
||||
<input type="hidden" name="Command.Id" value="@Model.Id" />
|
||||
|
||||
@foreach (var itemEmployee in Model.EmployeeIds)
|
||||
{
|
||||
<input type="hidden" name="Command.EmployeeIds[@indexEmployee]" value="@itemEmployee" />
|
||||
indexEmployee++;
|
||||
}
|
||||
|
||||
<div class="modal-content">
|
||||
<div class="modal-header d-block text-center mb-2">
|
||||
<button type="button" class="btn-close position-absolute text-start" data-bs-dismiss="modal" aria-label="Close"></button>
|
||||
<h6>ویرایش پرسنل @Model.EmployeeFullName</h6>
|
||||
</div>
|
||||
|
||||
<div class="modal-body">
|
||||
<div class="container p-0 m-0">
|
||||
<div class="row">
|
||||
<div class="col-12" id="appendChildTimeWorkHtml">
|
||||
<div class="row">
|
||||
<div class="col-6 d-flex align-items-center">
|
||||
<input type="text" class="form-control" value="@Model.NameGroup" placeholder="نام گروه" disabled="disabled" />
|
||||
</div>
|
||||
|
||||
<div class="col-6 d-flex align-items-center position-relative">
|
||||
<input type="text" class="form-control money" name="Command.Salary" value="@Model.Salary" placeholder="حقوق" />
|
||||
<span class="position-absolute" style="left: 20px; font-size: 12px;">ریال</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@foreach (var item in Model.ShiftViewModel)
|
||||
{
|
||||
<div class="groupBox">
|
||||
<div class="row align-items-center justify-content-between">
|
||||
<div class="col-3 d-flex align-items-center">
|
||||
<input type="hidden" name="Command.ShiftViewModel[@iteration].Placement" value="@item.Placement" />
|
||||
<div class="timeWorkTitle">
|
||||
@(item.Placement.ToString() == "First" ? "نوبت اول" : (item.Placement.ToString() == "Second" ? "نوبت دوم" : "نوبت سوم"))
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-4 d-flex align-items-center">
|
||||
<div class="timeWorkTitle">از</div>
|
||||
<input type="text" class="form-control text-center dateTime" name="Command.ShiftViewModel[@iteration].StartTime" value="@item.StartTime" placeholder="00:00" style="direction: ltr;" />
|
||||
</div>
|
||||
|
||||
<div class="col-4 d-flex align-items-center">
|
||||
<div class="timeWorkTitle">الی</div>
|
||||
<input type="text" class="form-control text-center dateTime" name="Command.ShiftViewModel[@iteration].EndTime" value="@item.EndTime" placeholder="00:00" style="direction: ltr;" />
|
||||
</div>
|
||||
@if (iteration == 0)
|
||||
{
|
||||
<div class="col-1 d-flex align-items-center justify-content-end">
|
||||
</div>
|
||||
}
|
||||
else
|
||||
{
|
||||
<div class="col-1 d-flex align-items-center justify-content-end">
|
||||
<button type="button" class="btnRemoveTimeWork">
|
||||
<svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<circle cx="11" cy="11" r="8.25" stroke="white" />
|
||||
<path d="M6.875 11H15.125" stroke="white" />
|
||||
</svg>
|
||||
</button>
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
iteration++;
|
||||
}
|
||||
</div>
|
||||
<div class="d-flex align-items-center justify-content-center w-100 my-2">
|
||||
<button type="button" class="btnAddTimeWork">
|
||||
<svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<circle cx="11" cy="11" r="8.25" stroke="white" />
|
||||
<path d="M11 13.75L11 8.25" stroke="white" stroke-linecap="round" />
|
||||
<path d="M13.75 11L8.25 11" stroke="white" stroke-linecap="round" />
|
||||
</svg>
|
||||
@if (Model.ShiftViewModel.Count() == 2)
|
||||
{
|
||||
<div class="mx-1 btnAppendChildTimeWork">افزودن نوبت سوم</div>
|
||||
}
|
||||
else
|
||||
{
|
||||
<div class="mx-1 btnAppendChildTimeWork">افزودن نوبت دوم</div>
|
||||
}
|
||||
</button>
|
||||
</div>
|
||||
<div class="col-12">
|
||||
<p class="m-0" id="ShowSettingMessage"></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="modal-footer">
|
||||
<div class="container m-0">
|
||||
<div class="row">
|
||||
<div class="col-6 text-end">
|
||||
<button type="button" class="btn-cancel2 d-flex justify-content-center w-100">انصراف</button>
|
||||
</div>
|
||||
<div class="col-6 text-start">
|
||||
<button type="button" id="btnSave" class="btn-register w-100" onclick="ajaxEditEmployeeSaveData()">ثبت ویرایش</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<script src="~/assetsclient/libs/cleave/cleave.min.js"></script>
|
||||
<script>
|
||||
var antiForgeryToken = $('@Html.AntiForgeryToken()').val();
|
||||
var ajaxEditEmployee = `@Url.Page("./Grouping", "EditEmployee")`;
|
||||
var indexShiftViewModel = Number(@iteration);
|
||||
</script>
|
||||
<script src="~/assetsclient/pages/rollcall/js/modaleditEmployeegroup.js?ver=85288741"></script>
|
||||
@@ -0,0 +1,333 @@
|
||||
@model CompanyManagment.App.Contracts.CustomizeWorkshopSettings.EditCustomizeWorkshopGroupSettings
|
||||
@{
|
||||
int indexShiftViewModel = 0;
|
||||
}
|
||||
|
||||
<style>
|
||||
.errored {
|
||||
animation: shake 300ms;
|
||||
color: #eb3434 !important;
|
||||
background-color: #fef2f2 !important;
|
||||
border: 1px solid #eb3434 !important;
|
||||
}
|
||||
|
||||
.modal-dialog, .modal-content {
|
||||
height: 420px;
|
||||
}
|
||||
|
||||
.timeWorkTitle {
|
||||
color: #5C5C5C;
|
||||
font-weight: 600;
|
||||
font-size: 12px;
|
||||
margin: auto 0 auto 6px;
|
||||
}
|
||||
|
||||
|
||||
.form-control {
|
||||
background-color: #ffffff !important;
|
||||
}
|
||||
|
||||
.groupBox {
|
||||
background-color: #F5F5F5;
|
||||
border-radius: 10px;
|
||||
border: 1px solid #E7E7E7;
|
||||
padding: 6px;
|
||||
margin: 6px 3px;
|
||||
}
|
||||
|
||||
.groupBox .form-control {
|
||||
background-color: #ffffff;
|
||||
}
|
||||
|
||||
.groupBox .form-control::placeholder {
|
||||
color: #bfbfbf;
|
||||
opacity: 1; /* Firefox */
|
||||
}
|
||||
|
||||
.groupBox .form-control::-ms-input-placeholder { /* Edge 12-18 */
|
||||
color: #bfbfbf;
|
||||
}
|
||||
|
||||
.btnAddTimeWork {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
background-color: #84CC16;
|
||||
border-radius: 5px;
|
||||
color: #ffffff;
|
||||
font-size: 12px;
|
||||
font-weight: 500;
|
||||
padding: 4px 8px;
|
||||
}
|
||||
|
||||
.btnRemoveTimeWork {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
background-color: #F87171;
|
||||
border-radius: 7px;
|
||||
padding: 3px;
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
}
|
||||
|
||||
.submit-is-change-modal {
|
||||
display: none;
|
||||
position: fixed;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
transform: translate(-50%, -50%);
|
||||
z-index: 30;
|
||||
}
|
||||
|
||||
.submit-is-change-modal .modal-content {
|
||||
height: 520px;
|
||||
}
|
||||
|
||||
.overlay-black-modal {
|
||||
display: none;
|
||||
position: fixed;
|
||||
background-color: #00000070;
|
||||
top: 0;
|
||||
right: 0;
|
||||
width: 100%;
|
||||
height: 100vh;
|
||||
z-index: 26;
|
||||
}
|
||||
|
||||
.card-list-employee {
|
||||
height: 280px;
|
||||
background: #F5F5F5;
|
||||
border: 1px solid #E7E7E7;
|
||||
border-radius: 10px;
|
||||
padding: 6px 10px;
|
||||
overflow-y: scroll;
|
||||
}
|
||||
|
||||
.card-list-employee .card-employee {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
padding: 4px 5px;
|
||||
background: #ECFFFF;
|
||||
border: 1px solid #EAEAEA;
|
||||
border-radius: 5px;
|
||||
margin: 4px 0;
|
||||
}
|
||||
|
||||
.card-list-employee .card-employee span {
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
background-color: #A7EAEA;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
border-radius: 5px;
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
.card-list-employee .card-employee p {
|
||||
font-size: 14px;
|
||||
margin: 0 5px !important;
|
||||
}
|
||||
|
||||
|
||||
/************************ Radio Button Input (Like Checkbox appearance) ************************/
|
||||
.form-check-input[type="radio"],
|
||||
.form-check-input[type="checkbox"] {
|
||||
width: 15px;
|
||||
height: 15px;
|
||||
border-radius: 6px;
|
||||
padding: 8px;
|
||||
border: 1px solid #CFD3D4;
|
||||
background-color: white;
|
||||
background-position: center;
|
||||
background-size: contain;
|
||||
background-repeat: no-repeat;
|
||||
margin-right: 8px;
|
||||
appearance: none;
|
||||
}
|
||||
|
||||
.form-check-input[type="radio"]:checked,
|
||||
.form-check-input[type="checkbox"]:checked {
|
||||
background-color: #148989;
|
||||
border: 1px solid #ffffff !important;
|
||||
background-image: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="white" stroke-width="3"%3E%3Cpath stroke-linecap="round" stroke-linejoin="round" d="M5 13l4 4L19 7" /%3E%3C/svg%3E');
|
||||
background-size: 75%;
|
||||
}
|
||||
|
||||
.form-check-input[type="radio"]:focus,
|
||||
.form-check-input[type="checkbox"]:focus {
|
||||
outline: none;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
.form-check-input[type="radio"] + label,
|
||||
.form-check-input[type="checkbox"] + label {
|
||||
color: #83898C;
|
||||
}
|
||||
|
||||
.form-check-input[type="radio"]:checked + label,
|
||||
.form-check-input[type="checkbox"]:checked + label {
|
||||
color: #2B2F32;
|
||||
}
|
||||
/************************ Radio Button Input (Like Checkbox appearance) ************************/
|
||||
|
||||
</style>
|
||||
|
||||
<form role="form" method="post" name="edit-form" id="edit-form" autocomplete="off">
|
||||
<input type="hidden" asp-for="@Model.CustomizeWorkshopSettingId" />
|
||||
|
||||
<div class="modal-content">
|
||||
<div class="modal-header d-block text-center mb-2">
|
||||
<button type="button" class="btn-close position-absolute text-start" data-bs-dismiss="modal" aria-label="Close"></button>
|
||||
<h6>ساعات کاری مجموعه</h6>
|
||||
</div>
|
||||
|
||||
<div class="modal-body">
|
||||
<div class="container p-0 m-0">
|
||||
<div class="row">
|
||||
<div class="col-12" id="appendChildTimeWorkHtml">
|
||||
<div class="row">
|
||||
<input type="hidden" asp-for="@Model.Id" />
|
||||
<div class="col-6 d-flex align-items-center">
|
||||
<input type="text" class="form-control" asp-for="@Model.Name" placeholder="نام گروه"/>
|
||||
</div>
|
||||
<div class="col-6 d-flex align-items-center position-relative">
|
||||
<input type="text" class="form-control money" asp-for="@Model.Salary" placeholder="حقوق"/>
|
||||
<span class="position-absolute" style="left: 20px;font-size: 12px;">ریال</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@foreach (var item in Model.ShiftViewModel)
|
||||
{
|
||||
<div class="groupBox">
|
||||
<div class="row align-items-center justify-content-between">
|
||||
<div class="col-3 d-flex align-items-center">
|
||||
<input type="hidden" name="ShiftViewModel[@indexShiftViewModel].Placement" value="@item.Placement" />
|
||||
<div class="timeWorkTitle">نوبت اول</div>
|
||||
</div>
|
||||
|
||||
<div class="col-4 d-flex align-items-center">
|
||||
<div class="timeWorkTitle">از</div>
|
||||
<input type="text" class="form-control text-center dateTime" name="ShiftViewModel[@indexShiftViewModel].StartTime" value="@item.StartTime" placeholder="00:00" style="direction: ltr;" />
|
||||
</div>
|
||||
|
||||
<div class="col-4 d-flex align-items-center">
|
||||
<div class="timeWorkTitle">الی</div>
|
||||
<input type="text" class="form-control text-center dateTime" name="ShiftViewModel[@indexShiftViewModel].EndTime" value="@item.EndTime" placeholder="00:00" style="direction: ltr;" />
|
||||
</div>
|
||||
@if (indexShiftViewModel == 0)
|
||||
{
|
||||
<div class="col-1 d-flex align-items-center justify-content-end">
|
||||
</div>
|
||||
}
|
||||
else
|
||||
{
|
||||
<div class="col-1 d-flex align-items-center justify-content-end">
|
||||
<button type="button" class="btnRemoveTimeWork">
|
||||
<svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<circle cx="11" cy="11" r="8.25" stroke="white" />
|
||||
<path d="M6.875 11H15.125" stroke="white" />
|
||||
</svg>
|
||||
</button>
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
@{
|
||||
indexShiftViewModel++;
|
||||
}
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
<div class="d-flex align-items-center justify-content-center w-100 my-2">
|
||||
<button type="button" class="btnAddTimeWork">
|
||||
<svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<circle cx="11" cy="11" r="8.25" stroke="white" />
|
||||
<path d="M11 13.75L11 8.25" stroke="white" stroke-linecap="round" />
|
||||
<path d="M13.75 11L8.25 11" stroke="white" stroke-linecap="round" />
|
||||
</svg>
|
||||
@if (Model.ShiftViewModel.Count() == 2)
|
||||
{
|
||||
<div class="mx-1 btnAppendChildTimeWork">افزودن نوبت سوم</div>
|
||||
}
|
||||
else
|
||||
{
|
||||
<div class="mx-1 btnAppendChildTimeWork">افزودن نوبت دوم</div>
|
||||
}
|
||||
</button>
|
||||
</div>
|
||||
<div class="col-12">
|
||||
<p class="m-0" id="ShowSettingMessage"></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="overlay-black-modal"></div>
|
||||
<div id="submitIsChangeForEmployee" class="submit-is-change-modal">
|
||||
<div class="modal-dialog modal-dialog-centered">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header d-block text-center mb-2">
|
||||
<button type="button" class="btn-close position-absolute text-start"></button>
|
||||
<h6>تغییرات انجام شده آماده اعمال میباشد</h6>
|
||||
</div>
|
||||
|
||||
<div class="modal-body">
|
||||
<p>پرسنل زیر بصورت سفارشی قبلا تنظیم شدهاند:</p>
|
||||
<div class="card-list-employee" id="loadIsChangeEmployee"></div>
|
||||
<div class="d-flex align-items-center mt-2">
|
||||
<p class="m-0">آیا تغییرات کنونی شامل پرسنل بالا بشود؟</p>
|
||||
<div class="form-group my-1 ms-2">
|
||||
<input type="radio" asp-for="@Model.ChangeSettingEmployeeIsChange" id="YesIsChange" class="form-check-input" value="@((bool)(true))" />
|
||||
<label for="YesIsChange">بله</label>
|
||||
</div>
|
||||
<div class="form-group my-1 ms-2">
|
||||
<input type="radio" asp-for="@Model.ChangeSettingEmployeeIsChange" id="NoIsChange" class="form-check-input" value="@((bool)(false))" />
|
||||
<label for="NoIsChange">خیر</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="modal-footer">
|
||||
<div class="container m-0">
|
||||
<div class="row">
|
||||
<div class="col-6 text-end">
|
||||
<button type="button" id="closeEmployeeIsChange" class="btn-cancel justify-content-center w-100">انصراف</button>
|
||||
</div>
|
||||
<div class="col-6 text-start">
|
||||
<button type="button" onclick="ajaxSaveSubmit()" class="btn-register w-100">تایید</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="modal-footer">
|
||||
<div class="container m-0">
|
||||
<div class="row">
|
||||
<div class="col-6 text-end">
|
||||
<button type="button" class="btn-cancel2 justify-content-center w-100">انصراف</button>
|
||||
</div>
|
||||
<div class="col-6 text-start">
|
||||
<button type="button" id="btnSave" class="btn-register w-100" onclick="ajaxEditGroupingSaveData()">ثبت ویرایش</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<script src="~/assetsclient/libs/cleave/cleave.min.js"></script>
|
||||
<script>
|
||||
var antiForgeryToken = $(`@Html.AntiForgeryToken()`).val();
|
||||
var ajaxEditGroupSave = `@Url.Page("./Grouping", "EditGroup")`;
|
||||
var ajaxEmployeeIsChangeList = `@Url.Page("./Grouping", "EmployeeIsChangeList")`;
|
||||
|
||||
var indexShiftViewModel = Number(@indexShiftViewModel);
|
||||
var groupId = Number(@Model.Id);
|
||||
var showModalEmployeeIsChange = @(@Model.ChangeSettingEmployeeIsChange ? "true" : "false");
|
||||
</script>
|
||||
<script src="~/assetsclient/pages/rollcall/js/modaleditgroup.js?ver=859271141"></script>
|
||||
@@ -0,0 +1,221 @@
|
||||
@model CompanyManagment.App.Contracts.CustomizeWorkshopSettings.EditCustomizeWorkshopGroupSettings
|
||||
@{
|
||||
string clientVersion = _0_Framework.Application.Version.StyleVersion;
|
||||
int index = 1;
|
||||
int i = 0;
|
||||
int indexShift = 0;
|
||||
<link href="~/assetsclient/css/card.css?ver=" rel="stylesheet"/>
|
||||
<link href="~/assetsclient/pages/rollcall/css/modalrollcallsetting.css?ver=@clientVersion" rel="stylesheet" />
|
||||
}
|
||||
|
||||
<div class="modal-body p-0 selectTextNone">
|
||||
<div class="container-fluid">
|
||||
<button type="button" class="btn-header-close position-absolute text-start" data-bs-dismiss="modal" aria-label="Close">
|
||||
<svg width="30" height="30" viewBox="0 0 45 46" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M22.5 40.25C20.2839 40.25 18.0896 39.8038 16.0422 38.9369C13.9948 38.07 12.1346 36.7994 10.5676 35.1976C9.00058 33.5958 7.75758 31.6942 6.90953 29.6013C6.06148 27.5084 5.625 25.2653 5.625 23C5.625 20.7347 6.06149 18.4916 6.90953 16.3987C7.75758 14.3058 9.00059 12.4042 10.5676 10.8024C12.1346 9.2006 13.9949 7.92997 16.0422 7.06308C18.0896 6.19618 20.2839 5.75 22.5 5.75C24.7161 5.75 26.9104 6.19619 28.9578 7.06308C31.0052 7.92997 32.8654 9.2006 34.4324 10.8024C35.9994 12.4042 37.2424 14.3058 38.0905 16.3987C38.9385 18.4916 39.375 20.7347 39.375 23C39.375 25.2653 38.9385 27.5084 38.0905 29.6013C37.2424 31.6942 35.9994 33.5958 34.4324 35.1976C32.8654 36.7994 31.0051 38.07 28.9578 38.9369C26.9104 39.8038 24.7161 40.25 22.5 40.25L22.5 40.25Z" stroke="#33363F" stroke-width="2" stroke-linecap="round" />
|
||||
<path d="M16.875 17.25L28.125 28.75" stroke="#33363F" stroke-width="2" stroke-linecap="round" />
|
||||
<path d="M28.125 17.25L16.875 28.75" stroke="#33363F" stroke-width="2" stroke-linecap="round" />
|
||||
</svg>
|
||||
</button>
|
||||
<div class="row borderBottomHeader">
|
||||
<div class="sidebarRollCallMenu">
|
||||
<h5 class="titleHead text-center m-0" id="rollCallSettingModalLabel">تنظیمات حضور و غیاب</h5>
|
||||
</div>
|
||||
<div class="sidebarRollCallForm">
|
||||
<h5 class="titleHead text-center m-0" id="rollCallSettingModalHead">جمعه کاری و اضافه کاری</h5>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="sidebarRollCallMenu">
|
||||
<ul>
|
||||
@* <li class="d-flex align-items-center justify-content-start" data-target="FormWorkTimeSetting">
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<circle cx="12" cy="12" r="9" fill="#9CD8D8"/>
|
||||
<path d="M12 5.3C12 5.15741 12 5.08611 12.0462 5.04182C12.0925 4.99753 12.1616 5.0005 12.2999 5.00643C13.4246 5.05465 14.5226 5.37351 15.5 5.93782C16.5641 6.5522 17.4478 7.43587 18.0622 8.5C18.6766 9.56413 19 10.7712 19 12C19 13.2288 18.6766 14.4359 18.0622 15.5C17.4478 16.5641 16.5641 17.4478 15.5 18.0622C14.4359 18.6766 13.2288 19 12 19C10.7712 19 9.56413 18.6766 8.5 18.0622C7.52259 17.4979 6.69743 16.7064 6.09335 15.7565C6.01906 15.6397 5.98191 15.5813 5.99716 15.5191C6.0124 15.4569 6.07414 15.4213 6.19763 15.35L11.85 12.0866C11.9232 12.0443 11.9598 12.0232 11.9799 11.9884C12 11.9536 12 11.9113 12 11.8268V5.3Z" fill="#23A8A8"/>
|
||||
</svg>
|
||||
<span>تنظیم ساعات کاری مجموعه</span>
|
||||
</li> *@
|
||||
@* <li class="d-flex align-items-center justify-content-start" data-target="FormMonthlySalariesAndWorkingHoursOfPersonnel">
|
||||
<svg width="24" height="24" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M1.5 6C1.5 4.34314 2.84314 3 4.5 3H13.5C15.1568 3 16.5 4.34314 16.5 6V6.375C16.5 6.5821 16.3321 6.75 16.125 6.75H1.875C1.66789 6.75 1.5 6.5821 1.5 6.375V6ZM1.875 8.25C1.66789 8.25 1.5 8.41792 1.5 8.625V12C1.5 13.6568 2.84314 15 4.5 15H13.5C15.1568 15 16.5 13.6568 16.5 12V8.625C16.5 8.41792 16.3321 8.25 16.125 8.25H1.875ZM9.75 11.25C9.75 10.8358 10.0858 10.5 10.5 10.5H12.75C13.1642 10.5 13.5 10.8358 13.5 11.25C13.5 11.6642 13.1642 12 12.75 12H10.5C10.0858 12 9.75 11.6642 9.75 11.25Z" fill="#9CD8D8"/>
|
||||
</svg>
|
||||
<span>حقوق ماهانه و ساعت کاری پرسنل</span>
|
||||
</li> *@
|
||||
<li class="d-flex align-items-center justify-content-start current complete1" data-target="FormFridayPayAndOvertimePay">
|
||||
<svg width="24" height="24" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g clip-path="url(#clip0_2636_25863)">
|
||||
<path d="M3.82972 10.2513H6.94472C6.99035 10.2513 7.02172 10.221 7.02172 10.1743V9.41122C7.02172 9.36559 6.99035 9.33475 6.94472 9.33475H5.10969V9.31919L6.48935 7.69247C6.82079 7.31462 7.02172 6.92247 7.02172 6.42119C7.02172 5.57237 6.41285 4.92578 5.41107 4.92578C4.40113 4.92578 3.81441 5.55759 3.76063 6.28197C3.75247 6.32834 3.77644 6.36687 3.8226 6.37478L4.67038 6.51297C4.72444 6.52109 4.75475 6.49766 4.75475 6.4515C4.80091 6.05069 5.01738 5.83472 5.37179 5.83472C5.73435 5.83472 5.94241 6.08969 5.94241 6.43594C5.94241 6.70547 5.83457 6.92906 5.63416 7.16109L3.79197 9.35003C3.7606 9.38878 3.75244 9.41122 3.75244 9.45791V10.1743C3.75247 10.221 3.78385 10.2513 3.82972 10.2513Z" fill="#23A8A8"/>
|
||||
<path d="M8 0C3.58156 0 0 3.58159 0 8C0 12.4187 3.58156 16 8 16C12.4184 16 16 12.4187 16 8C16 3.58159 12.4184 0 8 0ZM8 1.51378V14.4862C4.4235 14.4862 1.51375 11.5765 1.51375 8C1.51378 4.4235 4.42353 1.51378 8 1.51378ZM10.2139 8.54284V8.56578H11.1769L11.2231 8.51912V7.38656C11.2231 7.34041 11.2539 7.30981 11.3003 7.30981H12.1943C12.2409 7.30981 12.2712 7.34041 12.2712 7.38656V8.51916L12.3177 8.56581H12.6647C12.7103 8.56581 12.7412 8.59691 12.7412 8.64331V9.42125C12.7412 9.46791 12.7103 9.49828 12.6647 9.49828H12.3177L12.2712 9.54466V10.1844C12.2712 10.231 12.2409 10.2614 12.1943 10.2614H11.3003C11.2539 10.2614 11.2231 10.231 11.2231 10.1844V9.54466L11.1769 9.49828H9.13459C9.08822 9.49828 9.05734 9.46791 9.05734 9.42125V8.63562L9.07238 8.54284L10.6453 5.08159C10.6677 5.03519 10.6988 5.01991 10.7524 5.01991H11.732C11.7852 5.01991 11.8011 5.05103 11.7852 5.09769L10.2139 8.54284Z" fill="#9CD8D8"/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0_2636_25863">
|
||||
<rect width="16" height="16" fill="white"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
<span>جمعه کاری و اضافه کاری</span>
|
||||
</li>
|
||||
<li class="d-flex align-items-center justify-content-start" data-target="FormNightWork">
|
||||
<svg width="24" height="24" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M7.58084 12.8093C7.58084 11.8747 7.89238 10.8016 8.377 9.97087C8.96546 8.93241 9.62315 8.51703 10.1424 7.75549C11.0078 6.47472 11.1808 4.6401 10.627 3.25549C10.0732 1.83626 8.75777 1.00549 7.23469 1.0401C5.71161 1.07472 4.46546 2.00933 3.98084 3.42856C3.427 4.98626 3.66931 6.85549 4.91546 8.03241C5.43469 8.51703 5.91931 9.27856 5.64238 10.0055C5.40008 10.6978 4.56931 11.0093 3.98084 11.2863C2.63084 11.8747 1.00392 12.7055 0.726998 14.2978C0.450075 15.6132 1.35008 16.9632 2.76931 16.9632H8.65392C8.93085 16.9632 9.10392 16.617 8.93085 16.4093C8.06546 15.4055 7.58084 14.1247 7.58084 12.8093Z" fill="#C4E8E8"/>
|
||||
<path d="M16.0616 9.86863C14.4347 8.24171 11.8039 8.24171 10.177 9.86863C8.55006 11.4956 8.55006 14.1263 10.177 15.7532C11.8039 17.3802 14.4347 17.3802 16.0616 15.7532C17.6885 14.1263 17.6885 11.4956 16.0616 9.86863ZM14.8501 13.5379C14.9885 13.6763 14.9885 13.9186 14.8154 14.0571L14.3308 14.5417C14.1924 14.6802 14.0193 14.6802 13.8808 14.5071L13.1539 13.7802L12.3924 14.5417C12.2539 14.6802 12.0808 14.6802 11.9424 14.5071L11.4231 14.0225C11.2847 13.884 11.2501 13.7109 11.3885 13.5725L12.1501 12.8109L11.4231 12.0494C11.2847 11.9109 11.2501 11.7379 11.3885 11.5994L11.8731 11.1148C12.0116 10.9763 12.2539 10.9417 12.3924 11.0802L13.1193 11.8071L13.8462 11.0802C13.9847 10.9417 14.227 10.9071 14.3654 11.0456L14.8501 11.5302C14.9885 11.6686 14.9885 11.9109 14.8154 12.0494L14.0885 12.7763L14.8501 13.5379Z" fill="#23A8A8"/>
|
||||
</svg>
|
||||
<span>شب کاری</span>
|
||||
</li>
|
||||
<li class="d-flex align-items-center justify-content-start" data-target="FormMarriedAllowanceAndFamilyAllowance">
|
||||
<svg width="24" height="24" viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g clip-path="url(#clip0_2636_25871)">
|
||||
<path d="M7.49976 9.70899C8.36432 9.70899 9.06519 9.00812 9.06519 8.14356C9.06519 7.27899 8.36432 6.57812 7.49976 6.57812C6.63519 6.57812 5.93433 7.27899 5.93433 8.14356C5.93433 9.00812 6.63519 9.70899 7.49976 9.70899Z" fill="#23A8A8"/>
|
||||
<path d="M8.164 9.81641H6.83573C5.73064 9.81641 4.83154 10.7158 4.83154 11.8207V13.4456L4.83565 13.4709L4.94739 13.5057C6.00201 13.8353 6.91843 13.9453 7.6728 13.9453C9.14564 13.9453 9.99928 13.5251 10.052 13.4987L10.1566 13.4453L10.1674 13.4456V11.8206C10.1682 10.7158 9.26939 9.81641 8.164 9.81641Z" fill="#23A8A8"/>
|
||||
<path d="M4.30415 6.10927C5.69885 6.10927 6.82948 4.97864 6.82948 3.58393C6.82948 2.18923 5.69885 1.05859 4.30415 1.05859C2.90944 1.05859 1.77881 2.18923 1.77881 3.58393C1.77881 4.97864 2.90944 6.10927 4.30415 6.10927Z" fill="#9CD8D8"/>
|
||||
<path d="M10.6951 6.10927C12.0898 6.10927 13.2201 4.97818 13.2201 3.58363C13.2201 2.18953 12.0894 1.05859 10.6951 1.05859C9.3001 1.05859 8.16992 2.18923 8.16992 3.58363C8.16992 4.97803 9.3001 6.10927 10.6951 6.10927Z" fill="#9CD8D8"/>
|
||||
<path d="M6.27237 9.56992C5.87148 9.22421 5.61652 8.7137 5.61652 8.1442C5.61652 7.44578 5.99948 6.83615 6.56564 6.51096C6.19697 6.36426 5.79622 6.28125 5.37586 6.28125H3.23303C1.45035 6.2811 0 7.73205 0 9.51443V12.1355L0.00653721 12.1764L0.186995 12.2325C1.85657 12.7543 3.30995 12.9338 4.51341 12.9404V11.8204C4.51341 10.7343 5.26367 9.82274 6.27237 9.56992Z" fill="#9CD8D8"/>
|
||||
<path d="M11.7666 6.28125H9.62404C9.20368 6.28125 8.80339 6.36426 8.43457 6.51096C9.00118 6.83615 9.38414 7.44548 9.38414 8.1442C9.38414 8.71339 9.12903 9.2239 8.72844 9.56962C9.13223 9.67011 9.50394 9.87671 9.80602 10.1789C10.2451 10.6183 10.4869 11.2015 10.4868 11.8208V12.9405C11.6903 12.934 13.1438 12.7543 14.8131 12.2327L14.9935 12.1766L15.0002 12.1357V9.51458C14.9996 7.73221 13.5493 6.28125 11.7666 6.28125Z" fill="#9CD8D8"/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0_2636_25871">
|
||||
<rect width="15" height="15" fill="white"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
<span>حق تاهل و حق فرزند</span>
|
||||
</li>
|
||||
<li class="d-flex align-items-center justify-content-start" data-target="FormBonusesPayAndBaseYearPay">
|
||||
<svg width="24" height="24" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M5.20521 1.5C5.5171 1.5 5.76994 1.74316 5.76994 2.0431V3.13865C6.27088 3.12931 6.83237 3.12931 7.46414 3.12931H10.4761C11.1078 3.12931 11.6693 3.12931 12.1702 3.13865V2.0431C12.1702 1.74316 12.4231 1.5 12.735 1.5C13.0468 1.5 13.2997 1.74316 13.2997 2.0431V3.1867C14.3835 3.27016 15.095 3.475 15.6177 3.97769C16.1404 4.48039 16.3534 5.16462 16.4402 6.20689L16.5 6.75H2.19342H1.5V6.20689C1.58678 5.16462 1.79977 4.48039 2.32249 3.97769C2.84521 3.475 3.55669 3.27016 4.64047 3.1867V2.0431C4.64047 1.74316 4.89331 1.5 5.20521 1.5Z" fill="#23A8A8"/>
|
||||
<path opacity="0.5" d="M16.4995 10.5001V9.00008C16.4995 8.37075 16.4971 7.24895 16.4874 6.75H1.50677C1.49709 7.24895 1.49954 8.37075 1.49954 9.00008V10.5001C1.49954 13.3285 1.49954 14.7427 2.37822 15.6214C3.2569 16.5001 4.67112 16.5001 7.49955 16.5001H10.4995C13.328 16.5001 14.7422 16.5001 15.6209 15.6214C16.4995 14.7427 16.4995 13.3285 16.4995 10.5001Z" fill="#9CD8D8"/>
|
||||
<path d="M13.5 12.75C13.5 13.1642 13.1642 13.5 12.75 13.5C12.3358 13.5 12 13.1642 12 12.75C12 12.3358 12.3358 12 12.75 12C13.1642 12 13.5 12.3358 13.5 12.75Z" fill="#23A8A8"/>
|
||||
<path d="M13.5 9.75C13.5 10.1642 13.1642 10.5 12.75 10.5C12.3358 10.5 12 10.1642 12 9.75C12 9.33578 12.3358 9 12.75 9C13.1642 9 13.5 9.33578 13.5 9.75Z" fill="#23A8A8"/>
|
||||
<path d="M9.75 12.75C9.75 13.1642 9.41422 13.5 9 13.5C8.58578 13.5 8.25 13.1642 8.25 12.75C8.25 12.3358 8.58578 12 9 12C9.41422 12 9.75 12.3358 9.75 12.75Z" fill="#23A8A8"/>
|
||||
<path d="M9.75 9.75C9.75 10.1642 9.41422 10.5 9 10.5C8.58578 10.5 8.25 10.1642 8.25 9.75C8.25 9.33578 8.58578 9 9 9C9.41422 9 9.75 9.33578 9.75 9.75Z" fill="#23A8A8"/>
|
||||
<path d="M6 12.75C6 13.1642 5.66421 13.5 5.25 13.5C4.83579 13.5 4.5 13.1642 4.5 12.75C4.5 12.3358 4.83579 12 5.25 12C5.66421 12 6 12.3358 6 12.75Z" fill="#23A8A8"/>
|
||||
<path d="M6 9.75C6 10.1642 5.66421 10.5 5.25 10.5C4.83579 10.5 4.5 10.1642 4.5 9.75C4.5 9.33578 4.83579 9 5.25 9C5.66421 9 6 9.33578 6 9.75Z" fill="#23A8A8"/>
|
||||
</svg>
|
||||
<span>عیدی و سنوات</span>
|
||||
</li>
|
||||
<li class="d-flex align-items-center justify-content-start" data-target="FormLeavePayAndInsuranceDeduction">
|
||||
<svg width="24" height="24" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path opacity="0.6" d="M11.25 1.5H10.5C8.3787 1.5 7.31802 1.5 6.65901 2.15901C6 2.81802 6 3.87868 6 6V12C6 14.1213 6 15.1819 6.65901 15.841C7.31802 16.5 8.3787 16.5 10.5 16.5H11.25C13.3713 16.5 14.4319 16.5 15.091 15.841C15.75 15.1819 15.75 14.1213 15.75 12V6C15.75 3.87868 15.75 2.81802 15.091 2.15901C14.4319 1.5 13.3713 1.5 11.25 1.5Z" fill="#9CD8D8"/>
|
||||
<path opacity="0.4" d="M6 6C6 4.84687 6 4.00715 6.10585 3.375H6C4.23224 3.375 3.34835 3.375 2.79917 3.92417C2.25 4.47335 2.25 5.35724 2.25 7.125V10.875C2.25 12.6427 2.25 13.5266 2.79917 14.0758C3.34835 14.625 4.23224 14.625 6 14.625H6.10585C6 13.9928 6 13.1531 6 12V9.5625V8.4375V6Z" fill="#9CD8D8"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M3.35225 8.60227C3.13258 8.82195 3.13258 9.17805 3.35225 9.39772L4.85225 10.8977C5.07192 11.1174 5.42808 11.1174 5.64775 10.8977C5.86741 10.678 5.86741 10.3219 5.64775 10.1023L5.10799 9.5625H10.5C10.8106 9.5625 11.0625 9.31065 11.0625 9C11.0625 8.68935 10.8106 8.4375 10.5 8.4375H5.10799L5.64775 7.89772C5.86741 7.67805 5.86741 7.32192 5.64775 7.10225C5.42808 6.88258 5.07192 6.88258 4.85225 7.10225L3.35225 8.60227Z" fill="#23A8A8"/>
|
||||
</svg>
|
||||
<span>مزد مرخصی و حق بیمه</span>
|
||||
</li>
|
||||
<li class="d-flex align-items-center justify-content-start" data-target="FormLateToWorkAndEarlyExit">
|
||||
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M12.5113 2.63854L14.1148 2.37128C15.311 2.17192 15.9091 2.07223 16.3903 2.1822C17.1823 2.36321 17.8369 2.91779 18.1457 3.66927C18.3333 4.1258 18.3333 4.73214 18.3333 5.94482V14.2232C18.3333 15.2841 18.3333 15.8145 18.189 16.2205C17.8883 17.0674 17.1561 17.6875 16.2714 17.845C15.8473 17.9205 15.324 17.8333 14.2775 17.659L12.5113 17.3645C10.5158 17.032 9.51817 16.8657 8.92567 16.1663C8.33325 15.467 8.33325 14.4555 8.33325 12.4325V7.57051C8.33325 5.54758 8.33325 4.53612 8.92567 3.83676C9.51817 3.13739 10.5158 2.97111 12.5113 2.63854Z" fill="#C4E8E8"/>
|
||||
<path d="M9.58325 15.8346L11.6666 13.7513M11.6666 13.7513L9.58325 11.668M11.6666 13.7513H3.33325" stroke="#23A8A8" stroke-linecap="round"/>
|
||||
<path d="M5.41659 5L3.33325 7.08333M3.33325 7.08333L5.41659 9.16667M3.33325 7.08333H11.6666" stroke="#23A8A8" stroke-linecap="round"/>
|
||||
</svg>
|
||||
<span>تاخیر در ورود و تعجیل در خروج</span>
|
||||
</li>
|
||||
<li class="d-flex align-items-center justify-content-start" data-target="FormFineAbsenceDeduction">
|
||||
<svg width="24" height="24" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<rect x="4.58325" y="2.75" width="12.8333" height="16.5" rx="2" fill="#C4E8E8"/>
|
||||
<circle cx="14.2084" cy="15.1237" r="1.79167" stroke="#23A8A8"/>
|
||||
<path d="M16.5 17.4141L17.875 18.7891" stroke="#23A8A8" stroke-linecap="round"/>
|
||||
<path d="M6.875 5.95703L13.2917 5.95703" stroke="#23A8A8" stroke-linecap="round"/>
|
||||
<path d="M6.875 8.70703L10.5417 8.70703" stroke="#23A8A8" stroke-linecap="round"/>
|
||||
</svg>
|
||||
<span>جریمه غیبت</span>
|
||||
</li>
|
||||
<li class="d-flex align-items-center justify-content-start" data-target="FormFridayAndHoliday">
|
||||
<svg width="24" height="24" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M5.25488 4.6351C5.12228 4.6351 4.99508 4.58243 4.90133 4.48865C4.80756 4.39488 4.75488 4.2677 4.75488 4.1351V2.71485C4.75488 2.58223 4.80756 2.45506 4.90133 2.36129C4.99508 2.26752 5.12228 2.21484 5.25488 2.21484C5.38751 2.21484 5.51466 2.26752 5.60843 2.36129C5.70221 2.45506 5.75488 2.58223 5.75488 2.71485V4.1351C5.75488 4.2677 5.70221 4.39488 5.60843 4.48865C5.51466 4.58243 5.38751 4.6351 5.25488 4.6351Z" fill="#23A8A8" />
|
||||
<path d="M10.9365 4.6351C10.8039 4.6351 10.6767 4.58243 10.583 4.48865C10.4892 4.39488 10.4365 4.2677 10.4365 4.1351V2.71485C10.4365 2.58223 10.4892 2.45506 10.583 2.36129C10.6767 2.26752 10.8039 2.21484 10.9365 2.21484C11.0691 2.21484 11.1963 2.26752 11.2901 2.36129C11.3838 2.45506 11.4365 2.58223 11.4365 2.71485V4.1351C11.4365 4.2677 11.3838 4.39488 11.2901 4.48865C11.1963 4.58243 11.0691 4.6351 10.9365 4.6351Z" fill="#23A8A8" />
|
||||
<path d="M7.5898 10.4556L7.5273 10.8281L7.8623 10.6531C7.93368 10.6145 8.01368 10.5948 8.0948 10.5956C8.17593 10.5948 8.25593 10.6145 8.3273 10.6531L8.6648 10.8281L8.5998 10.4556C8.58595 10.3758 8.59168 10.2939 8.6165 10.2168C8.64133 10.1397 8.68448 10.0698 8.7423 10.0131L9.0148 9.74813L8.6398 9.69312C8.55955 9.68057 8.48345 9.64907 8.41783 9.60125C8.35218 9.55342 8.29885 9.49065 8.2623 9.41812L8.0948 9.07812L7.9273 9.41812C7.89135 9.4911 7.8382 9.55425 7.77245 9.60215C7.7067 9.65005 7.63028 9.68127 7.5498 9.69312L7.1748 9.74813L7.4473 10.0131C7.50553 10.0695 7.549 10.1394 7.57385 10.2166C7.5987 10.2937 7.60418 10.3758 7.5898 10.4556Z" fill="#23A8A8" />
|
||||
<path d="M8.09508 6.76562H1.20508V12.0356C1.20528 12.5209 1.39814 12.9863 1.74129 13.3294C2.08444 13.6726 2.5498 13.8655 3.03508 13.8656H13.1551C13.6406 13.8655 14.1063 13.6727 14.4498 13.3296C14.7934 12.9865 14.9868 12.5212 14.9876 12.0356V6.76562H8.09508ZM5.62508 9.24312C5.65433 9.15442 5.70773 9.07565 5.77928 9.0156C5.8508 8.95553 5.93765 8.9166 6.03008 8.90312L7.14758 8.74063L7.64758 7.72813C7.68863 7.64438 7.75228 7.57375 7.83135 7.52428C7.91045 7.47478 8.0018 7.44843 8.09508 7.44813C8.18835 7.44843 8.27973 7.47478 8.3588 7.52428C8.43787 7.57375 8.50152 7.64438 8.54257 7.72813L9.04508 8.74063L10.1626 8.90312C10.2547 8.91672 10.3411 8.95575 10.4123 9.01583C10.4834 9.07588 10.5363 9.15462 10.5651 9.24312C10.5941 9.33172 10.5977 9.42665 10.5757 9.51723C10.5536 9.60778 10.5066 9.69035 10.4401 9.75562L9.63008 10.5456L9.82008 11.6581C9.83578 11.7501 9.82563 11.8446 9.79075 11.9311C9.75588 12.0177 9.69765 12.0928 9.62258 12.1481C9.5366 12.2099 9.43343 12.2431 9.32758 12.2431C9.2466 12.2428 9.16688 12.2231 9.09508 12.1856L8.09508 11.6606L7.09508 12.1856C7.01218 12.2284 6.9191 12.2475 6.82608 12.2409C6.73303 12.2343 6.6436 12.2022 6.56758 12.1481C6.4925 12.0928 6.43428 12.0177 6.3994 11.9311C6.36453 11.8446 6.35438 11.7501 6.37008 11.6581L6.56008 10.5456L5.75258 9.75463C5.6858 9.68973 5.63845 9.60742 5.61593 9.51705C5.5934 9.42667 5.59658 9.3318 5.62508 9.24312Z" fill="#23A8A8" />
|
||||
<path d="M13.1551 2.92578H12.1851V4.13578C12.1846 4.46716 12.0527 4.78478 11.8184 5.01908C11.5841 5.25341 11.2664 5.38526 10.9351 5.38578C10.6039 5.38481 10.2865 5.25278 10.0523 5.01858C9.81808 4.78438 9.68605 4.46701 9.68508 4.13578V2.92578H6.50508V4.13578C6.50455 4.46716 6.37268 4.78478 6.13838 5.01908C5.90408 5.25341 5.58645 5.38526 5.25508 5.38578C4.92373 5.38526 4.60608 5.25341 4.37178 5.01908C4.13748 4.78478 4.0056 4.46716 4.00508 4.13578V2.92578H3.03508C2.54998 2.92598 2.08476 3.11873 1.74164 3.46166C1.39852 3.80458 1.20554 4.26968 1.20508 4.75478V5.76478H14.9876V4.75478C14.9865 4.26943 14.793 3.80431 14.4495 3.46143C14.1059 3.11856 13.6404 2.92593 13.1551 2.92578Z" fill="#C4E8E8" />
|
||||
</svg>
|
||||
<span>جمعه و روزهای تعطیل</span>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="sidebarRollCallForm">
|
||||
<div class="rollCallFormBox">
|
||||
|
||||
<form role="form" method="post" name="create-form" id="create-form" autocomplete="off">
|
||||
<input type="hidden" name="Command.Id" value="@Model.Id"/>
|
||||
<input type="hidden" name="Command.Name" value="@Model.Name" />
|
||||
<input type="hidden" name="Command.Salary" value="@Model.Salary" />
|
||||
@foreach (var item in Model.ShiftViewModel)
|
||||
{
|
||||
<input type="hidden" name="Command.ShiftViewModel[@indexShift].Placement" value="@item.Placement" />
|
||||
<input type="hidden" name="Command.ShiftViewModel[@indexShift].StartTime" value="@item.StartTime" />
|
||||
<input type="hidden" name="Command.ShiftViewModel[@indexShift].EndTime" value="@item.EndTime" />
|
||||
indexShift++;
|
||||
}
|
||||
|
||||
|
||||
@* <input type="hidden" name="Command.Id" value="@Model.CustomizeWorkshopSettingId"/> *@
|
||||
@* <div class="form-section" id="FormWorkTimeSetting" style="display: none">
|
||||
<partial name="_ModalGroupSettingPartials/WorkTimeSetting"/>
|
||||
</div> *@
|
||||
@* <div class="form-section" id="FormMonthlySalariesAndWorkingHoursOfPersonnel" style="display: none">
|
||||
<partial name="_ModalGroupSettingPartials/MonthlySalariesAndWorkingHoursOfPersonnel"/>
|
||||
</div> *@
|
||||
<div class="form-section" id="FormFridayPayAndOvertimePay">
|
||||
<partial name="_ModalGroupSettingPartials/FridayPayAndOvertimePay" />
|
||||
</div>
|
||||
|
||||
<div class="form-section" id="FormNightWork" style="display: none">
|
||||
<partial name="_ModalGroupSettingPartials/NightWork"/>
|
||||
</div>
|
||||
<div class="form-section" id="FormMarriedAllowanceAndFamilyAllowance" style="display: none">
|
||||
<partial name="_ModalGroupSettingPartials/MarriedAllowanceAndFamilyAllowance" />
|
||||
</div>
|
||||
<div class="form-section" id="FormBonusesPayAndBaseYearPay" style="display: none">
|
||||
<partial name="_ModalGroupSettingPartials/BonusesPayAndBaseYearPay"/>
|
||||
</div>
|
||||
<div class="form-section" id="FormLeavePayAndInsuranceDeduction" style="display: none">
|
||||
<partial name="_ModalGroupSettingPartials/LeavePayAndInsuranceDeduction" />
|
||||
</div>
|
||||
<div class="form-section" id="FormLateToWorkAndEarlyExit" style="display: none">
|
||||
<partial name="_ModalGroupSettingPartials/LateToWorkAndEarlyExit" />
|
||||
</div>
|
||||
<div class="form-section" id="FormFineAbsenceDeduction" style="display: none">
|
||||
<partial name="_ModalGroupSettingPartials/FineAbsenceDeduction" />
|
||||
</div>
|
||||
<div class="form-section" id="FormFridayAndHoliday" style="display: none">
|
||||
<partial name="_ModalGroupSettingPartials/FridayAndHoliday" />
|
||||
</div>
|
||||
</form>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="sidebarRollCallMenu">
|
||||
<ul></ul>
|
||||
</div>
|
||||
<div class="sidebarRollCallForm">
|
||||
<div class="row p-3">
|
||||
<div class="col-6">
|
||||
<button type="button" class="btn-secondary w-100" data-bs-dismiss="modal">بستن</button>
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<div class="position-relative">
|
||||
<button class="btn-primary w-100" id="saveRollCallButton">ذخیره</button>
|
||||
<div class="spinner-loading loading" style="display: none;">
|
||||
<span class="spinner-border spinner-border-sm loading text-white" role="status" aria-hidden="true"></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script src="~/assetsclient/libs/cleave/cleave.min.js"></script>
|
||||
<script>
|
||||
var antiForgeryToken = $('@Html.AntiForgeryToken()').val();
|
||||
var saveWorkshopSetting = `@Url.Page("./Grouping", "GroupingSetting")`;
|
||||
</script>
|
||||
<script src="~/assetsclient/pages/rollcall/js/ModalRollCallSetting.js?ver="></script>
|
||||
@@ -0,0 +1,228 @@
|
||||
@model CompanyManagment.App.Contracts.CustomizeWorkshopSettings.EditCustomizeEmployeeSettings
|
||||
@{
|
||||
string clientVersion = _0_Framework.Application.Version.StyleVersion;
|
||||
int index = 1;
|
||||
int i = 0;
|
||||
int indexShift = 0;
|
||||
int indexEmployee = 0;
|
||||
<link href="~/assetsclient/css/card.css?ver=" rel="stylesheet"/>
|
||||
<link href="~/assetsclient/pages/rollcall/css/modalrollcallsetting.css?ver=@clientVersion" rel="stylesheet" />
|
||||
}
|
||||
|
||||
<div class="modal-body p-0 selectTextNone">
|
||||
<div class="container-fluid">
|
||||
<button type="button" class="btn-header-close position-absolute text-start" data-bs-dismiss="modal" aria-label="Close">
|
||||
<svg width="30" height="30" viewBox="0 0 45 46" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M22.5 40.25C20.2839 40.25 18.0896 39.8038 16.0422 38.9369C13.9948 38.07 12.1346 36.7994 10.5676 35.1976C9.00058 33.5958 7.75758 31.6942 6.90953 29.6013C6.06148 27.5084 5.625 25.2653 5.625 23C5.625 20.7347 6.06149 18.4916 6.90953 16.3987C7.75758 14.3058 9.00059 12.4042 10.5676 10.8024C12.1346 9.2006 13.9949 7.92997 16.0422 7.06308C18.0896 6.19618 20.2839 5.75 22.5 5.75C24.7161 5.75 26.9104 6.19619 28.9578 7.06308C31.0052 7.92997 32.8654 9.2006 34.4324 10.8024C35.9994 12.4042 37.2424 14.3058 38.0905 16.3987C38.9385 18.4916 39.375 20.7347 39.375 23C39.375 25.2653 38.9385 27.5084 38.0905 29.6013C37.2424 31.6942 35.9994 33.5958 34.4324 35.1976C32.8654 36.7994 31.0051 38.07 28.9578 38.9369C26.9104 39.8038 24.7161 40.25 22.5 40.25L22.5 40.25Z" stroke="#33363F" stroke-width="2" stroke-linecap="round" />
|
||||
<path d="M16.875 17.25L28.125 28.75" stroke="#33363F" stroke-width="2" stroke-linecap="round" />
|
||||
<path d="M28.125 17.25L16.875 28.75" stroke="#33363F" stroke-width="2" stroke-linecap="round" />
|
||||
</svg>
|
||||
</button>
|
||||
<div class="row borderBottomHeader">
|
||||
<div class="sidebarRollCallMenu">
|
||||
<h5 class="titleHead text-center m-0" id="rollCallSettingModalLabel">تنظیمات حضور و غیاب</h5>
|
||||
</div>
|
||||
<div class="sidebarRollCallForm">
|
||||
<h5 class="titleHead text-center m-0" id="rollCallSettingModalHead">جمعه کاری و اضافه کاری</h5>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="sidebarRollCallMenu">
|
||||
<ul>
|
||||
@* <li class="d-flex align-items-center justify-content-start" data-target="FormWorkTimeSetting">
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<circle cx="12" cy="12" r="9" fill="#9CD8D8"/>
|
||||
<path d="M12 5.3C12 5.15741 12 5.08611 12.0462 5.04182C12.0925 4.99753 12.1616 5.0005 12.2999 5.00643C13.4246 5.05465 14.5226 5.37351 15.5 5.93782C16.5641 6.5522 17.4478 7.43587 18.0622 8.5C18.6766 9.56413 19 10.7712 19 12C19 13.2288 18.6766 14.4359 18.0622 15.5C17.4478 16.5641 16.5641 17.4478 15.5 18.0622C14.4359 18.6766 13.2288 19 12 19C10.7712 19 9.56413 18.6766 8.5 18.0622C7.52259 17.4979 6.69743 16.7064 6.09335 15.7565C6.01906 15.6397 5.98191 15.5813 5.99716 15.5191C6.0124 15.4569 6.07414 15.4213 6.19763 15.35L11.85 12.0866C11.9232 12.0443 11.9598 12.0232 11.9799 11.9884C12 11.9536 12 11.9113 12 11.8268V5.3Z" fill="#23A8A8"/>
|
||||
</svg>
|
||||
<span>تنظیم ساعات کاری مجموعه</span>
|
||||
</li> *@
|
||||
@* <li class="d-flex align-items-center justify-content-start" data-target="FormMonthlySalariesAndWorkingHoursOfPersonnel">
|
||||
<svg width="24" height="24" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M1.5 6C1.5 4.34314 2.84314 3 4.5 3H13.5C15.1568 3 16.5 4.34314 16.5 6V6.375C16.5 6.5821 16.3321 6.75 16.125 6.75H1.875C1.66789 6.75 1.5 6.5821 1.5 6.375V6ZM1.875 8.25C1.66789 8.25 1.5 8.41792 1.5 8.625V12C1.5 13.6568 2.84314 15 4.5 15H13.5C15.1568 15 16.5 13.6568 16.5 12V8.625C16.5 8.41792 16.3321 8.25 16.125 8.25H1.875ZM9.75 11.25C9.75 10.8358 10.0858 10.5 10.5 10.5H12.75C13.1642 10.5 13.5 10.8358 13.5 11.25C13.5 11.6642 13.1642 12 12.75 12H10.5C10.0858 12 9.75 11.6642 9.75 11.25Z" fill="#9CD8D8"/>
|
||||
</svg>
|
||||
<span>حقوق ماهانه و ساعت کاری پرسنل</span>
|
||||
</li> *@
|
||||
<li class="d-flex align-items-center justify-content-start current complete1" data-target="FormFridayPayAndOvertimePay">
|
||||
<svg width="24" height="24" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g clip-path="url(#clip0_2636_25863)">
|
||||
<path d="M3.82972 10.2513H6.94472C6.99035 10.2513 7.02172 10.221 7.02172 10.1743V9.41122C7.02172 9.36559 6.99035 9.33475 6.94472 9.33475H5.10969V9.31919L6.48935 7.69247C6.82079 7.31462 7.02172 6.92247 7.02172 6.42119C7.02172 5.57237 6.41285 4.92578 5.41107 4.92578C4.40113 4.92578 3.81441 5.55759 3.76063 6.28197C3.75247 6.32834 3.77644 6.36687 3.8226 6.37478L4.67038 6.51297C4.72444 6.52109 4.75475 6.49766 4.75475 6.4515C4.80091 6.05069 5.01738 5.83472 5.37179 5.83472C5.73435 5.83472 5.94241 6.08969 5.94241 6.43594C5.94241 6.70547 5.83457 6.92906 5.63416 7.16109L3.79197 9.35003C3.7606 9.38878 3.75244 9.41122 3.75244 9.45791V10.1743C3.75247 10.221 3.78385 10.2513 3.82972 10.2513Z" fill="#23A8A8"/>
|
||||
<path d="M8 0C3.58156 0 0 3.58159 0 8C0 12.4187 3.58156 16 8 16C12.4184 16 16 12.4187 16 8C16 3.58159 12.4184 0 8 0ZM8 1.51378V14.4862C4.4235 14.4862 1.51375 11.5765 1.51375 8C1.51378 4.4235 4.42353 1.51378 8 1.51378ZM10.2139 8.54284V8.56578H11.1769L11.2231 8.51912V7.38656C11.2231 7.34041 11.2539 7.30981 11.3003 7.30981H12.1943C12.2409 7.30981 12.2712 7.34041 12.2712 7.38656V8.51916L12.3177 8.56581H12.6647C12.7103 8.56581 12.7412 8.59691 12.7412 8.64331V9.42125C12.7412 9.46791 12.7103 9.49828 12.6647 9.49828H12.3177L12.2712 9.54466V10.1844C12.2712 10.231 12.2409 10.2614 12.1943 10.2614H11.3003C11.2539 10.2614 11.2231 10.231 11.2231 10.1844V9.54466L11.1769 9.49828H9.13459C9.08822 9.49828 9.05734 9.46791 9.05734 9.42125V8.63562L9.07238 8.54284L10.6453 5.08159C10.6677 5.03519 10.6988 5.01991 10.7524 5.01991H11.732C11.7852 5.01991 11.8011 5.05103 11.7852 5.09769L10.2139 8.54284Z" fill="#9CD8D8"/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0_2636_25863">
|
||||
<rect width="16" height="16" fill="white"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
<span>جمعه کاری و اضافه کاری</span>
|
||||
</li>
|
||||
<li class="d-flex align-items-center justify-content-start" data-target="FormNightWork">
|
||||
<svg width="24" height="24" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M7.58084 12.8093C7.58084 11.8747 7.89238 10.8016 8.377 9.97087C8.96546 8.93241 9.62315 8.51703 10.1424 7.75549C11.0078 6.47472 11.1808 4.6401 10.627 3.25549C10.0732 1.83626 8.75777 1.00549 7.23469 1.0401C5.71161 1.07472 4.46546 2.00933 3.98084 3.42856C3.427 4.98626 3.66931 6.85549 4.91546 8.03241C5.43469 8.51703 5.91931 9.27856 5.64238 10.0055C5.40008 10.6978 4.56931 11.0093 3.98084 11.2863C2.63084 11.8747 1.00392 12.7055 0.726998 14.2978C0.450075 15.6132 1.35008 16.9632 2.76931 16.9632H8.65392C8.93085 16.9632 9.10392 16.617 8.93085 16.4093C8.06546 15.4055 7.58084 14.1247 7.58084 12.8093Z" fill="#C4E8E8"/>
|
||||
<path d="M16.0616 9.86863C14.4347 8.24171 11.8039 8.24171 10.177 9.86863C8.55006 11.4956 8.55006 14.1263 10.177 15.7532C11.8039 17.3802 14.4347 17.3802 16.0616 15.7532C17.6885 14.1263 17.6885 11.4956 16.0616 9.86863ZM14.8501 13.5379C14.9885 13.6763 14.9885 13.9186 14.8154 14.0571L14.3308 14.5417C14.1924 14.6802 14.0193 14.6802 13.8808 14.5071L13.1539 13.7802L12.3924 14.5417C12.2539 14.6802 12.0808 14.6802 11.9424 14.5071L11.4231 14.0225C11.2847 13.884 11.2501 13.7109 11.3885 13.5725L12.1501 12.8109L11.4231 12.0494C11.2847 11.9109 11.2501 11.7379 11.3885 11.5994L11.8731 11.1148C12.0116 10.9763 12.2539 10.9417 12.3924 11.0802L13.1193 11.8071L13.8462 11.0802C13.9847 10.9417 14.227 10.9071 14.3654 11.0456L14.8501 11.5302C14.9885 11.6686 14.9885 11.9109 14.8154 12.0494L14.0885 12.7763L14.8501 13.5379Z" fill="#23A8A8"/>
|
||||
</svg>
|
||||
<span>شب کاری</span>
|
||||
</li>
|
||||
<li class="d-flex align-items-center justify-content-start" data-target="FormMarriedAllowanceAndFamilyAllowance">
|
||||
<svg width="24" height="24" viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g clip-path="url(#clip0_2636_25871)">
|
||||
<path d="M7.49976 9.70899C8.36432 9.70899 9.06519 9.00812 9.06519 8.14356C9.06519 7.27899 8.36432 6.57812 7.49976 6.57812C6.63519 6.57812 5.93433 7.27899 5.93433 8.14356C5.93433 9.00812 6.63519 9.70899 7.49976 9.70899Z" fill="#23A8A8"/>
|
||||
<path d="M8.164 9.81641H6.83573C5.73064 9.81641 4.83154 10.7158 4.83154 11.8207V13.4456L4.83565 13.4709L4.94739 13.5057C6.00201 13.8353 6.91843 13.9453 7.6728 13.9453C9.14564 13.9453 9.99928 13.5251 10.052 13.4987L10.1566 13.4453L10.1674 13.4456V11.8206C10.1682 10.7158 9.26939 9.81641 8.164 9.81641Z" fill="#23A8A8"/>
|
||||
<path d="M4.30415 6.10927C5.69885 6.10927 6.82948 4.97864 6.82948 3.58393C6.82948 2.18923 5.69885 1.05859 4.30415 1.05859C2.90944 1.05859 1.77881 2.18923 1.77881 3.58393C1.77881 4.97864 2.90944 6.10927 4.30415 6.10927Z" fill="#9CD8D8"/>
|
||||
<path d="M10.6951 6.10927C12.0898 6.10927 13.2201 4.97818 13.2201 3.58363C13.2201 2.18953 12.0894 1.05859 10.6951 1.05859C9.3001 1.05859 8.16992 2.18923 8.16992 3.58363C8.16992 4.97803 9.3001 6.10927 10.6951 6.10927Z" fill="#9CD8D8"/>
|
||||
<path d="M6.27237 9.56992C5.87148 9.22421 5.61652 8.7137 5.61652 8.1442C5.61652 7.44578 5.99948 6.83615 6.56564 6.51096C6.19697 6.36426 5.79622 6.28125 5.37586 6.28125H3.23303C1.45035 6.2811 0 7.73205 0 9.51443V12.1355L0.00653721 12.1764L0.186995 12.2325C1.85657 12.7543 3.30995 12.9338 4.51341 12.9404V11.8204C4.51341 10.7343 5.26367 9.82274 6.27237 9.56992Z" fill="#9CD8D8"/>
|
||||
<path d="M11.7666 6.28125H9.62404C9.20368 6.28125 8.80339 6.36426 8.43457 6.51096C9.00118 6.83615 9.38414 7.44548 9.38414 8.1442C9.38414 8.71339 9.12903 9.2239 8.72844 9.56962C9.13223 9.67011 9.50394 9.87671 9.80602 10.1789C10.2451 10.6183 10.4869 11.2015 10.4868 11.8208V12.9405C11.6903 12.934 13.1438 12.7543 14.8131 12.2327L14.9935 12.1766L15.0002 12.1357V9.51458C14.9996 7.73221 13.5493 6.28125 11.7666 6.28125Z" fill="#9CD8D8"/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0_2636_25871">
|
||||
<rect width="15" height="15" fill="white"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
<span>حق تاهل و حق فرزند</span>
|
||||
</li>
|
||||
<li class="d-flex align-items-center justify-content-start" data-target="FormBonusesPayAndBaseYearPay">
|
||||
<svg width="24" height="24" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M5.20521 1.5C5.5171 1.5 5.76994 1.74316 5.76994 2.0431V3.13865C6.27088 3.12931 6.83237 3.12931 7.46414 3.12931H10.4761C11.1078 3.12931 11.6693 3.12931 12.1702 3.13865V2.0431C12.1702 1.74316 12.4231 1.5 12.735 1.5C13.0468 1.5 13.2997 1.74316 13.2997 2.0431V3.1867C14.3835 3.27016 15.095 3.475 15.6177 3.97769C16.1404 4.48039 16.3534 5.16462 16.4402 6.20689L16.5 6.75H2.19342H1.5V6.20689C1.58678 5.16462 1.79977 4.48039 2.32249 3.97769C2.84521 3.475 3.55669 3.27016 4.64047 3.1867V2.0431C4.64047 1.74316 4.89331 1.5 5.20521 1.5Z" fill="#23A8A8"/>
|
||||
<path opacity="0.5" d="M16.4995 10.5001V9.00008C16.4995 8.37075 16.4971 7.24895 16.4874 6.75H1.50677C1.49709 7.24895 1.49954 8.37075 1.49954 9.00008V10.5001C1.49954 13.3285 1.49954 14.7427 2.37822 15.6214C3.2569 16.5001 4.67112 16.5001 7.49955 16.5001H10.4995C13.328 16.5001 14.7422 16.5001 15.6209 15.6214C16.4995 14.7427 16.4995 13.3285 16.4995 10.5001Z" fill="#9CD8D8"/>
|
||||
<path d="M13.5 12.75C13.5 13.1642 13.1642 13.5 12.75 13.5C12.3358 13.5 12 13.1642 12 12.75C12 12.3358 12.3358 12 12.75 12C13.1642 12 13.5 12.3358 13.5 12.75Z" fill="#23A8A8"/>
|
||||
<path d="M13.5 9.75C13.5 10.1642 13.1642 10.5 12.75 10.5C12.3358 10.5 12 10.1642 12 9.75C12 9.33578 12.3358 9 12.75 9C13.1642 9 13.5 9.33578 13.5 9.75Z" fill="#23A8A8"/>
|
||||
<path d="M9.75 12.75C9.75 13.1642 9.41422 13.5 9 13.5C8.58578 13.5 8.25 13.1642 8.25 12.75C8.25 12.3358 8.58578 12 9 12C9.41422 12 9.75 12.3358 9.75 12.75Z" fill="#23A8A8"/>
|
||||
<path d="M9.75 9.75C9.75 10.1642 9.41422 10.5 9 10.5C8.58578 10.5 8.25 10.1642 8.25 9.75C8.25 9.33578 8.58578 9 9 9C9.41422 9 9.75 9.33578 9.75 9.75Z" fill="#23A8A8"/>
|
||||
<path d="M6 12.75C6 13.1642 5.66421 13.5 5.25 13.5C4.83579 13.5 4.5 13.1642 4.5 12.75C4.5 12.3358 4.83579 12 5.25 12C5.66421 12 6 12.3358 6 12.75Z" fill="#23A8A8"/>
|
||||
<path d="M6 9.75C6 10.1642 5.66421 10.5 5.25 10.5C4.83579 10.5 4.5 10.1642 4.5 9.75C4.5 9.33578 4.83579 9 5.25 9C5.66421 9 6 9.33578 6 9.75Z" fill="#23A8A8"/>
|
||||
</svg>
|
||||
<span>عیدی و سنوات</span>
|
||||
</li>
|
||||
<li class="d-flex align-items-center justify-content-start" data-target="FormLeavePayAndInsuranceDeduction">
|
||||
<svg width="24" height="24" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path opacity="0.6" d="M11.25 1.5H10.5C8.3787 1.5 7.31802 1.5 6.65901 2.15901C6 2.81802 6 3.87868 6 6V12C6 14.1213 6 15.1819 6.65901 15.841C7.31802 16.5 8.3787 16.5 10.5 16.5H11.25C13.3713 16.5 14.4319 16.5 15.091 15.841C15.75 15.1819 15.75 14.1213 15.75 12V6C15.75 3.87868 15.75 2.81802 15.091 2.15901C14.4319 1.5 13.3713 1.5 11.25 1.5Z" fill="#9CD8D8"/>
|
||||
<path opacity="0.4" d="M6 6C6 4.84687 6 4.00715 6.10585 3.375H6C4.23224 3.375 3.34835 3.375 2.79917 3.92417C2.25 4.47335 2.25 5.35724 2.25 7.125V10.875C2.25 12.6427 2.25 13.5266 2.79917 14.0758C3.34835 14.625 4.23224 14.625 6 14.625H6.10585C6 13.9928 6 13.1531 6 12V9.5625V8.4375V6Z" fill="#9CD8D8"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M3.35225 8.60227C3.13258 8.82195 3.13258 9.17805 3.35225 9.39772L4.85225 10.8977C5.07192 11.1174 5.42808 11.1174 5.64775 10.8977C5.86741 10.678 5.86741 10.3219 5.64775 10.1023L5.10799 9.5625H10.5C10.8106 9.5625 11.0625 9.31065 11.0625 9C11.0625 8.68935 10.8106 8.4375 10.5 8.4375H5.10799L5.64775 7.89772C5.86741 7.67805 5.86741 7.32192 5.64775 7.10225C5.42808 6.88258 5.07192 6.88258 4.85225 7.10225L3.35225 8.60227Z" fill="#23A8A8"/>
|
||||
</svg>
|
||||
<span>مزد مرخصی و حق بیمه</span>
|
||||
</li>
|
||||
<li class="d-flex align-items-center justify-content-start" data-target="FormLateToWorkAndEarlyExit">
|
||||
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M12.5113 2.63854L14.1148 2.37128C15.311 2.17192 15.9091 2.07223 16.3903 2.1822C17.1823 2.36321 17.8369 2.91779 18.1457 3.66927C18.3333 4.1258 18.3333 4.73214 18.3333 5.94482V14.2232C18.3333 15.2841 18.3333 15.8145 18.189 16.2205C17.8883 17.0674 17.1561 17.6875 16.2714 17.845C15.8473 17.9205 15.324 17.8333 14.2775 17.659L12.5113 17.3645C10.5158 17.032 9.51817 16.8657 8.92567 16.1663C8.33325 15.467 8.33325 14.4555 8.33325 12.4325V7.57051C8.33325 5.54758 8.33325 4.53612 8.92567 3.83676C9.51817 3.13739 10.5158 2.97111 12.5113 2.63854Z" fill="#C4E8E8"/>
|
||||
<path d="M9.58325 15.8346L11.6666 13.7513M11.6666 13.7513L9.58325 11.668M11.6666 13.7513H3.33325" stroke="#23A8A8" stroke-linecap="round"/>
|
||||
<path d="M5.41659 5L3.33325 7.08333M3.33325 7.08333L5.41659 9.16667M3.33325 7.08333H11.6666" stroke="#23A8A8" stroke-linecap="round"/>
|
||||
</svg>
|
||||
<span>تاخیر در ورود و تعجیل در خروج</span>
|
||||
</li>
|
||||
<li class="d-flex align-items-center justify-content-start" data-target="FormFineAbsenceDeduction">
|
||||
<svg width="24" height="24" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<rect x="4.58325" y="2.75" width="12.8333" height="16.5" rx="2" fill="#C4E8E8"/>
|
||||
<circle cx="14.2084" cy="15.1237" r="1.79167" stroke="#23A8A8"/>
|
||||
<path d="M16.5 17.4141L17.875 18.7891" stroke="#23A8A8" stroke-linecap="round"/>
|
||||
<path d="M6.875 5.95703L13.2917 5.95703" stroke="#23A8A8" stroke-linecap="round"/>
|
||||
<path d="M6.875 8.70703L10.5417 8.70703" stroke="#23A8A8" stroke-linecap="round"/>
|
||||
</svg>
|
||||
<span>جریمه غیبت</span>
|
||||
</li>
|
||||
<li class="d-flex align-items-center justify-content-start" data-target="FormFridayAndHoliday">
|
||||
<svg width="24" height="24" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M5.25488 4.6351C5.12228 4.6351 4.99508 4.58243 4.90133 4.48865C4.80756 4.39488 4.75488 4.2677 4.75488 4.1351V2.71485C4.75488 2.58223 4.80756 2.45506 4.90133 2.36129C4.99508 2.26752 5.12228 2.21484 5.25488 2.21484C5.38751 2.21484 5.51466 2.26752 5.60843 2.36129C5.70221 2.45506 5.75488 2.58223 5.75488 2.71485V4.1351C5.75488 4.2677 5.70221 4.39488 5.60843 4.48865C5.51466 4.58243 5.38751 4.6351 5.25488 4.6351Z" fill="#23A8A8" />
|
||||
<path d="M10.9365 4.6351C10.8039 4.6351 10.6767 4.58243 10.583 4.48865C10.4892 4.39488 10.4365 4.2677 10.4365 4.1351V2.71485C10.4365 2.58223 10.4892 2.45506 10.583 2.36129C10.6767 2.26752 10.8039 2.21484 10.9365 2.21484C11.0691 2.21484 11.1963 2.26752 11.2901 2.36129C11.3838 2.45506 11.4365 2.58223 11.4365 2.71485V4.1351C11.4365 4.2677 11.3838 4.39488 11.2901 4.48865C11.1963 4.58243 11.0691 4.6351 10.9365 4.6351Z" fill="#23A8A8" />
|
||||
<path d="M7.5898 10.4556L7.5273 10.8281L7.8623 10.6531C7.93368 10.6145 8.01368 10.5948 8.0948 10.5956C8.17593 10.5948 8.25593 10.6145 8.3273 10.6531L8.6648 10.8281L8.5998 10.4556C8.58595 10.3758 8.59168 10.2939 8.6165 10.2168C8.64133 10.1397 8.68448 10.0698 8.7423 10.0131L9.0148 9.74813L8.6398 9.69312C8.55955 9.68057 8.48345 9.64907 8.41783 9.60125C8.35218 9.55342 8.29885 9.49065 8.2623 9.41812L8.0948 9.07812L7.9273 9.41812C7.89135 9.4911 7.8382 9.55425 7.77245 9.60215C7.7067 9.65005 7.63028 9.68127 7.5498 9.69312L7.1748 9.74813L7.4473 10.0131C7.50553 10.0695 7.549 10.1394 7.57385 10.2166C7.5987 10.2937 7.60418 10.3758 7.5898 10.4556Z" fill="#23A8A8" />
|
||||
<path d="M8.09508 6.76562H1.20508V12.0356C1.20528 12.5209 1.39814 12.9863 1.74129 13.3294C2.08444 13.6726 2.5498 13.8655 3.03508 13.8656H13.1551C13.6406 13.8655 14.1063 13.6727 14.4498 13.3296C14.7934 12.9865 14.9868 12.5212 14.9876 12.0356V6.76562H8.09508ZM5.62508 9.24312C5.65433 9.15442 5.70773 9.07565 5.77928 9.0156C5.8508 8.95553 5.93765 8.9166 6.03008 8.90312L7.14758 8.74063L7.64758 7.72813C7.68863 7.64438 7.75228 7.57375 7.83135 7.52428C7.91045 7.47478 8.0018 7.44843 8.09508 7.44813C8.18835 7.44843 8.27973 7.47478 8.3588 7.52428C8.43787 7.57375 8.50152 7.64438 8.54257 7.72813L9.04508 8.74063L10.1626 8.90312C10.2547 8.91672 10.3411 8.95575 10.4123 9.01583C10.4834 9.07588 10.5363 9.15462 10.5651 9.24312C10.5941 9.33172 10.5977 9.42665 10.5757 9.51723C10.5536 9.60778 10.5066 9.69035 10.4401 9.75562L9.63008 10.5456L9.82008 11.6581C9.83578 11.7501 9.82563 11.8446 9.79075 11.9311C9.75588 12.0177 9.69765 12.0928 9.62258 12.1481C9.5366 12.2099 9.43343 12.2431 9.32758 12.2431C9.2466 12.2428 9.16688 12.2231 9.09508 12.1856L8.09508 11.6606L7.09508 12.1856C7.01218 12.2284 6.9191 12.2475 6.82608 12.2409C6.73303 12.2343 6.6436 12.2022 6.56758 12.1481C6.4925 12.0928 6.43428 12.0177 6.3994 11.9311C6.36453 11.8446 6.35438 11.7501 6.37008 11.6581L6.56008 10.5456L5.75258 9.75463C5.6858 9.68973 5.63845 9.60742 5.61593 9.51705C5.5934 9.42667 5.59658 9.3318 5.62508 9.24312Z" fill="#23A8A8" />
|
||||
<path d="M13.1551 2.92578H12.1851V4.13578C12.1846 4.46716 12.0527 4.78478 11.8184 5.01908C11.5841 5.25341 11.2664 5.38526 10.9351 5.38578C10.6039 5.38481 10.2865 5.25278 10.0523 5.01858C9.81808 4.78438 9.68605 4.46701 9.68508 4.13578V2.92578H6.50508V4.13578C6.50455 4.46716 6.37268 4.78478 6.13838 5.01908C5.90408 5.25341 5.58645 5.38526 5.25508 5.38578C4.92373 5.38526 4.60608 5.25341 4.37178 5.01908C4.13748 4.78478 4.0056 4.46716 4.00508 4.13578V2.92578H3.03508C2.54998 2.92598 2.08476 3.11873 1.74164 3.46166C1.39852 3.80458 1.20554 4.26968 1.20508 4.75478V5.76478H14.9876V4.75478C14.9865 4.26943 14.793 3.80431 14.4495 3.46143C14.1059 3.11856 13.6404 2.92593 13.1551 2.92578Z" fill="#C4E8E8" />
|
||||
</svg>
|
||||
<span>جمعه و روزهای تعطیل</span>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="sidebarRollCallForm">
|
||||
<div class="rollCallFormBox">
|
||||
|
||||
<form role="form" method="post" name="create-form" id="create-form" autocomplete="off">
|
||||
<input type="hidden" name="Command.Id" value="@Model.Id"/>
|
||||
<input type="hidden" name="Command.EmployeeFullName" value="@Model.EmployeeFullName" />
|
||||
<input type="hidden" name="Command.Salary" value="@Model.Salary" />
|
||||
|
||||
@foreach (var itemEmployee in Model.EmployeeIds)
|
||||
{
|
||||
<input type="hidden" name="Command.EmployeeIds[@indexEmployee]" value="@itemEmployee" />
|
||||
indexEmployee++;
|
||||
}
|
||||
|
||||
@foreach (var item in Model.ShiftViewModel)
|
||||
{
|
||||
<input type="hidden" name="Command.ShiftViewModel[@indexShift].Placement" value="@item.Placement" />
|
||||
<input type="hidden" name="Command.ShiftViewModel[@indexShift].StartTime" value="@item.StartTime" />
|
||||
<input type="hidden" name="Command.ShiftViewModel[@indexShift].EndTime" value="@item.EndTime" />
|
||||
indexShift++;
|
||||
}
|
||||
|
||||
|
||||
@* <div class="form-section" id="FormWorkTimeSetting" style="display: none">
|
||||
<partial name="_ModalEmployeeSettingPartials/WorkTimeSetting"/>
|
||||
</div> *@
|
||||
@* <div class="form-section" id="FormMonthlySalariesAndWorkingHoursOfPersonnel" style="display: none">
|
||||
<partial name="_ModalEmployeeSettingPartials/MonthlySalariesAndWorkingHoursOfPersonnel"/>
|
||||
</div> *@
|
||||
<div class="form-section" id="FormFridayPayAndOvertimePay">
|
||||
<partial name="_ModalEmployeeSettingPartials/FridayPayAndOvertimePay" />
|
||||
</div>
|
||||
|
||||
<div class="form-section" id="FormNightWork" style="display: none">
|
||||
<partial name="_ModalEmployeeSettingPartials/NightWork" />
|
||||
</div>
|
||||
<div class="form-section" id="FormMarriedAllowanceAndFamilyAllowance" style="display: none">
|
||||
<partial name="_ModalEmployeeSettingPartials/MarriedAllowanceAndFamilyAllowance" />
|
||||
</div>
|
||||
<div class="form-section" id="FormBonusesPayAndBaseYearPay" style="display: none">
|
||||
<partial name="_ModalEmployeeSettingPartials/BonusesPayAndBaseYearPay" />
|
||||
</div>
|
||||
<div class="form-section" id="FormLeavePayAndInsuranceDeduction" style="display: none">
|
||||
<partial name="_ModalEmployeeSettingPartials/LeavePayAndInsuranceDeduction" />
|
||||
</div>
|
||||
<div class="form-section" id="FormLateToWorkAndEarlyExit" style="display: none">
|
||||
<partial name="_ModalEmployeeSettingPartials/LateToWorkAndEarlyExit" />
|
||||
</div>
|
||||
<div class="form-section" id="FormFineAbsenceDeduction" style="display: none">
|
||||
<partial name="_ModalEmployeeSettingPartials/FineAbsenceDeduction" />
|
||||
</div>
|
||||
<div class="form-section" id="FormFridayAndHoliday" style="display: none">
|
||||
<partial name="_ModalEmployeeSettingPartials/FridayAndHoliday" />
|
||||
</div>
|
||||
</form>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="sidebarRollCallMenu">
|
||||
<ul></ul>
|
||||
</div>
|
||||
<div class="sidebarRollCallForm">
|
||||
<div class="row p-3">
|
||||
<div class="col-6">
|
||||
<button type="button" class="btn-secondary w-100" data-bs-dismiss="modal">بستن</button>
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<div class="position-relative">
|
||||
<button class="btn-primary w-100" id="saveRollCallButton">ذخیره</button>
|
||||
<div class="spinner-loading loading" style="display: none;">
|
||||
<span class="spinner-border spinner-border-sm loading text-white" role="status" aria-hidden="true"></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script src="~/assetsclient/libs/cleave/cleave.min.js"></script>
|
||||
<script>
|
||||
var antiForgeryToken = $('@Html.AntiForgeryToken()').val();
|
||||
var saveWorkshopSetting = `@Url.Page("./Grouping", "GroupingEmployeeSetting")`;
|
||||
</script>
|
||||
<script src="~/assetsclient/pages/rollcall/js/ModalRollCallSetting.js?ver="></script>
|
||||
@@ -0,0 +1,219 @@
|
||||
@model CompanyManagment.App.Contracts.CustomizeWorkshopSettings.EditCustomizeWorkshopSettings
|
||||
@{
|
||||
string clientVersion = _0_Framework.Application.Version.StyleVersion;
|
||||
int index = 1;
|
||||
int i = 0;
|
||||
<link href="~/assetsclient/css/card.css?ver=" rel="stylesheet"/>
|
||||
<link href="~/assetsclient/pages/rollcall/css/modalrollcallsetting.css?ver=@clientVersion" rel="stylesheet" />
|
||||
}
|
||||
|
||||
<div class="modal-body p-0 selectTextNone">
|
||||
<div class="container-fluid">
|
||||
<button type="button" class="btn-header-close position-absolute text-start" data-bs-dismiss="modal" aria-label="Close">
|
||||
<svg width="30" height="30" viewBox="0 0 45 46" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M22.5 40.25C20.2839 40.25 18.0896 39.8038 16.0422 38.9369C13.9948 38.07 12.1346 36.7994 10.5676 35.1976C9.00058 33.5958 7.75758 31.6942 6.90953 29.6013C6.06148 27.5084 5.625 25.2653 5.625 23C5.625 20.7347 6.06149 18.4916 6.90953 16.3987C7.75758 14.3058 9.00059 12.4042 10.5676 10.8024C12.1346 9.2006 13.9949 7.92997 16.0422 7.06308C18.0896 6.19618 20.2839 5.75 22.5 5.75C24.7161 5.75 26.9104 6.19619 28.9578 7.06308C31.0052 7.92997 32.8654 9.2006 34.4324 10.8024C35.9994 12.4042 37.2424 14.3058 38.0905 16.3987C38.9385 18.4916 39.375 20.7347 39.375 23C39.375 25.2653 38.9385 27.5084 38.0905 29.6013C37.2424 31.6942 35.9994 33.5958 34.4324 35.1976C32.8654 36.7994 31.0051 38.07 28.9578 38.9369C26.9104 39.8038 24.7161 40.25 22.5 40.25L22.5 40.25Z" stroke="#33363F" stroke-width="2" stroke-linecap="round" />
|
||||
<path d="M16.875 17.25L28.125 28.75" stroke="#33363F" stroke-width="2" stroke-linecap="round" />
|
||||
<path d="M28.125 17.25L16.875 28.75" stroke="#33363F" stroke-width="2" stroke-linecap="round" />
|
||||
</svg>
|
||||
</button>
|
||||
<div class="row borderBottomHeader">
|
||||
<div class="sidebarRollCallMenu">
|
||||
<h5 class="titleHead text-center m-0" id="rollCallSettingModalLabel">تنظیمات حضور و غیاب</h5>
|
||||
</div>
|
||||
<div class="sidebarRollCallForm">
|
||||
<h5 class="titleHead text-center m-0" id="rollCallSettingModalHead">تنظیم ساعات کاری مجموعه</h5>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="sidebarRollCallMenu">
|
||||
<ul>
|
||||
@* <li class="d-flex align-items-center justify-content-start current complete1" data-target="EditAccountSetting">
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M12 10C14.2091 10 16 8.20914 16 6C16 3.79086 14.2091 2 12 2C9.79086 2 8 3.79086 8 6C8 8.20914 9.79086 10 12 10Z" fill="#23A8A8"/>
|
||||
<path opacity="0.5" d="M18.0947 15.0312C17.6699 15 17.1487 15 16.5 15C14.8501 15 14.0251 15 13.5126 15.5126C13 16.0251 13 16.8501 13 18.5C13 19.6663 13 20.4204 13.1811 20.9433C12.7971 20.9806 12.4025 21 12 21C8.13401 21 5 19.2091 5 17C5 14.7909 8.13401 13 12 13C14.6134 13 16.8924 13.8184 18.0947 15.0312Z" fill="#9CD8D8"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M16.5 22C14.8501 22 14.0251 22 13.5126 21.4874C13 20.9749 13 20.1499 13 18.5C13 16.8501 13 16.0251 13.5126 15.5126C14.0251 15 14.8501 15 16.5 15C18.1499 15 18.9749 15 19.4874 15.5126C20 16.0251 20 16.8501 20 18.5C20 20.1499 20 20.9749 19.4874 21.4874C18.9749 22 18.1499 22 16.5 22ZM17.0833 16.9444C17.0833 16.6223 16.8222 16.3611 16.5 16.3611C16.1778 16.3611 15.9167 16.6223 15.9167 16.9444V17.9167H14.9444C14.6223 17.9167 14.3611 18.1778 14.3611 18.5C14.3611 18.8222 14.6223 19.0833 14.9444 19.0833H15.9167V20.0556C15.9167 20.3777 16.1778 20.6389 16.5 20.6389C16.8222 20.6389 17.0833 20.3777 17.0833 20.0556V19.0833H18.0556C18.3777 19.0833 18.6389 18.8222 18.6389 18.5C18.6389 18.1778 18.3777 17.9167 18.0556 17.9167H17.0833V16.9444Z" fill="#23A8A8"/>
|
||||
</svg>
|
||||
<span>ویرایش اکانت دوربین</span>
|
||||
</li> *@
|
||||
<li class="d-flex align-items-center justify-content-start current" data-target="FormWorkTimeSetting">
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<circle cx="12" cy="12" r="9" fill="#9CD8D8"/>
|
||||
<path d="M12 5.3C12 5.15741 12 5.08611 12.0462 5.04182C12.0925 4.99753 12.1616 5.0005 12.2999 5.00643C13.4246 5.05465 14.5226 5.37351 15.5 5.93782C16.5641 6.5522 17.4478 7.43587 18.0622 8.5C18.6766 9.56413 19 10.7712 19 12C19 13.2288 18.6766 14.4359 18.0622 15.5C17.4478 16.5641 16.5641 17.4478 15.5 18.0622C14.4359 18.6766 13.2288 19 12 19C10.7712 19 9.56413 18.6766 8.5 18.0622C7.52259 17.4979 6.69743 16.7064 6.09335 15.7565C6.01906 15.6397 5.98191 15.5813 5.99716 15.5191C6.0124 15.4569 6.07414 15.4213 6.19763 15.35L11.85 12.0866C11.9232 12.0443 11.9598 12.0232 11.9799 11.9884C12 11.9536 12 11.9113 12 11.8268V5.3Z" fill="#23A8A8"/>
|
||||
</svg>
|
||||
<span>تنظیم ساعات کاری مجموعه</span>
|
||||
</li>
|
||||
@* <li class="d-flex align-items-center justify-content-start" data-target="FormMonthlySalariesAndWorkingHoursOfPersonnel">
|
||||
<svg width="24" height="24" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M1.5 6C1.5 4.34314 2.84314 3 4.5 3H13.5C15.1568 3 16.5 4.34314 16.5 6V6.375C16.5 6.5821 16.3321 6.75 16.125 6.75H1.875C1.66789 6.75 1.5 6.5821 1.5 6.375V6ZM1.875 8.25C1.66789 8.25 1.5 8.41792 1.5 8.625V12C1.5 13.6568 2.84314 15 4.5 15H13.5C15.1568 15 16.5 13.6568 16.5 12V8.625C16.5 8.41792 16.3321 8.25 16.125 8.25H1.875ZM9.75 11.25C9.75 10.8358 10.0858 10.5 10.5 10.5H12.75C13.1642 10.5 13.5 10.8358 13.5 11.25C13.5 11.6642 13.1642 12 12.75 12H10.5C10.0858 12 9.75 11.6642 9.75 11.25Z" fill="#9CD8D8"/>
|
||||
</svg>
|
||||
<span>حقوق ماهانه و ساعت کاری پرسنل</span>
|
||||
</li> *@
|
||||
<li class="d-flex align-items-center justify-content-start" data-target="FormFridayPayAndOvertimePay">
|
||||
<svg width="24" height="24" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g clip-path="url(#clip0_2636_25863)">
|
||||
<path d="M3.82972 10.2513H6.94472C6.99035 10.2513 7.02172 10.221 7.02172 10.1743V9.41122C7.02172 9.36559 6.99035 9.33475 6.94472 9.33475H5.10969V9.31919L6.48935 7.69247C6.82079 7.31462 7.02172 6.92247 7.02172 6.42119C7.02172 5.57237 6.41285 4.92578 5.41107 4.92578C4.40113 4.92578 3.81441 5.55759 3.76063 6.28197C3.75247 6.32834 3.77644 6.36687 3.8226 6.37478L4.67038 6.51297C4.72444 6.52109 4.75475 6.49766 4.75475 6.4515C4.80091 6.05069 5.01738 5.83472 5.37179 5.83472C5.73435 5.83472 5.94241 6.08969 5.94241 6.43594C5.94241 6.70547 5.83457 6.92906 5.63416 7.16109L3.79197 9.35003C3.7606 9.38878 3.75244 9.41122 3.75244 9.45791V10.1743C3.75247 10.221 3.78385 10.2513 3.82972 10.2513Z" fill="#23A8A8"/>
|
||||
<path d="M8 0C3.58156 0 0 3.58159 0 8C0 12.4187 3.58156 16 8 16C12.4184 16 16 12.4187 16 8C16 3.58159 12.4184 0 8 0ZM8 1.51378V14.4862C4.4235 14.4862 1.51375 11.5765 1.51375 8C1.51378 4.4235 4.42353 1.51378 8 1.51378ZM10.2139 8.54284V8.56578H11.1769L11.2231 8.51912V7.38656C11.2231 7.34041 11.2539 7.30981 11.3003 7.30981H12.1943C12.2409 7.30981 12.2712 7.34041 12.2712 7.38656V8.51916L12.3177 8.56581H12.6647C12.7103 8.56581 12.7412 8.59691 12.7412 8.64331V9.42125C12.7412 9.46791 12.7103 9.49828 12.6647 9.49828H12.3177L12.2712 9.54466V10.1844C12.2712 10.231 12.2409 10.2614 12.1943 10.2614H11.3003C11.2539 10.2614 11.2231 10.231 11.2231 10.1844V9.54466L11.1769 9.49828H9.13459C9.08822 9.49828 9.05734 9.46791 9.05734 9.42125V8.63562L9.07238 8.54284L10.6453 5.08159C10.6677 5.03519 10.6988 5.01991 10.7524 5.01991H11.732C11.7852 5.01991 11.8011 5.05103 11.7852 5.09769L10.2139 8.54284Z" fill="#9CD8D8"/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0_2636_25863">
|
||||
<rect width="16" height="16" fill="white"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
<span>جمعه کاری و اضافه کاری</span>
|
||||
</li>
|
||||
<li class="d-flex align-items-center justify-content-start" data-target="FormNightWork">
|
||||
<svg width="24" height="24" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M7.58084 12.8093C7.58084 11.8747 7.89238 10.8016 8.377 9.97087C8.96546 8.93241 9.62315 8.51703 10.1424 7.75549C11.0078 6.47472 11.1808 4.6401 10.627 3.25549C10.0732 1.83626 8.75777 1.00549 7.23469 1.0401C5.71161 1.07472 4.46546 2.00933 3.98084 3.42856C3.427 4.98626 3.66931 6.85549 4.91546 8.03241C5.43469 8.51703 5.91931 9.27856 5.64238 10.0055C5.40008 10.6978 4.56931 11.0093 3.98084 11.2863C2.63084 11.8747 1.00392 12.7055 0.726998 14.2978C0.450075 15.6132 1.35008 16.9632 2.76931 16.9632H8.65392C8.93085 16.9632 9.10392 16.617 8.93085 16.4093C8.06546 15.4055 7.58084 14.1247 7.58084 12.8093Z" fill="#C4E8E8"/>
|
||||
<path d="M16.0616 9.86863C14.4347 8.24171 11.8039 8.24171 10.177 9.86863C8.55006 11.4956 8.55006 14.1263 10.177 15.7532C11.8039 17.3802 14.4347 17.3802 16.0616 15.7532C17.6885 14.1263 17.6885 11.4956 16.0616 9.86863ZM14.8501 13.5379C14.9885 13.6763 14.9885 13.9186 14.8154 14.0571L14.3308 14.5417C14.1924 14.6802 14.0193 14.6802 13.8808 14.5071L13.1539 13.7802L12.3924 14.5417C12.2539 14.6802 12.0808 14.6802 11.9424 14.5071L11.4231 14.0225C11.2847 13.884 11.2501 13.7109 11.3885 13.5725L12.1501 12.8109L11.4231 12.0494C11.2847 11.9109 11.2501 11.7379 11.3885 11.5994L11.8731 11.1148C12.0116 10.9763 12.2539 10.9417 12.3924 11.0802L13.1193 11.8071L13.8462 11.0802C13.9847 10.9417 14.227 10.9071 14.3654 11.0456L14.8501 11.5302C14.9885 11.6686 14.9885 11.9109 14.8154 12.0494L14.0885 12.7763L14.8501 13.5379Z" fill="#23A8A8"/>
|
||||
</svg>
|
||||
<span>شب کاری</span>
|
||||
</li>
|
||||
<li class="d-flex align-items-center justify-content-start" data-target="FormMarriedAllowanceAndFamilyAllowance">
|
||||
<svg width="24" height="24" viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g clip-path="url(#clip0_2636_25871)">
|
||||
<path d="M7.49976 9.70899C8.36432 9.70899 9.06519 9.00812 9.06519 8.14356C9.06519 7.27899 8.36432 6.57812 7.49976 6.57812C6.63519 6.57812 5.93433 7.27899 5.93433 8.14356C5.93433 9.00812 6.63519 9.70899 7.49976 9.70899Z" fill="#23A8A8"/>
|
||||
<path d="M8.164 9.81641H6.83573C5.73064 9.81641 4.83154 10.7158 4.83154 11.8207V13.4456L4.83565 13.4709L4.94739 13.5057C6.00201 13.8353 6.91843 13.9453 7.6728 13.9453C9.14564 13.9453 9.99928 13.5251 10.052 13.4987L10.1566 13.4453L10.1674 13.4456V11.8206C10.1682 10.7158 9.26939 9.81641 8.164 9.81641Z" fill="#23A8A8"/>
|
||||
<path d="M4.30415 6.10927C5.69885 6.10927 6.82948 4.97864 6.82948 3.58393C6.82948 2.18923 5.69885 1.05859 4.30415 1.05859C2.90944 1.05859 1.77881 2.18923 1.77881 3.58393C1.77881 4.97864 2.90944 6.10927 4.30415 6.10927Z" fill="#9CD8D8"/>
|
||||
<path d="M10.6951 6.10927C12.0898 6.10927 13.2201 4.97818 13.2201 3.58363C13.2201 2.18953 12.0894 1.05859 10.6951 1.05859C9.3001 1.05859 8.16992 2.18923 8.16992 3.58363C8.16992 4.97803 9.3001 6.10927 10.6951 6.10927Z" fill="#9CD8D8"/>
|
||||
<path d="M6.27237 9.56992C5.87148 9.22421 5.61652 8.7137 5.61652 8.1442C5.61652 7.44578 5.99948 6.83615 6.56564 6.51096C6.19697 6.36426 5.79622 6.28125 5.37586 6.28125H3.23303C1.45035 6.2811 0 7.73205 0 9.51443V12.1355L0.00653721 12.1764L0.186995 12.2325C1.85657 12.7543 3.30995 12.9338 4.51341 12.9404V11.8204C4.51341 10.7343 5.26367 9.82274 6.27237 9.56992Z" fill="#9CD8D8"/>
|
||||
<path d="M11.7666 6.28125H9.62404C9.20368 6.28125 8.80339 6.36426 8.43457 6.51096C9.00118 6.83615 9.38414 7.44548 9.38414 8.1442C9.38414 8.71339 9.12903 9.2239 8.72844 9.56962C9.13223 9.67011 9.50394 9.87671 9.80602 10.1789C10.2451 10.6183 10.4869 11.2015 10.4868 11.8208V12.9405C11.6903 12.934 13.1438 12.7543 14.8131 12.2327L14.9935 12.1766L15.0002 12.1357V9.51458C14.9996 7.73221 13.5493 6.28125 11.7666 6.28125Z" fill="#9CD8D8"/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0_2636_25871">
|
||||
<rect width="15" height="15" fill="white"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
<span>حق تاهل و حق فرزند</span>
|
||||
</li>
|
||||
<li class="d-flex align-items-center justify-content-start" data-target="FormBonusesPayAndBaseYearPay">
|
||||
<svg width="24" height="24" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M5.20521 1.5C5.5171 1.5 5.76994 1.74316 5.76994 2.0431V3.13865C6.27088 3.12931 6.83237 3.12931 7.46414 3.12931H10.4761C11.1078 3.12931 11.6693 3.12931 12.1702 3.13865V2.0431C12.1702 1.74316 12.4231 1.5 12.735 1.5C13.0468 1.5 13.2997 1.74316 13.2997 2.0431V3.1867C14.3835 3.27016 15.095 3.475 15.6177 3.97769C16.1404 4.48039 16.3534 5.16462 16.4402 6.20689L16.5 6.75H2.19342H1.5V6.20689C1.58678 5.16462 1.79977 4.48039 2.32249 3.97769C2.84521 3.475 3.55669 3.27016 4.64047 3.1867V2.0431C4.64047 1.74316 4.89331 1.5 5.20521 1.5Z" fill="#23A8A8"/>
|
||||
<path opacity="0.5" d="M16.4995 10.5001V9.00008C16.4995 8.37075 16.4971 7.24895 16.4874 6.75H1.50677C1.49709 7.24895 1.49954 8.37075 1.49954 9.00008V10.5001C1.49954 13.3285 1.49954 14.7427 2.37822 15.6214C3.2569 16.5001 4.67112 16.5001 7.49955 16.5001H10.4995C13.328 16.5001 14.7422 16.5001 15.6209 15.6214C16.4995 14.7427 16.4995 13.3285 16.4995 10.5001Z" fill="#9CD8D8"/>
|
||||
<path d="M13.5 12.75C13.5 13.1642 13.1642 13.5 12.75 13.5C12.3358 13.5 12 13.1642 12 12.75C12 12.3358 12.3358 12 12.75 12C13.1642 12 13.5 12.3358 13.5 12.75Z" fill="#23A8A8"/>
|
||||
<path d="M13.5 9.75C13.5 10.1642 13.1642 10.5 12.75 10.5C12.3358 10.5 12 10.1642 12 9.75C12 9.33578 12.3358 9 12.75 9C13.1642 9 13.5 9.33578 13.5 9.75Z" fill="#23A8A8"/>
|
||||
<path d="M9.75 12.75C9.75 13.1642 9.41422 13.5 9 13.5C8.58578 13.5 8.25 13.1642 8.25 12.75C8.25 12.3358 8.58578 12 9 12C9.41422 12 9.75 12.3358 9.75 12.75Z" fill="#23A8A8"/>
|
||||
<path d="M9.75 9.75C9.75 10.1642 9.41422 10.5 9 10.5C8.58578 10.5 8.25 10.1642 8.25 9.75C8.25 9.33578 8.58578 9 9 9C9.41422 9 9.75 9.33578 9.75 9.75Z" fill="#23A8A8"/>
|
||||
<path d="M6 12.75C6 13.1642 5.66421 13.5 5.25 13.5C4.83579 13.5 4.5 13.1642 4.5 12.75C4.5 12.3358 4.83579 12 5.25 12C5.66421 12 6 12.3358 6 12.75Z" fill="#23A8A8"/>
|
||||
<path d="M6 9.75C6 10.1642 5.66421 10.5 5.25 10.5C4.83579 10.5 4.5 10.1642 4.5 9.75C4.5 9.33578 4.83579 9 5.25 9C5.66421 9 6 9.33578 6 9.75Z" fill="#23A8A8"/>
|
||||
</svg>
|
||||
<span>عیدی و سنوات</span>
|
||||
</li>
|
||||
<li class="d-flex align-items-center justify-content-start" data-target="FormLeavePayAndInsuranceDeduction">
|
||||
<svg width="24" height="24" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path opacity="0.6" d="M11.25 1.5H10.5C8.3787 1.5 7.31802 1.5 6.65901 2.15901C6 2.81802 6 3.87868 6 6V12C6 14.1213 6 15.1819 6.65901 15.841C7.31802 16.5 8.3787 16.5 10.5 16.5H11.25C13.3713 16.5 14.4319 16.5 15.091 15.841C15.75 15.1819 15.75 14.1213 15.75 12V6C15.75 3.87868 15.75 2.81802 15.091 2.15901C14.4319 1.5 13.3713 1.5 11.25 1.5Z" fill="#9CD8D8"/>
|
||||
<path opacity="0.4" d="M6 6C6 4.84687 6 4.00715 6.10585 3.375H6C4.23224 3.375 3.34835 3.375 2.79917 3.92417C2.25 4.47335 2.25 5.35724 2.25 7.125V10.875C2.25 12.6427 2.25 13.5266 2.79917 14.0758C3.34835 14.625 4.23224 14.625 6 14.625H6.10585C6 13.9928 6 13.1531 6 12V9.5625V8.4375V6Z" fill="#9CD8D8"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M3.35225 8.60227C3.13258 8.82195 3.13258 9.17805 3.35225 9.39772L4.85225 10.8977C5.07192 11.1174 5.42808 11.1174 5.64775 10.8977C5.86741 10.678 5.86741 10.3219 5.64775 10.1023L5.10799 9.5625H10.5C10.8106 9.5625 11.0625 9.31065 11.0625 9C11.0625 8.68935 10.8106 8.4375 10.5 8.4375H5.10799L5.64775 7.89772C5.86741 7.67805 5.86741 7.32192 5.64775 7.10225C5.42808 6.88258 5.07192 6.88258 4.85225 7.10225L3.35225 8.60227Z" fill="#23A8A8"/>
|
||||
</svg>
|
||||
<span>مزد مرخصی و حق بیمه</span>
|
||||
</li>
|
||||
<li class="d-flex align-items-center justify-content-start" data-target="FormLateToWorkAndEarlyExit">
|
||||
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M12.5113 2.63854L14.1148 2.37128C15.311 2.17192 15.9091 2.07223 16.3903 2.1822C17.1823 2.36321 17.8369 2.91779 18.1457 3.66927C18.3333 4.1258 18.3333 4.73214 18.3333 5.94482V14.2232C18.3333 15.2841 18.3333 15.8145 18.189 16.2205C17.8883 17.0674 17.1561 17.6875 16.2714 17.845C15.8473 17.9205 15.324 17.8333 14.2775 17.659L12.5113 17.3645C10.5158 17.032 9.51817 16.8657 8.92567 16.1663C8.33325 15.467 8.33325 14.4555 8.33325 12.4325V7.57051C8.33325 5.54758 8.33325 4.53612 8.92567 3.83676C9.51817 3.13739 10.5158 2.97111 12.5113 2.63854Z" fill="#C4E8E8"/>
|
||||
<path d="M9.58325 15.8346L11.6666 13.7513M11.6666 13.7513L9.58325 11.668M11.6666 13.7513H3.33325" stroke="#23A8A8" stroke-linecap="round"/>
|
||||
<path d="M5.41659 5L3.33325 7.08333M3.33325 7.08333L5.41659 9.16667M3.33325 7.08333H11.6666" stroke="#23A8A8" stroke-linecap="round"/>
|
||||
</svg>
|
||||
<span>تاخیر در ورود و تعجیل در خروج</span>
|
||||
</li>
|
||||
<li class="d-flex align-items-center justify-content-start" data-target="FormFineAbsenceDeduction">
|
||||
<svg width="24" height="24" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<rect x="4.58325" y="2.75" width="12.8333" height="16.5" rx="2" fill="#C4E8E8"/>
|
||||
<circle cx="14.2084" cy="15.1237" r="1.79167" stroke="#23A8A8"/>
|
||||
<path d="M16.5 17.4141L17.875 18.7891" stroke="#23A8A8" stroke-linecap="round"/>
|
||||
<path d="M6.875 5.95703L13.2917 5.95703" stroke="#23A8A8" stroke-linecap="round"/>
|
||||
<path d="M6.875 8.70703L10.5417 8.70703" stroke="#23A8A8" stroke-linecap="round"/>
|
||||
</svg>
|
||||
<span>جریمه غیبت</span>
|
||||
</li>
|
||||
<li class="d-flex align-items-center justify-content-start" data-target="FormFridayAndHoliday">
|
||||
<svg width="24" height="24" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M5.25488 4.6351C5.12228 4.6351 4.99508 4.58243 4.90133 4.48865C4.80756 4.39488 4.75488 4.2677 4.75488 4.1351V2.71485C4.75488 2.58223 4.80756 2.45506 4.90133 2.36129C4.99508 2.26752 5.12228 2.21484 5.25488 2.21484C5.38751 2.21484 5.51466 2.26752 5.60843 2.36129C5.70221 2.45506 5.75488 2.58223 5.75488 2.71485V4.1351C5.75488 4.2677 5.70221 4.39488 5.60843 4.48865C5.51466 4.58243 5.38751 4.6351 5.25488 4.6351Z" fill="#23A8A8" />
|
||||
<path d="M10.9365 4.6351C10.8039 4.6351 10.6767 4.58243 10.583 4.48865C10.4892 4.39488 10.4365 4.2677 10.4365 4.1351V2.71485C10.4365 2.58223 10.4892 2.45506 10.583 2.36129C10.6767 2.26752 10.8039 2.21484 10.9365 2.21484C11.0691 2.21484 11.1963 2.26752 11.2901 2.36129C11.3838 2.45506 11.4365 2.58223 11.4365 2.71485V4.1351C11.4365 4.2677 11.3838 4.39488 11.2901 4.48865C11.1963 4.58243 11.0691 4.6351 10.9365 4.6351Z" fill="#23A8A8" />
|
||||
<path d="M7.5898 10.4556L7.5273 10.8281L7.8623 10.6531C7.93368 10.6145 8.01368 10.5948 8.0948 10.5956C8.17593 10.5948 8.25593 10.6145 8.3273 10.6531L8.6648 10.8281L8.5998 10.4556C8.58595 10.3758 8.59168 10.2939 8.6165 10.2168C8.64133 10.1397 8.68448 10.0698 8.7423 10.0131L9.0148 9.74813L8.6398 9.69312C8.55955 9.68057 8.48345 9.64907 8.41783 9.60125C8.35218 9.55342 8.29885 9.49065 8.2623 9.41812L8.0948 9.07812L7.9273 9.41812C7.89135 9.4911 7.8382 9.55425 7.77245 9.60215C7.7067 9.65005 7.63028 9.68127 7.5498 9.69312L7.1748 9.74813L7.4473 10.0131C7.50553 10.0695 7.549 10.1394 7.57385 10.2166C7.5987 10.2937 7.60418 10.3758 7.5898 10.4556Z" fill="#23A8A8" />
|
||||
<path d="M8.09508 6.76562H1.20508V12.0356C1.20528 12.5209 1.39814 12.9863 1.74129 13.3294C2.08444 13.6726 2.5498 13.8655 3.03508 13.8656H13.1551C13.6406 13.8655 14.1063 13.6727 14.4498 13.3296C14.7934 12.9865 14.9868 12.5212 14.9876 12.0356V6.76562H8.09508ZM5.62508 9.24312C5.65433 9.15442 5.70773 9.07565 5.77928 9.0156C5.8508 8.95553 5.93765 8.9166 6.03008 8.90312L7.14758 8.74063L7.64758 7.72813C7.68863 7.64438 7.75228 7.57375 7.83135 7.52428C7.91045 7.47478 8.0018 7.44843 8.09508 7.44813C8.18835 7.44843 8.27973 7.47478 8.3588 7.52428C8.43787 7.57375 8.50152 7.64438 8.54257 7.72813L9.04508 8.74063L10.1626 8.90312C10.2547 8.91672 10.3411 8.95575 10.4123 9.01583C10.4834 9.07588 10.5363 9.15462 10.5651 9.24312C10.5941 9.33172 10.5977 9.42665 10.5757 9.51723C10.5536 9.60778 10.5066 9.69035 10.4401 9.75562L9.63008 10.5456L9.82008 11.6581C9.83578 11.7501 9.82563 11.8446 9.79075 11.9311C9.75588 12.0177 9.69765 12.0928 9.62258 12.1481C9.5366 12.2099 9.43343 12.2431 9.32758 12.2431C9.2466 12.2428 9.16688 12.2231 9.09508 12.1856L8.09508 11.6606L7.09508 12.1856C7.01218 12.2284 6.9191 12.2475 6.82608 12.2409C6.73303 12.2343 6.6436 12.2022 6.56758 12.1481C6.4925 12.0928 6.43428 12.0177 6.3994 11.9311C6.36453 11.8446 6.35438 11.7501 6.37008 11.6581L6.56008 10.5456L5.75258 9.75463C5.6858 9.68973 5.63845 9.60742 5.61593 9.51705C5.5934 9.42667 5.59658 9.3318 5.62508 9.24312Z" fill="#23A8A8" />
|
||||
<path d="M13.1551 2.92578H12.1851V4.13578C12.1846 4.46716 12.0527 4.78478 11.8184 5.01908C11.5841 5.25341 11.2664 5.38526 10.9351 5.38578C10.6039 5.38481 10.2865 5.25278 10.0523 5.01858C9.81808 4.78438 9.68605 4.46701 9.68508 4.13578V2.92578H6.50508V4.13578C6.50455 4.46716 6.37268 4.78478 6.13838 5.01908C5.90408 5.25341 5.58645 5.38526 5.25508 5.38578C4.92373 5.38526 4.60608 5.25341 4.37178 5.01908C4.13748 4.78478 4.0056 4.46716 4.00508 4.13578V2.92578H3.03508C2.54998 2.92598 2.08476 3.11873 1.74164 3.46166C1.39852 3.80458 1.20554 4.26968 1.20508 4.75478V5.76478H14.9876V4.75478C14.9865 4.26943 14.793 3.80431 14.4495 3.46143C14.1059 3.11856 13.6404 2.92593 13.1551 2.92578Z" fill="#C4E8E8" />
|
||||
</svg>
|
||||
<span>جمعه و روزهای تعطیل</span>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="sidebarRollCallForm">
|
||||
<div class="rollCallFormBox">
|
||||
|
||||
<form role="form" method="post" name="create-form" id="create-form" autocomplete="off">
|
||||
<input type="hidden" name="Command.Id" value="@Model.Id"/>
|
||||
@* <div class="form-section" id="EditAccountSetting">
|
||||
<partial name="_ModalPartials/EditAccountSetting" />
|
||||
</div> *@
|
||||
<div class="form-section" id="FormWorkTimeSetting" style="display: none">
|
||||
<partial name="_ModalPartials/WorkTimeSetting"/>
|
||||
</div>
|
||||
@* <div class="form-section" id="FormMonthlySalariesAndWorkingHoursOfPersonnel" style="display: none">
|
||||
<partial name="_ModalPartials/MonthlySalariesAndWorkingHoursOfPersonnel"/>
|
||||
</div> *@
|
||||
<div class="form-section" id="FormFridayPayAndOvertimePay" style="display: none">
|
||||
<partial name="_ModalPartials/FridayPayAndOvertimePay" />
|
||||
</div>
|
||||
|
||||
<div class="form-section" id="FormNightWork" style="display: none">
|
||||
<partial name="_ModalPartials/NightWork"/>
|
||||
</div>
|
||||
<div class="form-section" id="FormMarriedAllowanceAndFamilyAllowance" style="display: none">
|
||||
<partial name="_ModalPartials/MarriedAllowanceAndFamilyAllowance" />
|
||||
</div>
|
||||
<div class="form-section" id="FormBonusesPayAndBaseYearPay" style="display: none">
|
||||
<partial name="_ModalPartials/BonusesPayAndBaseYearPay"/>
|
||||
</div>
|
||||
<div class="form-section" id="FormLeavePayAndInsuranceDeduction" style="display: none">
|
||||
<partial name="_ModalPartials/LeavePayAndInsuranceDeduction" />
|
||||
</div>
|
||||
<div class="form-section" id="FormLateToWorkAndEarlyExit" style="display: none">
|
||||
<partial name="_ModalPartials/LateToWorkAndEarlyExit" />
|
||||
</div>
|
||||
<div class="form-section" id="FormFineAbsenceDeduction" style="display: none">
|
||||
<partial name="_ModalPartials/FineAbsenceDeduction" />
|
||||
</div>
|
||||
<div class="form-section" id="FormFridayAndHoliday" style="display: none">
|
||||
<partial name="_ModalPartials/FridayAndHoliday" />
|
||||
</div>
|
||||
</form>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="sidebarRollCallMenu">
|
||||
<ul></ul>
|
||||
</div>
|
||||
<div class="sidebarRollCallForm">
|
||||
<div class="row p-3">
|
||||
<div class="col-6">
|
||||
<button type="button" class="btn-secondary w-100" data-bs-dismiss="modal">بستن</button>
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<div class="position-relative">
|
||||
<button class="btn-primary w-100" id="saveRollCallButton">ذخیره</button>
|
||||
<div class="spinner-loading loading" style="display: none;">
|
||||
<span class="spinner-border spinner-border-sm loading text-white" role="status" aria-hidden="true"></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script src="~/assetsclient/libs/cleave/cleave.min.js"></script>
|
||||
<script>
|
||||
var antiForgeryToken = $('@Html.AntiForgeryToken()').val();
|
||||
var saveWorkshopSetting = `@Url.Page("./Index", "SaveCustomWorkshopSettings")`;
|
||||
</script>
|
||||
<script src="~/assetsclient/pages/rollcall/js/ModalRollCallSetting.js?ver=@clientVersion"></script>
|
||||
@@ -0,0 +1,151 @@
|
||||
@using _0_Framework.Domain.CustomizeCheckoutValueObjects
|
||||
@model CompanyManagment.App.Contracts.CustomizeWorkshopSettings.EditCustomizeEmployeeSettings
|
||||
|
||||
<div class="row my-2">
|
||||
<div class="col-12 mb-2">
|
||||
<div class="rollCallInfo">
|
||||
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<circle cx="16" cy="16" r="12" fill="#2FC1C1" />
|
||||
<path d="M17.3333 9.33333C17.3333 10.0697 16.7363 10.6667 16 10.6667C15.2636 10.6667 14.6666 10.0697 14.6666 9.33333C14.6666 8.59695 15.2636 8 16 8C16.7363 8 17.3333 8.59695 17.3333 9.33333Z" fill="#FFE2E2" />
|
||||
<path d="M16 22.0013V15.3346C16 14.2416 16 13.695 15.7288 13.3076C15.6284 13.1643 15.5037 13.0396 15.3604 12.9392C14.973 12.668 14.4265 12.668 13.3334 12.668V12.668M16 22.0013H18M16 22.0013H14" stroke="#FFE2E2" />
|
||||
</svg>
|
||||
<span>این تنظیمات در محاسبات فیش حقوق قانونی اداره کار تاثیری نخواهد داشت.</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 group-container">
|
||||
<div class="titleSettingRollCall">عیدی</div>
|
||||
<div class="form-group my-1 group">
|
||||
<input type="radio" name="Command.BonusesPay.BonusesPayType" id="BonusesPay1" class="form-check-input Main-Radio" @(Model.BonusesPay.BonusesPayType == BonusesType.None ? "checked" : "") value="@((int)(BonusesPaymentType.None))" />
|
||||
<label for="BonusesPay1">عیدی پرداخت نمیگردد و در فیش حقوقی محاسبه نگردد.</label>
|
||||
</div>
|
||||
<div class="form-group group">
|
||||
<input type="checkbox" name="Command.BonusesPay.BonusesPayType1" id="BonusesPay2" class="form-check-input Main-Radio main-checkbox"
|
||||
@((Model.BonusesPay.BonusesPayType == BonusesType.Money ||
|
||||
Model.BonusesPay.BonusesPayType == BonusesType.OneTimeOfSalary ||
|
||||
Model.BonusesPay.BonusesPayType == BonusesType.TwoTimeOfSalary ||
|
||||
Model.BonusesPay.BonusesPayType == BonusesType.PercentageOfSalary) ? "checked" : "" ) />
|
||||
<label for="BonusesPay2">مبلغ عیدی تعیین شدن:</label>
|
||||
|
||||
<div class="form-group sub-group my-1 ms-4 BonusesPay2SubDisable">
|
||||
<div>
|
||||
<input type="radio" name="Command.BonusesPay.BonusesPayType" id="BonusesPay2Sub1" class="form-check-input Sub-Radio" @(Model.BonusesPay.BonusesPayType == BonusesType.Money ? "checked" : "") value="@((int)(BonusesType.Money))" />
|
||||
<label for="BonusesPay2Sub1">مبلغ عیدی </label>
|
||||
<input type="text" class="sub-input form-control-currency" name="Command.BonusesPay.Value" value="@(Model.BonusesPay.BonusesPayType == BonusesType.Money ? Model.BonusesPay.Value : "")" @((Model.BonusesPay.Value != 0 && Model.BonusesPay.BonusesPayType == BonusesType.Money) ? "" : "disabled") />
|
||||
<label for="BonusesPay2Sub1">ریال در سال</label>
|
||||
</div>
|
||||
<div>
|
||||
<input type="radio" name="Command.BonusesPay.BonusesPayType" id="BonusesPay2Sub2" class="form-check-input Sub-Radio" @(Model.BonusesPay.BonusesPayType == BonusesType.OneTimeOfSalary ? "checked" : "") value="@((int)(BonusesType.OneTimeOfSalary))" />
|
||||
<label for="BonusesPay2Sub2">مبلغ عیدی یک پایه حقوق پرداختی پرسنل محاسبه گردد.</label>
|
||||
</div>
|
||||
<div>
|
||||
<input type="radio" name="Command.BonusesPay.BonusesPayType" id="BonusesPay2Sub3" class="form-check-input Sub-Radio" @(Model.BonusesPay.BonusesPayType == BonusesType.TwoTimeOfSalary ? "checked" : "") value="@((int)(BonusesType.TwoTimeOfSalary))" />
|
||||
<label for="BonusesPay2Sub3">مبلغ عیدی 2 برابر پایه حقوق پرداختی پرسنل محاسبه گردد.</label>
|
||||
</div>
|
||||
<div>
|
||||
<input type="radio" name="Command.BonusesPay.BonusesPayType" id="BonusesPay2Sub4" class="form-check-input Sub-Radio" @(Model.BonusesPay.BonusesPayType == BonusesType.PercentageOfSalary ? "checked" : "") value="@((int)(BonusesType.PercentageOfSalary))" />
|
||||
<label for="BonusesPay2Sub4">مبلغ عیدی </label>
|
||||
<input type="text" class="sub-input form-control-percent" name="Command.BonusesPay.Value" value="@(Model.BonusesPay.BonusesPayType == BonusesType.PercentageOfSalary ? Model.BonusesPay.Value : "")" @((Model.BonusesPay.Value != 0 && Model.BonusesPay.BonusesPayType == BonusesType.PercentageOfSalary) ? "" : "disabled") />
|
||||
<label for="BonusesPay2Sub4">درصد از حقوق، ماهیانه پرسنل محاسبه گردد.</label>
|
||||
</div>
|
||||
|
||||
@* <input type="hidden" name="Command.BonusesPay.PaymentType" value="@((int)(BonusesPaymentType.YearlyPay))" /> *@
|
||||
|
||||
<div class="col-12 my-2">
|
||||
<div class="lineMinHr"></div>
|
||||
</div>
|
||||
|
||||
<div class="form-group my-1">
|
||||
<input type="radio" name="Command.BonusesPay.PaymentType" id="BonusesPay3" class="form-check-input Main-Radio2" @(Model.BonusesPay.PaymentType == BonusesPaymentType.YearlyPay ? "checked" : "") value="@((int)(BonusesPaymentType.YearlyPay))" />
|
||||
<label for="BonusesPay3">پرداخت سالانه (مبلغ عیدی محاسبه شده در فیش حقوقی اسفند ماه محاسبه گردد.)</label>
|
||||
</div>
|
||||
<div class="form-group my-1">
|
||||
<input type="radio" name="Command.BonusesPay.PaymentType" id="BonusesPay4" class="form-check-input Main-Radio2" @(Model.BonusesPay.PaymentType == BonusesPaymentType.MonthlyPay ? "checked" : "") value="@((int)(BonusesPaymentType.MonthlyPay))" />
|
||||
<label for="BonusesPay4">پرداخت ماهانه (مبلغ عیدی محاسبه شده بصورت ماهانه در فیش حقوقی محاسبه گردد.)</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="col-12">
|
||||
<div class="lineHr my-3"></div>
|
||||
</div>
|
||||
|
||||
<div class="col-12 group-container">
|
||||
<div class="titleSettingRollCall">سنوات</div>
|
||||
|
||||
<div class="form-group my-1 group">
|
||||
<input type="radio" name="Command.BaseYearsPay.BaseYearsPayType" id="BaseyearPay1" class="form-check-input Main-Radio" @(Model.BaseYearsPay.BaseYearsPayType == BaseYearsPayType.None ? "checked" : "") value="@((int)(BaseYearsPayType.None))" />
|
||||
<label for="BaseyearPay1">سنوات پرداخت نمیگردد و در فیش حقوقی محاسبه نگردد.</label>
|
||||
</div>
|
||||
|
||||
<div class="form-group group">
|
||||
<input type="checkbox" name="Command.BaseYearsPay.BaseYearsPayType1" id="BaseyearPay2" class="form-check-input Main-Radio main-checkbox"
|
||||
@((Model.BaseYearsPay.BaseYearsPayType == BaseYearsPayType.Money ||
|
||||
Model.BaseYearsPay.BaseYearsPayType == BaseYearsPayType.PercentageOfSalary) ? "checked" : "" ) />
|
||||
<label for="BaseyearPay2">مبلغ عیدی تعیین شدن:</label>
|
||||
|
||||
<div class="sub-group form-group my-1 ms-4 BaseyearPay2SubDisable">
|
||||
<div>
|
||||
<input type="radio" name="Command.BaseYearsPay.BaseYearsPayType" id="BaseyearPay2Sub1" class="form-check-input Sub-Radio" @(Model.BaseYearsPay.BaseYearsPayType == BaseYearsPayType.Money ? "checked" : "") @((Model.BaseYearsPay.BaseYearsPayType == BaseYearsPayType.Money || Model.BaseYearsPay.BaseYearsPayType == BaseYearsPayType.PercentageOfSalary) ? "" : "disabled" ) value="@((int)(BaseYearsPayType.Money))" />
|
||||
<label for="BaseyearPay2Sub1">مبلغ عیدی </label>
|
||||
<input type="text" class="sub-input form-control-currency" name="Command.BaseYearsPay.Value" value="@(Model.BaseYearsPay.BaseYearsPayType == BaseYearsPayType.Money ? Model.BaseYearsPay.Value : "")" @((Model.BaseYearsPay.Value != 0 && Model.BaseYearsPay.BaseYearsPayType == BaseYearsPayType.Money) ? "" : "disabled") />
|
||||
<label for="BaseyearPay2Sub1">ریال در سال</label>
|
||||
</div>
|
||||
@* <div>
|
||||
<input type="checkbox" name="Command.BaseYearsPay.BaseYearsPayType" id="BaseyearPay2Sub2" class="form-check-input Sub-Radio" @(Model.BaseYearsPay.BaseYearsPayType == BaseYearsPayType.OneTimeOfSalary ? "checked" : "") value="@((int)(BaseYearsPayType.OneTimeOfSalary))" />
|
||||
<label for="BaseyearPay2Sub2">مبلغ عیدی یک پایه حقوق پرداختی پرسنل محاسبه گردد.</label>
|
||||
</div>
|
||||
<div>
|
||||
<input type="checkbox" name="Command.BaseYearsPay.BaseYearsPayType" id="BaseyearPay2Sub3" class="form-check-input Sub-Radio" @(Model.BaseYearsPay.BaseYearsPayType == BaseYearsPayType.TwoTimeOfSalary ? "checked" : "") value="@((int)(BaseYearsPayType.TwoTimeOfSalary))" />
|
||||
<label for="BaseyearPay2Sub3">مبلغ عیدی 2 برابر پایه حقوق پرداختی پرسنل محاسبه گردد.</label>
|
||||
</div> *@
|
||||
<div>
|
||||
<input type="radio" name="Command.BaseYearsPay.BaseYearsPayType" id="BaseyearPay2Sub4" class="form-check-input Sub-Radio" @(Model.BaseYearsPay.BaseYearsPayType == BaseYearsPayType.PercentageOfSalary ? "checked" : "") @((Model.BaseYearsPay.BaseYearsPayType == BaseYearsPayType.Money || Model.BaseYearsPay.BaseYearsPayType == BaseYearsPayType.PercentageOfSalary) ? "" : "disabled") value="@((int)(BaseYearsPayType.PercentageOfSalary))" />
|
||||
<label for="BaseyearPay2Sub4">مبلغ عیدی </label>
|
||||
<input type="text" class="sub-input form-control-percent" name="Command.BaseYearsPay.Value" value="@(Model.BaseYearsPay.BaseYearsPayType == BaseYearsPayType.PercentageOfSalary ? Model.BaseYearsPay.Value : "")" @((Model.BaseYearsPay.Value != 0 && Model.BaseYearsPay.BaseYearsPayType == BaseYearsPayType.PercentageOfSalary) ? "" : "disabled") />
|
||||
<label for="BaseyearPay2Sub4">درصد از حقوق، ماهیانه پرسنل محاسبه گردد.</label>
|
||||
</div>
|
||||
|
||||
<div class="col-12 my-2">
|
||||
<div class="lineMinHr"></div>
|
||||
</div>
|
||||
|
||||
<div class="form-group my-1">
|
||||
<input type="radio" name="Command.BaseYearsPay.PaymentType" id="BaseyearPay3" class="form-check-input Main-Radio2" @(Model.BaseYearsPay.PaymentType == BaseYearsPaymentType.YearlyPay ? "checked" : "") value="@((int)(BaseYearsPaymentType.YearlyPay))" />
|
||||
<label for="BaseyearPay3">پرداخت سالانه (مبلغ عیدی محاسبه شده در فیش حقوقی اسفند ماه محاسبه گردد.)</label>
|
||||
</div>
|
||||
<div class="form-group my-1">
|
||||
<input type="radio" name="Command.BaseYearsPay.PaymentType" id="BaseyearPay4" class="form-check-input Main-Radio2" @(Model.BaseYearsPay.PaymentType == BaseYearsPaymentType.MonthlyPay ? "checked" : "") value="@((int)(BaseYearsPaymentType.MonthlyPay))" />
|
||||
<label for="BaseyearPay4">پرداخت ماهانه (مبلغ عیدی محاسبه شده بصورت ماهانه در فیش حقوقی محاسبه گردد.)</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
|
||||
$("input[name='Command.BonusesPay.BonusesPayType'], input[name='Command.BonusesPay.BonusesPayType1']").on('change', function () {
|
||||
const selectedId = $(this).prop('id');
|
||||
if (selectedId === 'BonusesPay1') {
|
||||
$('#BonusesPay3, #BonusesPay4').prop('checked',false);
|
||||
} else if (selectedId === 'BonusesPay2') {
|
||||
$('#BonusesPay3').prop('checked', true);
|
||||
}
|
||||
});
|
||||
|
||||
$("input[name='Command.BaseYearsPay.BaseYearsPayType'], input[name='Command.BaseYearsPay.BaseYearsPayType1']").on('change', function () {
|
||||
const selectedId = $(this).prop('id');
|
||||
if (selectedId === 'BaseyearPay1') {
|
||||
$('#BaseyearPay3, #BaseyearPay4').prop('checked', false);
|
||||
} else if (selectedId === 'BaseyearPay2') {
|
||||
$('#BaseyearPay3').prop('checked', true);
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
</script>
|
||||
@@ -0,0 +1,206 @@
|
||||
@using _0_Framework.Domain.CustomizeCheckoutValueObjects
|
||||
@model CompanyManagment.App.Contracts.CustomizeWorkshopSettings.EditCustomizeEmployeeSettings
|
||||
|
||||
<div class="row my-2">
|
||||
<div class="col-12 mb-2">
|
||||
<div class="rollCallInfo">
|
||||
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<circle cx="16" cy="16" r="12" fill="#2FC1C1" />
|
||||
<path d="M17.3333 9.33333C17.3333 10.0697 16.7363 10.6667 16 10.6667C15.2636 10.6667 14.6666 10.0697 14.6666 9.33333C14.6666 8.59695 15.2636 8 16 8C16.7363 8 17.3333 8.59695 17.3333 9.33333Z" fill="#FFE2E2" />
|
||||
<path d="M16 22.0013V15.3346C16 14.2416 16 13.695 15.7288 13.3076C15.6284 13.1643 15.5037 13.0396 15.3604 12.9392C14.973 12.668 14.4265 12.668 13.3334 12.668V12.668M16 22.0013H18M16 22.0013H14" stroke="#FFE2E2" />
|
||||
</svg>
|
||||
<span>این تنظیمات در محاسبات فیش حقوق قانونی اداره کار تاثیری نخواهد داشت.</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 group-container">
|
||||
<div class="titleSettingRollCall">جریمه غیبت</div>
|
||||
|
||||
<div class="group form-group my-1">
|
||||
<input type="radio" name="Command.FineAbsenceDeduction.FineAbsenceDeductionType" id="AbsentFine1" class="form-check-input Main-Radio" @(!Model.FineAbsenceDeduction.FineAbsenceDayOfWeekViewModels.Any() && Model.FineAbsenceDeduction.FineAbsenceDeductionType == FineAbsenceDeductionType.None ? "checked" : "") value="@((int)(FineAbsenceDeductionType.None))" />
|
||||
<label for="AbsentFine1">جریمه غیبت پرداخت نمیگردد و در فیش حقوقی محاسبه نگردد.</label>
|
||||
</div>
|
||||
|
||||
<div class="group form-group my-1">
|
||||
|
||||
<input type="radio" name="Command.FineAbsenceDeduction.FineAbsenceDeductionType" id="AbsentFine2" class="form-check-input Main-Radio main-checkbox WeekDayRadio" @(Model.FineAbsenceDeduction.FineAbsenceDayOfWeekViewModels.Any() ? "checked" : "") value="@((int)(FineAbsenceDeductionType.None))" />
|
||||
<label for="AbsentFine2">روزهایی که پرسنل اقدام به غیبت نماید جرائم ذیل شامل محاسبه میگردد.</label>
|
||||
|
||||
<div class="sub-group d-flex AbsentFineDaysDisable @(Model.FineAbsenceDeduction.FineAbsenceDayOfWeekViewModels.Any() ? "" : "disable")">
|
||||
|
||||
<input type="checkbox" id="AbsentFineAll" class="checkBox form-check-input"/>
|
||||
<label class="labelDays" for="AbsentFineAll">همه روزه</label>
|
||||
|
||||
<input type="checkbox"
|
||||
value="Saturday"
|
||||
id="AbsentFineSat"
|
||||
class="checkBox form-check-input"
|
||||
data-day="Saturday"
|
||||
data-index="0" />
|
||||
<label class="labelDays" for="AbsentFineSat">شنبه</label>
|
||||
|
||||
<input type="checkbox"
|
||||
value="Sunday"
|
||||
id="AbsentFineSun"
|
||||
class="checkBox form-check-input"
|
||||
data-day="Sunday"
|
||||
data-index="1"/>
|
||||
<label class="labelDays" for="AbsentFineSun">یکشنبه</label>
|
||||
|
||||
|
||||
|
||||
<input type="checkbox"
|
||||
value="Monday"
|
||||
id="AbsentFineMon"
|
||||
class="checkBox form-check-input"
|
||||
data-day="Monday"
|
||||
data-index="2"/>
|
||||
<label class="labelDays" for="AbsentFineMon">دوشنبه</label>
|
||||
|
||||
|
||||
|
||||
<input type="checkbox"
|
||||
value="Tuesday"
|
||||
id="AbsentFineTue"
|
||||
class="checkBox form-check-input"
|
||||
data-day="Tuesday"
|
||||
data-index="3"/>
|
||||
<label class="labelDays" for="AbsentFineTue">سه شنبه</label>
|
||||
|
||||
|
||||
|
||||
<input type="checkbox"
|
||||
value="Wednesday"
|
||||
id="AbsentFineWed"
|
||||
class="checkBox form-check-input"
|
||||
data-day="Wednesday"
|
||||
data-index="4"/>
|
||||
<label class="labelDays" for="AbsentFineWed">چهارشنبه</label>
|
||||
|
||||
<input type="checkbox"
|
||||
value="Thursday"
|
||||
id="AbsentFineThu"
|
||||
class="checkBox form-check-input"
|
||||
data-day="Thursday"
|
||||
data-index="5"/>
|
||||
<label class="labelDays" for="AbsentFineThu">پنجشنبه</label>
|
||||
|
||||
<input type="checkbox"6
|
||||
value="Friday"
|
||||
id="AbsentFineFri"
|
||||
class="checkBox form-check-input"
|
||||
data-day="Friday"
|
||||
data-index="6"/>
|
||||
<label class="labelDays" for="AbsentFineFri">جمعه</label>
|
||||
|
||||
|
||||
<div id="dynamicInputsContainer"></div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="group form-group">
|
||||
<input type="checkbox" name="Command.FineAbsenceDeductionType" id="AbsentFine3" class="form-check-input Main-Radio main-checkbox"
|
||||
@((Model.FineAbsenceDeduction.FineAbsenceDeductionType == FineAbsenceDeductionType.MultipleTimesOfDailyWage ||
|
||||
Model.FineAbsenceDeduction.FineAbsenceDeductionType == FineAbsenceDeductionType.Money) ? "checked" : "") />
|
||||
<label for="AbsentFine3">در صورت غیبت پرسنل موارد به شرح ذیل در فیش حقوقی محاسبه گردد.</label>
|
||||
|
||||
<div class="sub-group form-group my-1 ms-4 AbsentFine3SubDisable">
|
||||
<div>
|
||||
<input type="radio" name="Command.FineAbsenceDeduction.FineAbsenceDeductionType" id="AbsentFine3Sub1" class="form-check-input Sub-Radio"
|
||||
@(Model.FineAbsenceDeduction.FineAbsenceDeductionType == FineAbsenceDeductionType.MultipleTimesOfDailyWage ? "checked" : "disabled")
|
||||
value="@((int)(FineAbsenceDeductionType.MultipleTimesOfDailyWage))" />
|
||||
<label for="AbsentFine3Sub1">به ازای هر روز غیبت </label>
|
||||
|
||||
<select class="form-control-select sub-input" name="Command.FineAbsenceDeduction.Value"
|
||||
@(Model.FineAbsenceDeduction.FineAbsenceDeductionType == FineAbsenceDeductionType.MultipleTimesOfDailyWage ? "asp-for='Model.FineAbsenceDeduction.Value'" : "disabled")>
|
||||
<option value="1" >1</option>
|
||||
<option value="2" >2</option>
|
||||
</select>
|
||||
<label for="AbsentFine3Sub1">برابر فرد از روزانه از حقوق پرسنل کسر گردد.</label>
|
||||
</div>
|
||||
<div>
|
||||
<input type="radio" name="Command.FineAbsenceDeduction.FineAbsenceDeductionType" id="AbsentFine3Sub2" class="form-check-input Sub-Radio"
|
||||
@(Model.FineAbsenceDeduction.FineAbsenceDeductionType == FineAbsenceDeductionType.Money ? "checked" : "")
|
||||
value="@((int)(FineAbsenceDeductionType.Money))" />
|
||||
<label for="AbsentFine3Sub2">به ازای هر روز غیبت </label>
|
||||
<input type="text" class="form-control-currency sub-input" name="Command.FineAbsenceDeduction.Value"
|
||||
value="@(Model.FineAbsenceDeduction.FineAbsenceDeductionType == FineAbsenceDeductionType.Money ? Model.FineAbsenceDeduction.Value : "")"
|
||||
@((Model.FineAbsenceDeduction.Value != 0 && Model.FineAbsenceDeduction.FineAbsenceDeductionType == FineAbsenceDeductionType.Money) ? "" : "disabled") />
|
||||
<label for="AbsentFine3Sub2">ریال از حقوق پرسنل کسر گردد.</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<script>
|
||||
|
||||
$(document).ready(function () {
|
||||
//----------------------- WeekDays -----------------------
|
||||
$('.Main-Radio').on('change', function () {
|
||||
if ($(this).hasClass('WeekDayRadio')) {
|
||||
$('.AbsentFineDaysDisable').removeClass('disable');
|
||||
} else {
|
||||
$('.AbsentFineDaysDisable').addClass('disable');
|
||||
}
|
||||
});
|
||||
|
||||
var JsonWeekDays = @Html.Raw(Json.Serialize(Model.FineAbsenceDeduction.FineAbsenceDayOfWeekViewModels));
|
||||
|
||||
$('#AbsentFineAll').on('change', function () {
|
||||
var isChecked = $(this).is(':checked');
|
||||
$('#dynamicInputsContainer').empty();
|
||||
$('.AbsentFineDaysDisable input[type="checkbox"]').not('#AbsentFineAll').prop('checked', isChecked).trigger('change');
|
||||
});
|
||||
|
||||
$('.AbsentFineDaysDisable input[type="checkbox"]').not('#AbsentFineAll').on('change', function () {
|
||||
var allChecked = $('.AbsentFineDaysDisable input[type="checkbox"]').not('#AbsentFineAll').length === $('.AbsentFineDaysDisable input[type="checkbox"]:checked').not('#AbsentFineAll').length;
|
||||
$('#AbsentFineAll').prop('checked', allChecked);
|
||||
});
|
||||
|
||||
JsonWeekDays.forEach(function (item) {
|
||||
var dayOfWeekIndex = item.dayOfWeek;
|
||||
var checkbox = $(`.checkBox[data-index='${dayOfWeekIndex}']`);
|
||||
checkbox.prop('checked', true).trigger('change');
|
||||
appendInput(dayOfWeekIndex, checkbox.data("day"));
|
||||
});
|
||||
|
||||
|
||||
$(".checkBox").not('#AbsentFineAll').on("change", function () {
|
||||
const day = $(this).data("day");
|
||||
const indexDay = $(this).data("index");
|
||||
|
||||
if ($(this).is(":checked")) {
|
||||
appendInput(indexDay, day);
|
||||
} else {
|
||||
$(`#input-FineAbsenceDayOfWeekViewModels-${indexDay}`).remove();
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
function appendInput(indexDay, day) {
|
||||
const container = $("#dynamicInputsContainer");
|
||||
|
||||
const newInput = $('<input>')
|
||||
.attr("type", "hidden")
|
||||
.attr("name", `Command.FineAbsenceDeduction.FineAbsenceDayOfWeekViewModels[${indexDay}].DayOfWeek`)
|
||||
.attr("id", `input-FineAbsenceDayOfWeekViewModels-${indexDay}`)
|
||||
.attr("class", "numbers")
|
||||
.attr("value", `${day}`);
|
||||
|
||||
container.append(newInput);
|
||||
|
||||
updateInputIndices();
|
||||
}
|
||||
|
||||
function updateInputIndices() {
|
||||
$("#dynamicInputsContainer .numbers").each(function (index) {
|
||||
$(this).attr("name", `Command.FineAbsenceDeduction.FineAbsenceDayOfWeekViewModels[${index}].DayOfWeek`);
|
||||
});
|
||||
}
|
||||
|
||||
});
|
||||
</script>
|
||||
@@ -0,0 +1,43 @@
|
||||
@using _0_Framework.Domain.CustomizeCheckoutValueObjects
|
||||
@model CompanyManagment.App.Contracts.CustomizeWorkshopSettings.EditCustomizeEmployeeSettings
|
||||
|
||||
<div class="row my-2">
|
||||
<div class="col-12 mb-2">
|
||||
<div class="rollCallInfo">
|
||||
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<circle cx="16" cy="16" r="12" fill="#2FC1C1" />
|
||||
<path d="M17.3333 9.33333C17.3333 10.0697 16.7363 10.6667 16 10.6667C15.2636 10.6667 14.6666 10.0697 14.6666 9.33333C14.6666 8.59695 15.2636 8 16 8C16.7363 8 17.3333 8.59695 17.3333 9.33333Z" fill="#FFE2E2" />
|
||||
<path d="M16 22.0013V15.3346C16 14.2416 16 13.695 15.7288 13.3076C15.6284 13.1643 15.5037 13.0396 15.3604 12.9392C14.973 12.668 14.4265 12.668 13.3334 12.668V12.668M16 22.0013H18M16 22.0013H14" stroke="#FFE2E2" />
|
||||
</svg>
|
||||
<span>این تنظیمات در محاسبات فیش حقوق قانونی اداره کار تاثیری نخواهد داشت.</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 group-container">
|
||||
<div class="titleSettingRollCall">تعطیلات جمعه</div>
|
||||
<div class="form-group my-1 group">
|
||||
<input type="radio" name="Command.FridayWork" id="Friday1" class="form-check-input Main-Radio" @(Model.FridayWork == FridayWork.Default ? "checked" : "") value="@((int)(FridayWork.Default))" />
|
||||
<label for="Friday1">پرسنل در روزهای جمعه کار نمیکند.</label>
|
||||
</div>
|
||||
<div class="form-group my-1 group">
|
||||
<input type="radio" name="Command.FridayWork" id="Friday2" class="form-check-input Main-Radio" @(Model.FridayWork == FridayWork.WorkInFriday ? "checked" : "") value="@((int)(FridayWork.WorkInFriday))" />
|
||||
<label for="Friday2">پرسنل در روزهای جمعه کار میکند.</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-12">
|
||||
<div class="lineHr my-3"></div>
|
||||
</div>
|
||||
|
||||
<div class="col-12 group-container">
|
||||
<div class="titleSettingRollCall">تعطیلات رسمی</div>
|
||||
<div class="form-group my-1 group">
|
||||
<input type="radio" name="Command.HolidayWork" id="OffDays1" class="form-check-input Main-Radio" @(Model.HolidayWork == HolidayWork.Default ? "checked" : "") value="@((int)(HolidayWork.Default))" />
|
||||
<label for="OffDays1">پرسنل در ایام تعطیل رسمی کار نمیکند.</label>
|
||||
</div>
|
||||
<div class="form-group my-1 group">
|
||||
<input type="radio" name="Command.HolidayWork" id="OffDays2" class="form-check-input Main-Radio" @(Model.HolidayWork == HolidayWork.WorkInHolidays ? "checked" : "") value="@((int)(HolidayWork.WorkInHolidays))" />
|
||||
<label for="OffDays2">پرسنل در ایام تعطیل رسمی کار میکند.</label>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,94 @@
|
||||
@using _0_Framework.Domain.CustomizeCheckoutValueObjects
|
||||
@model CompanyManagment.App.Contracts.CustomizeWorkshopSettings.EditCustomizeEmployeeSettings
|
||||
|
||||
<div class="row my-2">
|
||||
<div class="col-12 mb-2">
|
||||
<div class="rollCallInfo">
|
||||
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<circle cx="16" cy="16" r="12" fill="#2FC1C1"/>
|
||||
<path d="M17.3333 9.33333C17.3333 10.0697 16.7363 10.6667 16 10.6667C15.2636 10.6667 14.6666 10.0697 14.6666 9.33333C14.6666 8.59695 15.2636 8 16 8C16.7363 8 17.3333 8.59695 17.3333 9.33333Z" fill="#FFE2E2"/>
|
||||
<path d="M16 22.0013V15.3346C16 14.2416 16 13.695 15.7288 13.3076C15.6284 13.1643 15.5037 13.0396 15.3604 12.9392C14.973 12.668 14.4265 12.668 13.3334 12.668V12.668M16 22.0013H18M16 22.0013H14" stroke="#FFE2E2"/>
|
||||
</svg>
|
||||
<span>این تنظیمات در محاسبات فیش حقوق قانونی اداره کار تاثیری نخواهد داشت.</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-12 group-container">
|
||||
<div class="titleSettingRollCall">جمعه کاری</div>
|
||||
|
||||
<div class="form-group my-1 group">
|
||||
<input type="radio" name="Command.FridayPay.FridayPayType" id="FridayPay1" class="form-check-input Main-Radio" @(Model.FridayPay.FridayPayType == FridayPayType.None ? "checked" : "") value="@((int)(FridayPayType.None))"/>
|
||||
<label for="FridayPay1">جمعه کاری در فیش حقوقی محاسبه نگردد.</label>
|
||||
</div>
|
||||
|
||||
<div class="form-group my-1 group">
|
||||
<input type="checkbox" name="Command.FridayPay.FridayPayType1" id="FridayPay2" class="form-check-input Main-Radio main-checkbox" @((Model.FridayPay.FridayPayType == FridayPayType.PercentageFromSalaryPerHour || Model.FridayPay.FridayPayType == FridayPayType.MoneyPerFridayPerHour) ? "checked" : "") />
|
||||
<label for="FridayPay2">بابت ساعات اشتغال بکار پرسنل در روز جمعه اضافه بر حقوق موارد زیر در فیش حقوقی محاسبه گردد.</label>
|
||||
|
||||
<div class="sub-group form-group my-1 ms-4 FridayPaySubDisable">
|
||||
<div>
|
||||
<input type="radio" name="Command.FridayPay.FridayPayType" id="FridayPay2Sub1" class="Sub-Radio form-check-input" @(Model.FridayPay.FridayPayType == FridayPayType.PercentageFromSalaryPerHour ? "checked" : "") value="@((int)(FridayPayType.PercentageFromSalaryPerHour))" @((Model.FridayPay.FridayPayType == FridayPayType.PercentageFromSalaryPerHour || Model.FridayPay.FridayPayType == FridayPayType.MoneyPerFridayPerHour) ? "" : "disabled") />
|
||||
<label for="FridayPay2Sub1">درصد از مزد روزانه پرسنل</label>
|
||||
<input type="text" class="form-control-percent sub-input" name="Command.FridayPay.Value" value="@(Model.FridayPay.FridayPayType == FridayPayType.PercentageFromSalaryPerHour ? Model.FridayPay.Value : "")" @((Model.FridayPay.Value != 0 && Model.FridayPay.FridayPayType == FridayPayType.PercentageFromSalaryPerHour) ? "" : "disabled") />
|
||||
</div>
|
||||
<div>
|
||||
<input type="radio" name="Command.FridayPay.FridayPayType" id="FridayPay2Sub2" class="Sub-Radio form-check-input" @(Model.FridayPay.FridayPayType == FridayPayType.MoneyPerFridayPerHour ? "checked" : "") value="@((int)(FridayPayType.MoneyPerFridayPerHour))" @((Model.FridayPay.FridayPayType == FridayPayType.PercentageFromSalaryPerHour || Model.FridayPay.FridayPayType == FridayPayType.MoneyPerFridayPerHour) ? "" : "disabled") />
|
||||
<label for="FridayPay2Sub2">بابت هر ساعت مبلغ </label>
|
||||
<input type="text" class="form-control-currency sub-input" name="Command.FridayPay.Value" value="@(Model.FridayPay.FridayPayType == FridayPayType.MoneyPerFridayPerHour ? Model.FridayPay.Value : "")" @((Model.FridayPay.Value != 0 && Model.FridayPay.FridayPayType == FridayPayType.MoneyPerFridayPerHour) ? "" : "disabled") />
|
||||
<label for="FridayPay2Sub2">ريال</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group my-1 group">
|
||||
<input type="radio" name="Command.FridayPay.FridayPayType" id="FridayPay3" class="form-check-input Main-Radio" @(Model.FridayPay.FridayPayType == FridayPayType.MoneyPerFridayForDay ? "checked" : "") value="@((int)(FridayPayType.MoneyPerFridayForDay))" />
|
||||
<label for="FridayPay3">بابت هر روز کار در روز جمعه مبلغ </label>
|
||||
<input type="text" class="form-control-currency sub-input" name="Command.FridayPay.Value" value="@(Model.FridayPay.FridayPayType == FridayPayType.MoneyPerFridayForDay ? Model.FridayPay.Value : "")" @((Model.FridayPay.Value != 0 && Model.FridayPay.FridayPayType == FridayPayType.MoneyPerFridayForDay) ? "" : "disabled") />
|
||||
<label for="FridayPay3">ريال در فیش حقوقی محاسبه شود. (حتی 1 ساعت کار).</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="col-12">
|
||||
<div class="lineHr my-3"></div>
|
||||
</div>
|
||||
|
||||
<div class="col-12 mb-2">
|
||||
<div class="rollCallInfoSec">
|
||||
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<circle cx="16" cy="16" r="12" fill="#2FC1C1" />
|
||||
<path d="M17.3333 9.33333C17.3333 10.0697 16.7363 10.6667 16 10.6667C15.2636 10.6667 14.6666 10.0697 14.6666 9.33333C14.6666 8.59695 15.2636 8 16 8C16.7363 8 17.3333 8.59695 17.3333 9.33333Z" fill="#FFE2E2" />
|
||||
<path d="M16 22.0013V15.3346C16 14.2416 16 13.695 15.7288 13.3076C15.6284 13.1643 15.5037 13.0396 15.3604 12.9392C14.973 12.668 14.4265 12.668 13.3334 12.668V12.668M16 22.0013H18M16 22.0013H14" stroke="#FFE2E2" />
|
||||
</svg>
|
||||
<span>مبنای محاسبه ساعات اضافه کاری ، ساعات کارکرد پرسنل بیش از ساعات تنظیمی در بخش گروهبندی میباشد.</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-12 group-container">
|
||||
<div class="titleSettingRollCall">اضافه کاری</div>
|
||||
<div class="form-group my-1 group">
|
||||
<input type="radio" name="Command.OverTimePay.OverTimePayType" id="OverTimePay1" class="form-check-input Main-Radio" @(Model.OverTimePay.OverTimePayType == OverTimePayType.None ? "checked" : "") value="@((int)(OverTimePayType.None))" />
|
||||
<label for="OverTimePay1">اضافه کار در فیش حقوقی محاسبه نگردد.</label>
|
||||
<div class="titleSettingRollCallCheckboxSubtitle">(با انتخاب این گزینه اگر پرسنل بیش از ساعات تعیین شده اشتغال بکار داشته باشد مبلغی محاسبه نمیگردد)</div>
|
||||
</div>
|
||||
<div class="form-group my-1 group">
|
||||
<input type="checkbox" name="Command.OverTimePay.OverTimePayType1" id="OverTimePay2" class="form-check-input Main-Radio main-checkbox" @((Model.OverTimePay.OverTimePayType == OverTimePayType.PercentagePerHourOfSalary || Model.OverTimePay.OverTimePayType == OverTimePayType.MoneyPerHour) ? "checked" : "") />
|
||||
<label for="OverTimePay2">به ازای هر ساعت اضافه کار پرسنل ، مبلغ به شرح ذیل فارغ از محاسبه حقوق محاسبه گردد.</label>
|
||||
|
||||
<div class="sub-group form-group my-1 ms-4 OverTimePaySubDisable">
|
||||
<div>
|
||||
<input type="radio" name="Command.OverTimePay.OverTimePayType" id="OverTimePay2Sub1" class="form-check-input Sub-Radio" @(Model.OverTimePay.OverTimePayType == OverTimePayType.PercentagePerHourOfSalary ? "checked" : "") value="@((int)OverTimePayType.PercentagePerHourOfSalary)" @((Model.OverTimePay.OverTimePayType == OverTimePayType.PercentagePerHourOfSalary || Model.OverTimePay.OverTimePayType == OverTimePayType.MoneyPerHour) ? "" : "disabled") />
|
||||
<label for="OverTimePay2Sub1">درصد از مزد روزانه به ازای هر ساعت اضافه کار</label>
|
||||
<input type="text" class="form-control-percent sub-input" name="Command.OverTimePay.Value" value="@(Model.OverTimePay.OverTimePayType == OverTimePayType.PercentagePerHourOfSalary ? Model.OverTimePay.Value : "")" @((Model.OverTimePay.Value != 0 && Model.OverTimePay.OverTimePayType == OverTimePayType.PercentagePerHourOfSalary) ? "" : "disabled") />
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<input type="radio" name="Command.OverTimePay.OverTimePayType" id="OverTimePay2Sub2" class="form-check-input Sub-Radio" @(Model.OverTimePay.OverTimePayType == OverTimePayType.MoneyPerHour ? "checked" : "") value="@((int)(OverTimePayType.MoneyPerHour))" @((Model.OverTimePay.OverTimePayType == OverTimePayType.PercentagePerHourOfSalary || Model.OverTimePay.OverTimePayType == OverTimePayType.MoneyPerHour) ? "" : "disabled") />
|
||||
<label for="OverTimePay2Sub2">بابت هر ساعت اضافه کار مبلغ </label>
|
||||
<input type="text" class="form-control-currency sub-input" name="Command.OverTimePay.Value" value="@(Model.OverTimePay.OverTimePayType == OverTimePayType.MoneyPerHour ? Model.OverTimePay.Value : "")" @((Model.OverTimePay.Value != 0 && Model.OverTimePay.OverTimePayType == OverTimePayType.MoneyPerHour) ? "" : "disabled") />
|
||||
<label for="OverTimePay2Sub2">ريال</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,311 @@
|
||||
@using _0_Framework.Domain.CustomizeCheckoutValueObjects
|
||||
@model CompanyManagment.App.Contracts.CustomizeWorkshopSettings.EditCustomizeEmployeeSettings
|
||||
|
||||
<div class="row my-2">
|
||||
<div class="col-12 mb-2">
|
||||
<div class="rollCallInfo">
|
||||
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<circle cx="16" cy="16" r="12" fill="#2FC1C1" />
|
||||
<path d="M17.3333 9.33333C17.3333 10.0697 16.7363 10.6667 16 10.6667C15.2636 10.6667 14.6666 10.0697 14.6666 9.33333C14.6666 8.59695 15.2636 8 16 8C16.7363 8 17.3333 8.59695 17.3333 9.33333Z" fill="#FFE2E2" />
|
||||
<path d="M16 22.0013V15.3346C16 14.2416 16 13.695 15.7288 13.3076C15.6284 13.1643 15.5037 13.0396 15.3604 12.9392C14.973 12.668 14.4265 12.668 13.3334 12.668V12.668M16 22.0013H18M16 22.0013H14" stroke="#FFE2E2" />
|
||||
</svg>
|
||||
<span>این تنظیمات در محاسبات فیش حقوق قانونی اداره کار تاثیری نخواهد داشت.</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 group-container">
|
||||
<div class="titleSettingRollCall">تاخیر در ورود</div>
|
||||
|
||||
<div class="form-group my-1 group">
|
||||
<input type="radio" name="Command.LateToWork.LateToWorkType" id="ArrivalDelay1" class="form-check-input Main-Radio" @(Model.LateToWork.LateToWorkType == LateToWorkType.None ? "checked" : "") value="@((int)(LateToWorkType.None))" />
|
||||
<label for="ArrivalDelay1">تاخیر در ورود و هیچگونه تاثیری در میزان حقوق پرداختی نداشته باشد.</label>
|
||||
</div>
|
||||
|
||||
<div class="form-group my-1 group">
|
||||
<input type="checkbox" name="Command.LateToWork.LateToWorkType1" id="ArrivalDelay2" class="form-check-input Main-Radio main-checkbox" @((Model.LateToWork.LateToWorkType == LateToWorkType.MultiTimesPerMinute || Model.LateToWork.LateToWorkType == LateToWorkType.DeductEveryMinuteAccordingToDailyWage) ? "checked" : "")/>
|
||||
<label for="ArrivalDelay2">در صورت تاخیر در ورود پرسنل به مجموعه به شرح ذیل درستون کسورات در فیش حقوقی محاسبه گردد.</label>
|
||||
|
||||
<div class="sub-group form-group my-1 ms-4 ArrivalDelay2SubDisable">
|
||||
<div>
|
||||
<input type="radio" name="Command.LateToWork.LateToWorkType" id="ArrivalDelay2Sub1" class="form-check-input Sub-Radio" @(Model.LateToWork.LateToWorkType == LateToWorkType.MultiTimesPerMinute ? "checked" : "") value="@((int)(LateToWorkType.MultiTimesPerMinute))" @((Model.LateToWork.Value != 0 && Model.LateToWork.LateToWorkType == LateToWorkType.MultiTimesPerMinute) ? "" : "disabled") />
|
||||
<label for="ArrivalDelay2Sub1">به غیبت حقوق و فرد روزانه بر مبنای دقیقه تاخیر از حقوق پرسنل کسر گردد.</label>
|
||||
<input type="text" class="sub-input form-control-percent" name="Command.LateToWork.Value" value="@(Model.LateToWork.LateToWorkType == LateToWorkType.MultiTimesPerMinute ? Model.LateToWork.Value : "")" @((Model.LateToWork.Value != 0 && Model.LateToWork.LateToWorkType == LateToWorkType.MultiTimesPerMinute) ? "" : "disabled") />
|
||||
</div>
|
||||
<div>
|
||||
<input type="radio" name="Command.LateToWork.LateToWorkType" id="ArrivalDelay2Sub2" class="form-check-input Sub-Radio" @(Model.LateToWork.LateToWorkType == LateToWorkType.DeductEveryMinuteAccordingToDailyWage ? "checked" : "") value="@((int)(LateToWorkType.DeductEveryMinuteAccordingToDailyWage))" @((Model.LateToWork.Value != 0 && Model.LateToWork.LateToWorkType == LateToWorkType.DeductEveryMinuteAccordingToDailyWage) ? "" : "disabled") />
|
||||
<label for="ArrivalDelay2Sub2">به غیبت حقوق و فرد روزانه بر مبنای درصد به میزان </label>
|
||||
<input type="text" class="sub-input form-control-currency" name="Command.LateToWork.Value" value="@(Model.LateToWork.LateToWorkType == LateToWorkType.DeductEveryMinuteAccordingToDailyWage ? Model.LateToWork.Value : "")" @((Model.LateToWork.Value != 0 && Model.LateToWork.LateToWorkType == LateToWorkType.DeductEveryMinuteAccordingToDailyWage) ? "" : "disabled") />
|
||||
<label for="ArrivalDelay2Sub2">برابر از حقوق پرسنل کسر گردد.</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-12 mt-3 mb-1">
|
||||
<div class="lineMinHr"></div>
|
||||
</div>
|
||||
|
||||
<div class="">
|
||||
<div class="titleSettingRollCallInfo">در صورت تمایل به جرائم بیشتر از گزینههای زیر استفاده نمایید:</div>
|
||||
<div class="titleSettingRollCallInfo">در صورت تاخیر پرسنل در ورود به مجموعه:</div>
|
||||
<div class="titleSettingRollCallInfoSub">(توجه داشته باشید، مبلغ این جریمه مضاف بر مبالغ کسر شده بخش بالا محاسبه میگردد و در صورت تکمیل هر سه مرحله این بخش از جرائم، در صورتی که پرسنل از شروط دو سه مرحله عدول نماید. مجموع کل جرائم شامل محاسبه میگردد.)</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="form-group my-1">
|
||||
<input type="checkbox" id="ArrivalDelay3" class="form-check-input"
|
||||
@(Model.LateToWork?.LateToWorkTimeFinesVewModels is { Count: > 0 } &&
|
||||
!String.IsNullOrWhiteSpace(Model.LateToWork.LateToWorkTimeFinesVewModels[0].Minute) &&
|
||||
Model.LateToWork.LateToWorkTimeFinesVewModels[0].FineMoney > 0 ? "checked" : "")/>
|
||||
|
||||
@* <input type="checkbox" id="ArrivalDelay3" class="form-check-input Main-Radio" @(Model.LateToWork.LateToWorkTimeFinesVewModels?[0].Minute && Model.LateToWork?.LateToWorkTimeFinesVewModels?[0].FineMoney ? "checked" : "")/> *@
|
||||
<label for="ArrivalDelay3">مرحله اول: در صورت تاخیر پرسنل در ورود و بیش از </label>
|
||||
@* value="@(Model.FridayPay.FridayPayType == FridayPayType.MoneyPerFridayPerHour ? Model.FridayPay.Value : "")" @((Model.FridayPay.Value != 0 && Model.FridayPay.FridayPayType == FridayPayType.MoneyPerFridayPerHour) ? "" : "disabled") *@
|
||||
<input type="text" class="form-control-percent ArrivalDelayInput" name="Command.LateToWork.LateToWorkTimeFinesVewModels[0].Minute"
|
||||
value="@((Model.LateToWork?.LateToWorkTimeFinesVewModels).Any() ? (Model.LateToWork?.LateToWorkTimeFinesVewModels is { Count: > 0 } && !String.IsNullOrWhiteSpace(Model.LateToWork?.LateToWorkTimeFinesVewModels[0].Minute) ? Model.LateToWork.LateToWorkTimeFinesVewModels[0].Minute : "") : "")"
|
||||
@((Model.LateToWork?.LateToWorkTimeFinesVewModels).Any() ? (Model.LateToWork?.LateToWorkTimeFinesVewModels is { Count: > 0 } && !String.IsNullOrWhiteSpace(Model.LateToWork?.LateToWorkTimeFinesVewModels[0].Minute) ? "" : "disabled") : "disabled") />
|
||||
<label>دقیقه مبلغ</label>
|
||||
<input type="text" class="form-control-currency ArrivalDelayInput" name="Command.LateToWork.LateToWorkTimeFinesVewModels[0].FineMoney"
|
||||
value="@((Model.LateToWork?.LateToWorkTimeFinesVewModels).Any() ? (Model.LateToWork?.LateToWorkTimeFinesVewModels is { Count: > 0 } && (Model.LateToWork?.LateToWorkTimeFinesVewModels[0].FineMoney > 0) ? Model.LateToWork.LateToWorkTimeFinesVewModels[0].FineMoney : "") : "")"
|
||||
@((Model.LateToWork?.LateToWorkTimeFinesVewModels).Any() ? (Model.LateToWork?.LateToWorkTimeFinesVewModels is { Count: > 0 } && (Model.LateToWork?.LateToWorkTimeFinesVewModels[0].FineMoney > 0) ? "" : "disabled") : "disabled") />
|
||||
<label>ریال جریمه محاسبه گردد.</label>
|
||||
</div>
|
||||
|
||||
<div class="form-group my-1">
|
||||
<input type="checkbox" id="ArrivalDelay4" class="form-check-input"
|
||||
@(Model.LateToWork?.LateToWorkTimeFinesVewModels is { Count: > 1 } &&
|
||||
!String.IsNullOrWhiteSpace(Model.LateToWork.LateToWorkTimeFinesVewModels[1].Minute) &&
|
||||
Model.LateToWork.LateToWorkTimeFinesVewModels[1]?.FineMoney > 0 ? "checked" : "")
|
||||
/>
|
||||
|
||||
<label for="ArrivalDelay4">مرحله دوم: در صورت تاخیر پرسنل در ورود و بیش از </label>
|
||||
<input type="text" class="form-control-percent ArrivalDelayInput" name="Command.LateToWork.LateToWorkTimeFinesVewModels[1].Minute"
|
||||
value="@((Model.LateToWork?.LateToWorkTimeFinesVewModels).Any() ? (Model.LateToWork?.LateToWorkTimeFinesVewModels is { Count: > 1 } && !String.IsNullOrWhiteSpace(Model.LateToWork?.LateToWorkTimeFinesVewModels[1].Minute) ? Model.LateToWork.LateToWorkTimeFinesVewModels[1].Minute : "") : "")"
|
||||
@((Model.LateToWork?.LateToWorkTimeFinesVewModels).Any() ? (Model.LateToWork?.LateToWorkTimeFinesVewModels is { Count: > 1 } && !String.IsNullOrWhiteSpace(Model.LateToWork?.LateToWorkTimeFinesVewModels[1].Minute) ? "" : "disabled") : "disabled") />
|
||||
<label>دقیقه مبلغ</label>
|
||||
<input type="text" class="form-control-currency ArrivalDelayInput" name="Command.LateToWork.LateToWorkTimeFinesVewModels[1].FineMoney"
|
||||
value="@((Model.LateToWork?.LateToWorkTimeFinesVewModels).Any() ? (Model.LateToWork?.LateToWorkTimeFinesVewModels is { Count: > 1 } && Model.LateToWork?.LateToWorkTimeFinesVewModels[1].FineMoney > 0 ? Model.LateToWork.LateToWorkTimeFinesVewModels[1].FineMoney : "") : "")"
|
||||
@((Model.LateToWork?.LateToWorkTimeFinesVewModels).Any() ? (Model.LateToWork?.LateToWorkTimeFinesVewModels is { Count: > 1 } && Model.LateToWork?.LateToWorkTimeFinesVewModels[1].FineMoney > 0 ? "" : "disabled") : "disabled") />
|
||||
<label>ریال جریمه محاسبه گردد.</label>
|
||||
</div>
|
||||
|
||||
<div class="form-group my-1">
|
||||
<input type="checkbox" id="ArrivalDelay5" class="form-check-input"
|
||||
@(Model.LateToWork?.LateToWorkTimeFinesVewModels is { Count: > 2 } &&
|
||||
!String.IsNullOrWhiteSpace(Model.LateToWork.LateToWorkTimeFinesVewModels[2].Minute) &&
|
||||
Model.LateToWork.LateToWorkTimeFinesVewModels[2].FineMoney > 0 ? "checked" : "")
|
||||
/>
|
||||
|
||||
<label for="ArrivalDelay5">مرحله سوم: در صورت تاخیر پرسنل در ورود و بیش از </label>
|
||||
<input type="text" class="form-control-percent ArrivalDelayInput" name="Command.LateToWork.LateToWorkTimeFinesVewModels[2].Minute"
|
||||
value="@((Model.LateToWork?.LateToWorkTimeFinesVewModels).Any() ? (Model.LateToWork?.LateToWorkTimeFinesVewModels is { Count: > 2 } && !String.IsNullOrWhiteSpace(Model.LateToWork?.LateToWorkTimeFinesVewModels[2].Minute) ? Model.LateToWork.LateToWorkTimeFinesVewModels[2].Minute : "") : "")"
|
||||
@((Model.LateToWork?.LateToWorkTimeFinesVewModels).Any() ? (Model.LateToWork?.LateToWorkTimeFinesVewModels is { Count: > 2 } && !String.IsNullOrWhiteSpace(Model.LateToWork?.LateToWorkTimeFinesVewModels[2].Minute) ? "" : "disabled") : "disabled") />
|
||||
<label>دقیقه مبلغ</label>
|
||||
<input type="text" class="form-control-currency ArrivalDelayInput" name="Command.LateToWork.LateToWorkTimeFinesVewModels[2].FineMoney"
|
||||
value="@((Model.LateToWork?.LateToWorkTimeFinesVewModels).Any() ? (Model.LateToWork?.LateToWorkTimeFinesVewModels is { Count: > 2 } && Model.LateToWork?.LateToWorkTimeFinesVewModels[2].FineMoney > 0 ? Model.LateToWork.LateToWorkTimeFinesVewModels[2].FineMoney : "") : "")"
|
||||
@((Model.LateToWork?.LateToWorkTimeFinesVewModels).Any() ? (Model.LateToWork?.LateToWorkTimeFinesVewModels is { Count: > 2 } && Model.LateToWork?.LateToWorkTimeFinesVewModels[2].FineMoney > 0 ? "" : "disabled") : "disabled") />
|
||||
<label>ریال جریمه محاسبه گردد.</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-12">
|
||||
<div class="lineHr my-3"></div>
|
||||
</div>
|
||||
|
||||
<div class="col-12 group-container">
|
||||
<div class="titleSettingRollCall">تعجیل در خروج</div>
|
||||
<div class="form-group my-1 group">
|
||||
<input type="radio" name="Command.EarlyExit.EarlyExitType" id="DepartureHaste1" class="form-check-input Main-Radio" @(Model.EarlyExit.EarlyExitType == EarlyExitType.None ? "checked" : "") value="@((int)(EarlyExitType.None))" />
|
||||
<label for="DepartureHaste1">تجمیل در خروج و هیچگونه تاثیری در میزان حقوق پرداختی نداشته باشد.</label>
|
||||
</div>
|
||||
|
||||
<div class="form-group my-1 group">
|
||||
<input type="checkbox" name="Command.EarlyExit.EarlyExitType1" id="DepartureHaste2" class="form-check-input Main-Radio main-checkbox" />
|
||||
<label for="DepartureHaste2">در صورت تاخیر در ورود پرسنل به مجموعه به شرح ذیل درستون کسورات در فیش حقوقی محاسبه گردد.</label>
|
||||
|
||||
<div class="sub-group form-group my-1 ms-4 DepartureHaste2SubDisable">
|
||||
<div>
|
||||
<input type="radio" name="Command.EarlyExit.EarlyExitType" id="DepartureHaste2Sub1" class="form-check-input Sub-Radio" @(Model.EarlyExit.EarlyExitType == EarlyExitType.MoneyPerMinute ? "checked" : "") value="@((int)(EarlyExitType.MoneyPerMinute))" @((Model.EarlyExit.Value != 0 && Model.EarlyExit.EarlyExitType == EarlyExitType.MoneyPerMinute) ? "" : "disabled")/>
|
||||
|
||||
<label for="DepartureHaste2Sub1">به غیبت حقوق و فرد روزانه بر مبنای دقیقه تاخیر از حقوق پرسنل کسر گردد.</label>
|
||||
<input type="text" class="form-control-percent sub-input" name="Command.EarlyExit.Value" value="@(Model.EarlyExit.EarlyExitType == EarlyExitType.MoneyPerMinute ? Model.EarlyExit.Value : "")" @((Model.EarlyExit.Value != 0 && Model.EarlyExit.EarlyExitType == EarlyExitType.MoneyPerMinute) ? "" : "disabled") />
|
||||
</div>
|
||||
<div>
|
||||
<input type="radio" name="Command.EarlyExit.EarlyExitType" id="DepartureHaste2Sub2" class="form-check-input Sub-Radio" @(Model.EarlyExit.EarlyExitType == EarlyExitType.DeductEveryMinuteAccordingToDailyWage ? "checked" : "") value="@((int)(EarlyExitType.DeductEveryMinuteAccordingToDailyWage))" @((Model.EarlyExit.Value != 0 && Model.EarlyExit.EarlyExitType == EarlyExitType.DeductEveryMinuteAccordingToDailyWage) ? "" : "disabled") />
|
||||
<label for="DepartureHaste2Sub2">به غیبت حقوق و فرد روزانه بر مبنای درصد به میزان </label>
|
||||
<input type="text" class="form-control-currency sub-input" name="Command.EarlyExit.Value" value="@(Model.EarlyExit.EarlyExitType == EarlyExitType.DeductEveryMinuteAccordingToDailyWage ? Model.EarlyExit.Value : "")" @((Model.EarlyExit.Value != 0 && Model.EarlyExit.EarlyExitType == EarlyExitType.DeductEveryMinuteAccordingToDailyWage) ? "" : "disabled") />
|
||||
<label for="DepartureHaste2Sub2">برابر از حقوق پرسنل کسر گردد.</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-12 mt-3 mb-1">
|
||||
<div class="lineMinHr"></div>
|
||||
</div>
|
||||
|
||||
<div class="">
|
||||
<div class="titleSettingRollCallInfo">در صورت تمایل به جرائم بیشتر از گزینههای زیر استفاده نمایید:</div>
|
||||
<div class="titleSettingRollCallInfo">در صورت تاخیر پرسنل در ورود به مجموعه:</div>
|
||||
<div class="titleSettingRollCallInfoSub">(توجه داشته باشید، مبلغ این جریمه مضاف بر مبالغ کسر شده بخش بالا محاسبه میگردد و در صورت تکمیل هر سه مرحله این بخش از جرائم، در صورتی که پرسنل از شروط دو سه مرحله عدول نماید. مجموع کل جرائم شامل محاسبه میگردد.)</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group my-1">
|
||||
<input type="checkbox" id="DepartureHaste3" class="form-check-input Main-Radio"
|
||||
@(Model.EarlyExit?.EarlyExitTimeFinesViewModels is { Count: > 0 } &&
|
||||
!String.IsNullOrWhiteSpace(Model.EarlyExit.EarlyExitTimeFinesViewModels[0].Minute) &&
|
||||
Model.EarlyExit.EarlyExitTimeFinesViewModels[0].FineMoney > 0 ? "checked" : "")
|
||||
/>
|
||||
<label for="DepartureHaste3">مرحله اول: در صورت تاخیر پرسنل در ورود و بیش از </label>
|
||||
<input type="text" class="form-control-percent DepartureHasteInput" name="Command.EarlyExit.EarlyExitTimeFinesViewModels[0].Minute"
|
||||
value="@((Model.EarlyExit?.EarlyExitTimeFinesViewModels).Any() ? (Model.EarlyExit?.EarlyExitTimeFinesViewModels is { Count: > 0 } && !String.IsNullOrWhiteSpace(Model.EarlyExit?.EarlyExitTimeFinesViewModels[0].Minute) ? Model.EarlyExit.EarlyExitTimeFinesViewModels[0].Minute : "") : "")"
|
||||
@((Model.EarlyExit?.EarlyExitTimeFinesViewModels).Any() ? (Model.EarlyExit?.EarlyExitTimeFinesViewModels is { Count: > 0 } && !String.IsNullOrWhiteSpace(Model.EarlyExit?.EarlyExitTimeFinesViewModels[0].Minute) ? "" : "disabled") : "disabled") />
|
||||
<label>دقیقه مبلغ</label>
|
||||
<input type="text" class="form-control-currency DepartureHasteInput" name="Command.EarlyExit.EarlyExitTimeFinesViewModels[0].FineMoney"
|
||||
value="@((Model.EarlyExit?.EarlyExitTimeFinesViewModels).Any() ? (Model.EarlyExit?.EarlyExitTimeFinesViewModels is { Count: > 0 } && Model.EarlyExit?.EarlyExitTimeFinesViewModels[0].FineMoney > 0 ? Model.EarlyExit.EarlyExitTimeFinesViewModels[0].FineMoney : "") : "")"
|
||||
@((Model.EarlyExit?.EarlyExitTimeFinesViewModels).Any() ? (Model.EarlyExit?.EarlyExitTimeFinesViewModels is { Count: > 0 } && Model.EarlyExit?.EarlyExitTimeFinesViewModels[0].FineMoney > 0 ? "" : "disabled") : "disabled") />
|
||||
<label>ریال جریمه محاسبه گردد.</label>
|
||||
</div>
|
||||
|
||||
<div class="form-group my-1">
|
||||
<input type="checkbox" id="DepartureHaste4" class="form-check-input Main-Radio"
|
||||
@(Model.EarlyExit?.EarlyExitTimeFinesViewModels is { Count: > 1 } &&
|
||||
!String.IsNullOrWhiteSpace(Model.EarlyExit.EarlyExitTimeFinesViewModels[1].Minute) &&
|
||||
Model.EarlyExit.EarlyExitTimeFinesViewModels[1].FineMoney > 0 ? "checked" : "")
|
||||
/>
|
||||
<label for="DepartureHaste4">مرحله دوم: در صورت تاخیر پرسنل در ورود و بیش از </label>
|
||||
<input type="text" class="form-control-percent DepartureHasteInput" name="Command.EarlyExit.EarlyExitTimeFinesViewModels[1].Minute"
|
||||
value="@((Model.EarlyExit?.EarlyExitTimeFinesViewModels).Any() ? (Model.EarlyExit?.EarlyExitTimeFinesViewModels is { Count: > 1 } && !String.IsNullOrWhiteSpace(Model.EarlyExit?.EarlyExitTimeFinesViewModels[1].Minute) ? Model.EarlyExit.EarlyExitTimeFinesViewModels[1].Minute : "") : "")"
|
||||
@((Model.EarlyExit?.EarlyExitTimeFinesViewModels).Any() ? (Model.EarlyExit?.EarlyExitTimeFinesViewModels is { Count: > 1 } && !String.IsNullOrWhiteSpace(Model.EarlyExit?.EarlyExitTimeFinesViewModels[1].Minute) ? "" : "disabled") : "disabled") />
|
||||
<label>دقیقه مبلغ</label>
|
||||
<input type="text" class="form-control-currency DepartureHasteInput" name="Command.EarlyExit.EarlyExitTimeFinesViewModels[1].FineMoney"
|
||||
value="@((Model.EarlyExit?.EarlyExitTimeFinesViewModels).Any() ? (Model.EarlyExit?.EarlyExitTimeFinesViewModels is { Count: > 1 } && Model.EarlyExit?.EarlyExitTimeFinesViewModels[1].FineMoney > 0 ? Model.EarlyExit.EarlyExitTimeFinesViewModels[1].FineMoney : "") : "")"
|
||||
@((Model.EarlyExit?.EarlyExitTimeFinesViewModels).Any() ? (Model.EarlyExit?.EarlyExitTimeFinesViewModels is { Count: > 1 } && Model.EarlyExit?.EarlyExitTimeFinesViewModels[1].FineMoney > 0 ? "" : "disabled") : "disabled") />
|
||||
<label>ریال جریمه محاسبه گردد.</label>
|
||||
</div>
|
||||
|
||||
<div class="form-group my-1">
|
||||
<input type="checkbox" id="DepartureHaste5" class="form-check-input Main-Radio"
|
||||
@(Model.EarlyExit?.EarlyExitTimeFinesViewModels is { Count: > 2 } &&
|
||||
!String.IsNullOrWhiteSpace(Model.EarlyExit.EarlyExitTimeFinesViewModels[2].Minute) &&
|
||||
Model.EarlyExit.EarlyExitTimeFinesViewModels[2].FineMoney > 0 ? "checked" : "")
|
||||
/>
|
||||
<label for="DepartureHaste5">مرحله سوم: در صورت تاخیر پرسنل در ورود و بیش از </label>
|
||||
<input type="text" class="form-control-percent DepartureHasteInput" name="Command.EarlyExit.EarlyExitTimeFinesViewModels[2].Minute"
|
||||
value="@((Model.EarlyExit?.EarlyExitTimeFinesViewModels).Any() ? (Model.EarlyExit?.EarlyExitTimeFinesViewModels is { Count: > 2 } && !String.IsNullOrWhiteSpace(Model.EarlyExit?.EarlyExitTimeFinesViewModels[2].Minute) ? Model.EarlyExit.EarlyExitTimeFinesViewModels[2].Minute : "") : "")"
|
||||
@((Model.EarlyExit?.EarlyExitTimeFinesViewModels).Any() ? (Model.EarlyExit?.EarlyExitTimeFinesViewModels is { Count: > 2 } && !String.IsNullOrWhiteSpace(Model.EarlyExit?.EarlyExitTimeFinesViewModels[2].Minute) ? "" : "disabled") : "disabled") />
|
||||
<label>دقیقه مبلغ</label>
|
||||
<input type="text" class="form-control-currency DepartureHasteInput" name="Command.EarlyExit.EarlyExitTimeFinesViewModels[2].FineMoney"
|
||||
value="@((Model.EarlyExit?.EarlyExitTimeFinesViewModels).Any() ? (Model.EarlyExit?.EarlyExitTimeFinesViewModels is { Count: > 2 } && Model.EarlyExit?.EarlyExitTimeFinesViewModels[2].FineMoney > 0 ? Model.EarlyExit.EarlyExitTimeFinesViewModels[2].FineMoney : "") : "")"
|
||||
@((Model.EarlyExit?.EarlyExitTimeFinesViewModels).Any() ? (Model.EarlyExit?.EarlyExitTimeFinesViewModels is { Count: > 2 } && Model.EarlyExit?.EarlyExitTimeFinesViewModels[2].FineMoney > 0 ? "" : "disabled") : "disabled") />
|
||||
<label>ریال جریمه محاسبه گردد.</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
// تنظیمات مربوط به تاخیر در ورود
|
||||
const cb1ArrivalDelay = $('#ArrivalDelay3'); // First checkbox
|
||||
const cb2ArrivalDelay = $('#ArrivalDelay4'); // Second checkbox
|
||||
const cb3ArrivalDelay = $('#ArrivalDelay5'); // Third checkbox
|
||||
|
||||
// When the third checkbox (3) is checked
|
||||
cb3ArrivalDelay.change(function () {
|
||||
if ($(this).is(':checked')) {
|
||||
cb1ArrivalDelay.prop('checked', true);
|
||||
cb2ArrivalDelay.prop('checked', true);
|
||||
}
|
||||
toggleInputsArrivalDelay(cb1ArrivalDelay);
|
||||
toggleInputsArrivalDelay(cb2ArrivalDelay);
|
||||
toggleInputsArrivalDelay(cb3ArrivalDelay);
|
||||
});
|
||||
|
||||
// When the second checkbox (2) is checked
|
||||
cb2ArrivalDelay.change(function () {
|
||||
if ($(this).is(':checked')) {
|
||||
cb1ArrivalDelay.prop('checked', true);
|
||||
cb3ArrivalDelay.prop('checked', false);
|
||||
}
|
||||
toggleInputsArrivalDelay(cb1ArrivalDelay);
|
||||
toggleInputsArrivalDelay(cb2ArrivalDelay);
|
||||
toggleInputsArrivalDelay(cb3ArrivalDelay);
|
||||
});
|
||||
|
||||
// When the first checkbox (1) is unchecked
|
||||
cb1ArrivalDelay.change(function () {
|
||||
if (!$(this).is(':checked')) {
|
||||
cb2ArrivalDelay.prop('checked', false);
|
||||
cb3ArrivalDelay.prop('checked', false);
|
||||
}
|
||||
toggleInputsArrivalDelay(cb1ArrivalDelay);
|
||||
toggleInputsArrivalDelay(cb2ArrivalDelay);
|
||||
toggleInputsArrivalDelay(cb3ArrivalDelay);
|
||||
});
|
||||
|
||||
|
||||
function toggleInputsArrivalDelay(checkbox) {
|
||||
const minuteInput = checkbox.closest('.form-group').find('.ArrivalDelayInput');
|
||||
const fineMoneyInput = checkbox.closest('.form-group').find('.ArrivalDelayInput');
|
||||
|
||||
if (checkbox.is(':checked')) {
|
||||
minuteInput.prop('disabled', false);
|
||||
fineMoneyInput.prop('disabled', false);
|
||||
} else {
|
||||
minuteInput.prop('disabled', true).val('');
|
||||
fineMoneyInput.prop('disabled', true).val('');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// تنظیمات مربوط به تعجیل در خروج
|
||||
const cb1DepartureHaste = $('#DepartureHaste3'); // First checkbox
|
||||
const cb2DepartureHaste = $('#DepartureHaste4'); // Second checkbox
|
||||
const cb3DepartureHaste = $('#DepartureHaste5'); // Third checkbox
|
||||
|
||||
// When the third checkbox (3) is checked
|
||||
cb3DepartureHaste.change(function () {
|
||||
if ($(this).is(':checked')) {
|
||||
cb1DepartureHaste.prop('checked', true); // Check the first checkbox
|
||||
cb2DepartureHaste.prop('checked', true); // Check the second checkbox
|
||||
}
|
||||
toggleInputsDepartureHaste(cb1DepartureHaste);
|
||||
toggleInputsDepartureHaste(cb2DepartureHaste);
|
||||
toggleInputsDepartureHaste(cb3DepartureHaste);
|
||||
});
|
||||
|
||||
// When the second checkbox (2) is checked
|
||||
cb2DepartureHaste.change(function () {
|
||||
if ($(this).is(':checked')) {
|
||||
cb1DepartureHaste.prop('checked', true); // Check the first checkbox
|
||||
cb3DepartureHaste.prop('checked', false); // Uncheck the third checkbox
|
||||
}
|
||||
toggleInputsDepartureHaste(cb1DepartureHaste);
|
||||
toggleInputsDepartureHaste(cb2DepartureHaste);
|
||||
toggleInputsDepartureHaste(cb3DepartureHaste);
|
||||
});
|
||||
|
||||
// When the first checkbox (1) is unchecked
|
||||
cb1DepartureHaste.change(function () {
|
||||
if (!$(this).is(':checked')) {
|
||||
cb2DepartureHaste.prop('checked', false); // Uncheck the second checkbox
|
||||
cb3DepartureHaste.prop('checked', false); // Uncheck the third checkbox
|
||||
}
|
||||
toggleInputsDepartureHaste(cb1DepartureHaste);
|
||||
toggleInputsDepartureHaste(cb2DepartureHaste);
|
||||
toggleInputsDepartureHaste(cb3DepartureHaste);
|
||||
});
|
||||
|
||||
function toggleInputsDepartureHaste(checkbox) {
|
||||
|
||||
const minuteInput = checkbox.closest('.form-group').find('.DepartureHasteInput');
|
||||
const fineMoneyInput = checkbox.closest('.form-group').find('.DepartureHasteInput');
|
||||
|
||||
if (checkbox.is(':checked')) {
|
||||
minuteInput.prop('disabled', false);
|
||||
fineMoneyInput.prop('disabled', false);
|
||||
} else {
|
||||
minuteInput.prop('disabled', true).val(''); // Clear minute value
|
||||
fineMoneyInput.prop('disabled', true).val(''); // Clear fine money value
|
||||
}
|
||||
}
|
||||
});
|
||||
</script>
|
||||
@@ -0,0 +1,58 @@
|
||||
@using _0_Framework.Domain.CustomizeCheckoutValueObjects
|
||||
@model CompanyManagment.App.Contracts.CustomizeWorkshopSettings.EditCustomizeEmployeeSettings
|
||||
|
||||
<div class="row my-2">
|
||||
<div class="col-12 mb-2">
|
||||
<div class="rollCallInfo">
|
||||
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<circle cx="16" cy="16" r="12" fill="#2FC1C1" />
|
||||
<path d="M17.3333 9.33333C17.3333 10.0697 16.7363 10.6667 16 10.6667C15.2636 10.6667 14.6666 10.0697 14.6666 9.33333C14.6666 8.59695 15.2636 8 16 8C16.7363 8 17.3333 8.59695 17.3333 9.33333Z" fill="#FFE2E2" />
|
||||
<path d="M16 22.0013V15.3346C16 14.2416 16 13.695 15.7288 13.3076C15.6284 13.1643 15.5037 13.0396 15.3604 12.9392C14.973 12.668 14.4265 12.668 13.3334 12.668V12.668M16 22.0013H18M16 22.0013H14" stroke="#FFE2E2" />
|
||||
</svg>
|
||||
<span>این تنظیمات در محاسبات فیش حقوق قانونی اداره کار تاثیری نخواهد داشت.</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 group-container">
|
||||
<div class="titleSettingRollCall">مزد مرخصی</div>
|
||||
<div class="form-group my-1 group">
|
||||
<input type="radio" name="Command.LeavePay.LeavePayType" id="LeavePayType1" class="form-check-input Main-Radio" @(Model.LeavePay.LeavePayType == LeavePayType.None ? "checked" : "") value="@((int)(LeavePayType.None))" />
|
||||
<label for="LeavePayType1">مزد مرخصی پرداخت نمیگردد و در فیش حقوقی محاسبه نگردد.</label>
|
||||
</div>
|
||||
<div class="form-group my-1 group">
|
||||
<input type="radio" name="Command.LeavePay.LeavePayType" id="LeavePayType2" class="form-check-input Main-Radio" @(Model.LeavePay.LeavePayType == LeavePayType.Pay ? "checked" : "") value="@((int)(LeavePayType.Pay))"/>
|
||||
<label for="LeavePayType2">در صورتی که پرسنل از مرخصی استفاده ننماید، </label>
|
||||
<select class="form-control-select sub-input @(Model.LeavePay.LeavePayType == LeavePayType.Pay ? "" : "disabled")" name="Command.LeavePay.Value" @(Model.LeavePay.LeavePayType == LeavePayType.Pay ? "asp-for='Model.LeavePay.Value'" : "disabled")>
|
||||
<option value="1" >1</option>
|
||||
<option value="2" >2</option>
|
||||
</select>
|
||||
<label for="LeavePayType2">برابر حقوق در فیش حقوقی محاسبه گردد.</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-12">
|
||||
<div class="lineHr my-3"></div>
|
||||
</div>
|
||||
|
||||
<div class="col-12 group-container">
|
||||
<div class="titleSettingRollCall">حق بیمه</div>
|
||||
<div class="form-group my-1 group">
|
||||
<input type="radio" name="Command.InsuranceDeduction.InsuranceDeductionType" id="InsuranceDeductionType1" class="form-check-input Main-Radio" @(Model.InsuranceDeduction.InsuranceDeductionType == InsuranceDeductionType.None ? "checked" : "") value="@((int)(InsuranceDeductionType.None))" />
|
||||
<label for="InsuranceDeductionType1">حق بیمه پرداخت نمیشود.</label>
|
||||
</div>
|
||||
<div class="form-group my-1 group">
|
||||
<input type="radio" name="Command.InsuranceDeduction.InsuranceDeductionType" id="InsuranceDeductionType2" class="form-check-input Main-Radio" @(Model.InsuranceDeduction.InsuranceDeductionType == InsuranceDeductionType.BasedOnLaborLaw ? "checked" : "") value="@((int)(InsuranceDeductionType.BasedOnLaborLaw))" />
|
||||
<label for="InsuranceDeductionType2">براساس قوانین کار (حقوق + بن کارگری + بن مسکن + حق تاهل) * 7%</label>
|
||||
</div>
|
||||
<div class="form-group my-1 group">
|
||||
<input type="radio" name="Command.InsuranceDeduction.InsuranceDeductionType" id="InsuranceDeductionType3" class="form-check-input Main-Radio" @(Model.InsuranceDeduction.InsuranceDeductionType == InsuranceDeductionType.PercentageOfSalary ? "checked" : "") value="@((int)(InsuranceDeductionType.PercentageOfSalary))" />
|
||||
<label for="InsuranceDeductionType3">براساس درصد از حقوق تعیین</label>
|
||||
<input type="text" class="sub-input form-control-percent" name="Command.InsuranceDeduction.Value" value="@(Model.InsuranceDeduction.InsuranceDeductionType == InsuranceDeductionType.PercentageOfSalary? Model.InsuranceDeduction.Value : "")" @((Model.InsuranceDeduction.Value != 0 && Model.InsuranceDeduction.InsuranceDeductionType == InsuranceDeductionType.PercentageOfSalary) ? "" : "disabled") />
|
||||
</div>
|
||||
<div class="form-group my-1 group">
|
||||
<input type="radio" name="Command.InsuranceDeduction.InsuranceDeductionType" id="InsuranceDeductionType4" class="form-check-input Main-Radio" @(Model.InsuranceDeduction.InsuranceDeductionType == InsuranceDeductionType.Money ? "checked" : "") value="@((int)(InsuranceDeductionType.Money))" />
|
||||
<label for="InsuranceDeductionType4">ماهیانه</label>
|
||||
<input type="text" class="sub-input form-control-currency" name="Command.InsuranceDeduction.Value" value="@(Model.InsuranceDeduction.InsuranceDeductionType == InsuranceDeductionType.Money? Model.InsuranceDeduction.Value : "")" @((Model.InsuranceDeduction.Value != 0 && Model.InsuranceDeduction.InsuranceDeductionType == InsuranceDeductionType.Money) ? "" : "disabled") />
|
||||
<label for="InsuranceDeductionType4">ریال</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,61 @@
|
||||
@using _0_Framework.Domain.CustomizeCheckoutValueObjects
|
||||
@model CompanyManagment.App.Contracts.CustomizeWorkshopSettings.EditCustomizeEmployeeSettings
|
||||
|
||||
<div class="row my-2">
|
||||
<div class="col-12 mb-2">
|
||||
<div class="rollCallInfo">
|
||||
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<circle cx="16" cy="16" r="12" fill="#2FC1C1" />
|
||||
<path d="M17.3333 9.33333C17.3333 10.0697 16.7363 10.6667 16 10.6667C15.2636 10.6667 14.6666 10.0697 14.6666 9.33333C14.6666 8.59695 15.2636 8 16 8C16.7363 8 17.3333 8.59695 17.3333 9.33333Z" fill="#FFE2E2" />
|
||||
<path d="M16 22.0013V15.3346C16 14.2416 16 13.695 15.7288 13.3076C15.6284 13.1643 15.5037 13.0396 15.3604 12.9392C14.973 12.668 14.4265 12.668 13.3334 12.668V12.668M16 22.0013H18M16 22.0013H14" stroke="#FFE2E2" />
|
||||
</svg>
|
||||
<span>این تنظیمات در محاسبات فیش حقوق قانونی اداره کار تاثیری نخواهد داشت.</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 group-container">
|
||||
<div class="titleSettingRollCall">حق تاهل</div>
|
||||
<div class="form-group my-1 group">
|
||||
<input type="radio" name="Command.MarriedAllowance.MarriedAllowanceType" id="MarryRight1" class="form-check-input Main-Radio" @(Model.MarriedAllowance.MarriedAllowanceType == MarriedAllowanceType.None ? "checked" : "") value="@((int)(MarriedAllowanceType.None))" />
|
||||
<label for="MarryRight1">حق تاهل در فیش حقوقی محاسبه نگردد.</label>
|
||||
</div>
|
||||
<div class="form-group group">
|
||||
<input type="radio" name="Command.MarriedAllowance.MarriedAllowanceType" id="MarryRight2" class="form-check-input Main-Radio" @(Model.MarriedAllowance.MarriedAllowanceType == MarriedAllowanceType.Money ? "checked" : "") value="@((int)(MarriedAllowanceType.Money))" />
|
||||
<label for="MarryRight2">درصورتی که پرسنل شما متاهل باشد مبلغ</label>
|
||||
<input type="text" class="sub-input form-control-currency" name="Command.MarriedAllowance.Value" value="@(Model.MarriedAllowance.MarriedAllowanceType == MarriedAllowanceType.Money ? Model.MarriedAllowance.Value : "")" @((Model.MarriedAllowance.Value != 0 && Model.MarriedAllowance.MarriedAllowanceType == MarriedAllowanceType.Money) ? "" : "disabled") />
|
||||
<label for="MarryRight2">ريال در فیش حقوقی محاسبه گردد.</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="col-12">
|
||||
<div class="lineHr my-3"></div>
|
||||
</div>
|
||||
|
||||
<div class="col-12 mb-2 group-container">
|
||||
<div class="titleSettingRollCall">حق اولاد</div>
|
||||
<div class="form-group my-1">
|
||||
<input type="radio" name="Command.FamilyAllowance.FamilyAllowanceType" id="ChildrenRight1" class="form-check-input Main-Radio" @(Model.FamilyAllowance.FamilyAllowanceType == FamilyAllowanceType.None ? "checked" : "") value="@((int)(FamilyAllowanceType.None))" />
|
||||
<label for="ChildrenRight1">حق اولاد در فیش حقوقی محاسبه نگردد.</label>
|
||||
<div class="titleSettingRollCallCheckboxSubtitle">(جهت استفاده از این بخش میبایست در فرم اطلاعات پرسنل تعداد فرزندان و سال تولد آن ها را وارد نمائید)</div>
|
||||
</div>
|
||||
<div class="form-group my-1 group">
|
||||
<input type="checkbox" name="Command.FamilyAllowance" id="ChildrenRight2" class="form-check-input Main-Radio main-checkbox"
|
||||
@((Model.FamilyAllowance.FamilyAllowanceType == FamilyAllowanceType.Percentage || Model.FamilyAllowance.FamilyAllowanceType == FamilyAllowanceType.Money) ? "checked" : "") />
|
||||
<label for="ChildrenRight2">در صورت داشتن فرزند زیر 18 سال پرسنل مبالغ به شرح ذیل در فیش حقوقی محاسبه گردد.</label>
|
||||
|
||||
<div class="sub-group form-group my-1 ms-4 ChildrenRight2SubDisable">
|
||||
<div>
|
||||
<input type="radio" name="Command.FamilyAllowance.FamilyAllowanceType" id="ChildrenRight2Sub1" class="form-check-input Sub-Radio" @(Model.FamilyAllowance.FamilyAllowanceType == FamilyAllowanceType.Percentage ? "checked" : "") value="@((int)(FamilyAllowanceType.Percentage))" @((Model.FamilyAllowance.FamilyAllowanceType == FamilyAllowanceType.Percentage || Model.FamilyAllowance.FamilyAllowanceType == FamilyAllowanceType.Money) ? "" : "disabled") />
|
||||
<label for="ChildrenRight2Sub1">برای هر فرزند درصد از مزد روزانه پرسنل </label>
|
||||
<input type="text" class="sub-input form-control-percent" name="Command.FamilyAllowance.Value" value="@(Model.FamilyAllowance.FamilyAllowanceType == FamilyAllowanceType.Percentage ? Model.FamilyAllowance.Value : "")" @((Model.FamilyAllowance.Value != 0 && Model.FamilyAllowance.FamilyAllowanceType == FamilyAllowanceType.Percentage) ? "" : "disabled") />
|
||||
</div>
|
||||
<div>
|
||||
<input type="radio" name="Command.FamilyAllowance.FamilyAllowanceType" id="ChildrenRight2Sub2" class="form-check-input Sub-Radio" @(Model.FamilyAllowance.FamilyAllowanceType == FamilyAllowanceType.Money ? "checked" : "") value="@((int)(FamilyAllowanceType.Money))" @((Model.FamilyAllowance.FamilyAllowanceType == FamilyAllowanceType.Percentage || Model.FamilyAllowance.FamilyAllowanceType == FamilyAllowanceType.Money) ? "" : "disabled") />
|
||||
<label for="ChildrenRight2Sub2">برای هر فرزند مبلغ </label>
|
||||
<input type="text" class="sub-input form-control-currency" name="Command.FamilyAllowance.Value" value="@(Model.FamilyAllowance.FamilyAllowanceType == FamilyAllowanceType.Money ? Model.FamilyAllowance.Value : "")" @((Model.FamilyAllowance.Value != 0 && Model.FamilyAllowance.FamilyAllowanceType == FamilyAllowanceType.Money) ? "" : "disabled") />
|
||||
<label for="ChildrenRight2Sub2">ريال</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,43 @@
|
||||
@using _0_Framework.Domain.CustomizeCheckoutValueObjects
|
||||
@model CompanyManagment.App.Contracts.CustomizeWorkshopSettings.EditCustomizeEmployeeSettings
|
||||
|
||||
<div class="row my-2">
|
||||
<div class="col-12 mb-2">
|
||||
<div class="rollCallInfo">
|
||||
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<circle cx="16" cy="16" r="12" fill="#2FC1C1" />
|
||||
<path d="M17.3333 9.33333C17.3333 10.0697 16.7363 10.6667 16 10.6667C15.2636 10.6667 14.6666 10.0697 14.6666 9.33333C14.6666 8.59695 15.2636 8 16 8C16.7363 8 17.3333 8.59695 17.3333 9.33333Z" fill="#FFE2E2" />
|
||||
<path d="M16 22.0013V15.3346C16 14.2416 16 13.695 15.7288 13.3076C15.6284 13.1643 15.5037 13.0396 15.3604 12.9392C14.973 12.668 14.4265 12.668 13.3334 12.668V12.668M16 22.0013H18M16 22.0013H14" stroke="#FFE2E2" />
|
||||
</svg>
|
||||
<span>این تنظیمات در محاسبات فیش حقوق قانونی اداره کار تاثیری نخواهد داشت.</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-12 group-container">
|
||||
<div class="titleSettingRollCall">شب کاری</div>
|
||||
<div class="form-group my-1 group">
|
||||
<input type="radio" name="Command.NightWorkPay.NightWorkingType" id="NightWork1" class="form-check-input Main-Radio" @(Model.NightWorkPay.NightWorkingType == NightWorkType.None ? "checked" : "") value="@((int)(NightWorkType.None))" />
|
||||
<label for="NightWork1">شب کاری پرسنل در فیش حقوقی محاسبه نگردد. (ساعات شب کاری 22:00 الی 06:00 میباشد)</label>
|
||||
</div>
|
||||
|
||||
<div class="form-group my-1 group">
|
||||
<input type="checkbox" name="Command.NightWorkPay" id="NightWork2" class="form-check-input Main-Radio main-checkbox" @((Model.NightWorkPay.NightWorkingType == NightWorkType.PercentageFromSalary || Model.NightWorkPay.NightWorkingType == NightWorkType.MoneyPerHour) ? "checked" : "") />
|
||||
<label for="NightWork2">بابت هر ساعت شب کاری پرسنل ، به شرح ذیل اضافه بر حقوق در فیش حقوقی محاسبه گردد..</label>
|
||||
|
||||
<div class="sub-group form-group my-1 ms-4 NightWorkSubDisable">
|
||||
<div>
|
||||
<input type="radio" name="Command.NightWorkPay.NightWorkingType" id="NightWork2Sub1" class="form-check-input Sub-Radio" @(Model.NightWorkPay.NightWorkingType == NightWorkType.PercentageFromSalary ? "checked" : "") value="@((int)(NightWorkType.PercentageFromSalary))" @((Model.NightWorkPay.NightWorkingType == NightWorkType.PercentageFromSalary || Model.NightWorkPay.NightWorkingType == NightWorkType.MoneyPerHour) ? "" : "disabled") />
|
||||
<label for="NightWork2Sub1">درصد از مزد روزانه پرسنل</label>
|
||||
<input type="text" class="sub-input form-control-percent" name="Command.NightWorkPay.Value" value="@(Model.NightWorkPay.NightWorkingType == NightWorkType.PercentageFromSalary ? Model.NightWorkPay.Value : "")" @((Model.NightWorkPay.Value != 0 && Model.NightWorkPay.NightWorkingType == NightWorkType.PercentageFromSalary) ? "" : "disabled") />
|
||||
</div>
|
||||
<div>
|
||||
<input type="radio" name="Command.NightWorkPay.NightWorkingType" id="NightWork2Sub2" class="form-check-input Sub-Radio" @(Model.NightWorkPay.NightWorkingType == NightWorkType.MoneyPerHour ? "checked" : "") value="@((int)(NightWorkType.MoneyPerHour))" @((Model.NightWorkPay.NightWorkingType == NightWorkType.PercentageFromSalary || Model.NightWorkPay.NightWorkingType == NightWorkType.MoneyPerHour) ? "" : "disabled") />
|
||||
<label for="NightWork2Sub2">بابت هر ساعت مبلغ </label>
|
||||
<input type="text" class="sub-input form-control-currency" name="Command.NightWorkPay.Value" value="@(Model.NightWorkPay.NightWorkingType == NightWorkType.MoneyPerHour ? Model.NightWorkPay.Value : "")" @((Model.NightWorkPay.Value != 0 && Model.NightWorkPay.NightWorkingType == NightWorkType.MoneyPerHour) ? "" : "disabled") />
|
||||
<label for="NightWork2Sub2">ريال</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
@@ -0,0 +1,110 @@
|
||||
<style>
|
||||
.timeWorkTitle {
|
||||
color: #5C5C5C;
|
||||
font-weight: 600;
|
||||
font-size: 12px;
|
||||
margin: auto 0 auto 6px;
|
||||
}
|
||||
|
||||
.groupBox {
|
||||
background-color: #F5F5F5;
|
||||
border-radius: 10px;
|
||||
border: 1px solid #E7E7E7;
|
||||
padding: 6px;
|
||||
margin: 6px 3px;
|
||||
}
|
||||
|
||||
.groupBox .form-control{
|
||||
background-color: #ffffff;
|
||||
}
|
||||
|
||||
.btnAddTimeWork {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
background-color: #84CC16;
|
||||
border-radius: 5px;
|
||||
color: #ffffff;
|
||||
font-size: 12px;
|
||||
font-weight: 500;
|
||||
padding: 4px 8px;
|
||||
}
|
||||
|
||||
.btnRemoveTimeWork {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
background-color: #F87171;
|
||||
border-radius: 7px;
|
||||
padding: 3px;
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
}
|
||||
</style>
|
||||
|
||||
<div class="container p-0 m-0" id="WorkingTimeSetting">
|
||||
<div class="row">
|
||||
<div class="col-12" id="appendChildTimeWorkHtml">
|
||||
|
||||
@for (var i=0; i < Model.ShiftsList.Count(); i++)
|
||||
{
|
||||
<div class="groupBox">
|
||||
<div class="row align-items-center justify-content-between">
|
||||
<div class="col-2 d-flex align-items-center">
|
||||
<input type="hidden" name="Command.ShiftsList[@i].Placement" value="@Model.ShiftsList[@i].Placement" />
|
||||
<div class="timeWorkTitle">نوبت اول</div>
|
||||
</div>
|
||||
|
||||
<div class="col-4 d-flex align-items-center">
|
||||
<div class="timeWorkTitle">از</div>
|
||||
<input type="text" class="form-control text-center dateTime" name="Command.ShiftsList[@i].StartTime" value="@Model.ShiftsList[@i].StartTime" placeholder="00:00" style="direction: ltr"/>
|
||||
</div>
|
||||
|
||||
<div class="col-4 d-flex align-items-center">
|
||||
<div class="timeWorkTitle">الی</div>
|
||||
<input type="text" class="form-control text-center dateTime" name="Command.ShiftsList[@i].EndTime" value="@Model.ShiftsList[@i].EndTime" placeholder="00:00" style="direction: ltr" />
|
||||
</div>
|
||||
@if (i == 0)
|
||||
{
|
||||
<div class="col-2 d-flex align-items-center justify-content-end">
|
||||
</div>
|
||||
}
|
||||
else
|
||||
{
|
||||
<div class="col-2 d-flex align-items-center justify-content-end">
|
||||
<button type="button" class="btnRemoveTimeWork">
|
||||
<svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<circle cx="11" cy="11" r="8.25" stroke="white" />
|
||||
<path d="M6.875 11H15.125" stroke="white" />
|
||||
</svg>
|
||||
</button>
|
||||
</div>
|
||||
}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
|
||||
</div>
|
||||
<div class="d-flex align-items-center justify-content-center w-100 my-2">
|
||||
<button type="button" class="btnAddTimeWork">
|
||||
<svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<circle cx="11" cy="11" r="8.25" stroke="white" />
|
||||
<path d="M11 13.75L11 8.25" stroke="white" stroke-linecap="round" />
|
||||
<path d="M13.75 11L8.25 11" stroke="white" stroke-linecap="round" />
|
||||
</svg>
|
||||
@if (Model.ShiftsList.Count() == 2)
|
||||
{
|
||||
<div class="mx-1 btnAppendChildTimeWork">افزودن نوبت سوم</div>
|
||||
}
|
||||
else
|
||||
{
|
||||
<div class="mx-1 btnAppendChildTimeWork">افزودن نوبت دوم</div>
|
||||
}
|
||||
</button>
|
||||
</div>
|
||||
<div class="col-12">
|
||||
<p class="m-0" id="ShowSettingMessage"></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,151 @@
|
||||
@using _0_Framework.Domain.CustomizeCheckoutValueObjects
|
||||
@model CompanyManagment.App.Contracts.CustomizeWorkshopSettings.EditCustomizeWorkshopGroupSettings
|
||||
|
||||
<div class="row my-2">
|
||||
<div class="col-12 mb-2">
|
||||
<div class="rollCallInfo">
|
||||
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<circle cx="16" cy="16" r="12" fill="#2FC1C1" />
|
||||
<path d="M17.3333 9.33333C17.3333 10.0697 16.7363 10.6667 16 10.6667C15.2636 10.6667 14.6666 10.0697 14.6666 9.33333C14.6666 8.59695 15.2636 8 16 8C16.7363 8 17.3333 8.59695 17.3333 9.33333Z" fill="#FFE2E2" />
|
||||
<path d="M16 22.0013V15.3346C16 14.2416 16 13.695 15.7288 13.3076C15.6284 13.1643 15.5037 13.0396 15.3604 12.9392C14.973 12.668 14.4265 12.668 13.3334 12.668V12.668M16 22.0013H18M16 22.0013H14" stroke="#FFE2E2" />
|
||||
</svg>
|
||||
<span>این تنظیمات در محاسبات فیش حقوق قانونی اداره کار تاثیری نخواهد داشت.</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 group-container">
|
||||
<div class="titleSettingRollCall">عیدی</div>
|
||||
<div class="form-group my-1 group">
|
||||
<input type="radio" name="Command.BonusesPay.BonusesPayType" id="BonusesPay1" class="form-check-input Main-Radio" @(Model.BonusesPay.BonusesPayType == BonusesType.None ? "checked" : "") value="@((int)(BonusesPaymentType.None))" />
|
||||
<label for="BonusesPay1">عیدی پرداخت نمیگردد و در فیش حقوقی محاسبه نگردد.</label>
|
||||
</div>
|
||||
<div class="form-group group">
|
||||
<input type="checkbox" name="Command.BonusesPay.BonusesPayType1" id="BonusesPay2" class="form-check-input Main-Radio main-checkbox"
|
||||
@((Model.BonusesPay.BonusesPayType == BonusesType.Money ||
|
||||
Model.BonusesPay.BonusesPayType == BonusesType.OneTimeOfSalary ||
|
||||
Model.BonusesPay.BonusesPayType == BonusesType.TwoTimeOfSalary ||
|
||||
Model.BonusesPay.BonusesPayType == BonusesType.PercentageOfSalary) ? "checked" : "" ) />
|
||||
<label for="BonusesPay2">مبلغ عیدی تعیین شدن:</label>
|
||||
|
||||
<div class="form-group sub-group my-1 ms-4 BonusesPay2SubDisable">
|
||||
<div>
|
||||
<input type="radio" name="Command.BonusesPay.BonusesPayType" id="BonusesPay2Sub1" class="form-check-input Sub-Radio" @(Model.BonusesPay.BonusesPayType == BonusesType.Money ? "checked" : "") value="@((int)(BonusesType.Money))" />
|
||||
<label for="BonusesPay2Sub1">مبلغ عیدی </label>
|
||||
<input type="text" class="sub-input form-control-currency" name="Command.BonusesPay.Value" value="@(Model.BonusesPay.BonusesPayType == BonusesType.Money ? Model.BonusesPay.Value : "")" @((Model.BonusesPay.Value != 0 && Model.BonusesPay.BonusesPayType == BonusesType.Money) ? "" : "disabled") />
|
||||
<label for="BonusesPay2Sub1">ریال در سال</label>
|
||||
</div>
|
||||
<div>
|
||||
<input type="radio" name="Command.BonusesPay.BonusesPayType" id="BonusesPay2Sub2" class="form-check-input Sub-Radio" @(Model.BonusesPay.BonusesPayType == BonusesType.OneTimeOfSalary ? "checked" : "") value="@((int)(BonusesType.OneTimeOfSalary))" />
|
||||
<label for="BonusesPay2Sub2">مبلغ عیدی یک پایه حقوق پرداختی پرسنل محاسبه گردد.</label>
|
||||
</div>
|
||||
<div>
|
||||
<input type="radio" name="Command.BonusesPay.BonusesPayType" id="BonusesPay2Sub3" class="form-check-input Sub-Radio" @(Model.BonusesPay.BonusesPayType == BonusesType.TwoTimeOfSalary ? "checked" : "") value="@((int)(BonusesType.TwoTimeOfSalary))" />
|
||||
<label for="BonusesPay2Sub3">مبلغ عیدی 2 برابر پایه حقوق پرداختی پرسنل محاسبه گردد.</label>
|
||||
</div>
|
||||
<div>
|
||||
<input type="radio" name="Command.BonusesPay.BonusesPayType" id="BonusesPay2Sub4" class="form-check-input Sub-Radio" @(Model.BonusesPay.BonusesPayType == BonusesType.PercentageOfSalary ? "checked" : "") value="@((int)(BonusesType.PercentageOfSalary))" />
|
||||
<label for="BonusesPay2Sub4">مبلغ عیدی </label>
|
||||
<input type="text" class="sub-input form-control-percent" name="Command.BonusesPay.Value" value="@(Model.BonusesPay.BonusesPayType == BonusesType.PercentageOfSalary ? Model.BonusesPay.Value : "")" @((Model.BonusesPay.Value != 0 && Model.BonusesPay.BonusesPayType == BonusesType.PercentageOfSalary) ? "" : "disabled") />
|
||||
<label for="BonusesPay2Sub4">درصد از حقوق، ماهیانه پرسنل محاسبه گردد.</label>
|
||||
</div>
|
||||
|
||||
@* <input type="hidden" name="Command.BonusesPay.PaymentType" value="@((int)(BonusesPaymentType.YearlyPay))" /> *@
|
||||
|
||||
<div class="col-12 my-2">
|
||||
<div class="lineMinHr"></div>
|
||||
</div>
|
||||
|
||||
<div class="form-group my-1">
|
||||
<input type="radio" name="Command.BonusesPay.PaymentType" id="BonusesPay3" class="form-check-input Main-Radio2" @(Model.BonusesPay.PaymentType == BonusesPaymentType.YearlyPay ? "checked" : "") value="@((int)(BonusesPaymentType.YearlyPay))" />
|
||||
<label for="BonusesPay3">پرداخت سالانه (مبلغ عیدی محاسبه شده در فیش حقوقی اسفند ماه محاسبه گردد.)</label>
|
||||
</div>
|
||||
<div class="form-group my-1">
|
||||
<input type="radio" name="Command.BonusesPay.PaymentType" id="BonusesPay4" class="form-check-input Main-Radio2" @(Model.BonusesPay.PaymentType == BonusesPaymentType.MonthlyPay ? "checked" : "") value="@((int)(BonusesPaymentType.MonthlyPay))" />
|
||||
<label for="BonusesPay4">پرداخت ماهانه (مبلغ عیدی محاسبه شده بصورت ماهانه در فیش حقوقی محاسبه گردد.)</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="col-12">
|
||||
<div class="lineHr my-3"></div>
|
||||
</div>
|
||||
|
||||
<div class="col-12 group-container">
|
||||
<div class="titleSettingRollCall">سنوات</div>
|
||||
|
||||
<div class="form-group my-1 group">
|
||||
<input type="radio" name="Command.BaseYearsPay.BaseYearsPayType" id="BaseyearPay1" class="form-check-input Main-Radio" @(Model.BaseYearsPay.BaseYearsPayType == BaseYearsPayType.None ? "checked" : "") value="@((int)(BaseYearsPayType.None))" />
|
||||
<label for="BaseyearPay1">سنوات پرداخت نمیگردد و در فیش حقوقی محاسبه نگردد.</label>
|
||||
</div>
|
||||
|
||||
<div class="form-group group">
|
||||
<input type="checkbox" name="Command.BaseYearsPay.BaseYearsPayType1" id="BaseyearPay2" class="form-check-input Main-Radio main-checkbox"
|
||||
@((Model.BaseYearsPay.BaseYearsPayType == BaseYearsPayType.Money ||
|
||||
Model.BaseYearsPay.BaseYearsPayType == BaseYearsPayType.PercentageOfSalary) ? "checked" : "" ) />
|
||||
<label for="BaseyearPay2">مبلغ عیدی تعیین شدن:</label>
|
||||
|
||||
<div class="sub-group form-group my-1 ms-4 BaseyearPay2SubDisable">
|
||||
<div>
|
||||
<input type="radio" name="Command.BaseYearsPay.BaseYearsPayType" id="BaseyearPay2Sub1" class="form-check-input Sub-Radio" @(Model.BaseYearsPay.BaseYearsPayType == BaseYearsPayType.Money ? "checked" : "") @((Model.BaseYearsPay.BaseYearsPayType == BaseYearsPayType.Money || Model.BaseYearsPay.BaseYearsPayType == BaseYearsPayType.PercentageOfSalary) ? "" : "disabled" ) value="@((int)(BaseYearsPayType.Money))" />
|
||||
<label for="BaseyearPay2Sub1">مبلغ عیدی </label>
|
||||
<input type="text" class="sub-input form-control-currency" name="Command.BaseYearsPay.Value" value="@(Model.BaseYearsPay.BaseYearsPayType == BaseYearsPayType.Money ? Model.BaseYearsPay.Value : "")" @((Model.BaseYearsPay.Value != 0 && Model.BaseYearsPay.BaseYearsPayType == BaseYearsPayType.Money) ? "" : "disabled") />
|
||||
<label for="BaseyearPay2Sub1">ریال در سال</label>
|
||||
</div>
|
||||
@* <div>
|
||||
<input type="checkbox" name="Command.BaseYearsPay.BaseYearsPayType" id="BaseyearPay2Sub2" class="form-check-input Sub-Radio" @(Model.BaseYearsPay.BaseYearsPayType == BaseYearsPayType.OneTimeOfSalary ? "checked" : "") value="@((int)(BaseYearsPayType.OneTimeOfSalary))" />
|
||||
<label for="BaseyearPay2Sub2">مبلغ عیدی یک پایه حقوق پرداختی پرسنل محاسبه گردد.</label>
|
||||
</div>
|
||||
<div>
|
||||
<input type="checkbox" name="Command.BaseYearsPay.BaseYearsPayType" id="BaseyearPay2Sub3" class="form-check-input Sub-Radio" @(Model.BaseYearsPay.BaseYearsPayType == BaseYearsPayType.TwoTimeOfSalary ? "checked" : "") value="@((int)(BaseYearsPayType.TwoTimeOfSalary))" />
|
||||
<label for="BaseyearPay2Sub3">مبلغ عیدی 2 برابر پایه حقوق پرداختی پرسنل محاسبه گردد.</label>
|
||||
</div> *@
|
||||
<div>
|
||||
<input type="radio" name="Command.BaseYearsPay.BaseYearsPayType" id="BaseyearPay2Sub4" class="form-check-input Sub-Radio" @(Model.BaseYearsPay.BaseYearsPayType == BaseYearsPayType.PercentageOfSalary ? "checked" : "") @((Model.BaseYearsPay.BaseYearsPayType == BaseYearsPayType.Money || Model.BaseYearsPay.BaseYearsPayType == BaseYearsPayType.PercentageOfSalary) ? "" : "disabled") value="@((int)(BaseYearsPayType.PercentageOfSalary))" />
|
||||
<label for="BaseyearPay2Sub4">مبلغ عیدی </label>
|
||||
<input type="text" class="sub-input form-control-percent" name="Command.BaseYearsPay.Value" value="@(Model.BaseYearsPay.BaseYearsPayType == BaseYearsPayType.PercentageOfSalary ? Model.BaseYearsPay.Value : "")" @((Model.BaseYearsPay.Value != 0 && Model.BaseYearsPay.BaseYearsPayType == BaseYearsPayType.PercentageOfSalary) ? "" : "disabled") />
|
||||
<label for="BaseyearPay2Sub4">درصد از حقوق، ماهیانه پرسنل محاسبه گردد.</label>
|
||||
</div>
|
||||
|
||||
<div class="col-12 my-2">
|
||||
<div class="lineMinHr"></div>
|
||||
</div>
|
||||
|
||||
<div class="form-group my-1">
|
||||
<input type="radio" name="Command.BaseYearsPay.PaymentType" id="BaseyearPay3" class="form-check-input Main-Radio2" @(Model.BaseYearsPay.PaymentType == BaseYearsPaymentType.YearlyPay ? "checked" : "") value="@((int)(BaseYearsPaymentType.YearlyPay))" />
|
||||
<label for="BaseyearPay3">پرداخت سالانه (مبلغ عیدی محاسبه شده در فیش حقوقی اسفند ماه محاسبه گردد.)</label>
|
||||
</div>
|
||||
<div class="form-group my-1">
|
||||
<input type="radio" name="Command.BaseYearsPay.PaymentType" id="BaseyearPay4" class="form-check-input Main-Radio2" @(Model.BaseYearsPay.PaymentType == BaseYearsPaymentType.MonthlyPay ? "checked" : "") value="@((int)(BaseYearsPaymentType.MonthlyPay))" />
|
||||
<label for="BaseyearPay4">پرداخت ماهانه (مبلغ عیدی محاسبه شده بصورت ماهانه در فیش حقوقی محاسبه گردد.)</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
|
||||
$("input[name='Command.BonusesPay.BonusesPayType'], input[name='Command.BonusesPay.BonusesPayType1']").on('change', function () {
|
||||
const selectedId = $(this).prop('id');
|
||||
if (selectedId === 'BonusesPay1') {
|
||||
$('#BonusesPay3, #BonusesPay4').prop('checked',false);
|
||||
} else if (selectedId === 'BonusesPay2') {
|
||||
$('#BonusesPay3').prop('checked', true);
|
||||
}
|
||||
});
|
||||
|
||||
$("input[name='Command.BaseYearsPay.BaseYearsPayType'], input[name='Command.BaseYearsPay.BaseYearsPayType1']").on('change', function () {
|
||||
const selectedId = $(this).prop('id');
|
||||
if (selectedId === 'BaseyearPay1') {
|
||||
$('#BaseyearPay3, #BaseyearPay4').prop('checked', false);
|
||||
} else if (selectedId === 'BaseyearPay2') {
|
||||
$('#BaseyearPay3').prop('checked', true);
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
</script>
|
||||
@@ -0,0 +1,206 @@
|
||||
@using _0_Framework.Domain.CustomizeCheckoutValueObjects
|
||||
@model CompanyManagment.App.Contracts.CustomizeWorkshopSettings.EditCustomizeWorkshopGroupSettings
|
||||
|
||||
<div class="row my-2">
|
||||
<div class="col-12 mb-2">
|
||||
<div class="rollCallInfo">
|
||||
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<circle cx="16" cy="16" r="12" fill="#2FC1C1" />
|
||||
<path d="M17.3333 9.33333C17.3333 10.0697 16.7363 10.6667 16 10.6667C15.2636 10.6667 14.6666 10.0697 14.6666 9.33333C14.6666 8.59695 15.2636 8 16 8C16.7363 8 17.3333 8.59695 17.3333 9.33333Z" fill="#FFE2E2" />
|
||||
<path d="M16 22.0013V15.3346C16 14.2416 16 13.695 15.7288 13.3076C15.6284 13.1643 15.5037 13.0396 15.3604 12.9392C14.973 12.668 14.4265 12.668 13.3334 12.668V12.668M16 22.0013H18M16 22.0013H14" stroke="#FFE2E2" />
|
||||
</svg>
|
||||
<span>این تنظیمات در محاسبات فیش حقوق قانونی اداره کار تاثیری نخواهد داشت.</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 group-container">
|
||||
<div class="titleSettingRollCall">جریمه غیبت</div>
|
||||
|
||||
<div class="group form-group my-1">
|
||||
<input type="radio" name="Command.FineAbsenceDeduction.FineAbsenceDeductionType" id="AbsentFine1" class="form-check-input Main-Radio" @(!Model.FineAbsenceDeduction.FineAbsenceDayOfWeekViewModels.Any() && Model.FineAbsenceDeduction.FineAbsenceDeductionType == FineAbsenceDeductionType.None ? "checked" : "") value="@((int)(FineAbsenceDeductionType.None))" />
|
||||
<label for="AbsentFine1">جریمه غیبت پرداخت نمیگردد و در فیش حقوقی محاسبه نگردد.</label>
|
||||
</div>
|
||||
|
||||
<div class="group form-group my-1">
|
||||
|
||||
<input type="radio" name="Command.FineAbsenceDeduction.FineAbsenceDeductionType" id="AbsentFine2" class="form-check-input Main-Radio main-checkbox WeekDayRadio" @(Model.FineAbsenceDeduction.FineAbsenceDayOfWeekViewModels.Any() ? "checked" : "") value="@((int)(FineAbsenceDeductionType.None))" />
|
||||
<label for="AbsentFine2">روزهایی که پرسنل اقدام به غیبت نماید جرائم ذیل شامل محاسبه میگردد.</label>
|
||||
|
||||
<div class="sub-group d-flex AbsentFineDaysDisable @(Model.FineAbsenceDeduction.FineAbsenceDayOfWeekViewModels.Any() ? "" : "disable")">
|
||||
|
||||
<input type="checkbox" id="AbsentFineAll" class="checkBox form-check-input"/>
|
||||
<label class="labelDays" for="AbsentFineAll">همه روزه</label>
|
||||
|
||||
<input type="checkbox"
|
||||
value="Saturday"
|
||||
id="AbsentFineSat"
|
||||
class="checkBox form-check-input"
|
||||
data-day="Saturday"
|
||||
data-index="0" />
|
||||
<label class="labelDays" for="AbsentFineSat">شنبه</label>
|
||||
|
||||
<input type="checkbox"
|
||||
value="Sunday"
|
||||
id="AbsentFineSun"
|
||||
class="checkBox form-check-input"
|
||||
data-day="Sunday"
|
||||
data-index="1"/>
|
||||
<label class="labelDays" for="AbsentFineSun">یکشنبه</label>
|
||||
|
||||
|
||||
|
||||
<input type="checkbox"
|
||||
value="Monday"
|
||||
id="AbsentFineMon"
|
||||
class="checkBox form-check-input"
|
||||
data-day="Monday"
|
||||
data-index="2"/>
|
||||
<label class="labelDays" for="AbsentFineMon">دوشنبه</label>
|
||||
|
||||
|
||||
|
||||
<input type="checkbox"
|
||||
value="Tuesday"
|
||||
id="AbsentFineTue"
|
||||
class="checkBox form-check-input"
|
||||
data-day="Tuesday"
|
||||
data-index="3"/>
|
||||
<label class="labelDays" for="AbsentFineTue">سه شنبه</label>
|
||||
|
||||
|
||||
|
||||
<input type="checkbox"
|
||||
value="Wednesday"
|
||||
id="AbsentFineWed"
|
||||
class="checkBox form-check-input"
|
||||
data-day="Wednesday"
|
||||
data-index="4"/>
|
||||
<label class="labelDays" for="AbsentFineWed">چهارشنبه</label>
|
||||
|
||||
<input type="checkbox"
|
||||
value="Thursday"
|
||||
id="AbsentFineThu"
|
||||
class="checkBox form-check-input"
|
||||
data-day="Thursday"
|
||||
data-index="5"/>
|
||||
<label class="labelDays" for="AbsentFineThu">پنجشنبه</label>
|
||||
|
||||
<input type="checkbox"6
|
||||
value="Friday"
|
||||
id="AbsentFineFri"
|
||||
class="checkBox form-check-input"
|
||||
data-day="Friday"
|
||||
data-index="6"/>
|
||||
<label class="labelDays" for="AbsentFineFri">جمعه</label>
|
||||
|
||||
|
||||
<div id="dynamicInputsContainer"></div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="group form-group">
|
||||
<input type="checkbox" name="Command.FineAbsenceDeductionType" id="AbsentFine3" class="form-check-input Main-Radio main-checkbox"
|
||||
@((Model.FineAbsenceDeduction.FineAbsenceDeductionType == FineAbsenceDeductionType.MultipleTimesOfDailyWage ||
|
||||
Model.FineAbsenceDeduction.FineAbsenceDeductionType == FineAbsenceDeductionType.Money) ? "checked" : "") />
|
||||
<label for="AbsentFine3">در صورت غیبت پرسنل موارد به شرح ذیل در فیش حقوقی محاسبه گردد.</label>
|
||||
|
||||
<div class="sub-group form-group my-1 ms-4 AbsentFine3SubDisable">
|
||||
<div>
|
||||
<input type="radio" name="Command.FineAbsenceDeduction.FineAbsenceDeductionType" id="AbsentFine3Sub1" class="form-check-input Sub-Radio"
|
||||
@(Model.FineAbsenceDeduction.FineAbsenceDeductionType == FineAbsenceDeductionType.MultipleTimesOfDailyWage ? "checked" : "disabled")
|
||||
value="@((int)(FineAbsenceDeductionType.MultipleTimesOfDailyWage))" />
|
||||
<label for="AbsentFine3Sub1">به ازای هر روز غیبت </label>
|
||||
|
||||
<select class="form-control-select sub-input" name="Command.FineAbsenceDeduction.Value"
|
||||
@(Model.FineAbsenceDeduction.FineAbsenceDeductionType == FineAbsenceDeductionType.MultipleTimesOfDailyWage ? "asp-for='Model.FineAbsenceDeduction.Value'" : "disabled")>
|
||||
<option value="1" >1</option>
|
||||
<option value="2" >2</option>
|
||||
</select>
|
||||
<label for="AbsentFine3Sub1">برابر فرد از روزانه از حقوق پرسنل کسر گردد.</label>
|
||||
</div>
|
||||
<div>
|
||||
<input type="radio" name="Command.FineAbsenceDeduction.FineAbsenceDeductionType" id="AbsentFine3Sub2" class="form-check-input Sub-Radio"
|
||||
@(Model.FineAbsenceDeduction.FineAbsenceDeductionType == FineAbsenceDeductionType.Money ? "checked" : "")
|
||||
value="@((int)(FineAbsenceDeductionType.Money))" />
|
||||
<label for="AbsentFine3Sub2">به ازای هر روز غیبت </label>
|
||||
<input type="text" class="form-control-currency sub-input" name="Command.FineAbsenceDeduction.Value"
|
||||
value="@(Model.FineAbsenceDeduction.FineAbsenceDeductionType == FineAbsenceDeductionType.Money ? Model.FineAbsenceDeduction.Value : "")"
|
||||
@((Model.FineAbsenceDeduction.Value != 0 && Model.FineAbsenceDeduction.FineAbsenceDeductionType == FineAbsenceDeductionType.Money) ? "" : "disabled") />
|
||||
<label for="AbsentFine3Sub2">ریال از حقوق پرسنل کسر گردد.</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<script>
|
||||
|
||||
$(document).ready(function () {
|
||||
//----------------------- WeekDays -----------------------
|
||||
$('.Main-Radio').on('change', function () {
|
||||
if ($(this).hasClass('WeekDayRadio')) {
|
||||
$('.AbsentFineDaysDisable').removeClass('disable');
|
||||
} else {
|
||||
$('.AbsentFineDaysDisable').addClass('disable');
|
||||
}
|
||||
});
|
||||
|
||||
var JsonWeekDays = @Html.Raw(Json.Serialize(Model.FineAbsenceDeduction.FineAbsenceDayOfWeekViewModels));
|
||||
|
||||
$('#AbsentFineAll').on('change', function () {
|
||||
var isChecked = $(this).is(':checked');
|
||||
$('#dynamicInputsContainer').empty();
|
||||
$('.AbsentFineDaysDisable input[type="checkbox"]').not('#AbsentFineAll').prop('checked', isChecked).trigger('change');
|
||||
});
|
||||
|
||||
$('.AbsentFineDaysDisable input[type="checkbox"]').not('#AbsentFineAll').on('change', function () {
|
||||
var allChecked = $('.AbsentFineDaysDisable input[type="checkbox"]').not('#AbsentFineAll').length === $('.AbsentFineDaysDisable input[type="checkbox"]:checked').not('#AbsentFineAll').length;
|
||||
$('#AbsentFineAll').prop('checked', allChecked);
|
||||
});
|
||||
|
||||
JsonWeekDays.forEach(function (item) {
|
||||
var dayOfWeekIndex = item.dayOfWeek;
|
||||
var checkbox = $(`.checkBox[data-index='${dayOfWeekIndex}']`);
|
||||
checkbox.prop('checked', true).trigger('change');
|
||||
appendInput(dayOfWeekIndex, checkbox.data("day"));
|
||||
});
|
||||
|
||||
|
||||
$(".checkBox").not('#AbsentFineAll').on("change", function () {
|
||||
const day = $(this).data("day");
|
||||
const indexDay = $(this).data("index");
|
||||
|
||||
if ($(this).is(":checked")) {
|
||||
appendInput(indexDay, day);
|
||||
} else {
|
||||
$(`#input-FineAbsenceDayOfWeekViewModels-${indexDay}`).remove();
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
function appendInput(indexDay, day) {
|
||||
const container = $("#dynamicInputsContainer");
|
||||
|
||||
const newInput = $('<input>')
|
||||
.attr("type", "hidden")
|
||||
.attr("name", `Command.FineAbsenceDeduction.FineAbsenceDayOfWeekViewModels[${indexDay}].DayOfWeek`)
|
||||
.attr("id", `input-FineAbsenceDayOfWeekViewModels-${indexDay}`)
|
||||
.attr("class", "numbers")
|
||||
.attr("value", `${day}`);
|
||||
|
||||
container.append(newInput);
|
||||
|
||||
updateInputIndices();
|
||||
}
|
||||
|
||||
function updateInputIndices() {
|
||||
$("#dynamicInputsContainer .numbers").each(function (index) {
|
||||
$(this).attr("name", `Command.FineAbsenceDeduction.FineAbsenceDayOfWeekViewModels[${index}].DayOfWeek`);
|
||||
});
|
||||
}
|
||||
|
||||
});
|
||||
</script>
|
||||
@@ -0,0 +1,43 @@
|
||||
@using _0_Framework.Domain.CustomizeCheckoutValueObjects
|
||||
@model CompanyManagment.App.Contracts.CustomizeWorkshopSettings.EditCustomizeWorkshopGroupSettings
|
||||
|
||||
<div class="row my-2">
|
||||
<div class="col-12 mb-2">
|
||||
<div class="rollCallInfo">
|
||||
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<circle cx="16" cy="16" r="12" fill="#2FC1C1" />
|
||||
<path d="M17.3333 9.33333C17.3333 10.0697 16.7363 10.6667 16 10.6667C15.2636 10.6667 14.6666 10.0697 14.6666 9.33333C14.6666 8.59695 15.2636 8 16 8C16.7363 8 17.3333 8.59695 17.3333 9.33333Z" fill="#FFE2E2" />
|
||||
<path d="M16 22.0013V15.3346C16 14.2416 16 13.695 15.7288 13.3076C15.6284 13.1643 15.5037 13.0396 15.3604 12.9392C14.973 12.668 14.4265 12.668 13.3334 12.668V12.668M16 22.0013H18M16 22.0013H14" stroke="#FFE2E2" />
|
||||
</svg>
|
||||
<span>این تنظیمات در محاسبات فیش حقوق قانونی اداره کار تاثیری نخواهد داشت.</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 group-container">
|
||||
<div class="titleSettingRollCall">تعطیلات جمعه</div>
|
||||
<div class="form-group my-1 group">
|
||||
<input type="radio" name="Command.FridayWork" id="Friday1" class="form-check-input Main-Radio" @(Model.FridayWork == FridayWork.Default ? "checked" : "") value="@((int)(FridayWork.Default))" />
|
||||
<label for="Friday1">پرسنل در روزهای جمعه کار نمیکند.</label>
|
||||
</div>
|
||||
<div class="form-group my-1 group">
|
||||
<input type="radio" name="Command.FridayWork" id="Friday2" class="form-check-input Main-Radio" @(Model.FridayWork == FridayWork.WorkInFriday ? "checked" : "") value="@((int)(FridayWork.WorkInFriday))" />
|
||||
<label for="Friday2">پرسنل در روزهای جمعه کار میکند.</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-12">
|
||||
<div class="lineHr my-3"></div>
|
||||
</div>
|
||||
|
||||
<div class="col-12 group-container">
|
||||
<div class="titleSettingRollCall">تعطیلات رسمی</div>
|
||||
<div class="form-group my-1 group">
|
||||
<input type="radio" name="Command.HolidayWork" id="OffDays1" class="form-check-input Main-Radio" @(Model.HolidayWork == HolidayWork.Default ? "checked" : "") value="@((int)(HolidayWork.Default))" />
|
||||
<label for="OffDays1">پرسنل در ایام تعطیل رسمی کار نمیکند.</label>
|
||||
</div>
|
||||
<div class="form-group my-1 group">
|
||||
<input type="radio" name="Command.HolidayWork" id="OffDays2" class="form-check-input Main-Radio" @(Model.HolidayWork == HolidayWork.WorkInHolidays ? "checked" : "") value="@((int)(HolidayWork.WorkInHolidays))" />
|
||||
<label for="OffDays2">پرسنل در ایام تعطیل رسمی کار میکند.</label>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,94 @@
|
||||
@using _0_Framework.Domain.CustomizeCheckoutValueObjects
|
||||
@model CompanyManagment.App.Contracts.CustomizeWorkshopSettings.EditCustomizeWorkshopGroupSettings
|
||||
|
||||
<div class="row my-2">
|
||||
<div class="col-12 mb-2">
|
||||
<div class="rollCallInfo">
|
||||
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<circle cx="16" cy="16" r="12" fill="#2FC1C1"/>
|
||||
<path d="M17.3333 9.33333C17.3333 10.0697 16.7363 10.6667 16 10.6667C15.2636 10.6667 14.6666 10.0697 14.6666 9.33333C14.6666 8.59695 15.2636 8 16 8C16.7363 8 17.3333 8.59695 17.3333 9.33333Z" fill="#FFE2E2"/>
|
||||
<path d="M16 22.0013V15.3346C16 14.2416 16 13.695 15.7288 13.3076C15.6284 13.1643 15.5037 13.0396 15.3604 12.9392C14.973 12.668 14.4265 12.668 13.3334 12.668V12.668M16 22.0013H18M16 22.0013H14" stroke="#FFE2E2"/>
|
||||
</svg>
|
||||
<span>این تنظیمات در محاسبات فیش حقوق قانونی اداره کار تاثیری نخواهد داشت.</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-12 group-container">
|
||||
<div class="titleSettingRollCall">جمعه کاری</div>
|
||||
|
||||
<div class="form-group my-1 group">
|
||||
<input type="radio" name="Command.FridayPay.FridayPayType" id="FridayPay1" class="form-check-input Main-Radio" @(Model.FridayPay.FridayPayType == FridayPayType.None ? "checked" : "") value="@((int)(FridayPayType.None))"/>
|
||||
<label for="FridayPay1">جمعه کاری در فیش حقوقی محاسبه نگردد.</label>
|
||||
</div>
|
||||
|
||||
<div class="form-group my-1 group">
|
||||
<input type="checkbox" name="Command.FridayPay.FridayPayType1" id="FridayPay2" class="form-check-input Main-Radio main-checkbox" @((Model.FridayPay.FridayPayType == FridayPayType.PercentageFromSalaryPerHour || Model.FridayPay.FridayPayType == FridayPayType.MoneyPerFridayPerHour) ? "checked" : "") />
|
||||
<label for="FridayPay2">بابت ساعات اشتغال بکار پرسنل در روز جمعه اضافه بر حقوق موارد زیر در فیش حقوقی محاسبه گردد.</label>
|
||||
|
||||
<div class="sub-group form-group my-1 ms-4 FridayPaySubDisable">
|
||||
<div>
|
||||
<input type="radio" name="Command.FridayPay.FridayPayType" id="FridayPay2Sub1" class="Sub-Radio form-check-input" @(Model.FridayPay.FridayPayType == FridayPayType.PercentageFromSalaryPerHour ? "checked" : "") value="@((int)(FridayPayType.PercentageFromSalaryPerHour))" @((Model.FridayPay.FridayPayType == FridayPayType.PercentageFromSalaryPerHour || Model.FridayPay.FridayPayType == FridayPayType.MoneyPerFridayPerHour) ? "" : "disabled") />
|
||||
<label for="FridayPay2Sub1">درصد از مزد روزانه پرسنل</label>
|
||||
<input type="text" class="form-control-percent sub-input" name="Command.FridayPay.Value" value="@(Model.FridayPay.FridayPayType == FridayPayType.PercentageFromSalaryPerHour ? Model.FridayPay.Value : "")" @((Model.FridayPay.Value != 0 && Model.FridayPay.FridayPayType == FridayPayType.PercentageFromSalaryPerHour) ? "" : "disabled") />
|
||||
</div>
|
||||
<div>
|
||||
<input type="radio" name="Command.FridayPay.FridayPayType" id="FridayPay2Sub2" class="Sub-Radio form-check-input" @(Model.FridayPay.FridayPayType == FridayPayType.MoneyPerFridayPerHour ? "checked" : "") value="@((int)(FridayPayType.MoneyPerFridayPerHour))" @((Model.FridayPay.FridayPayType == FridayPayType.PercentageFromSalaryPerHour || Model.FridayPay.FridayPayType == FridayPayType.MoneyPerFridayPerHour) ? "" : "disabled") />
|
||||
<label for="FridayPay2Sub2">بابت هر ساعت مبلغ </label>
|
||||
<input type="text" class="form-control-currency sub-input" name="Command.FridayPay.Value" value="@(Model.FridayPay.FridayPayType == FridayPayType.MoneyPerFridayPerHour ? Model.FridayPay.Value : "")" @((Model.FridayPay.Value != 0 && Model.FridayPay.FridayPayType == FridayPayType.MoneyPerFridayPerHour) ? "" : "disabled") />
|
||||
<label for="FridayPay2Sub2">ريال</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group my-1 group">
|
||||
<input type="radio" name="Command.FridayPay.FridayPayType" id="FridayPay3" class="form-check-input Main-Radio" @(Model.FridayPay.FridayPayType == FridayPayType.MoneyPerFridayForDay ? "checked" : "") value="@((int)(FridayPayType.MoneyPerFridayForDay))" />
|
||||
<label for="FridayPay3">بابت هر روز کار در روز جمعه مبلغ </label>
|
||||
<input type="text" class="form-control-currency sub-input" name="Command.FridayPay.Value" value="@(Model.FridayPay.FridayPayType == FridayPayType.MoneyPerFridayForDay ? Model.FridayPay.Value : "")" @((Model.FridayPay.Value != 0 && Model.FridayPay.FridayPayType == FridayPayType.MoneyPerFridayForDay) ? "" : "disabled") />
|
||||
<label for="FridayPay3">ريال در فیش حقوقی محاسبه شود. (حتی 1 ساعت کار).</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="col-12">
|
||||
<div class="lineHr my-3"></div>
|
||||
</div>
|
||||
|
||||
<div class="col-12 mb-2">
|
||||
<div class="rollCallInfoSec">
|
||||
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<circle cx="16" cy="16" r="12" fill="#2FC1C1" />
|
||||
<path d="M17.3333 9.33333C17.3333 10.0697 16.7363 10.6667 16 10.6667C15.2636 10.6667 14.6666 10.0697 14.6666 9.33333C14.6666 8.59695 15.2636 8 16 8C16.7363 8 17.3333 8.59695 17.3333 9.33333Z" fill="#FFE2E2" />
|
||||
<path d="M16 22.0013V15.3346C16 14.2416 16 13.695 15.7288 13.3076C15.6284 13.1643 15.5037 13.0396 15.3604 12.9392C14.973 12.668 14.4265 12.668 13.3334 12.668V12.668M16 22.0013H18M16 22.0013H14" stroke="#FFE2E2" />
|
||||
</svg>
|
||||
<span>مبنای محاسبه ساعات اضافه کاری ، ساعات کارکرد پرسنل بیش از ساعات تنظیمی در بخش گروهبندی میباشد.</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-12 group-container">
|
||||
<div class="titleSettingRollCall">اضافه کاری</div>
|
||||
<div class="form-group my-1 group">
|
||||
<input type="radio" name="Command.OverTimePay.OverTimePayType" id="OverTimePay1" class="form-check-input Main-Radio" @(Model.OverTimePay.OverTimePayType == OverTimePayType.None ? "checked" : "") value="@((int)(OverTimePayType.None))" />
|
||||
<label for="OverTimePay1">اضافه کار در فیش حقوقی محاسبه نگردد.</label>
|
||||
<div class="titleSettingRollCallCheckboxSubtitle">(با انتخاب این گزینه اگر پرسنل بیش از ساعات تعیین شده اشتغال بکار داشته باشد مبلغی محاسبه نمیگردد)</div>
|
||||
</div>
|
||||
<div class="form-group my-1 group">
|
||||
<input type="checkbox" name="Command.OverTimePay.OverTimePayType1" id="OverTimePay2" class="form-check-input Main-Radio main-checkbox" @((Model.OverTimePay.OverTimePayType == OverTimePayType.PercentagePerHourOfSalary || Model.OverTimePay.OverTimePayType == OverTimePayType.MoneyPerHour) ? "checked" : "") />
|
||||
<label for="OverTimePay2">به ازای هر ساعت اضافه کار پرسنل ، مبلغ به شرح ذیل فارغ از محاسبه حقوق محاسبه گردد.</label>
|
||||
|
||||
<div class="sub-group form-group my-1 ms-4 OverTimePaySubDisable">
|
||||
<div>
|
||||
<input type="radio" name="Command.OverTimePay.OverTimePayType" id="OverTimePay2Sub1" class="form-check-input Sub-Radio" @(Model.OverTimePay.OverTimePayType == OverTimePayType.PercentagePerHourOfSalary ? "checked" : "") value="@((int)OverTimePayType.PercentagePerHourOfSalary)" @((Model.OverTimePay.OverTimePayType == OverTimePayType.PercentagePerHourOfSalary || Model.OverTimePay.OverTimePayType == OverTimePayType.MoneyPerHour) ? "" : "disabled") />
|
||||
<label for="OverTimePay2Sub1">درصد از مزد روزانه به ازای هر ساعت اضافه کار</label>
|
||||
<input type="text" class="form-control-percent sub-input" name="Command.OverTimePay.Value" value="@(Model.OverTimePay.OverTimePayType == OverTimePayType.PercentagePerHourOfSalary ? Model.OverTimePay.Value : "")" @((Model.OverTimePay.Value != 0 && Model.OverTimePay.OverTimePayType == OverTimePayType.PercentagePerHourOfSalary) ? "" : "disabled") />
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<input type="radio" name="Command.OverTimePay.OverTimePayType" id="OverTimePay2Sub2" class="form-check-input Sub-Radio" @(Model.OverTimePay.OverTimePayType == OverTimePayType.MoneyPerHour ? "checked" : "") value="@((int)(OverTimePayType.MoneyPerHour))" @((Model.OverTimePay.OverTimePayType == OverTimePayType.PercentagePerHourOfSalary || Model.OverTimePay.OverTimePayType == OverTimePayType.MoneyPerHour) ? "" : "disabled") />
|
||||
<label for="OverTimePay2Sub2">بابت هر ساعت اضافه کار مبلغ </label>
|
||||
<input type="text" class="form-control-currency sub-input" name="Command.OverTimePay.Value" value="@(Model.OverTimePay.OverTimePayType == OverTimePayType.MoneyPerHour ? Model.OverTimePay.Value : "")" @((Model.OverTimePay.Value != 0 && Model.OverTimePay.OverTimePayType == OverTimePayType.MoneyPerHour) ? "" : "disabled") />
|
||||
<label for="OverTimePay2Sub2">ريال</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,311 @@
|
||||
@using _0_Framework.Domain.CustomizeCheckoutValueObjects
|
||||
@model CompanyManagment.App.Contracts.CustomizeWorkshopSettings.EditCustomizeWorkshopGroupSettings
|
||||
|
||||
<div class="row my-2">
|
||||
<div class="col-12 mb-2">
|
||||
<div class="rollCallInfo">
|
||||
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<circle cx="16" cy="16" r="12" fill="#2FC1C1" />
|
||||
<path d="M17.3333 9.33333C17.3333 10.0697 16.7363 10.6667 16 10.6667C15.2636 10.6667 14.6666 10.0697 14.6666 9.33333C14.6666 8.59695 15.2636 8 16 8C16.7363 8 17.3333 8.59695 17.3333 9.33333Z" fill="#FFE2E2" />
|
||||
<path d="M16 22.0013V15.3346C16 14.2416 16 13.695 15.7288 13.3076C15.6284 13.1643 15.5037 13.0396 15.3604 12.9392C14.973 12.668 14.4265 12.668 13.3334 12.668V12.668M16 22.0013H18M16 22.0013H14" stroke="#FFE2E2" />
|
||||
</svg>
|
||||
<span>این تنظیمات در محاسبات فیش حقوق قانونی اداره کار تاثیری نخواهد داشت.</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 group-container">
|
||||
<div class="titleSettingRollCall">تاخیر در ورود</div>
|
||||
|
||||
<div class="form-group my-1 group">
|
||||
<input type="radio" name="Command.LateToWork.LateToWorkType" id="ArrivalDelay1" class="form-check-input Main-Radio" @(Model.LateToWork.LateToWorkType == LateToWorkType.None ? "checked" : "") value="@((int)(LateToWorkType.None))" />
|
||||
<label for="ArrivalDelay1">تاخیر در ورود و هیچگونه تاثیری در میزان حقوق پرداختی نداشته باشد.</label>
|
||||
</div>
|
||||
|
||||
<div class="form-group my-1 group">
|
||||
<input type="checkbox" name="Command.LateToWork.LateToWorkType1" id="ArrivalDelay2" class="form-check-input Main-Radio main-checkbox" @((Model.LateToWork.LateToWorkType == LateToWorkType.MultiTimesPerMinute || Model.LateToWork.LateToWorkType == LateToWorkType.DeductEveryMinuteAccordingToDailyWage) ? "checked" : "")/>
|
||||
<label for="ArrivalDelay2">در صورت تاخیر در ورود پرسنل به مجموعه به شرح ذیل درستون کسورات در فیش حقوقی محاسبه گردد.</label>
|
||||
|
||||
<div class="sub-group form-group my-1 ms-4 ArrivalDelay2SubDisable">
|
||||
<div>
|
||||
<input type="radio" name="Command.LateToWork.LateToWorkType" id="ArrivalDelay2Sub1" class="form-check-input Sub-Radio" @(Model.LateToWork.LateToWorkType == LateToWorkType.MultiTimesPerMinute ? "checked" : "") value="@((int)(LateToWorkType.MultiTimesPerMinute))" @((Model.LateToWork.Value != 0 && Model.LateToWork.LateToWorkType == LateToWorkType.MultiTimesPerMinute) ? "" : "disabled") />
|
||||
<label for="ArrivalDelay2Sub1">به غیبت حقوق و فرد روزانه بر مبنای دقیقه تاخیر از حقوق پرسنل کسر گردد.</label>
|
||||
<input type="text" class="sub-input form-control-percent" name="Command.LateToWork.Value" value="@(Model.LateToWork.LateToWorkType == LateToWorkType.MultiTimesPerMinute ? Model.LateToWork.Value : "")" @((Model.LateToWork.Value != 0 && Model.LateToWork.LateToWorkType == LateToWorkType.MultiTimesPerMinute) ? "" : "disabled") />
|
||||
</div>
|
||||
<div>
|
||||
<input type="radio" name="Command.LateToWork.LateToWorkType" id="ArrivalDelay2Sub2" class="form-check-input Sub-Radio" @(Model.LateToWork.LateToWorkType == LateToWorkType.DeductEveryMinuteAccordingToDailyWage ? "checked" : "") value="@((int)(LateToWorkType.DeductEveryMinuteAccordingToDailyWage))" @((Model.LateToWork.Value != 0 && Model.LateToWork.LateToWorkType == LateToWorkType.DeductEveryMinuteAccordingToDailyWage) ? "" : "disabled") />
|
||||
<label for="ArrivalDelay2Sub2">به غیبت حقوق و فرد روزانه بر مبنای درصد به میزان </label>
|
||||
<input type="text" class="sub-input form-control-currency" name="Command.LateToWork.Value" value="@(Model.LateToWork.LateToWorkType == LateToWorkType.DeductEveryMinuteAccordingToDailyWage ? Model.LateToWork.Value : "")" @((Model.LateToWork.Value != 0 && Model.LateToWork.LateToWorkType == LateToWorkType.DeductEveryMinuteAccordingToDailyWage) ? "" : "disabled") />
|
||||
<label for="ArrivalDelay2Sub2">برابر از حقوق پرسنل کسر گردد.</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-12 mt-3 mb-1">
|
||||
<div class="lineMinHr"></div>
|
||||
</div>
|
||||
|
||||
<div class="">
|
||||
<div class="titleSettingRollCallInfo">در صورت تمایل به جرائم بیشتر از گزینههای زیر استفاده نمایید:</div>
|
||||
<div class="titleSettingRollCallInfo">در صورت تاخیر پرسنل در ورود به مجموعه:</div>
|
||||
<div class="titleSettingRollCallInfoSub">(توجه داشته باشید، مبلغ این جریمه مضاف بر مبالغ کسر شده بخش بالا محاسبه میگردد و در صورت تکمیل هر سه مرحله این بخش از جرائم، در صورتی که پرسنل از شروط دو سه مرحله عدول نماید. مجموع کل جرائم شامل محاسبه میگردد.)</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="form-group my-1">
|
||||
<input type="checkbox" id="ArrivalDelay3" class="form-check-input"
|
||||
@(Model.LateToWork?.LateToWorkTimeFinesVewModels is { Count: > 0 } &&
|
||||
!String.IsNullOrWhiteSpace(Model.LateToWork.LateToWorkTimeFinesVewModels[0].Minute) &&
|
||||
Model.LateToWork.LateToWorkTimeFinesVewModels[0].FineMoney > 0 ? "checked" : "")/>
|
||||
|
||||
@* <input type="checkbox" id="ArrivalDelay3" class="form-check-input Main-Radio" @(Model.LateToWork.LateToWorkTimeFinesVewModels?[0].Minute && Model.LateToWork?.LateToWorkTimeFinesVewModels?[0].FineMoney ? "checked" : "")/> *@
|
||||
<label for="ArrivalDelay3">مرحله اول: در صورت تاخیر پرسنل در ورود و بیش از </label>
|
||||
@* value="@(Model.FridayPay.FridayPayType == FridayPayType.MoneyPerFridayPerHour ? Model.FridayPay.Value : "")" @((Model.FridayPay.Value != 0 && Model.FridayPay.FridayPayType == FridayPayType.MoneyPerFridayPerHour) ? "" : "disabled") *@
|
||||
<input type="text" class="form-control-percent ArrivalDelayInput" name="Command.LateToWork.LateToWorkTimeFinesVewModels[0].Minute"
|
||||
value="@((Model.LateToWork?.LateToWorkTimeFinesVewModels).Any() ? (Model.LateToWork?.LateToWorkTimeFinesVewModels is { Count: > 0 } && !String.IsNullOrWhiteSpace(Model.LateToWork?.LateToWorkTimeFinesVewModels[0].Minute) ? Model.LateToWork.LateToWorkTimeFinesVewModels[0].Minute : "") : "")"
|
||||
@((Model.LateToWork?.LateToWorkTimeFinesVewModels).Any() ? (Model.LateToWork?.LateToWorkTimeFinesVewModels is { Count: > 0 } && !String.IsNullOrWhiteSpace(Model.LateToWork?.LateToWorkTimeFinesVewModels[0].Minute) ? "" : "disabled") : "disabled") />
|
||||
<label>دقیقه مبلغ</label>
|
||||
<input type="text" class="form-control-currency ArrivalDelayInput" name="Command.LateToWork.LateToWorkTimeFinesVewModels[0].FineMoney"
|
||||
value="@((Model.LateToWork?.LateToWorkTimeFinesVewModels).Any() ? (Model.LateToWork?.LateToWorkTimeFinesVewModels is { Count: > 0 } && (Model.LateToWork?.LateToWorkTimeFinesVewModels[0].FineMoney > 0) ? Model.LateToWork.LateToWorkTimeFinesVewModels[0].FineMoney : "") : "")"
|
||||
@((Model.LateToWork?.LateToWorkTimeFinesVewModels).Any() ? (Model.LateToWork?.LateToWorkTimeFinesVewModels is { Count: > 0 } && (Model.LateToWork?.LateToWorkTimeFinesVewModels[0].FineMoney > 0) ? "" : "disabled") : "disabled") />
|
||||
<label>ریال جریمه محاسبه گردد.</label>
|
||||
</div>
|
||||
|
||||
<div class="form-group my-1">
|
||||
<input type="checkbox" id="ArrivalDelay4" class="form-check-input"
|
||||
@(Model.LateToWork?.LateToWorkTimeFinesVewModels is { Count: > 1 } &&
|
||||
!String.IsNullOrWhiteSpace(Model.LateToWork.LateToWorkTimeFinesVewModels[1].Minute) &&
|
||||
Model.LateToWork.LateToWorkTimeFinesVewModels[1]?.FineMoney > 0 ? "checked" : "")
|
||||
/>
|
||||
|
||||
<label for="ArrivalDelay4">مرحله دوم: در صورت تاخیر پرسنل در ورود و بیش از </label>
|
||||
<input type="text" class="form-control-percent ArrivalDelayInput" name="Command.LateToWork.LateToWorkTimeFinesVewModels[1].Minute"
|
||||
value="@((Model.LateToWork?.LateToWorkTimeFinesVewModels).Any() ? (Model.LateToWork?.LateToWorkTimeFinesVewModels is { Count: > 1 } && !String.IsNullOrWhiteSpace(Model.LateToWork?.LateToWorkTimeFinesVewModels[1].Minute) ? Model.LateToWork.LateToWorkTimeFinesVewModels[1].Minute : "") : "")"
|
||||
@((Model.LateToWork?.LateToWorkTimeFinesVewModels).Any() ? (Model.LateToWork?.LateToWorkTimeFinesVewModels is { Count: > 1 } && !String.IsNullOrWhiteSpace(Model.LateToWork?.LateToWorkTimeFinesVewModels[1].Minute) ? "" : "disabled") : "disabled") />
|
||||
<label>دقیقه مبلغ</label>
|
||||
<input type="text" class="form-control-currency ArrivalDelayInput" name="Command.LateToWork.LateToWorkTimeFinesVewModels[1].FineMoney"
|
||||
value="@((Model.LateToWork?.LateToWorkTimeFinesVewModels).Any() ? (Model.LateToWork?.LateToWorkTimeFinesVewModels is { Count: > 1 } && Model.LateToWork?.LateToWorkTimeFinesVewModels[1].FineMoney > 0 ? Model.LateToWork.LateToWorkTimeFinesVewModels[1].FineMoney : "") : "")"
|
||||
@((Model.LateToWork?.LateToWorkTimeFinesVewModels).Any() ? (Model.LateToWork?.LateToWorkTimeFinesVewModels is { Count: > 1 } && Model.LateToWork?.LateToWorkTimeFinesVewModels[1].FineMoney > 0 ? "" : "disabled") : "disabled") />
|
||||
<label>ریال جریمه محاسبه گردد.</label>
|
||||
</div>
|
||||
|
||||
<div class="form-group my-1">
|
||||
<input type="checkbox" id="ArrivalDelay5" class="form-check-input"
|
||||
@(Model.LateToWork?.LateToWorkTimeFinesVewModels is { Count: > 2 } &&
|
||||
!String.IsNullOrWhiteSpace(Model.LateToWork.LateToWorkTimeFinesVewModels[2].Minute) &&
|
||||
Model.LateToWork.LateToWorkTimeFinesVewModels[2].FineMoney > 0 ? "checked" : "")
|
||||
/>
|
||||
|
||||
<label for="ArrivalDelay5">مرحله سوم: در صورت تاخیر پرسنل در ورود و بیش از </label>
|
||||
<input type="text" class="form-control-percent ArrivalDelayInput" name="Command.LateToWork.LateToWorkTimeFinesVewModels[2].Minute"
|
||||
value="@((Model.LateToWork?.LateToWorkTimeFinesVewModels).Any() ? (Model.LateToWork?.LateToWorkTimeFinesVewModels is { Count: > 2 } && !String.IsNullOrWhiteSpace(Model.LateToWork?.LateToWorkTimeFinesVewModels[2].Minute) ? Model.LateToWork.LateToWorkTimeFinesVewModels[2].Minute : "") : "")"
|
||||
@((Model.LateToWork?.LateToWorkTimeFinesVewModels).Any() ? (Model.LateToWork?.LateToWorkTimeFinesVewModels is { Count: > 2 } && !String.IsNullOrWhiteSpace(Model.LateToWork?.LateToWorkTimeFinesVewModels[2].Minute) ? "" : "disabled") : "disabled") />
|
||||
<label>دقیقه مبلغ</label>
|
||||
<input type="text" class="form-control-currency ArrivalDelayInput" name="Command.LateToWork.LateToWorkTimeFinesVewModels[2].FineMoney"
|
||||
value="@((Model.LateToWork?.LateToWorkTimeFinesVewModels).Any() ? (Model.LateToWork?.LateToWorkTimeFinesVewModels is { Count: > 2 } && Model.LateToWork?.LateToWorkTimeFinesVewModels[2].FineMoney > 0 ? Model.LateToWork.LateToWorkTimeFinesVewModels[2].FineMoney : "") : "")"
|
||||
@((Model.LateToWork?.LateToWorkTimeFinesVewModels).Any() ? (Model.LateToWork?.LateToWorkTimeFinesVewModels is { Count: > 2 } && Model.LateToWork?.LateToWorkTimeFinesVewModels[2].FineMoney > 0 ? "" : "disabled") : "disabled") />
|
||||
<label>ریال جریمه محاسبه گردد.</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-12">
|
||||
<div class="lineHr my-3"></div>
|
||||
</div>
|
||||
|
||||
<div class="col-12 group-container">
|
||||
<div class="titleSettingRollCall">تعجیل در خروج</div>
|
||||
<div class="form-group my-1 group">
|
||||
<input type="radio" name="Command.EarlyExit.EarlyExitType" id="DepartureHaste1" class="form-check-input Main-Radio" @(Model.EarlyExit.EarlyExitType == EarlyExitType.None ? "checked" : "") value="@((int)(EarlyExitType.None))" />
|
||||
<label for="DepartureHaste1">تجمیل در خروج و هیچگونه تاثیری در میزان حقوق پرداختی نداشته باشد.</label>
|
||||
</div>
|
||||
|
||||
<div class="form-group my-1 group">
|
||||
<input type="checkbox" name="Command.EarlyExit.EarlyExitType1" id="DepartureHaste2" class="form-check-input Main-Radio main-checkbox" />
|
||||
<label for="DepartureHaste2">در صورت تاخیر در ورود پرسنل به مجموعه به شرح ذیل درستون کسورات در فیش حقوقی محاسبه گردد.</label>
|
||||
|
||||
<div class="sub-group form-group my-1 ms-4 DepartureHaste2SubDisable">
|
||||
<div>
|
||||
<input type="radio" name="Command.EarlyExit.EarlyExitType" id="DepartureHaste2Sub1" class="form-check-input Sub-Radio" @(Model.EarlyExit.EarlyExitType == EarlyExitType.MoneyPerMinute ? "checked" : "") value="@((int)(EarlyExitType.MoneyPerMinute))" @((Model.EarlyExit.Value != 0 && Model.EarlyExit.EarlyExitType == EarlyExitType.MoneyPerMinute) ? "" : "disabled")/>
|
||||
|
||||
<label for="DepartureHaste2Sub1">به غیبت حقوق و فرد روزانه بر مبنای دقیقه تاخیر از حقوق پرسنل کسر گردد.</label>
|
||||
<input type="text" class="form-control-percent sub-input" name="Command.EarlyExit.Value" value="@(Model.EarlyExit.EarlyExitType == EarlyExitType.MoneyPerMinute ? Model.EarlyExit.Value : "")" @((Model.EarlyExit.Value != 0 && Model.EarlyExit.EarlyExitType == EarlyExitType.MoneyPerMinute) ? "" : "disabled") />
|
||||
</div>
|
||||
<div>
|
||||
<input type="radio" name="Command.EarlyExit.EarlyExitType" id="DepartureHaste2Sub2" class="form-check-input Sub-Radio" @(Model.EarlyExit.EarlyExitType == EarlyExitType.DeductEveryMinuteAccordingToDailyWage ? "checked" : "") value="@((int)(EarlyExitType.DeductEveryMinuteAccordingToDailyWage))" @((Model.EarlyExit.Value != 0 && Model.EarlyExit.EarlyExitType == EarlyExitType.DeductEveryMinuteAccordingToDailyWage) ? "" : "disabled") />
|
||||
<label for="DepartureHaste2Sub2">به غیبت حقوق و فرد روزانه بر مبنای درصد به میزان </label>
|
||||
<input type="text" class="form-control-currency sub-input" name="Command.EarlyExit.Value" value="@(Model.EarlyExit.EarlyExitType == EarlyExitType.DeductEveryMinuteAccordingToDailyWage ? Model.EarlyExit.Value : "")" @((Model.EarlyExit.Value != 0 && Model.EarlyExit.EarlyExitType == EarlyExitType.DeductEveryMinuteAccordingToDailyWage) ? "" : "disabled") />
|
||||
<label for="DepartureHaste2Sub2">برابر از حقوق پرسنل کسر گردد.</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-12 mt-3 mb-1">
|
||||
<div class="lineMinHr"></div>
|
||||
</div>
|
||||
|
||||
<div class="">
|
||||
<div class="titleSettingRollCallInfo">در صورت تمایل به جرائم بیشتر از گزینههای زیر استفاده نمایید:</div>
|
||||
<div class="titleSettingRollCallInfo">در صورت تاخیر پرسنل در ورود به مجموعه:</div>
|
||||
<div class="titleSettingRollCallInfoSub">(توجه داشته باشید، مبلغ این جریمه مضاف بر مبالغ کسر شده بخش بالا محاسبه میگردد و در صورت تکمیل هر سه مرحله این بخش از جرائم، در صورتی که پرسنل از شروط دو سه مرحله عدول نماید. مجموع کل جرائم شامل محاسبه میگردد.)</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group my-1">
|
||||
<input type="checkbox" id="DepartureHaste3" class="form-check-input Main-Radio"
|
||||
@(Model.EarlyExit?.EarlyExitTimeFinesViewModels is { Count: > 0 } &&
|
||||
!String.IsNullOrWhiteSpace(Model.EarlyExit.EarlyExitTimeFinesViewModels[0].Minute) &&
|
||||
Model.EarlyExit.EarlyExitTimeFinesViewModels[0].FineMoney > 0 ? "checked" : "")
|
||||
/>
|
||||
<label for="DepartureHaste3">مرحله اول: در صورت تاخیر پرسنل در ورود و بیش از </label>
|
||||
<input type="text" class="form-control-percent DepartureHasteInput" name="Command.EarlyExit.EarlyExitTimeFinesViewModels[0].Minute"
|
||||
value="@((Model.EarlyExit?.EarlyExitTimeFinesViewModels).Any() ? (Model.EarlyExit?.EarlyExitTimeFinesViewModels is { Count: > 0 } && !String.IsNullOrWhiteSpace(Model.EarlyExit?.EarlyExitTimeFinesViewModels[0].Minute) ? Model.EarlyExit.EarlyExitTimeFinesViewModels[0].Minute : "") : "")"
|
||||
@((Model.EarlyExit?.EarlyExitTimeFinesViewModels).Any() ? (Model.EarlyExit?.EarlyExitTimeFinesViewModels is { Count: > 0 } && !String.IsNullOrWhiteSpace(Model.EarlyExit?.EarlyExitTimeFinesViewModels[0].Minute) ? "" : "disabled") : "disabled") />
|
||||
<label>دقیقه مبلغ</label>
|
||||
<input type="text" class="form-control-currency DepartureHasteInput" name="Command.EarlyExit.EarlyExitTimeFinesViewModels[0].FineMoney"
|
||||
value="@((Model.EarlyExit?.EarlyExitTimeFinesViewModels).Any() ? (Model.EarlyExit?.EarlyExitTimeFinesViewModels is { Count: > 0 } && Model.EarlyExit?.EarlyExitTimeFinesViewModels[0].FineMoney > 0 ? Model.EarlyExit.EarlyExitTimeFinesViewModels[0].FineMoney : "") : "")"
|
||||
@((Model.EarlyExit?.EarlyExitTimeFinesViewModels).Any() ? (Model.EarlyExit?.EarlyExitTimeFinesViewModels is { Count: > 0 } && Model.EarlyExit?.EarlyExitTimeFinesViewModels[0].FineMoney > 0 ? "" : "disabled") : "disabled") />
|
||||
<label>ریال جریمه محاسبه گردد.</label>
|
||||
</div>
|
||||
|
||||
<div class="form-group my-1">
|
||||
<input type="checkbox" id="DepartureHaste4" class="form-check-input Main-Radio"
|
||||
@(Model.EarlyExit?.EarlyExitTimeFinesViewModels is { Count: > 1 } &&
|
||||
!String.IsNullOrWhiteSpace(Model.EarlyExit.EarlyExitTimeFinesViewModels[1].Minute) &&
|
||||
Model.EarlyExit.EarlyExitTimeFinesViewModels[1].FineMoney > 0 ? "checked" : "")
|
||||
/>
|
||||
<label for="DepartureHaste4">مرحله دوم: در صورت تاخیر پرسنل در ورود و بیش از </label>
|
||||
<input type="text" class="form-control-percent DepartureHasteInput" name="Command.EarlyExit.EarlyExitTimeFinesViewModels[1].Minute"
|
||||
value="@((Model.EarlyExit?.EarlyExitTimeFinesViewModels).Any() ? (Model.EarlyExit?.EarlyExitTimeFinesViewModels is { Count: > 1 } && !String.IsNullOrWhiteSpace(Model.EarlyExit?.EarlyExitTimeFinesViewModels[1].Minute) ? Model.EarlyExit.EarlyExitTimeFinesViewModels[1].Minute : "") : "")"
|
||||
@((Model.EarlyExit?.EarlyExitTimeFinesViewModels).Any() ? (Model.EarlyExit?.EarlyExitTimeFinesViewModels is { Count: > 1 } && !String.IsNullOrWhiteSpace(Model.EarlyExit?.EarlyExitTimeFinesViewModels[1].Minute) ? "" : "disabled") : "disabled") />
|
||||
<label>دقیقه مبلغ</label>
|
||||
<input type="text" class="form-control-currency DepartureHasteInput" name="Command.EarlyExit.EarlyExitTimeFinesViewModels[1].FineMoney"
|
||||
value="@((Model.EarlyExit?.EarlyExitTimeFinesViewModels).Any() ? (Model.EarlyExit?.EarlyExitTimeFinesViewModels is { Count: > 1 } && Model.EarlyExit?.EarlyExitTimeFinesViewModels[1].FineMoney > 0 ? Model.EarlyExit.EarlyExitTimeFinesViewModels[1].FineMoney : "") : "")"
|
||||
@((Model.EarlyExit?.EarlyExitTimeFinesViewModels).Any() ? (Model.EarlyExit?.EarlyExitTimeFinesViewModels is { Count: > 1 } && Model.EarlyExit?.EarlyExitTimeFinesViewModels[1].FineMoney > 0 ? "" : "disabled") : "disabled") />
|
||||
<label>ریال جریمه محاسبه گردد.</label>
|
||||
</div>
|
||||
|
||||
<div class="form-group my-1">
|
||||
<input type="checkbox" id="DepartureHaste5" class="form-check-input Main-Radio"
|
||||
@(Model.EarlyExit?.EarlyExitTimeFinesViewModels is { Count: > 2 } &&
|
||||
!String.IsNullOrWhiteSpace(Model.EarlyExit.EarlyExitTimeFinesViewModels[2].Minute) &&
|
||||
Model.EarlyExit.EarlyExitTimeFinesViewModels[2].FineMoney > 0 ? "checked" : "")
|
||||
/>
|
||||
<label for="DepartureHaste5">مرحله سوم: در صورت تاخیر پرسنل در ورود و بیش از </label>
|
||||
<input type="text" class="form-control-percent DepartureHasteInput" name="Command.EarlyExit.EarlyExitTimeFinesViewModels[2].Minute"
|
||||
value="@((Model.EarlyExit?.EarlyExitTimeFinesViewModels).Any() ? (Model.EarlyExit?.EarlyExitTimeFinesViewModels is { Count: > 2 } && !String.IsNullOrWhiteSpace(Model.EarlyExit?.EarlyExitTimeFinesViewModels[2].Minute) ? Model.EarlyExit.EarlyExitTimeFinesViewModels[2].Minute : "") : "")"
|
||||
@((Model.EarlyExit?.EarlyExitTimeFinesViewModels).Any() ? (Model.EarlyExit?.EarlyExitTimeFinesViewModels is { Count: > 2 } && !String.IsNullOrWhiteSpace(Model.EarlyExit?.EarlyExitTimeFinesViewModels[2].Minute) ? "" : "disabled") : "disabled") />
|
||||
<label>دقیقه مبلغ</label>
|
||||
<input type="text" class="form-control-currency DepartureHasteInput" name="Command.EarlyExit.EarlyExitTimeFinesViewModels[2].FineMoney"
|
||||
value="@((Model.EarlyExit?.EarlyExitTimeFinesViewModels).Any() ? (Model.EarlyExit?.EarlyExitTimeFinesViewModels is { Count: > 2 } && Model.EarlyExit?.EarlyExitTimeFinesViewModels[2].FineMoney > 0 ? Model.EarlyExit.EarlyExitTimeFinesViewModels[2].FineMoney : "") : "")"
|
||||
@((Model.EarlyExit?.EarlyExitTimeFinesViewModels).Any() ? (Model.EarlyExit?.EarlyExitTimeFinesViewModels is { Count: > 2 } && Model.EarlyExit?.EarlyExitTimeFinesViewModels[2].FineMoney > 0 ? "" : "disabled") : "disabled") />
|
||||
<label>ریال جریمه محاسبه گردد.</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
// تنظیمات مربوط به تاخیر در ورود
|
||||
const cb1ArrivalDelay = $('#ArrivalDelay3'); // First checkbox
|
||||
const cb2ArrivalDelay = $('#ArrivalDelay4'); // Second checkbox
|
||||
const cb3ArrivalDelay = $('#ArrivalDelay5'); // Third checkbox
|
||||
|
||||
// When the third checkbox (3) is checked
|
||||
cb3ArrivalDelay.change(function () {
|
||||
if ($(this).is(':checked')) {
|
||||
cb1ArrivalDelay.prop('checked', true);
|
||||
cb2ArrivalDelay.prop('checked', true);
|
||||
}
|
||||
toggleInputsArrivalDelay(cb1ArrivalDelay);
|
||||
toggleInputsArrivalDelay(cb2ArrivalDelay);
|
||||
toggleInputsArrivalDelay(cb3ArrivalDelay);
|
||||
});
|
||||
|
||||
// When the second checkbox (2) is checked
|
||||
cb2ArrivalDelay.change(function () {
|
||||
if ($(this).is(':checked')) {
|
||||
cb1ArrivalDelay.prop('checked', true);
|
||||
cb3ArrivalDelay.prop('checked', false);
|
||||
}
|
||||
toggleInputsArrivalDelay(cb1ArrivalDelay);
|
||||
toggleInputsArrivalDelay(cb2ArrivalDelay);
|
||||
toggleInputsArrivalDelay(cb3ArrivalDelay);
|
||||
});
|
||||
|
||||
// When the first checkbox (1) is unchecked
|
||||
cb1ArrivalDelay.change(function () {
|
||||
if (!$(this).is(':checked')) {
|
||||
cb2ArrivalDelay.prop('checked', false);
|
||||
cb3ArrivalDelay.prop('checked', false);
|
||||
}
|
||||
toggleInputsArrivalDelay(cb1ArrivalDelay);
|
||||
toggleInputsArrivalDelay(cb2ArrivalDelay);
|
||||
toggleInputsArrivalDelay(cb3ArrivalDelay);
|
||||
});
|
||||
|
||||
|
||||
function toggleInputsArrivalDelay(checkbox) {
|
||||
const minuteInput = checkbox.closest('.form-group').find('.ArrivalDelayInput');
|
||||
const fineMoneyInput = checkbox.closest('.form-group').find('.ArrivalDelayInput');
|
||||
|
||||
if (checkbox.is(':checked')) {
|
||||
minuteInput.prop('disabled', false);
|
||||
fineMoneyInput.prop('disabled', false);
|
||||
} else {
|
||||
minuteInput.prop('disabled', true).val('');
|
||||
fineMoneyInput.prop('disabled', true).val('');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// تنظیمات مربوط به تعجیل در خروج
|
||||
const cb1DepartureHaste = $('#DepartureHaste3'); // First checkbox
|
||||
const cb2DepartureHaste = $('#DepartureHaste4'); // Second checkbox
|
||||
const cb3DepartureHaste = $('#DepartureHaste5'); // Third checkbox
|
||||
|
||||
// When the third checkbox (3) is checked
|
||||
cb3DepartureHaste.change(function () {
|
||||
if ($(this).is(':checked')) {
|
||||
cb1DepartureHaste.prop('checked', true); // Check the first checkbox
|
||||
cb2DepartureHaste.prop('checked', true); // Check the second checkbox
|
||||
}
|
||||
toggleInputsDepartureHaste(cb1DepartureHaste);
|
||||
toggleInputsDepartureHaste(cb2DepartureHaste);
|
||||
toggleInputsDepartureHaste(cb3DepartureHaste);
|
||||
});
|
||||
|
||||
// When the second checkbox (2) is checked
|
||||
cb2DepartureHaste.change(function () {
|
||||
if ($(this).is(':checked')) {
|
||||
cb1DepartureHaste.prop('checked', true); // Check the first checkbox
|
||||
cb3DepartureHaste.prop('checked', false); // Uncheck the third checkbox
|
||||
}
|
||||
toggleInputsDepartureHaste(cb1DepartureHaste);
|
||||
toggleInputsDepartureHaste(cb2DepartureHaste);
|
||||
toggleInputsDepartureHaste(cb3DepartureHaste);
|
||||
});
|
||||
|
||||
// When the first checkbox (1) is unchecked
|
||||
cb1DepartureHaste.change(function () {
|
||||
if (!$(this).is(':checked')) {
|
||||
cb2DepartureHaste.prop('checked', false); // Uncheck the second checkbox
|
||||
cb3DepartureHaste.prop('checked', false); // Uncheck the third checkbox
|
||||
}
|
||||
toggleInputsDepartureHaste(cb1DepartureHaste);
|
||||
toggleInputsDepartureHaste(cb2DepartureHaste);
|
||||
toggleInputsDepartureHaste(cb3DepartureHaste);
|
||||
});
|
||||
|
||||
function toggleInputsDepartureHaste(checkbox) {
|
||||
|
||||
const minuteInput = checkbox.closest('.form-group').find('.DepartureHasteInput');
|
||||
const fineMoneyInput = checkbox.closest('.form-group').find('.DepartureHasteInput');
|
||||
|
||||
if (checkbox.is(':checked')) {
|
||||
minuteInput.prop('disabled', false);
|
||||
fineMoneyInput.prop('disabled', false);
|
||||
} else {
|
||||
minuteInput.prop('disabled', true).val(''); // Clear minute value
|
||||
fineMoneyInput.prop('disabled', true).val(''); // Clear fine money value
|
||||
}
|
||||
}
|
||||
});
|
||||
</script>
|
||||
@@ -0,0 +1,58 @@
|
||||
@using _0_Framework.Domain.CustomizeCheckoutValueObjects
|
||||
@model CompanyManagment.App.Contracts.CustomizeWorkshopSettings.EditCustomizeWorkshopGroupSettings
|
||||
|
||||
<div class="row my-2">
|
||||
<div class="col-12 mb-2">
|
||||
<div class="rollCallInfo">
|
||||
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<circle cx="16" cy="16" r="12" fill="#2FC1C1" />
|
||||
<path d="M17.3333 9.33333C17.3333 10.0697 16.7363 10.6667 16 10.6667C15.2636 10.6667 14.6666 10.0697 14.6666 9.33333C14.6666 8.59695 15.2636 8 16 8C16.7363 8 17.3333 8.59695 17.3333 9.33333Z" fill="#FFE2E2" />
|
||||
<path d="M16 22.0013V15.3346C16 14.2416 16 13.695 15.7288 13.3076C15.6284 13.1643 15.5037 13.0396 15.3604 12.9392C14.973 12.668 14.4265 12.668 13.3334 12.668V12.668M16 22.0013H18M16 22.0013H14" stroke="#FFE2E2" />
|
||||
</svg>
|
||||
<span>این تنظیمات در محاسبات فیش حقوق قانونی اداره کار تاثیری نخواهد داشت.</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 group-container">
|
||||
<div class="titleSettingRollCall">مزد مرخصی</div>
|
||||
<div class="form-group my-1 group">
|
||||
<input type="radio" name="Command.LeavePay.LeavePayType" id="LeavePayType1" class="form-check-input Main-Radio" @(Model.LeavePay.LeavePayType == LeavePayType.None ? "checked" : "") value="@((int)(LeavePayType.None))" />
|
||||
<label for="LeavePayType1">مزد مرخصی پرداخت نمیگردد و در فیش حقوقی محاسبه نگردد.</label>
|
||||
</div>
|
||||
<div class="form-group my-1 group">
|
||||
<input type="radio" name="Command.LeavePay.LeavePayType" id="LeavePayType2" class="form-check-input Main-Radio" @(Model.LeavePay.LeavePayType == LeavePayType.Pay ? "checked" : "") value="@((int)(LeavePayType.Pay))"/>
|
||||
<label for="LeavePayType2">در صورتی که پرسنل از مرخصی استفاده ننماید، </label>
|
||||
<select class="form-control-select sub-input @(Model.LeavePay.LeavePayType == LeavePayType.Pay ? "" : "disabled")" name="Command.LeavePay.Value" @(Model.LeavePay.LeavePayType == LeavePayType.Pay ? "asp-for='Model.LeavePay.Value'" : "disabled")>
|
||||
<option value="1" >1</option>
|
||||
<option value="2" >2</option>
|
||||
</select>
|
||||
<label for="LeavePayType2">برابر حقوق در فیش حقوقی محاسبه گردد.</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-12">
|
||||
<div class="lineHr my-3"></div>
|
||||
</div>
|
||||
|
||||
<div class="col-12 group-container">
|
||||
<div class="titleSettingRollCall">حق بیمه</div>
|
||||
<div class="form-group my-1 group">
|
||||
<input type="radio" name="Command.InsuranceDeduction.InsuranceDeductionType" id="InsuranceDeductionType1" class="form-check-input Main-Radio" @(Model.InsuranceDeduction.InsuranceDeductionType == InsuranceDeductionType.None ? "checked" : "") value="@((int)(InsuranceDeductionType.None))" />
|
||||
<label for="InsuranceDeductionType1">حق بیمه پرداخت نمیشود.</label>
|
||||
</div>
|
||||
<div class="form-group my-1 group">
|
||||
<input type="radio" name="Command.InsuranceDeduction.InsuranceDeductionType" id="InsuranceDeductionType2" class="form-check-input Main-Radio" @(Model.InsuranceDeduction.InsuranceDeductionType == InsuranceDeductionType.BasedOnLaborLaw ? "checked" : "") value="@((int)(InsuranceDeductionType.BasedOnLaborLaw))" />
|
||||
<label for="InsuranceDeductionType2">براساس قوانین کار (حقوق + بن کارگری + بن مسکن + حق تاهل) * 7%</label>
|
||||
</div>
|
||||
<div class="form-group my-1 group">
|
||||
<input type="radio" name="Command.InsuranceDeduction.InsuranceDeductionType" id="InsuranceDeductionType3" class="form-check-input Main-Radio" @(Model.InsuranceDeduction.InsuranceDeductionType == InsuranceDeductionType.PercentageOfSalary ? "checked" : "") value="@((int)(InsuranceDeductionType.PercentageOfSalary))" />
|
||||
<label for="InsuranceDeductionType3">براساس درصد از حقوق تعیین</label>
|
||||
<input type="text" class="sub-input form-control-percent" name="Command.InsuranceDeduction.Value" value="@(Model.InsuranceDeduction.InsuranceDeductionType == InsuranceDeductionType.PercentageOfSalary? Model.InsuranceDeduction.Value : "")" @((Model.InsuranceDeduction.Value != 0 && Model.InsuranceDeduction.InsuranceDeductionType == InsuranceDeductionType.PercentageOfSalary) ? "" : "disabled") />
|
||||
</div>
|
||||
<div class="form-group my-1 group">
|
||||
<input type="radio" name="Command.InsuranceDeduction.InsuranceDeductionType" id="InsuranceDeductionType4" class="form-check-input Main-Radio" @(Model.InsuranceDeduction.InsuranceDeductionType == InsuranceDeductionType.Money ? "checked" : "") value="@((int)(InsuranceDeductionType.Money))" />
|
||||
<label for="InsuranceDeductionType4">ماهیانه</label>
|
||||
<input type="text" class="sub-input form-control-currency" name="Command.InsuranceDeduction.Value" value="@(Model.InsuranceDeduction.InsuranceDeductionType == InsuranceDeductionType.Money? Model.InsuranceDeduction.Value : "")" @((Model.InsuranceDeduction.Value != 0 && Model.InsuranceDeduction.InsuranceDeductionType == InsuranceDeductionType.Money) ? "" : "disabled") />
|
||||
<label for="InsuranceDeductionType4">ریال</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,61 @@
|
||||
@using _0_Framework.Domain.CustomizeCheckoutValueObjects
|
||||
@model CompanyManagment.App.Contracts.CustomizeWorkshopSettings.EditCustomizeWorkshopGroupSettings
|
||||
|
||||
<div class="row my-2">
|
||||
<div class="col-12 mb-2">
|
||||
<div class="rollCallInfo">
|
||||
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<circle cx="16" cy="16" r="12" fill="#2FC1C1" />
|
||||
<path d="M17.3333 9.33333C17.3333 10.0697 16.7363 10.6667 16 10.6667C15.2636 10.6667 14.6666 10.0697 14.6666 9.33333C14.6666 8.59695 15.2636 8 16 8C16.7363 8 17.3333 8.59695 17.3333 9.33333Z" fill="#FFE2E2" />
|
||||
<path d="M16 22.0013V15.3346C16 14.2416 16 13.695 15.7288 13.3076C15.6284 13.1643 15.5037 13.0396 15.3604 12.9392C14.973 12.668 14.4265 12.668 13.3334 12.668V12.668M16 22.0013H18M16 22.0013H14" stroke="#FFE2E2" />
|
||||
</svg>
|
||||
<span>این تنظیمات در محاسبات فیش حقوق قانونی اداره کار تاثیری نخواهد داشت.</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 group-container">
|
||||
<div class="titleSettingRollCall">حق تاهل</div>
|
||||
<div class="form-group my-1 group">
|
||||
<input type="radio" name="Command.MarriedAllowance.MarriedAllowanceType" id="MarryRight1" class="form-check-input Main-Radio" @(Model.MarriedAllowance.MarriedAllowanceType == MarriedAllowanceType.None ? "checked" : "") value="@((int)(MarriedAllowanceType.None))" />
|
||||
<label for="MarryRight1">حق تاهل در فیش حقوقی محاسبه نگردد.</label>
|
||||
</div>
|
||||
<div class="form-group group">
|
||||
<input type="radio" name="Command.MarriedAllowance.MarriedAllowanceType" id="MarryRight2" class="form-check-input Main-Radio" @(Model.MarriedAllowance.MarriedAllowanceType == MarriedAllowanceType.Money ? "checked" : "") value="@((int)(MarriedAllowanceType.Money))" />
|
||||
<label for="MarryRight2">درصورتی که پرسنل شما متاهل باشد مبلغ</label>
|
||||
<input type="text" class="sub-input form-control-currency" name="Command.MarriedAllowance.Value" value="@(Model.MarriedAllowance.MarriedAllowanceType == MarriedAllowanceType.Money ? Model.MarriedAllowance.Value : "")" @((Model.MarriedAllowance.Value != 0 && Model.MarriedAllowance.MarriedAllowanceType == MarriedAllowanceType.Money) ? "" : "disabled") />
|
||||
<label for="MarryRight2">ريال در فیش حقوقی محاسبه گردد.</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="col-12">
|
||||
<div class="lineHr my-3"></div>
|
||||
</div>
|
||||
|
||||
<div class="col-12 mb-2 group-container">
|
||||
<div class="titleSettingRollCall">حق اولاد</div>
|
||||
<div class="form-group my-1">
|
||||
<input type="radio" name="Command.FamilyAllowance.FamilyAllowanceType" id="ChildrenRight1" class="form-check-input Main-Radio" @(Model.FamilyAllowance.FamilyAllowanceType == FamilyAllowanceType.None ? "checked" : "") value="@((int)(FamilyAllowanceType.None))" />
|
||||
<label for="ChildrenRight1">حق اولاد در فیش حقوقی محاسبه نگردد.</label>
|
||||
<div class="titleSettingRollCallCheckboxSubtitle">(جهت استفاده از این بخش میبایست در فرم اطلاعات پرسنل تعداد فرزندان و سال تولد آن ها را وارد نمائید)</div>
|
||||
</div>
|
||||
<div class="form-group my-1 group">
|
||||
<input type="checkbox" name="Command.FamilyAllowance" id="ChildrenRight2" class="form-check-input Main-Radio main-checkbox"
|
||||
@((Model.FamilyAllowance.FamilyAllowanceType == FamilyAllowanceType.Percentage || Model.FamilyAllowance.FamilyAllowanceType == FamilyAllowanceType.Money) ? "checked" : "") />
|
||||
<label for="ChildrenRight2">در صورت داشتن فرزند زیر 18 سال پرسنل مبالغ به شرح ذیل در فیش حقوقی محاسبه گردد.</label>
|
||||
|
||||
<div class="sub-group form-group my-1 ms-4 ChildrenRight2SubDisable">
|
||||
<div>
|
||||
<input type="radio" name="Command.FamilyAllowance.FamilyAllowanceType" id="ChildrenRight2Sub1" class="form-check-input Sub-Radio" @(Model.FamilyAllowance.FamilyAllowanceType == FamilyAllowanceType.Percentage ? "checked" : "") value="@((int)(FamilyAllowanceType.Percentage))" @((Model.FamilyAllowance.FamilyAllowanceType == FamilyAllowanceType.Percentage || Model.FamilyAllowance.FamilyAllowanceType == FamilyAllowanceType.Money) ? "" : "disabled") />
|
||||
<label for="ChildrenRight2Sub1">برای هر فرزند درصد از مزد روزانه پرسنل </label>
|
||||
<input type="text" class="sub-input form-control-percent" name="Command.FamilyAllowance.Value" value="@(Model.FamilyAllowance.FamilyAllowanceType == FamilyAllowanceType.Percentage ? Model.FamilyAllowance.Value : "")" @((Model.FamilyAllowance.Value != 0 && Model.FamilyAllowance.FamilyAllowanceType == FamilyAllowanceType.Percentage) ? "" : "disabled") />
|
||||
</div>
|
||||
<div>
|
||||
<input type="radio" name="Command.FamilyAllowance.FamilyAllowanceType" id="ChildrenRight2Sub2" class="form-check-input Sub-Radio" @(Model.FamilyAllowance.FamilyAllowanceType == FamilyAllowanceType.Money ? "checked" : "") value="@((int)(FamilyAllowanceType.Money))" @((Model.FamilyAllowance.FamilyAllowanceType == FamilyAllowanceType.Percentage || Model.FamilyAllowance.FamilyAllowanceType == FamilyAllowanceType.Money) ? "" : "disabled") />
|
||||
<label for="ChildrenRight2Sub2">برای هر فرزند مبلغ </label>
|
||||
<input type="text" class="sub-input form-control-currency" name="Command.FamilyAllowance.Value" value="@(Model.FamilyAllowance.FamilyAllowanceType == FamilyAllowanceType.Money ? Model.FamilyAllowance.Value : "")" @((Model.FamilyAllowance.Value != 0 && Model.FamilyAllowance.FamilyAllowanceType == FamilyAllowanceType.Money) ? "" : "disabled") />
|
||||
<label for="ChildrenRight2Sub2">ريال</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,43 @@
|
||||
@using _0_Framework.Domain.CustomizeCheckoutValueObjects
|
||||
@model CompanyManagment.App.Contracts.CustomizeWorkshopSettings.EditCustomizeWorkshopGroupSettings
|
||||
|
||||
<div class="row my-2">
|
||||
<div class="col-12 mb-2">
|
||||
<div class="rollCallInfo">
|
||||
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<circle cx="16" cy="16" r="12" fill="#2FC1C1" />
|
||||
<path d="M17.3333 9.33333C17.3333 10.0697 16.7363 10.6667 16 10.6667C15.2636 10.6667 14.6666 10.0697 14.6666 9.33333C14.6666 8.59695 15.2636 8 16 8C16.7363 8 17.3333 8.59695 17.3333 9.33333Z" fill="#FFE2E2" />
|
||||
<path d="M16 22.0013V15.3346C16 14.2416 16 13.695 15.7288 13.3076C15.6284 13.1643 15.5037 13.0396 15.3604 12.9392C14.973 12.668 14.4265 12.668 13.3334 12.668V12.668M16 22.0013H18M16 22.0013H14" stroke="#FFE2E2" />
|
||||
</svg>
|
||||
<span>این تنظیمات در محاسبات فیش حقوق قانونی اداره کار تاثیری نخواهد داشت.</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-12 group-container">
|
||||
<div class="titleSettingRollCall">شب کاری</div>
|
||||
<div class="form-group my-1 group">
|
||||
<input type="radio" name="Command.NightWorkPay.NightWorkingType" id="NightWork1" class="form-check-input Main-Radio" @(Model.NightWorkPay.NightWorkingType == NightWorkType.None ? "checked" : "") value="@((int)(NightWorkType.None))" />
|
||||
<label for="NightWork1">شب کاری پرسنل در فیش حقوقی محاسبه نگردد. (ساعات شب کاری 22:00 الی 06:00 میباشد)</label>
|
||||
</div>
|
||||
|
||||
<div class="form-group my-1 group">
|
||||
<input type="checkbox" name="Command.NightWorkPay" id="NightWork2" class="form-check-input Main-Radio main-checkbox" @((Model.NightWorkPay.NightWorkingType == NightWorkType.PercentageFromSalary || Model.NightWorkPay.NightWorkingType == NightWorkType.MoneyPerHour) ? "checked" : "") />
|
||||
<label for="NightWork2">بابت هر ساعت شب کاری پرسنل ، به شرح ذیل اضافه بر حقوق در فیش حقوقی محاسبه گردد..</label>
|
||||
|
||||
<div class="sub-group form-group my-1 ms-4 NightWorkSubDisable">
|
||||
<div>
|
||||
<input type="radio" name="Command.NightWorkPay.NightWorkingType" id="NightWork2Sub1" class="form-check-input Sub-Radio" @(Model.NightWorkPay.NightWorkingType == NightWorkType.PercentageFromSalary ? "checked" : "") value="@((int)(NightWorkType.PercentageFromSalary))" @((Model.NightWorkPay.NightWorkingType == NightWorkType.PercentageFromSalary || Model.NightWorkPay.NightWorkingType == NightWorkType.MoneyPerHour) ? "" : "disabled") />
|
||||
<label for="NightWork2Sub1">درصد از مزد روزانه پرسنل</label>
|
||||
<input type="text" class="sub-input form-control-percent" name="Command.NightWorkPay.Value" value="@(Model.NightWorkPay.NightWorkingType == NightWorkType.PercentageFromSalary ? Model.NightWorkPay.Value : "")" @((Model.NightWorkPay.Value != 0 && Model.NightWorkPay.NightWorkingType == NightWorkType.PercentageFromSalary) ? "" : "disabled") />
|
||||
</div>
|
||||
<div>
|
||||
<input type="radio" name="Command.NightWorkPay.NightWorkingType" id="NightWork2Sub2" class="form-check-input Sub-Radio" @(Model.NightWorkPay.NightWorkingType == NightWorkType.MoneyPerHour ? "checked" : "") value="@((int)(NightWorkType.MoneyPerHour))" @((Model.NightWorkPay.NightWorkingType == NightWorkType.PercentageFromSalary || Model.NightWorkPay.NightWorkingType == NightWorkType.MoneyPerHour) ? "" : "disabled") />
|
||||
<label for="NightWork2Sub2">بابت هر ساعت مبلغ </label>
|
||||
<input type="text" class="sub-input form-control-currency" name="Command.NightWorkPay.Value" value="@(Model.NightWorkPay.NightWorkingType == NightWorkType.MoneyPerHour ? Model.NightWorkPay.Value : "")" @((Model.NightWorkPay.Value != 0 && Model.NightWorkPay.NightWorkingType == NightWorkType.MoneyPerHour) ? "" : "disabled") />
|
||||
<label for="NightWork2Sub2">ريال</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
@@ -0,0 +1,110 @@
|
||||
<style>
|
||||
.timeWorkTitle {
|
||||
color: #5C5C5C;
|
||||
font-weight: 600;
|
||||
font-size: 12px;
|
||||
margin: auto 0 auto 6px;
|
||||
}
|
||||
|
||||
.groupBox {
|
||||
background-color: #F5F5F5;
|
||||
border-radius: 10px;
|
||||
border: 1px solid #E7E7E7;
|
||||
padding: 6px;
|
||||
margin: 6px 3px;
|
||||
}
|
||||
|
||||
.groupBox .form-control{
|
||||
background-color: #ffffff;
|
||||
}
|
||||
|
||||
.btnAddTimeWork {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
background-color: #84CC16;
|
||||
border-radius: 5px;
|
||||
color: #ffffff;
|
||||
font-size: 12px;
|
||||
font-weight: 500;
|
||||
padding: 4px 8px;
|
||||
}
|
||||
|
||||
.btnRemoveTimeWork {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
background-color: #F87171;
|
||||
border-radius: 7px;
|
||||
padding: 3px;
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
}
|
||||
</style>
|
||||
|
||||
<div class="container p-0 m-0" id="WorkingTimeSetting">
|
||||
<div class="row">
|
||||
<div class="col-12" id="appendChildTimeWorkHtml">
|
||||
|
||||
@for (var i=0; i < Model.ShiftsList.Count(); i++)
|
||||
{
|
||||
<div class="groupBox">
|
||||
<div class="row align-items-center justify-content-between">
|
||||
<div class="col-2 d-flex align-items-center">
|
||||
<input type="hidden" name="Command.ShiftsList[@i].Placement" value="@Model.ShiftsList[@i].Placement" />
|
||||
<div class="timeWorkTitle">نوبت اول</div>
|
||||
</div>
|
||||
|
||||
<div class="col-4 d-flex align-items-center">
|
||||
<div class="timeWorkTitle">از</div>
|
||||
<input type="text" class="form-control text-center dateTime" name="Command.ShiftsList[@i].StartTime" value="@Model.ShiftsList[@i].StartTime" placeholder="00:00" style="direction: ltr"/>
|
||||
</div>
|
||||
|
||||
<div class="col-4 d-flex align-items-center">
|
||||
<div class="timeWorkTitle">الی</div>
|
||||
<input type="text" class="form-control text-center dateTime" name="Command.ShiftsList[@i].EndTime" value="@Model.ShiftsList[@i].EndTime" placeholder="00:00" style="direction: ltr" />
|
||||
</div>
|
||||
@if (i == 0)
|
||||
{
|
||||
<div class="col-2 d-flex align-items-center justify-content-end">
|
||||
</div>
|
||||
}
|
||||
else
|
||||
{
|
||||
<div class="col-2 d-flex align-items-center justify-content-end">
|
||||
<button type="button" class="btnRemoveTimeWork">
|
||||
<svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<circle cx="11" cy="11" r="8.25" stroke="white" />
|
||||
<path d="M6.875 11H15.125" stroke="white" />
|
||||
</svg>
|
||||
</button>
|
||||
</div>
|
||||
}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
|
||||
</div>
|
||||
<div class="d-flex align-items-center justify-content-center w-100 my-2">
|
||||
<button type="button" class="btnAddTimeWork">
|
||||
<svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<circle cx="11" cy="11" r="8.25" stroke="white" />
|
||||
<path d="M11 13.75L11 8.25" stroke="white" stroke-linecap="round" />
|
||||
<path d="M13.75 11L8.25 11" stroke="white" stroke-linecap="round" />
|
||||
</svg>
|
||||
@if (Model.ShiftsList.Count() == 2)
|
||||
{
|
||||
<div class="mx-1 btnAppendChildTimeWork">افزودن نوبت سوم</div>
|
||||
}
|
||||
else
|
||||
{
|
||||
<div class="mx-1 btnAppendChildTimeWork">افزودن نوبت دوم</div>
|
||||
}
|
||||
</button>
|
||||
</div>
|
||||
<div class="col-12">
|
||||
<p class="m-0" id="ShowSettingMessage"></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,151 @@
|
||||
@using _0_Framework.Domain.CustomizeCheckoutValueObjects
|
||||
@model CompanyManagment.App.Contracts.CustomizeWorkshopSettings.EditCustomizeWorkshopSettings
|
||||
|
||||
<div class="row my-2">
|
||||
<div class="col-12 mb-2">
|
||||
<div class="rollCallInfo">
|
||||
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<circle cx="16" cy="16" r="12" fill="#2FC1C1" />
|
||||
<path d="M17.3333 9.33333C17.3333 10.0697 16.7363 10.6667 16 10.6667C15.2636 10.6667 14.6666 10.0697 14.6666 9.33333C14.6666 8.59695 15.2636 8 16 8C16.7363 8 17.3333 8.59695 17.3333 9.33333Z" fill="#FFE2E2" />
|
||||
<path d="M16 22.0013V15.3346C16 14.2416 16 13.695 15.7288 13.3076C15.6284 13.1643 15.5037 13.0396 15.3604 12.9392C14.973 12.668 14.4265 12.668 13.3334 12.668V12.668M16 22.0013H18M16 22.0013H14" stroke="#FFE2E2" />
|
||||
</svg>
|
||||
<span>این تنظیمات در محاسبات فیش حقوق قانونی اداره کار تاثیری نخواهد داشت.</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 group-container">
|
||||
<div class="titleSettingRollCall">عیدی</div>
|
||||
<div class="form-group my-1 group">
|
||||
<input type="radio" name="Command.BonusesPay.BonusesPayType" id="BonusesPay1" class="form-check-input Main-Radio" @(Model.BonusesPay.BonusesPayType == BonusesType.None ? "checked" : "") value="@((int)(BonusesPaymentType.None))" />
|
||||
<label for="BonusesPay1">عیدی پرداخت نمیگردد و در فیش حقوقی محاسبه نگردد.</label>
|
||||
</div>
|
||||
<div class="form-group group">
|
||||
<input type="checkbox" name="Command.BonusesPay.BonusesPayType1" id="BonusesPay2" class="form-check-input Main-Radio main-checkbox"
|
||||
@((Model.BonusesPay.BonusesPayType == BonusesType.Money ||
|
||||
Model.BonusesPay.BonusesPayType == BonusesType.OneTimeOfSalary ||
|
||||
Model.BonusesPay.BonusesPayType == BonusesType.TwoTimeOfSalary ||
|
||||
Model.BonusesPay.BonusesPayType == BonusesType.PercentageOfSalary) ? "checked" : "" ) />
|
||||
<label for="BonusesPay2">مبلغ عیدی تعیین شدن:</label>
|
||||
|
||||
<div class="form-group sub-group my-1 ms-4 BonusesPay2SubDisable">
|
||||
<div>
|
||||
<input type="radio" name="Command.BonusesPay.BonusesPayType" id="BonusesPay2Sub1" class="form-check-input Sub-Radio" @(Model.BonusesPay.BonusesPayType == BonusesType.Money ? "checked" : "") value="@((int)(BonusesType.Money))" />
|
||||
<label for="BonusesPay2Sub1">مبلغ عیدی </label>
|
||||
<input type="text" class="sub-input form-control-currency" name="Command.BonusesPay.Value" value="@(Model.BonusesPay.BonusesPayType == BonusesType.Money ? Model.BonusesPay.Value : "")" @((Model.BonusesPay.Value != 0 && Model.BonusesPay.BonusesPayType == BonusesType.Money) ? "" : "disabled") />
|
||||
<label for="BonusesPay2Sub1">ریال در سال</label>
|
||||
</div>
|
||||
<div>
|
||||
<input type="radio" name="Command.BonusesPay.BonusesPayType" id="BonusesPay2Sub2" class="form-check-input Sub-Radio" @(Model.BonusesPay.BonusesPayType == BonusesType.OneTimeOfSalary ? "checked" : "") value="@((int)(BonusesType.OneTimeOfSalary))" />
|
||||
<label for="BonusesPay2Sub2">مبلغ عیدی یک پایه حقوق پرداختی پرسنل محاسبه گردد.</label>
|
||||
</div>
|
||||
<div>
|
||||
<input type="radio" name="Command.BonusesPay.BonusesPayType" id="BonusesPay2Sub3" class="form-check-input Sub-Radio" @(Model.BonusesPay.BonusesPayType == BonusesType.TwoTimeOfSalary ? "checked" : "") value="@((int)(BonusesType.TwoTimeOfSalary))" />
|
||||
<label for="BonusesPay2Sub3">مبلغ عیدی 2 برابر پایه حقوق پرداختی پرسنل محاسبه گردد.</label>
|
||||
</div>
|
||||
<div>
|
||||
<input type="radio" name="Command.BonusesPay.BonusesPayType" id="BonusesPay2Sub4" class="form-check-input Sub-Radio" @(Model.BonusesPay.BonusesPayType == BonusesType.PercentageOfSalary ? "checked" : "") value="@((int)(BonusesType.PercentageOfSalary))" />
|
||||
<label for="BonusesPay2Sub4">مبلغ عیدی </label>
|
||||
<input type="text" class="sub-input form-control-percent" name="Command.BonusesPay.Value" value="@(Model.BonusesPay.BonusesPayType == BonusesType.PercentageOfSalary ? Model.BonusesPay.Value : "")" @((Model.BonusesPay.Value != 0 && Model.BonusesPay.BonusesPayType == BonusesType.PercentageOfSalary) ? "" : "disabled") />
|
||||
<label for="BonusesPay2Sub4">درصد از حقوق، ماهیانه پرسنل محاسبه گردد.</label>
|
||||
</div>
|
||||
|
||||
@* <input type="hidden" name="Command.BonusesPay.PaymentType" value="@((int)(BonusesPaymentType.YearlyPay))" /> *@
|
||||
|
||||
<div class="col-12 my-2">
|
||||
<div class="lineMinHr"></div>
|
||||
</div>
|
||||
|
||||
<div class="form-group my-1">
|
||||
<input type="radio" name="Command.BonusesPay.PaymentType" id="BonusesPay3" class="form-check-input Main-Radio2" @(Model.BonusesPay.PaymentType == BonusesPaymentType.YearlyPay ? "checked" : "") value="@((int)(BonusesPaymentType.YearlyPay))" />
|
||||
<label for="BonusesPay3">پرداخت سالانه (مبلغ عیدی محاسبه شده در فیش حقوقی اسفند ماه محاسبه گردد.)</label>
|
||||
</div>
|
||||
<div class="form-group my-1">
|
||||
<input type="radio" name="Command.BonusesPay.PaymentType" id="BonusesPay4" class="form-check-input Main-Radio2" @(Model.BonusesPay.PaymentType == BonusesPaymentType.MonthlyPay ? "checked" : "") value="@((int)(BonusesPaymentType.MonthlyPay))" />
|
||||
<label for="BonusesPay4">پرداخت ماهانه (مبلغ عیدی محاسبه شده بصورت ماهانه در فیش حقوقی محاسبه گردد.)</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="col-12">
|
||||
<div class="lineHr my-3"></div>
|
||||
</div>
|
||||
|
||||
<div class="col-12 group-container">
|
||||
<div class="titleSettingRollCall">سنوات</div>
|
||||
|
||||
<div class="form-group my-1 group">
|
||||
<input type="radio" name="Command.BaseYearsPay.BaseYearsPayType" id="BaseyearPay1" class="form-check-input Main-Radio" @(Model.BaseYearsPay.BaseYearsPayType == BaseYearsPayType.None ? "checked" : "") value="@((int)(BaseYearsPayType.None))" />
|
||||
<label for="BaseyearPay1">سنوات پرداخت نمیگردد و در فیش حقوقی محاسبه نگردد.</label>
|
||||
</div>
|
||||
|
||||
<div class="form-group group">
|
||||
<input type="checkbox" name="Command.BaseYearsPay.BaseYearsPayType1" id="BaseyearPay2" class="form-check-input Main-Radio main-checkbox"
|
||||
@((Model.BaseYearsPay.BaseYearsPayType == BaseYearsPayType.Money ||
|
||||
Model.BaseYearsPay.BaseYearsPayType == BaseYearsPayType.PercentageOfSalary) ? "checked" : "" ) />
|
||||
<label for="BaseyearPay2">مبلغ عیدی تعیین شدن:</label>
|
||||
|
||||
<div class="sub-group form-group my-1 ms-4 BaseyearPay2SubDisable">
|
||||
<div>
|
||||
<input type="radio" name="Command.BaseYearsPay.BaseYearsPayType" id="BaseyearPay2Sub1" class="form-check-input Sub-Radio" @(Model.BaseYearsPay.BaseYearsPayType == BaseYearsPayType.Money ? "checked" : "") @((Model.BaseYearsPay.BaseYearsPayType == BaseYearsPayType.Money || Model.BaseYearsPay.BaseYearsPayType == BaseYearsPayType.PercentageOfSalary) ? "" : "disabled" ) value="@((int)(BaseYearsPayType.Money))" />
|
||||
<label for="BaseyearPay2Sub1">مبلغ عیدی </label>
|
||||
<input type="text" class="sub-input form-control-currency" name="Command.BaseYearsPay.Value" value="@(Model.BaseYearsPay.BaseYearsPayType == BaseYearsPayType.Money ? Model.BaseYearsPay.Value : "")" @((Model.BaseYearsPay.Value != 0 && Model.BaseYearsPay.BaseYearsPayType == BaseYearsPayType.Money) ? "" : "disabled") />
|
||||
<label for="BaseyearPay2Sub1">ریال در سال</label>
|
||||
</div>
|
||||
@* <div>
|
||||
<input type="checkbox" name="Command.BaseYearsPay.BaseYearsPayType" id="BaseyearPay2Sub2" class="form-check-input Sub-Radio" @(Model.BaseYearsPay.BaseYearsPayType == BaseYearsPayType.OneTimeOfSalary ? "checked" : "") value="@((int)(BaseYearsPayType.OneTimeOfSalary))" />
|
||||
<label for="BaseyearPay2Sub2">مبلغ عیدی یک پایه حقوق پرداختی پرسنل محاسبه گردد.</label>
|
||||
</div>
|
||||
<div>
|
||||
<input type="checkbox" name="Command.BaseYearsPay.BaseYearsPayType" id="BaseyearPay2Sub3" class="form-check-input Sub-Radio" @(Model.BaseYearsPay.BaseYearsPayType == BaseYearsPayType.TwoTimeOfSalary ? "checked" : "") value="@((int)(BaseYearsPayType.TwoTimeOfSalary))" />
|
||||
<label for="BaseyearPay2Sub3">مبلغ عیدی 2 برابر پایه حقوق پرداختی پرسنل محاسبه گردد.</label>
|
||||
</div> *@
|
||||
<div>
|
||||
<input type="radio" name="Command.BaseYearsPay.BaseYearsPayType" id="BaseyearPay2Sub4" class="form-check-input Sub-Radio" @(Model.BaseYearsPay.BaseYearsPayType == BaseYearsPayType.PercentageOfSalary ? "checked" : "") @((Model.BaseYearsPay.BaseYearsPayType == BaseYearsPayType.Money || Model.BaseYearsPay.BaseYearsPayType == BaseYearsPayType.PercentageOfSalary) ? "" : "disabled") value="@((int)(BaseYearsPayType.PercentageOfSalary))" />
|
||||
<label for="BaseyearPay2Sub4">مبلغ عیدی </label>
|
||||
<input type="text" class="sub-input form-control-percent" name="Command.BaseYearsPay.Value" value="@(Model.BaseYearsPay.BaseYearsPayType == BaseYearsPayType.PercentageOfSalary ? Model.BaseYearsPay.Value : "")" @((Model.BaseYearsPay.Value != 0 && Model.BaseYearsPay.BaseYearsPayType == BaseYearsPayType.PercentageOfSalary) ? "" : "disabled") />
|
||||
<label for="BaseyearPay2Sub4">درصد از حقوق، ماهیانه پرسنل محاسبه گردد.</label>
|
||||
</div>
|
||||
|
||||
<div class="col-12 my-2">
|
||||
<div class="lineMinHr"></div>
|
||||
</div>
|
||||
|
||||
<div class="form-group my-1">
|
||||
<input type="radio" name="Command.BaseYearsPay.PaymentType" id="BaseyearPay3" class="form-check-input Main-Radio2" @(Model.BaseYearsPay.PaymentType == BaseYearsPaymentType.YearlyPay ? "checked" : "") value="@((int)(BaseYearsPaymentType.YearlyPay))" />
|
||||
<label for="BaseyearPay3">پرداخت سالانه (مبلغ عیدی محاسبه شده در فیش حقوقی اسفند ماه محاسبه گردد.)</label>
|
||||
</div>
|
||||
<div class="form-group my-1">
|
||||
<input type="radio" name="Command.BaseYearsPay.PaymentType" id="BaseyearPay4" class="form-check-input Main-Radio2" @(Model.BaseYearsPay.PaymentType == BaseYearsPaymentType.MonthlyPay ? "checked" : "") value="@((int)(BaseYearsPaymentType.MonthlyPay))" />
|
||||
<label for="BaseyearPay4">پرداخت ماهانه (مبلغ عیدی محاسبه شده بصورت ماهانه در فیش حقوقی محاسبه گردد.)</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
|
||||
$("input[name='Command.BonusesPay.BonusesPayType'], input[name='Command.BonusesPay.BonusesPayType1']").on('change', function () {
|
||||
const selectedId = $(this).prop('id');
|
||||
if (selectedId === 'BonusesPay1') {
|
||||
$('#BonusesPay3, #BonusesPay4').prop('checked',false);
|
||||
} else if (selectedId === 'BonusesPay2') {
|
||||
$('#BonusesPay3').prop('checked', true);
|
||||
}
|
||||
});
|
||||
|
||||
$("input[name='Command.BaseYearsPay.BaseYearsPayType'], input[name='Command.BaseYearsPay.BaseYearsPayType1']").on('change', function () {
|
||||
const selectedId = $(this).prop('id');
|
||||
if (selectedId === 'BaseyearPay1') {
|
||||
$('#BaseyearPay3, #BaseyearPay4').prop('checked', false);
|
||||
} else if (selectedId === 'BaseyearPay2') {
|
||||
$('#BaseyearPay3').prop('checked', true);
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
</script>
|
||||
@@ -0,0 +1,192 @@
|
||||
@model CompanyManagment.App.Contracts.CustomizeWorkshopSettings.EditCustomizeWorkshopSettings
|
||||
@{
|
||||
<style>
|
||||
.password-strength-group .password-strength-meter {
|
||||
width: 100%;
|
||||
transition: height 0.3s;
|
||||
display: flex;
|
||||
justify-content: stretch;
|
||||
padding: 0 15px;
|
||||
}
|
||||
|
||||
.password-strength-group .password-strength-meter .meter-block {
|
||||
height: 6px;
|
||||
background: #E7E7E7;
|
||||
margin-right: 6px;
|
||||
flex-grow: 1;
|
||||
border-radius: 5px;
|
||||
margin-top: 5px;
|
||||
}
|
||||
.password-strength-group .password-strength-meter .meter-block:last-child {
|
||||
margin: 0;
|
||||
margin-top: 5px;
|
||||
}
|
||||
.password-strength-group .password-strength-message {
|
||||
font-weight: 20px;
|
||||
text-align: right;
|
||||
transition: all 0.5s;
|
||||
position: relative;
|
||||
right: 15px;
|
||||
}
|
||||
.password-strength-group .password-strength-message .message-item {
|
||||
font-size: 12px;
|
||||
position: absolute;
|
||||
right: 0;
|
||||
opacity: 0;
|
||||
transition: opacity 0.2s;
|
||||
}
|
||||
.password-strength-group[data-strength="1"] .meter-block:nth-child(-n+1) {
|
||||
background: #5e7734;
|
||||
}
|
||||
.password-strength-group[data-strength="1"] .message-item:nth-child(1) {
|
||||
opacity: 1;
|
||||
}
|
||||
.password-strength-group[data-strength="2"] .meter-block:nth-child(-n+2) {
|
||||
background: #8cb34a;
|
||||
}
|
||||
.password-strength-group[data-strength="2"] .message-item:nth-child(2) {
|
||||
opacity: 1;
|
||||
}
|
||||
.password-strength-group[data-strength="3"] .meter-block:nth-child(-n+3) {
|
||||
background: #a6d358;
|
||||
}
|
||||
.password-strength-group[data-strength="3"] .message-item:nth-child(3) {
|
||||
opacity: 1;
|
||||
}
|
||||
.password-strength-group[data-strength="4"] .meter-block:nth-child(-n+4) {
|
||||
background: #BEF264;
|
||||
}
|
||||
.password-strength-group[data-strength="4"] .message-item:nth-child(4) {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
@@property --angle {
|
||||
syntax: "<angle>";
|
||||
initial-value: 0deg;
|
||||
inherits: false;
|
||||
}
|
||||
|
||||
@@property --glowColor {
|
||||
syntax: "<color>";
|
||||
initial-value: #1BB9B9;
|
||||
}
|
||||
|
||||
@@keyframes rotate {
|
||||
0% {
|
||||
--angle: 0deg;
|
||||
--glowColor: var(--color-green);
|
||||
}
|
||||
|
||||
100% {
|
||||
--angle: 360deg;
|
||||
--glowColor: var(--color-green);
|
||||
}
|
||||
}
|
||||
</style>
|
||||
}
|
||||
|
||||
<div class="row createrAccountSetting222">
|
||||
|
||||
<div class="col-12">
|
||||
<div class="form-group text-start my-2">
|
||||
<label for="username">حساب کاربری</label>
|
||||
<div class="position-relative">
|
||||
<input type="text" class="form-control" id="username" value="" style="direction: ltr;" disabled/>
|
||||
|
||||
<div class="position-absolute top-0 start-0 m-1 bg-transparent">
|
||||
<div class="spinner-border spinner-border-sm m-1 d-none" id="loadingSpinner" role="status">
|
||||
<span class="visually-hidden">Loading...</span>
|
||||
</div>
|
||||
<svg id="successSvg" class="d-none" width="28" height="28" viewBox="0 0 28 28" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<circle cx="14" cy="14" r="10.5" stroke="#65A30D" stroke-width="1.5"/>
|
||||
<path d="M9.33342 14L12.8334 17.5L18.6667 10.5" stroke="#65A30D" stroke-width="1.5" stroke-linecap="round"/>
|
||||
</svg>
|
||||
<svg id="errorSvg" class="d-none" width="28" height="28" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor">
|
||||
<path stroke="#ef4444" stroke-linecap="round" stroke-linejoin="round" d="m9.75 9.75 4.5 4.5m0-4.5-4.5 4.5M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z"/>
|
||||
</svg>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12">
|
||||
<div class="form-group text-start my-2">
|
||||
<label for="signupInputPassword">گذرواژه</label>
|
||||
<div class="position-relative">
|
||||
|
||||
<button type="button" class="position-absolute top-0 start-0 m-1 bg-transparent" onclick="passFunction()">
|
||||
<svg class="eyeShow" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M15.58 11.9999C15.58 13.9799 13.98 15.5799 12 15.5799C10.02 15.5799 8.42004 13.9799 8.42004 11.9999C8.42004 10.0199 10.02 8.41992 12 8.41992C13.98 8.41992 15.58 10.0199 15.58 11.9999Z" stroke="#292D32" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M12 20.27C15.53 20.27 18.82 18.19 21.11 14.59C22.01 13.18 22.01 10.81 21.11 9.39997C18.82 5.79997 15.53 3.71997 12 3.71997C8.46997 3.71997 5.17997 5.79997 2.88997 9.39997C1.98997 10.81 1.98997 13.18 2.88997 14.59C5.17997 18.19 8.46997 20.27 12 20.27Z" stroke="#292D32" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</svg>
|
||||
<svg class="eyeClose" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M14.53 9.46992L9.47004 14.5299C8.82004 13.8799 8.42004 12.9899 8.42004 11.9999C8.42004 10.0199 10.02 8.41992 12 8.41992C12.99 8.41992 13.88 8.81992 14.53 9.46992Z" stroke="#292D32" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M17.82 5.76998C16.07 4.44998 14.07 3.72998 12 3.72998C8.46997 3.72998 5.17997 5.80998 2.88997 9.40998C1.98997 10.82 1.98997 13.19 2.88997 14.6C3.67997 15.84 4.59997 16.91 5.59997 17.77" stroke="#292D32" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M8.42004 19.5299C9.56004 20.0099 10.77 20.2699 12 20.2699C15.53 20.2699 18.82 18.1899 21.11 14.5899C22.01 13.1799 22.01 10.8099 21.11 9.39993C20.78 8.87993 20.42 8.38993 20.05 7.92993" stroke="#292D32" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M15.5099 12.7C15.2499 14.11 14.0999 15.26 12.6899 15.52" stroke="#292D32" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M9.47 14.53L2 22" stroke="#292D32" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M22 2L14.53 9.47" stroke="#292D32" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</svg>
|
||||
</button>
|
||||
|
||||
<input type="password" class="form-control mb-1" autocomplete="new-password" name="Command.EditCameraAccount.Password" id="signupInputPassword" aria-describedby="passwordHelp" placeholder="گذرواژه جدید" style="direction: ltr;" />
|
||||
|
||||
<div class="input-icon-right peek-password-button" data-peek-password="signupInputPassword">
|
||||
<span class="peek-password-icon icon-visibility d-none"></span>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="password-strength-group" data-strength="">
|
||||
<div id="password-strength-meter" class="password-strength-meter" style="direction: ltr;">
|
||||
<div class="meter-block"></div>
|
||||
<div class="meter-block"></div>
|
||||
<div class="meter-block"></div>
|
||||
<div class="meter-block"></div>
|
||||
</div>
|
||||
|
||||
<div class="password-strength-message">
|
||||
<div class="message-item">
|
||||
ضعیف
|
||||
</div>
|
||||
|
||||
<div class="message-item">
|
||||
متوسط
|
||||
</div>
|
||||
|
||||
<div class="message-item">
|
||||
خوب
|
||||
</div>
|
||||
|
||||
<div class="message-item">
|
||||
عالی
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12">
|
||||
<div class="form-group mt-3">
|
||||
<div class="position-relative">
|
||||
<input type="password" name="Command.EditCameraAccount.RePassword" class="form-control" id="repeat_password" placeholder="تکرار گذرواژه" style="direction: ltr;"/>
|
||||
<button type="button" class="position-absolute top-0 start-0 m-1 bg-transparent" onclick="rePassFunction()">
|
||||
<svg class="reEyeShow" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M15.58 11.9999C15.58 13.9799 13.98 15.5799 12 15.5799C10.02 15.5799 8.42004 13.9799 8.42004 11.9999C8.42004 10.0199 10.02 8.41992 12 8.41992C13.98 8.41992 15.58 10.0199 15.58 11.9999Z" stroke="#292D32" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M12 20.27C15.53 20.27 18.82 18.19 21.11 14.59C22.01 13.18 22.01 10.81 21.11 9.39997C18.82 5.79997 15.53 3.71997 12 3.71997C8.46997 3.71997 5.17997 5.79997 2.88997 9.39997C1.98997 10.81 1.98997 13.18 2.88997 14.59C5.17997 18.19 8.46997 20.27 12 20.27Z" stroke="#292D32" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</svg>
|
||||
<svg class="reEyeClose" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M14.53 9.46992L9.47004 14.5299C8.82004 13.8799 8.42004 12.9899 8.42004 11.9999C8.42004 10.0199 10.02 8.41992 12 8.41992C12.99 8.41992 13.88 8.81992 14.53 9.46992Z" stroke="#292D32" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M17.82 5.76998C16.07 4.44998 14.07 3.72998 12 3.72998C8.46997 3.72998 5.17997 5.80998 2.88997 9.40998C1.98997 10.82 1.98997 13.19 2.88997 14.6C3.67997 15.84 4.59997 16.91 5.59997 17.77" stroke="#292D32" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M8.42004 19.5299C9.56004 20.0099 10.77 20.2699 12 20.2699C15.53 20.2699 18.82 18.1899 21.11 14.5899C22.01 13.1799 22.01 10.8099 21.11 9.39993C20.78 8.87993 20.42 8.38993 20.05 7.92993" stroke="#292D32" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M15.5099 12.7C15.2499 14.11 14.0999 15.26 12.6899 15.52" stroke="#292D32" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M9.47 14.53L2 22" stroke="#292D32" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M22 2L14.53 9.47" stroke="#292D32" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</svg>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12">
|
||||
<p class="m-0" id="ShowAccountMessage"></p>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,209 @@
|
||||
@using _0_Framework.Domain.CustomizeCheckoutValueObjects
|
||||
@model CompanyManagment.App.Contracts.CustomizeWorkshopSettings.EditCustomizeWorkshopSettings
|
||||
@{
|
||||
var dayViewModels = Model.FineAbsenceDeduction.FineAbsenceDayOfWeekViewModels;
|
||||
}
|
||||
|
||||
<div class="row my-2">
|
||||
<div class="col-12 mb-2">
|
||||
<div class="rollCallInfo">
|
||||
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<circle cx="16" cy="16" r="12" fill="#2FC1C1" />
|
||||
<path d="M17.3333 9.33333C17.3333 10.0697 16.7363 10.6667 16 10.6667C15.2636 10.6667 14.6666 10.0697 14.6666 9.33333C14.6666 8.59695 15.2636 8 16 8C16.7363 8 17.3333 8.59695 17.3333 9.33333Z" fill="#FFE2E2" />
|
||||
<path d="M16 22.0013V15.3346C16 14.2416 16 13.695 15.7288 13.3076C15.6284 13.1643 15.5037 13.0396 15.3604 12.9392C14.973 12.668 14.4265 12.668 13.3334 12.668V12.668M16 22.0013H18M16 22.0013H14" stroke="#FFE2E2" />
|
||||
</svg>
|
||||
<span>این تنظیمات در محاسبات فیش حقوق قانونی اداره کار تاثیری نخواهد داشت.</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 group-container">
|
||||
<div class="titleSettingRollCall">جریمه غیبت</div>
|
||||
|
||||
<div class="group form-group my-1">
|
||||
<input type="radio" name="Command.FineAbsenceDeduction.FineAbsenceDeductionType" id="AbsentFine1" class="form-check-input Main-Radio" @(!Model.FineAbsenceDeduction.FineAbsenceDayOfWeekViewModels.Any() && Model.FineAbsenceDeduction.FineAbsenceDeductionType == FineAbsenceDeductionType.None ? "checked" : "") value="@((int)(FineAbsenceDeductionType.None))" />
|
||||
<label for="AbsentFine1">جریمه غیبت پرداخت نمیگردد و در فیش حقوقی محاسبه نگردد.</label>
|
||||
</div>
|
||||
|
||||
<div class="group form-group my-1">
|
||||
|
||||
<input type="radio" name="Command.FineAbsenceDeduction.FineAbsenceDeductionType" id="AbsentFine2" class="form-check-input Main-Radio main-checkbox WeekDayRadio" @(Model.FineAbsenceDeduction.FineAbsenceDayOfWeekViewModels.Any() ? "checked" : "") value="@((int)(FineAbsenceDeductionType.None))" />
|
||||
<label for="AbsentFine2">روزهایی که پرسنل اقدام به غیبت نماید جرائم ذیل شامل محاسبه میگردد.</label>
|
||||
|
||||
<div class="sub-group d-flex AbsentFineDaysDisable @(Model.FineAbsenceDeduction.FineAbsenceDayOfWeekViewModels.Any() ? "" : "disable")">
|
||||
|
||||
<input type="checkbox" id="AbsentFineAll" class="checkBox form-check-input"/>
|
||||
<label class="labelDays" for="AbsentFineAll">همه روزه</label>
|
||||
|
||||
<input type="checkbox"
|
||||
value="Saturday"
|
||||
id="AbsentFineSat"
|
||||
class="checkBox form-check-input"
|
||||
data-day="Saturday"
|
||||
data-index="0" />
|
||||
<label class="labelDays" for="AbsentFineSat">شنبه</label>
|
||||
|
||||
<input type="checkbox"
|
||||
value="Sunday"
|
||||
id="AbsentFineSun"
|
||||
class="checkBox form-check-input"
|
||||
data-day="Sunday"
|
||||
data-index="1"/>
|
||||
<label class="labelDays" for="AbsentFineSun">یکشنبه</label>
|
||||
|
||||
|
||||
|
||||
<input type="checkbox"
|
||||
value="Monday"
|
||||
id="AbsentFineMon"
|
||||
class="checkBox form-check-input"
|
||||
data-day="Monday"
|
||||
data-index="2"/>
|
||||
<label class="labelDays" for="AbsentFineMon">دوشنبه</label>
|
||||
|
||||
|
||||
|
||||
<input type="checkbox"
|
||||
value="Tuesday"
|
||||
id="AbsentFineTue"
|
||||
class="checkBox form-check-input"
|
||||
data-day="Tuesday"
|
||||
data-index="3"/>
|
||||
<label class="labelDays" for="AbsentFineTue">سه شنبه</label>
|
||||
|
||||
|
||||
|
||||
<input type="checkbox"
|
||||
value="Wednesday"
|
||||
id="AbsentFineWed"
|
||||
class="checkBox form-check-input"
|
||||
data-day="Wednesday"
|
||||
data-index="4"/>
|
||||
<label class="labelDays" for="AbsentFineWed">چهارشنبه</label>
|
||||
|
||||
<input type="checkbox"
|
||||
value="Thursday"
|
||||
id="AbsentFineThu"
|
||||
class="checkBox form-check-input"
|
||||
data-day="Thursday"
|
||||
data-index="5"/>
|
||||
<label class="labelDays" for="AbsentFineThu">پنجشنبه</label>
|
||||
|
||||
<input type="checkbox"6
|
||||
value="Friday"
|
||||
id="AbsentFineFri"
|
||||
class="checkBox form-check-input"
|
||||
data-day="Friday"
|
||||
data-index="6"/>
|
||||
<label class="labelDays" for="AbsentFineFri">جمعه</label>
|
||||
|
||||
|
||||
<div id="dynamicInputsContainer"></div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="group form-group">
|
||||
<input type="checkbox" name="Command.FineAbsenceDeductionType" id="AbsentFine3" class="form-check-input Main-Radio main-checkbox"
|
||||
@((Model.FineAbsenceDeduction.FineAbsenceDeductionType == FineAbsenceDeductionType.MultipleTimesOfDailyWage ||
|
||||
Model.FineAbsenceDeduction.FineAbsenceDeductionType == FineAbsenceDeductionType.Money) ? "checked" : "") />
|
||||
<label for="AbsentFine3">در صورت غیبت پرسنل موارد به شرح ذیل در فیش حقوقی محاسبه گردد.</label>
|
||||
|
||||
<div class="sub-group form-group my-1 ms-4 AbsentFine3SubDisable">
|
||||
<div>
|
||||
<input type="radio" name="Command.FineAbsenceDeduction.FineAbsenceDeductionType" id="AbsentFine3Sub1" class="form-check-input Sub-Radio"
|
||||
@(Model.FineAbsenceDeduction.FineAbsenceDeductionType == FineAbsenceDeductionType.MultipleTimesOfDailyWage ? "checked" : "disabled")
|
||||
value="@((int)(FineAbsenceDeductionType.MultipleTimesOfDailyWage))" />
|
||||
<label for="AbsentFine3Sub1">به ازای هر روز غیبت </label>
|
||||
|
||||
<select class="form-control-select sub-input" name="Command.FineAbsenceDeduction.Value"
|
||||
@(Model.FineAbsenceDeduction.FineAbsenceDeductionType == FineAbsenceDeductionType.MultipleTimesOfDailyWage ? "asp-for='Model.FineAbsenceDeduction.Value'" : "disabled")>
|
||||
<option value="1" >1</option>
|
||||
<option value="2" >2</option>
|
||||
</select>
|
||||
<label for="AbsentFine3Sub1">برابر فرد از روزانه از حقوق پرسنل کسر گردد.</label>
|
||||
</div>
|
||||
<div>
|
||||
<input type="radio" name="Command.FineAbsenceDeduction.FineAbsenceDeductionType" id="AbsentFine3Sub2" class="form-check-input Sub-Radio"
|
||||
@(Model.FineAbsenceDeduction.FineAbsenceDeductionType == FineAbsenceDeductionType.Money ? "checked" : "")
|
||||
value="@((int)(FineAbsenceDeductionType.Money))" />
|
||||
<label for="AbsentFine3Sub2">به ازای هر روز غیبت </label>
|
||||
<input type="text" class="form-control-currency sub-input" name="Command.FineAbsenceDeduction.Value"
|
||||
value="@(Model.FineAbsenceDeduction.FineAbsenceDeductionType == FineAbsenceDeductionType.Money ? Model.FineAbsenceDeduction.Value : "")"
|
||||
@((Model.FineAbsenceDeduction.Value != 0 && Model.FineAbsenceDeduction.FineAbsenceDeductionType == FineAbsenceDeductionType.Money) ? "" : "disabled") />
|
||||
<label for="AbsentFine3Sub2">ریال از حقوق پرسنل کسر گردد.</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<script>
|
||||
|
||||
$(document).ready(function () {
|
||||
//----------------------- WeekDays -----------------------
|
||||
$('.Main-Radio').on('change', function () {
|
||||
if ($(this).hasClass('WeekDayRadio')) {
|
||||
$('.AbsentFineDaysDisable').removeClass('disable');
|
||||
} else {
|
||||
$('.AbsentFineDaysDisable').addClass('disable');
|
||||
}
|
||||
});
|
||||
|
||||
var JsonWeekDays = @Html.Raw(Json.Serialize(Model.FineAbsenceDeduction.FineAbsenceDayOfWeekViewModels));
|
||||
|
||||
$('#AbsentFineAll').on('change', function () {
|
||||
var isChecked = $(this).is(':checked');
|
||||
$('#dynamicInputsContainer').empty();
|
||||
$('.AbsentFineDaysDisable input[type="checkbox"]').not('#AbsentFineAll').prop('checked', isChecked).trigger('change');
|
||||
});
|
||||
|
||||
$('.AbsentFineDaysDisable input[type="checkbox"]').not('#AbsentFineAll').on('change', function () {
|
||||
var allChecked = $('.AbsentFineDaysDisable input[type="checkbox"]').not('#AbsentFineAll').length === $('.AbsentFineDaysDisable input[type="checkbox"]:checked').not('#AbsentFineAll').length;
|
||||
$('#AbsentFineAll').prop('checked', allChecked);
|
||||
});
|
||||
|
||||
JsonWeekDays.forEach(function (item) {
|
||||
var dayOfWeekIndex = item.dayOfWeek;
|
||||
var checkbox = $(`.checkBox[data-index='${dayOfWeekIndex}']`);
|
||||
checkbox.prop('checked', true).trigger('change');
|
||||
appendInput(dayOfWeekIndex, checkbox.data("day"));
|
||||
});
|
||||
|
||||
|
||||
$(".checkBox").not('#AbsentFineAll').on("change", function () {
|
||||
const day = $(this).data("day");
|
||||
const indexDay = $(this).data("index");
|
||||
|
||||
if ($(this).is(":checked")) {
|
||||
appendInput(indexDay, day);
|
||||
} else {
|
||||
$(`#input-FineAbsenceDayOfWeekViewModels-${indexDay}`).remove();
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
function appendInput(indexDay, day) {
|
||||
const container = $("#dynamicInputsContainer");
|
||||
|
||||
const newInput = $('<input>')
|
||||
.attr("type", "hidden")
|
||||
.attr("name", `Command.FineAbsenceDeduction.FineAbsenceDayOfWeekViewModels[${indexDay}].DayOfWeek`)
|
||||
.attr("id", `input-FineAbsenceDayOfWeekViewModels-${indexDay}`)
|
||||
.attr("class", "numbers")
|
||||
.attr("value", `${day}`);
|
||||
|
||||
container.append(newInput);
|
||||
|
||||
updateInputIndices();
|
||||
}
|
||||
|
||||
function updateInputIndices() {
|
||||
$("#dynamicInputsContainer .numbers").each(function (index) {
|
||||
$(this).attr("name", `Command.FineAbsenceDeduction.FineAbsenceDayOfWeekViewModels[${index}].DayOfWeek`);
|
||||
});
|
||||
}
|
||||
|
||||
});
|
||||
</script>
|
||||
@@ -0,0 +1,131 @@
|
||||
@using _0_Framework.Domain.CustomizeCheckoutValueObjects
|
||||
@model CompanyManagment.App.Contracts.CustomizeWorkshopSettings.EditCustomizeWorkshopSettings
|
||||
|
||||
<div class="row my-2">
|
||||
<div class="col-12 mb-2">
|
||||
<div class="rollCallInfo">
|
||||
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<circle cx="16" cy="16" r="12" fill="#2FC1C1" />
|
||||
<path d="M17.3333 9.33333C17.3333 10.0697 16.7363 10.6667 16 10.6667C15.2636 10.6667 14.6666 10.0697 14.6666 9.33333C14.6666 8.59695 15.2636 8 16 8C16.7363 8 17.3333 8.59695 17.3333 9.33333Z" fill="#FFE2E2" />
|
||||
<path d="M16 22.0013V15.3346C16 14.2416 16 13.695 15.7288 13.3076C15.6284 13.1643 15.5037 13.0396 15.3604 12.9392C14.973 12.668 14.4265 12.668 13.3334 12.668V12.668M16 22.0013H18M16 22.0013H14" stroke="#FFE2E2" />
|
||||
</svg>
|
||||
<span>این تنظیمات در محاسبات فیش حقوق قانونی اداره کار تاثیری نخواهد داشت.</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 group-container">
|
||||
<div class="titleSettingRollCall">تعطیلات جمعه</div>
|
||||
<div class="form-group my-1 group">
|
||||
<input type="radio" name="Command.FridayWork" id="Friday1" class="form-check-input Main-Radio" @(Model.FridayWork == FridayWork.Default ? "checked" : "") value="@((int)(FridayWork.Default))" />
|
||||
<label for="Friday1">پرسنل در روزهای جمعه کار نمیکند.</label>
|
||||
</div>
|
||||
<div class="form-group my-1 group">
|
||||
<input type="radio" name="Command.FridayWork" id="Friday2" class="form-check-input Main-Radio" @(Model.FridayWork == FridayWork.WorkInFriday ? "checked" : "") value="@((int)(FridayWork.WorkInFriday))" />
|
||||
<label for="Friday2">پرسنل در روزهای جمعه کار میکند.</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-12">
|
||||
<div class="lineHr my-3"></div>
|
||||
</div>
|
||||
|
||||
<div class="col-12 group-container">
|
||||
<div class="titleSettingRollCall">تعطیلات رسمی</div>
|
||||
<div class="form-group my-1 group">
|
||||
<input type="radio" name="Command.HolidayWork" id="OffDays1" class="form-check-input Main-Radio" @(Model.HolidayWork == HolidayWork.Default ? "checked" : "") value="@((int)(HolidayWork.Default))" />
|
||||
<label for="OffDays1">پرسنل در ایام تعطیل رسمی کار نمیکند.</label>
|
||||
</div>
|
||||
<div class="form-group my-1 group">
|
||||
<input type="radio" name="Command.HolidayWork" id="OffDays2" class="form-check-input Main-Radio" @(Model.HolidayWork == HolidayWork.WorkInHolidays ? "checked" : "") value="@((int)(HolidayWork.WorkInHolidays))" />
|
||||
<label for="OffDays2">پرسنل در ایام تعطیل رسمی کار میکند.</label>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="col-12">
|
||||
<div class="lineHr my-3"></div>
|
||||
</div>
|
||||
|
||||
<div class="col-12 group-container">
|
||||
<div class="titleSettingRollCall">تعلق گرفتن عیدی</div>
|
||||
<div class="form-group my-1 group">
|
||||
|
||||
@{
|
||||
int checkedValid = 0;
|
||||
switch (Model.BonusesPaysInEndOfMonth)
|
||||
{
|
||||
case BonusesPaysInEndOfYear.EndOfYear:
|
||||
checkedValid = 0;
|
||||
break;
|
||||
case BonusesPaysInEndOfYear.WhenEverEmployeeLeftWork:
|
||||
checkedValid = 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
<input type="checkbox" name="Command.BonusesPaysInEndOfMonth" id="BonusesPaysInEndOfMonth1" class="form-check-input Main-Radio" @(checkedValid == 1 ? "checked" : "") value="@checkedValid" />
|
||||
<label for="BonusesPaysInEndOfMonth1">آیا میخواهید عیدی همیشه آخر سال تعلق گرفته شود یا در زمان ترک کار؟</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-12">
|
||||
<div class="lineHr my-3"></div>
|
||||
</div>
|
||||
|
||||
<div class="col-12 group-container">
|
||||
<div class="titleSettingRollCall">تعلق گرفتن سنوات</div>
|
||||
<div class="form-group my-1 group">
|
||||
@{
|
||||
int checkedBaseYearValid = 0;
|
||||
switch (Model.BonusesPaysInEndOfMonth)
|
||||
{
|
||||
case BonusesPaysInEndOfYear.EndOfYear:
|
||||
checkedBaseYearValid = 0;
|
||||
break;
|
||||
case BonusesPaysInEndOfYear.WhenEverEmployeeLeftWork:
|
||||
checkedBaseYearValid = 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
<input type="checkbox" name="Command.BonusesPaysInEndOfMonth" id="BonusesPaysInEndOfMonth1" class="form-check-input Main-Radio" @(checkedBaseYearValid == 1 ? "checked" : "") value="@checkedBaseYearValid" />
|
||||
<label for="BonusesPaysInEndOfMonth1">آیا میخواهید سنوات همیشه آخر سال تعلق گرفته شود یا در زمان ترک کار؟</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-12">
|
||||
<div class="lineHr my-3"></div>
|
||||
</div>
|
||||
|
||||
<div class="col-12 group-container">
|
||||
<div class="titleSettingRollCall">تعداد روز مجاز برای مرخصی</div>
|
||||
<div class="form-group my-1 group">
|
||||
<label for="LeavePermittedDays1">تعداد مجاز روز</label>
|
||||
<input type="text" id="LeavePermittedDays1" class="sub-input form-control-percent" name="Command.LeavePermittedDays" value="@(Model.LeavePermittedDays > 0 ? Model.LeavePermittedDays : 0)" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
$('#BonusesPaysInEndOfMonth1').change(function () {
|
||||
if ($(this).is(':checked')) {
|
||||
$(this).val(1);
|
||||
} else {
|
||||
$(this).val(0);
|
||||
}
|
||||
});
|
||||
|
||||
$('#BonusesPaysInEndOfMonth1').change(function () {
|
||||
if ($(this).is(':checked')) {
|
||||
$(this).val(1);
|
||||
} else {
|
||||
$(this).val(0);
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
@@ -0,0 +1,94 @@
|
||||
@using _0_Framework.Domain.CustomizeCheckoutValueObjects
|
||||
@model CompanyManagment.App.Contracts.CustomizeWorkshopSettings.EditCustomizeWorkshopSettings
|
||||
|
||||
<div class="row my-2">
|
||||
<div class="col-12 mb-2">
|
||||
<div class="rollCallInfo">
|
||||
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<circle cx="16" cy="16" r="12" fill="#2FC1C1"/>
|
||||
<path d="M17.3333 9.33333C17.3333 10.0697 16.7363 10.6667 16 10.6667C15.2636 10.6667 14.6666 10.0697 14.6666 9.33333C14.6666 8.59695 15.2636 8 16 8C16.7363 8 17.3333 8.59695 17.3333 9.33333Z" fill="#FFE2E2"/>
|
||||
<path d="M16 22.0013V15.3346C16 14.2416 16 13.695 15.7288 13.3076C15.6284 13.1643 15.5037 13.0396 15.3604 12.9392C14.973 12.668 14.4265 12.668 13.3334 12.668V12.668M16 22.0013H18M16 22.0013H14" stroke="#FFE2E2"/>
|
||||
</svg>
|
||||
<span>این تنظیمات در محاسبات فیش حقوق قانونی اداره کار تاثیری نخواهد داشت.</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-12 group-container">
|
||||
<div class="titleSettingRollCall">جمعه کاری</div>
|
||||
|
||||
<div class="form-group my-1 group">
|
||||
<input type="radio" name="Command.FridayPay.FridayPayType" id="FridayPay1" class="form-check-input Main-Radio" @(Model.FridayPay.FridayPayType == FridayPayType.None ? "checked" : "") value="@((int)(FridayPayType.None))"/>
|
||||
<label for="FridayPay1">جمعه کاری در فیش حقوقی محاسبه نگردد.</label>
|
||||
</div>
|
||||
|
||||
<div class="form-group my-1 group">
|
||||
<input type="checkbox" name="Command.FridayPay.FridayPayType1" id="FridayPay2" class="form-check-input Main-Radio main-checkbox" @((Model.FridayPay.FridayPayType == FridayPayType.PercentageFromSalaryPerHour || Model.FridayPay.FridayPayType == FridayPayType.MoneyPerFridayPerHour) ? "checked" : "") />
|
||||
<label for="FridayPay2">بابت ساعات اشتغال بکار پرسنل در روز جمعه اضافه بر حقوق موارد زیر در فیش حقوقی محاسبه گردد.</label>
|
||||
|
||||
<div class="sub-group form-group my-1 ms-4 FridayPaySubDisable">
|
||||
<div>
|
||||
<input type="radio" name="Command.FridayPay.FridayPayType" id="FridayPay2Sub1" class="Sub-Radio form-check-input" @(Model.FridayPay.FridayPayType == FridayPayType.PercentageFromSalaryPerHour ? "checked" : "") value="@((int)(FridayPayType.PercentageFromSalaryPerHour))" @((Model.FridayPay.FridayPayType == FridayPayType.PercentageFromSalaryPerHour || Model.FridayPay.FridayPayType == FridayPayType.MoneyPerFridayPerHour) ? "" : "disabled") />
|
||||
<label for="FridayPay2Sub1">درصد از مزد روزانه پرسنل</label>
|
||||
<input type="text" class="form-control-percent sub-input" name="Command.FridayPay.Value" value="@(Model.FridayPay.FridayPayType == FridayPayType.PercentageFromSalaryPerHour ? Model.FridayPay.Value : "")" @((Model.FridayPay.Value != 0 && Model.FridayPay.FridayPayType == FridayPayType.PercentageFromSalaryPerHour) ? "" : "disabled") />
|
||||
</div>
|
||||
<div>
|
||||
<input type="radio" name="Command.FridayPay.FridayPayType" id="FridayPay2Sub2" class="Sub-Radio form-check-input" @(Model.FridayPay.FridayPayType == FridayPayType.MoneyPerFridayPerHour ? "checked" : "") value="@((int)(FridayPayType.MoneyPerFridayPerHour))" @((Model.FridayPay.FridayPayType == FridayPayType.PercentageFromSalaryPerHour || Model.FridayPay.FridayPayType == FridayPayType.MoneyPerFridayPerHour) ? "" : "disabled") />
|
||||
<label for="FridayPay2Sub2">بابت هر ساعت مبلغ </label>
|
||||
<input type="text" class="form-control-currency sub-input" name="Command.FridayPay.Value" value="@(Model.FridayPay.FridayPayType == FridayPayType.MoneyPerFridayPerHour ? Model.FridayPay.Value : "")" @((Model.FridayPay.Value != 0 && Model.FridayPay.FridayPayType == FridayPayType.MoneyPerFridayPerHour) ? "" : "disabled") />
|
||||
<label for="FridayPay2Sub2">ريال</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group my-1 group">
|
||||
<input type="radio" name="Command.FridayPay.FridayPayType" id="FridayPay3" class="form-check-input Main-Radio" @(Model.FridayPay.FridayPayType == FridayPayType.MoneyPerFridayForDay ? "checked" : "") value="@((int)(FridayPayType.MoneyPerFridayForDay))" />
|
||||
<label for="FridayPay3">بابت هر روز کار در روز جمعه مبلغ </label>
|
||||
<input type="text" class="form-control-currency sub-input" name="Command.FridayPay.Value" value="@(Model.FridayPay.FridayPayType == FridayPayType.MoneyPerFridayForDay ? Model.FridayPay.Value : "")" @((Model.FridayPay.Value != 0 && Model.FridayPay.FridayPayType == FridayPayType.MoneyPerFridayForDay) ? "" : "disabled") />
|
||||
<label for="FridayPay3">ريال در فیش حقوقی محاسبه شود. (حتی 1 ساعت کار).</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="col-12">
|
||||
<div class="lineHr my-3"></div>
|
||||
</div>
|
||||
|
||||
<div class="col-12 mb-2">
|
||||
<div class="rollCallInfoSec">
|
||||
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<circle cx="16" cy="16" r="12" fill="#2FC1C1" />
|
||||
<path d="M17.3333 9.33333C17.3333 10.0697 16.7363 10.6667 16 10.6667C15.2636 10.6667 14.6666 10.0697 14.6666 9.33333C14.6666 8.59695 15.2636 8 16 8C16.7363 8 17.3333 8.59695 17.3333 9.33333Z" fill="#FFE2E2" />
|
||||
<path d="M16 22.0013V15.3346C16 14.2416 16 13.695 15.7288 13.3076C15.6284 13.1643 15.5037 13.0396 15.3604 12.9392C14.973 12.668 14.4265 12.668 13.3334 12.668V12.668M16 22.0013H18M16 22.0013H14" stroke="#FFE2E2" />
|
||||
</svg>
|
||||
<span>مبنای محاسبه ساعات اضافه کاری ، ساعات کارکرد پرسنل بیش از ساعات تنظیمی در بخش گروهبندی میباشد.</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-12 group-container">
|
||||
<div class="titleSettingRollCall">اضافه کاری</div>
|
||||
<div class="form-group my-1 group">
|
||||
<input type="radio" name="Command.OverTimePay.OverTimePayType" id="OverTimePay1" class="form-check-input Main-Radio" @(Model.OverTimePay.OverTimePayType == OverTimePayType.None ? "checked" : "") value="@((int)(OverTimePayType.None))" />
|
||||
<label for="OverTimePay1">اضافه کار در فیش حقوقی محاسبه نگردد.</label>
|
||||
<div class="titleSettingRollCallCheckboxSubtitle">(با انتخاب این گزینه اگر پرسنل بیش از ساعات تعیین شده اشتغال بکار داشته باشد مبلغی محاسبه نمیگردد)</div>
|
||||
</div>
|
||||
<div class="form-group my-1 group">
|
||||
<input type="checkbox" name="Command.OverTimePay.OverTimePayType1" id="OverTimePay2" class="form-check-input Main-Radio main-checkbox" @((Model.OverTimePay.OverTimePayType == OverTimePayType.PercentagePerHourOfSalary || Model.OverTimePay.OverTimePayType == OverTimePayType.MoneyPerHour) ? "checked" : "") />
|
||||
<label for="OverTimePay2">به ازای هر ساعت اضافه کار پرسنل ، مبلغ به شرح ذیل فارغ از محاسبه حقوق محاسبه گردد.</label>
|
||||
|
||||
<div class="sub-group form-group my-1 ms-4 OverTimePaySubDisable">
|
||||
<div>
|
||||
<input type="radio" name="Command.OverTimePay.OverTimePayType" id="OverTimePay2Sub1" class="form-check-input Sub-Radio" @(Model.OverTimePay.OverTimePayType == OverTimePayType.PercentagePerHourOfSalary ? "checked" : "") value="@((int)OverTimePayType.PercentagePerHourOfSalary)" @((Model.OverTimePay.OverTimePayType == OverTimePayType.PercentagePerHourOfSalary || Model.OverTimePay.OverTimePayType == OverTimePayType.MoneyPerHour) ? "" : "disabled") />
|
||||
<label for="OverTimePay2Sub1">درصد از مزد روزانه به ازای هر ساعت اضافه کار</label>
|
||||
<input type="text" class="form-control-percent sub-input" name="Command.OverTimePay.Value" value="@(Model.OverTimePay.OverTimePayType == OverTimePayType.PercentagePerHourOfSalary ? Model.OverTimePay.Value : "")" @((Model.OverTimePay.Value != 0 && Model.OverTimePay.OverTimePayType == OverTimePayType.PercentagePerHourOfSalary) ? "" : "disabled") />
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<input type="radio" name="Command.OverTimePay.OverTimePayType" id="OverTimePay2Sub2" class="form-check-input Sub-Radio" @(Model.OverTimePay.OverTimePayType == OverTimePayType.MoneyPerHour ? "checked" : "") value="@((int)(OverTimePayType.MoneyPerHour))" @((Model.OverTimePay.OverTimePayType == OverTimePayType.PercentagePerHourOfSalary || Model.OverTimePay.OverTimePayType == OverTimePayType.MoneyPerHour) ? "" : "disabled") />
|
||||
<label for="OverTimePay2Sub2">بابت هر ساعت اضافه کار مبلغ </label>
|
||||
<input type="text" class="form-control-currency sub-input" name="Command.OverTimePay.Value" value="@(Model.OverTimePay.OverTimePayType == OverTimePayType.MoneyPerHour ? Model.OverTimePay.Value : "")" @((Model.OverTimePay.Value != 0 && Model.OverTimePay.OverTimePayType == OverTimePayType.MoneyPerHour) ? "" : "disabled") />
|
||||
<label for="OverTimePay2Sub2">ريال</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,311 @@
|
||||
@using _0_Framework.Domain.CustomizeCheckoutValueObjects
|
||||
@model CompanyManagment.App.Contracts.CustomizeWorkshopSettings.EditCustomizeWorkshopSettings
|
||||
|
||||
<div class="row my-2">
|
||||
<div class="col-12 mb-2">
|
||||
<div class="rollCallInfo">
|
||||
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<circle cx="16" cy="16" r="12" fill="#2FC1C1" />
|
||||
<path d="M17.3333 9.33333C17.3333 10.0697 16.7363 10.6667 16 10.6667C15.2636 10.6667 14.6666 10.0697 14.6666 9.33333C14.6666 8.59695 15.2636 8 16 8C16.7363 8 17.3333 8.59695 17.3333 9.33333Z" fill="#FFE2E2" />
|
||||
<path d="M16 22.0013V15.3346C16 14.2416 16 13.695 15.7288 13.3076C15.6284 13.1643 15.5037 13.0396 15.3604 12.9392C14.973 12.668 14.4265 12.668 13.3334 12.668V12.668M16 22.0013H18M16 22.0013H14" stroke="#FFE2E2" />
|
||||
</svg>
|
||||
<span>این تنظیمات در محاسبات فیش حقوق قانونی اداره کار تاثیری نخواهد داشت.</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 group-container">
|
||||
<div class="titleSettingRollCall">تاخیر در ورود</div>
|
||||
|
||||
<div class="form-group my-1 group">
|
||||
<input type="radio" name="Command.LateToWork.LateToWorkType" id="ArrivalDelay1" class="form-check-input Main-Radio" @(Model.LateToWork.LateToWorkType == LateToWorkType.None ? "checked" : "") value="@((int)(LateToWorkType.None))" />
|
||||
<label for="ArrivalDelay1">تاخیر در ورود و هیچگونه تاثیری در میزان حقوق پرداختی نداشته باشد.</label>
|
||||
</div>
|
||||
|
||||
<div class="form-group my-1 group">
|
||||
<input type="checkbox" name="Command.LateToWork.LateToWorkType1" id="ArrivalDelay2" class="form-check-input Main-Radio main-checkbox" @((Model.LateToWork.LateToWorkType == LateToWorkType.MultiTimesPerMinute || Model.LateToWork.LateToWorkType == LateToWorkType.DeductEveryMinuteAccordingToDailyWage) ? "checked" : "")/>
|
||||
<label for="ArrivalDelay2">در صورت تاخیر در ورود پرسنل به مجموعه به شرح ذیل درستون کسورات در فیش حقوقی محاسبه گردد.</label>
|
||||
|
||||
<div class="sub-group form-group my-1 ms-4 ArrivalDelay2SubDisable">
|
||||
<div>
|
||||
<input type="radio" name="Command.LateToWork.LateToWorkType" id="ArrivalDelay2Sub1" class="form-check-input Sub-Radio" @(Model.LateToWork.LateToWorkType == LateToWorkType.MultiTimesPerMinute ? "checked" : "") value="@((int)(LateToWorkType.MultiTimesPerMinute))" @((Model.LateToWork.Value != 0 && Model.LateToWork.LateToWorkType == LateToWorkType.MultiTimesPerMinute) ? "" : "disabled") />
|
||||
<label for="ArrivalDelay2Sub1">به غیبت حقوق و فرد روزانه بر مبنای دقیقه تاخیر از حقوق پرسنل کسر گردد.</label>
|
||||
<input type="text" class="sub-input form-control-percent" name="Command.LateToWork.Value" value="@(Model.LateToWork.LateToWorkType == LateToWorkType.MultiTimesPerMinute ? Model.LateToWork.Value : "")" @((Model.LateToWork.Value != 0 && Model.LateToWork.LateToWorkType == LateToWorkType.MultiTimesPerMinute) ? "" : "disabled") />
|
||||
</div>
|
||||
<div>
|
||||
<input type="radio" name="Command.LateToWork.LateToWorkType" id="ArrivalDelay2Sub2" class="form-check-input Sub-Radio" @(Model.LateToWork.LateToWorkType == LateToWorkType.DeductEveryMinuteAccordingToDailyWage ? "checked" : "") value="@((int)(LateToWorkType.DeductEveryMinuteAccordingToDailyWage))" @((Model.LateToWork.Value != 0 && Model.LateToWork.LateToWorkType == LateToWorkType.DeductEveryMinuteAccordingToDailyWage) ? "" : "disabled") />
|
||||
<label for="ArrivalDelay2Sub2">به غیبت حقوق و فرد روزانه بر مبنای درصد به میزان </label>
|
||||
<input type="text" class="sub-input form-control-currency" name="Command.LateToWork.Value" value="@(Model.LateToWork.LateToWorkType == LateToWorkType.DeductEveryMinuteAccordingToDailyWage ? Model.LateToWork.Value : "")" @((Model.LateToWork.Value != 0 && Model.LateToWork.LateToWorkType == LateToWorkType.DeductEveryMinuteAccordingToDailyWage) ? "" : "disabled") />
|
||||
<label for="ArrivalDelay2Sub2">برابر از حقوق پرسنل کسر گردد.</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-12 mt-3 mb-1">
|
||||
<div class="lineMinHr"></div>
|
||||
</div>
|
||||
|
||||
<div class="">
|
||||
<div class="titleSettingRollCallInfo">در صورت تمایل به جرائم بیشتر از گزینههای زیر استفاده نمایید:</div>
|
||||
<div class="titleSettingRollCallInfo">در صورت تاخیر پرسنل در ورود به مجموعه:</div>
|
||||
<div class="titleSettingRollCallInfoSub">(توجه داشته باشید، مبلغ این جریمه مضاف بر مبالغ کسر شده بخش بالا محاسبه میگردد و در صورت تکمیل هر سه مرحله این بخش از جرائم، در صورتی که پرسنل از شروط دو سه مرحله عدول نماید. مجموع کل جرائم شامل محاسبه میگردد.)</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="form-group my-1">
|
||||
<input type="checkbox" id="ArrivalDelay3" class="form-check-input"
|
||||
@(Model.LateToWork?.LateToWorkTimeFinesVewModels is { Count: > 0 } &&
|
||||
!String.IsNullOrWhiteSpace(Model.LateToWork.LateToWorkTimeFinesVewModels[0].Minute) &&
|
||||
Model.LateToWork.LateToWorkTimeFinesVewModels[0].FineMoney > 0 ? "checked" : "")/>
|
||||
|
||||
@* <input type="checkbox" id="ArrivalDelay3" class="form-check-input Main-Radio" @(Model.LateToWork.LateToWorkTimeFinesVewModels?[0].Minute && Model.LateToWork?.LateToWorkTimeFinesVewModels?[0].FineMoney ? "checked" : "")/> *@
|
||||
<label for="ArrivalDelay3">مرحله اول: در صورت تاخیر پرسنل در ورود و بیش از </label>
|
||||
@* value="@(Model.FridayPay.FridayPayType == FridayPayType.MoneyPerFridayPerHour ? Model.FridayPay.Value : "")" @((Model.FridayPay.Value != 0 && Model.FridayPay.FridayPayType == FridayPayType.MoneyPerFridayPerHour) ? "" : "disabled") *@
|
||||
<input type="text" class="form-control-percent ArrivalDelayInput" name="Command.LateToWork.LateToWorkTimeFinesVewModels[0].Minute"
|
||||
value="@((Model.LateToWork?.LateToWorkTimeFinesVewModels).Any() ? (Model.LateToWork?.LateToWorkTimeFinesVewModels is { Count: > 0 } && !String.IsNullOrWhiteSpace(Model.LateToWork?.LateToWorkTimeFinesVewModels[0].Minute) ? Model.LateToWork.LateToWorkTimeFinesVewModels[0].Minute : "") : "")"
|
||||
@((Model.LateToWork?.LateToWorkTimeFinesVewModels).Any() ? (Model.LateToWork?.LateToWorkTimeFinesVewModels is { Count: > 0 } && !String.IsNullOrWhiteSpace(Model.LateToWork?.LateToWorkTimeFinesVewModels[0].Minute) ? "" : "disabled") : "disabled") />
|
||||
<label>دقیقه مبلغ</label>
|
||||
<input type="text" class="form-control-currency ArrivalDelayInput" name="Command.LateToWork.LateToWorkTimeFinesVewModels[0].FineMoney"
|
||||
value="@((Model.LateToWork?.LateToWorkTimeFinesVewModels).Any() ? (Model.LateToWork?.LateToWorkTimeFinesVewModels is { Count: > 0 } && (Model.LateToWork?.LateToWorkTimeFinesVewModels[0].FineMoney > 0) ? Model.LateToWork.LateToWorkTimeFinesVewModels[0].FineMoney : "") : "")"
|
||||
@((Model.LateToWork?.LateToWorkTimeFinesVewModels).Any() ? (Model.LateToWork?.LateToWorkTimeFinesVewModels is { Count: > 0 } && (Model.LateToWork?.LateToWorkTimeFinesVewModels[0].FineMoney > 0) ? "" : "disabled") : "disabled") />
|
||||
<label>ریال جریمه محاسبه گردد.</label>
|
||||
</div>
|
||||
|
||||
<div class="form-group my-1">
|
||||
<input type="checkbox" id="ArrivalDelay4" class="form-check-input"
|
||||
@(Model.LateToWork?.LateToWorkTimeFinesVewModels is { Count: > 1 } &&
|
||||
!String.IsNullOrWhiteSpace(Model.LateToWork.LateToWorkTimeFinesVewModels[1].Minute) &&
|
||||
Model.LateToWork.LateToWorkTimeFinesVewModels[1]?.FineMoney > 0 ? "checked" : "")
|
||||
/>
|
||||
|
||||
<label for="ArrivalDelay4">مرحله دوم: در صورت تاخیر پرسنل در ورود و بیش از </label>
|
||||
<input type="text" class="form-control-percent ArrivalDelayInput" name="Command.LateToWork.LateToWorkTimeFinesVewModels[1].Minute"
|
||||
value="@((Model.LateToWork?.LateToWorkTimeFinesVewModels).Any() ? (Model.LateToWork?.LateToWorkTimeFinesVewModels is { Count: > 1 } && !String.IsNullOrWhiteSpace(Model.LateToWork?.LateToWorkTimeFinesVewModels[1].Minute) ? Model.LateToWork.LateToWorkTimeFinesVewModels[1].Minute : "") : "")"
|
||||
@((Model.LateToWork?.LateToWorkTimeFinesVewModels).Any() ? (Model.LateToWork?.LateToWorkTimeFinesVewModels is { Count: > 1 } && !String.IsNullOrWhiteSpace(Model.LateToWork?.LateToWorkTimeFinesVewModels[1].Minute) ? "" : "disabled") : "disabled") />
|
||||
<label>دقیقه مبلغ</label>
|
||||
<input type="text" class="form-control-currency ArrivalDelayInput" name="Command.LateToWork.LateToWorkTimeFinesVewModels[1].FineMoney"
|
||||
value="@((Model.LateToWork?.LateToWorkTimeFinesVewModels).Any() ? (Model.LateToWork?.LateToWorkTimeFinesVewModels is { Count: > 1 } && Model.LateToWork?.LateToWorkTimeFinesVewModels[1].FineMoney > 0 ? Model.LateToWork.LateToWorkTimeFinesVewModels[1].FineMoney : "") : "")"
|
||||
@((Model.LateToWork?.LateToWorkTimeFinesVewModels).Any() ? (Model.LateToWork?.LateToWorkTimeFinesVewModels is { Count: > 1 } && Model.LateToWork?.LateToWorkTimeFinesVewModels[1].FineMoney > 0 ? "" : "disabled") : "disabled") />
|
||||
<label>ریال جریمه محاسبه گردد.</label>
|
||||
</div>
|
||||
|
||||
<div class="form-group my-1">
|
||||
<input type="checkbox" id="ArrivalDelay5" class="form-check-input"
|
||||
@(Model.LateToWork?.LateToWorkTimeFinesVewModels is { Count: > 2 } &&
|
||||
!String.IsNullOrWhiteSpace(Model.LateToWork.LateToWorkTimeFinesVewModels[2].Minute) &&
|
||||
Model.LateToWork.LateToWorkTimeFinesVewModels[2].FineMoney > 0 ? "checked" : "")
|
||||
/>
|
||||
|
||||
<label for="ArrivalDelay5">مرحله سوم: در صورت تاخیر پرسنل در ورود و بیش از </label>
|
||||
<input type="text" class="form-control-percent ArrivalDelayInput" name="Command.LateToWork.LateToWorkTimeFinesVewModels[2].Minute"
|
||||
value="@((Model.LateToWork?.LateToWorkTimeFinesVewModels).Any() ? (Model.LateToWork?.LateToWorkTimeFinesVewModels is { Count: > 2 } && !String.IsNullOrWhiteSpace(Model.LateToWork?.LateToWorkTimeFinesVewModels[2].Minute) ? Model.LateToWork.LateToWorkTimeFinesVewModels[2].Minute : "") : "")"
|
||||
@((Model.LateToWork?.LateToWorkTimeFinesVewModels).Any() ? (Model.LateToWork?.LateToWorkTimeFinesVewModels is { Count: > 2 } && !String.IsNullOrWhiteSpace(Model.LateToWork?.LateToWorkTimeFinesVewModels[2].Minute) ? "" : "disabled") : "disabled") />
|
||||
<label>دقیقه مبلغ</label>
|
||||
<input type="text" class="form-control-currency ArrivalDelayInput" name="Command.LateToWork.LateToWorkTimeFinesVewModels[2].FineMoney"
|
||||
value="@((Model.LateToWork?.LateToWorkTimeFinesVewModels).Any() ? (Model.LateToWork?.LateToWorkTimeFinesVewModels is { Count: > 2 } && Model.LateToWork?.LateToWorkTimeFinesVewModels[2].FineMoney > 0 ? Model.LateToWork.LateToWorkTimeFinesVewModels[2].FineMoney : "") : "")"
|
||||
@((Model.LateToWork?.LateToWorkTimeFinesVewModels).Any() ? (Model.LateToWork?.LateToWorkTimeFinesVewModels is { Count: > 2 } && Model.LateToWork?.LateToWorkTimeFinesVewModels[2].FineMoney > 0 ? "" : "disabled") : "disabled") />
|
||||
<label>ریال جریمه محاسبه گردد.</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-12">
|
||||
<div class="lineHr my-3"></div>
|
||||
</div>
|
||||
|
||||
<div class="col-12 group-container">
|
||||
<div class="titleSettingRollCall">تعجیل در خروج</div>
|
||||
<div class="form-group my-1 group">
|
||||
<input type="radio" name="Command.EarlyExit.EarlyExitType" id="DepartureHaste1" class="form-check-input Main-Radio" @(Model.EarlyExit.EarlyExitType == EarlyExitType.None ? "checked" : "") value="@((int)(EarlyExitType.None))" />
|
||||
<label for="DepartureHaste1">تجمیل در خروج و هیچگونه تاثیری در میزان حقوق پرداختی نداشته باشد.</label>
|
||||
</div>
|
||||
|
||||
<div class="form-group my-1 group">
|
||||
<input type="checkbox" name="Command.EarlyExit.EarlyExitType1" id="DepartureHaste2" class="form-check-input Main-Radio main-checkbox" />
|
||||
<label for="DepartureHaste2">در صورت تاخیر در ورود پرسنل به مجموعه به شرح ذیل درستون کسورات در فیش حقوقی محاسبه گردد.</label>
|
||||
|
||||
<div class="sub-group form-group my-1 ms-4 DepartureHaste2SubDisable">
|
||||
<div>
|
||||
<input type="radio" name="Command.EarlyExit.EarlyExitType" id="DepartureHaste2Sub1" class="form-check-input Sub-Radio" @(Model.EarlyExit.EarlyExitType == EarlyExitType.MoneyPerMinute ? "checked" : "") value="@((int)(EarlyExitType.MoneyPerMinute))" @((Model.EarlyExit.Value != 0 && Model.EarlyExit.EarlyExitType == EarlyExitType.MoneyPerMinute) ? "" : "disabled")/>
|
||||
|
||||
<label for="DepartureHaste2Sub1">به غیبت حقوق و فرد روزانه بر مبنای دقیقه تاخیر از حقوق پرسنل کسر گردد.</label>
|
||||
<input type="text" class="form-control-percent sub-input" name="Command.EarlyExit.Value" value="@(Model.EarlyExit.EarlyExitType == EarlyExitType.MoneyPerMinute ? Model.EarlyExit.Value : "")" @((Model.EarlyExit.Value != 0 && Model.EarlyExit.EarlyExitType == EarlyExitType.MoneyPerMinute) ? "" : "disabled") />
|
||||
</div>
|
||||
<div>
|
||||
<input type="radio" name="Command.EarlyExit.EarlyExitType" id="DepartureHaste2Sub2" class="form-check-input Sub-Radio" @(Model.EarlyExit.EarlyExitType == EarlyExitType.DeductEveryMinuteAccordingToDailyWage ? "checked" : "") value="@((int)(EarlyExitType.DeductEveryMinuteAccordingToDailyWage))" @((Model.EarlyExit.Value != 0 && Model.EarlyExit.EarlyExitType == EarlyExitType.DeductEveryMinuteAccordingToDailyWage) ? "" : "disabled") />
|
||||
<label for="DepartureHaste2Sub2">به غیبت حقوق و فرد روزانه بر مبنای درصد به میزان </label>
|
||||
<input type="text" class="form-control-currency sub-input" name="Command.EarlyExit.Value" value="@(Model.EarlyExit.EarlyExitType == EarlyExitType.DeductEveryMinuteAccordingToDailyWage ? Model.EarlyExit.Value : "")" @((Model.EarlyExit.Value != 0 && Model.EarlyExit.EarlyExitType == EarlyExitType.DeductEveryMinuteAccordingToDailyWage) ? "" : "disabled") />
|
||||
<label for="DepartureHaste2Sub2">برابر از حقوق پرسنل کسر گردد.</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-12 mt-3 mb-1">
|
||||
<div class="lineMinHr"></div>
|
||||
</div>
|
||||
|
||||
<div class="">
|
||||
<div class="titleSettingRollCallInfo">در صورت تمایل به جرائم بیشتر از گزینههای زیر استفاده نمایید:</div>
|
||||
<div class="titleSettingRollCallInfo">در صورت تاخیر پرسنل در ورود به مجموعه:</div>
|
||||
<div class="titleSettingRollCallInfoSub">(توجه داشته باشید، مبلغ این جریمه مضاف بر مبالغ کسر شده بخش بالا محاسبه میگردد و در صورت تکمیل هر سه مرحله این بخش از جرائم، در صورتی که پرسنل از شروط دو سه مرحله عدول نماید. مجموع کل جرائم شامل محاسبه میگردد.)</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group my-1">
|
||||
<input type="checkbox" id="DepartureHaste3" class="form-check-input Main-Radio"
|
||||
@(Model.EarlyExit?.EarlyExitTimeFinesViewModels is { Count: > 0 } &&
|
||||
!String.IsNullOrWhiteSpace(Model.EarlyExit.EarlyExitTimeFinesViewModels[0].Minute) &&
|
||||
Model.EarlyExit.EarlyExitTimeFinesViewModels[0].FineMoney > 0 ? "checked" : "")
|
||||
/>
|
||||
<label for="DepartureHaste3">مرحله اول: در صورت تاخیر پرسنل در ورود و بیش از </label>
|
||||
<input type="text" class="form-control-percent DepartureHasteInput" name="Command.EarlyExit.EarlyExitTimeFinesViewModels[0].Minute"
|
||||
value="@((Model.EarlyExit?.EarlyExitTimeFinesViewModels).Any() ? (Model.EarlyExit?.EarlyExitTimeFinesViewModels is { Count: > 0 } && !String.IsNullOrWhiteSpace(Model.EarlyExit?.EarlyExitTimeFinesViewModels[0].Minute) ? Model.EarlyExit.EarlyExitTimeFinesViewModels[0].Minute : "") : "")"
|
||||
@((Model.EarlyExit?.EarlyExitTimeFinesViewModels).Any() ? (Model.EarlyExit?.EarlyExitTimeFinesViewModels is { Count: > 0 } && !String.IsNullOrWhiteSpace(Model.EarlyExit?.EarlyExitTimeFinesViewModels[0].Minute) ? "" : "disabled") : "disabled") />
|
||||
<label>دقیقه مبلغ</label>
|
||||
<input type="text" class="form-control-currency DepartureHasteInput" name="Command.EarlyExit.EarlyExitTimeFinesViewModels[0].FineMoney"
|
||||
value="@((Model.EarlyExit?.EarlyExitTimeFinesViewModels).Any() ? (Model.EarlyExit?.EarlyExitTimeFinesViewModels is { Count: > 0 } && Model.EarlyExit?.EarlyExitTimeFinesViewModels[0].FineMoney > 0 ? Model.EarlyExit.EarlyExitTimeFinesViewModels[0].FineMoney : "") : "")"
|
||||
@((Model.EarlyExit?.EarlyExitTimeFinesViewModels).Any() ? (Model.EarlyExit?.EarlyExitTimeFinesViewModels is { Count: > 0 } && Model.EarlyExit?.EarlyExitTimeFinesViewModels[0].FineMoney > 0 ? "" : "disabled") : "disabled") />
|
||||
<label>ریال جریمه محاسبه گردد.</label>
|
||||
</div>
|
||||
|
||||
<div class="form-group my-1">
|
||||
<input type="checkbox" id="DepartureHaste4" class="form-check-input Main-Radio"
|
||||
@(Model.EarlyExit?.EarlyExitTimeFinesViewModels is { Count: > 1 } &&
|
||||
!String.IsNullOrWhiteSpace(Model.EarlyExit.EarlyExitTimeFinesViewModels[1].Minute) &&
|
||||
Model.EarlyExit.EarlyExitTimeFinesViewModels[1].FineMoney > 0 ? "checked" : "")
|
||||
/>
|
||||
<label for="DepartureHaste4">مرحله دوم: در صورت تاخیر پرسنل در ورود و بیش از </label>
|
||||
<input type="text" class="form-control-percent DepartureHasteInput" name="Command.EarlyExit.EarlyExitTimeFinesViewModels[1].Minute"
|
||||
value="@((Model.EarlyExit?.EarlyExitTimeFinesViewModels).Any() ? (Model.EarlyExit?.EarlyExitTimeFinesViewModels is { Count: > 1 } && !String.IsNullOrWhiteSpace(Model.EarlyExit?.EarlyExitTimeFinesViewModels[1].Minute) ? Model.EarlyExit.EarlyExitTimeFinesViewModels[1].Minute : "") : "")"
|
||||
@((Model.EarlyExit?.EarlyExitTimeFinesViewModels).Any() ? (Model.EarlyExit?.EarlyExitTimeFinesViewModels is { Count: > 1 } && !String.IsNullOrWhiteSpace(Model.EarlyExit?.EarlyExitTimeFinesViewModels[1].Minute) ? "" : "disabled") : "disabled") />
|
||||
<label>دقیقه مبلغ</label>
|
||||
<input type="text" class="form-control-currency DepartureHasteInput" name="Command.EarlyExit.EarlyExitTimeFinesViewModels[1].FineMoney"
|
||||
value="@((Model.EarlyExit?.EarlyExitTimeFinesViewModels).Any() ? (Model.EarlyExit?.EarlyExitTimeFinesViewModels is { Count: > 1 } && Model.EarlyExit?.EarlyExitTimeFinesViewModels[1].FineMoney > 0 ? Model.EarlyExit.EarlyExitTimeFinesViewModels[1].FineMoney : "") : "")"
|
||||
@((Model.EarlyExit?.EarlyExitTimeFinesViewModels).Any() ? (Model.EarlyExit?.EarlyExitTimeFinesViewModels is { Count: > 1 } && Model.EarlyExit?.EarlyExitTimeFinesViewModels[1].FineMoney > 0 ? "" : "disabled") : "disabled") />
|
||||
<label>ریال جریمه محاسبه گردد.</label>
|
||||
</div>
|
||||
|
||||
<div class="form-group my-1">
|
||||
<input type="checkbox" id="DepartureHaste5" class="form-check-input Main-Radio"
|
||||
@(Model.EarlyExit?.EarlyExitTimeFinesViewModels is { Count: > 2 } &&
|
||||
!String.IsNullOrWhiteSpace(Model.EarlyExit.EarlyExitTimeFinesViewModels[2].Minute) &&
|
||||
Model.EarlyExit.EarlyExitTimeFinesViewModels[2].FineMoney > 0 ? "checked" : "")
|
||||
/>
|
||||
<label for="DepartureHaste5">مرحله سوم: در صورت تاخیر پرسنل در ورود و بیش از </label>
|
||||
<input type="text" class="form-control-percent DepartureHasteInput" name="Command.EarlyExit.EarlyExitTimeFinesViewModels[2].Minute"
|
||||
value="@((Model.EarlyExit?.EarlyExitTimeFinesViewModels).Any() ? (Model.EarlyExit?.EarlyExitTimeFinesViewModels is { Count: > 2 } && !String.IsNullOrWhiteSpace(Model.EarlyExit?.EarlyExitTimeFinesViewModels[2].Minute) ? Model.EarlyExit.EarlyExitTimeFinesViewModels[2].Minute : "") : "")"
|
||||
@((Model.EarlyExit?.EarlyExitTimeFinesViewModels).Any() ? (Model.EarlyExit?.EarlyExitTimeFinesViewModels is { Count: > 2 } && !String.IsNullOrWhiteSpace(Model.EarlyExit?.EarlyExitTimeFinesViewModels[2].Minute) ? "" : "disabled") : "disabled") />
|
||||
<label>دقیقه مبلغ</label>
|
||||
<input type="text" class="form-control-currency DepartureHasteInput" name="Command.EarlyExit.EarlyExitTimeFinesViewModels[2].FineMoney"
|
||||
value="@((Model.EarlyExit?.EarlyExitTimeFinesViewModels).Any() ? (Model.EarlyExit?.EarlyExitTimeFinesViewModels is { Count: > 2 } && Model.EarlyExit?.EarlyExitTimeFinesViewModels[2].FineMoney > 0 ? Model.EarlyExit.EarlyExitTimeFinesViewModels[2].FineMoney : "") : "")"
|
||||
@((Model.EarlyExit?.EarlyExitTimeFinesViewModels).Any() ? (Model.EarlyExit?.EarlyExitTimeFinesViewModels is { Count: > 2 } && Model.EarlyExit?.EarlyExitTimeFinesViewModels[2].FineMoney > 0 ? "" : "disabled") : "disabled") />
|
||||
<label>ریال جریمه محاسبه گردد.</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
// تنظیمات مربوط به تاخیر در ورود
|
||||
const cb1ArrivalDelay = $('#ArrivalDelay3'); // First checkbox
|
||||
const cb2ArrivalDelay = $('#ArrivalDelay4'); // Second checkbox
|
||||
const cb3ArrivalDelay = $('#ArrivalDelay5'); // Third checkbox
|
||||
|
||||
// When the third checkbox (3) is checked
|
||||
cb3ArrivalDelay.change(function () {
|
||||
if ($(this).is(':checked')) {
|
||||
cb1ArrivalDelay.prop('checked', true);
|
||||
cb2ArrivalDelay.prop('checked', true);
|
||||
}
|
||||
toggleInputsArrivalDelay(cb1ArrivalDelay);
|
||||
toggleInputsArrivalDelay(cb2ArrivalDelay);
|
||||
toggleInputsArrivalDelay(cb3ArrivalDelay);
|
||||
});
|
||||
|
||||
// When the second checkbox (2) is checked
|
||||
cb2ArrivalDelay.change(function () {
|
||||
if ($(this).is(':checked')) {
|
||||
cb1ArrivalDelay.prop('checked', true);
|
||||
cb3ArrivalDelay.prop('checked', false);
|
||||
}
|
||||
toggleInputsArrivalDelay(cb1ArrivalDelay);
|
||||
toggleInputsArrivalDelay(cb2ArrivalDelay);
|
||||
toggleInputsArrivalDelay(cb3ArrivalDelay);
|
||||
});
|
||||
|
||||
// When the first checkbox (1) is unchecked
|
||||
cb1ArrivalDelay.change(function () {
|
||||
if (!$(this).is(':checked')) {
|
||||
cb2ArrivalDelay.prop('checked', false);
|
||||
cb3ArrivalDelay.prop('checked', false);
|
||||
}
|
||||
toggleInputsArrivalDelay(cb1ArrivalDelay);
|
||||
toggleInputsArrivalDelay(cb2ArrivalDelay);
|
||||
toggleInputsArrivalDelay(cb3ArrivalDelay);
|
||||
});
|
||||
|
||||
|
||||
function toggleInputsArrivalDelay(checkbox) {
|
||||
const minuteInput = checkbox.closest('.form-group').find('.ArrivalDelayInput');
|
||||
const fineMoneyInput = checkbox.closest('.form-group').find('.ArrivalDelayInput');
|
||||
|
||||
if (checkbox.is(':checked')) {
|
||||
minuteInput.prop('disabled', false);
|
||||
fineMoneyInput.prop('disabled', false);
|
||||
} else {
|
||||
minuteInput.prop('disabled', true).val('');
|
||||
fineMoneyInput.prop('disabled', true).val('');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// تنظیمات مربوط به تعجیل در خروج
|
||||
const cb1DepartureHaste = $('#DepartureHaste3'); // First checkbox
|
||||
const cb2DepartureHaste = $('#DepartureHaste4'); // Second checkbox
|
||||
const cb3DepartureHaste = $('#DepartureHaste5'); // Third checkbox
|
||||
|
||||
// When the third checkbox (3) is checked
|
||||
cb3DepartureHaste.change(function () {
|
||||
if ($(this).is(':checked')) {
|
||||
cb1DepartureHaste.prop('checked', true); // Check the first checkbox
|
||||
cb2DepartureHaste.prop('checked', true); // Check the second checkbox
|
||||
}
|
||||
toggleInputsDepartureHaste(cb1DepartureHaste);
|
||||
toggleInputsDepartureHaste(cb2DepartureHaste);
|
||||
toggleInputsDepartureHaste(cb3DepartureHaste);
|
||||
});
|
||||
|
||||
// When the second checkbox (2) is checked
|
||||
cb2DepartureHaste.change(function () {
|
||||
if ($(this).is(':checked')) {
|
||||
cb1DepartureHaste.prop('checked', true); // Check the first checkbox
|
||||
cb3DepartureHaste.prop('checked', false); // Uncheck the third checkbox
|
||||
}
|
||||
toggleInputsDepartureHaste(cb1DepartureHaste);
|
||||
toggleInputsDepartureHaste(cb2DepartureHaste);
|
||||
toggleInputsDepartureHaste(cb3DepartureHaste);
|
||||
});
|
||||
|
||||
// When the first checkbox (1) is unchecked
|
||||
cb1DepartureHaste.change(function () {
|
||||
if (!$(this).is(':checked')) {
|
||||
cb2DepartureHaste.prop('checked', false); // Uncheck the second checkbox
|
||||
cb3DepartureHaste.prop('checked', false); // Uncheck the third checkbox
|
||||
}
|
||||
toggleInputsDepartureHaste(cb1DepartureHaste);
|
||||
toggleInputsDepartureHaste(cb2DepartureHaste);
|
||||
toggleInputsDepartureHaste(cb3DepartureHaste);
|
||||
});
|
||||
|
||||
function toggleInputsDepartureHaste(checkbox) {
|
||||
|
||||
const minuteInput = checkbox.closest('.form-group').find('.DepartureHasteInput');
|
||||
const fineMoneyInput = checkbox.closest('.form-group').find('.DepartureHasteInput');
|
||||
|
||||
if (checkbox.is(':checked')) {
|
||||
minuteInput.prop('disabled', false);
|
||||
fineMoneyInput.prop('disabled', false);
|
||||
} else {
|
||||
minuteInput.prop('disabled', true).val(''); // Clear minute value
|
||||
fineMoneyInput.prop('disabled', true).val(''); // Clear fine money value
|
||||
}
|
||||
}
|
||||
});
|
||||
</script>
|
||||
@@ -0,0 +1,58 @@
|
||||
@using _0_Framework.Domain.CustomizeCheckoutValueObjects
|
||||
@model CompanyManagment.App.Contracts.CustomizeWorkshopSettings.EditCustomizeWorkshopSettings
|
||||
|
||||
<div class="row my-2">
|
||||
<div class="col-12 mb-2">
|
||||
<div class="rollCallInfo">
|
||||
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<circle cx="16" cy="16" r="12" fill="#2FC1C1" />
|
||||
<path d="M17.3333 9.33333C17.3333 10.0697 16.7363 10.6667 16 10.6667C15.2636 10.6667 14.6666 10.0697 14.6666 9.33333C14.6666 8.59695 15.2636 8 16 8C16.7363 8 17.3333 8.59695 17.3333 9.33333Z" fill="#FFE2E2" />
|
||||
<path d="M16 22.0013V15.3346C16 14.2416 16 13.695 15.7288 13.3076C15.6284 13.1643 15.5037 13.0396 15.3604 12.9392C14.973 12.668 14.4265 12.668 13.3334 12.668V12.668M16 22.0013H18M16 22.0013H14" stroke="#FFE2E2" />
|
||||
</svg>
|
||||
<span>این تنظیمات در محاسبات فیش حقوق قانونی اداره کار تاثیری نخواهد داشت.</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 group-container">
|
||||
<div class="titleSettingRollCall">مزد مرخصی</div>
|
||||
<div class="form-group my-1 group">
|
||||
<input type="radio" name="Command.LeavePay.LeavePayType" id="LeavePayType1" class="form-check-input Main-Radio" @(Model.LeavePay.LeavePayType == LeavePayType.None ? "checked" : "") value="@((int)(LeavePayType.None))" />
|
||||
<label for="LeavePayType1">مزد مرخصی پرداخت نمیگردد و در فیش حقوقی محاسبه نگردد.</label>
|
||||
</div>
|
||||
<div class="form-group my-1 group">
|
||||
<input type="radio" name="Command.LeavePay.LeavePayType" id="LeavePayType2" class="form-check-input Main-Radio" @(Model.LeavePay.LeavePayType == LeavePayType.Pay ? "checked" : "") value="@((int)(LeavePayType.Pay))"/>
|
||||
<label for="LeavePayType2">در صورتی که پرسنل از مرخصی استفاده ننماید، </label>
|
||||
<select class="form-control-select sub-input @(Model.LeavePay.LeavePayType == LeavePayType.Pay ? "" : "disabled")" name="Command.LeavePay.Value" @(Model.LeavePay.LeavePayType == LeavePayType.Pay ? "asp-for='Model.LeavePay.Value'" : "disabled")>
|
||||
<option value="1" >1</option>
|
||||
<option value="2" >2</option>
|
||||
</select>
|
||||
<label for="LeavePayType2">برابر حقوق در فیش حقوقی محاسبه گردد.</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-12">
|
||||
<div class="lineHr my-3"></div>
|
||||
</div>
|
||||
|
||||
<div class="col-12 group-container">
|
||||
<div class="titleSettingRollCall">حق بیمه</div>
|
||||
<div class="form-group my-1 group">
|
||||
<input type="radio" name="Command.InsuranceDeduction.InsuranceDeductionType" id="InsuranceDeductionType1" class="form-check-input Main-Radio" @(Model.InsuranceDeduction.InsuranceDeductionType == InsuranceDeductionType.None ? "checked" : "") value="@((int)(InsuranceDeductionType.None))" />
|
||||
<label for="InsuranceDeductionType1">حق بیمه پرداخت نمیشود.</label>
|
||||
</div>
|
||||
<div class="form-group my-1 group">
|
||||
<input type="radio" name="Command.InsuranceDeduction.InsuranceDeductionType" id="InsuranceDeductionType2" class="form-check-input Main-Radio" @(Model.InsuranceDeduction.InsuranceDeductionType == InsuranceDeductionType.BasedOnLaborLaw ? "checked" : "") value="@((int)(InsuranceDeductionType.BasedOnLaborLaw))" />
|
||||
<label for="InsuranceDeductionType2">براساس قوانین کار (حقوق + بن کارگری + بن مسکن + حق تاهل) * 7%</label>
|
||||
</div>
|
||||
<div class="form-group my-1 group">
|
||||
<input type="radio" name="Command.InsuranceDeduction.InsuranceDeductionType" id="InsuranceDeductionType3" class="form-check-input Main-Radio" @(Model.InsuranceDeduction.InsuranceDeductionType == InsuranceDeductionType.PercentageOfSalary ? "checked" : "") value="@((int)(InsuranceDeductionType.PercentageOfSalary))" />
|
||||
<label for="InsuranceDeductionType3">براساس درصد از حقوق تعیین</label>
|
||||
<input type="text" class="sub-input form-control-percent" name="Command.InsuranceDeduction.Value" value="@(Model.InsuranceDeduction.InsuranceDeductionType == InsuranceDeductionType.PercentageOfSalary? Model.InsuranceDeduction.Value : "")" @((Model.InsuranceDeduction.Value != 0 && Model.InsuranceDeduction.InsuranceDeductionType == InsuranceDeductionType.PercentageOfSalary) ? "" : "disabled") />
|
||||
</div>
|
||||
<div class="form-group my-1 group">
|
||||
<input type="radio" name="Command.InsuranceDeduction.InsuranceDeductionType" id="InsuranceDeductionType4" class="form-check-input Main-Radio" @(Model.InsuranceDeduction.InsuranceDeductionType == InsuranceDeductionType.Money ? "checked" : "") value="@((int)(InsuranceDeductionType.Money))" />
|
||||
<label for="InsuranceDeductionType4">ماهیانه</label>
|
||||
<input type="text" class="sub-input form-control-currency" name="Command.InsuranceDeduction.Value" value="@(Model.InsuranceDeduction.InsuranceDeductionType == InsuranceDeductionType.Money? Model.InsuranceDeduction.Value : "")" @((Model.InsuranceDeduction.Value != 0 && Model.InsuranceDeduction.InsuranceDeductionType == InsuranceDeductionType.Money) ? "" : "disabled") />
|
||||
<label for="InsuranceDeductionType4">ریال</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,61 @@
|
||||
@using _0_Framework.Domain.CustomizeCheckoutValueObjects
|
||||
@model CompanyManagment.App.Contracts.CustomizeWorkshopSettings.EditCustomizeWorkshopSettings
|
||||
|
||||
<div class="row my-2">
|
||||
<div class="col-12 mb-2">
|
||||
<div class="rollCallInfo">
|
||||
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<circle cx="16" cy="16" r="12" fill="#2FC1C1" />
|
||||
<path d="M17.3333 9.33333C17.3333 10.0697 16.7363 10.6667 16 10.6667C15.2636 10.6667 14.6666 10.0697 14.6666 9.33333C14.6666 8.59695 15.2636 8 16 8C16.7363 8 17.3333 8.59695 17.3333 9.33333Z" fill="#FFE2E2" />
|
||||
<path d="M16 22.0013V15.3346C16 14.2416 16 13.695 15.7288 13.3076C15.6284 13.1643 15.5037 13.0396 15.3604 12.9392C14.973 12.668 14.4265 12.668 13.3334 12.668V12.668M16 22.0013H18M16 22.0013H14" stroke="#FFE2E2" />
|
||||
</svg>
|
||||
<span>این تنظیمات در محاسبات فیش حقوق قانونی اداره کار تاثیری نخواهد داشت.</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 group-container">
|
||||
<div class="titleSettingRollCall">حق تاهل</div>
|
||||
<div class="form-group my-1 group">
|
||||
<input type="radio" name="Command.MarriedAllowance.MarriedAllowanceType" id="MarryRight1" class="form-check-input Main-Radio" @(Model.MarriedAllowance.MarriedAllowanceType == MarriedAllowanceType.None ? "checked" : "") value="@((int)(MarriedAllowanceType.None))" />
|
||||
<label for="MarryRight1">حق تاهل در فیش حقوقی محاسبه نگردد.</label>
|
||||
</div>
|
||||
<div class="form-group group">
|
||||
<input type="radio" name="Command.MarriedAllowance.MarriedAllowanceType" id="MarryRight2" class="form-check-input Main-Radio" @(Model.MarriedAllowance.MarriedAllowanceType == MarriedAllowanceType.Money ? "checked" : "") value="@((int)(MarriedAllowanceType.Money))" />
|
||||
<label for="MarryRight2">درصورتی که پرسنل شما متاهل باشد مبلغ</label>
|
||||
<input type="text" class="sub-input form-control-currency" name="Command.MarriedAllowance.Value" value="@(Model.MarriedAllowance.MarriedAllowanceType == MarriedAllowanceType.Money ? Model.MarriedAllowance.Value : "")" @((Model.MarriedAllowance.Value != 0 && Model.MarriedAllowance.MarriedAllowanceType == MarriedAllowanceType.Money) ? "" : "disabled") />
|
||||
<label for="MarryRight2">ريال در فیش حقوقی محاسبه گردد.</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="col-12">
|
||||
<div class="lineHr my-3"></div>
|
||||
</div>
|
||||
|
||||
<div class="col-12 mb-2 group-container">
|
||||
<div class="titleSettingRollCall">حق اولاد</div>
|
||||
<div class="form-group my-1">
|
||||
<input type="radio" name="Command.FamilyAllowance.FamilyAllowanceType" id="ChildrenRight1" class="form-check-input Main-Radio" @(Model.FamilyAllowance.FamilyAllowanceType == FamilyAllowanceType.None ? "checked" : "") value="@((int)(FamilyAllowanceType.None))" />
|
||||
<label for="ChildrenRight1">حق اولاد در فیش حقوقی محاسبه نگردد.</label>
|
||||
<div class="titleSettingRollCallCheckboxSubtitle">(جهت استفاده از این بخش میبایست در فرم اطلاعات پرسنل تعداد فرزندان و سال تولد آن ها را وارد نمائید)</div>
|
||||
</div>
|
||||
<div class="form-group my-1 group">
|
||||
<input type="checkbox" name="Command.FamilyAllowance" id="ChildrenRight2" class="form-check-input Main-Radio main-checkbox"
|
||||
@((Model.FamilyAllowance.FamilyAllowanceType == FamilyAllowanceType.Percentage || Model.FamilyAllowance.FamilyAllowanceType == FamilyAllowanceType.Money) ? "checked" : "") />
|
||||
<label for="ChildrenRight2">در صورت داشتن فرزند زیر 18 سال پرسنل مبالغ به شرح ذیل در فیش حقوقی محاسبه گردد.</label>
|
||||
|
||||
<div class="sub-group form-group my-1 ms-4 ChildrenRight2SubDisable">
|
||||
<div>
|
||||
<input type="radio" name="Command.FamilyAllowance.FamilyAllowanceType" id="ChildrenRight2Sub1" class="form-check-input Sub-Radio" @(Model.FamilyAllowance.FamilyAllowanceType == FamilyAllowanceType.Percentage ? "checked" : "") value="@((int)(FamilyAllowanceType.Percentage))" @((Model.FamilyAllowance.FamilyAllowanceType == FamilyAllowanceType.Percentage || Model.FamilyAllowance.FamilyAllowanceType == FamilyAllowanceType.Money) ? "" : "disabled") />
|
||||
<label for="ChildrenRight2Sub1">برای هر فرزند درصد از مزد روزانه پرسنل </label>
|
||||
<input type="text" class="sub-input form-control-percent" name="Command.FamilyAllowance.Value" value="@(Model.FamilyAllowance.FamilyAllowanceType == FamilyAllowanceType.Percentage ? Model.FamilyAllowance.Value : "")" @((Model.FamilyAllowance.Value != 0 && Model.FamilyAllowance.FamilyAllowanceType == FamilyAllowanceType.Percentage) ? "" : "disabled") />
|
||||
</div>
|
||||
<div>
|
||||
<input type="radio" name="Command.FamilyAllowance.FamilyAllowanceType" id="ChildrenRight2Sub2" class="form-check-input Sub-Radio" @(Model.FamilyAllowance.FamilyAllowanceType == FamilyAllowanceType.Money ? "checked" : "") value="@((int)(FamilyAllowanceType.Money))" @((Model.FamilyAllowance.FamilyAllowanceType == FamilyAllowanceType.Percentage || Model.FamilyAllowance.FamilyAllowanceType == FamilyAllowanceType.Money) ? "" : "disabled") />
|
||||
<label for="ChildrenRight2Sub2">برای هر فرزند مبلغ </label>
|
||||
<input type="text" class="sub-input form-control-currency" name="Command.FamilyAllowance.Value" value="@(Model.FamilyAllowance.FamilyAllowanceType == FamilyAllowanceType.Money ? Model.FamilyAllowance.Value : "")" @((Model.FamilyAllowance.Value != 0 && Model.FamilyAllowance.FamilyAllowanceType == FamilyAllowanceType.Money) ? "" : "disabled") />
|
||||
<label for="ChildrenRight2Sub2">ريال</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,43 @@
|
||||
@using _0_Framework.Domain.CustomizeCheckoutValueObjects
|
||||
@model CompanyManagment.App.Contracts.CustomizeWorkshopSettings.EditCustomizeWorkshopSettings
|
||||
|
||||
<div class="row my-2">
|
||||
<div class="col-12 mb-2">
|
||||
<div class="rollCallInfo">
|
||||
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<circle cx="16" cy="16" r="12" fill="#2FC1C1" />
|
||||
<path d="M17.3333 9.33333C17.3333 10.0697 16.7363 10.6667 16 10.6667C15.2636 10.6667 14.6666 10.0697 14.6666 9.33333C14.6666 8.59695 15.2636 8 16 8C16.7363 8 17.3333 8.59695 17.3333 9.33333Z" fill="#FFE2E2" />
|
||||
<path d="M16 22.0013V15.3346C16 14.2416 16 13.695 15.7288 13.3076C15.6284 13.1643 15.5037 13.0396 15.3604 12.9392C14.973 12.668 14.4265 12.668 13.3334 12.668V12.668M16 22.0013H18M16 22.0013H14" stroke="#FFE2E2" />
|
||||
</svg>
|
||||
<span>این تنظیمات در محاسبات فیش حقوق قانونی اداره کار تاثیری نخواهد داشت.</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-12 group-container">
|
||||
<div class="titleSettingRollCall">شب کاری</div>
|
||||
<div class="form-group my-1 group">
|
||||
<input type="radio" name="Command.NightWorkPay.NightWorkingType" id="NightWork1" class="form-check-input Main-Radio" @(Model.NightWorkPay.NightWorkingType == NightWorkType.None ? "checked" : "") value="@((int)(NightWorkType.None))" />
|
||||
<label for="NightWork1">شب کاری پرسنل در فیش حقوقی محاسبه نگردد. (ساعات شب کاری 22:00 الی 06:00 میباشد)</label>
|
||||
</div>
|
||||
|
||||
<div class="form-group my-1 group">
|
||||
<input type="checkbox" name="Command.NightWorkPay" id="NightWork2" class="form-check-input Main-Radio main-checkbox" @((Model.NightWorkPay.NightWorkingType == NightWorkType.PercentageFromSalary || Model.NightWorkPay.NightWorkingType == NightWorkType.MoneyPerHour) ? "checked" : "") />
|
||||
<label for="NightWork2">بابت هر ساعت شب کاری پرسنل ، به شرح ذیل اضافه بر حقوق در فیش حقوقی محاسبه گردد..</label>
|
||||
|
||||
<div class="sub-group form-group my-1 ms-4 NightWorkSubDisable">
|
||||
<div>
|
||||
<input type="radio" name="Command.NightWorkPay.NightWorkingType" id="NightWork2Sub1" class="form-check-input Sub-Radio" @(Model.NightWorkPay.NightWorkingType == NightWorkType.PercentageFromSalary ? "checked" : "") value="@((int)(NightWorkType.PercentageFromSalary))" @((Model.NightWorkPay.NightWorkingType == NightWorkType.PercentageFromSalary || Model.NightWorkPay.NightWorkingType == NightWorkType.MoneyPerHour) ? "" : "disabled") />
|
||||
<label for="NightWork2Sub1">درصد از مزد روزانه پرسنل</label>
|
||||
<input type="text" class="sub-input form-control-percent" name="Command.NightWorkPay.Value" value="@(Model.NightWorkPay.NightWorkingType == NightWorkType.PercentageFromSalary ? Model.NightWorkPay.Value : "")" @((Model.NightWorkPay.Value != 0 && Model.NightWorkPay.NightWorkingType == NightWorkType.PercentageFromSalary) ? "" : "disabled") />
|
||||
</div>
|
||||
<div>
|
||||
<input type="radio" name="Command.NightWorkPay.NightWorkingType" id="NightWork2Sub2" class="form-check-input Sub-Radio" @(Model.NightWorkPay.NightWorkingType == NightWorkType.MoneyPerHour ? "checked" : "") value="@((int)(NightWorkType.MoneyPerHour))" @((Model.NightWorkPay.NightWorkingType == NightWorkType.PercentageFromSalary || Model.NightWorkPay.NightWorkingType == NightWorkType.MoneyPerHour) ? "" : "disabled") />
|
||||
<label for="NightWork2Sub2">بابت هر ساعت مبلغ </label>
|
||||
<input type="text" class="sub-input form-control-currency" name="Command.NightWorkPay.Value" value="@(Model.NightWorkPay.NightWorkingType == NightWorkType.MoneyPerHour ? Model.NightWorkPay.Value : "")" @((Model.NightWorkPay.Value != 0 && Model.NightWorkPay.NightWorkingType == NightWorkType.MoneyPerHour) ? "" : "disabled") />
|
||||
<label for="NightWork2Sub2">ريال</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
@@ -0,0 +1,112 @@
|
||||
@model CompanyManagment.App.Contracts.CustomizeWorkshopSettings.EditCustomizeWorkshopSettings
|
||||
|
||||
<style>
|
||||
.timeWorkTitle {
|
||||
color: #5C5C5C;
|
||||
font-weight: 600;
|
||||
font-size: 12px;
|
||||
margin: auto 0 auto 6px;
|
||||
}
|
||||
|
||||
.groupBox {
|
||||
background-color: #F5F5F5;
|
||||
border-radius: 10px;
|
||||
border: 1px solid #E7E7E7;
|
||||
padding: 6px;
|
||||
margin: 6px 3px;
|
||||
}
|
||||
|
||||
.groupBox .form-control{
|
||||
background-color: #ffffff;
|
||||
}
|
||||
|
||||
.btnAddTimeWork {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
background-color: #84CC16;
|
||||
border-radius: 5px;
|
||||
color: #ffffff;
|
||||
font-size: 12px;
|
||||
font-weight: 500;
|
||||
padding: 4px 8px;
|
||||
}
|
||||
|
||||
.btnRemoveTimeWork {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
background-color: #F87171;
|
||||
border-radius: 7px;
|
||||
padding: 3px;
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
}
|
||||
</style>
|
||||
|
||||
<div class="container p-0 m-0" id="WorkingTimeSetting">
|
||||
<div class="row">
|
||||
<div class="col-12" id="appendChildTimeWorkHtml">
|
||||
|
||||
@for (var i=0; i < Model.ShiftsList.Count(); i++)
|
||||
{
|
||||
<div class="groupBox">
|
||||
<div class="row align-items-center justify-content-between">
|
||||
<div class="col-2 d-flex align-items-center">
|
||||
<input type="hidden" name="Command.ShiftsList[@i].Placement" value="@Model.ShiftsList[@i].Placement" />
|
||||
<div class="timeWorkTitle">نوبت اول</div>
|
||||
</div>
|
||||
|
||||
<div class="col-4 d-flex align-items-center">
|
||||
<div class="timeWorkTitle">از</div>
|
||||
<input type="text" class="form-control text-center dateTime" name="Command.ShiftsList[@i].StartTime" value="@Model.ShiftsList[@i].StartTime" placeholder="00:00" style="direction: ltr"/>
|
||||
</div>
|
||||
|
||||
<div class="col-4 d-flex align-items-center">
|
||||
<div class="timeWorkTitle">الی</div>
|
||||
<input type="text" class="form-control text-center dateTime" name="Command.ShiftsList[@i].EndTime" value="@Model.ShiftsList[@i].EndTime" placeholder="00:00" style="direction: ltr" />
|
||||
</div>
|
||||
@if (i == 0)
|
||||
{
|
||||
<div class="col-2 d-flex align-items-center justify-content-end">
|
||||
</div>
|
||||
}
|
||||
else
|
||||
{
|
||||
<div class="col-2 d-flex align-items-center justify-content-end">
|
||||
<button type="button" class="btnRemoveTimeWork">
|
||||
<svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<circle cx="11" cy="11" r="8.25" stroke="white" />
|
||||
<path d="M6.875 11H15.125" stroke="white" />
|
||||
</svg>
|
||||
</button>
|
||||
</div>
|
||||
}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
|
||||
</div>
|
||||
<div class="d-flex align-items-center justify-content-center w-100 my-2">
|
||||
<button type="button" class="btnAddTimeWork">
|
||||
<svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<circle cx="11" cy="11" r="8.25" stroke="white" />
|
||||
<path d="M11 13.75L11 8.25" stroke="white" stroke-linecap="round" />
|
||||
<path d="M13.75 11L8.25 11" stroke="white" stroke-linecap="round" />
|
||||
</svg>
|
||||
@if (Model.ShiftsList.Count() == 2)
|
||||
{
|
||||
<div class="mx-1 btnAppendChildTimeWork">افزودن نوبت سوم</div>
|
||||
}
|
||||
else
|
||||
{
|
||||
<div class="mx-1 btnAppendChildTimeWork">افزودن نوبت دوم</div>
|
||||
}
|
||||
</button>
|
||||
</div>
|
||||
<div class="col-12">
|
||||
<p class="m-0" id="ShowSettingMessage"></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -3,6 +3,7 @@ using Microsoft.AspNetCore.Builder;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using System.Threading.Tasks;
|
||||
using AccountManagement.Domain.TaskAgg;
|
||||
using _0_Framework.Application;
|
||||
|
||||
namespace ServiceHost.MiddleWare
|
||||
{
|
||||
@@ -10,12 +11,12 @@ namespace ServiceHost.MiddleWare
|
||||
public class CheckTaskMiddleware
|
||||
{
|
||||
private readonly RequestDelegate _next;
|
||||
private readonly IAuthHelper _authHelper;
|
||||
|
||||
|
||||
public CheckTaskMiddleware(RequestDelegate next)
|
||||
public CheckTaskMiddleware(RequestDelegate next, IAuthHelper authHelper)
|
||||
{
|
||||
_next = next;
|
||||
|
||||
_authHelper = authHelper;
|
||||
}
|
||||
|
||||
public Task Invoke(HttpContext httpContext, ITaskRepository taskRepository)
|
||||
@@ -29,7 +30,8 @@ namespace ServiceHost.MiddleWare
|
||||
!httpContext.Request.Path.Equals("/task", StringComparison.OrdinalIgnoreCase)&&
|
||||
!httpContext.Request.Path.Equals("/serviceWorker", StringComparison.OrdinalIgnoreCase))
|
||||
{
|
||||
var result = taskRepository.HasOverdueTasks();
|
||||
long userId = _authHelper.CurrentAccountId();
|
||||
var result = taskRepository.HasOverdueTasks(userId);
|
||||
if (result)
|
||||
{
|
||||
httpContext.Response.Redirect("/task");
|
||||
|
||||
@@ -46,6 +46,10 @@
|
||||
<None Remove="wwwroot\webcamjs\flash\**" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Content Remove="Areas\Camera\Pages\CamStandby.cshtml" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\AccountManagement.Configuration\AccountManagement.Configuration.csproj" />
|
||||
<ProjectReference Include="..\backService\backService.csproj" />
|
||||
@@ -110,6 +114,7 @@
|
||||
<None Include="Areas\Admin\Pages\Company\Reports\Index.cshtml" />
|
||||
<None Include="Areas\Admin\Pages\Company\Workshops\_CreateForms\FormPermissionAccount.cshtml" />
|
||||
<None Include="Areas\Admin\Pages\Company\Workshops\_EditForms\FormPermissionAccount.cshtml" />
|
||||
<None Include="Areas\Camera\Pages\CamStandby.cshtml" />
|
||||
<None Include="Areas\Camera\Pages\Index.cshtml" />
|
||||
<None Include="Areas\Camera\Pages\Shared\_ValidationScriptsPartial.cshtml" />
|
||||
<None Include="Areas\Camera\Pages\_ViewImports.cshtml" />
|
||||
@@ -199,12 +204,49 @@
|
||||
<None Include="Areas\Client\Pages\Company\RollCall\CaseHistory.cshtml" />
|
||||
<None Include="Areas\Client\Pages\Company\RollCall\CurrentDay.cshtml" />
|
||||
<None Include="Areas\Client\Pages\Company\RollCall\EmployeeUploadPicture.cshtml" />
|
||||
<None Include="Areas\Client\Pages\Company\RollCall\Grouping.cshtml" />
|
||||
<None Include="Areas\Client\Pages\Company\RollCall\Index.cshtml" />
|
||||
<None Include="Areas\Client\Pages\Company\RollCall\ModalAddEmployeeToGroup.cshtml" />
|
||||
<None Include="Areas\Client\Pages\Company\RollCall\ModalCameraAccount.cshtml" />
|
||||
<None Include="Areas\Client\Pages\Company\RollCall\ModalCreateAccountSetting.cshtml" />
|
||||
<None Include="Areas\Client\Pages\Company\RollCall\ModalCreateGroup.cshtml" />
|
||||
<None Include="Areas\Client\Pages\Company\RollCall\ModalEditEmployeeFromGroup.cshtml" />
|
||||
<None Include="Areas\Client\Pages\Company\RollCall\ModalEditGroup.cshtml" />
|
||||
<None Include="Areas\Client\Pages\Company\RollCall\ModalOTPAction.cshtml" />
|
||||
<None Include="Areas\Client\Pages\Company\RollCall\ModalOTPActionFree.cshtml" />
|
||||
<None Include="Areas\Client\Pages\Company\RollCall\ModalSettingGroup.cshtml" />
|
||||
<None Include="Areas\Client\Pages\Company\RollCall\ModalSettingGroupEmployee.cshtml" />
|
||||
<None Include="Areas\Client\Pages\Company\RollCall\ModalSettingRollCall.cshtml" />
|
||||
<None Include="Areas\Client\Pages\Company\RollCall\ModalTakeImages.cshtml" />
|
||||
<None Include="Areas\Client\Pages\Company\RollCall\Plans.cshtml" />
|
||||
<None Include="Areas\Client\Pages\Company\RollCall\_ModalEmployeeSettingPartials\BonusesPayAndBaseYearPay.cshtml" />
|
||||
<None Include="Areas\Client\Pages\Company\RollCall\_ModalEmployeeSettingPartials\FineAbsenceDeduction.cshtml" />
|
||||
<None Include="Areas\Client\Pages\Company\RollCall\_ModalEmployeeSettingPartials\FridayAndHoliday.cshtml" />
|
||||
<None Include="Areas\Client\Pages\Company\RollCall\_ModalEmployeeSettingPartials\FridayPayAndOvertimePay.cshtml" />
|
||||
<None Include="Areas\Client\Pages\Company\RollCall\_ModalEmployeeSettingPartials\LateToWorkAndEarlyExit.cshtml" />
|
||||
<None Include="Areas\Client\Pages\Company\RollCall\_ModalEmployeeSettingPartials\LeavePayAndInsuranceDeduction.cshtml" />
|
||||
<None Include="Areas\Client\Pages\Company\RollCall\_ModalEmployeeSettingPartials\MarriedAllowanceAndFamilyAllowance.cshtml" />
|
||||
<None Include="Areas\Client\Pages\Company\RollCall\_ModalEmployeeSettingPartials\NightWork.cshtml" />
|
||||
<None Include="Areas\Client\Pages\Company\RollCall\_ModalEmployeeSettingPartials\WorkTimeSetting.cshtml" />
|
||||
<None Include="Areas\Client\Pages\Company\RollCall\_ModalGroupSettingPartials\BonusesPayAndBaseYearPay.cshtml" />
|
||||
<None Include="Areas\Client\Pages\Company\RollCall\_ModalGroupSettingPartials\FineAbsenceDeduction.cshtml" />
|
||||
<None Include="Areas\Client\Pages\Company\RollCall\_ModalGroupSettingPartials\FridayAndHoliday.cshtml" />
|
||||
<None Include="Areas\Client\Pages\Company\RollCall\_ModalGroupSettingPartials\FridayPayAndOvertimePay.cshtml" />
|
||||
<None Include="Areas\Client\Pages\Company\RollCall\_ModalGroupSettingPartials\LateToWorkAndEarlyExit.cshtml" />
|
||||
<None Include="Areas\Client\Pages\Company\RollCall\_ModalGroupSettingPartials\LeavePayAndInsuranceDeduction.cshtml" />
|
||||
<None Include="Areas\Client\Pages\Company\RollCall\_ModalGroupSettingPartials\MarriedAllowanceAndFamilyAllowance.cshtml" />
|
||||
<None Include="Areas\Client\Pages\Company\RollCall\_ModalGroupSettingPartials\NightWork.cshtml" />
|
||||
<None Include="Areas\Client\Pages\Company\RollCall\_ModalGroupSettingPartials\WorkTimeSetting.cshtml" />
|
||||
<None Include="Areas\Client\Pages\Company\RollCall\_ModalPartials\BonusesPayAndBaseYearPay.cshtml" />
|
||||
<None Include="Areas\Client\Pages\Company\RollCall\_ModalPartials\EditAccountSetting.cshtml" />
|
||||
<None Include="Areas\Client\Pages\Company\RollCall\_ModalPartials\FineAbsenceDeduction.cshtml" />
|
||||
<None Include="Areas\Client\Pages\Company\RollCall\_ModalPartials\FridayAndHoliday.cshtml" />
|
||||
<None Include="Areas\Client\Pages\Company\RollCall\_ModalPartials\FridayPayAndOvertimePay.cshtml" />
|
||||
<None Include="Areas\Client\Pages\Company\RollCall\_ModalPartials\LateToWorkAndEarlyExit.cshtml" />
|
||||
<None Include="Areas\Client\Pages\Company\RollCall\_ModalPartials\LeavePayAndInsuranceDeduction.cshtml" />
|
||||
<None Include="Areas\Client\Pages\Company\RollCall\_ModalPartials\MarriedAllowanceAndFamilyAllowance.cshtml" />
|
||||
<None Include="Areas\Client\Pages\Company\RollCall\_ModalPartials\NightWork.cshtml" />
|
||||
<None Include="Areas\Client\Pages\Company\RollCall\_ModalPartials\WorkTimeSetting.cshtml" />
|
||||
<None Include="Areas\Client\Pages\Company\Ticket\DetailTicketModal.cshtml" />
|
||||
<None Include="Areas\Client\Pages\Company\Ticket\DetailTicketModalOld.cshtml" />
|
||||
<None Include="Areas\Client\Pages\Company\Ticket\Index.cshtml" />
|
||||
@@ -2995,10 +3037,15 @@
|
||||
|
||||
<ItemGroup>
|
||||
<_ContentIncludedByDefault Remove="Areas\Admin\Pages\Accounts\Account\AccountLeftWork.cshtml" />
|
||||
<_ContentIncludedByDefault Remove="Areas\Camera\Pages\CamStandby.cshtml" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Content Include="wwwroot\AssetsAdminNew\Tasks\css\.config\dotnet-tools.json" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<UpToDateCheckInput Remove="Areas\Camera\Pages\CamStandby.cshtml" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
||||
@@ -12,10 +12,10 @@
|
||||
//"MesbahDb": "Data Source=DESKTOP-NUE119G\\MSNEW;Initial Catalog=Mesbah_db;Integrated Security=True"
|
||||
|
||||
//server
|
||||
"MesbahDb": "Data Source=171.22.24.15;Initial Catalog=mesbah_db;Persist Security Info=False;User ID=ir_db;Password=R2rNp[170]is[3019]#@ATt;TrustServerCertificate=true;"
|
||||
//"MesbahDb": "Data Source=171.22.24.15;Initial Catalog=mesbah_db;Persist Security Info=False;User ID=ir_db;Password=R2rNp[170]is[3019]#@ATt;TrustServerCertificate=true;"
|
||||
|
||||
//local
|
||||
//"MesbahDb": "Data Source=.;Initial Catalog=Mesbah_db;Integrated Security=True;TrustServerCertificate=true;"
|
||||
"MesbahDb": "Data Source=.;Initial Catalog=Mesbah_db;Integrated Security=True;TrustServerCertificate=true;"
|
||||
},
|
||||
"GoogleRecaptchaV3": {
|
||||
"SiteKey": "6Lfhp_AnAAAAAB79WkrMoHd1k8ir4m8VvfjE7FTH",
|
||||
|
||||
@@ -648,6 +648,7 @@
|
||||
width: 100%;
|
||||
bottom: 34px;
|
||||
right: 11px;
|
||||
z-index: 65;
|
||||
}
|
||||
|
||||
.actionBtnsection .actionBtn {
|
||||
@@ -776,6 +777,14 @@
|
||||
|
||||
|
||||
@media (max-width: 768px) {
|
||||
.h-m-100 {
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.showInMobile {
|
||||
margin: -17px 0 0 0;
|
||||
}
|
||||
|
||||
.modal-content {
|
||||
height: 100vh; /* Full screen */
|
||||
max-height: 94vh;
|
||||
|
||||
@@ -74,6 +74,7 @@
|
||||
outline: 0.5px solid #29B5B5;
|
||||
margin: 0 0 7px 0;
|
||||
border-radius: 10px;
|
||||
transition: all ease-in .3s;
|
||||
}
|
||||
|
||||
.gwb-card::before {
|
||||
@@ -105,9 +106,18 @@
|
||||
.gwb-card .click:hover {
|
||||
background: #eef9f9;
|
||||
}
|
||||
|
||||
.gwb-card .click.active {
|
||||
background: #eef9f9;
|
||||
}
|
||||
|
||||
/*.gwb-card:hover ~ .gwb-card {
|
||||
opacity: 0.4;
|
||||
}
|
||||
|
||||
.gwb-card:hover {
|
||||
opacity: 1;
|
||||
}*/
|
||||
/************************* End With Border Gozareshgir Card *************************/
|
||||
|
||||
.card-area-workshop {
|
||||
@@ -118,6 +128,10 @@
|
||||
grid-template-columns: repeat(3, minmax(0, 1fr));
|
||||
}
|
||||
|
||||
.card-area-employees-section {
|
||||
grid-template-columns: repeat(4, minmax(0, 1fr));
|
||||
}
|
||||
|
||||
.card-area-report {
|
||||
grid-template-columns: repeat(3, minmax(0, 1fr));
|
||||
}
|
||||
@@ -147,8 +161,17 @@
|
||||
.card-area-employees {
|
||||
grid-template-columns: repeat(3, minmax(0, 1fr));
|
||||
}
|
||||
.card-area-employees-section {
|
||||
grid-template-columns: repeat(4, minmax(0, 1fr));
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 768px) {
|
||||
.card-area-employees-section {
|
||||
grid-template-columns: repeat(2, minmax(0, 1fr));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@media (max-width: 576px) {
|
||||
.card-area-workshop {
|
||||
@@ -159,6 +182,10 @@
|
||||
grid-template-columns: repeat(1, minmax(0, 1fr));
|
||||
}
|
||||
|
||||
.card-area-employees-section {
|
||||
grid-template-columns: repeat(1, minmax(0, 1fr));
|
||||
}
|
||||
|
||||
.card-area-report {
|
||||
grid-template-columns: repeat(1, minmax(0, 1fr));
|
||||
}
|
||||
|
||||
BIN
ServiceHost/wwwroot/AssetsClient/images/fakeCartmeli.png
Normal file
BIN
ServiceHost/wwwroot/AssetsClient/images/fakeCartmeli.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 8.3 KiB |
BIN
ServiceHost/wwwroot/AssetsClient/images/pd-image.png
Normal file
BIN
ServiceHost/wwwroot/AssetsClient/images/pd-image.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.1 KiB |
BIN
ServiceHost/wwwroot/AssetsClient/images/setting.png
Normal file
BIN
ServiceHost/wwwroot/AssetsClient/images/setting.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.3 KiB |
8
ServiceHost/wwwroot/AssetsClient/libs/cleave/cleave.min.js
vendored
Normal file
8
ServiceHost/wwwroot/AssetsClient/libs/cleave/cleave.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
@@ -0,0 +1,55 @@
|
||||
(function ($) {
|
||||
$.fn.simpleMoneyFormat = function() {
|
||||
this.each(function(index, el) {
|
||||
var elType = null; // input or other
|
||||
var value = null;
|
||||
// get value
|
||||
if($(el).is('input') || $(el).is('textarea')){
|
||||
value = $(el).val().replace(/,/g, '');
|
||||
elType = 'input';
|
||||
} else {
|
||||
value = $(el).text().replace(/,/g, '');
|
||||
elType = 'other';
|
||||
}
|
||||
// if value changes
|
||||
$(el).on('paste keyup', function(){
|
||||
value = $(el).val().replace(/,/g, '');
|
||||
formatElement(el, elType, value); // format element
|
||||
});
|
||||
formatElement(el, elType, value); // format element
|
||||
});
|
||||
function formatElement(el, elType, value){
|
||||
var result = '';
|
||||
var valueArray = value.split('');
|
||||
var resultArray = [];
|
||||
var counter = 0;
|
||||
var temp = '';
|
||||
for (var i = valueArray.length - 1; i >= 0; i--) {
|
||||
temp += valueArray[i];
|
||||
counter++
|
||||
if(counter == 3){
|
||||
resultArray.push(temp);
|
||||
counter = 0;
|
||||
temp = '';
|
||||
}
|
||||
};
|
||||
if(counter > 0){
|
||||
resultArray.push(temp);
|
||||
}
|
||||
for (var i = resultArray.length - 1; i >= 0; i--) {
|
||||
var resTemp = resultArray[i].split('');
|
||||
for (var j = resTemp.length - 1; j >= 0; j--) {
|
||||
result += resTemp[j];
|
||||
};
|
||||
if(i > 0){
|
||||
result += ','
|
||||
}
|
||||
};
|
||||
if(elType == 'input'){
|
||||
$(el).val(result);
|
||||
} else {
|
||||
$(el).empty().text(result);
|
||||
}
|
||||
}
|
||||
};
|
||||
}(jQuery));
|
||||
35543
ServiceHost/wwwroot/AssetsClient/libs/html2pdf/html2pdf.bundle.js
Normal file
35543
ServiceHost/wwwroot/AssetsClient/libs/html2pdf/html2pdf.bundle.js
Normal file
File diff suppressed because one or more lines are too long
3
ServiceHost/wwwroot/AssetsClient/libs/html2pdf/html2pdf.bundle.min.js
vendored
Normal file
3
ServiceHost/wwwroot/AssetsClient/libs/html2pdf/html2pdf.bundle.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
5872
ServiceHost/wwwroot/AssetsClient/libs/html2pdf/html2pdf.js
Normal file
5872
ServiceHost/wwwroot/AssetsClient/libs/html2pdf/html2pdf.js
Normal file
File diff suppressed because it is too large
Load Diff
3
ServiceHost/wwwroot/AssetsClient/libs/html2pdf/html2pdf.min.js
vendored
Normal file
3
ServiceHost/wwwroot/AssetsClient/libs/html2pdf/html2pdf.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
@@ -0,0 +1,731 @@
|
||||
/*!
|
||||
* @overview es6-promise - a tiny implementation of Promises/A+.
|
||||
* @copyright Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors (Conversion to ES6 API by Jake Archibald)
|
||||
* @license Licensed under MIT license
|
||||
* See https://raw.githubusercontent.com/stefanpenner/es6-promise/master/LICENSE
|
||||
* @version v4.2.8+1e68dce6
|
||||
*/
|
||||
|
||||
/*!
|
||||
* html2pdf.js v0.10.2
|
||||
* Copyright (c) 2024 Erik Koopmans
|
||||
* Released under the MIT License.
|
||||
*/
|
||||
|
||||
/*! ../internals/a-function */
|
||||
|
||||
/*! ../internals/a-possible-prototype */
|
||||
|
||||
/*! ../internals/add-to-unscopables */
|
||||
|
||||
/*! ../internals/an-object */
|
||||
|
||||
/*! ../internals/array-for-each */
|
||||
|
||||
/*! ../internals/array-includes */
|
||||
|
||||
/*! ../internals/array-iteration */
|
||||
|
||||
/*! ../internals/array-method-has-species-support */
|
||||
|
||||
/*! ../internals/array-method-is-strict */
|
||||
|
||||
/*! ../internals/array-species-constructor */
|
||||
|
||||
/*! ../internals/array-species-create */
|
||||
|
||||
/*! ../internals/classof */
|
||||
|
||||
/*! ../internals/classof-raw */
|
||||
|
||||
/*! ../internals/copy-constructor-properties */
|
||||
|
||||
/*! ../internals/correct-prototype-getter */
|
||||
|
||||
/*! ../internals/create-html */
|
||||
|
||||
/*! ../internals/create-iterator-constructor */
|
||||
|
||||
/*! ../internals/create-non-enumerable-property */
|
||||
|
||||
/*! ../internals/create-property */
|
||||
|
||||
/*! ../internals/create-property-descriptor */
|
||||
|
||||
/*! ../internals/define-iterator */
|
||||
|
||||
/*! ../internals/define-well-known-symbol */
|
||||
|
||||
/*! ../internals/descriptors */
|
||||
|
||||
/*! ../internals/document-create-element */
|
||||
|
||||
/*! ../internals/dom-iterables */
|
||||
|
||||
/*! ../internals/engine-user-agent */
|
||||
|
||||
/*! ../internals/engine-v8-version */
|
||||
|
||||
/*! ../internals/enum-bug-keys */
|
||||
|
||||
/*! ../internals/export */
|
||||
|
||||
/*! ../internals/fails */
|
||||
|
||||
/*! ../internals/function-bind-context */
|
||||
|
||||
/*! ../internals/get-built-in */
|
||||
|
||||
/*! ../internals/global */
|
||||
|
||||
/*! ../internals/has */
|
||||
|
||||
/*! ../internals/hidden-keys */
|
||||
|
||||
/*! ../internals/html */
|
||||
|
||||
/*! ../internals/ie8-dom-define */
|
||||
|
||||
/*! ../internals/indexed-object */
|
||||
|
||||
/*! ../internals/inherit-if-required */
|
||||
|
||||
/*! ../internals/inspect-source */
|
||||
|
||||
/*! ../internals/internal-state */
|
||||
|
||||
/*! ../internals/is-array */
|
||||
|
||||
/*! ../internals/is-forced */
|
||||
|
||||
/*! ../internals/is-object */
|
||||
|
||||
/*! ../internals/is-pure */
|
||||
|
||||
/*! ../internals/is-symbol */
|
||||
|
||||
/*! ../internals/iterators */
|
||||
|
||||
/*! ../internals/iterators-core */
|
||||
|
||||
/*! ../internals/native-symbol */
|
||||
|
||||
/*! ../internals/native-weak-map */
|
||||
|
||||
/*! ../internals/object-assign */
|
||||
|
||||
/*! ../internals/object-create */
|
||||
|
||||
/*! ../internals/object-define-properties */
|
||||
|
||||
/*! ../internals/object-define-property */
|
||||
|
||||
/*! ../internals/object-get-own-property-descriptor */
|
||||
|
||||
/*! ../internals/object-get-own-property-names */
|
||||
|
||||
/*! ../internals/object-get-own-property-names-external */
|
||||
|
||||
/*! ../internals/object-get-own-property-symbols */
|
||||
|
||||
/*! ../internals/object-get-prototype-of */
|
||||
|
||||
/*! ../internals/object-keys */
|
||||
|
||||
/*! ../internals/object-keys-internal */
|
||||
|
||||
/*! ../internals/object-property-is-enumerable */
|
||||
|
||||
/*! ../internals/object-set-prototype-of */
|
||||
|
||||
/*! ../internals/object-to-string */
|
||||
|
||||
/*! ../internals/ordinary-to-primitive */
|
||||
|
||||
/*! ../internals/own-keys */
|
||||
|
||||
/*! ../internals/path */
|
||||
|
||||
/*! ../internals/redefine */
|
||||
|
||||
/*! ../internals/regexp-flags */
|
||||
|
||||
/*! ../internals/require-object-coercible */
|
||||
|
||||
/*! ../internals/set-global */
|
||||
|
||||
/*! ../internals/set-to-string-tag */
|
||||
|
||||
/*! ../internals/shared */
|
||||
|
||||
/*! ../internals/shared-key */
|
||||
|
||||
/*! ../internals/shared-store */
|
||||
|
||||
/*! ../internals/string-html-forced */
|
||||
|
||||
/*! ../internals/string-multibyte */
|
||||
|
||||
/*! ../internals/string-trim */
|
||||
|
||||
/*! ../internals/to-absolute-index */
|
||||
|
||||
/*! ../internals/to-indexed-object */
|
||||
|
||||
/*! ../internals/to-integer */
|
||||
|
||||
/*! ../internals/to-length */
|
||||
|
||||
/*! ../internals/to-object */
|
||||
|
||||
/*! ../internals/to-primitive */
|
||||
|
||||
/*! ../internals/to-property-key */
|
||||
|
||||
/*! ../internals/to-string */
|
||||
|
||||
/*! ../internals/to-string-tag-support */
|
||||
|
||||
/*! ../internals/uid */
|
||||
|
||||
/*! ../internals/use-symbol-as-uid */
|
||||
|
||||
/*! ../internals/well-known-symbol */
|
||||
|
||||
/*! ../internals/well-known-symbol-wrapped */
|
||||
|
||||
/*! ../internals/whitespaces */
|
||||
|
||||
/*! ../modules/es.array.iterator */
|
||||
|
||||
/*! ../utils.js */
|
||||
|
||||
/*! ../worker.js */
|
||||
|
||||
/*! ./plugin/hyperlinks.js */
|
||||
|
||||
/*! ./plugin/jspdf-plugin.js */
|
||||
|
||||
/*! ./plugin/pagebreaks.js */
|
||||
|
||||
/*! ./utils.js */
|
||||
|
||||
/*! ./worker.js */
|
||||
|
||||
/*! core-js/modules/es.array.concat.js */
|
||||
|
||||
/*! core-js/modules/es.array.iterator.js */
|
||||
|
||||
/*! core-js/modules/es.array.join.js */
|
||||
|
||||
/*! core-js/modules/es.array.map.js */
|
||||
|
||||
/*! core-js/modules/es.array.slice.js */
|
||||
|
||||
/*! core-js/modules/es.function.name.js */
|
||||
|
||||
/*! core-js/modules/es.number.constructor.js */
|
||||
|
||||
/*! core-js/modules/es.object.assign.js */
|
||||
|
||||
/*! core-js/modules/es.object.keys.js */
|
||||
|
||||
/*! core-js/modules/es.object.to-string.js */
|
||||
|
||||
/*! core-js/modules/es.regexp.to-string.js */
|
||||
|
||||
/*! core-js/modules/es.string.iterator.js */
|
||||
|
||||
/*! core-js/modules/es.string.link.js */
|
||||
|
||||
/*! core-js/modules/es.symbol.description.js */
|
||||
|
||||
/*! core-js/modules/es.symbol.iterator.js */
|
||||
|
||||
/*! core-js/modules/es.symbol.js */
|
||||
|
||||
/*! core-js/modules/web.dom-collections.for-each.js */
|
||||
|
||||
/*! core-js/modules/web.dom-collections.iterator.js */
|
||||
|
||||
/*! es6-promise */
|
||||
|
||||
/*! html2canvas */
|
||||
|
||||
/*! jspdf */
|
||||
|
||||
/*!**********************!*\
|
||||
!*** ./src/index.js ***!
|
||||
\**********************/
|
||||
|
||||
/*!**********************!*\
|
||||
!*** ./src/utils.js ***!
|
||||
\**********************/
|
||||
|
||||
/*!***********************!*\
|
||||
!*** ./src/worker.js ***!
|
||||
\***********************/
|
||||
|
||||
/*!************************!*\
|
||||
!*** external "jspdf" ***!
|
||||
\************************/
|
||||
|
||||
/*!******************************!*\
|
||||
!*** external "html2canvas" ***!
|
||||
\******************************/
|
||||
|
||||
/*!**********************************!*\
|
||||
!*** ./src/plugin/hyperlinks.js ***!
|
||||
\**********************************/
|
||||
|
||||
/*!**********************************!*\
|
||||
!*** ./src/plugin/pagebreaks.js ***!
|
||||
\**********************************/
|
||||
|
||||
/*!************************************!*\
|
||||
!*** ./src/plugin/jspdf-plugin.js ***!
|
||||
\************************************/
|
||||
|
||||
/*!***********************************************!*\
|
||||
!*** ./node_modules/core-js/internals/has.js ***!
|
||||
\***********************************************/
|
||||
|
||||
/*!***********************************************!*\
|
||||
!*** ./node_modules/core-js/internals/uid.js ***!
|
||||
\***********************************************/
|
||||
|
||||
/*!************************************************!*\
|
||||
!*** ./node_modules/core-js/internals/html.js ***!
|
||||
\************************************************/
|
||||
|
||||
/*!************************************************!*\
|
||||
!*** ./node_modules/core-js/internals/path.js ***!
|
||||
\************************************************/
|
||||
|
||||
/*!*************************************************!*\
|
||||
!*** ./node_modules/core-js/internals/fails.js ***!
|
||||
\*************************************************/
|
||||
|
||||
/*!**************************************************!*\
|
||||
!*** ./node_modules/core-js/internals/export.js ***!
|
||||
\**************************************************/
|
||||
|
||||
/*!**************************************************!*\
|
||||
!*** ./node_modules/core-js/internals/global.js ***!
|
||||
\**************************************************/
|
||||
|
||||
/*!**************************************************!*\
|
||||
!*** ./node_modules/core-js/internals/shared.js ***!
|
||||
\**************************************************/
|
||||
|
||||
/*!***************************************************!*\
|
||||
!*** ./node_modules/core-js/internals/classof.js ***!
|
||||
\***************************************************/
|
||||
|
||||
/*!***************************************************!*\
|
||||
!*** ./node_modules/core-js/internals/is-pure.js ***!
|
||||
\***************************************************/
|
||||
|
||||
/*!***************************************************!*\
|
||||
!*** ./node_modules/core-js/modules/es.symbol.js ***!
|
||||
\***************************************************/
|
||||
|
||||
/*!****************************************************!*\
|
||||
!*** ./node_modules/core-js/internals/is-array.js ***!
|
||||
\****************************************************/
|
||||
|
||||
/*!****************************************************!*\
|
||||
!*** ./node_modules/core-js/internals/own-keys.js ***!
|
||||
\****************************************************/
|
||||
|
||||
/*!****************************************************!*\
|
||||
!*** ./node_modules/core-js/internals/redefine.js ***!
|
||||
\****************************************************/
|
||||
|
||||
/*!*****************************************************!*\
|
||||
!*** ./node_modules/core-js/internals/an-object.js ***!
|
||||
\*****************************************************/
|
||||
|
||||
/*!*****************************************************!*\
|
||||
!*** ./node_modules/core-js/internals/is-forced.js ***!
|
||||
\*****************************************************/
|
||||
|
||||
/*!*****************************************************!*\
|
||||
!*** ./node_modules/core-js/internals/is-object.js ***!
|
||||
\*****************************************************/
|
||||
|
||||
/*!*****************************************************!*\
|
||||
!*** ./node_modules/core-js/internals/is-symbol.js ***!
|
||||
\*****************************************************/
|
||||
|
||||
/*!*****************************************************!*\
|
||||
!*** ./node_modules/core-js/internals/iterators.js ***!
|
||||
\*****************************************************/
|
||||
|
||||
/*!*****************************************************!*\
|
||||
!*** ./node_modules/core-js/internals/to-length.js ***!
|
||||
\*****************************************************/
|
||||
|
||||
/*!*****************************************************!*\
|
||||
!*** ./node_modules/core-js/internals/to-object.js ***!
|
||||
\*****************************************************/
|
||||
|
||||
/*!*****************************************************!*\
|
||||
!*** ./node_modules/core-js/internals/to-string.js ***!
|
||||
\*****************************************************/
|
||||
|
||||
/*!******************************************************!*\
|
||||
!*** ./node_modules/core-js/internals/a-function.js ***!
|
||||
\******************************************************/
|
||||
|
||||
/*!******************************************************!*\
|
||||
!*** ./node_modules/core-js/internals/set-global.js ***!
|
||||
\******************************************************/
|
||||
|
||||
/*!******************************************************!*\
|
||||
!*** ./node_modules/core-js/internals/shared-key.js ***!
|
||||
\******************************************************/
|
||||
|
||||
/*!******************************************************!*\
|
||||
!*** ./node_modules/core-js/internals/to-integer.js ***!
|
||||
\******************************************************/
|
||||
|
||||
/*!******************************************************!*\
|
||||
!*** ./node_modules/core-js/modules/es.array.map.js ***!
|
||||
\******************************************************/
|
||||
|
||||
/*!******************************************************!*\
|
||||
!*** ./node_modules/es6-promise/dist/es6-promise.js ***!
|
||||
\******************************************************/
|
||||
|
||||
/*!*******************************************************!*\
|
||||
!*** ./node_modules/core-js/internals/classof-raw.js ***!
|
||||
\*******************************************************/
|
||||
|
||||
/*!*******************************************************!*\
|
||||
!*** ./node_modules/core-js/internals/create-html.js ***!
|
||||
\*******************************************************/
|
||||
|
||||
/*!*******************************************************!*\
|
||||
!*** ./node_modules/core-js/internals/descriptors.js ***!
|
||||
\*******************************************************/
|
||||
|
||||
/*!*******************************************************!*\
|
||||
!*** ./node_modules/core-js/internals/hidden-keys.js ***!
|
||||
\*******************************************************/
|
||||
|
||||
/*!*******************************************************!*\
|
||||
!*** ./node_modules/core-js/internals/object-keys.js ***!
|
||||
\*******************************************************/
|
||||
|
||||
/*!*******************************************************!*\
|
||||
!*** ./node_modules/core-js/internals/string-trim.js ***!
|
||||
\*******************************************************/
|
||||
|
||||
/*!*******************************************************!*\
|
||||
!*** ./node_modules/core-js/internals/whitespaces.js ***!
|
||||
\*******************************************************/
|
||||
|
||||
/*!*******************************************************!*\
|
||||
!*** ./node_modules/core-js/modules/es.array.join.js ***!
|
||||
\*******************************************************/
|
||||
|
||||
/*!********************************************************!*\
|
||||
!*** ./node_modules/core-js/internals/get-built-in.js ***!
|
||||
\********************************************************/
|
||||
|
||||
/*!********************************************************!*\
|
||||
!*** ./node_modules/core-js/internals/regexp-flags.js ***!
|
||||
\********************************************************/
|
||||
|
||||
/*!********************************************************!*\
|
||||
!*** ./node_modules/core-js/internals/shared-store.js ***!
|
||||
\********************************************************/
|
||||
|
||||
/*!********************************************************!*\
|
||||
!*** ./node_modules/core-js/internals/to-primitive.js ***!
|
||||
\********************************************************/
|
||||
|
||||
/*!********************************************************!*\
|
||||
!*** ./node_modules/core-js/modules/es.array.slice.js ***!
|
||||
\********************************************************/
|
||||
|
||||
/*!********************************************************!*\
|
||||
!*** ./node_modules/core-js/modules/es.object.keys.js ***!
|
||||
\********************************************************/
|
||||
|
||||
/*!********************************************************!*\
|
||||
!*** ./node_modules/core-js/modules/es.string.link.js ***!
|
||||
\********************************************************/
|
||||
|
||||
/*!*********************************************************!*\
|
||||
!*** ./node_modules/core-js/internals/dom-iterables.js ***!
|
||||
\*********************************************************/
|
||||
|
||||
/*!*********************************************************!*\
|
||||
!*** ./node_modules/core-js/internals/enum-bug-keys.js ***!
|
||||
\*********************************************************/
|
||||
|
||||
/*!*********************************************************!*\
|
||||
!*** ./node_modules/core-js/internals/native-symbol.js ***!
|
||||
\*********************************************************/
|
||||
|
||||
/*!*********************************************************!*\
|
||||
!*** ./node_modules/core-js/internals/object-assign.js ***!
|
||||
\*********************************************************/
|
||||
|
||||
/*!*********************************************************!*\
|
||||
!*** ./node_modules/core-js/internals/object-create.js ***!
|
||||
\*********************************************************/
|
||||
|
||||
/*!*********************************************************!*\
|
||||
!*** ./node_modules/core-js/modules/es.array.concat.js ***!
|
||||
\*********************************************************/
|
||||
|
||||
/*!**********************************************************!*\
|
||||
!*** ./node_modules/core-js/internals/array-for-each.js ***!
|
||||
\**********************************************************/
|
||||
|
||||
/*!**********************************************************!*\
|
||||
!*** ./node_modules/core-js/internals/array-includes.js ***!
|
||||
\**********************************************************/
|
||||
|
||||
/*!**********************************************************!*\
|
||||
!*** ./node_modules/core-js/internals/ie8-dom-define.js ***!
|
||||
\**********************************************************/
|
||||
|
||||
/*!**********************************************************!*\
|
||||
!*** ./node_modules/core-js/internals/indexed-object.js ***!
|
||||
\**********************************************************/
|
||||
|
||||
/*!**********************************************************!*\
|
||||
!*** ./node_modules/core-js/internals/inspect-source.js ***!
|
||||
\**********************************************************/
|
||||
|
||||
/*!**********************************************************!*\
|
||||
!*** ./node_modules/core-js/internals/internal-state.js ***!
|
||||
\**********************************************************/
|
||||
|
||||
/*!**********************************************************!*\
|
||||
!*** ./node_modules/core-js/internals/iterators-core.js ***!
|
||||
\**********************************************************/
|
||||
|
||||
/*!**********************************************************!*\
|
||||
!*** ./node_modules/core-js/modules/es.function.name.js ***!
|
||||
\**********************************************************/
|
||||
|
||||
/*!**********************************************************!*\
|
||||
!*** ./node_modules/core-js/modules/es.object.assign.js ***!
|
||||
\**********************************************************/
|
||||
|
||||
/*!***********************************************************!*\
|
||||
!*** ./node_modules/core-js/internals/array-iteration.js ***!
|
||||
\***********************************************************/
|
||||
|
||||
/*!***********************************************************!*\
|
||||
!*** ./node_modules/core-js/internals/create-property.js ***!
|
||||
\***********************************************************/
|
||||
|
||||
/*!***********************************************************!*\
|
||||
!*** ./node_modules/core-js/internals/define-iterator.js ***!
|
||||
\***********************************************************/
|
||||
|
||||
/*!***********************************************************!*\
|
||||
!*** ./node_modules/core-js/internals/native-weak-map.js ***!
|
||||
\***********************************************************/
|
||||
|
||||
/*!***********************************************************!*\
|
||||
!*** ./node_modules/core-js/internals/to-property-key.js ***!
|
||||
\***********************************************************/
|
||||
|
||||
/*!***********************************************************!*\
|
||||
!*** ./node_modules/core-js/modules/es.array.iterator.js ***!
|
||||
\***********************************************************/
|
||||
|
||||
/*!************************************************************!*\
|
||||
!*** ./node_modules/core-js/internals/object-to-string.js ***!
|
||||
\************************************************************/
|
||||
|
||||
/*!************************************************************!*\
|
||||
!*** ./node_modules/core-js/internals/string-multibyte.js ***!
|
||||
\************************************************************/
|
||||
|
||||
/*!************************************************************!*\
|
||||
!*** ./node_modules/core-js/modules/es.string.iterator.js ***!
|
||||
\************************************************************/
|
||||
|
||||
/*!************************************************************!*\
|
||||
!*** ./node_modules/core-js/modules/es.symbol.iterator.js ***!
|
||||
\************************************************************/
|
||||
|
||||
/*!*************************************************************!*\
|
||||
!*** ./node_modules/core-js/internals/engine-user-agent.js ***!
|
||||
\*************************************************************/
|
||||
|
||||
/*!*************************************************************!*\
|
||||
!*** ./node_modules/core-js/internals/engine-v8-version.js ***!
|
||||
\*************************************************************/
|
||||
|
||||
/*!*************************************************************!*\
|
||||
!*** ./node_modules/core-js/internals/set-to-string-tag.js ***!
|
||||
\*************************************************************/
|
||||
|
||||
/*!*************************************************************!*\
|
||||
!*** ./node_modules/core-js/internals/to-absolute-index.js ***!
|
||||
\*************************************************************/
|
||||
|
||||
/*!*************************************************************!*\
|
||||
!*** ./node_modules/core-js/internals/to-indexed-object.js ***!
|
||||
\*************************************************************/
|
||||
|
||||
/*!*************************************************************!*\
|
||||
!*** ./node_modules/core-js/internals/use-symbol-as-uid.js ***!
|
||||
\*************************************************************/
|
||||
|
||||
/*!*************************************************************!*\
|
||||
!*** ./node_modules/core-js/internals/well-known-symbol.js ***!
|
||||
\*************************************************************/
|
||||
|
||||
/*!*************************************************************!*\
|
||||
!*** ./node_modules/core-js/modules/es.object.to-string.js ***!
|
||||
\*************************************************************/
|
||||
|
||||
/*!*************************************************************!*\
|
||||
!*** ./node_modules/core-js/modules/es.regexp.to-string.js ***!
|
||||
\*************************************************************/
|
||||
|
||||
/*!**************************************************************!*\
|
||||
!*** ./node_modules/core-js/internals/add-to-unscopables.js ***!
|
||||
\**************************************************************/
|
||||
|
||||
/*!**************************************************************!*\
|
||||
!*** ./node_modules/core-js/internals/string-html-forced.js ***!
|
||||
\**************************************************************/
|
||||
|
||||
/*!***************************************************************!*\
|
||||
!*** ./node_modules/core-js/internals/inherit-if-required.js ***!
|
||||
\***************************************************************/
|
||||
|
||||
/*!***************************************************************!*\
|
||||
!*** ./node_modules/core-js/modules/es.number.constructor.js ***!
|
||||
\***************************************************************/
|
||||
|
||||
/*!***************************************************************!*\
|
||||
!*** ./node_modules/core-js/modules/es.symbol.description.js ***!
|
||||
\***************************************************************/
|
||||
|
||||
/*!****************************************************************!*\
|
||||
!*** ./node_modules/core-js/internals/a-possible-prototype.js ***!
|
||||
\****************************************************************/
|
||||
|
||||
/*!****************************************************************!*\
|
||||
!*** ./node_modules/core-js/internals/array-species-create.js ***!
|
||||
\****************************************************************/
|
||||
|
||||
/*!****************************************************************!*\
|
||||
!*** ./node_modules/core-js/internals/object-keys-internal.js ***!
|
||||
\****************************************************************/
|
||||
|
||||
/*!*****************************************************************!*\
|
||||
!*** ./node_modules/core-js/internals/function-bind-context.js ***!
|
||||
\*****************************************************************/
|
||||
|
||||
/*!*****************************************************************!*\
|
||||
!*** ./node_modules/core-js/internals/ordinary-to-primitive.js ***!
|
||||
\*****************************************************************/
|
||||
|
||||
/*!*****************************************************************!*\
|
||||
!*** ./node_modules/core-js/internals/to-string-tag-support.js ***!
|
||||
\*****************************************************************/
|
||||
|
||||
/*!******************************************************************!*\
|
||||
!*** ./node_modules/core-js/internals/array-method-is-strict.js ***!
|
||||
\******************************************************************/
|
||||
|
||||
/*!******************************************************************!*\
|
||||
!*** ./node_modules/core-js/internals/object-define-property.js ***!
|
||||
\******************************************************************/
|
||||
|
||||
/*!*******************************************************************!*\
|
||||
!*** ./node_modules/core-js/internals/document-create-element.js ***!
|
||||
\*******************************************************************/
|
||||
|
||||
/*!*******************************************************************!*\
|
||||
!*** ./node_modules/core-js/internals/object-get-prototype-of.js ***!
|
||||
\*******************************************************************/
|
||||
|
||||
/*!*******************************************************************!*\
|
||||
!*** ./node_modules/core-js/internals/object-set-prototype-of.js ***!
|
||||
\*******************************************************************/
|
||||
|
||||
/*!********************************************************************!*\
|
||||
!*** ./node_modules/core-js/internals/correct-prototype-getter.js ***!
|
||||
\********************************************************************/
|
||||
|
||||
/*!********************************************************************!*\
|
||||
!*** ./node_modules/core-js/internals/define-well-known-symbol.js ***!
|
||||
\********************************************************************/
|
||||
|
||||
/*!********************************************************************!*\
|
||||
!*** ./node_modules/core-js/internals/object-define-properties.js ***!
|
||||
\********************************************************************/
|
||||
|
||||
/*!********************************************************************!*\
|
||||
!*** ./node_modules/core-js/internals/require-object-coercible.js ***!
|
||||
\********************************************************************/
|
||||
|
||||
/*!*********************************************************************!*\
|
||||
!*** ./node_modules/core-js/internals/array-species-constructor.js ***!
|
||||
\*********************************************************************/
|
||||
|
||||
/*!*********************************************************************!*\
|
||||
!*** ./node_modules/core-js/internals/well-known-symbol-wrapped.js ***!
|
||||
\*********************************************************************/
|
||||
|
||||
/*!**********************************************************************!*\
|
||||
!*** ./node_modules/core-js/internals/create-property-descriptor.js ***!
|
||||
\**********************************************************************/
|
||||
|
||||
/*!**********************************************************************!*\
|
||||
!*** ./node_modules/core-js/modules/web.dom-collections.for-each.js ***!
|
||||
\**********************************************************************/
|
||||
|
||||
/*!**********************************************************************!*\
|
||||
!*** ./node_modules/core-js/modules/web.dom-collections.iterator.js ***!
|
||||
\**********************************************************************/
|
||||
|
||||
/*!***********************************************************************!*\
|
||||
!*** ./node_modules/core-js/internals/copy-constructor-properties.js ***!
|
||||
\***********************************************************************/
|
||||
|
||||
/*!***********************************************************************!*\
|
||||
!*** ./node_modules/core-js/internals/create-iterator-constructor.js ***!
|
||||
\***********************************************************************/
|
||||
|
||||
/*!*************************************************************************!*\
|
||||
!*** ./node_modules/core-js/internals/object-get-own-property-names.js ***!
|
||||
\*************************************************************************/
|
||||
|
||||
/*!*************************************************************************!*\
|
||||
!*** ./node_modules/core-js/internals/object-property-is-enumerable.js ***!
|
||||
\*************************************************************************/
|
||||
|
||||
/*!**************************************************************************!*\
|
||||
!*** ./node_modules/core-js/internals/create-non-enumerable-property.js ***!
|
||||
\**************************************************************************/
|
||||
|
||||
/*!***************************************************************************!*\
|
||||
!*** ./node_modules/core-js/internals/object-get-own-property-symbols.js ***!
|
||||
\***************************************************************************/
|
||||
|
||||
/*!****************************************************************************!*\
|
||||
!*** ./node_modules/core-js/internals/array-method-has-species-support.js ***!
|
||||
\****************************************************************************/
|
||||
|
||||
/*!******************************************************************************!*\
|
||||
!*** ./node_modules/core-js/internals/object-get-own-property-descriptor.js ***!
|
||||
\******************************************************************************/
|
||||
|
||||
/*!**********************************************************************************!*\
|
||||
!*** ./node_modules/core-js/internals/object-get-own-property-names-external.js ***!
|
||||
\**********************************************************************************/
|
||||
File diff suppressed because one or more lines are too long
197
ServiceHost/wwwroot/AssetsClient/libs/jspdf/jspdf.min.js
vendored
Normal file
197
ServiceHost/wwwroot/AssetsClient/libs/jspdf/jspdf.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
@@ -0,0 +1,364 @@
|
||||
.modal .modal-dialog .modal-content {
|
||||
background-color: white !important;
|
||||
}
|
||||
|
||||
.btn-text-disable {
|
||||
color: #627a62 !important;
|
||||
background-color: #cdcdcd !important;
|
||||
border-color: #585757 !important;
|
||||
}
|
||||
|
||||
.btncounter-text-disable {
|
||||
color: #bdc7bd !important;
|
||||
background-color: #727272 !important;
|
||||
border-color: #585757 !important;
|
||||
}
|
||||
|
||||
.container2 {
|
||||
height: 297mm;
|
||||
padding-top: 15px;
|
||||
}
|
||||
|
||||
.container2:last-of-type {
|
||||
height: 280mm;
|
||||
}
|
||||
|
||||
.modal-dialog {
|
||||
max-width: 100%;
|
||||
width: 22.4cm;
|
||||
}
|
||||
/* @page {
|
||||
size: 7in 9.25in;
|
||||
margin: 27mm 16mm 27mm 16mm;
|
||||
}*/
|
||||
@page {
|
||||
size: A4;
|
||||
margin: 0mm;
|
||||
page-break-after: auto;
|
||||
}
|
||||
|
||||
@media screen {
|
||||
#printSection {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
.print * {
|
||||
font-family: IranSans !important;
|
||||
}
|
||||
|
||||
.print:last-child {
|
||||
page-break-after: auto !important;
|
||||
}
|
||||
|
||||
@media print {
|
||||
|
||||
body * {
|
||||
visibility: hidden;
|
||||
page-break-after: auto;
|
||||
}
|
||||
|
||||
html, body {
|
||||
height: 100%;
|
||||
margin: 0 !important;
|
||||
padding: 0 !important;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
#printSection, #printSection * {
|
||||
visibility: visible;
|
||||
page-break-after: auto;
|
||||
}
|
||||
|
||||
footer {
|
||||
page-break-after: auto;
|
||||
display: none;
|
||||
}
|
||||
|
||||
header {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#printSection {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
page-break-after: auto;
|
||||
top: 0;
|
||||
}
|
||||
|
||||
.head {
|
||||
background-color: #cccccc !important;
|
||||
-webkit-print-color-adjust: exact;
|
||||
}
|
||||
|
||||
.week {
|
||||
-webkit-print-color-adjust: exact;
|
||||
print-color-adjust: exact;
|
||||
}
|
||||
|
||||
.radio-info input[type="radio"]:checked + label::after {
|
||||
background-color: black !important;
|
||||
-webkit-print-color-adjust: exact;
|
||||
}
|
||||
|
||||
.mt-30 {
|
||||
margin: 30px 0 0 0 !important;
|
||||
}
|
||||
|
||||
.restActive, .rest {
|
||||
pointer-events: none;
|
||||
font-size: 8px !important;
|
||||
width: 46px !important;
|
||||
-webkit-appearance: none;
|
||||
-moz-appearance: none;
|
||||
appearance: none;
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
|
||||
.col-4, .col-3, .col-9,
|
||||
.col-2, .col-10, .col-6,
|
||||
.col-8, .col-5, .col-7,
|
||||
.col-offset-1 {
|
||||
float: right !important;
|
||||
}
|
||||
|
||||
h5, h6 {
|
||||
margin: 5px 0px !important;
|
||||
}
|
||||
|
||||
body .modal {
|
||||
font-size: 11px;
|
||||
}
|
||||
|
||||
label .modal {
|
||||
margin-bottom: 2px;
|
||||
}
|
||||
|
||||
.radio {
|
||||
display: inline-block;
|
||||
margin-top: -10px !important;
|
||||
}
|
||||
|
||||
.radio input[type=radio] {
|
||||
position: unset !important;
|
||||
}
|
||||
|
||||
textarea.form-control {
|
||||
height: 100px !important;
|
||||
}
|
||||
|
||||
.fontBold {
|
||||
font-family: IranYekanEXBold !important;
|
||||
}
|
||||
|
||||
.fontNumber {
|
||||
font-family: IranText !important;
|
||||
}
|
||||
|
||||
.modal-body {
|
||||
height: 99%;
|
||||
}
|
||||
|
||||
.row {
|
||||
margin-right: -10px !important;
|
||||
margin-left: -10px !important;
|
||||
}
|
||||
|
||||
div span.week {
|
||||
/* border-radius: 5px;
|
||||
padding: 2px 8px;
|
||||
margin-right: 15px;
|
||||
pointer-events: none;*/
|
||||
}
|
||||
|
||||
#shanbeh, #yekshanbeh, #doshanbeh, #seshanbeh, #cheharshanbeh, #panjshanbeh, #jomeh {
|
||||
width: 80px;
|
||||
-webkit-print-color-adjust: exact;
|
||||
print-color-adjust: exact;
|
||||
}
|
||||
|
||||
#shanbeh2, #yekshanbeh2, #doshanbeh2, #seshanbeh2, #cheharshanbeh2, #panjshanbeh2, #jomeh2 {
|
||||
width: 80px;
|
||||
background-color: #3ac53c !important;
|
||||
-webkit-print-color-adjust: exact;
|
||||
print-color-adjust: exact;
|
||||
}
|
||||
|
||||
#Sh1, #Sh2, #Sh3, #Sh4, #Sh5, #Sh6, #Sh7, #Sh8 {
|
||||
width: 80px;
|
||||
margin-right: 30%;
|
||||
}
|
||||
|
||||
.week {
|
||||
width: 48px !important;
|
||||
border-radius: 5px;
|
||||
padding: 0px !important;
|
||||
font-size: 8px !important;
|
||||
pointer-events: none;
|
||||
-webkit-print-color-adjust: exact;
|
||||
print-color-adjust: exact;
|
||||
}
|
||||
|
||||
.time {
|
||||
width: 8%;
|
||||
text-align: center;
|
||||
padding: 0px !important;
|
||||
direction: ltr;
|
||||
border-radius: 5px;
|
||||
border: 1px solid #47c848 !important;
|
||||
pointer-events: none;
|
||||
-webkit-print-color-adjust: exact;
|
||||
print-color-adjust: exact;
|
||||
font-size: 8px !important;
|
||||
}
|
||||
|
||||
.time2 {
|
||||
width: 8%;
|
||||
text-align: center;
|
||||
direction: ltr;
|
||||
border-radius: 5px;
|
||||
border: 1px solid #47c848 !important;
|
||||
pointer-events: none;
|
||||
-webkit-print-color-adjust: exact;
|
||||
print-color-adjust: exact;
|
||||
font-size: 8px !important;
|
||||
}
|
||||
|
||||
.fild {
|
||||
border: 1px solid #878686 !important;
|
||||
background-color: #f7f7f7 !important;
|
||||
border-radius: 10px;
|
||||
// margin: 5px 10px !important;
|
||||
-webkit-print-color-adjust: exact;
|
||||
print-color-adjust: exact;
|
||||
}
|
||||
|
||||
|
||||
.timeoff {
|
||||
width: 10%;
|
||||
text-align: center;
|
||||
direction: ltr;
|
||||
border-radius: 5px;
|
||||
border: 1px solid #47c848 !important;
|
||||
background-color: #e7e7e7 !important;
|
||||
pointer-events: none;
|
||||
-webkit-print-color-adjust: exact;
|
||||
print-color-adjust: exact;
|
||||
}
|
||||
|
||||
.fild2 {
|
||||
border: 1px solid #878686 !important;
|
||||
background-color: #d9d9d9 !important;
|
||||
border-radius: 10px;
|
||||
padding: 10px 0 10px 0;
|
||||
display: inline;
|
||||
float: left;
|
||||
width: 80%;
|
||||
margin-left: 15px;
|
||||
-webkit-print-color-adjust: exact;
|
||||
print-color-adjust: exact;
|
||||
}
|
||||
|
||||
.fild3 {
|
||||
border: 1px solid #878686 !important;
|
||||
background-color: #e7e7e7 !important;
|
||||
border-radius: 10px;
|
||||
display: inline;
|
||||
float: left;
|
||||
width: 100%;
|
||||
-webkit-print-color-adjust: exact;
|
||||
print-color-adjust: exact;
|
||||
}
|
||||
|
||||
.call {
|
||||
background-color: #d2dbd2 !important;
|
||||
border-radius: 5px;
|
||||
margin-bottom: 3px;
|
||||
margin-left: 10px;
|
||||
margin-right: 10px;
|
||||
-webkit-print-color-adjust: exact;
|
||||
print-color-adjust: exact;
|
||||
}
|
||||
|
||||
.rest {
|
||||
pointer-events: none;
|
||||
font-size: 8px !important;
|
||||
width: 46px !important;
|
||||
-webkit-appearance: none;
|
||||
-moz-appearance: none;
|
||||
appearance: none;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.fildeWeek {
|
||||
height: 136px !important;
|
||||
width: 48% !important;
|
||||
display: inline-block;
|
||||
border: 1px solid #cfcfcf !important;
|
||||
background-color: #e7e5e5 !important;
|
||||
border-radius: 12px 0px 12px 12px;
|
||||
padding: 2px 15px !important;
|
||||
margin: 0 0 10px 0;
|
||||
-webkit-print-color-adjust: exact;
|
||||
print-color-adjust: exact;
|
||||
}
|
||||
|
||||
.fildeWeek .row {
|
||||
height: 16px;
|
||||
}
|
||||
|
||||
.weekName {
|
||||
margin-bottom: -18px !important;
|
||||
top: -18px;
|
||||
position: relative;
|
||||
margin-right: -16px;
|
||||
padding-right: 5px !important;
|
||||
font-size: 10px !important;
|
||||
border-bottom: 0px;
|
||||
color: #505458 !important;
|
||||
background-color: #bdd1be !important;
|
||||
border-radius: 15px 5px 0px 0px;
|
||||
width: 57px;
|
||||
-webkit-print-color-adjust: exact;
|
||||
print-color-adjust: exact;
|
||||
}
|
||||
|
||||
.btn-deactive {
|
||||
background-color: #bbbbbb !important;
|
||||
-webkit-print-color-adjust: exact;
|
||||
print-color-adjust: exact;
|
||||
}
|
||||
|
||||
.btn-active {
|
||||
background-color: #3ac53c !important;
|
||||
-webkit-print-color-adjust: exact;
|
||||
print-color-adjust: exact;
|
||||
}
|
||||
|
||||
.input-deactive {
|
||||
background-color: #dbd8d8 !important;
|
||||
-webkit-print-color-adjust: exact !important;
|
||||
print-color-adjust: exact !important;
|
||||
}
|
||||
|
||||
.print-card {
|
||||
position: fixed;
|
||||
top: 130px;
|
||||
width: auto;
|
||||
z-index: 20;
|
||||
box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
|
||||
}
|
||||
|
||||
@media screen and (max-width: 992px) {
|
||||
.wrapper {
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
.print-card {
|
||||
position: relative;
|
||||
top: 0;
|
||||
width: 100%;
|
||||
z-index: 20;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,343 @@
|
||||
.modal .modal-dialog .modal-content {
|
||||
background-color: white !important;
|
||||
}
|
||||
|
||||
.btn-text-disable {
|
||||
color: #627a62 !important;
|
||||
background-color: #cdcdcd !important;
|
||||
border-color: #585757 !important;
|
||||
}
|
||||
|
||||
.btncounter-text-disable {
|
||||
color: #bdc7bd !important;
|
||||
background-color: #727272 !important;
|
||||
border-color: #585757 !important;
|
||||
}
|
||||
|
||||
.container2 {
|
||||
height: 297mm;
|
||||
padding-top: 15px;
|
||||
}
|
||||
|
||||
.container2:last-of-type {
|
||||
height: 280mm;
|
||||
}
|
||||
|
||||
.modal-dialog {
|
||||
max-width: 100%;
|
||||
width: 22.4cm;
|
||||
}
|
||||
/* @page {
|
||||
size: 7in 9.25in;
|
||||
margin: 27mm 16mm 27mm 16mm;
|
||||
}*/
|
||||
@page {
|
||||
size: A4;
|
||||
margin: 0mm;
|
||||
page-break-after: auto;
|
||||
}
|
||||
|
||||
@media screen {
|
||||
#printSection {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
.print * {
|
||||
font-family: IranSans !important;
|
||||
}
|
||||
|
||||
.print:last-child {
|
||||
page-break-after: auto !important;
|
||||
}
|
||||
|
||||
@media print {
|
||||
|
||||
body * {
|
||||
visibility: hidden;
|
||||
page-break-after: auto;
|
||||
}
|
||||
|
||||
html, body {
|
||||
height: 100%;
|
||||
margin: 0 !important;
|
||||
padding: 0 !important;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
#printSection, #printSection * {
|
||||
visibility: visible;
|
||||
page-break-after: auto;
|
||||
}
|
||||
|
||||
footer {
|
||||
page-break-after: auto;
|
||||
display: none;
|
||||
}
|
||||
|
||||
header {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#printSection {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
page-break-after: auto;
|
||||
top: 0;
|
||||
}
|
||||
|
||||
.head {
|
||||
background-color: #cccccc !important;
|
||||
-webkit-print-color-adjust: exact;
|
||||
}
|
||||
|
||||
.week {
|
||||
-webkit-print-color-adjust: exact;
|
||||
print-color-adjust: exact;
|
||||
}
|
||||
|
||||
.radio-info input[type="radio"]:checked + label::after {
|
||||
background-color: black !important;
|
||||
-webkit-print-color-adjust: exact;
|
||||
}
|
||||
|
||||
.mt-15 {
|
||||
margin: 15px 0 0 0 !important;
|
||||
}
|
||||
|
||||
.restActive, .rest {
|
||||
pointer-events: none;
|
||||
font-size: 8px !important;
|
||||
width: 46px !important;
|
||||
-webkit-appearance: none;
|
||||
-moz-appearance: none;
|
||||
appearance: none;
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
|
||||
.col-4, .col-3, .col-9,
|
||||
.col-2, .col-10, .col-6,
|
||||
.col-8, .col-5, .col-7,
|
||||
.col-offset-1 {
|
||||
float: right !important;
|
||||
}
|
||||
|
||||
h5, h6 {
|
||||
margin: 5px 0px !important;
|
||||
}
|
||||
|
||||
body .modal {
|
||||
font-size: 11px;
|
||||
}
|
||||
|
||||
label .modal {
|
||||
margin-bottom: 2px;
|
||||
}
|
||||
|
||||
.radio {
|
||||
display: inline-block;
|
||||
margin-top: -10px !important;
|
||||
}
|
||||
|
||||
.radio input[type=radio] {
|
||||
position: unset !important;
|
||||
}
|
||||
|
||||
textarea.form-control {
|
||||
height: 100px !important;
|
||||
}
|
||||
|
||||
.fontBold {
|
||||
font-family: IranYekanEXBold !important;
|
||||
}
|
||||
|
||||
.fontNumber {
|
||||
font-family: IranText !important;
|
||||
}
|
||||
|
||||
.modal-body {
|
||||
height: 99%;
|
||||
}
|
||||
|
||||
.row {
|
||||
margin-right: -10px !important;
|
||||
margin-left: -10px !important;
|
||||
}
|
||||
|
||||
div span.week {
|
||||
/* border-radius: 5px;
|
||||
padding: 2px 8px;
|
||||
margin-right: 15px;
|
||||
pointer-events: none;*/
|
||||
}
|
||||
|
||||
#shanbeh, #yekshanbeh, #doshanbeh, #seshanbeh, #cheharshanbeh, #panjshanbeh, #jomeh {
|
||||
width: 80px;
|
||||
-webkit-print-color-adjust: exact;
|
||||
print-color-adjust: exact;
|
||||
}
|
||||
|
||||
#shanbeh2, #yekshanbeh2, #doshanbeh2, #seshanbeh2, #cheharshanbeh2, #panjshanbeh2, #jomeh2 {
|
||||
width: 80px;
|
||||
background-color: #3ac53c !important;
|
||||
-webkit-print-color-adjust: exact;
|
||||
print-color-adjust: exact;
|
||||
}
|
||||
|
||||
#Sh1, #Sh2, #Sh3, #Sh4, #Sh5, #Sh6, #Sh7, #Sh8 {
|
||||
width: 80px;
|
||||
margin-right: 30%;
|
||||
}
|
||||
|
||||
.week {
|
||||
width: 48px !important;
|
||||
border-radius: 5px;
|
||||
padding: 0px !important;
|
||||
font-size: 8px !important;
|
||||
pointer-events: none;
|
||||
-webkit-print-color-adjust: exact;
|
||||
print-color-adjust: exact;
|
||||
}
|
||||
|
||||
.time {
|
||||
width: 8%;
|
||||
text-align: center;
|
||||
padding: 0px !important;
|
||||
direction: ltr;
|
||||
border-radius: 5px;
|
||||
border: 1px solid #47c848 !important;
|
||||
pointer-events: none;
|
||||
-webkit-print-color-adjust: exact;
|
||||
print-color-adjust: exact;
|
||||
font-size: 8px !important;
|
||||
}
|
||||
|
||||
.time2 {
|
||||
width: 8%;
|
||||
text-align: center;
|
||||
direction: ltr;
|
||||
border-radius: 5px;
|
||||
border: 1px solid #47c848 !important;
|
||||
pointer-events: none;
|
||||
-webkit-print-color-adjust: exact;
|
||||
print-color-adjust: exact;
|
||||
font-size: 8px !important;
|
||||
}
|
||||
|
||||
.fild {
|
||||
border: 1px solid #878686 !important;
|
||||
background-color: #f7f7f7 !important;
|
||||
border-radius: 10px;
|
||||
// margin: 5px 10px !important;
|
||||
-webkit-print-color-adjust: exact;
|
||||
print-color-adjust: exact;
|
||||
}
|
||||
|
||||
|
||||
.timeoff {
|
||||
width: 10%;
|
||||
text-align: center;
|
||||
direction: ltr;
|
||||
border-radius: 5px;
|
||||
border: 1px solid #47c848 !important;
|
||||
background-color: #e7e7e7 !important;
|
||||
pointer-events: none;
|
||||
-webkit-print-color-adjust: exact;
|
||||
print-color-adjust: exact;
|
||||
}
|
||||
|
||||
.fild2 {
|
||||
border: 1px solid #878686 !important;
|
||||
background-color: #d9d9d9 !important;
|
||||
border-radius: 10px;
|
||||
padding: 10px 0 10px 0;
|
||||
display: inline;
|
||||
float: left;
|
||||
width: 80%;
|
||||
margin-left: 15px;
|
||||
-webkit-print-color-adjust: exact;
|
||||
print-color-adjust: exact;
|
||||
}
|
||||
|
||||
.fild3 {
|
||||
border: 1px solid #878686 !important;
|
||||
background-color: #e7e7e7 !important;
|
||||
border-radius: 10px;
|
||||
display: inline;
|
||||
float: left;
|
||||
width: 100%;
|
||||
-webkit-print-color-adjust: exact;
|
||||
print-color-adjust: exact;
|
||||
}
|
||||
|
||||
.call {
|
||||
background-color: #d2dbd2 !important;
|
||||
border-radius: 5px;
|
||||
margin-bottom: 3px;
|
||||
margin-left: 10px;
|
||||
margin-right: 10px;
|
||||
-webkit-print-color-adjust: exact;
|
||||
print-color-adjust: exact;
|
||||
}
|
||||
|
||||
.rest {
|
||||
pointer-events: none;
|
||||
font-size: 8px !important;
|
||||
width: 46px !important;
|
||||
-webkit-appearance: none;
|
||||
-moz-appearance: none;
|
||||
appearance: none;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.fildeWeek {
|
||||
height: 136px !important;
|
||||
width: 48% !important;
|
||||
display: inline-block;
|
||||
border: 1px solid #cfcfcf !important;
|
||||
background-color: #e7e5e5 !important;
|
||||
border-radius: 12px 0px 12px 12px;
|
||||
padding: 2px 15px !important;
|
||||
margin: 0 0 10px 0;
|
||||
-webkit-print-color-adjust: exact;
|
||||
print-color-adjust: exact;
|
||||
}
|
||||
|
||||
.fildeWeek .row {
|
||||
height: 16px;
|
||||
}
|
||||
|
||||
.weekName {
|
||||
margin-bottom: -18px !important;
|
||||
top: -18px;
|
||||
position: relative;
|
||||
margin-right: -16px;
|
||||
padding-right: 5px !important;
|
||||
font-size: 10px !important;
|
||||
border-bottom: 0px;
|
||||
color: #505458 !important;
|
||||
background-color: #bdd1be !important;
|
||||
border-radius: 15px 5px 0px 0px;
|
||||
width: 57px;
|
||||
-webkit-print-color-adjust: exact;
|
||||
print-color-adjust: exact;
|
||||
}
|
||||
|
||||
.btn-deactive {
|
||||
background-color: #bbbbbb !important;
|
||||
-webkit-print-color-adjust: exact;
|
||||
print-color-adjust: exact;
|
||||
}
|
||||
|
||||
.btn-active {
|
||||
background-color: #3ac53c !important;
|
||||
-webkit-print-color-adjust: exact;
|
||||
print-color-adjust: exact;
|
||||
}
|
||||
|
||||
.input-deactive {
|
||||
background-color: #dbd8d8 !important;
|
||||
-webkit-print-color-adjust: exact !important;
|
||||
print-color-adjust: exact !important;
|
||||
}
|
||||
@@ -0,0 +1,307 @@
|
||||
.modal .modal-dialog .modal-content {
|
||||
background-color: white !important;
|
||||
}
|
||||
|
||||
.modal-dialog {
|
||||
max-width: 100%;
|
||||
width: 22.4cm;
|
||||
}
|
||||
/* @page {
|
||||
size: 7in 9.25in;
|
||||
margin: 27mm 16mm 27mm 16mm;
|
||||
}*/
|
||||
@page {
|
||||
size: A4;
|
||||
margin: 0mm;
|
||||
page-break-after: auto;
|
||||
}
|
||||
|
||||
@media screen {
|
||||
#printSection {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
.print * {
|
||||
font-family: IranSans !important;
|
||||
}
|
||||
|
||||
.print:last-child {
|
||||
page-break-after: auto !important;
|
||||
}
|
||||
|
||||
@media print {
|
||||
|
||||
body * {
|
||||
visibility: hidden;
|
||||
page-break-after: auto;
|
||||
}
|
||||
|
||||
html, body {
|
||||
height: 100%;
|
||||
margin: 0 !important;
|
||||
padding: 0 !important;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
#printSection, #printSection * {
|
||||
visibility: visible;
|
||||
page-break-after: auto;
|
||||
}
|
||||
|
||||
footer {
|
||||
page-break-after: auto;
|
||||
display: none;
|
||||
}
|
||||
|
||||
header {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#printSection {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
page-break-after: auto;
|
||||
top: 0;
|
||||
}
|
||||
|
||||
.head {
|
||||
background-color: #cdcdcd !important;
|
||||
-webkit-print-color-adjust: exact;
|
||||
print-color-adjust: exact;
|
||||
}
|
||||
|
||||
.week {
|
||||
-webkit-print-color-adjust: exact;
|
||||
print-color-adjust: exact;
|
||||
}
|
||||
|
||||
.radio-info input[type="radio"]:checked + label::after {
|
||||
background-color: black !important;
|
||||
-webkit-print-color-adjust: exact;
|
||||
print-color-adjust: exact;
|
||||
}
|
||||
|
||||
.mt-30 {
|
||||
margin: 30px 0 0 0 !important;
|
||||
}
|
||||
|
||||
.restActive, .rest {
|
||||
pointer-events: none;
|
||||
font-size: 8px !important;
|
||||
width: 46px !important;
|
||||
-webkit-appearance: none;
|
||||
-moz-appearance: none;
|
||||
appearance: none;
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
|
||||
.col-4, .col-3, .col-9,
|
||||
.col-2, .col-10, .col-6,
|
||||
.col-8, .col-5, .col-7,
|
||||
.col-offset-1 {
|
||||
float: right !important;
|
||||
}
|
||||
|
||||
h5, h6 {
|
||||
margin: 5px 0px !important;
|
||||
}
|
||||
|
||||
body .modal {
|
||||
font-size: 11px;
|
||||
}
|
||||
|
||||
label .modal {
|
||||
margin-bottom: 2px;
|
||||
}
|
||||
|
||||
.radio {
|
||||
display: inline-block;
|
||||
margin-top: -10px !important;
|
||||
}
|
||||
|
||||
.radio input[type=radio] {
|
||||
position: unset !important;
|
||||
}
|
||||
|
||||
textarea.form-control {
|
||||
height: 100px !important;
|
||||
}
|
||||
|
||||
.fontBold {
|
||||
font-family: IranSans !important;
|
||||
}
|
||||
|
||||
.fontNumber {
|
||||
font-family: IranText !important;
|
||||
}
|
||||
|
||||
.modal-body {
|
||||
height: 99%;
|
||||
}
|
||||
|
||||
.row {
|
||||
margin-right: -10px !important;
|
||||
margin-left: -10px !important;
|
||||
}
|
||||
|
||||
|
||||
|
||||
div span.week {
|
||||
/* border-radius: 5px;
|
||||
padding: 2px 8px;
|
||||
margin-right: 32px;
|
||||
pointer-events: none;*/
|
||||
}
|
||||
|
||||
#shanbeh, #yekshanbeh, #doshanbeh, #seshanbeh, #cheharshanbeh, #panjshanbeh, #jomeh {
|
||||
width: 80px;
|
||||
}
|
||||
|
||||
#Sh1, #Sh2, #Sh3, #Sh4, #Sh5, #Sh6, #Sh7, #Sh8 {
|
||||
width: 80px;
|
||||
margin-right: 21%;
|
||||
border-radius: 15px;
|
||||
font-size: 8px !important;
|
||||
}
|
||||
|
||||
.week {
|
||||
width: 48px !important;
|
||||
border-radius: 5px;
|
||||
padding: 1px !important;
|
||||
font-size: 8px !important;
|
||||
pointer-events: none;
|
||||
-webkit-print-color-adjust: exact;
|
||||
print-color-adjust: exact;
|
||||
}
|
||||
|
||||
.time {
|
||||
width: 8%;
|
||||
text-align: center;
|
||||
padding: 0px !important;
|
||||
direction: ltr;
|
||||
border-radius: 5px;
|
||||
border: 1px solid #47c848 !important;
|
||||
pointer-events: none;
|
||||
-webkit-print-color-adjust: exact;
|
||||
print-color-adjust: exact;
|
||||
font-size: 8px !important;
|
||||
}
|
||||
|
||||
.time2 {
|
||||
width: 8%;
|
||||
text-align: center;
|
||||
direction: ltr;
|
||||
border-radius: 5px;
|
||||
border: 1px solid #47c848 !important;
|
||||
pointer-events: none;
|
||||
-webkit-print-color-adjust: exact;
|
||||
print-color-adjust: exact;
|
||||
font-size: 8px !important;
|
||||
}
|
||||
|
||||
.fild {
|
||||
border: 1px solid #878686 !important;
|
||||
background-color: #f7f7f7 !important;
|
||||
border-radius: 10px;
|
||||
// margin: 5px 10px;
|
||||
-webkit-print-color-adjust: exact;
|
||||
print-color-adjust: exact;
|
||||
}
|
||||
|
||||
.fild2 {
|
||||
border: 1px solid #878686 !important;
|
||||
background-color: #d9d9d9 !important;
|
||||
border-radius: 10px;
|
||||
padding: 10px 0 10px 0;
|
||||
display: inline;
|
||||
float: left;
|
||||
width: 80%;
|
||||
margin-left: 15px;
|
||||
-webkit-print-color-adjust: exact;
|
||||
print-color-adjust: exact;
|
||||
}
|
||||
|
||||
.fild3 {
|
||||
border: 1px solid #878686 !important;
|
||||
background-color: #e7e7e7 !important;
|
||||
border-radius: 10px;
|
||||
display: inline;
|
||||
float: left;
|
||||
width: 100%;
|
||||
-webkit-print-color-adjust: exact;
|
||||
print-color-adjust: exact;
|
||||
}
|
||||
|
||||
.call {
|
||||
background-color: #d2dbd2 !important;
|
||||
border-radius: 5px;
|
||||
margin-bottom: 3px;
|
||||
margin-left: 10px;
|
||||
margin-right: 10px;
|
||||
-webkit-print-color-adjust: exact;
|
||||
print-color-adjust: exact;
|
||||
}
|
||||
|
||||
.rest {
|
||||
pointer-events: none;
|
||||
font-size: 8px !important;
|
||||
width: 49px !important;
|
||||
-webkit-appearance: none;
|
||||
-moz-appearance: none;
|
||||
appearance: none;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.shiftDisplayNone {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.fildeWeek {
|
||||
height: 136px !important;
|
||||
width: 48% !important;
|
||||
display: inline-block;
|
||||
border: 1px solid #cfcfcf !important;
|
||||
background-color: #e7e5e5 !important;
|
||||
border-radius: 12px 0px 12px 12px;
|
||||
padding: 2px 15px !important;
|
||||
-webkit-print-color-adjust: exact;
|
||||
print-color-adjust: exact;
|
||||
}
|
||||
|
||||
.fildeWeek .row {
|
||||
height: 16px;
|
||||
margin: 1px 0;
|
||||
}
|
||||
|
||||
.weekName {
|
||||
margin-bottom: -18px !important;
|
||||
top: -18px;
|
||||
position: relative;
|
||||
margin-right: -16px;
|
||||
padding-right: 5px !important;
|
||||
font-size: 10px !important;
|
||||
border-bottom: 0px;
|
||||
color: #505458 !important;
|
||||
background-color: #bdd1be !important;
|
||||
border-radius: 15px 5px 0px 0px;
|
||||
width: 57px;
|
||||
-webkit-print-color-adjust: exact;
|
||||
print-color-adjust: exact;
|
||||
}
|
||||
|
||||
.btn-deactive {
|
||||
background-color: #bbbbbb !important;
|
||||
-webkit-print-color-adjust: exact;
|
||||
}
|
||||
|
||||
.btn-active {
|
||||
background-color: #3ac53c !important;
|
||||
-webkit-print-color-adjust: exact;
|
||||
}
|
||||
|
||||
.input-deactive {
|
||||
background-color: #dbd8d8 !important;
|
||||
-webkit-print-color-adjust: exact !important;
|
||||
}
|
||||
@@ -0,0 +1,305 @@
|
||||
.modal .modal-dialog .modal-content {
|
||||
background-color: white !important;
|
||||
}
|
||||
|
||||
.modal-dialog {
|
||||
max-width: 100%;
|
||||
width: 22.4cm;
|
||||
}
|
||||
/* @page {
|
||||
size: 7in 9.25in;
|
||||
margin: 27mm 16mm 27mm 16mm;
|
||||
}*/
|
||||
@page {
|
||||
size: A4;
|
||||
margin: 0mm;
|
||||
page-break-after: auto;
|
||||
}
|
||||
|
||||
@media screen {
|
||||
#printSection {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
.print * {
|
||||
font-family: IranSans !important;
|
||||
}
|
||||
|
||||
.print:last-child {
|
||||
page-break-after: auto !important;
|
||||
}
|
||||
|
||||
@media print {
|
||||
|
||||
body * {
|
||||
visibility: hidden;
|
||||
page-break-after: auto;
|
||||
}
|
||||
|
||||
html, body {
|
||||
height: 100%;
|
||||
margin: 0 !important;
|
||||
padding: 0 !important;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
#printSection, #printSection * {
|
||||
visibility: visible;
|
||||
page-break-after: auto;
|
||||
}
|
||||
|
||||
footer {
|
||||
page-break-after: auto;
|
||||
display: none;
|
||||
}
|
||||
|
||||
header {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#printSection {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
page-break-after: auto;
|
||||
top: 0;
|
||||
}
|
||||
|
||||
.head {
|
||||
background-color: #cdcdcd !important;
|
||||
-webkit-print-color-adjust: exact;
|
||||
print-color-adjust: exact;
|
||||
}
|
||||
|
||||
.week {
|
||||
-webkit-print-color-adjust: exact;
|
||||
print-color-adjust: exact;
|
||||
}
|
||||
|
||||
.radio-info input[type="radio"]:checked + label::after {
|
||||
background-color: black !important;
|
||||
-webkit-print-color-adjust: exact;
|
||||
print-color-adjust: exact;
|
||||
}
|
||||
|
||||
.mt-30 {
|
||||
margin: 30px 0 0 0 !important;
|
||||
}
|
||||
|
||||
.restActive, .rest {
|
||||
pointer-events: none;
|
||||
font-size: 8px !important;
|
||||
width: 46px !important;
|
||||
-webkit-appearance: none;
|
||||
-moz-appearance: none;
|
||||
appearance: none;
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
|
||||
.col-4, .col-3, .col-9,
|
||||
.col-2, .col-10, .col-6,
|
||||
.col-8, .col-5, .col-7,
|
||||
.col-offset-1 {
|
||||
float: right !important;
|
||||
}
|
||||
|
||||
h5, h6 {
|
||||
margin: 5px 0px !important;
|
||||
}
|
||||
|
||||
body .modal {
|
||||
font-size: 11px;
|
||||
}
|
||||
|
||||
label .modal {
|
||||
margin-bottom: 2px;
|
||||
}
|
||||
|
||||
.radio {
|
||||
display: inline-block;
|
||||
margin-top: -10px !important;
|
||||
}
|
||||
|
||||
.radio input[type=radio] {
|
||||
position: unset !important;
|
||||
}
|
||||
|
||||
textarea.form-control {
|
||||
height: 100px !important;
|
||||
}
|
||||
|
||||
.fontBold {
|
||||
font-family: IranSans !important;
|
||||
}
|
||||
|
||||
.fontNumber {
|
||||
font-family: IranText !important;
|
||||
}
|
||||
|
||||
.modal-body {
|
||||
height: 99%;
|
||||
}
|
||||
|
||||
.row {
|
||||
margin-right: -10px !important;
|
||||
margin-left: -10px !important;
|
||||
}
|
||||
|
||||
div span.week {
|
||||
/* border-radius: 5px;
|
||||
padding: 2px 8px;
|
||||
margin-right: 32px;
|
||||
pointer-events: none;*/
|
||||
}
|
||||
|
||||
#shanbeh, #yekshanbeh, #doshanbeh, #seshanbeh, #cheharshanbeh, #panjshanbeh, #jomeh {
|
||||
width: 80px;
|
||||
}
|
||||
|
||||
#Sh1, #Sh2, #Sh3, #Sh4, #Sh5, #Sh6, #Sh7, #Sh8 {
|
||||
width: 80px;
|
||||
margin-right: 21%;
|
||||
border-radius: 15px;
|
||||
font-size: 8px !important;
|
||||
}
|
||||
|
||||
.week {
|
||||
width: 48px !important;
|
||||
border-radius: 5px;
|
||||
padding: 1px !important;
|
||||
font-size: 8px !important;
|
||||
pointer-events: none;
|
||||
-webkit-print-color-adjust: exact;
|
||||
print-color-adjust: exact;
|
||||
}
|
||||
|
||||
.time {
|
||||
width: 8%;
|
||||
text-align: center;
|
||||
padding: 0px !important;
|
||||
direction: ltr;
|
||||
border-radius: 5px;
|
||||
border: 1px solid #47c848 !important;
|
||||
pointer-events: none;
|
||||
-webkit-print-color-adjust: exact;
|
||||
print-color-adjust: exact;
|
||||
font-size: 8px !important;
|
||||
}
|
||||
|
||||
.time2 {
|
||||
width: 8%;
|
||||
text-align: center;
|
||||
direction: ltr;
|
||||
border-radius: 5px;
|
||||
border: 1px solid #47c848 !important;
|
||||
pointer-events: none;
|
||||
-webkit-print-color-adjust: exact;
|
||||
print-color-adjust: exact;
|
||||
font-size: 8px !important;
|
||||
}
|
||||
|
||||
.fild {
|
||||
border: 1px solid #878686 !important;
|
||||
background-color: #f7f7f7 !important;
|
||||
border-radius: 10px;
|
||||
// margin: 5px 10px;
|
||||
-webkit-print-color-adjust: exact;
|
||||
print-color-adjust: exact;
|
||||
}
|
||||
|
||||
.fild2 {
|
||||
border: 1px solid #878686 !important;
|
||||
background-color: #d9d9d9 !important;
|
||||
border-radius: 10px;
|
||||
padding: 10px 0 10px 0;
|
||||
display: inline;
|
||||
float: left;
|
||||
width: 80%;
|
||||
margin-left: 15px;
|
||||
-webkit-print-color-adjust: exact;
|
||||
print-color-adjust: exact;
|
||||
}
|
||||
|
||||
.fild3 {
|
||||
border: 1px solid #878686 !important;
|
||||
background-color: #e7e7e7 !important;
|
||||
border-radius: 10px;
|
||||
display: inline;
|
||||
float: left;
|
||||
width: 100%;
|
||||
-webkit-print-color-adjust: exact;
|
||||
print-color-adjust: exact;
|
||||
}
|
||||
|
||||
.call {
|
||||
background-color: #d2dbd2 !important;
|
||||
border-radius: 5px;
|
||||
margin-bottom: 3px;
|
||||
margin-left: 10px;
|
||||
margin-right: 10px;
|
||||
-webkit-print-color-adjust: exact;
|
||||
print-color-adjust: exact;
|
||||
}
|
||||
|
||||
.rest {
|
||||
pointer-events: none;
|
||||
font-size: 8px !important;
|
||||
width: 49px !important;
|
||||
-webkit-appearance: none;
|
||||
-moz-appearance: none;
|
||||
appearance: none;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.shiftDisplayNone {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.fildeWeek {
|
||||
height: 136px !important;
|
||||
width: 48% !important;
|
||||
display: inline-block;
|
||||
border: 1px solid #cfcfcf !important;
|
||||
background-color: #e7e5e5 !important;
|
||||
border-radius: 12px 0px 12px 12px;
|
||||
padding: 2px 15px !important;
|
||||
-webkit-print-color-adjust: exact;
|
||||
print-color-adjust: exact;
|
||||
}
|
||||
|
||||
.fildeWeek .row {
|
||||
height: 16px;
|
||||
margin: 1px 0;
|
||||
}
|
||||
|
||||
.weekName {
|
||||
margin-bottom: -18px !important;
|
||||
top: -18px;
|
||||
position: relative;
|
||||
margin-right: -16px;
|
||||
padding-right: 5px !important;
|
||||
font-size: 10px !important;
|
||||
border-bottom: 0px;
|
||||
color: #505458 !important;
|
||||
background-color: #bdd1be !important;
|
||||
border-radius: 15px 5px 0px 0px;
|
||||
width: 57px;
|
||||
-webkit-print-color-adjust: exact;
|
||||
print-color-adjust: exact;
|
||||
}
|
||||
|
||||
.btn-deactive {
|
||||
background-color: #bbbbbb !important;
|
||||
-webkit-print-color-adjust: exact;
|
||||
}
|
||||
|
||||
.btn-active {
|
||||
background-color: #3ac53c !important;
|
||||
-webkit-print-color-adjust: exact;
|
||||
}
|
||||
|
||||
.input-deactive {
|
||||
background-color: #dbd8d8 !important;
|
||||
-webkit-print-color-adjust: exact !important;
|
||||
}
|
||||
455
ServiceHost/wwwroot/AssetsClient/pages/Checkouts/js/PrintOne.js
Normal file
455
ServiceHost/wwwroot/AssetsClient/pages/Checkouts/js/PrintOne.js
Normal file
@@ -0,0 +1,455 @@
|
||||
var shiftNumber = $('#shiftWorkval').val();
|
||||
|
||||
|
||||
if (shiftNumber === "4") {
|
||||
|
||||
$('#ComplexFildset').addClass("shiftDisplayNone");
|
||||
$('#WeeklyFildset').removeClass("shiftDisplayNone");
|
||||
} else {
|
||||
$('#WeeklyFildset').addClass("shiftDisplayNone");
|
||||
$('#ComplexFildset').removeClass("shiftDisplayNone");
|
||||
}
|
||||
|
||||
|
||||
if ($('#fw1').is(":checked")) {//شنبه
|
||||
$('#shanbehw1').addClass("btn-active");
|
||||
} else {
|
||||
$('#shanbehw1').removeClass("btn-active");
|
||||
$('#shanbehRow3w1 input').each(function () {
|
||||
$(this).attr("disabled", "disabled");
|
||||
$(this).addClass("input-deactive");
|
||||
});
|
||||
$('#shanbehRow3w1 .rest').each(function () {
|
||||
$(this).prop('selectedIndex', 0);
|
||||
});
|
||||
}
|
||||
if ($('#f1w1').is(":checked")) {//یکشنبه
|
||||
$('#yekshanbehw1').addClass("btn-active");
|
||||
} else {
|
||||
$('#yekshanbehw1').removeClass("btn-active");
|
||||
$('#yekshanbehRow3w1 input').each(function () {
|
||||
$(this).attr("disabled", "disabled");
|
||||
$(this).addClass("input-deactive");
|
||||
});
|
||||
$('#yekshanbehRow3w1 .rest').each(function () {
|
||||
$(this).prop('selectedIndex', 0);
|
||||
});
|
||||
}
|
||||
if ($('#f2w1').is(":checked")) {//دوشنبه
|
||||
$('#doshanbehw1').addClass("btn-active");
|
||||
} else {
|
||||
$('#doshanbehw1').removeClass("btn-active");
|
||||
$('#doshanbehRow3w1 input').each(function () {
|
||||
$(this).attr("disabled", "disabled");
|
||||
$(this).addClass("input-deactive");
|
||||
});
|
||||
$('#doshanbehRow3w1 .rest').each(function () {
|
||||
$(this).prop('selectedIndex', 0);
|
||||
});
|
||||
|
||||
}
|
||||
if ($('#f3w1').is(":checked")) {//سه شنبه
|
||||
$('#seshanbehw1').addClass("btn-active");
|
||||
} else {
|
||||
$('#seshanbehw1').removeClass("btn-active");
|
||||
$('#seshanbehRow3w1 input').each(function () {
|
||||
$(this).attr("disabled", "disabled");
|
||||
$(this).addClass("input-deactive");
|
||||
});
|
||||
$('#seshanbehRow3w1 .rest').each(function () {
|
||||
$(this).prop('selectedIndex', 0);
|
||||
});
|
||||
}
|
||||
if ($('#f4w1').is(":checked")) {//چهارشنبه
|
||||
$('#cheharshanbehw1').addClass("btn-active");
|
||||
} else {
|
||||
$('#cheharshanbehw1').removeClass("btn-active");
|
||||
$('#cheharshanbehRow3w1 input').each(function () {
|
||||
$(this).attr("disabled", "disabled");
|
||||
$(this).addClass("input-deactive");
|
||||
});
|
||||
$('#cheharshanbehRow3w1 .rest').each(function () {
|
||||
$(this).prop('selectedIndex', 0);
|
||||
});
|
||||
}
|
||||
if ($('#f5w1').is(":checked")) {//پنجشنبه
|
||||
$('#panjshanbehw1').addClass("btn-active");
|
||||
|
||||
} else {
|
||||
$('#panjshanbehw1').removeClass("btn-active");
|
||||
$('#panjshanbehRow3w1 input').each(function () {
|
||||
$(this).attr("disabled", "disabled");
|
||||
$(this).addClass("input-deactive");
|
||||
});
|
||||
$('#panjshanbehRow3w1 .rest').each(function () {
|
||||
$(this).prop('selectedIndex', 0);
|
||||
});
|
||||
}
|
||||
if ($('#f6w1').is(":checked")) {//جمعه
|
||||
$('#jomehw1').addClass("btn-active");
|
||||
} else {
|
||||
$('#jomehw1').removeClass("btn-active");
|
||||
$('#jomehRow3w1 input').each(function () {
|
||||
$(this).attr("disabled", "disabled");
|
||||
$(this).addClass("input-deactive");
|
||||
$(this).val("");
|
||||
});
|
||||
$('#jomehRow3w1 .rest').each(function () {
|
||||
$(this).prop('selectedIndex', 0);
|
||||
});
|
||||
}
|
||||
//week2 days by value
|
||||
if ($('#fw2').is(":checked")) {//شنبه
|
||||
$('#shanbehw2').addClass("btn-active");
|
||||
} else {
|
||||
$('#shanbehw2').removeClass("btn-active");
|
||||
$('#shanbehRow3w2 input').each(function () {
|
||||
$(this).attr("disabled", "disabled");
|
||||
$(this).addClass("input-deactive");
|
||||
});
|
||||
$('#shanbehRow3w2 .rest').each(function () {
|
||||
$(this).prop('selectedIndex', 0);
|
||||
});
|
||||
}
|
||||
if ($('#f1w2').is(":checked")) {//یکشنبه
|
||||
$('#yekshanbehw2').addClass("btn-active");
|
||||
} else {
|
||||
$('#yekshanbehw2').removeClass("btn-active");
|
||||
$('#yekshanbehRow3w2 input').each(function () {
|
||||
$(this).attr("disabled", "disabled");
|
||||
$(this).addClass("input-deactive");
|
||||
});
|
||||
$('#yekshanbehRow3w2 .rest').each(function () {
|
||||
$(this).prop('selectedIndex', 0);
|
||||
});
|
||||
}
|
||||
if ($('#f2w2').is(":checked")) {//دوشنبه
|
||||
$('#doshanbehw2').addClass("btn-active");
|
||||
} else {
|
||||
$('#doshanbehw2').removeClass("btn-active");
|
||||
$('#doshanbehRow3w2 input').each(function () {
|
||||
$(this).attr("disabled", "disabled");
|
||||
$(this).addClass("input-deactive");
|
||||
});
|
||||
$('#doshanbehRow3w2 .rest').each(function () {
|
||||
$(this).prop('selectedIndex', 0);
|
||||
});
|
||||
|
||||
}
|
||||
if ($('#f3w2').is(":checked")) {//سه شنبه
|
||||
$('#seshanbehw2').addClass("btn-active");
|
||||
} else {
|
||||
$('#seshanbehw2').removeClass("btn-active");
|
||||
$('#seshanbehRow3w2 input').each(function () {
|
||||
$(this).attr("disabled", "disabled");
|
||||
$(this).addClass("input-deactive");
|
||||
});
|
||||
$('#seshanbehRow3w2 .rest').each(function () {
|
||||
$(this).prop('selectedIndex', 0);
|
||||
});
|
||||
}
|
||||
if ($('#f4w2').is(":checked")) {//چهارشنبه
|
||||
$('#cheharshanbehw2').addClass("btn-active");
|
||||
} else {
|
||||
$('#cheharshanbehw2').removeClass("btn-active");
|
||||
$('#cheharshanbehRow3w2 input').each(function () {
|
||||
$(this).attr("disabled", "disabled");
|
||||
$(this).addClass("input-deactive");
|
||||
});
|
||||
$('#cheharshanbehRow3w2 .rest').each(function () {
|
||||
$(this).prop('selectedIndex', 0);
|
||||
});
|
||||
}
|
||||
if ($('#f5w2').is(":checked")) {//پنجشنبه
|
||||
$('#panjshanbehw2').addClass("btn-active");
|
||||
|
||||
} else {
|
||||
$('#panjshanbehw2').removeClass("btn-active");
|
||||
$('#panjshanbehRow3w2 input').each(function () {
|
||||
$(this).attr("disabled", "disabled");
|
||||
$(this).addClass("input-deactive");
|
||||
});
|
||||
$('#panjshanbehRow3w2 .rest').each(function () {
|
||||
$(this).prop('selectedIndex', 0);
|
||||
});
|
||||
}
|
||||
if ($('#f6w2').is(":checked")) {//جمعه
|
||||
$('#jomehw2').addClass("btn-active");
|
||||
} else {
|
||||
$('#jomehw2').removeClass("btn-active");
|
||||
$('#jomehRow3w2 input').each(function () {
|
||||
$(this).attr("disabled", "disabled");
|
||||
$(this).addClass("input-deactive");
|
||||
$(this).val("");
|
||||
});
|
||||
$('#jomehRow3w2 .rest').each(function () {
|
||||
$(this).prop('selectedIndex', 0);
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
if ($('#fw3').is(":checked")) {//شنبه
|
||||
$('#shanbehw3').addClass("btn-active");
|
||||
} else {
|
||||
$('#shanbehw3').removeClass("btn-active");
|
||||
$('#shanbehRow3w3 input').each(function () {
|
||||
$(this).attr("disabled", "disabled");
|
||||
$(this).addClass("input-deactive");
|
||||
});
|
||||
$('#shanbehRow3w3 .rest').each(function () {
|
||||
$(this).prop('selectedIndex', 0);
|
||||
});
|
||||
}
|
||||
if ($('#f1w3').is(":checked")) {//یکشنبه
|
||||
$('#yekshanbehw3').addClass("btn-active");
|
||||
} else {
|
||||
$('#yekshanbehw3').removeClass("btn-active");
|
||||
$('#yekshanbehRow3w3 input').each(function () {
|
||||
$(this).attr("disabled", "disabled");
|
||||
$(this).addClass("input-deactive");
|
||||
});
|
||||
$('#yekshanbehRow3w3 .rest').each(function () {
|
||||
$(this).prop('selectedIndex', 0);
|
||||
});
|
||||
}
|
||||
if ($('#f2w3').is(":checked")) {//دوشنبه
|
||||
$('#doshanbehw3').addClass("btn-active");
|
||||
} else {
|
||||
$('#doshanbehw3').removeClass("btn-active");
|
||||
$('#doshanbehRow3w3 input').each(function () {
|
||||
$(this).attr("disabled", "disabled");
|
||||
$(this).addClass("input-deactive");
|
||||
});
|
||||
$('#doshanbehRow3w3 .rest').each(function () {
|
||||
$(this).prop('selectedIndex', 0);
|
||||
});
|
||||
|
||||
}
|
||||
if ($('#f3w3').is(":checked")) {//سه شنبه
|
||||
$('#seshanbehw3').addClass("btn-active");
|
||||
} else {
|
||||
$('#seshanbehw3').removeClass("btn-active");
|
||||
$('#seshanbehRow3w3 input').each(function () {
|
||||
$(this).attr("disabled", "disabled");
|
||||
$(this).addClass("input-deactive");
|
||||
});
|
||||
$('#seshanbehRow3w3 .rest').each(function () {
|
||||
$(this).prop('selectedIndex', 0);
|
||||
});
|
||||
}
|
||||
if ($('#f4w3').is(":checked")) {//چهارشنبه
|
||||
$('#cheharshanbehw3').addClass("btn-active");
|
||||
} else {
|
||||
$('#cheharshanbehw3').removeClass("btn-active");
|
||||
$('#cheharshanbehRow3w3 input').each(function () {
|
||||
$(this).attr("disabled", "disabled");
|
||||
$(this).addClass("input-deactive");
|
||||
});
|
||||
$('#cheharshanbehRow3w3 .rest').each(function () {
|
||||
$(this).prop('selectedIndex', 0);
|
||||
});
|
||||
}
|
||||
if ($('#f5w3').is(":checked")) {//پنجشنبه
|
||||
$('#panjshanbehw3').addClass("btn-active");
|
||||
|
||||
} else {
|
||||
$('#panjshanbehw3').removeClass("btn-active");
|
||||
$('#panjshanbehRow3w3 input').each(function () {
|
||||
$(this).attr("disabled", "disabled");
|
||||
$(this).addClass("input-deactive");
|
||||
});
|
||||
$('#panjshanbehRow3w3 .rest').each(function () {
|
||||
$(this).prop('selectedIndex', 0);
|
||||
});
|
||||
}
|
||||
if ($('#f6w3').is(":checked")) {//جمعه
|
||||
$('#jomehw3').addClass("btn-active");
|
||||
} else {
|
||||
$('#jomehw3').removeClass("btn-active");
|
||||
$('#jomehRow3w3 input').each(function () {
|
||||
$(this).attr("disabled", "disabled");
|
||||
$(this).addClass("input-deactive");
|
||||
$(this).val("");
|
||||
});
|
||||
$('#jomehRow3w3 .rest').each(function () {
|
||||
$(this).prop('selectedIndex', 0);
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
if ($('#fw4').is(":checked")) {//شنبه
|
||||
$('#shanbehw4').addClass("btn-active");
|
||||
} else {
|
||||
$('#shanbehw4').removeClass("btn-active");
|
||||
$('#shanbehRow3w4 input').each(function () {
|
||||
$(this).attr("disabled", "disabled");
|
||||
$(this).addClass("input-deactive");
|
||||
});
|
||||
$('#shanbehRow3w4 .rest').each(function () {
|
||||
$(this).prop('selectedIndex', 0);
|
||||
});
|
||||
}
|
||||
if ($('#f1w4').is(":checked")) {//یکشنبه
|
||||
$('#yekshanbehw4').addClass("btn-active");
|
||||
} else {
|
||||
$('#yekshanbehw4').removeClass("btn-active");
|
||||
$('#yekshanbehRow3w4 input').each(function () {
|
||||
$(this).attr("disabled", "disabled");
|
||||
$(this).addClass("input-deactive");
|
||||
});
|
||||
$('#yekshanbehRow3w4 .rest').each(function () {
|
||||
$(this).prop('selectedIndex', 0);
|
||||
});
|
||||
}
|
||||
if ($('#f2w4').is(":checked")) {//دوشنبه
|
||||
$('#doshanbehw4').addClass("btn-active");
|
||||
} else {
|
||||
$('#doshanbehw4').removeClass("btn-active");
|
||||
$('#doshanbehRow3w4 input').each(function () {
|
||||
$(this).attr("disabled", "disabled");
|
||||
$(this).addClass("input-deactive");
|
||||
});
|
||||
$('#doshanbehRow3w4 .rest').each(function () {
|
||||
$(this).prop('selectedIndex', 0);
|
||||
});
|
||||
|
||||
}
|
||||
if ($('#f3w4').is(":checked")) {//سه شنبه
|
||||
$('#seshanbehw4').addClass("btn-active");
|
||||
} else {
|
||||
$('#seshanbehw4').removeClass("btn-active");
|
||||
$('#seshanbehRow3w4 input').each(function () {
|
||||
$(this).attr("disabled", "disabled");
|
||||
$(this).addClass("input-deactive");
|
||||
});
|
||||
$('#seshanbehRow3w4 .rest').each(function () {
|
||||
$(this).prop('selectedIndex', 0);
|
||||
});
|
||||
}
|
||||
if ($('#f4w4').is(":checked")) {//چهارشنبه
|
||||
$('#cheharshanbehw4').addClass("btn-active");
|
||||
} else {
|
||||
$('#cheharshanbehw4').removeClass("btn-active");
|
||||
$('#cheharshanbehRow3w4 input').each(function () {
|
||||
$(this).attr("disabled", "disabled");
|
||||
$(this).addClass("input-deactive");
|
||||
});
|
||||
$('#cheharshanbehRow3w4 .rest').each(function () {
|
||||
$(this).prop('selectedIndex', 0);
|
||||
});
|
||||
}
|
||||
if ($('#f5w4').is(":checked")) {//پنجشنبه
|
||||
$('#panjshanbehw4').addClass("btn-active");
|
||||
|
||||
} else {
|
||||
|
||||
$('#panjshanbehw4').removeClass("btn-active");
|
||||
$('#panjshanbehRow3w4 input').each(function () {
|
||||
$(this).attr("disabled", "disabled");
|
||||
$(this).addClass("input-deactive");
|
||||
});
|
||||
$('#panjshanbehRow3w4 .rest').each(function () {
|
||||
$(this).prop('selectedIndex', 0);
|
||||
});
|
||||
}
|
||||
if ($('#f6w4').is(":checked")) {//جمعه
|
||||
$('#jomehw4').addClass("btn-active");
|
||||
} else {
|
||||
$('#jomehw4').removeClass("btn-active");
|
||||
$('#jomehRow3w4 input').each(function () {
|
||||
$(this).attr("disabled", "disabled");
|
||||
$(this).addClass("input-deactive");
|
||||
$(this).val("");
|
||||
});
|
||||
$('#jomehRow3w4 .rest').each(function () {
|
||||
$(this).prop('selectedIndex', 0);
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
//disable shifte 2
|
||||
function towDeactive() {
|
||||
$('input.tow').each(function () {
|
||||
$(this).attr("disabled", "disabled");
|
||||
$(this).addClass("input-deactive");
|
||||
$(this).val("");
|
||||
$(this).removeProp("style");
|
||||
|
||||
|
||||
});
|
||||
}
|
||||
//active shift2
|
||||
function towActive() {
|
||||
$('input.tow').each(function () {
|
||||
$(this).removeAttr("disabled");
|
||||
$(this).removeClass("input-deactive");
|
||||
|
||||
|
||||
});
|
||||
}
|
||||
function oneActive() {
|
||||
$('input.one').each(function () {
|
||||
$(this).removeAttr("disabled");
|
||||
$(this).removeClass("input-deactive");
|
||||
|
||||
|
||||
});
|
||||
}
|
||||
//rest disable
|
||||
function restDeactive() {
|
||||
$('.restActive').each(function () {
|
||||
$(this).attr("disabled", "disabled");
|
||||
$(this).addClass("input-deactive");
|
||||
$(this).prop('selectedIndex', 0);
|
||||
|
||||
|
||||
});
|
||||
}
|
||||
//empty rest
|
||||
function restReset() {
|
||||
$('.restActive').each(function () {
|
||||
|
||||
$(this).prop('selectedIndex', 0);
|
||||
|
||||
|
||||
});
|
||||
}
|
||||
//rest active
|
||||
function restActive() {
|
||||
$('.restActive').each(function () {
|
||||
$(this).removeAttr("disabled");
|
||||
$(this).removeClass("input-deactive");
|
||||
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
||||
document.getElementById("btnPrint").onclick = function () {
|
||||
printElement(document.getElementById("printThis"));
|
||||
}
|
||||
|
||||
function printElement(elem) {
|
||||
var domClone = elem.cloneNode(true);
|
||||
|
||||
var $printSection = document.getElementById("printSection");
|
||||
|
||||
if (!$printSection) {
|
||||
$printSection = document.createElement("div");
|
||||
$printSection.id = "printSection";
|
||||
document.body.appendChild($printSection);
|
||||
}
|
||||
|
||||
$printSection.innerHTML = "";
|
||||
$printSection.appendChild(domClone);
|
||||
window.print();
|
||||
}
|
||||
@@ -0,0 +1,475 @@
|
||||
var shiftNumber = $('#shiftWorkval').val();
|
||||
|
||||
|
||||
if (shiftNumber === "4") {
|
||||
|
||||
$('#ComplexFildset').addClass("shiftDisplayNone");
|
||||
$('#WeeklyFildset').removeClass("shiftDisplayNone");
|
||||
} else {
|
||||
$('#WeeklyFildset').addClass("shiftDisplayNone");
|
||||
$('#ComplexFildset').removeClass("shiftDisplayNone");
|
||||
}
|
||||
|
||||
|
||||
if ($('#fw1').is(":checked")) {//شنبه
|
||||
$('#shanbehw1').addClass("btn-active");
|
||||
} else {
|
||||
$('#shanbehw1').removeClass("btn-active");
|
||||
$('#shanbehRow3w1 input').each(function () {
|
||||
$(this).attr("disabled", "disabled");
|
||||
$(this).addClass("input-deactive");
|
||||
});
|
||||
$('#shanbehRow3w1 .rest').each(function () {
|
||||
$(this).prop('selectedIndex', 0);
|
||||
});
|
||||
}
|
||||
if ($('#f1w1').is(":checked")) {//یکشنبه
|
||||
$('#yekshanbehw1').addClass("btn-active");
|
||||
} else {
|
||||
$('#yekshanbehw1').removeClass("btn-active");
|
||||
$('#yekshanbehRow3w1 input').each(function () {
|
||||
$(this).attr("disabled", "disabled");
|
||||
$(this).addClass("input-deactive");
|
||||
});
|
||||
$('#yekshanbehRow3w1 .rest').each(function () {
|
||||
$(this).prop('selectedIndex', 0);
|
||||
});
|
||||
}
|
||||
if ($('#f2w1').is(":checked")) {//دوشنبه
|
||||
$('#doshanbehw1').addClass("btn-active");
|
||||
} else {
|
||||
$('#doshanbehw1').removeClass("btn-active");
|
||||
$('#doshanbehRow3w1 input').each(function () {
|
||||
$(this).attr("disabled", "disabled");
|
||||
$(this).addClass("input-deactive");
|
||||
});
|
||||
$('#doshanbehRow3w1 .rest').each(function () {
|
||||
$(this).prop('selectedIndex', 0);
|
||||
});
|
||||
|
||||
}
|
||||
if ($('#f3w1').is(":checked")) {//سه شنبه
|
||||
$('#seshanbehw1').addClass("btn-active");
|
||||
} else {
|
||||
$('#seshanbehw1').removeClass("btn-active");
|
||||
$('#seshanbehRow3w1 input').each(function () {
|
||||
$(this).attr("disabled", "disabled");
|
||||
$(this).addClass("input-deactive");
|
||||
});
|
||||
$('#seshanbehRow3w1 .rest').each(function () {
|
||||
$(this).prop('selectedIndex', 0);
|
||||
});
|
||||
}
|
||||
if ($('#f4w1').is(":checked")) {//چهارشنبه
|
||||
$('#cheharshanbehw1').addClass("btn-active");
|
||||
} else {
|
||||
$('#cheharshanbehw1').removeClass("btn-active");
|
||||
$('#cheharshanbehRow3w1 input').each(function () {
|
||||
$(this).attr("disabled", "disabled");
|
||||
$(this).addClass("input-deactive");
|
||||
});
|
||||
$('#cheharshanbehRow3w1 .rest').each(function () {
|
||||
$(this).prop('selectedIndex', 0);
|
||||
});
|
||||
}
|
||||
if ($('#f5w1').is(":checked")) {//پنجشنبه
|
||||
$('#panjshanbehw1').addClass("btn-active");
|
||||
|
||||
} else {
|
||||
$('#panjshanbehw1').removeClass("btn-active");
|
||||
$('#panjshanbehRow3w1 input').each(function () {
|
||||
$(this).attr("disabled", "disabled");
|
||||
$(this).addClass("input-deactive");
|
||||
});
|
||||
$('#panjshanbehRow3w1 .rest').each(function () {
|
||||
$(this).prop('selectedIndex', 0);
|
||||
});
|
||||
}
|
||||
if ($('#f6w1').is(":checked")) {//جمعه
|
||||
$('#jomehw1').addClass("btn-active");
|
||||
} else {
|
||||
$('#jomehw1').removeClass("btn-active");
|
||||
$('#jomehRow3w1 input').each(function () {
|
||||
$(this).attr("disabled", "disabled");
|
||||
$(this).addClass("input-deactive");
|
||||
$(this).val("");
|
||||
});
|
||||
$('#jomehRow3w1 .rest').each(function () {
|
||||
$(this).prop('selectedIndex', 0);
|
||||
});
|
||||
}
|
||||
//week2 days by value
|
||||
if ($('#fw2').is(":checked")) {//شنبه
|
||||
$('#shanbehw2').addClass("btn-active");
|
||||
} else {
|
||||
$('#shanbehw2').removeClass("btn-active");
|
||||
$('#shanbehRow3w2 input').each(function () {
|
||||
$(this).attr("disabled", "disabled");
|
||||
$(this).addClass("input-deactive");
|
||||
});
|
||||
$('#shanbehRow3w2 .rest').each(function () {
|
||||
$(this).prop('selectedIndex', 0);
|
||||
});
|
||||
}
|
||||
if ($('#f1w2').is(":checked")) {//یکشنبه
|
||||
$('#yekshanbehw2').addClass("btn-active");
|
||||
} else {
|
||||
$('#yekshanbehw2').removeClass("btn-active");
|
||||
$('#yekshanbehRow3w2 input').each(function () {
|
||||
$(this).attr("disabled", "disabled");
|
||||
$(this).addClass("input-deactive");
|
||||
});
|
||||
$('#yekshanbehRow3w2 .rest').each(function () {
|
||||
$(this).prop('selectedIndex', 0);
|
||||
});
|
||||
}
|
||||
if ($('#f2w2').is(":checked")) {//دوشنبه
|
||||
$('#doshanbehw2').addClass("btn-active");
|
||||
} else {
|
||||
$('#doshanbehw2').removeClass("btn-active");
|
||||
$('#doshanbehRow3w2 input').each(function () {
|
||||
$(this).attr("disabled", "disabled");
|
||||
$(this).addClass("input-deactive");
|
||||
});
|
||||
$('#doshanbehRow3w2 .rest').each(function () {
|
||||
$(this).prop('selectedIndex', 0);
|
||||
});
|
||||
|
||||
}
|
||||
if ($('#f3w2').is(":checked")) {//سه شنبه
|
||||
$('#seshanbehw2').addClass("btn-active");
|
||||
} else {
|
||||
$('#seshanbehw2').removeClass("btn-active");
|
||||
$('#seshanbehRow3w2 input').each(function () {
|
||||
$(this).attr("disabled", "disabled");
|
||||
$(this).addClass("input-deactive");
|
||||
});
|
||||
$('#seshanbehRow3w2 .rest').each(function () {
|
||||
$(this).prop('selectedIndex', 0);
|
||||
});
|
||||
}
|
||||
if ($('#f4w2').is(":checked")) {//چهارشنبه
|
||||
$('#cheharshanbehw2').addClass("btn-active");
|
||||
} else {
|
||||
$('#cheharshanbehw2').removeClass("btn-active");
|
||||
$('#cheharshanbehRow3w2 input').each(function () {
|
||||
$(this).attr("disabled", "disabled");
|
||||
$(this).addClass("input-deactive");
|
||||
});
|
||||
$('#cheharshanbehRow3w2 .rest').each(function () {
|
||||
$(this).prop('selectedIndex', 0);
|
||||
});
|
||||
}
|
||||
if ($('#f5w2').is(":checked")) {//پنجشنبه
|
||||
$('#panjshanbehw2').addClass("btn-active");
|
||||
|
||||
} else {
|
||||
$('#panjshanbehw2').removeClass("btn-active");
|
||||
$('#panjshanbehRow3w2 input').each(function () {
|
||||
$(this).attr("disabled", "disabled");
|
||||
$(this).addClass("input-deactive");
|
||||
});
|
||||
$('#panjshanbehRow3w2 .rest').each(function () {
|
||||
$(this).prop('selectedIndex', 0);
|
||||
});
|
||||
}
|
||||
if ($('#f6w2').is(":checked")) {//جمعه
|
||||
$('#jomehw2').addClass("btn-active");
|
||||
} else {
|
||||
$('#jomehw2').removeClass("btn-active");
|
||||
$('#jomehRow3w2 input').each(function () {
|
||||
$(this).attr("disabled", "disabled");
|
||||
$(this).addClass("input-deactive");
|
||||
$(this).val("");
|
||||
});
|
||||
$('#jomehRow3w2 .rest').each(function () {
|
||||
$(this).prop('selectedIndex', 0);
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
if ($('#fw3').is(":checked")) {//شنبه
|
||||
$('#shanbehw3').addClass("btn-active");
|
||||
} else {
|
||||
$('#shanbehw3').removeClass("btn-active");
|
||||
$('#shanbehRow3w3 input').each(function () {
|
||||
$(this).attr("disabled", "disabled");
|
||||
$(this).addClass("input-deactive");
|
||||
});
|
||||
$('#shanbehRow3w3 .rest').each(function () {
|
||||
$(this).prop('selectedIndex', 0);
|
||||
});
|
||||
}
|
||||
if ($('#f1w3').is(":checked")) {//یکشنبه
|
||||
$('#yekshanbehw3').addClass("btn-active");
|
||||
} else {
|
||||
$('#yekshanbehw3').removeClass("btn-active");
|
||||
$('#yekshanbehRow3w3 input').each(function () {
|
||||
$(this).attr("disabled", "disabled");
|
||||
$(this).addClass("input-deactive");
|
||||
});
|
||||
$('#yekshanbehRow3w3 .rest').each(function () {
|
||||
$(this).prop('selectedIndex', 0);
|
||||
});
|
||||
}
|
||||
if ($('#f2w3').is(":checked")) {//دوشنبه
|
||||
$('#doshanbehw3').addClass("btn-active");
|
||||
} else {
|
||||
$('#doshanbehw3').removeClass("btn-active");
|
||||
$('#doshanbehRow3w3 input').each(function () {
|
||||
$(this).attr("disabled", "disabled");
|
||||
$(this).addClass("input-deactive");
|
||||
});
|
||||
$('#doshanbehRow3w3 .rest').each(function () {
|
||||
$(this).prop('selectedIndex', 0);
|
||||
});
|
||||
|
||||
}
|
||||
if ($('#f3w3').is(":checked")) {//سه شنبه
|
||||
$('#seshanbehw3').addClass("btn-active");
|
||||
} else {
|
||||
$('#seshanbehw3').removeClass("btn-active");
|
||||
$('#seshanbehRow3w3 input').each(function () {
|
||||
$(this).attr("disabled", "disabled");
|
||||
$(this).addClass("input-deactive");
|
||||
});
|
||||
$('#seshanbehRow3w3 .rest').each(function () {
|
||||
$(this).prop('selectedIndex', 0);
|
||||
});
|
||||
}
|
||||
if ($('#f4w3').is(":checked")) {//چهارشنبه
|
||||
$('#cheharshanbehw3').addClass("btn-active");
|
||||
} else {
|
||||
$('#cheharshanbehw3').removeClass("btn-active");
|
||||
$('#cheharshanbehRow3w3 input').each(function () {
|
||||
$(this).attr("disabled", "disabled");
|
||||
$(this).addClass("input-deactive");
|
||||
});
|
||||
$('#cheharshanbehRow3w3 .rest').each(function () {
|
||||
$(this).prop('selectedIndex', 0);
|
||||
});
|
||||
}
|
||||
if ($('#f5w3').is(":checked")) {//پنجشنبه
|
||||
$('#panjshanbehw3').addClass("btn-active");
|
||||
|
||||
} else {
|
||||
$('#panjshanbehw3').removeClass("btn-active");
|
||||
$('#panjshanbehRow3w3 input').each(function () {
|
||||
$(this).attr("disabled", "disabled");
|
||||
$(this).addClass("input-deactive");
|
||||
});
|
||||
$('#panjshanbehRow3w3 .rest').each(function () {
|
||||
$(this).prop('selectedIndex', 0);
|
||||
});
|
||||
}
|
||||
if ($('#f6w3').is(":checked")) {//جمعه
|
||||
$('#jomehw3').addClass("btn-active");
|
||||
} else {
|
||||
$('#jomehw3').removeClass("btn-active");
|
||||
$('#jomehRow3w3 input').each(function () {
|
||||
$(this).attr("disabled", "disabled");
|
||||
$(this).addClass("input-deactive");
|
||||
$(this).val("");
|
||||
});
|
||||
$('#jomehRow3w3 .rest').each(function () {
|
||||
$(this).prop('selectedIndex', 0);
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
if ($('#fw4').is(":checked")) {//شنبه
|
||||
$('#shanbehw4').addClass("btn-active");
|
||||
} else {
|
||||
$('#shanbehw4').removeClass("btn-active");
|
||||
$('#shanbehRow3w4 input').each(function () {
|
||||
$(this).attr("disabled", "disabled");
|
||||
$(this).addClass("input-deactive");
|
||||
});
|
||||
$('#shanbehRow3w4 .rest').each(function () {
|
||||
$(this).prop('selectedIndex', 0);
|
||||
});
|
||||
}
|
||||
if ($('#f1w4').is(":checked")) {//یکشنبه
|
||||
$('#yekshanbehw4').addClass("btn-active");
|
||||
} else {
|
||||
$('#yekshanbehw4').removeClass("btn-active");
|
||||
$('#yekshanbehRow3w4 input').each(function () {
|
||||
$(this).attr("disabled", "disabled");
|
||||
$(this).addClass("input-deactive");
|
||||
});
|
||||
$('#yekshanbehRow3w4 .rest').each(function () {
|
||||
$(this).prop('selectedIndex', 0);
|
||||
});
|
||||
}
|
||||
if ($('#f2w4').is(":checked")) {//دوشنبه
|
||||
$('#doshanbehw4').addClass("btn-active");
|
||||
} else {
|
||||
$('#doshanbehw4').removeClass("btn-active");
|
||||
$('#doshanbehRow3w4 input').each(function () {
|
||||
$(this).attr("disabled", "disabled");
|
||||
$(this).addClass("input-deactive");
|
||||
});
|
||||
$('#doshanbehRow3w4 .rest').each(function () {
|
||||
$(this).prop('selectedIndex', 0);
|
||||
});
|
||||
|
||||
}
|
||||
if ($('#f3w4').is(":checked")) {//سه شنبه
|
||||
$('#seshanbehw4').addClass("btn-active");
|
||||
} else {
|
||||
$('#seshanbehw4').removeClass("btn-active");
|
||||
$('#seshanbehRow3w4 input').each(function () {
|
||||
$(this).attr("disabled", "disabled");
|
||||
$(this).addClass("input-deactive");
|
||||
});
|
||||
$('#seshanbehRow3w4 .rest').each(function () {
|
||||
$(this).prop('selectedIndex', 0);
|
||||
});
|
||||
}
|
||||
if ($('#f4w4').is(":checked")) {//چهارشنبه
|
||||
$('#cheharshanbehw4').addClass("btn-active");
|
||||
} else {
|
||||
$('#cheharshanbehw4').removeClass("btn-active");
|
||||
$('#cheharshanbehRow3w4 input').each(function () {
|
||||
$(this).attr("disabled", "disabled");
|
||||
$(this).addClass("input-deactive");
|
||||
});
|
||||
$('#cheharshanbehRow3w4 .rest').each(function () {
|
||||
$(this).prop('selectedIndex', 0);
|
||||
});
|
||||
}
|
||||
if ($('#f5w4').is(":checked")) {//پنجشنبه
|
||||
$('#panjshanbehw4').addClass("btn-active");
|
||||
|
||||
} else {
|
||||
|
||||
$('#panjshanbehw4').removeClass("btn-active");
|
||||
$('#panjshanbehRow3w4 input').each(function () {
|
||||
$(this).attr("disabled", "disabled");
|
||||
$(this).addClass("input-deactive");
|
||||
});
|
||||
$('#panjshanbehRow3w4 .rest').each(function () {
|
||||
$(this).prop('selectedIndex', 0);
|
||||
});
|
||||
}
|
||||
if ($('#f6w4').is(":checked")) {//جمعه
|
||||
$('#jomehw4').addClass("btn-active");
|
||||
} else {
|
||||
$('#jomehw4').removeClass("btn-active");
|
||||
$('#jomehRow3w4 input').each(function () {
|
||||
$(this).attr("disabled", "disabled");
|
||||
$(this).addClass("input-deactive");
|
||||
$(this).val("");
|
||||
});
|
||||
$('#jomehRow3w4 .rest').each(function () {
|
||||
$(this).prop('selectedIndex', 0);
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
//disable shifte 2
|
||||
function towDeactive() {
|
||||
$('input.tow').each(function () {
|
||||
$(this).attr("disabled", "disabled");
|
||||
$(this).addClass("input-deactive");
|
||||
$(this).val("");
|
||||
$(this).removeProp("style");
|
||||
|
||||
|
||||
});
|
||||
}
|
||||
//active shift2
|
||||
function towActive() {
|
||||
$('input.tow').each(function () {
|
||||
$(this).removeAttr("disabled");
|
||||
$(this).removeClass("input-deactive");
|
||||
|
||||
|
||||
});
|
||||
}
|
||||
function oneActive() {
|
||||
$('input.one').each(function () {
|
||||
$(this).removeAttr("disabled");
|
||||
$(this).removeClass("input-deactive");
|
||||
|
||||
|
||||
});
|
||||
}
|
||||
//rest disable
|
||||
function restDeactive() {
|
||||
$('.restActive').each(function () {
|
||||
$(this).attr("disabled", "disabled");
|
||||
$(this).addClass("input-deactive");
|
||||
$(this).prop('selectedIndex', 0);
|
||||
|
||||
|
||||
});
|
||||
}
|
||||
//empty rest
|
||||
function restReset() {
|
||||
$('.restActive').each(function () {
|
||||
|
||||
$(this).prop('selectedIndex', 0);
|
||||
|
||||
|
||||
});
|
||||
}
|
||||
//rest active
|
||||
function restActive() {
|
||||
$('.restActive').each(function () {
|
||||
$(this).removeAttr("disabled");
|
||||
$(this).removeClass("input-deactive");
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
$(document).ready(function() {
|
||||
window.onbeforeprint = (event) => {
|
||||
$("#MainModal").modal("hide");
|
||||
}
|
||||
document.getElementById("MainModal").style.visibility = "hidden";
|
||||
setTimeout(function () {
|
||||
printElement(document.getElementById("printThis"));
|
||||
},500);
|
||||
});
|
||||
|
||||
|
||||
var close = document.getElementById("closingOnePrint");
|
||||
//function printElement(elem) {
|
||||
// var domClone = elem.cloneNode(true);
|
||||
|
||||
// var $printSection = document.getElementById("printSection");
|
||||
|
||||
// if (!$printSection) {
|
||||
// $printSection = document.createElement("div");
|
||||
// $printSection.id = "printSection";
|
||||
// document.body.appendChild($printSection);
|
||||
// }
|
||||
|
||||
// $printSection.innerHTML = "";
|
||||
// $printSection.appendChild(domClone);
|
||||
// window.print();
|
||||
//}
|
||||
|
||||
function printElement(elem) {
|
||||
var checkoutId = $('#Id').val();
|
||||
|
||||
var opt = {
|
||||
margin: 2,
|
||||
filename: `checkout_${checkoutId}.pdf`,
|
||||
image: { type: 'jpeg', quality: 0.98 },
|
||||
html2canvas: { scale: 2 },
|
||||
jsPDF: { unit: 'mm', format: 'a4', orientation: 'portrait' }
|
||||
};
|
||||
|
||||
html2pdf().set(opt).from(elem).save();
|
||||
$("#MainModal").modal("hide");
|
||||
}
|
||||
@@ -0,0 +1,185 @@
|
||||
|
||||
.modal .modal-dialog .modal-content {
|
||||
background-color: white !important;
|
||||
font-family: IranSans !important;
|
||||
}
|
||||
|
||||
.btn-text-disable {
|
||||
color: #627a62 !important;
|
||||
background-color: #cdcdcd !important;
|
||||
border-color: #585757 !important;
|
||||
}
|
||||
|
||||
.btncounter-text-disable {
|
||||
color: #bdc7bd !important;
|
||||
background-color: #727272 !important;
|
||||
border-color: #585757 !important;
|
||||
}
|
||||
|
||||
.container2 {
|
||||
height: 297mm;
|
||||
padding-top: 15px;
|
||||
}
|
||||
|
||||
.container2:last-of-type {
|
||||
height: 280mm;
|
||||
}
|
||||
|
||||
.modal-dialog {
|
||||
max-width: 100%;
|
||||
width: 22.4cm;
|
||||
}
|
||||
/* @page {
|
||||
size: 7in 9.25in;
|
||||
margin: 27mm 16mm 27mm 16mm;
|
||||
}*/
|
||||
@page {
|
||||
size: A4;
|
||||
margin: 0mm;
|
||||
page-break-after: auto;
|
||||
}
|
||||
|
||||
@media screen {
|
||||
#printSection {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
.print *,
|
||||
.print p,
|
||||
.print .h1, .print .h2, .print .h3, .print .h4, .print .h5, .print .h6, .print h1, .print h2, .print h3, .print h4, .print h5, .print h6 {
|
||||
font-family: IranSans !important;
|
||||
}
|
||||
|
||||
.print:last-child {
|
||||
page-break-after: auto !important;
|
||||
}
|
||||
|
||||
@media print {
|
||||
|
||||
body * {
|
||||
visibility: hidden !important;
|
||||
page-break-after: auto !important;
|
||||
}
|
||||
|
||||
html, body {
|
||||
height: 100% !important;
|
||||
margin: 0 !important;
|
||||
padding: 0 !important;
|
||||
overflow: hidden !important;
|
||||
}
|
||||
|
||||
#printSection, #printSection * {
|
||||
visibility: visible !important;
|
||||
page-break-after: auto !important;
|
||||
}
|
||||
|
||||
footer {
|
||||
page-break-after: auto !important;
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
header {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
#printSection {
|
||||
position: absolute !important;
|
||||
right: 0 !important;
|
||||
page-break-after: auto !important;
|
||||
top: 0 !important;
|
||||
}
|
||||
|
||||
.head {
|
||||
background-color: #cccccc !important;
|
||||
-webkit-print-color-adjust: exact !important;
|
||||
print-color-adjust: exact !important;
|
||||
}
|
||||
|
||||
.radio-info input[type="radio"]:checked + label::after {
|
||||
background-color: black !important;
|
||||
-webkit-print-color-adjust: exact !important;
|
||||
print-color-adjust: exact !important;
|
||||
}
|
||||
|
||||
.mt-30 {
|
||||
margin: 30px 0 0 0 !important;
|
||||
}
|
||||
}
|
||||
|
||||
.col-4, .col-3, .col-9,
|
||||
.col-2, .col-10, .col-6,
|
||||
.col-8, .col-5, .col-7,
|
||||
.col-offset-1 {
|
||||
float: right !important;
|
||||
}
|
||||
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
color: #505458 !important;
|
||||
}
|
||||
|
||||
.h4, h4 {
|
||||
font-size: 18px !important;
|
||||
}
|
||||
|
||||
h5, h6 {
|
||||
font-size: 14px !important;
|
||||
margin: 5px 0px !important;
|
||||
}
|
||||
|
||||
body {
|
||||
font-size: 11px;
|
||||
}
|
||||
|
||||
.radio {
|
||||
display: inline-block;
|
||||
margin-top: -10px !important;
|
||||
}
|
||||
|
||||
.radio input[type=radio] {
|
||||
position: unset !important;
|
||||
}
|
||||
|
||||
textarea.form-control {
|
||||
height: 100px !important;
|
||||
}
|
||||
|
||||
.fontBold {
|
||||
font-family: IranSans !important;
|
||||
// font-family: 'IRANYekanX', serif !important;
|
||||
}
|
||||
|
||||
.fontNumber {
|
||||
font-family: IranText !important;
|
||||
// font-family: 'IRANYekanX', serif !important;
|
||||
}
|
||||
|
||||
.modal-body {
|
||||
height: 99%;
|
||||
}
|
||||
|
||||
.row {
|
||||
margin-right: -10px !important;
|
||||
margin-left: -10px !important;
|
||||
}
|
||||
|
||||
.print-card {
|
||||
position: fixed;
|
||||
top: 130px;
|
||||
width: auto;
|
||||
z-index: 20;
|
||||
box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
|
||||
}
|
||||
|
||||
@media screen and (max-width: 992px) {
|
||||
.wrapper {
|
||||
visibility: hidden;
|
||||
}
|
||||
.print-card {
|
||||
position: relative;
|
||||
top: 0;
|
||||
width: 100%;
|
||||
z-index: 20;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,225 @@
|
||||
.modal-dialog {
|
||||
width: 70% !important;
|
||||
}
|
||||
|
||||
.st .select2-container {
|
||||
width: 100% !important;
|
||||
display: inline-block !important;
|
||||
}
|
||||
|
||||
.select2-container {
|
||||
width: 100% !important;
|
||||
}
|
||||
|
||||
.modal-footer {
|
||||
border-top: unset !important;
|
||||
}
|
||||
|
||||
.modal-header {
|
||||
border-bottom: unset;
|
||||
}
|
||||
|
||||
.modal-body {
|
||||
padding-top: 0px !important;
|
||||
}
|
||||
|
||||
.close {
|
||||
float: right !important;
|
||||
margin-right: -20px;
|
||||
}
|
||||
|
||||
.modal .modal-dialog .modal-content .modal-footer {
|
||||
padding-top: unset !important;
|
||||
}
|
||||
|
||||
p {
|
||||
direction: ltr !important;
|
||||
text-align: right !important;
|
||||
}
|
||||
|
||||
input[type=radio]:hover {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.error {
|
||||
border-radius: 15px;
|
||||
}
|
||||
|
||||
.heading {
|
||||
background-color: #4a4a4a;
|
||||
height: 50px;
|
||||
border-radius: 15px;
|
||||
color: #fff;
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
.bar {
|
||||
background-color: #cdcdcd;
|
||||
height: 37px;
|
||||
border-radius: 25px 0px 0px 25px;
|
||||
}
|
||||
|
||||
.year-bar {
|
||||
text-align: center;
|
||||
border-radius: 0px 25px 25px 0px;
|
||||
background-color: #ffd740;
|
||||
height: 37px;
|
||||
}
|
||||
|
||||
.signature-true {
|
||||
color: #1bff01;
|
||||
left: 5px;
|
||||
top: 0px;
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
.signature-false {
|
||||
color: #dd3632;
|
||||
left: 5px;
|
||||
top: 0px;
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
.rightside {
|
||||
right: 5px;
|
||||
background-color: #cdcdcd;
|
||||
top: 1px;
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
.leftside {
|
||||
left: 5px;
|
||||
background-color: #cdcdcd;
|
||||
top: 1px;
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
.tooltipfull-container {
|
||||
cursor: pointer;
|
||||
position: relative;
|
||||
/* display: inline-block;*/
|
||||
}
|
||||
|
||||
.tooltipfull-r {
|
||||
opacity: 0;
|
||||
z-index: 99;
|
||||
color: #fff;
|
||||
/* width: 180px;*/
|
||||
display: block;
|
||||
font-size: 12px;
|
||||
padding: 1px;
|
||||
border-radius: 0px 15px 15px 0px;
|
||||
text-align: center;
|
||||
/*text-shadow: 1px 1px 2px #111;*/
|
||||
background: #036205;
|
||||
border: 1px solid #036205;
|
||||
box-shadow: 0 0 3px rgba(0,0,0,0.5);
|
||||
-webkit-transition: all .2s ease-in-out;
|
||||
-moz-transition: all .2s ease-in-out;
|
||||
-o-transition: all .2s ease-in-out;
|
||||
/* -ms-transition: all .2s ease-in-out;*/
|
||||
transition: all .2s ease-in-out;
|
||||
-webkit-transform: scale(0);
|
||||
-moz-transform: scale(0);
|
||||
-o-transform: scale(0);
|
||||
-ms-transform: scale(0);
|
||||
transform: scale(0);
|
||||
position: absolute;
|
||||
bottom: 20px;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
.tooltipfull-r:before, .tooltipfull-r:after {
|
||||
content: '';
|
||||
border-left: unset !important;
|
||||
border-right: 10px solid transparent;
|
||||
border-top: 10px solid #036205;
|
||||
position: absolute;
|
||||
bottom: -10px;
|
||||
left: -1px;
|
||||
}
|
||||
|
||||
.tooltipfull-container:hover .tooltipfull-r, a:hover .tooltipfull-r {
|
||||
opacity: 1;
|
||||
-webkit-transform: scale(1);
|
||||
-moz-transform: scale(1);
|
||||
-o-transform: scale(1);
|
||||
-ms-transform: scale(1);
|
||||
transform: scale(1);
|
||||
}
|
||||
|
||||
|
||||
|
||||
.tooltipfull-l {
|
||||
opacity: 0;
|
||||
z-index: 99;
|
||||
color: #fff;
|
||||
/* width: 180px; */
|
||||
display: block;
|
||||
font-size: 12px;
|
||||
padding: 1px;
|
||||
border-radius: 15px 0px 0px 15px;
|
||||
text-align: center;
|
||||
/* text-shadow: 1px 1px 2px #111; */
|
||||
background: #036205;
|
||||
border: 1px solid #036205;
|
||||
box-shadow: 0 0 3px rgba(0,0,0,0.5);
|
||||
-webkit-transition: all .2s ease-in-out;
|
||||
-moz-transition: all .2s ease-in-out;
|
||||
-o-transition: all .2s ease-in-out;
|
||||
/* -ms-transition: all .2s ease-in-out; */
|
||||
transition: all .2s ease-in-out;
|
||||
-webkit-transform: scale(0);
|
||||
-moz-transform: scale(0);
|
||||
-o-transform: scale(0);
|
||||
-ms-transform: scale(0);
|
||||
transform: scale(0);
|
||||
position: absolute;
|
||||
bottom: 20px;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
|
||||
.tooltipfull-l:before, .tooltipfull:after {
|
||||
content: '';
|
||||
border-left: 10px solid transparent;
|
||||
border-right: unset !important;
|
||||
border-top: 10px solid #036205;
|
||||
position: absolute;
|
||||
bottom: -10px;
|
||||
right: -1px;
|
||||
}
|
||||
|
||||
|
||||
.tooltipfull-container:hover .tooltipfull-l, a:hover .tooltipfull-l {
|
||||
opacity: 1;
|
||||
-webkit-transform: scale(1);
|
||||
-moz-transform: scale(1);
|
||||
-o-transform: scale(1);
|
||||
-ms-transform: scale(1);
|
||||
transform: scale(1);
|
||||
}
|
||||
|
||||
.btn-success:hover {
|
||||
background-color: #036205 !important;
|
||||
border-color: #036205 !important;
|
||||
}
|
||||
|
||||
@@media screen and (max-width: 1920px) {
|
||||
.month-header {
|
||||
font-size: 14px;
|
||||
}
|
||||
}
|
||||
|
||||
@@media screen and (max-width: 1440px) {
|
||||
.month-header {
|
||||
font-size: 11px;
|
||||
}
|
||||
}
|
||||
|
||||
.anim {
|
||||
animation-name: animationProgress;
|
||||
}
|
||||
@@ -0,0 +1,232 @@
|
||||
|
||||
.errored {
|
||||
animation: shake 300ms;
|
||||
color: #eb3434 !important;
|
||||
background-color: #fef2f2 !important;
|
||||
border: 1px solid #eb3434 !important;
|
||||
border-radius: 7px;
|
||||
}
|
||||
|
||||
.goToTop {
|
||||
position: fixed;
|
||||
bottom: -10px;
|
||||
margin-right: 100px;
|
||||
z-index: 100;
|
||||
color: #fff;
|
||||
background-color: #25acacd6;
|
||||
display: none;
|
||||
}
|
||||
|
||||
.goToTop:hover {
|
||||
color: #fff;
|
||||
background-color: #2ca4a4;
|
||||
}
|
||||
|
||||
.width1 {
|
||||
width: 5% !important;
|
||||
}
|
||||
|
||||
.width2 {
|
||||
width: 20% !important;
|
||||
}
|
||||
|
||||
.width3 {
|
||||
width: 10% !important;
|
||||
}
|
||||
|
||||
.width4 {
|
||||
width: 15% !important;
|
||||
}
|
||||
|
||||
.width5 {
|
||||
width: 15% !important;
|
||||
}
|
||||
|
||||
.width6 {
|
||||
width: 20% !important;
|
||||
}
|
||||
|
||||
.width7 {
|
||||
width: 10% !important;
|
||||
text-align: end;
|
||||
}
|
||||
|
||||
.documentFileBox {
|
||||
width: 40px;
|
||||
height: 25px;
|
||||
border-radius: 4px;
|
||||
background-color: #D9D9D9;
|
||||
margin: auto 3px;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.documentFileBoxImg {
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
border-radius: 4px;
|
||||
background-color: #D9D9D9;
|
||||
margin: auto 3px;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.preview-image {
|
||||
object-fit: cover;
|
||||
object-position: center;
|
||||
width: 40px;
|
||||
height: 25px;
|
||||
}
|
||||
|
||||
.btn-uploadingPD {
|
||||
border: 1px solid transparent;
|
||||
/*width: 60%;*/
|
||||
font-size: 12px;
|
||||
height: 30px;
|
||||
border-radius: 5px;
|
||||
padding: 3px 4px;
|
||||
color: #146D94;
|
||||
margin: auto 0 auto 1px;
|
||||
background-color: rgba(52, 209, 209, 0.20);
|
||||
transition: ease .2s;
|
||||
}
|
||||
|
||||
.btn-uploadingPD:hover {
|
||||
color: #083347;
|
||||
background-color: rgba(52, 209, 209, 0.40);
|
||||
}
|
||||
|
||||
.btn-pd-more {
|
||||
background: #B6F2E1;
|
||||
border: 1px solid #059669;
|
||||
border-radius: 7px;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
color: #059669;
|
||||
text-align: right;
|
||||
font-size: 11px;
|
||||
padding: 3px;
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
line-height: normal;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.btn-pd-more:hover {
|
||||
background: #a3d7c9;
|
||||
}
|
||||
|
||||
.btn-uploadingPD-mobile {
|
||||
background-color: #B9EBEE;
|
||||
color: #1992C6;
|
||||
width: 100%;
|
||||
padding: 6px;
|
||||
border-radius: 5px;
|
||||
border: 1px solid #7ddadf;
|
||||
}
|
||||
|
||||
.btn-uploadingPD-mobile:hover {
|
||||
background-color: #91dfe3;
|
||||
}
|
||||
|
||||
.withdraw {
|
||||
background-color: rgb(177 195 195) !important;
|
||||
}
|
||||
|
||||
.btnTabPD {
|
||||
background-color: #b0e5e5;
|
||||
padding: 6px 9px;
|
||||
width: 130px;
|
||||
border-radius: 7px;
|
||||
border: 1px solid #b3b3b3;
|
||||
color: #9d9d9d;
|
||||
font-size: 11px;
|
||||
margin: auto 3px auto 3px;
|
||||
}
|
||||
|
||||
.btnTabPD:first-child {
|
||||
margin: auto 0 auto 3px;
|
||||
}
|
||||
|
||||
.btnTabPD.active {
|
||||
background-color: #34dfdf;
|
||||
color: #3b3b3b;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.btnTabPD:hover {
|
||||
background-color: #34dfdf;
|
||||
}
|
||||
|
||||
@media (max-width: 1366px) {
|
||||
.Rtable .Rtable-row .Rtable-cell {
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.Rtable .Rtable-row .Rtable-cell .Rtable-cell--content {
|
||||
font-size: 11px;
|
||||
}
|
||||
|
||||
.btn-uploadingPD {
|
||||
font-size: 10px;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@media (max-width: 767px) {
|
||||
.goToTop {
|
||||
position: fixed;
|
||||
bottom: 54px;
|
||||
margin-right: 39%;
|
||||
z-index: 100;
|
||||
color: #fff;
|
||||
background-color: #25acac70;
|
||||
}
|
||||
|
||||
.wrapper {
|
||||
margin: 0 0 60px 0;
|
||||
}
|
||||
|
||||
.Rtable .Rtable-row:nth-child(even), .table-workshop .Rtable .Rtable-row:nth-child(4n+2), .table-personals .Rtable .Rtable-row:nth-child(4n+2) {
|
||||
border-radius: 10px;
|
||||
background-color: #ECFFFF;
|
||||
transition: all .3s ease;
|
||||
border: 1px solid #eee;
|
||||
}
|
||||
|
||||
.Rtable .Rtable-row:nth-child(odd), .table-workshop .Rtable .Rtable-row:nth-child(4n+4), .table-personals .Rtable .Rtable-row:nth-child(4n+4) {
|
||||
border-radius: 10px;
|
||||
background-color: #ECFFFF;
|
||||
transition: all .3s ease;
|
||||
border: 1px solid #eee;
|
||||
}
|
||||
|
||||
.Rtable--collapse .Rtable-row {
|
||||
outline: none;
|
||||
border: 1px solid #D2D2D2;
|
||||
}
|
||||
|
||||
.Rtable .Rtable-row .Rtable-cell {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.width2 {
|
||||
width: 50% !important;
|
||||
}
|
||||
|
||||
.width7 {
|
||||
width: 30% !important;
|
||||
justify-content: end;
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.txtMonilePD {
|
||||
color: #727272;
|
||||
font-weight: 600;
|
||||
font-size: 10px;
|
||||
margin: 3px 4px;
|
||||
}
|
||||
|
||||
.btnTabPD {
|
||||
font-size: 10px;
|
||||
padding: 5px 6px;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,220 @@
|
||||
.errored {
|
||||
animation: shake 300ms;
|
||||
color: #eb3434 !important;
|
||||
background-color: #fef2f2 !important;
|
||||
border: 1px solid #eb3434 !important;
|
||||
}
|
||||
|
||||
.modal-dialog, .modal-content {
|
||||
/*height: 420px;*/
|
||||
}
|
||||
|
||||
.pdHeaderTitle1 {
|
||||
font-size: 15px;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.pdHeaderTitle2 {
|
||||
font-size: 12px;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.pdBoxGrid {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(2, minmax(0, 1fr));
|
||||
grid-template-rows: repeat(4, minmax(0, 1fr));
|
||||
grid-auto-flow: column;
|
||||
gap: 9px;
|
||||
}
|
||||
|
||||
.pdBox {
|
||||
background-color: #F8F8F8;
|
||||
border-radius: 15px;
|
||||
border: 1px solid #E7E7E7;
|
||||
width: 100%;
|
||||
position: relative;
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
padding: 12px;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.pdBox.complete {
|
||||
background-color: #D0FFF7;
|
||||
border: 1px solid #2BBABA;
|
||||
}
|
||||
|
||||
.pdBox.discomplete {
|
||||
background-color: #FFD9D9;
|
||||
border: 1px solid #FF5D5D;
|
||||
}
|
||||
|
||||
.pdImageBox {
|
||||
background-color: #E6E6E6;
|
||||
border-radius: 6px;
|
||||
border: 1px solid #D3D3D3;
|
||||
width: 100px;
|
||||
height: 60px;
|
||||
text-align: center;
|
||||
position: relative;
|
||||
display: inline-flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.pdImageBox .completeSign {
|
||||
position: absolute;
|
||||
top: -10px;
|
||||
right: -10px;
|
||||
}
|
||||
|
||||
.pdImageBox .discompleteSign {
|
||||
position: absolute;
|
||||
top: -10px;
|
||||
right: -10px;
|
||||
}
|
||||
|
||||
.pdImageBox img{
|
||||
object-fit: cover;
|
||||
object-position: center;
|
||||
border-radius: 6px;
|
||||
width: 100px;
|
||||
height: 60px;
|
||||
}
|
||||
|
||||
.pdTitle {
|
||||
color: #000000;
|
||||
font-weight: 500;
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.pdTitle span {
|
||||
color: #FF5E5E;
|
||||
font-weight: 500;
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.pdTitle2 {
|
||||
color: #000000;
|
||||
font-weight: 400;
|
||||
font-size: 13px;
|
||||
width: 90%;
|
||||
}
|
||||
|
||||
.btnUploadingPD {
|
||||
background-color: #2BBABA;
|
||||
color: #ffffff;
|
||||
font-size: 12px;
|
||||
padding: 5px 12px;
|
||||
border-radius: 4px;
|
||||
transition: all .3s ease-in;
|
||||
white-space: nowrap;
|
||||
width: 80px;
|
||||
}
|
||||
|
||||
.btnUploadingPD:hover {
|
||||
background-color: #248E8E;
|
||||
}
|
||||
|
||||
.btnDeletingPD {
|
||||
background-color: #c76161;
|
||||
color: #ffffff;
|
||||
font-size: 12px;
|
||||
padding: 5px 12px;
|
||||
border-radius: 4px;
|
||||
transition: all .3s ease-in;
|
||||
white-space: nowrap;
|
||||
width: 80px;
|
||||
}
|
||||
|
||||
.btnDeletingPD:hover {
|
||||
background-color: #a54e4e;
|
||||
}
|
||||
|
||||
.btnCreateNew {
|
||||
font-size: 14px;
|
||||
font-weight: 500;
|
||||
background-color: #84CC16;
|
||||
color: #FFFFFF;
|
||||
border-radius: 8px;
|
||||
padding: 10px 70px;
|
||||
}
|
||||
|
||||
.btnCreateNew:hover {
|
||||
background-color: #5f9213;
|
||||
}
|
||||
|
||||
.btnCreateNew,
|
||||
.btn-cancel2 {
|
||||
width: auto !important;
|
||||
}
|
||||
|
||||
@media (max-width: 1366px) {
|
||||
.pdTitle {
|
||||
font-size: 15px;
|
||||
}
|
||||
|
||||
.pdTitle2 {
|
||||
font-size: 12px;
|
||||
/*width: 290px;*/
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 992px) {
|
||||
.pdBoxGrid {
|
||||
grid-template-columns: repeat(1, minmax(0, 1fr));
|
||||
grid-template-rows: none;
|
||||
grid-auto-flow: unset;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 768px) {
|
||||
.modal-body {
|
||||
height: 75vh;
|
||||
}
|
||||
|
||||
.pdTitle {
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.pdTitle2 {
|
||||
width: auto;
|
||||
}
|
||||
|
||||
.pdBox
|
||||
{
|
||||
padding: 9px;
|
||||
}
|
||||
|
||||
.pdImageBox {
|
||||
width: 70px;
|
||||
height: 40px;
|
||||
}
|
||||
|
||||
.pdImageBox img {
|
||||
width: 70px;
|
||||
height: 40px;
|
||||
}
|
||||
|
||||
.btnUploadingPD,
|
||||
.btnDeletingPD {
|
||||
font-size: 10px;
|
||||
padding: 4px 9px;
|
||||
width: 60px;
|
||||
}
|
||||
|
||||
.btnCreateNew,
|
||||
.btn-cancel2 {
|
||||
font-size: 12px !important;
|
||||
padding: 10px 0 !important;
|
||||
width: 100% !important;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@media (max-width: 548px) {
|
||||
.pdTitle {
|
||||
font-size: 12px;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,374 @@
|
||||
var pageIndexJs = 0;
|
||||
var mode = 'all';
|
||||
var searchName = '';
|
||||
|
||||
$(document).ready(function () {
|
||||
loadPersonnelDocuments(mode, searchName);
|
||||
|
||||
$(document).on('click', '.btnTabPD', function () {
|
||||
mode = $(this).data('mode');
|
||||
$('.btnTabPD').removeClass('active');
|
||||
$(this).addClass('active');
|
||||
$('.btn-clear-filter').addClass('disable');
|
||||
pageIndexJs = 0;
|
||||
$('#personnelDocumentsAjax').html('');
|
||||
$('.employeeName').val('');
|
||||
loadPersonnelDocuments(mode, searchName = '');
|
||||
});
|
||||
});
|
||||
|
||||
$(document).on('click', ".openAction", function () {
|
||||
if (window.matchMedia('(max-width: 767px)').matches) {
|
||||
$(this).next().find(".operations-btns").slideToggle(500);
|
||||
$(".operations-btns").not($(this).next().find(".operations-btns")).slideUp(500);
|
||||
}
|
||||
});
|
||||
|
||||
$(document).on('click', '.btn-uploadingPD, .btn-uploadingPD-mobile', function () {
|
||||
var id = $(this).attr('id').split('_')[1];
|
||||
openPersonnelDocsUploadModal(id);
|
||||
});
|
||||
|
||||
$(document).on('click', '.btn-search-click, .btn-search-click-mobile', function () {
|
||||
pageIndexJs = 0;
|
||||
$('#personnelDocumentsAjax').html('');
|
||||
$('.btn-clear-filter').removeClass('disable');
|
||||
searchName = $('.employeeName').val().trim();
|
||||
if (searchName == "") {
|
||||
$('.btn-clear-filter').addClass('disable');
|
||||
}
|
||||
$('#searchModal').modal('hide');
|
||||
loadPersonnelDocuments(mode, searchName);
|
||||
});
|
||||
$(document).on('click', '.btn-clear-filter', function () {
|
||||
pageIndexJs = 0;
|
||||
$('#personnelDocumentsAjax').html('');
|
||||
$('.btn-clear-filter').addClass('disable');
|
||||
$('.employeeName').val('');
|
||||
$('#searchModal').modal('hide');
|
||||
loadPersonnelDocuments(mode, searchName = '');
|
||||
});
|
||||
|
||||
|
||||
// When typing in the desktop search
|
||||
$('.d-none.d-md-block .employeeName').on('input', function () {
|
||||
var desktopInput = $(this).val();
|
||||
$('#searchModal .employeeName').val(desktopInput);
|
||||
});
|
||||
|
||||
// When typing in the mobile search
|
||||
$('#searchModal .employeeName').on('input', function () {
|
||||
var mobileInput = $(this).val();
|
||||
$('.d-none.d-md-block .employeeName').val(mobileInput);
|
||||
});
|
||||
|
||||
$('.goToTop').on('click', function () {
|
||||
$('html, body').animate({ scrollTop: 0 }, 360);
|
||||
return false;
|
||||
});
|
||||
|
||||
$(window).scroll(function () {
|
||||
if ($(window).scrollTop() + $(window).height() > $(document).height() - 600) {
|
||||
loadPersonnelDocuments(mode, searchName);
|
||||
}
|
||||
|
||||
if ($(this).scrollTop() > 100) {
|
||||
$('.goToTop').show().fadeIn();
|
||||
} else {
|
||||
$('.goToTop').fadeOut().hide();
|
||||
}
|
||||
});
|
||||
|
||||
function loadPersonnelDocuments(mode, searchName) {
|
||||
|
||||
var b = pageIndexJs % 30;
|
||||
var html = '';
|
||||
var index = 1;
|
||||
|
||||
if (b === 0) {
|
||||
$.ajax({
|
||||
async: false,
|
||||
contentType: 'charset=utf-8',
|
||||
dataType: 'json',
|
||||
type: 'GET',
|
||||
url: employeeDocumentsAjaxLoadData,
|
||||
data: { searchMode: mode, employeeName: searchName, 'pageIndex': pageIndexJs },
|
||||
headers: { "RequestVerificationToken": antiForgeryToken },
|
||||
success: function (response) {
|
||||
var personnelDocumentsData = response.data;
|
||||
console.log(personnelDocumentsData);
|
||||
if (response.isSuccedded) {
|
||||
personnelDocumentsData.forEach(function (item) {
|
||||
//foreach (var item in @Model.Employees.PersonnelInfoViewModels)
|
||||
var n = pageIndexJs + 1;
|
||||
html += `<div></div>
|
||||
<div class="Rtable-row align-items-center openAction ${item.isBlack === "true"
|
||||
? `withdraw`
|
||||
: ``}" id="Employees">
|
||||
<div class="Rtable-cell width1">
|
||||
<div class="Rtable-cell--content">
|
||||
<span class="d-flex justify-content-center">
|
||||
${n}
|
||||
<div class="d-none idPersonnel">${item.employeeId}</div>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="Rtable-cell width2">
|
||||
<div class="Rtable-cell--content d-flex align-items-center justify-content-start">
|
||||
<div class="documentFileBoxImg d-md-none d-block">`;
|
||||
var employeePicturePath = `/Client/Company/EmployeesDocuments/Index?handler=ShowPicture&filePath=${item.employeePicturePath}`;
|
||||
if (item.employeePicturePath) {
|
||||
html += `<img src="${employeePicturePath}" class="preview-image">`;
|
||||
} else {
|
||||
html += `<img src="/assetsclient/images/pd-image.png" class="preview-image"/>`;
|
||||
}
|
||||
html += `</div>
|
||||
<div class="text-start">${item.employeeFullName}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="Rtable-cell d-md-block d-none width3">
|
||||
<div class="Rtable-cell--content d-flex align-items-center justify-content-center">
|
||||
<div class="documentFileBox">`;
|
||||
if (item.employeePicturePath) {
|
||||
html += `<img src="${employeePicturePath}" class="preview-image">`;
|
||||
} else {
|
||||
html += `<img src="/assetsclient/images/pd-image.png" class="preview-image"/>`;
|
||||
}
|
||||
html += `</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="Rtable-cell d-md-block d-none width4">
|
||||
<div class="Rtable-cell--content d-flex align-items-center justify-content-center">`;
|
||||
var nationalCardFrontPicturePath = `/Client/Company/EmployeesDocuments/Index?handler=ShowPicture&filePath=${item.nationalCardFrontPicturePath}`;
|
||||
var nationalCardRearPicturePath = `/Client/Company/EmployeesDocuments/Index?handler=ShowPicture&filePath=${item.nationalCardRearPicturePath}`;
|
||||
if (item.nationalCardFrontPicturePath) {
|
||||
html += `<div class="documentFileBox"><img src="${nationalCardFrontPicturePath}" class="preview-image"></div>`;
|
||||
} else {
|
||||
html += `<div class="documentFileBox"><img src="/assetsclient/images/pd-image.png" class="preview-image"/></div>`;
|
||||
}
|
||||
|
||||
if (item.nationalCardRearPicturePath) {
|
||||
html += `<div class="documentFileBox"><img src="${nationalCardRearPicturePath}" class="preview-image"></div>`;
|
||||
} else {
|
||||
html += `<div class="documentFileBox"><img src="/assetsclient/images/pd-image.png" class="preview-image"/></div>`;
|
||||
}
|
||||
html += `</div>
|
||||
</div>
|
||||
<div class="Rtable-cell d-md-block d-none width5">
|
||||
<div class="Rtable-cell--content d-flex align-items-center justify-content-center">
|
||||
<div class="documentFileBox">`;
|
||||
var militaryServiceCardPicturePath = `/Client/Company/EmployeesDocuments/Index?handler=ShowPicture&filePath=${item.militaryServiceCardPicturePath}`;
|
||||
if (item.militaryServiceCardPicturePath) {
|
||||
html += `<img src="${militaryServiceCardPicturePath}" class="preview-image">`;
|
||||
} else {
|
||||
html += `<img src="/assetsclient/images/pd-image.png" class="preview-image"/>`;
|
||||
}
|
||||
html += `</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="Rtable-cell d-md-block d-none width6">
|
||||
<div class="Rtable-cell--content d-flex align-items-center justify-content-center">`;
|
||||
var idCardPage1PicturePath = `/Client/Company/EmployeesDocuments/Index?handler=ShowPicture&filePath=${item.idCardPage1PicturePath}`;
|
||||
var idCardPage2PicturePath = `/Client/Company/EmployeesDocuments/Index?handler=ShowPicture&filePath=${item.idCardPage2PicturePath}`;
|
||||
var idCardPage3PicturePath = `/Client/Company/EmployeesDocuments/Index?handler=ShowPicture&filePath=${item.idCardPage3PicturePath}`;
|
||||
var idCardPage4PicturePath = `/Client/Company/EmployeesDocuments/Index?handler=ShowPicture&filePath=${item.idCardPage4PicturePath}`;
|
||||
if (item.idCardPage1PicturePath) {
|
||||
html += `<div class="documentFileBox"><img src="${idCardPage1PicturePath}" class="preview-image"></div>`;
|
||||
} else {
|
||||
html += `<div class="documentFileBox"><img src="/assetsclient/images/pd-image.png" class="preview-image"/></div>`;
|
||||
}
|
||||
if (item.idCardPage2PicturePath) {
|
||||
html += `<div class="documentFileBox"><img src="${idCardPage2PicturePath}" class="preview-image"></div>`;
|
||||
} else {
|
||||
html += `<div class="documentFileBox"><img src="/assetsclient/images/pd-image.png" class="preview-image"/></div>`;
|
||||
}
|
||||
if (item.idCardPage3PicturePath) {
|
||||
html += `<div class="documentFileBox"><img src="${idCardPage3PicturePath}" class="preview-image"></div>`;
|
||||
} else {
|
||||
html += `<div class="documentFileBox"><img src="/assetsclient/images/pd-image.png" class="preview-image"/></div>`;
|
||||
}
|
||||
if (item.idCardPage4PicturePath) {
|
||||
html += `<div class="documentFileBox"><img src="${idCardPage4PicturePath}" class="preview-image"></div>`;
|
||||
} else {
|
||||
html += `<div class="documentFileBox"><img src="/assetsclient/images/pd-image.png" class="preview-image"/></div>`;
|
||||
}
|
||||
|
||||
html += `</div>
|
||||
</div>
|
||||
|
||||
<div class="Rtable-cell d-md-block d-none width7">
|
||||
<div class="Rtable-cell--content text-end">
|
||||
<button id="editPD_${item.employeeId
|
||||
}_desktop" class="btn-uploadingPD position-relative">
|
||||
<span class="mx-1">بارگزاری مدارک</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="Rtable-cell d-md-none d-block width7">
|
||||
<div class="Rtable-cell--content d-flex justify-content-end">
|
||||
<button type="button" class="btn-pd-more d-md-none d-block position-relative">
|
||||
<span> </span>
|
||||
<span> </span>
|
||||
<span> </span>
|
||||
<span> </span>
|
||||
<span class="mx-1 align-items-center d-flex justify-content-center">
|
||||
<p class="my-0 mx-1">عملیات بیشتر</p>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 16 16" fill="currentColor">
|
||||
<circle cx="8.4001" cy="8.39922" r="1.2" transform="rotate(90 8.4001 8.39922)"></circle>
|
||||
<circle cx="8.4001" cy="4.39922" r="1.2" transform="rotate(90 8.4001 4.39922)"></circle>
|
||||
<circle cx="8.4001" cy="12.3992" r="1.2" transform="rotate(90 8.4001 12.3992)"></circle>
|
||||
</svg>
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="operation-div w-100" style="margin: 0 0 0 0;">
|
||||
<div class="operations-btns">
|
||||
<div class="container-fluid px-0">
|
||||
<div class="row g-2">
|
||||
<div class="col-6 text-center">
|
||||
<div class="d-flex align-items-center justify-content-start">
|
||||
<div class="documentFileBoxImg">`;
|
||||
if (item.employeePicturePath) {
|
||||
html += `<img src="${employeePicturePath}" class="preview-image">`;
|
||||
} else {
|
||||
html += `<img src="/assetsclient/images/pd-image.png" class="preview-image"/>`;
|
||||
}
|
||||
html += `</div>
|
||||
<div class="txtMonilePD">عکس پرسنلی</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-6 text-center">
|
||||
<div class="d-flex align-items-center justify-content-start">
|
||||
<div class="documentFileBoxImg">`;
|
||||
if (item.nationalCardFrontPicturePath) {
|
||||
html += `<img src="${nationalCardFrontPicturePath}" class="preview-image">`;
|
||||
} else {
|
||||
html += `<img src="/assetsclient/images/pd-image.png" class="preview-image"/>`;
|
||||
}
|
||||
html += `</div>
|
||||
<div class="txtMonilePD">کارت ملی رو</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-6 text-center">
|
||||
<div class="d-flex align-items-center justify-content-start">
|
||||
<div class="documentFileBoxImg">`;
|
||||
if (item.nationalCardRearPicturePath) {
|
||||
html += `<div class="documentFileBox"><img src="${nationalCardRearPicturePath}" class="preview-image"></div>`;
|
||||
} else {
|
||||
html += `<div class="documentFileBox"><img src="/assetsclient/images/pd-image.png" class="preview-image"/></div>`;
|
||||
}
|
||||
html += `</div>
|
||||
<div class="txtMonilePD">کارت ملی پشت</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-6 text-center">
|
||||
<div class="d-flex align-items-center justify-content-start">
|
||||
<div class="documentFileBoxImg">`;
|
||||
if (item.militaryServiceCardPicturePath) {
|
||||
html += `<img src="${militaryServiceCardPicturePath}" class="preview-image">`;
|
||||
} else {
|
||||
html += `<img src="/assetsclient/images/pd-image.png" class="preview-image"/>`;
|
||||
}
|
||||
html += `</div>
|
||||
<div class="txtMonilePD">کارت پایان خدمت</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-6 text-center">
|
||||
<div class="d-flex align-items-center justify-content-start">
|
||||
<div class="documentFileBoxImg">`;
|
||||
if (item.idCardPage1PicturePath) {
|
||||
html += `<div class="documentFileBox"><img src="${idCardPage1PicturePath}" class="preview-image"></div>`;
|
||||
} else {
|
||||
html += `<div class="documentFileBox"><img src="/assetsclient/images/pd-image.png" class="preview-image"/></div>`;
|
||||
}
|
||||
html += `</div>
|
||||
<div class="txtMonilePD">شناسنامه صفحه اول</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-6 text-center">
|
||||
<div class="d-flex align-items-center justify-content-start">
|
||||
<div class="documentFileBoxImg">`;
|
||||
if (item.idCardPage2PicturePath) {
|
||||
html += `<div class="documentFileBox"><img src="${idCardPage2PicturePath}" class="preview-image"></div>`;
|
||||
} else {
|
||||
html += `<div class="documentFileBox"><img src="/assetsclient/images/pd-image.png" class="preview-image"/></div>`;
|
||||
}
|
||||
html += `</div>
|
||||
<div class="txtMonilePD">شناسنامه صفحه دوم</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-6 text-center">
|
||||
<div class="d-flex align-items-center justify-content-start">
|
||||
<div class="documentFileBoxImg">`;
|
||||
if (item.idCardPage3PicturePath) {
|
||||
html += `<div class="documentFileBox"><img src="${idCardPage3PicturePath}" class="preview-image"></div>`;
|
||||
} else {
|
||||
html += `<div class="documentFileBox"><img src="/assetsclient/images/pd-image.png" class="preview-image"/></div>`;
|
||||
}
|
||||
html += `</div>
|
||||
<div class="txtMonilePD">شناسنامه صفحه سوم</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-6 text-center">
|
||||
<div class="d-flex align-items-center justify-content-start">
|
||||
<div class="documentFileBoxImg">`;
|
||||
if (item.idCardPage4PicturePath) {
|
||||
html += `<div class="documentFileBox"><img src="${idCardPage4PicturePath}" class="preview-image"></div>`;
|
||||
} else {
|
||||
html += `<div class="documentFileBox"><img src="/assetsclient/images/pd-image.png" class="preview-image"/></div>`;
|
||||
}
|
||||
html += `</div>
|
||||
<div class="txtMonilePD">شناسنامه صفحه چهارم</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="col-12 text-center">
|
||||
<div class="d-flex align-items-center justify-content-center">
|
||||
<button id="editPD_${item.employeeId}_mobile" class="btn-uploadingPD-mobile position-relative">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 22 22" fill="none" stroke="currentColor">
|
||||
<path d="M12.0433 6.49955L12.0214 6.52145L5.53808 13.0047C5.52706 13.0158 5.51612 13.0267 5.50525 13.0375C5.34278 13.1996 5.19895 13.3432 5.09758 13.5222L5.5266 13.7651L5.09758 13.5222C4.99622 13.7012 4.94714 13.8984 4.89171 14.1211C4.88801 14.136 4.88427 14.151 4.88049 14.1662L4.30029 16.4869L4.78351 16.6077L4.30029 16.4869C4.29808 16.4958 4.29585 16.5047 4.29361 16.5136C4.25437 16.6703 4.21246 16.8377 4.19871 16.9782C4.18357 17.1329 4.1871 17.394 4.39651 17.6034C4.60592 17.8128 4.86698 17.8163 5.02171 17.8012C5.16225 17.7875 5.32958 17.7456 5.48627 17.7063C5.49521 17.7041 5.50411 17.7018 5.51297 17.6996L7.83376 17.1194C7.84888 17.1156 7.86388 17.1119 7.87878 17.1082C8.10151 17.0528 8.29868 17.0037 8.47772 16.9023C8.65675 16.801 8.80027 16.6571 8.9624 16.4947C8.97324 16.4838 8.98416 16.4729 8.99519 16.4618L15.4785 9.97855L15.5004 9.95666C15.796 9.6611 16.0507 9.40638 16.2296 9.17534C16.4208 8.9284 16.5695 8.65435 16.5843 8.31531C16.5862 8.27179 16.5862 8.22821 16.5843 8.18469C16.5695 7.84565 16.4208 7.5716 16.2296 7.32466C16.0507 7.09362 15.796 6.8389 15.5004 6.54334L15.4785 6.52145L15.4566 6.49954C15.161 6.20396 14.9063 5.94922 14.6753 5.77034C14.4283 5.57917 14.1543 5.43041 13.8152 5.41564C13.7717 5.41374 13.7281 5.41374 13.6846 5.41564C13.3456 5.43041 13.0715 5.57917 12.8246 5.77034C12.5935 5.94922 12.3388 6.20396 12.0433 6.49955Z" />
|
||||
<path d="M11.4583 6.87484L14.2083 5.0415L16.9583 7.7915L15.1249 10.5415L11.4583 6.87484Z" />
|
||||
</svg>
|
||||
<span class="mx-1">ویرایش</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>`;
|
||||
|
||||
pageIndexJs++;
|
||||
|
||||
});
|
||||
|
||||
pageIndexJs = response.pageIndex;
|
||||
$('#personnelDocumentsAjax').append(html);
|
||||
} else {
|
||||
html += `<div class="text-center bg-white d-flex align-items-center justify-content-center">
|
||||
<div class="">
|
||||
<img src="/assetsclient/images/empty.png" alt="" class="img-fluid" />
|
||||
<h5>اطلاعاتی وجود ندارد.</h5>
|
||||
</div>
|
||||
</div>`;
|
||||
$('#personnelDocumentsAjax').append(html);
|
||||
}
|
||||
|
||||
|
||||
},
|
||||
failure: function (response) {
|
||||
console.log(response);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
function openPersonnelDocsUploadModal(id) {
|
||||
var goTo = `#showmodal=/Client/Company/EmployeesDocuments/Index?employeeId=${id}&handler=CreateUploadDocument`;
|
||||
window.location.href = goTo;
|
||||
}
|
||||
@@ -0,0 +1,207 @@
|
||||
$(document).ready(function () {
|
||||
$(document).off('click', '.btnUploadingPD').on('click', '.btnUploadingPD', function (event) {
|
||||
event.preventDefault();
|
||||
const index = $(this).data('index');
|
||||
console.log("Button clicked for index:", index);
|
||||
$('input[type="file"][data-index="' + index + '"]').click();
|
||||
});
|
||||
|
||||
$(document).off('change', '.file-input').on('change', '.file-input', function (e) {
|
||||
e.preventDefault();
|
||||
|
||||
const fileInputFile = this.files[0];
|
||||
const indexFileValue = $(this).data('index');
|
||||
const validExtensions = ['jpg', 'jpeg', 'png'];
|
||||
|
||||
const label = $(`#label_${indexFileValue}`).val();
|
||||
|
||||
if (fileInputFile) {
|
||||
const fileName = fileInputFile.name.toLowerCase();
|
||||
const extension = fileName.split('.').pop();
|
||||
|
||||
if (validExtensions.includes(extension)) {
|
||||
if (fileInputFile.size > 5000000) {
|
||||
showAlertMessage('.alert-msg', 'لطفا فایل حجم کمتر از 5 مگابایت را آپلود کنید.', 3500);
|
||||
$(this).val('');
|
||||
return;
|
||||
}
|
||||
uploadFile(fileInputFile, indexFileValue, label);
|
||||
} else {
|
||||
showAlertMessage('.alert-msg', 'فرمت فایل باید یکی از موارد jpeg, jpg یا png باشد.', 3500);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
$(document).off('click', '.btnDeletingPD').on('click', '.btnDeletingPD', function (event) {
|
||||
event.preventDefault();
|
||||
const indexId = $(this).data('index');
|
||||
|
||||
swal.fire({
|
||||
title: "اخطار",
|
||||
text: "آیا میخواهید تصویر موجود را حذف کنید؟",
|
||||
icon: "warning",
|
||||
showCancelButton: true,
|
||||
confirmButtonText: "بله",
|
||||
cancelButtonText: "خیر",
|
||||
confirmButtonColor: '#84cc16',
|
||||
reverseButtons: true
|
||||
}).then((result) => {
|
||||
if (result.isConfirmed) {
|
||||
deleteFile(indexId);
|
||||
const pdBox = $('input[data-index="' + indexId + '"]').closest('.pdBox');
|
||||
const img = pdBox.find('.preview-image');
|
||||
img.attr('src', '/assetsclient/images/pd-image.png');
|
||||
$(this).addClass('disable');
|
||||
} else {
|
||||
$(this).removeClass('disable');
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
|
||||
var indexCount = 0;
|
||||
var activeUploads = 0;
|
||||
function uploadFile(file, indexId, label) {
|
||||
const formData = new FormData();
|
||||
formData.append('command.EmployeeId', employeeId);
|
||||
formData.append('command.Label', label);
|
||||
formData.append('command.PictureFile', file);
|
||||
|
||||
const pdBox = $('input[data-index="' + indexId + '"]').closest('.pdBox');
|
||||
const spinner = pdBox.find('.spinner-loading-progress');
|
||||
const percentageText = pdBox.find('.percentageText');
|
||||
|
||||
spinner.show();
|
||||
activeUploads++;
|
||||
$('#createUploadingFiles').prop('disabled', true).addClass('disable');
|
||||
|
||||
const xhr = new XMLHttpRequest();
|
||||
xhr.open('POST', saveUploadFileModalAjax, true);
|
||||
xhr.setRequestHeader('RequestVerificationToken', antiForgeryToken);
|
||||
|
||||
const uploadStartTime = new Date().getTime();
|
||||
let simulatedProgress = 0;
|
||||
let actualProgress = 0;
|
||||
let isUploadComplete = false;
|
||||
|
||||
// Simulate progress every 20ms, gradually increasing the bar until the actual progress is reached
|
||||
const progressInterval = setInterval(function () {
|
||||
if (simulatedProgress < actualProgress && !isUploadComplete) {
|
||||
simulatedProgress += 1; // Gradually increase simulated progress
|
||||
spinner.css('width', `${simulatedProgress}%`);
|
||||
percentageText.text(`${simulatedProgress}%`);
|
||||
}
|
||||
|
||||
if (simulatedProgress >= 100) {
|
||||
clearInterval(progressInterval); // Stop once the progress hits 100%
|
||||
}
|
||||
}, 30); // Increases by 1% every 20ms, making it smooth
|
||||
|
||||
// Actual upload progress listener
|
||||
xhr.upload.addEventListener('progress', function (e) {
|
||||
if (e.lengthComputable) {
|
||||
actualProgress = Math.round((e.loaded / e.total) * 100);
|
||||
|
||||
// If the actual progress is slow, allow the simulated progress to match it naturally
|
||||
if (actualProgress >= simulatedProgress) {
|
||||
simulatedProgress = actualProgress;
|
||||
spinner.css('width', `${simulatedProgress}%`);
|
||||
percentageText.text(`${simulatedProgress}%`);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
// On upload completion
|
||||
xhr.onload = function () {
|
||||
spinner.css('transition', 'all 2s ease-in');
|
||||
|
||||
const uploadEndTime = new Date().getTime();
|
||||
const timeDiff = uploadEndTime - uploadStartTime;
|
||||
const minUploadTime = 2500; // Minimum of 2 seconds for the whole process
|
||||
|
||||
const response = JSON.parse(xhr.responseText);
|
||||
isUploadComplete = true; // Mark the upload as complete
|
||||
|
||||
const delayTime = Math.max(minUploadTime - timeDiff, 0);
|
||||
|
||||
setTimeout(function () {
|
||||
clearInterval(progressInterval); // Clear the interval when done
|
||||
simulatedProgress = 100;
|
||||
spinner.css('width', '100%');
|
||||
percentageText.text('100%');
|
||||
|
||||
if (xhr.status === 200 && response.isSuccedded) {
|
||||
indexCount++;
|
||||
const reader = new FileReader();
|
||||
reader.onload = function (e) {
|
||||
const pdBox = $('input[data-index="' + indexId + '"]').closest('.pdBox');
|
||||
const img = pdBox.find('.preview-image');
|
||||
img.attr('src', e.target.result);
|
||||
};
|
||||
|
||||
pdBox.find('.btnDeletingPD').removeClass('disable');
|
||||
reader.readAsDataURL(file);
|
||||
} else {
|
||||
showAlertMessage('.alert-msg', response.message || 'Error uploading file', 3500);
|
||||
$('input[type="file"][data-index="' + indexId + '"]').val('');
|
||||
}
|
||||
|
||||
spinner.css('width', '0%'); // Reset the progress bar
|
||||
spinner.hide();
|
||||
handleActiveUploads();
|
||||
}, delayTime); // Ensure a minimum of 2 seconds for the full process
|
||||
};
|
||||
|
||||
// Handle upload error
|
||||
xhr.onerror = function () {
|
||||
clearInterval(progressInterval); // Stop progress on error
|
||||
showAlertMessage('.alert-msg', 'مشکلی در آپلود فایل به وجود آمد.', 3500);
|
||||
$('input[type="file"][data-index="' + indexId + '"]').val('');
|
||||
spinner.css('width', '0%');
|
||||
spinner.hide();
|
||||
handleActiveUploads();
|
||||
};
|
||||
|
||||
xhr.send(formData);
|
||||
}
|
||||
|
||||
function handleActiveUploads() {
|
||||
activeUploads--;
|
||||
if (activeUploads === 0) {
|
||||
$('#createUploadingFiles').prop('disabled', false).removeClass('disable');
|
||||
}
|
||||
}
|
||||
|
||||
function showAlertMessage(selector, message, timeout) {
|
||||
$(selector).show();
|
||||
$(selector + ' p').text(message);
|
||||
setTimeout(function () {
|
||||
$(selector).hide();
|
||||
$(selector + ' p').text('');
|
||||
}, timeout);
|
||||
}
|
||||
|
||||
function deleteFile(indexId) {
|
||||
const label = $(`#label_${indexId}`).val();
|
||||
|
||||
$.ajax({
|
||||
url: deleteFileAjaxUrl,
|
||||
method: 'POST',
|
||||
data: { label: label, employeeId: employeeId },
|
||||
headers: { 'RequestVerificationToken': antiForgeryToken },
|
||||
success: function (response) {
|
||||
if (response.isSuccedded) {
|
||||
showAlertMessage('.alert-msg', 'تصویر موجود با موفقیت حذف شد.', 3500);
|
||||
label.val('');
|
||||
} else {
|
||||
showAlertMessage('.alert-msg', 'مشکلی در حذف تصویر به وجود آمد.', 3500);
|
||||
}
|
||||
},
|
||||
error: function () {
|
||||
showAlertMessage('.alert-msg', 'مشکلی در حذف تصویر به وجود آمد.', 3500);
|
||||
}
|
||||
});
|
||||
}
|
||||
272
ServiceHost/wwwroot/AssetsClient/pages/Loan/css/Index.css
Normal file
272
ServiceHost/wwwroot/AssetsClient/pages/Loan/css/Index.css
Normal file
@@ -0,0 +1,272 @@
|
||||
.loanListModal-width {
|
||||
max-width: 560px;
|
||||
}
|
||||
|
||||
.loanListModal-width .modal-content {
|
||||
height: 430px;
|
||||
}
|
||||
|
||||
.errored {
|
||||
animation: shake 300ms;
|
||||
color: #eb3434 !important;
|
||||
background-color: #fef2f2 !important;
|
||||
border: 1px solid #eb3434 !important;
|
||||
border-radius: 7px;
|
||||
}
|
||||
|
||||
.goToTop {
|
||||
position: fixed;
|
||||
bottom: -10px;
|
||||
margin-right: 100px;
|
||||
z-index: 100;
|
||||
color: #fff;
|
||||
background-color: #25acacd6;
|
||||
display: none;
|
||||
}
|
||||
|
||||
.goToTop:hover {
|
||||
color: #fff;
|
||||
background-color: #2ca4a4;
|
||||
}
|
||||
|
||||
.width1 {
|
||||
width: 5% !important;
|
||||
}
|
||||
|
||||
.widthNumberCustom span {
|
||||
width: 50px !important;
|
||||
padding: 9px !important;
|
||||
}
|
||||
|
||||
.width2 {
|
||||
width: 20% !important;
|
||||
}
|
||||
|
||||
.width3 {
|
||||
width: 10% !important;
|
||||
}
|
||||
|
||||
.width4 {
|
||||
width: 15% !important;
|
||||
}
|
||||
|
||||
.width5 {
|
||||
width: 15% !important;
|
||||
}
|
||||
|
||||
.width6 {
|
||||
width: 15% !important;
|
||||
}
|
||||
|
||||
.width7 {
|
||||
width: 10% !important;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.width8 {
|
||||
width: 10% !important;
|
||||
text-align: end;
|
||||
}
|
||||
|
||||
.withdraw {
|
||||
background-color: rgb(177 195 195) !important;
|
||||
}
|
||||
|
||||
.operations-btns span {
|
||||
font-size: 12px;
|
||||
font-weight: 500;
|
||||
color: #0B5959;
|
||||
}
|
||||
|
||||
.btn-create {
|
||||
background-color: #84CC16;
|
||||
border-radius: 7px;
|
||||
color: #ffffff;
|
||||
padding: 3px 12px;
|
||||
font-size: 12px;
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
line-height: 24px;
|
||||
}
|
||||
|
||||
.btn-operation-more {
|
||||
background: #C7F8F8;
|
||||
border: 1px solid #0B5959;
|
||||
border-radius: 7px;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
color: #0B5959;
|
||||
text-align: right;
|
||||
font-size: 11px;
|
||||
padding: 3px;
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
line-height: normal;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.btn-operation-more:hover {
|
||||
background: #ACD2D2;
|
||||
}
|
||||
|
||||
.btn-delete-all {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-around;
|
||||
background-color: #FFCECE;
|
||||
border-radius: 7px;
|
||||
color: #BF3737;
|
||||
padding: 3px 7px;
|
||||
font-size: 12px;
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
line-height: 24px;
|
||||
transition: all ease-in .3s;
|
||||
}
|
||||
|
||||
.btn-delete-all:hover {
|
||||
background-color: #f3afaf;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.select-all {
|
||||
border-radius: 7px;
|
||||
padding: 6px 8px;
|
||||
background-color: #3AD1D1;
|
||||
}
|
||||
|
||||
.select-all input:checked[type="checkbox"] + label {
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
.select-all label {
|
||||
color: #ffffff!important;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/************************ Radio Button Input (Like Checkbox appearance) ************************/
|
||||
.form-check-input[type="radio"],
|
||||
.form-check-input[type="checkbox"] {
|
||||
width: 15px;
|
||||
height: 15px;
|
||||
border-radius: 6px;
|
||||
padding: 8px;
|
||||
border: 1px solid #CFD3D4;
|
||||
background-color: white;
|
||||
background-position: center;
|
||||
background-size: contain;
|
||||
background-repeat: no-repeat;
|
||||
appearance: none;
|
||||
}
|
||||
|
||||
.form-check-input[type="radio"]:checked,
|
||||
.form-check-input[type="checkbox"]:checked {
|
||||
background-color: #148989;
|
||||
border: 1px solid #ffffff !important;
|
||||
background-image: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="white" stroke-width="3"%3E%3Cpath stroke-linecap="round" stroke-linejoin="round" d="M5 13l4 4L19 7" /%3E%3C/svg%3E');
|
||||
background-size: 75%;
|
||||
}
|
||||
|
||||
.form-check-input[type="radio"]:focus,
|
||||
.form-check-input[type="checkbox"]:focus {
|
||||
outline: none;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
.form-check-input[type="radio"] + label,
|
||||
.form-check-input[type="checkbox"] + label {
|
||||
color: #83898C;
|
||||
}
|
||||
|
||||
.form-check-input[type="radio"]:checked + label,
|
||||
.form-check-input[type="checkbox"]:checked + label {
|
||||
color: #2B2F32;
|
||||
}
|
||||
|
||||
|
||||
/************************ Radio Button Input (Like Checkbox appearance) ************************/
|
||||
|
||||
|
||||
|
||||
@media (max-width: 1366px) {
|
||||
.Rtable .Rtable-row .Rtable-cell {
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.Rtable .Rtable-row .Rtable-cell .Rtable-cell--content {
|
||||
font-size: 11px;
|
||||
}
|
||||
|
||||
.btn-uploadingPD {
|
||||
font-size: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 767px) {
|
||||
.goToTop {
|
||||
position: fixed;
|
||||
bottom: 54px;
|
||||
margin-right: 39%;
|
||||
z-index: 100;
|
||||
color: #fff;
|
||||
background-color: #25acac70;
|
||||
}
|
||||
|
||||
.wrapper {
|
||||
margin: 0 0 60px 0;
|
||||
}
|
||||
|
||||
/*
|
||||
.Rtable .Rtable-row:nth-child(even), .table-workshop .Rtable .Rtable-row:nth-child(4n+2), .table-personals .Rtable .Rtable-row:nth-child(4n+2) {
|
||||
border-radius: 10px;
|
||||
background-color: #ECFFFF;
|
||||
transition: all .3s ease;
|
||||
border: 1px solid #eee;
|
||||
}
|
||||
|
||||
.Rtable .Rtable-row:nth-child(odd), .table-workshop .Rtable .Rtable-row:nth-child(4n+4), .table-personals .Rtable .Rtable-row:nth-child(4n+4) {
|
||||
border-radius: 10px;
|
||||
background-color: #ECFFFF;
|
||||
transition: all .3s ease;
|
||||
border: 1px solid #eee;
|
||||
}
|
||||
*/
|
||||
.Rtable--collapse .Rtable-row {
|
||||
outline: none;
|
||||
border: 1px solid #D2D2D2;
|
||||
}
|
||||
|
||||
.Rtable .Rtable-row .Rtable-cell {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.width1 {
|
||||
width: 18% !important;
|
||||
}
|
||||
|
||||
.width2 {
|
||||
width: 50% !important;
|
||||
}
|
||||
|
||||
.width8 {
|
||||
width: 30% !important;
|
||||
justify-content: end;
|
||||
display: flex;
|
||||
}
|
||||
|
||||
button.btn-print, button.btn-edit, button.btn-delete {
|
||||
width: 32%;
|
||||
}
|
||||
|
||||
button.btn-print, button.btn-edit span, button.btn-delete span {
|
||||
display: unset;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,54 @@
|
||||
.errored {
|
||||
animation: shake 300ms;
|
||||
color: #eb3434 !important;
|
||||
background-color: #fef2f2 !important;
|
||||
border: 1px solid #eb3434 !important;
|
||||
}
|
||||
|
||||
.textLFontColor,
|
||||
.form-control {
|
||||
color: #797979;
|
||||
font-size: 12px;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
/*.form-control-number {
|
||||
border: 1px solid #C6C6C6;
|
||||
border-radius: 6px;
|
||||
width: 40px;
|
||||
}
|
||||
|
||||
.form-control-currency {
|
||||
border: 1px solid #C6C6C6;
|
||||
border-radius: 6px;
|
||||
width: 120px;
|
||||
}
|
||||
|
||||
.form-control-select {
|
||||
border: 1px solid #C6C6C6;
|
||||
border-radius: 6px;
|
||||
width: 80px;
|
||||
}*/
|
||||
|
||||
.textLFontColor span {
|
||||
font-size: 16px;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.btnCreateNew {
|
||||
font-size: 14px;
|
||||
font-weight: 500;
|
||||
background-color: #84CC16;
|
||||
color: #FFFFFF;
|
||||
border-radius: 8px;
|
||||
padding: 10px 70px;
|
||||
}
|
||||
|
||||
.btnCreateNew:hover {
|
||||
background-color: #5f9213;
|
||||
}
|
||||
|
||||
.btnCreateNew,
|
||||
.btn-cancel2 {
|
||||
width: auto !important;
|
||||
}
|
||||
291
ServiceHost/wwwroot/AssetsClient/pages/Loan/js/Index.js
Normal file
291
ServiceHost/wwwroot/AssetsClient/pages/Loan/js/Index.js
Normal file
@@ -0,0 +1,291 @@
|
||||
var pageIndexJs = 0;
|
||||
var mode = 'all';
|
||||
var searchName = '';
|
||||
|
||||
$(document).ready(function () {
|
||||
loadLoanList(searchName);
|
||||
|
||||
|
||||
|
||||
//******************** انتخاب همه ی چک باکس ها ********************
|
||||
$(".checkAll").change(function () {
|
||||
//let dataValYear = $('#year').val();
|
||||
//let dataValMonth = $('#month').val();
|
||||
//let dataValPersonel = Number($('#employeeId').val());
|
||||
|
||||
//if ((dataValYear == '' || dataValMonth == '') && dataValPersonel == 0) {
|
||||
//$('#dropdown-year').addClass("errored");
|
||||
//$('#dropdown-month').addClass("errored");
|
||||
|
||||
//$(this).prop('checked', false);
|
||||
//$('.alert-msg').show();
|
||||
//$('.alert-msg p').text('جهت انتخاب گروهی قراردادها ابتدا میبایست سال و ماه مورد نظر را انتخاب نمائید.');
|
||||
//setTimeout(function () {
|
||||
// $('.alert-msg').hide();
|
||||
// $('.alert-msg p').text('');
|
||||
// $('#dropdown-year').removeClass("errored");
|
||||
// $('#dropdown-month').removeClass("errored");
|
||||
//},
|
||||
//3500);
|
||||
//} else {
|
||||
//loadAllToPrint();
|
||||
$('input:checkbox').not(this).prop('checked', this.checked);
|
||||
|
||||
|
||||
//}
|
||||
});
|
||||
//******************** انتخاب همه ی چک باکس ها ********************
|
||||
});
|
||||
|
||||
$(document).on('click', ".openAction", function () {
|
||||
if (window.matchMedia('(max-width: 767px)').matches) {
|
||||
$(this).next().find(".operations-btns").slideToggle(500);
|
||||
$(".operations-btns").not($(this).next().find(".operations-btns")).slideUp(500);
|
||||
}
|
||||
});
|
||||
|
||||
$(document).on('click', '.btn-uploadingPD, .btn-uploadingPD-mobile', function () {
|
||||
var id = $(this).attr('id').split('_')[1];
|
||||
openPersonnelDocsUploadModal(id);
|
||||
});
|
||||
|
||||
$(document).on('click', '.btn-search-click, .btn-search-click-mobile', function () {
|
||||
pageIndexJs = 0;
|
||||
$('#loanListAjax').html('');
|
||||
$('.btn-clear-filter').removeClass('disable');
|
||||
searchName = $('.employeeName').val().trim();
|
||||
if (searchName == "") {
|
||||
$('.btn-clear-filter').addClass('disable');
|
||||
}
|
||||
$('#searchModal').modal('hide');
|
||||
loadLoanList(searchName);
|
||||
});
|
||||
$(document).on('click', '.btn-clear-filter', function () {
|
||||
pageIndexJs = 0;
|
||||
$('#loanListAjax').html('');
|
||||
$('.btn-clear-filter').addClass('disable');
|
||||
$('.employeeName').val('');
|
||||
$('#searchModal').modal('hide');
|
||||
loadLoanList(searchName);
|
||||
});
|
||||
|
||||
|
||||
// When typing in the desktop search
|
||||
$('.d-none.d-md-block .employeeName').on('input', function () {
|
||||
var desktopInput = $(this).val();
|
||||
$('#searchModal .employeeName').val(desktopInput);
|
||||
});
|
||||
|
||||
// When typing in the mobile search
|
||||
$('#searchModal .employeeName').on('input', function () {
|
||||
var mobileInput = $(this).val();
|
||||
$('.d-none.d-md-block .employeeName').val(mobileInput);
|
||||
});
|
||||
|
||||
$('.goToTop').on('click', function () {
|
||||
$('html, body').animate({ scrollTop: 0 }, 360);
|
||||
return false;
|
||||
});
|
||||
|
||||
$(window).scroll(function () {
|
||||
if ($(window).scrollTop() + $(window).height() > $(document).height() - 600) {
|
||||
loadLoanList(searchName);
|
||||
}
|
||||
|
||||
if ($(this).scrollTop() > 100) {
|
||||
$('.goToTop').show().fadeIn();
|
||||
} else {
|
||||
$('.goToTop').fadeOut().hide();
|
||||
}
|
||||
});
|
||||
|
||||
function loadLoanList(searchName) {
|
||||
|
||||
var searchViewModel = {
|
||||
'searchViewModel.PageIndex': $('#PageIndex').val(),
|
||||
}
|
||||
|
||||
var b = pageIndexJs % 30;
|
||||
var html = '';
|
||||
var index = 1;
|
||||
|
||||
if (b === 0) {
|
||||
$.ajax({
|
||||
async: false,
|
||||
contentType: 'charset=utf-8',
|
||||
dataType: 'json',
|
||||
type: 'GET',
|
||||
url: loanListLoadDataAjax,
|
||||
data: { searchViewModel },
|
||||
headers: { "RequestVerificationToken": antiForgeryToken },
|
||||
success: function (response) {
|
||||
var loadLoanListData = response.data;
|
||||
console.log(loadLoanListData);
|
||||
if (response.success) {
|
||||
loadLoanListData.forEach(function (item) {
|
||||
var n = pageIndexJs + 1;
|
||||
html += `<div></div>
|
||||
<div class="Rtable-row align-items-center openAction ${item.isBlack === "true" ? `withdraw` : ``}" id="Employees">
|
||||
<div class="Rtable-cell width1 widthNumberCustom">
|
||||
<label for="${n}" class="Rtable-cell--content prevent-select">
|
||||
<span class="d-flex justify-content-center align-items-center justify-content-between">
|
||||
<input id="${n}" type="checkbox" class="form-check-input foo" name="foo" value="${item.Id}">
|
||||
${n}
|
||||
</span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="Rtable-cell justify-content-start width2">
|
||||
<div class="Rtable-cell--content text-start">${item.employeeFullName}</div>
|
||||
</div>
|
||||
<div class="Rtable-cell d-md-block d-none width3">
|
||||
<div class="Rtable-cell--content">${item.personnelCode}</div>
|
||||
</div>
|
||||
<div class="Rtable-cell d-md-block d-none width4">
|
||||
<div class="Rtable-cell--content ">${item.amount}</div>
|
||||
</div>
|
||||
<div class="Rtable-cell d-md-block d-none width5">
|
||||
<div class="Rtable-cell--content ">${item.amountPerMonth}</div>
|
||||
</div>
|
||||
<div class="Rtable-cell d-md-block d-none width6">
|
||||
<div class="Rtable-cell--content ">${item.startDateTime}</div>
|
||||
</div>
|
||||
<div class="Rtable-cell d-md-block d-none width7">
|
||||
<div class="Rtable-cell--content align-items-center justify-content-center d-flex">${item.count}</div>
|
||||
</div>
|
||||
|
||||
<div class="Rtable-cell width8">
|
||||
<div class="Rtable-cell--content align-items-center justify-content-end d-flex text-end">
|
||||
|
||||
<button type="button" class="btn-print d-md-block d-none" onclick="printLoan(item.Id)">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke="currentColor">
|
||||
<path d="M15.0001 11.2493H15.139C16.0279 11.2493 16.4723 11.2493 16.759 10.9866C16.7805 10.967 16.801 10.9464 16.8207 10.9249C17.0834 10.6382 17.0834 10.1938 17.0834 9.3049V9.3049C17.0834 7.52714 17.0834 6.63826 16.558 6.06484C16.5187 6.02194 16.4775 5.98077 16.4346 5.94146C15.8612 5.41602 14.9723 5.41602 13.1945 5.41602H6.91675C5.03113 5.41602 4.08832 5.41602 3.50253 6.0018C2.91675 6.58759 2.91675 7.5304 2.91675 9.41602V10.2493C2.91675 10.7208 2.91675 10.9565 3.06319 11.1029C3.20964 11.2493 3.44534 11.2493 3.91675 11.2493H5.00008" />
|
||||
<path d="M5.41675 16.3903L5.41675 9.91732C5.41675 8.97451 5.41675 8.5031 5.70964 8.21021C6.00253 7.91732 6.47394 7.91732 7.41675 7.91732L12.5834 7.91732C13.5262 7.91732 13.9976 7.91732 14.2905 8.21021C14.5834 8.5031 14.5834 8.97451 14.5834 9.91732L14.5834 16.3903C14.5834 16.7068 14.5834 16.8651 14.4796 16.9399C14.3758 17.0148 14.2256 16.9647 13.9253 16.8646L12.2572 16.3086C12.1712 16.2799 12.1282 16.2656 12.0839 16.2669C12.0396 16.2682 11.9975 16.285 11.9134 16.3187L10.1858 17.0097C10.0941 17.0464 10.0482 17.0647 10.0001 17.0647C9.95194 17.0647 9.90609 17.0464 9.81439 17.0097L8.0868 16.3187C8.00267 16.285 7.9606 16.2682 7.91627 16.2669C7.87194 16.2656 7.82896 16.2799 7.74299 16.3086L6.07486 16.8646C5.77455 16.9647 5.62439 17.0148 5.52057 16.9399C5.41675 16.8651 5.41675 16.7068 5.41675 16.3903Z" />
|
||||
<path d="M7.91675 11.25L11.2501 11.25" stroke-linecap="round" />
|
||||
<path d="M7.91675 13.75L12.0834 13.75" stroke-linecap="round" />
|
||||
<path d="M14.5834 5.41732V5.41732C14.5834 3.97799 14.5834 3.25833 14.1954 2.76756C14.1087 2.65791 14.0095 2.55874 13.8998 2.47204C13.4091 2.08398 12.6894 2.08398 11.2501 2.08398H8.75008C7.31076 2.08398 6.5911 2.08398 6.10032 2.47204C5.99068 2.55874 5.8915 2.65791 5.8048 2.76756C5.41675 3.25833 5.41675 3.97799 5.41675 5.41732V5.41732" />
|
||||
</svg>
|
||||
</button>
|
||||
|
||||
<button onclick="editLoan(item.Id)" data-desktop-leaveid="@itemLeave.Id" class="btn-edit position-relative d-md-block d-none">
|
||||
<svg width="20" height="20" viewBox="0 0 23 23" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M12.6027 6.838L5.85304 13.5876C5.84201 13.5987 5.83107 13.6096 5.8202 13.6204C5.65773 13.7825 5.5139 13.9261 5.41254 14.1051C5.31117 14.2841 5.2621 14.4813 5.20667 14.704C5.20296 14.7189 5.19923 14.7339 5.19545 14.7491L4.5813 17.2057C4.57908 17.2145 4.57686 17.2234 4.57462 17.2323C4.53537 17.389 4.49347 17.5564 4.47972 17.6969C4.46458 17.8516 4.46811 18.1127 4.67752 18.3221L5.03035 17.9693L4.67752 18.3221C4.88693 18.5315 5.14799 18.535 5.30272 18.5199C5.44326 18.5062 5.6106 18.4643 5.76728 18.425C5.77622 18.4228 5.78512 18.4205 5.79398 18.4183L8.25057 17.8042C8.26569 17.8004 8.28069 17.7967 8.29558 17.793C8.51832 17.7375 8.71549 17.6885 8.89452 17.5871C9.07356 17.4857 9.21708 17.3419 9.37921 17.1794C9.39005 17.1686 9.40097 17.1576 9.412 17.1466L16.1616 10.397L16.1849 10.3737C16.4983 10.0603 16.7684 9.79025 16.9556 9.54492C17.1562 9.282 17.3081 8.98958 17.3081 8.6292C17.3081 8.26759 17.1541 7.97384 16.9522 7.71001C16.7633 7.46303 16.4905 7.1903 16.1731 6.87292L16.1499 6.84972L16.1267 6.82652C15.8093 6.5091 15.5366 6.23634 15.2896 6.04738C15.0258 5.84553 14.732 5.69156 14.3704 5.69156C14.01 5.69156 13.7176 5.84345 13.4547 6.04405C13.2094 6.23123 12.9393 6.5013 12.6259 6.81474L12.6027 6.838Z" stroke-width="1.5" stroke="#4DA9D1" />
|
||||
<path d="M11.9939 7.20397L14.8457 5.30273L17.6976 8.15459L15.7964 11.0064L11.9939 7.20397Z" fill="#4DA9D1" />
|
||||
</svg>
|
||||
<span class="mx-1">ویرایش</span>
|
||||
</button>
|
||||
|
||||
<button type="button" class="btn-delete removeLoan d-md-block d-none">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 22 22" fill="none" stroke="currentColor">
|
||||
<path d="M8.70825 13.2915L8.70825 10.5415" stroke-width="1.5" stroke-linecap="round" />
|
||||
<path d="M13.2917 13.2915L13.2917 10.5415" stroke-width="1.5" stroke-linecap="round" />
|
||||
<path d="M2.75 5.9585H19.25V5.9585C18.122 5.9585 17.558 5.9585 17.1279 6.17946C16.7561 6.3704 16.4536 6.67297 16.2626 7.04469C16.0417 7.47488 16.0417 8.03886 16.0417 9.16683V13.8752C16.0417 15.7608 16.0417 16.7036 15.4559 17.2894C14.8701 17.8752 13.9273 17.8752 12.0417 17.8752H9.95833C8.07271 17.8752 7.12991 17.8752 6.54412 17.2894C5.95833 16.7036 5.95833 15.7608 5.95833 13.8752V9.16683C5.95833 8.03886 5.95833 7.47488 5.73737 7.04469C5.54643 6.67297 5.24386 6.3704 4.87214 6.17946C4.44195 5.9585 3.87797 5.9585 2.75 5.9585V5.9585Z" stroke-width="1.5" stroke-linecap="round" />
|
||||
<path d="M8.70841 3.20839C8.70841 3.20839 9.16675 2.2915 11.0001 2.2915C12.8334 2.2915 13.2917 3.20817 13.2917 3.20817" stroke-width="1.5" stroke-linecap="round" />
|
||||
</svg>
|
||||
<span class="mx-1">حذف</span>
|
||||
</button>
|
||||
|
||||
<button type="button" class="btn-operation-more btn-open-div position-relative d-md-none d-block removeLoan">
|
||||
<span class="align-items-center d-flex justify-content-center">
|
||||
<span class="mx-1">عملیات</span>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 16 16" fill="currentColor">
|
||||
<circle cx="8.4001" cy="8.39922" r="1.2" transform="rotate(90 8.4001 8.39922)"/>
|
||||
<circle cx="8.4001" cy="4.39922" r="1.2" transform="rotate(90 8.4001 4.39922)"/>
|
||||
<circle cx="8.4001" cy="12.3992" r="1.2" transform="rotate(90 8.4001 12.3992)"/>
|
||||
</svg>
|
||||
</span>
|
||||
</button>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="operation-div w-100">
|
||||
<div class="operations-btns">
|
||||
<div class="row p-0">
|
||||
<div class="d-flex align-items-center justify-content-between">
|
||||
<span class="span1">نام پرسنل:</span>
|
||||
<span class="span1">${item.employeeFullName}</span>
|
||||
</div>
|
||||
<div class="d-flex align-items-center justify-content-between">
|
||||
<span class="span1">مبلغ:</span>
|
||||
<span class="span1">${item.amount}</span>
|
||||
</div>
|
||||
<div class="d-flex align-items-center justify-content-between">
|
||||
<span class="span1">مبلغ هر ماه:</span>
|
||||
<span class="span1">${item.amountPerMonth }</span>
|
||||
</div>
|
||||
<div class="d-flex align-items-center justify-content-between">
|
||||
<span class="span1">تاریخ شروع وام:</span>
|
||||
<span class="span1">${item.startDateTime}</span>
|
||||
</div>
|
||||
<div class="d-flex align-items-center justify-content-between">
|
||||
<span class="span1">تعداد قسط:</span>
|
||||
<span class="span1">${item.amountPerMonth}</span>
|
||||
</div>
|
||||
<div class="col-md-12 col-12 text-center">
|
||||
<button type="button" class="btn-print" onclick="printLoan(@item.Id)">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke="currentColor">
|
||||
<path d="M15.0001 11.2493H15.139C16.0279 11.2493 16.4723 11.2493 16.759 10.9866C16.7805 10.967 16.801 10.9464 16.8207 10.9249C17.0834 10.6382 17.0834 10.1938 17.0834 9.3049V9.3049C17.0834 7.52714 17.0834 6.63826 16.558 6.06484C16.5187 6.02194 16.4775 5.98077 16.4346 5.94146C15.8612 5.41602 14.9723 5.41602 13.1945 5.41602H6.91675C5.03113 5.41602 4.08832 5.41602 3.50253 6.0018C2.91675 6.58759 2.91675 7.5304 2.91675 9.41602V10.2493C2.91675 10.7208 2.91675 10.9565 3.06319 11.1029C3.20964 11.2493 3.44534 11.2493 3.91675 11.2493H5.00008" />
|
||||
<path d="M5.41675 16.3903L5.41675 9.91732C5.41675 8.97451 5.41675 8.5031 5.70964 8.21021C6.00253 7.91732 6.47394 7.91732 7.41675 7.91732L12.5834 7.91732C13.5262 7.91732 13.9976 7.91732 14.2905 8.21021C14.5834 8.5031 14.5834 8.97451 14.5834 9.91732L14.5834 16.3903C14.5834 16.7068 14.5834 16.8651 14.4796 16.9399C14.3758 17.0148 14.2256 16.9647 13.9253 16.8646L12.2572 16.3086C12.1712 16.2799 12.1282 16.2656 12.0839 16.2669C12.0396 16.2682 11.9975 16.285 11.9134 16.3187L10.1858 17.0097C10.0941 17.0464 10.0482 17.0647 10.0001 17.0647C9.95194 17.0647 9.90609 17.0464 9.81439 17.0097L8.0868 16.3187C8.00267 16.285 7.9606 16.2682 7.91627 16.2669C7.87194 16.2656 7.82896 16.2799 7.74299 16.3086L6.07486 16.8646C5.77455 16.9647 5.62439 17.0148 5.52057 16.9399C5.41675 16.8651 5.41675 16.7068 5.41675 16.3903Z" />
|
||||
<path d="M7.91675 11.25L11.2501 11.25" stroke-linecap="round" />
|
||||
<path d="M7.91675 13.75L12.0834 13.75" stroke-linecap="round" />
|
||||
<path d="M14.5834 5.41732V5.41732C14.5834 3.97799 14.5834 3.25833 14.1954 2.76756C14.1087 2.65791 14.0095 2.55874 13.8998 2.47204C13.4091 2.08398 12.6894 2.08398 11.2501 2.08398H8.75008C7.31076 2.08398 6.5911 2.08398 6.10032 2.47204C5.99068 2.55874 5.8915 2.65791 5.8048 2.76756C5.41675 3.25833 5.41675 3.97799 5.41675 5.41732V5.41732" />
|
||||
</svg>
|
||||
<span class="mx-1">پرینت</span>
|
||||
</button>
|
||||
|
||||
<button onclick="editLoan(@item.Id)" data-desktop-leaveid="@itemLeave.Id" class="btn-edit position-relative">
|
||||
<svg width="20" height="20" viewBox="0 0 23 23" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M12.6027 6.838L5.85304 13.5876C5.84201 13.5987 5.83107 13.6096 5.8202 13.6204C5.65773 13.7825 5.5139 13.9261 5.41254 14.1051C5.31117 14.2841 5.2621 14.4813 5.20667 14.704C5.20296 14.7189 5.19923 14.7339 5.19545 14.7491L4.5813 17.2057C4.57908 17.2145 4.57686 17.2234 4.57462 17.2323C4.53537 17.389 4.49347 17.5564 4.47972 17.6969C4.46458 17.8516 4.46811 18.1127 4.67752 18.3221L5.03035 17.9693L4.67752 18.3221C4.88693 18.5315 5.14799 18.535 5.30272 18.5199C5.44326 18.5062 5.6106 18.4643 5.76728 18.425C5.77622 18.4228 5.78512 18.4205 5.79398 18.4183L8.25057 17.8042C8.26569 17.8004 8.28069 17.7967 8.29558 17.793C8.51832 17.7375 8.71549 17.6885 8.89452 17.5871C9.07356 17.4857 9.21708 17.3419 9.37921 17.1794C9.39005 17.1686 9.40097 17.1576 9.412 17.1466L16.1616 10.397L16.1849 10.3737C16.4983 10.0603 16.7684 9.79025 16.9556 9.54492C17.1562 9.282 17.3081 8.98958 17.3081 8.6292C17.3081 8.26759 17.1541 7.97384 16.9522 7.71001C16.7633 7.46303 16.4905 7.1903 16.1731 6.87292L16.1499 6.84972L16.1267 6.82652C15.8093 6.5091 15.5366 6.23634 15.2896 6.04738C15.0258 5.84553 14.732 5.69156 14.3704 5.69156C14.01 5.69156 13.7176 5.84345 13.4547 6.04405C13.2094 6.23123 12.9393 6.5013 12.6259 6.81474L12.6027 6.838Z" stroke-width="1.5" stroke="#4DA9D1" />
|
||||
<path d="M11.9939 7.20397L14.8457 5.30273L17.6976 8.15459L15.7964 11.0064L11.9939 7.20397Z" fill="#4DA9D1" />
|
||||
</svg>
|
||||
<span class="mx-1">ویرایش</span>
|
||||
</button>
|
||||
|
||||
<button type="button" class="btn-delete removeLoan">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 22 22" fill="none" stroke="currentColor">
|
||||
<path d="M8.70825 13.2915L8.70825 10.5415" stroke-width="1.5" stroke-linecap="round" />
|
||||
<path d="M13.2917 13.2915L13.2917 10.5415" stroke-width="1.5" stroke-linecap="round" />
|
||||
<path d="M2.75 5.9585H19.25V5.9585C18.122 5.9585 17.558 5.9585 17.1279 6.17946C16.7561 6.3704 16.4536 6.67297 16.2626 7.04469C16.0417 7.47488 16.0417 8.03886 16.0417 9.16683V13.8752C16.0417 15.7608 16.0417 16.7036 15.4559 17.2894C14.8701 17.8752 13.9273 17.8752 12.0417 17.8752H9.95833C8.07271 17.8752 7.12991 17.8752 6.54412 17.2894C5.95833 16.7036 5.95833 15.7608 5.95833 13.8752V9.16683C5.95833 8.03886 5.95833 7.47488 5.73737 7.04469C5.54643 6.67297 5.24386 6.3704 4.87214 6.17946C4.44195 5.9585 3.87797 5.9585 2.75 5.9585V5.9585Z" stroke-width="1.5" stroke-linecap="round" />
|
||||
<path d="M8.70841 3.20839C8.70841 3.20839 9.16675 2.2915 11.0001 2.2915C12.8334 2.2915 13.2917 3.20817 13.2917 3.20817" stroke-width="1.5" stroke-linecap="round" />
|
||||
</svg>
|
||||
<span class="mx-1">حذف</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
`;
|
||||
|
||||
pageIndexJs++;
|
||||
|
||||
});
|
||||
|
||||
pageIndexJs = response.pageIndex;
|
||||
$('#PageIndex').val(pageIndexJs),
|
||||
$('#loanListAjax').append(html);
|
||||
} else {
|
||||
html += `<div class="text-center bg-white d-flex align-items-center justify-content-center">
|
||||
<div class="">
|
||||
<img src="/assetsclient/images/empty.png" alt="" class="img-fluid" />
|
||||
<h5>اطلاعاتی وجود ندارد.</h5>
|
||||
</div>
|
||||
</div>`;
|
||||
$('#loanListAjax').append(html);
|
||||
}
|
||||
|
||||
|
||||
},
|
||||
failure: function (response) {
|
||||
console.log(response);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
function openCreateLoanModal() {
|
||||
var goTo = `#showmodal=/Client/Company/Loan/Index?handler=Create`;
|
||||
window.location.href = goTo;
|
||||
}
|
||||
@@ -0,0 +1,185 @@
|
||||
|
||||
$(document).ready(function () {
|
||||
$(".select2Option").select2({
|
||||
language: "fa",
|
||||
dir: "rtl",
|
||||
dropdownParent: $('#MainModal'),
|
||||
templateResult: function (data, container) {
|
||||
if (data.element) {
|
||||
$(container).addClass($(data.element).attr("class"));
|
||||
}
|
||||
return data.text;
|
||||
}
|
||||
});
|
||||
|
||||
$('.form-control-number').on('keydown', function (e) {
|
||||
const allowedKeys = [
|
||||
'Backspace', 'Tab', 'Escape', 'Enter', 'ArrowLeft', 'ArrowRight',
|
||||
'ArrowUp', 'ArrowDown', 'Delete', 'Home', 'End'
|
||||
];
|
||||
|
||||
if (allowedKeys.includes(e.key) || (e.key === 'a' && (e.ctrlKey || e.metaKey))) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!/^\d$/.test(e.key)) {
|
||||
e.preventDefault();
|
||||
}
|
||||
});
|
||||
|
||||
$(".form-control-currency").each(function () {
|
||||
new Cleave(this, {
|
||||
numeral: true,
|
||||
numeralThousandsGroupStyle: 'thousand'
|
||||
});
|
||||
});
|
||||
|
||||
$(".form-control-date").each(function () {
|
||||
new Cleave(this, {
|
||||
date: true,
|
||||
delimiter: '/',
|
||||
datePattern: ['Y', 'm', 'd']
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
ajaxPersonals();
|
||||
});
|
||||
|
||||
|
||||
function ajaxPersonals() {
|
||||
$.ajax({
|
||||
url: employeeListAjax,
|
||||
type: 'GET',
|
||||
success: function (response) {
|
||||
if (response.success) {
|
||||
var employees = response.data.connectedPersonnelViewModels;
|
||||
var employeeOptionsHtml = '<option value="" disabled>انتخاب پرسنل ...</option>';
|
||||
employees.forEach(function(employee) {
|
||||
var black = employee.black ? "blackSelect" : "";
|
||||
employeeOptionsHtml += `<option class="${black}" value="${employee.employeeId}">${employee.personName}</option>`;
|
||||
});
|
||||
$('#employeeSelect').html(employeeOptionsHtml);
|
||||
} else {
|
||||
$('.alert-msg').show();
|
||||
$('.alert-msg p').text(response.message);
|
||||
setTimeout(function () {
|
||||
$('.alert-msg').hide();
|
||||
$('.alert-msg p').text('');
|
||||
}, 3500);
|
||||
}
|
||||
},
|
||||
error: function (xhr, status, error) {
|
||||
console.error(xhr.responseText);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
$('#createLoan').on('click', SaveLoanDataAjax);
|
||||
function SaveLoanDataAjax() {
|
||||
var loading = $('#createLoan').next('.spinner-loading');
|
||||
|
||||
var employeeSelect = $('#create-form').find('#employeeSelect').val();
|
||||
var Count = $('#Count ');
|
||||
var AmountPerMonth = $('#AmountPerMonth ');
|
||||
var Amount = $('#Amount ');
|
||||
var StartDateTime = $('#StartDateTime');
|
||||
|
||||
if (employeeSelect === '') {
|
||||
$('.alert-msg').show();
|
||||
$('.alert-msg p').text('لطفا نام پرسنل را مشخص نمائید.');
|
||||
$('.select-alert').addClass('errored');
|
||||
setTimeout(function () {
|
||||
$('.alert-msg').hide();
|
||||
$('.alert-msg p').text('');
|
||||
$('.select-alert').removeClass('errored');
|
||||
}, 3500);
|
||||
return;
|
||||
}
|
||||
|
||||
if (!Amount.val()) {
|
||||
Amount.addClass('errored');
|
||||
$('.alert-msg').show();
|
||||
$('.alert-msg p').text('لطفا مبلغ وام را وارد نمائید');
|
||||
setTimeout(function () {
|
||||
$('.alert-msg').hide();
|
||||
$('.alert-msg p').text('');
|
||||
Amount.removeClass('errored');
|
||||
}, 3500);
|
||||
return;
|
||||
}
|
||||
|
||||
if (!AmountPerMonth.val()) {
|
||||
AmountPerMonth.addClass('errored');
|
||||
$('.alert-msg').show();
|
||||
$('.alert-msg p').text('لطفا مبلغ هر ماه را وارد نمائید');
|
||||
setTimeout(function () {
|
||||
$('.alert-msg').hide();
|
||||
$('.alert-msg p').text('');
|
||||
AmountPerMonth.removeClass('errored');
|
||||
}, 3500);
|
||||
return;
|
||||
}
|
||||
|
||||
if (!Count.val()) {
|
||||
Count.addClass('errored');
|
||||
$('.alert-msg').show();
|
||||
$('.alert-msg p').text('لطفا تعداد ماه ها را مشخص نمائید');
|
||||
setTimeout(function () {
|
||||
$('.alert-msg').hide();
|
||||
$('.alert-msg p').text('');
|
||||
Count.removeClass('errored');
|
||||
}, 3500);
|
||||
return;
|
||||
}
|
||||
|
||||
if (!StartDateTime.val()) {
|
||||
StartDateTime.addClass('errored');
|
||||
$('.alert-msg').show();
|
||||
$('.alert-msg p').text('لطفا تاریخ شروع وام را مشخص نمائید');
|
||||
setTimeout(function () {
|
||||
$('.alert-msg').hide();
|
||||
$('.alert-msg p').text('');
|
||||
StartDateTime.removeClass('errored');
|
||||
}, 3500);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
|
||||
var data = $('#create-form').serialize();
|
||||
$.ajax({
|
||||
async: false,
|
||||
dataType: 'json',
|
||||
type: 'POST',
|
||||
url: saveNewLoanAjax,
|
||||
headers: { "RequestVerificationToken": antiForgeryToken },
|
||||
data: data ,
|
||||
success: function (response) {
|
||||
if (response.success) {
|
||||
loading.show();
|
||||
$('.alert-success-msg').show();
|
||||
$('.alert-success-msg p').text(response.message);
|
||||
setTimeout(function () {
|
||||
$('.alert-success-msg').hide();
|
||||
$('.alert-success-msg p').text('');
|
||||
loading.hide();
|
||||
$('#MainModal').modal('hide');
|
||||
}, 2500);
|
||||
} else {
|
||||
$('.alert-msg').show();
|
||||
$('.alert-msg p').text(response.message);
|
||||
setTimeout(function () {
|
||||
$('.alert-msg').hide();
|
||||
$('.alert-msg p').text('');
|
||||
loading.hide();
|
||||
}, 3500);
|
||||
}
|
||||
},
|
||||
error: function (err) {
|
||||
loading.hide();
|
||||
console.log(err);
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -19,7 +19,25 @@
|
||||
width: 27% !important;
|
||||
}
|
||||
|
||||
.table-rollcall-group2 .width1 {
|
||||
width: 8% !important;
|
||||
}
|
||||
|
||||
.table-rollcall-group2 .width2 {
|
||||
width: 20% !important;
|
||||
}
|
||||
|
||||
.table-rollcall-group2 .width3 {
|
||||
width: 32% !important;
|
||||
}
|
||||
|
||||
.table-rollcall-group2 .width4 {
|
||||
width: 25% !important;
|
||||
}
|
||||
|
||||
.table-rollcall-group2 .width5 {
|
||||
width: 20% !important;
|
||||
}
|
||||
|
||||
.infoGroupBox {
|
||||
background-color: #ffffff;
|
||||
@@ -307,6 +325,10 @@
|
||||
}
|
||||
|
||||
@media (max-width:768px) {
|
||||
.table-rollcall-group1 .width2 {
|
||||
width: 58% !important;
|
||||
}
|
||||
|
||||
.btnPosition {
|
||||
background-color: #FFFFFF;
|
||||
outline: 0;
|
||||
@@ -326,28 +348,29 @@
|
||||
}
|
||||
|
||||
.widthMobile1 {
|
||||
width: 5% !important;
|
||||
width: 15% !important;
|
||||
}
|
||||
|
||||
.widthMobile2 {
|
||||
width: 50% !important;
|
||||
width: 45% !important;
|
||||
}
|
||||
|
||||
.widthMobile3 {
|
||||
width: 10% !important;
|
||||
width: 40% !important;
|
||||
}
|
||||
|
||||
.Rtable .Rtable-row {
|
||||
margin: 10px 0px 0;
|
||||
}
|
||||
|
||||
.Rtable .Rtable-row .Rtable-cell.column-heading {
|
||||
margin: 0;
|
||||
}
|
||||
.Rtable .Rtable-row .Rtable-cell.column-heading {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.Rtable .Rtable-row .Rtable-cell {
|
||||
width: auto;
|
||||
}
|
||||
/* .Rtable .Rtable-row .Rtable-cell {
|
||||
width: auto !important;
|
||||
flex-grow: 0;
|
||||
}*/
|
||||
|
||||
.Rtable--collapse .Rtable-row {
|
||||
outline: none;
|
||||
|
||||
@@ -0,0 +1,388 @@
|
||||
.modal-dialog, .modal-content {
|
||||
max-width: 840px;
|
||||
}
|
||||
|
||||
.form-section {
|
||||
display: none;
|
||||
}
|
||||
|
||||
label {
|
||||
color: #5C5C5C;
|
||||
font-size: 12px;
|
||||
display: inline;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.createrAccountSetting {
|
||||
margin: 10px 120px;
|
||||
}
|
||||
|
||||
.errored {
|
||||
animation: shake 300ms;
|
||||
color: #eb3434 !important;
|
||||
background-color: #fef2f2 !important;
|
||||
border: 1px solid #eb3434 !important;
|
||||
}
|
||||
|
||||
.selectTextNone * {
|
||||
-webkit-user-select: none; /* Chrome, Safari */
|
||||
-moz-user-select: none; /* Firefox */
|
||||
-ms-user-select: none; /* Internet Explorer/Edge */
|
||||
user-select: none; /* Standard */
|
||||
}
|
||||
|
||||
.borderBottomHeader {
|
||||
border-bottom: 1px solid #D9D9D9;
|
||||
}
|
||||
|
||||
.titleHead {
|
||||
color: #444444;
|
||||
font-weight: 600;
|
||||
padding: 10px;
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
.sidebarRollCallMenu {
|
||||
padding: 0;
|
||||
border-left: 1px solid #D9D9D9;
|
||||
/* height: 70vh; */
|
||||
width: 25%;
|
||||
transition: all ease-in .4s;
|
||||
}
|
||||
|
||||
.sidebarRollCallForm {
|
||||
padding: 0;
|
||||
/* height: 70vh; */
|
||||
width: 75%;
|
||||
transition: all ease-in .4s;
|
||||
}
|
||||
|
||||
.sidebarRollCallMenu ul {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.sidebarRollCallMenu ul li {
|
||||
color: #444444;
|
||||
font-size: 13px;
|
||||
font-weight: 500;
|
||||
padding: 6px;
|
||||
cursor: pointer;
|
||||
transition: all ease-in .4s;
|
||||
}
|
||||
|
||||
.sidebarRollCallMenu ul li:hover {
|
||||
background-color: #EAFFFF;
|
||||
}
|
||||
|
||||
.sidebarRollCallMenu ul li.complete {
|
||||
background-color: #F7FEE7;
|
||||
border-left: 2px solid #84CC16;
|
||||
}
|
||||
|
||||
.sidebarRollCallMenu ul li.current {
|
||||
background-color: #EAFFFF;
|
||||
border-left: 2px solid #23A8A8;
|
||||
}
|
||||
|
||||
.sidebarRollCallMenu ul li span {
|
||||
margin: auto 5px;
|
||||
transition: all ease-in .4s;
|
||||
}
|
||||
|
||||
.btn-header-close {
|
||||
margin: 0 0 0 15px;
|
||||
right: 0px;
|
||||
padding: 5px;
|
||||
background-size: 10px;
|
||||
border-radius: 50%;
|
||||
background-color: transparent;
|
||||
z-index: 25;
|
||||
}
|
||||
|
||||
.btn-header-close:hover {
|
||||
color: var(--bs-btn-close-color);
|
||||
text-decoration: none;
|
||||
opacity: var(--bs-btn-close-hover-opacity);
|
||||
}
|
||||
|
||||
.rollCallFormBox
|
||||
{
|
||||
padding: 6px 15px;
|
||||
height: 520px;
|
||||
overflow-y: scroll;
|
||||
}
|
||||
|
||||
.rollCallInfo {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
border: 1px solid #FF9A9A;
|
||||
border-radius: 10px;
|
||||
color: #2D2D2D;
|
||||
font-size: 12px;
|
||||
font-weight: 400;
|
||||
background-color: #FFE2E2;
|
||||
padding: 4px;
|
||||
box-shadow: 0px 4px 7px rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
|
||||
.rollCallInfoSec {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
border: 1px solid #D7ECCE;
|
||||
border-radius: 10px;
|
||||
color: #2D2D2D;
|
||||
font-size: 12px;
|
||||
font-weight: 400;
|
||||
background-color: #E8F9E1;
|
||||
padding: 4px;
|
||||
box-shadow: 0px 4px 7px rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
|
||||
.btn-primary,
|
||||
.btn-secondary {
|
||||
border-radius: 5px;
|
||||
padding: 6px;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.titleSettingRollCall {
|
||||
font-size: 14px;
|
||||
color: #000000;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.titleSettingRollCallCheckbox {
|
||||
font-size: 11px;
|
||||
color: #646464;
|
||||
font-weight: 500;
|
||||
}
|
||||
.titleSettingRollCallCheckboxSubtitle {
|
||||
font-size: 10px;
|
||||
color: #9E9C9C;
|
||||
font-weight: 500;
|
||||
margin-right: 28px;
|
||||
}
|
||||
|
||||
.titleSettingRollCallInfo {
|
||||
font-size: 12px;
|
||||
color: #494949;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.titleSettingRollCallInfoSub {
|
||||
font-size: 10px;
|
||||
color: #9A9A9A;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.lineHr {
|
||||
border-bottom: 1px solid #DEDEDE;
|
||||
}
|
||||
|
||||
.lineMinHr {
|
||||
background: linear-gradient(-90deg, rgba(222, 222, 222, 1) 0%, rgba(255, 255, 255, 1) 60%);
|
||||
width: 100%;
|
||||
height: 1px;
|
||||
}
|
||||
|
||||
.form-control-percent {
|
||||
border: 1px solid #C6C6C6;
|
||||
border-radius: 6px;
|
||||
width: 40px;
|
||||
}
|
||||
|
||||
.form-control-currency {
|
||||
border: 1px solid #C6C6C6;
|
||||
border-radius: 6px;
|
||||
width: 120px;
|
||||
}
|
||||
|
||||
.form-control-select {
|
||||
border: 1px solid #C6C6C6;
|
||||
border-radius: 6px;
|
||||
width: 80px;
|
||||
}
|
||||
|
||||
/************************ Radio Button Input (Like Checkbox appearance) ************************/
|
||||
.form-check-input[type="radio"],
|
||||
.form-check-input[type="checkbox"] {
|
||||
width: 15px;
|
||||
height: 15px;
|
||||
border-radius: 6px;
|
||||
padding: 8px;
|
||||
border: 1px solid #CFD3D4;
|
||||
background-color: white;
|
||||
background-position: center;
|
||||
background-size: contain;
|
||||
background-repeat: no-repeat;
|
||||
margin-right: 8px;
|
||||
appearance: none;
|
||||
}
|
||||
|
||||
.form-check-input[type="radio"]:checked,
|
||||
.form-check-input[type="checkbox"]:checked{
|
||||
background-color: #148989;
|
||||
border: 1px solid #ffffff !important;
|
||||
background-image: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="white" stroke-width="3"%3E%3Cpath stroke-linecap="round" stroke-linejoin="round" d="M5 13l4 4L19 7" /%3E%3C/svg%3E');
|
||||
background-size: 75%;
|
||||
}
|
||||
|
||||
.form-check-input[type="radio"]:focus,
|
||||
.form-check-input[type="checkbox"]:focus{
|
||||
outline: none;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
.form-check-input[type="radio"] + label,
|
||||
.form-check-input[type="checkbox"] + label {
|
||||
color: #83898C;
|
||||
}
|
||||
|
||||
.form-check-input[type="radio"]:checked + label,
|
||||
.form-check-input[type="checkbox"]:checked + label {
|
||||
color: #2B2F32;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.checkBox {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.labelDays {
|
||||
display: inline-block;
|
||||
padding: 2px 6px;
|
||||
margin: 3px;
|
||||
border: 1px solid #E6E6E6;
|
||||
border-radius: 6px;
|
||||
background-color: #F6F6F6;
|
||||
color: #4D4D4D;
|
||||
cursor: pointer;
|
||||
transition: background-color 0.3s, color 0.3s;
|
||||
width: 70px;
|
||||
text-align: center;
|
||||
font-size: 11px;
|
||||
-webkit-user-select: none; /* Chrome, Safari */
|
||||
-moz-user-select: none; /* Firefox */
|
||||
-ms-user-select: none; /* Internet Explorer/Edge */
|
||||
user-select: none; /* Standard */
|
||||
}
|
||||
|
||||
.checkBox:checked + .labelDays {
|
||||
background-color: #148989;
|
||||
color: white !important;
|
||||
}
|
||||
|
||||
input[type="text"] {
|
||||
color: #2B2F32;
|
||||
font-size: 13px;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.labelDays:hover {
|
||||
background-color: #EBEBEB;
|
||||
}
|
||||
|
||||
/************************ Radio Button Input (Like Checkbox appearance) ************************/
|
||||
|
||||
|
||||
|
||||
@media (max-width:1366px) {
|
||||
.modal-dialog, .modal-content {
|
||||
max-width: 780px;
|
||||
}
|
||||
|
||||
.sidebarRollCallMenu ul li {
|
||||
font-size: 11px;
|
||||
}
|
||||
|
||||
.rollCallFormBox {
|
||||
height: 440px;
|
||||
}
|
||||
|
||||
.titleSettingRollCall {
|
||||
font-size: 13px;
|
||||
}
|
||||
.createrAccountSetting {
|
||||
margin: 10px 100px;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width:992px) {
|
||||
#rollCallSettingModalLabel {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.sidebarRollCallMenu {
|
||||
width: 7%;
|
||||
}
|
||||
|
||||
.sidebarRollCallMenu ul li span {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.sidebarRollCallMenu ul li svg {
|
||||
width: 27px;
|
||||
height: 27px;
|
||||
}
|
||||
|
||||
.sidebarRollCallForm {
|
||||
width: 93%;
|
||||
}
|
||||
|
||||
.titleSettingRollCall {
|
||||
font-size: 12px;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width:768px) {
|
||||
.rollCallFormBox {
|
||||
padding: 3px 6px;
|
||||
height: 500px;
|
||||
overflow-x: hidden;
|
||||
}
|
||||
label {
|
||||
font-size: 11px;
|
||||
}
|
||||
.form-check-input[type="radio"] {
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
.createrAccountSetting {
|
||||
margin: 10px 100px;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width:550px) {
|
||||
.sidebarRollCallMenu {
|
||||
width: 8%;
|
||||
}
|
||||
|
||||
.sidebarRollCallForm {
|
||||
width: 92%;
|
||||
}
|
||||
|
||||
.createrAccountSetting {
|
||||
margin: 3px 10px;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width:466px) {
|
||||
.sidebarRollCallMenu {
|
||||
width: 9%;
|
||||
}
|
||||
|
||||
.sidebarRollCallForm {
|
||||
width: 91%;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width:395px) {
|
||||
.sidebarRollCallMenu {
|
||||
width: 10%;
|
||||
}
|
||||
|
||||
.sidebarRollCallForm {
|
||||
width: 90%;
|
||||
}
|
||||
}
|
||||
389
ServiceHost/wwwroot/AssetsClient/pages/RollCall/js/Grouping.js
Normal file
389
ServiceHost/wwwroot/AssetsClient/pages/RollCall/js/Grouping.js
Normal file
@@ -0,0 +1,389 @@
|
||||
$(document).ready(function () {
|
||||
$("#newCreateGroup").click(function () {
|
||||
window.location.href = `#showmodal=/Client/Company/RollCall/Grouping?workshopSettingId=${workshopSettingId}&handler=CreateGroup`;
|
||||
});
|
||||
|
||||
$(document).on('click', ".openAction", function () {
|
||||
var id = $(this).data('index');
|
||||
|
||||
if (window.matchMedia('(max-width: 767px)').matches) {
|
||||
$(this).next().find(".operations-btns").slideToggle(500);
|
||||
$(".operations-btns").not($(this).next().find(".operations-btns")).slideUp(500);
|
||||
}
|
||||
|
||||
loadEmployeeAjax(id);
|
||||
$(`.openAction`).removeClass('active');
|
||||
$(this).addClass('active');
|
||||
});
|
||||
|
||||
loadDataAjax();
|
||||
});
|
||||
|
||||
function loadDataAjax() {
|
||||
var html = "";
|
||||
var htmlEmployee = "";
|
||||
var index = 0;
|
||||
$.ajax({
|
||||
async: false,
|
||||
contentType: 'charset=utf-8',
|
||||
dataType: 'json',
|
||||
type: 'GET',
|
||||
url: loadWorkshopSettingsDataAjax,
|
||||
headers: { "RequestVerificationToken": `${antiForgeryToken}` },
|
||||
success: function (response) {
|
||||
var responseData = response.data;
|
||||
|
||||
if (responseData.groupSettings.length > 0) {
|
||||
responseData.groupSettings.forEach(function(item, indexItem) {
|
||||
index = index + 1;
|
||||
|
||||
html += `
|
||||
<div class="p-2 rounded-3 d-flex align-items-center justify-content-between w-100 btnPosition openAction ${
|
||||
indexItem === 0 ? 'active' : ''}" data-index="${item.id}">
|
||||
|
||||
<div class="width1">
|
||||
<span class="d-none" id="groupSettingsId">${item.id}</span>
|
||||
<span class="row-index1">${index}</span>
|
||||
</div>
|
||||
|
||||
<div class="title-group1 width2">
|
||||
<p class="m-0 d-block d-md-none">نام گروه:</p>
|
||||
<p class="m-0">${item.groupName}</p>
|
||||
</div>
|
||||
<div class="title-group1 text-center d-none d-md-block width3">`;
|
||||
|
||||
item.rollCallWorkshopShifts.forEach(function(itemShifts) {
|
||||
html += `
|
||||
<p class="m-0 time-set-title">
|
||||
<span style="width: 46px;display: inline-block;">${itemShifts.startTime}</span>
|
||||
الی
|
||||
<span style="width: 46px;display: inline-block;">${itemShifts.endTime}</span>
|
||||
</p>
|
||||
`;
|
||||
});
|
||||
|
||||
html += `</div>
|
||||
<div class="title-group1 text-center d-none d-md-block width4">
|
||||
<p class="m-0 d-block d-md-none text-center">حقوق</p>
|
||||
<p class="m-0">${item.salary.toLocaleString()} ریال</p>
|
||||
</div>
|
||||
<div class="d-flex align-items-center justify-content-end gap-1 width5">
|
||||
<button type="button" class="btn-add" onclick="AddToGroupModal(${responseData.id}, ${item.id})">
|
||||
<svg width="20" height="20" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<circle cx="9" cy="9" r="4" fill="#65a30d"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M14.864 18.8128C14.8851 18.9183 14.9742 19 15.0819 19H16.8672C17.4687 19 17.9213 18.471 17.7202 17.9042C17.3002 16.7199 16.2951 15 14 15C13.8744 15 13.7527 15.0052 13.6347 15.0151C13.2591 15.0467 13.1629 15.5087 13.415 15.7889C14.3198 16.7941 14.6998 17.9918 14.864 18.8128ZM13.5276 17.8332C13.7713 18.4159 13.2918 19 12.6602 19H11.1328C10.5313 19 10.0787 18.4711 10.2798 17.9042C10.4699 17.3683 10.7798 16.7226 11.2749 16.1763C11.5534 15.869 12.022 15.8468 12.3326 16.1214C12.9049 16.6274 13.2808 17.2429 13.5276 17.8332Z" fill="#65a30d"/>
|
||||
<path d="M9 15C12.5715 15 13.5919 17.5512 13.8834 19.0089C13.9917 19.5504 13.5523 20 13 20H5C4.44772 20 4.00829 19.5504 4.11659 19.0089C4.4081 17.5512 5.42846 15 9 15Z" fill="#65a30d"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M12.4821 12.5882C13.4183 11.6795 14 10.4077 14 9C14 8.29933 13.8559 7.63233 13.5957 7.02702C13.7279 7.0092 13.8629 7 14 7C15.6569 7 17 8.34315 17 10C17 11.6569 15.6569 13 14 13C13.4462 13 12.9274 12.8499 12.4821 12.5882ZM11.7119 11.9404C12.5039 11.2095 13 10.1627 13 9C13 8.40307 12.8692 7.83668 12.6348 7.32791C11.6643 7.82475 11 8.8348 11 10C11 10.7399 11.2679 11.4173 11.7119 11.9404Z" fill="#65a30d"/>
|
||||
<path d="M19 3V7" stroke="#65a30d" stroke-width="2" stroke-linecap="round"/>
|
||||
<path d="M21 5L17 5" stroke="#65a30d" stroke-width="2" stroke-linecap="round"/>
|
||||
</svg>
|
||||
</button>
|
||||
<button type="button" class="btn-setting" onclick="showModalGroupSetting(${item.id})">
|
||||
<svg width="24" height="24" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor">
|
||||
<path stroke-linecap="round" stroke="#475569" stroke-linejoin="round" d="M9.594 3.94c.09-.542.56-.94 1.11-.94h2.593c.55 0 1.02.398 1.11.94l.213 1.281c.063.374.313.686.645.87.074.04.147.083.22.127.325.196.72.257 1.075.124l1.217-.456a1.125 1.125 0 0 1 1.37.49l1.296 2.247a1.125 1.125 0 0 1-.26 1.431l-1.003.827c-.293.241-.438.613-.43.992a7.723 7.723 0 0 1 0 .255c-.008.378.137.75.43.991l1.004.827c.424.35.534.955.26 1.43l-1.298 2.247a1.125 1.125 0 0 1-1.369.491l-1.217-.456c-.355-.133-.75-.072-1.076.124a6.47 6.47 0 0 1-.22.128c-.331.183-.581.495-.644.869l-.213 1.281c-.09.543-.56.94-1.11.94h-2.594c-.55 0-1.019-.398-1.11-.94l-.213-1.281c-.062-.374-.312-.686-.644-.87a6.52 6.52 0 0 1-.22-.127c-.325-.196-.72-.257-1.076-.124l-1.217.456a1.125 1.125 0 0 1-1.369-.49l-1.297-2.247a1.125 1.125 0 0 1 .26-1.431l1.004-.827c.292-.24.437-.613.43-.991a6.932 6.932 0 0 1 0-.255c.007-.38-.138-.751-.43-.992l-1.004-.827a1.125 1.125 0 0 1-.26-1.43l1.297-2.247a1.125 1.125 0 0 1 1.37-.491l1.216.456c.356.133.751.072 1.076-.124.072-.044.146-.086.22-.128.332-.183.582-.495.644-.869l.214-1.28Z" />
|
||||
<path stroke-linecap="round" stroke="#475569" stroke-linejoin="round" d="M15 12a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z" />
|
||||
</svg>
|
||||
</button>
|
||||
<button onclick="editGroup(${item.id})" class="btn-edit position-relative">
|
||||
<svg width="24" height="24" viewBox="0 0 23 23" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M12.6027 6.838L5.85304 13.5876C5.84201 13.5987 5.83107 13.6096 5.8202 13.6204C5.65773 13.7825 5.5139 13.9261 5.41254 14.1051C5.31117 14.2841 5.2621 14.4813 5.20667 14.704C5.20296 14.7189 5.19923 14.7339 5.19545 14.7491L4.5813 17.2057C4.57908 17.2145 4.57686 17.2234 4.57462 17.2323C4.53537 17.389 4.49347 17.5564 4.47972 17.6969C4.46458 17.8516 4.46811 18.1127 4.67752 18.3221L5.03035 17.9693L4.67752 18.3221C4.88693 18.5315 5.14799 18.535 5.30272 18.5199C5.44326 18.5062 5.6106 18.4643 5.76728 18.425C5.77622 18.4228 5.78512 18.4205 5.79398 18.4183L8.25057 17.8042C8.26569 17.8004 8.28069 17.7967 8.29558 17.793C8.51832 17.7375 8.71549 17.6885 8.89452 17.5871C9.07356 17.4857 9.21708 17.3419 9.37921 17.1794C9.39005 17.1686 9.40097 17.1576 9.412 17.1466L16.1616 10.397L16.1849 10.3737C16.4983 10.0603 16.7684 9.79025 16.9556 9.54492C17.1562 9.282 17.3081 8.98958 17.3081 8.6292C17.3081 8.26759 17.1541 7.97384 16.9522 7.71001C16.7633 7.46303 16.4905 7.1903 16.1731 6.87292L16.1499 6.84972L16.1267 6.82652C15.8093 6.5091 15.5366 6.23634 15.2896 6.04738C15.0258 5.84553 14.732 5.69156 14.3704 5.69156C14.01 5.69156 13.7176 5.84345 13.4547 6.04405C13.2094 6.23123 12.9393 6.5013 12.6259 6.81474L12.6027 6.838Z" stroke-width="1.5" stroke="#4DA9D1"></path>
|
||||
<path d="M11.9939 7.20397L14.8457 5.30273L17.6976 8.15459L15.7964 11.0064L11.9939 7.20397Z" fill="#4DA9D1"></path>
|
||||
</svg>
|
||||
</button>
|
||||
<button type="button" class="btn-delete2" onclick="removeGroupConfirm(${item.id})">
|
||||
<svg width="24" height="24" viewBox="0 0 20 21" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M8.26733 12.4805L8.26733 10.036" stroke="#F63D3D" stroke-linecap="round" />
|
||||
<path d="M12.2865 12.4805L12.2865 10.036" stroke="#F63D3D" stroke-linecap="round" />
|
||||
<path d="M3.04224 5.96094H17.5115V5.96094C16.7544 5.96094 16.3758 5.96094 16.0699 6.06212C15.4692 6.26083 14.9979 6.73211 14.7992 7.33286C14.698 7.63875 14.698 8.0173 14.698 8.7744V12.5535C14.698 14.4391 14.698 15.382 14.1122 15.9677C13.5264 16.5535 12.5836 16.5535 10.698 16.5535H9.8557C7.97008 16.5535 7.02727 16.5535 6.44148 15.9677C5.8557 15.382 5.8557 14.4391 5.8557 12.5535V8.7744C5.8557 8.0173 5.8557 7.63875 5.75452 7.33286C5.55581 6.73211 5.08453 6.26083 4.48378 6.06212C4.17789 5.96094 3.79934 5.96094 3.04224 5.96094V5.96094Z" stroke="#F63D3D" stroke-linecap="round" />
|
||||
<path d="M8.26727 3.51423C8.26727 3.51423 8.66919 2.69922 10.2769 2.69922C11.8846 2.69922 12.2865 3.51403 12.2865 3.51403" stroke="#F63D3D" stroke-linecap="round" />
|
||||
</svg>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="operation-div w-100 d-block d-md-none" style="margin: -5px 0 0 0;">
|
||||
<div class="operations-btns px-2" id="loadEmployeeItemsMobile_${item.id}">
|
||||
</div>
|
||||
</div>
|
||||
`;
|
||||
|
||||
if (indexItem === 0) {
|
||||
loadEmployeeAjax(item.id);
|
||||
}
|
||||
});
|
||||
|
||||
$('#ajaxDataMain').html(html);
|
||||
} else {
|
||||
var htmlEmpty = `<div class="text-center bg-white card py-5 d-flex align-items-center justify-content-center">
|
||||
<div class="">
|
||||
<img src="/assetsclient/images/empty.png" alt="" class="img-fluid" />
|
||||
<h5>اطلاعاتی وجود ندارد.</h5>
|
||||
</div>
|
||||
</div>`;
|
||||
|
||||
$('#ajaxDataMain').html(htmlEmpty);
|
||||
$('#loadAccountItems').html(htmlEmpty);
|
||||
}
|
||||
},
|
||||
failure: function (response) {
|
||||
console.log(5, response);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function loadEmployeeAjax(groupSettingId) {
|
||||
var htmlEmployee = "";
|
||||
$(`#loadEmployeeItemsMobile_${groupSettingId}`).html('');
|
||||
|
||||
var indexEmployee = 1;
|
||||
$.ajax({
|
||||
async: false,
|
||||
contentType: 'charset=utf-8',
|
||||
dataType: 'json',
|
||||
type: 'GET',
|
||||
url: loadEmployeesGroupAjax,
|
||||
data: { 'groupId': groupSettingId },
|
||||
headers: { "RequestVerificationToken": `${antiForgeryToken}` },
|
||||
success: function (response) {
|
||||
var responseDataEmployee = response.data;
|
||||
|
||||
if (response.success) {
|
||||
if (responseDataEmployee.length > 0) {
|
||||
|
||||
htmlEmployee += `
|
||||
<div>
|
||||
<div class="col-12 col-md-6 col-lg-3 mt-2 mb-2">
|
||||
<input type="text" class="form-control" id="searchEmployee" placeholder="جستجو ..." />
|
||||
</div>
|
||||
</div>`;
|
||||
|
||||
responseDataEmployee.forEach(function (itemEmployee) {
|
||||
htmlEmployee += `<div></div>
|
||||
<div class="my-1 Rtable-row align-items-center position-relative itemResultEmployee">
|
||||
<div class="Rtable-cell width1 widthMobile1">
|
||||
<div class="Rtable-cell--content">
|
||||
<span class="d-flex justify-content-center row-index2">
|
||||
${indexEmployee++}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="Rtable-cell width2 widthMobile2">
|
||||
<div class="Rtable-cell--heading d-none">نام پرسنل:</div>
|
||||
<div class="Rtable-cell--content">
|
||||
<div class="d-flex d-md-none">نام پرسنل:</div>
|
||||
<div class="itemEmployeeName">${itemEmployee.name} </div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="Rtable-cell width3 widthMobile2 text-center d-none d-md-block">
|
||||
<div class="Rtable-cell--heading d-none">ساعت کاری:</div>
|
||||
<div class="Rtable-cell--content d-flex text-center">
|
||||
<div class="d-flex d-md-none mx-1">ساعت کاری: </div>
|
||||
<div class="w-100">`;
|
||||
itemEmployee.rollCallWorkshopShifts.forEach(function (itemEmployeeShifts) {
|
||||
htmlEmployee += `
|
||||
<p class="m-0 time-set-title">
|
||||
<span style="width: 46px;display: inline-block;text-align: center;">${itemEmployeeShifts.startTime}</span>
|
||||
الی
|
||||
<span style="width: 46px;display: inline-block;text-align: center;">${itemEmployeeShifts.endTime}</span>
|
||||
</p>`;
|
||||
});
|
||||
|
||||
htmlEmployee += `</div></div>
|
||||
</div>
|
||||
|
||||
<div class="Rtable-cell width4 d-md-block d-none">
|
||||
<div class="Rtable-cell--heading">حقوق</div>
|
||||
<div class="Rtable-cell--content">${itemEmployee.salary.toLocaleString()} ریال</div>
|
||||
</div>
|
||||
|
||||
<div class="d-flex align-items-center justify-content-end gap-1 width5 widthMobile3">
|
||||
<button type="button" class="btn-setting" onclick="showModalGroupEmployeeSetting(${itemEmployee.id}, ${itemEmployee.employeeId})">
|
||||
<svg width="24" height="24" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor">
|
||||
<path stroke-linecap="round" stroke="#475569" stroke-linejoin="round" d="M9.594 3.94c.09-.542.56-.94 1.11-.94h2.593c.55 0 1.02.398 1.11.94l.213 1.281c.063.374.313.686.645.87.074.04.147.083.22.127.325.196.72.257 1.075.124l1.217-.456a1.125 1.125 0 0 1 1.37.49l1.296 2.247a1.125 1.125 0 0 1-.26 1.431l-1.003.827c-.293.241-.438.613-.43.992a7.723 7.723 0 0 1 0 .255c-.008.378.137.75.43.991l1.004.827c.424.35.534.955.26 1.43l-1.298 2.247a1.125 1.125 0 0 1-1.369.491l-1.217-.456c-.355-.133-.75-.072-1.076.124a6.47 6.47 0 0 1-.22.128c-.331.183-.581.495-.644.869l-.213 1.281c-.09.543-.56.94-1.11.94h-2.594c-.55 0-1.019-.398-1.11-.94l-.213-1.281c-.062-.374-.312-.686-.644-.87a6.52 6.52 0 0 1-.22-.127c-.325-.196-.72-.257-1.076-.124l-1.217.456a1.125 1.125 0 0 1-1.369-.49l-1.297-2.247a1.125 1.125 0 0 1 .26-1.431l1.004-.827c.292-.24.437-.613.43-.991a6.932 6.932 0 0 1 0-.255c.007-.38-.138-.751-.43-.992l-1.004-.827a1.125 1.125 0 0 1-.26-1.43l1.297-2.247a1.125 1.125 0 0 1 1.37-.491l1.216.456c.356.133.751.072 1.076-.124.072-.044.146-.086.22-.128.332-.183.582-.495.644-.869l.214-1.28Z" />
|
||||
<path stroke-linecap="round" stroke="#475569" stroke-linejoin="round" d="M15 12a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z" />
|
||||
</svg>
|
||||
</button>
|
||||
<button onclick="editEmployee(${itemEmployee.employeeId}, ${groupSettingId})" class="btn-edit position-relative">
|
||||
<svg width="24" height="24" viewBox="0 0 23 23" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M12.6027 6.838L5.85304 13.5876C5.84201 13.5987 5.83107 13.6096 5.8202 13.6204C5.65773 13.7825 5.5139 13.9261 5.41254 14.1051C5.31117 14.2841 5.2621 14.4813 5.20667 14.704C5.20296 14.7189 5.19923 14.7339 5.19545 14.7491L4.5813 17.2057C4.57908 17.2145 4.57686 17.2234 4.57462 17.2323C4.53537 17.389 4.49347 17.5564 4.47972 17.6969C4.46458 17.8516 4.46811 18.1127 4.67752 18.3221L5.03035 17.9693L4.67752 18.3221C4.88693 18.5315 5.14799 18.535 5.30272 18.5199C5.44326 18.5062 5.6106 18.4643 5.76728 18.425C5.77622 18.4228 5.78512 18.4205 5.79398 18.4183L8.25057 17.8042C8.26569 17.8004 8.28069 17.7967 8.29558 17.793C8.51832 17.7375 8.71549 17.6885 8.89452 17.5871C9.07356 17.4857 9.21708 17.3419 9.37921 17.1794C9.39005 17.1686 9.40097 17.1576 9.412 17.1466L16.1616 10.397L16.1849 10.3737C16.4983 10.0603 16.7684 9.79025 16.9556 9.54492C17.1562 9.282 17.3081 8.98958 17.3081 8.6292C17.3081 8.26759 17.1541 7.97384 16.9522 7.71001C16.7633 7.46303 16.4905 7.1903 16.1731 6.87292L16.1499 6.84972L16.1267 6.82652C15.8093 6.5091 15.5366 6.23634 15.2896 6.04738C15.0258 5.84553 14.732 5.69156 14.3704 5.69156C14.01 5.69156 13.7176 5.84345 13.4547 6.04405C13.2094 6.23123 12.9393 6.5013 12.6259 6.81474L12.6027 6.838Z" stroke-width="1.5" stroke="#4DA9D1"></path>
|
||||
<path d="M11.9939 7.20397L14.8457 5.30273L17.6976 8.15459L15.7964 11.0064L11.9939 7.20397Z" fill="#4DA9D1"></path>
|
||||
</svg>
|
||||
</button>
|
||||
<button href="" class="btn-delete2" onclick="removeEmployeeFromGroup(${itemEmployee.employeeId}, ${groupSettingId})">
|
||||
<svg width="24" height="24" viewBox="0 0 20 21" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M8.26733 12.4805L8.26733 10.036" stroke="#F63D3D" stroke-linecap="round" />
|
||||
<path d="M12.2865 12.4805L12.2865 10.036" stroke="#F63D3D" stroke-linecap="round" />
|
||||
<path d="M3.04224 5.96094H17.5115V5.96094C16.7544 5.96094 16.3758 5.96094 16.0699 6.06212C15.4692 6.26083 14.9979 6.73211 14.7992 7.33286C14.698 7.63875 14.698 8.0173 14.698 8.7744V12.5535C14.698 14.4391 14.698 15.382 14.1122 15.9677C13.5264 16.5535 12.5836 16.5535 10.698 16.5535H9.8557C7.97008 16.5535 7.02727 16.5535 6.44148 15.9677C5.8557 15.382 5.8557 14.4391 5.8557 12.5535V8.7744C5.8557 8.0173 5.8557 7.63875 5.75452 7.33286C5.55581 6.73211 5.08453 6.26083 4.48378 6.06212C4.17789 5.96094 3.79934 5.96094 3.04224 5.96094V5.96094Z" stroke="#F63D3D" stroke-linecap="round" />
|
||||
<path d="M8.26727 3.51423C8.26727 3.51423 8.66919 2.69922 10.2769 2.69922C11.8846 2.69922 12.2865 3.51403 12.2865 3.51403" stroke="#F63D3D" stroke-linecap="round" />
|
||||
</svg>
|
||||
</button>
|
||||
</div>
|
||||
</div>`;
|
||||
});
|
||||
|
||||
$('#loadAccountItems').html(htmlEmployee);
|
||||
$(`#loadEmployeeItemsMobile_${groupSettingId}`).append(htmlEmployee);
|
||||
|
||||
} else {
|
||||
var htmlEmpty = `<div class="text-center bg-white card py-5 d-flex align-items-center justify-content-center">
|
||||
<div class="">
|
||||
<img src="/assetsclient/images/empty.png" alt="" class="img-fluid" />
|
||||
<h5>اطلاعاتی وجود ندارد.</h5>
|
||||
</div>
|
||||
</div>`;
|
||||
|
||||
$('#loadAccountItems').html(htmlEmpty);
|
||||
$(`#loadEmployeeItemsMobile_${groupSettingId}`).html(htmlEmpty);
|
||||
}
|
||||
}
|
||||
},
|
||||
failure: function (response) {
|
||||
console.log(5, response);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
$(document).on('keyup', '#searchEmployee', function () {
|
||||
var value = $(this).val().toLowerCase();
|
||||
var indexEmployee = 1;
|
||||
$('.itemResultEmployee').filter(function () {
|
||||
var employeeFName = $(this).find('.itemEmployeeName').text().toLowerCase();
|
||||
|
||||
if (employeeFName.includes(value)) {
|
||||
$(this).show();
|
||||
$(this).find('.row-index2').text(indexEmployee++);
|
||||
} else {
|
||||
$(this).hide();
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
function removeGroupConfirm(group_id) {
|
||||
swal.fire({
|
||||
title: "اخطار",
|
||||
text: "آیا برای حذف این گروه مطمئن هستید؟",
|
||||
icon: "warning",
|
||||
showCancelButton: true,
|
||||
confirmButtonText: "بله",
|
||||
cancelButtonText: "خیر",
|
||||
confirmButtonColor: '#84cc16',
|
||||
reverseButtons: true
|
||||
}).then((result) => {
|
||||
if (result.isConfirmed) {
|
||||
|
||||
$.ajax({
|
||||
async: false,
|
||||
type: 'POST',
|
||||
url: removeGroupAjax,
|
||||
data: { 'groupId': Number(group_id) },
|
||||
headers: { "RequestVerificationToken": `${antiForgeryToken}` },
|
||||
success: function (response) {
|
||||
if (response.success) {
|
||||
$('.alert-success-msg').show();
|
||||
$('.alert-success-msg p').text(response.message);
|
||||
setTimeout(function () {
|
||||
$('.alert-success-msg').hide();
|
||||
$('.alert-success-msg p').text('');
|
||||
}, 2000);
|
||||
loadDataAjax();
|
||||
} else {
|
||||
$('.alert-msg').show();
|
||||
$('.alert-msg p').text(response.message);
|
||||
setTimeout(function () {
|
||||
$('.alert-msg').hide();
|
||||
$('.alert-msg p').text('');
|
||||
}, 3000);
|
||||
$('.btn-register').removeClass('disable');
|
||||
}
|
||||
},
|
||||
failure: function (response) {
|
||||
console.log(5, response);
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function AddToGroupModal(id, groupId) {
|
||||
window.location.href = `#showmodal=/Client/Company/RollCall/Grouping?workshopSettingId=${id}&groupId=${groupId}&handler=CreateEmployee`;
|
||||
}
|
||||
|
||||
//function showEmployee(id, element) {
|
||||
// loadEmployeeAjax(id);
|
||||
// $(`.openAction`).removeClass('active');
|
||||
// $(element).addClass('active');
|
||||
//}
|
||||
|
||||
function removeEmployeeFromGroup(employeeId, groupSettingId) {
|
||||
swal.fire({
|
||||
title: "اخطار",
|
||||
text: "آیا برای حذف این پرسنل مطمئن هستید؟",
|
||||
icon: "warning",
|
||||
showCancelButton: true,
|
||||
confirmButtonText: "بله",
|
||||
cancelButtonText: "خیر",
|
||||
confirmButtonColor: '#84cc16',
|
||||
reverseButtons: true
|
||||
}).then((result) => {
|
||||
if (result.isConfirmed) {
|
||||
|
||||
$.ajax({
|
||||
async: false,
|
||||
type: 'POST',
|
||||
url: removeEmployeeFromGroupAjax,
|
||||
data: {
|
||||
'employeeId': employeeId,
|
||||
'groupId': groupSettingId
|
||||
},
|
||||
headers: { "RequestVerificationToken": `${antiForgeryToken}` },
|
||||
success: function (response) {
|
||||
if (response.success) {
|
||||
$('.alert-success-msg').show();
|
||||
$('.alert-success-msg p').text(response.message);
|
||||
setTimeout(function () {
|
||||
$('.alert-success-msg').hide();
|
||||
$('.alert-success-msg p').text('');
|
||||
}, 2000);
|
||||
loadDataAjax();
|
||||
} else {
|
||||
$('.alert-msg').show();
|
||||
$('.alert-msg p').text(response.message);
|
||||
setTimeout(function () {
|
||||
$('.alert-msg').hide();
|
||||
$('.alert-msg p').text('');
|
||||
}, 3000);
|
||||
$('.btn-register').removeClass('disable');
|
||||
}
|
||||
},
|
||||
failure: function (response) {
|
||||
console.log(5, response);
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function editGroup(groupId) {
|
||||
window.location.href = `#showmodal=/Client/Company/RollCall/Grouping?groupId=${groupId}&handler=EditGroup`;
|
||||
}
|
||||
|
||||
function editEmployee(employee_id, groupId) {
|
||||
var array_employees = [employee_id];
|
||||
window.location.href = `#showmodal=/Client/Company/RollCall/Grouping?groupId=${groupId}&employeeId=${array_employees}&handler=EditEmployee`;
|
||||
}
|
||||
|
||||
function showModalGroupSetting(groupId) {
|
||||
window.location.href = `#showmodal=/Client/Company/RollCall/Grouping?groupId=${groupId}&handler=GroupingSetting`;
|
||||
}
|
||||
|
||||
function showModalGroupEmployeeSetting(id, employeeIds) {
|
||||
if (!Array.isArray(employeeIds)) {
|
||||
employeeIds = [employeeIds];
|
||||
}
|
||||
var employeeIdListStr = employeeIds.map(employeeId => `employeeId=${employeeId}`).join('&');
|
||||
|
||||
window.location.href = `#showmodal=/Client/Company/RollCall/Grouping?customizeEmployeeId=${id}&${employeeIdListStr}&handler=GroupingEmployeeSetting`;
|
||||
}
|
||||
@@ -7,9 +7,15 @@ $(document).ready(function () {
|
||||
});
|
||||
|
||||
$(document).ready(function () {
|
||||
if (!hasCameraAccount) {
|
||||
window.location.href = saveCameraAccountUrl;
|
||||
if (workshopId == 11) {
|
||||
if (hasRollCallService) {
|
||||
if (!hasCameraAccount || !hasRollCallWorkshopSetting) {
|
||||
window.location.href = saveCameraAccountUrl;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
$('.loadingButton').on('click', function () {
|
||||
var button = $(this);
|
||||
|
||||
@@ -0,0 +1,230 @@
|
||||
$(document).ready(function () {
|
||||
//******************** انتخاب چک باکس ********************
|
||||
$('.items').click(function (e) {
|
||||
if ($(e.target).is('input[type="checkbox"]')) {
|
||||
return;
|
||||
}
|
||||
|
||||
var checkbox = $(this).find('input[type="checkbox"]');
|
||||
var isChecked = checkbox.is(":checked");
|
||||
|
||||
checkbox.prop('checked', !isChecked);
|
||||
$(this).toggleClass('checked-item', !isChecked);
|
||||
});
|
||||
|
||||
$('.items input[type="checkbox"]').click(function (e) {
|
||||
e.stopPropagation();
|
||||
|
||||
var isChecked = $(this).is(":checked");
|
||||
$(this).closest('.items').toggleClass('checked-item', isChecked);
|
||||
});
|
||||
|
||||
$('.items label').click(function (e) {
|
||||
e.stopPropagation();
|
||||
|
||||
var isChecked = $(this).is(":checked");
|
||||
$(this).closest('.items').toggleClass('checked-item', isChecked);
|
||||
});
|
||||
|
||||
//******************** انتخاب چک باکس ********************
|
||||
|
||||
//******************** انتخاب همه ی چک باکس ها ********************
|
||||
$(".selectAll").change(function () {
|
||||
$('input:checkbox').not(this).prop('checked', this.checked);
|
||||
if ($(this).is(":checked")) {
|
||||
$('.items').addClass('checked-item');
|
||||
} else {
|
||||
$('.items').removeClass('checked-item');
|
||||
}
|
||||
});
|
||||
//******************** انتخاب همه ی چک باکس ها ********************
|
||||
|
||||
|
||||
|
||||
$('.select2Position').select2({
|
||||
placeholder: {
|
||||
text: "انتخاب اعضاء ..."
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
|
||||
$('#btn-add').on('click', function (e) {
|
||||
e.preventDefault();
|
||||
|
||||
var idlist = "";
|
||||
|
||||
|
||||
// if ($('.select2Position').select2('data').length > 0) {
|
||||
if (($('input:checkbox').is(":checked"))) {
|
||||
|
||||
|
||||
$('.foo').each(function () {
|
||||
if ($(this).is(":checked")) {
|
||||
var a = $(this).val();
|
||||
var b = a + "+";
|
||||
idlist += b;
|
||||
}
|
||||
});
|
||||
|
||||
$('#Accounts').val(idlist);
|
||||
|
||||
|
||||
$.ajax({
|
||||
async: false,
|
||||
dataType: 'json',
|
||||
type: 'POST',
|
||||
url: '@Url.Page("./Group", "AddAccountToPosition")',
|
||||
headers: { "RequestVerificationToken": $('@Html.AntiForgeryToken()').val() },
|
||||
data: $('#create-form').serialize(),
|
||||
success: function (response) {
|
||||
if (response.isSuccedded) {
|
||||
$("#groupName").val('');
|
||||
$('.alert-success-msg').show();
|
||||
$('.alert-success-msg p').text(response.message);
|
||||
setTimeout(function () {
|
||||
$('.alert-success-msg').hide();
|
||||
$('.alert-success-msg p').text('');
|
||||
window.location.replace('/AdminNew/Company/Task/Group');
|
||||
}, 1500);
|
||||
} else {
|
||||
$('.alert-msg').show();
|
||||
$('.alert-msg p').text(response.message);
|
||||
setTimeout(function () {
|
||||
$('.alert-msg').hide();
|
||||
$('.alert-msg p').text('');
|
||||
}, 3500);
|
||||
}
|
||||
},
|
||||
error: function (err) {
|
||||
console.log(err);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
$('.alert-msg').show();
|
||||
$('.alert-msg p').text('لطفا شخصی برای ذخیره انتخاب کنید.');
|
||||
$("#groupName").addClass('errored');
|
||||
setTimeout(function () {
|
||||
$('.alert-msg').hide();
|
||||
$('.alert-msg p').text('');
|
||||
$("#groupName").removeClass('errored');
|
||||
}, 3500);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
function searchMember() {
|
||||
var input, filter, tbody, tr, a, i;
|
||||
input = document.getElementById("search");
|
||||
|
||||
filter = input.value.toUpperCase();
|
||||
tbody = document.getElementById("PersonnelList");
|
||||
tr = tbody.getElementsByClassName("items");
|
||||
for (i = 0; i < tr.length; i++) {
|
||||
td = tr[i].getElementsByClassName("searchItem")[0];
|
||||
if (td.innerHTML.toUpperCase().indexOf(filter) > -1) {
|
||||
tr[i].style.display = "";
|
||||
} else {
|
||||
tr[i].style.display = "none";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
LoadEmployeeAjax();
|
||||
function LoadEmployeeAjax(parameters) {
|
||||
var html = "";
|
||||
$.ajax({
|
||||
async: false,
|
||||
contentType: 'charset=utf-8',
|
||||
dataType: 'json',
|
||||
type: 'GET',
|
||||
url: loadEmployeeGroupAjax,
|
||||
data: {
|
||||
'rollCallWorkshopSettingId': workshopSettingId
|
||||
},
|
||||
headers: { "RequestVerificationToken": `${antiForgeryToken}` },
|
||||
success: function (response) {
|
||||
|
||||
if (response.success) {
|
||||
if (response.data.length > 0) {
|
||||
response.data.forEach(function (item) {
|
||||
html += `<div class="items">
|
||||
<div class="from-group">
|
||||
<input class="form-check-input foo" type="checkbox" name="employeeIds[]" id="select-${item.id}" value="${item.id}">
|
||||
<label class="form-check-label searchItem" for="select-${item.id}">
|
||||
${item.employeeFullName}
|
||||
</label>
|
||||
</div>
|
||||
</div>`;
|
||||
});
|
||||
|
||||
$('#PersonnelList').append(html);
|
||||
$('#loadingSkeleton').hide();
|
||||
}
|
||||
else {
|
||||
html += `<div class="text-center bg-white d-flex align-items-center justify-content-center w-100">
|
||||
<div class="">
|
||||
<img src="/assetsclient/images/empty.png" alt="" class="img-fluid" />
|
||||
<h5>اطلاعاتی وجود ندارد.</h5>
|
||||
</div>
|
||||
</div>`;
|
||||
|
||||
$('#PersonnelList').append(html);
|
||||
$('#loadingSkeleton').hide();
|
||||
}
|
||||
}
|
||||
},
|
||||
failure: function (response) {
|
||||
console.log(5, response);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function saveEmployeeData() {
|
||||
$('.btn-register').addClass('disable');
|
||||
|
||||
const employeeIds = [];
|
||||
$('input[name="employeeIds[]"]:checked').each(function () {
|
||||
employeeIds.push($(this).val());
|
||||
});
|
||||
|
||||
const data = {
|
||||
'command.EmployeeIds': employeeIds,
|
||||
'command.GroupId': groupId,
|
||||
'command.WorkshopSettingId': workshopSettingId
|
||||
};
|
||||
|
||||
$.ajax({
|
||||
async: false,
|
||||
//contentType: 'charset=utf-8',
|
||||
//dataType: 'json',
|
||||
type: 'POST',
|
||||
url: saveEmployeeToGroupAjax,
|
||||
data: data,
|
||||
headers: { "RequestVerificationToken": `${antiForgeryToken}` },
|
||||
success: function (response) {
|
||||
if (response.success) {
|
||||
$('.alert-success-msg').show();
|
||||
$('.alert-success-msg p').text(response.message);
|
||||
setTimeout(function () {
|
||||
$('.alert-success-msg').hide();
|
||||
$('.alert-success-msg p').text('');
|
||||
|
||||
$('#MainModal').modal('toggle');
|
||||
loadDataAjax();
|
||||
}, 2000);
|
||||
} else {
|
||||
$('.alert-msg').show();
|
||||
$('.alert-msg p').text(response.message);
|
||||
setTimeout(function () {
|
||||
$('.alert-msg').hide();
|
||||
$('.alert-msg p').text('');
|
||||
}, 3000);
|
||||
$('.btn-register').removeClass('disable');
|
||||
}
|
||||
},
|
||||
failure: function (response) {
|
||||
console.log(5, response);
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -1,72 +1,275 @@
|
||||
|
||||
$('.loading').hide();
|
||||
$(document).ready(function () {
|
||||
|
||||
document.getElementById("MainModal").style.visibility = "visible";
|
||||
$(".dateTime").each(function () {
|
||||
new Cleave(this, {
|
||||
time: true,
|
||||
timePattern: ['h', 'm']
|
||||
});
|
||||
});
|
||||
|
||||
$(".toggle").click(function(){
|
||||
$(".sidebar-navigation").toggleClass("small")
|
||||
// $(".main-wrapper").toggleClass("small");
|
||||
$(".sidebar").toggleClass("active-sidebar-navigation");
|
||||
if (hasCamera && hasGroupWorkshop) {
|
||||
$("#MainModal").modal("hide");
|
||||
}
|
||||
|
||||
$(".header-container").toggleClass("main-wrapper ");
|
||||
$(".header-container").toggleClass("small");
|
||||
if (hasCamera && !hasGroupWorkshop) {
|
||||
$('#ShowAccountMessage').text('شما از قبل اکانت ساخته اید.');
|
||||
$('#step-form1').addClass('disable');
|
||||
$('#step-form1').hide();
|
||||
$('#step-form2').show();
|
||||
$('#prev-step').text('مرحله قبل');
|
||||
$('#next-step').text('ثبت');
|
||||
$('#next-step').attr('onclick', 'registerAccount()');
|
||||
$('#step-2').removeClass('not-step');
|
||||
}
|
||||
|
||||
if (!hasCamera && hasGroupWorkshop) {
|
||||
$('#ShowSettingMessage').text('شما از قبل ساعات کاری را تنظیم کرده اید.');
|
||||
$('#step-form2').addClass('disable');
|
||||
}
|
||||
|
||||
$(".content-container").toggleClass("small");
|
||||
// $(".content-container").toggleClass("");
|
||||
$("#next-step").on("click", function () {
|
||||
$('#step-form1').hide();
|
||||
$('#step-form2').show();
|
||||
$('#prev-step').text('مرحله قبل');
|
||||
$('#next-step').text('ثبت');
|
||||
$('#next-step').attr('onclick', 'registerAccount()');
|
||||
$('#step-2').removeClass('not-step');
|
||||
});
|
||||
|
||||
$('#overlay').toggleClass("overlay");
|
||||
$("#prev-step").on("click", function () {
|
||||
$('#step-form1').show();
|
||||
if ($('#step-form2').is(":hidden")) {
|
||||
$("#MainModal").modal("hide");
|
||||
}
|
||||
$("#next-step").removeAttr("onclick");
|
||||
$('#step-form2').hide();
|
||||
$('#prev-step').text('انصراف');
|
||||
$('#next-step').text('مرحله بعد');
|
||||
$('#step-2').addClass('not-step');
|
||||
});
|
||||
|
||||
$(".btnAddTimeWork").on("click", function () {
|
||||
var currentCount = $('.groupBox').length;
|
||||
|
||||
if (currentCount < 3) {
|
||||
var namePlacement = "";
|
||||
var namePlacementPersian = "";
|
||||
|
||||
switch (currentCount+1) {
|
||||
case 2:
|
||||
namePlacement = "Second";
|
||||
namePlacementPersian = "دوم";
|
||||
break;
|
||||
case 3:
|
||||
namePlacement = "Third";
|
||||
namePlacementPersian = "سوم";
|
||||
break;
|
||||
default:
|
||||
}
|
||||
|
||||
var timeWorkHtml = `
|
||||
<div class="groupBox timeWork">
|
||||
<div class="row align-items-center justify-content-between">
|
||||
<div class="col-2 d-flex align-items-center">
|
||||
<input type="hidden" name="CreateWorkshopSettings.ShiftsList[${currentCount}].Placement" value="${namePlacement}" />
|
||||
<div class="timeWorkTitle">نوبت ${namePlacementPersian}</div>
|
||||
</div>
|
||||
<div class="col-4 d-flex align-items-center">
|
||||
<div class="timeWorkTitle">از</div>
|
||||
<input type="text" class="form-control text-center dateTime" name="CreateWorkshopSettings.ShiftsList[${currentCount}].StartTime" placeholder="00:00" style="direction: ltr;">
|
||||
</div>
|
||||
<div class="col-4 d-flex align-items-center">
|
||||
<div class="timeWorkTitle">الی</div>
|
||||
<input type="text" class="form-control text-center dateTime" name="CreateWorkshopSettings.ShiftsList[${currentCount}].EndTime" placeholder="00:00" style="direction: ltr;">
|
||||
</div>
|
||||
<div class="col-2 d-flex align-items-center justify-content-end">
|
||||
<button type="button" class="btnRemoveTimeWork">
|
||||
<svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<circle cx="11" cy="11" r="8.25" stroke="white"/>
|
||||
<path d="M6.875 11H15.125" stroke="white"/>
|
||||
</svg>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>`;
|
||||
|
||||
$('#appendChildTimeWorkHtml').append(timeWorkHtml);
|
||||
|
||||
new Cleave(`input[name="CreateWorkshopSettings.ShiftsList[${currentCount}].StartTime"]`, {
|
||||
time: true,
|
||||
timePattern: ['h', 'm']
|
||||
});
|
||||
|
||||
new Cleave(`input[name="CreateWorkshopSettings.ShiftsList[${currentCount}].EndTime"]`, {
|
||||
time: true,
|
||||
timePattern: ['h', 'm']
|
||||
});
|
||||
|
||||
updateAddButtonText(currentCount + 1);
|
||||
|
||||
if (currentCount + 1 === 3) {
|
||||
$(".btnAddTimeWork").hide();
|
||||
}
|
||||
}
|
||||
});
|
||||
$(document).on("click", ".btnRemoveTimeWork", function () {
|
||||
$(this).closest(".groupBox").remove();
|
||||
var currentCount = $('.groupBox').length;
|
||||
|
||||
updateAddButtonText(currentCount);
|
||||
|
||||
if (currentCount < 3) {
|
||||
$(".btnAddTimeWork").show();
|
||||
}
|
||||
});
|
||||
});
|
||||
updateAddButtonText(1);
|
||||
function updateAddButtonText(currentCount) {
|
||||
if (currentCount === 1) {
|
||||
$('.btnAppendChildTimeWork').text('افزودن نوبت دوم');
|
||||
} else if (currentCount === 2) {
|
||||
$('.btnAppendChildTimeWork').text('افزودن نوبت سوم');
|
||||
}
|
||||
|
||||
let allFilled = true;
|
||||
$('.dateTime').each(function () {
|
||||
const value = $(this).val().trim();
|
||||
if (value === "" || !timeValidCheck(value)) {
|
||||
allFilled = false;
|
||||
return false; // Break the loop
|
||||
}
|
||||
});
|
||||
|
||||
if (allFilled) {
|
||||
$('.btn-register').removeClass('disable');
|
||||
} else {
|
||||
$('.btn-register').addClass('disable');
|
||||
}
|
||||
}
|
||||
|
||||
//******************** برای نوشتن تاریخ ********************
|
||||
|
||||
//$(document).on('input', ".dateTime", function () {
|
||||
// var value = $(this).val();
|
||||
// $(this).val(convertPersianNumbersToEnglish(value)).mask("00:00");
|
||||
//});
|
||||
|
||||
$(document).on('keyup', ".dateTime", function () {
|
||||
let $input = $(this);
|
||||
let value = $input.val();
|
||||
let lengthValue = value.length;
|
||||
let currentCount = $('.groupBox').length;
|
||||
|
||||
if (lengthValue >= 5) {
|
||||
if (!timeValidCheck(value)) {
|
||||
showAlert('ساعت را به درستی وارد نمائید', $input);
|
||||
updateAddButtonText(currentCount);
|
||||
} else {
|
||||
clearAlert($input);
|
||||
validateAllTimes();
|
||||
updateAddButtonText(currentCount);
|
||||
|
||||
focusNextTimeInput($input);
|
||||
}
|
||||
} else {
|
||||
updateAddButtonText(currentCount);
|
||||
}
|
||||
});
|
||||
|
||||
function focusNextTimeInput(currentInput) {
|
||||
var inputs = $(".dateTime");
|
||||
var currentIndex = inputs.index(currentInput);
|
||||
|
||||
$("#close-sidemenu-mobile").click(function(){
|
||||
$(".sidebar-navigation").toggleClass("small")
|
||||
$(".sidebar").toggleClass("active-sidebar-navigation");
|
||||
if (currentIndex !== -1 && currentIndex < inputs.length - 1) {
|
||||
$(inputs[currentIndex + 1]).focus();
|
||||
}
|
||||
}
|
||||
|
||||
$(".header-container").toggleClass("main-wrapper ");
|
||||
$(".header-container").toggleClass("small");
|
||||
function showAlert(message, inputElement) {
|
||||
inputElement.addClass("errored");
|
||||
$('.alert-msg').show().find('p').text(message);
|
||||
setTimeout(function () {
|
||||
clearAlert(inputElement);
|
||||
}, 3500);
|
||||
}
|
||||
|
||||
function clearAlert(inputElement) {
|
||||
inputElement.removeClass("errored");
|
||||
$('.alert-msg').hide().find('p').text('');
|
||||
}
|
||||
|
||||
$(".content-container").toggleClass("small");
|
||||
function timeValidCheck(value) {
|
||||
const timePattern = /^([01]\d|2[0-3]):([0-5]\d)$/;
|
||||
return timePattern.test(value);
|
||||
}
|
||||
|
||||
$('#overlay').toggleClass("overlay");
|
||||
});
|
||||
function validateAllTimes() {
|
||||
let timeRanges = [];
|
||||
|
||||
$(".groupBox").each(function () {
|
||||
let startTime = $(this).find('input[name*="StartTime"]').val();
|
||||
let endTime = $(this).find('input[name*="EndTime"]').val();
|
||||
|
||||
$("#overlay").click(function(){
|
||||
$(".sidebar-navigation").toggleClass("small")
|
||||
$(".sidebar").toggleClass("active-sidebar-navigation");
|
||||
if (startTime.length === 5 && endTime.length === 5) {
|
||||
let startParts = startTime.split(':');
|
||||
let endParts = endTime.split(':');
|
||||
let startInMinutes = parseInt(startParts[0]) * 60 + parseInt(startParts[1]);
|
||||
let endInMinutes = parseInt(endParts[0]) * 60 + parseInt(endParts[1]);
|
||||
timeRanges.push({ start: startInMinutes, end: endInMinutes });
|
||||
}
|
||||
});
|
||||
|
||||
$(".header-container").toggleClass("main-wrapper ");
|
||||
$(".header-container").toggleClass("small");
|
||||
// Check for conflicts and order
|
||||
for (let i = 0; i < timeRanges.length; i++) {
|
||||
for (let j = 0; j < i; j++) {
|
||||
if (timeRanges[i].start >= timeRanges[i].end) {
|
||||
showAlert('زمان شروع باید قبل از زمان پایان باشد', $(".groupBox").eq(i).find('input[name*="StartTime"]'));
|
||||
return;
|
||||
}
|
||||
|
||||
// Check for overlap with previous entries
|
||||
if (timeRanges[i].start < timeRanges[j].end && timeRanges[i].end > timeRanges[j].start) {
|
||||
showAlert('زمانها نباید تداخل داشته باشند', $(".groupBox").eq(i).find('input[name*="StartTime"]'));
|
||||
return;
|
||||
}
|
||||
// Check if the current start time is before the previous start time
|
||||
if (i > 0 && timeRanges[i].start < timeRanges[i - 1].start) {
|
||||
showAlert('ساعت جدید نباید کوچکتر از ساعتهای قبلی باشد', $(".groupBox").eq(i).find('input[name*="StartTime"]'));
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//function validateAllTimes() {
|
||||
// let timeRanges = [];
|
||||
|
||||
$(".content-container").toggleClass("small");
|
||||
// $(".groupBox").each(function () {
|
||||
// let startTime = $(this).find('input[name*="StartTime"]').val();
|
||||
// let endTime = $(this).find('input[name*="EndTime"]').val();
|
||||
|
||||
$('#overlay').toggleClass("overlay");
|
||||
});
|
||||
// if (startTime.length === 5 && endTime.length === 5) {
|
||||
// let startParts = startTime.split(':');
|
||||
// let endParts = endTime.split(':');
|
||||
// let startInMinutes = parseInt(startParts[0]) * 60 + parseInt(startParts[1]);
|
||||
// let endInMinutes = parseInt(endParts[0]) * 60 + parseInt(endParts[1]);
|
||||
// timeRanges.push({ start: startInMinutes, end: endInMinutes });
|
||||
// }
|
||||
// });
|
||||
|
||||
$(document).ready(function(){
|
||||
if ($(window).width() < 992) {
|
||||
$(".sidebar-navigation").toggleClass("small");
|
||||
// $(".main-wrapper").toggleClass("small");
|
||||
$(".sidebar").toggleClass("active-sidebar-navigation");
|
||||
|
||||
$(".header-container").toggleClass("main-wrapper ");
|
||||
$(".header-container").toggleClass("small");
|
||||
|
||||
|
||||
$(".content-container").toggleClass("small");
|
||||
// $(".content-container").toggleClass("");
|
||||
|
||||
}
|
||||
|
||||
if ($(window).width() > 992){
|
||||
$('#overlay').toggleClass("overlay");
|
||||
}
|
||||
|
||||
});
|
||||
// // Check for conflicts and order
|
||||
// for (let i = 0; i < timeRanges.length; i++) {
|
||||
// if (timeRanges[i].start >= timeRanges[i].end) {
|
||||
// showAlert('زمان شروع باید قبل از زمان پایان باشد', $(".groupBox").eq(i).find('input[name*="StartTime"]'));
|
||||
// return;
|
||||
// }
|
||||
// if (i > 0 && timeRanges[i - 1].end > timeRanges[i].start) {
|
||||
// showAlert('زمانها باید به ترتیب وارد شوند', $(".groupBox").eq(i).find('input[name*="StartTime"]'));
|
||||
// return;
|
||||
// }
|
||||
// }
|
||||
//}
|
||||
|
||||
//******************** برای نوشتن تاریخ ********************
|
||||
|
||||
var eyeShow = $('.eyeShow');
|
||||
var eyeClose = $('.eyeClose');
|
||||
@@ -207,12 +410,12 @@ $(document).ready(function () {
|
||||
});
|
||||
|
||||
|
||||
function save() {
|
||||
function registerAccount() {
|
||||
$.ajax({
|
||||
async: false,
|
||||
dataType: 'json',
|
||||
type: 'POST',
|
||||
url: saveCameraAccountAjax,
|
||||
url: saveCameraAccountAndWorkshopSettingAjax,
|
||||
headers: { "RequestVerificationToken": antiForgeryToken },
|
||||
data: $('#create-form').serialize(),
|
||||
success: function (response) {
|
||||
|
||||
@@ -0,0 +1,248 @@
|
||||
$(document).ready(function () {
|
||||
$(document).on("click", ".btn-cancel2", function () {
|
||||
$('#MainModal').modal('toggle');
|
||||
});
|
||||
|
||||
$(".money").each(function () {
|
||||
new Cleave('.money', {
|
||||
numeral: true,
|
||||
numeralThousandsGroupStyle: 'thousand'
|
||||
});
|
||||
});
|
||||
|
||||
$(".dateTime").each(function () {
|
||||
new Cleave(this, {
|
||||
time: true,
|
||||
timePattern: ['h', 'm']
|
||||
});
|
||||
});
|
||||
|
||||
$(".btnAddTimeWork").on("click", function () {
|
||||
var currentCount = $('.groupBox').length;
|
||||
|
||||
if (currentCount < 3) {
|
||||
var namePlacement = "";
|
||||
var namePlacementPersian = "";
|
||||
|
||||
switch (currentCount + 1) {
|
||||
case 2:
|
||||
namePlacement = "Second";
|
||||
namePlacementPersian = "دوم";
|
||||
break;
|
||||
case 3:
|
||||
namePlacement = "Third";
|
||||
namePlacementPersian = "سوم";
|
||||
break;
|
||||
default:
|
||||
}
|
||||
|
||||
var timeWorkHtml = `
|
||||
<div class="groupBox timeWork">
|
||||
<div class="row align-items-center justify-content-between">
|
||||
<div class="col-3 d-flex align-items-center">
|
||||
<input type="hidden" name="Command.ShiftViewModel[${currentCount}].Placement" value="${namePlacement}" />
|
||||
<div class="timeWorkTitle">نوبت ${namePlacementPersian}</div>
|
||||
</div>
|
||||
<div class="col-4 d-flex align-items-center">
|
||||
<div class="timeWorkTitle">از</div>
|
||||
<input type="text" class="form-control text-center dateTime" name="Command.ShiftViewModel[${currentCount}].StartTime" placeholder="00:00" style="direction: ltr;" />
|
||||
</div>
|
||||
<div class="col-4 d-flex align-items-center">
|
||||
<div class="timeWorkTitle">الی</div>
|
||||
<input type="text" class="form-control text-center dateTime" name="Command.ShiftViewModel[${currentCount}].EndTime" placeholder="00:00" style="direction: ltr;" />
|
||||
</div>
|
||||
<div class="col-1 d-flex align-items-center justify-content-end">
|
||||
<button type="button" class="btnRemoveTimeWork">
|
||||
<svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<circle cx="11" cy="11" r="8.25" stroke="white"/>
|
||||
<path d="M6.875 11H15.125" stroke="white"/>
|
||||
</svg>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>`;
|
||||
|
||||
$('#appendChildTimeWorkHtml').append(timeWorkHtml);
|
||||
|
||||
new Cleave(`input[name="Command.ShiftViewModel[${currentCount}].StartTime"]`, {
|
||||
time: true,
|
||||
timePattern: ['h', 'm']
|
||||
});
|
||||
|
||||
new Cleave(`input[name="Command.ShiftViewModel[${currentCount}].EndTime"]`, {
|
||||
time: true,
|
||||
timePattern: ['h', 'm']
|
||||
});
|
||||
|
||||
updateAddButtonText(currentCount + 1);
|
||||
|
||||
if (currentCount + 1 === 3) {
|
||||
$(".btnAddTimeWork").hide();
|
||||
}
|
||||
}
|
||||
});
|
||||
$(document).on("click", ".btnRemoveTimeWork", function () {
|
||||
$(this).closest(".groupBox").remove();
|
||||
var currentCount = $('.groupBox').length;
|
||||
|
||||
updateAddButtonText(currentCount);
|
||||
|
||||
if (currentCount < 3) {
|
||||
$(".btnAddTimeWork").show();
|
||||
}
|
||||
});
|
||||
});
|
||||
updateAddButtonText(indexShiftViewModel);
|
||||
|
||||
function updateAddButtonText(currentCount) {
|
||||
if (currentCount === 1) {
|
||||
$('.btnAppendChildTimeWork').text('افزودن نوبت دوم');
|
||||
} else if (currentCount === 2) {
|
||||
$('.btnAppendChildTimeWork').text('افزودن نوبت سوم');
|
||||
}
|
||||
|
||||
let allFilled = true;
|
||||
$('.dateTime').each(function () {
|
||||
const value = $(this).val().trim();
|
||||
if (value === "" || !timeValidCheck(value)) {
|
||||
allFilled = false;
|
||||
return false; // Break the loop
|
||||
}
|
||||
});
|
||||
|
||||
if (allFilled) {
|
||||
$('.btn-register').removeClass('disable');
|
||||
} else {
|
||||
$('.btn-register').addClass('disable');
|
||||
}
|
||||
}
|
||||
|
||||
//******************** برای نوشتن تاریخ ********************
|
||||
|
||||
//$(document).on('input', ".dateTime", function () {
|
||||
// var value = $(this).val();
|
||||
// $(this).val(convertPersianNumbersToEnglish(value)).mask("00:00");
|
||||
//});
|
||||
|
||||
$(document).on('keyup', ".dateTime", function () {
|
||||
let $input = $(this);
|
||||
let value = $input.val();
|
||||
let lengthValue = value.length;
|
||||
let currentCount = $('.groupBox').length;
|
||||
|
||||
if (lengthValue >= 5) {
|
||||
if (!timeValidCheck(value)) {
|
||||
showAlert('ساعت را به درستی وارد نمائید', $input);
|
||||
updateAddButtonText(currentCount);
|
||||
} else {
|
||||
clearAlert($input);
|
||||
validateAllTimes();
|
||||
updateAddButtonText(currentCount);
|
||||
|
||||
focusNextTimeInput($input);
|
||||
}
|
||||
} else {
|
||||
updateAddButtonText(currentCount);
|
||||
}
|
||||
});
|
||||
|
||||
function showAlert(message, inputElement) {
|
||||
inputElement.addClass("errored");
|
||||
$('.alert-msg').show().find('p').text(message);
|
||||
setTimeout(function () {
|
||||
clearAlert(inputElement);
|
||||
}, 3500);
|
||||
}
|
||||
|
||||
function clearAlert(inputElement) {
|
||||
inputElement.removeClass("errored");
|
||||
$('.alert-msg').hide().find('p').text('');
|
||||
}
|
||||
|
||||
function timeValidCheck(value) {
|
||||
const timePattern = /^([01]\d|2[0-3]):([0-5]\d)$/; // Validates HH:mm format
|
||||
return timePattern.test(value);
|
||||
}
|
||||
|
||||
function validateAllTimes() {
|
||||
let timeRanges = [];
|
||||
|
||||
$(".groupBox").each(function () {
|
||||
let startTime = $(this).find('input[name*="StartTime"]').val();
|
||||
let endTime = $(this).find('input[name*="EndTime"]').val();
|
||||
|
||||
if (startTime.length === 5 && endTime.length === 5) {
|
||||
let startParts = startTime.split(':');
|
||||
let endParts = endTime.split(':');
|
||||
let startInMinutes = parseInt(startParts[0]) * 60 + parseInt(startParts[1]);
|
||||
let endInMinutes = parseInt(endParts[0]) * 60 + parseInt(endParts[1]);
|
||||
timeRanges.push({ start: startInMinutes, end: endInMinutes });
|
||||
}
|
||||
});
|
||||
|
||||
// Check for conflicts and order
|
||||
for (let i = 0; i < timeRanges.length; i++) {
|
||||
for (let j = 0; j < i; j++) {
|
||||
if (timeRanges[i].start >= timeRanges[i].end) {
|
||||
showAlert('زمان شروع باید قبل از زمان پایان باشد', $(".groupBox").eq(i).find('input[name*="StartTime"]'));
|
||||
return;
|
||||
}
|
||||
|
||||
// Check for overlap with previous entries
|
||||
if (timeRanges[i].start < timeRanges[j].end && timeRanges[i].end > timeRanges[j].start) {
|
||||
showAlert('زمانها نباید تداخل داشته باشند', $(".groupBox").eq(i).find('input[name*="StartTime"]'));
|
||||
return;
|
||||
}
|
||||
// Check if the current start time is before the previous start time
|
||||
if (i > 0 && timeRanges[i].start < timeRanges[i - 1].start) {
|
||||
showAlert('ساعت جدید نباید کوچکتر از ساعتهای قبلی باشد', $(".groupBox").eq(i).find('input[name*="StartTime"]'));
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function focusNextTimeInput(currentInput) {
|
||||
var inputs = $(".dateTime");
|
||||
var currentIndex = inputs.index(currentInput);
|
||||
|
||||
if (currentIndex !== -1 && currentIndex < inputs.length - 1) {
|
||||
$(inputs[currentIndex + 1]).focus();
|
||||
}
|
||||
}
|
||||
|
||||
//******************** برای نوشتن تاریخ ********************
|
||||
|
||||
function ajaxEditEmployeeSaveData() {
|
||||
$.ajax({
|
||||
async: false,
|
||||
dataType: 'json',
|
||||
type: 'POST',
|
||||
url: ajaxEditEmployee,
|
||||
headers: { "RequestVerificationToken": antiForgeryToken },
|
||||
data: $('#edit-employee-form').serialize(),
|
||||
success: function (response) {
|
||||
if (response.success) {
|
||||
$('.alert-success-msg').show();
|
||||
$('.alert-success-msg p').text(response.message);
|
||||
setTimeout(function () {
|
||||
$('.alert-success-msg').hide();
|
||||
$('.alert-success-msg p').text('');
|
||||
$('#btn-register').addClass('disable');
|
||||
$('#MainModal').modal('hide');
|
||||
loadDataAjax();
|
||||
}, 2000);
|
||||
} else {
|
||||
$('.alert-msg').show();
|
||||
$('.alert-msg p').text(response.message);
|
||||
setTimeout(function () {
|
||||
$('.alert-msg').hide();
|
||||
$('.alert-msg p').text('');
|
||||
}, 3500);
|
||||
}
|
||||
},
|
||||
error: function (err) {
|
||||
console.log(err);
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -0,0 +1,296 @@
|
||||
$(document).ready(function () {
|
||||
$(document).on("click", ".btn-cancel2", function () {
|
||||
$('#MainModal').modal('toggle');
|
||||
});
|
||||
|
||||
$(".money").each(function () {
|
||||
new Cleave('.money', {
|
||||
numeral: true,
|
||||
numeralThousandsGroupStyle: 'thousand'
|
||||
});
|
||||
});
|
||||
|
||||
$(".dateTime").each(function () {
|
||||
new Cleave(this, {
|
||||
time: true,
|
||||
timePattern: ['h', 'm']
|
||||
});
|
||||
});
|
||||
|
||||
$("#closeEmployeeIsChange").on("click", function () {
|
||||
$('.overlay-black-modal').hide();
|
||||
$('#submitIsChangeForEmployee').hide();
|
||||
});
|
||||
$(".btnAddTimeWork").on("click", function () {
|
||||
var currentCount = $('.groupBox').length;
|
||||
|
||||
if (currentCount < 3) {
|
||||
var namePlacement = "";
|
||||
var namePlacementPersian = "";
|
||||
|
||||
switch (currentCount + 1) {
|
||||
case 2:
|
||||
namePlacement = "Second";
|
||||
namePlacementPersian = "دوم";
|
||||
break;
|
||||
case 3:
|
||||
namePlacement = "Third";
|
||||
namePlacementPersian = "سوم";
|
||||
break;
|
||||
default:
|
||||
}
|
||||
|
||||
var timeWorkHtml = `
|
||||
<div class="groupBox timeWork">
|
||||
<div class="row align-items-center justify-content-between">
|
||||
<div class="col-3 d-flex align-items-center">
|
||||
<input type="hidden" name="ShiftViewModel[${currentCount}].Placement" value="${namePlacement}" />
|
||||
<div class="timeWorkTitle">نوبت ${namePlacementPersian}</div>
|
||||
</div>
|
||||
<div class="col-4 d-flex align-items-center">
|
||||
<div class="timeWorkTitle">از</div>
|
||||
<input type="text" class="form-control text-center dateTime" name="ShiftViewModel[${currentCount}].StartTime" placeholder="00:00" style="direction: ltr;" />
|
||||
</div>
|
||||
<div class="col-4 d-flex align-items-center">
|
||||
<div class="timeWorkTitle">الی</div>
|
||||
<input type="text" class="form-control text-center dateTime" name="ShiftViewModel[${currentCount}].EndTime" placeholder="00:00" style="direction: ltr;" />
|
||||
</div>
|
||||
<div class="col-1 d-flex align-items-center justify-content-end">
|
||||
<button type="button" class="btnRemoveTimeWork">
|
||||
<svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<circle cx="11" cy="11" r="8.25" stroke="white"/>
|
||||
<path d="M6.875 11H15.125" stroke="white"/>
|
||||
</svg>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>`;
|
||||
|
||||
$('#appendChildTimeWorkHtml').append(timeWorkHtml);
|
||||
|
||||
new Cleave(`input[name="ShiftViewModel[${currentCount}].StartTime"]`, {
|
||||
time: true,
|
||||
timePattern: ['h', 'm']
|
||||
});
|
||||
|
||||
new Cleave(`input[name="ShiftViewModel[${currentCount}].EndTime"]`, {
|
||||
time: true,
|
||||
timePattern: ['h', 'm']
|
||||
});
|
||||
|
||||
updateAddButtonText(currentCount + 1);
|
||||
|
||||
if (currentCount + 1 === 3) {
|
||||
$(".btnAddTimeWork").hide();
|
||||
}
|
||||
}
|
||||
});
|
||||
$(document).on("click", ".btnRemoveTimeWork", function () {
|
||||
$(this).closest(".groupBox").remove();
|
||||
var currentCount = $('.groupBox').length;
|
||||
|
||||
updateAddButtonText(currentCount);
|
||||
|
||||
if (currentCount < 3) {
|
||||
$(".btnAddTimeWork").show();
|
||||
}
|
||||
});
|
||||
});
|
||||
updateAddButtonText(indexShiftViewModel);
|
||||
|
||||
function updateAddButtonText(currentCount) {
|
||||
if (currentCount === 1) {
|
||||
$('.btnAppendChildTimeWork').text('افزودن نوبت دوم');
|
||||
} else if (currentCount === 2) {
|
||||
$('.btnAppendChildTimeWork').text('افزودن نوبت سوم');
|
||||
}
|
||||
|
||||
let allFilled = true;
|
||||
$('.dateTime').each(function () {
|
||||
const value = $(this).val().trim();
|
||||
if (value === "" || !timeValidCheck(value)) {
|
||||
allFilled = false;
|
||||
return false; // Break the loop
|
||||
}
|
||||
});
|
||||
|
||||
if (allFilled) {
|
||||
$('.btn-register').removeClass('disable');
|
||||
} else {
|
||||
$('.btn-register').addClass('disable');
|
||||
}
|
||||
}
|
||||
|
||||
//******************** برای نوشتن تاریخ ********************
|
||||
|
||||
//$(document).on('input', ".dateTime", function () {
|
||||
// var value = $(this).val();
|
||||
// $(this).val(convertPersianNumbersToEnglish(value)).mask("00:00");
|
||||
//});
|
||||
|
||||
$(document).on('keyup', ".dateTime", function () {
|
||||
let $input = $(this);
|
||||
let value = $input.val();
|
||||
let lengthValue = value.length;
|
||||
let currentCount = $('.groupBox').length;
|
||||
|
||||
if (lengthValue >= 5) {
|
||||
if (!timeValidCheck(value)) {
|
||||
showAlert('ساعت را به درستی وارد نمائید', $input);
|
||||
updateAddButtonText(currentCount);
|
||||
} else {
|
||||
clearAlert($input);
|
||||
validateAllTimes();
|
||||
updateAddButtonText(currentCount);
|
||||
|
||||
focusNextTimeInput($input);
|
||||
}
|
||||
} else {
|
||||
updateAddButtonText(currentCount);
|
||||
}
|
||||
});
|
||||
|
||||
function showAlert(message, inputElement) {
|
||||
inputElement.addClass("errored");
|
||||
$('.alert-msg').show().find('p').text(message);
|
||||
setTimeout(function () {
|
||||
clearAlert(inputElement);
|
||||
}, 3500);
|
||||
}
|
||||
|
||||
function clearAlert(inputElement) {
|
||||
inputElement.removeClass("errored");
|
||||
$('.alert-msg').hide().find('p').text('');
|
||||
}
|
||||
|
||||
function timeValidCheck(value) {
|
||||
const timePattern = /^([01]\d|2[0-3]):([0-5]\d)$/; // Validates HH:mm format
|
||||
return timePattern.test(value);
|
||||
}
|
||||
|
||||
function validateAllTimes() {
|
||||
let timeRanges = [];
|
||||
|
||||
$(".groupBox").each(function () {
|
||||
let startTime = $(this).find('input[name*="StartTime"]').val();
|
||||
let endTime = $(this).find('input[name*="EndTime"]').val();
|
||||
|
||||
if (startTime.length === 5 && endTime.length === 5) {
|
||||
let startParts = startTime.split(':');
|
||||
let endParts = endTime.split(':');
|
||||
let startInMinutes = parseInt(startParts[0]) * 60 + parseInt(startParts[1]);
|
||||
let endInMinutes = parseInt(endParts[0]) * 60 + parseInt(endParts[1]);
|
||||
timeRanges.push({ start: startInMinutes, end: endInMinutes });
|
||||
}
|
||||
});
|
||||
|
||||
// Check for conflicts and order
|
||||
for (let i = 0; i < timeRanges.length; i++) {
|
||||
for (let j = 0; j < i; j++) {
|
||||
if (timeRanges[i].start >= timeRanges[i].end) {
|
||||
showAlert('زمان شروع باید قبل از زمان پایان باشد', $(".groupBox").eq(i).find('input[name*="StartTime"]'));
|
||||
return;
|
||||
}
|
||||
|
||||
// Check for overlap with previous entries
|
||||
if (timeRanges[i].start < timeRanges[j].end && timeRanges[i].end > timeRanges[j].start) {
|
||||
showAlert('زمانها نباید تداخل داشته باشند', $(".groupBox").eq(i).find('input[name*="StartTime"]'));
|
||||
return;
|
||||
}
|
||||
// Check if the current start time is before the previous start time
|
||||
if (i > 0 && timeRanges[i].start < timeRanges[i - 1].start) {
|
||||
showAlert('ساعت جدید نباید کوچکتر از ساعتهای قبلی باشد', $(".groupBox").eq(i).find('input[name*="StartTime"]'));
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function focusNextTimeInput(currentInput) {
|
||||
var inputs = $(".dateTime");
|
||||
var currentIndex = inputs.index(currentInput);
|
||||
|
||||
if (currentIndex !== -1 && currentIndex < inputs.length - 1) {
|
||||
$(inputs[currentIndex + 1]).focus();
|
||||
}
|
||||
}
|
||||
|
||||
//******************** برای نوشتن تاریخ ********************
|
||||
|
||||
function loadIsChangeEmployee() {
|
||||
var htmlEmployee = "";
|
||||
var indexEmployee = 1;
|
||||
|
||||
$.ajax({
|
||||
async: false,
|
||||
contentType: 'charset=utf-8',
|
||||
dataType: 'json',
|
||||
type: 'GET',
|
||||
url: ajaxEmployeeIsChangeList,
|
||||
data: { 'groupId': groupId },
|
||||
headers: { "RequestVerificationToken": `${antiForgeryToken}` },
|
||||
success: function (response) {
|
||||
var responseDataEmployee = response.data;
|
||||
|
||||
if (response.success) {
|
||||
console.log(response);
|
||||
|
||||
responseDataEmployee.forEach(function (itemEmployee) {
|
||||
htmlEmployee += `<div class="card-employee">
|
||||
<span>${indexEmployee++}</span>
|
||||
<p>${itemEmployee.name}</p>
|
||||
</div>`;
|
||||
});
|
||||
|
||||
$('#loadIsChangeEmployee').html(htmlEmployee);
|
||||
}
|
||||
},
|
||||
failure: function (response) {
|
||||
console.log(5, response);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function ajaxEditGroupingSaveData() {
|
||||
if (showModalEmployeeIsChange) {
|
||||
loadIsChangeEmployee();
|
||||
$('.overlay-black-modal').show();
|
||||
$('#submitIsChangeForEmployee').show();
|
||||
} else {
|
||||
ajaxSaveSubmit();
|
||||
}
|
||||
}
|
||||
|
||||
function ajaxSaveSubmit() {
|
||||
$.ajax({
|
||||
async: false,
|
||||
dataType: 'json',
|
||||
type: 'POST',
|
||||
url: ajaxEditGroupSave,
|
||||
headers: { "RequestVerificationToken": antiForgeryToken },
|
||||
data: $('#edit-form').serialize(),
|
||||
success: function (response) {
|
||||
if (response.success) {
|
||||
$('.alert-success-msg').show();
|
||||
$('.alert-success-msg p').text(response.message);
|
||||
setTimeout(function () {
|
||||
$('.alert-success-msg').hide();
|
||||
$('.alert-success-msg p').text('');
|
||||
$('#btn-register').addClass('disable');
|
||||
$('#MainModal').modal('hide');
|
||||
loadDataAjax();
|
||||
}, 2000);
|
||||
} else {
|
||||
$('.alert-msg').show();
|
||||
$('.alert-msg p').text(response.message);
|
||||
setTimeout(function () {
|
||||
$('.alert-msg').hide();
|
||||
$('.alert-msg p').text('');
|
||||
}, 3500);
|
||||
}
|
||||
},
|
||||
error: function (err) {
|
||||
console.log(err);
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -0,0 +1,539 @@
|
||||
$(document).ready(function () {
|
||||
$('.form-control-percent').on('keydown', function (e) {
|
||||
const allowedKeys = [
|
||||
'Backspace', 'Tab', 'Escape', 'Enter', 'ArrowLeft', 'ArrowRight',
|
||||
'ArrowUp', 'ArrowDown', 'Delete', 'Home', 'End'
|
||||
];
|
||||
|
||||
if (allowedKeys.includes(e.key) || (e.key === 'a' && (e.ctrlKey || e.metaKey))) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!/^\d$/.test(e.key)) {
|
||||
e.preventDefault();
|
||||
}
|
||||
});
|
||||
|
||||
$(".form-control-currency").each(function () {
|
||||
new Cleave(this, {
|
||||
numeral: true,
|
||||
numeralThousandsGroupStyle: 'thousand'
|
||||
});
|
||||
});
|
||||
|
||||
$(".dateTime").each(function () {
|
||||
new Cleave(this, {
|
||||
time: true,
|
||||
timePattern: ['h', 'm']
|
||||
});
|
||||
});
|
||||
|
||||
//----------------------- Radio Group -----------------------
|
||||
//$('.Sub-Radio, .sub-input').prop('disabled', true);
|
||||
|
||||
$('.Main-Radio').on('change', function () {
|
||||
var $currentGroupContainer = $(this).closest('.group-container');
|
||||
var $currentGroupInput = $(this).closest('.group');
|
||||
|
||||
// Clear previous selections
|
||||
$currentGroupContainer.find('.Sub-Radio').prop('checked', false).prop('disabled', true);
|
||||
$currentGroupContainer.find('.sub-input').val('').prop('disabled', true);
|
||||
$currentGroupInput.find('.sub-input').first().prop('disabled', false).focus();
|
||||
|
||||
// Disable all main checkboxes except the current one
|
||||
$currentGroupContainer.find('.main-checkbox').prop('checked', false);
|
||||
|
||||
var $currentGroup = $(this).closest('.group');
|
||||
|
||||
|
||||
if (!$(this).hasClass('main-checkbox')) {
|
||||
$currentGroupContainer.find('.main-checkbox').prop('checked', false);
|
||||
} else {
|
||||
$currentGroupContainer.find('.main-checkbox').prop('checked', true);
|
||||
$currentGroupContainer.find('.main-checkbox').not(this).prop('checked', false);
|
||||
|
||||
if ($(this).is(':checked')) {
|
||||
$currentGroup.find('.Sub-Radio').prop('disabled', false);
|
||||
|
||||
var $firstSubRadio = $currentGroup.find('.Sub-Radio').first();
|
||||
$firstSubRadio.prop('checked', true);
|
||||
$firstSubRadio.closest('div').find('.sub-input').prop('disabled', false).focus();
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
$('.Sub-Radio').on('change', function () {
|
||||
var $currentSubGroup = $(this).closest('.sub-group');
|
||||
|
||||
$currentSubGroup.find('.sub-input').val('').prop('disabled', true);
|
||||
|
||||
if ($(this).is(':checked')) {
|
||||
// $(this).next('.sub-input').prop('disabled', false);
|
||||
$(this).closest('div').find('.sub-input').prop('disabled', false).focus();
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
$(document).ready(function () {
|
||||
//******************** انتخاب چک باکس ********************
|
||||
$('#AbsentPenaltyAll').on('change', function () {
|
||||
var isChecked = $(this).is(':checked');
|
||||
$('input[name="AbsentPenaltyDays"]').not('#AbsentPenaltyAll').prop('checked', isChecked);
|
||||
});
|
||||
|
||||
$('input[name="AbsentPenaltyDays"]').not('#AbsentPenaltyAll').on('change', function () {
|
||||
var allChecked = $('input[name="AbsentPenaltyDays"]').not('#AbsentPenaltyAll').length ===
|
||||
$('input[name="AbsentPenaltyDays"]:checked').not('#AbsentPenaltyAll').length;
|
||||
$('#AbsentPenaltyAll').prop('checked', allChecked);
|
||||
});
|
||||
//******************** انتخاب چک باکس ********************
|
||||
|
||||
$('.spinner-loading').hide();
|
||||
});
|
||||
|
||||
$(document).ready(function () {
|
||||
$('.current').each(function () {
|
||||
var targetForm = $(this).data('target');
|
||||
$('#' + targetForm).show();
|
||||
});
|
||||
|
||||
$('.sidebarRollCallMenu ul li').click(function () {
|
||||
$('.form-section').hide();
|
||||
|
||||
$('.sidebarRollCallMenu ul li').removeClass('current');
|
||||
|
||||
$(this).addClass('current');
|
||||
$('#rollCallSettingModalHead').text($(this).find('span').text());
|
||||
|
||||
var targetForm = $(this).data('target');
|
||||
|
||||
$('#' + targetForm).show();
|
||||
});
|
||||
|
||||
$(".btnAddTimeWork").on("click", function () {
|
||||
var currentCount = $('.groupBox').length;
|
||||
|
||||
if (currentCount < 3) {
|
||||
var namePlacement = "";
|
||||
var namePlacementPersian = "";
|
||||
|
||||
switch (currentCount + 1) {
|
||||
case 2:
|
||||
namePlacement = "Second";
|
||||
namePlacementPersian = "دوم";
|
||||
break;
|
||||
case 3:
|
||||
namePlacement = "Third";
|
||||
namePlacementPersian = "سوم";
|
||||
break;
|
||||
default:
|
||||
}
|
||||
|
||||
var timeWorkHtml = `
|
||||
<div class="groupBox timeWork">
|
||||
<div class="row align-items-center justify-content-between">
|
||||
<div class="col-2 d-flex align-items-center">
|
||||
<input type="hidden" name="Command.ShiftsList[${currentCount}].Placement" value="${namePlacement}" />
|
||||
<div class="timeWorkTitle">نوبت ${namePlacementPersian}</div>
|
||||
</div>
|
||||
<div class="col-4 d-flex align-items-center">
|
||||
<div class="timeWorkTitle">از</div>
|
||||
<input type="text" class="form-control text-center dateTime" name="Command.ShiftsList[${currentCount}].StartTime" placeholder="00:00" style="direction: ltr;"/>
|
||||
</div>
|
||||
<div class="col-4 d-flex align-items-center">
|
||||
<div class="timeWorkTitle">الی</div>
|
||||
<input type="text" class="form-control text-center dateTime" name="Command.ShiftsList[${currentCount}].EndTime" placeholder="00:00" style="direction: ltr;"/>
|
||||
</div>
|
||||
<div class="col-2 d-flex align-items-center justify-content-end">
|
||||
<button type="button" class="btnRemoveTimeWork">
|
||||
<svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<circle cx="11" cy="11" r="8.25" stroke="white"/>
|
||||
<path d="M6.875 11H15.125" stroke="white"/>
|
||||
</svg>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>`;
|
||||
|
||||
$('#appendChildTimeWorkHtml').append(timeWorkHtml);
|
||||
|
||||
new Cleave(`input[name="Command.ShiftsList[${currentCount}].StartTime"]`, {
|
||||
time: true,
|
||||
timePattern: ['h', 'm']
|
||||
});
|
||||
|
||||
new Cleave(`input[name="Command.ShiftsList[${currentCount}].EndTime"]`, {
|
||||
time: true,
|
||||
timePattern: ['h', 'm']
|
||||
});
|
||||
|
||||
updateAddButtonText(currentCount + 1);
|
||||
|
||||
if (currentCount + 1 === 3) {
|
||||
$(".btnAddTimeWork").hide();
|
||||
}
|
||||
}
|
||||
});
|
||||
$(document).on("click", ".btnRemoveTimeWork", function () {
|
||||
$(this).closest(".groupBox").remove();
|
||||
var currentCount = $('.groupBox').length;
|
||||
|
||||
updateAddButtonText(currentCount);
|
||||
|
||||
if (currentCount < 3) {
|
||||
$(".btnAddTimeWork").show();
|
||||
}
|
||||
});
|
||||
});
|
||||
//updateAddButtonText(1);
|
||||
function updateAddButtonText(currentCount) {
|
||||
if (currentCount === 1) {
|
||||
$('.btnAppendChildTimeWork').text('افزودن نوبت دوم');
|
||||
} else if (currentCount === 2) {
|
||||
$('.btnAppendChildTimeWork').text('افزودن نوبت سوم');
|
||||
}
|
||||
|
||||
let allFilled = true;
|
||||
$('.dateTime').each(function () {
|
||||
const value = $(this).val().trim();
|
||||
if (value === "" || !timeValidCheck(value)) {
|
||||
allFilled = false;
|
||||
return false; // Break the loop
|
||||
}
|
||||
});
|
||||
|
||||
if (allFilled) {
|
||||
$('.btn-register').removeClass('disable');
|
||||
} else {
|
||||
$('.btn-register').addClass('disable');
|
||||
}
|
||||
}
|
||||
|
||||
//******************** برای نوشتن تاریخ ********************
|
||||
|
||||
//$(document).on('input', ".dateTime", function () {
|
||||
// var value = $(this).val();
|
||||
// $(this).val(convertPersianNumbersToEnglish(value)).mask("00:00");
|
||||
//});
|
||||
|
||||
$(document).on('keyup', ".dateTime", function () {
|
||||
let $input = $(this);
|
||||
let value = $input.val();
|
||||
let lengthValue = value.length;
|
||||
let currentCount = $('.groupBox').length;
|
||||
|
||||
if (lengthValue >= 5) {
|
||||
if (!timeValidCheck(value)) {
|
||||
showAlert('ساعت را به درستی وارد نمائید', $input);
|
||||
updateAddButtonText(currentCount);
|
||||
} else {
|
||||
clearAlert($input);
|
||||
validateAllTimes();
|
||||
updateAddButtonText(currentCount);
|
||||
|
||||
focusNextTimeInput($input);
|
||||
}
|
||||
} else {
|
||||
updateAddButtonText(currentCount);
|
||||
}
|
||||
});
|
||||
|
||||
function showAlert(message, inputElement) {
|
||||
inputElement.addClass("errored");
|
||||
$('.alert-msg').show().find('p').text(message);
|
||||
setTimeout(function () {
|
||||
clearAlert(inputElement);
|
||||
}, 3500);
|
||||
}
|
||||
|
||||
function clearAlert(inputElement) {
|
||||
inputElement.removeClass("errored");
|
||||
$('.alert-msg').hide().find('p').text('');
|
||||
}
|
||||
|
||||
function timeValidCheck(value) {
|
||||
const timePattern = /^([01]\d|2[0-3]):([0-5]\d)$/; // Validates HH:mm format
|
||||
return timePattern.test(value);
|
||||
}
|
||||
|
||||
function validateAllTimes() {
|
||||
let timeRanges = [];
|
||||
|
||||
$(".groupBox").each(function () {
|
||||
let startTime = $(this).find('input[name*="StartTime"]').val();
|
||||
let endTime = $(this).find('input[name*="EndTime"]').val();
|
||||
|
||||
if (startTime.length === 5 && endTime.length === 5) {
|
||||
let startParts = startTime.split(':');
|
||||
let endParts = endTime.split(':');
|
||||
let startInMinutes = parseInt(startParts[0]) * 60 + parseInt(startParts[1]);
|
||||
let endInMinutes = parseInt(endParts[0]) * 60 + parseInt(endParts[1]);
|
||||
timeRanges.push({ start: startInMinutes, end: endInMinutes });
|
||||
}
|
||||
});
|
||||
|
||||
// Check for conflicts and order
|
||||
for (let i = 0; i < timeRanges.length; i++) {
|
||||
for (let j = 0; j < i; j++) {
|
||||
if (timeRanges[i].start >= timeRanges[i].end) {
|
||||
showAlert('زمان شروع باید قبل از زمان پایان باشد', $(".groupBox").eq(i).find('input[name*="StartTime"]'));
|
||||
return;
|
||||
}
|
||||
|
||||
// Check for overlap with previous entries
|
||||
if (timeRanges[i].start < timeRanges[j].end && timeRanges[i].end > timeRanges[j].start) {
|
||||
showAlert('زمانها نباید تداخل داشته باشند', $(".groupBox").eq(i).find('input[name*="StartTime"]'));
|
||||
return;
|
||||
}
|
||||
// Check if the current start time is before the previous start time
|
||||
if (i > 0 && timeRanges[i].start < timeRanges[i - 1].start) {
|
||||
showAlert('ساعت جدید نباید کوچکتر از ساعتهای قبلی باشد', $(".groupBox").eq(i).find('input[name*="StartTime"]'));
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function focusNextTimeInput(currentInput) {
|
||||
var inputs = $(".dateTime");
|
||||
var currentIndex = inputs.index(currentInput);
|
||||
|
||||
if (currentIndex !== -1 && currentIndex < inputs.length - 1) {
|
||||
$(inputs[currentIndex + 1]).focus();
|
||||
}
|
||||
}
|
||||
//******************** برای نوشتن تاریخ ********************
|
||||
|
||||
var eyeShow = $('.eyeShow');
|
||||
var eyeClose = $('.eyeClose');
|
||||
var reEyeShow = $('.reEyeShow');
|
||||
var reEyeClose = $('.reEyeClose');
|
||||
eyeShow.show();
|
||||
eyeClose.hide();
|
||||
reEyeShow.show();
|
||||
reEyeClose.hide();
|
||||
|
||||
$(document).on('click', '#accountModalModal button', function () {
|
||||
|
||||
// alert($(this));
|
||||
// $(this).find('input').type ? 'text' : 'password';
|
||||
// document.getElementById('hybrid').type = 'password';
|
||||
$("#accountModalModal button").find('input').attr("type", "text");
|
||||
|
||||
|
||||
// var input=document.getElementById(some-id);
|
||||
// var input2= input.cloneNode(false);
|
||||
// input2.type='password';
|
||||
// input.parentNode.replaceChild(input2,input);
|
||||
});
|
||||
|
||||
function passFunction() {
|
||||
var x = document.getElementById("signupInputPassword");
|
||||
|
||||
if (x.type === "password") {
|
||||
x.type = "text";
|
||||
eyeShow.hide();
|
||||
eyeClose.show();
|
||||
} else {
|
||||
x.type = "password";
|
||||
eyeShow.show();
|
||||
eyeClose.hide();
|
||||
}
|
||||
}
|
||||
|
||||
function rePassFunction() {
|
||||
var x = document.getElementById("repeat_password");
|
||||
|
||||
if (x.type === "password") {
|
||||
x.type = "text";
|
||||
reEyeShow.hide();
|
||||
reEyeClose.show();
|
||||
} else {
|
||||
x.type = "password";
|
||||
reEyeShow.show();
|
||||
reEyeClose.hide();
|
||||
}
|
||||
}
|
||||
|
||||
function passwordCheck(password) {
|
||||
if (password.length >= 8)
|
||||
strength += 1;
|
||||
if (password.match(/(?=.*[0-9])/))
|
||||
strength += 1;
|
||||
if (password.match(/(?=.*[!,%,&,@,#,$,^,*,?,_,~,<,>,])/))
|
||||
strength += 1;
|
||||
if (password.match(/(?=.*[A-Z])/))
|
||||
strength += 1;
|
||||
|
||||
displayBar(strength);
|
||||
}
|
||||
|
||||
function displayBar(strength) {
|
||||
$(".password-strength-group").attr('data-strength', strength);
|
||||
}
|
||||
|
||||
$("#signupInputPassword").keyup(function () {
|
||||
strength = 0;
|
||||
var password = $(this).val();
|
||||
passwordCheck(password);
|
||||
});
|
||||
|
||||
$(document).ready(function () {
|
||||
var typingTimer;
|
||||
var typingInterval = 1500;
|
||||
|
||||
$("#username").on('keyup', function () {
|
||||
clearTimeout(typingTimer);
|
||||
var username = $('#username').val();
|
||||
|
||||
if (username.length >= 6) {
|
||||
$('#successSvg').addClass("d-none");
|
||||
$('#errorSvg').addClass("d-none");
|
||||
$('#loadingSpinner').removeClass("d-none");
|
||||
|
||||
typingTimer = setTimeout(function () {
|
||||
|
||||
$.ajax({
|
||||
async: false,
|
||||
dataType: 'json',
|
||||
type: 'GET',
|
||||
url: checkAccountAjax,
|
||||
data: { username: username },
|
||||
success: function (response) {
|
||||
$('#loadingSpinner').addClass("d-none");
|
||||
|
||||
if (response.success) {
|
||||
$('#errorSvg').addClass("d-none");
|
||||
$('#successSvg').removeClass("d-none");
|
||||
$('.alert-success-msg').show();
|
||||
$('.alert-success-msg p').text(response.message);
|
||||
setTimeout(function () {
|
||||
$('.alert-success-msg').hide();
|
||||
$('.alert-success-msg p').text('');
|
||||
}, 2000);
|
||||
} else {
|
||||
$('#successSvg').addClass("d-none");
|
||||
$('#errorSvg').removeClass("d-none");
|
||||
$('.alert-msg').show();
|
||||
$('.alert-msg p').text(response.message);
|
||||
setTimeout(function () {
|
||||
$('.alert-msg').hide();
|
||||
$('.alert-msg p').text('');
|
||||
}, 2000);
|
||||
}
|
||||
},
|
||||
error: function (err) {
|
||||
$('#loadingSpinner').addClass("d-none");
|
||||
console.log(err);
|
||||
}
|
||||
});
|
||||
}, typingInterval);
|
||||
} else {
|
||||
$('.alert-msg').show();
|
||||
$('.alert-msg p').text("نام کاربری حداقل باید 6 حرف باشد");
|
||||
setTimeout(function () {
|
||||
$('.alert-msg').hide();
|
||||
$('.alert-msg p').text('');
|
||||
}, 4000);
|
||||
$('#loadingSpinner').addClass("d-none");
|
||||
$('#successSvg').addClass("d-none");
|
||||
$('#errorSvg').removeClass("d-none");
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
function registerAccount() {
|
||||
$.ajax({
|
||||
async: false,
|
||||
dataType: 'json',
|
||||
type: 'POST',
|
||||
url: saveCameraAccountAndWorkshopSettingAjax,
|
||||
headers: { "RequestVerificationToken": antiForgeryToken },
|
||||
data: $('#create-form').serialize(),
|
||||
success: function (response) {
|
||||
if (response.success) {
|
||||
$('.alert-success-msg').show();
|
||||
$('.alert-success-msg p').text(response.message);
|
||||
setTimeout(function () {
|
||||
$('.alert-success-msg').hide();
|
||||
$('.alert-success-msg p').text('');
|
||||
}, 3500);
|
||||
window.location.reload();
|
||||
} else {
|
||||
$('.alert-msg').show();
|
||||
$('.alert-msg p').text(response.message);
|
||||
setTimeout(function () {
|
||||
$('.alert-msg').hide();
|
||||
$('.alert-msg p').text('');
|
||||
}, 3500);
|
||||
}
|
||||
},
|
||||
error: function (err) {
|
||||
console.log(err);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
||||
$('#saveRollCallButton').on('click', saveRollCallSettingAjax);
|
||||
function saveRollCallSettingAjax() {
|
||||
var isValid = true;
|
||||
var loading = $('#saveRollCallButton').next('.spinner-loading');
|
||||
|
||||
$('#create-form').find('.sub-input, select').each(function () {
|
||||
if (!$(this).prop('disabled') && !$(this).val()) {
|
||||
isValid = false;
|
||||
$(this).addClass('errored');
|
||||
$('.alert-msg').show();
|
||||
$('.alert-msg p').text('لطفا جای خالی تنظیمات را پر نمائید');
|
||||
setTimeout(function () {
|
||||
$('.alert-msg').hide();
|
||||
$('.alert-msg p').text('');
|
||||
}, 3500);
|
||||
return false;
|
||||
} else {
|
||||
$(this).removeClass('error');
|
||||
}
|
||||
});
|
||||
|
||||
if (!isValid) {
|
||||
return;
|
||||
}
|
||||
|
||||
var data = $('#create-form').serialize();
|
||||
|
||||
$.ajax({
|
||||
async: false,
|
||||
dataType: 'json',
|
||||
type: 'POST',
|
||||
url: saveWorkshopSetting,
|
||||
headers: { "RequestVerificationToken": antiForgeryToken },
|
||||
data: data ,
|
||||
success: function (response) {
|
||||
if (response.isSuccess) {
|
||||
loading.show();
|
||||
$('.alert-success-msg').show();
|
||||
$('.alert-success-msg p').text(response.message);
|
||||
setTimeout(function () {
|
||||
$('.alert-success-msg').hide();
|
||||
$('.alert-success-msg p').text('');
|
||||
loading.hide();
|
||||
}, 3500);
|
||||
} else {
|
||||
$('.alert-msg').show();
|
||||
$('.alert-msg p').text(response.message);
|
||||
setTimeout(function () {
|
||||
$('.alert-msg').hide();
|
||||
$('.alert-msg p').text('');
|
||||
loading.hide();
|
||||
}, 3500);
|
||||
}
|
||||
},
|
||||
error: function (err) {
|
||||
loading.hide();
|
||||
console.log(err);
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -0,0 +1,335 @@
|
||||
$(document).ready(function () {
|
||||
//$('.money').simpleMoneyFormat();
|
||||
//$('.money').on('input', function() {
|
||||
// var value = $(this).val();
|
||||
// value = value.replace(/[^0-9]/g, '');
|
||||
// $(this).val(value);
|
||||
//});
|
||||
|
||||
|
||||
$(document).on("click", ".btn-cancel2", function () {
|
||||
$('#MainModal').modal('toggle');
|
||||
});
|
||||
|
||||
$(".money").each(function () {
|
||||
new Cleave('.money', {
|
||||
numeral: true,
|
||||
numeralThousandsGroupStyle: 'thousand'
|
||||
});
|
||||
});
|
||||
|
||||
$(".dateTime").each(function () {
|
||||
new Cleave(this, {
|
||||
time: true,
|
||||
timePattern: ['h', 'm']
|
||||
});
|
||||
});
|
||||
|
||||
$(".btnAddTimeWork").on("click", function () {
|
||||
var currentCount = $('.groupBox').length;
|
||||
|
||||
if (currentCount < 3) {
|
||||
var namePlacement = "";
|
||||
var namePlacementPersian = "";
|
||||
|
||||
switch (currentCount + 1) {
|
||||
case 2:
|
||||
namePlacement = "Second";
|
||||
namePlacementPersian = "دوم";
|
||||
break;
|
||||
case 3:
|
||||
namePlacement = "Third";
|
||||
namePlacementPersian = "سوم";
|
||||
break;
|
||||
default:
|
||||
}
|
||||
|
||||
var timeWorkHtml = `
|
||||
<div class="groupBox timeWork">
|
||||
<div class="row align-items-center justify-content-between">
|
||||
<div class="col-3 d-flex align-items-center">
|
||||
<input type="hidden" name="ShiftViewModel[${currentCount}].Placement" value="${namePlacement}" />
|
||||
<div class="timeWorkTitle">نوبت ${namePlacementPersian}</div>
|
||||
</div>
|
||||
<div class="col-4 d-flex align-items-center">
|
||||
<div class="timeWorkTitle">از</div>
|
||||
<input type="text" class="form-control text-center dateTime" name="ShiftViewModel[${currentCount}].StartTime" placeholder="00:00" style="direction: ltr;">
|
||||
</div>
|
||||
<div class="col-4 d-flex align-items-center">
|
||||
<div class="timeWorkTitle">الی</div>
|
||||
<input type="text" class="form-control text-center dateTime" name="ShiftViewModel[${currentCount}].EndTime" placeholder="00:00" style="direction: ltr;">
|
||||
</div>
|
||||
<div class="col-1 d-flex align-items-center justify-content-end">
|
||||
<button type="button" class="btnRemoveTimeWork">
|
||||
<svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<circle cx="11" cy="11" r="8.25" stroke="white"/>
|
||||
<path d="M6.875 11H15.125" stroke="white"/>
|
||||
</svg>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>`;
|
||||
|
||||
$('#appendChildTimeWorkHtml').append(timeWorkHtml);
|
||||
|
||||
new Cleave(`input[name="ShiftViewModel[${currentCount}].StartTime"]`, {
|
||||
time: true,
|
||||
timePattern: ['h', 'm']
|
||||
});
|
||||
|
||||
new Cleave(`input[name="ShiftViewModel[${currentCount}].EndTime"]`, {
|
||||
time: true,
|
||||
timePattern: ['h', 'm']
|
||||
});
|
||||
|
||||
updateAddButtonText(currentCount + 1);
|
||||
|
||||
if (currentCount + 1 === 3) {
|
||||
$(".btnAddTimeWork").hide();
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
$(document).on("keyup", ".dateTime", function () {
|
||||
let $input = $(this);
|
||||
let value = $input.val();
|
||||
let lengthValue = value.length;
|
||||
let currentCount = $('.groupBox').length;
|
||||
|
||||
if (lengthValue >= 5) {
|
||||
if (!timeValidCheck(value)) {
|
||||
showAlert('ساعت را به درستی وارد نمائید', $input);
|
||||
updateAddButtonText(currentCount);
|
||||
} else {
|
||||
clearAlert($input);
|
||||
validateAllTimes();
|
||||
updateAddButtonText(currentCount);
|
||||
|
||||
focusNextTimeInput($input);
|
||||
}
|
||||
} else {
|
||||
updateAddButtonText(currentCount);
|
||||
}
|
||||
});
|
||||
|
||||
$(document).on("click", ".btnRemoveTimeWork", function () {
|
||||
$(this).closest(".groupBox").remove();
|
||||
var currentCount = $('.groupBox').length;
|
||||
|
||||
updateAddButtonText(currentCount);
|
||||
|
||||
if (currentCount < 3) {
|
||||
$(".btnAddTimeWork").show();
|
||||
}
|
||||
});
|
||||
});
|
||||
updateAddButtonText(1);
|
||||
|
||||
function updateAddButtonText(currentCount) {
|
||||
if (currentCount === 1) {
|
||||
$('.btnAppendChildTimeWork').text('افزودن نوبت دوم');
|
||||
} else if (currentCount === 2) {
|
||||
$('.btnAppendChildTimeWork').text('افزودن نوبت سوم');
|
||||
}
|
||||
|
||||
let allFilled = true;
|
||||
$('.dateTime').each(function () {
|
||||
const value = $(this).val().trim();
|
||||
if (value === "" || !timeValidCheck(value)) {
|
||||
allFilled = false;
|
||||
return false;
|
||||
}
|
||||
});
|
||||
|
||||
if (allFilled) {
|
||||
$('.btn-register').removeClass('disable');
|
||||
} else {
|
||||
$('.btn-register').addClass('disable');
|
||||
}
|
||||
}
|
||||
|
||||
//******************** برای نوشتن تاریخ ********************
|
||||
|
||||
//$(document).on('input', ".dateTime", function () {
|
||||
// var value = $(this).val();
|
||||
// $(this).val(convertPersianNumbersToEnglish(value)).mask("00:00");
|
||||
//});
|
||||
|
||||
//$(document).on('keyup', ".dateTime", function () {
|
||||
// let $input = $(this);
|
||||
// let value = $input.val();
|
||||
// let lengthValue = value.length;
|
||||
// let currentCount = $('.groupBox').length;
|
||||
|
||||
// if (lengthValue >= 5) {
|
||||
// if (!timeValidCheck(value)) {
|
||||
// showAlert('ساعت را به درستی وارد نمائید', $input);
|
||||
// updateAddButtonText(currentCount);
|
||||
// } else {
|
||||
// clearAlert($input);
|
||||
// validateAllTimes();
|
||||
// updateAddButtonText(currentCount);
|
||||
// }
|
||||
// } else {
|
||||
// updateAddButtonText(currentCount);
|
||||
// }
|
||||
//});
|
||||
|
||||
function showAlert(message, inputElement) {
|
||||
inputElement.addClass("errored");
|
||||
$('.alert-msg').show().find('p').text(message);
|
||||
setTimeout(function () {
|
||||
clearAlert(inputElement);
|
||||
}, 3500);
|
||||
}
|
||||
|
||||
function clearAlert(inputElement) {
|
||||
inputElement.removeClass("errored");
|
||||
$('.alert-msg').hide().find('p').text('');
|
||||
}
|
||||
|
||||
function timeValidCheck(value) {
|
||||
const timePattern = /^([01]\d|2[0-3]):([0-5]\d)$/; // Validates HH:mm format
|
||||
return timePattern.test(value);
|
||||
}
|
||||
|
||||
function validateAllTimes() {
|
||||
//let timeRanges = [];
|
||||
|
||||
//$(".groupBox").each(function () {
|
||||
// let startTime = $(this).find('input[name*="StartTime"]').val();
|
||||
// let endTime = $(this).find('input[name*="EndTime"]').val();
|
||||
|
||||
// if (startTime.length === 5 && endTime.length === 5) {
|
||||
// let startParts = startTime.split(':');
|
||||
// let endParts = endTime.split(':');
|
||||
// let startInMinutes = parseInt(startParts[0]) * 60 + parseInt(startParts[1]);
|
||||
// let endInMinutes = parseInt(endParts[0]) * 60 + parseInt(endParts[1]);
|
||||
// timeRanges.push({ start: startInMinutes, end: endInMinutes });
|
||||
// }
|
||||
//});
|
||||
|
||||
//// Check for conflicts and order
|
||||
//for (let i = 0; i < timeRanges.length; i++) {
|
||||
// for (let j = 0; j < i; j++) {
|
||||
// if (timeRanges[i].start >= timeRanges[i].end) {
|
||||
// showAlert('زمان شروع باید قبل از زمان پایان باشد', $(".groupBox").eq(i).find('input[name*="StartTime"]'));
|
||||
// return;
|
||||
// }
|
||||
|
||||
// // Check for overlap with previous entries
|
||||
// if (timeRanges[i].start < timeRanges[j].end && timeRanges[i].end > timeRanges[j].start) {
|
||||
// showAlert('زمانها نباید تداخل داشته باشند', $(".groupBox").eq(i).find('input[name*="StartTime"]'));
|
||||
// return;
|
||||
// }
|
||||
// // Check if the current start time is before the previous start time
|
||||
// if (i > 0 && timeRanges[i].start < timeRanges[i - 1].start) {
|
||||
// showAlert('ساعت جدید نباید کوچکتر از ساعتهای قبلی باشد', $(".groupBox").eq(i).find('input[name*="StartTime"]'));
|
||||
// return;
|
||||
// }
|
||||
// }
|
||||
//}
|
||||
|
||||
let timeRanges = [];
|
||||
|
||||
$(".groupBox").each(function () {
|
||||
let startTime = $(this).find('input[name*="StartTime"]').val();
|
||||
let endTime = $(this).find('input[name*="EndTime"]').val();
|
||||
|
||||
if (startTime.length === 5 && endTime.length === 5) {
|
||||
let startParts = startTime.split(':');
|
||||
let endParts = endTime.split(':');
|
||||
let startInMinutes = parseInt(startParts[0]) * 60 + parseInt(startParts[1]);
|
||||
let endInMinutes = parseInt(endParts[0]) * 60 + parseInt(endParts[1]);
|
||||
timeRanges.push({ start: startInMinutes, end: endInMinutes });
|
||||
}
|
||||
});
|
||||
|
||||
// Check for conflicts and order
|
||||
for (let i = 0; i < timeRanges.length; i++) {
|
||||
for (let j = 0; j < i; j++) {
|
||||
if (timeRanges[i].start >= timeRanges[i].end) {
|
||||
showAlert('زمان شروع باید قبل از زمان پایان باشد', $(".groupBox").eq(i).find('input[name*="StartTime"]'));
|
||||
return;
|
||||
}
|
||||
|
||||
// Check for overlap with previous entries
|
||||
if (timeRanges[i].start < timeRanges[j].end && timeRanges[i].end > timeRanges[j].start) {
|
||||
showAlert('زمانها نباید تداخل داشته باشند', $(".groupBox").eq(i).find('input[name*="StartTime"]'));
|
||||
return;
|
||||
}
|
||||
|
||||
// Check if the current shift is earlier than the previous one
|
||||
if (i === 1 && timeRanges[i].start < timeRanges[0].end) {
|
||||
showAlert('نوبت دوم نباید قبل از نوبت اول باشد', $(".groupBox").eq(i).find('input[name*="StartTime"]'));
|
||||
return;
|
||||
}
|
||||
if (i === 2 && timeRanges[i].start < timeRanges[1].end) {
|
||||
showAlert('نوبت سوم نباید قبل از نوبت دوم باشد', $(".groupBox").eq(i).find('input[name*="StartTime"]'));
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function focusNextTimeInput(currentInput) {
|
||||
var inputs = $(".dateTime");
|
||||
var currentIndex = inputs.index(currentInput);
|
||||
|
||||
if (currentIndex !== -1 && currentIndex < inputs.length - 1) {
|
||||
$(inputs[currentIndex + 1]).focus();
|
||||
}
|
||||
}
|
||||
|
||||
//******************** برای نوشتن تاریخ ********************
|
||||
|
||||
function ajaxSaveData() {
|
||||
let hasError = false;
|
||||
|
||||
if ($('#Name').val() === '') {
|
||||
showAlert('فیلد نام گروه خالی است! لطفاً نام گروه را وارد کنید', $("#Name"));
|
||||
hasError = true;
|
||||
}
|
||||
|
||||
if ($('#Salary').val() === '') {
|
||||
showAlert('فیلد حقوق خالی است! لطفاً مقداری وارد کنید', $("#Salary"));
|
||||
hasError = true;
|
||||
}
|
||||
|
||||
if (hasError) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
$.ajax({
|
||||
async: false,
|
||||
dataType: 'json',
|
||||
type: 'POST',
|
||||
url: ajaxCreateGroup,
|
||||
headers: { "RequestVerificationToken": antiForgeryToken },
|
||||
data: $('#create-form').serialize(),
|
||||
success: function (response) {
|
||||
if (response.success) {
|
||||
$('.alert-success-msg').show();
|
||||
$('.alert-success-msg p').text(response.message);
|
||||
setTimeout(function () {
|
||||
$('.alert-success-msg').hide();
|
||||
$('.alert-success-msg p').text('');
|
||||
$('#btn-register').addClass('disable');
|
||||
$('#MainModal').modal('hide');
|
||||
loadDataAjax();
|
||||
}, 2000);
|
||||
} else {
|
||||
$('.alert-msg').show();
|
||||
$('.alert-msg p').text(response.message);
|
||||
setTimeout(function () {
|
||||
$('.alert-msg').hide();
|
||||
$('.alert-msg p').text('');
|
||||
}, 3500);
|
||||
}
|
||||
},
|
||||
error: function (err) {
|
||||
console.log(err);
|
||||
}
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user