Compare commits
41 Commits
Fix/Custom
...
Fix/LeftWo
| Author | SHA1 | Date | |
|---|---|---|---|
| 10c35f6f10 | |||
|
|
89a8e1c027 | ||
|
|
e584605c4e | ||
|
|
734699b319 | ||
|
|
e8407868a7 | ||
| 7ad1a2f376 | |||
| e190408504 | |||
| e520c8c14b | |||
| bd0e79fadf | |||
|
|
b880721dfa | ||
|
|
e0a68690c1 | ||
|
|
817a848eef | ||
|
|
f77fa7a324 | ||
|
|
e44dad08ef | ||
|
|
f901f8a682 | ||
|
|
08913d38f2 | ||
|
|
15156c06fc | ||
|
|
5da9d23875 | ||
|
|
c14da7ad5b | ||
|
|
1629b121d3 | ||
|
|
3a60ddf449 | ||
|
|
c90fe4cb29 | ||
|
|
57930aae4f | ||
|
|
d816e73fed | ||
|
|
10bfbad3cb | ||
|
|
671f6be87a | ||
|
|
2901a9ecf4 | ||
|
|
aff835fd7f | ||
|
|
7055839538 | ||
|
|
2166e7c5ee | ||
|
|
d4dc65b4e8 | ||
| 38dd1b1818 | |||
|
|
8c5b21b726 | ||
|
|
77d9c42823 | ||
|
|
214882108c | ||
|
|
ececd99d07 | ||
|
|
d54e3c4a67 | ||
|
|
4e8a7d74a2 | ||
|
|
d1414b0b90 | ||
|
|
aeb65dc152 | ||
|
|
e69525b1ad |
@@ -22,4 +22,11 @@ public interface ISmsService
|
||||
string DeliveryStatus(byte? dv);
|
||||
string DeliveryColorStatus(byte? dv);
|
||||
string UnixTimeStampToDateTime(int? unixTimeStamp);
|
||||
|
||||
#region Mahan
|
||||
|
||||
Task<double> GetCreditAmount();
|
||||
|
||||
#endregion
|
||||
|
||||
}
|
||||
@@ -17,10 +17,14 @@ namespace _0_Framework.Application.Sms;
|
||||
public class SmsService : ISmsService
|
||||
{
|
||||
private readonly IConfiguration _configuration;
|
||||
public SmsIr SmsIr { get; set; }
|
||||
|
||||
|
||||
public SmsService(IConfiguration configuration)
|
||||
{
|
||||
_configuration = configuration;
|
||||
SmsIr = new SmsIr("Og5M562igmzJRhQPnq0GdtieYdLgtfikjzxOmeQBPxJjZtyge5Klc046Lfw1mxSa");
|
||||
|
||||
}
|
||||
|
||||
public void Send(string number, string message)
|
||||
@@ -311,4 +315,15 @@ public class SmsService : ISmsService
|
||||
//var tokenService = new Token();
|
||||
//return tokenService.GetToken("x-api-key", "Og5M562igmzJRhQPnq0GdtieYdLgtfikjzxOmeQBPxJjZtyge5Klc046Lfw1mxSa");
|
||||
}
|
||||
|
||||
#region Mahan
|
||||
|
||||
public async Task<double> GetCreditAmount()
|
||||
{
|
||||
var credit = await SmsIr.GetCreditAsync();
|
||||
return (double)credit.Data;
|
||||
}
|
||||
|
||||
|
||||
#endregion
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using System.Threading.Tasks;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
using _0_Framework.Domain;
|
||||
using CompanyManagment.App.Contracts.LeftWorkTemp;
|
||||
|
||||
@@ -14,4 +15,5 @@ public interface ILeftWorkTempRepository:IRepository<long,LeftWorkTemp>
|
||||
/// <returns></returns>
|
||||
Task<GetStartWorkTempDetails> GetStartAndLeftWorkDetails(long employeeId, long workshopId);
|
||||
void Remove(LeftWorkTemp entity);
|
||||
List<LeftWorkTempViewModel> GetLeftWorksByWorkshopId(long workshopId);
|
||||
}
|
||||
@@ -26,7 +26,17 @@ public class CaseManagementExcelGenerator
|
||||
{
|
||||
OfficeOpenXml.ExcelPackage.LicenseContext = LicenseContext.NonCommercial;
|
||||
using var package = new ExcelPackage();
|
||||
var worksheet = package.Workbook.Worksheets.Add("Sheet1");
|
||||
CreateSheet(data, package,"همه");
|
||||
CreateSheet(data.Where(x=>x.Status ==2).ToList(), package,"فعال");
|
||||
CreateSheet(data.Where(x=>x.Status == 1).ToList(), package,"غیرفعال");
|
||||
CreateSheet(data.Where(x=>x.Status == 3).ToList(), package,"خروج موقت");
|
||||
|
||||
return package.GetAsByteArray();
|
||||
}
|
||||
|
||||
private static void CreateSheet(List<FileExcelViewModel> data, ExcelPackage package,string sheetName)
|
||||
{
|
||||
var worksheet = package.Workbook.Worksheets.Add(sheetName);
|
||||
|
||||
var indexCell = worksheet.Cells[1, 1];
|
||||
indexCell.Value = "ردیف";
|
||||
@@ -85,7 +95,6 @@ public class CaseManagementExcelGenerator
|
||||
|
||||
worksheet.Cells[worksheet.Dimension.Address].AutoFitColumns();
|
||||
worksheet.View.RightToLeft = true;
|
||||
return package.GetAsByteArray();
|
||||
}
|
||||
|
||||
private static bool RequiresMoneyToDouble(string propertyName)
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using System.Collections.Generic;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
using _0_Framework.Application;
|
||||
using CompanyManagment.App.Contracts.LeftWork;
|
||||
@@ -30,6 +31,20 @@ public interface ILeftWorkTempApplication
|
||||
/// <param name="command"></param>
|
||||
/// <returns></returns>
|
||||
Task<OperationResult> AcceptLeftWork(AcceptLeftWorkTemp command);
|
||||
|
||||
List<LeftWorkTempViewModel> GetLeftWorksByWorkshopId(long workshopId);
|
||||
}
|
||||
|
||||
public class LeftWorkTempViewModel
|
||||
{
|
||||
public long LeftWorkId { get; set; }
|
||||
public string StartWork { get; set; }
|
||||
public string LeftWork { get; set; }
|
||||
public string LastDayStanding { get; set; }
|
||||
public long WorkshopId { get; set; }
|
||||
public long EmployeeId { get; set; }
|
||||
public long JobId { get; set; }
|
||||
public LeftWorkTempType LeftWorkType { get; set; }
|
||||
}
|
||||
|
||||
public class AcceptLeftWorkTemp
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using _0_Framework.Application;
|
||||
@@ -57,6 +58,11 @@ public class LeftWorkTempApplication : ILeftWorkTempApplication
|
||||
{
|
||||
#region Validation
|
||||
|
||||
if (_leftWorkTempRepository.Exists(x=>x.WorkshopId == command.WorkshopId && x.EmployeeId == employeeId))
|
||||
{
|
||||
return op.Failed("برای پرسنل وارد شده قبلا درخواست ترک کار ثبت کرده اید");
|
||||
}
|
||||
|
||||
if (command.LeftWorkTime.TryToGeorgianDateTime(out var leftWorkDateGr) == false)
|
||||
{
|
||||
return op.Failed("تاریخ شروع به کار وارد شده نامعتبر است");
|
||||
@@ -233,6 +239,13 @@ public class LeftWorkTempApplication : ILeftWorkTempApplication
|
||||
|
||||
return op.Succcedded();
|
||||
}
|
||||
|
||||
public List<LeftWorkTempViewModel> GetLeftWorksByWorkshopId(long workshopId)
|
||||
{
|
||||
return _leftWorkTempRepository.GetLeftWorksByWorkshopId(workshopId);
|
||||
|
||||
}
|
||||
|
||||
//این متد ترک کار های کارمند را با فعالیت حضور غیاب یکپارچه می کند
|
||||
private void IfEmployeeHasNewLeftWorkDateAddEndDateToRollCallStatus(long employeeId)
|
||||
{
|
||||
|
||||
@@ -130,6 +130,7 @@ public class ProceedingSessionApplication : IProceedingSessionApplication
|
||||
ArchiveNo = searchModel.File.ArchiveNo.ToString(),
|
||||
FileClass = searchModel.File.FileClass,
|
||||
UserId_RequesterOrSummoned = searchModel.UserId_RequesterOrSummoned,
|
||||
Status = 0
|
||||
});
|
||||
|
||||
if (searchModel.IsSearched)
|
||||
@@ -230,6 +231,10 @@ public class ProceedingSessionApplication : IProceedingSessionApplication
|
||||
|
||||
private List<File_Board_PS> GetFile_Board_PSList(List<EditProceedingSession> list, List<FileViewModel> files, ProceedingSessionSearchModel searchModel)
|
||||
{
|
||||
if (list.Any(x=>x.Id == 1516))
|
||||
{
|
||||
|
||||
}
|
||||
var file_PSList = new List<File_Board_PS>();
|
||||
|
||||
foreach (var item in list)
|
||||
@@ -248,7 +253,9 @@ public class ProceedingSessionApplication : IProceedingSessionApplication
|
||||
continue;
|
||||
}
|
||||
|
||||
var file = _fileRepository.Search(new FileSearchModel { Id = board.File_Id, Status = 0 }).FirstOrDefault();
|
||||
var filelist = _fileRepository.Search(new FileSearchModel { Id = board.File_Id, Status = 0 }).ToList();
|
||||
|
||||
var file = filelist.FirstOrDefault();
|
||||
|
||||
file = _fileApplication.GetFileDetails(file);
|
||||
|
||||
|
||||
@@ -336,15 +336,19 @@ public class RollCallApplication : IRollCallApplication
|
||||
public OperationResult ManualEdit(CreateOrEditEmployeeRollCall command)
|
||||
{
|
||||
var operation = new OperationResult();
|
||||
var now = DateTime.Now;
|
||||
|
||||
DateTime date = command.DateFa.ToGeorgianDateTime();
|
||||
if (date == Tools.GetUndefinedDateTime())
|
||||
return operation.Failed("فرمت تاریخ وارد شده صحیح نمی باشد");
|
||||
|
||||
if (date >= DateTime.Now.Date)
|
||||
{
|
||||
return operation.Failed("امکان اضافه کردن حضور غیاب برای روز جاری و روز های آینده وجود ندارد");
|
||||
}
|
||||
|
||||
|
||||
|
||||
//if (date >= DateTime.Now.Date)
|
||||
//{
|
||||
// return operation.Failed("امکان اضافه کردن حضور غیاب برای روز جاری و روز های آینده وجود ندارد");
|
||||
//}
|
||||
|
||||
var twoDaysEarlier = date.AddDays(-2).Date;
|
||||
var twoDaysLater = date.AddDays(2).Date >= DateTime.Today
|
||||
@@ -407,8 +411,8 @@ public class RollCallApplication : IRollCallApplication
|
||||
if (startDateTime >= endDateTime)
|
||||
return operation.Failed("زمان ورود نمی تواند بعد یا مساوی زمان خروج باشد");
|
||||
|
||||
if (endDateTime.Date >= DateTime.Today)
|
||||
return operation.Failed("نمی توانید برای روز جاری یا روز های آینده حضور غیاب ثبت کنید");
|
||||
//if (endDateTime.Date >= DateTime.Today)
|
||||
// return operation.Failed("نمی توانید برای روز جاری یا روز های آینده حضور غیاب ثبت کنید");
|
||||
|
||||
var rollCall = new EditRollCall
|
||||
{
|
||||
@@ -420,7 +424,10 @@ public class RollCallApplication : IRollCallApplication
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (newRollCallDates.Any(x => x.StartDate >= now || x.EndDate >= now))
|
||||
{
|
||||
return operation.Failed("حضورغیاب وارد شده نمیتواند در آینده باشد");
|
||||
}
|
||||
|
||||
if (newRollCallDates.Any(x => newRollCallDates.Any(y => x != y && x.EndDate >= y.StartDate && x.StartDate <= y.EndDate)))
|
||||
return operation.Failed("بازه های وارد شده با هم تداخل دارند");
|
||||
@@ -447,7 +454,7 @@ public class RollCallApplication : IRollCallApplication
|
||||
{
|
||||
x.ShiftDate =
|
||||
_rollCallDomainService.GetEmployeeShiftDateByRollCallStartDate(command.WorkshopId, command.EmployeeId,
|
||||
x.StartDate!.Value,x.EndDate!.Value);
|
||||
x.StartDate!.Value,x.EndDate.Value);
|
||||
});
|
||||
|
||||
if (newRollCallDates.Any(x => x.ShiftDate.Date != date.Date))
|
||||
@@ -455,14 +462,13 @@ public class RollCallApplication : IRollCallApplication
|
||||
return operation.Failed("حضور غیاب در حال ویرایش را نمیتوانید از تاریخ شیفت عقب تر یا جلو تر ببرید");
|
||||
}
|
||||
|
||||
|
||||
if (new TimeSpan(newRollCallDates.Sum(x => (x.EndDate.Value - x.StartDate.Value).Ticks)) > TimeSpan.FromHours(26))
|
||||
{
|
||||
return operation.Failed("بازه حضور پرسنل نمی تواند بیشتر از 26 ساعت باشد");
|
||||
}
|
||||
if (new TimeSpan(newRollCallDates.Sum(x => (x.EndDate.Value - x.StartDate.Value).Ticks)) > TimeSpan.FromHours(26))
|
||||
{
|
||||
return operation.Failed("بازه حضور پرسنل نمی تواند بیشتر از 26 ساعت باشد");
|
||||
}
|
||||
|
||||
|
||||
if (newRollCallDates.Any(x => employeeRollCalls.Any(y =>
|
||||
if (newRollCallDates.Any(x => employeeRollCalls.Any(y =>
|
||||
y.StartDate.Value.Date != command.DateFa.ToGeorgianDateTime().Date &&
|
||||
x.EndDate >= y.StartDate.Value && x.StartDate <= y.EndDate.Value)))
|
||||
return operation.Failed("بازه های وارد شده با حضور غیاب های مربوط به روز های قبل و بعد تداخل زمانی دارد");
|
||||
@@ -496,26 +502,27 @@ public class RollCallApplication : IRollCallApplication
|
||||
|
||||
_rollCallRepository.AddRange(rollCallsAsEntityModels);
|
||||
_rollCallRepository.SaveChanges();
|
||||
|
||||
foreach (var rollCallsAsEntityModel in rollCallsAsEntityModels)
|
||||
{
|
||||
rollCallsAsEntityModel.Edit(rollCallsAsEntityModel.StartDate.Value, rollCallsAsEntityModel.EndDate.Value, _rollCallDomainService);
|
||||
}
|
||||
_rollCallRepository.SaveChanges();
|
||||
|
||||
return operation.Succcedded();
|
||||
}
|
||||
public OperationResult ManualEditForUndefined(CreateOrEditEmployeeRollCall command)
|
||||
{
|
||||
var operation = new OperationResult();
|
||||
var now = DateTime.Now;
|
||||
|
||||
DateTime date = command.DateFa.ToGeorgianDateTime();
|
||||
if (date == Tools.GetUndefinedDateTime())
|
||||
return operation.Failed("فرمت تاریخ وارد شده صحیح نمی باشد");
|
||||
|
||||
if (date >= DateTime.Now.Date)
|
||||
{
|
||||
return operation.Failed("امکان اضافه کردن حضور غیاب برای روز جاری و روز های آینده وجود ندارد");
|
||||
}
|
||||
//if (date >= DateTime.Now.Date)
|
||||
//{
|
||||
// return operation.Failed("امکان اضافه کردن حضور غیاب برای روز جاری و روز های آینده وجود ندارد");
|
||||
//}
|
||||
|
||||
var twoDaysEarlier = date.AddDays(-2).Date;
|
||||
var twoDaysLater = date.AddDays(2).Date >= DateTime.Today
|
||||
@@ -578,8 +585,8 @@ public class RollCallApplication : IRollCallApplication
|
||||
if (startDateTime >= endDateTime)
|
||||
return operation.Failed("زمان ورود نمی تواند بعد یا مساوی زمان خروج باشد");
|
||||
|
||||
if (endDateTime.Date >= DateTime.Today)
|
||||
return operation.Failed("نمی توانید برای روز جاری یا روز های آینده حضور غیاب ثبت کنید");
|
||||
//if (endDateTime.Date >= DateTime.Today)
|
||||
// return operation.Failed("نمی توانید برای روز جاری یا روز های آینده حضور غیاب ثبت کنید");
|
||||
|
||||
var rollCall = new EditRollCall
|
||||
{
|
||||
@@ -594,6 +601,12 @@ public class RollCallApplication : IRollCallApplication
|
||||
{
|
||||
|
||||
});
|
||||
|
||||
if (newRollCallDates.Any(x => x.StartDate >= now || x.EndDate >= now))
|
||||
{
|
||||
return operation.Failed("حضورغیاب وارد شده نمیتواند در آینده باشد");
|
||||
}
|
||||
|
||||
if (newRollCallDates.Any(x => newRollCallDates.Any(y => x != y && x.EndDate >= y.StartDate && x.StartDate <= y.EndDate)))
|
||||
return operation.Failed("بازه های وارد شده با هم تداخل دارند");
|
||||
|
||||
@@ -618,7 +631,7 @@ public class RollCallApplication : IRollCallApplication
|
||||
{
|
||||
x.ShiftDate =
|
||||
_rollCallDomainService.GetEmployeeShiftDateByRollCallStartDate(command.WorkshopId, command.EmployeeId,
|
||||
x.StartDate!.Value,x.EndDate!.Value);
|
||||
x.StartDate!.Value,x.EndDate.Value);
|
||||
});
|
||||
if (newRollCallDates.Any(x => x.ShiftDate.Date != date.Date))
|
||||
{
|
||||
@@ -626,10 +639,10 @@ public class RollCallApplication : IRollCallApplication
|
||||
}
|
||||
if (new TimeSpan(newRollCallDates.Sum(x => (x.EndDate.Value - x.StartDate.Value).Ticks)) > TimeSpan.FromHours(26))
|
||||
{
|
||||
return operation.Failed("بازه حضور پرسنل نمی تواند بیشتر از 26 ساعت باشد");
|
||||
return operation.Failed("بازه حضور پرسنل نمی تواند بیشتر از 26 ساعت باشد");
|
||||
}
|
||||
|
||||
if (newRollCallDates.Any(x => employeeRollCalls.Any(y =>
|
||||
if (newRollCallDates.Any(x => employeeRollCalls.Any(y =>
|
||||
y.StartDate.Value.Date != command.DateFa.ToGeorgianDateTime().Date &&
|
||||
x.EndDate >= y.StartDate.Value && x.StartDate <= y.EndDate.Value)))
|
||||
return operation.Failed("بازه های وارد شده با حضور غیاب های مربوط به روز های قبل و بعد تداخل زمانی دارد");
|
||||
@@ -717,8 +730,11 @@ public class RollCallApplication : IRollCallApplication
|
||||
|
||||
if (rollCalls == null)
|
||||
return operation.Failed("چنین آیتمی یافت نشد");
|
||||
foreach (var item in rollCalls)
|
||||
foreach (var item in rollCalls)
|
||||
{
|
||||
item.Edit(item.StartDate.Value,item.EndDate.Value,_rollCallDomainService);
|
||||
item.SetModifyType(RollCallModifyType.EditByEmployer);
|
||||
}
|
||||
|
||||
_rollCallRepository.SaveChanges();
|
||||
|
||||
|
||||
@@ -90,15 +90,27 @@ namespace CompanyManagment.Application
|
||||
|
||||
public bool HasRollCallRecord(long employeeId, long workshopId, DateTime contractStart, DateTime contractEnd)
|
||||
{
|
||||
//موقت
|
||||
// دادمهرگستر 11 *
|
||||
//585 کاشی گالری سرامیس (بابک ابراهیمی ) *
|
||||
//آموزشگاه ملل 604 *
|
||||
//کاریابی ملل 605 *
|
||||
//368 پیتزا امیر آماده سازی
|
||||
//367 پیتزا امیر رستوران
|
||||
//286 مرکز توان بخشی رسالت *
|
||||
bool skipRollCallByWorkshopId = workshopId is 11 or 585 or 604 or 605 or 368 or 367 or 286;
|
||||
//موقت
|
||||
// دادمهرگستر 11 *
|
||||
//585 کاشی گالری سرامیس (بابک ابراهیمی ) *
|
||||
//آموزشگاه ملل 604 *
|
||||
//کاریابی ملل 605 *
|
||||
//368 پیتزا امیر آماده سازی
|
||||
//367 پیتزا امیر رستوران
|
||||
//286 مرکز توان بخشی رسالت *
|
||||
DateTime start1404 = new DateTime(2025, 03, 21);
|
||||
bool skipRollCallByWorkshopId = false;
|
||||
if (contractStart < start1404)
|
||||
{
|
||||
skipRollCallByWorkshopId = workshopId is 11 or 585 or 604 or 605 or 368 or 367 or 286;
|
||||
}
|
||||
else
|
||||
{
|
||||
skipRollCallByWorkshopId = workshopId is 368 or 367;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
//#if DEBUG
|
||||
// skipRollCallByWorkshopId = workshopId is 11 or 585 or 604 or 605 or 368 or 367;
|
||||
@@ -111,7 +123,10 @@ namespace CompanyManagment.Application
|
||||
bool skipRollCallByEmployeeId = employeeId is 42550;
|
||||
if (skipRollCallByEmployeeId)
|
||||
return false;
|
||||
|
||||
|
||||
//9211 محسا تازه
|
||||
if (employeeId == 9211 && contractStart >= start1404)
|
||||
return false;
|
||||
|
||||
var service = _rollCallServiceRepository.GetAllServiceByWorkshopId(workshopId);
|
||||
|
||||
|
||||
@@ -84,7 +84,7 @@ namespace CompanyManagment.EFCore.Repository
|
||||
//var year = pc.GetYear(monthStart);
|
||||
//var month = pc.GetMonth(monthStart);
|
||||
|
||||
IQueryable<CustomizeCheckout> customizeCheckoutsQuery = _companyContext.CustomizeCheckouts
|
||||
IQueryable<CustomizeCheckout> customizeCheckoutsQuery = _companyContext.CustomizeCheckouts.AsSplitQuery()
|
||||
.Where(x => customizeCheckoutIds.Contains(x.id)).Include(x => x.CheckoutFines);
|
||||
|
||||
IQueryable<Workshop> workshopsQuery = _companyContext.Workshops.Where(x => customizeCheckoutsQuery.Any(y => y.WorkshopId == x.id));
|
||||
|
||||
@@ -226,7 +226,8 @@ namespace CompanyManagment.EFCore.Repository
|
||||
//var year = pc.GetYear(monthStart);
|
||||
//var month = pc.GetMonth(monthStart);
|
||||
|
||||
IQueryable<CustomizeCheckoutTemp> customizeCheckoutsQuery = _companyContext.CustomizeCheckoutTemps.Where(x => customizeCheckoutIds.Contains(x.id));
|
||||
IQueryable<CustomizeCheckoutTemp> customizeCheckoutsQuery = _companyContext.CustomizeCheckoutTemps.AsSplitQuery()
|
||||
.Where(x => customizeCheckoutIds.Contains(x.id));
|
||||
|
||||
IQueryable<Workshop> workshopsQuery = _companyContext.Workshops.Where(x => customizeCheckoutsQuery.Any(y => y.WorkshopId == x.id));
|
||||
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Immutable;
|
||||
using System.Linq;
|
||||
using System.Security.Cryptography.X509Certificates;
|
||||
using System.Threading.Tasks;
|
||||
@@ -7,6 +9,7 @@ using _0_Framework.InfraStructure;
|
||||
using Company.Domain.LeftWorkAgg;
|
||||
using Company.Domain.LeftWorkTempAgg;
|
||||
using CompanyManagment.App.Contracts.LeftWorkTemp;
|
||||
using CompanyManagment.EFCore.Migrations;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.ChangeTracking.Internal;
|
||||
|
||||
@@ -36,19 +39,19 @@ public class LeftWorkTempRepository : RepositoryBase<long, LeftWorkTemp>, ILeftW
|
||||
}
|
||||
|
||||
var job = await _companyContext.Jobs.FindAsync(leftWorkTemp.JobId);
|
||||
|
||||
|
||||
|
||||
var previousLeftWorks = _companyContext.LeftWorkList
|
||||
.Where(x => leftWorkTemp.EmployeeId == x.EmployeeId && leftWorkTemp.WorkshopId == x.WorkshopId).ToList();
|
||||
|
||||
|
||||
|
||||
if (leftWorkTemp.LeftWorkType == LeftWorkTempType.LeftWork)
|
||||
{
|
||||
previousLeftWorks = previousLeftWorks.Where(x => x.id != leftWorkTemp.LeftWorkId).ToList();
|
||||
|
||||
|
||||
}
|
||||
if (leftWorkTemp.LeftWorkType == LeftWorkTempType.LeftWork)
|
||||
{
|
||||
previousLeftWorks = previousLeftWorks.Where(x => x.id != leftWorkTemp.LeftWorkId).ToList();
|
||||
|
||||
|
||||
}
|
||||
|
||||
var personnelCode =
|
||||
_companyContext.PersonnelCodeSet.FirstOrDefault(x =>
|
||||
@@ -79,4 +82,22 @@ public class LeftWorkTempRepository : RepositoryBase<long, LeftWorkTemp>, ILeftW
|
||||
}).ToList()
|
||||
};
|
||||
}
|
||||
|
||||
public List<LeftWorkTempViewModel> GetLeftWorksByWorkshopId(long workshopId)
|
||||
{
|
||||
var data = _companyContext.LeftWorkTemps.Where(x => x.WorkshopId == workshopId)
|
||||
.Select(x => new LeftWorkTempViewModel
|
||||
{
|
||||
LeftWorkId = x.LeftWorkId,
|
||||
WorkshopId = x.WorkshopId,
|
||||
EmployeeId = x.EmployeeId,
|
||||
JobId = x.JobId,
|
||||
LastDayStanding = x.LastDayStanding.ToFarsi(),
|
||||
LeftWork = x.LeftWork.ToFarsi(),
|
||||
LeftWorkType = x.LeftWorkType,
|
||||
StartWork = x.StartWork.ToFarsi()
|
||||
}).ToList();
|
||||
|
||||
return data;
|
||||
}
|
||||
}
|
||||
@@ -29,6 +29,7 @@ using CompanyManagment.App.Contracts.Reward;
|
||||
using CompanyManagment.App.Contracts.SalaryAid;
|
||||
using Company.Domain.RewardAgg;
|
||||
using CompanyManagment.App.Contracts.Reward.Enums;
|
||||
using static System.Runtime.InteropServices.JavaScript.JSType;
|
||||
|
||||
|
||||
namespace CompanyManagment.EFCore.Repository;
|
||||
@@ -68,7 +69,24 @@ CreateWorkingHoursTemp command, bool holidayWorking)
|
||||
int numberOfFridays = 0;
|
||||
#endregion
|
||||
|
||||
|
||||
int TotalContractDays = (int)(contractEnd - contractStart).TotalDays + 1;
|
||||
int fridays = 0;
|
||||
int holiday = _context.HolidayItems.Count(x => x.Holidaydate >= contractStart && x.Holidaydate <= contractEnd);
|
||||
;
|
||||
for (var gDate = contractStart; gDate <= contractEnd; gDate = gDate.AddDays(1))
|
||||
{
|
||||
if (gDate.DayOfWeek == DayOfWeek.Friday)
|
||||
{
|
||||
fridays += 1;
|
||||
}
|
||||
}
|
||||
int TotalDaysNoFriday = TotalContractDays - fridays;
|
||||
int mandatorDays = TotalContractDays - (fridays + holiday);
|
||||
//if (holidayWorking)
|
||||
// mandatorDays = TotalContractDays - fridays;
|
||||
//***********************************//
|
||||
//This Time Mandatory Hourse
|
||||
double mandatoryHours = Math.Round((mandatorDays * 7.33), 2);
|
||||
|
||||
//گرفتن ساعت استراحت پرسنل از تنظیمات
|
||||
#region breakTime
|
||||
@@ -127,50 +145,103 @@ CreateWorkingHoursTemp command, bool holidayWorking)
|
||||
IsAccepted = true,
|
||||
};
|
||||
var leaveSearchResult = _leaveRepository.search(leaveSearch);
|
||||
// {مقدار ساعت مجاز مرخصی در برای یک روز{کامل
|
||||
var leaveHoursesPerDay = 190.58 / 365;
|
||||
|
||||
// {مقدار ساعت مجاز مرخصی در مدت این فیش حقوقی{کامل
|
||||
var starndardHoursesPerTotalDays = leaveHoursesPerDay * TotalContractDays;
|
||||
// جدا کردن ساعت و دقیقه
|
||||
int hours = (int)starndardHoursesPerTotalDays;
|
||||
double minutesDecimal = (starndardHoursesPerTotalDays - hours) * 60;
|
||||
int minutes = (int)minutesDecimal;
|
||||
|
||||
|
||||
TimeSpan starndardHoursesPerTotalDaysSapn = new TimeSpan(hours, minutes, 0);
|
||||
if (leaveSearchResult.Count > 0)
|
||||
{
|
||||
//if (leaveSearchResult.Any(x => x.HasShiftDuration))
|
||||
//{
|
||||
// TimeSpan totalLeave = new TimeSpan(leaveSearchResult.Sum(x => x.ShiftDuration.Ticks));
|
||||
//}
|
||||
|
||||
int leavingDayCout = 0;
|
||||
//مرخصی های مابین
|
||||
List<LeaveViewModel> beatweenCheckout = leaveSearchResult.Where(x => x.StartLeaveGr >= contractStart && x.EndLeaveGr <= contractEnd).Select(x => new LeaveViewModel()
|
||||
if (leaveSearchResult.Any(x => x.HasShiftDuration))
|
||||
{
|
||||
DayCounter = Convert.ToInt32(x.LeaveHourses),
|
||||
|
||||
|
||||
|
||||
|
||||
var sumSpansDouble = (sumSpans.TotalMinutes) / 60;
|
||||
if (sumSpansDouble < mandatoryHours)
|
||||
{
|
||||
starndardHoursesPerTotalDays = (sumSpansDouble * starndardHoursesPerTotalDays) / mandatoryHours;
|
||||
// جدا کردن ساعت و دقیقه
|
||||
hours = (int)starndardHoursesPerTotalDays;
|
||||
minutesDecimal = (starndardHoursesPerTotalDays - hours) * 60;
|
||||
minutes = (int)minutesDecimal;
|
||||
|
||||
|
||||
starndardHoursesPerTotalDaysSapn = new TimeSpan(hours, minutes, 0);
|
||||
}
|
||||
|
||||
TimeSpan totalLeave = new TimeSpan(leaveSearchResult.Sum(x => x.ShiftDuration.Ticks));
|
||||
var totalLeaveDouble = (totalLeave.TotalMinutes) / 60;
|
||||
if(totalLeaveDouble > starndardHoursesPerTotalDays)
|
||||
{
|
||||
|
||||
sumSpans = sumSpans.Add(starndardHoursesPerTotalDaysSapn);
|
||||
}
|
||||
else
|
||||
{
|
||||
sumSpans = sumSpans.Add(totalLeave);
|
||||
}
|
||||
|
||||
}).ToList();
|
||||
leavingDayCout += beatweenCheckout.Sum(x => x.DayCounter);
|
||||
// مرخصی که شروعش قبل از شروع تصفیه حساب است
|
||||
List<LeaveViewModel> beforeCheckout = leaveSearchResult.Where(x => x.StartLeaveGr < contractStart).Select(x => new LeaveViewModel()
|
||||
{
|
||||
DayCounter = (int)(contractStart - x.EndLeaveGr).TotalDays + 1,
|
||||
|
||||
}).ToList();
|
||||
leavingDayCout += beforeCheckout.Sum(x => x.DayCounter);
|
||||
// مرخصی که پایانش بعد از پایان تصفیه حساب است
|
||||
List<LeaveViewModel> afterCheckout = leaveSearchResult.Where(x => x.EndLeaveGr > contractEnd).Select(x => new LeaveViewModel()
|
||||
{
|
||||
DayCounter = (int)(x.StartLeaveGr - contractEnd).TotalDays + 1,
|
||||
|
||||
}).ToList();
|
||||
leavingDayCout += afterCheckout.Sum(x => x.DayCounter);
|
||||
Console.WriteLine(leavingDayCout);
|
||||
|
||||
|
||||
TimeSpan workingPerDayAve = sumSpans / groupedRollCall.Count;//میانگین ساعت کار در روز
|
||||
TimeSpan sumLeave = new TimeSpan();
|
||||
if (workingPerDayAve <= new TimeSpan(7, 20, 0))
|
||||
{
|
||||
sumLeave = leavingDayCout * workingPerDayAve;
|
||||
}
|
||||
else
|
||||
{
|
||||
sumLeave = leavingDayCout * new TimeSpan(7, 20, 0);
|
||||
int leavingDayCout = 0;
|
||||
//مرخصی های مابین
|
||||
List<LeaveViewModel> beatweenCheckout = leaveSearchResult.Where(x => x.StartLeaveGr >= contractStart && x.EndLeaveGr <= contractEnd).Select(x => new LeaveViewModel()
|
||||
{
|
||||
DayCounter = Convert.ToInt32(x.LeaveHourses),
|
||||
|
||||
}).ToList();
|
||||
leavingDayCout += beatweenCheckout.Sum(x => x.DayCounter);
|
||||
// مرخصی که شروعش قبل از شروع تصفیه حساب است
|
||||
List<LeaveViewModel> beforeCheckout = leaveSearchResult.Where(x => x.StartLeaveGr < contractStart).Select(x => new LeaveViewModel()
|
||||
{
|
||||
DayCounter = (int)(contractStart - x.EndLeaveGr).TotalDays + 1,
|
||||
|
||||
}).ToList();
|
||||
leavingDayCout += beforeCheckout.Sum(x => x.DayCounter);
|
||||
// مرخصی که پایانش بعد از پایان تصفیه حساب است
|
||||
List<LeaveViewModel> afterCheckout = leaveSearchResult.Where(x => x.EndLeaveGr > contractEnd).Select(x => new LeaveViewModel()
|
||||
{
|
||||
DayCounter = (int)(x.StartLeaveGr - contractEnd).TotalDays + 1,
|
||||
|
||||
}).ToList();
|
||||
leavingDayCout += afterCheckout.Sum(x => x.DayCounter);
|
||||
Console.WriteLine(leavingDayCout);
|
||||
|
||||
|
||||
TimeSpan workingPerDayAve = sumSpans / groupedRollCall.Count;//میانگین ساعت کار در روز
|
||||
TimeSpan sumLeave = new TimeSpan();
|
||||
if (workingPerDayAve <= new TimeSpan(7, 20, 0))
|
||||
{
|
||||
sumLeave = leavingDayCout * workingPerDayAve;
|
||||
}
|
||||
else
|
||||
{
|
||||
sumLeave = leavingDayCout * new TimeSpan(7, 20, 0);
|
||||
}
|
||||
|
||||
if (sumLeave > starndardHoursesPerTotalDaysSapn)
|
||||
{
|
||||
sumSpans = sumSpans.Add(starndardHoursesPerTotalDaysSapn);
|
||||
}
|
||||
else
|
||||
{
|
||||
sumSpans = sumSpans.Add(sumLeave);
|
||||
}
|
||||
}
|
||||
|
||||
sumSpans = sumSpans.Add(sumLeave);
|
||||
|
||||
}
|
||||
|
||||
Console.WriteLine(sumSpans);
|
||||
@@ -186,24 +257,8 @@ CreateWorkingHoursTemp command, bool holidayWorking)
|
||||
//********** محاسبه مدت اضافه کاری ***********//
|
||||
#region ComputeMandatoryAtThisTime
|
||||
|
||||
int TotalContractDays = (int)(contractEnd - contractStart).TotalDays + 1;
|
||||
int fridays = 0;
|
||||
int holiday = _context.HolidayItems.Count(x => x.Holidaydate >= contractStart && x.Holidaydate <= contractEnd);
|
||||
;
|
||||
for (var gDate = contractStart; gDate <= contractEnd; gDate = gDate.AddDays(1))
|
||||
{
|
||||
if (gDate.DayOfWeek == DayOfWeek.Friday)
|
||||
{
|
||||
fridays += 1;
|
||||
}
|
||||
}
|
||||
int TotalDaysNoFriday = TotalContractDays - fridays;
|
||||
int mandatorDays = TotalContractDays - (fridays + holiday);
|
||||
//if (holidayWorking)
|
||||
// mandatorDays = TotalContractDays - fridays;
|
||||
//***********************************//
|
||||
//This Time Mandatory Hourse
|
||||
double mandatoryHours = Math.Round((mandatorDays * 7.33), 2);
|
||||
|
||||
|
||||
//***********************************//
|
||||
var dailyFix = TimeSpan.Parse("07:20");
|
||||
TimeSpan mandatoryHoursTimeSpan = new TimeSpan(7, 20, 0).Multiply(mandatorDays);
|
||||
@@ -790,7 +845,7 @@ CreateWorkingHoursTemp command, bool holidayWorking)
|
||||
if (shift.Start >= eveningStart // 22<---<14
|
||||
&& shift.End <= eveningEnd)
|
||||
{
|
||||
eveningWorkingTime = morningWorkingTime.Add(eveningEnd - eveningStart);
|
||||
eveningWorkingTime = eveningWorkingTime.Add(shift.End - shift.Start);
|
||||
}
|
||||
else if (shift.Start >= eveningStart && shift.Start < eveningEnd // 6<---22---14
|
||||
&& shift.End > nightStart && shift.End <= nightEndNextday)
|
||||
|
||||
@@ -2389,13 +2389,18 @@ public class YearlySalaryRepository : RepositoryBase<long, YearlySalary>, IYearl
|
||||
var end = new DateTime();
|
||||
start = item.StartLeave < startDate ? startDate : item.StartLeave;
|
||||
end = item.EndLeave > endDate ? endDate : item.EndLeave;
|
||||
if (item.PaidLeaveType == "روزانه")
|
||||
if (item.PaidLeaveType == "روزانه" && !item.HasShiftDuration)
|
||||
{
|
||||
|
||||
var leaveSpan = (end - start).TotalDays + 1;
|
||||
var usedLeave = leaveSpan * workingHoursePerDay;
|
||||
usedLeaves += usedLeave;
|
||||
}
|
||||
else if (item.PaidLeaveType == "روزانه" && item.HasShiftDuration)
|
||||
{
|
||||
var usedLeave = (item.ShiftDuration.TotalMinutes) / 60;
|
||||
usedLeaves += usedLeave;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -2474,13 +2479,18 @@ public class YearlySalaryRepository : RepositoryBase<long, YearlySalary>, IYearl
|
||||
var end = new DateTime();
|
||||
start = item.StartLeave < startDate ? startDate : item.StartLeave;
|
||||
end = item.EndLeave > endDate ? endDate : item.EndLeave;
|
||||
if (item.PaidLeaveType == "روزانه")
|
||||
if (item.PaidLeaveType == "روزانه" && !item.HasShiftDuration)
|
||||
{
|
||||
|
||||
var leaveSpan = (end - start).TotalDays + 1;
|
||||
var usedLeave = leaveSpan * workingHoursePerDay;
|
||||
usedLeaves += usedLeave;
|
||||
}
|
||||
else if (item.PaidLeaveType == "روزانه" && item.HasShiftDuration)
|
||||
{
|
||||
var usedLeave = (item.ShiftDuration.TotalMinutes) / 60;
|
||||
usedLeaves += usedLeave;
|
||||
}
|
||||
else
|
||||
{
|
||||
var leavingHourses = TimeSpan.Parse(item.LeaveHourses);
|
||||
@@ -2521,13 +2531,18 @@ public class YearlySalaryRepository : RepositoryBase<long, YearlySalary>, IYearl
|
||||
var end = new DateTime();
|
||||
start = item.StartLeave < startSerach ? startSerach : item.StartLeave;
|
||||
end = item.EndLeave > leftWorkDate ? leftWorkDate : item.EndLeave;
|
||||
if (item.PaidLeaveType == "روزانه")
|
||||
if (item.PaidLeaveType == "روزانه" && !item.HasShiftDuration)
|
||||
{
|
||||
|
||||
var leaveSpan = (end - start).TotalDays + 1;
|
||||
var usedLeave = leaveSpan * workingHoursePerDay;
|
||||
usedLeaves += usedLeave;
|
||||
}
|
||||
else if (item.PaidLeaveType == "روزانه" && item.HasShiftDuration)
|
||||
{
|
||||
var usedLeave = (item.ShiftDuration.TotalMinutes) / 60;
|
||||
usedLeaves += usedLeave;
|
||||
}
|
||||
else
|
||||
{
|
||||
var leavingHourses = TimeSpan.Parse(item.LeaveHourses);
|
||||
@@ -2865,17 +2880,23 @@ public class YearlySalaryRepository : RepositoryBase<long, YearlySalary>, IYearl
|
||||
{
|
||||
foreach (var item in leaveList)
|
||||
{
|
||||
|
||||
var start = new DateTime();
|
||||
var end = new DateTime();
|
||||
start = item.StartLeave < startDate ? startDate : item.StartLeave;
|
||||
end = item.EndLeave > endDate ? endDate : item.EndLeave;
|
||||
if (item.PaidLeaveType == "روزانه")
|
||||
if (item.PaidLeaveType == "روزانه" && !item.HasShiftDuration)
|
||||
{
|
||||
|
||||
var leaveSpan = (end - start).TotalDays + 1;
|
||||
var usedLeave = leaveSpan * workingHoursePerDay;
|
||||
usedLeaves += usedLeave;
|
||||
}
|
||||
else if (item.PaidLeaveType == "روزانه" && item.HasShiftDuration)
|
||||
{
|
||||
var usedLeave = (item.ShiftDuration.TotalMinutes) / 60;
|
||||
usedLeaves += usedLeave;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -2944,13 +2965,18 @@ public class YearlySalaryRepository : RepositoryBase<long, YearlySalary>, IYearl
|
||||
var end = new DateTime();
|
||||
start = item.StartLeave < startAfter365 ? startAfter365 : item.StartLeave;
|
||||
end = item.EndLeave > leftWorkDate ? leftWorkDate : item.EndLeave;
|
||||
if (item.PaidLeaveType == "روزانه")
|
||||
if (item.PaidLeaveType == "روزانه" && !item.HasShiftDuration)
|
||||
{
|
||||
|
||||
var leaveSpan = (end - start).TotalDays + 1;
|
||||
var usedLeave = leaveSpan * workingHoursePerDay;
|
||||
usedLeaves += usedLeave;
|
||||
}
|
||||
else if (item.PaidLeaveType == "روزانه" && item.HasShiftDuration)
|
||||
{
|
||||
var usedLeave = (item.ShiftDuration.TotalMinutes) / 60;
|
||||
usedLeaves += usedLeave;
|
||||
}
|
||||
else
|
||||
{
|
||||
var leavingHourses = TimeSpan.Parse(item.LeaveHourses);
|
||||
@@ -3009,13 +3035,18 @@ public class YearlySalaryRepository : RepositoryBase<long, YearlySalary>, IYearl
|
||||
var end = new DateTime();
|
||||
start = item.StartLeave < contract.ContarctStart ? contract.ContarctStart : item.StartLeave;
|
||||
end = item.EndLeave > leftWorkDate ? leftWorkDate : item.EndLeave;
|
||||
if (item.PaidLeaveType == "روزانه")
|
||||
if (item.PaidLeaveType == "روزانه" && !item.HasShiftDuration)
|
||||
{
|
||||
|
||||
var leaveSpan = (end - start).TotalDays + 1;
|
||||
var usedLeave = leaveSpan * workingHoursePerDay;
|
||||
usedLeaves += usedLeave;
|
||||
}
|
||||
else if (item.PaidLeaveType == "روزانه" && item.HasShiftDuration)
|
||||
{
|
||||
var usedLeave = (item.ShiftDuration.TotalMinutes) / 60;
|
||||
usedLeaves += usedLeave;
|
||||
}
|
||||
else
|
||||
{
|
||||
var leavingHourses = TimeSpan.Parse(item.LeaveHourses);
|
||||
@@ -3052,17 +3083,23 @@ public class YearlySalaryRepository : RepositoryBase<long, YearlySalary>, IYearl
|
||||
{
|
||||
foreach (var item in leaveList)
|
||||
{
|
||||
|
||||
var start = new DateTime();
|
||||
var end = new DateTime();
|
||||
start = item.StartLeave < startSerach ? startSerach : item.StartLeave;
|
||||
end = item.EndLeave > leftWorkDate ? leftWorkDate : item.EndLeave;
|
||||
if (item.PaidLeaveType == "روزانه")
|
||||
if (item.PaidLeaveType == "روزانه" && !item.HasShiftDuration)
|
||||
{
|
||||
|
||||
var leaveSpan = (end - start).TotalDays + 1;
|
||||
var usedLeave = leaveSpan * workingHoursePerDay;
|
||||
usedLeaves += usedLeave;
|
||||
}
|
||||
else if (item.PaidLeaveType == "روزانه" && item.HasShiftDuration)
|
||||
{
|
||||
var usedLeave = (item.ShiftDuration.TotalMinutes) / 60;
|
||||
usedLeaves += usedLeave;
|
||||
}
|
||||
else
|
||||
{
|
||||
var leavingHourses = TimeSpan.Parse(item.LeaveHourses);
|
||||
@@ -3198,12 +3235,18 @@ public class YearlySalaryRepository : RepositoryBase<long, YearlySalary>, IYearl
|
||||
var end = new DateTime();
|
||||
start = item.StartLeave < startDate ? startDate : item.StartLeave;
|
||||
end = item.EndLeave > endDate ? endDate : item.EndLeave;
|
||||
if (item.PaidLeaveType == "روزانه")
|
||||
|
||||
if (item.PaidLeaveType == "روزانه" && !item.HasShiftDuration)
|
||||
{
|
||||
var leaveSpan = (end - start).TotalDays + 1;
|
||||
var usedLeave = leaveSpan * hoursePerDay;
|
||||
usedLeavesChekout += usedLeave;
|
||||
}
|
||||
else if (item.PaidLeaveType == "روزانه" && item.HasShiftDuration)
|
||||
{
|
||||
var usedLeave = (item.ShiftDuration.TotalMinutes) / 60;
|
||||
usedLeavesChekout += usedLeave;
|
||||
}
|
||||
else
|
||||
{
|
||||
var leavingHourses = TimeSpan.Parse(item.LeaveHourses);
|
||||
|
||||
@@ -712,6 +712,36 @@
|
||||
</label>
|
||||
|
||||
<label class="btn btn-inverse waves-effect waves-light m-b-5 parent"> <input type="checkbox" value="800" class="check-btn"> <span style="bottom: 2px;position: relative"> بیمه </span> </label>
|
||||
@*صفحه اصلی*@
|
||||
<div class="child-check level2">
|
||||
<label class="btn btn-icon waves-effect btn-default m-b-5 open-close">
|
||||
<i class="ion-plus"></i> <i class="ion-minus" style="display: none;"></i><input type="checkbox" style="display: none" class="open-btn" />
|
||||
</label>
|
||||
<label class="btn btn-inverse waves-effect waves-light m-b-5 parentLevel2"> <input type="checkbox" disabled="disabled" value="802" class="check-btn"> <span style="bottom: 2px;position: relative"> صفحه اصلی </span> </label>
|
||||
|
||||
<div class="child-check level3">
|
||||
<label class="btn btn-inverse waves-effect waves-light m-b-5 children "><input type="checkbox" disabled="disabled" value="80210" class="check-btn"> <span style="bottom: 2px;position: relative"> ایجاد </span> </label>
|
||||
</div>
|
||||
<div class="child-check level3">
|
||||
<label class="btn btn-inverse waves-effect waves-light m-b-5 children "><input type="checkbox" disabled="disabled" value="80211" class="check-btn"> <span style="bottom: 2px;position: relative"> حذف </span> </label>
|
||||
</div>
|
||||
<div class="child-check level3">
|
||||
<label class="btn btn-inverse waves-effect waves-light m-b-5 children"><input type="checkbox" disabled="disabled" value="80212" class="check-btn"> <span style="bottom: 2px;position: relative"> تایید ارسال </span> </label>
|
||||
</div>
|
||||
<div class="child-check level3">
|
||||
<label class="btn btn-inverse waves-effect waves-light m-b-5 children"><input type="checkbox" disabled="disabled" value="80213" class="check-btn"> <span style="bottom: 2px;position: relative"> ویرایش </span> </label>
|
||||
</div>
|
||||
<div class="child-check level3">
|
||||
<label class="btn btn-inverse waves-effect waves-light m-b-5 children "><input type="checkbox" disabled="disabled" value="80214" class="check-btn"> <span style="bottom: 2px;position: relative"> پرینت </span> </label>
|
||||
</div>
|
||||
<div class="child-check level3">
|
||||
<label class="btn btn-inverse waves-effect waves-light m-b-5 children"><input type="checkbox" disabled="disabled" value="80215" class="check-btn"> <span style="bottom: 2px;position: relative"> پرینت تایید کارفرما </span> </label>
|
||||
</div>
|
||||
<div class="child-check level3">
|
||||
<label class="btn btn-inverse waves-effect waves-light m-b-5 children"><input type="checkbox" disabled="disabled" value="80216" class="check-btn"> <span style="bottom: 2px;position: relative"> دانلود فایل بیمه </span> </label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@*لیست مشاغل مقطوع*@
|
||||
<div class="child-check level2">
|
||||
<label class="btn btn-icon waves-effect btn-default m-b-5 open-close">
|
||||
|
||||
@@ -709,23 +709,53 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@* بیمه *@
|
||||
<div class="parent-check">
|
||||
<label class="btn btn-icon waves-effect btn-default m-b-5 open-close">
|
||||
<i class="ion-plus"></i> <i class="ion-minus" style="display: none;"></i><input type="checkbox" style="display: none" class="open-btn"/>
|
||||
</label>
|
||||
@* بیمه *@
|
||||
<div class="parent-check">
|
||||
<label class="btn btn-icon waves-effect btn-default m-b-5 open-close">
|
||||
<i class="ion-plus"></i> <i class="ion-minus" style="display: none;"></i><input type="checkbox" style="display: none" class="open-btn" />
|
||||
</label>
|
||||
|
||||
<label class="btn btn-inverse waves-effect waves-light m-b-5 parent"> <input type="checkbox" value="800" class="check-btn"> <span style="bottom: 2px;position: relative"> بیمه </span> </label>
|
||||
@*لیست مشاغل مقطوع*@
|
||||
<div class="child-check level2">
|
||||
<label class="btn btn-icon waves-effect btn-default m-b-5 open-close">
|
||||
<i class="ion-plus"></i> <i class="ion-minus" style="display: none;"></i><input type="checkbox" style="display: none" class="open-btn"/>
|
||||
</label>
|
||||
<label class="btn btn-inverse waves-effect waves-light m-b-5 parentLevel2"> <input type="checkbox" disabled="disabled" value="801" class="check-btn"> <span style="bottom: 2px;position: relative"> لیست مشاغل مقطوع </span> </label>
|
||||
<label class="btn btn-inverse waves-effect waves-light m-b-5 parent"> <input type="checkbox" value="800" class="check-btn"> <span style="bottom: 2px;position: relative"> بیمه </span> </label>
|
||||
@*صفحه اصلی*@
|
||||
<div class="child-check level2">
|
||||
<label class="btn btn-icon waves-effect btn-default m-b-5 open-close">
|
||||
<i class="ion-plus"></i> <i class="ion-minus" style="display: none;"></i><input type="checkbox" style="display: none" class="open-btn" />
|
||||
</label>
|
||||
<label class="btn btn-inverse waves-effect waves-light m-b-5 parentLevel2"> <input type="checkbox" disabled="disabled" value="802" class="check-btn"> <span style="bottom: 2px;position: relative"> صفحه اصلی </span> </label>
|
||||
|
||||
</div>
|
||||
<div class="child-check level3">
|
||||
<label class="btn btn-inverse waves-effect waves-light m-b-5 children "><input type="checkbox" disabled="disabled" value="80210" class="check-btn"> <span style="bottom: 2px;position: relative"> ایجاد </span> </label>
|
||||
</div>
|
||||
<div class="child-check level3">
|
||||
<label class="btn btn-inverse waves-effect waves-light m-b-5 children "><input type="checkbox" disabled="disabled" value="80211" class="check-btn"> <span style="bottom: 2px;position: relative"> حذف </span> </label>
|
||||
</div>
|
||||
<div class="child-check level3">
|
||||
<label class="btn btn-inverse waves-effect waves-light m-b-5 children"><input type="checkbox" disabled="disabled" value="80212" class="check-btn"> <span style="bottom: 2px;position: relative"> تایید ارسال </span> </label>
|
||||
</div>
|
||||
<div class="child-check level3">
|
||||
<label class="btn btn-inverse waves-effect waves-light m-b-5 children"><input type="checkbox" disabled="disabled" value="80213" class="check-btn"> <span style="bottom: 2px;position: relative"> ویرایش </span> </label>
|
||||
</div>
|
||||
<div class="child-check level3">
|
||||
<label class="btn btn-inverse waves-effect waves-light m-b-5 children "><input type="checkbox" disabled="disabled" value="80214" class="check-btn"> <span style="bottom: 2px;position: relative"> پرینت </span> </label>
|
||||
</div>
|
||||
<div class="child-check level3">
|
||||
<label class="btn btn-inverse waves-effect waves-light m-b-5 children"><input type="checkbox" disabled="disabled" value="80215" class="check-btn"> <span style="bottom: 2px;position: relative"> پرینت تایید کارفرما </span> </label>
|
||||
</div>
|
||||
<div class="child-check level3">
|
||||
<label class="btn btn-inverse waves-effect waves-light m-b-5 children"><input type="checkbox" disabled="disabled" value="80216" class="check-btn"> <span style="bottom: 2px;position: relative"> دانلود فایل بیمه </span> </label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
@*لیست مشاغل مقطوع*@
|
||||
<div class="child-check level2">
|
||||
<label class="btn btn-icon waves-effect btn-default m-b-5 open-close">
|
||||
<i class="ion-plus"></i> <i class="ion-minus" style="display: none;"></i><input type="checkbox" style="display: none" class="open-btn" />
|
||||
</label>
|
||||
<label class="btn btn-inverse waves-effect waves-light m-b-5 parentLevel2"> <input type="checkbox" disabled="disabled" value="801" class="check-btn"> <span style="bottom: 2px;position: relative"> لیست مشاغل مقطوع </span> </label>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
@* کارپوشه *@
|
||||
<div class="parent-check">
|
||||
|
||||
@@ -7123,6 +7123,36 @@ public class IndexModel : PageModel
|
||||
familyAllowance = familyAllowanceStep4.ToMoney();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
var HousingAllowonceNumberType = HousingAllowance.MoneyToDouble();
|
||||
var ConsumableItemsNumberType = ConsumableItems.MoneyToDouble();
|
||||
var familyAllowanceNumberType = familyAllowance.MoneyToDouble();
|
||||
|
||||
var HousingStep1 = HousingAllowonceNumberType / 30;
|
||||
var HousingStep4 = HousingStep1 * AllDaysCountWithOutSickLive;
|
||||
HousingAllowance = HousingStep4.ToMoney();
|
||||
|
||||
|
||||
var consumableItemsStep1 = ConsumableItemsNumberType / 30;
|
||||
var consumableItemsStep4 = consumableItemsStep1 * AllDaysCountWithOutSickLive;
|
||||
ConsumableItems = consumableItemsStep4.ToMoney();
|
||||
|
||||
//حق تاهل
|
||||
if (MarriedAllowance > 0)
|
||||
{
|
||||
var MarriedStep1 = MarriedAllowance / 30;
|
||||
var MarriedStep4 = MarriedStep1 * AllDaysCountWithOutSickLive;
|
||||
MarriedAllowanceStr = MarriedStep4.ToMoney();
|
||||
}
|
||||
|
||||
if (familyAllowance != "0")
|
||||
{
|
||||
var familyAllowanceStep1 = familyAllowanceNumberType / 30;
|
||||
var familyAllowanceStep4 = familyAllowanceStep1 * AllDaysCount;
|
||||
familyAllowance = familyAllowanceStep4.ToMoney();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using _0_Framework.Application;
|
||||
using System.Transactions;
|
||||
using _0_Framework.Application;
|
||||
using CompanyManagement.Infrastructure.Excel.CaseManagement;
|
||||
using CompanyManagment.App.Contracts.Board;
|
||||
using CompanyManagment.App.Contracts.Contact2;
|
||||
@@ -183,63 +184,58 @@ public class IndexModel : PageModel
|
||||
|
||||
public IActionResult OnPostEditFile(EditFile command)
|
||||
{
|
||||
var result = _fileApplication.Edit(command);
|
||||
using var transaction = new TransactionScope();
|
||||
var fileResult = _fileApplication.Edit(command);
|
||||
|
||||
if (!result.IsSuccedded)
|
||||
return new JsonResult(result);
|
||||
if (!fileResult.IsSuccedded)
|
||||
return new JsonResult(fileResult);
|
||||
|
||||
if (
|
||||
command.createDiagnosisBoard.BoardChairman != null
|
||||
|| command.createDiagnosisBoard.Branch != null
|
||||
|| command.createDiagnosisBoard.DisputeResolutionPetitionDate != null
|
||||
|| command.createDiagnosisBoard.ExpertReport != null
|
||||
)
|
||||
{
|
||||
if (command.createDiagnosisBoard.Id == 0)
|
||||
result = _boardApplication.Create(command.createDiagnosisBoard);
|
||||
else
|
||||
result = _boardApplication.Edit(command.createDiagnosisBoard);
|
||||
OperationResult diagnosisBoardResult;
|
||||
if (command.createDiagnosisBoard.Id == 0)
|
||||
diagnosisBoardResult = _boardApplication.Create(command.createDiagnosisBoard);
|
||||
else
|
||||
diagnosisBoardResult = _boardApplication.Edit(command.createDiagnosisBoard);
|
||||
|
||||
if (!result.IsSuccedded)
|
||||
return new JsonResult(result);
|
||||
if (!diagnosisBoardResult.IsSuccedded)
|
||||
return new JsonResult(diagnosisBoardResult);
|
||||
|
||||
if (command.createDiagnosisPS != null)
|
||||
result = _proceedingSessionApplication.CreateProceedingSessions(
|
||||
command.createDiagnosisPS,
|
||||
result.SendId
|
||||
);
|
||||
if (command.createDiagnosisPS is { Count: > 0 })
|
||||
{
|
||||
OperationResult diagnosisPs = _proceedingSessionApplication.CreateProceedingSessions(
|
||||
command.createDiagnosisPS,
|
||||
diagnosisBoardResult.SendId
|
||||
);
|
||||
|
||||
if (!result.IsSuccedded)
|
||||
return new JsonResult(result);
|
||||
}
|
||||
if (!diagnosisPs.IsSuccedded)
|
||||
return new JsonResult(diagnosisPs);
|
||||
}
|
||||
|
||||
if (
|
||||
command.createDisputeResolutionBoard.BoardChairman != null
|
||||
|| command.createDisputeResolutionBoard.Branch != null
|
||||
|| command.createDisputeResolutionBoard.DisputeResolutionPetitionDate != null
|
||||
|| command.createDisputeResolutionBoard.ExpertReport != null
|
||||
)
|
||||
{
|
||||
if (command.createDisputeResolutionBoard.Id == 0)
|
||||
result = _boardApplication.Create(command.createDisputeResolutionBoard);
|
||||
else
|
||||
result = _boardApplication.Edit(command.createDisputeResolutionBoard);
|
||||
OperationResult disputeBoardResult;
|
||||
if (command.createDisputeResolutionBoard.Id == 0)
|
||||
disputeBoardResult = _boardApplication.Create(command.createDisputeResolutionBoard);
|
||||
else
|
||||
disputeBoardResult = _boardApplication.Edit(command.createDisputeResolutionBoard);
|
||||
|
||||
if (!result.IsSuccedded)
|
||||
return new JsonResult(result);
|
||||
if (!disputeBoardResult.IsSuccedded)
|
||||
return new JsonResult(disputeBoardResult);
|
||||
|
||||
if (command.createDisputeResolutionPS != null)
|
||||
result = _proceedingSessionApplication.CreateProceedingSessions(
|
||||
command.createDisputeResolutionPS,
|
||||
result.SendId
|
||||
);
|
||||
|
||||
if (!result.IsSuccedded)
|
||||
return new JsonResult(result);
|
||||
}
|
||||
|
||||
return new JsonResult(result);
|
||||
}
|
||||
if (command.createDisputeResolutionPS is { Count: > 0 })
|
||||
{
|
||||
OperationResult disputePs = _proceedingSessionApplication.CreateProceedingSessions(
|
||||
command.createDisputeResolutionPS,
|
||||
disputeBoardResult.SendId
|
||||
);
|
||||
|
||||
if (!disputePs.IsSuccedded)
|
||||
return new JsonResult(disputePs);
|
||||
}
|
||||
|
||||
transaction.Complete();
|
||||
|
||||
return new JsonResult(disputeBoardResult);
|
||||
}
|
||||
|
||||
public IActionResult OnGetCreateOrEditPetition(long fileId, int boardTypeId)
|
||||
{
|
||||
|
||||
@@ -32,11 +32,11 @@ public class SessionsModel : PageModel
|
||||
|
||||
public void OnGet(ProceedingSessionSearchModel searchModel)
|
||||
{
|
||||
_proceedingSessionApplication.UpdatePastProceedingSessions();
|
||||
_proceedingSessionApplication.UpdatePastProceedingSessions();
|
||||
|
||||
viewModels = _proceedingSessionApplication.FilterSessions(searchModel);
|
||||
|
||||
var files = _fileApplication.Search(new FileSearchModel());
|
||||
var files = _fileApplication.Search(new FileSearchModel(){Status = 0});
|
||||
var ArchiveNo_FileClass_UserIdList = files.Select(x => new ArchiveNo_FileClass_UserIdList
|
||||
{
|
||||
ArchiveNo = x.ArchiveNo.ToString(), FileClass = x.FileClass,
|
||||
|
||||
@@ -91,7 +91,7 @@
|
||||
</div>
|
||||
<p class="">
|
||||
@* pull-right *@
|
||||
<a id="btnPopModal" href="#showmodal=@Url.Page("/Company/InsuranceList/Index", "Create")" class="btn btn-success btn-rounded waves-effect waves-light m-b-5 " style=" background-color: #f5f5f5; border-color: #0f9500; font-family: 'Web_Yekan' !important; color: #0f9500 !important; margin-right: 10px "> <i class="fa fa-user-plus" style="padding-left: 3px; font-size: 14px; color: #0f9500 !important "></i> ایجاد لیست بیمه </a>
|
||||
<a permission="80210" id="btnPopModal" href="#showmodal=@Url.Page("/Company/InsuranceList/Index", "Create")" class="btn btn-success btn-rounded waves-effect waves-light m-b-5 " style=" background-color: #f5f5f5; border-color: #0f9500; font-family: 'Web_Yekan' !important; color: #0f9500 !important; margin-right: 10px "> <i class="fa fa-user-plus" style="padding-left: 3px; font-size: 14px; color: #0f9500 !important "></i> ایجاد لیست بیمه </a>
|
||||
</p>
|
||||
</div>
|
||||
<div class="col-sm-12">
|
||||
|
||||
@@ -78,13 +78,13 @@
|
||||
|
||||
@if ((currentAccout.RoleId == 1 && item.ConfirmSentlist) || !item.ConfirmSentlist)
|
||||
{
|
||||
<a class="@(item.IsBlockCantracingParty == "true" ? "disabled" : "") btn btn-danger ionRad pull-left op-btn rad" onclick="removeInsuranceList(@item.Id, '@pathDSKKAR00.Replace("\\", "-")', '@pathDSKWOR00.Replace("\\", "-")')">
|
||||
<a permission="80211" class="@(item.IsBlockCantracingParty == "true" ? "disabled" : "") btn btn-danger ionRad pull-left op-btn rad" onclick="removeInsuranceList(@item.Id, '@pathDSKKAR00.Replace("\\", "-")', '@pathDSKWOR00.Replace("\\", "-")')">
|
||||
<i class="fa fa-trash faSize"></i>
|
||||
</a>
|
||||
<a class="@(item.IsBlockCantracingParty == "true" ? "disabled" : "") btn btn-info ionRad pull-left op-btn rad" onclick="confirmInsuranceList(@item.Id)">
|
||||
<a permission="80212" class="@(item.IsBlockCantracingParty == "true" ? "disabled" : "") btn btn-info ionRad pull-left op-btn rad" onclick="confirmInsuranceList(@item.Id)">
|
||||
<i class="fa fa-send faSize"></i>
|
||||
</a>
|
||||
<a class="@(item.IsBlockCantracingParty == "true" ? "disabled" : "") btn btn-warning pull-left op-btn rad"
|
||||
<a permission="80213" class="@(item.IsBlockCantracingParty == "true" ? "disabled" : "") btn btn-warning pull-left op-btn rad"
|
||||
href="#showmodal=@Url.Page("./Index", "Edit", new { item.Id })">
|
||||
<i class="fa fa-edit faSize"></i>
|
||||
</a>
|
||||
@@ -93,10 +93,10 @@
|
||||
href="#">
|
||||
<i class="fa fa-edit faSize"></i>
|
||||
</a>*@
|
||||
<a class="btn btn-info pull-left op-btn rad printModal" style="background-color: #1088be;" href="#showmodal=@Url.Page("./Index", "InsuranceSummary", new { item.Id })">
|
||||
<a permission="80214" class="btn btn-info pull-left op-btn rad printModal" style="background-color: #1088be;" href="#showmodal=@Url.Page("./Index", "InsuranceSummary", new { item.Id })">
|
||||
<i class="fa fa-file-text-o faSize"></i>
|
||||
</a>
|
||||
<a class="btn btn-info pull-left op-btn rad printModal" href="#showmodal=@Url.Page("./Index", "InsuranceConfirm", new { item.Id })">
|
||||
<a permission="80215" class="btn btn-info pull-left op-btn rad printModal" href="#showmodal=@Url.Page("./Index", "InsuranceConfirm", new { item.Id })">
|
||||
<i class="fa fa-print faSize"></i>
|
||||
</a>
|
||||
@* <a class="btn btn-info pull-left op-btn rad printModal" href="#showmodal=@Url.Page("./Index", "InspectionReport", new { Id = item.Id })">
|
||||
@@ -106,10 +106,10 @@
|
||||
|
||||
|
||||
@* <a href="@Url.Page("/Company/InsuranceList/Index", "DownloadFile",new {path=path_,fileName="DSKKAR00.dbf"})">Download DBF File</a>*@
|
||||
<a class="@(item.IsBlockCantracingParty == "true" ? "disabled" : "") btn btn-inverse pull-left op-btn rad download-link" download title="DSKWOR00" href="@Url.Page("/Company/InsuranceList/Index", "DownloadFile", new { path = pathDSKWOR00, fileName = "DSKWOR00.dbf" })">
|
||||
<a permission="80216" class="@(item.IsBlockCantracingParty == "true" ? "disabled" : "") btn btn-inverse pull-left op-btn rad download-link" download title="DSKWOR00" href="@Url.Page("/Company/InsuranceList/Index", "DownloadFile", new { path = pathDSKWOR00, fileName = "DSKWOR00.dbf" })">
|
||||
<i class="fa fa-download faSize"></i>
|
||||
</a>
|
||||
<a class="@(item.IsBlockCantracingParty == "true" ? "disabled" : "") btn btn-info pull-left op-btn rad download-link" download title="DSKKAR00" href="@Url.Page("/Company/InsuranceList/Index", "DownloadFile", new { path = pathDSKKAR00, fileName = "DSKKAR00.dbf" })">
|
||||
<a permission="80216" class="@(item.IsBlockCantracingParty == "true" ? "disabled" : "") btn btn-info pull-left op-btn rad download-link" download title="DSKKAR00" href="@Url.Page("/Company/InsuranceList/Index", "DownloadFile", new { path = pathDSKKAR00, fileName = "DSKKAR00.dbf" })">
|
||||
<i class="fa fa-download faSize"></i>
|
||||
</a>
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
@page
|
||||
|
||||
@page
|
||||
@using _0_Framework.Application
|
||||
@using AccountManagement.Application.Contracts.TicketAccessAccount
|
||||
@using Microsoft.AspNetCore.Mvc.TagHelpers
|
||||
@@ -11,8 +12,193 @@
|
||||
// <link href="~/admintheme/css/reports.css?ver=new" rel="stylesheet" />
|
||||
// <link href="~/admintheme/css/slick.css" rel="stylesheet" />
|
||||
string adminVersion = _0_Framework.Application.Version.AdminVersion;
|
||||
<link href="~/assetsadmin/page/index/css/index.css?ver=@adminVersion" rel="stylesheet" />
|
||||
|
||||
|
||||
|
||||
|
||||
<style>
|
||||
|
||||
|
||||
|
||||
|
||||
.gwb-card {
|
||||
user-select: none;
|
||||
position: relative;
|
||||
background: #FFFFFF;
|
||||
|
||||
margin: 0 0 7px 0;
|
||||
border-radius: 10px;
|
||||
transition: all ease-in .3s;
|
||||
}
|
||||
|
||||
.gwb-card::before {
|
||||
content: "";
|
||||
width: 100%;
|
||||
height: 20px;
|
||||
position: absolute;
|
||||
right: 0;
|
||||
bottom: -6px;
|
||||
|
||||
border-radius: 0 0 10px 10px;
|
||||
|
||||
}
|
||||
.gwb-card-blue {
|
||||
|
||||
border: 0.5px solid #29B5B5;
|
||||
|
||||
}
|
||||
.gwb-card-blue::before {
|
||||
|
||||
background: #26AFAF;
|
||||
|
||||
border: 0.5px solid #29B5B5;
|
||||
}
|
||||
.gwb-card-red {
|
||||
user-select: none;
|
||||
position: relative;
|
||||
background: #FFFFFF;
|
||||
border: 0.5px solid #ed412e;
|
||||
margin: 0 0 7px 0;
|
||||
border-radius: 10px;
|
||||
transition: all ease-in .3s;
|
||||
}
|
||||
.gwb-card-red::before {
|
||||
content: "";
|
||||
width: 100%;
|
||||
height: 20px;
|
||||
position: absolute;
|
||||
right: 0;
|
||||
bottom: -6px;
|
||||
background: #ed412e;
|
||||
border-radius: 0 0 10px 10px;
|
||||
border: 0.5px solid #ed412e;
|
||||
}
|
||||
.gwb-card-flex {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
gap: 9px;
|
||||
}
|
||||
|
||||
.gwb-card .click {
|
||||
color: #000;
|
||||
height: 74px;
|
||||
cursor: pointer;
|
||||
z-index: 4;
|
||||
position: relative;
|
||||
background: #fff;
|
||||
border-radius: 10px;
|
||||
padding: 5px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
transition: all .3s ease;
|
||||
}
|
||||
|
||||
.gwb-card .click:hover {
|
||||
background: #eef9f9;
|
||||
}
|
||||
|
||||
.gwb-card .click.active {
|
||||
background: #eef9f9;
|
||||
}
|
||||
.card-title {
|
||||
font-size: 14px;
|
||||
font-weight: 700;
|
||||
margin-bottom: 0;
|
||||
color: #6D6D6D;
|
||||
white-space: nowrap;
|
||||
}
|
||||
.card-description {
|
||||
font-size: 10px;
|
||||
color: #6D6D6D;
|
||||
}
|
||||
|
||||
.card-amount {
|
||||
font-size: 18px;
|
||||
font-weight: 900;
|
||||
margin-bottom: 0;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.card-amount-success {
|
||||
color: #00831C;
|
||||
}
|
||||
|
||||
.card-amount-warn {
|
||||
color: #ED412E;
|
||||
}
|
||||
|
||||
.gwb-container {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(6, minmax(0, 1fr));
|
||||
gap: 10px;
|
||||
margin: 9px 0 0 0;
|
||||
}
|
||||
.remain-number {
|
||||
font-size: 10px;
|
||||
|
||||
}
|
||||
|
||||
.btnSms {
|
||||
padding: 5px 10px;
|
||||
background-color: #0ba3a3;
|
||||
color: white;
|
||||
border: none;
|
||||
outline: none;
|
||||
border-radius: 4px;
|
||||
font-size: 14px;
|
||||
white-space: nowrap;
|
||||
transition: all ease-in-out .3s
|
||||
}
|
||||
|
||||
.btnSms:hover {
|
||||
background-color: #1d8585;
|
||||
}
|
||||
|
||||
.btn-sms-red {
|
||||
background-color: #ed412e;
|
||||
}
|
||||
|
||||
.btn-sms-green {
|
||||
background-color: #0ba3a3;
|
||||
}
|
||||
|
||||
@@media only screen and (max-width : 1550px) {
|
||||
.gwb-container {
|
||||
grid-template-columns: repeat(4, minmax(0, 1fr));
|
||||
}
|
||||
}
|
||||
|
||||
@@media (max-width: 1366px) {
|
||||
.gwb-container {
|
||||
|
||||
grid-template-columns: repeat(3, minmax(0, 1fr));
|
||||
}
|
||||
}
|
||||
|
||||
@@media only screen and (max-width : 992px) {
|
||||
.gwb-container {
|
||||
grid-template-columns: repeat(3, minmax(0, 1fr));
|
||||
}
|
||||
}
|
||||
|
||||
@@media (max-width: 768px) {
|
||||
.gwb-container {
|
||||
|
||||
grid-template-columns: repeat(1, minmax(0, 1fr));
|
||||
}
|
||||
|
||||
.remain-number {
|
||||
font-size: 12px;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
|
||||
|
||||
<link href="~/assetsadmin/page/index/css/index.css?ver=@adminVersion" rel="stylesheet" />
|
||||
}
|
||||
|
||||
<div class="row time">
|
||||
@@ -52,49 +238,84 @@
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="gridCard m-t-10">
|
||||
<div class="card p-0">
|
||||
<div class="card-section-btn">
|
||||
<div class="gwb-container">
|
||||
|
||||
<div permission="2" id="smsDiv" class="gwb-card">
|
||||
<div type="button" class="click p-1 loadingButton" style="padding: 0 5px">
|
||||
<div class="gwb-card-flex" style="justify-content: space-between;width: 100%;">
|
||||
<div class="gwb-card-flex p-1">
|
||||
<img src="~/AssetsClient/images/sms-icon.png" alt="" class="img-fluid mx-1" width="50px"/>
|
||||
<div class="text-start ms-1">
|
||||
@* <div class="card-title">مقدار اعتبار فعلی</div> *@
|
||||
<div class="card-title">sms.ir</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div style="display: flex;flex-direction: column;align-items: end;">
|
||||
<div class="card-amount">
|
||||
<span class="remain-number" style="color: #6D6D6D">پیامک باقیمانده</span>
|
||||
<span id="amountSms">@Model.SmsRemaining</span>
|
||||
</div>
|
||||
|
||||
<div style="">
|
||||
<a href="https://sms.ir/" target="_blank" rel="noopener noreferrer">
|
||||
<button id="btnSMS" class="btnSms">
|
||||
ورود به سامانه
|
||||
</button>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="gridCard m-t-10">
|
||||
<div class="card p-0">
|
||||
<div class="card-section-btn">
|
||||
<a class="btn loadingButton @(authHelper.GetPermissions().Any(x => x == 201) ? "" : "disable")" asp-area="Admin" asp-page="/Company/Contracts/Index">
|
||||
<svg width="50" height="50" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M14 0H2C0.89543 0 0 0.89543 0 2V18C0 19.1046 0.89543 20 2 20H14C15.1046 20 16 19.1046 16 18V2C16 0.89543 15.1046 0 14 0Z" fill="#C4E8E8"/>
|
||||
<path d="M2 15.0015C2 14.7363 2.10536 14.4819 2.29289 14.2944C2.48043 14.1068 2.73478 14.0015 3 14.0015H7C7.26522 14.0015 7.51957 14.1068 7.70711 14.2944C7.89464 14.4819 8 14.7363 8 15.0015C8 15.2667 7.89464 15.5211 7.70711 15.7086C7.51957 15.8961 7.26522 16.0015 7 16.0015H3C2.73478 16.0015 2.48043 15.8961 2.29289 15.7086C2.10536 15.5211 2 15.2667 2 15.0015ZM16.91 3.30148L10.29 9.91148C10.1973 10.0049 10.124 10.1157 10.0742 10.2376C10.0245 10.3594 9.99924 10.4899 10 10.6215V12.0015C10 12.2667 10.1054 12.5211 10.2929 12.7086C10.4804 12.8961 10.7348 13.0015 11 13.0015H12.39C12.5223 13.0009 12.6532 12.9741 12.7751 12.9226C12.8969 12.8711 13.0074 12.796 13.1 12.7015L19.71 6.10148C19.8932 5.91455 19.9959 5.66323 19.9959 5.40148C19.9959 5.13973 19.8932 4.88841 19.71 4.70148L18.31 3.30148C18.1231 3.11826 17.8718 3.01563 17.61 3.01562C17.3482 3.01562 17.0969 3.11826 16.91 3.30148Z" fill="#23A8A8"/>
|
||||
</svg>
|
||||
<p class="btn-title text-nowrap" style="margin: 0 5px 0 0">قرارداد</p>
|
||||
<div class="spinner-loading loading rounded-0" style="display: none;">
|
||||
<div class="spinner"></div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card p-0">
|
||||
<div class="card-section-btn">
|
||||
<a class="btn loadingButton @(authHelper.GetPermissions().Any(x => x == 202) ? "" : "disable")" asp-area="Admin" asp-page="/Company/Checkouts/Index">
|
||||
<svg width="50" height="50" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M22 5H6C5.44772 5 5 5.44772 5 6V30C5 30.5523 5.44772 31 6 31H22C22.5523 31 23 30.5523 23 30V6C23 5.44772 22.5523 5 22 5Z" fill="#23A8A8" />
|
||||
<path d="M26.71 7.29002L20.71 1.29002C20.6166 1.19734 20.5057 1.12401 20.3839 1.07425C20.2621 1.02448 20.1316 0.999256 20 1.00002H10C9.73478 1.00002 9.48043 1.10537 9.29289 1.29291C9.10536 1.48045 9 1.7348 9 2.00002V26C9 26.2652 9.10536 26.5196 9.29289 26.7071C9.48043 26.8947 9.73478 27 10 27H26C26.2652 27 26.5196 26.8947 26.7071 26.7071C26.8946 26.5196 27 26.2652 27 26V8.00002C27.0008 7.86841 26.9755 7.73795 26.9258 7.61611C26.876 7.49427 26.8027 7.38346 26.71 7.29002Z" fill="#C4E8E8" />
|
||||
<path d="M20.71 1.29002C20.6166 1.19734 20.5057 1.12401 20.3839 1.07425C20.2621 1.02448 20.1316 0.999256 20 1.00002V7.00002C20 7.26523 20.1054 7.51959 20.2929 7.70712C20.4804 7.89466 20.7348 8.00002 21 8.00002H27C27.0008 7.86841 26.9755 7.73795 26.9258 7.61611C26.876 7.49427 26.8027 7.38346 26.71 7.29002L20.71 1.29002Z" fill="#23A8A8" />
|
||||
<path d="M19 13.5H14C13.7348 13.5 13.4804 13.3946 13.2929 13.2071C13.1054 13.0196 13 12.7652 13 12.5C13 12.2348 13.1054 11.9804 13.2929 11.7929C13.4804 11.6054 13.7348 11.5 14 11.5H19C19.2652 11.5 19.5196 11.6054 19.7071 11.7929C19.8946 11.9804 20 12.2348 20 12.5C20 12.7652 19.8946 13.0196 19.7071 13.2071C19.5196 13.3946 19.2652 13.5 19 13.5Z" fill="#23A8A8" />
|
||||
<path d="M22 17.5H14C13.7348 17.5 13.4804 17.3946 13.2929 17.2071C13.1054 17.0196 13 16.7652 13 16.5C13 16.2348 13.1054 15.9804 13.2929 15.7929C13.4804 15.6054 13.7348 15.5 14 15.5H22C22.2652 15.5 22.5196 15.6054 22.7071 15.7929C22.8946 15.9804 23 16.2348 23 16.5C23 16.7652 22.8946 17.0196 22.7071 17.2071C22.5196 17.3946 22.2652 17.5 22 17.5Z" fill="#23A8A8" />
|
||||
<path d="M22 21.5H14C13.7348 21.5 13.4804 21.3946 13.2929 21.2071C13.1054 21.0196 13 20.7652 13 20.5C13 20.2348 13.1054 19.9804 13.2929 19.7929C13.4804 19.6054 13.7348 19.5 14 19.5H22C22.2652 19.5 22.5196 19.6054 22.7071 19.7929C22.8946 19.9804 23 20.2348 23 20.5C23 20.7652 22.8946 21.0196 22.7071 21.2071C22.5196 21.3946 22.2652 21.5 22 21.5Z" fill="#23A8A8" />
|
||||
</svg>
|
||||
<p class="btn-title text-nowrap" style="margin: 0 5px 0 0">تصفیه حساب</p>
|
||||
<div class="spinner-loading loading rounded-0" style="display: none;">
|
||||
<div class="spinner"></div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
<p class="btn-title text-nowrap" style="margin: 0 5px 0 0">قرارداد</p>
|
||||
<div class="spinner-loading loading rounded-0" style="display: none;">
|
||||
<div class="spinner"></div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card p-0">
|
||||
<div class="card-section-btn">
|
||||
<a class="btn loadingButton @(authHelper.GetPermissions().Any(x => x == 801) ? "" : "disable")" asp-area="Admin" asp-page="/Company/InsuranceList/Index">
|
||||
<a class="btn loadingButton @(authHelper.GetPermissions().Any(x => x == 202) ? "" : "disable")" asp-area="Admin" asp-page="/Company/Checkouts/Index">
|
||||
<svg width="50" height="50" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M22 5H6C5.44772 5 5 5.44772 5 6V30C5 30.5523 5.44772 31 6 31H22C22.5523 31 23 30.5523 23 30V6C23 5.44772 22.5523 5 22 5Z" fill="#23A8A8"/>
|
||||
<path d="M26.71 7.29002L20.71 1.29002C20.6166 1.19734 20.5057 1.12401 20.3839 1.07425C20.2621 1.02448 20.1316 0.999256 20 1.00002H10C9.73478 1.00002 9.48043 1.10537 9.29289 1.29291C9.10536 1.48045 9 1.7348 9 2.00002V26C9 26.2652 9.10536 26.5196 9.29289 26.7071C9.48043 26.8947 9.73478 27 10 27H26C26.2652 27 26.5196 26.8947 26.7071 26.7071C26.8946 26.5196 27 26.2652 27 26V8.00002C27.0008 7.86841 26.9755 7.73795 26.9258 7.61611C26.876 7.49427 26.8027 7.38346 26.71 7.29002Z" fill="#C4E8E8"/>
|
||||
<path d="M20.71 1.29002C20.6166 1.19734 20.5057 1.12401 20.3839 1.07425C20.2621 1.02448 20.1316 0.999256 20 1.00002V7.00002C20 7.26523 20.1054 7.51959 20.2929 7.70712C20.4804 7.89466 20.7348 8.00002 21 8.00002H27C27.0008 7.86841 26.9755 7.73795 26.9258 7.61611C26.876 7.49427 26.8027 7.38346 26.71 7.29002L20.71 1.29002Z" fill="#23A8A8"/>
|
||||
<path d="M19 13.5H14C13.7348 13.5 13.4804 13.3946 13.2929 13.2071C13.1054 13.0196 13 12.7652 13 12.5C13 12.2348 13.1054 11.9804 13.2929 11.7929C13.4804 11.6054 13.7348 11.5 14 11.5H19C19.2652 11.5 19.5196 11.6054 19.7071 11.7929C19.8946 11.9804 20 12.2348 20 12.5C20 12.7652 19.8946 13.0196 19.7071 13.2071C19.5196 13.3946 19.2652 13.5 19 13.5Z" fill="#23A8A8"/>
|
||||
<path d="M22 17.5H14C13.7348 17.5 13.4804 17.3946 13.2929 17.2071C13.1054 17.0196 13 16.7652 13 16.5C13 16.2348 13.1054 15.9804 13.2929 15.7929C13.4804 15.6054 13.7348 15.5 14 15.5H22C22.2652 15.5 22.5196 15.6054 22.7071 15.7929C22.8946 15.9804 23 16.2348 23 16.5C23 16.7652 22.8946 17.0196 22.7071 17.2071C22.5196 17.3946 22.2652 17.5 22 17.5Z" fill="#23A8A8"/>
|
||||
<path d="M22 21.5H14C13.7348 21.5 13.4804 21.3946 13.2929 21.2071C13.1054 21.0196 13 20.7652 13 20.5C13 20.2348 13.1054 19.9804 13.2929 19.7929C13.4804 19.6054 13.7348 19.5 14 19.5H22C22.2652 19.5 22.5196 19.6054 22.7071 19.7929C22.8946 19.9804 23 20.2348 23 20.5C23 20.7652 22.8946 21.0196 22.7071 21.2071C22.5196 21.3946 22.2652 21.5 22 21.5Z" fill="#23A8A8"/>
|
||||
</svg>
|
||||
<p class="btn-title text-nowrap" style="margin: 0 5px 0 0">تصفیه حساب</p>
|
||||
<div class="spinner-loading loading rounded-0" style="display: none;">
|
||||
<div class="spinner"></div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card p-0">
|
||||
<div class="card-section-btn">
|
||||
<a class="btn loadingButton @(authHelper.GetPermissions().Any(x => x == 802) ? "" : "disable")" asp-area="Admin" asp-page="/Company/InsuranceList/Index">
|
||||
<svg width="50" height="50" viewBox="0 0 28 28" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M23.63 4.22001L18.63 0.220009C18.4514 0.0767046 18.229 -0.000955084 18 8.86676e-06H5C4.73478 8.86676e-06 4.48043 0.105366 4.29289 0.292902C4.10536 0.480438 4 0.734792 4 1.00001V14C4 14.2652 4.10536 14.5196 4.29289 14.7071C4.48043 14.8947 4.73478 15 5 15H13V17C13 17.2652 13.1054 17.5196 13.2929 17.7071C13.4804 17.8947 13.7348 18 14 18H23C23.2652 18 23.5196 17.8947 23.7071 17.7071C23.8946 17.5196 24 17.2652 24 17V5.00001C24.0005 4.85061 23.9675 4.703 23.9035 4.56802C23.8395 4.43305 23.746 4.31413 23.63 4.22001Z" fill="#23A8A8" />
|
||||
<path d="M27 15.9992H15V13.9992C15 13.734 14.8946 13.4796 14.7071 13.2921C14.5196 13.1045 14.2652 12.9992 14 12.9992H3C2.6427 12.9618 2.28154 12.9953 1.93723 13.0978C1.59292 13.2003 1.27221 13.3698 0.993513 13.5964C0.714811 13.8231 0.483589 14.1026 0.313102 14.4188C0.142614 14.735 0.0362137 15.0818 0 15.4392V24.8292C0 26.6092 1.76 27.9992 4 27.9992H24C26.24 27.9992 28 26.6092 28 24.8292V16.9992C28 16.734 27.8946 16.4796 27.7071 16.2921C27.5196 16.1045 27.2652 15.9992 27 15.9992Z" fill="#C4E8E8" />
|
||||
<path d="M23.63 4.2195L18.63 0.219504C18.483 0.100284 18.3053 0.0252099 18.1173 0.00300347C17.9294 -0.019203 17.739 0.0123699 17.5683 0.0940539C17.3976 0.175738 17.2536 0.30418 17.153 0.464457C17.0524 0.624735 16.9994 0.810269 17 0.999504V4.9995C17 5.26472 17.1054 5.51907 17.2929 5.70661C17.4804 5.89415 17.7348 5.9995 18 5.9995H23C23.2075 6.00038 23.4101 5.93672 23.5797 5.81733C23.7494 5.69794 23.8777 5.52874 23.9469 5.33316C24.0162 5.13759 24.0228 4.92533 23.966 4.7258C23.9093 4.52626 23.7918 4.34933 23.63 4.2195Z" fill="#C4E8E8" />
|
||||
<path d="M16 21H15V20C15 19.7348 14.8946 19.4804 14.7071 19.2929C14.5196 19.1054 14.2652 19 14 19C13.7348 19 13.4804 19.1054 13.2929 19.2929C13.1054 19.4804 13 19.7348 13 20V21H12C11.7348 21 11.4804 21.1054 11.2929 21.2929C11.1054 21.4804 11 21.7348 11 22C11 22.2652 11.1054 22.5196 11.2929 22.7071C11.4804 22.8946 11.7348 23 12 23H13V24C13 24.2652 13.1054 24.5196 13.2929 24.7071C13.4804 24.8946 13.7348 25 14 25C14.2652 25 14.5196 24.8946 14.7071 24.7071C14.8946 24.5196 15 24.2652 15 24V23H16C16.2652 23 16.5196 22.8946 16.7071 22.7071C16.8946 22.5196 17 22.2652 17 22C17 21.7348 16.8946 21.4804 16.7071 21.2929C16.5196 21.1054 16.2652 21 16 21Z" fill="#23A8A8" />
|
||||
<path d="M9 9H19C19.2652 9 19.5196 8.89464 19.7071 8.70711C19.8946 8.51957 20 8.26522 20 8C20 7.73478 19.8946 7.48043 19.7071 7.29289C19.5196 7.10536 19.2652 7 19 7H9C8.73478 7 8.48043 7.10536 8.29289 7.29289C8.10536 7.48043 8 7.73478 8 8C8 8.26522 8.10536 8.51957 8.29289 8.70711C8.48043 8.89464 8.73478 9 9 9Z" fill="#C4E8E8" />
|
||||
<path d="M19 10H9C8.73478 10 8.48043 10.1054 8.29289 10.2929C8.10536 10.4804 8 10.7348 8 11C8 11.2652 8.10536 11.5196 8.29289 11.7071C8.48043 11.8946 8.73478 12 9 12H19C19.2652 12 19.5196 11.8946 19.7071 11.7071C19.8946 11.5196 20 11.2652 20 11C20 10.7348 19.8946 10.4804 19.7071 10.2929C19.5196 10.1054 19.2652 10 19 10Z" fill="#C4E8E8" />
|
||||
<path d="M23.63 4.22001L18.63 0.220009C18.4514 0.0767046 18.229 -0.000955084 18 8.86676e-06H5C4.73478 8.86676e-06 4.48043 0.105366 4.29289 0.292902C4.10536 0.480438 4 0.734792 4 1.00001V14C4 14.2652 4.10536 14.5196 4.29289 14.7071C4.48043 14.8947 4.73478 15 5 15H13V17C13 17.2652 13.1054 17.5196 13.2929 17.7071C13.4804 17.8947 13.7348 18 14 18H23C23.2652 18 23.5196 17.8947 23.7071 17.7071C23.8946 17.5196 24 17.2652 24 17V5.00001C24.0005 4.85061 23.9675 4.703 23.9035 4.56802C23.8395 4.43305 23.746 4.31413 23.63 4.22001Z" fill="#23A8A8"/>
|
||||
<path d="M27 15.9992H15V13.9992C15 13.734 14.8946 13.4796 14.7071 13.2921C14.5196 13.1045 14.2652 12.9992 14 12.9992H3C2.6427 12.9618 2.28154 12.9953 1.93723 13.0978C1.59292 13.2003 1.27221 13.3698 0.993513 13.5964C0.714811 13.8231 0.483589 14.1026 0.313102 14.4188C0.142614 14.735 0.0362137 15.0818 0 15.4392V24.8292C0 26.6092 1.76 27.9992 4 27.9992H24C26.24 27.9992 28 26.6092 28 24.8292V16.9992C28 16.734 27.8946 16.4796 27.7071 16.2921C27.5196 16.1045 27.2652 15.9992 27 15.9992Z" fill="#C4E8E8"/>
|
||||
<path d="M23.63 4.2195L18.63 0.219504C18.483 0.100284 18.3053 0.0252099 18.1173 0.00300347C17.9294 -0.019203 17.739 0.0123699 17.5683 0.0940539C17.3976 0.175738 17.2536 0.30418 17.153 0.464457C17.0524 0.624735 16.9994 0.810269 17 0.999504V4.9995C17 5.26472 17.1054 5.51907 17.2929 5.70661C17.4804 5.89415 17.7348 5.9995 18 5.9995H23C23.2075 6.00038 23.4101 5.93672 23.5797 5.81733C23.7494 5.69794 23.8777 5.52874 23.9469 5.33316C24.0162 5.13759 24.0228 4.92533 23.966 4.7258C23.9093 4.52626 23.7918 4.34933 23.63 4.2195Z" fill="#C4E8E8"/>
|
||||
<path d="M16 21H15V20C15 19.7348 14.8946 19.4804 14.7071 19.2929C14.5196 19.1054 14.2652 19 14 19C13.7348 19 13.4804 19.1054 13.2929 19.2929C13.1054 19.4804 13 19.7348 13 20V21H12C11.7348 21 11.4804 21.1054 11.2929 21.2929C11.1054 21.4804 11 21.7348 11 22C11 22.2652 11.1054 22.5196 11.2929 22.7071C11.4804 22.8946 11.7348 23 12 23H13V24C13 24.2652 13.1054 24.5196 13.2929 24.7071C13.4804 24.8946 13.7348 25 14 25C14.2652 25 14.5196 24.8946 14.7071 24.7071C14.8946 24.5196 15 24.2652 15 24V23H16C16.2652 23 16.5196 22.8946 16.7071 22.7071C16.8946 22.5196 17 22.2652 17 22C17 21.7348 16.8946 21.4804 16.7071 21.2929C16.5196 21.1054 16.2652 21 16 21Z" fill="#23A8A8"/>
|
||||
<path d="M9 9H19C19.2652 9 19.5196 8.89464 19.7071 8.70711C19.8946 8.51957 20 8.26522 20 8C20 7.73478 19.8946 7.48043 19.7071 7.29289C19.5196 7.10536 19.2652 7 19 7H9C8.73478 7 8.48043 7.10536 8.29289 7.29289C8.10536 7.48043 8 7.73478 8 8C8 8.26522 8.10536 8.51957 8.29289 8.70711C8.48043 8.89464 8.73478 9 9 9Z" fill="#C4E8E8"/>
|
||||
<path d="M19 10H9C8.73478 10 8.48043 10.1054 8.29289 10.2929C8.10536 10.4804 8 10.7348 8 11C8 11.2652 8.10536 11.5196 8.29289 11.7071C8.48043 11.8946 8.73478 12 9 12H19C19.2652 12 19.5196 11.8946 19.7071 11.7071C19.8946 11.5196 20 11.2652 20 11C20 10.7348 19.8946 10.4804 19.7071 10.2929C19.5196 10.1054 19.2652 10 19 10Z" fill="#C4E8E8"/>
|
||||
</svg>
|
||||
<p class="btn-title text-nowrap" style="margin: 0 5px 0 0">بیمه</p>
|
||||
<div class="spinner-loading loading rounded-0" style="display: none;">
|
||||
@@ -103,8 +324,8 @@
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card p-0">
|
||||
<div class="card-section-btn">
|
||||
<div class="card p-0">
|
||||
<div class="card-section-btn">
|
||||
<a class="btn loadingButton @(authHelper.GetPermissions().Any(x => x == 401) ? "" : "disable")" asp-area="Admin" asp-page="/Company/FilePage/Index">
|
||||
<svg width="50" height="50" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path opacity="0.5" d="M2 6.94975C2 6.06722 2 5.62595 2.06935 5.25839C2.37464 3.64031 3.64031 2.37464 5.25839 2.06935C5.62595 2 6.06722 2 6.94975 2C7.33642 2 7.52976 2 7.71557 2.01738C8.51665 2.09229 9.27652 2.40704 9.89594 2.92051C10.0396 3.03961 10.1763 3.17633 10.4497 3.44975L11 4C11.8158 4.81578 12.2237 5.22367 12.7121 5.49543C12.9804 5.64471 13.2651 5.7626 13.5604 5.84678C14.0979 6 14.6747 6 15.8284 6H16.2021C18.8345 6 20.1506 6 21.0062 6.76946C21.0849 6.84024 21.1598 6.91514 21.2305 6.99383C22 7.84935 22 9.16554 22 11.7979V14C22 17.7712 22 19.6569 20.8284 20.8284C19.6569 22 17.7712 22 14 22H10C6.22876 22 4.34315 22 3.17157 20.8284C2 19.6569 2 17.7712 2 14V6.94975Z" fill="#74E9E9"/>
|
||||
@@ -112,21 +333,21 @@
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M12.25 10C12.25 9.58579 12.5858 9.25 13 9.25H18C18.4142 9.25 18.75 9.58579 18.75 10C18.75 10.4142 18.4142 10.75 18 10.75H13C12.5858 10.75 12.25 10.4142 12.25 10Z" fill="#23A8A8"/>
|
||||
</svg>
|
||||
<p class="btn-title text-nowrap" style="margin: 0 5px 0 0">پرونده</p>
|
||||
<div class="spinner-loading loading rounded-0" style="display: none;">
|
||||
<div class="spinner"></div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
<div class="spinner-loading loading rounded-0" style="display: none;">
|
||||
<div class="spinner"></div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card p-0">
|
||||
<div class="card-section-btn">
|
||||
<a class="btn loadingButton @(authHelper.GetPermissions().Any(x => x == 901) ? "" : "disable")" asp-area="AdminNew" asp-page="/Company/Task/Index">
|
||||
<svg width="50" height="50" viewBox="0 0 21 21" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M14.69 0.96875H6.31C2.67 0.96875 0.5 3.13876 0.5 6.77876V15.1587C0.5 18.7987 2.67 20.9687 6.31 20.9687H14.69C18.33 20.9687 20.5 18.7987 20.5 15.1587V6.77876C20.5 3.13876 18.33 0.96875 14.69 0.96875Z" fill="#C4E8E8" />
|
||||
<path d="M16.8105 7.83984C16.8105 8.24984 16.4805 8.58984 16.0605 8.58984H10.8105C10.4005 8.58984 10.0605 8.24984 10.0605 7.83984C10.0605 7.42984 10.4005 7.08984 10.8105 7.08984H16.0605C16.4805 7.08984 16.8105 7.42984 16.8105 7.83984Z" fill="#23A8A8" />
|
||||
<path d="M8.47055 6.86734L6.22055 9.11734C6.07055 9.26734 5.88055 9.33734 5.69055 9.33734C5.50055 9.33734 5.30055 9.26734 5.16055 9.11734L4.41055 8.36734C4.11055 8.07734 4.11055 7.59734 4.41055 7.30734C4.70055 7.01734 5.17055 7.01734 5.47055 7.30734L5.69055 7.52734L7.41055 5.80734C7.70055 5.51734 8.17055 5.51734 8.47055 5.80734C8.76055 6.09734 8.76055 6.57734 8.47055 6.86734Z" fill="#23A8A8" />
|
||||
<path d="M16.8105 14.8398C16.8105 15.2498 16.4805 15.5898 16.0605 15.5898H10.8105C10.4005 15.5898 10.0605 15.2498 10.0605 14.8398C10.0605 14.4298 10.4005 14.0898 10.8105 14.0898H16.0605C16.4805 14.0898 16.8105 14.4298 16.8105 14.8398Z" fill="#23A8A8" />
|
||||
<path d="M8.47055 13.8673L6.22055 16.1173C6.07055 16.2673 5.88055 16.3373 5.69055 16.3373C5.50055 16.3373 5.30055 16.2673 5.16055 16.1173L4.41055 15.3673C4.11055 15.0773 4.11055 14.5973 4.41055 14.3073C4.70055 14.0173 5.17055 14.0173 5.47055 14.3073L5.69055 14.5273L7.41055 12.8073C7.70055 12.5173 8.17055 12.5173 8.47055 12.8073C8.76055 13.0973 8.76055 13.5773 8.47055 13.8673Z" fill="#23A8A8" />
|
||||
<path d="M14.69 0.96875H6.31C2.67 0.96875 0.5 3.13876 0.5 6.77876V15.1587C0.5 18.7987 2.67 20.9687 6.31 20.9687H14.69C18.33 20.9687 20.5 18.7987 20.5 15.1587V6.77876C20.5 3.13876 18.33 0.96875 14.69 0.96875Z" fill="#C4E8E8"/>
|
||||
<path d="M16.8105 7.83984C16.8105 8.24984 16.4805 8.58984 16.0605 8.58984H10.8105C10.4005 8.58984 10.0605 8.24984 10.0605 7.83984C10.0605 7.42984 10.4005 7.08984 10.8105 7.08984H16.0605C16.4805 7.08984 16.8105 7.42984 16.8105 7.83984Z" fill="#23A8A8"/>
|
||||
<path d="M8.47055 6.86734L6.22055 9.11734C6.07055 9.26734 5.88055 9.33734 5.69055 9.33734C5.50055 9.33734 5.30055 9.26734 5.16055 9.11734L4.41055 8.36734C4.11055 8.07734 4.11055 7.59734 4.41055 7.30734C4.70055 7.01734 5.17055 7.01734 5.47055 7.30734L5.69055 7.52734L7.41055 5.80734C7.70055 5.51734 8.17055 5.51734 8.47055 5.80734C8.76055 6.09734 8.76055 6.57734 8.47055 6.86734Z" fill="#23A8A8"/>
|
||||
<path d="M16.8105 14.8398C16.8105 15.2498 16.4805 15.5898 16.0605 15.5898H10.8105C10.4005 15.5898 10.0605 15.2498 10.0605 14.8398C10.0605 14.4298 10.4005 14.0898 10.8105 14.0898H16.0605C16.4805 14.0898 16.8105 14.4298 16.8105 14.8398Z" fill="#23A8A8"/>
|
||||
<path d="M8.47055 13.8673L6.22055 16.1173C6.07055 16.2673 5.88055 16.3373 5.69055 16.3373C5.50055 16.3373 5.30055 16.2673 5.16055 16.1173L4.41055 15.3673C4.11055 15.0773 4.11055 14.5973 4.41055 14.3073C4.70055 14.0173 5.17055 14.0173 5.47055 14.3073L5.69055 14.5273L7.41055 12.8073C7.70055 12.5173 8.17055 12.5173 8.47055 12.8073C8.76055 13.0973 8.76055 13.5773 8.47055 13.8673Z" fill="#23A8A8"/>
|
||||
</svg>
|
||||
<p class="btn-title text-nowrap" style="margin: 0 5px 0 0">وظایف</p>
|
||||
<div class="showCount" permission="901" style="visibility: @(Model.TaskCount == 0 ? "hidden" : "visible")">
|
||||
@@ -143,13 +364,13 @@
|
||||
<a class="btn loadingButton @(TicketAccessAccount.HasTicketAccess(authHelper.CurrentAccountId()) ? "" : "disable")" asp-area="AdminNew" asp-page="/Company/Ticket/Index">
|
||||
<svg width="50" height="50" viewBox="0 0 34 34" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g clip-path="url(#clip0_2861_32844)">
|
||||
<path d="M31.3458 31.3508L30.6217 29.2218C29.262 25.217 25.5799 22.4877 21.385 22.3086C21.0158 22.5955 20.6266 22.842 20.2232 23.0575C19.6218 24.6366 17.6012 25.0644 16.4173 23.8551C15.0167 23.7314 13.7345 23.1781 12.6146 22.3087C8.41972 22.4872 4.73866 25.2165 3.37797 29.2218L2.65505 31.3508C2.44606 31.9632 2.54671 32.638 2.92369 33.1637C3.29945 33.6898 3.90748 34.0016 4.55416 34.0016H29.4457C30.0922 34.0016 30.7003 33.6899 31.0762 33.1637C31.453 32.638 31.5536 31.9632 31.3458 31.3508Z" fill="#23A8A8" />
|
||||
<path d="M19.7711 20.6853C22.2064 18.9736 23.9097 15.1936 23.9097 11.5391C23.9097 1.15331 10.0911 1.16435 10.0911 11.5391C10.0911 15.9806 12.6059 20.6007 15.8956 21.4729C16.2128 20.5741 17.0617 19.9242 18.0677 19.9242C18.7442 19.9241 19.3477 20.2209 19.7711 20.6853Z" fill="#23A8A8" />
|
||||
<path d="M7.05894 15.8764C7.40154 17.2221 9.26869 16.8518 9.26869 15.6055C9.26869 10.6102 9.50743 10.1437 8.83868 9.60155C10.3696 0.168062 23.5571 0.238817 25.1621 9.60262C24.4944 10.1465 24.7333 10.6108 24.7333 15.6055C24.7333 15.9962 24.9433 16.3241 25.245 16.5275C25.245 20.4135 23.6687 20.1863 18.9287 21.4427C18.1959 20.6473 16.887 21.1651 16.887 22.238C16.887 23.5816 18.8126 23.896 19.1863 22.5453C23.0131 21.5306 26.3768 21.2105 26.3768 17.3858V16.6009C26.6609 16.4539 26.8621 16.1931 26.9428 15.8764C30.6316 15.8012 30.6327 10.2731 26.9428 10.1979C26.8665 9.8961 26.6787 9.6496 26.4144 9.49926C26.5095 8.36734 26.2763 6.87944 25.6274 5.44301C21.1141 -3.86997 7.78399 -0.226068 7.57522 8.79955C7.54646 9.1052 7.56967 9.32188 7.58732 9.49926C7.3231 9.6496 7.13525 9.8961 7.05894 10.1979C5.5136 10.2277 4.26779 11.4851 4.26779 13.0372C4.26779 14.5891 5.5136 15.8465 7.05894 15.8764Z" fill="#C4E8E8" />
|
||||
<path d="M31.3458 31.3508L30.6217 29.2218C29.262 25.217 25.5799 22.4877 21.385 22.3086C21.0158 22.5955 20.6266 22.842 20.2232 23.0575C19.6218 24.6366 17.6012 25.0644 16.4173 23.8551C15.0167 23.7314 13.7345 23.1781 12.6146 22.3087C8.41972 22.4872 4.73866 25.2165 3.37797 29.2218L2.65505 31.3508C2.44606 31.9632 2.54671 32.638 2.92369 33.1637C3.29945 33.6898 3.90748 34.0016 4.55416 34.0016H29.4457C30.0922 34.0016 30.7003 33.6899 31.0762 33.1637C31.453 32.638 31.5536 31.9632 31.3458 31.3508Z" fill="#23A8A8"/>
|
||||
<path d="M19.7711 20.6853C22.2064 18.9736 23.9097 15.1936 23.9097 11.5391C23.9097 1.15331 10.0911 1.16435 10.0911 11.5391C10.0911 15.9806 12.6059 20.6007 15.8956 21.4729C16.2128 20.5741 17.0617 19.9242 18.0677 19.9242C18.7442 19.9241 19.3477 20.2209 19.7711 20.6853Z" fill="#23A8A8"/>
|
||||
<path d="M7.05894 15.8764C7.40154 17.2221 9.26869 16.8518 9.26869 15.6055C9.26869 10.6102 9.50743 10.1437 8.83868 9.60155C10.3696 0.168062 23.5571 0.238817 25.1621 9.60262C24.4944 10.1465 24.7333 10.6108 24.7333 15.6055C24.7333 15.9962 24.9433 16.3241 25.245 16.5275C25.245 20.4135 23.6687 20.1863 18.9287 21.4427C18.1959 20.6473 16.887 21.1651 16.887 22.238C16.887 23.5816 18.8126 23.896 19.1863 22.5453C23.0131 21.5306 26.3768 21.2105 26.3768 17.3858V16.6009C26.6609 16.4539 26.8621 16.1931 26.9428 15.8764C30.6316 15.8012 30.6327 10.2731 26.9428 10.1979C26.8665 9.8961 26.6787 9.6496 26.4144 9.49926C26.5095 8.36734 26.2763 6.87944 25.6274 5.44301C21.1141 -3.86997 7.78399 -0.226068 7.57522 8.79955C7.54646 9.1052 7.56967 9.32188 7.58732 9.49926C7.3231 9.6496 7.13525 9.8961 7.05894 10.1979C5.5136 10.2277 4.26779 11.4851 4.26779 13.0372C4.26779 14.5891 5.5136 15.8465 7.05894 15.8764Z" fill="#C4E8E8"/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0_2861_32844">
|
||||
<rect width="34" height="34" fill="white" />
|
||||
<rect width="34" height="34" fill="white"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
@@ -166,8 +387,8 @@
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card p-0">
|
||||
<div class="card-section-btn">
|
||||
<div class="card p-0">
|
||||
<div class="card-section-btn">
|
||||
<a class="btn loadingButton @(authHelper.GetPermissions().Any(x => x == 307) ? "" : "disable")" asp-area="Admin" asp-page="/Company/InstitutionContracts/Index">
|
||||
<svg width="50" height="50" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M20 5H15C14.7348 5 14.4804 5.10536 14.2929 5.29289C14.1054 5.48043 14 5.73478 14 6V21C14 21.2652 14.1054 21.5196 14.2929 21.7071C14.4804 21.8946 14.7348 22 15 22H21C21.2652 22 21.5196 21.8946 21.7071 21.7071C21.8946 21.5196 22 21.2652 22 21V7C22 6.46957 21.7893 5.96086 21.4142 5.58579C21.0391 5.21071 20.5304 5 20 5Z" fill="#C4E8E8"/>
|
||||
@@ -175,43 +396,42 @@
|
||||
<path d="M12 15V22H6V15C6 14.7348 6.10536 14.4804 6.29289 14.2929C6.48043 14.1054 6.73478 14 7 14H11C11.2652 14 11.5196 14.1054 11.7071 14.2929C11.8946 14.4804 12 14.7348 12 15ZM7 8H11C11.2652 8 11.5196 7.89464 11.7071 7.70711C11.8946 7.51957 12 7.26522 12 7C12 6.73478 11.8946 6.48043 11.7071 6.29289C11.5196 6.10536 11.2652 6 11 6H7C6.73478 6 6.48043 6.10536 6.29289 6.29289C6.10536 6.48043 6 6.73478 6 7C6 7.26522 6.10536 7.51957 6.29289 7.70711C6.48043 7.89464 6.73478 8 7 8ZM11 10H7C6.73478 10 6.48043 10.1054 6.29289 10.2929C6.10536 10.4804 6 10.7348 6 11C6 11.2652 6.10536 11.5196 6.29289 11.7071C6.48043 11.8946 6.73478 12 7 12H11C11.2652 12 11.5196 11.8946 11.7071 11.7071C11.8946 11.5196 12 11.2652 12 11C12 10.7348 11.8946 10.4804 11.7071 10.2929C11.5196 10.1054 11.2652 10 11 10Z" fill="#C4E8E8"/>
|
||||
</svg>
|
||||
<p class="btn-title text-nowrap" style="margin: 0 5px 0 0">قراردادهای موسسه</p>
|
||||
<div class="spinner-loading loading rounded-0" style="display: none;">
|
||||
<div class="spinner"></div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card p-0">
|
||||
<div class="card-section-btn">
|
||||
<div class="spinner-loading loading rounded-0" style="display: none;">
|
||||
<div class="spinner"></div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card p-0">
|
||||
<div class="card-section-btn">
|
||||
<a class="btn loadingButton disable" asp-area="Admin" asp-page="/Company/Workshop/Index">
|
||||
<svg width="50" height="50" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M18.5116 10.0758C18.5116 10.8144 17.8869 11.4133 17.1163 11.4133C16.3457 11.4133 15.7209 10.8144 15.7209 10.0758C15.7209 9.33709 16.3457 8.73828 17.1163 8.73828C17.8869 8.73828 18.5116 9.33709 18.5116 10.0758Z" fill="#C4E8E8" />
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M18.0363 5.53107C16.9766 5.3945 15.6225 5.39451 13.9129 5.39453H10.0871C8.37751 5.39451 7.02343 5.3945 5.9637 5.53107C4.87308 5.67162 3.99033 5.96775 3.29418 6.63503C2.59803 7.30231 2.28908 8.14844 2.14245 9.19383C1.99997 10.2096 1.99999 11.5075 2 13.1461V13.2468C1.99999 14.8854 1.99997 16.1833 2.14245 17.1991C2.28908 18.2445 2.59803 19.0906 3.29418 19.7579C3.99033 20.4252 4.87307 20.7213 5.9637 20.8619C7.02344 20.9984 8.37751 20.9984 10.0871 20.9984H13.9129C15.6225 20.9984 16.9766 20.9984 18.0363 20.8619C19.1269 20.7213 20.0097 20.4252 20.7058 19.7579C21.402 19.0906 21.7109 18.2445 21.8575 17.1991C22 16.1833 22 14.8854 22 13.2468V13.1462C22 11.5075 22 10.2096 21.8575 9.19383C21.7109 8.14844 21.402 7.30231 20.7058 6.63503C20.0097 5.96775 19.1269 5.67162 18.0363 5.53107ZM6.14963 6.85662C5.21373 6.97723 4.67452 7.20341 4.28084 7.58077C3.88716 7.95812 3.65119 8.47497 3.52536 9.37205C3.42443 10.0916 3.40184 10.9909 3.3968 12.1672L3.86764 11.7723C4.99175 10.8295 6.68596 10.8836 7.74215 11.896L11.7326 15.7209C12.1321 16.1039 12.7611 16.1561 13.2234 15.8447L13.5008 15.6579C14.8313 14.7616 16.6314 14.8654 17.8402 15.9082L20.2479 17.9852C20.3463 17.7212 20.4206 17.4061 20.4746 17.0209C20.6032 16.1046 20.6047 14.8967 20.6047 13.1965C20.6047 11.4962 20.6032 10.2883 20.4746 9.37205C20.3488 8.47497 20.1128 7.95812 19.7192 7.58077C19.3255 7.20341 18.7863 6.97723 17.8504 6.85662C16.8944 6.73342 15.6343 6.732 13.8605 6.732H10.1395C8.36575 6.732 7.10559 6.73342 6.14963 6.85662Z" fill="#23A8A8" />
|
||||
<path d="M17.0863 2.61039C16.2265 2.49997 15.1318 2.49998 13.7672 2.5H10.6775C9.31283 2.49998 8.21814 2.49997 7.35833 2.61039C6.46795 2.72473 5.7256 2.96835 5.13681 3.53075C4.79724 3.8551 4.56855 4.22833 4.41278 4.64928C4.91698 4.41928 5.48703 4.28374 6.12704 4.20084C7.21142 4.06037 8.59699 4.06038 10.3463 4.06039H14.2612C16.0105 4.06038 17.396 4.06037 18.4804 4.20084C19.0394 4.27325 19.545 4.38581 20 4.56638C19.8454 4.17917 19.625 3.83365 19.3078 3.53075C18.719 2.96835 17.9767 2.72473 17.0863 2.61039Z" fill="#C4E8E8" />
|
||||
<path d="M18.5116 10.0758C18.5116 10.8144 17.8869 11.4133 17.1163 11.4133C16.3457 11.4133 15.7209 10.8144 15.7209 10.0758C15.7209 9.33709 16.3457 8.73828 17.1163 8.73828C17.8869 8.73828 18.5116 9.33709 18.5116 10.0758Z" fill="#C4E8E8"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M18.0363 5.53107C16.9766 5.3945 15.6225 5.39451 13.9129 5.39453H10.0871C8.37751 5.39451 7.02343 5.3945 5.9637 5.53107C4.87308 5.67162 3.99033 5.96775 3.29418 6.63503C2.59803 7.30231 2.28908 8.14844 2.14245 9.19383C1.99997 10.2096 1.99999 11.5075 2 13.1461V13.2468C1.99999 14.8854 1.99997 16.1833 2.14245 17.1991C2.28908 18.2445 2.59803 19.0906 3.29418 19.7579C3.99033 20.4252 4.87307 20.7213 5.9637 20.8619C7.02344 20.9984 8.37751 20.9984 10.0871 20.9984H13.9129C15.6225 20.9984 16.9766 20.9984 18.0363 20.8619C19.1269 20.7213 20.0097 20.4252 20.7058 19.7579C21.402 19.0906 21.7109 18.2445 21.8575 17.1991C22 16.1833 22 14.8854 22 13.2468V13.1462C22 11.5075 22 10.2096 21.8575 9.19383C21.7109 8.14844 21.402 7.30231 20.7058 6.63503C20.0097 5.96775 19.1269 5.67162 18.0363 5.53107ZM6.14963 6.85662C5.21373 6.97723 4.67452 7.20341 4.28084 7.58077C3.88716 7.95812 3.65119 8.47497 3.52536 9.37205C3.42443 10.0916 3.40184 10.9909 3.3968 12.1672L3.86764 11.7723C4.99175 10.8295 6.68596 10.8836 7.74215 11.896L11.7326 15.7209C12.1321 16.1039 12.7611 16.1561 13.2234 15.8447L13.5008 15.6579C14.8313 14.7616 16.6314 14.8654 17.8402 15.9082L20.2479 17.9852C20.3463 17.7212 20.4206 17.4061 20.4746 17.0209C20.6032 16.1046 20.6047 14.8967 20.6047 13.1965C20.6047 11.4962 20.6032 10.2883 20.4746 9.37205C20.3488 8.47497 20.1128 7.95812 19.7192 7.58077C19.3255 7.20341 18.7863 6.97723 17.8504 6.85662C16.8944 6.73342 15.6343 6.732 13.8605 6.732H10.1395C8.36575 6.732 7.10559 6.73342 6.14963 6.85662Z" fill="#23A8A8"/>
|
||||
<path d="M17.0863 2.61039C16.2265 2.49997 15.1318 2.49998 13.7672 2.5H10.6775C9.31283 2.49998 8.21814 2.49997 7.35833 2.61039C6.46795 2.72473 5.7256 2.96835 5.13681 3.53075C4.79724 3.8551 4.56855 4.22833 4.41278 4.64928C4.91698 4.41928 5.48703 4.28374 6.12704 4.20084C7.21142 4.06037 8.59699 4.06038 10.3463 4.06039H14.2612C16.0105 4.06038 17.396 4.06037 18.4804 4.20084C19.0394 4.27325 19.545 4.38581 20 4.56638C19.8454 4.17917 19.625 3.83365 19.3078 3.53075C18.719 2.96835 17.9767 2.72473 17.0863 2.61039Z" fill="#C4E8E8"/>
|
||||
</svg>
|
||||
<p class="btn-title text-nowrap" style="margin: 0 5px 0 0">بررسی مدارک</p>
|
||||
<div class="spinner-loading loading rounded-0" style="display: none;">
|
||||
<div class="spinner"></div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card p-0">
|
||||
<div class="card-section-btn">
|
||||
<a class="btn loadingButton @(authHelper.GetPermissions().Any(x => x == 2) || authHelper.CurrentAccountId() == 322 ? "" : "disable")" asp-area="AdminNew" asp-page="/Company/FileBackup/Index">
|
||||
<svg width="50" height="50" viewBox="0 0 54 54" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M42.75 7.875H11.25C10.0125 7.875 9 8.8875 9 10.125V16.875C9 18.1125 10.0125 19.125 11.25 19.125H42.75C43.9875 19.125 45 18.1125 45 16.875V10.125C45 8.8875 43.9875 7.875 42.75 7.875ZM42.75 21.375H11.25C10.0125 21.375 9 22.3875 9 23.625V30.375C9 31.6125 10.0125 32.625 11.25 32.625H42.75C43.9875 32.625 45 31.6125 45 30.375V23.625C45 22.3875 43.9875 21.375 42.75 21.375ZM42.75 34.875H11.25C10.0125 34.875 9 35.8875 9 37.125V43.875C9 45.1125 10.0125 46.125 11.25 46.125H42.75C43.9875 46.125 45 45.1125 45 43.875V37.125C45 35.8875 43.9875 34.875 42.75 34.875Z" fill="#C4E8E8"/>
|
||||
<path d="M34.875 33.7492L42.75 40.0492V27.4492L34.875 33.7492Z" fill="#23A8A8"/>
|
||||
<path d="M42.75 31.5C42.4125 31.5 41.9625 31.5 41.625 31.6125V36.1125C41.9625 36 42.4125 36 42.75 36C46.4625 36 49.5 39.0375 49.5 42.75C49.5 46.4625 46.4625 49.5 42.75 49.5C39.0375 49.5 36 46.4625 36 42.75C36 42.4125 36 42.075 36.1125 41.7375L32.2875 38.7C31.8375 39.9375 31.5 41.2875 31.5 42.75C31.5 48.9375 36.5625 54 42.75 54C48.9375 54 54 48.9375 54 42.75C54 36.5625 48.9375 31.5 42.75 31.5Z" fill="#23A8A8"/>
|
||||
</svg>
|
||||
<p class="btn-title text-nowrap" style="margin: 0 5px 0 0">بکاپ</p>
|
||||
<div class="spinner-loading loading rounded-0" style="display: none;">
|
||||
<div class="spinner"></div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="spinner-loading loading rounded-0" style="display: none;">
|
||||
<div class="spinner"></div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card p-0">
|
||||
<div class="card-section-btn">
|
||||
<a class="btn loadingButton @(authHelper.GetPermissions().Any(x => x == 2) || authHelper.CurrentAccountId() == 322 ? "" : "disable")" asp-area="AdminNew" asp-page="/Company/FileBackup/Index">
|
||||
<svg width="50" height="50" viewBox="0 0 54 54" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M42.75 7.875H11.25C10.0125 7.875 9 8.8875 9 10.125V16.875C9 18.1125 10.0125 19.125 11.25 19.125H42.75C43.9875 19.125 45 18.1125 45 16.875V10.125C45 8.8875 43.9875 7.875 42.75 7.875ZM42.75 21.375H11.25C10.0125 21.375 9 22.3875 9 23.625V30.375C9 31.6125 10.0125 32.625 11.25 32.625H42.75C43.9875 32.625 45 31.6125 45 30.375V23.625C45 22.3875 43.9875 21.375 42.75 21.375ZM42.75 34.875H11.25C10.0125 34.875 9 35.8875 9 37.125V43.875C9 45.1125 10.0125 46.125 11.25 46.125H42.75C43.9875 46.125 45 45.1125 45 43.875V37.125C45 35.8875 43.9875 34.875 42.75 34.875Z" fill="#C4E8E8"/>
|
||||
<path d="M34.875 33.7492L42.75 40.0492V27.4492L34.875 33.7492Z" fill="#23A8A8"/>
|
||||
<path d="M42.75 31.5C42.4125 31.5 41.9625 31.5 41.625 31.6125V36.1125C41.9625 36 42.4125 36 42.75 36C46.4625 36 49.5 39.0375 49.5 42.75C49.5 46.4625 46.4625 49.5 42.75 49.5C39.0375 49.5 36 46.4625 36 42.75C36 42.4125 36 42.075 36.1125 41.7375L32.2875 38.7C31.8375 39.9375 31.5 41.2875 31.5 42.75C31.5 48.9375 36.5625 54 42.75 54C48.9375 54 54 48.9375 54 42.75C54 36.5625 48.9375 31.5 42.75 31.5Z" fill="#23A8A8"/>
|
||||
</svg>
|
||||
<p class="btn-title text-nowrap" style="margin: 0 5px 0 0">بکاپ</p>
|
||||
<div class="spinner-loading loading rounded-0" style="display: none;">
|
||||
<div class="spinner"></div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card p-0">
|
||||
<div class="card-section-btn">
|
||||
<a class="btn loadingButton @(authHelper.GetPermissions().Any(x => x == 2) || authHelper.CurrentAccountId() == 14 ? "" : "disable")" asp-area="AdminNew" asp-page="/Company/Test/Index">
|
||||
@@ -227,8 +447,7 @@
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@* @if(authHelper.GetPermissions().Any(x => x == 306)){
|
||||
@@ -522,6 +741,7 @@
|
||||
</div>
|
||||
} *@
|
||||
|
||||
|
||||
@*backups*@
|
||||
@* <div class="row" permission="2">
|
||||
<div class="container">
|
||||
@@ -578,5 +798,5 @@
|
||||
var ajaxDataReport = `@Url.Page("./Index", "ReportDataAjax")`;
|
||||
var boolPermissionForReports = @(authHelper.GetPermissions().Any(x => x == 306) ? "true" : "false");
|
||||
</script> *@
|
||||
<script src="~/assetsadmin/page/index/js/index.js"></script>
|
||||
<script src="~/assetsadmin/page/index/js/index.js?ver=@adminVersion"></script>
|
||||
}
|
||||
@@ -21,6 +21,7 @@ using CompanyManagment.App.Contracts.Workshop;
|
||||
using CompanyManagment.App.Contracts.YearlySalary;
|
||||
using CompanyManagment.Application;
|
||||
using Microsoft.Extensions.Configuration.UserSecrets;
|
||||
using _0_Framework.Application.Sms;
|
||||
|
||||
namespace ServiceHost.Areas.Admin.Pages
|
||||
{
|
||||
@@ -36,6 +37,8 @@ namespace ServiceHost.Areas.Admin.Pages
|
||||
private readonly IWebHostEnvironment _webHostEnvironment;
|
||||
private readonly IConfiguration _configuration;
|
||||
private readonly IAuthHelper _authHelper;
|
||||
private readonly ISmsService _smsService;
|
||||
|
||||
|
||||
public string today;
|
||||
public string month;
|
||||
@@ -45,8 +48,9 @@ namespace ServiceHost.Areas.Admin.Pages
|
||||
public string FolderPath;
|
||||
public int TaskCount;
|
||||
public int TicketCount;
|
||||
public int SmsRemaining;
|
||||
|
||||
public IndexModel(IWebHostEnvironment webHostEnvironment, IConfiguration configuration, IAuthHelper authHelper, IReportApplication reportApplication, IYearlySalaryApplication yearlySalaryApplication, IWorkshopApplication workshopApplication, IAccountApplication accountApplication, ITaskApplication taskApplication, ITicketApplication ticketApplication)
|
||||
public IndexModel(IWebHostEnvironment webHostEnvironment, IConfiguration configuration, IAuthHelper authHelper, IReportApplication reportApplication, IYearlySalaryApplication yearlySalaryApplication, IWorkshopApplication workshopApplication, IAccountApplication accountApplication, ITaskApplication taskApplication, ITicketApplication ticketApplication, ISmsService smsService)
|
||||
{
|
||||
_webHostEnvironment = webHostEnvironment;
|
||||
_configuration = configuration;
|
||||
@@ -57,6 +61,7 @@ namespace ServiceHost.Areas.Admin.Pages
|
||||
_accountApplication = accountApplication;
|
||||
_taskApplication = taskApplication;
|
||||
_ticketApplication = ticketApplication;
|
||||
_smsService = smsService;
|
||||
}
|
||||
|
||||
public async Task OnGet()
|
||||
@@ -77,12 +82,13 @@ namespace ServiceHost.Areas.Admin.Pages
|
||||
|
||||
TaskCount = await _taskApplication.RequestedAndOverdueTasksCount(userId);
|
||||
TicketCount = _ticketApplication.GetAdminTicketsCount();
|
||||
SmsRemaining = (int)await _smsService.GetCreditAmount();
|
||||
|
||||
//foreach (string fileEntry in fileEntries)
|
||||
//{
|
||||
// Console.WriteLine(Path.GetFileName(fileEntry));
|
||||
//}
|
||||
}
|
||||
//foreach (string fileEntry in fileEntries)
|
||||
//{
|
||||
// Console.WriteLine(Path.GetFileName(fileEntry));
|
||||
//}
|
||||
}
|
||||
|
||||
public async Task<IActionResult> OnGetReportDataAjax()
|
||||
{
|
||||
|
||||
@@ -221,10 +221,18 @@
|
||||
لیست مشاغل </a>
|
||||
</li>
|
||||
<li permission="304"><a class="clik3" asp-page="/Company/Holidays/Index">
|
||||
<svg width="13" height="13" viewBox="0 0 13 13" fill="none" xmlns="http://www.w3.org/2000/svg" style="width: 7px;margin: 0 6px;">
|
||||
<circle cx="6.5" cy="6.5" r="6.5" fill="white"/>
|
||||
</svg>
|
||||
تعطیلات رسمی </a>
|
||||
<svg width="13" height="13" viewBox="0 0 13 13" fill="none" xmlns="http://www.w3.org/2000/svg" style="width: 7px;margin: 0 6px;">
|
||||
<circle cx="6.5" cy="6.5" r="6.5" fill="white"/>
|
||||
</svg>
|
||||
تعطیلات رسمی </a>
|
||||
</li>
|
||||
<li permission="305">
|
||||
<a class="clik3" asp-area="AdminNew" asp-page="/Company/ServiceAmountsManagement/Index">
|
||||
<svg width="13" height="13" viewBox="0 0 13 13" fill="none" xmlns="http://www.w3.org/2000/svg" style="width: 7px;margin: 0 6px;">
|
||||
<circle cx="6.5" cy="6.5" r="6.5" fill="white"/>
|
||||
</svg>
|
||||
مبالغ سرویسها
|
||||
</a>
|
||||
</li>
|
||||
<li permission="305"><a class="clik3" asp-page="/Company/MandatoryHours/Index">
|
||||
<svg width="13" height="13" viewBox="0 0 13 13" fill="none" xmlns="http://www.w3.org/2000/svg" style="width: 7px;margin: 0 6px;">
|
||||
@@ -392,7 +400,7 @@
|
||||
</span>
|
||||
</a>
|
||||
<ul class="list-unstyled sdf8">
|
||||
<li permission="801"><a class="clik8 " asp-page="/Company/InsuranceList/Index">
|
||||
<li permission="802"><a class="clik8 " asp-page="/Company/InsuranceList/Index">
|
||||
<svg width="13" height="13" viewBox="0 0 13 13" fill="none" xmlns="http://www.w3.org/2000/svg" style="width: 7px;margin: 0 6px;">
|
||||
<circle cx="6.5" cy="6.5" r="6.5" fill="white"/>
|
||||
</svg>
|
||||
|
||||
@@ -73,16 +73,16 @@ namespace ServiceHost.Areas.AdminNew.Pages.Company.AndroidApk
|
||||
|
||||
public IActionResult OnPostShiftDateNew2()
|
||||
{
|
||||
var startRollCall = new DateTime(2025, 2, 19);
|
||||
var rollCalls = _context.RollCalls.Where(x => x.ShiftDate >= startRollCall && x.WorkshopId == 170).ToList();
|
||||
var startRollCall = new DateTime(2025, 3, 21);
|
||||
var rollCalls = _context.RollCalls.Where(x => x.StartDate >= startRollCall &&x.EndDate != null && x.ShiftDate == new DateTime()).ToList();
|
||||
var r1 = rollCalls.Take(3000).ToList();
|
||||
|
||||
var r2 = rollCalls.Skip(3000).ToList();
|
||||
Console.ForegroundColor = ConsoleColor.DarkRed;
|
||||
Console.WriteLine("endStep 1 ============");
|
||||
SetRollCall(r1);
|
||||
|
||||
Console.ForegroundColor = ConsoleColor.Yellow;
|
||||
Console.WriteLine("endStep 2 ============");
|
||||
SetRollCall2(r2);
|
||||
|
||||
ViewData["message"] = "تومام دو";
|
||||
ViewData["message"] = "تومام دو";
|
||||
return Page();
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,126 @@
|
||||
@model CompanyManagment.App.Contracts.InstitutionPlan.EditInstitutionPlanPercentage
|
||||
|
||||
@{
|
||||
string clientVersion = _0_Framework.Application.Version.StyleVersion;
|
||||
<link href="~/AssetsAdminNew/serviceamountsmanagement/css/CreateServiceModal.css?ver=@clientVersion" rel="stylesheet" />
|
||||
}
|
||||
|
||||
<form role="form" method="post" name="create-form" id="create-form" autocomplete="off">
|
||||
|
||||
<div class="modal-content">
|
||||
<div class="modal-header pb-0 d-flex align-items-center justify-content-center text-center">
|
||||
<button type="button" class="btn-close position-absolute text-start" data-bs-dismiss="modal" aria-label="Close"></button>
|
||||
<div>
|
||||
<p class="m-0 pdHeaderTitle1">سرویس جدید</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="modal-body">
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
|
||||
<div class="col-12 col-md-6 my-1 d-none">
|
||||
<div class="d-flex align-items-center justify-content-between">
|
||||
<span class="titleInput">رکب برای نال</span>
|
||||
<div class="position-relative">
|
||||
<input type="text" class="form-control numeric-only text-center ms-2" asp-for="@Model.ContractAndCheckoutPercent" style="direction: ltr;width: 70px;" pattern="[0-9]*" inputmode="numeric" />
|
||||
<span class="position-absolute percentageInput">٪</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-12 col-md-6 my-1">
|
||||
<div class="d-flex align-items-center justify-content-between">
|
||||
<span class="titleInput">درصد مبلغ قرداد و تصفیه</span>
|
||||
<div class="position-relative">
|
||||
<input type="text" class="form-control numeric-only text-center ms-2" asp-for="@Model.ContractAndCheckoutPercentStr" style="direction: ltr;width: 70px;" pattern="[0-9]*" inputmode="numeric" />
|
||||
<span class="position-absolute percentageInput">٪</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-12 col-md-6 my-1">
|
||||
<div class="d-flex align-items-center justify-content-between">
|
||||
<span class="titleInput">درصد خدمات بیمه</span>
|
||||
<div class="position-relative">
|
||||
<input type="text" class="form-control numeric-only text-center ms-2" asp-for="@Model.InsurancePercentStr" style="direction: ltr;width: 70px;" pattern="[0-9]*" inputmode="numeric" />
|
||||
<span class="position-absolute percentageInput">٪</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-12 col-md-6 my-1">
|
||||
<div class="d-flex align-items-center justify-content-between">
|
||||
<span class="titleInput">درصد خدمات خصور و غیاب</span>
|
||||
<div class="position-relative">
|
||||
<input type="text" class="form-control numeric-only text-center ms-2" asp-for="@Model.RollCallPercentStr" style="direction: ltr;width: 70px;" pattern="[0-9]*" inputmode="numeric" />
|
||||
<span class="position-absolute percentageInput">٪</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-12 col-md-6 my-1">
|
||||
<div class="d-flex align-items-center justify-content-between">
|
||||
<span class="titleInput">درصد خدمات فیش حقوقی غیر رسمی</span>
|
||||
<div class="position-relative">
|
||||
<input type="text" class="form-control numeric-only text-center ms-2" asp-for="@Model.CustomizeCheckoutPercentStr" style="direction: ltr;width: 70px;" pattern="[0-9]*" inputmode="numeric" />
|
||||
<span class="position-absolute percentageInput">٪</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-12 col-md-6 my-1">
|
||||
<div class="d-flex align-items-center justify-content-between">
|
||||
<span class="titleInput">درصد خدمات حضوری قرارداد و تصفیه</span>
|
||||
<div class="position-relative">
|
||||
<input type="text" class="form-control numeric-only text-center ms-2" asp-for="@Model.ContractAndCheckoutInPersonPercentStr" style="direction: ltr;width: 70px;" pattern="[0-9]*" inputmode="numeric" />
|
||||
<span class="position-absolute percentageInput">٪</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-12 col-md-6 my-1">
|
||||
<div class="d-flex align-items-center justify-content-between">
|
||||
<span class="titleInput">درصد خدمات حضور بیمه</span>
|
||||
<div class="position-relative">
|
||||
<input type="text" class="form-control numeric-only text-center ms-2" asp-for="@Model.InsuranceInPersonPercentStr" style="direction: ltr;width: 70px;" pattern="[0-9]*" inputmode="numeric" />
|
||||
<span class="position-absolute percentageInput">٪</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="modal-footer d-block">
|
||||
<div class="container p-0 m-0">
|
||||
<div class="row">
|
||||
<div class="col-6 d-flex justify-content-end">
|
||||
<button type="button" class="btn-cancel d-flex justify-content-center" data-bs-dismiss="modal" aria-label="Close">انصراف</button>
|
||||
</div>
|
||||
<div class="col-6 d-flex justify-content-start">
|
||||
<button type="button" class="btn-save position-relative" onclick="SaveDataAjax()">
|
||||
<span class="text-nowrap">ثبت</span>
|
||||
<div class="spinner-loading loading" style="display: none;">
|
||||
<span class="spinner-border spinner-border-sm loading text-white" role="status" aria-hidden="true"></span>
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</form>
|
||||
<script src="~/assetsclient/js/site.js?ver=@clientVersion"></script>
|
||||
<script src="~/assetsclient/libs/jalaali-js/jalaali.js"></script>
|
||||
<script src="~/admintheme/js/jquery.mask_1.14.16.min.js"></script>
|
||||
<script src="~/assetsclient/libs/cleave/cleave.min.js"></script>
|
||||
<script src="~/assetsclient/libs/wordifyfa/wordifyfa.min.js"></script>
|
||||
|
||||
<script>
|
||||
var antiForgeryToken = $(`@Html.AntiForgeryToken()`).val();
|
||||
var createInstitutionPlanUrl = `@Url.Page("./Index", "CreateInstitutionPlan")`;
|
||||
</script>
|
||||
<script src="~/AssetsAdminNew/serviceamountsmanagement/js/CreateServiceModal.js?ver=@clientVersion"></script>
|
||||
@@ -0,0 +1,251 @@
|
||||
@page
|
||||
@model ServiceHost.Areas.AdminNew.Pages.Company.ServiceAmountsManagement.IndexModel
|
||||
|
||||
@{
|
||||
string adminVersion = _0_Framework.Application.Version.AdminVersion;
|
||||
var index = 1;
|
||||
}
|
||||
|
||||
|
||||
@section Styles {
|
||||
<link href="~/AssetsClient/css/table-style.css?ver=@adminVersion" rel="stylesheet" />
|
||||
<link href="~/AssetsClient/css/table-responsive.css?ver=@adminVersion" rel="stylesheet" />
|
||||
<link href="~/assetsclient/css/table-grid.css?ver=@adminVersion" rel="stylesheet" />
|
||||
<link href="~/assetsclient/css/operation-button.css?ver=@adminVersion" rel="stylesheet" />
|
||||
|
||||
<link href="~/AssetsAdminNew/serviceamountsmanagement/css/index.css?ver=@adminVersion" rel="stylesheet" />
|
||||
|
||||
<link href="~/AssetsClient/css/select2.css?ver=@adminVersion" rel="stylesheet" />
|
||||
<link href="~/AssetsClient/css/datetimepicker.css?ver=@adminVersion" rel="stylesheet" />
|
||||
<link href="~/AssetsClient/css/dropdown.css?ver=@adminVersion" rel="stylesheet" />
|
||||
<link href="~/AssetsClient/css/filter-search.css?ver=@adminVersion" rel="stylesheet" />
|
||||
|
||||
<style>
|
||||
.errored {
|
||||
animation: shake 300ms;
|
||||
color: #eb3434 !important;
|
||||
background-color: #fef2f2 !important;
|
||||
border: 1px solid #eb3434 !important;
|
||||
border-radius: 7px;
|
||||
}
|
||||
|
||||
@@media (max-width: 767px) {
|
||||
.sticky {
|
||||
position: sticky;
|
||||
top: 3px;
|
||||
z-index: 60;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
}
|
||||
|
||||
|
||||
<div class="row pb-2">
|
||||
<div class="col p-0 m-0 d-flex align-items-center justify-content-between">
|
||||
<div class="col d-flex align-items-center">
|
||||
<img src="~/AssetsClient/images/icons/workshop.png" alt="" class="img-fluid me-2" style="width: 45px;object-fit: cover;" />
|
||||
<div>
|
||||
<h4 class="title d-flex align-items-center">مدیریت مبالغ سرویسها</h4>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<a asp-area="Admin" asp-page="/Index" class="back-btn" type="button">
|
||||
<span>بازگشت</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<button type="button" class="btn btn-rounded mb-5 goToTop" style="display: none"> <i class="fa fa-chevron-up" style="font-size: 20px"></i> برو بالا</button>
|
||||
|
||||
|
||||
@* <input type="hidden" asp-for="SearchModel.PageIndex" id="pageIndex" value="@Model.SearchModel.PageIndex" /> *@
|
||||
|
||||
<!-- List Items -->
|
||||
<div class="row">
|
||||
<div class="col-12 mb-2">
|
||||
<div class="d-flex w-100 section-btns-task">
|
||||
@*Search Box *@
|
||||
|
||||
</div>
|
||||
|
||||
<div class=" d-none d-md-block">
|
||||
<div class="row px-2">
|
||||
<div class="search-box card border-0">
|
||||
<form role="form" method="get" name="search-theme-form1" id="search-theme-form1" autocomplete="off">
|
||||
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<div class="d-grid search-section gap-2" data-title="جستجو لیست قرارداد" data-intro="شما در این لیست قرارداد میتوانید جستجو کنید.">
|
||||
<div class="d-grid grid-cols-2 gap-2 col-span-2">
|
||||
<div class="col-span-2">
|
||||
<input type="text" class="form-control" id="countPersonInput" placeholder="تعداد پرسنل" pattern="[0-9]*" inputmode="numeric" />
|
||||
</div>
|
||||
</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" type="button">
|
||||
<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>
|
||||
</button>
|
||||
<a href="/AdminNew/Company/ServiceAmountsManagement" class="btn-clear-filter btn-w-size text-nowrap d-flex align-items-center justify-content-center disable" id="filterRemove">
|
||||
<span>حذف جستجو</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="d-block d-md-none">
|
||||
<div class="row d-flex align-items-center justify-content-between">
|
||||
<div>
|
||||
<div class="col text-center">
|
||||
<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>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div class="container-fluid">
|
||||
<div class="row p-lg-2 p-auto">
|
||||
<div class="card">
|
||||
|
||||
<div class="wrapper list-box table-service">
|
||||
|
||||
<div class="row align-items-center">
|
||||
<div class="col-6 col-md-4">
|
||||
<button class="btn-create mb-1" onclick="openCreateModal()">
|
||||
<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>
|
||||
</div>
|
||||
<div class="d-none d-md-block col-4 text-center">
|
||||
<span>
|
||||
لیست سرویس ها
|
||||
</span>
|
||||
</div>
|
||||
<div class="col-6 col-md-4 text-end">
|
||||
<div class="d-flex align-items-center justify-content-end my-1">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="Rtable Rtable--collapse">
|
||||
|
||||
<div class="Rtable-row Rtable-row--head align-items-center d-none d-lg-flex sticky p-0">
|
||||
<div class="Rtable-cell column-heading d-md-flex d-none width1 text-center">تعداد پرسنل</div>
|
||||
<div class="Rtable-cell column-heading d-md-flex d-none width2 text-center" style="background: #16b797;">مبلغ قرداد و تصفیه</div>
|
||||
<div class="Rtable-cell column-heading d-flex width3 text-center" style="background: #16b797;">خدمات بیمه</div>
|
||||
<div class="Rtable-cell column-heading d-flex width4 text-center" style="background: #16b797;">خدمات خصور و غیاب</div>
|
||||
<div class="Rtable-cell column-heading d-md-flex d-none width5 text-center" style="background: #16b797;">خدمات فیش حقوقی غیر رسمی</div>
|
||||
<div class="Rtable-cell column-heading d-md-flex d-none width6 text-center" style="background: #17b0d0;">خدمات حضوری قرارداد و تصفیه</div>
|
||||
<div class="Rtable-cell column-heading d-md-flex d-none width7 text-center" style="background: #17b0d0;">خدمات حضور بیمه</div>
|
||||
<div class="Rtable-cell column-heading d-flex width8 text-center" style="background: #ccc90a;">خدمات حضوری موسسه</div>
|
||||
<div class="Rtable-cell column-heading d-flex width9 text-center" style="background: #ccc90a;">مبلغ کل خدمات سامانه بدون خدمات خصوری</div>
|
||||
<div class="Rtable-cell column-heading d-flex width10 text-center" style="background: #ccc90a;">مبلغ کل خدمات سامانه + خدمات خصوری</div>
|
||||
</div>
|
||||
|
||||
<div class="w-100" id="LoadDataOfServices">
|
||||
<div></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<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">
|
||||
<div class="modal-header d-block text-center pb-0">
|
||||
<div class="iphone-line mx-auto mb-3"></div>
|
||||
<h5 class="modal-title mb-4 text-start" id="searchModalLabel">جستجوی پیشرفته</h5>
|
||||
</div>
|
||||
|
||||
<div class="modal-body pt-0 mb-3">
|
||||
<div class="container-fluid search-box">
|
||||
|
||||
<div id="overlaySearchAdvance" class=""></div>
|
||||
<div class="row">
|
||||
|
||||
<div>
|
||||
<div class="d-grid grid-cols-2 gap-2 col-span-2 mb-2">
|
||||
<div class="col-span-2">
|
||||
<input type="text" class="form-control" id="countPersonInputMobile" placeholder="تعداد پرسنل" pattern="[0-9]*" inputmode="numeric" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="d-flex justify-content-center gap-4 col-span-2 mt-2 w-100">
|
||||
<button class="btn-search btn-w-size btn-search-click text-nowrap d-flex align-items-center justify-content-center w-100" id="searchBtn" type="button">
|
||||
<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>
|
||||
</button>
|
||||
<a href="/AdminNew/Company/ServiceAmountsManagement" class="btn-clear-filter btn-w-size text-nowrap d-flex align-items-center justify-content-center w-100 disable" id="filterRemove">
|
||||
<span>حذف جستجو</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="modal-footer justify-content-center align-items-center">
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="col-12 text-center">
|
||||
<button type="button" class="btn-cancel w-100" data-bs-dismiss="modal">انصراف</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="MainModal" class="modal fade" aria-labelledby="myModalLabel" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-hidden="true" style="display: none;">
|
||||
<div class="modal-dialog ServiceModal-width modal-dialog-centered modal-dialog-scrollable">
|
||||
<div class="modal-content" id="ModalContent">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@section Script {
|
||||
<script src="~/assetsclient/js/site.js"></script>
|
||||
<script>
|
||||
var antiForgeryToken = $(`@Html.AntiForgeryToken()`).val();
|
||||
var loadInstitutionPlanListUrl = `@Url.Page("./Index", "InstitutionPlanList")`;
|
||||
var showModalNewServiceUrl = `@Url.Page("./Index", "CreateInstitutionPlan")`;
|
||||
</script>
|
||||
|
||||
<script src="~/assetsadminnew/serviceamountsmanagement/js/index.js?ver=@adminVersion"></script>
|
||||
}
|
||||
@@ -0,0 +1,50 @@
|
||||
using CompanyManagment.App.Contracts.InstitutionPlan;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.AspNetCore.Mvc.RazorPages;
|
||||
|
||||
namespace ServiceHost.Areas.AdminNew.Pages.Company.ServiceAmountsManagement
|
||||
{
|
||||
[Authorize]
|
||||
public class IndexModel : PageModel
|
||||
{
|
||||
private readonly IInstitutionPlanApplication _institutionPlanApplication;
|
||||
|
||||
public IndexModel(IInstitutionPlanApplication institutionPlanApplication)
|
||||
{
|
||||
_institutionPlanApplication = institutionPlanApplication;
|
||||
}
|
||||
|
||||
public void OnGet()
|
||||
{
|
||||
}
|
||||
|
||||
public IActionResult OnGetInstitutionPlanList(int pageIndex, int countPeron)
|
||||
{
|
||||
var resultData = _institutionPlanApplication.GetInstitutionPlanList(pageIndex, countPeron);
|
||||
return new JsonResult(new
|
||||
{
|
||||
success = true,
|
||||
data = resultData,
|
||||
pageIndex = resultData.Count()
|
||||
});
|
||||
}
|
||||
|
||||
public IActionResult OnGetCreateInstitutionPlan()
|
||||
{
|
||||
var command = _institutionPlanApplication.GetByFirst();
|
||||
return Partial("CreateServiceModal", command);
|
||||
}
|
||||
|
||||
public IActionResult OnPostCreateInstitutionPlan(CreateInstitutionPlanPercentage command)
|
||||
{
|
||||
var result = _institutionPlanApplication.CreateInstitutionPlanPercentage(command);
|
||||
|
||||
return new JsonResult(new
|
||||
{
|
||||
success = result.IsSuccedded,
|
||||
message = result.Message
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -60,7 +60,9 @@
|
||||
<script src="~/AdminTheme/assets/notifications/notify-metro.js"></script>
|
||||
<script src="~/AdminTheme/assets/notifications/notifications.js"></script>
|
||||
|
||||
<script src="~/assetsadminnew/sidbar_adminnew/sidebar_admin.js"></script>
|
||||
<script src="~/assetsadminnew/sidbar_adminnew/sidebar_admin.js"></script>
|
||||
<script src="~/assetsclient/js/services/ajax-service.js"></script>
|
||||
|
||||
|
||||
@* <script src="~/assetsclient/js/smooth-scrollbar.js"></script> *@
|
||||
|
||||
|
||||
@@ -304,6 +304,14 @@
|
||||
تعطیلات رسمی
|
||||
</a>
|
||||
</li>
|
||||
<li permission="305">
|
||||
<a class="clik3" asp-area="AdminNew" asp-page="/Company/ServiceAmountsManagement/Index">
|
||||
<svg width="13" height="13" viewBox="0 0 13 13" fill="none" xmlns="http://www.w3.org/2000/svg" style="width: 7px;margin: 0 6px;">
|
||||
<circle cx="6.5" cy="6.5" r="6.5" fill="white" />
|
||||
</svg>
|
||||
مبالغ سرویسها
|
||||
</a>
|
||||
</li>
|
||||
<li permission="305">
|
||||
<a class="clik3" asp-area="Admin" asp-page="/Company/MandatoryHours/Index">
|
||||
<svg width="13" height="13" viewBox="0 0 13 13" fill="none" xmlns="http://www.w3.org/2000/svg" style="width: 7px;margin: 0 6px;">
|
||||
@@ -592,7 +600,7 @@
|
||||
</span>
|
||||
</a>
|
||||
<ul class="list-unstyled sdf8">
|
||||
<li permission="801">
|
||||
<li permission="802">
|
||||
<a class="clik8 " asp-area="Admin" asp-page="/Company/InsuranceList/Index">
|
||||
<svg width="13" height="13" viewBox="0 0 13 13" fill="none" xmlns="http://www.w3.org/2000/svg" style="width: 7px;margin: 0 6px;">
|
||||
<circle cx="6.5" cy="6.5" r="6.5" fill="white" />
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -257,7 +257,7 @@
|
||||
<span>پرینت گروهی</span>
|
||||
</button>
|
||||
|
||||
<button onclick="showExcelAllModal()" class="btn-excel text-nowrap me-1" type="button" Permission="@SubAccountPermissionHelper.ExcelCustomizeCheckoutPermissionCode">
|
||||
<button onclick="downloadExcelAll()" class="btn-excel text-nowrap me-1" type="button" Permission="@SubAccountPermissionHelper.ExcelCustomizeCheckoutPermissionCode">
|
||||
<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>
|
||||
|
||||
@@ -531,7 +531,7 @@
|
||||
|
||||
<td style="font-size: 8px; text-align: center;border-width: 2px 0 2px 2px;border-color: #DDDCDC;border-style: solid;@(day.IsHoliday || day.IsFriday ? "background-color: #BBBBBB !important;" : "background-color: #efefef !important;") -webkit-print-color-adjust: exact;print-color-adjust: exact; ">@day.ExitDifferencesMinutes1</td>
|
||||
|
||||
<td style="font-size: 8px; text-align: center;border-width: 2px 0 2px 2px;border-color: #DDDCDC;border-style: solid;@(day.IsHoliday || day.IsFriday ? "background-color: #BBBBBB !important;" : "background-color: #efefef !important;") -webkit-print-color-adjust: exact;print-color-adjust: exact; ">@day.EnterDifferencesMinutes1</td>
|
||||
<td style="font-size: 8px; text-align: center;border-width: 2px 0 2px 2px;border-color: #DDDCDC;border-style: solid;@(day.IsHoliday || day.IsFriday ? "background-color: #BBBBBB !important;" : "background-color: #efefef !important;") -webkit-print-color-adjust: exact;print-color-adjust: exact; ">@day.EnterDifferencesMinutes2</td>
|
||||
|
||||
<td style="font-size: 8px !important; text-align: center;border-width: 2px 0 2px 0;border-color: #DDDCDC;border-style: solid;-webkit-print-color-adjust: exact;print-color-adjust: exact; ">@day.StartDate2</td>
|
||||
<td style="font-size: 8px !important; text-align: center;border-width: 2px 0 2px 2px;border-color: #DDDCDC;border-style: solid;-webkit-print-color-adjust: exact;print-color-adjust: exact; ">@day.EndDate2</td>
|
||||
|
||||
@@ -55,28 +55,29 @@
|
||||
<div id="cardSectionLeave" class="card px-2 border blur">
|
||||
|
||||
<div class="row my-3">
|
||||
<div class="col-12 col-md-8 d-block d-sm-flex">
|
||||
<div class="d-flex align-items-center mb-2">
|
||||
<label class="d-flex justify-content-center align-items-center">نوع مرخصی:</label>
|
||||
<div class="inputGroup-morakhasi-type d-flex flex-sm-column">
|
||||
<div class="d-flex align-items-center my-1">
|
||||
<div class="d-flex align-items-center">
|
||||
<input class="form-check-input LeaveType" type="radio" asp-for="LeaveType" id="paid" value="استحقاقی" checked>
|
||||
<label class="form-check-label" for="paid">
|
||||
استحقاقی
|
||||
<div class="col-12 col-md-8">
|
||||
<label class="d-flex justify-content-start align-items-center">نوع مرخصی:</label>
|
||||
<div class="d-block d-sm-flex">
|
||||
<div class="d-flex align-items-center mb-2">
|
||||
<div class="inputGroup-morakhasi-type d-flex flex-sm-column">
|
||||
<div class="d-flex align-items-center my-1">
|
||||
<div class="d-flex align-items-center">
|
||||
<input class="form-check-input LeaveType" type="radio" asp-for="LeaveType" id="paid" value="استحقاقی" checked>
|
||||
<label class="form-check-label" for="paid">
|
||||
استحقاقی
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="my-1">
|
||||
<input class="form-check-input LeaveType" type="radio" asp-for="LeaveType" id="sick" value="استعلاجی">
|
||||
<label class="form-check-label" for="sick">
|
||||
استعلاجی
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="my-1">
|
||||
<input class="form-check-input LeaveType" type="radio" asp-for="LeaveType" id="sick" value="استعلاجی">
|
||||
<label class="form-check-label" for="sick">
|
||||
استعلاجی
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="ms-sm-4" id="dailyType">
|
||||
<div class="ms-sm-4" id="dailyType">
|
||||
<div class="d-flex align-items-center">
|
||||
<label class="d-block d-sm-flex justify-content-center align-items-center" for="inputGroup-morakhasi-time">مدت مرخصی:</label>
|
||||
<div class="inputGroup-morakhasi-time d-flex align-items-center">
|
||||
@@ -92,8 +93,9 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 col-md-4 mt-2 mt-md-0" id="rotatingShiftSection" style="display: none">
|
||||
<div class="col-12 col-md-4 mt-2 mt-md-0 disable" id="rotatingShiftSection">
|
||||
<div>
|
||||
<input type="hidden" asp-for="HasRollCall" id="HasRollCall">
|
||||
<input type="hidden" name="SelectedShift.StartTime" id="SelectedShift_StartTime" />
|
||||
|
||||
@@ -294,6 +294,20 @@ namespace ServiceHost.Areas.Client.Pages.Company.Employees
|
||||
});
|
||||
}
|
||||
|
||||
public async Task<IActionResult> OnGetEmployeeListLeftWorkTemp()
|
||||
{
|
||||
var exists = _leftWorkTempApplication.GetLeftWorksByWorkshopId(_workshopId);
|
||||
|
||||
var employees = (await _employeeApplication.WorkedEmployeesInWorkshopSelectList(_workshopId))
|
||||
.Where(x=> exists.All(a => a.EmployeeId != x.Id)).ToList();
|
||||
|
||||
return new JsonResult(new
|
||||
{
|
||||
success = true,
|
||||
data = employees
|
||||
});
|
||||
}
|
||||
|
||||
public async Task<IActionResult> OnPostCreateEmployeeLeftWork(CreateLeftWorkTemp command)
|
||||
{
|
||||
command.WorkshopId = _workshopId;
|
||||
|
||||
@@ -45,28 +45,29 @@
|
||||
|
||||
<div id="cardSectionLeave" class="card border p-1">
|
||||
<div class="row my-3">
|
||||
<div class="col-12 col-md-8 d-block d-sm-flex">
|
||||
<div class="d-flex align-items-center">
|
||||
<label class="d-flex justify-content-center align-items-center">نوع مرخصی:</label>
|
||||
<div class="inputGroup-morakhasi-type d-flex flex-sm-column">
|
||||
<div class="d-flex align-items-center mb-2">
|
||||
<div class="col-12 col-md-8">
|
||||
<label class="d-flex justify-content-start align-items-center">نوع مرخصی:</label>
|
||||
<div class="d-block d-sm-flex">
|
||||
<div class="d-flex align-items-center mb-2">
|
||||
<div class="inputGroup-morakhasi-type d-flex flex-sm-column">
|
||||
<div class="d-flex align-items-center mb-2">
|
||||
<div>
|
||||
<input class="form-check-input LeaveType" type="radio" asp-for="LeaveType" id="paid" value="استحقاقی" checked>
|
||||
<label class="form-check-label" for="paid">
|
||||
استحقاقی
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<input class="form-check-input LeaveType" type="radio" asp-for="LeaveType" id="paid" value="استحقاقی" checked>
|
||||
<label class="form-check-label" for="paid">
|
||||
استحقاقی
|
||||
<input class="form-check-input LeaveType" type="radio" asp-for="LeaveType" id="sick" value="استعلاجی">
|
||||
<label class="form-check-label" for="sick">
|
||||
استعلاجی
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<input class="form-check-input LeaveType" type="radio" asp-for="LeaveType" id="sick" value="استعلاجی">
|
||||
<label class="form-check-label" for="sick">
|
||||
استعلاجی
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="ms-sm-4" id="dailyType">
|
||||
<div class="ms-sm-4" id="dailyType">
|
||||
<div class="d-flex align-items-center">
|
||||
<label class="d-block d-sm-flex justify-content-center align-items-center" for="inputGroup-morakhasi-time">مدت مرخصی:</label>
|
||||
<div class="inputGroup-morakhasi-time d-flex align-items-center">
|
||||
@@ -82,8 +83,9 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 col-md-4 mt-2 mt-md-0" id="rotatingShiftSection" style="display: none">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 col-md-4 mt-2 mt-md-0 dis" id="rotatingShiftSection">
|
||||
<div>
|
||||
<input type="hidden" asp-for="HasRollCall" id="HasRollCall">
|
||||
<input type="hidden" name="SelectedShift.StartTime" id="SelectedShift_StartTime" />
|
||||
@@ -217,7 +219,7 @@
|
||||
});
|
||||
|
||||
$('#employeeSelect').on('change', function () {
|
||||
$('#rotatingShiftSection').hide();
|
||||
$('#rotatingShiftSection').addClass('disable');
|
||||
$('#HasRollCall').val(false);
|
||||
previousStartDate = "";
|
||||
$('#SelectedShift_StartTime').val('');
|
||||
@@ -237,9 +239,9 @@
|
||||
const dateRegex = /^\d{4}\/\d{2}\/\d{2}$/;
|
||||
if (dateRegex.test(startDateValue) && startDateValue !== previousStartDate) {
|
||||
previousStartDate = startDateValue;
|
||||
rotatingShift(startDateValue);
|
||||
}
|
||||
}
|
||||
rotatingShift();
|
||||
});
|
||||
|
||||
$('#rotatingShift').on('change', function () {
|
||||
@@ -253,6 +255,7 @@
|
||||
$(document).on("change", ".LeaveType", function () {
|
||||
if ($('#paid').is(':checked')) {
|
||||
$('#dailyType').css('visibility', 'visible');
|
||||
rotatingShift();
|
||||
}
|
||||
|
||||
if ($('#sick').is(':checked')) {
|
||||
@@ -262,6 +265,7 @@
|
||||
$('#end_date_estehghaghi').show();
|
||||
$('.time_paid').hide();
|
||||
}
|
||||
rotatingShift();
|
||||
}
|
||||
});
|
||||
|
||||
@@ -270,11 +274,13 @@
|
||||
if ($('#daily').is(':checked')) {
|
||||
$('#end_date_estehghaghi').show();
|
||||
$('.time_paid').hide();
|
||||
rotatingShift();
|
||||
}
|
||||
|
||||
if ($('#hourly').is(':checked')) {
|
||||
$('#end_date_estehghaghi').hide();
|
||||
$('.time_paid').show();
|
||||
rotatingShift();
|
||||
}
|
||||
});
|
||||
//******************** شرط استحقاقی و استعلاجی ********************
|
||||
@@ -871,36 +877,46 @@
|
||||
}
|
||||
});
|
||||
|
||||
function rotatingShift(startDateValue) {
|
||||
|
||||
|
||||
ajaxService.get(hasRotatingShiftAjax, { employeeId: currentEmployeeId, startDateTime: startDateValue })
|
||||
.then(response => {
|
||||
$('#HasRollCall').val(response.hasRollCall);
|
||||
function rotatingShift() {
|
||||
var startDateValue = $('#StartLeave').val();
|
||||
$('#rotatingShiftSection').addClass('disable');
|
||||
|
||||
if (response.hasRollCall) {
|
||||
$('#rotatingShiftSection').show();
|
||||
if ($('#paid').is(':checked') && $('#daily').is(':checked') && startDateValue.length === 10) {
|
||||
|
||||
var shiftsList = response.shifts;
|
||||
var shiftsOptionsHtml = '<option selected disabled>انتخاب شیفت ...</option>';
|
||||
ajaxService.get(hasRotatingShiftAjax, { employeeId: currentEmployeeId, startDateTime: startDateValue })
|
||||
.then(response => {
|
||||
$('#HasRollCall').val(response.hasRollCall);
|
||||
|
||||
shiftsList.forEach(function (item) {
|
||||
shiftsOptionsHtml += `<option value="${item.startTime}|${item.endTime}">${item.startTime} الی ${item.endTime}</option>`;
|
||||
});
|
||||
$('#rotatingShift').html(shiftsOptionsHtml);
|
||||
} else {
|
||||
$('#rotatingShiftSection').hide();
|
||||
if (response.hasRollCall) {
|
||||
$('#rotatingShiftSection').removeClass('disable');
|
||||
|
||||
if (response.message) {
|
||||
$('#StartLeave').addClass('errored');
|
||||
$('.alert-msg').show();
|
||||
$('.alert-msg p').text(response.message);
|
||||
setTimeout(function () {
|
||||
$('.alert-msg').hide();
|
||||
$('.alert-msg p').text("");
|
||||
$('#StartLeave').removeClass("errored");
|
||||
}, 3500);
|
||||
var shiftsList = response.shifts;
|
||||
var shiftsOptionsHtml = '<option selected disabled>انتخاب شیفت ...</option>';
|
||||
|
||||
shiftsList.forEach(function (item) {
|
||||
shiftsOptionsHtml += `<option value="${item.startTime}|${item.endTime}">${item.startTime} الی ${item.endTime}</option>`;
|
||||
});
|
||||
$('#rotatingShift').html(shiftsOptionsHtml);
|
||||
} else {
|
||||
$('#rotatingShiftSection').addClass('disable');
|
||||
|
||||
if (response.message) {
|
||||
$('#StartLeave').addClass('errored');
|
||||
$('.alert-msg').show();
|
||||
$('.alert-msg p').text(response.message);
|
||||
setTimeout(function () {
|
||||
$('.alert-msg').hide();
|
||||
$('.alert-msg p').text("");
|
||||
$('#StartLeave').removeClass("errored");
|
||||
},
|
||||
3500);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
} else {
|
||||
$('#rotatingShiftSection').addClass('disable');
|
||||
}
|
||||
}
|
||||
</script>
|
||||
@@ -71,7 +71,7 @@
|
||||
<script src="~/assetsclient/libs/wordifyfa/wordifyfa.min.js"></script>
|
||||
<script>
|
||||
var antiForgeryToken = $(`@Html.AntiForgeryToken()`).val();
|
||||
var employeeListAjax = `@Url.Page("./EmployeeList", "EmployeeList")`; // EmployeeList Handler
|
||||
var employeeListAjax = `@Url.Page("./EmployeeList", "EmployeeListLeftWorkTemp")`; // EmployeeList Handler
|
||||
var dayOfWeekDataUrl = `@Url.Page("./EmployeeList", "DayOfWeek")`; // EmployeeList Handler
|
||||
var saveLeftWorkAjax = `@Url.Page("./EmployeeList", "CreateEmployeeLeftWork")`; // EmployeeList Handler
|
||||
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
<input type="radio" value="Regular" name="Command.workshopShiftStatus" id="organized" class="radio-workTimeOption">
|
||||
<label for="organized" class="radio-label-workTimeOption w-100">منظم</label>
|
||||
|
||||
<input type="radio" value="Rotating" name="Command.workshopShiftStatus" id="rotating_shift" class="radio-workTimeOption">
|
||||
<input type="radio" value="Rotating" name="Command.workshopShiftStatus" id="rotating_shift" class="radio-workTimeOption">
|
||||
<label for="rotating_shift" class="radio-label-workTimeOption w-100">گردشی</label>
|
||||
|
||||
<input type="radio" value="Irregular" name="Command.workshopShiftStatus" id="disorganized" class="radio-workTimeOption">
|
||||
@@ -210,7 +210,7 @@
|
||||
else
|
||||
{
|
||||
<div class="col-1 d-flex align-items-center justify-content-end">
|
||||
<button type="button" class="btnRemoveTimeWork">
|
||||
<button type="button" class="btnRemoveTimeWorkRS">
|
||||
<svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<circle cx="11" cy="11" r="8.25" stroke="white" />
|
||||
<path d="M6.875 11H15.125" stroke="white" />
|
||||
|
||||
@@ -46,28 +46,29 @@
|
||||
|
||||
<div id="cardSectionLeave" class="card border p-1">
|
||||
<div class="row my-3">
|
||||
<div class="col-12 col-md-8 d-block d-sm-flex">
|
||||
<div class="d-flex align-items-center">
|
||||
<label class="d-flex justify-content-center align-items-center">نوع مرخصی:</label>
|
||||
<div class="inputGroup-morakhasi-type d-flex flex-sm-column">
|
||||
<div class="d-flex align-items-center mb-2">
|
||||
<div class="col-12 col-md-8">
|
||||
<label class="d-flex justify-content-start align-items-center">نوع مرخصی:</label>
|
||||
<div class="d-block d-sm-flex">
|
||||
<div class="d-flex align-items-center mb-2">
|
||||
<div class="inputGroup-morakhasi-type d-flex flex-sm-column">
|
||||
<div class="d-flex align-items-center mb-2">
|
||||
<div>
|
||||
<input class="form-check-input LeaveType" type="radio" asp-for="LeaveType" id="paid" value="استحقاقی" checked>
|
||||
<label class="form-check-label" for="paid">
|
||||
استحقاقی
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<input class="form-check-input LeaveType" type="radio" asp-for="LeaveType" id="paid" value="استحقاقی" checked>
|
||||
<label class="form-check-label" for="paid">
|
||||
استحقاقی
|
||||
<input class="form-check-input LeaveType" type="radio" asp-for="LeaveType" id="sick" value="استعلاجی">
|
||||
<label class="form-check-label" for="sick">
|
||||
استعلاجی
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<input class="form-check-input LeaveType" type="radio" asp-for="LeaveType" id="sick" value="استعلاجی">
|
||||
<label class="form-check-label" for="sick">
|
||||
استعلاجی
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="ms-sm-4" id="dailyType">
|
||||
<div class="ms-sm-4" id="dailyType">
|
||||
<div class="d-flex align-items-center">
|
||||
<label class="d-block d-sm-flex justify-content-center align-items-center" for="inputGroup-morakhasi-time">مدت مرخصی:</label>
|
||||
<div class="inputGroup-morakhasi-time d-flex align-items-center">
|
||||
@@ -83,8 +84,9 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 col-md-4 mt-2 mt-md-0" id="rotatingShiftSection" style="display: none">
|
||||
<div class="col-12 col-md-4 mt-2 mt-md-0 disable" id="rotatingShiftSection">
|
||||
<div>
|
||||
<input type="hidden" asp-for="HasRollCall" id="HasRollCall">
|
||||
<input type="hidden" name="SelectedShift.StartTime" id="SelectedShift_StartTime" asp-for="SelectedShift.StartTime" />
|
||||
|
||||
@@ -583,7 +583,10 @@ namespace ServiceHost.Areas.Client.Pages
|
||||
{
|
||||
var workshopSlug = User.FindFirst("WorkshopSlug")?.Value;
|
||||
long workshopIDecrypt = _passwordHasher.SlugDecrypt(workshopSlug);
|
||||
var employees = await _employeeApplication.WorkedEmployeesInWorkshopSelectList(workshopIDecrypt);
|
||||
var exists = _leftWorkTempApplication.GetLeftWorksByWorkshopId(workshopIDecrypt);
|
||||
|
||||
var employees = (await _employeeApplication.WorkedEmployeesInWorkshopSelectList(workshopIDecrypt))
|
||||
.Where(x => exists.All(a => a.EmployeeId != x.Id)).ToList();
|
||||
|
||||
return new JsonResult(new
|
||||
{
|
||||
|
||||
@@ -37,45 +37,47 @@
|
||||
|
||||
<div id="cardSectionLeave" class="card border p-1 blur">
|
||||
<div class="row my-3">
|
||||
<div class="col-12 col-md-8 d-block d-sm-flex">
|
||||
<div class="d-flex align-items-center">
|
||||
<label class="d-flex justify-content-center align-items-center">نوع مرخصی:</label>
|
||||
<div class="inputGroup-morakhasi-type d-flex flex-sm-column">
|
||||
<div class="d-flex align-items-center mb-2">
|
||||
<div class="col-12 col-md-8">
|
||||
<label class="d-flex justify-content-start align-items-center mb-2">نوع مرخصی:</label>
|
||||
<div class="d-block d-sm-flex">
|
||||
<div class="d-flex align-items-center">
|
||||
<div class="inputGroup-morakhasi-type d-flex flex-sm-column">
|
||||
<div class="d-flex align-items-center mb-2">
|
||||
<div>
|
||||
<input class="form-check-input LeaveType" type="radio" asp-for="LeaveType" id="paid" value="استحقاقی" checked>
|
||||
<label class="form-check-label" for="paid">
|
||||
استحقاقی
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<input class="form-check-input LeaveType" type="radio" asp-for="LeaveType" id="paid" value="استحقاقی" checked>
|
||||
<label class="form-check-label" for="paid">
|
||||
استحقاقی
|
||||
<input class="form-check-input LeaveType" type="radio" asp-for="LeaveType" id="sick" value="استعلاجی">
|
||||
<label class="form-check-label" for="sick">
|
||||
استعلاجی
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<input class="form-check-input LeaveType" type="radio" asp-for="LeaveType" id="sick" value="استعلاجی">
|
||||
<label class="form-check-label" for="sick">
|
||||
استعلاجی
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="ms-sm-4" id="dailyType">
|
||||
<div class="d-flex align-items-center">
|
||||
<label class="d-block d-sm-flex justify-content-center align-items-center" for="inputGroup-morakhasi-time">مدت مرخصی:</label>
|
||||
<div class="inputGroup-morakhasi-time d-flex align-items-center">
|
||||
<input class="form-check-input LeaveTime" type="radio" asp-for="PaidLeaveType" id="daily" value="روزانه" checked>
|
||||
<label class="form-check-label" for="daily">
|
||||
روزانه
|
||||
</label>
|
||||
<div class="ms-sm-4" id="dailyType">
|
||||
<div class="d-flex align-items-center">
|
||||
<label class="d-block d-sm-flex justify-content-center align-items-center" for="inputGroup-morakhasi-time">مدت مرخصی:</label>
|
||||
<div class="inputGroup-morakhasi-time d-flex align-items-center">
|
||||
<input class="form-check-input LeaveTime" type="radio" asp-for="PaidLeaveType" id="daily" value="روزانه" checked>
|
||||
<label class="form-check-label" for="daily">
|
||||
روزانه
|
||||
</label>
|
||||
|
||||
<input class="form-check-input LeaveTime" type="radio" asp-for="PaidLeaveType" id="hourly" value="ساعتی">
|
||||
<label class="form-check-label" for="hourly">
|
||||
ساعتی
|
||||
</label>
|
||||
<input class="form-check-input LeaveTime" type="radio" asp-for="PaidLeaveType" id="hourly" value="ساعتی">
|
||||
<label class="form-check-label" for="hourly">
|
||||
ساعتی
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 col-md-4 mt-2 mt-md-0" id="rotatingShiftSection" style="display: none">
|
||||
<div class="col-12 col-md-4 mt-2 mt-md-0 disable" id="rotatingShiftSection">
|
||||
<div>
|
||||
<input type="hidden" asp-for="HasRollCall" id="HasRollCall">
|
||||
<input type="hidden" name="SelectedShift.StartTime" id="SelectedShift_StartTime" />
|
||||
|
||||
@@ -10,7 +10,6 @@
|
||||
@{
|
||||
string clientVersion = _0_Framework.Application.Version.StyleVersion;
|
||||
var currentAccount = AuthHelper.CurrentAccountInfo();
|
||||
long workshopId = currentAccount.WorkshopList.First(x => x.Slug == currentAccount.WorkshopSlug).Id;
|
||||
int countWorkFlow = 0;/* await WorkFlowApplication.GetCountAllWorkFlows(workshopId); */
|
||||
var viewData = new ViewDataDictionary(new EmptyModelMetadataProvider(), new ModelStateDictionary()) { { "countWorkFlow", countWorkFlow } };
|
||||
}
|
||||
|
||||
@@ -15,7 +15,6 @@
|
||||
@{
|
||||
var currentAccount = AuthHelper.CurrentAccountInfo();
|
||||
var statementInfo = ContractingPartyApp.GetContractingpartyIdByAccountId(currentAccount.Id);
|
||||
long workshopId = currentAccount.WorkshopList.First(x => x.Slug == currentAccount.WorkshopSlug).Id;
|
||||
}
|
||||
|
||||
<!-- Menu Navigation -->
|
||||
|
||||
@@ -5,11 +5,42 @@
|
||||
loadingDiv.show();
|
||||
});
|
||||
|
||||
updateAmountColor();
|
||||
//if (boolPermissionForReports) {
|
||||
// ReportAjaxData();
|
||||
//}
|
||||
});
|
||||
|
||||
function updateAmountColor() {
|
||||
const amountDiv = document.querySelector("#amountSms");
|
||||
const smsDiv = document.getElementById('smsDiv');
|
||||
const stnSmsDiv = document.getElementById('btnSMS');
|
||||
if (!amountDiv) return;
|
||||
|
||||
//const rawText = amountDiv.textContent.replace(/[, ]/g, '').replace('ریال', '');
|
||||
const rawText = amountDiv.textContent.replace(/[, ]/g, '');
|
||||
const amount = parseInt(rawText);
|
||||
|
||||
|
||||
if (amount < 1000) {
|
||||
amountDiv.classList.remove("card-amount-success");
|
||||
amountDiv.classList.add("card-amount-warn");
|
||||
smsDiv.classList.remove("gwb-card-blue");
|
||||
smsDiv.classList.add("gwb-card-red");
|
||||
stnSmsDiv.classList.add("btn-sms-red");
|
||||
stnSmsDiv.classList.remove("btn-sms-green");
|
||||
} else {
|
||||
amountDiv.classList.remove("card-amount-warn");
|
||||
amountDiv.classList.remove("gbt-card-red");
|
||||
amountDiv.classList.add("card-amount-success");
|
||||
smsDiv.classList.add("gwb-card-blue");
|
||||
smsDiv.classList.remove("gwb-card-red");
|
||||
stnSmsDiv.classList.add("btn-sms-green");
|
||||
stnSmsDiv.classList.remove("btn-sms-red");
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
//function ReportAjaxData() {
|
||||
// $.ajax({
|
||||
// async: false,
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
.modal-body {
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
.titleInput {
|
||||
font-size: 14px;
|
||||
color: #4E4E4E;
|
||||
}
|
||||
|
||||
.btn-cancel {
|
||||
padding: 6px 10px;
|
||||
width: 190px;
|
||||
}
|
||||
|
||||
.btn-save {
|
||||
padding: 6px 10px;
|
||||
width: 190px;
|
||||
background-color: #84CC16;
|
||||
border-radius: 5px;
|
||||
color: #ffffff;
|
||||
font-size: 14px;
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
line-height: 24px;
|
||||
}
|
||||
|
||||
.percentageInput {
|
||||
top: 50%;
|
||||
left: 8px;
|
||||
color: #8B8B8B;
|
||||
transform: translate(0, -50%);
|
||||
}
|
||||
@@ -0,0 +1,469 @@
|
||||
.ServiceModal-width {
|
||||
max-width: 710px;
|
||||
}
|
||||
|
||||
.sticky {
|
||||
position: sticky;
|
||||
top: 5px;
|
||||
z-index: 10;
|
||||
}
|
||||
|
||||
.goToTop {
|
||||
position: fixed;
|
||||
bottom: -10px;
|
||||
margin-right: 100px;
|
||||
z-index: 100;
|
||||
color: #fff;
|
||||
background-color: #25acacd6;
|
||||
}
|
||||
|
||||
.goToTop:hover {
|
||||
color: #fff;
|
||||
background-color: #2ca4a4;
|
||||
}
|
||||
|
||||
.btn-create {
|
||||
background-color: #84CC16;
|
||||
border-radius: 7px;
|
||||
color: #ffffff;
|
||||
padding: 3px 12px;
|
||||
font-size: 12px;
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
line-height: 24px;
|
||||
}
|
||||
|
||||
.Rtable .Rtable-row .Rtable-cell.column-heading {
|
||||
height: 100%;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.service-list .Rtable-cell.width2,
|
||||
.service-list .Rtable-cell.width3,
|
||||
.service-list .Rtable-cell.width4,
|
||||
.service-list .Rtable-cell.width5 {
|
||||
background: #16b7971f;
|
||||
padding: 8px 0;
|
||||
}
|
||||
|
||||
.service-list .Rtable-cell.width6,
|
||||
.service-list .Rtable-cell.width7 {
|
||||
background: #359bb130;
|
||||
padding: 8px 0;
|
||||
}
|
||||
|
||||
.service-list .Rtable-cell.width8,
|
||||
.service-list .Rtable-cell.width9,
|
||||
.service-list .Rtable-cell.width10 {
|
||||
background: #d3d00836;
|
||||
padding: 8px 0;
|
||||
}
|
||||
|
||||
.table-service .width1,
|
||||
.table-service .service-list .width1 {
|
||||
width: 5% !important;
|
||||
}
|
||||
|
||||
.table-service .width2,
|
||||
.table-service .service-list .width2 {
|
||||
width: 10% !important;
|
||||
}
|
||||
|
||||
.table-service .width3,
|
||||
.table-service .service-list .width3 {
|
||||
width: 10% !important;
|
||||
}
|
||||
|
||||
.table-service .width4,
|
||||
.table-service .service-list .width4 {
|
||||
width: 10% !important;
|
||||
}
|
||||
|
||||
.table-service .width5,
|
||||
.table-service .service-list .width5 {
|
||||
width: 10% !important;
|
||||
}
|
||||
|
||||
.table-service .width6,
|
||||
.table-service .service-list .width6 {
|
||||
width: 11% !important;
|
||||
}
|
||||
|
||||
.table-service .width7,
|
||||
.table-service .service-list .width7 {
|
||||
width: 11% !important;
|
||||
}
|
||||
|
||||
.table-service .width8,
|
||||
.table-service .service-list .width8 {
|
||||
width: 11% !important;
|
||||
}
|
||||
|
||||
.table-service .width9,
|
||||
.table-service .service-list .width9 {
|
||||
width: 11% !important;
|
||||
}
|
||||
|
||||
.table-service .width10,
|
||||
.table-service .service-list .width10 {
|
||||
width: 11% !important;
|
||||
}
|
||||
|
||||
.table-service .width11,
|
||||
.table-service .service-list .width11 {
|
||||
width: 95% !important;
|
||||
}
|
||||
|
||||
.table-service .service-list .width3 .Rtable-cell--content,
|
||||
.table-service .service-list .width7 .Rtable-cell--content {
|
||||
text-align: center;
|
||||
text-align: -webkit-center;
|
||||
}
|
||||
|
||||
.table-service .ticket-list .green {
|
||||
background-color: #C4FFC2;
|
||||
}
|
||||
|
||||
.badget-inprogress {
|
||||
color: #ffffff;
|
||||
background-color: #EAB308;
|
||||
width: 60%;
|
||||
text-align: center;
|
||||
padding: 3px 6px;
|
||||
border-radius: 30px;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.badget-open {
|
||||
color: #353535;
|
||||
background-color: #E2E8F0;
|
||||
width: 60%;
|
||||
text-align: center;
|
||||
padding: 3px 6px;
|
||||
border-radius: 30px;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.badget-answer {
|
||||
color: #ffffff;
|
||||
background-color: #60A5FA;
|
||||
width: 60%;
|
||||
text-align: center;
|
||||
padding: 3px 6px;
|
||||
border-radius: 30px;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.badget-closed {
|
||||
color: #ffffff;
|
||||
background-color: #84CC16;
|
||||
width: 60%;
|
||||
text-align: center;
|
||||
padding: 3px 6px;
|
||||
border-radius: 30px;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
|
||||
.btn-ticket-detail {
|
||||
background: rgba(93, 209, 52, 0.3);
|
||||
border: 0.5px solid #2E8F2F54;
|
||||
border-radius: 6px;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
color: #ffffff;
|
||||
text-align: right;
|
||||
font-size: 11px;
|
||||
padding: 3px;
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
line-height: normal;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.btn-ticket-task {
|
||||
background: #C9EEFE;
|
||||
border: 0.5px solid #FFFFFF;
|
||||
border-radius: 6px;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
color: #ffffff;
|
||||
text-align: right;
|
||||
font-size: 11px;
|
||||
padding: 3px;
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
line-height: normal;
|
||||
white-space: nowrap;
|
||||
margin: 0 2px;
|
||||
}
|
||||
|
||||
.btn-ticket-edit {
|
||||
background: rgba(52, 209, 209, 0.3);
|
||||
border-radius: 6px;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
color: #009EE2;
|
||||
text-align: right;
|
||||
font-size: 11px;
|
||||
padding: 3px;
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
line-height: normal;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.btn-ticket-delete {
|
||||
background: rgba(209, 50, 50, 0.15);
|
||||
border-radius: 6px;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
color: #BF3737;
|
||||
text-align: right;
|
||||
font-size: 11px;
|
||||
padding: 3px;
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
line-height: normal;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.btn-ticket-detail:hover {
|
||||
background: rgba(93, 209, 52, 0.4);
|
||||
}
|
||||
|
||||
.btn-ticket-edit:hover {
|
||||
background: rgba(52, 209, 209, 0.5);
|
||||
}
|
||||
|
||||
.btn-ticket-delete:hover {
|
||||
background: rgba(209, 50, 50, 0.3);
|
||||
}
|
||||
|
||||
|
||||
.btn-ticket-more {
|
||||
background: #C7F8F8;
|
||||
border: 1px solid #0B5959;
|
||||
border-radius: 7px;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
color: #0B5959;
|
||||
text-align: right;
|
||||
font-size: 11px;
|
||||
padding: 3px;
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
line-height: normal;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.btn-ticket-more:hover {
|
||||
background: #ACD2D2;
|
||||
}
|
||||
|
||||
.table-service .Rtable .Rtable-row .Rtable-cell .Rtable-cell--content > span {
|
||||
border-radius: 5px;
|
||||
background: rgba(87, 227, 227, 0.25);
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
display: inline-block;
|
||||
padding: 0 10px;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.operations-btns .span1 {
|
||||
color: #0B5959;
|
||||
font-size: 14px;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.operations-btns .span2 {
|
||||
color: #0B5959;
|
||||
font-size: 13px;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.black-background {
|
||||
background-color: #E3E3E3 !important;
|
||||
}
|
||||
|
||||
.status {
|
||||
display: inline-block;
|
||||
padding: 6px;
|
||||
width: 60px;
|
||||
border-radius: 20px;
|
||||
color: #ffffff;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.status-green {
|
||||
background-color: #84cc16;
|
||||
}
|
||||
|
||||
.status-red {
|
||||
background-color: #ef4444;
|
||||
}
|
||||
|
||||
@media (max-width: 1380px) {
|
||||
.badget-inprogress,
|
||||
.badget-answer,
|
||||
.badget-closed,
|
||||
.badget-open {
|
||||
width: 110px;
|
||||
font-size: 10px;
|
||||
}
|
||||
|
||||
.Rtable .Rtable-row .Rtable-cell .Rtable-cell--content {
|
||||
font-size: 10px;
|
||||
}
|
||||
|
||||
.table-service .Rtable-cell.column-heading {
|
||||
font-size: 12px !important;
|
||||
}
|
||||
|
||||
/*.table-service .width1,
|
||||
.table-service .ticket-list .width1 {
|
||||
width: 5% !important;
|
||||
}*/
|
||||
|
||||
.table-service .Rtable-cell.column-heading.width2 {
|
||||
width: 18% !important;
|
||||
}
|
||||
|
||||
.table-service .width2,
|
||||
.table-service .ticket-list .width2 {
|
||||
width: 12% !important;
|
||||
}
|
||||
|
||||
/* .table-service .width3,
|
||||
.table-service .ticket-list .width3 {
|
||||
width: 5% !important;
|
||||
}*/
|
||||
|
||||
/*/*.table-service .width3,
|
||||
.table-service .ticket-list .width3 {
|
||||
width: 17% !important;
|
||||
text-align: center !important;
|
||||
}
|
||||
|
||||
.table-service .width4,
|
||||
.table-service .ticket-list .width4 {
|
||||
width: 15% !important;
|
||||
}
|
||||
|
||||
.table-service .width5,
|
||||
.table-service .ticket-list .width5 {
|
||||
width: 15% !important;*/
|
||||
/*text-align: center !important;*/
|
||||
/*}*/
|
||||
|
||||
.table-service .ticket-list .width3 .Rtable-cell--content {
|
||||
text-align: center;
|
||||
text-align: -webkit-center;
|
||||
}
|
||||
|
||||
.table-service .ticket-list .Rtable-cell--content {
|
||||
font-size: 11px;
|
||||
}
|
||||
|
||||
.table-service .width6,
|
||||
.table-service .ticket-list .width6 {
|
||||
width: 16% !important;
|
||||
}
|
||||
|
||||
.table-service .width7,
|
||||
.table-service .ticket-list .width7 {
|
||||
width: 8% !important;
|
||||
text-align: center !important;
|
||||
}
|
||||
|
||||
.table-service .width8,
|
||||
.table-service .ticket-list .width8 {
|
||||
width: 5% !important;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@media (max-width: 992px) {
|
||||
.table-service .width1 {
|
||||
width: 4% !important;
|
||||
}
|
||||
|
||||
.table-service .width7, .table-service .ticket-list .width7 {
|
||||
width: 4% !important;
|
||||
text-align: end !important;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 767px) {
|
||||
.goToTop {
|
||||
position: fixed;
|
||||
bottom: 54px;
|
||||
margin-right: 39%;
|
||||
z-index: 100;
|
||||
color: #fff;
|
||||
background-color: #25acac70;
|
||||
}
|
||||
|
||||
.Rtable--collapse .Rtable-row {
|
||||
outline: 0;
|
||||
border: 1px solid #ECFFFF;
|
||||
padding: 0;
|
||||
margin: 5px 0px 0;
|
||||
}
|
||||
|
||||
.Rtable--collapse .Rtable-row .Rtable-cell.width3 .Rtable-cell--content {
|
||||
justify-content: right;
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.Rtable--collapse .Rtable-row .Rtable-cell.width8 {
|
||||
justify-content: end;
|
||||
}
|
||||
|
||||
.Rtable--collapse .Rtable-row .Rtable-cell.width8 {
|
||||
justify-content: end;
|
||||
}
|
||||
|
||||
.Rtable--collapse .Rtable-row .Rtable-cell.width5 {
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.Rtable--collapse .Rtable-row .Rtable-cell.width4 {
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.Rtable--collapse .Rtable-row .Rtable-cell.width8 .Rtable-cell--content {
|
||||
justify-content: end;
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.Rtable--collapse .Rtable-row .Rtable-cell {
|
||||
border-bottom: 0;
|
||||
}
|
||||
|
||||
.badget-inprogress,
|
||||
.badget-answer,
|
||||
.badget-closed {
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
.btn-ticket-detail {
|
||||
border: 1px solid #248826;
|
||||
border-radius: 8px;
|
||||
color: #248826;
|
||||
background-color: #B7EABA;
|
||||
}
|
||||
|
||||
.table-service .width1,
|
||||
.table-service .service-list .width1 {
|
||||
width: 10% !important;
|
||||
}
|
||||
|
||||
.table-service .width11,
|
||||
.table-service .service-list .width11 {
|
||||
width: 90% !important;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,62 @@
|
||||
var ajax = new AjaxService(antiForgeryToken);
|
||||
$(document).ready(function () {
|
||||
$(".select2Option").select2({
|
||||
language: "fa",
|
||||
dir: "rtl",
|
||||
dropdownParent: $('#MainModal'),
|
||||
templateResult: function (data, container) {
|
||||
if (data.element) {
|
||||
$(container).addClass($(data.element).attr("class"));
|
||||
}
|
||||
return data.text;
|
||||
}
|
||||
});
|
||||
|
||||
$(document).ready(function () {
|
||||
$('.numeric-only').on('input', function () {
|
||||
let element = $(this);
|
||||
let value = convertPersianNumbersToEnglish(element.val());
|
||||
|
||||
value = value.replace(/[^0-9]/g, '');
|
||||
|
||||
element.val(value);
|
||||
});
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
function SaveDataAjax() {
|
||||
var loading = $('#createData .spinner-loading');
|
||||
|
||||
var data = $('#create-form').serialize();
|
||||
|
||||
ajax.post(createInstitutionPlanUrl, data, false)
|
||||
.then(response => {
|
||||
if (response.success) {
|
||||
loading.show();
|
||||
$('.alert-success-msg').show();
|
||||
$('.alert-success-msg p').text(response.message);
|
||||
setTimeout(function () {
|
||||
$('.alert-success-msg').hide();
|
||||
$('.alert-success-msg p').text('');
|
||||
}, 2000);
|
||||
|
||||
pageIndexMain = 0;
|
||||
$('#LoadDataOfServices').html('<div></div>');
|
||||
ajaxDataService();
|
||||
|
||||
loading.hide();
|
||||
$('#MainModal').modal('hide');
|
||||
|
||||
} else {
|
||||
$('.alert-msg').show();
|
||||
$('.alert-msg p').text(response.message);
|
||||
setTimeout(function () {
|
||||
$('.alert-msg').hide();
|
||||
$('.alert-msg p').text('');
|
||||
}, 3500);
|
||||
|
||||
loading.hide();
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -0,0 +1,211 @@
|
||||
var ajax = new AjaxService(antiForgeryToken);
|
||||
var pageIndexMain = 0;
|
||||
|
||||
$(document).on('click', ".openAction", function () {
|
||||
if (window.matchMedia('(max-width: 767px)').matches) {
|
||||
$(this).next().find(".operations-btns").slideToggle(500);
|
||||
$(".operations-btns").not($(this).next().find(".operations-btns")).slideUp(500);
|
||||
}
|
||||
});
|
||||
|
||||
$(document).ready(function () {
|
||||
ajaxDataService();
|
||||
|
||||
const { countPerson } = getSearchParamsFromUrl();
|
||||
$('#countPersonInput').val(countPerson);
|
||||
$('#countPersonInputMobile').val(countPerson);
|
||||
|
||||
if (countPerson !== "") {
|
||||
$('.btn-clear-filter').removeClass('disable');
|
||||
} else {
|
||||
$('.btn-clear-filter').addClass('disable');
|
||||
}
|
||||
|
||||
$(window).scroll(function () {
|
||||
if ($(window).scrollTop() + $(window).height() > $(document).height() - 600) {
|
||||
ajaxDataService();
|
||||
}
|
||||
|
||||
if ($(this).scrollTop() > 100) {
|
||||
$('.goToTop').show().fadeIn();
|
||||
} else {
|
||||
$('.goToTop').fadeOut().hide();
|
||||
}
|
||||
});
|
||||
|
||||
$('.goToTop').on('click', function () {
|
||||
$('html, body').animate({ scrollTop: 0 }, 360);
|
||||
return false;
|
||||
});
|
||||
|
||||
$('.btn-search-click').click(function () {
|
||||
var isMobile = window.matchMedia('(max-width: 767px)').matches;
|
||||
var inputCountPerson = isMobile ? $('#countPersonInputMobile') : $('#countPersonInput');
|
||||
|
||||
if (inputCountPerson.val().trim() === '') {
|
||||
inputCountPerson.addClass('errored');
|
||||
$('.alert-msg').show();
|
||||
$('.alert-msg p').text('لطفا تعداد پرسنل وارد کنید.');
|
||||
|
||||
setTimeout(function () {
|
||||
$('.alert-msg').hide();
|
||||
$('.alert-msg p').text('');
|
||||
inputCountPerson.removeClass('errored');
|
||||
}, 3500);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
const { countPerson } = getSearchParamsFromUrl();
|
||||
var countPersonParams = countPerson;
|
||||
|
||||
if (countPersonParams !== '') {
|
||||
$('.btn-clear-filter').removeClass('disable');
|
||||
} else {
|
||||
$('.btn-clear-filter').addClass('disable');
|
||||
}
|
||||
|
||||
paramsUrl(inputCountPerson.val());
|
||||
|
||||
pageIndexMain = 0;
|
||||
$('#LoadDataOfServices').html('<div></div>');
|
||||
ajaxDataService();
|
||||
|
||||
if (isMobile) {
|
||||
$('#searchModal').modal('hide');
|
||||
}
|
||||
|
||||
});
|
||||
});
|
||||
|
||||
function ajaxDataService() {
|
||||
var htmlContent = '';
|
||||
const { countPerson } = getSearchParamsFromUrl();
|
||||
ajax.get(loadInstitutionPlanListUrl, { pageIndex: pageIndexMain, countPeron: countPerson }, false)
|
||||
.then(response => {
|
||||
pageIndexMain = pageIndexMain + response.pageIndex;
|
||||
var data = response.data;
|
||||
|
||||
if (data.length > 0) {
|
||||
data.forEach(function (item, index) {
|
||||
htmlContent += `
|
||||
<div class="service-list Rtable-row align-items-center position-relative openAction p-0">
|
||||
<div class="Rtable-cell d-block width1">
|
||||
<div class="Rtable-cell--content text-center">${item.countPerson}</div>
|
||||
</div>
|
||||
<div class="Rtable-cell d-md-block d-none width2">
|
||||
<div class="Rtable-cell--content text-center">${item.contractAndCheckout}</div>
|
||||
</div>
|
||||
<div class="Rtable-cell d-md-block d-none width3">
|
||||
<div class="Rtable-cell--content text-center">${item.insurance}</div>
|
||||
</div>
|
||||
<div class="Rtable-cell d-md-block d-none width4">
|
||||
<div class="Rtable-cell--content text-center">${item.rollCall}</div>
|
||||
</div>
|
||||
<div class="Rtable-cell d-md-block d-none width5">
|
||||
<div class="Rtable-cell--content text-center">${item.customizeCheckout}</div>
|
||||
</div>
|
||||
<div class="Rtable-cell d-md-block d-none width6">
|
||||
<div class="Rtable-cell--content text-center">${item.contractAndCheckoutInPerson}</div>
|
||||
</div>
|
||||
<div class="Rtable-cell d-md-block d-none width7">
|
||||
<div class="Rtable-cell--content text-center">${item.insuranceInPerson}</div>
|
||||
</div>
|
||||
<div class="Rtable-cell d-md-block d-none width8">
|
||||
<div class="Rtable-cell--content text-center">${item.inPersonSumAmountStr}</div>
|
||||
</div>
|
||||
<div class="Rtable-cell d-md-block d-none width9">
|
||||
<div class="Rtable-cell--content text-center">${item.onlineOnlySumAmountStr}</div>
|
||||
</div>
|
||||
<div class="Rtable-cell d-md-block d-none width10">
|
||||
<div class="Rtable-cell--content text-center">${item.onlineAndInPersonSumAmountStr}</div>
|
||||
</div>
|
||||
|
||||
<div class="Rtable-cell d-md-none d-block width11">
|
||||
<div class="Rtable-cell--content text-end">
|
||||
<div class="my-1">
|
||||
<span style="background-color: #B6F2E1;padding: 5px;border-radius: 4px;">عملیات بیشتر</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="operation-div w-100">
|
||||
<div class="operations-btns">
|
||||
<div class="row p-0">
|
||||
<div class="d-flex align-items-center justify-content-between">
|
||||
<span class="span1">تعداد پرسنل</span>
|
||||
<span class="span1">${item.countPerson}</span>
|
||||
</div>
|
||||
<div class="d-flex align-items-center justify-content-between">
|
||||
<span class="span2">مبلغ قرداد و تصفیه</span>
|
||||
<span class="span2">${item.contractAndCheckout} ریال</span>
|
||||
</div>
|
||||
<div class="d-flex align-items-center justify-content-between">
|
||||
<span class="span2">خدمات بیمه</span>
|
||||
<span class="span2">${item.insurance} ریال</span>
|
||||
</div>
|
||||
<div class="d-flex align-items-center justify-content-between">
|
||||
<span class="span2">خدمات خصور و غیاب</span>
|
||||
<span class="span2">${item.rollCall} ریال</span>
|
||||
</div>
|
||||
<div class="d-flex align-items-center justify-content-between">
|
||||
<span class="span2">خدمات فیش حقوقی غیر رسمی</span>
|
||||
<span class="span2">${item.customizeCheckout} ریال</span>
|
||||
</div>
|
||||
<div class="d-flex align-items-center justify-content-between">
|
||||
<span class="span2">خدمات حضوری قرارداد و تصفیه</span>
|
||||
<span class="span2">${item.contractAndCheckoutInPerson} ریال</span>
|
||||
</div>
|
||||
<div class="d-flex align-items-center justify-content-between">
|
||||
<span class="span2">خدمات حضور بیمه</span>
|
||||
<span class="span2">${item.insuranceInPerson} ریال</span>
|
||||
</div>
|
||||
<div class="d-flex align-items-center justify-content-between">
|
||||
<span class="span2">خدمات حضوری موسسه</span>
|
||||
<span class="span2">${item.inPersonSumAmountStr} ریال</span>
|
||||
</div>
|
||||
<div class="d-flex align-items-center justify-content-between">
|
||||
<span class="span2">مبلغ کل خدمات سامانه بدون خدمات خصوری</span>
|
||||
<span class="span2">${item.onlineOnlySumAmountStr} ریال</span>
|
||||
</div>
|
||||
<div class="d-flex align-items-center justify-content-between">
|
||||
<span class="span2">مبلغ کل خدمات سامانه + خدمات خصوری</span>
|
||||
<span class="span2">${item.onlineAndInPersonSumAmountStr} ریال</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
`;
|
||||
});
|
||||
$('#LoadDataOfServices').append(htmlContent);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function openCreateModal() {
|
||||
AjaxUrlContentModal(showModalNewServiceUrl);
|
||||
}
|
||||
|
||||
function paramsUrl(countPerson) {
|
||||
const params = new URLSearchParams();
|
||||
let hasAnyFilter = false;
|
||||
|
||||
if (countPerson !== '') {
|
||||
params.set("count-person", countPerson);
|
||||
hasAnyFilter = true;
|
||||
}
|
||||
|
||||
const newUrl = hasAnyFilter
|
||||
? `${window.location.origin}/AdminNew/Company/ServiceAmountsManagement?${params.toString()}`
|
||||
: `${window.location.origin}/AdminNew/Company/ServiceAmountsManagement`;
|
||||
|
||||
window.history.pushState({}, '', newUrl);
|
||||
}
|
||||
|
||||
function getSearchParamsFromUrl() {
|
||||
const urlParams = new URLSearchParams(window.location.search);
|
||||
|
||||
return {
|
||||
countPerson : urlParams.get("count-person") || ""
|
||||
};
|
||||
}
|
||||
@@ -6,7 +6,7 @@
|
||||
border-radius: 7px;
|
||||
}
|
||||
.modal-content {
|
||||
height: 890px;
|
||||
height: 720px;
|
||||
}
|
||||
|
||||
.modal-body {
|
||||
|
||||
@@ -48,7 +48,8 @@
|
||||
background-color: #F6F6F6;
|
||||
font-size: 13px;
|
||||
font-weight: 500;
|
||||
height: 140px;
|
||||
/* height: 150px !important;*/
|
||||
/* height: 53px !important;*/
|
||||
}
|
||||
|
||||
.tm-create .upload-voice-container {
|
||||
|
||||
@@ -153,7 +153,7 @@ $(document).ready(function () {
|
||||
|
||||
$("#normalTask").prop("checked", true);
|
||||
$(".scheduleTask").hide();
|
||||
$(".tm-create .tm-textarea").css("height", "335px");
|
||||
$(".tm-create .tm-textarea").css("height", "160px");
|
||||
$(".tm-create .upload-voice-container").css("height", "335px");
|
||||
|
||||
|
||||
@@ -163,7 +163,8 @@ $(document).ready(function () {
|
||||
$("#normalTask").prop("checked", true);
|
||||
|
||||
$(".scheduleTask").hide();
|
||||
$(".tm-create .tm-textarea").css("height", "335px");
|
||||
$(".tm-create .tm-textarea").css("height", "160px");
|
||||
|
||||
$(".tm-create .upload-voice-container").css("height", "335px");
|
||||
});
|
||||
$("#scheduleTask").click(function () {
|
||||
@@ -171,7 +172,7 @@ $(document).ready(function () {
|
||||
$("#scheduleTask").prop("checked", true);
|
||||
|
||||
$(".scheduleTask").show();
|
||||
$(".tm-create .tm-textarea").css("height", "227px");
|
||||
$(".tm-create .tm-textarea").css("height", "53px");
|
||||
$(".tm-create .upload-voice-container").css("height", "227px");
|
||||
|
||||
});
|
||||
|
||||
BIN
ServiceHost/wwwroot/AssetsClient/images/sms-icon.png
Normal file
BIN
ServiceHost/wwwroot/AssetsClient/images/sms-icon.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.6 KiB |
@@ -1697,6 +1697,32 @@ function showExcelAllModal() {
|
||||
}
|
||||
|
||||
function downloadExcelAll() {
|
||||
var year = $('#Year').val();
|
||||
var month = $('#Month').val();
|
||||
|
||||
if (year === '0' || month === '0') {
|
||||
$('#dropdown-year').addClass("errored");
|
||||
$('#dropdown-month').addClass("errored");
|
||||
$('.alert-msg').show();
|
||||
$('.alert-msg p').text('لطفا سال و ماه را انتخاب نموده و جستجو نمایید');
|
||||
setTimeout(function () {
|
||||
$('.alert-msg').hide();
|
||||
$('.alert-msg p').text('');
|
||||
$('#dropdown-year').removeClass("errored");
|
||||
$('#dropdown-month').removeClass("errored");
|
||||
}, 3500);
|
||||
return
|
||||
}
|
||||
|
||||
if (!($('.foo:checkbox').is(":checked"))) {
|
||||
$('.alert-msg').show();
|
||||
$('.alert-msg p').text('هیچ موردی انتخاب نشده است.');
|
||||
setTimeout(function () {
|
||||
$('.alert-msg').hide();
|
||||
$('.alert-msg p').text('');
|
||||
}, 3500);
|
||||
return
|
||||
}
|
||||
var idlist = "";
|
||||
$('.foo').each(function () {
|
||||
if ($(this).is(":checked")) {
|
||||
|
||||
@@ -1681,6 +1681,33 @@ function showExcelAllModal() {
|
||||
}
|
||||
|
||||
function downloadExcelAll() {
|
||||
var year = $('#Year').val();
|
||||
var month = $('#Month').val();
|
||||
|
||||
if (year === '0' || month === '0') {
|
||||
$('#dropdown-year').addClass("errored");
|
||||
$('#dropdown-month').addClass("errored");
|
||||
$('.alert-msg').show();
|
||||
$('.alert-msg p').text('لطفا سال و ماه را انتخاب نموده و جستجو نمایید');
|
||||
setTimeout(function () {
|
||||
$('.alert-msg').hide();
|
||||
$('.alert-msg p').text('');
|
||||
$('#dropdown-year').removeClass("errored");
|
||||
$('#dropdown-month').removeClass("errored");
|
||||
}, 3500);
|
||||
return
|
||||
}
|
||||
|
||||
if (!($('.foo:checkbox').is(":checked"))) {
|
||||
$('.alert-msg').show();
|
||||
$('.alert-msg p').text('هیچ موردی انتخاب نشده است.');
|
||||
setTimeout(function () {
|
||||
$('.alert-msg').hide();
|
||||
$('.alert-msg p').text('');
|
||||
}, 3500);
|
||||
return
|
||||
}
|
||||
|
||||
var idlist = "";
|
||||
$('.foo').each(function () {
|
||||
if ($(this).is(":checked")) {
|
||||
|
||||
@@ -33,7 +33,7 @@ $(document).ready(function () {
|
||||
document.getElementById("MainModal").style.visibility = "visible";
|
||||
|
||||
$('#employeeSelectList').on('change', function () {
|
||||
$('#rotatingShiftSection').hide();
|
||||
$('#rotatingShiftSection').addClass('disable');
|
||||
$('#HasRollCall').val(false);
|
||||
previousStartDate = "";
|
||||
$('#SelectedShift_StartTime').val('');
|
||||
@@ -53,9 +53,9 @@ $(document).ready(function () {
|
||||
const dateRegex = /^\d{4}\/\d{2}\/\d{2}$/;
|
||||
if (dateRegex.test(startDateValue) && startDateValue !== previousStartDate) {
|
||||
previousStartDate = startDateValue;
|
||||
rotatingShift(startDateValue);
|
||||
}
|
||||
}
|
||||
rotatingShift();
|
||||
});
|
||||
|
||||
$('#rotatingShift').on('change', function () {
|
||||
@@ -82,6 +82,7 @@ $(document).ready(function () {
|
||||
$(document).on("change", ".LeaveType", function () {
|
||||
if ($('#paid').is(':checked')) {
|
||||
$('#dailyType').css('visibility', 'visible');
|
||||
rotatingShift();
|
||||
}
|
||||
|
||||
if ($('#sick').is(':checked')) {
|
||||
@@ -91,6 +92,7 @@ $(document).ready(function () {
|
||||
$('#end_date_estehghaghi').show();
|
||||
$('.time_paid').hide();
|
||||
}
|
||||
rotatingShift();
|
||||
}
|
||||
});
|
||||
|
||||
@@ -99,11 +101,13 @@ $(document).ready(function () {
|
||||
if ($('#daily').is(':checked')) {
|
||||
$('#end_date_estehghaghi').show();
|
||||
$('.time_paid').hide();
|
||||
rotatingShift();
|
||||
}
|
||||
|
||||
if ($('#hourly').is(':checked')) {
|
||||
$('#end_date_estehghaghi').hide();
|
||||
$('.time_paid').show();
|
||||
rotatingShift();
|
||||
}
|
||||
});
|
||||
//******************** شرط استحقاقی و استعلاجی ********************
|
||||
@@ -643,36 +647,46 @@ function ajaxPersonals() {
|
||||
});
|
||||
}
|
||||
|
||||
function rotatingShift(startDateValue) {
|
||||
|
||||
ajaxService.get(hasRotatingShiftAjax, { employeeId: currentEmployeeId, startDateTime: startDateValue })
|
||||
.then(response => {
|
||||
$('#HasRollCall').val(response.hasRollCall);
|
||||
|
||||
if (response.hasRollCall) {
|
||||
$('#rotatingShiftSection').show();
|
||||
|
||||
var shiftsList = response.shifts;
|
||||
var shiftsOptionsHtml = '<option selected disabled>انتخاب شیفت ...</option>';
|
||||
function rotatingShift() {
|
||||
var startDateValue = $('#StartLeave').val();
|
||||
$('#rotatingShiftSection').addClass('disable');
|
||||
|
||||
shiftsList.forEach(function (item) {
|
||||
shiftsOptionsHtml += `<option value="${item.startTime}|${item.endTime}">${item.startTime} الی ${item.endTime}</option>`;
|
||||
});
|
||||
$('#rotatingShift').html(shiftsOptionsHtml);
|
||||
} else {
|
||||
$('#rotatingShiftSection').hide();
|
||||
if ($('#paid').is(':checked') && $('#daily').is(':checked') && startDateValue.length === 10) {
|
||||
|
||||
if (response.message) {
|
||||
$('#StartLeave').addClass('errored');
|
||||
$('.alert-msg').show();
|
||||
$('.alert-msg p').text(response.message);
|
||||
setTimeout(function () {
|
||||
$('.alert-msg').hide();
|
||||
$('.alert-msg p').text("");
|
||||
$('#StartLeave').removeClass("errored");
|
||||
}, 3500);
|
||||
ajaxService.get(hasRotatingShiftAjax, { employeeId: currentEmployeeId, startDateTime: startDateValue })
|
||||
.then(response => {
|
||||
$('#HasRollCall').val(response.hasRollCall);
|
||||
|
||||
if (response.hasRollCall) {
|
||||
$('#rotatingShiftSection').removeClass('disable');
|
||||
|
||||
var shiftsList = response.shifts;
|
||||
var shiftsOptionsHtml = '<option selected disabled>انتخاب شیفت ...</option>';
|
||||
|
||||
shiftsList.forEach(function (item) {
|
||||
shiftsOptionsHtml += `<option value="${item.startTime}|${item.endTime}">${item.startTime} الی ${item.endTime}</option>`;
|
||||
});
|
||||
$('#rotatingShift').html(shiftsOptionsHtml);
|
||||
} else {
|
||||
$('#rotatingShiftSection').addClass('disable');
|
||||
|
||||
if (response.message) {
|
||||
$('#StartLeave').addClass('errored');
|
||||
$('.alert-msg').show();
|
||||
$('.alert-msg p').text(response.message);
|
||||
setTimeout(function () {
|
||||
$('.alert-msg').hide();
|
||||
$('.alert-msg p').text("");
|
||||
$('#StartLeave').removeClass("errored");
|
||||
},
|
||||
3500);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
} else {
|
||||
$('#rotatingShiftSection').addClass('disable');
|
||||
}
|
||||
}
|
||||
@@ -23,7 +23,7 @@ $(document).ready(function () {
|
||||
});
|
||||
|
||||
$('#employeeSelect').on('change', function () {
|
||||
$('#rotatingShiftSection').hide();
|
||||
$('#rotatingShiftSection').addClass('disable');
|
||||
$('#HasRollCall').val(false);
|
||||
previousStartDate = "";
|
||||
$('#SelectedShift_StartTime').val('');
|
||||
@@ -43,9 +43,9 @@ $(document).ready(function () {
|
||||
const dateRegex = /^\d{4}\/\d{2}\/\d{2}$/;
|
||||
if (dateRegex.test(startDateValue) && startDateValue !== previousStartDate) {
|
||||
previousStartDate = startDateValue;
|
||||
rotatingShift(startDateValue);
|
||||
}
|
||||
}
|
||||
rotatingShift();
|
||||
});
|
||||
|
||||
$('#rotatingShift').on('change', function () {
|
||||
@@ -59,6 +59,7 @@ $(document).ready(function () {
|
||||
$(document).on("change", ".LeaveType", function () {
|
||||
if ($('#paid').is(':checked')) {
|
||||
$('#dailyType').css('visibility', 'visible');
|
||||
rotatingShift();
|
||||
}
|
||||
|
||||
if ($('#sick').is(':checked')) {
|
||||
@@ -68,6 +69,7 @@ $(document).ready(function () {
|
||||
$('#end_date_estehghaghi').show();
|
||||
$('.time_paid').hide();
|
||||
}
|
||||
rotatingShift();
|
||||
}
|
||||
});
|
||||
|
||||
@@ -76,11 +78,13 @@ $(document).ready(function () {
|
||||
if ($('#daily').is(':checked')) {
|
||||
$('#end_date_estehghaghi').show();
|
||||
$('.time_paid').hide();
|
||||
rotatingShift();
|
||||
}
|
||||
|
||||
if ($('#hourly').is(':checked')) {
|
||||
$('#end_date_estehghaghi').hide();
|
||||
$('.time_paid').show();
|
||||
rotatingShift();
|
||||
}
|
||||
});
|
||||
//******************** شرط استحقاقی و استعلاجی ********************
|
||||
@@ -736,36 +740,45 @@ function ajaxPersonals() {
|
||||
});
|
||||
}
|
||||
|
||||
function rotatingShift(startDateValue) {
|
||||
function rotatingShift() {
|
||||
var startDateValue = $('#StartLeave').val();
|
||||
$('#rotatingShiftSection').addClass('disable');
|
||||
|
||||
if ($('#paid').is(':checked') && $('#daily').is(':checked') && startDateValue.length === 10) {
|
||||
|
||||
ajaxService.get(hasRotatingShiftAjax, { employeeId: currentEmployeeId, startDateTime: startDateValue })
|
||||
.then(response => {
|
||||
$('#HasRollCall').val(response.hasRollCall);
|
||||
ajaxService.get(hasRotatingShiftAjax, { employeeId: currentEmployeeId, startDateTime: startDateValue })
|
||||
.then(response => {
|
||||
$('#HasRollCall').val(response.hasRollCall);
|
||||
|
||||
if (response.hasRollCall) {
|
||||
$('#rotatingShiftSection').show();
|
||||
if (response.hasRollCall) {
|
||||
$('#rotatingShiftSection').removeClass('disable');
|
||||
|
||||
var shiftsList = response.shifts;
|
||||
var shiftsOptionsHtml = '<option selected disabled>انتخاب شیفت ...</option>';
|
||||
var shiftsList = response.shifts;
|
||||
var shiftsOptionsHtml = '<option selected disabled>انتخاب شیفت ...</option>';
|
||||
|
||||
shiftsList.forEach(function (item) {
|
||||
shiftsOptionsHtml += `<option value="${item.startTime}|${item.endTime}">${item.startTime} الی ${item.endTime}</option>`;
|
||||
});
|
||||
$('#rotatingShift').html(shiftsOptionsHtml);
|
||||
} else {
|
||||
$('#rotatingShiftSection').hide();
|
||||
shiftsList.forEach(function(item) {
|
||||
shiftsOptionsHtml += `<option value="${item.startTime}|${item.endTime}">${item.startTime} الی ${
|
||||
item.endTime}</option>`;
|
||||
});
|
||||
$('#rotatingShift').html(shiftsOptionsHtml);
|
||||
} else {
|
||||
$('#rotatingShiftSection').addClass('disable');
|
||||
|
||||
if (response.message) {
|
||||
$('#StartLeave').addClass('errored');
|
||||
$('.alert-msg').show();
|
||||
$('.alert-msg p').text(response.message);
|
||||
setTimeout(function () {
|
||||
$('.alert-msg').hide();
|
||||
$('.alert-msg p').text("");
|
||||
$('#StartLeave').removeClass("errored");
|
||||
}, 3500);
|
||||
if (response.message) {
|
||||
$('#StartLeave').addClass('errored');
|
||||
$('.alert-msg').show();
|
||||
$('.alert-msg p').text(response.message);
|
||||
setTimeout(function() {
|
||||
$('.alert-msg').hide();
|
||||
$('.alert-msg p').text("");
|
||||
$('#StartLeave').removeClass("errored");
|
||||
},
|
||||
3500);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
} else {
|
||||
$('#rotatingShiftSection').addClass('disable');
|
||||
}
|
||||
|
||||
}
|
||||
@@ -74,6 +74,19 @@
|
||||
$('input[name="Command.IrregularShift.WorkshopIrregularShifts"]').prop('checked', false);
|
||||
$('#irregularShiftsDateTime').addClass('disable');
|
||||
$('.dateTimeIrregular').val('');
|
||||
|
||||
var currentCount = $('.groupBox').length;
|
||||
if (currentCount >= 2) {
|
||||
$('#BreakTime').prop('checked', false);
|
||||
$('#BreakTimeFirst').prop('checked', false);
|
||||
$('#computeTimeText').text('');
|
||||
$("#hour").val("0");
|
||||
$("#min").val("00");
|
||||
$('#computeTime').addClass('disable');
|
||||
$("#TimeOnly").val('');
|
||||
} else {
|
||||
$('#computeTime').removeClass('disable');
|
||||
}
|
||||
});
|
||||
|
||||
$("#rotating_shift").on("click", function () {
|
||||
@@ -97,8 +110,7 @@
|
||||
$('#step_workTimeOptionRotatingShift').hide();
|
||||
$('#step_workTimeOptionIrregular').show();
|
||||
});
|
||||
|
||||
|
||||
|
||||
switch (IsRegularWorkshop) {
|
||||
case 0:
|
||||
//radio btn
|
||||
@@ -111,6 +123,20 @@
|
||||
$('#step_workTimeOptionIrregular').hide();
|
||||
// این مرحله هنگام چک کردن تعداد نوبت هستش
|
||||
updateAddButtonText(indexShiftViewModel);
|
||||
|
||||
var currentCount = $('.groupBox').length;
|
||||
if (currentCount >= 2) {
|
||||
$('#BreakTime').prop('checked', false);
|
||||
$('#BreakTimeFirst').prop('checked', false);
|
||||
$('#computeTimeText').text('');
|
||||
$("#hour").val("0");
|
||||
$("#min").val("00");
|
||||
$('#computeTime').addClass('disable');
|
||||
$("#TimeOnly").val('');
|
||||
} else {
|
||||
$('#computeTime').removeClass('disable');
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case 1:
|
||||
@@ -163,18 +189,17 @@
|
||||
});
|
||||
|
||||
$('#BreakTime, #BreakTimeFirst').on('change', function () {
|
||||
|
||||
$('#BreakTime, #BreakTimeFirst').not(this).prop('checked', false);
|
||||
|
||||
var currentCount = 0;
|
||||
if ($("#organized").is(":Checked")) {
|
||||
var currentCount = $('.groupBox').length;
|
||||
|
||||
} else if ($("#rotating_shift").is(":Checked")) {
|
||||
var currentCount = $('.groupBoxRS').length;
|
||||
currentCount = $('.groupBox').length;
|
||||
}
|
||||
//else if ($("#rotating_shift").is(":Checked")) {
|
||||
// var currentCount = $('.groupBoxRS').length;
|
||||
//}
|
||||
|
||||
if (currentCount >= 2) {
|
||||
showAlert('به دلیل داشتن 2 یا 3 نوبت، امکان فعال سازی ساعت استراحت ندارید', $(this));
|
||||
showAlert('به دلیل داشتن 2 یا 3 نوبت، امکان فعال سازی ساعت استراحت ندارید', $('.break-time'));
|
||||
$(this).prop('checked', false);
|
||||
$("#hour").val("0");
|
||||
$("#min").val("00");
|
||||
@@ -342,17 +367,17 @@
|
||||
return false;
|
||||
}
|
||||
|
||||
if (currentCount >= 1) {
|
||||
$('#BreakTime').prop('checked', false);
|
||||
$('#BreakTimeFirst').prop('checked', false);
|
||||
$('#computeTimeText').text('');
|
||||
$("#hour").val("0");
|
||||
$("#min").val("00");
|
||||
$('#computeTime').addClass('disable');
|
||||
$("#TimeOnly").val('');
|
||||
} else {
|
||||
$('#computeTime').removeClass('disable');
|
||||
}
|
||||
//if (currentCount >= 1) {
|
||||
// $('#BreakTime').prop('checked', false);
|
||||
// $('#BreakTimeFirst').prop('checked', false);
|
||||
// $('#computeTimeText').text('');
|
||||
// $("#hour").val("0");
|
||||
// $("#min").val("00");
|
||||
// $('#computeTime').addClass('disable');
|
||||
// $("#TimeOnly").val('');
|
||||
//} else {
|
||||
// $('#computeTime').removeClass('disable');
|
||||
//}
|
||||
|
||||
|
||||
if (currentCount < 5) {
|
||||
|
||||
@@ -78,6 +78,19 @@
|
||||
$('input[name="IrregularShift.WorkshopIrregularShifts"]').prop('checked', false);
|
||||
$('#irregularShiftsDateTime').addClass('disable');
|
||||
$('.dateTimeIrregular').val('');
|
||||
|
||||
var currentCount = $('.groupBox').length;
|
||||
if (currentCount >= 2) {
|
||||
$('#BreakTime').prop('checked', false);
|
||||
$('#BreakTimeFirst').prop('checked', false);
|
||||
$('#computeTimeText').text('');
|
||||
$("#hour").val("0");
|
||||
$("#min").val("00");
|
||||
$('#computeTime').addClass('disable');
|
||||
$("#TimeOnly").val('');
|
||||
} else {
|
||||
$('#computeTime').removeClass('disable');
|
||||
}
|
||||
});
|
||||
|
||||
$("#rotating_shift").on("click", function () {
|
||||
@@ -114,6 +127,20 @@
|
||||
$('#step_workTimeOptionIrregular').hide();
|
||||
// این مرحله هنگام چک کردن تعداد نوبت هستش
|
||||
updateAddButtonText(indexShiftViewModel);
|
||||
|
||||
var currentCount = $('.groupBox').length;
|
||||
if (currentCount >= 2) {
|
||||
$('#BreakTime').prop('checked', false);
|
||||
$('#BreakTimeFirst').prop('checked', false);
|
||||
$('#computeTimeText').text('');
|
||||
$("#hour").val("0");
|
||||
$("#min").val("00");
|
||||
$('#computeTime').addClass('disable');
|
||||
$("#TimeOnly").val('');
|
||||
} else {
|
||||
$('#computeTime').removeClass('disable');
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case 1:
|
||||
@@ -166,18 +193,17 @@
|
||||
});
|
||||
|
||||
$('#BreakTime, #BreakTimeFirst').on('change', function () {
|
||||
|
||||
$('#BreakTime, #BreakTimeFirst').not(this).prop('checked', false);
|
||||
|
||||
var currentCount = 0;
|
||||
if ($("#organized").is(":Checked")) {
|
||||
var currentCount = $('.groupBox').length;
|
||||
|
||||
} else if ($("#rotating_shift").is(":Checked")) {
|
||||
var currentCount = $('.groupBoxRS').length;
|
||||
currentCount = $('.groupBox').length;
|
||||
}
|
||||
//else if ($("#rotating_shift").is(":Checked")) {
|
||||
// var currentCount = $('.groupBoxRS').length;
|
||||
//}
|
||||
|
||||
if (currentCount >= 2) {
|
||||
showAlert('به دلیل داشتن 2 یا 3 نوبت، امکان فعال سازی ساعت استراحت ندارید', $(this));
|
||||
showAlert('به دلیل داشتن 2 یا 3 نوبت، امکان فعال سازی ساعت استراحت ندارید', $('.break-time'));
|
||||
$(this).prop('checked', false);
|
||||
$("#hour").val("0");
|
||||
$("#min").val("00");
|
||||
@@ -347,17 +373,17 @@
|
||||
return false;
|
||||
}
|
||||
|
||||
if (currentCount >= 1) {
|
||||
$('#BreakTime').prop('checked', false);
|
||||
$('#BreakTimeFirst').prop('checked', false);
|
||||
$('#computeTimeText').text('');
|
||||
$("#hour").val("0");
|
||||
$("#min").val("00");
|
||||
$('#computeTime').addClass('disable');
|
||||
$("#TimeOnly").val('');
|
||||
} else {
|
||||
$('#computeTime').removeClass('disable');
|
||||
}
|
||||
//if (currentCount >= 1) {
|
||||
// $('#BreakTime').prop('checked', false);
|
||||
// $('#BreakTimeFirst').prop('checked', false);
|
||||
// $('#computeTimeText').text('');
|
||||
// $("#hour").val("0");
|
||||
// $("#min").val("00");
|
||||
// $('#computeTime').addClass('disable');
|
||||
// $("#TimeOnly").val('');
|
||||
//} else {
|
||||
// $('#computeTime').removeClass('disable');
|
||||
//}
|
||||
|
||||
|
||||
if (currentCount < 5) {
|
||||
|
||||
@@ -73,6 +73,19 @@
|
||||
$('input[name="IrregularShift.WorkshopIrregularShifts"]').prop('checked', false);
|
||||
$('#irregularShiftsDateTime').addClass('disable');
|
||||
$('.dateTimeIrregular').val('');
|
||||
|
||||
var currentCount = $('.groupBox').length;
|
||||
if (currentCount >= 2) {
|
||||
$('#BreakTime').prop('checked', false);
|
||||
$('#BreakTimeFirst').prop('checked', false);
|
||||
$('#computeTimeText').text('');
|
||||
$("#hour").val("0");
|
||||
$("#min").val("00");
|
||||
$('#computeTime').addClass('disable');
|
||||
$("#TimeOnly").val('');
|
||||
} else {
|
||||
$('#computeTime').removeClass('disable');
|
||||
}
|
||||
});
|
||||
|
||||
$("#rotating_shift").on("click", function () {
|
||||
@@ -111,18 +124,17 @@
|
||||
});
|
||||
|
||||
$('#BreakTime, #BreakTimeFirst').on('change', function () {
|
||||
|
||||
$('#BreakTime, #BreakTimeFirst').not(this).prop('checked', false);
|
||||
|
||||
var currentCount = 0;
|
||||
if ($("#organized").is(":Checked")) {
|
||||
var currentCount = $('.groupBox').length;
|
||||
|
||||
} else if ($("#rotating_shift").is(":Checked")) {
|
||||
var currentCount = $('.groupBoxRS').length;
|
||||
currentCount = $('.groupBox').length;
|
||||
}
|
||||
//else if ($("#rotating_shift").is(":Checked")) {
|
||||
// var currentCount = $('.groupBoxRS').length;
|
||||
//}
|
||||
|
||||
if (currentCount >= 2) {
|
||||
showAlert('به دلیل داشتن 2 یا 3 نوبت، امکان فعال سازی ساعت استراحت ندارید', $(this));
|
||||
showAlert('به دلیل داشتن 2 یا 3 نوبت، امکان فعال سازی ساعت استراحت ندارید', $('.break-time'));
|
||||
$(this).prop('checked', false);
|
||||
$("#hour").val("0");
|
||||
$("#min").val("00");
|
||||
@@ -290,17 +302,17 @@
|
||||
return false;
|
||||
}
|
||||
|
||||
if (currentCount >= 1) {
|
||||
$('#BreakTime').prop('checked', false);
|
||||
$('#BreakTimeFirst').prop('checked', false);
|
||||
$('#computeTimeText').text('');
|
||||
$("#hour").val("0");
|
||||
$("#min").val("00");
|
||||
$('#computeTime').addClass('disable');
|
||||
$("#TimeOnly").val('');
|
||||
} else {
|
||||
$('#computeTime').removeClass('disable');
|
||||
}
|
||||
//if (currentCount >= 1) {
|
||||
// $('#BreakTime').prop('checked', false);
|
||||
// $('#BreakTimeFirst').prop('checked', false);
|
||||
// $('#computeTimeText').text('');
|
||||
// $("#hour").val("0");
|
||||
// $("#min").val("00");
|
||||
// $('#computeTime').addClass('disable');
|
||||
// $("#TimeOnly").val('');
|
||||
//} else {
|
||||
// $('#computeTime').removeClass('disable');
|
||||
//}
|
||||
|
||||
|
||||
if (currentCount < 5) {
|
||||
|
||||
@@ -5,10 +5,21 @@ $(document).ready(function () {
|
||||
|
||||
$('.loading').hide();
|
||||
|
||||
document.getElementById("MainModal").style.visibility = "visible";
|
||||
$(".select2Option").select2({
|
||||
language: "fa",
|
||||
dir: "rtl",
|
||||
dropdownParent: $('#MainModal'),
|
||||
templateResult: function (data, container) {
|
||||
if (data.element) {
|
||||
$(container).addClass($(data.element).attr("class"));
|
||||
}
|
||||
return data.text;
|
||||
}
|
||||
});
|
||||
|
||||
document.getElementById("MainModal").style.visibility = "visible";
|
||||
rotatingShift();
|
||||
|
||||
var startLeaveInput = $('#StartLeave').val();
|
||||
rotatingShift(startLeaveInput);
|
||||
$('#StartLeave').on('keyup', function () {
|
||||
const startDateValue = $(this).val();
|
||||
|
||||
@@ -16,9 +27,9 @@ $(document).ready(function () {
|
||||
const dateRegex = /^\d{4}\/\d{2}\/\d{2}$/;
|
||||
if (dateRegex.test(startDateValue) && startDateValue !== previousStartDate) {
|
||||
previousStartDate = startDateValue;
|
||||
rotatingShift(startDateValue);
|
||||
}
|
||||
}
|
||||
rotatingShift();
|
||||
});
|
||||
|
||||
$('#rotatingShift').on('change', function () {
|
||||
@@ -32,6 +43,7 @@ $(document).ready(function () {
|
||||
$(document).on("change", ".LeaveType", function () {
|
||||
if ($('#paid').is(':checked')) {
|
||||
$('#dailyType').css('visibility', 'visible');
|
||||
rotatingShift();
|
||||
}
|
||||
|
||||
if ($('#sick').is(':checked')) {
|
||||
@@ -41,6 +53,7 @@ $(document).ready(function () {
|
||||
$('#end_date_estehghaghi').show();
|
||||
$('.time_paid').hide();
|
||||
}
|
||||
rotatingShift();
|
||||
}
|
||||
});
|
||||
|
||||
@@ -49,11 +62,13 @@ $(document).ready(function () {
|
||||
if ($('#daily').is(':checked')) {
|
||||
$('#end_date_estehghaghi').show();
|
||||
$('.time_paid').hide();
|
||||
rotatingShift();
|
||||
}
|
||||
|
||||
if ($('#hourly').is(':checked')) {
|
||||
$('#end_date_estehghaghi').hide();
|
||||
$('.time_paid').show();
|
||||
rotatingShift();
|
||||
}
|
||||
});
|
||||
//******************** شرط استحقاقی و استعلاجی ********************
|
||||
@@ -701,36 +716,47 @@ $(document).ready(function () {
|
||||
});
|
||||
});
|
||||
|
||||
function rotatingShift(startDateValue) {
|
||||
|
||||
|
||||
function rotatingShift() {
|
||||
var currentEmployeeId = $('#employeeId').val();
|
||||
ajaxService.get(hasRotatingShiftAjax, { employeeId: currentEmployeeId, startDateTime: startDateValue })
|
||||
.then(response => {
|
||||
$('#HasRollCall').val(response.hasRollCall);
|
||||
console.log(response);
|
||||
if (response.hasRollCall) {
|
||||
$('#rotatingShiftSection').show();
|
||||
var startDateValue = $('#StartLeave').val();
|
||||
$('#rotatingShiftSection').addClass('disable');
|
||||
|
||||
var shiftsList = response.shifts;
|
||||
var shiftsOptionsHtml = '<option selected disabled>انتخاب شیفت ...</option>';
|
||||
if ($('#paid').is(':checked') && $('#daily').is(':checked') && startDateValue.length === 10) {
|
||||
|
||||
shiftsList.forEach(function (item) {
|
||||
shiftsOptionsHtml += `<option value="${item.startTime}|${item.endTime}">${item.startTime} الی ${item.endTime}</option>`;
|
||||
});
|
||||
$('#rotatingShift').html(shiftsOptionsHtml);
|
||||
} else {
|
||||
$('#rotatingShiftSection').hide();
|
||||
ajaxService.get(hasRotatingShiftAjax, { employeeId: currentEmployeeId, startDateTime: startDateValue })
|
||||
.then(response => {
|
||||
console.log(response)
|
||||
$('#HasRollCall').val(response.hasRollCall);
|
||||
|
||||
if (response.message) {
|
||||
$('#StartLeave').addClass('errored');
|
||||
$('.alert-msg').show();
|
||||
$('.alert-msg p').text(response.message);
|
||||
setTimeout(function () {
|
||||
$('.alert-msg').hide();
|
||||
$('.alert-msg p').text("");
|
||||
$('#StartLeave').removeClass("errored");
|
||||
}, 3500);
|
||||
if (response.hasRollCall) {
|
||||
$('#rotatingShiftSection').removeClass('disable');
|
||||
|
||||
var shiftsList = response.shifts;
|
||||
var shiftsOptionsHtml = '<option selected disabled>انتخاب شیفت ...</option>';
|
||||
|
||||
shiftsList.forEach(function (item) {
|
||||
shiftsOptionsHtml += `<option value="${item.startTime}|${item.endTime}">${item.startTime} الی ${item.endTime}</option>`;
|
||||
});
|
||||
$('#rotatingShift').html(shiftsOptionsHtml);
|
||||
} else {
|
||||
$('#rotatingShiftSection').addClass('disable');
|
||||
|
||||
if (response.message) {
|
||||
$('#StartLeave').addClass('errored');
|
||||
$('.alert-msg').show();
|
||||
$('.alert-msg p').text(response.message);
|
||||
setTimeout(function () {
|
||||
$('.alert-msg').hide();
|
||||
$('.alert-msg p').text("");
|
||||
$('#StartLeave').removeClass("errored");
|
||||
},
|
||||
3500);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
} else {
|
||||
$('#rotatingShiftSection').addClass('disable');
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user