add customize workshop settings and childern
This commit is contained in:
@@ -1370,5 +1370,38 @@ public static class Tools
|
||||
{
|
||||
return date == new DateTime(2121, 03, 21);
|
||||
}
|
||||
|
||||
public static bool ArePropertiesEqual<T>(this T obj1, T obj2)
|
||||
{
|
||||
// If either object is null, they can't be equal
|
||||
if (obj1 == null || obj2 == null)
|
||||
return false;
|
||||
|
||||
// Get the type of the objects
|
||||
var type = typeof(T);
|
||||
|
||||
// Iterate through each property
|
||||
foreach (var property in type.GetProperties())
|
||||
{
|
||||
// Get the values of the current property for both objects
|
||||
var value1 = property.GetValue(obj1);
|
||||
var value2 = property.GetValue(obj2);
|
||||
|
||||
// If both values are null, they are considered equal
|
||||
if (value1 == null && value2 == null)
|
||||
continue;
|
||||
|
||||
// If one value is null, but the other isn't, they are not equal
|
||||
if (value1 == null || value2 == null)
|
||||
return false;
|
||||
|
||||
// If values are not equal, return false
|
||||
if (!value1.Equals(value2))
|
||||
return false;
|
||||
}
|
||||
|
||||
// If all properties are equal, return true
|
||||
return true;
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
@@ -10,9 +10,9 @@ public static class Version
|
||||
{
|
||||
static Version()
|
||||
{
|
||||
StyleVersion = "2.12.19";
|
||||
AdminVersion = "2.5.39";
|
||||
CameraVersion = "1.0.9";
|
||||
StyleVersion = "2.12.22";
|
||||
AdminVersion = "2.5.42";
|
||||
CameraVersion = "1.0.12";
|
||||
}
|
||||
|
||||
public static string StyleVersion { get; set; }
|
||||
|
||||
@@ -2,20 +2,41 @@
|
||||
|
||||
public class BaseYearsPay
|
||||
{
|
||||
public BaseYearsPay(BaseYearsPayType baseYearsPayType)
|
||||
public BaseYearsPay(BaseYearsPayType baseYearsPayType, double value, BaseYearsPaymentType paymentType)
|
||||
{
|
||||
BaseYearsPayType = baseYearsPayType;
|
||||
Value = value;
|
||||
PaymentType = paymentType;
|
||||
}
|
||||
|
||||
private BaseYearsPay()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public BaseYearsPayType BaseYearsPayType { get; private set; }
|
||||
public double Value { get; set; }
|
||||
public BaseYearsPaymentType PaymentType { get; set; }
|
||||
public double Value { get; private set; }
|
||||
public BaseYearsPaymentType PaymentType { get; private set; }
|
||||
}
|
||||
|
||||
|
||||
|
||||
public enum BaseYearsPayType
|
||||
{
|
||||
/// <summary>
|
||||
///محاسبه نمیشود
|
||||
/// </summary>
|
||||
None,
|
||||
|
||||
/// <summary>
|
||||
/// به صورت درصدی از حقوق
|
||||
/// </summary>
|
||||
PercentageOfSalary,
|
||||
/// <summary>
|
||||
/// مبلغ اختصاصی برای سنوات
|
||||
/// </summary>
|
||||
Money
|
||||
}
|
||||
public enum BaseYearsPaymentType
|
||||
{
|
||||
/// <summary>
|
||||
@@ -30,31 +51,5 @@ public enum BaseYearsPaymentType
|
||||
/// پرداخت به صورت ماهانه
|
||||
/// </summary>
|
||||
MonthlyPay
|
||||
}
|
||||
|
||||
public enum BaseYearsPayType
|
||||
{
|
||||
/// <summary>
|
||||
///محاسبه نمیشود
|
||||
/// </summary>
|
||||
None,
|
||||
|
||||
/// <summary>
|
||||
/// به صورت درصدی از حقوق
|
||||
/// </summary>
|
||||
PercentageOfSalary,
|
||||
|
||||
/// <summary>
|
||||
/// دوبرابر حقوق
|
||||
/// </summary>
|
||||
TwoTimeOfSalary,
|
||||
|
||||
/// <summary>
|
||||
/// یک برابر حقوق
|
||||
/// </summary>
|
||||
OneTimeOfSalary,
|
||||
/// <summary>
|
||||
/// مبلغ اختصاصی برای سنوات
|
||||
/// </summary>
|
||||
Money
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
namespace _0_Framework.Domain.CustomizeCheckoutValueObjects;
|
||||
|
||||
public enum BaseYearsPayInEndOfYear
|
||||
{
|
||||
/// <summary>
|
||||
/// همیشه آخر سال
|
||||
/// </summary>
|
||||
EndOfYear,
|
||||
/// <summary>
|
||||
/// در زمان ترک کار هم تعلق میگیرد
|
||||
/// </summary>
|
||||
WhenEverEmployeeLeftWork
|
||||
}
|
||||
@@ -2,10 +2,12 @@
|
||||
|
||||
public class BonusesPay
|
||||
{
|
||||
public BonusesPay(BonusesType bonusesPayType, int percentage)
|
||||
public BonusesPay(BonusesType bonusesPayType, double value, BonusesPaymentType paymentType)
|
||||
{
|
||||
BonusesPayType = bonusesPayType;
|
||||
Value = percentage;
|
||||
Value = value;
|
||||
PaymentType = paymentType;
|
||||
|
||||
}
|
||||
|
||||
private BonusesPay()
|
||||
@@ -23,9 +25,13 @@ public class BonusesPay
|
||||
/// <summary>
|
||||
/// نوع پرداخت برای عیدی
|
||||
/// </summary>
|
||||
public BonusesPaymentType PaymentType { get; set; }
|
||||
public BonusesPaymentType PaymentType { get; private set; }
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
public enum BonusesPaymentType
|
||||
{
|
||||
/// <summary>
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
namespace _0_Framework.Domain.CustomizeCheckoutValueObjects;
|
||||
|
||||
public enum BonusesPaysInEndOfYear
|
||||
{
|
||||
/// <summary>
|
||||
/// همیشه آخر سال
|
||||
/// </summary>
|
||||
EndOfYear,
|
||||
/// <summary>
|
||||
/// در زمان ترک کار هم تعلق میگیرد
|
||||
/// </summary>
|
||||
WhenEverEmployeeLeftWork
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
namespace _0_Framework.Domain.CustomizeCheckoutValueObjects;
|
||||
|
||||
public enum FridayWork
|
||||
{
|
||||
/// <summary>
|
||||
/// حالت عادی به این معناست که پرسنل ها در روز های جمعه سرکار نمیروند
|
||||
/// </summary>
|
||||
Default,
|
||||
/// <summary>
|
||||
/// در روز های جمعه کار میکنند
|
||||
/// </summary>
|
||||
WorkInFriday
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
namespace _0_Framework.Domain.CustomizeCheckoutValueObjects;
|
||||
|
||||
public enum HolidayWork
|
||||
{
|
||||
/// <summary>
|
||||
/// حالت عادی به این معناست که پرسنل ها در روز های تعطیل سرکار نمیروند
|
||||
/// </summary>
|
||||
Default,
|
||||
/// <summary>
|
||||
/// در روز های تعطیل کار میکنند
|
||||
/// </summary>
|
||||
WorkInHolidays
|
||||
}
|
||||
@@ -32,7 +32,7 @@ public enum LeavePayType
|
||||
/// </summary>
|
||||
None,
|
||||
/// <summary>
|
||||
/// پرداخت میشود
|
||||
/// پرداخت میشود و چند برابر فیش حقوقی است
|
||||
/// </summary>
|
||||
Pay,
|
||||
|
||||
|
||||
@@ -10,8 +10,8 @@ public enum MaxMonthDays
|
||||
/// تمامی ماه ها 30 روزه حساب شوند
|
||||
/// </summary>
|
||||
ThirtyDaysForAllMonth,
|
||||
///// <summary>
|
||||
///// تمامی ماه ها 30 روزه حساب شوند ولی اسفند 29 روزه
|
||||
///// </summary>
|
||||
//ThirtyDaysForAllMonthExceptEsfand
|
||||
/// <summary>
|
||||
/// تمامی ماه ها 30 روزه حساب شوند ولی اسفند 29 روزه
|
||||
/// </summary>
|
||||
ThirtyDaysForAllMonthExceptEsfand
|
||||
}
|
||||
@@ -26,7 +26,7 @@ public interface ITaskRepository:IRepository<long,Tasks>
|
||||
int GetRequestedTasksCount();
|
||||
EditTask GetRequestDetails(long id);
|
||||
string GetWebEnvironmentPath();
|
||||
bool HasOverdueTasks();
|
||||
bool HasOverdueTasks(long userId);
|
||||
int OverdueTasksCount(long userId);
|
||||
|
||||
|
||||
|
||||
@@ -1711,9 +1711,9 @@ public class TaskRepository : RepositoryBase<long, Tasks>, ITaskRepository
|
||||
return _webHostEnvironment.ContentRootPath;
|
||||
}
|
||||
|
||||
public bool HasOverdueTasks()
|
||||
public bool HasOverdueTasks(long userId)
|
||||
{
|
||||
var userId = _authHelper.CurrentAccountId();
|
||||
|
||||
var nowDate = DateTime.Now.Date;
|
||||
var hasOverDueTask = _accountContext.Assigns.Any(x => x.AssignedId == userId && x.EndTaskDate.Date < nowDate && !x.IsCancel &&
|
||||
!x.IsCanceledRequest && !x.IsDone
|
||||
|
||||
@@ -37,8 +37,10 @@ public class CustomizeWorkshopEmployeeSettings : EntityBase
|
||||
Salary = salary;
|
||||
CustomizeWorkshopGroupSettingId = customizeWorkshopGroupSettingId;
|
||||
CustomizeWorkshopEmployeeSettingsShifts = customizeWorkshopEmployeeSettingsShifts;
|
||||
MarriedAllowance = marriedAllowance;
|
||||
ShiftPay= shiftPay;
|
||||
IsChanged = false;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// جمعه کاری
|
||||
@@ -105,7 +107,15 @@ public class CustomizeWorkshopEmployeeSettings : EntityBase
|
||||
/// </summary>
|
||||
public EarlyExit EarlyExit { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// آیا جمعه کار میکند یا نه
|
||||
/// </summary>
|
||||
public FridayWork FridayWork { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// آیا در روز های تعطیل کار میکند
|
||||
/// </summary>
|
||||
public HolidayWork HolidayWork { get; set; }
|
||||
|
||||
|
||||
|
||||
@@ -142,11 +152,13 @@ public class CustomizeWorkshopEmployeeSettings : EntityBase
|
||||
/// <param name="fineAbsenceDeduction">جریمه غیبت</param>
|
||||
/// <param name="lateToWork">تاخیر در ورود</param>
|
||||
/// <param name="earlyExit">تعجیل درخروج</param>
|
||||
/// <param name="fridayWork">آیا در روز های جمعه موظف به کار است</param>
|
||||
/// <param name="holidayWork">آیا در تعطیلات رسمی موظف به کار است</param>
|
||||
internal void EditEmployeesAndMakeIsChangeFalse(
|
||||
ICollection<CustomizeWorkshopEmployeeSettingsShift> employeeSettingsShifts, double salary, FridayPay fridayPay, OverTimePay overTimePay, BaseYearsPay baseYearsPay, BonusesPay bonusesPay,
|
||||
NightWorkPay nightWorkPay, MarriedAllowance marriedAllowance, ShiftPay shiftPay,
|
||||
FamilyAllowance familyAllowance, LeavePay leavePay, InsuranceDeduction insuranceDeduction,
|
||||
FineAbsenceDeduction fineAbsenceDeduction, LateToWork lateToWork, EarlyExit earlyExit)
|
||||
FineAbsenceDeduction fineAbsenceDeduction, LateToWork lateToWork, EarlyExit earlyExit, FridayWork fridayWork, HolidayWork holidayWork)
|
||||
{
|
||||
FridayPay = fridayPay;
|
||||
OverTimePay = overTimePay;
|
||||
@@ -162,6 +174,8 @@ public class CustomizeWorkshopEmployeeSettings : EntityBase
|
||||
LateToWork = lateToWork;
|
||||
EarlyExit = earlyExit;
|
||||
Salary = salary;
|
||||
FridayWork = fridayWork;
|
||||
HolidayWork = holidayWork;
|
||||
CustomizeWorkshopEmployeeSettingsShifts = employeeSettingsShifts;
|
||||
IsChanged = false;
|
||||
}
|
||||
@@ -185,11 +199,13 @@ public class CustomizeWorkshopEmployeeSettings : EntityBase
|
||||
/// <param name="fineAbsenceDeduction">جریمه غیبت</param>
|
||||
/// <param name="lateToWork">تاخیر در ورود</param>
|
||||
/// <param name="earlyExit">تعجیل درخروج</param>
|
||||
/// <param name="fridayWork">آیا در روز های جمعه موظف به کار است</param>
|
||||
/// <param name="holidayWork">آیا در تعطیلات رسمی موظف به کار است</param>
|
||||
public void EditEmployeesAndMakeIsChangeTrue(
|
||||
ICollection<CustomizeWorkshopEmployeeSettingsShift> employeeSettingsShifts, double salary, FridayPay fridayPay, OverTimePay overTimePay, BaseYearsPay baseYearsPay, BonusesPay bonusesPay,
|
||||
NightWorkPay nightWorkPay, MarriedAllowance marriedAllowance, ShiftPay shiftPay,
|
||||
FamilyAllowance familyAllowance, LeavePay leavePay, InsuranceDeduction insuranceDeduction,
|
||||
FineAbsenceDeduction fineAbsenceDeduction, LateToWork lateToWork, EarlyExit earlyExit)
|
||||
FineAbsenceDeduction fineAbsenceDeduction, LateToWork lateToWork, EarlyExit earlyExit,FridayWork fridayWork,HolidayWork holidayWork)
|
||||
{
|
||||
FridayPay = fridayPay;
|
||||
OverTimePay = overTimePay;
|
||||
@@ -207,6 +223,25 @@ public class CustomizeWorkshopEmployeeSettings : EntityBase
|
||||
Salary = salary;
|
||||
CustomizeWorkshopEmployeeSettingsShifts = employeeSettingsShifts;
|
||||
IsChanged = true;
|
||||
FridayWork = fridayWork;
|
||||
HolidayWork = holidayWork;
|
||||
}
|
||||
|
||||
public void SimpleEditAndMakeIsChangeFalse(ICollection<CustomizeWorkshopEmployeeSettingsShift> employeeSettingsShift, double salary)
|
||||
{
|
||||
CustomizeWorkshopEmployeeSettingsShifts = employeeSettingsShift;
|
||||
Salary = salary;
|
||||
IsChanged = false;
|
||||
}
|
||||
|
||||
#region Vafa
|
||||
|
||||
public void SimpleEditEmployeesAndMakeIsChangeTrue(ICollection<CustomizeWorkshopEmployeeSettingsShift> employeeSettingsShifts, double salary)
|
||||
{
|
||||
Salary = salary;
|
||||
CustomizeWorkshopEmployeeSettingsShifts = employeeSettingsShifts;
|
||||
IsChanged = true;
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
@@ -1,16 +1,25 @@
|
||||
using _0_Framework.Domain;
|
||||
using CompanyManagment.App.Contracts.CustomizeWorkshopSettings;
|
||||
using System;
|
||||
|
||||
namespace Company.Domain.CustomizeWorkshopEmployeeSettingsAgg.Entities;
|
||||
|
||||
public class CustomizeWorkshopEmployeeSettingsShift(
|
||||
string startTime,
|
||||
string endTime,
|
||||
ShiftPlacement placement) : EntityBase
|
||||
public class CustomizeWorkshopEmployeeSettingsShift : EntityBase
|
||||
{
|
||||
public string StartTime { get; private set; } = startTime;
|
||||
public string EndTime { get; private set; } = endTime;
|
||||
public ShiftPlacement Placement { get; private set; } = placement;
|
||||
private CustomizeWorkshopEmployeeSettingsShift()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public CustomizeWorkshopEmployeeSettingsShift(TimeOnly startTime, TimeOnly endTime, ShiftPlacement placement)
|
||||
{
|
||||
Placement = placement;
|
||||
StartTime = startTime;
|
||||
EndTime = endTime;
|
||||
}
|
||||
public TimeOnly StartTime { get; private set; }
|
||||
public TimeOnly EndTime { get; private set; }
|
||||
public ShiftPlacement Placement { get; private set; }
|
||||
|
||||
public long CustomizeWorkshopEmployeeSettingsId { get; private set; }
|
||||
|
||||
|
||||
@@ -1,9 +1,11 @@
|
||||
using _0_Framework.Domain;
|
||||
using Company.Domain.CustomizeWorkshopEmployeeSettingsAgg.Entities;
|
||||
using CompanyManagment.App.Contracts.CustomizeWorkshopSettings;
|
||||
|
||||
namespace Company.Domain.CustomizeWorkshopEmployeeSettingsAgg;
|
||||
|
||||
public interface ICustomizeWorkshopEmployeeSettingsRepository : IRepository<long, CustomizeWorkshopEmployeeSettings>
|
||||
{
|
||||
|
||||
EditCustomizeEmployeeSettings GetCustomizeEmployeeSettingsDetails(long customizeEmployeeId);
|
||||
CustomizeWorkshopEmployeeSettings GetByEmployeeIdGroupSettingsId(long workshopId, long employeeId);
|
||||
}
|
||||
@@ -1,4 +1,5 @@
|
||||
using System.Collections.Generic;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using _0_Framework.Domain;
|
||||
using _0_Framework.Domain.CustomizeCheckoutValueObjects;
|
||||
@@ -13,27 +14,31 @@ public class CustomizeWorkshopGroupSettings : EntityBase
|
||||
{
|
||||
}
|
||||
|
||||
public CustomizeWorkshopGroupSettings( string groupName, double salary, long customizeWorkshopSettingId, ICollection<CustomizeWorkshopGroupSettingsShift> customizeWorkshopGroupSettingsShifts)
|
||||
public CustomizeWorkshopGroupSettings( string groupName, double salary, long customizeWorkshopSettingId,
|
||||
ICollection<CustomizeWorkshopGroupSettingsShift> customizeWorkshopGroupSettingsShifts,FridayPay fridayPay,OverTimePay overTimePay,
|
||||
BaseYearsPay baseYearsPay,BonusesPay bonusesPay,NightWorkPay nightWorkPay,MarriedAllowance marriedAllowance,ShiftPay shiftPay,
|
||||
FamilyAllowance familyAllowance,LeavePay leavePay,InsuranceDeduction insuranceDeduction,FineAbsenceDeduction fineAbsenceDeduction,LateToWork lateToWork,EarlyExit earlyExit,
|
||||
FridayWork fridayWork,HolidayWork holidayWork)
|
||||
{
|
||||
GroupName = groupName;
|
||||
Salary = salary;
|
||||
CustomizeWorkshopSettingId = customizeWorkshopSettingId;
|
||||
CustomizeWorkshopGroupSettingsShifts = customizeWorkshopGroupSettingsShifts;
|
||||
FridayPay = new FridayPay(FridayPayType.None, 0);
|
||||
OverTimePay = new OverTimePay(OverTimePayType.None, 0);
|
||||
BaseYearsPay = new BaseYearsPay(BaseYearsPayType.None);
|
||||
BonusesPay = new BonusesPay(BonusesType.None, 0);
|
||||
NightWorkPay = new NightWorkPay(NightWorkType.None, 0);
|
||||
MarriedAllowance = new MarriedAllowance(MarriedAllowanceType.None, 0);
|
||||
ShiftPay = new ShiftPay(ShiftType.None, ShiftPayType.None, 0);
|
||||
FamilyAllowance = new FamilyAllowance(FamilyAllowanceType.None, 0);
|
||||
LeavePay = new LeavePay(LeavePayType.None, 0);
|
||||
InsuranceDeduction = new InsuranceDeduction(InsuranceDeductionType.None, 0);
|
||||
FineAbsenceDeduction = new FineAbsenceDeduction(FineAbsenceDeductionType.None, 0, new());
|
||||
LateToWork = new LateToWork(LateToWorkType.None, new(), 0);
|
||||
EarlyExit = new EarlyExit(EarlyExitType.None, new(), 0);
|
||||
|
||||
|
||||
FridayPay = fridayPay;
|
||||
OverTimePay = overTimePay;
|
||||
BaseYearsPay = baseYearsPay;
|
||||
BonusesPay = bonusesPay;
|
||||
NightWorkPay = nightWorkPay;
|
||||
MarriedAllowance = marriedAllowance;
|
||||
ShiftPay = shiftPay;
|
||||
FamilyAllowance = familyAllowance;
|
||||
LeavePay = leavePay;
|
||||
InsuranceDeduction = insuranceDeduction;
|
||||
FineAbsenceDeduction = fineAbsenceDeduction;
|
||||
LateToWork = lateToWork;
|
||||
EarlyExit = earlyExit;
|
||||
FridayWork = fridayWork;
|
||||
HolidayWork = holidayWork;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -101,7 +106,15 @@ public class CustomizeWorkshopGroupSettings : EntityBase
|
||||
/// </summary>
|
||||
public EarlyExit EarlyExit { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// آیا جمعه کار میکند یا نه
|
||||
/// </summary>
|
||||
public FridayWork FridayWork { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// آیا در روز های تعطیل کار میکند
|
||||
/// </summary>
|
||||
public HolidayWork HolidayWork { get; set; }
|
||||
|
||||
public string GroupName { get; private set; }
|
||||
public double Salary { get; private set; }
|
||||
@@ -116,7 +129,7 @@ public class CustomizeWorkshopGroupSettings : EntityBase
|
||||
OverTimePay overTimePay, BaseYearsPay baseYearsPay, BonusesPay bonusesPay, ShiftPay shiftPay,
|
||||
NightWorkPay nightWorkPay, MarriedAllowance marriedAllowance, FamilyAllowance familyAllowance,
|
||||
LeavePay leavePay, InsuranceDeduction insuranceDeduction, FineAbsenceDeduction fineAbsenceDeduction,
|
||||
LateToWork lateToWork, EarlyExit earlyExit,ICollection<CustomizeWorkshopGroupSettingsShift> customizeWorkshopGroupSettingsShifts)
|
||||
LateToWork lateToWork, EarlyExit earlyExit,ICollection<CustomizeWorkshopGroupSettingsShift> customizeWorkshopGroupSettingsShifts,FridayWork fridayWork,HolidayWork holidayWork)
|
||||
{
|
||||
GroupName = groupName;
|
||||
Salary = salary;
|
||||
@@ -133,6 +146,8 @@ public class CustomizeWorkshopGroupSettings : EntityBase
|
||||
FineAbsenceDeduction = fineAbsenceDeduction;
|
||||
LateToWork = lateToWork;
|
||||
EarlyExit = earlyExit;
|
||||
FridayWork = fridayWork;
|
||||
HolidayWork = holidayWork;
|
||||
CustomizeWorkshopGroupSettingsShifts = customizeWorkshopGroupSettingsShifts;
|
||||
var employeeSettingsShift = customizeWorkshopGroupSettingsShifts
|
||||
.Select(x=>new CustomizeWorkshopEmployeeSettingsShift(x.StartTime,x.EndTime,x.Placement)).ToList();
|
||||
@@ -142,7 +157,7 @@ public class CustomizeWorkshopGroupSettings : EntityBase
|
||||
{
|
||||
item.EditEmployeesAndMakeIsChangeFalse(employeeSettingsShift, salary, fridayPay, overTimePay, baseYearsPay, bonusesPay
|
||||
, nightWorkPay, marriedAllowance, shiftPay, familyAllowance, leavePay, insuranceDeduction, fineAbsenceDeduction,
|
||||
lateToWork, earlyExit);
|
||||
lateToWork, earlyExit,fridayWork, holidayWork);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -153,6 +168,25 @@ public class CustomizeWorkshopGroupSettings : EntityBase
|
||||
CustomizeWorkshopEmployeeSettingsCollection.Remove(currentItem);
|
||||
}
|
||||
|
||||
public void EditSimpleAndOverwriteOnEmployee(string groupName, double salary, IEnumerable<long> employeeIds,
|
||||
ICollection<CustomizeWorkshopGroupSettingsShift> customizeWorkshopGroupSettingsShifts)
|
||||
{
|
||||
GroupName = groupName;
|
||||
Salary = salary;
|
||||
CustomizeWorkshopGroupSettingsShifts = customizeWorkshopGroupSettingsShifts;
|
||||
|
||||
//var employeeSettingsShift = customizeWorkshopGroupSettingsShifts
|
||||
// .Select(x => new CustomizeWorkshopEmployeeSettingsShift(x.StartTime, x.EndTime, x.Placement)).ToList();
|
||||
|
||||
var permittedToOverWrite = CustomizeWorkshopEmployeeSettingsCollection.Where(x => employeeIds.Contains(x.id));
|
||||
foreach (var item in permittedToOverWrite)
|
||||
{
|
||||
item.SimpleEditAndMakeIsChangeFalse(customizeWorkshopGroupSettingsShifts
|
||||
.Select(x => new CustomizeWorkshopEmployeeSettingsShift(x.StartTime, x.EndTime, x.Placement)).ToList(), salary);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
//public void OverWriteEmployeesShiftAndSalary(IEnumerable<long> ids,ICollection<RollCallWorkshopEmployeeSettingsShift> employeeSettingsShifts,double salary)
|
||||
|
||||
@@ -1,16 +1,25 @@
|
||||
using _0_Framework.Domain;
|
||||
using System;
|
||||
using _0_Framework.Domain;
|
||||
using CompanyManagment.App.Contracts.CustomizeWorkshopSettings;
|
||||
|
||||
namespace Company.Domain.CustomizeWorkshopGroupSettingsAgg.Entities;
|
||||
|
||||
public class CustomizeWorkshopGroupSettingsShift(
|
||||
string startTime,
|
||||
string endTime,
|
||||
ShiftPlacement placement) : EntityBase
|
||||
public class CustomizeWorkshopGroupSettingsShift : EntityBase
|
||||
{
|
||||
public string StartTime { get; private set; } = startTime;
|
||||
public string EndTime { get; private set; } = endTime;
|
||||
public ShiftPlacement Placement { get; private set; } = placement;
|
||||
private CustomizeWorkshopGroupSettingsShift()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public CustomizeWorkshopGroupSettingsShift(TimeOnly startTime, TimeOnly endTime, ShiftPlacement placement)
|
||||
{
|
||||
Placement = placement;
|
||||
StartTime = startTime;
|
||||
EndTime = endTime;
|
||||
}
|
||||
public TimeOnly StartTime { get; private set; }
|
||||
public TimeOnly EndTime { get; private set; }
|
||||
public ShiftPlacement Placement { get; private set; }
|
||||
public long CustomizeWorkshopGroupSettingsId { get; private set; }
|
||||
|
||||
public CustomizeWorkshopGroupSettings CustomizeWorkshopGroupSettings { get; set; }
|
||||
|
||||
@@ -13,4 +13,6 @@ public interface ICustomizeWorkshopGroupSettingsRepository : IRepository<long, C
|
||||
CustomizeWorkshopGroupSettings GetWithEmployees(long groupId);
|
||||
List<CustomizeWorkshopEmployeeSettingsViewModel> GetChangedEmployeeSettingsByGroupSettingsId(long groupSettingsId);
|
||||
List<CustomizeWorkshopEmployeeSettingsViewModel> GetEmployeeSettingsByGroupSettingsId(long groupSettingsId);
|
||||
EditCustomizeWorkshopGroupSettings GetCustomizeWorkshopGroupSettingsDetails(long groupId);
|
||||
void Remove(long groupId);
|
||||
}
|
||||
@@ -1,4 +1,6 @@
|
||||
using System.Collections.Generic;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using _0_Framework.Domain;
|
||||
using _0_Framework.Domain.CustomizeCheckoutValueObjects;
|
||||
using Company.Domain.CustomizeWorkshopGroupSettingsAgg.Entities;
|
||||
@@ -9,15 +11,16 @@ public class CustomizeWorkshopSettings : EntityBase
|
||||
{
|
||||
private CustomizeWorkshopSettings()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public CustomizeWorkshopSettings(long workshopId,
|
||||
ICollection<CustomizeWorkshopSettingsShift> customizeWorkshopSettingsShifts)
|
||||
ICollection<CustomizeWorkshopSettingsShift> customizeWorkshopSettingsShifts, int leavePermittedDays)
|
||||
{
|
||||
FridayPay = new FridayPay(FridayPayType.None,0);
|
||||
OverTimePay =new OverTimePay(OverTimePayType.None,0);
|
||||
BaseYearsPay = new BaseYearsPay(BaseYearsPayType.None);
|
||||
BonusesPay = new BonusesPay(BonusesType.None,0);
|
||||
FridayPay = new FridayPay(FridayPayType.None, 0);
|
||||
OverTimePay = new OverTimePay(OverTimePayType.None, 0);
|
||||
BaseYearsPay = new BaseYearsPay(BaseYearsPayType.None,0,BaseYearsPaymentType.None);
|
||||
BonusesPay = new BonusesPay(BonusesType.None,0, BonusesPaymentType.None);
|
||||
NightWorkPay = new NightWorkPay(NightWorkType.None,0);
|
||||
MarriedAllowance = new MarriedAllowance(MarriedAllowanceType.None,0);
|
||||
ShiftPay = new ShiftPay(ShiftType.None,ShiftPayType.None,0);
|
||||
@@ -29,8 +32,19 @@ public class CustomizeWorkshopSettings : EntityBase
|
||||
EarlyExit = new EarlyExit(EarlyExitType.None,new(),0);
|
||||
WorkshopId = workshopId;
|
||||
CustomizeWorkshopSettingsShifts = customizeWorkshopSettingsShifts;
|
||||
LeavePermittedDays = leavePermittedDays;
|
||||
Currency = Currency.Rial;
|
||||
MaxMonthDays = MaxMonthDays.Default;
|
||||
FridayWork = FridayWork.Default;
|
||||
HolidayWork = HolidayWork.Default;
|
||||
BonusesPaysInEndOfMonth = BonusesPaysInEndOfYear.EndOfYear;
|
||||
var date = new DateOnly();
|
||||
var firstStartShift = new DateTime(date, CustomizeWorkshopSettingsShifts.MinBy(x => x.Placement).StartTime);
|
||||
var lastEndShift = new DateTime(date, CustomizeWorkshopSettingsShifts.MaxBy(x => x.Placement).EndTime);
|
||||
if (lastEndShift > firstStartShift)
|
||||
firstStartShift = firstStartShift.AddDays(1);
|
||||
var offSet = (firstStartShift - lastEndShift).Divide(2);
|
||||
EndTimeOffSet = TimeOnly.FromTimeSpan(offSet);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -103,9 +117,32 @@ public class CustomizeWorkshopSettings : EntityBase
|
||||
/// </summary>
|
||||
public MaxMonthDays MaxMonthDays { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// آیا جمعه کار میکند یا نه
|
||||
/// </summary>
|
||||
public FridayWork FridayWork { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// آیا در روز های تعطیل کار میکند
|
||||
/// </summary>
|
||||
public HolidayWork HolidayWork { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// تعداد روز های مجاز برای مرخصی
|
||||
/// </summary>
|
||||
public int LeavePermittedDays { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// آیا عیدی همیشه آخر سال تعلق میگیره یا در زمان ترک کار هم تعلق میگیره
|
||||
/// </summary>
|
||||
public BonusesPaysInEndOfYear BonusesPaysInEndOfMonth { get; private set; }
|
||||
|
||||
public BaseYearsPayInEndOfYear BaseYearsPayInEndOfYear { get; private set; }
|
||||
|
||||
public long WorkshopId { get; private set; }
|
||||
public Workshop Workshop { get; set; }
|
||||
public ICollection<CustomizeWorkshopSettingsShift> CustomizeWorkshopSettingsShifts { get; set; }
|
||||
public TimeOnly EndTimeOffSet { get; private set; }
|
||||
public ICollection<CustomizeWorkshopGroupSettings> CustomizeWorkshopGroupSettingsCollection { get; set; }
|
||||
|
||||
public Currency Currency { get; set; }
|
||||
@@ -115,13 +152,13 @@ public class CustomizeWorkshopSettings : EntityBase
|
||||
NightWorkPay nightWorkPay, MarriedAllowance marriedAllowance, ShiftPay shiftPay,
|
||||
FamilyAllowance familyAllowance, LeavePay leavePay, InsuranceDeduction insuranceDeduction,
|
||||
FineAbsenceDeduction fineAbsenceDeduction, LateToWork lateToWork, EarlyExit earlyExit,
|
||||
ICollection<CustomizeWorkshopSettingsShift> customizeWorkshopSettingsShifts)
|
||||
ICollection<CustomizeWorkshopSettingsShift> customizeWorkshopSettingsShifts, FridayWork fridayWork, HolidayWork holidayWork,BonusesPaysInEndOfYear bonusesPaysInEndOfYear, int leavePermittedDays, BaseYearsPayInEndOfYear baseYearsPayInEndOfYear)
|
||||
{
|
||||
FridayPay = fridayPay;
|
||||
OverTimePay = overTimePay;
|
||||
BaseYearsPay = baseYearsPay;
|
||||
BonusesPay = bonusesPay;
|
||||
NightWorkPay = nightWorkPay;
|
||||
NightWorkPay = nightWorkPay;
|
||||
MarriedAllowance = marriedAllowance;
|
||||
ShiftPay = shiftPay;
|
||||
FamilyAllowance = familyAllowance;
|
||||
@@ -131,7 +168,13 @@ public class CustomizeWorkshopSettings : EntityBase
|
||||
LateToWork = lateToWork;
|
||||
EarlyExit = earlyExit;
|
||||
CustomizeWorkshopSettingsShifts = customizeWorkshopSettingsShifts;
|
||||
|
||||
FridayWork = fridayWork;
|
||||
HolidayWork = holidayWork;
|
||||
BonusesPaysInEndOfMonth = bonusesPaysInEndOfYear;
|
||||
LeavePermittedDays = leavePermittedDays;
|
||||
BaseYearsPayInEndOfYear= baseYearsPayInEndOfYear;
|
||||
|
||||
|
||||
}
|
||||
|
||||
//edits the shifts of workshop
|
||||
|
||||
@@ -1,17 +1,30 @@
|
||||
using _0_Framework.Domain;
|
||||
using System;
|
||||
using System.IO;
|
||||
using _0_Framework.Domain;
|
||||
using CompanyManagment.App.Contracts.CustomizeWorkshopSettings;
|
||||
|
||||
namespace Company.Domain.CustomizeWorkshopSettingsAgg.Entities;
|
||||
|
||||
public class CustomizeWorkshopSettingsShift(
|
||||
string startTime,
|
||||
string endTime,
|
||||
ShiftPlacement placement) : EntityBase
|
||||
public class CustomizeWorkshopSettingsShift : EntityBase
|
||||
{
|
||||
public string StartTime { get; private set; } = startTime;
|
||||
public string EndTime { get; private set; } = endTime;
|
||||
public ShiftPlacement Placement { get; private set; } = placement;
|
||||
private CustomizeWorkshopSettingsShift()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public CustomizeWorkshopSettingsShift(TimeOnly startTime, TimeOnly endTime, ShiftPlacement placement)
|
||||
{
|
||||
Placement = placement;
|
||||
StartTime = startTime;
|
||||
EndTime = endTime;
|
||||
|
||||
}
|
||||
|
||||
public TimeOnly StartTime { get; private set; }
|
||||
public TimeOnly EndTime { get; private set; }
|
||||
public ShiftPlacement Placement { get; private set; }
|
||||
public long CustomizeWorkshopSettingsId { get; private set; }
|
||||
|
||||
|
||||
public CustomizeWorkshopSettings CustomizeWorkshopSettings { get; set; }
|
||||
}
|
||||
@@ -7,8 +7,10 @@ namespace Company.Domain.CustomizeWorkshopSettingsAgg;
|
||||
public interface ICustomizeWorkshopSettingsRepository : IRepository<long, CustomizeWorkshopSettings>
|
||||
{
|
||||
// It will Get the Workshop Settings with its groups and the employees of groups.
|
||||
CustomizeWorkshopSettings GetWorkshopSettingsByWorkshopId(long workshopId);
|
||||
CustomizeWorkshopSettingsViewModel GetWorkshopSettingsByWorkshopId(long workshopId);
|
||||
|
||||
CustomizeWorkshopEmployeeSettingsViewModel GetEmployeeSettingsByWorkshopIdGroupSettingsId(long workshopId,
|
||||
long employeeId);
|
||||
|
||||
EditCustomizeWorkshopSettings GetWorkshopSettingsDetails(long workshopId);
|
||||
}
|
||||
@@ -1,74 +1,12 @@
|
||||
using CompanyManagment.App.Contracts.CustomizeWorkshopSettings.ValueObjectsViewModel;
|
||||
using _0_Framework.Domain.CustomizeCheckoutValueObjects;
|
||||
using CompanyManagment.App.Contracts.CustomizeWorkshopSettings.ValueObjectsViewModel;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace CompanyManagment.App.Contracts.CustomizeWorkshopSettings;
|
||||
|
||||
public class CreateCustomizeEmployeeSettings
|
||||
{
|
||||
/// <summary>
|
||||
/// جمعه کاری
|
||||
/// </summary>
|
||||
public FridayPayViewModel FridayPay { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// اضافه کاری
|
||||
/// </summary>
|
||||
public OverTimePayViewModel OverTimePay { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// سنوات
|
||||
/// </summary>
|
||||
public BaseYearsPayViewModel BaseYearsPay { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// عیدی
|
||||
/// </summary>
|
||||
public BonusesPayViewModel BonusesPay { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// شب کاری
|
||||
/// </summary>
|
||||
public NightWorkPayViewModel NightWorkPay { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// حق تاهل
|
||||
/// </summary>
|
||||
public MarriedAllowanceViewModel MarriedAllowance { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// نوبت کاری
|
||||
/// </summary>
|
||||
public ShiftPayViewModel ShiftPay { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// حق اولاد(حق فرزند)ء
|
||||
/// </summary>
|
||||
public FamilyAllowanceViewModel FamilyAllowance { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// مزد مرخصی
|
||||
/// </summary>
|
||||
public LeavePayViewModel LeavePay { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// حق بیمه
|
||||
/// </summary>
|
||||
public InsuranceDeductionViewModel InsuranceDeduction { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// جریمه غیبت
|
||||
/// </summary>
|
||||
public FineAbsenceDeductionViewModel FineAbsenceDeduction { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// تاخیر در ورود
|
||||
/// </summary>
|
||||
public LateToWorkViewModel LateToWork { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// نعجیل در خروج
|
||||
/// </summary>
|
||||
public EarlyExitViewModel EarlyExit { get; private set; }
|
||||
|
||||
public List<long> EmployeeIds { get; set; }
|
||||
public long GroupId { get; set; }
|
||||
public long WorkshopSettingId { get; set; }
|
||||
|
||||
@@ -1,10 +1,15 @@
|
||||
using System.Collections.Generic;
|
||||
using CompanyManagment.App.Contracts.CustomizeWorkshopSettings.ValueObjectsViewModel;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace CompanyManagment.App.Contracts.CustomizeWorkshopSettings;
|
||||
|
||||
public class CreateCustomizeWorkshopSettings
|
||||
{
|
||||
public IEnumerable<CustomizeWorkshopShiftViewModel> ShiftsList { get; set; }
|
||||
public List<CustomizeWorkshopShiftViewModel> ShiftsList { get; set; }
|
||||
/// <summary>
|
||||
/// تعداد روز های مجاز برای مرخصی
|
||||
/// </summary>
|
||||
public int LeavePermittedDays { get; set; }
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -6,6 +6,7 @@ public class CustomizeWorkshopEmployeeSettingsViewModel
|
||||
{
|
||||
public long Id { get; set; }
|
||||
public long EmployeeId { get; set; }
|
||||
public string EmployeeFullName { get; set; }
|
||||
public double Salary { get; set;}
|
||||
public bool IsChanged { get; set; }
|
||||
public string Name { get; set; }
|
||||
|
||||
@@ -1,11 +1,89 @@
|
||||
using System.Collections.Generic;
|
||||
using _0_Framework.Domain.CustomizeCheckoutValueObjects;
|
||||
using CompanyManagment.App.Contracts.CustomizeWorkshopSettings.ValueObjectsViewModel;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace CompanyManagment.App.Contracts.CustomizeWorkshopSettings;
|
||||
|
||||
public class EditCustomizeEmployeeSettings:CreateCustomizeEmployeeSettings
|
||||
{
|
||||
/// <summary>
|
||||
/// جمعه کاری
|
||||
/// </summary>
|
||||
public FridayPayViewModel FridayPay { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// اضافه کاری
|
||||
/// </summary>
|
||||
public OverTimePayViewModel OverTimePay { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// سنوات
|
||||
/// </summary>
|
||||
public BaseYearsPayViewModel BaseYearsPay { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// عیدی
|
||||
/// </summary>
|
||||
public BonusesPayViewModel BonusesPay { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// شب کاری
|
||||
/// </summary>
|
||||
public NightWorkPayViewModel NightWorkPay { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// حق تاهل
|
||||
/// </summary>
|
||||
public MarriedAllowanceViewModel MarriedAllowance { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// نوبت کاری
|
||||
/// </summary>
|
||||
public ShiftPayViewModel ShiftPay { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// حق اولاد(حق فرزند)ء
|
||||
/// </summary>
|
||||
public FamilyAllowanceViewModel FamilyAllowance { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// مزد مرخصی
|
||||
/// </summary>
|
||||
public LeavePayViewModel LeavePay { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// حق بیمه
|
||||
/// </summary>
|
||||
public InsuranceDeductionViewModel InsuranceDeduction { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// جریمه غیبت
|
||||
/// </summary>
|
||||
public FineAbsenceDeductionViewModel FineAbsenceDeduction { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// تاخیر در ورود
|
||||
/// </summary>
|
||||
public LateToWorkViewModel LateToWork { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// نعجیل در خروج
|
||||
/// </summary>
|
||||
public EarlyExitViewModel EarlyExit { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// آیا جمعه کار میکند یا نه
|
||||
/// </summary>
|
||||
public FridayWork FridayWork { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// آیا در روز های تعطیل کار میکند
|
||||
/// </summary>
|
||||
public HolidayWork HolidayWork { get; set; }
|
||||
|
||||
public long Id { get; set; }
|
||||
public string Salary { get; set; }
|
||||
public string NameGroup { get; set; }
|
||||
public string EmployeeFullName { get; set; }
|
||||
public IEnumerable<CustomizeWorkshopShiftViewModel> ShiftViewModel { get; set; }
|
||||
}
|
||||
@@ -4,79 +4,85 @@ using System.Collections.Generic;
|
||||
|
||||
namespace CompanyManagment.App.Contracts.CustomizeWorkshopSettings;
|
||||
|
||||
public class EditCustomizeWorkshopGroupSettings:CreateCustomizeWorkshopGroupSettings
|
||||
public class EditCustomizeWorkshopGroupSettings : CreateCustomizeWorkshopGroupSettings
|
||||
{
|
||||
public long Id { get; set; }
|
||||
public List<long> EmployeeIds { get; set; }
|
||||
/// <summary>
|
||||
/// نوع محاسبه تعداد روز های ماه برای محاسبه فیش حقوقی
|
||||
/// </summary>
|
||||
public MaxMonthDays MaxMonthDays { get; set; }
|
||||
public long Id { get; set; }
|
||||
public List<long> EmployeeIds { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// جمعه کاری
|
||||
/// </summary>
|
||||
public FridayPayViewModel FridayPay { get; private set; }
|
||||
/// <summary>
|
||||
/// جمعه کاری
|
||||
/// </summary>
|
||||
public FridayPayViewModel FridayPay { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// اضافه کاری
|
||||
/// </summary>
|
||||
public OverTimePayViewModel OverTimePay { get; private set; }
|
||||
/// <summary>
|
||||
/// اضافه کاری
|
||||
/// </summary>
|
||||
public OverTimePayViewModel OverTimePay { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// سنوات
|
||||
/// </summary>
|
||||
public BaseYearsPayViewModel BaseYearsPay { get; private set; }
|
||||
/// <summary>
|
||||
/// سنوات
|
||||
/// </summary>
|
||||
public BaseYearsPayViewModel BaseYearsPay { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// عیدی
|
||||
/// </summary>
|
||||
public BonusesPayViewModel BonusesPay { get; private set; }
|
||||
/// <summary>
|
||||
/// عیدی
|
||||
/// </summary>
|
||||
public BonusesPayViewModel BonusesPay { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// شب کاری
|
||||
/// </summary>
|
||||
public NightWorkPayViewModel NightWorkPay { get; private set; }
|
||||
/// <summary>
|
||||
/// شب کاری
|
||||
/// </summary>
|
||||
public NightWorkPayViewModel NightWorkPay { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// حق تاهل
|
||||
/// </summary>
|
||||
public MarriedAllowanceViewModel MarriedAllowance { get; private set; }
|
||||
/// <summary>
|
||||
/// حق تاهل
|
||||
/// </summary>
|
||||
public MarriedAllowanceViewModel MarriedAllowance { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// نوبت کاری
|
||||
/// </summary>
|
||||
public ShiftPayViewModel ShiftPay { get; private set; }
|
||||
/// <summary>
|
||||
/// نوبت کاری
|
||||
/// </summary>
|
||||
public ShiftPayViewModel ShiftPay { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// حق اولاد(حق فرزند)ء
|
||||
/// </summary>
|
||||
public FamilyAllowanceViewModel FamilyAllowance { get; private set; }
|
||||
/// <summary>
|
||||
/// حق اولاد(حق فرزند)ء
|
||||
/// </summary>
|
||||
public FamilyAllowanceViewModel FamilyAllowance { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// مزد مرخصی
|
||||
/// </summary>
|
||||
public LeavePayViewModel LeavePay { get; private set; }
|
||||
/// <summary>
|
||||
/// مزد مرخصی
|
||||
/// </summary>
|
||||
public LeavePayViewModel LeavePay { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// حق بیمه
|
||||
/// </summary>
|
||||
public InsuranceDeductionViewModel InsuranceDeduction { get; private set; }
|
||||
/// <summary>
|
||||
/// حق بیمه
|
||||
/// </summary>
|
||||
public InsuranceDeductionViewModel InsuranceDeduction { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// جریمه غیبت
|
||||
/// </summary>
|
||||
public FineAbsenceDeductionViewModel FineAbsenceDeduction { get; private set; }
|
||||
/// <summary>
|
||||
/// جریمه غیبت
|
||||
/// </summary>
|
||||
public FineAbsenceDeductionViewModel FineAbsenceDeduction { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// تاخیر در ورود
|
||||
/// </summary>
|
||||
public LateToWorkViewModel LateToWork { get; private set; }
|
||||
/// <summary>
|
||||
/// تاخیر در ورود
|
||||
/// </summary>
|
||||
public LateToWorkViewModel LateToWork { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// نعجیل در خروج
|
||||
/// </summary>
|
||||
public EarlyExitViewModel EarlyExit { get; private set; }
|
||||
/// <summary>
|
||||
/// نعجیل در خروج
|
||||
/// </summary>
|
||||
public EarlyExitViewModel EarlyExit { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// آیا جمعه کار میکند یا نه
|
||||
/// </summary>
|
||||
public FridayWork FridayWork { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// آیا در روز های تعطیل کار میکند
|
||||
/// </summary>
|
||||
public HolidayWork HolidayWork { get; set; }
|
||||
|
||||
public bool ChangeSettingEmployeeIsChange { get; set; }
|
||||
}
|
||||
@@ -1,4 +1,5 @@
|
||||
using _0_Framework.Domain.CustomizeCheckoutValueObjects;
|
||||
using AccountManagement.Application.Contracts.CameraAccount;
|
||||
using CompanyManagment.App.Contracts.CustomizeWorkshopSettings.ValueObjectsViewModel;
|
||||
|
||||
namespace CompanyManagment.App.Contracts.CustomizeWorkshopSettings;
|
||||
@@ -16,65 +17,89 @@ public class EditCustomizeWorkshopSettings:CreateCustomizeWorkshopSettings
|
||||
/// <summary>
|
||||
/// جمعه کاری
|
||||
/// </summary>
|
||||
public FridayPayViewModel FridayPay { get; private set; }
|
||||
public FridayPayViewModel FridayPay { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// اضافه کاری
|
||||
/// </summary>
|
||||
public OverTimePayViewModel OverTimePay { get; private set; }
|
||||
public OverTimePayViewModel OverTimePay { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// سنوات
|
||||
/// </summary>
|
||||
public BaseYearsPayViewModel BaseYearsPay { get; private set; }
|
||||
public BaseYearsPayViewModel BaseYearsPay { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// عیدی
|
||||
/// </summary>
|
||||
public BonusesPayViewModel BonusesPay { get; private set; }
|
||||
public BonusesPayViewModel BonusesPay { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// شب کاری
|
||||
/// </summary>
|
||||
public NightWorkPayViewModel NightWorkPay { get; private set; }
|
||||
public NightWorkPayViewModel NightWorkPay { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// حق تاهل
|
||||
/// </summary>
|
||||
public MarriedAllowanceViewModel MarriedAllowance { get; private set; }
|
||||
public MarriedAllowanceViewModel MarriedAllowance { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// نوبت کاری
|
||||
/// </summary>
|
||||
public ShiftPayViewModel ShiftPay { get; private set; }
|
||||
public ShiftPayViewModel ShiftPay { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// حق اولاد(حق فرزند)ء
|
||||
/// </summary>
|
||||
public FamilyAllowanceViewModel FamilyAllowance { get; private set; }
|
||||
public FamilyAllowanceViewModel FamilyAllowance { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// مزد مرخصی
|
||||
/// </summary>
|
||||
public LeavePayViewModel LeavePay { get; private set; }
|
||||
public LeavePayViewModel LeavePay { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// حق بیمه
|
||||
/// </summary>
|
||||
public InsuranceDeductionViewModel InsuranceDeduction { get; private set; }
|
||||
public InsuranceDeductionViewModel InsuranceDeduction { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// جریمه غیبت
|
||||
/// </summary>
|
||||
public FineAbsenceDeductionViewModel FineAbsenceDeduction { get; private set; }
|
||||
public FineAbsenceDeductionViewModel FineAbsenceDeduction { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// تاخیر در ورود
|
||||
/// </summary>
|
||||
public LateToWorkViewModel LateToWork { get; private set; }
|
||||
public LateToWorkViewModel LateToWork { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// نعجیل در خروج
|
||||
/// </summary>
|
||||
public EarlyExitViewModel EarlyExit { get; private set; }
|
||||
public EarlyExitViewModel EarlyExit { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// آیا جمعه کار میکند یا نه
|
||||
/// </summary>
|
||||
public FridayWork FridayWork { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// آیا در روز های تعطیل کار میکند
|
||||
/// </summary>
|
||||
public HolidayWork HolidayWork { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// آیا عیدی همیشه آخر سال تعلق میگیره یا در زمان ترک کار هم تعلق میگیره
|
||||
/// </summary>
|
||||
public BonusesPaysInEndOfYear BonusesPaysInEndOfMonth { get; set; }
|
||||
|
||||
public BaseYearsPayInEndOfYear BaseYearsPayInEndOfYear { get; set; }
|
||||
|
||||
#region Safa
|
||||
|
||||
public EditCameraAccount EditCameraAccount { get; set; }
|
||||
|
||||
#endregion
|
||||
}
|
||||
@@ -0,0 +1,102 @@
|
||||
|
||||
using _0_Framework.Domain.CustomizeCheckoutValueObjects;
|
||||
using CompanyManagment.App.Contracts.CustomizeWorkshopSettings.ValueObjectsViewModel;
|
||||
|
||||
namespace CompanyManagment.App.Contracts.CustomizeWorkshopSettings
|
||||
{
|
||||
public class EditCustomizeWorkshopSettingsModalViewModel
|
||||
{
|
||||
public long Id { get; set; }
|
||||
public Currency Currency { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// نوع محاسبه تعداد روز های ماه برای محاسبه فیش حقوقی
|
||||
/// </summary>
|
||||
public MaxMonthDays MaxMonthDays { get; set; }
|
||||
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// سنوات
|
||||
/// </summary>
|
||||
public BaseYearsPayViewModel BaseYearsPay { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// عیدی
|
||||
/// </summary>
|
||||
public BonusesPayViewModel BonusesPay { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// شب کاری
|
||||
/// </summary>
|
||||
public NightWorkPayViewModel NightWorkPay { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// حق تاهل
|
||||
/// </summary>
|
||||
public MarriedAllowanceViewModel MarriedAllowance { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// نوبت کاری
|
||||
/// </summary>
|
||||
public ShiftPayViewModel ShiftPay { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// حق اولاد(حق فرزند)ء
|
||||
/// </summary>
|
||||
public FamilyAllowanceViewModel FamilyAllowance { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// مزد مرخصی
|
||||
/// </summary>
|
||||
public LeavePayViewModel LeavePay { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// حق بیمه
|
||||
/// </summary>
|
||||
public InsuranceDeductionViewModel InsuranceDeduction { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// جریمه غیبت
|
||||
/// </summary>
|
||||
public FineAbsenceDeductionViewModel FineAbsenceDeduction { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// تاخیر در ورود
|
||||
/// </summary>
|
||||
public LateToWorkViewModel LateToWork { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// نعجیل در خروج
|
||||
/// </summary>
|
||||
public EarlyExitViewModel EarlyExit { get; set; }
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// آیا در روز های تعطیل کار میکند
|
||||
/// </summary>
|
||||
public HolidayWork HolidayWork { get; set; }
|
||||
|
||||
|
||||
public FridayWorkAndOvertime FridayWorkAndOvertime { get; set; }
|
||||
|
||||
}
|
||||
|
||||
public class FridayWorkAndOvertime
|
||||
{
|
||||
/// <summary>
|
||||
/// جمعه کاری
|
||||
/// </summary>
|
||||
public FridayPayViewModel FridayPay { get; set; }
|
||||
/// <summary>
|
||||
/// اضافه کاری
|
||||
/// </summary>
|
||||
public OverTimePayViewModel OverTimePay { get; set; }
|
||||
/// <summary>
|
||||
/// آیا جمعه کار میکند یا نه
|
||||
/// </summary>
|
||||
public FridayWork FridayWork { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -36,4 +36,16 @@ public interface ICustomizeWorkshopSettingsApplication
|
||||
CustomizeWorkshopEmployeeSettingsViewModel GetEmployeeSettingsByEmployeeIdGroupSettingsId(long workshopId,long employeeId);
|
||||
|
||||
List<CustomizeWorkshopEmployeeSettingsViewModel> GetEmployeeSettingsByGroupSettingsId(long groupSettingsId);
|
||||
EditCustomizeWorkshopSettings GetWorkshopSettingsDetails(long workshopId);
|
||||
EditCustomizeWorkshopGroupSettings GetCustomizeWorkshopGroupSettingsDetails(long groupId);
|
||||
EditCustomizeEmployeeSettings GetCustomizeEmployeeSettingsDetails(long customizeEmployeeId);
|
||||
OperationResult EditSimpleRollCallGroupSetting(EditCustomizeWorkshopGroupSettings command);
|
||||
|
||||
#region Vafa
|
||||
|
||||
OperationResult EditSimpleRollCallEmployeeGroupSetting(EditCustomizeEmployeeSettings command);
|
||||
|
||||
#endregion
|
||||
|
||||
OperationResult RemoveGroupSettings(long employeeSettingsId);
|
||||
}
|
||||
@@ -4,6 +4,12 @@ namespace CompanyManagment.App.Contracts.CustomizeWorkshopSettings.ValueObjectsV
|
||||
|
||||
public class BaseYearsPayViewModel
|
||||
{
|
||||
public BaseYearsPayType BaseYearsPayType { get; set; }
|
||||
public BaseYearsPayType BaseYearsPayType { get; set; }
|
||||
public double Value { get; set; }
|
||||
/// <summary>
|
||||
/// نوع پرداخت برای سنوات
|
||||
/// </summary>
|
||||
public BaseYearsPaymentType PaymentType { get; set; }
|
||||
|
||||
|
||||
}
|
||||
@@ -5,5 +5,7 @@ namespace CompanyManagment.App.Contracts.CustomizeWorkshopSettings.ValueObjectsV
|
||||
public class BonusesPayViewModel
|
||||
{
|
||||
public BonusesType BonusesPayType { get; set; }
|
||||
public int Percentage { get; set; }
|
||||
public double Value { get; set; }
|
||||
public BonusesPaymentType PaymentType { get; set; }
|
||||
|
||||
}
|
||||
@@ -8,18 +8,18 @@ public class EarlyExitViewModel
|
||||
/// <summary>
|
||||
/// نوع حساب کردن تعجیل در خروج
|
||||
/// </summary>
|
||||
public EarlyExitType EarlyExitType { get; private set; }
|
||||
public EarlyExitType EarlyExitType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// جریمه های اختصاصی پله ای
|
||||
/// </summary>
|
||||
public List<EarlyExitTimeFineViewModel> EarlyExitTimeFinesViewModels { get; private set; }
|
||||
public List<EarlyExitTimeFineViewModel> EarlyExitTimeFinesViewModels { get; set; }
|
||||
|
||||
///// <summary>
|
||||
///// نوع محاسبه جریمه های اختصاصی پله ای. این بخش میتواند نال باشد چون ممکن است شخص جریمه ای اختصاص ندهد
|
||||
///// </summary>
|
||||
//public EarlyExitTimeFineType? EarlyExitTimeFineType { get; private set; }
|
||||
|
||||
public double Value { get; private set; }
|
||||
public double Value { get; set; }
|
||||
|
||||
}
|
||||
@@ -1,4 +1,5 @@
|
||||
using System;
|
||||
using _0_Framework.Domain.CustomizeCheckoutValueObjects;
|
||||
|
||||
namespace CompanyManagment.App.Contracts.CustomizeWorkshopSettings.ValueObjectsViewModel;
|
||||
|
||||
|
||||
@@ -8,17 +8,17 @@ public class LateToWorkViewModel
|
||||
/// <summary>
|
||||
/// نوع حساب کردن تاخیر در ورود
|
||||
/// </summary>
|
||||
public LateToWorkType LateToWorkType { get; private set; }
|
||||
public LateToWorkType LateToWorkType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// این مقدار اگر نوع حساب کردن به صور مبلغی باشد از این بخش استفاده میشود
|
||||
/// </summary>
|
||||
public double Value { get; private set; }
|
||||
public double Value { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// جریمه های اختصاصی پله ای
|
||||
/// </summary>
|
||||
public List<LateToWorkTimeFineVewModel> LateToWorkTimeFinesVewModels { get; private set; }
|
||||
public List<LateToWorkTimeFineVewModel> LateToWorkTimeFinesVewModels { get; set; }
|
||||
|
||||
///// <summary>
|
||||
///// نوع محاسبه جریمه های اختصاصی پله ای. این بخش میتواند نال باشد چون ممکن است شخص جریمه ای اختصاص ندهد
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using AccountManagement.Application.Contracts.CameraAccount;
|
||||
using CompanyManagment.App.Contracts.CustomizeWorkshopSettings;
|
||||
|
||||
namespace CompanyManagment.App.Contracts.RollCall;
|
||||
public class AccountAndSettingViewModel
|
||||
{
|
||||
public CreateCameraAccount CreateCameraAccount { get; set; }
|
||||
public CreateCustomizeWorkshopSettings CreateWorkshopSettings { get; set; }
|
||||
public bool HasCamera { get; set; }
|
||||
public bool HasGroupWorkshop { get; set; }
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using _0_Framework.Application;
|
||||
using _0_Framework.Application;
|
||||
using _0_Framework.Domain.CustomizeCheckoutValueObjects;
|
||||
using AccountManagement.Application.Contracts.Account;
|
||||
using AccountManagement.Application.Contracts.CameraAccount;
|
||||
using Company.Domain.CustomizeWorkshopEmployeeSettingsAgg;
|
||||
using Company.Domain.CustomizeWorkshopEmployeeSettingsAgg.Entities;
|
||||
using Company.Domain.CustomizeWorkshopGroupSettingsAgg;
|
||||
@@ -11,12 +11,18 @@ using Company.Domain.CustomizeWorkshopSettingsAgg.Entities;
|
||||
using Company.Domain.EmployeeAgg;
|
||||
using CompanyManagment.App.Contracts.CustomizeWorkshopSettings;
|
||||
using CompanyManagment.App.Contracts.Employee;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using static Microsoft.EntityFrameworkCore.DbLoggerCategory.Database;
|
||||
using Version = _0_Framework.Application.Version;
|
||||
|
||||
|
||||
namespace CompanyManagment.Application;
|
||||
|
||||
public class CustomizeWorkshopSettingsApplication(ICustomizeWorkshopSettingsRepository customizeWorkshopSettingsRepository,
|
||||
IAuthHelper authHelper, IPasswordHasher passwordHasher,
|
||||
IAuthHelper authHelper, IPasswordHasher passwordHasher, ICameraAccountApplication cameraAccountApplication,
|
||||
ICustomizeWorkshopGroupSettingsRepository customizeWorkshopGroupSettingsRepository, IEmployeeRepository employeeRepository,
|
||||
ICustomizeWorkshopEmployeeSettingsRepository customizeWorkshopEmployeeSettingsRepository)
|
||||
: ICustomizeWorkshopSettingsApplication
|
||||
@@ -27,6 +33,7 @@ public class CustomizeWorkshopSettingsApplication(ICustomizeWorkshopSettingsRepo
|
||||
private readonly IAuthHelper _authHelper = authHelper;
|
||||
private readonly IEmployeeRepository _employeeRepository = employeeRepository;
|
||||
private readonly IPasswordHasher _passwordHasher = passwordHasher;
|
||||
private readonly ICameraAccountApplication _cameraAccountApplication = cameraAccountApplication;
|
||||
|
||||
//Create workshop settings
|
||||
public OperationResult CreateWorkshopSettings(CreateCustomizeWorkshopSettings command)
|
||||
@@ -45,9 +52,18 @@ public class CustomizeWorkshopSettingsApplication(ICustomizeWorkshopSettingsRepo
|
||||
#endregion
|
||||
//تبدیل شیفت های ویو مدل به انتیتی
|
||||
var shiftCollection =
|
||||
command.ShiftsList.Select(x => new CustomizeWorkshopSettingsShift(x.StartTime, x.EndTime, x.Placement)).ToList();
|
||||
|
||||
var record = new CustomizeWorkshopSettings(workshopId,shiftCollection);
|
||||
command.ShiftsList.Select(x =>
|
||||
{
|
||||
if (!TimeOnly.TryParseExact(x.StartTime, "HH:mm", out TimeOnly start))
|
||||
throw new InvalidDataException();
|
||||
if (!TimeOnly.TryParseExact(x.EndTime, "HH:mm", out TimeOnly end))
|
||||
throw new InvalidDataException();
|
||||
|
||||
return new CustomizeWorkshopSettingsShift(start, end, x.Placement);
|
||||
|
||||
}).ToList();
|
||||
|
||||
var record = new CustomizeWorkshopSettings(workshopId, shiftCollection, command.LeavePermittedDays);
|
||||
_customizeWorkshopSettingsRepository.Create(record);
|
||||
_customizeWorkshopSettingsRepository.SaveChanges();
|
||||
return op.Succcedded(record.id);
|
||||
@@ -60,17 +76,39 @@ public class CustomizeWorkshopSettingsApplication(ICustomizeWorkshopSettingsRepo
|
||||
|
||||
#region validation
|
||||
|
||||
if (string.IsNullOrWhiteSpace(command.Name))
|
||||
return op.Failed("لطفا نام گروه را وارد کنید");
|
||||
|
||||
if (string.IsNullOrWhiteSpace(command.Salary))
|
||||
return op.Failed("لطفا حقوق مورد نظر خود را وارد کنید");
|
||||
|
||||
if (!_customizeWorkshopSettingsRepository.Exists(x => x.id == command.CustomizeWorkshopSettingId))
|
||||
return op.Failed("چنین ساعت کاری برای کارگاهی وجود ندارد");
|
||||
|
||||
#endregion
|
||||
|
||||
CustomizeWorkshopSettings workshopSettings =
|
||||
_customizeWorkshopSettingsRepository.Get(command.CustomizeWorkshopSettingId);
|
||||
|
||||
double salary = command.Salary.MoneyToDouble();
|
||||
|
||||
var collection = command.ShiftViewModel
|
||||
.Select(x => new CustomizeWorkshopGroupSettingsShift(x.StartTime, x.EndTime, x.Placement)).ToList();
|
||||
var collection =
|
||||
command.ShiftViewModel.Select(x =>
|
||||
{
|
||||
if (!TimeOnly.TryParseExact(x.StartTime, "HH:mm", out TimeOnly start))
|
||||
throw new InvalidDataException();
|
||||
if (!TimeOnly.TryParseExact(x.EndTime, "HH:mm", out TimeOnly end))
|
||||
throw new InvalidDataException();
|
||||
|
||||
return new CustomizeWorkshopGroupSettingsShift(start, end, x.Placement);
|
||||
|
||||
}).ToList();
|
||||
|
||||
var entity = new CustomizeWorkshopGroupSettings(command.Name, salary, command.CustomizeWorkshopSettingId, collection, workshopSettings.FridayPay, workshopSettings.OverTimePay,
|
||||
workshopSettings.BaseYearsPay, workshopSettings.BonusesPay, workshopSettings.NightWorkPay, workshopSettings.MarriedAllowance,
|
||||
workshopSettings.ShiftPay, workshopSettings.FamilyAllowance, workshopSettings.LeavePay, workshopSettings.InsuranceDeduction, workshopSettings.FineAbsenceDeduction,
|
||||
workshopSettings.LateToWork, workshopSettings.EarlyExit, workshopSettings.FridayWork, workshopSettings.HolidayWork);
|
||||
|
||||
var entity = new CustomizeWorkshopGroupSettings(command.Name, salary, command.CustomizeWorkshopSettingId ,collection);
|
||||
_customizeWorkshopGroupSettingsRepository.Create(entity);
|
||||
|
||||
_customizeWorkshopGroupSettingsRepository.SaveChanges();
|
||||
@@ -95,18 +133,39 @@ public class CustomizeWorkshopSettingsApplication(ICustomizeWorkshopSettingsRepo
|
||||
new CustomizeWorkshopEmployeeSettingsShift(x.StartTime, x.EndTime, x.Placement)).ToList();
|
||||
foreach (var id in command.EmployeeIds)
|
||||
{
|
||||
|
||||
var entity = new CustomizeWorkshopEmployeeSettings(groupData.FridayPay,groupData.OverTimePay,
|
||||
groupData.BaseYearsPay,groupData.BonusesPay,groupData.NightWorkPay,groupData.MarriedAllowance,
|
||||
groupData.ShiftPay,groupData.FamilyAllowance,groupData.LeavePay,groupData.InsuranceDeduction,
|
||||
groupData.FineAbsenceDeduction,groupData.LateToWork,groupData.EarlyExit,id,
|
||||
groupData.CustomizeWorkshopSettings.WorkshopId , groupData.Salary, groupData.id,shifts );
|
||||
_customizeWorkshopEmployeeSettingsRepository.Create(entity);
|
||||
}
|
||||
|
||||
var entity = new CustomizeWorkshopEmployeeSettings(
|
||||
new(groupData.FridayPay.FridayPayType, groupData.FridayPay.Value),
|
||||
new(groupData.OverTimePay.OverTimePayType, groupData.OverTimePay.Value),
|
||||
new(groupData.BaseYearsPay.BaseYearsPayType, groupData.BaseYearsPay.Value, groupData.BaseYearsPay.PaymentType),
|
||||
new(groupData.BonusesPay.BonusesPayType, groupData.BonusesPay.Value, groupData.BonusesPay.PaymentType),
|
||||
new(groupData.NightWorkPay.NightWorkingType, groupData.NightWorkPay.Value),
|
||||
new(groupData.MarriedAllowance.MarriedAllowanceType, groupData.MarriedAllowance.Value),
|
||||
new(groupData.ShiftPay.ShiftType, groupData.ShiftPay.ShiftPayType, groupData.ShiftPay.Value),
|
||||
new(groupData.FamilyAllowance.FamilyAllowanceType, groupData.FamilyAllowance.Value),
|
||||
new(groupData.LeavePay.LeavePayType, groupData.LeavePay.Value),
|
||||
new(groupData.InsuranceDeduction.InsuranceDeductionType, groupData.InsuranceDeduction.Value),
|
||||
new(groupData.FineAbsenceDeduction.FineAbsenceDeductionType, groupData.FineAbsenceDeduction.Value,
|
||||
groupData.FineAbsenceDeduction.FineAbsenceDayOfWeekCollection
|
||||
.Select(x => new FineAbsenceDayOfWeek(x.DayOfWeek)).ToList()),
|
||||
new(groupData.LateToWork.LateToWorkType,
|
||||
groupData.LateToWork.LateToWorkTimeFines.Select(x => new LateToWorkTimeFine(x.Minute, x.FineMoney))
|
||||
.ToList(), groupData.LateToWork.Value),
|
||||
new(groupData.EarlyExit.EarlyExitType,
|
||||
groupData.EarlyExit.EarlyExitTimeFines.Select(x => new EarlyExitTimeFine(x.Minute, x.FineMoney))
|
||||
.ToList(), groupData.EarlyExit.Value), id,
|
||||
groupData.CustomizeWorkshopSettings.WorkshopId, groupData.Salary, groupData.id,
|
||||
shifts.Select(x => new CustomizeWorkshopEmployeeSettingsShift(x.StartTime, x.EndTime, x.Placement))
|
||||
.ToList());
|
||||
|
||||
_customizeWorkshopEmployeeSettingsRepository.Create(entity);
|
||||
|
||||
}
|
||||
_customizeWorkshopEmployeeSettingsRepository.SaveChanges();
|
||||
|
||||
|
||||
return op.Succcedded();
|
||||
}
|
||||
}
|
||||
|
||||
//Edit the Workshop Settings Data
|
||||
public OperationResult EditWorkshopSetting(EditCustomizeWorkshopSettings command)
|
||||
@@ -120,38 +179,49 @@ public class CustomizeWorkshopSettingsApplication(ICustomizeWorkshopSettingsRepo
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
var entity = _customizeWorkshopSettingsRepository.Get(command.Id);
|
||||
|
||||
FridayPay fridayPay = new(command.FridayPay.FridayPayType, command.FridayPay.Value);
|
||||
OverTimePay overTimePay = new(command.OverTimePay.OverTimePayType, command.OverTimePay.Value);
|
||||
BaseYearsPay baseYearsPay = new(command.BaseYearsPay.BaseYearsPayType);
|
||||
BonusesPay bonusesPay = new(command.BonusesPay.BonusesPayType, command.BonusesPay.Percentage);
|
||||
BaseYearsPay baseYearsPay = new(command.BaseYearsPay.BaseYearsPayType, command.BaseYearsPay.Value, command.BaseYearsPay.PaymentType);
|
||||
BonusesPay bonusesPay = new(command.BonusesPay.BonusesPayType, command.BonusesPay.Value, command.BonusesPay.PaymentType);
|
||||
NightWorkPay nightWorkPay = new(command.NightWorkPay.NightWorkingType, command.NightWorkPay.Value);
|
||||
MarriedAllowance marriedAllowance = new(command.MarriedAllowance.MarriedAllowanceType, command.MarriedAllowance.Value);
|
||||
ShiftPay shiftPay = new(command.ShiftPay.ShiftType, command.ShiftPay.ShiftPayType, command.ShiftPay.Value);
|
||||
ShiftPay shiftPay = new(ShiftType.None, ShiftPayType.None, 0);
|
||||
FamilyAllowance familyAllowance = new(command.FamilyAllowance.FamilyAllowanceType, command.FamilyAllowance.Value);
|
||||
LeavePay leavePay = new(command.LeavePay.LeavePayType, command.LeavePay.Value);
|
||||
InsuranceDeduction insuranceDeduction = new(command.InsuranceDeduction.InsuranceDeductionType, command.InsuranceDeduction.Value);
|
||||
FineAbsenceDeduction fineAbsenceDeduction = new(
|
||||
command.FineAbsenceDeduction.FineAbsenceDeductionType, command.FineAbsenceDeduction.Value,
|
||||
command.FineAbsenceDeduction.FineAbsenceDayOfWeekViewModels
|
||||
.Select(x => new FineAbsenceDayOfWeek(x.DayOfWeek)).ToList()
|
||||
command.FineAbsenceDeduction.FineAbsenceDeductionType,
|
||||
command.FineAbsenceDeduction.Value,
|
||||
command.FineAbsenceDeduction.FineAbsenceDayOfWeekViewModels?.Select(x => new FineAbsenceDayOfWeek(x.DayOfWeek)).ToList() ?? new List<FineAbsenceDayOfWeek>()
|
||||
);
|
||||
LateToWork lateToWork = new(
|
||||
command.LateToWork.LateToWorkType,
|
||||
command.LateToWork.LateToWorkTimeFinesVewModels.Select(x => new LateToWorkTimeFine(x.Minute, x.FineMoney))
|
||||
.ToList(), command.LateToWork.Value
|
||||
command.LateToWork.LateToWorkTimeFinesVewModels?.Select(x => new LateToWorkTimeFine(x.Minute, x.FineMoney))
|
||||
.ToList() ?? new List<LateToWorkTimeFine>()
|
||||
, command.LateToWork.Value
|
||||
);
|
||||
|
||||
EarlyExit earlyExit = new(command.EarlyExit.EarlyExitType,
|
||||
command.EarlyExit.EarlyExitTimeFinesViewModels.Select(x => new EarlyExitTimeFine(x.Minute, x.FineMoney))
|
||||
.ToList(), command.EarlyExit.Value);
|
||||
command.EarlyExit.EarlyExitTimeFinesViewModels?.Select(x => new EarlyExitTimeFine(x.Minute, x.FineMoney)).ToList() ?? new List<EarlyExitTimeFine>()
|
||||
, command.EarlyExit.Value);
|
||||
|
||||
var shifts =
|
||||
command.ShiftsList.Select(x => new CustomizeWorkshopSettingsShift(x.StartTime, x.EndTime, x.Placement)).ToList();
|
||||
command.ShiftsList.Select(x =>
|
||||
{
|
||||
if (!TimeOnly.TryParseExact(x.StartTime, "HH:mm", out TimeOnly start))
|
||||
throw new InvalidDataException();
|
||||
if (!TimeOnly.TryParseExact(x.EndTime, "HH:mm", out TimeOnly end))
|
||||
throw new InvalidDataException();
|
||||
|
||||
entity.Edit(fridayPay,overTimePay,baseYearsPay,bonusesPay,nightWorkPay,marriedAllowance,shiftPay,familyAllowance,leavePay,insuranceDeduction,
|
||||
fineAbsenceDeduction,lateToWork,earlyExit,shifts);
|
||||
return new CustomizeWorkshopSettingsShift(start, end, x.Placement);
|
||||
|
||||
}).ToList();
|
||||
|
||||
entity.Edit(fridayPay, overTimePay, baseYearsPay, bonusesPay, nightWorkPay, marriedAllowance, shiftPay, familyAllowance, leavePay, insuranceDeduction,
|
||||
fineAbsenceDeduction, lateToWork, earlyExit, shifts, command.FridayWork, command.HolidayWork, command.BonusesPaysInEndOfMonth, command.LeavePermittedDays, command.BaseYearsPayInEndOfYear);
|
||||
|
||||
_customizeWorkshopSettingsRepository.SaveChanges();
|
||||
|
||||
@@ -164,8 +234,15 @@ public class CustomizeWorkshopSettingsApplication(ICustomizeWorkshopSettingsRepo
|
||||
OperationResult op = new();
|
||||
|
||||
#region Validation
|
||||
|
||||
if (string.IsNullOrWhiteSpace(command.Name))
|
||||
return op.Failed("لطفا نام گروه را وارد کنید");
|
||||
|
||||
if (string.IsNullOrWhiteSpace(command.Salary))
|
||||
return op.Failed("لطفا حقوق مورد نظر خود را وارد کنید");
|
||||
|
||||
if (!_customizeWorkshopGroupSettingsRepository.Exists(x => x.id == command.Id))
|
||||
return op.Failed("خطای سیستمی");
|
||||
return op.Failed("چنین ساعت کاری برای گروه وجود ندارد");
|
||||
|
||||
#endregion
|
||||
|
||||
@@ -174,11 +251,12 @@ public class CustomizeWorkshopSettingsApplication(ICustomizeWorkshopSettingsRepo
|
||||
|
||||
FridayPay fridayPay = new(command.FridayPay.FridayPayType, command.FridayPay.Value);
|
||||
OverTimePay overTimePay = new(command.OverTimePay.OverTimePayType, command.OverTimePay.Value);
|
||||
BaseYearsPay baseYearsPay = new(command.BaseYearsPay.BaseYearsPayType);
|
||||
BonusesPay bonusesPay = new(command.BonusesPay.BonusesPayType, command.BonusesPay.Percentage);
|
||||
BaseYearsPay baseYearsPay = new(command.BaseYearsPay.BaseYearsPayType, command.BaseYearsPay.Value, command.BaseYearsPay.PaymentType);
|
||||
BonusesPay bonusesPay = new(command.BonusesPay.BonusesPayType, command.BonusesPay.Value, command.BonusesPay.PaymentType);
|
||||
NightWorkPay nightWorkPay = new(command.NightWorkPay.NightWorkingType, command.NightWorkPay.Value);
|
||||
MarriedAllowance marriedAllowance = new(command.MarriedAllowance.MarriedAllowanceType, command.MarriedAllowance.Value);
|
||||
ShiftPay shiftPay = new(command.ShiftPay.ShiftType, command.ShiftPay.ShiftPayType, command.ShiftPay.Value);
|
||||
//ShiftPay shiftPay = new(command.ShiftPay.ShiftType, command.ShiftPay.ShiftPayType, command.ShiftPay.Value);
|
||||
ShiftPay shiftPay = new(ShiftType.None, ShiftPayType.None, 0);
|
||||
FamilyAllowance familyAllowance = new(command.FamilyAllowance.FamilyAllowanceType, command.FamilyAllowance.Value);
|
||||
LeavePay leavePay = new(command.LeavePay.LeavePayType, command.LeavePay.Value);
|
||||
InsuranceDeduction insuranceDeduction = new(command.InsuranceDeduction.InsuranceDeductionType, command.InsuranceDeduction.Value);
|
||||
@@ -198,10 +276,20 @@ public class CustomizeWorkshopSettingsApplication(ICustomizeWorkshopSettingsRepo
|
||||
|
||||
double salary = command.Salary.MoneyToDouble();
|
||||
|
||||
var employeesShifts = command.ShiftViewModel.Select(x => new CustomizeWorkshopGroupSettingsShift(x.StartTime, x.EndTime, x.Placement)).ToList();
|
||||
entity.EditAndOverwriteOnEmployees(command.Name, salary, command.EmployeeIds,fridayPay,overTimePay,
|
||||
baseYearsPay,bonusesPay,shiftPay,nightWorkPay,marriedAllowance,familyAllowance,
|
||||
leavePay,insuranceDeduction,fineAbsenceDeduction,lateToWork,earlyExit,employeesShifts);
|
||||
var employeesShifts =
|
||||
command.ShiftViewModel.Select(x =>
|
||||
{
|
||||
if (!TimeOnly.TryParseExact(x.StartTime, "HH:mm", out TimeOnly start))
|
||||
throw new InvalidDataException();
|
||||
if (!TimeOnly.TryParseExact(x.EndTime, "HH:mm", out TimeOnly end))
|
||||
throw new InvalidDataException();
|
||||
|
||||
return new CustomizeWorkshopGroupSettingsShift(start, end, x.Placement);
|
||||
|
||||
}).ToList();
|
||||
entity.EditAndOverwriteOnEmployees(command.Name, salary, command.EmployeeIds, fridayPay, overTimePay,
|
||||
baseYearsPay, bonusesPay, shiftPay, nightWorkPay, marriedAllowance, familyAllowance,
|
||||
leavePay, insuranceDeduction, fineAbsenceDeduction, lateToWork, earlyExit, employeesShifts, command.FridayWork, command.HolidayWork);
|
||||
|
||||
_customizeWorkshopGroupSettingsRepository.SaveChanges();
|
||||
|
||||
@@ -223,11 +311,12 @@ public class CustomizeWorkshopSettingsApplication(ICustomizeWorkshopSettingsRepo
|
||||
|
||||
FridayPay fridayPay = new(command.FridayPay.FridayPayType, command.FridayPay.Value);
|
||||
OverTimePay overTimePay = new(command.OverTimePay.OverTimePayType, command.OverTimePay.Value);
|
||||
BaseYearsPay baseYearsPay = new(command.BaseYearsPay.BaseYearsPayType);
|
||||
BonusesPay bonusesPay = new(command.BonusesPay.BonusesPayType, command.BonusesPay.Percentage);
|
||||
BaseYearsPay baseYearsPay = new(command.BaseYearsPay.BaseYearsPayType, command.BaseYearsPay.Value, command.BaseYearsPay.PaymentType);
|
||||
BonusesPay bonusesPay = new(command.BonusesPay.BonusesPayType, command.BonusesPay.Value, command.BonusesPay.PaymentType);
|
||||
NightWorkPay nightWorkPay = new(command.NightWorkPay.NightWorkingType, command.NightWorkPay.Value);
|
||||
MarriedAllowance marriedAllowance = new(command.MarriedAllowance.MarriedAllowanceType, command.MarriedAllowance.Value);
|
||||
ShiftPay shiftPay = new(command.ShiftPay.ShiftType, command.ShiftPay.ShiftPayType, command.ShiftPay.Value);
|
||||
// ShiftPay shiftPay = new(command.ShiftPay.ShiftType, command.ShiftPay.ShiftPayType, command.ShiftPay.Value);
|
||||
ShiftPay shiftPay = new(ShiftType.None, ShiftPayType.None, 0);
|
||||
FamilyAllowance familyAllowance = new(command.FamilyAllowance.FamilyAllowanceType, command.FamilyAllowance.Value);
|
||||
LeavePay leavePay = new(command.LeavePay.LeavePayType, command.LeavePay.Value);
|
||||
InsuranceDeduction insuranceDeduction = new(command.InsuranceDeduction.InsuranceDeductionType, command.InsuranceDeduction.Value);
|
||||
@@ -248,12 +337,22 @@ public class CustomizeWorkshopSettingsApplication(ICustomizeWorkshopSettingsRepo
|
||||
|
||||
double salary = command.Salary.MoneyToDouble();
|
||||
|
||||
var employeesShifts = command.ShiftViewModel.Select(x => new CustomizeWorkshopEmployeeSettingsShift(x.StartTime, x.EndTime, x.Placement)).ToList();
|
||||
var employeesShifts =
|
||||
command.ShiftViewModel.Select(x =>
|
||||
{
|
||||
if (!TimeOnly.TryParseExact(x.StartTime, "HH:mm", out TimeOnly start))
|
||||
throw new InvalidDataException();
|
||||
if (!TimeOnly.TryParseExact(x.EndTime, "HH:mm", out TimeOnly end))
|
||||
throw new InvalidDataException();
|
||||
|
||||
return new CustomizeWorkshopEmployeeSettingsShift(start, end, x.Placement);
|
||||
|
||||
}).ToList();
|
||||
|
||||
//change employee data manually. It changes the 'IsChanged' property to true.
|
||||
entity.EditEmployeesAndMakeIsChangeTrue(employeesShifts, salary,fridayPay, overTimePay, baseYearsPay,
|
||||
entity.EditEmployeesAndMakeIsChangeTrue(employeesShifts, salary, fridayPay, overTimePay, baseYearsPay,
|
||||
bonusesPay, nightWorkPay, marriedAllowance, shiftPay, familyAllowance, leavePay,
|
||||
insuranceDeduction, fineAbsenceDeduction, lateToWork, earlyExit);
|
||||
insuranceDeduction, fineAbsenceDeduction, lateToWork, earlyExit, command.FridayWork, command.HolidayWork);
|
||||
|
||||
|
||||
_customizeWorkshopEmployeeSettingsRepository.SaveChanges();
|
||||
@@ -290,66 +389,44 @@ public class CustomizeWorkshopSettingsApplication(ICustomizeWorkshopSettingsRepo
|
||||
// It will Get the Workshop Settings with its groups and the employees of groups.
|
||||
public CustomizeWorkshopSettingsViewModel GetWorkshopSettingsByWorkshopId(long workshopId)
|
||||
{
|
||||
var user = _authHelper.CurrentAccountInfo();
|
||||
|
||||
|
||||
#region Validation
|
||||
|
||||
if (workshopId is < 1)
|
||||
return new();
|
||||
|
||||
var record = _customizeWorkshopSettingsRepository.GetWorkshopSettingsByWorkshopId(workshopId);
|
||||
|
||||
if (record == null)
|
||||
return new();
|
||||
|
||||
#endregion
|
||||
|
||||
return new CustomizeWorkshopSettingsViewModel()
|
||||
{
|
||||
Id = record.id,
|
||||
Name = user.WorkshopList.FirstOrDefault(w => w.Id == record.WorkshopId)?.Name,
|
||||
GroupSettings = record.CustomizeWorkshopGroupSettingsCollection.Select(x =>
|
||||
new CustomizeWorkshopGroupSettingsViewModel()
|
||||
{
|
||||
Id = x.id,
|
||||
GroupName = x.GroupName,
|
||||
RollCallWorkshopEmployeesSettings = x.CustomizeWorkshopEmployeeSettingsCollection.Select(y =>
|
||||
{
|
||||
var employee = _employeeRepository.Get(y.EmployeeId);
|
||||
return new CustomizeWorkshopEmployeeSettingsViewModel()
|
||||
{
|
||||
Id = y.id,
|
||||
EmployeeId = y.EmployeeId,
|
||||
IsChanged = y.IsChanged,
|
||||
Name = $"{employee.FName} {employee.LName}",
|
||||
RollCallWorkshopShifts = y.CustomizeWorkshopEmployeeSettingsShifts.Select(s =>
|
||||
new CustomizeWorkshopShiftViewModel()
|
||||
{
|
||||
EndTime = s.EndTime,
|
||||
Placement = s.Placement,
|
||||
StartTime = s.StartTime
|
||||
}).ToList(),
|
||||
Salary = y.Salary,
|
||||
var record = _customizeWorkshopSettingsRepository.GetWorkshopSettingsByWorkshopId(workshopId);
|
||||
|
||||
};
|
||||
}).ToList(),
|
||||
Salary = x.Salary,
|
||||
RollCallWorkshopShifts = x.CustomizeWorkshopGroupSettingsShifts.Select(s =>
|
||||
new CustomizeWorkshopShiftViewModel()
|
||||
{
|
||||
EndTime = s.EndTime,
|
||||
Placement = s.Placement,
|
||||
StartTime = s.StartTime
|
||||
|
||||
}).ToList(),
|
||||
}).ToList(),
|
||||
};
|
||||
return record;
|
||||
}
|
||||
|
||||
public CustomizeWorkshopEmployeeSettingsViewModel GetEmployeeSettingsByEmployeeIdGroupSettingsId(long workshopId,
|
||||
long employeeId)
|
||||
public CustomizeWorkshopEmployeeSettingsViewModel GetEmployeeSettingsByEmployeeIdGroupSettingsId(long workshopId, long employeeId)
|
||||
{
|
||||
throw new System.NotImplementedException();
|
||||
var entity =
|
||||
_customizeWorkshopEmployeeSettingsRepository.GetByEmployeeIdGroupSettingsId(workshopId, employeeId);
|
||||
if (entity == null)
|
||||
return new();
|
||||
|
||||
string employeeFullName = _employeeRepository.Get(entity.EmployeeId).FullName;
|
||||
return new CustomizeWorkshopEmployeeSettingsViewModel()
|
||||
{
|
||||
EmployeeId = entity.EmployeeId,
|
||||
Id = entity.id,
|
||||
IsChanged = entity.IsChanged,
|
||||
Name = entity.CustomizeWorkshopGroupSettings.GroupName,
|
||||
EmployeeFullName = employeeFullName,
|
||||
Salary = entity.Salary,
|
||||
RollCallWorkshopShifts = entity.CustomizeWorkshopEmployeeSettingsShifts.Select(x =>
|
||||
new CustomizeWorkshopShiftViewModel()
|
||||
{
|
||||
EndTime = x.EndTime.ToString("HH:mm"),
|
||||
Placement = x.Placement,
|
||||
StartTime = x.StartTime.ToString("HH:mm")
|
||||
}).ToList()
|
||||
};
|
||||
}
|
||||
|
||||
public List<CustomizeWorkshopEmployeeSettingsViewModel> GetEmployeeSettingsByGroupSettingsId(long groupSettingsId)
|
||||
@@ -364,6 +441,8 @@ public class CustomizeWorkshopSettingsApplication(ICustomizeWorkshopSettingsRepo
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
public List<EmployeeViewModel> GetEmployeesWithoutGroup(long rollCallWorkshopSettingId)
|
||||
{
|
||||
return _customizeWorkshopGroupSettingsRepository.GetEmployeesWithoutGroup(rollCallWorkshopSettingId);
|
||||
@@ -373,5 +452,110 @@ public class CustomizeWorkshopSettingsApplication(ICustomizeWorkshopSettingsRepo
|
||||
{
|
||||
return _customizeWorkshopSettingsRepository.GetEmployeeSettingsByWorkshopIdGroupSettingsId(workshopId, employeeId);
|
||||
}
|
||||
public EditCustomizeWorkshopSettings GetWorkshopSettingsDetails(long workshopId)
|
||||
{
|
||||
return _customizeWorkshopSettingsRepository.GetWorkshopSettingsDetails(workshopId);
|
||||
}
|
||||
|
||||
public EditCustomizeWorkshopGroupSettings GetCustomizeWorkshopGroupSettingsDetails(long groupId)
|
||||
{
|
||||
return _customizeWorkshopGroupSettingsRepository.GetCustomizeWorkshopGroupSettingsDetails(groupId);
|
||||
}
|
||||
|
||||
public EditCustomizeEmployeeSettings GetCustomizeEmployeeSettingsDetails(long customizeEmployeeId)
|
||||
{
|
||||
return _customizeWorkshopEmployeeSettingsRepository.GetCustomizeEmployeeSettingsDetails(customizeEmployeeId);
|
||||
}
|
||||
|
||||
public OperationResult EditSimpleRollCallGroupSetting(EditCustomizeWorkshopGroupSettings command)
|
||||
{
|
||||
OperationResult op = new();
|
||||
|
||||
#region Validation
|
||||
|
||||
if (string.IsNullOrWhiteSpace(command.Name))
|
||||
return op.Failed("لطفا نام گروه را وارد کنید");
|
||||
|
||||
if (string.IsNullOrWhiteSpace(command.Salary))
|
||||
return op.Failed("لطفا حقوق مورد نظر خود را وارد کنید");
|
||||
|
||||
if (!_customizeWorkshopGroupSettingsRepository.Exists(x => x.id == command.Id))
|
||||
return op.Failed("چنین ساعت کاری برای گروه وجود ندارد");
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
var entity = _customizeWorkshopGroupSettingsRepository.GetWithEmployees(command.Id);
|
||||
var employeeIds = command.ChangeSettingEmployeeIsChange ? entity.CustomizeWorkshopEmployeeSettingsCollection.Select(x => x.id).ToList() : entity.CustomizeWorkshopEmployeeSettingsCollection.Where(x => !x.IsChanged).Select(x => x.id).ToList();
|
||||
|
||||
double salary = command.Salary.MoneyToDouble();
|
||||
|
||||
var employeesShifts =
|
||||
command.ShiftViewModel.Select(x =>
|
||||
{
|
||||
if (!TimeOnly.TryParseExact(x.StartTime, "HH:mm", out TimeOnly start))
|
||||
throw new InvalidDataException();
|
||||
if (!TimeOnly.TryParseExact(x.EndTime, "HH:mm", out TimeOnly end))
|
||||
throw new InvalidDataException();
|
||||
|
||||
return new CustomizeWorkshopGroupSettingsShift(start, end, x.Placement);
|
||||
|
||||
}).ToList();
|
||||
|
||||
entity.EditSimpleAndOverwriteOnEmployee(command.Name, salary, employeeIds, employeesShifts);
|
||||
|
||||
_customizeWorkshopGroupSettingsRepository.SaveChanges();
|
||||
return op.Succcedded();
|
||||
}
|
||||
|
||||
#region Vafa
|
||||
|
||||
public OperationResult EditSimpleRollCallEmployeeGroupSetting(EditCustomizeEmployeeSettings command)
|
||||
{
|
||||
OperationResult op = new();
|
||||
|
||||
var entity = _customizeWorkshopEmployeeSettingsRepository.Get(command.Id);
|
||||
|
||||
#region Validation
|
||||
|
||||
if (entity == null)
|
||||
return op.Failed("چنین پرسنلی وجود ندارد");
|
||||
|
||||
if (string.IsNullOrWhiteSpace(command.Salary))
|
||||
return op.Failed("لطفا حقوق مورد نظر خود را وارد کنید");
|
||||
|
||||
#endregion
|
||||
|
||||
double salary = command.Salary.MoneyToDouble();
|
||||
|
||||
var employeesShifts =
|
||||
command.ShiftViewModel.Select(x =>
|
||||
{
|
||||
if (!TimeOnly.TryParseExact(x.StartTime, "HH:mm", out TimeOnly start))
|
||||
throw new InvalidDataException();
|
||||
if (!TimeOnly.TryParseExact(x.EndTime, "HH:mm", out TimeOnly end))
|
||||
throw new InvalidDataException();
|
||||
|
||||
return new CustomizeWorkshopEmployeeSettingsShift(start, end, x.Placement);
|
||||
|
||||
}).ToList();
|
||||
|
||||
entity.SimpleEditEmployeesAndMakeIsChangeTrue(employeesShifts, salary);
|
||||
|
||||
_customizeWorkshopGroupSettingsRepository.SaveChanges();
|
||||
return op.Succcedded();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
public OperationResult RemoveGroupSettings(long groupSettingsId)
|
||||
{
|
||||
OperationResult op = new OperationResult();
|
||||
var entity = _customizeWorkshopGroupSettingsRepository.GetWithEmployees(groupSettingsId);
|
||||
if (!entity.CustomizeWorkshopEmployeeSettingsCollection.Any())
|
||||
op.Failed("نمیتونید گروهی که پرسنل در آن وجود ارد را حذف کنید");
|
||||
|
||||
_customizeWorkshopGroupSettingsRepository.Remove(entity.id);
|
||||
return op.Succcedded();
|
||||
}
|
||||
}
|
||||
@@ -16,17 +16,23 @@ public class CustomizeWorkshopEmployeeSettingsMapping : IEntityTypeConfiguration
|
||||
|
||||
builder.HasOne(x => x.CustomizeWorkshopGroupSettings).WithMany(x => x.CustomizeWorkshopEmployeeSettingsCollection)
|
||||
.HasForeignKey(x => x.CustomizeWorkshopGroupSettingId);
|
||||
|
||||
builder.Property(x => x.FridayWork).HasConversion(
|
||||
v => v.ToString("d"),
|
||||
v => (FridayWork)Enum.Parse(typeof(FridayWork), v)).HasMaxLength(1);
|
||||
builder.HasKey(x => x.id);
|
||||
builder.Property(x => x.HolidayWork).HasConversion(
|
||||
v => v.ToString("d"),
|
||||
v => (HolidayWork)Enum.Parse(typeof(HolidayWork), v)).HasMaxLength(1);
|
||||
builder.OwnsOne(x => x.BaseYearsPay, baseYearsPay =>
|
||||
{
|
||||
baseYearsPay.Property(a => a.BaseYearsPayType).HasConversion(
|
||||
v => v.ToString("d"),
|
||||
v => (BaseYearsPayType)Enum.Parse(typeof(BaseYearsPayType), v)).HasMaxLength(1).HasColumnName("BaseYearsPay_BaseYearsPayType");
|
||||
baseYearsPay.Property(x => x.PaymentType).HasConversion(
|
||||
v => v.ToString("d"),
|
||||
v => (BaseYearsPaymentType)Enum.Parse(typeof(BaseYearsPaymentType), v)).HasMaxLength(1).HasColumnName("BaseYearsPay_PaymentType");
|
||||
baseYearsPay.Property(a => a.PaymentType).HasConversion(
|
||||
v => v.ToString("d"),
|
||||
v => (BaseYearsPaymentType)Enum.Parse(typeof(BaseYearsPaymentType), v)).HasMaxLength(1).HasColumnName("BaseYearsPay_PaymentType");
|
||||
|
||||
baseYearsPay.Property(x => x.Value).HasColumnName("BaseYearsPay_Value");
|
||||
baseYearsPay.Property(x => x.Value).HasColumnName("BaseYearsPay_Value");
|
||||
|
||||
});
|
||||
|
||||
@@ -191,8 +197,7 @@ public class CustomizeWorkshopEmployeeSettingsMapping : IEntityTypeConfiguration
|
||||
shift.ToTable("CustomizeWorkshopEmployeeSettingsShifts");
|
||||
shift.HasKey(x => x.id);
|
||||
shift.Property(x => x.Placement).HasConversion<string>().HasMaxLength(20);
|
||||
shift.Property(x => x.StartTime).HasMaxLength(5);
|
||||
shift.Property(x => x.EndTime).HasMaxLength(5);
|
||||
|
||||
|
||||
shift.WithOwner(x => x.CustomizeWorkshopEmployeeSettings).HasForeignKey(a => a.CustomizeWorkshopEmployeeSettingsId);
|
||||
|
||||
|
||||
@@ -12,7 +12,13 @@ public class CustomizeWorkshopGroupSettingsMapping : IEntityTypeConfiguration<Cu
|
||||
{
|
||||
builder.ToTable("CustomizeWorkshopGroupSettings");
|
||||
builder.HasKey(x => x.id);
|
||||
|
||||
builder.Property(x => x.FridayWork).HasConversion(
|
||||
v => v.ToString("d"),
|
||||
v => (FridayWork)Enum.Parse(typeof(FridayWork), v)).HasMaxLength(1);
|
||||
builder.HasKey(x => x.id);
|
||||
builder.Property(x => x.HolidayWork).HasConversion(
|
||||
v => v.ToString("d"),
|
||||
v => (HolidayWork)Enum.Parse(typeof(HolidayWork), v)).HasMaxLength(1);
|
||||
builder.Property(x => x.GroupName).HasMaxLength(120);
|
||||
|
||||
builder.OwnsOne(x => x.BaseYearsPay, baseYearsPay =>
|
||||
@@ -20,11 +26,11 @@ public class CustomizeWorkshopGroupSettingsMapping : IEntityTypeConfiguration<Cu
|
||||
baseYearsPay.Property(a => a.BaseYearsPayType).HasConversion(
|
||||
v => v.ToString("d"),
|
||||
v => (BaseYearsPayType)Enum.Parse(typeof(BaseYearsPayType), v)).HasMaxLength(1).HasColumnName("BaseYearsPay_BaseYearsPayType");
|
||||
baseYearsPay.Property(x => x.PaymentType).HasConversion(
|
||||
v => v.ToString("d"),
|
||||
v => (BaseYearsPaymentType)Enum.Parse(typeof(BaseYearsPaymentType), v)).HasMaxLength(1).HasColumnName("BaseYearsPay_PaymentType");
|
||||
baseYearsPay.Property(a => a.PaymentType).HasConversion(
|
||||
v => v.ToString("d"),
|
||||
v => (BaseYearsPaymentType)Enum.Parse(typeof(BaseYearsPaymentType), v)).HasMaxLength(1).HasColumnName("BaseYearsPay_PaymentType");
|
||||
|
||||
baseYearsPay.Property(x => x.Value).HasColumnName("BaseYearsPay_Value");
|
||||
baseYearsPay.Property(x => x.Value).HasColumnName("BaseYearsPay_Value");
|
||||
|
||||
});
|
||||
|
||||
@@ -190,8 +196,7 @@ public class CustomizeWorkshopGroupSettingsMapping : IEntityTypeConfiguration<Cu
|
||||
shift.ToTable("CustomizeWorkshopGroupSettingsShifts");
|
||||
shift.HasKey(x => x.id);
|
||||
shift.Property(x => x.Placement).HasConversion<string>().HasMaxLength(20);
|
||||
shift.Property(x => x.StartTime).HasMaxLength(5);
|
||||
shift.Property(x => x.EndTime).HasMaxLength(5);
|
||||
|
||||
|
||||
shift.WithOwner(x=>x.CustomizeWorkshopGroupSettings).HasForeignKey(a => a.CustomizeWorkshopGroupSettingsId);
|
||||
|
||||
|
||||
@@ -12,21 +12,36 @@ public class CustomizeWorkshopSettingsMapping:IEntityTypeConfiguration<Customize
|
||||
{
|
||||
builder.ToTable("CustomizeWorkshopSettings");
|
||||
builder.HasKey(x => x.id);
|
||||
builder.Property(x => x.FridayWork).HasConversion(
|
||||
v => v.ToString("d"),
|
||||
v => (FridayWork)Enum.Parse(typeof(FridayWork), v)).HasMaxLength(1);
|
||||
|
||||
builder.Property(x => x.BonusesPaysInEndOfMonth).HasConversion(
|
||||
v => v.ToString("d"),
|
||||
v => (BonusesPaysInEndOfYear)Enum.Parse(typeof(BonusesPaysInEndOfYear), v)).HasMaxLength(1);
|
||||
builder.Property(x => x.BaseYearsPayInEndOfYear).HasConversion(
|
||||
v => v.ToString("d"),
|
||||
v => (BaseYearsPayInEndOfYear)Enum.Parse(typeof(BaseYearsPayInEndOfYear), v)).HasMaxLength(1);
|
||||
|
||||
builder.HasKey(x => x.id);
|
||||
builder.Property(x => x.HolidayWork).HasConversion(
|
||||
v => v.ToString("d"),
|
||||
v => (HolidayWork)Enum.Parse(typeof(HolidayWork), v)).HasMaxLength(1);
|
||||
builder.OwnsOne(x => x.BaseYearsPay, baseYearsPay =>
|
||||
{
|
||||
baseYearsPay.Property(a => a.BaseYearsPayType).HasConversion(
|
||||
v => v.ToString("d"),
|
||||
v => (BaseYearsPayType)Enum.Parse(typeof(BaseYearsPayType), v)).HasMaxLength(1).HasColumnName("BaseYearsPay_BaseYearsPayType");
|
||||
});
|
||||
baseYearsPay.Property(a => a.PaymentType).HasConversion(
|
||||
v => v.ToString("d"),
|
||||
v => (BaseYearsPaymentType)Enum.Parse(typeof(BaseYearsPaymentType), v)).HasMaxLength(1).HasColumnName("BaseYearsPay_PaymentType");
|
||||
});
|
||||
|
||||
builder.OwnsOne(x => x.BaseYearsPay, baseYearsPay =>
|
||||
{
|
||||
baseYearsPay.Property(a => a.BaseYearsPayType).HasConversion(
|
||||
v => v.ToString("d"),
|
||||
v => (BaseYearsPayType)Enum.Parse(typeof(BaseYearsPayType), v)).HasMaxLength(1).HasColumnName("BaseYearsPay_BaseYearsPayType");
|
||||
baseYearsPay.Property(x => x.PaymentType).HasConversion(
|
||||
v => v.ToString("d"),
|
||||
v => (BaseYearsPaymentType)Enum.Parse(typeof(BaseYearsPaymentType), v)).HasMaxLength(1).HasColumnName("BaseYearsPay_PaymentType");
|
||||
|
||||
baseYearsPay.Property(x => x.Value).HasColumnName("BaseYearsPay_Value");
|
||||
|
||||
@@ -194,13 +209,14 @@ public class CustomizeWorkshopSettingsMapping:IEntityTypeConfiguration<Customize
|
||||
shift.ToTable("CustomizeWorkshopSettingsShifts");
|
||||
shift.HasKey(x => x.id);
|
||||
shift.Property(x => x.Placement).HasConversion<string>().HasMaxLength(20);
|
||||
shift.Property(x => x.StartTime).HasMaxLength(5);
|
||||
shift.Property(x => x.EndTime).HasMaxLength(5);
|
||||
|
||||
|
||||
shift.WithOwner(x=>x.CustomizeWorkshopSettings).HasForeignKey(a => a.CustomizeWorkshopSettingsId);
|
||||
|
||||
|
||||
});
|
||||
|
||||
|
||||
|
||||
builder.HasMany(x => x.CustomizeWorkshopGroupSettingsCollection).WithOne(x => x.CustomizeWorkshopSettings)
|
||||
.HasForeignKey(x => x.CustomizeWorkshopSettingId);
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,84 @@
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace CompanyManagment.EFCore.Migrations
|
||||
{
|
||||
/// <inheritdoc />
|
||||
public partial class RemoveStartEndTypeinCustomizeWorkshopSettings : Migration
|
||||
{
|
||||
/// <inheritdoc />
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DropColumn(
|
||||
name: "EndTime",
|
||||
table: "CustomizeWorkshopSettingsShifts");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "StartTime",
|
||||
table: "CustomizeWorkshopSettingsShifts");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "EndTime",
|
||||
table: "CustomizeWorkshopGroupSettingsShifts");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "StartTime",
|
||||
table: "CustomizeWorkshopGroupSettingsShifts");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "EndTime",
|
||||
table: "CustomizeWorkshopEmployeeSettingsShifts");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "StartTime",
|
||||
table: "CustomizeWorkshopEmployeeSettingsShifts");
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.AddColumn<string>(
|
||||
name: "EndTime",
|
||||
table: "CustomizeWorkshopSettingsShifts",
|
||||
type: "nvarchar(5)",
|
||||
maxLength: 5,
|
||||
nullable: true);
|
||||
|
||||
migrationBuilder.AddColumn<string>(
|
||||
name: "StartTime",
|
||||
table: "CustomizeWorkshopSettingsShifts",
|
||||
type: "nvarchar(5)",
|
||||
maxLength: 5,
|
||||
nullable: true);
|
||||
|
||||
migrationBuilder.AddColumn<string>(
|
||||
name: "EndTime",
|
||||
table: "CustomizeWorkshopGroupSettingsShifts",
|
||||
type: "nvarchar(5)",
|
||||
maxLength: 5,
|
||||
nullable: true);
|
||||
|
||||
migrationBuilder.AddColumn<string>(
|
||||
name: "StartTime",
|
||||
table: "CustomizeWorkshopGroupSettingsShifts",
|
||||
type: "nvarchar(5)",
|
||||
maxLength: 5,
|
||||
nullable: true);
|
||||
|
||||
migrationBuilder.AddColumn<string>(
|
||||
name: "EndTime",
|
||||
table: "CustomizeWorkshopEmployeeSettingsShifts",
|
||||
type: "nvarchar(5)",
|
||||
maxLength: 5,
|
||||
nullable: true);
|
||||
|
||||
migrationBuilder.AddColumn<string>(
|
||||
name: "StartTime",
|
||||
table: "CustomizeWorkshopEmployeeSettingsShifts",
|
||||
type: "nvarchar(5)",
|
||||
maxLength: 5,
|
||||
nullable: true);
|
||||
}
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,85 @@
|
||||
using System;
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace CompanyManagment.EFCore.Migrations
|
||||
{
|
||||
/// <inheritdoc />
|
||||
public partial class CreateStartEndTypeinCustomizeWorkshopSettings : Migration
|
||||
{
|
||||
/// <inheritdoc />
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.AddColumn<TimeOnly>(
|
||||
name: "EndTime",
|
||||
table: "CustomizeWorkshopSettingsShifts",
|
||||
type: "time",
|
||||
nullable: false,
|
||||
defaultValue: new TimeOnly(0, 0, 0));
|
||||
|
||||
migrationBuilder.AddColumn<TimeOnly>(
|
||||
name: "StartTime",
|
||||
table: "CustomizeWorkshopSettingsShifts",
|
||||
type: "time",
|
||||
nullable: false,
|
||||
defaultValue: new TimeOnly(0, 0, 0));
|
||||
|
||||
migrationBuilder.AddColumn<TimeOnly>(
|
||||
name: "EndTime",
|
||||
table: "CustomizeWorkshopGroupSettingsShifts",
|
||||
type: "time",
|
||||
nullable: false,
|
||||
defaultValue: new TimeOnly(0, 0, 0));
|
||||
|
||||
migrationBuilder.AddColumn<TimeOnly>(
|
||||
name: "StartTime",
|
||||
table: "CustomizeWorkshopGroupSettingsShifts",
|
||||
type: "time",
|
||||
nullable: false,
|
||||
defaultValue: new TimeOnly(0, 0, 0));
|
||||
|
||||
migrationBuilder.AddColumn<TimeOnly>(
|
||||
name: "EndTime",
|
||||
table: "CustomizeWorkshopEmployeeSettingsShifts",
|
||||
type: "time",
|
||||
nullable: false,
|
||||
defaultValue: new TimeOnly(0, 0, 0));
|
||||
|
||||
migrationBuilder.AddColumn<TimeOnly>(
|
||||
name: "StartTime",
|
||||
table: "CustomizeWorkshopEmployeeSettingsShifts",
|
||||
type: "time",
|
||||
nullable: false,
|
||||
defaultValue: new TimeOnly(0, 0, 0));
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DropColumn(
|
||||
name: "EndTime",
|
||||
table: "CustomizeWorkshopSettingsShifts");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "StartTime",
|
||||
table: "CustomizeWorkshopSettingsShifts");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "EndTime",
|
||||
table: "CustomizeWorkshopGroupSettingsShifts");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "StartTime",
|
||||
table: "CustomizeWorkshopGroupSettingsShifts");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "EndTime",
|
||||
table: "CustomizeWorkshopEmployeeSettingsShifts");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "StartTime",
|
||||
table: "CustomizeWorkshopEmployeeSettingsShifts");
|
||||
}
|
||||
}
|
||||
}
|
||||
7367
CompanyManagment.EFCore/Migrations/20241022162733_updateCustomizeWorkshopSettings.Designer.cs
generated
Normal file
7367
CompanyManagment.EFCore/Migrations/20241022162733_updateCustomizeWorkshopSettings.Designer.cs
generated
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,82 @@
|
||||
using System;
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace CompanyManagment.EFCore.Migrations
|
||||
{
|
||||
/// <inheritdoc />
|
||||
public partial class updateCustomizeWorkshopSettings : Migration
|
||||
{
|
||||
/// <inheritdoc />
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
|
||||
|
||||
|
||||
|
||||
migrationBuilder.AddColumn<string>(
|
||||
name: "BaseYearsPayInEndOfYear",
|
||||
table: "CustomizeWorkshopSettings",
|
||||
type: "nvarchar(1)",
|
||||
maxLength: 1,
|
||||
nullable: false,
|
||||
defaultValue: "");
|
||||
|
||||
migrationBuilder.AddColumn<string>(
|
||||
name: "BonusesPaysInEndOfMonth",
|
||||
table: "CustomizeWorkshopSettings",
|
||||
type: "nvarchar(1)",
|
||||
maxLength: 1,
|
||||
nullable: false,
|
||||
defaultValue: "");
|
||||
|
||||
migrationBuilder.AddColumn<TimeOnly>(
|
||||
name: "EndTimeOffSet",
|
||||
table: "CustomizeWorkshopSettings",
|
||||
type: "time",
|
||||
nullable: false,
|
||||
defaultValue: new TimeOnly(0, 0, 0));
|
||||
|
||||
migrationBuilder.AddColumn<int>(
|
||||
name: "LeavePermittedDays",
|
||||
table: "CustomizeWorkshopSettings",
|
||||
type: "int",
|
||||
nullable: false,
|
||||
defaultValue: 0);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
|
||||
|
||||
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "BaseYearsPayInEndOfYear",
|
||||
table: "CustomizeWorkshopSettings");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "BonusesPaysInEndOfMonth",
|
||||
table: "CustomizeWorkshopSettings");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "EndTimeOffSet",
|
||||
table: "CustomizeWorkshopSettings");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "LeavePermittedDays",
|
||||
table: "CustomizeWorkshopSettings");
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
7367
CompanyManagment.EFCore/Migrations/20241022171825_updateCustomizeWorkshopSettings2.Designer.cs
generated
Normal file
7367
CompanyManagment.EFCore/Migrations/20241022171825_updateCustomizeWorkshopSettings2.Designer.cs
generated
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,22 @@
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace CompanyManagment.EFCore.Migrations
|
||||
{
|
||||
/// <inheritdoc />
|
||||
public partial class updateCustomizeWorkshopSettings2 : Migration
|
||||
{
|
||||
/// <inheritdoc />
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
7367
CompanyManagment.EFCore/Migrations/20241022172647_AddFridayWorkandHolidayWork.Designer.cs
generated
Normal file
7367
CompanyManagment.EFCore/Migrations/20241022172647_AddFridayWorkandHolidayWork.Designer.cs
generated
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,93 @@
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace CompanyManagment.EFCore.Migrations
|
||||
{
|
||||
/// <inheritdoc />
|
||||
public partial class AddFridayWorkandHolidayWork : Migration
|
||||
{
|
||||
/// <inheritdoc />
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.AddColumn<string>(
|
||||
name: "FridayWork",
|
||||
table: "CustomizeWorkshopSettings",
|
||||
type: "nvarchar(1)",
|
||||
maxLength: 1,
|
||||
nullable: false,
|
||||
defaultValue: "");
|
||||
|
||||
migrationBuilder.AddColumn<string>(
|
||||
name: "HolidayWork",
|
||||
table: "CustomizeWorkshopSettings",
|
||||
type: "nvarchar(1)",
|
||||
maxLength: 1,
|
||||
nullable: false,
|
||||
defaultValue: "");
|
||||
|
||||
migrationBuilder.AddColumn<string>(
|
||||
name: "FridayWork",
|
||||
table: "CustomizeWorkshopGroupSettings",
|
||||
type: "nvarchar(1)",
|
||||
maxLength: 1,
|
||||
nullable: false,
|
||||
defaultValue: "");
|
||||
|
||||
migrationBuilder.AddColumn<string>(
|
||||
name: "HolidayWork",
|
||||
table: "CustomizeWorkshopGroupSettings",
|
||||
type: "nvarchar(1)",
|
||||
maxLength: 1,
|
||||
nullable: false,
|
||||
defaultValue: "");
|
||||
|
||||
migrationBuilder.AddColumn<string>(
|
||||
name: "FridayWork",
|
||||
table: "CustomizeWorkshopEmployeeSettings",
|
||||
type: "nvarchar(1)",
|
||||
maxLength: 1,
|
||||
nullable: false,
|
||||
defaultValue: "");
|
||||
|
||||
migrationBuilder.AddColumn<string>(
|
||||
name: "HolidayWork",
|
||||
table: "CustomizeWorkshopEmployeeSettings",
|
||||
type: "nvarchar(1)",
|
||||
maxLength: 1,
|
||||
nullable: false,
|
||||
defaultValue: "");
|
||||
|
||||
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "FridayWork",
|
||||
table: "CustomizeWorkshopSettings");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "HolidayWork",
|
||||
table: "CustomizeWorkshopSettings");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "FridayWork",
|
||||
table: "CustomizeWorkshopGroupSettings");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "HolidayWork",
|
||||
table: "CustomizeWorkshopGroupSettings");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "FridayWork",
|
||||
table: "CustomizeWorkshopEmployeeSettings");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "HolidayWork",
|
||||
table: "CustomizeWorkshopEmployeeSettings");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -912,6 +912,16 @@ namespace CompanyManagment.EFCore.Migrations
|
||||
b.Property<long>("EmployeeId")
|
||||
.HasColumnType("bigint");
|
||||
|
||||
b.Property<string>("FridayWork")
|
||||
.IsRequired()
|
||||
.HasMaxLength(1)
|
||||
.HasColumnType("nvarchar(1)");
|
||||
|
||||
b.Property<string>("HolidayWork")
|
||||
.IsRequired()
|
||||
.HasMaxLength(1)
|
||||
.HasColumnType("nvarchar(1)");
|
||||
|
||||
b.Property<bool>("IsChanged")
|
||||
.HasColumnType("bit");
|
||||
|
||||
@@ -942,10 +952,20 @@ namespace CompanyManagment.EFCore.Migrations
|
||||
b.Property<long>("CustomizeWorkshopSettingId")
|
||||
.HasColumnType("bigint");
|
||||
|
||||
b.Property<string>("FridayWork")
|
||||
.IsRequired()
|
||||
.HasMaxLength(1)
|
||||
.HasColumnType("nvarchar(1)");
|
||||
|
||||
b.Property<string>("GroupName")
|
||||
.HasMaxLength(120)
|
||||
.HasColumnType("nvarchar(120)");
|
||||
|
||||
b.Property<string>("HolidayWork")
|
||||
.IsRequired()
|
||||
.HasMaxLength(1)
|
||||
.HasColumnType("nvarchar(1)");
|
||||
|
||||
b.Property<double>("Salary")
|
||||
.HasColumnType("float");
|
||||
|
||||
@@ -964,12 +984,38 @@ namespace CompanyManagment.EFCore.Migrations
|
||||
|
||||
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long>("id"));
|
||||
|
||||
b.Property<string>("BaseYearsPayInEndOfYear")
|
||||
.IsRequired()
|
||||
.HasMaxLength(1)
|
||||
.HasColumnType("nvarchar(1)");
|
||||
|
||||
b.Property<string>("BonusesPaysInEndOfMonth")
|
||||
.IsRequired()
|
||||
.HasMaxLength(1)
|
||||
.HasColumnType("nvarchar(1)");
|
||||
|
||||
b.Property<DateTime>("CreationDate")
|
||||
.HasColumnType("datetime2");
|
||||
|
||||
b.Property<int>("Currency")
|
||||
.HasColumnType("int");
|
||||
|
||||
b.Property<TimeOnly>("EndTimeOffSet")
|
||||
.HasColumnType("time");
|
||||
|
||||
b.Property<string>("FridayWork")
|
||||
.IsRequired()
|
||||
.HasMaxLength(1)
|
||||
.HasColumnType("nvarchar(1)");
|
||||
|
||||
b.Property<string>("HolidayWork")
|
||||
.IsRequired()
|
||||
.HasMaxLength(1)
|
||||
.HasColumnType("nvarchar(1)");
|
||||
|
||||
b.Property<int>("LeavePermittedDays")
|
||||
.HasColumnType("int");
|
||||
|
||||
b.Property<int>("MaxMonthDays")
|
||||
.HasColumnType("int");
|
||||
|
||||
@@ -4954,18 +5000,16 @@ namespace CompanyManagment.EFCore.Migrations
|
||||
b1.Property<long>("CustomizeWorkshopEmployeeSettingsId")
|
||||
.HasColumnType("bigint");
|
||||
|
||||
b1.Property<string>("EndTime")
|
||||
.HasMaxLength(5)
|
||||
.HasColumnType("nvarchar(5)");
|
||||
b1.Property<TimeOnly>("EndTime")
|
||||
.HasColumnType("time");
|
||||
|
||||
b1.Property<string>("Placement")
|
||||
.IsRequired()
|
||||
.HasMaxLength(20)
|
||||
.HasColumnType("nvarchar(20)");
|
||||
|
||||
b1.Property<string>("StartTime")
|
||||
.HasMaxLength(5)
|
||||
.HasColumnType("nvarchar(5)");
|
||||
b1.Property<TimeOnly>("StartTime")
|
||||
.HasColumnType("time");
|
||||
|
||||
b1.HasKey("id");
|
||||
|
||||
@@ -5435,18 +5479,16 @@ namespace CompanyManagment.EFCore.Migrations
|
||||
b1.Property<long>("CustomizeWorkshopGroupSettingsId")
|
||||
.HasColumnType("bigint");
|
||||
|
||||
b1.Property<string>("EndTime")
|
||||
.HasMaxLength(5)
|
||||
.HasColumnType("nvarchar(5)");
|
||||
b1.Property<TimeOnly>("EndTime")
|
||||
.HasColumnType("time");
|
||||
|
||||
b1.Property<string>("Placement")
|
||||
.IsRequired()
|
||||
.HasMaxLength(20)
|
||||
.HasColumnType("nvarchar(20)");
|
||||
|
||||
b1.Property<string>("StartTime")
|
||||
.HasMaxLength(5)
|
||||
.HasColumnType("nvarchar(5)");
|
||||
b1.Property<TimeOnly>("StartTime")
|
||||
.HasColumnType("time");
|
||||
|
||||
b1.HasKey("id");
|
||||
|
||||
@@ -5916,18 +5958,16 @@ namespace CompanyManagment.EFCore.Migrations
|
||||
b1.Property<long>("CustomizeWorkshopSettingsId")
|
||||
.HasColumnType("bigint");
|
||||
|
||||
b1.Property<string>("EndTime")
|
||||
.HasMaxLength(5)
|
||||
.HasColumnType("nvarchar(5)");
|
||||
b1.Property<TimeOnly>("EndTime")
|
||||
.HasColumnType("time");
|
||||
|
||||
b1.Property<string>("Placement")
|
||||
.IsRequired()
|
||||
.HasMaxLength(20)
|
||||
.HasColumnType("nvarchar(20)");
|
||||
|
||||
b1.Property<string>("StartTime")
|
||||
.HasMaxLength(5)
|
||||
.HasColumnType("nvarchar(5)");
|
||||
b1.Property<TimeOnly>("StartTime")
|
||||
.HasColumnType("time");
|
||||
|
||||
b1.HasKey("id");
|
||||
|
||||
|
||||
@@ -1,6 +1,11 @@
|
||||
using _0_Framework.InfraStructure;
|
||||
using System.Linq;
|
||||
using _0_Framework.Application;
|
||||
using _0_Framework.InfraStructure;
|
||||
using Company.Domain.CustomizeWorkshopEmployeeSettingsAgg;
|
||||
using Company.Domain.CustomizeWorkshopEmployeeSettingsAgg.Entities;
|
||||
using CompanyManagment.App.Contracts.CustomizeWorkshopSettings;
|
||||
using CompanyManagment.App.Contracts.CustomizeWorkshopSettings.ValueObjectsViewModel;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
|
||||
namespace CompanyManagment.EFCore.Repository;
|
||||
|
||||
@@ -9,4 +14,88 @@ public class CustomizeWorkshopEmployeeSettingsRepository(CompanyContext companyC
|
||||
ICustomizeWorkshopEmployeeSettingsRepository
|
||||
{
|
||||
private readonly CompanyContext _companyContext = companyContext;
|
||||
public EditCustomizeEmployeeSettings GetCustomizeEmployeeSettingsDetails(long customizeEmployeeId)
|
||||
{
|
||||
var entity = _companyContext.CustomizeWorkshopEmployeeSettings.Find(customizeEmployeeId);
|
||||
if (entity == null)
|
||||
return new();
|
||||
return new EditCustomizeEmployeeSettings()
|
||||
{
|
||||
FridayWork = entity.FridayWork,
|
||||
FridayPay = new() { FridayPayType = entity.FridayPay.FridayPayType, Value = entity.FridayPay.Value },
|
||||
LateToWork = new()
|
||||
{
|
||||
LateToWorkTimeFinesVewModels = entity.LateToWork.LateToWorkTimeFines.Select(x =>
|
||||
new LateToWorkTimeFineVewModel() { FineMoney = x.FineMoney, Minute = x.Minute }).ToList(),
|
||||
Value = entity.LateToWork.Value, LateToWorkType = entity.LateToWork.LateToWorkType
|
||||
},
|
||||
HolidayWork = entity.HolidayWork,
|
||||
FineAbsenceDeduction = new()
|
||||
{
|
||||
Value = entity.FineAbsenceDeduction.Value,
|
||||
FineAbsenceDayOfWeekViewModels = entity.FineAbsenceDeduction.FineAbsenceDayOfWeekCollection
|
||||
.Select(x => new FineAbsenceDayOfWeekViewModel() { DayOfWeek = x.DayOfWeek }).ToList(),
|
||||
FineAbsenceDeductionType = entity.FineAbsenceDeduction.FineAbsenceDeductionType
|
||||
},
|
||||
EarlyExit = new()
|
||||
{
|
||||
EarlyExitTimeFinesViewModels = entity.EarlyExit.EarlyExitTimeFines.Select(x =>
|
||||
new EarlyExitTimeFineViewModel() { FineMoney = x.FineMoney, Minute = x.Minute }).ToList(),
|
||||
Value = entity.EarlyExit.Value, EarlyExitType = entity.EarlyExit.EarlyExitType
|
||||
},
|
||||
BonusesPay = new()
|
||||
{
|
||||
Value = entity.BonusesPay.Value, BonusesPayType = entity.BonusesPay.BonusesPayType,
|
||||
PaymentType = entity.BonusesPay.PaymentType
|
||||
},
|
||||
ShiftPay = new()
|
||||
{
|
||||
Value = entity.ShiftPay.Value, ShiftPayType = entity.ShiftPay.ShiftPayType,
|
||||
ShiftType = entity.ShiftPay.ShiftType
|
||||
},
|
||||
InsuranceDeduction = new()
|
||||
{
|
||||
Value = entity.InsuranceDeduction.Value,
|
||||
InsuranceDeductionType = entity.InsuranceDeduction.InsuranceDeductionType
|
||||
},
|
||||
OverTimePay = new()
|
||||
{
|
||||
OverTimePayType = entity.OverTimePay.OverTimePayType,
|
||||
Value = entity.OverTimePay.Value
|
||||
},
|
||||
BaseYearsPay = new()
|
||||
{
|
||||
BaseYearsPayType = entity.BaseYearsPay.BaseYearsPayType,
|
||||
Value = entity.BaseYearsPay.Value
|
||||
},
|
||||
NightWorkPay = new() { NightWorkingType = entity.NightWorkPay.NightWorkingType, Value = entity.NightWorkPay.Value },
|
||||
LeavePay = new() { Value = entity.LeavePay.Value, LeavePayType = entity.LeavePay.LeavePayType },
|
||||
MarriedAllowance = new()
|
||||
{
|
||||
Value = entity.MarriedAllowance.Value,
|
||||
MarriedAllowanceType = entity.MarriedAllowance.MarriedAllowanceType
|
||||
},
|
||||
FamilyAllowance = new()
|
||||
{
|
||||
FamilyAllowanceType = entity.FamilyAllowance.FamilyAllowanceType,
|
||||
Value = entity.FamilyAllowance.Value
|
||||
},
|
||||
Id = entity.id,
|
||||
Salary = entity.Salary.ToMoney(),
|
||||
ShiftViewModel = entity.CustomizeWorkshopEmployeeSettingsShifts.Select(x =>
|
||||
new CustomizeWorkshopShiftViewModel()
|
||||
{ EndTime = x.EndTime.ToString("HH:mm"), Placement = x.Placement, StartTime = x.StartTime.ToString("HH:mm") }).ToList(),
|
||||
WorkshopId = entity.WorkshopId,
|
||||
EmployeeFullName = _companyContext.Employees.Find(entity.EmployeeId)?.FullName,
|
||||
GroupId = entity.CustomizeWorkshopGroupSettingId,
|
||||
|
||||
|
||||
};
|
||||
}
|
||||
|
||||
public CustomizeWorkshopEmployeeSettings GetByEmployeeIdGroupSettingsId(long workshopId, long employeeId)
|
||||
{
|
||||
return _companyContext.CustomizeWorkshopEmployeeSettings.Include(x=>x.CustomizeWorkshopGroupSettings).FirstOrDefault(x =>
|
||||
x.WorkshopId == workshopId && x.EmployeeId == employeeId);
|
||||
}
|
||||
}
|
||||
@@ -1,10 +1,13 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using _0_Framework.Application;
|
||||
using _0_Framework.InfraStructure;
|
||||
using Company.Domain.CustomizeWorkshopGroupSettingsAgg;
|
||||
using Company.Domain.CustomizeWorkshopGroupSettingsAgg.Entities;
|
||||
using CompanyManagment.App.Contracts.CustomizeWorkshopSettings;
|
||||
using CompanyManagment.App.Contracts.CustomizeWorkshopSettings.ValueObjectsViewModel;
|
||||
using CompanyManagment.App.Contracts.Employee;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
|
||||
@@ -17,8 +20,9 @@ public class CustomizeWorkshopGroupSettingsRepository(CompanyContext companyCont
|
||||
private readonly CompanyContext _companyContext = companyContext;
|
||||
public CustomizeWorkshopGroupSettings GetIncludeWorkshopSettings(long id)
|
||||
{
|
||||
return _companyContext.CustomizeWorkshopGroupSettings.Include(x => x.CustomizeWorkshopSettings)
|
||||
.FirstOrDefault(x => x.id == id);
|
||||
|
||||
return _companyContext.CustomizeWorkshopGroupSettings.Include(x => x.CustomizeWorkshopSettings)
|
||||
.FirstOrDefault(x => x.id == id);
|
||||
}
|
||||
|
||||
public List<EmployeeViewModel> GetEmployeesWithoutGroup(long rollCallWorkshopSettingId)
|
||||
@@ -38,13 +42,13 @@ public class CustomizeWorkshopGroupSettingsRepository(CompanyContext companyCont
|
||||
var employees = _companyContext.Employees.Include(x => x.LeftWorks).Include(x => x.LeftWorkInsurances)
|
||||
.Where(x => x.LeftWorks.Any(y => y.WorkshopId == rollCallWorkshopSettings.WorkshopId && y.StartWorkDate <= dateNow && y.LeftWorkDate > dateNow) ||
|
||||
x.LeftWorkInsurances
|
||||
.Any(y => y.WorkshopId == rollCallWorkshopSettings.WorkshopId && y.StartWorkDate <= dateNow && (y.LeftWorkDate > dateNow || y.LeftWorkDate == null)) )
|
||||
.Any(y => y.WorkshopId == rollCallWorkshopSettings.WorkshopId && y.StartWorkDate <= dateNow && (y.LeftWorkDate > dateNow || y.LeftWorkDate == null)))
|
||||
.Select(x => new EmployeeViewModel()
|
||||
{
|
||||
Id = x.id,
|
||||
EmployeeFullName = $"{x.FName} {x.LName}"
|
||||
|
||||
}).Where(x=>!listOfEmployeeIdsHasGroup.Contains(x.Id)).ToList();
|
||||
}).Where(x => !listOfEmployeeIdsHasGroup.Contains(x.Id)).ToList();
|
||||
//_companyContext.LeftWorkList;
|
||||
//_companyContext.Employees.Where(x=> x.LeftWorks.any&& !listOfEmployeeIdsHasGroup.Contains(x.id)).Select()
|
||||
|
||||
@@ -53,73 +57,160 @@ public class CustomizeWorkshopGroupSettingsRepository(CompanyContext companyCont
|
||||
|
||||
public CustomizeWorkshopGroupSettings GetWithEmployees(long groupId)
|
||||
{
|
||||
return _companyContext.CustomizeWorkshopGroupSettings.Include(x => x.CustomizeWorkshopEmployeeSettingsCollection)
|
||||
.FirstOrDefault(x => x.id == groupId);
|
||||
return _companyContext.CustomizeWorkshopGroupSettings.Include(x => x.CustomizeWorkshopEmployeeSettingsCollection)
|
||||
.FirstOrDefault(x => x.id == groupId);
|
||||
}
|
||||
|
||||
public List<CustomizeWorkshopEmployeeSettingsViewModel> GetChangedEmployeeSettingsByGroupSettingsId(long groupSettingsId)
|
||||
{
|
||||
var groupEmployeeSettingsList = _companyContext.CustomizeWorkshopGroupSettings
|
||||
.Include(x => x.CustomizeWorkshopEmployeeSettingsCollection)
|
||||
.FirstOrDefault(x => x.id == groupSettingsId)?.CustomizeWorkshopEmployeeSettingsCollection
|
||||
.Where(x => x.IsChanged).ToList();
|
||||
if (groupEmployeeSettingsList == null)
|
||||
return new();
|
||||
var groupEmployeeSettingsList = _companyContext.CustomizeWorkshopGroupSettings
|
||||
.Include(x => x.CustomizeWorkshopEmployeeSettingsCollection)
|
||||
.FirstOrDefault(x => x.id == groupSettingsId)?.CustomizeWorkshopEmployeeSettingsCollection
|
||||
.Where(x => x.IsChanged).ToList();
|
||||
if (groupEmployeeSettingsList == null)
|
||||
return new();
|
||||
|
||||
var employeeIds = groupEmployeeSettingsList.Select(x => x.EmployeeId);
|
||||
var employees = _companyContext.Employees.Where(x => employeeIds.Contains(x.id)).Select(x => new
|
||||
{
|
||||
x.FullName,
|
||||
x.id
|
||||
}).ToList();
|
||||
var employeeIds = groupEmployeeSettingsList.Select(x => x.EmployeeId);
|
||||
var employees = _companyContext.Employees.Where(x => employeeIds.Contains(x.id)).Select(x => new
|
||||
{
|
||||
x.FullName,
|
||||
x.id
|
||||
}).ToList();
|
||||
|
||||
return groupEmployeeSettingsList.Join(employees,x=>x.EmployeeId,y=>y.id, (x,y)=> new CustomizeWorkshopEmployeeSettingsViewModel()
|
||||
{
|
||||
EmployeeId = x.EmployeeId,
|
||||
Id = x.id,
|
||||
IsChanged = x.IsChanged,
|
||||
Name = y.FullName,
|
||||
RollCallWorkshopShifts = x.CustomizeWorkshopEmployeeSettingsShifts.Select(z=> new CustomizeWorkshopShiftViewModel()
|
||||
{
|
||||
EndTime = z.EndTime,
|
||||
Placement = z.Placement,
|
||||
StartTime = z.StartTime
|
||||
}).ToList()
|
||||
}).ToList();
|
||||
return groupEmployeeSettingsList.Join(employees, x => x.EmployeeId, y => y.id, (x, y) => new CustomizeWorkshopEmployeeSettingsViewModel()
|
||||
{
|
||||
EmployeeId = x.EmployeeId,
|
||||
Id = x.id,
|
||||
IsChanged = x.IsChanged,
|
||||
Name = y.FullName,
|
||||
RollCallWorkshopShifts = x.CustomizeWorkshopEmployeeSettingsShifts.Select(z => new CustomizeWorkshopShiftViewModel()
|
||||
{
|
||||
EndTime = z.EndTime.ToString("HH:mm"),
|
||||
Placement = z.Placement,
|
||||
StartTime = z.StartTime.ToString("HH:mm")
|
||||
}).ToList()
|
||||
}).ToList();
|
||||
}
|
||||
|
||||
public List<CustomizeWorkshopEmployeeSettingsViewModel> GetEmployeeSettingsByGroupSettingsId(long groupSettingsId)
|
||||
{
|
||||
var entity = _companyContext.CustomizeWorkshopGroupSettings.Select(x=>new{x.CustomizeWorkshopEmployeeSettingsCollection,x.id})
|
||||
.FirstOrDefault(x => x.id == groupSettingsId);
|
||||
|
||||
var entity = _companyContext.CustomizeWorkshopGroupSettings.Select(x => new { x.CustomizeWorkshopEmployeeSettingsCollection, x.id })
|
||||
.FirstOrDefault(x => x.id == groupSettingsId);
|
||||
|
||||
|
||||
|
||||
if (entity == null)
|
||||
return new();
|
||||
if (entity == null)
|
||||
return new();
|
||||
|
||||
var employees = entity.CustomizeWorkshopEmployeeSettingsCollection;
|
||||
|
||||
|
||||
var employeeIds = employees.Select(x => x.EmployeeId);
|
||||
var employees = entity.CustomizeWorkshopEmployeeSettingsCollection;
|
||||
|
||||
|
||||
var names = _companyContext.Employees.Where(x => employeeIds.Contains(x.id)).Select(x=>new{x.id,x.FullName}).ToList();
|
||||
var employeeIds = employees.Select(x => x.EmployeeId);
|
||||
|
||||
var joinedList = employees.Join(names, x => x.EmployeeId, y => y.id, (x, y) =>
|
||||
new CustomizeWorkshopEmployeeSettingsViewModel
|
||||
{
|
||||
|
||||
var names = _companyContext.Employees.Where(x => employeeIds.Contains(x.id)).Select(x => new { x.id, x.FullName }).ToList();
|
||||
|
||||
var joinedList = employees.Join(names, x => x.EmployeeId, y => y.id, (x, y) =>
|
||||
new CustomizeWorkshopEmployeeSettingsViewModel
|
||||
{
|
||||
EmployeeId = x.EmployeeId,
|
||||
Id = x.id,
|
||||
Name = y.FullName,
|
||||
Salary = x.Salary,
|
||||
IsChanged = x.IsChanged,
|
||||
RollCallWorkshopShifts = x.CustomizeWorkshopEmployeeSettingsShifts.Select(z=>new CustomizeWorkshopShiftViewModel()
|
||||
RollCallWorkshopShifts = x.CustomizeWorkshopEmployeeSettingsShifts.Select(z => new CustomizeWorkshopShiftViewModel()
|
||||
{
|
||||
EndTime = z.EndTime,
|
||||
StartTime = z.StartTime,
|
||||
EndTime = z.EndTime.ToString("HH:mm"),
|
||||
StartTime = z.StartTime.ToString("HH:mm"),
|
||||
Placement = z.Placement
|
||||
}).ToList()
|
||||
});
|
||||
});
|
||||
return joinedList.ToList();
|
||||
}
|
||||
|
||||
public EditCustomizeWorkshopGroupSettings GetCustomizeWorkshopGroupSettingsDetails(long groupId)
|
||||
{
|
||||
|
||||
var entity = _companyContext.CustomizeWorkshopGroupSettings.FirstOrDefault(x => x.id == groupId);
|
||||
return new EditCustomizeWorkshopGroupSettings()
|
||||
{
|
||||
FridayWork = entity.FridayWork,
|
||||
FridayPay = new (){ FridayPayType = entity.FridayPay.FridayPayType, Value = entity.FridayPay.Value },
|
||||
LateToWork = new()
|
||||
{
|
||||
LateToWorkTimeFinesVewModels = entity.LateToWork.LateToWorkTimeFines.Select(x =>
|
||||
new LateToWorkTimeFineVewModel() { FineMoney = x.FineMoney, Minute = x.Minute }).ToList(),
|
||||
Value = entity.LateToWork.Value, LateToWorkType = entity.LateToWork.LateToWorkType
|
||||
},
|
||||
HolidayWork = entity.HolidayWork,
|
||||
FineAbsenceDeduction = new()
|
||||
{
|
||||
Value = entity.FineAbsenceDeduction.Value,
|
||||
FineAbsenceDayOfWeekViewModels = entity.FineAbsenceDeduction.FineAbsenceDayOfWeekCollection
|
||||
.Select(x => new FineAbsenceDayOfWeekViewModel() { DayOfWeek = x.DayOfWeek }).ToList(),
|
||||
FineAbsenceDeductionType = entity.FineAbsenceDeduction.FineAbsenceDeductionType
|
||||
},
|
||||
EarlyExit = new()
|
||||
{
|
||||
EarlyExitTimeFinesViewModels = entity.EarlyExit.EarlyExitTimeFines.Select(x =>
|
||||
new EarlyExitTimeFineViewModel() { FineMoney = x.FineMoney, Minute = x.Minute }).ToList(),
|
||||
Value = entity.EarlyExit.Value, EarlyExitType = entity.EarlyExit.EarlyExitType
|
||||
},
|
||||
BonusesPay = new()
|
||||
{
|
||||
Value = entity.BonusesPay.Value, BonusesPayType = entity.BonusesPay.BonusesPayType,
|
||||
PaymentType = entity.BonusesPay.PaymentType
|
||||
},
|
||||
ShiftPay = new()
|
||||
{
|
||||
Value = entity.ShiftPay.Value, ShiftPayType = entity.ShiftPay.ShiftPayType,
|
||||
ShiftType = entity.ShiftPay.ShiftType
|
||||
},
|
||||
InsuranceDeduction = new()
|
||||
{
|
||||
Value = entity.InsuranceDeduction.Value,
|
||||
InsuranceDeductionType = entity.InsuranceDeduction.InsuranceDeductionType
|
||||
},
|
||||
OverTimePay = new()
|
||||
{ OverTimePayType = entity.OverTimePay.OverTimePayType, Value = entity.OverTimePay.Value },
|
||||
BaseYearsPay = new()
|
||||
{
|
||||
BaseYearsPayType = entity.BaseYearsPay.BaseYearsPayType,
|
||||
Value = entity.BaseYearsPay.Value
|
||||
},
|
||||
NightWorkPay = new()
|
||||
{ NightWorkingType = entity.NightWorkPay.NightWorkingType, Value = entity.NightWorkPay.Value },
|
||||
LeavePay =new() { Value = entity.LeavePay.Value, LeavePayType = entity.LeavePay.LeavePayType },
|
||||
MarriedAllowance = new()
|
||||
{
|
||||
Value = entity.MarriedAllowance.Value,
|
||||
MarriedAllowanceType = entity.MarriedAllowance.MarriedAllowanceType
|
||||
},
|
||||
FamilyAllowance = new()
|
||||
{
|
||||
FamilyAllowanceType = entity.FamilyAllowance.FamilyAllowanceType,
|
||||
Value = entity.FamilyAllowance.Value
|
||||
},
|
||||
Id = entity.id,
|
||||
Salary = entity.Salary.ToMoney(),
|
||||
CustomizeWorkshopSettingId = entity.CustomizeWorkshopSettingId,
|
||||
Name = entity.GroupName,
|
||||
ShiftViewModel = entity.CustomizeWorkshopGroupSettingsShifts.Select(x =>
|
||||
new CustomizeWorkshopShiftViewModel()
|
||||
{ EndTime = x.EndTime.ToString("HH:mm"), Placement = x.Placement, StartTime = x.StartTime.ToString("HH:mm") }).ToList(),
|
||||
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
public void Remove(long groupId)
|
||||
{
|
||||
var entity = _companyContext.CustomizeWorkshopGroupSettings.Find(groupId);
|
||||
if (entity == null)
|
||||
return;
|
||||
_companyContext.Remove(entity);
|
||||
_companyContext.SaveChanges();
|
||||
}
|
||||
}
|
||||
@@ -1,26 +1,76 @@
|
||||
|
||||
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using _0_Framework.Application;
|
||||
using _0_Framework.InfraStructure;
|
||||
using Company.Domain.CustomizeWorkshopSettingsAgg;
|
||||
using Company.Domain.CustomizeWorkshopSettingsAgg.Entities;
|
||||
using Company.Domain.EmployeeAgg;
|
||||
using CompanyManagment.App.Contracts.CustomizeWorkshopSettings;
|
||||
using CompanyManagment.App.Contracts.CustomizeWorkshopSettings.ValueObjectsViewModel;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
|
||||
namespace CompanyManagment.EFCore.Repository
|
||||
{
|
||||
public class CustomizeWorkshopSettingsRepository(CompanyContext companyContext)
|
||||
public class CustomizeWorkshopSettingsRepository(CompanyContext companyContext, IAuthHelper authHelper, IEmployeeRepository employeeRepository)
|
||||
: RepositoryBase<long, CustomizeWorkshopSettings>(companyContext), ICustomizeWorkshopSettingsRepository
|
||||
{
|
||||
private readonly CompanyContext _companyContext = companyContext;
|
||||
private readonly IAuthHelper _authHelper = authHelper;
|
||||
private readonly IEmployeeRepository _employeeRepository = employeeRepository;
|
||||
|
||||
public CustomizeWorkshopSettings GetWorkshopSettingsByWorkshopId(long workshopId)
|
||||
public CustomizeWorkshopSettingsViewModel GetWorkshopSettingsByWorkshopId(long workshopId)
|
||||
{
|
||||
return _companyContext.CustomizeWorkshopSettings
|
||||
.Include(x=>x.CustomizeWorkshopGroupSettingsCollection)
|
||||
.ThenInclude(x=>x.CustomizeWorkshopEmployeeSettingsCollection)
|
||||
.FirstOrDefault(x => x.WorkshopId == workshopId);
|
||||
var user = _authHelper.CurrentAccountInfo();
|
||||
var entity = _companyContext.CustomizeWorkshopSettings
|
||||
.Include(x => x.CustomizeWorkshopGroupSettingsCollection)
|
||||
.ThenInclude(x => x.CustomizeWorkshopEmployeeSettingsCollection)
|
||||
.FirstOrDefault(x => x.WorkshopId == workshopId);
|
||||
if (entity == null)
|
||||
return new();
|
||||
|
||||
return new CustomizeWorkshopSettingsViewModel()
|
||||
{
|
||||
Id = entity.id,
|
||||
Name = user.WorkshopList.FirstOrDefault(w => w.Id == entity.WorkshopId)?.Name,
|
||||
GroupSettings = entity.CustomizeWorkshopGroupSettingsCollection.Select(x =>
|
||||
new CustomizeWorkshopGroupSettingsViewModel()
|
||||
{
|
||||
Id = x.id,
|
||||
GroupName = x.GroupName,
|
||||
RollCallWorkshopEmployeesSettings = x.CustomizeWorkshopEmployeeSettingsCollection.Select(y =>
|
||||
{
|
||||
var employee = _employeeRepository.Get(y.EmployeeId);
|
||||
return new CustomizeWorkshopEmployeeSettingsViewModel()
|
||||
{
|
||||
Id = y.id,
|
||||
EmployeeId = y.EmployeeId,
|
||||
IsChanged = y.IsChanged,
|
||||
Name = $"{employee.FName} {employee.LName}",
|
||||
RollCallWorkshopShifts = y.CustomizeWorkshopEmployeeSettingsShifts.Select(s =>
|
||||
new CustomizeWorkshopShiftViewModel()
|
||||
{
|
||||
EndTime = s.EndTime.ToString("HH:mm"),
|
||||
Placement = s.Placement,
|
||||
StartTime = s.StartTime.ToString("HH:mm")
|
||||
}).ToList(),
|
||||
Salary = y.Salary,
|
||||
|
||||
};
|
||||
}).ToList(),
|
||||
Salary = x.Salary,
|
||||
RollCallWorkshopShifts = x.CustomizeWorkshopGroupSettingsShifts.Select(s =>
|
||||
new CustomizeWorkshopShiftViewModel()
|
||||
{
|
||||
EndTime = s.EndTime.ToString("HH:mm"),
|
||||
Placement = s.Placement,
|
||||
StartTime = s.StartTime.ToString("HH:mm")
|
||||
|
||||
}).ToList(),
|
||||
}).ToList(),
|
||||
};
|
||||
}
|
||||
|
||||
public CustomizeWorkshopEmployeeSettingsViewModel GetEmployeeSettingsByWorkshopIdGroupSettingsId(long workshopId,
|
||||
@@ -29,36 +79,121 @@ namespace CompanyManagment.EFCore.Repository
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public EditCustomizeWorkshopSettings GetWorkshopSettingsDetails(long workshopId)
|
||||
{
|
||||
|
||||
var entity = _companyContext.CustomizeWorkshopSettings.FirstOrDefault(x => x.WorkshopId == workshopId);
|
||||
if (entity == null)
|
||||
return new();
|
||||
var viewModel = new EditCustomizeWorkshopSettings()
|
||||
{
|
||||
FridayWork = entity.FridayWork,
|
||||
FridayPay = new() { FridayPayType = entity.FridayPay.FridayPayType, Value = entity.FridayPay.Value },
|
||||
LateToWork = new()
|
||||
{
|
||||
LateToWorkTimeFinesVewModels = entity.LateToWork.LateToWorkTimeFines.Select(x =>
|
||||
new LateToWorkTimeFineVewModel() { FineMoney = x.FineMoney, Minute = x.Minute }).ToList(),
|
||||
Value = entity.LateToWork.Value,
|
||||
LateToWorkType = entity.LateToWork.LateToWorkType
|
||||
},
|
||||
HolidayWork = entity.HolidayWork,
|
||||
FineAbsenceDeduction = new()
|
||||
{
|
||||
Value = entity.FineAbsenceDeduction.Value,
|
||||
FineAbsenceDayOfWeekViewModels = entity.FineAbsenceDeduction.FineAbsenceDayOfWeekCollection
|
||||
.Select(x => new FineAbsenceDayOfWeekViewModel() { DayOfWeek = x.DayOfWeek }).ToList(),
|
||||
FineAbsenceDeductionType = entity.FineAbsenceDeduction.FineAbsenceDeductionType
|
||||
},
|
||||
EarlyExit = new()
|
||||
{
|
||||
EarlyExitTimeFinesViewModels = entity.EarlyExit.EarlyExitTimeFines.Select(x =>
|
||||
new EarlyExitTimeFineViewModel() { FineMoney = x.FineMoney, Minute = x.Minute }).ToList(),
|
||||
Value = entity.EarlyExit.Value,
|
||||
EarlyExitType = entity.EarlyExit.EarlyExitType
|
||||
},
|
||||
BonusesPay = new()
|
||||
{
|
||||
Value = entity.BonusesPay.Value,
|
||||
BonusesPayType = entity.BonusesPay.BonusesPayType,
|
||||
PaymentType = entity.BonusesPay.PaymentType
|
||||
},
|
||||
ShiftPay = new()
|
||||
{
|
||||
Value = entity.ShiftPay.Value,
|
||||
ShiftPayType = entity.ShiftPay.ShiftPayType,
|
||||
ShiftType = entity.ShiftPay.ShiftType
|
||||
},
|
||||
InsuranceDeduction = new()
|
||||
{
|
||||
Value = entity.InsuranceDeduction.Value,
|
||||
InsuranceDeductionType = entity.InsuranceDeduction.InsuranceDeductionType
|
||||
},
|
||||
OverTimePay = new()
|
||||
{ OverTimePayType = entity.OverTimePay.OverTimePayType, Value = entity.OverTimePay.Value },
|
||||
BaseYearsPay = new()
|
||||
{
|
||||
BaseYearsPayType = entity.BaseYearsPay.BaseYearsPayType,
|
||||
Value = entity.BaseYearsPay.Value,
|
||||
PaymentType = entity.BaseYearsPay.PaymentType
|
||||
},
|
||||
NightWorkPay = new()
|
||||
{ NightWorkingType = entity.NightWorkPay.NightWorkingType, Value = entity.NightWorkPay.Value },
|
||||
LeavePay = new()
|
||||
{
|
||||
Value = entity.LeavePay.Value,
|
||||
LeavePayType = entity.LeavePay.LeavePayType
|
||||
},
|
||||
MarriedAllowance = new()
|
||||
{
|
||||
Value = entity.MarriedAllowance.Value,
|
||||
MarriedAllowanceType = entity.MarriedAllowance.MarriedAllowanceType
|
||||
},
|
||||
FamilyAllowance = new()
|
||||
{
|
||||
FamilyAllowanceType = entity.FamilyAllowance.FamilyAllowanceType,
|
||||
Value = entity.FamilyAllowance.Value
|
||||
},
|
||||
Currency = entity.Currency,
|
||||
MaxMonthDays = entity.MaxMonthDays,
|
||||
Id = entity.id,
|
||||
ShiftsList = entity.CustomizeWorkshopSettingsShifts.Select(x => new CustomizeWorkshopShiftViewModel()
|
||||
{ EndTime = x.EndTime.ToString("HH:mm"), Placement = x.Placement, StartTime = x.StartTime.ToString("HH:mm") }).ToList(),
|
||||
BonusesPaysInEndOfMonth = entity.BonusesPaysInEndOfMonth,
|
||||
LeavePermittedDays = entity.LeavePermittedDays
|
||||
|
||||
};
|
||||
return viewModel;
|
||||
|
||||
}
|
||||
|
||||
public CustomizeWorkshopEmployeeSettingsViewModel GetEmployeeSettingsByWorkshopIdEmployeeId(long workshopId, long employeeId)
|
||||
{
|
||||
var employee = _companyContext.CustomizeWorkshopSettings
|
||||
var employee = _companyContext.CustomizeWorkshopSettings
|
||||
.Include(x => x.CustomizeWorkshopGroupSettingsCollection)
|
||||
.ThenInclude(x => x.CustomizeWorkshopEmployeeSettingsCollection).ThenInclude(
|
||||
customizeWorkshopEmployeeSettings =>
|
||||
customizeWorkshopEmployeeSettings.CustomizeWorkshopEmployeeSettingsShifts)
|
||||
.FirstOrDefault(x => x.WorkshopId == workshopId)?.CustomizeWorkshopGroupSettingsCollection.SelectMany(x=>x.CustomizeWorkshopEmployeeSettingsCollection)
|
||||
.FirstOrDefault(x => x.EmployeeId == employeeId);
|
||||
.ThenInclude(x => x.CustomizeWorkshopEmployeeSettingsCollection)
|
||||
.FirstOrDefault(x => x.WorkshopId == workshopId)?.CustomizeWorkshopGroupSettingsCollection.SelectMany(x => x.CustomizeWorkshopEmployeeSettingsCollection)
|
||||
.FirstOrDefault(x => x.EmployeeId == employeeId);
|
||||
|
||||
if (employee == null)
|
||||
return new();
|
||||
if (employee == null)
|
||||
return new();
|
||||
|
||||
var employeeName = _companyContext.Employees.Select(x => new { x.FullName, x.id })
|
||||
.FirstOrDefault(x => x.id == employee.EmployeeId);
|
||||
return new CustomizeWorkshopEmployeeSettingsViewModel()
|
||||
{
|
||||
EmployeeId = employee.EmployeeId,
|
||||
Id = employee.id,
|
||||
IsChanged = employee.IsChanged,
|
||||
Name = employeeName?.FullName,
|
||||
RollCallWorkshopShifts = employee.CustomizeWorkshopEmployeeSettingsShifts.Select(x =>
|
||||
new CustomizeWorkshopShiftViewModel()
|
||||
{
|
||||
EndTime = x.EndTime,
|
||||
Placement = x.Placement,
|
||||
StartTime = x.StartTime
|
||||
}).ToList(),
|
||||
Salary = employee.Salary
|
||||
};
|
||||
var employeeName = _companyContext.Employees.Select(x => new { x.FullName, x.id })
|
||||
.FirstOrDefault(x => x.id == employee.EmployeeId);
|
||||
return new CustomizeWorkshopEmployeeSettingsViewModel()
|
||||
{
|
||||
EmployeeId = employee.EmployeeId,
|
||||
Id = employee.id,
|
||||
IsChanged = employee.IsChanged,
|
||||
Name = employeeName?.FullName,
|
||||
RollCallWorkshopShifts = employee.CustomizeWorkshopEmployeeSettingsShifts.Select(x =>
|
||||
new CustomizeWorkshopShiftViewModel()
|
||||
{
|
||||
EndTime = x.EndTime.ToString("HH:mm"),
|
||||
Placement = x.Placement,
|
||||
StartTime = x.StartTime.ToString("HH:mm")
|
||||
}).ToList(),
|
||||
Salary = employee.Salary
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -968,11 +968,11 @@ public class RollCallMandatoryRepository : RepositoryBase<long, RollCall>, IRoll
|
||||
|
||||
foreach (var shift in shiftSettings)
|
||||
{
|
||||
DateTime start = DateTime.Parse(shift.StartTime);
|
||||
DateTime end = DateTime.Parse(shift.EndTime);
|
||||
DateTime startShift = new DateTime(day.CreationDate.Year, day.CreationDate.Month, day.CreationDate.Day, start.Hour,start.Minute,0);
|
||||
DateTime endShift = new DateTime(day.CreationDate.Year, day.CreationDate.Month, day.CreationDate.Day, end.Hour, end.Minute, 0);
|
||||
if (start > end)
|
||||
//DateTime start = DateTime.Parse(shift.StartTime);
|
||||
//DateTime end = DateTime.Parse(shift.EndTime);
|
||||
DateTime startShift = new DateTime(day.CreationDate.Year, day.CreationDate.Month, day.CreationDate.Day, shift.StartTime.Hour, shift.StartTime.Minute, 0);
|
||||
DateTime endShift = new DateTime(day.CreationDate.Year, day.CreationDate.Month, day.CreationDate.Day, shift.EndTime.Hour, shift.EndTime.Minute, 0);
|
||||
if (shift.StartTime > shift.EndTime)
|
||||
endShift = endShift.AddDays(1);
|
||||
|
||||
//اگر در بازه شیف تعیین شده حضور غیاب داشت
|
||||
|
||||
@@ -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>
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user