Merge branch 'Main' into Feature/InstitutionContract/add-registration-style
This commit is contained in:
@@ -42,6 +42,7 @@ public class AuthHelper : IAuthHelper
|
||||
result.WorkshopName = claims.FirstOrDefault(x => x is { Type: "WorkshopName" })?.Value;
|
||||
result.Permissions = Tools.DeserializeFromBsonList<int>(claims.FirstOrDefault(x => x is { Type: "permissions" })?.Value);
|
||||
result.RoleName = claims.FirstOrDefault(x => x is { Type: "RoleName" })?.Value;
|
||||
result.WorkshopId = long.Parse(claims.FirstOrDefault(x => x.Type == "WorkshopId")?.Value??"0");
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -76,7 +77,7 @@ public class AuthHelper : IAuthHelper
|
||||
|
||||
#region Vafa
|
||||
|
||||
public void UpdateWorkshopSlugClaim(string newWorkshopSlug, string newWorkshopName)
|
||||
public void UpdateWorkshopSlugClaim(string newWorkshopSlug, string newWorkshopName,long newWorkshopId)
|
||||
{
|
||||
var user = _contextAccessor.HttpContext.User;
|
||||
|
||||
@@ -85,6 +86,7 @@ public class AuthHelper : IAuthHelper
|
||||
var claimsIdentity = (ClaimsIdentity)user.Identity;
|
||||
var existingClaimSlug = claimsIdentity.FindFirst("WorkshopSlug");
|
||||
var existingClaimName = claimsIdentity.FindFirst("WorkshopName");
|
||||
var existingWorkshopId = claimsIdentity.FindFirst("WorkshopId");
|
||||
|
||||
if (existingClaimSlug != null)
|
||||
{
|
||||
@@ -96,9 +98,14 @@ public class AuthHelper : IAuthHelper
|
||||
claimsIdentity.RemoveClaim(existingClaimName);
|
||||
}
|
||||
|
||||
if (existingWorkshopId != null)
|
||||
{
|
||||
claimsIdentity.RemoveClaim(existingWorkshopId);
|
||||
}
|
||||
|
||||
claimsIdentity.AddClaim(new Claim("WorkshopSlug", newWorkshopSlug));
|
||||
claimsIdentity.AddClaim(new Claim("WorkshopName", newWorkshopName));
|
||||
claimsIdentity.AddClaim(new Claim("WorkshopId",newWorkshopId.ToString()));
|
||||
|
||||
|
||||
var authProperties = new AuthenticationProperties
|
||||
@@ -128,8 +135,16 @@ public class AuthHelper : IAuthHelper
|
||||
|
||||
return "";
|
||||
}
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
public long GetWorkshopId()
|
||||
{
|
||||
return long.Parse(_contextAccessor.HttpContext?.User.Claims.FirstOrDefault(x => x.Type == "WorkshopId")?.Value ?? "0");
|
||||
|
||||
|
||||
}
|
||||
|
||||
public string CurrentAccountRole()
|
||||
{
|
||||
@@ -182,6 +197,7 @@ public class AuthHelper : IAuthHelper
|
||||
//mahanChanges
|
||||
new("workshopList",workshopBson),
|
||||
new("WorkshopSlug",slug),
|
||||
new("WorkshopId", account.WorkshopId.ToString()),
|
||||
new("WorkshopName",account.WorkshopName??"")
|
||||
|
||||
};
|
||||
|
||||
@@ -20,6 +20,7 @@ public class AuthViewModel
|
||||
|
||||
public int? PositionValue { get; set; }
|
||||
public string WorkshopSlug { get; set; }
|
||||
public long WorkshopId { get; set; }
|
||||
public string WorkshopName { get; set; }
|
||||
public List<WorkshopClaim> WorkshopList { get; set; }
|
||||
|
||||
|
||||
@@ -17,11 +17,12 @@ public interface IAuthHelper
|
||||
|
||||
#region Vafa
|
||||
|
||||
void UpdateWorkshopSlugClaim(string workshopSlug, string workshopName);
|
||||
void UpdateWorkshopSlugClaim(string workshopSlug, string workshopName, long workshopId);
|
||||
|
||||
#endregion
|
||||
long CurrentSubAccountId();
|
||||
string GetWorkshopSlug();
|
||||
string GetWorkshopName();
|
||||
long GetWorkshopId();
|
||||
(long Id, UserType userType, long roleId) GetUserTypeWithId();
|
||||
}
|
||||
@@ -259,7 +259,8 @@ public class AccountApplication : IAccountApplication
|
||||
var workshop = workshopList.First();
|
||||
authViewModel.WorkshopName = workshop.Name;
|
||||
authViewModel.WorkshopSlug = _passwordHasher.SlugHasher(workshop.Id);
|
||||
}
|
||||
authViewModel.WorkshopId = workshop.Id;
|
||||
}
|
||||
}
|
||||
|
||||
_authHelper.Signin(authViewModel);
|
||||
@@ -317,6 +318,7 @@ public class AccountApplication : IAccountApplication
|
||||
var workshop = workshopList.First();
|
||||
authViewModel.WorkshopName = workshop.WorkshopName;
|
||||
authViewModel.WorkshopSlug = _passwordHasher.SlugHasher(workshop.WorkshopId);
|
||||
authViewModel.WorkshopId = workshop.WorkshopId;
|
||||
}
|
||||
_authHelper.Signin(authViewModel);
|
||||
idAutoriz = 2;
|
||||
@@ -368,6 +370,7 @@ public class AccountApplication : IAccountApplication
|
||||
var workshop = workshopList.First();
|
||||
authViewModel.WorkshopName = workshop.Name;
|
||||
authViewModel.WorkshopSlug = _passwordHasher.SlugHasher(workshop.Id);
|
||||
authViewModel.WorkshopId = workshop.Id;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -515,6 +518,7 @@ public class AccountApplication : IAccountApplication
|
||||
var workshop = authViewModel.WorkshopList.First();
|
||||
authViewModel.WorkshopSlug = _passwordHasher.SlugHasher(workshop.Id);
|
||||
authViewModel.WorkshopName = workshop.Name;
|
||||
authViewModel.WorkshopId = workshop.Id;
|
||||
}
|
||||
_authHelper.Signin(authViewModel);
|
||||
return operation.Succcedded(2);
|
||||
|
||||
@@ -374,6 +374,13 @@ public class CustomizeCheckout : EntityBase
|
||||
TotalPayment = TotalPayment - previousAmount + newAmount;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// آیا مغایرت مبلغ دارد
|
||||
/// </summary>
|
||||
public bool HasAmountConflict { get; private set; }
|
||||
|
||||
|
||||
public void SetHasAmountConflict(bool hasConflict)
|
||||
{
|
||||
HasAmountConflict = hasConflict;
|
||||
}
|
||||
}
|
||||
@@ -377,4 +377,16 @@ public class CustomizeCheckoutTemp : EntityBase
|
||||
{
|
||||
TotalPayment = TotalPayment - previousAmount + newAmount;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// آیا مغایرت مبلغ دارد
|
||||
/// </summary>
|
||||
public bool HasAmountConflict { get; private set; }
|
||||
|
||||
|
||||
|
||||
public void SetHasAmountConflict(bool hasConflict)
|
||||
{
|
||||
HasAmountConflict = hasConflict;
|
||||
}
|
||||
}
|
||||
@@ -21,6 +21,18 @@ public interface IYearlySalaryRepository : IRepository<long, YearlySalary>
|
||||
double GetLeavePay(DateTime contractStart, DateTime contractEnd, double daylyWage, double consumableItem, double housingAllowance, double familyAllowance , string weeklyWorkingTime, int officialholiday, int friday, string totalHoursH, string totalHorsM);
|
||||
double GetOverTimeWorking(double dayliWage, string overTimeWorkH, string overTimeWorkM);
|
||||
double GetOverNightWorking(double dayliWage, string overNightWorkH, string overNightWorkM, string weeklyWorkingTime, int officialholiday, int friday, DateTime contractStart, DateTime contractEnd, string totalHoursH, string totalHorsM);
|
||||
|
||||
/// <summary>
|
||||
/// متد محاسبه پایه سنوات و لیست پایه سنوات های پرسنل
|
||||
/// </summary>
|
||||
/// <param name="contractStart"></param>
|
||||
/// <param name="contractEnd"></param>
|
||||
/// <param name="employeeId"></param>
|
||||
/// <param name="workshopId"></param>
|
||||
/// <param name="leftWorkList"></param>
|
||||
/// <returns></returns>
|
||||
Task<BaseYearDataViewModel> BaseYearCompute(DateTime contractStart, DateTime contractEnd, long employeeId,
|
||||
long workshopId, List<LeftWorkViewModel> leftWorkList);
|
||||
DayliFeeViewModel DayliFeeComputing(DateTime startDateW,DateTime contractStart, DateTime endDateW, long employeeId, long workshopId,List<LeftWorkViewModel> leftWorkList);
|
||||
Task<DayliFeeViewModel> DayliFeeComputingAsync(DateTime startDateW, DateTime contractStart, DateTime endDateW, long employeeId, long workshopId, List<LeftWorkViewModel> leftWorkList);
|
||||
string ConsumableItems(DateTime endDateW);
|
||||
|
||||
@@ -109,6 +109,8 @@ namespace CompanyManagment.App.Contracts.CustomizeCheckout
|
||||
public List<CustomizeRotatingShift> CustomizeRotatingShifts { get; set; }
|
||||
public List<CustomizeSifts> RegularShift { get; set; }
|
||||
|
||||
public bool HasAmountConflict { get; set; }
|
||||
|
||||
//public bool HasLeft { get; set; }
|
||||
//public string IsBlockCantracingParty { get; set; }
|
||||
//public string IsActiveString { get; set; }
|
||||
|
||||
@@ -0,0 +1,67 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace CompanyManagment.App.Contracts.YearlySalary;
|
||||
|
||||
/// <summary>
|
||||
/// دیتای پایه سنوات از اولین شروع بکار پرسنل
|
||||
/// </summary>
|
||||
public class BaseYearDataViewModel
|
||||
{
|
||||
/// <summary>
|
||||
/// آی دی پرسنل
|
||||
/// </summary>
|
||||
public long EmployeeId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// آی دی کارگاه
|
||||
/// </summary>
|
||||
public long WorkshopId { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// پایه سنوات محاسبه شده نهایی
|
||||
/// </summary>
|
||||
public double BaseYearResult { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// لیست تمام پایه سنوات های محاسبه شده
|
||||
/// </summary>
|
||||
public List<BaseYearDataList> BaseYearDataList { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// لیست تمام پایه سنوات های محاسبه شده
|
||||
/// </summary>
|
||||
public class BaseYearDataList
|
||||
{
|
||||
/// <summary>
|
||||
/// پایه سنوات
|
||||
/// </summary>
|
||||
public double BaseYear { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// تاریخ میلادی شروع محاسبه پایه سنوات
|
||||
/// </summary>
|
||||
public DateTime StartDateGr { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// تاریخ میلادی پایان محاسبه پایه سنوات
|
||||
/// </summary>
|
||||
public DateTime EndDateGr { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// تاریخ شمسی شروع محاسبه پایه سنوات
|
||||
/// </summary>
|
||||
public string StartDateFa { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// تاریخ شمسی پایان محاسبه پایه سنوات
|
||||
/// </summary>
|
||||
public string EndDateFa { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// سالی که در آن پایه سنوات تعلق گرفته
|
||||
/// </summary>
|
||||
public string Year { get; set; }
|
||||
}
|
||||
@@ -88,16 +88,16 @@ public class SalaryAidApplication : ISalaryAidApplication
|
||||
|
||||
_ = DateTime.Now.Date.AddMonthsFa(-1, out var oneMonthAgoGr);
|
||||
|
||||
if (oneMonthAgoGr > calculationDateGr)
|
||||
{
|
||||
var prevCheckouts = _customizeCheckoutRepository.ValidateExistsCheckouts(calculationDateGr,
|
||||
oneMonthAgoGr, command.WorkshopId, command.EmployeeIds);
|
||||
|
||||
if (prevCheckouts.CustomizeCheckout || prevCheckouts.CustomizeCheckoutTemp)
|
||||
{
|
||||
return op.Failed("شما نمیتوانید در تاریخ قبل از یک ماه گذشته که فیش صادر شده باشد مساعده دهید");
|
||||
}
|
||||
}
|
||||
// if (oneMonthAgoGr > calculationDateGr)
|
||||
// {
|
||||
// var prevCheckouts = _customizeCheckoutRepository.ValidateExistsCheckouts(calculationDateGr,
|
||||
// oneMonthAgoGr, command.WorkshopId, command.EmployeeIds);
|
||||
//
|
||||
// if (prevCheckouts.CustomizeCheckout || prevCheckouts.CustomizeCheckoutTemp)
|
||||
// {
|
||||
// return op.Failed("شما نمیتوانید در تاریخ قبل از یک ماه گذشته که فیش صادر شده باشد مساعده دهید");
|
||||
// }
|
||||
// }
|
||||
|
||||
var existsCheckouts = _customizeCheckoutRepository.ValidateExistsCheckouts(calculationDateGr,
|
||||
calculationDateGr, command.WorkshopId, command.EmployeeIds);
|
||||
@@ -122,8 +122,9 @@ public class SalaryAidApplication : ISalaryAidApplication
|
||||
|
||||
if (customizeCheckouts != null)
|
||||
{
|
||||
// customizeCheckouts.SetHasAmountConflict(true);
|
||||
var salaryAids = customizeCheckouts.CustomizeCheckoutSalaryAids.ToList();
|
||||
|
||||
|
||||
salaryAids.Add(new(entity.Amount.ToMoney(), entity.SalaryAidDateTime,
|
||||
entity.SalaryAidDateTime.ToFarsi(), entity.CalculationDate, entity.CalculationDate.ToFarsi(),
|
||||
entity.id));
|
||||
@@ -138,8 +139,9 @@ public class SalaryAidApplication : ISalaryAidApplication
|
||||
|
||||
if (customizeCheckoutTemp != null)
|
||||
{
|
||||
// customizeCheckoutTemp.SetHasAmountConflict(true);
|
||||
var salaryAids = customizeCheckoutTemp.CustomizeCheckoutSalaryAids.ToList();
|
||||
|
||||
|
||||
salaryAids.Add(new(entity.Amount.ToMoney(), entity.SalaryAidDateTime,
|
||||
entity.SalaryAidDateTime.ToFarsi(), entity.CalculationDate, entity.CalculationDate.ToFarsi(),
|
||||
entity.id));
|
||||
@@ -152,7 +154,7 @@ public class SalaryAidApplication : ISalaryAidApplication
|
||||
var checkouts = _checkoutRepository.GetByWorkshopIdEmployeeIdInDate(
|
||||
command.WorkshopId, employeeId, calculationDateGr).GetAwaiter().GetResult();
|
||||
|
||||
checkouts?.SetAmountConflict(true);
|
||||
checkouts?.SetAmountConflict(true);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -197,16 +199,16 @@ public class SalaryAidApplication : ISalaryAidApplication
|
||||
|
||||
_ = DateTime.Now.Date.AddMonthsFa(-1, out var oneMonthAgoGr);
|
||||
|
||||
if (oneMonthAgoGr > calculationDateGr)
|
||||
{
|
||||
var prevCheckouts = _customizeCheckoutRepository.ValidateExistsCheckouts(calculationDateGr,
|
||||
oneMonthAgoGr, entity.WorkshopId, [entity.EmployeeId]);
|
||||
|
||||
if (prevCheckouts.CustomizeCheckout || prevCheckouts.CustomizeCheckoutTemp)
|
||||
{
|
||||
return op.Failed("شما نمیتوانید در تاریخ قبل از یک ماه گذشته که فیش صادر شده باشد مساعده ای دهید");
|
||||
}
|
||||
}
|
||||
// if (oneMonthAgoGr > calculationDateGr)
|
||||
// {
|
||||
// var prevCheckouts = _customizeCheckoutRepository.ValidateExistsCheckouts(calculationDateGr,
|
||||
// oneMonthAgoGr, entity.WorkshopId, [entity.EmployeeId]);
|
||||
//
|
||||
// if (prevCheckouts.CustomizeCheckout || prevCheckouts.CustomizeCheckoutTemp)
|
||||
// {
|
||||
// return op.Failed("شما نمیتوانید در تاریخ قبل از یک ماه گذشته که فیش صادر شده باشد مساعده ای دهید");
|
||||
// }
|
||||
// }
|
||||
|
||||
|
||||
var existsCheckouts = _customizeCheckoutRepository.ValidateExistsCheckouts(calculationDateGr,
|
||||
@@ -228,6 +230,7 @@ public class SalaryAidApplication : ISalaryAidApplication
|
||||
var customizeCheckouts = _customizeCheckoutRepository.GetByWorkshopIdEmployeeIdMonthYear(
|
||||
entity.WorkshopId, entity.EmployeeId,
|
||||
year, month).GetAwaiter().GetResult();
|
||||
// customizeCheckouts?.SetHasAmountConflict(true);
|
||||
|
||||
var salaryAids = customizeCheckouts.CustomizeCheckoutSalaryAids.ToList();
|
||||
|
||||
@@ -248,6 +251,8 @@ public class SalaryAidApplication : ISalaryAidApplication
|
||||
var customizeCheckoutTemp = _customizeCheckoutTempRepository.GetByWorkshopIdEmployeeIdInDate(
|
||||
entity.WorkshopId, entity.EmployeeId, calculationDateGr).GetAwaiter().GetResult();
|
||||
|
||||
// customizeCheckoutTemp?.SetHasAmountConflict(true);
|
||||
|
||||
var salaryAids = customizeCheckoutTemp.CustomizeCheckoutSalaryAids.ToList();
|
||||
|
||||
var existsSalaryAid = salaryAids.FirstOrDefault(x => x.EntityId == entity.id);
|
||||
@@ -261,6 +266,13 @@ public class SalaryAidApplication : ISalaryAidApplication
|
||||
|
||||
customizeCheckoutTemp.SetSalaryAids(salaryAids);
|
||||
}
|
||||
if (existsCheckouts.Checkout)
|
||||
{
|
||||
var checkouts = _checkoutRepository.GetByWorkshopIdEmployeeIdInDate(
|
||||
command.WorkshopId, entity.EmployeeId, calculationDateGr).GetAwaiter().GetResult();
|
||||
|
||||
checkouts?.SetAmountConflict(true);
|
||||
}
|
||||
|
||||
_customizeCheckoutRepository.SaveChanges();
|
||||
transaction.Complete();
|
||||
@@ -342,17 +354,17 @@ public class SalaryAidApplication : ISalaryAidApplication
|
||||
}
|
||||
|
||||
_ = DateTime.Now.Date.AddMonthsFa(-1, out var oneMonthAgoGr);
|
||||
|
||||
if (oneMonthAgoGr > calculationDateGr)
|
||||
{
|
||||
var prevCheckouts = _customizeCheckoutRepository.ValidateExistsCheckouts(calculationDateGr,
|
||||
oneMonthAgoGr, command.WorkshopId, command.EmployeeIds);
|
||||
|
||||
if (prevCheckouts.CustomizeCheckout || prevCheckouts.Checkout || prevCheckouts.CustomizeCheckoutTemp)
|
||||
{
|
||||
return op.Failed("شما نمیتوانید در تاریخ قبل از یک ماه گذشته که فیش صادر شده باشد مساعده دهید");
|
||||
}
|
||||
}
|
||||
//
|
||||
// if (oneMonthAgoGr > calculationDateGr)
|
||||
// {
|
||||
// var prevCheckouts = _customizeCheckoutRepository.ValidateExistsCheckouts(calculationDateGr,
|
||||
// oneMonthAgoGr, command.WorkshopId, command.EmployeeIds);
|
||||
//
|
||||
// if (prevCheckouts.CustomizeCheckout || prevCheckouts.Checkout || prevCheckouts.CustomizeCheckoutTemp)
|
||||
// {
|
||||
// return op.Failed("شما نمیتوانید در تاریخ قبل از یک ماه گذشته که فیش صادر شده باشد مساعده دهید");
|
||||
// }
|
||||
// }
|
||||
|
||||
var existsCheckouts = _customizeCheckoutRepository.ValidateExistsCheckouts(calculationDateGr,
|
||||
calculationDateGr, command.WorkshopId, command.EmployeeIds);
|
||||
@@ -387,10 +399,12 @@ public class SalaryAidApplication : ISalaryAidApplication
|
||||
command.WorkshopId, employeeId,
|
||||
year, month).GetAwaiter().GetResult();
|
||||
|
||||
// customizeCheckouts?.SetHasAmountConflict(true);
|
||||
|
||||
if (customizeCheckouts != null)
|
||||
{
|
||||
var salaryAids = customizeCheckouts.CustomizeCheckoutSalaryAids.ToList();
|
||||
|
||||
|
||||
salaryAids.Add(new(entity.Amount.ToMoney(), entity.SalaryAidDateTime,
|
||||
entity.SalaryAidDateTime.ToFarsi(), entity.CalculationDate,
|
||||
entity.CalculationDate.ToFarsi(), entity.id));
|
||||
@@ -403,16 +417,24 @@ public class SalaryAidApplication : ISalaryAidApplication
|
||||
var customizeCheckoutTemp = _customizeCheckoutTempRepository.GetByWorkshopIdEmployeeIdInDate(
|
||||
command.WorkshopId, employeeId, calculationDateGr).GetAwaiter().GetResult();
|
||||
|
||||
// customizeCheckoutTemp?.SetHasAmountConflict(true);
|
||||
if (customizeCheckoutTemp != null)
|
||||
{
|
||||
var salaryAids = customizeCheckoutTemp.CustomizeCheckoutSalaryAids.ToList();
|
||||
|
||||
|
||||
salaryAids.Add(new(entity.Amount.ToMoney(), entity.SalaryAidDateTime,
|
||||
entity.SalaryAidDateTime.ToFarsi(), entity.CalculationDate,
|
||||
entity.CalculationDate.ToFarsi(), entity.id));
|
||||
customizeCheckoutTemp.SetSalaryAids(salaryAids);
|
||||
}
|
||||
}
|
||||
if (existsCheckouts.Checkout)
|
||||
{
|
||||
var checkouts = _checkoutRepository.GetByWorkshopIdEmployeeIdInDate(
|
||||
command.WorkshopId, employeeId, calculationDateGr).GetAwaiter().GetResult();
|
||||
|
||||
checkouts?.SetAmountConflict(true);
|
||||
}
|
||||
}
|
||||
|
||||
await _customizeCheckoutRepository.SaveChangesAsync();
|
||||
@@ -433,4 +455,5 @@ public class SalaryAidApplication : ISalaryAidApplication
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
10212
CompanyManagment.EFCore/Migrations/20250812071715_Add has conflict amount to checkout.Designer.cs
generated
Normal file
10212
CompanyManagment.EFCore/Migrations/20250812071715_Add has conflict amount to checkout.Designer.cs
generated
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,40 @@
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace CompanyManagment.EFCore.Migrations
|
||||
{
|
||||
/// <inheritdoc />
|
||||
public partial class Addhasconflictamounttocheckout : Migration
|
||||
{
|
||||
/// <inheritdoc />
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.AddColumn<bool>(
|
||||
name: "HasAmountConflict",
|
||||
table: "CustomizeCheckoutTemps",
|
||||
type: "bit",
|
||||
nullable: false,
|
||||
defaultValue: false);
|
||||
|
||||
migrationBuilder.AddColumn<bool>(
|
||||
name: "HasAmountConflict",
|
||||
table: "CustomizeCheckouts",
|
||||
type: "bit",
|
||||
nullable: false,
|
||||
defaultValue: false);
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DropColumn(
|
||||
name: "HasAmountConflict",
|
||||
table: "CustomizeCheckoutTemps");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "HasAmountConflict",
|
||||
table: "CustomizeCheckouts");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1069,6 +1069,9 @@ namespace CompanyManagment.EFCore.Migrations
|
||||
b.Property<double>("FridayPay")
|
||||
.HasColumnType("float");
|
||||
|
||||
b.Property<bool>("HasAmountConflict")
|
||||
.HasColumnType("bit");
|
||||
|
||||
b.Property<double>("InstallmentDeduction")
|
||||
.HasColumnType("float");
|
||||
|
||||
@@ -1218,6 +1221,9 @@ namespace CompanyManagment.EFCore.Migrations
|
||||
b.Property<double>("FridayPay")
|
||||
.HasColumnType("float");
|
||||
|
||||
b.Property<bool>("HasAmountConflict")
|
||||
.HasColumnType("bit");
|
||||
|
||||
b.Property<double>("InstallmentDeduction")
|
||||
.HasColumnType("float");
|
||||
|
||||
|
||||
@@ -94,7 +94,7 @@ public class AdminMonthlyOverviewRepository : RepositoryBase<long, AdminMonthlyO
|
||||
|
||||
|
||||
var workshopIds = workshopsWithContractingParty.Select(x => x.Workshop.id).ToList();
|
||||
|
||||
|
||||
|
||||
// پیدا کردن کارگاههایی که قبلاً برای این ماه/سال AdminMonthlyOverview دارند
|
||||
var adminMonthlyOverviewWorkshopIds = await _companyContext.AdminMonthlyOverviews
|
||||
@@ -244,25 +244,67 @@ public class AdminMonthlyOverviewRepository : RepositoryBase<long, AdminMonthlyO
|
||||
.Except([5976]).ToHashSet();
|
||||
|
||||
|
||||
var workingCheckoutEmployeeIds = GetWorkingCheckoutEmployeeIds(workshopIds, targetStartDate, targetEndDate, vipGroup);
|
||||
//var workingCheckoutEmployeeIds = _companyContext.LeftWorkList.AsNoTracking()
|
||||
// .Join(
|
||||
// _companyContext.Contracts.AsNoTracking(),
|
||||
// leftWork => new { leftWork.EmployeeId, WorkshopId = leftWork.WorkshopId },
|
||||
// contract => new { contract.EmployeeId, WorkshopId = contract.WorkshopIds },
|
||||
// (leftWork, contract) => new { leftWork, contract }
|
||||
// )
|
||||
// .Where(x =>
|
||||
// workshopIds.Contains(x.leftWork.WorkshopId) &&
|
||||
// x.leftWork.StartWorkDate <= targetEndDate &&
|
||||
// x.leftWork.LeftWorkDate.AddDays(-1) >= targetStartDate &&
|
||||
// x.contract.ContarctStart <= targetEndDate &&
|
||||
// x.contract.ContractEnd >= targetStartDate &&
|
||||
// !vipGroup.Contains(x.leftWork.EmployeeId) &&
|
||||
// !_companyContext.EmployeeClientTemps
|
||||
// .Any(temp => temp.EmployeeId == x.leftWork.EmployeeId && temp.WorkshopId == x.leftWork.WorkshopId)
|
||||
// )
|
||||
// .Select(x => new { x.leftWork.WorkshopId, x.leftWork.EmployeeId });
|
||||
//var workingCheckoutEmployeeIds = GetWorkingCheckoutEmployeeIds(workshopIds, targetStartDate, targetEndDate, vipGroup);
|
||||
var chcekoutLeftWorks = _companyContext.LeftWorkList
|
||||
.AsNoTracking()
|
||||
.Where(x =>
|
||||
workshopIds.Contains(x.WorkshopId) &&
|
||||
x.StartWorkDate <= targetEndDate &&
|
||||
x.LeftWorkDate.AddDays(-1) >= targetStartDate &&
|
||||
!vipGroup.Contains(x.EmployeeId))
|
||||
.Select(x => new
|
||||
{
|
||||
x.EmployeeId,
|
||||
x.WorkshopId,
|
||||
x.StartWorkDate,
|
||||
x.LeftWorkDate,
|
||||
x.Workshop.CreateCheckout
|
||||
})
|
||||
.ToList();
|
||||
|
||||
var checkoutContracts = _companyContext.Contracts
|
||||
.AsNoTracking()
|
||||
.Where(x =>
|
||||
workshopIds.Contains(x.WorkshopIds) &&
|
||||
x.ContarctStart <= targetEndDate &&
|
||||
x.ContractEnd >= targetStartDate)
|
||||
.Select(x => new
|
||||
{
|
||||
x.EmployeeId,
|
||||
WorkshopId = x.WorkshopIds,
|
||||
x.ContarctStart,
|
||||
x.ContractEnd
|
||||
})
|
||||
.ToList();
|
||||
|
||||
var computeOptionsDict = _companyContext.EmployeeComputeOptionsSet
|
||||
.AsNoTracking()
|
||||
.Where(o => workshopIds.Contains(o.WorkshopId))
|
||||
.ToDictionary(
|
||||
o => (o.EmployeeId, o.WorkshopId),
|
||||
o => o.CreateCheckout
|
||||
);
|
||||
|
||||
var clientTemps = _companyContext.EmployeeClientTemps
|
||||
.AsNoTracking().AsEnumerable()
|
||||
.Select(x => (x.EmployeeId, x.WorkshopId))
|
||||
.ToHashSet();
|
||||
|
||||
var workingCheckoutEmployeeIds = chcekoutLeftWorks
|
||||
.Join(
|
||||
checkoutContracts,
|
||||
left => new { left.EmployeeId, left.WorkshopId },
|
||||
contract => new { contract.EmployeeId, contract.WorkshopId },
|
||||
(left, contract) => new { left, contract })
|
||||
.Where(x =>
|
||||
!clientTemps.Contains((x.left.EmployeeId, x.left.WorkshopId)) &&
|
||||
(computeOptionsDict.TryGetValue((x.left.EmployeeId, x.left.WorkshopId), out var createCheckout)
|
||||
? createCheckout
|
||||
: x.left.CreateCheckout))
|
||||
.Select(x => (
|
||||
x.left.WorkshopId,
|
||||
x.left.EmployeeId
|
||||
)).ToList();
|
||||
|
||||
|
||||
|
||||
@@ -312,19 +354,38 @@ public class AdminMonthlyOverviewRepository : RepositoryBase<long, AdminMonthlyO
|
||||
Data = x.ToList()
|
||||
}).ToList();
|
||||
|
||||
var workshopsWithFullContracts = workingContractGrouping
|
||||
.Where(g => g.Data.All(emp => contractSet.Contains((emp.WorkshopId, emp.EmployeeId))))
|
||||
.Select(g => g.WorkshopId)
|
||||
var validWorkshops = workingCheckoutGrouping.Select(x => x.Key)
|
||||
.Union(workingContractGrouping.Select(x => x.WorkshopId)).ToList();
|
||||
|
||||
var notValidWorkshops = workshopIds.Except(validWorkshops).ToList();
|
||||
|
||||
// var workshopsWithFullContracts = workingContractGrouping
|
||||
// .Where(g => g.Data.All(emp => contractSet.Contains((emp.WorkshopId, emp.EmployeeId))))
|
||||
// .Select(g => g.WorkshopId)
|
||||
// .ToList();
|
||||
|
||||
var workshopsWithFullContracts = workshopIds
|
||||
.Where(workshopId =>
|
||||
{
|
||||
var group = workingContractGrouping.FirstOrDefault(x => x.WorkshopId == workshopId);
|
||||
return group == null || group.Data.All(emp => contractSet.Contains((emp.WorkshopId, emp.EmployeeId)));
|
||||
})
|
||||
.ToList();
|
||||
|
||||
var list = workingContractEmployeeIds.ToList().Where(x => !contractSet.Any(a => a.EmployeeId == x.EmployeeId && a.WorkshopIds == x.WorkshopId)).ToList();
|
||||
|
||||
var workshopsWithFullCheckout = workingCheckoutGrouping
|
||||
.Where(g => g.All(emp => checkoutSet.Contains((emp.WorkshopId, emp.EmployeeId))))
|
||||
.Select(g => g.Key)
|
||||
// var workshopsWithFullCheckout = workingCheckoutGrouping
|
||||
// .Where(g => g.All(emp => checkoutSet.Contains((emp.WorkshopId, emp.EmployeeId))))
|
||||
// .Select(g => g.Key)
|
||||
// .ToList();
|
||||
var workshopsWithFullCheckout = workshopIds
|
||||
.Where(workshopId =>
|
||||
{
|
||||
var group = workingCheckoutGrouping.FirstOrDefault(x => x.Key == workshopId);
|
||||
return group == null || group.All(emp => checkoutSet.Contains((emp.WorkshopId, emp.EmployeeId)));
|
||||
})
|
||||
.ToList();
|
||||
|
||||
|
||||
var fullyCoveredWorkshops = workshopsWithFullContracts.Intersect(workshopsWithFullCheckout).ToList();
|
||||
|
||||
//var notFullyCoveredWorkshops = groupedCheckout
|
||||
@@ -339,6 +400,10 @@ public class AdminMonthlyOverviewRepository : RepositoryBase<long, AdminMonthlyO
|
||||
var adminMonthlyOverviews = _companyContext.AdminMonthlyOverviews
|
||||
.Where(x => x.Month == month && x.Year == year);
|
||||
|
||||
var notValidMonthlyOverViews =
|
||||
await adminMonthlyOverviews.Where(x => notValidWorkshops.Contains(x.WorkshopId)).ToListAsync();
|
||||
|
||||
|
||||
var adminMonthlyOverviewsWithFullContracts = await adminMonthlyOverviews
|
||||
.Where(x => fullyCoveredWorkshops.Contains(x.WorkshopId) && x.Status == AdminMonthlyOverviewStatus.CreateDocuments)
|
||||
.ToListAsync();
|
||||
@@ -353,6 +418,7 @@ public class AdminMonthlyOverviewRepository : RepositoryBase<long, AdminMonthlyO
|
||||
foreach (var adminMonthlyOverview in adminMonthlyOverviewsWithNotFullContracts)
|
||||
adminMonthlyOverview.SetStatus(AdminMonthlyOverviewStatus.CreateDocuments);
|
||||
|
||||
_companyContext.RemoveRange(notValidMonthlyOverViews);
|
||||
await _companyContext.SaveChangesAsync();
|
||||
}
|
||||
|
||||
|
||||
@@ -1721,6 +1721,7 @@ public class CheckoutRepository : RepositoryBase<long, Checkout>, ICheckoutRepos
|
||||
SalaryAidDateTimeFa = s.SalaryAidDateTimeFa,
|
||||
SalaryAidDateTimeGe = s.SalaryAidDateTime
|
||||
}).ToList(),
|
||||
HasAmountConflict = x.HasAmountConflict
|
||||
|
||||
}).Where(x => x.WorkshopId == searchModel.WorkshopId);
|
||||
if (searchModel.EmployeeId > 0)
|
||||
|
||||
@@ -488,6 +488,7 @@ namespace CompanyManagment.EFCore.Repository
|
||||
TotalPayment = x.TotalPayment.ToMoney(),
|
||||
TotalPaymentD = x.TotalPayment,
|
||||
TotalLateToWorkDeduction = x.LateToWorkDeduction.ToMoney(),
|
||||
HasAmountConflict = x.HasAmountConflict
|
||||
|
||||
}).ToList();
|
||||
|
||||
|
||||
@@ -216,6 +216,7 @@ namespace CompanyManagment.EFCore.Repository
|
||||
TotalPayment = x.TotalPayment.ToMoney(),
|
||||
TotalPaymentD = x.TotalPayment,
|
||||
TotalLateToWorkDeduction = x.LateToWorkDeduction.ToMoney(),
|
||||
HasAmountConflict = x.HasAmountConflict
|
||||
}).ToList();
|
||||
|
||||
|
||||
|
||||
@@ -77,16 +77,16 @@ public class LeaveRepository : RepositoryBase<long, Leave>, ILeaveRepository
|
||||
{
|
||||
DateTime startSearch = searchModel.StartLeave.ToGeorgianDateTime();
|
||||
DateTime endSearch = searchModel.EndLeave.ToGeorgianDateTime();
|
||||
query = query.Where(x => (startSearch <= x.StartLeaveGr && endSearch >= x.StartLeaveGr) ||
|
||||
(startSearch <= x.EndLeaveGr && endSearch >= x.EndLeaveGr) ||
|
||||
(startSearch >= x.StartLeaveGr && startSearch <= x.EndLeaveGr) ||
|
||||
(endSearch >= x.StartLeaveGr && endSearch <= x.EndLeaveGr));
|
||||
query = query.Where(x => (startSearch <= x.StartLeaveGr.Date && endSearch >= x.StartLeaveGr.Date) ||
|
||||
(startSearch <= x.EndLeaveGr.Date && endSearch >= x.EndLeaveGr.Date) ||
|
||||
(startSearch >= x.StartLeaveGr.Date && startSearch <= x.EndLeaveGr.Date) ||
|
||||
(endSearch >= x.StartLeaveGr.Date && endSearch <= x.EndLeaveGr.Date));
|
||||
}else if (searchModel.StartLeaveGr != null && searchModel.EndLeaveGr != null)
|
||||
{
|
||||
query = query.Where(x => (searchModel.StartLeaveGr <= x.StartLeaveGr && searchModel.EndLeaveGr >= x.StartLeaveGr) ||
|
||||
(searchModel.StartLeaveGr <= x.EndLeaveGr && searchModel.EndLeaveGr >= x.EndLeaveGr) ||
|
||||
(searchModel.StartLeaveGr >= x.StartLeaveGr && searchModel.StartLeaveGr <= x.EndLeaveGr) ||
|
||||
(searchModel.EndLeaveGr >= x.StartLeaveGr && searchModel.EndLeaveGr <= x.EndLeaveGr));
|
||||
query = query.Where(x => (searchModel.StartLeaveGr <= x.StartLeaveGr.Date && searchModel.EndLeaveGr >= x.StartLeaveGr.Date) ||
|
||||
(searchModel.StartLeaveGr <= x.EndLeaveGr.Date && searchModel.EndLeaveGr >= x.EndLeaveGr.Date) ||
|
||||
(searchModel.StartLeaveGr >= x.StartLeaveGr.Date && searchModel.StartLeaveGr <= x.EndLeaveGr.Date) ||
|
||||
(searchModel.EndLeaveGr >= x.StartLeaveGr.Date && searchModel.EndLeaveGr <= x.EndLeaveGr.Date));
|
||||
}
|
||||
if(searchModel.IsAccepted)
|
||||
query = query.Where(x => x.IsAccepted == true);
|
||||
|
||||
@@ -795,9 +795,299 @@ public class YearlySalaryRepository : RepositoryBase<long, YearlySalary>, IYearl
|
||||
return currected;
|
||||
|
||||
}
|
||||
//محاسبه حقوق روزانه
|
||||
#region DayliSalary
|
||||
public DayliFeeViewModel DayliFeeComputing(DateTime startDateW, DateTime contractStart, DateTime endDateW, long employeeId, long workshopId, List<LeftWorkViewModel> leftWorkList)
|
||||
//محاسبه حقوق روزانه
|
||||
#region DayliSalary
|
||||
|
||||
/// <summary>
|
||||
/// متد محاسبه پایه سنوات
|
||||
/// </summary>
|
||||
/// <param name="contractStart"></param>
|
||||
/// <param name="contractEnd"></param>
|
||||
/// <param name="employeeId"></param>
|
||||
/// <param name="workshopId"></param>
|
||||
/// <param name="leftWorkList"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<BaseYearDataViewModel> BaseYearCompute(DateTime contractStart, DateTime contractEnd, long employeeId, long workshopId, List<LeftWorkViewModel> leftWorkList)
|
||||
{
|
||||
//خروجی متد
|
||||
var baseYearResult = new BaseYearDataViewModel();
|
||||
baseYearResult.WorkshopId = workshopId;
|
||||
baseYearResult.EmployeeId = employeeId;
|
||||
|
||||
//لیست شروع بکار / ترک کار پرسنل
|
||||
leftWorkList = leftWorkList.OrderBy(x => x.StartWorkDateGr).ToList();
|
||||
//مقادیر سالانه
|
||||
var salary = await _context.YearlySalaries.OrderByDescending(x => x.EndDate).Include(x => x.YearlySalaryItemsList).ToListAsync();
|
||||
//آیا در حلقه کبیشه بودن چک شود
|
||||
bool checkKabiseh = true;
|
||||
var isKabiseh = false;
|
||||
var EndOfYaerDate = new DateTime();
|
||||
//لیست تاریخ هایی که پایه سنوات تعلق گرفته
|
||||
var baseYearDateList = new List<DateTime>();
|
||||
|
||||
double baseYear = 0;
|
||||
// اگر یک شروع بکار داشت
|
||||
if (leftWorkList.Count < 2)
|
||||
{
|
||||
var leftWork = leftWorkList.First();
|
||||
//اگر ترک کار کرده بود پایان چرخه تاریخ آخرین روز کاری اوست
|
||||
var endComputeDate = leftWork.HasLeft && leftWork.LeftWorkDateGr <= contractEnd ? leftWork.LeftWorkDateGr.AddDays(-1) : contractEnd;
|
||||
//شروع چرخه شروع بکار پرسنل
|
||||
var startComputeDate = leftWork.StartWorkDateGr;
|
||||
|
||||
|
||||
|
||||
for (var current = startComputeDate; current <= endComputeDate; current = current.AddDays(1))
|
||||
{
|
||||
var currentChanges = new DateTime(current.Year, current.Month, current.Day);
|
||||
|
||||
if (checkKabiseh)
|
||||
{
|
||||
|
||||
isKabiseh = ($"{current.ToFarsi()}").YearTotalDays() == 367 ? true : false;
|
||||
string kabise = "";
|
||||
if (isKabiseh)
|
||||
kabise = "kabise";
|
||||
var currentChangesPc = currentChanges.ToPersianDateTime();
|
||||
EndOfYaerDate = isKabiseh ? ($"{currentChangesPc.AddDays(365)}").ToGeorgianDateTime() : ($"{currentChangesPc.AddDays(364)}").ToGeorgianDateTime();
|
||||
Console.WriteLine($" start : {current.ToFarsi()} {kabise}");
|
||||
}
|
||||
|
||||
checkKabiseh = false;
|
||||
if (current == EndOfYaerDate)
|
||||
{
|
||||
|
||||
|
||||
|
||||
var a = current.AddDays(1);
|
||||
checkKabiseh = true;
|
||||
baseYearDateList.Add(a);
|
||||
Console.WriteLine($" End : {a.ToFarsi()}");
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
else //اگر بیش از یک شروع بکار داشت
|
||||
{
|
||||
int max365 = 0;
|
||||
int dayCounter = 0;
|
||||
foreach (var leftWork in leftWorkList)
|
||||
{
|
||||
//اگر ترک کار کرده بود پایان چرخه تاریخ آخرین روز کاری اوست
|
||||
var endComputeDate = leftWork.HasLeft && leftWork.LeftWorkDateGr <= contractEnd ? leftWork.LeftWorkDateGr.AddDays(-1) : contractEnd;
|
||||
//شروع چرخه شروع بکار پرسنل
|
||||
var startComputeDate = leftWork.StartWorkDateGr;
|
||||
|
||||
for (var current = startComputeDate; current <= endComputeDate; current = current.AddDays(1))
|
||||
{
|
||||
|
||||
if (checkKabiseh && dayCounter == 0)
|
||||
{
|
||||
|
||||
isKabiseh = ($"{current.ToFarsi()}").YearTotalDays() == 367 ? true : false;
|
||||
string kabise = "";
|
||||
if (isKabiseh)
|
||||
kabise = "kabise";
|
||||
|
||||
max365 = isKabiseh ? 366 : 365;
|
||||
Console.WriteLine($" start : {current.ToFarsi()} {kabise}");
|
||||
}
|
||||
|
||||
dayCounter += 1;
|
||||
checkKabiseh = false;
|
||||
if (dayCounter == max365)
|
||||
{
|
||||
|
||||
|
||||
|
||||
|
||||
checkKabiseh = true;
|
||||
var a = current.AddDays(1);
|
||||
baseYearDateList.Add(a);
|
||||
Console.WriteLine($" End : {a.ToFarsi()}");
|
||||
Console.WriteLine(dayCounter);
|
||||
dayCounter = 0;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
// پایه سنوات نهایی
|
||||
double selectBase = 0;
|
||||
if (baseYearDateList.Count > 0)
|
||||
{
|
||||
var firstBaseYearDate = baseYearDateList.First();
|
||||
var res = MonthByMonthList(firstBaseYearDate, contractEnd);
|
||||
var firstbasicSalari =
|
||||
salary.FirstOrDefault(x => x.StartDate <= firstBaseYearDate && x.EndDate >= firstBaseYearDate);
|
||||
//پایه سنوات سال جاری
|
||||
var firstBasic = firstbasicSalari
|
||||
.YearlySalaryItemsList.Where(x => x.ItemName == "پایه سنوات").Select(x => x.ItemValue).FirstOrDefault();
|
||||
var firstfixFeePercentage = firstbasicSalari
|
||||
.YearlySalaryItemsList.Where(x => x.ItemName == "درصد مزد ثابت").Select(x => x.ItemValue).FirstOrDefault();
|
||||
|
||||
// پایه سنوات سال قبل ضربدر درصد مزد ثابت تقسیم بر صد
|
||||
//var beforePercntBaseYear = ((beforBaseStart * firstfixFeePercentage) / 100) + beforBaseStart;
|
||||
//firstBasic += beforePercntBaseYear;
|
||||
baseYear = firstBasic;
|
||||
res = res.Where(x => x.start != firstBaseYearDate).OrderBy(x => x.start).ToList();
|
||||
//var afterSalary = salary.Where(x => x.StartDate > firstbasicSalari.EndDate).ToList();
|
||||
|
||||
var baseList = new List<(double baseYaer, DateTime start, DateTime end, string year)>();
|
||||
var first = (firstBasic, firstbasicSalari.StartDate, firstbasicSalari.EndDate, firstbasicSalari.Year);
|
||||
baseList.Add(first);
|
||||
Console.ForegroundColor = ConsoleColor.Green;
|
||||
Console.WriteLine($"{1398} -> firstBasic : {firstBasic}");
|
||||
var lastItem = res.Count > 1 ? res.Last() : res.FirstOrDefault();
|
||||
foreach (var item in res)
|
||||
{
|
||||
var lastReecord = baseList.Last();
|
||||
var year = Convert.ToInt32(item.start.ToFarsi().Substring(0, 4));
|
||||
if (item.start > lastReecord.end && lastReecord.year != $"{year}")
|
||||
{
|
||||
|
||||
|
||||
var selectedSalary = salary.Where(x => x.Year == $"{year}").OrderBy(x => x.StartDate).ToList();
|
||||
var currentSalary = selectedSalary.First();
|
||||
if (selectedSalary.Count > 1)
|
||||
{
|
||||
currentSalary = selectedSalary.Last();
|
||||
var firstSalery = selectedSalary.First();
|
||||
if (baseYearDateList.Any(x => x >= firstSalery.StartDate && x <= firstSalery.EndDate) || lastItem.end < currentSalary.StartDate)
|
||||
{
|
||||
currentSalary = firstSalery;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
//درصد مزد ثابت تاریخ جاری
|
||||
var fixFeePercentage = currentSalary
|
||||
.YearlySalaryItemsList.Where(x => x.ItemName == "درصد مزد ثابت").Select(x => x.ItemValue).FirstOrDefault();
|
||||
|
||||
// پایه سنوات سال قبل ضربدر درصد مزد ثابت تقسیم بر صد
|
||||
var percntBaseYear = ((lastReecord.baseYaer * fixFeePercentage) / 100) + lastReecord.baseYaer;
|
||||
Console.ForegroundColor = ConsoleColor.Green;
|
||||
|
||||
|
||||
var currentBasic = currentSalary
|
||||
.YearlySalaryItemsList.Where(x => x.ItemName == "پایه سنوات").Select(x => x.ItemValue).FirstOrDefault();
|
||||
Console.WriteLine($"{year} -> [{lastReecord.baseYaer} * {fixFeePercentage} /100 + {lastReecord.baseYaer}] = {percntBaseYear} => [{currentBasic} + {percntBaseYear}] = {currentBasic + percntBaseYear} ");
|
||||
|
||||
if (!baseYearDateList.Any(x => x >= currentSalary.StartDate && x <= currentSalary.EndDate))
|
||||
currentBasic = 0;
|
||||
|
||||
var currentBase = currentBasic + percntBaseYear;
|
||||
|
||||
baseYear = currentBase;
|
||||
|
||||
|
||||
// var round = GetCurrectFirstDailyFee(currentBase, $"{year}");
|
||||
var record = (baseYear, currentSalary.StartDate, currentSalary.EndDate, currentSalary.Year);
|
||||
baseList.Add(record);
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
Console.ResetColor();
|
||||
|
||||
|
||||
selectBase = baseList.Last().baseYaer;
|
||||
baseYearResult = new BaseYearDataViewModel()
|
||||
{
|
||||
WorkshopId = workshopId,
|
||||
EmployeeId = employeeId,
|
||||
BaseYearResult = selectBase,
|
||||
|
||||
BaseYearDataList = baseList.Select(x => new BaseYearDataList()
|
||||
{
|
||||
BaseYear = x.baseYaer,
|
||||
|
||||
StartDateGr = x.start,
|
||||
EndDateGr = x.end,
|
||||
|
||||
StartDateFa = x.start.ToFarsi(),
|
||||
EndDateFa = x.end.ToFarsi(),
|
||||
Year = x.year
|
||||
}).ToList(),
|
||||
|
||||
};
|
||||
}
|
||||
|
||||
//var resCompute = DayliFeeComputingTest(startDateW, contractStart, endDateW, employeeId, workshopId, leftWorkList);
|
||||
//var originalCompute = DayliFeeComputing(startDateW, contractStart, endDateW, employeeId, workshopId, leftWorkList);
|
||||
//var lastBaseResult = baseYearDateList.Last().baseyearDouble;
|
||||
|
||||
//Console.WriteLine($"dailyWage = {resCompute.DayliFeeDouble} - baseYear {selectBase} dailywagePlusBaseyaer = {resCompute.DayliFeeDouble + selectBase} ok = {originalCompute.DayliFeeDouble}");
|
||||
Console.WriteLine("BaseYear : " + selectBase);
|
||||
return baseYearResult;
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// متد کمکی پایه سنوات
|
||||
/// </summary>
|
||||
/// <param name="startDate"></param>
|
||||
/// <param name="endDate"></param>
|
||||
/// <returns></returns>
|
||||
private List<(DateTime start, DateTime end)> MonthByMonthList(DateTime startDate, DateTime endDate)
|
||||
{
|
||||
|
||||
var start = startDate.ToFarsi();
|
||||
var end = endDate.ToFarsi();
|
||||
var ContractPreiodsList = new List<(DateTime start, DateTime end)>();
|
||||
|
||||
|
||||
var syear = Convert.ToInt32(start.Substring(0, 4));
|
||||
var smonth = Convert.ToInt32(start.Substring(5, 2));
|
||||
var sday = Convert.ToInt32(start.Substring(8, 2));
|
||||
|
||||
var eyear = Convert.ToInt32(end.Substring(0, 4));
|
||||
var emonth = Convert.ToInt32(end.Substring(5, 2));
|
||||
var eday = Convert.ToInt32(end.Substring(8, 2));
|
||||
|
||||
var PersianStartDate = new PersianDateTime(syear, smonth, sday);
|
||||
var PersianStartDateAddingMount = new PersianDateTime(syear, smonth, 1);
|
||||
var PersianEndDate = new PersianDateTime(eyear, emonth, eday);
|
||||
|
||||
|
||||
|
||||
var totalmonth = ((PersianEndDate.Year - PersianStartDateAddingMount.Year) * 12) + (PersianEndDate.Month - PersianStartDateAddingMount.Month) + 1;
|
||||
for (int i = 0; i < totalmonth; i++)
|
||||
{
|
||||
|
||||
|
||||
var currentEndDate = PersianStartDateAddingMount.AddMonths(1).AddDays(-1);
|
||||
if (currentEndDate > PersianEndDate)
|
||||
{
|
||||
currentEndDate = PersianEndDate;
|
||||
}
|
||||
|
||||
DateTime startPeriod = ($"{PersianStartDate}").ToGeorgianDateTime();
|
||||
DateTime endPeriod = ($"{currentEndDate}").ToGeorgianDateTime();
|
||||
var record = (startPeriod, endPeriod);
|
||||
ContractPreiodsList.Add(record);
|
||||
//Console.WriteLine($"Month {i + 1} : {PersianStartDate.ToString("yyyy-MM-dd")} to {currentEndDate.ToString("yyyy-MM-dd")}");
|
||||
|
||||
PersianStartDate = PersianStartDate.AddMonths(1);
|
||||
PersianStartDate = new PersianDateTime(PersianStartDate.Year, PersianStartDate.Month, 1);
|
||||
|
||||
|
||||
}
|
||||
|
||||
return ContractPreiodsList;
|
||||
}
|
||||
|
||||
public DayliFeeViewModel DayliFeeComputing(DateTime startDateW, DateTime contractStart, DateTime endDateW, long employeeId, long workshopId, List<LeftWorkViewModel> leftWorkList)
|
||||
{
|
||||
int oldYear = 0;
|
||||
string oldYearTemp = string.Empty;
|
||||
|
||||
@@ -191,7 +191,7 @@ public class institutionContractController : AdminBaseController
|
||||
return new JsonResult(result);
|
||||
}
|
||||
|
||||
[HttpPost("deActive")]
|
||||
[HttpPost("deActive/{id}")]
|
||||
public ActionResult<OperationResult> DeActive(long id, string balance)
|
||||
{
|
||||
var result = new OperationResult();
|
||||
@@ -216,7 +216,7 @@ public class institutionContractController : AdminBaseController
|
||||
/// </summary>
|
||||
/// <param name="id"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost("active")]
|
||||
[HttpPost("active/{id}")]
|
||||
public ActionResult<OperationResult> IsActive(long id)
|
||||
{
|
||||
var result = _institutionContractApplication.Active(id);
|
||||
@@ -228,7 +228,7 @@ public class institutionContractController : AdminBaseController
|
||||
return result;
|
||||
}
|
||||
|
||||
[HttpPost("sign")]
|
||||
[HttpPost("sign/{id}")]
|
||||
public ActionResult<OperationResult> Sign(long Id)
|
||||
{
|
||||
var result = _institutionContractApplication.Sign(Id);
|
||||
@@ -243,7 +243,7 @@ public class institutionContractController : AdminBaseController
|
||||
});
|
||||
}
|
||||
|
||||
[HttpPost("unsign")]
|
||||
[HttpPost("unsign/{id}")]
|
||||
public ActionResult<OperationResult> UnSign(long Id)
|
||||
{
|
||||
var id = Convert.ToInt64(Id);
|
||||
@@ -264,7 +264,7 @@ public class institutionContractController : AdminBaseController
|
||||
/// </summary>
|
||||
/// <param name="id"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost("block-contracting-party")]
|
||||
[HttpPost("block-contracting-party/{id}")]
|
||||
public IActionResult OnPostBlockContractingParty(long id)
|
||||
{
|
||||
var result = _contractingPartyApplication.Block(id);
|
||||
@@ -282,7 +282,7 @@ public class institutionContractController : AdminBaseController
|
||||
/// </summary>
|
||||
/// <param name="id"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost("unblock-contracting-party")]
|
||||
[HttpPost("unblock-contracting-party/{id}")]
|
||||
public IActionResult OnPostUnBlockContractingParty(long id)
|
||||
{
|
||||
var result = _contractingPartyApplication.DisableBlock(id);
|
||||
@@ -582,7 +582,7 @@ public class institutionContractController : AdminBaseController
|
||||
}
|
||||
|
||||
[HttpPost("create/workshop-service-calculator")]
|
||||
public ActionResult<InstitutionPlanViewModel> WorkshopServiceCalculator(CreateWorkshopTemp command)
|
||||
public ActionResult<InstitutionPlanViewModel> WorkshopServiceCalculator([FromBody]CreateWorkshopTemp command)
|
||||
{
|
||||
var workshopTemp = new WorkshopTempViewModel
|
||||
{
|
||||
|
||||
@@ -1,22 +1,27 @@
|
||||
using _0_Framework.Application;
|
||||
using CompanyManagment.App.Contracts.FinancialStatment;
|
||||
using CompanyManagment.App.Contracts.RollCallService;
|
||||
using CompanyManagment.App.Contracts.Workshop;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using ServiceHost.BaseControllers;
|
||||
|
||||
namespace ServiceHost.Areas.Client.Controllers;
|
||||
|
||||
public record GetClientProfileDetails(long Id, string Fullname, string Mobile, List<int> Permissions, List<WorkshopClaim> Workshops, string WorkshopSlug, double DebtAmount,UserType UserType);
|
||||
public record GetClientProfileDetails(long Id, string Fullname, string Mobile,
|
||||
List<int> Permissions, List<WorkshopClaim> Workshops,
|
||||
string WorkshopSlug, double DebtAmount,UserType UserType,bool HasRollCallService,bool HasCustomizeCheckout);
|
||||
|
||||
public class LoginController : ClientBaseController
|
||||
{
|
||||
private readonly IAuthHelper _authHelper;
|
||||
private readonly IFinancialStatmentApplication _financialStatmentApplication;
|
||||
private readonly IRollCallServiceApplication _rollCallServiceApplication;
|
||||
|
||||
public LoginController(IAuthHelper authHelper, IFinancialStatmentApplication financialStatmentApplication)
|
||||
public LoginController(IAuthHelper authHelper, IFinancialStatmentApplication financialStatmentApplication, IRollCallServiceApplication rollCallServiceApplication)
|
||||
{
|
||||
_authHelper = authHelper;
|
||||
_financialStatmentApplication = financialStatmentApplication;
|
||||
_rollCallServiceApplication = rollCallServiceApplication;
|
||||
}
|
||||
/// <summary>
|
||||
/// جزئیات پروفایل کاربر کلاینت را برمی گرداند
|
||||
@@ -37,6 +42,12 @@ public class LoginController : ClientBaseController
|
||||
return Unauthorized();
|
||||
|
||||
var debtAmount = await _financialStatmentApplication.GetClientDebtAmount(data.Id);
|
||||
|
||||
var rollCallService = _rollCallServiceApplication.GetActiveServiceByWorkshopId(_authHelper.GetWorkshopId());
|
||||
var hasRollCallService = rollCallService != null;
|
||||
var hasCustomizeCheckout = rollCallService?.HasCustomizeCheckoutService=="true";
|
||||
|
||||
|
||||
var details = new GetClientProfileDetails(
|
||||
data.Id,
|
||||
data.Fullname,
|
||||
@@ -45,7 +56,9 @@ public class LoginController : ClientBaseController
|
||||
data.WorkshopList,
|
||||
data.WorkshopSlug,
|
||||
debtAmount,
|
||||
userTypeWithId.userType
|
||||
userTypeWithId.userType,
|
||||
hasRollCallService,
|
||||
hasCustomizeCheckout
|
||||
);
|
||||
return details;
|
||||
}
|
||||
@@ -61,7 +74,7 @@ public class LoginController : ClientBaseController
|
||||
var selectedWorkshop = _authHelper.CurrentAccountInfo().WorkshopList.FirstOrDefault(x => x.Slug == slug);
|
||||
if (selectedWorkshop != null)
|
||||
{
|
||||
_authHelper.UpdateWorkshopSlugClaim(selectedWorkshop.Slug, selectedWorkshop.Name);
|
||||
_authHelper.UpdateWorkshopSlugClaim(selectedWorkshop.Slug, selectedWorkshop.Name, selectedWorkshop.Id);
|
||||
|
||||
return new JsonResult(new
|
||||
{
|
||||
|
||||
@@ -64,9 +64,7 @@
|
||||
}
|
||||
|
||||
|
||||
.table-contracts .checkout-list .width10 {
|
||||
width: 15%;
|
||||
}
|
||||
|
||||
|
||||
@@media screen and (max-width: 767px) {
|
||||
.goToTop {
|
||||
@@ -336,14 +334,15 @@
|
||||
<label for="checkAll2" class="prevent-select">ردیف</label>
|
||||
</span>
|
||||
</div>
|
||||
<div class="Rtable-cell column-heading d-none d-lg-block width2">شماره پرسنلی</div>
|
||||
<div class="Rtable-cell column-heading d-none d-lg-block width11"> </div>
|
||||
<div class="Rtable-cell column-heading d-none d-lg-block width2" >شماره پرسنلی</div>
|
||||
<div class="Rtable-cell column-heading d-none d-md-block width3">سال</div>
|
||||
<div class="Rtable-cell column-heading d-none d-md-block width4">ماه</div>
|
||||
<div class="Rtable-cell column-heading d-none d-md-block width5">شماره قرارداد</div>
|
||||
<div class="Rtable-cell column-heading width6">نام پرسنل</div>
|
||||
<div class="Rtable-cell column-heading width7">آغاز قرارداد</div>
|
||||
<div class="Rtable-cell column-heading width8">پایان قرارداد</div>
|
||||
<div class="Rtable-cell column-heading d-none d-md-block width9">امضاء پرسنل</div>
|
||||
<div class="Rtable-cell column-heading d-none d-md-block width9" style="text-align: center">امضاء پرسنل</div>
|
||||
<div class="Rtable-cell column-heading width10 text-end">عملیات</div>
|
||||
</div>
|
||||
|
||||
@@ -362,6 +361,25 @@
|
||||
</span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="Rtable-cell d-lg-block d-none width11">
|
||||
<div class="Rtable-cell--heading"> </div>
|
||||
<div class="Rtable-cell--content">
|
||||
@if (item.HasAmountConflict)
|
||||
{
|
||||
<svg xmlns="http://www.w3.org/2000/svg"
|
||||
width="24" height="24" fill="red"
|
||||
class="bi bi-exclamation-circle"
|
||||
viewBox="0 0 16 16"
|
||||
style="cursor: pointer; margin-left: 10px;"
|
||||
data-bs-toggle="tooltip"
|
||||
data-bs-placement="top"
|
||||
title="توجه داشته باشید این فیش حقوقی دارای تغییرات اعمال نشده میباشد. جهت صدور فیش حقوقی استاندارد مجددا فیش را ایجاد کنید!">
|
||||
<path d="M8 15A7 7 0 1 0 8 1a7 7 0 0 0 0 14zm0 1A8 8 0 1 1 8 0a8 8 0 0 1 0 16z"/>
|
||||
<path d="M7.002 11a1 1 0 1 1 2 0 1 1 0 0 1-2 0zm.1-5.995a.905.905 0 0 1 1.8 0l-.35 3.5a.552.552 0 0 1-1.1 0l-.35-3.5z"/>
|
||||
</svg>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
<div class="Rtable-cell d-lg-block d-none width2">
|
||||
<div class="Rtable-cell--heading">شماره پرسنلی</div>
|
||||
<div class="Rtable-cell--content">@item.PersonnelCode</div>
|
||||
@@ -708,6 +726,9 @@
|
||||
var modalDetailsRotatingShiftReportUrl = `@Url.Page("/Company/Checkouts/Index", "ModalDetailsRotatingShiftReport")`;
|
||||
|
||||
var itemsYearList = @Html.Raw(Json.Serialize(Model.YearlyList.OrderBy(x => x)));
|
||||
document.querySelectorAll('[data-bs-toggle="tooltip"]').forEach(el => {
|
||||
bootstrap.Tooltip.getOrCreateInstance(el);
|
||||
});
|
||||
</script>
|
||||
<script src="~/assetsclient/pages/checkouts/js/index.js?ver=@clientVersion"></script>
|
||||
}
|
||||
@@ -667,7 +667,7 @@
|
||||
style="cursor: pointer; margin-left: 10px;"
|
||||
data-bs-toggle="tooltip"
|
||||
data-bs-placement="top"
|
||||
title="توجه داشته باشید این فیش حقوقی دارای تغییرات اعمال نشده میباشد. جهت رفع تغییرات فیش حقوقی را دوباره ایجاد کنید!">
|
||||
title="توجه داشته باشید این فیش حقوقی دارای تغییرات اعمال نشده میباشد. جهت صدور فیش حقوقی استاندارد مجددا فیش را ایجاد کنید!">
|
||||
<path d="M8 15A7 7 0 1 0 8 1a7 7 0 0 0 0 14zm0 1A8 8 0 1 1 8 0a8 8 0 0 1 0 16z"/>
|
||||
<path d="M7.002 11a1 1 0 1 1 2 0 1 1 0 0 1-2 0zm.1-5.995a.905.905 0 0 1 1.8 0l-.35 3.5a.552.552 0 0 1-1.1 0l-.35-3.5z"/>
|
||||
</svg>
|
||||
|
||||
@@ -18,16 +18,16 @@
|
||||
|
||||
|
||||
@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/datetimepicker.css?ver=@clientVersion" rel="stylesheet" />
|
||||
<link href="~/AssetsClient/css/dropdown.css?ver=@clientVersion" rel="stylesheet" />
|
||||
<link href="~/AssetsClient/css/filter-search.css?ver=@clientVersion" rel="stylesheet" />
|
||||
<link href="~/assetsclient/css/operation-button.css?ver=@clientVersion" rel="stylesheet" />
|
||||
<link href="~/AssetsClient/css/select2.css?ver=@clientVersion" 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/datetimepicker.css?ver=@clientVersion" rel="stylesheet"/>
|
||||
<link href="~/AssetsClient/css/dropdown.css?ver=@clientVersion" rel="stylesheet"/>
|
||||
<link href="~/AssetsClient/css/filter-search.css?ver=@clientVersion" rel="stylesheet"/>
|
||||
<link href="~/assetsclient/css/operation-button.css?ver=@clientVersion" rel="stylesheet"/>
|
||||
<link href="~/AssetsClient/css/select2.css?ver=@clientVersion" rel="stylesheet"/>
|
||||
<link href="~/AdminTheme/assets/sweet-alert/sweet-alert.min.css" rel="stylesheet">
|
||||
|
||||
<link href="~/assetsclient/pages/customizecheckout/css/CheckoutTemporary.css?ver=@clientVersion" rel="stylesheet" />
|
||||
<link href="~/assetsclient/pages/customizecheckout/css/CheckoutTemporary.css?ver=@clientVersion" rel="stylesheet"/>
|
||||
|
||||
|
||||
<style>
|
||||
@@ -56,17 +56,22 @@
|
||||
background-color: #afffcc
|
||||
}
|
||||
|
||||
.btn-excel span {
|
||||
color: #1E293B;
|
||||
font-size: 12px;
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
line-height: 24px;
|
||||
}
|
||||
.btn-excel span {
|
||||
color: #1E293B;
|
||||
font-size: 12px;
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
line-height: 24px;
|
||||
}
|
||||
|
||||
.btn-excel:hover {
|
||||
background-color: #a8ebc1;
|
||||
}
|
||||
.btn-excel:hover {
|
||||
background-color: #a8ebc1;
|
||||
}
|
||||
|
||||
.conflict-icon {
|
||||
color: #dc3545;
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
@@media (max-width: 767px) {
|
||||
.table-contracts .Rtable .Rtable-row .Rtable-contract .Rtable-cell--heading button.btn-print {
|
||||
@@ -80,22 +85,22 @@
|
||||
height: 35px;
|
||||
}
|
||||
|
||||
.btn-excel span, .btn-print-all span {
|
||||
display: none;
|
||||
}
|
||||
.btn-excel span, .btn-print-all span {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
}
|
||||
|
||||
|
||||
<input type="hidden" id="pageIndex" asp-for="@Model.SearchModel.PageIndex" />
|
||||
<input type="hidden" id="employeeId" asp-for="@Model.SearchModel.EmployeeId" />
|
||||
<input type="hidden" id="Year" asp-for="@Model.SearchModel.Year" />
|
||||
<input type="hidden" id="Month" asp-for="@Model.SearchModel.Month" />
|
||||
<input type="hidden" id="SearchStartFa" value="@Model.SearchModel.SearchStartFa" />
|
||||
<input type="hidden" id="SearchEndFa" value="@Model.SearchModel.SearchEndFa" />
|
||||
<input type="hidden" id="OrderBy" value="@Model.SearchModel.OrderBy" />
|
||||
<input type="hidden" id="BankId" value="@Model.SearchModel.BankId" />
|
||||
<input type="hidden" id="pageIndex" asp-for="@Model.SearchModel.PageIndex"/>
|
||||
<input type="hidden" id="employeeId" asp-for="@Model.SearchModel.EmployeeId"/>
|
||||
<input type="hidden" id="Year" asp-for="@Model.SearchModel.Year"/>
|
||||
<input type="hidden" id="Month" asp-for="@Model.SearchModel.Month"/>
|
||||
<input type="hidden" id="SearchStartFa" value="@Model.SearchModel.SearchStartFa"/>
|
||||
<input type="hidden" id="SearchEndFa" value="@Model.SearchModel.SearchEndFa"/>
|
||||
<input type="hidden" id="OrderBy" value="@Model.SearchModel.OrderBy"/>
|
||||
<input type="hidden" id="BankId" value="@Model.SearchModel.BankId"/>
|
||||
|
||||
|
||||
<div class="content-container">
|
||||
@@ -103,7 +108,8 @@
|
||||
<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/checkoutList.png" alt="" class="img-fluid me-2" style="width: 45px;" />
|
||||
<img src="~/AssetsClient/images/checkoutList.png" alt="" class="img-fluid me-2"
|
||||
style="width: 45px;"/>
|
||||
<div>
|
||||
<h4 class="title d-flex align-items-center">اطلاعات فیش حقوقی موقت</h4>
|
||||
<div>@Model.WorkshopFullName</div>
|
||||
@@ -120,9 +126,10 @@
|
||||
<button class="btn btn-rounded mb-5 goToTop">
|
||||
<div class="d-flex align-items-center">
|
||||
<span>برو بالا</span>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" width="20px" class="ms-1">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="m4.5 18.75 7.5-7.5 7.5 7.5" />
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="m4.5 12.75 7.5-7.5 7.5 7.5" />
|
||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2"
|
||||
stroke="currentColor" width="20px" class="ms-1">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="m4.5 18.75 7.5-7.5 7.5 7.5"/>
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="m4.5 12.75 7.5-7.5 7.5 7.5"/>
|
||||
</svg>
|
||||
</div>
|
||||
</button>
|
||||
@@ -138,8 +145,11 @@
|
||||
<div class="d-grid grid-cols-2 gap-2 col-span-2">
|
||||
<div class="wrapper-dropdown-year btn-dropdown" id="dropdown-year">
|
||||
<span class="selected-display" id="destination-year">سال</span>
|
||||
<svg class="arrow" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="transition-all ml-auto rotate-180">
|
||||
<path d="M7 14.5l5-5 5 5" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path>
|
||||
<svg class="arrow" width="24" height="24" viewBox="0 0 24 24" fill="none"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
class="transition-all ml-auto rotate-180">
|
||||
<path d="M7 14.5l5-5 5 5" stroke="currentColor" stroke-width="1.5"
|
||||
stroke-linecap="round" stroke-linejoin="round"></path>
|
||||
</svg>
|
||||
<ul class="dropdown-year boxes" id="my-scrollbar">
|
||||
<li class="item" value-data-year="0">سال</li>
|
||||
@@ -148,13 +158,16 @@
|
||||
<li class="item" value-data-year="@year">@year</li>
|
||||
}
|
||||
</ul>
|
||||
<input type="hidden" id="sendDropdownYear" asp-for="@Model.SearchModel.Year" />
|
||||
<input type="hidden" id="sendDropdownYear" asp-for="@Model.SearchModel.Year"/>
|
||||
</div>
|
||||
|
||||
<div class="wrapper-dropdown-month btn-dropdown" id="dropdown-month">
|
||||
<span class="selected-display" id="destination-month">ماه</span>
|
||||
<svg class="arrow" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="transition-all ml-auto rotate-180">
|
||||
<path d="M7 14.5l5-5 5 5" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path>
|
||||
<svg class="arrow" width="24" height="24" viewBox="0 0 24 24" fill="none"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
class="transition-all ml-auto rotate-180">
|
||||
<path d="M7 14.5l5-5 5 5" stroke="currentColor" stroke-width="1.5"
|
||||
stroke-linecap="round" stroke-linejoin="round"></path>
|
||||
</svg>
|
||||
<ul class="dropdown-month boxes">
|
||||
<li class="item" value-data-month="0">ماه</li>
|
||||
@@ -171,45 +184,73 @@
|
||||
<li class="item" value-data-month="11">بهمن</li>
|
||||
<li class="item" value-data-month="12">اسفند</li>
|
||||
</ul>
|
||||
<input type="hidden" id="sendDropdownMonth" asp-for="@Model.SearchModel.Month" />
|
||||
<input type="hidden" id="sendDropdownMonth" asp-for="@Model.SearchModel.Month"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-span-1"><input type="text" class="form-control form-control-date date text-center start-date" asp-for="@Model.SearchModel.SearchStartFa" style="direction: ltr;" placeholder="تاریخ شروع" /></div>
|
||||
<div class="col-span-1"><input type="text" class="form-control form-control-date date text-center end-date" asp-for="@Model.SearchModel.SearchEndFa" style="direction: ltr;" placeholder="تاریخ پایان" /></div>
|
||||
<div class="col-span-1"><input type="text"
|
||||
class="form-control form-control-date date text-center start-date"
|
||||
asp-for="@Model.SearchModel.SearchStartFa"
|
||||
style="direction: ltr;" placeholder="تاریخ شروع"/></div>
|
||||
<div class="col-span-1"><input type="text"
|
||||
class="form-control form-control-date date text-center end-date"
|
||||
asp-for="@Model.SearchModel.SearchEndFa"
|
||||
style="direction: ltr;" placeholder="تاریخ پایان"/></div>
|
||||
<div class="col-span-2">
|
||||
<select class="form-select select2Option" id="getPersonnel">
|
||||
</select>
|
||||
<input type="hidden" id="SearchModel_EmployeeId" asp-for="@Model.SearchModel.EmployeeId" />
|
||||
<input type="hidden" id="SearchModel_EmployeeId"
|
||||
asp-for="@Model.SearchModel.EmployeeId"/>
|
||||
</div>
|
||||
<div class="col-span-2">
|
||||
<div class="wrapper-dropdown" id="dropdown">
|
||||
<span class="selected-display" id="destination">مرتب سازی</span>
|
||||
<svg class="arrow" id="drp-arrow" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="transition-all ml-auto rotate-180">
|
||||
<path d="M7 14.5l5-5 5 5" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path>
|
||||
<svg class="arrow" id="drp-arrow" width="24" height="24" viewBox="0 0 24 24"
|
||||
fill="none" xmlns="http://www.w3.org/2000/svg"
|
||||
class="transition-all ml-auto rotate-180">
|
||||
<path d="M7 14.5l5-5 5 5" stroke="currentColor" stroke-width="1.5"
|
||||
stroke-linecap="round" stroke-linejoin="round"></path>
|
||||
</svg>
|
||||
<ul class="dropdown p-2 border">
|
||||
<li class="item" value-data="@CustomizeCheckoutOrderByEnum.ContractStartDesc">شروع قرارداد - بزرگ به کوچک</li>
|
||||
<li class="item" value-data="@CustomizeCheckoutOrderByEnum.ContractStart">شروع قرارداد - کوچک به بزرگ</li>
|
||||
<li class="item" value-data="@CustomizeCheckoutOrderByEnum.ContractNo">شماره قرارداد - کوچک به بزرگ</li>
|
||||
<li class="item" value-data="@CustomizeCheckoutOrderByEnum.ContractNoDesc">شماره قرارداد - بزرگ به کوچک</li>
|
||||
<li class="item"
|
||||
value-data="@CustomizeCheckoutOrderByEnum.ContractStartDesc">شروع
|
||||
قرارداد - بزرگ به کوچک
|
||||
</li>
|
||||
<li class="item" value-data="@CustomizeCheckoutOrderByEnum.ContractStart">
|
||||
شروع قرارداد - کوچک به بزرگ
|
||||
</li>
|
||||
<li class="item" value-data="@CustomizeCheckoutOrderByEnum.ContractNo">شماره
|
||||
قرارداد - کوچک به بزرگ
|
||||
</li>
|
||||
<li class="item" value-data="@CustomizeCheckoutOrderByEnum.ContractNoDesc">
|
||||
شماره قرارداد - بزرگ به کوچک
|
||||
</li>
|
||||
</ul>
|
||||
<input type="hidden" id="sendSorting" asp-for="@Model.SearchModel.OrderBy" />
|
||||
<input type="hidden" id="sendSorting" asp-for="@Model.SearchModel.OrderBy"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-span-2">
|
||||
<select class="form-select" id="bankSelectIndex" asp-for="@Model.SearchModel.BankId" data-selected-value="@Model.SearchModel.BankId" aria-label="انتخاب بانک ...">
|
||||
<select class="form-select" id="bankSelectIndex" asp-for="@Model.SearchModel.BankId"
|
||||
data-selected-value="@Model.SearchModel.BankId"
|
||||
aria-label="انتخاب بانک ...">
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="d-flex gap-2 col-span-2">
|
||||
<button class="btn-search btn-w-size btn-search-click text-nowrap d-flex align-items-center justify-content-center" id="searchBtn" type="submit">
|
||||
<button
|
||||
class="btn-search btn-w-size btn-search-click text-nowrap d-flex align-items-center justify-content-center"
|
||||
id="searchBtn" type="submit">
|
||||
<span>جستجو</span>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" width="20" height="20" class="ms-1">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="m21 21-5.197-5.197m0 0A7.5 7.5 0 1 0 5.196 5.196a7.5 7.5 0 0 0 10.607 10.607Z" />
|
||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24"
|
||||
stroke-width="1.5" stroke="currentColor" width="20" height="20"
|
||||
class="ms-1">
|
||||
<path stroke-linecap="round" stroke-linejoin="round"
|
||||
d="m21 21-5.197-5.197m0 0A7.5 7.5 0 1 0 5.196 5.196a7.5 7.5 0 0 0 10.607 10.607Z"/>
|
||||
</svg>
|
||||
</button>
|
||||
<a asp-page="/Company/CustomizeCheckout/CheckoutTemporary" class="btn-clear-filter btn-w-size text-nowrap d-flex align-items-center justify-content-center disable" id="filterRemove">
|
||||
<a asp-page="/Company/CustomizeCheckout/CheckoutTemporary"
|
||||
class="btn-clear-filter btn-w-size text-nowrap d-flex align-items-center justify-content-center disable"
|
||||
id="filterRemove">
|
||||
<span>حذف جستجو</span>
|
||||
</a>
|
||||
</div>
|
||||
@@ -222,7 +263,6 @@
|
||||
</form>
|
||||
|
||||
|
||||
|
||||
<!-- Search Box -->
|
||||
<!-- End Search Box -->
|
||||
<!-- List Items -->
|
||||
@@ -233,11 +273,14 @@
|
||||
|
||||
<div class="row px-lg-2 my-2">
|
||||
<div class="col-6 col-md-4">
|
||||
<button class="btn-create mb-1 d-flex align-items-center justify-content-center gap-1" onclick="openCreateCheckoutTemporaryModal()" Permission="@SubAccountPermissionHelper.CreateCustomizeCheckoutTempPermissionCode">
|
||||
<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-width="1.5" stroke="white" />
|
||||
<path d="M11 13.75L11 8.25" stroke-width="1.5" stroke="white" stroke-linecap="round" />
|
||||
<path d="M13.75 11L8.25 11" stroke-width="1.5" stroke="white" stroke-linecap="round" />
|
||||
<button class="btn-create mb-1 d-flex align-items-center justify-content-center gap-1"
|
||||
onclick="openCreateCheckoutTemporaryModal()"
|
||||
Permission="@SubAccountPermissionHelper.CreateCustomizeCheckoutTempPermissionCode">
|
||||
<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-width="1.5" stroke="white"/>
|
||||
<path d="M11 13.75L11 8.25" stroke-width="1.5" stroke="white" stroke-linecap="round"/>
|
||||
<path d="M13.75 11L8.25 11" stroke-width="1.5" stroke="white" stroke-linecap="round"/>
|
||||
</svg>
|
||||
ایجاد فیش حقوقی
|
||||
</button>
|
||||
@@ -249,18 +292,28 @@
|
||||
</div>
|
||||
<div class="col-6 col-md-4 text-end">
|
||||
<div class="d-none d-md-flex align-items-center justify-content-end gap-1 my-1">
|
||||
<button onclick="printAll()" class="btn-print-all text-nowrap" type="button" Permission="@SubAccountPermissionHelper.PrintCustomizeCheckoutTempPermissionCode">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none">
|
||||
<path d="M15.0001 11.2493H15.139C16.0279 11.2493 16.4723 11.2493 16.759 10.9866C16.7805 10.967 16.801 10.9464 16.8207 10.9249C17.0834 10.6382 17.0834 10.1938 17.0834 9.3049V9.3049C17.0834 7.52714 17.0834 6.63826 16.558 6.06484C16.5187 6.02194 16.4775 5.98077 16.4346 5.94146C15.8612 5.41602 14.9723 5.41602 13.1945 5.41602H6.91675C5.03113 5.41602 4.08832 5.41602 3.50253 6.0018C2.91675 6.58759 2.91675 7.5304 2.91675 9.41602V10.2493C2.91675 10.7208 2.91675 10.9565 3.06319 11.1029C3.20964 11.2493 3.44534 11.2493 3.91675 11.2493H5.00008" stroke="#1E293B" />
|
||||
<path d="M5.41675 16.3903L5.41675 9.91732C5.41675 8.97451 5.41675 8.5031 5.70964 8.21021C6.00253 7.91732 6.47394 7.91732 7.41675 7.91732L12.5834 7.91732C13.5262 7.91732 13.9976 7.91732 14.2905 8.21021C14.5834 8.5031 14.5834 8.97451 14.5834 9.91732L14.5834 16.3903C14.5834 16.7068 14.5834 16.8651 14.4796 16.9399C14.3758 17.0148 14.2256 16.9647 13.9253 16.8646L12.2572 16.3086C12.1712 16.2799 12.1282 16.2656 12.0839 16.2669C12.0396 16.2682 11.9975 16.285 11.9134 16.3187L10.1858 17.0097C10.0941 17.0464 10.0482 17.0647 10.0001 17.0647C9.95194 17.0647 9.90609 17.0464 9.81439 17.0097L8.0868 16.3187C8.00267 16.285 7.9606 16.2682 7.91627 16.2669C7.87194 16.2656 7.82896 16.2799 7.74299 16.3086L6.07486 16.8646C5.77455 16.9647 5.62439 17.0148 5.52057 16.9399C5.41675 16.8651 5.41675 16.7068 5.41675 16.3903Z" stroke="#1E293B" />
|
||||
<path d="M7.91675 11.25L11.2501 11.25" stroke="#1E293B" stroke-linecap="round" />
|
||||
<path d="M7.91675 13.75L12.0834 13.75" stroke="#1E293B" stroke-linecap="round" />
|
||||
<path d="M14.5834 5.41732V5.41732C14.5834 3.97799 14.5834 3.25833 14.1954 2.76756C14.1087 2.65791 14.0095 2.55874 13.8998 2.47204C13.4091 2.08398 12.6894 2.08398 11.2501 2.08398H8.75008C7.31076 2.08398 6.5911 2.08398 6.10032 2.47204C5.99068 2.55874 5.8915 2.65791 5.8048 2.76756C5.41675 3.25833 5.41675 3.97799 5.41675 5.41732V5.41732" stroke="#1E293B" />
|
||||
<button onclick="printAll()" class="btn-print-all text-nowrap" type="button"
|
||||
Permission="@SubAccountPermissionHelper.PrintCustomizeCheckoutTempPermissionCode">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"
|
||||
fill="none">
|
||||
<path
|
||||
d="M15.0001 11.2493H15.139C16.0279 11.2493 16.4723 11.2493 16.759 10.9866C16.7805 10.967 16.801 10.9464 16.8207 10.9249C17.0834 10.6382 17.0834 10.1938 17.0834 9.3049V9.3049C17.0834 7.52714 17.0834 6.63826 16.558 6.06484C16.5187 6.02194 16.4775 5.98077 16.4346 5.94146C15.8612 5.41602 14.9723 5.41602 13.1945 5.41602H6.91675C5.03113 5.41602 4.08832 5.41602 3.50253 6.0018C2.91675 6.58759 2.91675 7.5304 2.91675 9.41602V10.2493C2.91675 10.7208 2.91675 10.9565 3.06319 11.1029C3.20964 11.2493 3.44534 11.2493 3.91675 11.2493H5.00008"
|
||||
stroke="#1E293B"/>
|
||||
<path
|
||||
d="M5.41675 16.3903L5.41675 9.91732C5.41675 8.97451 5.41675 8.5031 5.70964 8.21021C6.00253 7.91732 6.47394 7.91732 7.41675 7.91732L12.5834 7.91732C13.5262 7.91732 13.9976 7.91732 14.2905 8.21021C14.5834 8.5031 14.5834 8.97451 14.5834 9.91732L14.5834 16.3903C14.5834 16.7068 14.5834 16.8651 14.4796 16.9399C14.3758 17.0148 14.2256 16.9647 13.9253 16.8646L12.2572 16.3086C12.1712 16.2799 12.1282 16.2656 12.0839 16.2669C12.0396 16.2682 11.9975 16.285 11.9134 16.3187L10.1858 17.0097C10.0941 17.0464 10.0482 17.0647 10.0001 17.0647C9.95194 17.0647 9.90609 17.0464 9.81439 17.0097L8.0868 16.3187C8.00267 16.285 7.9606 16.2682 7.91627 16.2669C7.87194 16.2656 7.82896 16.2799 7.74299 16.3086L6.07486 16.8646C5.77455 16.9647 5.62439 17.0148 5.52057 16.9399C5.41675 16.8651 5.41675 16.7068 5.41675 16.3903Z"
|
||||
stroke="#1E293B"/>
|
||||
<path d="M7.91675 11.25L11.2501 11.25" stroke="#1E293B" stroke-linecap="round"/>
|
||||
<path d="M7.91675 13.75L12.0834 13.75" stroke="#1E293B" stroke-linecap="round"/>
|
||||
<path
|
||||
d="M14.5834 5.41732V5.41732C14.5834 3.97799 14.5834 3.25833 14.1954 2.76756C14.1087 2.65791 14.0095 2.55874 13.8998 2.47204C13.4091 2.08398 12.6894 2.08398 11.2501 2.08398H8.75008C7.31076 2.08398 6.5911 2.08398 6.10032 2.47204C5.99068 2.55874 5.8915 2.65791 5.8048 2.76756C5.41675 3.25833 5.41675 3.97799 5.41675 5.41732V5.41732"
|
||||
stroke="#1E293B"/>
|
||||
</svg>
|
||||
<span>پرینت گروهی</span>
|
||||
</button>
|
||||
<button onclick="downloadExcelAll()" class="btn-excel text-nowrap" type="button" Permission="@SubAccountPermissionHelper.ExcelCustomizeCheckoutTempPermissionCode">
|
||||
<svg width="20" height="20" viewBox="0 0 400 400" xmlns="http://www.w3.org/2000/svg" fill="#000000">
|
||||
<button onclick="downloadExcelAll()" class="btn-excel text-nowrap" type="button"
|
||||
Permission="@SubAccountPermissionHelper.ExcelCustomizeCheckoutTempPermissionCode">
|
||||
<svg width="20" height="20" viewBox="0 0 400 400" xmlns="http://www.w3.org/2000/svg"
|
||||
fill="#000000">
|
||||
<g id="SVGRepo_bgCarrier" stroke-width="1"></g>
|
||||
<g id="SVGRepo_tracerCarrier" stroke-linecap="round" stroke-linejoin="round"></g>
|
||||
<g id="SVGRepo_iconCarrier">
|
||||
@@ -269,18 +322,48 @@
|
||||
.cls-1 {
|
||||
fill: #0f773d;
|
||||
}</style>
|
||||
</defs> <title></title> <g id="xxx-word"> <path class="cls-1" d="M325,105H250a5,5,0,0,1-5-5V25a5,5,0,1,1,10,0V95h70a5,5,0,0,1,0,10Z"></path> <path class="cls-1" d="M325,154.83a5,5,0,0,1-5-5V102.07L247.93,30H100A20,20,0,0,0,80,50v98.17a5,5,0,0,1-10,0V50a30,30,0,0,1,30-30H250a5,5,0,0,1,3.54,1.46l75,75A5,5,0,0,1,330,100v49.83A5,5,0,0,1,325,154.83Z"></path> <path class="cls-1" d="M300,380H100a30,30,0,0,1-30-30V275a5,5,0,0,1,10,0v75a20,20,0,0,0,20,20H300a20,20,0,0,0,20-20V275a5,5,0,0,1,10,0v75A30,30,0,0,1,300,380Z"></path> <path class="cls-1" d="M275,280H125a5,5,0,1,1,0-10H275a5,5,0,0,1,0,10Z"></path> <path class="cls-1" d="M200,330H125a5,5,0,1,1,0-10h75a5,5,0,0,1,0,10Z"></path> <path class="cls-1" d="M325,280H75a30,30,0,0,1-30-30V173.17a30,30,0,0,1,30-30h.2l250,1.66a30.09,30.09,0,0,1,29.81,30V250A30,30,0,0,1,325,280ZM75,153.17a20,20,0,0,0-20,20V250a20,20,0,0,0,20,20H325a20,20,0,0,0,20-20V174.83a20.06,20.06,0,0,0-19.88-20l-250-1.66Z"></path> <path class="cls-1" d="M152.44,236H117.79V182.68h34.3v7.93H127.4v14.45h19.84v7.73H127.4v14.92h25Z"></path> <path class="cls-1" d="M190.18,236H180l-8.36-14.37L162.52,236h-7.66L168,215.69l-11.37-19.14h10.2l6.48,11.6,7.38-11.6h7.46L177,213.66Z"></path> <path class="cls-1" d="M217.4,221.51l7.66.78q-1.49,7.42-5.74,11A15.5,15.5,0,0,1,209,236.82q-8.17,0-12.56-6a23.89,23.89,0,0,1-4.39-14.59q0-8.91,4.8-14.73a15.77,15.77,0,0,1,12.81-5.82q12.89,0,15.35,13.59l-7.66,1.05q-1-7.34-7.23-7.34a6.9,6.9,0,0,0-6.58,4,20.66,20.66,0,0,0-2.05,9.59q0,6,2.13,9.22a6.74,6.74,0,0,0,6,3.24Q215.49,229,217.4,221.51Z"></path> <path class="cls-1" d="M257,223.42l8,1.09a16.84,16.84,0,0,1-6.09,8.83,18.13,18.13,0,0,1-11.37,3.48q-8.2,0-13.2-5.51t-5-14.92q0-8.94,5-14.8t13.67-5.86q8.44,0,13,5.78t4.61,14.84l0,1H238.61a22.12,22.12,0,0,0,.76,6.45,8.68,8.68,0,0,0,3,4.22,8.83,8.83,0,0,0,5.66,1.8Q254.67,229.83,257,223.42Zm-.55-11.8a9.92,9.92,0,0,0-2.56-7,8.63,8.63,0,0,0-12.36-.18,11.36,11.36,0,0,0-2.89,7.13Z"></path> <path class="cls-1" d="M282.71,236h-8.91V182.68h8.91Z"></path> </g>
|
||||
</defs>
|
||||
<title></title>
|
||||
<g id="xxx-word">
|
||||
<path class="cls-1"
|
||||
d="M325,105H250a5,5,0,0,1-5-5V25a5,5,0,1,1,10,0V95h70a5,5,0,0,1,0,10Z"></path>
|
||||
<path class="cls-1"
|
||||
d="M325,154.83a5,5,0,0,1-5-5V102.07L247.93,30H100A20,20,0,0,0,80,50v98.17a5,5,0,0,1-10,0V50a30,30,0,0,1,30-30H250a5,5,0,0,1,3.54,1.46l75,75A5,5,0,0,1,330,100v49.83A5,5,0,0,1,325,154.83Z"></path>
|
||||
<path class="cls-1"
|
||||
d="M300,380H100a30,30,0,0,1-30-30V275a5,5,0,0,1,10,0v75a20,20,0,0,0,20,20H300a20,20,0,0,0,20-20V275a5,5,0,0,1,10,0v75A30,30,0,0,1,300,380Z"></path>
|
||||
<path class="cls-1"
|
||||
d="M275,280H125a5,5,0,1,1,0-10H275a5,5,0,0,1,0,10Z"></path>
|
||||
<path class="cls-1"
|
||||
d="M200,330H125a5,5,0,1,1,0-10h75a5,5,0,0,1,0,10Z"></path>
|
||||
<path class="cls-1"
|
||||
d="M325,280H75a30,30,0,0,1-30-30V173.17a30,30,0,0,1,30-30h.2l250,1.66a30.09,30.09,0,0,1,29.81,30V250A30,30,0,0,1,325,280ZM75,153.17a20,20,0,0,0-20,20V250a20,20,0,0,0,20,20H325a20,20,0,0,0,20-20V174.83a20.06,20.06,0,0,0-19.88-20l-250-1.66Z"></path>
|
||||
<path class="cls-1"
|
||||
d="M152.44,236H117.79V182.68h34.3v7.93H127.4v14.45h19.84v7.73H127.4v14.92h25Z"></path>
|
||||
<path class="cls-1"
|
||||
d="M190.18,236H180l-8.36-14.37L162.52,236h-7.66L168,215.69l-11.37-19.14h10.2l6.48,11.6,7.38-11.6h7.46L177,213.66Z"></path>
|
||||
<path class="cls-1"
|
||||
d="M217.4,221.51l7.66.78q-1.49,7.42-5.74,11A15.5,15.5,0,0,1,209,236.82q-8.17,0-12.56-6a23.89,23.89,0,0,1-4.39-14.59q0-8.91,4.8-14.73a15.77,15.77,0,0,1,12.81-5.82q12.89,0,15.35,13.59l-7.66,1.05q-1-7.34-7.23-7.34a6.9,6.9,0,0,0-6.58,4,20.66,20.66,0,0,0-2.05,9.59q0,6,2.13,9.22a6.74,6.74,0,0,0,6,3.24Q215.49,229,217.4,221.51Z"></path>
|
||||
<path class="cls-1"
|
||||
d="M257,223.42l8,1.09a16.84,16.84,0,0,1-6.09,8.83,18.13,18.13,0,0,1-11.37,3.48q-8.2,0-13.2-5.51t-5-14.92q0-8.94,5-14.8t13.67-5.86q8.44,0,13,5.78t4.61,14.84l0,1H238.61a22.12,22.12,0,0,0,.76,6.45,8.68,8.68,0,0,0,3,4.22,8.83,8.83,0,0,0,5.66,1.8Q254.67,229.83,257,223.42Zm-.55-11.8a9.92,9.92,0,0,0-2.56-7,8.63,8.63,0,0,0-12.36-.18,11.36,11.36,0,0,0-2.89,7.13Z"></path>
|
||||
<path class="cls-1" d="M282.71,236h-8.91V182.68h8.91Z"></path>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
<span>خروجی اکسل</span>
|
||||
</button>
|
||||
|
||||
<button class="btn-print-all text-nowrap RemoveBtnAll" type="button" Permission="@SubAccountPermissionHelper.DeleteCustomizeCheckoutTempPermissionCode">
|
||||
<svg width="20" height="20" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M8.70825 13.2891L8.70825 10.5391" stroke="#BF3737" stroke-linecap="round" />
|
||||
<path d="M13.2917 13.2891L13.2917 10.5391" stroke="#BF3737" stroke-linecap="round" />
|
||||
<path d="M2.75 5.96094H19.25V5.96094C18.122 5.96094 17.558 5.96094 17.1279 6.18191C16.7561 6.37284 16.4536 6.67541 16.2626 7.04713C16.0417 7.47732 16.0417 8.0413 16.0417 9.16927V13.8776C16.0417 15.7632 16.0417 16.706 15.4559 17.2918C14.8701 17.8776 13.9273 17.8776 12.0417 17.8776H9.95833C8.07271 17.8776 7.12991 17.8776 6.54412 17.2918C5.95833 16.706 5.95833 15.7632 5.95833 13.8776V9.16927C5.95833 8.0413 5.95833 7.47732 5.73737 7.04713C5.54643 6.67541 5.24386 6.37284 4.87214 6.18191C4.44195 5.96094 3.87797 5.96094 2.75 5.96094V5.96094Z" stroke="#BF3737" stroke-linecap="round" />
|
||||
<path d="M8.70841 3.20595C8.70841 3.20595 9.16675 2.28906 11.0001 2.28906C12.8334 2.28906 13.2917 3.20573 13.2917 3.20573" stroke="#BF3737" stroke-linecap="round" />
|
||||
<button class="btn-print-all text-nowrap RemoveBtnAll" type="button"
|
||||
Permission="@SubAccountPermissionHelper.DeleteCustomizeCheckoutTempPermissionCode">
|
||||
<svg width="20" height="20" viewBox="0 0 22 22" fill="none"
|
||||
xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M8.70825 13.2891L8.70825 10.5391" stroke="#BF3737" stroke-linecap="round"/>
|
||||
<path d="M13.2917 13.2891L13.2917 10.5391" stroke="#BF3737" stroke-linecap="round"/>
|
||||
<path
|
||||
d="M2.75 5.96094H19.25V5.96094C18.122 5.96094 17.558 5.96094 17.1279 6.18191C16.7561 6.37284 16.4536 6.67541 16.2626 7.04713C16.0417 7.47732 16.0417 8.0413 16.0417 9.16927V13.8776C16.0417 15.7632 16.0417 16.706 15.4559 17.2918C14.8701 17.8776 13.9273 17.8776 12.0417 17.8776H9.95833C8.07271 17.8776 7.12991 17.8776 6.54412 17.2918C5.95833 16.706 5.95833 15.7632 5.95833 13.8776V9.16927C5.95833 8.0413 5.95833 7.47732 5.73737 7.04713C5.54643 6.67541 5.24386 6.37284 4.87214 6.18191C4.44195 5.96094 3.87797 5.96094 2.75 5.96094V5.96094Z"
|
||||
stroke="#BF3737" stroke-linecap="round"/>
|
||||
<path
|
||||
d="M8.70841 3.20595C8.70841 3.20595 9.16675 2.28906 11.0001 2.28906C12.8334 2.28906 13.2917 3.20573 13.2917 3.20573"
|
||||
stroke="#BF3737" stroke-linecap="round"/>
|
||||
</svg>
|
||||
<span>حذف گروهی</span>
|
||||
</button>
|
||||
@@ -295,11 +378,13 @@
|
||||
<div class="row d-flex align-items-center justify-content-between">
|
||||
<div class="search-box bg-white">
|
||||
<div class="col text-center">
|
||||
<button class="btn-search w-100" type="button" data-bs-toggle="modal" data-bs-target="#searchModal">
|
||||
<button class="btn-search w-100" type="button" data-bs-toggle="modal"
|
||||
data-bs-target="#searchModal">
|
||||
<span>جستجو پیشرفته</span>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
|
||||
<circle cx="11" cy="11" r="6" stroke="white" />
|
||||
<path d="M20 20L17 17" stroke="white" stroke-linecap="round" />
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24"
|
||||
viewBox="0 0 24 24" fill="none">
|
||||
<circle cx="11" cy="11" r="6" stroke="white"/>
|
||||
<path d="M20 20L17 17" stroke="white" stroke-linecap="round"/>
|
||||
</svg>
|
||||
</button>
|
||||
</div>
|
||||
@@ -315,37 +400,82 @@
|
||||
<label for="checkAll1">انتخاب همه</label>
|
||||
</div>
|
||||
<div class="d-flex align-items-center justify-content-end gap-1">
|
||||
<button onclick="printAllMobile()" class="btn-print-all text-nowrap" type="button" Permission="@SubAccountPermissionHelper.PrintCustomizeCheckoutTempPermissionCode">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none">
|
||||
<path d="M15.0001 11.2493H15.139C16.0279 11.2493 16.4723 11.2493 16.759 10.9866C16.7805 10.967 16.801 10.9464 16.8207 10.9249C17.0834 10.6382 17.0834 10.1938 17.0834 9.3049V9.3049C17.0834 7.52714 17.0834 6.63826 16.558 6.06484C16.5187 6.02194 16.4775 5.98077 16.4346 5.94146C15.8612 5.41602 14.9723 5.41602 13.1945 5.41602H6.91675C5.03113 5.41602 4.08832 5.41602 3.50253 6.0018C2.91675 6.58759 2.91675 7.5304 2.91675 9.41602V10.2493C2.91675 10.7208 2.91675 10.9565 3.06319 11.1029C3.20964 11.2493 3.44534 11.2493 3.91675 11.2493H5.00008" stroke="#1E293B" />
|
||||
<path d="M5.41675 16.3903L5.41675 9.91732C5.41675 8.97451 5.41675 8.5031 5.70964 8.21021C6.00253 7.91732 6.47394 7.91732 7.41675 7.91732L12.5834 7.91732C13.5262 7.91732 13.9976 7.91732 14.2905 8.21021C14.5834 8.5031 14.5834 8.97451 14.5834 9.91732L14.5834 16.3903C14.5834 16.7068 14.5834 16.8651 14.4796 16.9399C14.3758 17.0148 14.2256 16.9647 13.9253 16.8646L12.2572 16.3086C12.1712 16.2799 12.1282 16.2656 12.0839 16.2669C12.0396 16.2682 11.9975 16.285 11.9134 16.3187L10.1858 17.0097C10.0941 17.0464 10.0482 17.0647 10.0001 17.0647C9.95194 17.0647 9.90609 17.0464 9.81439 17.0097L8.0868 16.3187C8.00267 16.285 7.9606 16.2682 7.91627 16.2669C7.87194 16.2656 7.82896 16.2799 7.74299 16.3086L6.07486 16.8646C5.77455 16.9647 5.62439 17.0148 5.52057 16.9399C5.41675 16.8651 5.41675 16.7068 5.41675 16.3903Z" stroke="#1E293B" />
|
||||
<path d="M7.91675 11.25L11.2501 11.25" stroke="#1E293B" stroke-linecap="round" />
|
||||
<path d="M7.91675 13.75L12.0834 13.75" stroke="#1E293B" stroke-linecap="round" />
|
||||
<path d="M14.5834 5.41732V5.41732C14.5834 3.97799 14.5834 3.25833 14.1954 2.76756C14.1087 2.65791 14.0095 2.55874 13.8998 2.47204C13.4091 2.08398 12.6894 2.08398 11.2501 2.08398H8.75008C7.31076 2.08398 6.5911 2.08398 6.10032 2.47204C5.99068 2.55874 5.8915 2.65791 5.8048 2.76756C5.41675 3.25833 5.41675 3.97799 5.41675 5.41732V5.41732" stroke="#1E293B" />
|
||||
<button onclick="printAllMobile()" class="btn-print-all text-nowrap" type="button"
|
||||
Permission="@SubAccountPermissionHelper.PrintCustomizeCheckoutTempPermissionCode">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20"
|
||||
viewBox="0 0 20 20" fill="none">
|
||||
<path
|
||||
d="M15.0001 11.2493H15.139C16.0279 11.2493 16.4723 11.2493 16.759 10.9866C16.7805 10.967 16.801 10.9464 16.8207 10.9249C17.0834 10.6382 17.0834 10.1938 17.0834 9.3049V9.3049C17.0834 7.52714 17.0834 6.63826 16.558 6.06484C16.5187 6.02194 16.4775 5.98077 16.4346 5.94146C15.8612 5.41602 14.9723 5.41602 13.1945 5.41602H6.91675C5.03113 5.41602 4.08832 5.41602 3.50253 6.0018C2.91675 6.58759 2.91675 7.5304 2.91675 9.41602V10.2493C2.91675 10.7208 2.91675 10.9565 3.06319 11.1029C3.20964 11.2493 3.44534 11.2493 3.91675 11.2493H5.00008"
|
||||
stroke="#1E293B"/>
|
||||
<path
|
||||
d="M5.41675 16.3903L5.41675 9.91732C5.41675 8.97451 5.41675 8.5031 5.70964 8.21021C6.00253 7.91732 6.47394 7.91732 7.41675 7.91732L12.5834 7.91732C13.5262 7.91732 13.9976 7.91732 14.2905 8.21021C14.5834 8.5031 14.5834 8.97451 14.5834 9.91732L14.5834 16.3903C14.5834 16.7068 14.5834 16.8651 14.4796 16.9399C14.3758 17.0148 14.2256 16.9647 13.9253 16.8646L12.2572 16.3086C12.1712 16.2799 12.1282 16.2656 12.0839 16.2669C12.0396 16.2682 11.9975 16.285 11.9134 16.3187L10.1858 17.0097C10.0941 17.0464 10.0482 17.0647 10.0001 17.0647C9.95194 17.0647 9.90609 17.0464 9.81439 17.0097L8.0868 16.3187C8.00267 16.285 7.9606 16.2682 7.91627 16.2669C7.87194 16.2656 7.82896 16.2799 7.74299 16.3086L6.07486 16.8646C5.77455 16.9647 5.62439 17.0148 5.52057 16.9399C5.41675 16.8651 5.41675 16.7068 5.41675 16.3903Z"
|
||||
stroke="#1E293B"/>
|
||||
<path d="M7.91675 11.25L11.2501 11.25" stroke="#1E293B"
|
||||
stroke-linecap="round"/>
|
||||
<path d="M7.91675 13.75L12.0834 13.75" stroke="#1E293B"
|
||||
stroke-linecap="round"/>
|
||||
<path
|
||||
d="M14.5834 5.41732V5.41732C14.5834 3.97799 14.5834 3.25833 14.1954 2.76756C14.1087 2.65791 14.0095 2.55874 13.8998 2.47204C13.4091 2.08398 12.6894 2.08398 11.2501 2.08398H8.75008C7.31076 2.08398 6.5911 2.08398 6.10032 2.47204C5.99068 2.55874 5.8915 2.65791 5.8048 2.76756C5.41675 3.25833 5.41675 3.97799 5.41675 5.41732V5.41732"
|
||||
stroke="#1E293B"/>
|
||||
</svg>
|
||||
<span>پرینت گروهی</span>
|
||||
</button>
|
||||
<button onclick="showExcelAllModal()" class="btn-excel text-nowrap" type="button" Permission="@SubAccountPermissionHelper.ExcelCustomizeCheckoutTempPermissionCode">
|
||||
<svg width="20" height="20" viewBox="0 0 400 400" xmlns="http://www.w3.org/2000/svg" fill="#000000">
|
||||
<button onclick="showExcelAllModal()" class="btn-excel text-nowrap" type="button"
|
||||
Permission="@SubAccountPermissionHelper.ExcelCustomizeCheckoutTempPermissionCode">
|
||||
<svg width="20" height="20" viewBox="0 0 400 400"
|
||||
xmlns="http://www.w3.org/2000/svg" fill="#000000">
|
||||
<g id="SVGRepo_bgCarrier" stroke-width="1"></g>
|
||||
<g id="SVGRepo_tracerCarrier" stroke-linecap="round" stroke-linejoin="round"></g>
|
||||
<g id="SVGRepo_tracerCarrier" stroke-linecap="round"
|
||||
stroke-linejoin="round"></g>
|
||||
<g id="SVGRepo_iconCarrier">
|
||||
<defs>
|
||||
<style>
|
||||
.cls-1 {
|
||||
fill: #0f773d;
|
||||
}</style>
|
||||
</defs> <title></title> <g id="xxx-word"> <path class="cls-1" d="M325,105H250a5,5,0,0,1-5-5V25a5,5,0,1,1,10,0V95h70a5,5,0,0,1,0,10Z"></path> <path class="cls-1" d="M325,154.83a5,5,0,0,1-5-5V102.07L247.93,30H100A20,20,0,0,0,80,50v98.17a5,5,0,0,1-10,0V50a30,30,0,0,1,30-30H250a5,5,0,0,1,3.54,1.46l75,75A5,5,0,0,1,330,100v49.83A5,5,0,0,1,325,154.83Z"></path> <path class="cls-1" d="M300,380H100a30,30,0,0,1-30-30V275a5,5,0,0,1,10,0v75a20,20,0,0,0,20,20H300a20,20,0,0,0,20-20V275a5,5,0,0,1,10,0v75A30,30,0,0,1,300,380Z"></path> <path class="cls-1" d="M275,280H125a5,5,0,1,1,0-10H275a5,5,0,0,1,0,10Z"></path> <path class="cls-1" d="M200,330H125a5,5,0,1,1,0-10h75a5,5,0,0,1,0,10Z"></path> <path class="cls-1" d="M325,280H75a30,30,0,0,1-30-30V173.17a30,30,0,0,1,30-30h.2l250,1.66a30.09,30.09,0,0,1,29.81,30V250A30,30,0,0,1,325,280ZM75,153.17a20,20,0,0,0-20,20V250a20,20,0,0,0,20,20H325a20,20,0,0,0,20-20V174.83a20.06,20.06,0,0,0-19.88-20l-250-1.66Z"></path> <path class="cls-1" d="M152.44,236H117.79V182.68h34.3v7.93H127.4v14.45h19.84v7.73H127.4v14.92h25Z"></path> <path class="cls-1" d="M190.18,236H180l-8.36-14.37L162.52,236h-7.66L168,215.69l-11.37-19.14h10.2l6.48,11.6,7.38-11.6h7.46L177,213.66Z"></path> <path class="cls-1" d="M217.4,221.51l7.66.78q-1.49,7.42-5.74,11A15.5,15.5,0,0,1,209,236.82q-8.17,0-12.56-6a23.89,23.89,0,0,1-4.39-14.59q0-8.91,4.8-14.73a15.77,15.77,0,0,1,12.81-5.82q12.89,0,15.35,13.59l-7.66,1.05q-1-7.34-7.23-7.34a6.9,6.9,0,0,0-6.58,4,20.66,20.66,0,0,0-2.05,9.59q0,6,2.13,9.22a6.74,6.74,0,0,0,6,3.24Q215.49,229,217.4,221.51Z"></path> <path class="cls-1" d="M257,223.42l8,1.09a16.84,16.84,0,0,1-6.09,8.83,18.13,18.13,0,0,1-11.37,3.48q-8.2,0-13.2-5.51t-5-14.92q0-8.94,5-14.8t13.67-5.86q8.44,0,13,5.78t4.61,14.84l0,1H238.61a22.12,22.12,0,0,0,.76,6.45,8.68,8.68,0,0,0,3,4.22,8.83,8.83,0,0,0,5.66,1.8Q254.67,229.83,257,223.42Zm-.55-11.8a9.92,9.92,0,0,0-2.56-7,8.63,8.63,0,0,0-12.36-.18,11.36,11.36,0,0,0-2.89,7.13Z"></path> <path class="cls-1" d="M282.71,236h-8.91V182.68h8.91Z"></path> </g>
|
||||
</defs>
|
||||
<title></title>
|
||||
<g id="xxx-word">
|
||||
<path class="cls-1"
|
||||
d="M325,105H250a5,5,0,0,1-5-5V25a5,5,0,1,1,10,0V95h70a5,5,0,0,1,0,10Z"></path>
|
||||
<path class="cls-1"
|
||||
d="M325,154.83a5,5,0,0,1-5-5V102.07L247.93,30H100A20,20,0,0,0,80,50v98.17a5,5,0,0,1-10,0V50a30,30,0,0,1,30-30H250a5,5,0,0,1,3.54,1.46l75,75A5,5,0,0,1,330,100v49.83A5,5,0,0,1,325,154.83Z"></path>
|
||||
<path class="cls-1"
|
||||
d="M300,380H100a30,30,0,0,1-30-30V275a5,5,0,0,1,10,0v75a20,20,0,0,0,20,20H300a20,20,0,0,0,20-20V275a5,5,0,0,1,10,0v75A30,30,0,0,1,300,380Z"></path>
|
||||
<path class="cls-1"
|
||||
d="M275,280H125a5,5,0,1,1,0-10H275a5,5,0,0,1,0,10Z"></path>
|
||||
<path class="cls-1"
|
||||
d="M200,330H125a5,5,0,1,1,0-10h75a5,5,0,0,1,0,10Z"></path>
|
||||
<path class="cls-1"
|
||||
d="M325,280H75a30,30,0,0,1-30-30V173.17a30,30,0,0,1,30-30h.2l250,1.66a30.09,30.09,0,0,1,29.81,30V250A30,30,0,0,1,325,280ZM75,153.17a20,20,0,0,0-20,20V250a20,20,0,0,0,20,20H325a20,20,0,0,0,20-20V174.83a20.06,20.06,0,0,0-19.88-20l-250-1.66Z"></path>
|
||||
<path class="cls-1"
|
||||
d="M152.44,236H117.79V182.68h34.3v7.93H127.4v14.45h19.84v7.73H127.4v14.92h25Z"></path>
|
||||
<path class="cls-1"
|
||||
d="M190.18,236H180l-8.36-14.37L162.52,236h-7.66L168,215.69l-11.37-19.14h10.2l6.48,11.6,7.38-11.6h7.46L177,213.66Z"></path>
|
||||
<path class="cls-1"
|
||||
d="M217.4,221.51l7.66.78q-1.49,7.42-5.74,11A15.5,15.5,0,0,1,209,236.82q-8.17,0-12.56-6a23.89,23.89,0,0,1-4.39-14.59q0-8.91,4.8-14.73a15.77,15.77,0,0,1,12.81-5.82q12.89,0,15.35,13.59l-7.66,1.05q-1-7.34-7.23-7.34a6.9,6.9,0,0,0-6.58,4,20.66,20.66,0,0,0-2.05,9.59q0,6,2.13,9.22a6.74,6.74,0,0,0,6,3.24Q215.49,229,217.4,221.51Z"></path>
|
||||
<path class="cls-1"
|
||||
d="M257,223.42l8,1.09a16.84,16.84,0,0,1-6.09,8.83,18.13,18.13,0,0,1-11.37,3.48q-8.2,0-13.2-5.51t-5-14.92q0-8.94,5-14.8t13.67-5.86q8.44,0,13,5.78t4.61,14.84l0,1H238.61a22.12,22.12,0,0,0,.76,6.45,8.68,8.68,0,0,0,3,4.22,8.83,8.83,0,0,0,5.66,1.8Q254.67,229.83,257,223.42Zm-.55-11.8a9.92,9.92,0,0,0-2.56-7,8.63,8.63,0,0,0-12.36-.18,11.36,11.36,0,0,0-2.89,7.13Z"></path>
|
||||
<path class="cls-1" d="M282.71,236h-8.91V182.68h8.91Z"></path>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
<span>خروجی اکسل</span>
|
||||
</button>
|
||||
<button class="btn-print-all RemoveBtnAll" type="button" Permission="@SubAccountPermissionHelper.DeleteCustomizeCheckoutTempPermissionCode">
|
||||
<svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M8.70825 13.2891L8.70825 10.5391" stroke="#BF3737" stroke-linecap="round" />
|
||||
<path d="M13.2917 13.2891L13.2917 10.5391" stroke="#BF3737" stroke-linecap="round" />
|
||||
<path d="M2.75 5.96094H19.25V5.96094C18.122 5.96094 17.558 5.96094 17.1279 6.18191C16.7561 6.37284 16.4536 6.67541 16.2626 7.04713C16.0417 7.47732 16.0417 8.0413 16.0417 9.16927V13.8776C16.0417 15.7632 16.0417 16.706 15.4559 17.2918C14.8701 17.8776 13.9273 17.8776 12.0417 17.8776H9.95833C8.07271 17.8776 7.12991 17.8776 6.54412 17.2918C5.95833 16.706 5.95833 15.7632 5.95833 13.8776V9.16927C5.95833 8.0413 5.95833 7.47732 5.73737 7.04713C5.54643 6.67541 5.24386 6.37284 4.87214 6.18191C4.44195 5.96094 3.87797 5.96094 2.75 5.96094V5.96094Z" stroke="#BF3737" stroke-linecap="round" />
|
||||
<path d="M8.70841 3.20595C8.70841 3.20595 9.16675 2.28906 11.0001 2.28906C12.8334 2.28906 13.2917 3.20573 13.2917 3.20573" stroke="#BF3737" stroke-linecap="round" />
|
||||
<button class="btn-print-all RemoveBtnAll" type="button"
|
||||
Permission="@SubAccountPermissionHelper.DeleteCustomizeCheckoutTempPermissionCode">
|
||||
<svg width="22" height="22" viewBox="0 0 22 22" fill="none"
|
||||
xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M8.70825 13.2891L8.70825 10.5391" stroke="#BF3737"
|
||||
stroke-linecap="round"/>
|
||||
<path d="M13.2917 13.2891L13.2917 10.5391" stroke="#BF3737"
|
||||
stroke-linecap="round"/>
|
||||
<path
|
||||
d="M2.75 5.96094H19.25V5.96094C18.122 5.96094 17.558 5.96094 17.1279 6.18191C16.7561 6.37284 16.4536 6.67541 16.2626 7.04713C16.0417 7.47732 16.0417 8.0413 16.0417 9.16927V13.8776C16.0417 15.7632 16.0417 16.706 15.4559 17.2918C14.8701 17.8776 13.9273 17.8776 12.0417 17.8776H9.95833C8.07271 17.8776 7.12991 17.8776 6.54412 17.2918C5.95833 16.706 5.95833 15.7632 5.95833 13.8776V9.16927C5.95833 8.0413 5.95833 7.47732 5.73737 7.04713C5.54643 6.67541 5.24386 6.37284 4.87214 6.18191C4.44195 5.96094 3.87797 5.96094 2.75 5.96094V5.96094Z"
|
||||
stroke="#BF3737" stroke-linecap="round"/>
|
||||
<path
|
||||
d="M8.70841 3.20595C8.70841 3.20595 9.16675 2.28906 11.0001 2.28906C12.8334 2.28906 13.2917 3.20573 13.2917 3.20573"
|
||||
stroke="#BF3737" stroke-linecap="round"/>
|
||||
</svg>
|
||||
<span>حذف گروهی</span>
|
||||
</button>
|
||||
@@ -355,8 +485,10 @@
|
||||
<div class="checkout-list Rtable Rtable--5cols Rtable--collapse tb">
|
||||
<div class="Rtable-row Rtable-row--head align-items-center sticky-div">
|
||||
<div class="Rtable-cell column-heading width1">
|
||||
<span class="d-flex justify-content-center text-white align-items-center justify-content-between">
|
||||
<input type="checkbox" class="form-check-input checkAll" name="" id="checkAll2">
|
||||
<span
|
||||
class="d-flex justify-content-center text-white align-items-center justify-content-between">
|
||||
<input type="checkbox" class="form-check-input checkAll" name=""
|
||||
id="checkAll2">
|
||||
<label for="checkAll2" class="prevent-select">ردیف</label>
|
||||
</span>
|
||||
</div>
|
||||
@@ -384,8 +516,10 @@
|
||||
ردیف
|
||||
</div>
|
||||
<label for="@i" class="Rtable-cell--content prevent-select">
|
||||
<span class="d-flex justify-content-center align-items-center justify-content-between">
|
||||
<input id="@i" type="checkbox" class="form-check-input foo" name="foo" value="@item.Id">
|
||||
<span
|
||||
class="d-flex justify-content-center align-items-center justify-content-between">
|
||||
<input id="@i" type="checkbox" class="form-check-input foo"
|
||||
name="foo" value="@item.Id">
|
||||
<div class="row-number">
|
||||
@(i = i + 1)
|
||||
</div>
|
||||
@@ -410,7 +544,25 @@
|
||||
</div> *@
|
||||
<div class="Rtable-cell d-md-block d-none width6">
|
||||
<div class="Rtable-cell--heading">نام پرسنل</div>
|
||||
<div class="Rtable-cell--content ">@item.EmployeeFullName</div>
|
||||
<div class="Rtable-cell--content">
|
||||
@item.EmployeeFullName
|
||||
@if (item.HasAmountConflict)
|
||||
{
|
||||
<svg xmlns="http://www.w3.org/2000/svg"
|
||||
width="24" height="24" fill="red"
|
||||
class="bi bi-exclamation-circle"
|
||||
viewBox="0 0 16 16"
|
||||
style="cursor: pointer; margin-left: 10px;"
|
||||
data-bs-toggle="tooltip"
|
||||
data-bs-placement="top"
|
||||
title="توجه داشته باشید این فیش حقوقی دارای تغییرات اعمال نشده میباشد. جهت صدور فیش حقوقی استاندارد مجددا فیش را ایجاد کنید!">
|
||||
<path
|
||||
d="M8 15A7 7 0 1 0 8 1a7 7 0 0 0 0 14zm0 1A8 8 0 1 1 8 0a8 8 0 0 1 0 16z"/>
|
||||
<path
|
||||
d="M7.002 11a1 1 0 1 1 2 0 1 1 0 0 1-2 0zm.1-5.995a.905.905 0 0 1 1.8 0l-.35 3.5a.552.552 0 0 1-1.1 0l-.35-3.5z"/>
|
||||
</svg>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
<div class="Rtable-cell d-md-block d-none width7">
|
||||
<div class="Rtable-cell--heading">آغاز قرارداد</div>
|
||||
@@ -426,49 +578,75 @@
|
||||
</div>
|
||||
<div class="Rtable-cell d-md-flex d-none width9">
|
||||
<div class="Rtable-cell--heading">تاخیر در ورود</div>
|
||||
<div class="Rtable-cell--content @(item.TotalLateToWorkDeduction == "0" ? "" : "textRed")">@item.TotalLateToWorkDeduction</div>
|
||||
<div
|
||||
class="Rtable-cell--content @(item.TotalLateToWorkDeduction == "0" ? "" : "textRed")">@item.TotalLateToWorkDeduction</div>
|
||||
</div>
|
||||
<div class="Rtable-cell d-md-flex d-none width9">
|
||||
<div class="Rtable-cell--heading">غیبت</div>
|
||||
<div class="Rtable-cell--content @(item.AbsenceDeduction == "0" ? "" : "textRed")">@item.AbsenceDeduction</div>
|
||||
<div
|
||||
class="Rtable-cell--content @(item.AbsenceDeduction == "0" ? "" : "textRed")">@item.AbsenceDeduction</div>
|
||||
</div>
|
||||
<div class="Rtable-cell d-md-flex d-none width9">
|
||||
<div class="Rtable-cell--heading">مساعده</div>
|
||||
<div class="Rtable-cell--content @(item.SalaryAidDeduction == "0" ? "" : "textRed")">@item.SalaryAidDeduction</div>
|
||||
<div
|
||||
class="Rtable-cell--content @(item.SalaryAidDeduction == "0" ? "" : "textRed")">@item.SalaryAidDeduction</div>
|
||||
</div>
|
||||
<div class="Rtable-cell d-md-flex d-none width9">
|
||||
<div class="@(item.TotalPaymentD < 0 ? "bgColorMonthlySalaryMinus" : "bgColorMonthlySalaryPlus")">
|
||||
<div
|
||||
class="@(item.TotalPaymentD < 0 ? "bgColorMonthlySalaryMinus" : "bgColorMonthlySalaryPlus")">
|
||||
<div class="Rtable-cell--heading">مبلغ قابل پرداخت</div>
|
||||
<div class="Rtable-cell--content ">@(item.TotalPayment + " ریال")</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="Rtable-cell d-md-flex d-none width10">
|
||||
<div class="Rtable-cell--content align-items-center d-flex d-md-block text-end">
|
||||
<button class="btn-print moreThan992" type="button" onclick="printOne(@item.Id, '@item.Year', '@item.Month')" Permission="@SubAccountPermissionHelper.PrintCustomizeCheckoutTempPermissionCode">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke="currentColor">
|
||||
<path d="M15.0001 11.2493H15.139C16.0279 11.2493 16.4723 11.2493 16.759 10.9866C16.7805 10.967 16.801 10.9464 16.8207 10.9249C17.0834 10.6382 17.0834 10.1938 17.0834 9.3049V9.3049C17.0834 7.52714 17.0834 6.63826 16.558 6.06484C16.5187 6.02194 16.4775 5.98077 16.4346 5.94146C15.8612 5.41602 14.9723 5.41602 13.1945 5.41602H6.91675C5.03113 5.41602 4.08832 5.41602 3.50253 6.0018C2.91675 6.58759 2.91675 7.5304 2.91675 9.41602V10.2493C2.91675 10.7208 2.91675 10.9565 3.06319 11.1029C3.20964 11.2493 3.44534 11.2493 3.91675 11.2493H5.00008" />
|
||||
<path d="M5.41675 16.3903L5.41675 9.91732C5.41675 8.97451 5.41675 8.5031 5.70964 8.21021C6.00253 7.91732 6.47394 7.91732 7.41675 7.91732L12.5834 7.91732C13.5262 7.91732 13.9976 7.91732 14.2905 8.21021C14.5834 8.5031 14.5834 8.97451 14.5834 9.91732L14.5834 16.3903C14.5834 16.7068 14.5834 16.8651 14.4796 16.9399C14.3758 17.0148 14.2256 16.9647 13.9253 16.8646L12.2572 16.3086C12.1712 16.2799 12.1282 16.2656 12.0839 16.2669C12.0396 16.2682 11.9975 16.285 11.9134 16.3187L10.1858 17.0097C10.0941 17.0464 10.0482 17.0647 10.0001 17.0647C9.95194 17.0647 9.90609 17.0464 9.81439 17.0097L8.0868 16.3187C8.00267 16.285 7.9606 16.2682 7.91627 16.2669C7.87194 16.2656 7.82896 16.2799 7.74299 16.3086L6.07486 16.8646C5.77455 16.9647 5.62439 17.0148 5.52057 16.9399C5.41675 16.8651 5.41675 16.7068 5.41675 16.3903Z" />
|
||||
<path d="M7.91675 11.25L11.2501 11.25" stroke-linecap="round" />
|
||||
<path d="M7.91675 13.75L12.0834 13.75" stroke-linecap="round" />
|
||||
<path d="M14.5834 5.41732V5.41732C14.5834 3.97799 14.5834 3.25833 14.1954 2.76756C14.1087 2.65791 14.0095 2.55874 13.8998 2.47204C13.4091 2.08398 12.6894 2.08398 11.2501 2.08398H8.75008C7.31076 2.08398 6.5911 2.08398 6.10032 2.47204C5.99068 2.55874 5.8915 2.65791 5.8048 2.76756C5.41675 3.25833 5.41675 3.97799 5.41675 5.41732V5.41732" />
|
||||
<div
|
||||
class="Rtable-cell--content align-items-center d-flex d-md-block text-end">
|
||||
<button class="btn-print moreThan992" type="button"
|
||||
onclick="printOne(@item.Id, '@item.Year', '@item.Month')"
|
||||
Permission="@SubAccountPermissionHelper.PrintCustomizeCheckoutTempPermissionCode">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20"
|
||||
viewBox="0 0 20 20" fill="none" stroke="currentColor">
|
||||
<path
|
||||
d="M15.0001 11.2493H15.139C16.0279 11.2493 16.4723 11.2493 16.759 10.9866C16.7805 10.967 16.801 10.9464 16.8207 10.9249C17.0834 10.6382 17.0834 10.1938 17.0834 9.3049V9.3049C17.0834 7.52714 17.0834 6.63826 16.558 6.06484C16.5187 6.02194 16.4775 5.98077 16.4346 5.94146C15.8612 5.41602 14.9723 5.41602 13.1945 5.41602H6.91675C5.03113 5.41602 4.08832 5.41602 3.50253 6.0018C2.91675 6.58759 2.91675 7.5304 2.91675 9.41602V10.2493C2.91675 10.7208 2.91675 10.9565 3.06319 11.1029C3.20964 11.2493 3.44534 11.2493 3.91675 11.2493H5.00008"/>
|
||||
<path
|
||||
d="M5.41675 16.3903L5.41675 9.91732C5.41675 8.97451 5.41675 8.5031 5.70964 8.21021C6.00253 7.91732 6.47394 7.91732 7.41675 7.91732L12.5834 7.91732C13.5262 7.91732 13.9976 7.91732 14.2905 8.21021C14.5834 8.5031 14.5834 8.97451 14.5834 9.91732L14.5834 16.3903C14.5834 16.7068 14.5834 16.8651 14.4796 16.9399C14.3758 17.0148 14.2256 16.9647 13.9253 16.8646L12.2572 16.3086C12.1712 16.2799 12.1282 16.2656 12.0839 16.2669C12.0396 16.2682 11.9975 16.285 11.9134 16.3187L10.1858 17.0097C10.0941 17.0464 10.0482 17.0647 10.0001 17.0647C9.95194 17.0647 9.90609 17.0464 9.81439 17.0097L8.0868 16.3187C8.00267 16.285 7.9606 16.2682 7.91627 16.2669C7.87194 16.2656 7.82896 16.2799 7.74299 16.3086L6.07486 16.8646C5.77455 16.9647 5.62439 17.0148 5.52057 16.9399C5.41675 16.8651 5.41675 16.7068 5.41675 16.3903Z"/>
|
||||
<path d="M7.91675 11.25L11.2501 11.25" stroke-linecap="round"/>
|
||||
<path d="M7.91675 13.75L12.0834 13.75" stroke-linecap="round"/>
|
||||
<path
|
||||
d="M14.5834 5.41732V5.41732C14.5834 3.97799 14.5834 3.25833 14.1954 2.76756C14.1087 2.65791 14.0095 2.55874 13.8998 2.47204C13.4091 2.08398 12.6894 2.08398 11.2501 2.08398H8.75008C7.31076 2.08398 6.5911 2.08398 6.10032 2.47204C5.99068 2.55874 5.8915 2.65791 5.8048 2.76756C5.41675 3.25833 5.41675 3.97799 5.41675 5.41732V5.41732"/>
|
||||
</svg>
|
||||
</button>
|
||||
<button class="btn-print lessThan992" type="button" onclick="printOne(@item.Id, '@item.Year', '@item.Month')" Permission="@SubAccountPermissionHelper.PrintCustomizeCheckoutTempPermissionCode">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke="currentColor">
|
||||
<path d="M15.0001 11.2493H15.139C16.0279 11.2493 16.4723 11.2493 16.759 10.9866C16.7805 10.967 16.801 10.9464 16.8207 10.9249C17.0834 10.6382 17.0834 10.1938 17.0834 9.3049V9.3049C17.0834 7.52714 17.0834 6.63826 16.558 6.06484C16.5187 6.02194 16.4775 5.98077 16.4346 5.94146C15.8612 5.41602 14.9723 5.41602 13.1945 5.41602H6.91675C5.03113 5.41602 4.08832 5.41602 3.50253 6.0018C2.91675 6.58759 2.91675 7.5304 2.91675 9.41602V10.2493C2.91675 10.7208 2.91675 10.9565 3.06319 11.1029C3.20964 11.2493 3.44534 11.2493 3.91675 11.2493H5.00008" />
|
||||
<path d="M5.41675 16.3903L5.41675 9.91732C5.41675 8.97451 5.41675 8.5031 5.70964 8.21021C6.00253 7.91732 6.47394 7.91732 7.41675 7.91732L12.5834 7.91732C13.5262 7.91732 13.9976 7.91732 14.2905 8.21021C14.5834 8.5031 14.5834 8.97451 14.5834 9.91732L14.5834 16.3903C14.5834 16.7068 14.5834 16.8651 14.4796 16.9399C14.3758 17.0148 14.2256 16.9647 13.9253 16.8646L12.2572 16.3086C12.1712 16.2799 12.1282 16.2656 12.0839 16.2669C12.0396 16.2682 11.9975 16.285 11.9134 16.3187L10.1858 17.0097C10.0941 17.0464 10.0482 17.0647 10.0001 17.0647C9.95194 17.0647 9.90609 17.0464 9.81439 17.0097L8.0868 16.3187C8.00267 16.285 7.9606 16.2682 7.91627 16.2669C7.87194 16.2656 7.82896 16.2799 7.74299 16.3086L6.07486 16.8646C5.77455 16.9647 5.62439 17.0148 5.52057 16.9399C5.41675 16.8651 5.41675 16.7068 5.41675 16.3903Z" />
|
||||
<path d="M7.91675 11.25L11.2501 11.25" stroke-linecap="round" />
|
||||
<path d="M7.91675 13.75L12.0834 13.75" stroke-linecap="round" />
|
||||
<path d="M14.5834 5.41732V5.41732C14.5834 3.97799 14.5834 3.25833 14.1954 2.76756C14.1087 2.65791 14.0095 2.55874 13.8998 2.47204C13.4091 2.08398 12.6894 2.08398 11.2501 2.08398H8.75008C7.31076 2.08398 6.5911 2.08398 6.10032 2.47204C5.99068 2.55874 5.8915 2.65791 5.8048 2.76756C5.41675 3.25833 5.41675 3.97799 5.41675 5.41732V5.41732" />
|
||||
<button class="btn-print lessThan992" type="button"
|
||||
onclick="printOne(@item.Id, '@item.Year', '@item.Month')"
|
||||
Permission="@SubAccountPermissionHelper.PrintCustomizeCheckoutTempPermissionCode">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20"
|
||||
viewBox="0 0 20 20" fill="none" stroke="currentColor">
|
||||
<path
|
||||
d="M15.0001 11.2493H15.139C16.0279 11.2493 16.4723 11.2493 16.759 10.9866C16.7805 10.967 16.801 10.9464 16.8207 10.9249C17.0834 10.6382 17.0834 10.1938 17.0834 9.3049V9.3049C17.0834 7.52714 17.0834 6.63826 16.558 6.06484C16.5187 6.02194 16.4775 5.98077 16.4346 5.94146C15.8612 5.41602 14.9723 5.41602 13.1945 5.41602H6.91675C5.03113 5.41602 4.08832 5.41602 3.50253 6.0018C2.91675 6.58759 2.91675 7.5304 2.91675 9.41602V10.2493C2.91675 10.7208 2.91675 10.9565 3.06319 11.1029C3.20964 11.2493 3.44534 11.2493 3.91675 11.2493H5.00008"/>
|
||||
<path
|
||||
d="M5.41675 16.3903L5.41675 9.91732C5.41675 8.97451 5.41675 8.5031 5.70964 8.21021C6.00253 7.91732 6.47394 7.91732 7.41675 7.91732L12.5834 7.91732C13.5262 7.91732 13.9976 7.91732 14.2905 8.21021C14.5834 8.5031 14.5834 8.97451 14.5834 9.91732L14.5834 16.3903C14.5834 16.7068 14.5834 16.8651 14.4796 16.9399C14.3758 17.0148 14.2256 16.9647 13.9253 16.8646L12.2572 16.3086C12.1712 16.2799 12.1282 16.2656 12.0839 16.2669C12.0396 16.2682 11.9975 16.285 11.9134 16.3187L10.1858 17.0097C10.0941 17.0464 10.0482 17.0647 10.0001 17.0647C9.95194 17.0647 9.90609 17.0464 9.81439 17.0097L8.0868 16.3187C8.00267 16.285 7.9606 16.2682 7.91627 16.2669C7.87194 16.2656 7.82896 16.2799 7.74299 16.3086L6.07486 16.8646C5.77455 16.9647 5.62439 17.0148 5.52057 16.9399C5.41675 16.8651 5.41675 16.7068 5.41675 16.3903Z"/>
|
||||
<path d="M7.91675 11.25L11.2501 11.25" stroke-linecap="round"/>
|
||||
<path d="M7.91675 13.75L12.0834 13.75" stroke-linecap="round"/>
|
||||
<path
|
||||
d="M14.5834 5.41732V5.41732C14.5834 3.97799 14.5834 3.25833 14.1954 2.76756C14.1087 2.65791 14.0095 2.55874 13.8998 2.47204C13.4091 2.08398 12.6894 2.08398 11.2501 2.08398H8.75008C7.31076 2.08398 6.5911 2.08398 6.10032 2.47204C5.99068 2.55874 5.8915 2.65791 5.8048 2.76756C5.41675 3.25833 5.41675 3.97799 5.41675 5.41732V5.41732"/>
|
||||
</svg>
|
||||
</button>
|
||||
|
||||
<button type="button" class="btn-delete RemoveBtn" data-delete-id="@(item.Id)" Permission="@SubAccountPermissionHelper.DeleteCustomizeCheckoutTempPermissionCode">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 22 22" fill="none" stroke="currentColor">
|
||||
<path d="M8.70825 13.2915L8.70825 10.5415" stroke-linecap="round" />
|
||||
<path d="M13.2917 13.2915L13.2917 10.5415" stroke-linecap="round" />
|
||||
<path d="M2.75 5.9585H19.25V5.9585C18.122 5.9585 17.558 5.9585 17.1279 6.17946C16.7561 6.3704 16.4536 6.67297 16.2626 7.04469C16.0417 7.47488 16.0417 8.03886 16.0417 9.16683V13.8752C16.0417 15.7608 16.0417 16.7036 15.4559 17.2894C14.8701 17.8752 13.9273 17.8752 12.0417 17.8752H9.95833C8.07271 17.8752 7.12991 17.8752 6.54412 17.2894C5.95833 16.7036 5.95833 15.7608 5.95833 13.8752V9.16683C5.95833 8.03886 5.95833 7.47488 5.73737 7.04469C5.54643 6.67297 5.24386 6.3704 4.87214 6.17946C4.44195 5.9585 3.87797 5.9585 2.75 5.9585V5.9585Z" stroke-linecap="round" />
|
||||
<path d="M8.70841 3.20839C8.70841 3.20839 9.16675 2.2915 11.0001 2.2915C12.8334 2.2915 13.2917 3.20817 13.2917 3.20817" stroke-linecap="round" />
|
||||
<button type="button" class="btn-delete RemoveBtn"
|
||||
data-delete-id="@(item.Id)"
|
||||
Permission="@SubAccountPermissionHelper.DeleteCustomizeCheckoutTempPermissionCode">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20"
|
||||
viewBox="0 0 22 22" fill="none" stroke="currentColor">
|
||||
<path d="M8.70825 13.2915L8.70825 10.5415"
|
||||
stroke-linecap="round"/>
|
||||
<path d="M13.2917 13.2915L13.2917 10.5415"
|
||||
stroke-linecap="round"/>
|
||||
<path
|
||||
d="M2.75 5.9585H19.25V5.9585C18.122 5.9585 17.558 5.9585 17.1279 6.17946C16.7561 6.3704 16.4536 6.67297 16.2626 7.04469C16.0417 7.47488 16.0417 8.03886 16.0417 9.16683V13.8752C16.0417 15.7608 16.0417 16.7036 15.4559 17.2894C14.8701 17.8752 13.9273 17.8752 12.0417 17.8752H9.95833C8.07271 17.8752 7.12991 17.8752 6.54412 17.2894C5.95833 16.7036 5.95833 15.7608 5.95833 13.8752V9.16683C5.95833 8.03886 5.95833 7.47488 5.73737 7.04469C5.54643 6.67297 5.24386 6.3704 4.87214 6.17946C4.44195 5.9585 3.87797 5.9585 2.75 5.9585V5.9585Z"
|
||||
stroke-linecap="round"/>
|
||||
<path
|
||||
d="M8.70841 3.20839C8.70841 3.20839 9.16675 2.2915 11.0001 2.2915C12.8334 2.2915 13.2917 3.20817 13.2917 3.20817"
|
||||
stroke-linecap="round"/>
|
||||
</svg>
|
||||
<span class="mx-1">حذف</span>
|
||||
</button>
|
||||
@@ -479,23 +657,44 @@
|
||||
|
||||
|
||||
<!--Mobile Table-->
|
||||
<div class="Rtable-contract w-100 d-flex d-md-none align-items-center justify-content-between printAllTd">
|
||||
<div
|
||||
class="Rtable-contract w-100 d-flex d-md-none align-items-center justify-content-between printAllTd">
|
||||
|
||||
<div class="d-flex justify-content-center align-items-center justify-content-between">
|
||||
<div class="checkbox-responsive d-flex justify-content-center align-items-center justify-content-around">
|
||||
<input type="checkbox" class="form-check-input fooMobile" name="foo" value="@item.Id">
|
||||
<div
|
||||
class="d-flex justify-content-center align-items-center justify-content-between">
|
||||
<div
|
||||
class="checkbox-responsive d-flex justify-content-center align-items-center justify-content-around">
|
||||
<input type="checkbox" class="form-check-input fooMobile" name="foo"
|
||||
value="@item.Id">
|
||||
<span class="row-number">@(i)</span>
|
||||
</div>
|
||||
|
||||
<div class="Rtable-cell--content">
|
||||
<span class="mx-sm-2">
|
||||
@item.EmployeeFullName
|
||||
@if (item.HasAmountConflict)
|
||||
{
|
||||
<svg xmlns="http://www.w3.org/2000/svg"
|
||||
width="12" height="12" fill="red"
|
||||
class="bi bi-exclamation-circle"
|
||||
viewBox="0 0 16 16"
|
||||
style="cursor: pointer; margin-left: 10px;"
|
||||
data-bs-toggle="tooltip"
|
||||
data-bs-placement="top"
|
||||
title="توجه داشته باشید این فیش حقوقی دارای تغییرات اعمال نشده میباشد. جهت صدور فیش حقوقی استاندارد مجددا فیش را ایجاد کنید!">
|
||||
<path
|
||||
d="M8 15A7 7 0 1 0 8 1a7 7 0 0 0 0 14zm0 1A8 8 0 1 1 8 0a8 8 0 0 1 0 16z"/>
|
||||
<path
|
||||
d="M7.002 11a1 1 0 1 1 2 0 1 1 0 0 1-2 0zm.1-5.995a.905.905 0 0 1 1.8 0l-.35 3.5a.552.552 0 0 1-1.1 0l-.35-3.5z"/>
|
||||
</svg>
|
||||
}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="Rtable-cell--content d-flex justify-content-end align-items-center">
|
||||
<div
|
||||
class="Rtable-cell--content d-flex justify-content-end align-items-center">
|
||||
|
||||
<div class="Rtable-cell--heading d-block text-center text-nowrap">
|
||||
<span class="d-block">آغاز قرارداد</span>
|
||||
@@ -506,21 +705,38 @@
|
||||
@item.ContractEndFa
|
||||
</div>
|
||||
<div class="Rtable-cell--heading d-flex text-center">
|
||||
<button class="btn-print" type="button" onclick="printOne(@item.Id, '@item.Year', '@item.Month')" Permission="@SubAccountPermissionHelper.PrintCustomizeCheckoutTempPermissionCode">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" viewBox="0 0 20 20" fill="none" stroke="currentColor">
|
||||
<path d="M15.0001 11.2493H15.139C16.0279 11.2493 16.4723 11.2493 16.759 10.9866C16.7805 10.967 16.801 10.9464 16.8207 10.9249C17.0834 10.6382 17.0834 10.1938 17.0834 9.3049V9.3049C17.0834 7.52714 17.0834 6.63826 16.558 6.06484C16.5187 6.02194 16.4775 5.98077 16.4346 5.94146C15.8612 5.41602 14.9723 5.41602 13.1945 5.41602H6.91675C5.03113 5.41602 4.08832 5.41602 3.50253 6.0018C2.91675 6.58759 2.91675 7.5304 2.91675 9.41602V10.2493C2.91675 10.7208 2.91675 10.9565 3.06319 11.1029C3.20964 11.2493 3.44534 11.2493 3.91675 11.2493H5.00008" />
|
||||
<path d="M5.41675 16.3903L5.41675 9.91732C5.41675 8.97451 5.41675 8.5031 5.70964 8.21021C6.00253 7.91732 6.47394 7.91732 7.41675 7.91732L12.5834 7.91732C13.5262 7.91732 13.9976 7.91732 14.2905 8.21021C14.5834 8.5031 14.5834 8.97451 14.5834 9.91732L14.5834 16.3903C14.5834 16.7068 14.5834 16.8651 14.4796 16.9399C14.3758 17.0148 14.2256 16.9647 13.9253 16.8646L12.2572 16.3086C12.1712 16.2799 12.1282 16.2656 12.0839 16.2669C12.0396 16.2682 11.9975 16.285 11.9134 16.3187L10.1858 17.0097C10.0941 17.0464 10.0482 17.0647 10.0001 17.0647C9.95194 17.0647 9.90609 17.0464 9.81439 17.0097L8.0868 16.3187C8.00267 16.285 7.9606 16.2682 7.91627 16.2669C7.87194 16.2656 7.82896 16.2799 7.74299 16.3086L6.07486 16.8646C5.77455 16.9647 5.62439 17.0148 5.52057 16.9399C5.41675 16.8651 5.41675 16.7068 5.41675 16.3903Z" />
|
||||
<path d="M7.91675 11.25L11.2501 11.25" stroke-linecap="round" />
|
||||
<path d="M7.91675 13.75L12.0834 13.75" stroke-linecap="round" />
|
||||
<path d="M14.5834 5.41732V5.41732C14.5834 3.97799 14.5834 3.25833 14.1954 2.76756C14.1087 2.65791 14.0095 2.55874 13.8998 2.47204C13.4091 2.08398 12.6894 2.08398 11.2501 2.08398H8.75008C7.31076 2.08398 6.5911 2.08398 6.10032 2.47204C5.99068 2.55874 5.8915 2.65791 5.8048 2.76756C5.41675 3.25833 5.41675 3.97799 5.41675 5.41732V5.41732" />
|
||||
<button class="btn-print" type="button"
|
||||
onclick="printOne(@item.Id, '@item.Year', '@item.Month')"
|
||||
Permission="@SubAccountPermissionHelper.PrintCustomizeCheckoutTempPermissionCode">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="25" height="25"
|
||||
viewBox="0 0 20 20" fill="none" stroke="currentColor">
|
||||
<path
|
||||
d="M15.0001 11.2493H15.139C16.0279 11.2493 16.4723 11.2493 16.759 10.9866C16.7805 10.967 16.801 10.9464 16.8207 10.9249C17.0834 10.6382 17.0834 10.1938 17.0834 9.3049V9.3049C17.0834 7.52714 17.0834 6.63826 16.558 6.06484C16.5187 6.02194 16.4775 5.98077 16.4346 5.94146C15.8612 5.41602 14.9723 5.41602 13.1945 5.41602H6.91675C5.03113 5.41602 4.08832 5.41602 3.50253 6.0018C2.91675 6.58759 2.91675 7.5304 2.91675 9.41602V10.2493C2.91675 10.7208 2.91675 10.9565 3.06319 11.1029C3.20964 11.2493 3.44534 11.2493 3.91675 11.2493H5.00008"/>
|
||||
<path
|
||||
d="M5.41675 16.3903L5.41675 9.91732C5.41675 8.97451 5.41675 8.5031 5.70964 8.21021C6.00253 7.91732 6.47394 7.91732 7.41675 7.91732L12.5834 7.91732C13.5262 7.91732 13.9976 7.91732 14.2905 8.21021C14.5834 8.5031 14.5834 8.97451 14.5834 9.91732L14.5834 16.3903C14.5834 16.7068 14.5834 16.8651 14.4796 16.9399C14.3758 17.0148 14.2256 16.9647 13.9253 16.8646L12.2572 16.3086C12.1712 16.2799 12.1282 16.2656 12.0839 16.2669C12.0396 16.2682 11.9975 16.285 11.9134 16.3187L10.1858 17.0097C10.0941 17.0464 10.0482 17.0647 10.0001 17.0647C9.95194 17.0647 9.90609 17.0464 9.81439 17.0097L8.0868 16.3187C8.00267 16.285 7.9606 16.2682 7.91627 16.2669C7.87194 16.2656 7.82896 16.2799 7.74299 16.3086L6.07486 16.8646C5.77455 16.9647 5.62439 17.0148 5.52057 16.9399C5.41675 16.8651 5.41675 16.7068 5.41675 16.3903Z"/>
|
||||
<path d="M7.91675 11.25L11.2501 11.25"
|
||||
stroke-linecap="round"/>
|
||||
<path d="M7.91675 13.75L12.0834 13.75"
|
||||
stroke-linecap="round"/>
|
||||
<path
|
||||
d="M14.5834 5.41732V5.41732C14.5834 3.97799 14.5834 3.25833 14.1954 2.76756C14.1087 2.65791 14.0095 2.55874 13.8998 2.47204C13.4091 2.08398 12.6894 2.08398 11.2501 2.08398H8.75008C7.31076 2.08398 6.5911 2.08398 6.10032 2.47204C5.99068 2.55874 5.8915 2.65791 5.8048 2.76756C5.41675 3.25833 5.41675 3.97799 5.41675 5.41732V5.41732"/>
|
||||
</svg>
|
||||
</button>
|
||||
<button type="button" class="btn-delete RemoveBtn" data-delete-id="@(item.Id)" Permission="@SubAccountPermissionHelper.DeleteCustomizeCheckoutTempPermissionCode">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" viewBox="0 0 22 22" fill="none" stroke="currentColor">
|
||||
<path d="M8.70825 13.2915L8.70825 10.5415" stroke-linecap="round" />
|
||||
<path d="M13.2917 13.2915L13.2917 10.5415" stroke-linecap="round" />
|
||||
<path d="M2.75 5.9585H19.25V5.9585C18.122 5.9585 17.558 5.9585 17.1279 6.17946C16.7561 6.3704 16.4536 6.67297 16.2626 7.04469C16.0417 7.47488 16.0417 8.03886 16.0417 9.16683V13.8752C16.0417 15.7608 16.0417 16.7036 15.4559 17.2894C14.8701 17.8752 13.9273 17.8752 12.0417 17.8752H9.95833C8.07271 17.8752 7.12991 17.8752 6.54412 17.2894C5.95833 16.7036 5.95833 15.7608 5.95833 13.8752V9.16683C5.95833 8.03886 5.95833 7.47488 5.73737 7.04469C5.54643 6.67297 5.24386 6.3704 4.87214 6.17946C4.44195 5.9585 3.87797 5.9585 2.75 5.9585V5.9585Z" stroke-linecap="round" />
|
||||
<path d="M8.70841 3.20839C8.70841 3.20839 9.16675 2.2915 11.0001 2.2915C12.8334 2.2915 13.2917 3.20817 13.2917 3.20817" stroke-linecap="round" />
|
||||
<button type="button" class="btn-delete RemoveBtn"
|
||||
data-delete-id="@(item.Id)"
|
||||
Permission="@SubAccountPermissionHelper.DeleteCustomizeCheckoutTempPermissionCode">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="25" height="25"
|
||||
viewBox="0 0 22 22" fill="none" stroke="currentColor">
|
||||
<path d="M8.70825 13.2915L8.70825 10.5415"
|
||||
stroke-linecap="round"/>
|
||||
<path d="M13.2917 13.2915L13.2917 10.5415"
|
||||
stroke-linecap="round"/>
|
||||
<path
|
||||
d="M2.75 5.9585H19.25V5.9585C18.122 5.9585 17.558 5.9585 17.1279 6.17946C16.7561 6.3704 16.4536 6.67297 16.2626 7.04469C16.0417 7.47488 16.0417 8.03886 16.0417 9.16683V13.8752C16.0417 15.7608 16.0417 16.7036 15.4559 17.2894C14.8701 17.8752 13.9273 17.8752 12.0417 17.8752H9.95833C8.07271 17.8752 7.12991 17.8752 6.54412 17.2894C5.95833 16.7036 5.95833 15.7608 5.95833 13.8752V9.16683C5.95833 8.03886 5.95833 7.47488 5.73737 7.04469C5.54643 6.67297 5.24386 6.3704 4.87214 6.17946C4.44195 5.9585 3.87797 5.9585 2.75 5.9585V5.9585Z"
|
||||
stroke-linecap="round"/>
|
||||
<path
|
||||
d="M8.70841 3.20839C8.70841 3.20839 9.16675 2.2915 11.0001 2.2915C12.8334 2.2915 13.2917 3.20817 13.2917 3.20817"
|
||||
stroke-linecap="round"/>
|
||||
</svg>
|
||||
<span class="mx-1">حذف</span>
|
||||
</button>
|
||||
@@ -530,7 +746,6 @@
|
||||
<!-- Mobile Table -->
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
@@ -539,9 +754,10 @@
|
||||
{
|
||||
<div class="container-fluid">
|
||||
<div class="row p-lg-2 p-auto">
|
||||
<div class="empty text-center bg-white d-flex align-items-center justify-content-center">
|
||||
<div
|
||||
class="empty text-center bg-white d-flex align-items-center justify-content-center">
|
||||
<div class="">
|
||||
<img src="~/assetsclient/images/empty.png" alt="" class="img-fluid" />
|
||||
<img src="~/assetsclient/images/empty.png" alt="" class="img-fluid"/>
|
||||
<h5>اطلاعاتی وجود ندارد.</h5>
|
||||
</div>
|
||||
</div>
|
||||
@@ -561,7 +777,8 @@
|
||||
|
||||
|
||||
<!--Start Print Modal Main -->
|
||||
<div id="MainModal" class="modal fade checkoutTempModal" role="dialog" aria-labelledby="MainModalLabel" aria-hidden="true" style="display: none;">
|
||||
<div id="MainModal" class="modal fade checkoutTempModal" role="dialog" aria-labelledby="MainModalLabel"
|
||||
aria-hidden="true" style="display: none;">
|
||||
<div class="modal-dialog checkoutTempModal-width modal-dialog-centered">
|
||||
<div class="modal-content" id="ModalContent">
|
||||
</div>
|
||||
@@ -572,7 +789,8 @@
|
||||
|
||||
<form role="form" method="get" name="search-theme-form1" id="search-theme-form1" autocomplete="off">
|
||||
<!-- Modal From Bottom For Advance Search -->
|
||||
<div class="modal fade" id="searchModal" tabindex="-1" data-bs-backdrop="static" aria-labelledby="searchModalModalLabel" aria-hidden="true">
|
||||
<div class="modal fade" id="searchModal" tabindex="-1" data-bs-backdrop="static"
|
||||
aria-labelledby="searchModalModalLabel" aria-hidden="true">
|
||||
<div class="modal-dialog modal-fullscreen">
|
||||
<div class="modal-content">
|
||||
<form role="form" method="get" name="search-theme-form2" id="search-theme-form2" autocomplete="off">
|
||||
@@ -589,30 +807,45 @@
|
||||
<div class="row">
|
||||
<div class="col-12 text-start mb-4">
|
||||
<div class="mb-2">
|
||||
<select class="form-select select2OptionMobile" id="getPersonnelMobile" asp-for="SearchModel.EmployeeId">
|
||||
<select class="form-select select2OptionMobile" id="getPersonnelMobile"
|
||||
asp-for="SearchModel.EmployeeId">
|
||||
</select>
|
||||
</div>
|
||||
<div>
|
||||
<span class="form-control text-center persianDateInputStartDate" id="start-date">تاریخ شروع</span>
|
||||
<input type="hidden" class="form-control date start-date" asp-for="@Model.SearchModel.SearchStartFa" placeholder="تاریخ شروع" style="direction: ltr">
|
||||
<span class="form-control text-center persianDateInputStartDate"
|
||||
id="start-date">تاریخ شروع</span>
|
||||
<input type="hidden" class="form-control date start-date"
|
||||
asp-for="@Model.SearchModel.SearchStartFa" placeholder="تاریخ شروع"
|
||||
style="direction: ltr">
|
||||
</div>
|
||||
<div>
|
||||
<span class="form-control text-center persianDateInputEndDate" id="end-date">تاریخ پایان</span>
|
||||
<input type="hidden" class="form-control date end-date" asp-for="@Model.SearchModel.SearchEndFa" placeholder="تاریخ پایان" style="direction: ltr">
|
||||
<input type="hidden" class="form-control date end-date"
|
||||
asp-for="@Model.SearchModel.SearchEndFa" placeholder="تاریخ پایان"
|
||||
style="direction: ltr">
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<label class="text-nowrap">مرتب سازی</label>
|
||||
<select class="form-select" id="sorting" asp-for="@Model.SearchModel.OrderBy">
|
||||
<option value="@CustomizeCheckoutOrderByEnum.ContractStartDesc">شروع قرارداد - بزرگ به کوچک</option>
|
||||
<option value="@CustomizeCheckoutOrderByEnum.ContractStart">شروع قرارداد - کوچک به بزرگ</option>
|
||||
<option value="@CustomizeCheckoutOrderByEnum.ContractNo">شماره قرارداد - کوچک به بزرگ</option>
|
||||
<option value="@CustomizeCheckoutOrderByEnum.ContractNoDesc">شماره قرارداد - بزرگ به کوچک</option>
|
||||
<option value="@CustomizeCheckoutOrderByEnum.ContractStartDesc">شروع قرارداد
|
||||
- بزرگ به کوچک
|
||||
</option>
|
||||
<option value="@CustomizeCheckoutOrderByEnum.ContractStart">شروع قرارداد -
|
||||
کوچک به بزرگ
|
||||
</option>
|
||||
<option value="@CustomizeCheckoutOrderByEnum.ContractNo">شماره قرارداد -
|
||||
کوچک به بزرگ
|
||||
</option>
|
||||
<option value="@CustomizeCheckoutOrderByEnum.ContractNoDesc">شماره قرارداد -
|
||||
بزرگ به کوچک
|
||||
</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="mt-2">
|
||||
<select class="form-select" id="bankSelectIndexMobile" asp-for="@Model.SearchModel.BankId" aria-label="انتخاب بانک ...">
|
||||
<select class="form-select" id="bankSelectIndexMobile"
|
||||
asp-for="@Model.SearchModel.BankId" aria-label="انتخاب بانک ...">
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
@@ -623,7 +856,8 @@
|
||||
|
||||
<div class="col-6">
|
||||
<div class="form-group">
|
||||
<span class="form-control text-center persianDateInputYear" id="yearText">
|
||||
<span class="form-control text-center persianDateInputYear"
|
||||
id="yearText">
|
||||
@{
|
||||
if (Model.SearchModel.Year == 0)
|
||||
{
|
||||
@@ -635,13 +869,15 @@
|
||||
}
|
||||
}
|
||||
</span>
|
||||
<input type="hidden" class="form-control" asp-for="@Model.SearchModel.Year" id="yearModal" maxlength="4" />
|
||||
<input type="hidden" class="form-control"
|
||||
asp-for="@Model.SearchModel.Year" id="yearModal" maxlength="4"/>
|
||||
@* <span asp-validation-for="DateOfYear" class="error"></span> *@
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<div class="form-group">
|
||||
<span class="form-control text-center persianDateInputMonth" id="monthText">
|
||||
<span class="form-control text-center persianDateInputMonth"
|
||||
id="monthText">
|
||||
@{
|
||||
if (Model.SearchModel.Month == 0)
|
||||
{
|
||||
@@ -694,12 +930,15 @@
|
||||
}
|
||||
}
|
||||
</span>
|
||||
<input type="hidden" class="form-control" asp-for="@Model.SearchModel.Month" id="monthModal" />
|
||||
<input type="hidden" class="form-control"
|
||||
asp-for="@Model.SearchModel.Month" id="monthModal"/>
|
||||
@* <span asp-validation-for="DateOfMonth" class="error"></span> *@
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12">
|
||||
<a href="/Client/Company/CustomizeCheckout/CheckoutTemporary" class="btn-clear-filter py-2 text-center d-block w-100 mt-2 disable" id="filterRemove">
|
||||
<a href="/Client/Company/CustomizeCheckout/CheckoutTemporary"
|
||||
class="btn-clear-filter py-2 text-center d-block w-100 mt-2 disable"
|
||||
id="filterRemove">
|
||||
<span class="w-100">حذف جستجو</span>
|
||||
</a>
|
||||
</div>
|
||||
@@ -717,7 +956,8 @@
|
||||
<button type="button" class="btn-cancel w-100" data-bs-dismiss="modal">بستن</button>
|
||||
</div>
|
||||
<div class="col-6 text-start">
|
||||
<button type="submit" class="btn-search btn-search-click-mobile w-100">جستجو</button>
|
||||
<button type="submit" class="btn-search btn-search-click-mobile w-100">جستجو
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -761,7 +1001,11 @@
|
||||
var deleteOneAjax = `@Url.Page("/Company/CustomizeCheckout/CheckoutTemporary", "DeleteOne")`;
|
||||
var deleteAllAjax = `@Url.Page("/Company/CustomizeCheckout/CheckoutTemporary", "DeleteAll")`;
|
||||
|
||||
|
||||
$(document).ready(function () {
|
||||
document.querySelectorAll('[data-bs-toggle="tooltip"]').forEach(el => {
|
||||
bootstrap.Tooltip.getOrCreateInstance(el);
|
||||
});
|
||||
});
|
||||
</script>
|
||||
<script src="~/assetsclient/pages/CustomizeCheckout/js/CheckoutTemporary.js?ver=@clientVersion"></script>
|
||||
}
|
||||
}
|
||||
|
||||
@@ -410,7 +410,22 @@
|
||||
</div> *@
|
||||
<div class="Rtable-cell d-md-block d-none width6">
|
||||
<div class="Rtable-cell--heading">نام پرسنل</div>
|
||||
<div class="Rtable-cell--content ">@item.EmployeeFullName</div>
|
||||
<div class="Rtable-cell--content ">@item.EmployeeFullName
|
||||
@if (item.HasAmountConflict)
|
||||
{
|
||||
<svg xmlns="http://www.w3.org/2000/svg"
|
||||
width="24" height="24" fill="red"
|
||||
class="bi bi-exclamation-circle"
|
||||
viewBox="0 0 16 16"
|
||||
style="cursor: pointer; margin-left: 10px;"
|
||||
data-bs-toggle="tooltip"
|
||||
data-bs-placement="top"
|
||||
title="توجه داشته باشید این فیش حقوقی دارای تغییرات اعمال نشده میباشد. جهت صدور فیش حقوقی استاندارد مجددا فیش را ایجاد کنید!">
|
||||
<path d="M8 15A7 7 0 1 0 8 1a7 7 0 0 0 0 14zm0 1A8 8 0 1 1 8 0a8 8 0 0 1 0 16z"/>
|
||||
<path d="M7.002 11a1 1 0 1 1 2 0 1 1 0 0 1-2 0zm.1-5.995a.905.905 0 0 1 1.8 0l-.35 3.5a.552.552 0 0 1-1.1 0l-.35-3.5z"/>
|
||||
</svg>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
<div class="Rtable-cell d-md-block d-none width7">
|
||||
<div class="Rtable-cell--heading">آغاز قرارداد</div>
|
||||
@@ -490,6 +505,20 @@
|
||||
<div class="Rtable-cell--content">
|
||||
<span class="mx-sm-2">
|
||||
@item.EmployeeFullName
|
||||
@if (item.HasAmountConflict)
|
||||
{
|
||||
<svg xmlns="http://www.w3.org/2000/svg"
|
||||
width="12" height="12" fill="red"
|
||||
class="bi bi-exclamation-circle"
|
||||
viewBox="0 0 16 16"
|
||||
style="cursor: pointer; margin-left: 10px;"
|
||||
data-bs-toggle="tooltip"
|
||||
data-bs-placement="top"
|
||||
title="توجه داشته باشید این فیش حقوقی دارای تغییرات اعمال نشده میباشد. جهت صدور فیش حقوقی استاندارد مجددا فیش را ایجاد کنید!">
|
||||
<path d="M8 15A7 7 0 1 0 8 1a7 7 0 0 0 0 14zm0 1A8 8 0 1 1 8 0a8 8 0 0 1 0 16z"/>
|
||||
<path d="M7.002 11a1 1 0 1 1 2 0 1 1 0 0 1-2 0zm.1-5.995a.905.905 0 0 1 1.8 0l-.35 3.5a.552.552 0 0 1-1.1 0l-.35-3.5z"/>
|
||||
</svg>
|
||||
}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
@@ -763,6 +792,9 @@
|
||||
|
||||
var deleteOneAjax = `@Url.Page("/Company/CustomizeCheckout/CheckoutUnofficial", "DeleteOne")`;
|
||||
var deleteAllAjax = `@Url.Page("/Company/CustomizeCheckout/CheckoutUnofficial", "DeleteAll")`;
|
||||
document.querySelectorAll('[data-bs-toggle="tooltip"]').forEach(el => {
|
||||
bootstrap.Tooltip.getOrCreateInstance(el);
|
||||
});
|
||||
</script>
|
||||
<script src="~/assetsclient/pages/CustomizeCheckout/js/CheckoutUnofficial.js?ver=@clientVersion"></script>
|
||||
}
|
||||
@@ -108,12 +108,14 @@ namespace ServiceHost.Areas.Client.Pages.Company.RollCall
|
||||
var hasRollCallService = activeService != null;
|
||||
|
||||
bool hasCameraAccount;
|
||||
bool hasCustomizeCheckout = false;
|
||||
if (hasRollCallService)
|
||||
{
|
||||
var accountId = _authHelper.CurrentAccountId();
|
||||
var cameraAccountExists = _cameraAccountApplication.HasCameraAccount(workshopId, accountId);
|
||||
|
||||
hasCameraAccount = cameraAccountExists && hasPreviousService;
|
||||
hasCustomizeCheckout = activeService.HasCustomizeCheckoutService=="true";
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -124,7 +126,8 @@ namespace ServiceHost.Areas.Client.Pages.Company.RollCall
|
||||
{
|
||||
hasRollCallWorkshopSetting,
|
||||
hasCameraAccount,
|
||||
hasRollCallService
|
||||
hasRollCallService,
|
||||
hasCustomizeCheckout,
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -203,35 +203,35 @@ namespace ServiceHost.Areas.Client.Pages.Company.SalaryAid
|
||||
var op = new OperationResult();
|
||||
_ = DateTime.Now.Date.AddMonthsFa(-1, out var oneMonthAgoGr);
|
||||
|
||||
if (oneMonthAgoGr > dateTime)
|
||||
{
|
||||
var prevCheckouts = _customizeCheckoutRepository.ValidateExistsCheckouts(dateTime,
|
||||
oneMonthAgoGr, workshopId, extractNumbers);
|
||||
|
||||
if (prevCheckouts.CustomizeCheckout || prevCheckouts.Checkout || prevCheckouts.CustomizeCheckoutTemp)
|
||||
{
|
||||
op.Failed("شما نمیتوانید در تاریخ قبل از یک ماه گذشته که فیش صادر شده باشد مساعده دهید");
|
||||
return new JsonResult(new
|
||||
{
|
||||
op.IsSuccedded,
|
||||
op.Message
|
||||
});
|
||||
}
|
||||
}
|
||||
// if (oneMonthAgoGr > dateTime)
|
||||
// {
|
||||
// var prevCheckouts = _customizeCheckoutRepository.ValidateExistsCheckouts(dateTime,
|
||||
// oneMonthAgoGr, workshopId, extractNumbers);
|
||||
//
|
||||
// if (prevCheckouts.CustomizeCheckout || prevCheckouts.Checkout || prevCheckouts.CustomizeCheckoutTemp)
|
||||
// {
|
||||
// op.Failed("شما نمیتوانید در تاریخ قبل از یک ماه گذشته که فیش صادر شده باشد مساعده دهید");
|
||||
// return new JsonResult(new
|
||||
// {
|
||||
// op.IsSuccedded,
|
||||
// op.Message
|
||||
// });
|
||||
// }
|
||||
// }
|
||||
|
||||
var existsCheckouts = _customizeCheckoutRepository.ValidateExistsCheckouts(dateTime,
|
||||
dateTime, workshopId, extractNumbers);
|
||||
|
||||
if (existsCheckouts.Checkout)
|
||||
{
|
||||
op.Failed("شما نمیتوانید برای پرسنلی در تاریخی که برای فیش حقوقی رسمی صادر شده است مساعده دهید");
|
||||
return new JsonResult(new
|
||||
{
|
||||
op.IsSuccedded,
|
||||
op.Message
|
||||
});
|
||||
|
||||
}
|
||||
// if (existsCheckouts.Checkout)
|
||||
// {
|
||||
// op.Failed("شما نمیتوانید برای پرسنلی در تاریخی که برای فیش حقوقی رسمی صادر شده است مساعده دهید");
|
||||
// return new JsonResult(new
|
||||
// {
|
||||
// op.IsSuccedded,
|
||||
// op.Message
|
||||
// });
|
||||
//
|
||||
// }
|
||||
|
||||
op.Succcedded();
|
||||
return new JsonResult(new
|
||||
|
||||
@@ -230,7 +230,7 @@ namespace ServiceHost.Areas.Client.Pages
|
||||
|
||||
if (selectedWorkshop != null)
|
||||
{
|
||||
_authHelper.UpdateWorkshopSlugClaim(selectedWorkshop.Slug,selectedWorkshop.WorkshopFullName);
|
||||
_authHelper.UpdateWorkshopSlugClaim(selectedWorkshop.Slug,selectedWorkshop.WorkshopFullName,selectedWorkshop.Id);
|
||||
}
|
||||
|
||||
return new JsonResult(new
|
||||
@@ -248,7 +248,7 @@ namespace ServiceHost.Areas.Client.Pages
|
||||
var workshop = _workshopApplication.SearchForClient(searchModel).FirstOrDefault(x => x.Id == workshopId);
|
||||
if (workshop != null)
|
||||
{
|
||||
_authHelper.UpdateWorkshopSlugClaim(workshop.Slug,workshop.WorkshopFullName);
|
||||
_authHelper.UpdateWorkshopSlugClaim(workshop.Slug,workshop.WorkshopFullName, workshop.Id);
|
||||
}
|
||||
|
||||
return new JsonResult(new
|
||||
|
||||
@@ -141,6 +141,17 @@
|
||||
} else {
|
||||
$('#RollCallSubMenu').addClass('disable');
|
||||
}
|
||||
const customizeCheckoutIds =[
|
||||
"customize-checkout-grouping",
|
||||
"customize-checkout-temporary",
|
||||
"customize-checkout-unofficial",
|
||||
];
|
||||
|
||||
customizeCheckoutIds.forEach(id => {
|
||||
$(`#${id}`).toggleClass('disable',!response.hasCustomizeCheckout);
|
||||
})
|
||||
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -160,9 +160,9 @@
|
||||
</span>
|
||||
</a>
|
||||
<ul class="submenu">
|
||||
<li Permission="@SubAccountPermissionHelper.CustomizeCheckoutSetGroupAndSalaryPermissionCode"><a class="selectLi" asp-page="/Company/CustomizeCheckout/Grouping"><span>گروهبندی فیش حقوقی</span></a></li>
|
||||
<li Permission="@SubAccountPermissionHelper.CustomizeCheckoutTempListPermissionCode"><a class="selectLi" asp-page="/Company/CustomizeCheckout/CheckoutTemporary"><span>لیست فیش حقوقی موقت</span></a></li>
|
||||
<li Permission="@SubAccountPermissionHelper.CustomizeCheckoutListPermissionCode"><a class="selectLi" asp-page="/Company/CustomizeCheckout/CheckoutUnofficial"><span>لیست فیش حقوقی نهایی</span></a></li>
|
||||
<li id="customize-checkout-grouping" Permission="@SubAccountPermissionHelper.CustomizeCheckoutSetGroupAndSalaryPermissionCode"><a class="selectLi" asp-page="/Company/CustomizeCheckout/Grouping"><span>گروهبندی فیش حقوقی</span></a></li>
|
||||
<li id="customize-checkout-temporary" Permission="@SubAccountPermissionHelper.CustomizeCheckoutTempListPermissionCode"><a class="selectLi" asp-page="/Company/CustomizeCheckout/CheckoutTemporary"><span>لیست فیش حقوقی موقت</span></a></li>
|
||||
<li id="customize-checkout-unofficial" Permission="@SubAccountPermissionHelper.CustomizeCheckoutListPermissionCode"><a class="selectLi" asp-page="/Company/CustomizeCheckout/CheckoutUnofficial"><span>لیست فیش حقوقی نهایی</span></a></li>
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
|
||||
@@ -329,10 +329,13 @@
|
||||
/*********************************** Start Table Checkout List ***********************************/
|
||||
.table-contracts .checkout-list .Rtable--collapse .Rtable-row--head {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
|
||||
}
|
||||
|
||||
.table-contracts .checkout-list .width1 {
|
||||
width: 10%;
|
||||
width: 5%;
|
||||
}
|
||||
|
||||
.table-contracts .checkout-list .width2 {
|
||||
@@ -352,7 +355,7 @@
|
||||
}
|
||||
|
||||
.table-contracts .checkout-list .width6 {
|
||||
width: 20%;
|
||||
width: 22%;
|
||||
}
|
||||
|
||||
.table-contracts .checkout-list .width7 {
|
||||
@@ -364,7 +367,7 @@
|
||||
}
|
||||
|
||||
.table-contracts .checkout-list .width9 {
|
||||
width: 10%;
|
||||
width: 8%;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
}
|
||||
@@ -374,6 +377,11 @@
|
||||
display: flex;
|
||||
justify-content: end;
|
||||
}
|
||||
.table-contracts .checkout-list .width11 {
|
||||
width: 5%;
|
||||
display: flex;
|
||||
justify-content: end;
|
||||
}
|
||||
/*********************************** End Table Checkout List ***********************************/
|
||||
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -48,7 +48,6 @@ function ajaxBanks() {
|
||||
}
|
||||
|
||||
|
||||
|
||||
// *************************** عملیت مربوط اسکرول کردن مربوط به سال و ماه در دسکتاپ ********************************
|
||||
var Scrollbar = window.Scrollbar;
|
||||
Scrollbar.init(document.querySelector('#my-scrollbar'), {
|
||||
@@ -74,7 +73,7 @@ $(document).ready(function () {
|
||||
//});
|
||||
|
||||
$('.select2Option').on('change', function () {
|
||||
$('#SearchModel_EmployeeId').val(this.value);
|
||||
$('#SearchModel_EmployeeId').val(this.value);
|
||||
});
|
||||
|
||||
$(".select2Option").select2({
|
||||
@@ -137,7 +136,7 @@ $(document).ready(function () {
|
||||
// datePattern: ['Y', 'm', 'd']
|
||||
//});
|
||||
});
|
||||
|
||||
|
||||
var filterEmployeeId = $('#employeeId').val();
|
||||
var filterYear = $('#Year').val();
|
||||
var filterMonth = $('#Month').val();
|
||||
@@ -172,7 +171,6 @@ $(document).ready(function () {
|
||||
$('.goToTop').hide();
|
||||
|
||||
|
||||
|
||||
////******************** چسباندن هدر تیبل به صفحه بالا ********************
|
||||
//// Get the offset position of the sticky element
|
||||
//var stickyDiv = $(".sticky-div");
|
||||
@@ -259,6 +257,7 @@ function handleDropdown(dropdown, arrow, open) {
|
||||
dropdown.classList.remove("active");
|
||||
}
|
||||
}
|
||||
|
||||
// *************************** عملیت مربوط اسکرول کردن مربوط به سال و ماه در دسکتاپ ********************************
|
||||
|
||||
|
||||
@@ -358,7 +357,6 @@ $(document).on('click', '.btn-clear-filter', function () {
|
||||
});
|
||||
|
||||
|
||||
|
||||
// قسمت دکمه حذف فیلتر
|
||||
// $('#filterRemove').filter(function () {
|
||||
// if ($('.start-date').val() == '' && $('.end-date').val() == '') {
|
||||
@@ -414,22 +412,22 @@ if ($(window).width() < 768) {
|
||||
|
||||
var middleYearIndexArray = [];
|
||||
let yearlyList = [];
|
||||
yearlyList.push({ year: 1368 });
|
||||
yearlyList.push({ year: 1369 });
|
||||
yearlyList.push({year: 1368});
|
||||
yearlyList.push({year: 1369});
|
||||
itemsYearList.forEach(function (year) {
|
||||
yearlyList.push({ year: Number(year) });
|
||||
yearlyList.push({year: Number(year)});
|
||||
});
|
||||
|
||||
var yearIndex = yearlyList.length;
|
||||
yearIndex = yearIndex - 1;
|
||||
var no3 = yearlyList[yearIndex].year + 1;
|
||||
var no4 = yearlyList[yearIndex].year + 2;
|
||||
yearlyList.push({ year: no3 });
|
||||
yearlyList.push({ year: no4 });
|
||||
yearlyList.push({year: no3});
|
||||
yearlyList.push({year: no4});
|
||||
var i = 0;
|
||||
|
||||
for (var j = yearlyList[yearIndex + 2].year; j >= 1368; j--) {
|
||||
let y = { index: i, value: j };
|
||||
let y = {index: i, value: j};
|
||||
middleYearIndexArray.push(j);
|
||||
i++;
|
||||
|
||||
@@ -470,12 +468,12 @@ if ($(window).width() < 768) {
|
||||
|
||||
clearTimeout(scrollTimeout);
|
||||
scrollTimeout = setTimeout(function () {
|
||||
var scrollTopYearRounded = customRound(yearsScrollTop);
|
||||
var scrollTopYearRounded = customRound(yearsScrollTop);
|
||||
|
||||
if (yearsScrollTop !== scrollTopYearRounded) {
|
||||
years.scrollTop(scrollTopYearRounded);
|
||||
}
|
||||
},
|
||||
if (yearsScrollTop !== scrollTopYearRounded) {
|
||||
years.scrollTop(scrollTopYearRounded);
|
||||
}
|
||||
},
|
||||
250);
|
||||
|
||||
var containerId = $(this).attr('id');
|
||||
@@ -614,12 +612,12 @@ if ($(window).width() < 768) {
|
||||
|
||||
clearTimeout(scrollTimeout);
|
||||
scrollTimeout = setTimeout(function () {
|
||||
var scrollTopMonthRounded = customRound(monthScrollTop);
|
||||
var scrollTopMonthRounded = customRound(monthScrollTop);
|
||||
|
||||
if (monthScrollTop !== scrollTopMonthRounded) {
|
||||
months.scrollTop(scrollTopMonthRounded);
|
||||
}
|
||||
},
|
||||
if (monthScrollTop !== scrollTopMonthRounded) {
|
||||
months.scrollTop(scrollTopMonthRounded);
|
||||
}
|
||||
},
|
||||
250);
|
||||
|
||||
var containerId = $(this).attr('id');
|
||||
@@ -780,24 +778,24 @@ if ($(window).width() < 768) {
|
||||
// Populate years, months, and days
|
||||
var middleYearIndexArray = [];
|
||||
let yearlyList = [];
|
||||
yearlyList.push({ year: 1368 });
|
||||
yearlyList.push({ year: 1369 });
|
||||
yearlyList.push({year: 1368});
|
||||
yearlyList.push({year: 1369});
|
||||
|
||||
itemsYearList.forEach(function (year) {
|
||||
yearlyList.push({ year: Number(year) });
|
||||
yearlyList.push({year: Number(year)});
|
||||
});
|
||||
|
||||
var yearIndex = yearlyList.length;
|
||||
yearIndex = yearIndex - 1;
|
||||
var no3 = yearlyList[yearIndex].year + 1;
|
||||
var no4 = yearlyList[yearIndex].year + 2;
|
||||
yearlyList.push({ year: no3 });
|
||||
yearlyList.push({ year: no4 });
|
||||
yearlyList.push({year: no3});
|
||||
yearlyList.push({year: no4});
|
||||
var i = 0;
|
||||
|
||||
|
||||
for (var j = yearlyList[yearIndex + 2].year; j >= 1368; j--) {
|
||||
let y = { index: i, value: j };
|
||||
let y = {index: i, value: j};
|
||||
middleYearIndexArray.push(j);
|
||||
i++;
|
||||
|
||||
@@ -908,20 +906,20 @@ if ($(window).width() < 768) {
|
||||
|
||||
clearTimeout(scrollTimeout);
|
||||
scrollTimeout = setTimeout(function () {
|
||||
var scrollTopYearRounded = customRound(yearsScrollTop);
|
||||
var scrollTopMonthRounded = customRound(monthScrollTop);
|
||||
var scrollTopDayRounded = customRound(dayScrollTop);
|
||||
var scrollTopYearRounded = customRound(yearsScrollTop);
|
||||
var scrollTopMonthRounded = customRound(monthScrollTop);
|
||||
var scrollTopDayRounded = customRound(dayScrollTop);
|
||||
|
||||
if (yearsScrollTop !== scrollTopYearRounded) {
|
||||
years.scrollTop(scrollTopYearRounded);
|
||||
}
|
||||
if (monthScrollTop !== scrollTopMonthRounded) {
|
||||
months.scrollTop(scrollTopMonthRounded);
|
||||
}
|
||||
if (dayScrollTop !== scrollTopDayRounded) {
|
||||
days.scrollTop(scrollTopDayRounded);
|
||||
}
|
||||
},
|
||||
if (yearsScrollTop !== scrollTopYearRounded) {
|
||||
years.scrollTop(scrollTopYearRounded);
|
||||
}
|
||||
if (monthScrollTop !== scrollTopMonthRounded) {
|
||||
months.scrollTop(scrollTopMonthRounded);
|
||||
}
|
||||
if (dayScrollTop !== scrollTopDayRounded) {
|
||||
days.scrollTop(scrollTopDayRounded);
|
||||
}
|
||||
},
|
||||
250);
|
||||
|
||||
var containerId = $(this).attr('id');
|
||||
@@ -1066,22 +1064,22 @@ if ($(window).width() < 768) {
|
||||
// Populate years, months, and days
|
||||
var middleYearIndexArray = [];
|
||||
let yearlyList = [];
|
||||
yearlyList.push({ year: 1368 });
|
||||
yearlyList.push({ year: 1369 });
|
||||
yearlyList.push({year: 1368});
|
||||
yearlyList.push({year: 1369});
|
||||
itemsYearList.forEach(function (year) {
|
||||
yearlyList.push({ year: Number(year) });
|
||||
yearlyList.push({year: Number(year)});
|
||||
});
|
||||
|
||||
var yearIndex = yearlyList.length;
|
||||
yearIndex = yearIndex - 1;
|
||||
var no3 = yearlyList[yearIndex].year + 1;
|
||||
var no4 = yearlyList[yearIndex].year + 2;
|
||||
yearlyList.push({ year: no3 });
|
||||
yearlyList.push({ year: no4 });
|
||||
yearlyList.push({year: no3});
|
||||
yearlyList.push({year: no4});
|
||||
var i = 0;
|
||||
|
||||
for (var j = yearlyList[yearIndex + 2].year; j >= 1368; j--) {
|
||||
let y = { index: i, value: j };
|
||||
let y = {index: i, value: j};
|
||||
middleYearIndexArray.push(j);
|
||||
i++;
|
||||
|
||||
@@ -1193,20 +1191,20 @@ if ($(window).width() < 768) {
|
||||
|
||||
clearTimeout(scrollTimeout);
|
||||
scrollTimeout = setTimeout(function () {
|
||||
var scrollTopYearRounded = customRound(yearsScrollTop);
|
||||
var scrollTopMonthRounded = customRound(monthScrollTop);
|
||||
var scrollTopDayRounded = customRound(dayScrollTop);
|
||||
var scrollTopYearRounded = customRound(yearsScrollTop);
|
||||
var scrollTopMonthRounded = customRound(monthScrollTop);
|
||||
var scrollTopDayRounded = customRound(dayScrollTop);
|
||||
|
||||
if (yearsScrollTop !== scrollTopYearRounded) {
|
||||
years.scrollTop(scrollTopYearRounded);
|
||||
}
|
||||
if (monthScrollTop !== scrollTopMonthRounded) {
|
||||
months.scrollTop(scrollTopMonthRounded);
|
||||
}
|
||||
if (dayScrollTop !== scrollTopDayRounded) {
|
||||
days.scrollTop(scrollTopDayRounded);
|
||||
}
|
||||
},
|
||||
if (yearsScrollTop !== scrollTopYearRounded) {
|
||||
years.scrollTop(scrollTopYearRounded);
|
||||
}
|
||||
if (monthScrollTop !== scrollTopMonthRounded) {
|
||||
months.scrollTop(scrollTopMonthRounded);
|
||||
}
|
||||
if (dayScrollTop !== scrollTopDayRounded) {
|
||||
days.scrollTop(scrollTopDayRounded);
|
||||
}
|
||||
},
|
||||
250);
|
||||
|
||||
|
||||
@@ -1319,7 +1317,6 @@ if ($(window).width() < 768) {
|
||||
}
|
||||
|
||||
|
||||
|
||||
$(".date").keyup(function () {
|
||||
let value = $(this).val();
|
||||
let lengthValue = value.length;
|
||||
@@ -1400,14 +1397,14 @@ function loadMore() {
|
||||
OrderBy: sorting,
|
||||
BankId: bankId
|
||||
},
|
||||
headers: { "RequestVerificationToken": antiForgeryToken },
|
||||
headers: {"RequestVerificationToken": antiForgeryToken},
|
||||
|
||||
success: function (response) {
|
||||
|
||||
if (response.pageIndex > 0) {
|
||||
var n = pageIndex + 1;
|
||||
$.each(response.data, function (i, item) {
|
||||
const html = `
|
||||
let html = `
|
||||
<div class="Rtable-row align-items-center position-relative printAllTd">
|
||||
<div class="Rtable-cell d-md-block d-none width1">
|
||||
<div class="Rtable-cell--heading">
|
||||
@@ -1436,7 +1433,25 @@ function loadMore() {
|
||||
</div>
|
||||
<div class="Rtable-cell d-md-block d-none width6">
|
||||
<div class="Rtable-cell--heading">نام پرسنل</div>
|
||||
<div class="Rtable-cell--content ">${item.employeeFullName}</div>
|
||||
<div class="Rtable-cell--content ">${item.employeeFullName}`;
|
||||
if (item.hasAmountConflict) {
|
||||
html += ` <svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="24" height="24"
|
||||
fill="red"
|
||||
className="bi bi-exclamation-circle"
|
||||
viewBox="0 0 16 16"
|
||||
style="cursor: pointer; margin-left: 10px;"
|
||||
data-bs-toggle="tooltip"
|
||||
data-bs-placement="top"
|
||||
title="توجه داشته باشید این فیش حقوقی دارای تغییرات اعمال نشده میباشد. جهت صدور فیش حقوقی استاندارد مجددا فیش را ایجاد کنید!">
|
||||
<path
|
||||
d="M8 15A7 7 0 1 0 8 1a7 7 0 0 0 0 14zm0 1A8 8 0 1 1 8 0a8 8 0 0 1 0 16z"/>
|
||||
<path
|
||||
d="M7.002 11a1 1 0 1 1 2 0 1 1 0 0 1-2 0zm.1-5.995a.905.905 0 0 1 1.8 0l-.35 3.5a.552.552 0 0 1-1.1 0l-.35-3.5z"/>
|
||||
</svg>`;
|
||||
}
|
||||
html += `</div>
|
||||
</div>
|
||||
<div class="Rtable-cell d-md-block d-none width7">
|
||||
<div class="Rtable-cell--heading">آغاز قرارداد</div>
|
||||
@@ -1480,8 +1495,25 @@ function loadMore() {
|
||||
|
||||
<div class="Rtable-cell--content">
|
||||
<span class="mx-sm-2">
|
||||
${item.employeeFullName}
|
||||
</span>
|
||||
${item.employeeFullName}`;
|
||||
if (item.hasAmountConflict) {
|
||||
html += ` <svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="24" height="24"
|
||||
fill="red"
|
||||
className="bi bi-exclamation-circle"
|
||||
viewBox="0 0 16 16"
|
||||
style="cursor: pointer; margin-left: 10px;"
|
||||
data-bs-toggle="tooltip"
|
||||
data-bs-placement="top"
|
||||
title="توجه داشته باشید این فیش حقوقی دارای تغییرات اعمال نشده میباشد. جهت صدور فیش حقوقی استاندارد مجددا فیش را ایجاد کنید!">
|
||||
<path
|
||||
d="M8 15A7 7 0 1 0 8 1a7 7 0 0 0 0 14zm0 1A8 8 0 1 1 8 0a8 8 0 0 1 0 16z"/>
|
||||
<path
|
||||
d="M7.002 11a1 1 0 1 1 2 0 1 1 0 0 1-2 0zm.1-5.995a.905.905 0 0 1 1.8 0l-.35 3.5a.552.552 0 0 1-1.1 0l-.35-3.5z"/>
|
||||
</svg>`;
|
||||
}
|
||||
html += `</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -1579,6 +1611,9 @@ function loadMore() {
|
||||
`;
|
||||
|
||||
$('.tb').append(html);
|
||||
document.querySelectorAll('[data-bs-toggle="tooltip"]').forEach(el => {
|
||||
bootstrap.Tooltip.getOrCreateInstance(el);
|
||||
});
|
||||
n += 1;
|
||||
});
|
||||
updateRowNumbers();
|
||||
@@ -1594,7 +1629,7 @@ function loadMore() {
|
||||
}
|
||||
|
||||
$('.goToTop').on('click', function () {
|
||||
$('html, body').animate({ scrollTop: 0 }, 360);
|
||||
$('html, body').animate({scrollTop: 0}, 360);
|
||||
return false;
|
||||
});
|
||||
|
||||
@@ -1697,7 +1732,7 @@ function showExcelAllModal() {
|
||||
}, 3500);
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
window.location.href = showCheckoutExcelModalUrl;
|
||||
}
|
||||
|
||||
@@ -1810,8 +1845,6 @@ function printAllMobile() {
|
||||
//------------------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
|
||||
function openCreateCheckoutTemporaryModal() {
|
||||
if (!isTodayFirst) {
|
||||
var goTo = `#showmodal=/Client/Company/CustomizeCheckout/CheckoutTemporary?handler=Create`;
|
||||
@@ -1877,18 +1910,20 @@ $(document).on('click', '.RemoveBtn', function () {
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
function updateRowNumbers() {
|
||||
$('.Rtable-row').each(function (index) {
|
||||
$(this).find('.row-number').text(index);
|
||||
});
|
||||
}
|
||||
|
||||
function deleteOneItem(id, button) {
|
||||
$.ajax({
|
||||
async: false,
|
||||
type: 'POST',
|
||||
url: deleteOneAjax,
|
||||
data: { checkoutId: Number(id) },
|
||||
headers: { "RequestVerificationToken": `${antiForgeryToken}` },
|
||||
data: {checkoutId: Number(id)},
|
||||
headers: {"RequestVerificationToken": `${antiForgeryToken}`},
|
||||
success: function (response) {
|
||||
if (response.success) {
|
||||
$('.alert-success-msg').show();
|
||||
@@ -1917,8 +1952,6 @@ function deleteOneItem(id, button) {
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
$('.RemoveBtnAll').on("click", function () {
|
||||
var idListArray = [];
|
||||
var year = $('#Year').val();
|
||||
@@ -1971,8 +2004,8 @@ $('.RemoveBtnAll').on("click", function () {
|
||||
async: false,
|
||||
type: 'POST',
|
||||
url: deleteAllAjax,
|
||||
data: { checkoutIds: idListArray },
|
||||
headers: { "RequestVerificationToken": `${antiForgeryToken}` },
|
||||
data: {checkoutIds: idListArray},
|
||||
headers: {"RequestVerificationToken": `${antiForgeryToken}`},
|
||||
success: function (response) {
|
||||
if (response.success) {
|
||||
$('.alert-success-msg').show();
|
||||
|
||||
@@ -1403,7 +1403,7 @@ function loadMore() {
|
||||
if (response.pageIndex > 0) {
|
||||
var n = pageIndex + 1;
|
||||
$.each(response.data, function (i, item) {
|
||||
const html = `
|
||||
let html = `
|
||||
<div class="Rtable-row align-items-center position-relative printAllTd">
|
||||
<div class="Rtable-cell d-md-block d-none width1">
|
||||
<div class="Rtable-cell--heading">
|
||||
@@ -1432,7 +1432,25 @@ function loadMore() {
|
||||
</div>
|
||||
<div class="Rtable-cell d-md-block d-none width6">
|
||||
<div class="Rtable-cell--heading">نام پرسنل</div>
|
||||
<div class="Rtable-cell--content ">${item.employeeFullName}</div>
|
||||
<div class="Rtable-cell--content ">${item.employeeFullName}`;
|
||||
if (item.hasAmountConflict) {
|
||||
html+= ` <svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="24" height="24"
|
||||
fill="red"
|
||||
className="bi bi-exclamation-circle"
|
||||
viewBox="0 0 16 16"
|
||||
style="cursor: pointer; margin-left: 10px;"
|
||||
data-bs-toggle="tooltip"
|
||||
data-bs-placement="top"
|
||||
title="توجه داشته باشید این فیش حقوقی دارای تغییرات اعمال نشده میباشد. جهت صدور فیش حقوقی استاندارد مجددا فیش را ایجاد کنید!">
|
||||
<path
|
||||
d="M8 15A7 7 0 1 0 8 1a7 7 0 0 0 0 14zm0 1A8 8 0 1 1 8 0a8 8 0 0 1 0 16z"/>
|
||||
<path
|
||||
d="M7.002 11a1 1 0 1 1 2 0 1 1 0 0 1-2 0zm.1-5.995a.905.905 0 0 1 1.8 0l-.35 3.5a.552.552 0 0 1-1.1 0l-.35-3.5z"/>
|
||||
</svg>`;
|
||||
}
|
||||
html += `</div>
|
||||
</div>
|
||||
<div class="Rtable-cell d-md-block d-none width7">
|
||||
<div class="Rtable-cell--heading">آغاز قرارداد</div>
|
||||
@@ -1476,8 +1494,25 @@ function loadMore() {
|
||||
|
||||
<div class="Rtable-cell--content">
|
||||
<span class="mx-sm-2">
|
||||
${item.employeeFullName}
|
||||
</span>
|
||||
${item.employeeFullName}`;
|
||||
if (item.hasAmountConflict) {
|
||||
html += ` <svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="12" height="12"
|
||||
fill="red"
|
||||
className="bi bi-exclamation-circle"
|
||||
viewBox="0 0 16 16"
|
||||
style="cursor: pointer; margin-left: 10px;"
|
||||
data-bs-toggle="tooltip"
|
||||
data-bs-placement="top"
|
||||
title="توجه داشته باشید این فیش حقوقی دارای تغییرات اعمال نشده میباشد. جهت صدور فیش حقوقی استاندارد مجددا فیش را ایجاد کنید!">
|
||||
<path
|
||||
d="M8 15A7 7 0 1 0 8 1a7 7 0 0 0 0 14zm0 1A8 8 0 1 1 8 0a8 8 0 0 1 0 16z"/>
|
||||
<path
|
||||
d="M7.002 11a1 1 0 1 1 2 0 1 1 0 0 1-2 0zm.1-5.995a.905.905 0 0 1 1.8 0l-.35 3.5a.552.552 0 0 1-1.1 0l-.35-3.5z"/>
|
||||
</svg>`;
|
||||
}
|
||||
html += `</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -1564,6 +1599,9 @@ function loadMore() {
|
||||
`;
|
||||
|
||||
$('.tb').append(html);
|
||||
document.querySelectorAll('[data-bs-toggle="tooltip"]').forEach(el => {
|
||||
bootstrap.Tooltip.getOrCreateInstance(el);
|
||||
});
|
||||
n += 1;
|
||||
});
|
||||
updateRowNumbers();
|
||||
|
||||
@@ -344,15 +344,17 @@ function CheckExistAjax() {
|
||||
success: function (response) {
|
||||
var checkoutType = "";
|
||||
|
||||
if (response.customizeCheckout) {
|
||||
checkoutType = "غیررسمی نهایی";
|
||||
} else if (response.customizeCheckoutTemp) {
|
||||
checkoutType = "غیررسمی موقت";
|
||||
}
|
||||
if (response.checkout){
|
||||
if (response.checkout)
|
||||
checkoutType = "-فیش حقوقی رسمی\n";
|
||||
|
||||
var message = " با افزودن مبلغ مساعده فیش های حقوقی ذیل تغییر میکنند:\n " +
|
||||
checkoutType +
|
||||
"در صورت نیاز به فیش با محاسبه دقیق پس از ثبت مساعده، فیش های موجود را حذف و مجددا اقدام به صدور نمایید.";
|
||||
|
||||
|
||||
if (response.checkout) {
|
||||
swal({
|
||||
title: `پرسنل دارای فیش رسمی است با تایید این پیغام مساعده شما ثبت میشود ولی در فیش حقوقی رسمی پرسنل اعمال نمیشود. درصورت نیاز به ثبت مساعده در فیش رسمی میبایست فیش حقوقی رسمی را مجددا ایجاد کنید. آیا ادامه میدهید؟`,
|
||||
title: message,
|
||||
text: "",
|
||||
type: "warning",
|
||||
showCancelButton: true,
|
||||
@@ -368,26 +370,8 @@ function CheckExistAjax() {
|
||||
$('#createData').removeClass('disable');
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
else if (response.customizeCheckout || response.customizeCheckoutTemp) {
|
||||
swal({
|
||||
title: `برای این پرسنل فیش حقوقی ${checkoutType} صادر شده است. در صورت تایید، این فیش حقوقی به صورت خودکار تغییر پیدا میکند.`,
|
||||
text: "",
|
||||
type: "warning",
|
||||
showCancelButton: true,
|
||||
confirmButtonColor: "#DD6B55",
|
||||
confirmButtonText: "بله",
|
||||
cancelButtonText: "خیر",
|
||||
closeOnConfirm: true,
|
||||
closeOnCancel: true
|
||||
}, function (isConfirm) {
|
||||
if (isConfirm) {
|
||||
SaveDataAjax();
|
||||
} else {
|
||||
$('#createData').removeClass('disable');
|
||||
}
|
||||
});
|
||||
}
|
||||
else {
|
||||
SaveDataAjax();
|
||||
}
|
||||
|
||||
@@ -275,34 +275,15 @@ function CheckExistAjax() {
|
||||
//if (response.checkout)
|
||||
var checkoutType = "";
|
||||
|
||||
if (response.customizeCheckout) {
|
||||
checkoutType = "غیررسمی نهایی";
|
||||
} else if (response.customizeCheckoutTemp) {
|
||||
checkoutType = "غیررسمی موقت";
|
||||
}
|
||||
if (response.checkout ||response.customizeCheckoutTemp || response.customizeCheckout){
|
||||
if (response.checkout)
|
||||
checkoutType = "-فیش حقوقی رسمی\n";
|
||||
var message = " با افزودن مبلغ مساعده فیش های حقوقی ذیل تغییر میکنند:\n " +
|
||||
checkoutType +
|
||||
"در صورت نیاز به فیش با محاسبه دقیق پس از ثبت مساعده، فیش های موجود را حذف و مجددا اقدام به صدور نمایید.";
|
||||
|
||||
if (response.checkout) {
|
||||
swal({
|
||||
title: `پرسنل دارای فیش رسمی است با تایید این پیغام مساعده شما ثبت میشود ولی در فیش حقوقی رسمی پرسنل اعمال نمیشود. درصورت نیاز به اعمال مساعده در فیش رسمی میبایست فیش حقوقی رسمی را مجددا ایجاد کنید. آیا ادامه میدهید؟`,
|
||||
text: "",
|
||||
type: "warning",
|
||||
showCancelButton: true,
|
||||
confirmButtonColor: "#DD6B55",
|
||||
confirmButtonText: "بله",
|
||||
cancelButtonText: "خیر",
|
||||
closeOnConfirm: true,
|
||||
closeOnCancel: true
|
||||
}, function (isConfirm) {
|
||||
if (isConfirm) {
|
||||
SaveDataAjax();
|
||||
} else {
|
||||
$('#createData').removeClass('disable');
|
||||
}
|
||||
});
|
||||
}
|
||||
else if (response.customizeCheckout || response.customizeCheckoutTemp) {
|
||||
swal({
|
||||
title: `برای این پرسنل فیش حقوقی ${checkoutType} صادر شده است. در صورت تایید، این فیش حقوقی به صورت خودکار تغییر پیدا میکند.`,
|
||||
title: message,
|
||||
text: "",
|
||||
type: "warning",
|
||||
showCancelButton: true,
|
||||
|
||||
@@ -762,18 +762,17 @@ function CheckExistAjax() {
|
||||
employeeIds: employeeSelectArray
|
||||
},
|
||||
success: function (response) {
|
||||
//if (response.checkout)
|
||||
|
||||
var checkoutType = "";
|
||||
|
||||
if (response.customizeCheckout) {
|
||||
checkoutType = "غیررسمی نهایی";
|
||||
} else if (response.customizeCheckoutTemp) {
|
||||
checkoutType = "غیررسمی موقت";
|
||||
}
|
||||
if (response.checkout){
|
||||
if (response.checkout)
|
||||
checkoutType = "-فیش حقوقی رسمی\n";
|
||||
|
||||
var message = " با افزودن مبلغ مساعده فیش های حقوقی ذیل تغییر میکنند:\n " + checkoutType+"در صورت نیاز به فیش به فیش با محاسبه دقیق پس از ثبت مساعده، فیش های موجود را حذف و مجددا اقدام به صدور نمایید.";
|
||||
|
||||
if (response.checkout) {
|
||||
swal({
|
||||
title: `پرسنل دارای فیش رسمی است با تایید این پیغام مساعده شما ثبت میشود ولی در فیش حقوقی رسمی پرسنل اعمال نمیشود. درصورت نیاز به اعمال مساعده در فیش رسمی میبایست فیش حقوقی رسمی را مجددا ایجاد کنید. آیا ادامه میدهید؟`,
|
||||
title: message,
|
||||
text: "",
|
||||
type: "warning",
|
||||
showCancelButton: true,
|
||||
@@ -789,26 +788,9 @@ function CheckExistAjax() {
|
||||
$('#createData').removeClass('disable');
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
else if (response.customizeCheckout || response.customizeCheckoutTemp) {
|
||||
swal({
|
||||
title: `برای این پرسنل فیش حقوقی ${checkoutType} صادر شده است. در صورت تایید، این فیش حقوقی به صورت خودکار تغییر پیدا میکند.`,
|
||||
text: "",
|
||||
type: "warning",
|
||||
showCancelButton: true,
|
||||
confirmButtonColor: "#DD6B55",
|
||||
confirmButtonText: "بله",
|
||||
cancelButtonText: "خیر",
|
||||
closeOnConfirm: true,
|
||||
closeOnCancel: true
|
||||
}, function (isConfirm) {
|
||||
if (isConfirm) {
|
||||
SaveDataAjax();
|
||||
} else {
|
||||
$('#createData').removeClass('disable');
|
||||
}
|
||||
});
|
||||
} else {
|
||||
else {
|
||||
SaveDataAjax();
|
||||
}
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user