This commit is contained in:
SamSys
2025-05-13 22:15:06 +03:30
24 changed files with 336 additions and 8883 deletions

View File

@@ -51,4 +51,11 @@ public class OperationResult<T>
Message = message;
return this;
}
public OperationResult<T> Failed(string message, T data)
{
IsSuccedded = false;
Message = message;
Data = data;
return this;
}
}

View File

@@ -213,6 +213,60 @@ public class CustomizeWorkshopEmployeeSettings : BaseCustomizeEntity
earlyExit.EarlyExitTimeFines.Select(x => new EarlyExitTimeFine(x.Minute, x.FineMoney))
.ToList(), earlyExit.Value);
}
public void UpdateIsShiftChange()
{
var groupSetting = CustomizeWorkshopGroupSettings;
if (groupSetting == null)
return;
bool isShiftChange;
if (WorkshopShiftStatus == WorkshopShiftStatus.Regular)
{
if (CustomizeWorkshopEmployeeSettingsShifts.All(x => groupSetting.CustomizeWorkshopGroupSettingsShifts.Any(y => x.Equals(y)))
&& WorkshopShiftStatus == groupSetting.WorkshopShiftStatus && FridayWork == groupSetting.FridayWork &&
HolidayWork == groupSetting.HolidayWork && BreakTime == groupSetting.BreakTime)
{
isShiftChange = false;
}
else
{
isShiftChange = true;
}
}
else if (WorkshopShiftStatus == WorkshopShiftStatus.Irregular)
{
if (WorkshopShiftStatus == groupSetting.WorkshopShiftStatus && BreakTime == groupSetting.BreakTime &&
IrregularShift == groupSetting.IrregularShift && FridayWork == groupSetting.FridayWork &&
HolidayWork == groupSetting.HolidayWork)
{
isShiftChange = false;
}
else
{
isShiftChange = true;
}
}
else
{
if (CustomizeRotatingShifts.All(x => groupSetting.CustomizeRotatingShifts.Any(y => x.Equals(y)))
&& WorkshopShiftStatus == groupSetting.WorkshopShiftStatus && FridayWork == groupSetting.FridayWork &&
HolidayWork == groupSetting.HolidayWork && BreakTime == groupSetting.BreakTime)
{
isShiftChange = false;
}
else
{
isShiftChange = true;
}
}
IsShiftChanged = isShiftChange;
}
}

View File

@@ -33,7 +33,7 @@ public interface ICustomizeWorkshopSettingsApplication
//Remove the Employee From the Group Settings
OperationResult RemoveEmployeeFromRollCallWorkshopGroup(long employeeId, long groupId, long workshopId);
OperationResult EditSimpleRollCallGroupSetting(EditCustomizeWorkshopGroupSettings command);
OperationResult EditSimpleRollCallGroupSetting(EditCustomizeWorkshopGroupSettings command, List<ReCalculateRollCallValues> reCalculateCommand);
#region Vafa
OperationResult EditSimpleRollCallEmployeeSetting(EditCustomizeEmployeeSettings command,
@@ -90,7 +90,13 @@ public interface ICustomizeWorkshopSettingsApplication
List<CustomizeWorkshopEmployeeSettingsViewModel> GetEmployeeSettingsByWorkshopId(long workshopId);
CustomizeWorkshopGroupSettingsViewModel GetEmployeesGroupSettingsByEmployeeId(long employeeId, long workshopId);
/// <summary>
/// این متد برای قبل از ویرایش گروهی و محاسبه مجدد گروهی استفاده میشود برای اینکه پرسنل هایی که دارای فیش هستند رو فرانت نمایش بده
/// </summary>
/// <param name="command"></param>
/// <param name="workshopId"></param>
/// <returns></returns>
OperationResult<List<long>> ValidateReCalculateValueForGroupEdit(List<ReCalculateRollCallValues> command, long workshopId);
bool HasAnyEmployeeWithoutGroup(long workshopId);
/// <summary>

View File

@@ -21,6 +21,10 @@ using System.Threading.Tasks;
using System.Transactions;
using CompanyManagment.App.Contracts.RollCall;
using Microsoft.EntityFrameworkCore.Query;
using Company.Domain.CheckoutAgg;
using Company.Domain.CustomizeCheckoutAgg;
using Company.Domain.CustomizeCheckoutTempAgg;
using CompanyManagment.EFCore.Repository;
namespace CompanyManagment.Application;
@@ -30,7 +34,10 @@ public class CustomizeWorkshopSettingsApplication(ICustomizeWorkshopSettingsRepo
ICustomizeWorkshopGroupSettingsRepository customizeWorkshopGroupSettingsRepository, IEmployeeRepository employeeRepository,
ICustomizeWorkshopEmployeeSettingsRepository customizeWorkshopEmployeeSettingsRepository,
IRollCallEmployeeApplication rollCallEmployeeApplication,
IRollCallApplication rollCallAppllication)
IRollCallApplication rollCallAppllication,
ICheckoutRepository checkoutRepository,
ICustomizeCheckoutRepository customizeCheckoutRepository,
ICustomizeCheckoutTempRepository customizeCheckoutTempRepository)
: ICustomizeWorkshopSettingsApplication
{
private readonly ICustomizeWorkshopSettingsRepository _customizeWorkshopSettingsRepository = customizeWorkshopSettingsRepository;
@@ -42,6 +49,9 @@ public class CustomizeWorkshopSettingsApplication(ICustomizeWorkshopSettingsRepo
private readonly ICameraAccountApplication _cameraAccountApplication = cameraAccountApplication;
private readonly IRollCallEmployeeApplication _rollCallEmployeeApplication = rollCallEmployeeApplication;
private readonly IRollCallApplication _rollCallApplication = rollCallAppllication;
private readonly ICheckoutRepository _checkoutRepository = checkoutRepository;
private readonly ICustomizeCheckoutRepository _customizeCheckoutRepository = customizeCheckoutRepository;
private readonly ICustomizeCheckoutTempRepository _customizeCheckoutTempRepository = customizeCheckoutTempRepository;
#region RollCallShifts
@@ -670,7 +680,8 @@ public class CustomizeWorkshopSettingsApplication(ICustomizeWorkshopSettingsRepo
transActionScope.Complete();
return op.Succcedded();
}
public OperationResult EditSimpleRollCallGroupSetting(EditCustomizeWorkshopGroupSettings command)
public OperationResult EditSimpleRollCallGroupSetting(EditCustomizeWorkshopGroupSettings command,
List<ReCalculateRollCallValues> reCalculateCommand)
{
OperationResult op = new();
@@ -689,9 +700,11 @@ public class CustomizeWorkshopSettingsApplication(ICustomizeWorkshopSettingsRepo
var workshopSettings = _customizeWorkshopSettingsRepository.Get(entity.CustomizeWorkshopSettingId);
var employeeIds = command.IsShiftChanged ? entity.CustomizeWorkshopEmployeeSettingsCollection
.Select(x => x.id).ToList() : entity.CustomizeWorkshopEmployeeSettingsCollection.Where(x => !x.IsShiftChanged)
.Select(x => x.id).ToList();
//var employeeIds = command.IsShiftChanged ? entity.CustomizeWorkshopEmployeeSettingsCollection
// .Select(x => x.id).ToList() : entity.CustomizeWorkshopEmployeeSettingsCollection.Where(x => !x.IsShiftChanged)
// .Select(x => x.id).ToList();
var groupSettingsShifts = new List<CustomizeWorkshopGroupSettingsShift>();
ICollection<CustomizeRotatingShift> rotatingShift = [];
bool isChanged;
@@ -708,7 +721,7 @@ public class CustomizeWorkshopSettingsApplication(ICustomizeWorkshopSettingsRepo
return new CustomizeWorkshopGroupSettingsShift(start, end, x.Placement);
}).ToList();
;
if (groupSettingsShifts.All(x => workshopSettings.CustomizeWorkshopSettingsShifts.Any(y => x.Equals(y)))
&& command.WorkshopShiftStatus == workshopSettings.WorkshopShiftStatus && command.FridayWork == workshopSettings.FridayWork &&
command.HolidayWork == workshopSettings.HolidayWork &&
@@ -782,10 +795,38 @@ public class CustomizeWorkshopSettingsApplication(ICustomizeWorkshopSettingsRepo
var breakTime = new BreakTime(command.BreakTime.HasBreakTimeValue, command.BreakTime.BreakTimeValue);
entity.EditSimpleAndOverwriteOnEmployee(command.Name, employeeIds, groupSettingsShifts, command.WorkshopShiftStatus,
var employeeSettings = entity.CustomizeWorkshopEmployeeSettingsCollection;
var employeeSettingIds = employeeSettings.Select(x => x.EmployeeId).ToList();
reCalculateCommand = reCalculateCommand.Where(x => employeeSettingIds.Contains(x.EmployeeId)).ToList();
var selectedEmployeesIds = reCalculateCommand.Select(x => x.EmployeeId).ToList();
var notSelectedEmployeeSettings = employeeSettings.Where(x => !selectedEmployeesIds.Contains(x.EmployeeId));
using var transaction = new TransactionScope();
entity.EditSimpleAndOverwriteOnEmployee(command.Name, selectedEmployeesIds, groupSettingsShifts, command.WorkshopShiftStatus,
command.IrregularShift, breakTime, isChanged, command.FridayWork, command.HolidayWork, rotatingShift);
if (reCalculateCommand.Count > 0)
{
var result = _rollCallApplication.RecalculateValues(workshopSettings.WorkshopId, reCalculateCommand);
if (result.IsSuccedded == false)
{
return result;
}
}
foreach (var notSelectedEmployeeSetting in notSelectedEmployeeSettings)
{
notSelectedEmployeeSetting.UpdateIsShiftChange();
}
_customizeWorkshopGroupSettingsRepository.SaveChanges();
transaction.Complete();
return op.Succcedded();
}
public OperationResult EditSimpleRollCallEmployeeSetting(EditCustomizeEmployeeSettings command,
@@ -1552,7 +1593,40 @@ public class CustomizeWorkshopSettingsApplication(ICustomizeWorkshopSettingsRepo
{
return _customizeWorkshopGroupSettingsRepository.HasAnyEmployeeWithoutGroup(workshopId);
}
public OperationResult<List<long>> ValidateReCalculateValueForGroupEdit(List<ReCalculateRollCallValues> commands,
long workshopId)
{
var operationResult = new OperationResult<List<long>>();
bool isSuccess = true;
List<long> employeeIdsHasCheckout = [];
foreach (var command in commands)
{
var fromDateGr = command.FromDate.ToGeorgianDateTime();
if (_checkoutRepository.Exists(x => x.WorkshopId == workshopId && x.EmployeeId == command.EmployeeId && fromDateGr <= x.ContractStart))
{
isSuccess = false;
employeeIdsHasCheckout.Add(command.EmployeeId);
}
if (_customizeCheckoutRepository.Exists(x => x.WorkshopId == workshopId && x.EmployeeId == command.EmployeeId && fromDateGr <= x.ContractStart))
{
isSuccess = false;
employeeIdsHasCheckout.Add(command.EmployeeId);
}
if (_customizeCheckoutTempRepository.Exists(x => x.WorkshopId == workshopId && x.EmployeeId == command.EmployeeId && fromDateGr <= x.ContractStart))
{
isSuccess = false;
employeeIdsHasCheckout.Add(command.EmployeeId);
}
}
employeeIdsHasCheckout = employeeIdsHasCheckout.Distinct().ToList();
return isSuccess ?
operationResult.Succcedded(employeeIdsHasCheckout)
:
operationResult.Failed("پرسنل هایی دارای فیش هستند لطفا نسبت به تعیین تکلیف این ها اقدام نمایید", employeeIdsHasCheckout);
}
public bool CheckEmployeeShiftHasChanged(EditCustomizeEmployeeSettings command)
{
return _customizeWorkshopEmployeeSettingsRepository.CheckEmployeeShiftHasChanged(command);

View File

@@ -196,6 +196,11 @@ public class CustomizeWorkshopEmployeeSettingsRepository(CompanyContext companyC
return true;
}
if (command.BreakTime.BreakTimeValue != employeeSettings.BreakTime.BreakTimeValue || command.BreakTime.HasBreakTimeValue != employeeSettings.BreakTime.HasBreakTimeValue)
{
return true;
}
switch (employeeSettings.WorkshopShiftStatus)
{
case WorkshopShiftStatus.Irregular:

View File

@@ -120,10 +120,10 @@ public class YearlySalaryRepository : RepositoryBase<long, YearlySalary>, IYearl
var totalHours = totalHoursHDouble + totalHoursMDouble;// ساعت کارکرد پرسنل در این ماه
//var MandatoryDays = TotalDays - friday - officialholiday;
var MandatoryDays = TotalDays - fridayStartToEnd;
//اگر حضورغیاب داشت
if (hasRollCall)
MandatoryDays = TotalDays - fridayStartToEnd - officialholiday;
//var MandatoryDays = TotalDays - fridayStartToEnd;
////اگر حضورغیاب داشت
//if (hasRollCall)
var MandatoryDays = TotalDays - fridayStartToEnd - officialholiday;
//بدست آوردن ساعت موظفی این ماه
var TotalMandatoryHours = MandatoryDays * 7.33;//ساعت موظفی این ماه

View File

@@ -1,507 +0,0 @@
@model CompanyManagment.App.Contracts.Workshop.CreateWorkshop
@{
<link href="~/AdminTheme/amirb/jspc-peach.css" rel="stylesheet"/>
@*<link href="~/lib/select2/css/select2.css" rel="stylesheet" />*@
<style>
.modal-dialog {
width: 94% !important;
}
.select2-container {
width: 100% !important;
}
.modal-footer {
border-top: unset !important;
}
.modal .modal-dialog .modal-content .modal-footer {
padding-top: unset !important;
}
p {
direction: ltr !important;
text-align: right !important;
}
input[type=radio]:hover {
cursor: pointer;
}
.select2-container--default.select2-container--focus .select2-selection--multiple {
border: solid #9d9a9a 1px;
border-radius: 10px !important;
}
.select2-container--default .select2-selection--multiple {
background-color: white;
border: 1px solid #aaa;
border-radius: 10px;
cursor: text;
}
</style>
}
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<form asp-page="./Index" asp-page-handler="Create" id="workshops" autocomplete="off"
method="post"
data-ajax="true"
data-callback=""
data-action="Refresh"
enctype="multipart/form-data">
<div class="modal-body">
<div class="row">
<div class="col-md-6">
<fieldset style="border: 1px solid #999797; height: 615px; border-radius: 10px; padding: revert">
<legend style="margin-bottom: 5px; font-size: large; border-bottom: 0px; color: #505458; width: 140px; text-align: center;"> مشخصات کارگاه</legend>
<div class="row">
<div class="form-group col-md-12" dir="rtl" style="padding-left: 2.5%">
<label asp-for="@Model.EmployerIdList">
انتخاب کارفرما <span style="color: red">*</span>
</label>
<select id="copy" class="form-control select-city" multiple asp-for="@Model.EmployerIdList" asp-items='new SelectList(Model.Employers, "Id", "FullName")'>
@*<option value="@Model.EmployerIdList"> انتخاب کارفرما </option*@>
</select>
<span asp-validation-for="Employers" class="error"></span>
</div>
</div>
<div class="row">
<div class="col-md-4">
<div class="form-group">
<label asp-for="WorkshopName" class="control-label">
نام کارگاه <span style="color: red">*</span>
</label>
<input type="text" class="form-control" asp-for="WorkshopName">
<span asp-validation-for="WorkshopName" class="error"></span>
</div>
</div>
<div class="col-md-4">
<div class="form-group">
<label asp-for="WorkshopSureName" class="control-label"> نام مستعار کارگاه </label>
<input type="text" class="form-control" asp-for="WorkshopSureName">
<span asp-validation-for="WorkshopSureName" class="error"></span>
</div>
</div>
<div class="col-md-4">
<div class="form-group">
<label asp-for="ArchiveCode" class="control-label">
شماره بایگانی <span style="color: red">*</span>
</label>
<input type="text" class="form-control" asp-for="ArchiveCode">
<span asp-validation-for="ArchiveCode" class="error"></span>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="form-group">
<label asp-for="InsuranceCode" class="control-label">کد کارگاهی بیمه </label>
<input type="text" class="form-control" asp-for="InsuranceCode">
<span asp-validation-for="InsuranceCode" class="error"></span>
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<label asp-for="TypeOfOwnership" class="control-label"> نوع مالکیت </label>
<input type="text" class="form-control" asp-for="TypeOfOwnership">
<span asp-validation-for="TypeOfOwnership" class="error"></span>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="form-group">
<label asp-for="AgentName" class="control-label">
نام و نام خانوادگی نماینده <span style="color: red">*</span>
</label>
<input type="text" class="form-control" asp-for="AgentName">
<span asp-validation-for="AgentName" class="error"></span>
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<label asp-for="AgentPhone" class="control-label">شماره تلفن نماینده</label>
<input type="text" class="form-control" asp-for="AgentPhone">
<span asp-validation-for="AgentPhone" class="error"></span>
</div>
</div>
</div>
<div class="row">
<div class="col-md-4">
<div class="form-group" dir="rtl">
<label asp-for="State" class="control-label"> نام استان</label>
@*<input type="text" value="" id="pcal1" class="pdate form-control" />
<input type="hidden" value="" id="hide" asp-for="DateOfBirth">
<span asp-validation-for="DateOfBirth" class="error"></span>*@
<select class="form-control select-city" asp-for="State" name="state" onChange="iranwebsv(this.value);">
<option value="">انتخاب استان</option>
<option value="تهران"> تهران </option>
<option value="گیلان"> گیلان </option>
<option value="آذربایجان شرقی"> آذربایجان شرقی</option>
<option value="خوزستان"> خوزستان </option>
<option value="فارس"> فارس</option>
<option value="اصفهان"> اصفهان</option>
<option value="خراسان رضوی">خراسان رضوی </option>
<option value="قزوین"> قزوین</option>
<option value="سمنان"> سمنان </option>
<option value="قم"> قم</option>
<option value="مرکزی"> مرکزی</option>
<option value="زنجان"> زنجان</option>
<option value="مازندران"> مازندران</option>
<option value="گلستان"> گلستان</option>
<option value="اردبیل"> اردبیل </option>
<option value="آذربایجان غربی"> آذربایجان غربی</option>
<option value="همدان"> همدان </option>
<option value="کردستان"> کردستان </option>
<option value="کرمانشاه"> کرمانشاه </option>
<option value="لرستان"> لرستان</option>
<option value="بوشهر"> بوشهر</option>
<option value="کرمان"> کرمان</option>
<option value="هرمزگان"> هرمزگان</option>
<option value="چهارمحال و بختیاری"> چهارمحال و بختیاری</option>
<option value="یزد"> یزد</option>
<option value="سیستان و بلوچستان"> سیستان و بلوچستان</option>
<option value="ایلام"> ایلام</option>
<option value="کهگلویه و بویراحمد"> کهگلویه و بویراحمد</option>
<option value="خراسان شمالی"> خراسان شمالی</option>
<option value="خراسان جنوبی"> خراسان جنوبی</option>
<option value="البرز"> البرز</option>
</select>
</div>
</div>
<div class="col-md-4">
<div class="form-group" dir="rtl">
<label class="control-label"> نام شهر</label>
<select class="form-control select-city" name="cityy" id="city">
<option value="" placeholder="انتخاب شهر"> </option>
</select>
<input type="hidden" value="" id="hide2" asp-for="City">
</div>
</div>
<div class="col-md-4">
<div class="form-group">
<label asp-for="AgreementNumber" class="control-label"> ردیف پیمان </label>
<input type="text" class="form-control text-center" value="000" asp-for="AgreementNumber">
<span asp-validation-for="AgreementNumber" class="error"></span>
</div>
</div>
</div>
<div class="row">
<div class="form-group col-md-12" style="padding-left: 3%;">
@*<label asp-for="Address">آدرس</label>*@
<textarea class="form-control" asp-for="Address" placeholder="آدرس"></textarea>
<span asp-validation-for="Address" class="text-danger"></span>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div style="padding-right: 5px">
<p class="pull-right">
<a href="#showmodal=@Url.Page("/Company/Employers/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; border-top-left-radius: 0px; border-bottom-left-radius: 0px ">
<i class="fa fa-user-plus" style="padding-left: 3px; font-size: 14px; color: #0f9500 !important "></i>
</a>
</p>
<p class="pull-right">
<a href="#showmodal=@Url.Page("/Company/Employers/Index", "InsertLegal")" class="btn btn-success btn-rounded waves-effect waves-light m-b-5" style=" background-color: #f5f5f5; border-color: #1d92e5; font-family: 'Web_Yekan' !important; color: #1d92e5 !important; border-top-right-radius: 0px; border-bottom-right-radius: 0px ">
<i class="fa fa-group" style="padding-left: 3px; font-size: 14px; color: #1d92e5 !important "></i>
</a>
</p>
</div>
</div>
</div>
</fieldset>
</div>
<div class="col-md-6">
<fieldset style="border: 1px solid #999797; border-radius: 10px; padding: revert;">
<legend style="margin-bottom: 5px; font-size: large; border-bottom: 0px; color: #505458; width: 185px; text-align: center;"> نحوه انجام امور قرارداد </legend>
<div class="row m-b-10">
<div class="col-md-12">
<label asp-for="@Model.AccountsList">
تعیین دسترسی
</label>
<select class="form-control select-city2" multiple asp-for="@Model.AccountIdsList" asp-items='new SelectList(Model.AccountsList, "Id", "Fullname")'>
</select>
</div>
</div>
<div class="form-group">
<span asp-validation-for="TypeOfContract" class="error"></span>
<fieldset style="border: 1px solid #c9c9c9; border-radius: 5px; margin-bottom: 10px; padding: revert;">
<p>
<label> مدت قرارداد </label>
<div class="row" dir="ltr">
<div class="col-md-2">
<span>
<span dir="rtl">1 ماهه</span> <input type="radio" value="1" asp-for="ContractTerm" checked>
</span>
</div>
<div class="col-md-2">
<span>
<span dir="rtl">2 ماهه</span> <input type="radio" value="2" asp-for="ContractTerm">
</span>
</div>
<div class="col-md-2">
<span>
<span dir="rtl">3 ماهه</span> <input type="radio" value="3" asp-for="ContractTerm">
</span>
</div>
<div class="col-md-2">
<span>
<span dir="rtl">6 ماهه</span> <input type="radio" value="6" asp-for="ContractTerm">
</span>
</div>
<div class="col-md-2">
<span>
<span dir="rtl">1 ساله</span> <input type="radio" value="12" asp-for="ContractTerm">
</span>
</div>
<div class="col-md-2"></div>
</div>
</p>
</fieldset>
<p>
قرارداد و تصفیه حساب بصورت استاندارد <input type="radio" value="a" asp-for="TypeOfContract" checked>
</p>
<p>
قرارداد و تصفیه حساب بدون محاسبه سنوات <input type="radio" value="b" asp-for="TypeOfContract">
</p>
<p>
قرارداد و تصفیه حساب بدون محاسبه عیدی <input type="radio" value="c" asp-for="TypeOfContract">
</p>
<p>
قرارداد و تصفیه حساب بدون محاسبه عیدی و سنوات <input type="radio" value="d" asp-for="TypeOfContract">
</p>
</div>
</fieldset>
<fieldset style="border: 1px solid #999797; border-radius: 10px; padding: revert;">
<legend style="margin-bottom: 5px; font-size: large; border-bottom: 0px; color: #505458; width: 195px; text-align: center;"> نحوه انجام امور بیمه ای</legend>
<div class="row">
<div class="form-group">
<input class="checkboxtitle" type="checkbox" asp-for="FixedSalary" id="checkSelect" onclick="selectori(this)"/>
<span> این کارگاه شامل دستمزد مقطوع می باشد</span>
</div>
<div class="form-group col-md-1" dir="rtl">
</div>
@* <div class="form-group col-md-6" dir="rtl">
<label id="jobsLable" asp-for="JobCode">انتخاب شغل با کد مربوطه</label>
<select id="jobs" class="form-control select-city" asp-for="JobCode" asp-items='new SelectList(Model.JobCodeViewModels, "Code", "JobName")'>
<option value=""></option>
</select>
<span asp-validation-for="JobCode" class="error"></span>
</div>*@
<div class="form-group col-md-4" dir="rtl">
<label id="populationLable" asp-for="Population"> جمعیت شهر</label>
<select id="population" class="form-control select-city" asp-for="Population">
<option value=""></option>
<option value="MoreThan500">بالای 500 هزار نفر</option>
<option value="LessThan500"> پایین 500 هزار نفر</option>
</select>
<span asp-validation-for="Population" class="error"></span>
</div>
</div>
<div class="row">
<div class="form-group">
<span asp-validation-for="TypeOfInsuranceSend" class="error"></span>
<p>
ارسال لیست بیمه عادی <input type="radio" value="ارسال لیست بیمه عادی" asp-for="TypeOfInsuranceSend">
</p>
<p>
ارسال لیست بیمه بصورت کمک دولت <input type="radio" value="ارسال لیست بیمه بصورت کمک دولت" asp-for="TypeOfInsuranceSend">
</p>
<p>
ارسال لیست بیمه کارگاه خانوادگی <input type="radio" value="ارسال لیست بیمه کارگاه خانوادگی" asp-for="TypeOfInsuranceSend">
</p>
</div>
</div>
</fieldset>
</div>
</div>
</div>
@*<input type="hidden" asp-for="id" value="id"/>*@
<div class="modal-footer">
<button type="submit" class="btn btn-success btn-rounded waves-effect waves-light" onclick="sum()">ذخیره</button>
<button type="button" class="btn btn-default btn-rounded waves-effect waves-light m-b-5" data-dismiss="modal">بستن</button>
</div>
</form>
</div>
<script language="javascript" src="~/AdminTheme/js/city.js"></script>
<script>
function sum() {
const y = document.getElementById('city');
const City = y.options[y.selectedIndex].text;
document.getElementById('hide2').value = City;
}
$(document).ready(function() {
if (document.getElementById("checkSelect").checked) {
document.getElementById("population").removeAttribute("disabled");
document.getElementById("population").style.backgroundColor = "#fff";
document.getElementById("jobs").removeAttribute("disabled");
document.getElementById("jobs").style.backgroundColor = "#fff";
document.getElementById("jobsLable").removeAttribute("style");
document.getElementById("populationLable").removeAttribute("style");
} else {
document.getElementById("population").setAttribute("disabled", "disabled");
document.getElementById("population").style.backgroundColor = "#e7e7e7";
document.getElementById("population").options.selectedIndex = 0;
document.getElementById("jobs").setAttribute("disabled", "disabled");
document.getElementById("jobs").style.backgroundColor = "#e7e7e7";
document.getElementById("jobs").options.selectedIndex = 0;
document.getElementById("jobsLable").style.color = "#9b9b9b";
document.getElementById("populationLable").style.color = "#9b9b9b";
}
});
function selectori() {
if (document.getElementById("checkSelect").checked) {
document.getElementById("population").removeAttribute("disabled");
document.getElementById("population").style.backgroundColor = "#fff";
document.getElementById("jobs").removeAttribute("disabled");
document.getElementById("jobs").style.backgroundColor = "#fff";
document.getElementById("jobsLable").removeAttribute("style");
document.getElementById("populationLable").removeAttribute("style");
} else {
document.getElementById("population").setAttribute("disabled", "disabled");
document.getElementById("population").style.backgroundColor = "#e7e7e7";
document.getElementById("population").options.selectedIndex = 0;
document.getElementById("select2-population-container").innerHTML = "";
document.getElementById("jobs").setAttribute("disabled", "disabled");
document.getElementById("jobs").style.backgroundColor = "#e7e7e7";
document.getElementById("jobs").options.selectedIndex = 0;
document.getElementById("select2-jobs-container").innerHTML = "";
document.getElementById("jobsLable").style.color = "#9b9b9b";
document.getElementById("populationLable").style.color = "#9b9b9b";
}
}
</script>
@*<script type="text/javascript">
var listArray = [];
async function show() {
var myArray = document.getElementById('copy');
let intext = myArray.options[myArray.selectedIndex].value;
@foreach (var items in Model.Employers)
{
@:listArray.push({ LName: "@items.LName", Id: @items.Id });
}
for (var i = 0; i < listArray.length; i++) {
if (listArray[i].Id == intext) {
document.getElementById("past").innerHTML = listArray[i].LName;
}
}
}
</script>*@
@*<script src="~/lib/select2/js/select2.js"></script>
<script src="~/lib/select2/js/i18n/fa.js"></script>*@

View File

@@ -1,828 +0,0 @@
@model CompanyManagment.App.Contracts.Workshop.CreateWorkshop
<link href="@Href("~/admintheme/css/createWorkshop.css")" rel="stylesheet"/>
<div id="createWorkshop">
<form asp-page="./Index" asp-page-handler="Create" id="workshops" autocomplete="off"
method="post"
data-ajax="true"
data-callback=""
data-action="Refresh"
enctype="multipart/form-data">
<div class="container">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<div class="main-title">فرم ایجاد کارگاه</div>
<div class="box">
<div class="steps col-md-12">
<div id="progress"></div>
<div class="step">مشخصات کارگاه</div>
<div class="step">امور قرارداد </div>
<div class="step">امور بیمه ای </div>
</div>
<div class="row form" id="form1">
<div class="col-md-12 col-xs-12 inputs EmployerIdList ">
<label class="input-label">انتخاب کارفرما <span style="color: red;">*</span></label>
<select class="select-city" multiple asp-for="@Model.EmployerIdList" onchange="getEmployer(this.value)" asp-items='new SelectList(Model.Employers, "Id", "FullName")'>
</select>
</div>
<div class="col-md-4 col-sm-4 col-xs-12 inputs">
<label class="input-label">نام کارگاه <span style="color: red;">*</span></label>
<input asp-for="WorkshopName" type="text" placeholder="" class="form-control notEmptyWorkshop">
</div>
<div class="col-md-4 col-sm-4 col-xs-12 inputs">
<label class="input-label"> نام مستعار کارگاه</label>
<input asp-for="WorkshopSureName" type="text" placeholder="" class="form-control">
</div>
<div class="col-md-2 col-sm-2 col-xs-12 inputs">
<label class="input-label"> نوع تملک </label>
<select asp-for="TypeOfOwnership" class="form-control">
<option value="" selected class="form-control"> </option>
<option value="">مالکیت</option>
<option value="">استیجاری</option>
</select>
</div>
<div class="col-md-2 col-sm-2 col-xs-12 inputs">
<label class="input-label">شماره بایگانی <span style="color: red;">*</span></label>
<input asp-for="ArchiveCode" type="text" placeholder="" class="form-control notEmptyArchive">
</div>
<div class="col-md-4 col-sm-4 col-xs-12 inputs">
<label class="input-label">نام و نام خانوادگی نماینده کارگاه </label>
<input asp-for="AgentName" type="text" placeholder="" class="form-control">
</div>
<div class="col-md-4 col-sm-4 col-xs-12 inputs">
<label class="input-label"> سمت </label>
<select name="job" class="form-control select-city">
<option value=""> </option>
</select>
</div>
<div class="col-md-4 col-sm-4 col-xs-12 inputs">
<label class="input-label">شماره تماس نماینده کارگاه </label>
<input asp-for="AgentPhone" type="text" placeholder="" class="form-control">
</div>
<div class="col-md-4 col-sm-4 col-xs-12 inputs">
<label class="input-label">نام استان </label>
<select class="form-control select-city" asp-for="State" name="state" onChange="iranwebsv(this.value);">
<option value=""> استان</option>
<option value="تهران"> تهران </option>
<option value="گیلان"> گیلان </option>
<option value="آذربایجان شرقی"> آذربایجان شرقی</option>
<option value="خوزستان"> خوزستان </option>
<option value="فارس"> فارس</option>
<option value="اصفهان"> اصفهان</option>
<option value="خراسان رضوی">خراسان رضوی </option>
<option value="قزوین"> قزوین</option>
<option value="سمنان"> سمنان </option>
<option value="قم"> قم</option>
<option value="مرکزی"> مرکزی</option>
<option value="زنجان"> زنجان</option>
<option value="مازندران"> مازندران</option>
<option value="گلستان"> گلستان</option>
<option value="اردبیل"> اردبیل </option>
<option value="آذربایجان غربی"> آذربایجان غربی</option>
<option value="همدان"> همدان </option>
<option value="کردستان"> کردستان </option>
<option value="کرمانشاه"> کرمانشاه </option>
<option value="لرستان"> لرستان</option>
<option value="بوشهر"> بوشهر</option>
<option value="کرمان"> کرمان</option>
<option value="هرمزگان"> هرمزگان</option>
<option value="چهارمحال و بختیاری"> چهارمحال و بختیاری</option>
<option value="یزد"> یزد</option>
<option value="سیستان و بلوچستان"> سیستان و بلوچستان</option>
<option value="ایلام"> ایلام</option>
<option value="کهگلویه و بویراحمد"> کهگلویه و بویراحمد</option>
<option value="خراسان شمالی"> خراسان شمالی</option>
<option value="خراسان جنوبی"> خراسان جنوبی</option>
<option value="البرز"> البرز</option>
</select>
</div>
<div class="col-md-4 col-sm-4 col-xs-12 inputs">
<label class="input-label">نام شهر </label>
<select class="form-control select-city" name="cityy" id="city">
<option value="" placeholder=" شهرستان"> </option>
</select>
<input type="hidden" value="" id="hide2" asp-for="City">
</div>
<div class="col-md-4 col-sm-4 col-xs-12 inputs">
<label class="input-label">نام محله </label>
@* <div class="select-wrapper">
<input type="text" asp-for="ZoneName" class="col-md-10 input"/>
<a class="addNeighbor col-md-2">
<i class="fa fa-plus addNeighbor-address"></i>
</a>
</div>*@
<div class="neighborField">
<input type="text" class="neighborInput form-control">
<a class="addNeighbor">
<i class="fa fa-plus"></i>
</a>
</div>
</div>
<div class="col-md-12 col-xs-12 inputs">
<label class="input-label">جزئیات نشانی </label>
<input asp-for="Address" type="text" placeholder="" class="form-control">
</div>
<div class="modal fade" id="edit-modal" tabindex="-1" role="dialog" aria-labelledby="edit-modal-label" aria-hidden="true" style="backdrop-filter: blur(6px);background-color: #0000005c;">
<div class="modal-dialoge" role="document">
<div class="modal-content2">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" data-parent-modal="#edit-modal" aria-hidden="true" style="left: auto;right: auto;margin-top: 20px;margin-right: 20px;">
×
</button>
<div class="modal-title">افزودن نشانی جدید</div>
</div>
<div class="modal-body">
<div class="col-md-4 col-sm-4 col-xs-12 inputs">
<select class="form-control">
<option value="استان 1" selected>نام استان </option>
<option value="استان 2" class="form-control">استان 2</option>
</select>
</div>
<div class="col-md-4 col-sm-4 col-xs-12 inputs">
<select class="form-control">
<option value="شهر 1" selected>نام شهر </option>
<option value="شهر 2" class="form-control">شهر 2</option>
</select>
</div>
<div class="col-md-4 col-sm-4 col-xs-12 inputs wrapper">
<input type="text" required/>
<label>نام محله </label>
</div>
<div class="w-100">
<div class="panel panel-default" id="city-table">
<div class="panel-heading">
<h3 class="panel-title"><i class="fa fa-list" style="padding-left: 3px; font-size: 14px"></i> لیست عناوین </h3>
</div>
<div class="panel-body">
<div>
<div>
<table id="datatable" class="table table-striped table-bordered">
<thead>
<tr>
<th style="font-size: 12px !important;text-align: center">#</th>
<th style="font-size: 12px !important; text-align: center">نام استان</th>
<th style="font-size: 12px !important; text-align: center">نام شهر </th>
<th style="font-size: 12px !important; text-align: center">نام محله </th>
<th style="font-size: 12px !important; width: 20%; text-align: center">عملیات</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" onclick="sendData()" class="btn modal2-btn" id="edit">ذخیره </button>
<button type="button" class="btn modal2-btn" data-dismiss="modal" id="closing" data-parent-modal="#edit-modal">انصراف</button>
</div>
</div>
</div>
</div>
</div>
<div class="row form" id="form2">
@if (Model.PermissionIds != null && Model.PermissionIds.Contains(10323))
{
<div class="col-xs-12 inputs">
<label class="input-label">تعیین سطح دسترسی برای قرارداد </label>
<select class="form-control select-city" multiple asp-for="@Model.AccountIdsList" asp-items='new SelectList(Model.AccountsList, "Id", "Fullname")'>
</select>
</div>
<div class="flex-box">
<div class="input-boxes col-md-6 col-sm-12 col-xs-12">
<fieldset class="right content-fieldset contract-box">
<div class="form2-title">لطفا مدت قرارداد خود را انتخاب کنید :</div>
<div class="col-md-1 blank-div"></div>
<div class="flexible-div flexible-radio col-md-12 col-sm-12 col-xs-12">
<div class="col-md-6 col-sm-6 col-xs-6 spanBox">
<span class="btn btn-deactive btn-rounded waves-effect waves-light contractDuration">1 ماهه</span>
</div>
<div class="col-md-6 col-sm-6 col-xs-6 spanBox">
<span class="btn btn-deactive btn-rounded waves-effect waves-light contractDuration">2 ماهه</span>
</div>
<div class="col-md-6 col-sm-6 col-xs-6 spanBox">
<span class="btn btn-deactive btn-rounded waves-effect waves-light contractDuration">3 ماهه</span>
</div>
<div class="col-md-6 col-sm-6 col-xs-6 spanBox">
<span class="btn btn-deactive btn-rounded waves-effect waves-light contractDuration">6 ماهه</span>
</div>
<div class="col-md-6 col-sm-6 col-xs-6 spanBox">
<span class="btn btn-deactive btn-rounded waves-effect waves-light contractDuration">1 ساله</span>
</div>
<div class="col-md-6 col-sm-6 col-xs-6 spanBox">
<span class="btn btn-deactive btn-rounded waves-effect waves-light contractDuration">دائمی</span>
</div>
<input type="hidden" id="asp-contract-hidden" asp-for="ContractTerm"/>
</div>
</fieldset>
</div>
<div class="input-boxes col-md-6 col-sm-12 col-xs-12">
<fieldset class="right content-fieldset contract-box">
<div class="form2-title">در صورت تمایل به محاسبه ی عناوین ذیل در فیش حقوقی، گزینه های موردنظر را فعال نمایید</div>
<div class="payTitles">
<div class="flexible-div paymentDiv">
<div class="col-md-12 col-sm-12 col-xs-12 spanBox">
<span onclick="addBonus(this, 'AddLeavePayInput')" data-value="AddLeavePay" class="btn bonusActive btn-rounded waves-effect waves-light bonusSpan"> مزد و مرخصی </span>
</div>
<div class="col-md-12 col-sm-12 col-xs-12 spanBox">
<span onclick="addBonus(this, 'AddYearsPayInput')" class="btn bonusActive btn-rounded waves-effect waves-light bonusSpan"> سنوات </span>
</div>
<div class="col-md-12 col-sm-12 col-xs-12 spanBox">
<span onclick="addBonus(this, 'AddBonusesPayInput')" class="btn bonusActive btn-rounded waves-effect waves-light bonusSpan"> عیدی و پاداش </span>
</div>
<input type="checkbox" class="hiddenCheckbox" checked="checked" asp-for="AddLeavePay" id="AddLeavePayInput"/>
<input type="checkbox" class="hiddenCheckbox" checked="checked" asp-for="AddYearsPay" id="AddYearsPayInput"/>
<input type="checkbox" class="hiddenCheckbox" checked="checked" asp-for="AddBonusesPay" id="AddBonusesPayInput"/>
</div>
<div class="paymentDiv">
<span onclick="addBonus(this, 'totalPayment')" data-value="totalPayment" class="totalPayment btn bonusActive waves-effect waves-light bonusSpan"> نمایش جمع تصفیه حساب </span>
<input type="checkbox" asp-for="TotalPaymentHide" checked="checked" class="hiddenCheckbox" id="totalPayment"/>
</div>
</div>
</fieldset>
</div>
</div>
@* <div class="row inputs">
<div class="col-md-12 col-lg-12 col-sm-12 col-xs-12">
<div class="optional-wages d-flex">
<div class="d-flex single-checkbox">
<span class="options-type" style="width: 100%;">مجموع مبالغ تصفیه حساب در ذیل فرم نمایش داده شود</span>
<a onclick="addPayment(this)" class="totalActive" style="font-size: 30px;">
<i class="ion-checkmark-circled" style="color: #20b723;"></i>
</a>
<input type="checkbox" asp-for="TotalPaymentHide" class="hiddenCheckbox" id="totalPayment" checked="checked" />
</div>
</div>
</div>
</div>*@
}
else
{
<div class="flex-box w-100">
<h4 style="margin: auto;margin-top: 10%;" class="text-danger">
شما مجوز دسترسی به این بخش را ندارید.
</h4>
</div>
}
</div>
<div class="row form" id="form3">
@if (Model.PermissionIds != null && Model.PermissionIds.Contains(10324))
{
<div class="col-md-12 form3-boxes">
<div class="col-md-6">
<label class="input-label"><input type="checkbox" value="NormalList" asp-for="TypeOfInsuranceSend" class="myCheckbox checkboxes sendList"> ارسال لیست بیمه کارگاه عادی</label>
<label class="input-label"><input type="checkbox" value="Govermentlist" asp-for="TypeOfInsuranceSend" class="myCheckbox checkboxes sendList">ارسال لیست بیمه کارگاه کمک دولت </label>
<label class="input-label"><input type="checkbox" value="Familylist" asp-for="TypeOfInsuranceSend" class="myCheckbox checkboxes sendList"> ارسال لیست بیمه کارگاه خانوادگی</label>
</div>
<div class="col-md-3 disabled" id="myDiv4">
<label class="input-label">کد کارگاهی بیمه</label>
<input asp-for="InsuranceCode" type="text" placeholder="" class="form-control">
</div>
<div class="col-md-3 disabled" id="myDiv2">
<label class="input-label"> ردیف پیمان</label>
<input type="text" value="000" asp-for="AgreementNumber" class="form-control" id="zeros">
</div>
</div>
<div class="col-md-12 form3-boxes disabled" id="myDiv">
<div class="col-md-12" style="margin-bottom: 10px;">
<label class="input-label"><input type="checkbox" asp-for="FixedSalary" class="myCheckbox2 checkboxes"> این کارگاه مشمول دستمزد مقطوع می باشد</label>
</div>
<div class="disabled" id="myDiv3">
<div class="col-md-8">
<label class="input-label"> عنوان صنف و درجه / کد اقتصادی </label>
<select class="select-city" id="jobName" asp-for="InsuranceJobId" asp-items='@Model.InsuranceJobViewModels'>
<option value="" disabled selected> </option>
</select>
</div>
<div class="col-md-4">
<label class="input-label"> جمعیت شهر </label>
<select class="form-control" id="population" asp-for="Population">
<option value="" disabled selected> </option>
<option value="LessThan500">کمتر از 500000 نفر </option>
<option value="MoreThan500">بیشتر از 500000 نفر</option>
</select>
</div>
</div>
</div>
}
else
{
<div class="flex-box w-100">
<h4 style="margin: auto;margin-top: 10%;" class="text-danger">
شما مجوز دسترسی به این بخش را ندارید.
</h4>
</div>
}
</div>
<div class="form-footer-btns">
<a class="btn btn-rounded" id="pre">مرحله قبل</a>
<a class="btn btn-rounded" id="next">مرحله بعد</a>
</div>
</div>
<div class="form-footer">
<button class="btn btn-rounded" id="close" data-dismiss="modal">بستن</button>
<a href="#" class="btn btn-rounded" id="save">ذخیره</a>
<a href="#" class="btn btn-rounded" id="fakeSave">ذخیره</a>
<button style="display: none;" type="submit" id="sendFinaly"></button>
</div>
</div>
<input type="hidden" id="isLegal"/>
</form>
</div>
<script language="javascript" src="~/AdminTheme/js/city.js"></script>
<script>
$('#fakeSave').hide();
$("#save").click(function() {
$('#save').hide();
$('#fakeSave').show();
var allInputsFilled = true;
var selectElement = $('.EmployerIdList .select-city');
var selectedOption = selectElement.find('option:selected');
var selectedText = selectedOption.text();
console.log(selectedText);
var selectCity = $('#city.select-city');
var selectedCityOption = selectCity.find('option:selected');
$('#hide2').val(selectedCityOption.text());
if (selectedText === "" || $(".notEmptyWorkshop").val() === '') {
allInputsFilled = false;
$('.EmployerIdList .select2-container').addClass('errored');
$(".notEmptyWorkshop").addClass('errored');
$('#fakeSave').hide();
$('#save').show();
} else {
$(".notEmptyWorkshop").removeClass('errored');
$('.EmployerIdList .select2-container').removeClass('errored');
allInputsFilled = true;
}
if ($(".notEmptyArchive").val() === '') {
allInputsFilled = false;
$(".notEmptyArchive").addClass('errored');
$('#save').show();
$('#fakeSave').hide();
// return;
} else {
$(".notEmptyArchive").removeClass('errored');
allInputsFilled = true;
}
if ($('.myCheckbox2').is(':checked') && $('#isLegal').val() == "false") {
if ($('#population').val() == '' || $('#population').val() == null) {
$('#population').addClass('errored');
allInputsFilled = false;
// return;
} else {
$('#population').removeClass('errored');
allInputsFilled = true;
}
if ($('#jobName').val() == null || $('#jobName').val() == '') {
$('#jobName').next('span').addClass('errored');
allInputsFilled = false;
// return;
} else {
$('#jobName').next('span').removeClass('errored');
allInputsFilled = true;
}
}
// var criteria = [true, false];
// var hasError=false;
// let found = containsAll(criteria,isLegalList);
// if(found){
// $('#EmployerIdList').next('span').addClass('errored');
// $.Notification.autoHideNotify('error', 'top right', 'پیام سیستم ', "امکان انتخاب کارفرمای حقیقی و حقوقی به دلیل موانع قانونی در نرم افزار بصورت همزمان امکان پذیر نمی باشد");
// }
//else
if ($('.errored').length > 0) {
// console.log(allInputsFilled);
$.Notification.autoHideNotify('error', 'top right', 'پیام سیستم ', "لطفا موارد اجباری را تکمیل کنید.");
$('#save').show();
$('#fakeSave').hide();
} else {
$('#sendFinaly').click();
setTimeout(function() {
$('#save').show();
$('#fakeSave').hide();
},
3000);
}
});
function getZone() {
const y = document.getElementById('city');
const cityValue = y.options[y.selectedIndex].text;
document.getElementById('hide2').value = cityValue;
const cityId = document.getElementById("city").value;
$('#select-button').empty().append('<option selected="selected" value="0" >انتخاب محله</option>');
if (cityId != null) {
$.ajax({
//contentType: 'application/json; charset=utf-8',
dataType: 'json',
type: 'POST',
url: '@Url.Page("./Index", "ZonelistLoad")',
headers: { "RequestVerificationToken": $('input[name="__RequestVerificationToken"]').val() },
data: { "cityId": cityId },
success: function(response) {
$.each(response.zoneList,
function(i, item) {
$('#select-button').append($('<option>',
{
value: item.zoneName,
text: item.zoneName
}));
});
},
failure: function(response) {
console.log(5, response);
}
});
}
}
</script>
<script>
$(document).ready(function() {
$("#asp-contract-hidden").val(1);
$('span.contractDuration:contains("1 ماهه")').removeClass('btn-deactive').addClass("contActive");
contractDuration();
checkContractDuration();
$(".EmployerIdList .select2-container").addClass('notEmpty ');
$('.activated').prop('checked', true);
$(function() {
$('#edit-modal [data-parent-modal]').on('click',
function(e) {
e.preventDefault();
e.stopPropagation();
const parentModalId = $(this).data('parent-modal');
$(parentModalId).modal('hide');
});
});
$(function() {
$('.addNeighbor').on('click',
function(e) {
e.preventDefault();
$('#edit-modal').modal('show');
});
});
$("#edit-modal").on('hidden.bs.modal',
function() {
$('body').addClass('modal-open');
});
$('.sendList').click(function() {
if ($(this).is(':checked')) {
$('.sendList').not(this).prop('checked', false);
}
});
const myCheckbox = $('.myCheckbox');
const myCheckbox2 = $('.myCheckbox2');
const myDiv = $('#myDiv');
const myDiv2 = $('#myDiv2');
const myDiv3 = $('#myDiv3');
const myDiv4 = $('#myDiv4');
myCheckbox.on('change',
function() {
if ($(this).is(':checked') && $('#isLegal').val() == "false") {
myDiv.removeClass('disabled');
} else {
myDiv.addClass('disabled');
}
});
myCheckbox.on('change',
function() {
if ($(this).is(':checked')) {
myDiv2.removeClass('disabled');
} else {
myDiv2.addClass('disabled');
}
});
myCheckbox2.on('change',
function() {
if ($(this).is(':checked')) {
myDiv3.removeClass('disabled');
} else {
myDiv3.addClass('disabled');
}
});
myCheckbox.on('change',
function() {
if ($(this).is(':checked')) {
myDiv4.removeClass('disabled');
} else {
myDiv4.addClass('disabled');
}
});
$(".myCheckbox").on('change',
function() {
if ($(this).is(':checked')) {
$("#asp-hidden").val($(this).val());
console.log($("#asp-hidden").val());
} else {
$("#asp-hidden").val('');
$("#InsuranceCode").val('');
}
});
$("#pre").css({ 'box-shadow': 'none' });
$("#next").click(function() {
var allInputsFilled = true;
const selectElement = $('.EmployerIdList .select-city');
const selectedOption = selectElement.find('option:selected');
const selectedText = selectedOption.text();
console.log(selectedText);
if (selectedText === "" || $(".notEmptyWorkshop").val() === '') {
allInputsFilled = false;
$('.EmployerIdList .select2-container').addClass('errored');
$(".notEmptyWorkshop").addClass('errored');
$('#fakeSave').hide();
$('#save').show();
return;
} else {
$(".notEmptyWorkshop").removeClass('errored');
$('.EmployerIdList .select2-container').removeClass('errored');
allInputsFilled = true;
}
if ($(".notEmptyArchive").val() === '') {
allInputsFilled = false;
$(".notEmptyArchive").addClass('errored');
return;
} else {
$(".notEmptyArchive").removeClass('errored');
allInputsFilled = true;
}
//var criteria = [true, false];
//var hasError=false;
//let found = containsAll(criteria,isLegalList);
//if(found){
// $('#EmployerIdList').next('span').addClass('errored');
// $.Notification.autoHideNotify('error', 'top right', 'پیام سیستم ', "امکان انتخاب کارفرمای حقیقی و حقوقی به دلیل موانع قانونی در نرم افزار بصورت همزمان امکان پذیر نمی باشد");
//}
//else
if (!allInputsFilled) {
$.Notification.autoHideNotify('error', 'top right', 'پیام سیستم ', "لطفا موارد اجباری را تکمیل کنید.");
} else {
if ($('#form3').css('right') == '0px') {
$("#next").css({
'background-color': "#c7c0c0ba",
'color': '#000000b8',
'box-shadow': 'none'
});
} else if ($('#form2').css('left') == '1200px') {
$("#pre").css({
'background-color': "white",
'color': '#0f9500',
'box-shadow': '0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12)'
});
$("#progress").css({
'width': '66.66%'
});
$("#form1").css({
right: '1200px'
});
$("#form2").css({
left: '0'
});
} else if ($('#form2').css('left') == '0px') {
$("#next").css({
'background-color': "#c7c0c0ba",
'color': '#000000b8',
'box-shadow': 'none'
});
$("#pre").css({
'background-color': "white",
'color': '#0f9500',
'box-shadow': '0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12)'
});
$("#progress").css({
'width': '100%',
'border-top-right-radius': '7px'
});
$("#form2").css({
left: '1200px'
});
$("#form3").css({
right: '0'
});
}
}
});
$("#pre").click(function() {
$("#next").css({
'background-color': "white",
'color': '#1763b1'
});
if ($('#form2').css('left') == '1200px' && $('#form3').css('right') == '1200px') {
$("#pre").css({
'background-color': "#c7c0c0ba",
'color': '#000000b8',
'box-shadow': 'none'
});
} else if ($('#form2').css('left') == '0px') {
$("#progress").css({
'width': '33.33%',
'border-top-right-radius': '0px'
});
$("#pre").css({
'background-color': "#c7c0c0ba",
'color': '#000000b8',
'box-shadow': 'none'
});
console.log(1);
$("#form2").css({
left: '1200px'
});
$("#form1").css({
right: 'initial'
});
} else if ($('#form3').css('right') == '0px') {
$("#progress").css({
'width': '66.66%',
'border-top-right-radius': '0px'
});
$("#pre").css({
'background-color': "white",
'color': '#0f9500',
'box-shadow': '0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12)'
});
$("#form2").css({
left: '0'
});
$("#form3").css({
right: '1200px'
});
}
});
});
//مدت قرارداد
$(".contractDuration").on('click',
function() {
if (!$(this).hasClass('contActive')) {
$(".contractDuration").removeClass('contActive');
$(this).removeClass('btn-deactive').addClass('contActive');
}
contractDuration();
});
function contractDuration() {
if ($(".contActive").text() == '1 ماهه') {
$("#asp-contract-hidden").val(1);
} else if ($(".contActive").text() == '2 ماهه') {
$("#asp-contract-hidden").val(2);
} else if ($(".contActive").text() == '3 ماهه') {
$("#asp-contract-hidden").val(3);
} else if ($(".contActive").text() == '6 ماهه') {
$("#asp-contract-hidden").val(6);
} else if ($(".contActive").text() == '1 ساله') {
$("#asp-contract-hidden").val(12);
} else if ($(".contActive").text() == 'دائمی') {
$("#asp-contract-hidden").val("ForEver");
}
}
function checkContractDuration() {
const aspValueContract = $("#asp-contract-hidden").val();
console.log(aspValueContract);
if (aspValueContract != '' || aspValueContract != undefined) {
if (aspValueContract == '1') {
$('span.contractDuration:contains("1 ماهه")').removeClass('btn-deactive').addClass("contActive");
} else if (aspValueContract == '2') {
$('span.contractDuration:contains("2 ماهه")').removeClass('btn-deactive').addClass("contActive");
} else if (aspValueContract == '3') {
$('span.contractDuration:contains("3 ماهه")').removeClass('btn-deactive').addClass("contActive");
} else if (aspValueContract == '6') {
$('span.contractDuration:contains("6 ماهه")').removeClass('btn-deactive').addClass("contActive");
} else if (aspValueContract == '12') {
$('span.contractDuration:contains("12 ماهه")').removeClass('btn-deactive').addClass("contActive");
} else if (aspValueContract == 'ForEver') {
$('span.contractDuration:contains("دائمی")').removeClass('btn-deactive').addClass("contActive");
}
}
}
//عناوین فیش حقوقی
function addBonus(element, id) {
if ($(element).hasClass('bonusActive')) {
$(element).addClass('bonusDeactive').removeClass('bonusActive');
$(`#${id}`).removeAttr("checked");
} else {
$(element).removeClass('bonusDeactive').addClass('bonusActive');
$(`#${id}`).attr("checked", "checked");
}
$(`#${id}`).change();
}
//مجموع مبالغ
//function addPayment(element) {
// if ($(element).hasClass('totalActive')) {
// $(element).addClass('totalDeactive').removeClass('totalActive');
// $("#totalPayment").prop("checked", false);
// $(element).children().replaceWith('<i class="ion-close-circled" style="color: #dd3632"></i>');
// } else {
// $(element).removeClass('totalDeactive').addClass('totalActive');
// $("#totalPayment").prop("checked", true);
// $(element).children().replaceWith('<i class="ion-checkmark-circled" style="color: #20b723"></i>');
// }
// $("#totalPayment").change();
//}
var isLegalList = [];
function getEmployer(employerId) {
if (employerId !== null && employerId != '') {
$.ajax({
/* contentType: 'charset=utf-8',*/
dataType: 'json',
type: 'POST',
url: '@Url.Page("/Company/Workshops/Index", "GetEmployerName")',
headers: { "RequestVerificationToken": $('input[name="__RequestVerificationToken"]').val() },
data: { "employerId": employerId },
success: function(response) {
//console.log(response.isLegal);
if ((response.isLegal && response.nationalId == '') || (!response.isLegal && response.nationalcode == '')) {
swal({
title: (response.isLegal ? "کارفرمای انتخاب شده شناسه ملی ندارد." : " کارفرمای انتخاب شده کد ملی ندارد."),
text: (response.isLegal ? "در صورت تمایل به درج شناسه ملی به منوی کارفرما مراجعه نمایید." : "در صورت تمایل به درج کد ملی به منوی کارفرما مراجعه نمایید."),
type: "warning",
showCancelButton: true,
confirmButtonColor: "#DD6B55",
//confirmButtonText: "بستن",
cancelButtonText: "بستن",
closeOnConfirm: false,
closeOnCancel: true,
customClass: "errorSwall"
});
$('#EmployerIdList option').filter(`[value="${employerId}"]`).remove();
const option = new Option(response.lName, employerId);
$("#EmployerIdList").append(option);
$("#EmployerIdList").trigger("change");
} else {
$('#isLegal').val(response.isLegal);
isLegalList.push(response.isLegal);
}
},
failure: function(response) {
console.log(5, response);
}
});
}
}
function containsAll(needles, haystack) {
for (let i = 0; i < needles.length; i++) {
if ($.inArray(needles[i], haystack) == -1) return false;
}
return true;
}
</script>

File diff suppressed because it is too large Load Diff

View File

@@ -1,464 +0,0 @@
@model CompanyManagment.App.Contracts.Workshop.EditWorkshop
@{
<link href="~/AdminTheme/amirb/jspc-peach.css" rel="stylesheet"/>
@*<link href="~/lib/select2/css/select2.css" rel="stylesheet" />*@
<style>
.modal-dialog {
width: 94% !important;
}
.select2-container {
width: 100% !important;
}
.modal-footer {
border-top: unset !important;
}
.modal .modal-dialog .modal-content .modal-footer {
padding-top: unset !important;
}
p{
direction: ltr !important;
text-align: right !important;
}
input[type=radio]:hover {
cursor:pointer;
}
</style>
}
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<form asp-page="./Index" asp-page-handler="Edit" autocomplete="off"
method="post"
data-ajax="true"
data-callback=""
data-action="Refresh"
enctype="multipart/form-data">
<div class="modal-body">
<div class="row">
<div class="col-md-6">
<fieldset style="border: 1px solid #999797; height: 615px; border-radius: 10px; padding: revert;">
<legend style="margin-bottom: 5px; font-size: large; border-bottom: 0px; color: #505458; width: 140px; text-align: center;"> مشخصات کارگاه</legend>
<div class="row">
<div class="form-group col-md-12" dir="rtl" style="padding-left: 2.5%">
<label asp-for="@Model.EmployerIdList">
انتخاب کارفرما <span style="color: red">*</span>
</label>
<select id="copy" class="form-control select-city" multiple asp-for="@Model.EmployerIdList" asp-items='new SelectList(Model.Employers, "Id", "FullName")'>
<option value="@Model.EmployerIdList"> انتخاب کارفرما </option>
</select>
<span asp-validation-for="Employers" class="error"></span>
</div>
</div>
<div class="row">
<div class="col-md-4">
<div class="form-group">
<label asp-for="WorkshopName" class="control-label">
نام کارگاه <span style="color: red">*</span>
</label>
<input type="text" class="form-control" asp-for="WorkshopName">
<span asp-validation-for="WorkshopName" class="error"></span>
</div>
</div>
<div class="col-md-4">
<div class="form-group">
<label asp-for="WorkshopSureName" class="control-label"> نام مستعار کارگاه </label>
<input type="text" class="form-control" asp-for="WorkshopSureName">
<span asp-validation-for="WorkshopSureName" class="error"></span>
</div>
</div>
<div class="col-md-4">
<div class="form-group">
<label asp-for="ArchiveCode" class="control-label">
شماره بایگانی <span style="color: red">*</span>
</label>
<input type="text" class="form-control" asp-for="ArchiveCode">
<span asp-validation-for="ArchiveCode" class="error"></span>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="form-group">
<label asp-for="InsuranceCode" class="control-label">کد کارگاهی بیمه </label>
<input type="text" class="form-control" asp-for="InsuranceCode">
<span asp-validation-for="InsuranceCode" class="error"></span>
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<label asp-for="TypeOfOwnership" class="control-label"> نوع مالکیت </label>
<input type="text" class="form-control" asp-for="TypeOfOwnership">
<span asp-validation-for="TypeOfOwnership" class="error"></span>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="form-group">
<label asp-for="AgentName" class="control-label">
نام و نام خانوادگی نماینده <span style="color: red">*</span>
</label>
<input type="text" class="form-control" asp-for="AgentName">
<span asp-validation-for="AgentName" class="error"></span>
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<label asp-for="AgentPhone" class="control-label">شماره تلفن نماینده</label>
<input type="text" class="form-control" asp-for="AgentPhone">
<span asp-validation-for="AgentPhone" class="error"></span>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="form-group" dir="rtl">
<label asp-for="State" class="control-label"> نام استان</label>
<select id="state" class="form-control select-city" asp-for="State" name="state" onChange="iranwebsv(this.value);">
<option value="">انتخاب استان</option>
<option value="تهران"> تهران </option>
<option value="گیلان"> گیلان </option>
<option value="آذربایجان شرقی"> آذربایجان شرقی</option>
<option value="خوزستان"> خوزستان </option>
<option value="فارس"> فارس</option>
<option value="اصفهان"> اصفهان</option>
<option value="خراسان رضوی">خراسان رضوی </option>
<option value="قزوین"> قزوین</option>
<option value="سمنان"> سمنان </option>
<option value="قم"> قم</option>
<option value="مرکزی"> مرکزی</option>
<option value="زنجان"> زنجان</option>
<option value="مازندران"> مازندران</option>
<option value="گلستان"> گلستان</option>
<option value="اردبیل"> اردبیل </option>
<option value="آذربایجان غربی"> آذربایجان غربی</option>
<option value="همدان"> همدان </option>
<option value="کردستان"> کردستان </option>
<option value="کرمانشاه"> کرمانشاه </option>
<option value="لرستان"> لرستان</option>
<option value="بوشهر"> بوشهر</option>
<option value="کرمان"> کرمان</option>
<option value="هرمزگان"> هرمزگان</option>
<option value="چهارمحال و بختیاری"> چهارمحال و بختیاری</option>
<option value="یزد"> یزد</option>
<option value="سیستان و بلوچستان"> سیستان و بلوچستان</option>
<option value="ایلام"> ایلام</option>
<option value="کهگلویه و بویراحمد"> کهگلویه و بویراحمد</option>
<option value="خراسان شمالی"> خراسان شمالی</option>
<option value="خراسان جنوبی"> خراسان جنوبی</option>
<option value="البرز"> البرز</option>
</select>
</div>
</div>
<div class="col-md-6">
<div class="form-group" dir="rtl">
<label class="control-label"> نام شهر</label>
<select class="form-control select-city" asp-for="City" name="cityy" id="city">
<option value=""> @Model.City</option>
</select>
<input type="hidden" value="@Model.City" id="hide2" asp-for="City">
</div>
</div>
</div>
<div class="row">
<div class="form-group col-md-12" style="padding-left: 3%;">
@*<label asp-for="Address">آدرس</label>*@
<textarea class="form-control" asp-for="Address" placeholder="آدرس"></textarea>
<span asp-validation-for="Address" class="text-danger"></span>
</div>
</div>
<div class="row">
<div class="col-md-12 m-r-10">
<div class="m-r-20" style="padding-right: 20px">
<p class="pull-right">
<a href="#showmodal=@Url.Page("/Company/Employers/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; border-top-left-radius: 0px; border-bottom-left-radius: 0px ">
<i class="fa fa-user-plus" style="padding-left: 3px; font-size: 14px; color: #0f9500 !important "></i>
</a>
</p>
<p class="pull-right">
<a href="#showmodal=@Url.Page("/Company/Employers/Index", "InsertLegal")" class="btn btn-success btn-rounded waves-effect waves-light m-b-5" style=" background-color: #f5f5f5; border-color: #1d92e5; font-family: 'Web_Yekan' !important; color: #1d92e5 !important; border-top-right-radius: 0px; border-bottom-right-radius: 0px ">
<i class="fa fa-group" style="padding-left: 3px; font-size: 14px; color: #1d92e5 !important "></i>
</a>
</p>
</div>
</div>
</div>
</fieldset>
</div>
<div class="col-md-6">
<fieldset style="border: 1px solid #999797; border-radius: 10px; padding: revert;">
<legend style="margin-bottom: 5px; font-size: large; border-bottom: 0px; color: #505458; width: 185px; text-align: center;"> نحوه انجام امور قرارداد </legend>
<div class="row m-b-10">
<div class="col-md-12">
<label asp-for="@Model.AccountsList">
تعیین دسترسی
</label>
<select class="form-control select-city2" multiple asp-for="@Model.AccountIdsList" asp-items='new SelectList(Model.AccountsList, "Id", "Fullname")'>
</select>
</div>
</div>
<div class="form-group">
<span asp-validation-for="TypeOfContract" class="error"></span>
<fieldset style="border: 1px solid #c9c9c9; border-radius: 5px; margin-bottom: 10px; padding: revert;">
<p>
<label> مدت قرارداد </label>
<div class="row" dir="ltr">
<div class="col-md-2">
<span>
<span dir="rtl">1 ماهه</span> <input type="radio" value="1" asp-for="ContractTerm" checked>
</span>
</div>
<div class="col-md-2">
<span>
<span dir="rtl">2 ماهه</span> <input type="radio" value="2" asp-for="ContractTerm">
</span>
</div>
<div class="col-md-2">
<span>
<span dir="rtl">3 ماهه</span> <input type="radio" value="3" asp-for="ContractTerm">
</span>
</div>
<div class="col-md-2">
<span>
<span dir="rtl">6 ماهه</span> <input type="radio" value="6" asp-for="ContractTerm">
</span>
</div>
<div class="col-md-2">
<span>
<span dir="rtl">1 ساله</span> <input type="radio" value="12" asp-for="ContractTerm">
</span>
</div>
<div class="col-md-2"></div>
</div>
</p>
</fieldset>
<p>
قرارداد و تصفیه حساب بصورت استاندارد <input type="radio" value="a" asp-for="TypeOfContract" checked>
</p>
<p>
قرارداد و تصفیه حساب بدون محاسبه سنوات <input type="radio" value="b" asp-for="TypeOfContract">
</p>
<p>
قرارداد و تصفیه حساب بدون محاسبه عیدی <input type="radio" value="c" asp-for="TypeOfContract">
</p>
<p>
قرارداد و تصفیه حساب بدون محاسبه عیدی و پاداش <input type="radio" value="d" asp-for="TypeOfContract">
</p>
</div>
</fieldset>
<fieldset style="border: 1px solid #999797; border-radius: 10px; padding: revert;">
<legend style="margin-bottom: 5px; font-size: large; border-bottom: 0px; color: #505458; width: 195px; text-align: center;"> نحوه انجام امور بیمه ای</legend>
<div class="row">
<div class="form-group">
<input class="checkboxtitle" type="checkbox" asp-for="FixedSalary" id="checkSelect" onclick="selectori(this)"/>
<span> این کارگاه شامل دستمزد مقطوع می باشد</span>
</div>
<div class="form-group col-md-1" dir="rtl">
</div>
@* <div class="form-group col-md-6" dir="rtl">
<label id="jobsLable" asp-for="JobCode">انتخاب شغل با کد مربوطه</label>
<select id="jobs" class="form-control select-city" asp-for="JobCode" asp-items='new SelectList(Model.JobCodeViewModels, "Code", "JobName")'>
<option value=""></option>
</select>
<span asp-validation-for="JobCode" class="error"></span>
</div>*@
<div class="form-group col-md-4" dir="rtl">
<label id="populationLable" asp-for="Population"> جمعیت شهر</label>
<select id="population" class="form-control select-city" asp-for="Population">
<option value=""></option>
<option value="MoreThan500">بالای 500 هزار نفر</option>
<option value="LessThan500"> پایین 500 هزار نفر</option>
</select>
<span asp-validation-for="Population" class="error"></span>
</div>
</div>
<div class="row">
<div class="form-group">
<span asp-validation-for="TypeOfInsuranceSend" class="error"></span>
<p>
ارسال لیست بیمه عادی <input type="radio" value="ارسال لیست بیمه عادی" asp-for="TypeOfInsuranceSend">
</p>
<p>
ارسال لیست بیمه بصورت کمک دولت <input type="radio" value="ارسال لیست بیمه بصورت کمک دولت" asp-for="TypeOfInsuranceSend">
</p>
<p>
ارسال لیست بیمه کارگاه خانوادگی <input type="radio" value="ارسال لیست بیمه کارگاه خانوادگی" asp-for="TypeOfInsuranceSend">
</p>
</div>
</div>
</fieldset>
</div>
</div>
</div>
<input type="hidden" asp-for="Id" value="@Model.Id"/>
<div class="modal-footer">
<button type="submit" class="btn btn-success btn-rounded waves-effect waves-light" onclick="sum()">ذخیره</button>
<button type="button" class="btn btn-default btn-rounded waves-effect waves-light m-b-5" data-dismiss="modal">بستن</button>
</div>
</form>
</div>
<script language="javascript" src="~/AdminTheme/js/city.js"></script>
<script type="text/javascript">
function sum() {
const y = document.getElementById('city');
const City = y.options[y.selectedIndex].text;
document.getElementById('hide2').value = City;
}
$(document).ready(function() {
if (document.getElementById("checkSelect").checked) {
document.getElementById("population").removeAttribute("disabled");
document.getElementById("population").style.backgroundColor = "#fff";
document.getElementById("jobs").removeAttribute("disabled");
document.getElementById("jobs").style.backgroundColor = "#fff";
document.getElementById("jobsLable").removeAttribute("style");
document.getElementById("populationLable").removeAttribute("style");
} else {
document.getElementById("population").setAttribute("disabled", "disabled");
document.getElementById("population").style.backgroundColor = "#e7e7e7";
document.getElementById("population").options.selectedIndex = 0;
document.getElementById("jobs").setAttribute("disabled", "disabled");
document.getElementById("jobs").style.backgroundColor = "#e7e7e7";
document.getElementById("jobs").options.selectedIndex = 0;
document.getElementById("jobsLable").style.color = "#9b9b9b";
document.getElementById("populationLable").style.color = "#9b9b9b";
}
});
function selectori() {
if (document.getElementById("checkSelect").checked) {
document.getElementById("population").removeAttribute("disabled");
document.getElementById("population").style.backgroundColor = "#fff";
document.getElementById("jobs").removeAttribute("disabled");
document.getElementById("jobs").style.backgroundColor = "#fff";
document.getElementById("jobsLable").removeAttribute("style");
document.getElementById("populationLable").removeAttribute("style");
} else {
document.getElementById("population").setAttribute("disabled", "disabled");
document.getElementById("population").style.backgroundColor = "#e7e7e7";
document.getElementById("population").options.selectedIndex = 0;
document.getElementById("select2-population-container").innerHTML = "";
document.getElementById("jobs").setAttribute("disabled", "disabled");
document.getElementById("jobs").style.backgroundColor = "#e7e7e7";
document.getElementById("jobs").options.selectedIndex = 0;
document.getElementById("select2-jobs-container").innerHTML = "";
document.getElementById("jobsLable").style.color = "#9b9b9b";
document.getElementById("populationLable").style.color = "#9b9b9b";
}
}
</script>
<script>
$(document).ready(function() {
const state = document.getElementById('state').value;
const city = document.getElementById('hide2').value;
iranwebsv(state);
$('#city option:contains("شهرستان")').text(city);
});
</script>

View File

@@ -1,905 +0,0 @@
@model CompanyManagment.App.Contracts.Workshop.EditWorkshop
<link href="@Href("~/admintheme/css/createWorkshop.css")" rel="stylesheet"/>
<div id="editWorkshop">
<form asp-page="./Index" asp-page-handler="Edit" id="workshops" autocomplete="off"
method="post"
data-ajax="true"
data-callback=""
data-action="Refresh"
enctype="multipart/form-data">
<input type="hidden" asp-for="Id" value="@Model.Id"/>
<div class="container">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<div class="main-title">فرم ویرایش کارگاه</div>
<div class="box">
<div class="steps col-md-12">
<div id="progress"></div>
<div class="step">مشخصات کارگاه</div>
<div class="step">امور قرارداد </div>
<div class="step">امور بیمه ای </div>
</div>
<div class="row form" id="form1">
<div class="col-md-12 col-xs-12 inputs EmployerIdList ">
<label class="form-control-label">انتخاب کارفرما <span style="color: red;">*</span></label>
<select class="select-city" multiple asp-for="@Model.EmployerIdList" onchange="getEmployer(this.value)" asp-items='new SelectList(Model.Employers, "Id", "FullName")'>
<option value="@Model.EmployerIdList"> انتخاب کارفرما </option>
</select>
</div>
<div class="col-md-4 col-sm-4 col-xs-12 inputs">
<label class="form-control-label">نام کارگاه <span style="color: red;">*</span></label>
<input asp-for="WorkshopName" type="text" placeholder="" class="form-control notEmptyWorkshop">
</div>
<div class="col-md-4 col-sm-4 col-xs-12 inputs">
<label class="form-control-label"> نام مستعار کارگاه</label>
<input asp-for="WorkshopSureName" type="text" placeholder="" class="form-control">
</div>
<div class="col-md-2 col-sm-2 col-xs-12 inputs">
<label class="form-control-label"> نوع تملک </label>
<select asp-for="TypeOfOwnership" class="form-control">
<option value="" selected class="form-control"> </option>
<option value="">مالکیت</option>
<option value="">استیجاری</option>
</select>
</div>
<div class="col-md-2 col-sm-2 col-xs-12 inputs">
<label class="form-control-label">شماره بایگانی <span style="color: red;">*</span></label>
<input asp-for="ArchiveCode" type="text" placeholder="" class="form-control notEmptyArchive">
</div>
<div class="col-md-4 col-sm-4 col-xs-12 inputs">
<label class="form-control-label">نام و نام خانوادگی نماینده کارگاه </label>
<input asp-for="AgentName" type="text" placeholder="" class="form-control">
</div>
<div class="col-md-4 col-sm-4 col-xs-12 inputs">
<label class="form-control-label"> سمت </label>
<select name="job" class="form-control select-city">
<option value=""> </option>
</select>
</div>
<div class="col-md-4 col-sm-4 col-xs-12 inputs">
<label class="form-control-label">شماره تماس نماینده کارگاه </label>
<input asp-for="AgentPhone" type="text" placeholder="" class="form-control">
</div>
<div class="col-md-4 col-sm-4 col-xs-12 inputs">
<label class="form-control-label">نام استان </label>
<select class="form-control select-city" asp-for="State" id="state" name="state" onChange="iranwebsv(this.value);">
<option value=""> استان</option>
<option value="تهران"> تهران </option>
<option value="گیلان"> گیلان </option>
<option value="آذربایجان شرقی"> آذربایجان شرقی</option>
<option value="خوزستان"> خوزستان </option>
<option value="فارس"> فارس</option>
<option value="اصفهان"> اصفهان</option>
<option value="خراسان رضوی">خراسان رضوی </option>
<option value="قزوین"> قزوین</option>
<option value="سمنان"> سمنان </option>
<option value="قم"> قم</option>
<option value="مرکزی"> مرکزی</option>
<option value="زنجان"> زنجان</option>
<option value="مازندران"> مازندران</option>
<option value="گلستان"> گلستان</option>
<option value="اردبیل"> اردبیل </option>
<option value="آذربایجان غربی"> آذربایجان غربی</option>
<option value="همدان"> همدان </option>
<option value="کردستان"> کردستان </option>
<option value="کرمانشاه"> کرمانشاه </option>
<option value="لرستان"> لرستان</option>
<option value="بوشهر"> بوشهر</option>
<option value="کرمان"> کرمان</option>
<option value="هرمزگان"> هرمزگان</option>
<option value="چهارمحال و بختیاری"> چهارمحال و بختیاری</option>
<option value="یزد"> یزد</option>
<option value="سیستان و بلوچستان"> سیستان و بلوچستان</option>
<option value="ایلام"> ایلام</option>
<option value="کهگلویه و بویراحمد"> کهگلویه و بویراحمد</option>
<option value="خراسان شمالی"> خراسان شمالی</option>
<option value="خراسان جنوبی"> خراسان جنوبی</option>
<option value="البرز"> البرز</option>
</select>
</div>
<div class="col-md-4 col-sm-4 col-xs-12 inputs">
<label class="form-control-label">نام شهر </label>
<select class="form-control select-city" name="cityy" id="city">
</select>
<input type="hidden" id="hide2" asp-for="City">
<input type="hidden" value="@Model.City" id="hide3">
</div>
<div class="col-md-4 col-sm-4 col-xs-12 inputs">
<label class="input-label">نام محله </label>
<div class="neighborField">
<input type="text" asp-for="ZoneName" class="neighborInput form-control">
<a class="addNeighbor">
<i class="fa fa-plus"></i>
</a>
</div>
</div>
<div class="col-md-12 col-xs-12 inputs">
<label class="form-control-label">جزئیات نشانی </label>
<input asp-for="Address" type="text" placeholder="" class="form-control">
</div>
<div class="modal fade" id="edit-modal" tabindex="-1" role="dialog" aria-labelledby="edit-modal-label" aria-hidden="true" style="backdrop-filter: blur(6px); background-color: #0000005c;">
<div class="modal-dialoge" role="document">
<div class="modal-content2">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" data-parent-modal="#edit-modal" aria-hidden="true" style="left: auto; right: auto; margin-top: 20px; margin-right: 20px;">
×
</button>
<div class="modal-title">افزودن نشانی جدید</div>
</div>
<div class="modal-body">
<div class="col-md-4 col-sm-4 col-xs-12 inputs">
<select class="form-control">
<option value="استان 1" selected>نام استان </option>
<option value="استان 2" class="form-control">استان 2</option>
</select>
</div>
<div class="col-md-4 col-sm-4 col-xs-12 inputs">
<select class="form-control">
<option value="شهر 1" selected>نام شهر </option>
<option value="شهر 2" class="form-control">شهر 2</option>
</select>
</div>
<div class="col-md-4 col-sm-4 col-xs-12 inputs wrapper">
<input type="text" required/>
<label>نام محله </label>
</div>
<div class="w-100">
<div class="panel panel-default" id="city-table">
<div class="panel-heading">
<h3 class="panel-title"><i class="fa fa-list" style="padding-left: 3px; font-size: 14px"></i> لیست عناوین </h3>
</div>
<div class="panel-body">
<div>
<div>
<table id="datatable" class="table table-striped table-bordered">
<thead>
<tr>
<th style="font-size: 12px !important; text-align: center">#</th>
<th style="font-size: 12px !important; text-align: center">نام استان</th>
<th style="font-size: 12px !important; text-align: center">نام شهر </th>
<th style="font-size: 12px !important; text-align: center">نام محله </th>
<th style="font-size: 12px !important; width: 20%; text-align: center">عملیات</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" onclick="sendData()" class="btn modal2-btn" id="edit">ذخیره </button>
<button type="button" class="btn modal2-btn" data-dismiss="modal" id="closing" data-parent-modal="#edit-modal">انصراف</button>
</div>
</div>
</div>
</div>
</div>
<div class="row form" id="form2">
@if (Model.PermissionIds != null && Model.PermissionIds.Contains(10323))
{
<div class="col-xs-12 inputs">
<label class="form-control-label">تعیین سطح دسترسی برای قرارداد </label>
<select class="form-control select-city" multiple asp-for="@Model.AccountIdsList" asp-items='new SelectList(Model.AccountsList, "Id", "Fullname")'>
</select>
</div>
<div class="flex-box">
<div class="input-boxes col-md-6 col-sm-12 col-xs-12">
<fieldset class="right content-fieldset contract-box">
<div class="form2-title">لطفا مدت قرارداد خود را انتخاب کنید :</div>
<div class="col-md-1 blank-div"></div>
<div class="flexible-div flexible-radio col-md-12 col-sm-12 col-xs-12">
<div class="col-md-6 col-sm-6 col-xs-6 spanBox">
<span class="btn btn-deactive btn-rounded waves-effect waves-light contractDuration">1 ماهه</span>
</div>
<div class="col-md-6 col-sm-6 col-xs-6 spanBox">
<span class="btn btn-deactive btn-rounded waves-effect waves-light contractDuration">2 ماهه</span>
</div>
<div class="col-md-6 col-sm-6 col-xs-6 spanBox">
<span class="btn btn-deactive btn-rounded waves-effect waves-light contractDuration">3 ماهه</span>
</div>
<div class="col-md-6 col-sm-6 col-xs-6 spanBox">
<span class="btn btn-deactive btn-rounded waves-effect waves-light contractDuration">6 ماهه</span>
</div>
<div class="col-md-6 col-sm-6 col-xs-6 spanBox">
<span class="btn btn-deactive btn-rounded waves-effect waves-light contractDuration">1 ساله</span>
</div>
<div class="col-md-6 col-sm-6 col-xs-6 spanBox">
<span class="btn btn-deactive btn-rounded waves-effect waves-light contractDuration">دائمی</span>
</div>
<input type="hidden" id="asp-contract-hidden" asp-for="ContractTerm"/>
</div>
</fieldset>
</div>
<div class="input-boxes col-md-6 col-sm-12 col-xs-12">
<fieldset class="right content-fieldset contract-box">
<div class="form2-title" style="font-size: 12px;margin-bottom: 15px;">در صورت تمایل به محاسبه ی عناوین ذیل در فیش حقوقی، گزینه های موردنظر را فعال نمایید</div>
<div class="payTitles">
<div class="flexible-div paymentDiv">
<div class="col-md-12 col-sm-12 col-xs-12 spanBox">
<span onclick="addBonus(this, 'AddLeavePayInput')" data-value="AddLeavePay" class="AddLeavePay btn bonusActive waves-effect waves-light bonusSpan"> مزد و مرخصی </span>
</div>
<div class="col-md-12 col-sm-12 col-xs-12 spanBox">
<span onclick="addBonus(this, 'AddYearsPayInput')" class="AddYearsPay btn bonusActive waves-effect waves-light bonusSpan"> سنوات </span>
</div>
<div class="col-md-12 col-sm-12 col-xs-12 spanBox">
<span onclick="addBonus(this, 'AddBonusesPayInput')" class="AddBonusesPay btn bonusActive waves-effect waves-light bonusSpan"> عیدی و پاداش </span>
</div>
<input type="checkbox" class="hiddenCheckbox" asp-for="AddLeavePay" id="AddLeavePayInput"/>
<input type="checkbox" class="hiddenCheckbox" asp-for="AddYearsPay" id="AddYearsPayInput"/>
<input type="checkbox" class="hiddenCheckbox" asp-for="AddBonusesPay" id="AddBonusesPayInput"/>
</div>
<div class="paymentDiv">
<span onclick="addBonus(this, 'totalPayment')" data-value="totalPayment" class="totalPayment btn bonusActive waves-effect waves-light bonusSpan"> نمایش جمع تصفیه حساب </span>
<input type="checkbox" asp-for="TotalPaymentHide" class="hiddenCheckbox" id="totalPayment"/>
@* <div class="optional-wages d-flex">
<div class="d-flex single-checkbox">
<span class="options-type" style="width: 100%;">مجموع مبالغ تصفیه حساب در ذیل فرم نمایش داده شود</span>
<a onclick="addPayment(this)" class="paymentTag totalActive" style="font-size: 30px;">
<i class="ion-checkmark-circled" style="color: #20b723;"></i>
</a>
@if (Model.TotalPaymentHide)
{
<input type="checkbox" checked="checked" asp-for="TotalPaymentHide" class="hiddenCheckbox" id="totalPayment" />
}
else
{
<input type="checkbox" asp-for="TotalPaymentHide" class="hiddenCheckbox" id="totalPayment" />
}
</div>
</div>*@
</div>
</div>
</fieldset>
</div>
</div>
@* <div class="row inputs">
<div class="col-md-12 col-lg-12 col-sm-12 col-xs-12">
<div class="optional-wages d-flex">
<div class="d-flex single-checkbox">
<span class="options-type" style="width: 100%;">مجموع مبالغ تصفیه حساب در ذیل فرم نمایش داده شود</span>
<a onclick="addPayment(this)" class="paymentTag totalActive" style="font-size: 30px;">
<i class="ion-checkmark-circled" style="color: #20b723;"></i>
</a>
@if(Model.TotalPaymentHide){
<input type="checkbox" checked="checked" asp-for="TotalPaymentHide" class="hiddenCheckbox" id="totalPayment" />
}
else
{
<input type="checkbox" asp-for="TotalPaymentHide" class="hiddenCheckbox" id="totalPayment" />
}
</div>
</div>
</div>
</div>*@
}
else
{
<div class="flex-box w-100">
<h4 style="margin: auto;margin-top: 10%;" class="text-danger">
شما مجوز دسترسی به این بخش را ندارید.
</h4>
</div>
}
</div>
<div class="row form" id="form3">
@if (Model.PermissionIds != null && Model.PermissionIds.Contains(10324))
{
<div class="col-md-12 form3-boxes">
<div class="col-md-6">
<label class="form-control-label"><input type="checkbox" value="NormalList" class="myCheckbox checkboxes sendList"> ارسال لیست بیمه کارگاه عادی</label>
<label class="form-control-label"><input type="checkbox" value="Govermentlist" class="myCheckbox checkboxes sendList">ارسال لیست بیمه کارگاه کمک دولت </label>
<label class="form-control-label"><input type="checkbox" value="Familylist" class="myCheckbox checkboxes sendList"> ارسال لیست بیمه کارگاه خانوادگی</label>
<input type="hidden" asp-for="TypeOfInsuranceSend" id="asp-hidden"/>
</div>
<div class="col-md-3 disabled" id="myDiv4">
<label class="form-control-label">کد کارگاهی بیمه</label>
<input asp-for="InsuranceCode" type="text" placeholder="" class="form-control">
</div>
<div class="col-md-3 disabled" id="myDiv2">
<label class="form-control-label"> ردیف پیمان</label>
<input type="text" value="000" asp-for="AgreementNumber" class="form-control" id="zeros">
</div>
</div>
<div class="col-md-12 form3-boxes disabled" id="myDiv">
<div class="col-md-12" style="margin-bottom: 10px;">
<label class="form-control-label"><input type="checkbox" asp-for="FixedSalary" class="myCheckbox2 checkboxes"> این کارگاه مشمول دستمزد مقطوع می باشد</label>
</div>
<div class="disabled" id="myDiv3">
<div class="col-md-8">
<label class="form-control-label"> عنوان صنف و درجه / کد اقتصادی </label>
<select class="select-city" id="jobName" asp-for="InsuranceJobId" asp-items='@Model.InsuranceJobViewModels'>
<option value="" disabled selected> </option>
</select>
</div>
<div class="col-md-4">
<label class="form-control-label"> جمعیت شهر </label>
<select class="form-control" id="population" asp-for="Population">
<option value="" disabled selected> </option>
<option value="LessThan500">کمتر از 500000 نفر </option>
<option value="MoreThan500">بیشتر از 500000 نفر</option>
</select>
</div>
</div>
</div>
}
else
{
<div class="flex-box w-100">
<h4 style="margin: auto;margin-top: 10%;" class="text-danger">
شما مجوز دسترسی به این بخش را ندارید.
</h4>
</div>
}
</div>
<div class="form-footer-btns">
<a class="btn btn-rounded" id="pre">مرحله قبل</a>
<a class="btn btn-rounded" id="next">مرحله بعد</a>
</div>
</div>
<div class="form-footer">
<button class="btn btn-rounded" id="close" data-dismiss="modal">بستن</button>
<button class=" btn btn-rounded" id="save">ذخیره</button>
</div>
</div>
<input type="hidden" id="isLegal"/>
</form>
</div>
<script language="javascript" src="~/AdminTheme/js/city.js"></script>
<script>
$(document).ready(function() {
contractDuration();
checkContractDuration();
checkBonus();
var aspValue = $("#asp-hidden").val();
if (aspValue != "" || aspValue != undefined) {
var checkbox = $(`input.myCheckbox[value="${aspValue}"]`);
checkbox.prop("checked", true);
}
const myCheckbox = $('.myCheckbox');
const myCheckbox2 = $('.myCheckbox2');
const myDiv = $('#myDiv');
const myDiv2 = $('#myDiv2');
const myDiv3 = $('#myDiv3');
const myDiv4 = $('#myDiv4');
if (myCheckbox.is(':checked')) {
myDiv.removeClass('disabled');
myDiv2.removeClass('disabled');
myDiv4.removeClass('disabled');
} else {
myDiv.addClass('disabled');
myDiv2.addClass('disabled');
myDiv4.addClass('disabled');
}
if (myCheckbox2.is(':checked')) {
myDiv3.removeClass('disabled');
} else {
myDiv3.addClass('disabled');
}
var aspValue = $("#asp-hidden").val();
if (aspValue != "" || aspValue != undefined) {
var checkbox = $(`input.myCheckbox[value="${aspValue}"]`);
checkbox.prop("checked", true);
}
const aspValueContract = $("#asp-contract-hidden").val();
if (aspValue != "" || aspValue != undefined) {
const checkspan = $(`span.contractDuration[text="${aspValueContract}"]`);
checkspan.addClass("contActive");
}
const state = document.getElementById('state').value;
const city = document.getElementById('hide3').value;
iranwebsv(state);
$(`#city option:contains("${city}")`).attr("selected", true);
//$('#city option:contains(" ")').text(city);
});
//مدت قرارداد
$(".contractDuration").on('click',
function() {
if (!$(this).hasClass('contActive')) {
$(".contractDuration").removeClass('contActive');
$(this).removeClass('btn-deactive').addClass('contActive');
}
contractDuration();
});
function contractDuration() {
if ($(".contActive").text() == '1 ماهه') {
$("#asp-contract-hidden").val(1);
} else if ($(".contActive").text() == '2 ماهه') {
$("#asp-contract-hidden").val(2);
} else if ($(".contActive").text() == '3 ماهه') {
$("#asp-contract-hidden").val(3);
} else if ($(".contActive").text() == '6 ماهه') {
$("#asp-contract-hidden").val(6);
} else if ($(".contActive").text() == '1 ساله') {
$("#asp-contract-hidden").val(12);
} else if ($(".contActive").text() == 'دائمی') {
$("#asp-contract-hidden").val("ForEver");
}
}
function checkContractDuration() {
const aspValueContract = $("#asp-contract-hidden").val();
if (aspValueContract != '' || aspValueContract != undefined) {
if (aspValueContract == '1') {
$('span.contractDuration:contains("1 ماهه")').removeClass('btn-deactive').addClass("contActive");
} else if (aspValueContract == '2') {
$('span.contractDuration:contains("2 ماهه")').removeClass('btn-deactive').addClass("contActive");
} else if (aspValueContract == '3') {
$('span.contractDuration:contains("3 ماهه")').removeClass('btn-deactive').addClass("contActive");
} else if (aspValueContract == '6') {
$('span.contractDuration:contains("6 ماهه")').removeClass('btn-deactive').addClass("contActive");
} else if (aspValueContract == '12') {
$('span.contractDuration:contains("12 ماهه")').removeClass('btn-deactive').addClass("contActive");
} else if (aspValueContract == 'ForEver') {
$('span.contractDuration:contains("دائمی")').removeClass('btn-deactive').addClass("contActive");
}
}
}
//عناوین فیش حقوقی
function addBonus(element, id) {
if ($(element).hasClass('bonusActive')) {
$(element).addClass('bonusDeactive').removeClass('bonusActive');
$(`#${id}`).removeAttr("checked");
} else {
$(element).removeClass('bonusDeactive').addClass('bonusActive');
$(`#${id}`).attr("checked", "checked");
}
$(`#${id}`).change();
}
function checkBonus() {
const AddLeavePay = $("#AddLeavePayInput").prop("checked");
const AddYearsPay = $("#AddYearsPayInput").prop("checked");
const AddBonusesPay = $("#AddBonusesPayInput").prop("checked");
const totalPayment = $("#totalPayment").prop("checked");
if (AddLeavePay) {
$(".AddLeavePay").removeClass('bonusDeactive').addClass('bonusActive');
} else {
$(".AddLeavePay").addClass('bonusDeactive').removeClass('bonusActive');
}
if (AddYearsPay) {
$(".AddYearsPay").removeClass('bonusDeactive').addClass('bonusActive');
} else {
$(".AddYearsPay").addClass('bonusDeactive').removeClass('bonusActive');
}
if (AddBonusesPay) {
$(".AddBonusesPay").removeClass('bonusDeactive').addClass('bonusActive');
} else {
$(".AddBonusesPay").addClass('bonusDeactive').removeClass('bonusActive');
}
if (totalPayment) {
$(".totalPayment").removeClass('bonusDeactive').addClass('bonusActive');
} else {
$(".totalPayment").addClass('bonusDeactive').removeClass('bonusActive');
}
//if (totalPayment) {
// $(".paymentTag").removeClass('totalDeactive').addClass('totalActive');
// $(".paymentTag").children().replaceWith('<i class="ion-checkmark-circled" style="color: #20b723"></i>');
// // addPayment($(".paymentTag"));
//} else {
// $(".paymentTag").children().replaceWith('<i class="ion-close-circled" style="color: #dd3632"></i>');
// $(".paymentTag").addClass('totalDeactive').removeClass('totalActive');
//}
}
//مجموع مبالغ
//function addPayment(element) {
// if ($(element).hasClass('totalActive')) {
// $(element).addClass('totalDeactive').removeClass('totalActive');
// $("#totalPayment").prop("checked", false);
// $(element).children().replaceWith('<i class="ion-close-circled" style="color: #dd3632"></i>');
// } else {
// $(element).removeClass('totalDeactive').addClass('totalActive');
// $("#totalPayment").prop("checked", true);
// $(element).children().replaceWith('<i class="ion-checkmark-circled" style="color: #20b723"></i>');
// }
// $("#totalPayment").change();
//}
</script>
<script>
$("#save").click(function() {
var allInputsFilled = true;
const selectElement = $('.EmployerIdList .select-city');
const selectedOption = selectElement.find('option:selected');
const selectedText = selectedOption.text();
const selectCity = $('#city.select-city');
const selectedCityOption = selectCity.find('option:selected');
$('#hide2').val(selectedCityOption.text());
if (selectedText === "" || $(".notEmptyWorkshop").val() === '') {
allInputsFilled = false;
$('.EmployerIdList .select2-container').addClass('errored');
$(".notEmptyWorkshop").addClass('errored');
$('#fakeSave').hide();
$('#save').show();
} else {
$(".notEmptyWorkshop").removeClass('errored');
$('.EmployerIdList .select2-container').removeClass('errored');
allInputsFilled = true;
}
if ($(".notEmptyArchive").val() === '') {
allInputsFilled = false;
$(".notEmptyArchive").addClass('errored');
return;
} else {
$(".notEmptyArchive").removeClass('errored');
allInputsFilled = true;
}
if ($('.myCheckbox2').is(':checked') && $('#isLegal').val() == "false") {
if ($('#population').val() == '' || $('#population').val() == null) {
$('#population').addClass('errored');
allInputsFilled = false;
} else {
$('#population').removeClass('errored');
allInputsFilled = true;
}
if ($('#jobName').val() == null || $('#jobName').val() == '') {
$('#jobName').next('span').addClass('errored');
allInputsFilled = false;
} else {
$('#jobName').next('span').removeClass('errored');
allInputsFilled = true;
}
}
//var criteria = [true, false];
//var hasError=false;
//let found = containsAll(criteria,isLegalList);
//if(found){
// $('#EmployerIdList').next('span').addClass('errored');
// $.Notification.autoHideNotify('error', 'top right', 'پیام سیستم ', "امکان انتخاب کارفرمای حقیقی و حقوقی به دلیل موانع قانونی در نرم افزار بصورت همزمان امکان پذیر نمی باشد");
//}
//else
if ($('.errored').length > 0) {
$.Notification.autoHideNotify('error', 'top right', 'پیام سیستم ', "لطفا موارد اجباری را تکمیل کنید.");
}
});
function getZone() {
const y = document.getElementById('city');
const cityValue = y.options[y.selectedIndex].text;
document.getElementById('hide2').value = cityValue;
const cityId = document.getElementById("city").value;
$('#select-button').empty().append('<option selected="selected" value="0" >انتخاب محله</option>');
if (cityId != null) {
$.ajax({
//contentType: 'application/json; charset=utf-8',
dataType: 'json',
type: 'POST',
url: '@Url.Page("./Index", "ZonelistLoad")',
headers: { "RequestVerificationToken": $('input[name="__RequestVerificationToken"]').val() },
data: { "cityId": cityId },
success: function(response) {
$.each(response.zoneList,
function(i, item) {
$('#select-button').append($('<option>',
{
value: item.zoneName,
text: item.zoneName
}));
});
},
failure: function(response) {
console.log(5, response);
}
});
}
}
</script>
<script>
$(document).ready(function() {
$(".EmployerIdList .select2-container").addClass('notEmpty ');
$('.activated').prop('checked', true);
$(function() {
$('#edit-modal [data-parent-modal]').on('click',
function(e) {
e.preventDefault();
e.stopPropagation();
const parentModalId = $(this).data('parent-modal');
$(parentModalId).modal('hide');
});
});
$(function() {
$('.addNeighbor').on('click',
function(e) {
e.preventDefault();
$('#edit-modal').modal('show');
});
});
$("#edit-modal").on('hidden.bs.modal',
function() {
$('body').addClass('modal-open');
});
$('.sendList').click(function() {
if ($(this).is(':checked')) {
$('.sendList').not(this).prop('checked', false);
}
});
const myCheckbox = $('.myCheckbox');
const myCheckbox2 = $('.myCheckbox2');
const myDiv = $('#myDiv');
const myDiv2 = $('#myDiv2');
const myDiv3 = $('#myDiv3');
const myDiv4 = $('#myDiv4');
myCheckbox.on('change',
function() {
if ($(this).is(':checked') && $('#isLegal').val() == "false") {
myDiv.removeClass('disabled');
} else {
myDiv.addClass('disabled');
}
});
myCheckbox.on('change',
function() {
if ($(this).is(':checked')) {
myDiv2.removeClass('disabled');
} else {
myDiv2.addClass('disabled');
}
});
myCheckbox2.on('change',
function() {
if ($(this).is(':checked')) {
myDiv3.removeClass('disabled');
} else {
myDiv3.addClass('disabled');
}
});
myCheckbox.on('change',
function() {
if ($(this).is(':checked')) {
myDiv4.removeClass('disabled');
} else {
myDiv4.addClass('disabled');
}
});
$(".myCheckbox").on('change',
function() {
if ($(this).is(':checked')) {
$("#asp-hidden").val($(this).val());
} else {
$("#asp-hidden").val('');
$("#InsuranceCode").val('');
}
});
$("#pre").css({ 'box-shadow': 'none' });
$("#next").click(function() {
var allInputsFilled = true;
const selectElement = $('.EmployerIdList .select-city');
const selectedOption = selectElement.find('option:selected');
const selectedText = selectedOption.text();
if (selectedText === "" || $(".notEmptyWorkshop").val() === '') {
allInputsFilled = false;
$('.EmployerIdList .select2-container').addClass('errored');
$(".notEmptyWorkshop").addClass('errored');
$('#fakeSave').hide();
$('#save').show();
return;
} else {
$(".notEmptyWorkshop").removeClass('errored');
$('.EmployerIdList .select2-container').removeClass('errored');
allInputsFilled = true;
}
if ($(".notEmptyArchive").val() === '') {
allInputsFilled = false;
$(".notEmptyArchive").addClass('errored');
return;
} else {
$(".notEmptyArchive").removeClass('errored');
allInputsFilled = true;
}
if (!allInputsFilled) {
$.Notification.autoHideNotify('error', 'top right', 'پیام سیستم ', "لطفا موارد اجباری را تکمیل کنید.");
} else {
if ($('#form3').css('right') == '0px') {
$("#next").css({
'background-color': "#c7c0c0ba",
'color': '#000000b8',
'box-shadow': 'none'
});
} else if ($('#form2').css('left') == '1200px') {
$("#pre").css({
'background-color': "white",
'color': '#0f9500',
'box-shadow': '0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12)'
});
$("#progress").css({
'width': '66.66%'
});
$("#form1").css({
right: '1200px'
});
$("#form2").css({
left: '0'
});
} else if ($('#form2').css('left') == '0px') {
$("#next").css({
'background-color': "#c7c0c0ba",
'color': '#000000b8',
'box-shadow': 'none'
});
$("#pre").css({
'background-color': "white",
'color': '#0f9500',
'box-shadow': '0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12)'
});
$("#progress").css({
'width': '100%',
'border-top-right-radius': '7px'
});
$("#form2").css({
left: '1200px'
});
$("#form3").css({
right: '0'
});
}
}
});
$("#pre").click(function() {
$("#next").css({
'background-color': "white",
'color': '#1763b1'
});
if ($('#form2').css('left') == '1200px' && $('#form3').css('right') == '1200px') {
$("#pre").css({
'background-color': "#c7c0c0ba",
'color': '#000000b8',
'box-shadow': 'none'
});
} else if ($('#form2').css('left') == '0px') {
$("#progress").css({
'width': '33.33%',
'border-top-right-radius': '0px'
});
$("#pre").css({
'background-color': "#c7c0c0ba",
'color': '#000000b8',
'box-shadow': 'none'
});
$("#form2").css({
left: '1200px'
});
$("#form1").css({
right: 'initial'
});
} else if ($('#form3').css('right') == '0px') {
$("#progress").css({
'width': '66.66%',
'border-top-right-radius': '0px'
});
$("#pre").css({
'background-color': "white",
'color': '#0f9500',
'box-shadow': '0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12)'
});
$("#form2").css({
left: '0'
});
$("#form3").css({
right: '1200px'
});
}
});
getEmployer(@Model.EmployerIdList[0]);
});
var isLegalList = [];
function getEmployer(employerId) {
//console.log(employerId);
if (employerId !== null && employerId != '') {
$.ajax({
/* contentType: 'charset=utf-8',*/
dataType: 'json',
type: 'POST',
url: '@Url.Page("/Company/Workshops/Index", "GetEmployerName")',
headers: { "RequestVerificationToken": $('input[name="__RequestVerificationToken"]').val() },
data: { "employerId": employerId },
success: function(response) {
if ((response.isLegal && response.nationalId == '') || (!response.isLegal && response.nationalcode == '')) {
swal({
title: (response.isLegal ? "کارفرمای انتخاب شده شناسه ملی ندارد." : " کارفرمای انتخاب شده کد ملی ندارد."),
text: (response.isLegal ? "در صورت تمایل به درج شناسه ملی به منوی کارفرما مراجعه نمایید." : "در صورت تمایل به درج کد ملی به منوی کارفرما مراجعه نمایید."),
type: "warning",
showCancelButton: true,
confirmButtonColor: "#DD6B55",
//confirmButtonText: "بستن",
cancelButtonText: "بستن",
closeOnConfirm: false,
closeOnCancel: true,
customClass: "errorSwall"
});
$('#EmployerIdList option').filter(`[value="${employerId}"]`).remove();
const option = new Option(response.lName, employerId);
$("#EmployerIdList").append(option);
$("#EmployerIdList").trigger("change");
} else {
$('#isLegal').val(response.isLegal);
isLegalList.push(response.isLegal);
}
},
failure: function(response) {
console.log(5, response);
}
});
}
}
function containsAll(needles, haystack) {
for (let i = 0; i < needles.length; i++) {
if ($.inArray(needles[i], haystack) == -1) return false;
}
return true;
}
</script>

File diff suppressed because it is too large Load Diff

View File

@@ -130,11 +130,11 @@ namespace ServiceHost.Areas.AdminNew.Pages.Company.RollCall
return Partial("ModalEditGroup", command);
}
public IActionResult OnPostEditGroup(EditCustomizeWorkshopGroupSettings command)
{
var result = _customizeWorkshopSettingsApplication.EditSimpleRollCallGroupSetting(command);
public IActionResult OnPostEditGroup(EditCustomizeWorkshopGroupSettings command, List<ReCalculateRollCallValues> reCalculateCommand)
{
var result = _customizeWorkshopSettingsApplication.EditSimpleRollCallGroupSetting(command, reCalculateCommand);
return new JsonResult(new
return new JsonResult(new
{
success = result.IsSuccedded,
message = result.Message

View File

@@ -152,9 +152,9 @@ namespace ServiceHost.Areas.Client.Pages.Company.RollCall
return Partial("ModalEditGroup", command);
}
public IActionResult OnPostEditGroup(EditCustomizeWorkshopGroupSettings command)
public IActionResult OnPostEditGroup(EditCustomizeWorkshopGroupSettings command, List<ReCalculateRollCallValues> reCalculateCommand)
{
var result = _customizeWorkshopSettingsApplication.EditSimpleRollCallGroupSetting(command);
var result = _customizeWorkshopSettingsApplication.EditSimpleRollCallGroupSetting(command, reCalculateCommand);
return new JsonResult(new
{

View File

@@ -481,6 +481,7 @@
var indexShiftViewModel = Number(@indexShiftViewModel);
var indexShiftViewModelRS = Number(@indexShiftViewModel);
var ajaxEmployeeSettingsHasChangedValueUrl = `@Url.Page("./Grouping", "EmployeeSettingsHasChangedValue")`;
var groupId = Number(@Model.Id);
var IsRegularWorkshop = @(Model.WorkshopShiftStatus == WorkshopShiftStatus.Regular ? 0 : Model.WorkshopShiftStatus == WorkshopShiftStatus.Irregular ? 1 : 2);

View File

@@ -8,10 +8,9 @@
<div class="modal-header d-block text-center position-relative">
<button type="button" class="btn-close position-absolute text-start closeConfirmModal2"></button>
<div class="modal-header d-flex flex-column " id="morakhasiEstehghaghiModalLabel" style="font-size: 19px; padding: 0 20px !important;">
<span class="header-title mb-4 "> تغییرات ساعت کار پرسنل به صورت گروهی : </span>
<span class="header-title mb-4 ">تغییرات ساعت کار پرسنل به صورت گروهی</span>
<span class="header-description">
تاریخ تغییرات ساعت کاری را میتوانید بصورت انفرادی در منوی
ذیل انجام دهید :
تاریخ تغییرات ساعت کاری را میتوانید بصورت انفرادی در منوی ذیل انجام دهید:
</span>
</div>
@@ -24,21 +23,31 @@
<div class="cardModal2-content">
<div class="Table d-flex flex-column gap-2">
<div class="TableHeader d-flex w-100 justify-content-between align-items-center px-3 " style="background: linear-gradient(180deg, #41D1D1 0%, #2CD0D0 100%); height: 49px; border-radius: 5px; position: sticky;top: 0; ">
<div class="TableHeader d-flex w-100 justify-content-between align-items-center px-2" style="background: linear-gradient(180deg, #41D1D1 0%, #2CD0D0 100%); height: 45px; border-radius: 7px; position: sticky; top: -7px;border: 1px solid #D2D2D2">
<div class="d-flex gap-3">
<div class="TableHeaderCell text-white" style="font-size: 14px; font-weight: 400">ردیف</div>
<div class="TableHeaderCell text-white" style="font-size: 14px; font-weight: 400">نام پرسنل</div>
</div>
<input
id="initialDateInput"
type="text" value="" class="form-control m-0 py-0 dateInput" style="width: 120px; height: 36px; text-align: center; font-size: 16px; color: #5C5C5C; font-weight: 500; border: 2px solid #C6C6C6; direction: ltr">
<div class="d-flex align-items-center justify-content-center gap-1">
<input
id="initialDateInput"
type="text" value="" class="form-control m-0 py-0 dateInput" style="width: 110px; height: 30px; text-align: center; font-size: 14px; color: #5C5C5C; font-weight: 500; border: 2px solid #C6C6C6; direction: ltr">
<div class="d-flex align-items-center justify-content-center cusRemove invisible">
<svg width="20" height="20" viewBox="0 0 17 17" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="16.5" height="16.5" transform="translate(0.25 0.214844)" fill="#F2B3B3"/>
<path d="M6.78125 10.1836L6.78125 8.12109" stroke="#F63D3D" stroke-linecap="round"/>
<path d="M10.2188 10.1836L10.2187 8.12109" stroke="#F63D3D" stroke-linecap="round"/>
<path d="M2.3125 4.68359H14.6875V4.68359C14.3101 4.68359 14.1214 4.68359 13.9635 4.70899C13.1117 4.84606 12.4437 5.514 12.3066 6.36588C12.2812 6.52372 12.2812 6.71243 12.2812 7.08984V9.83984C12.2812 11.5137 12.2812 12.3506 11.8116 12.9088C11.7378 12.9965 11.6566 13.0776 11.5689 13.1514C11.0107 13.6211 10.1738 13.6211 8.5 13.6211V13.6211C6.82618 13.6211 5.98926 13.6211 5.43109 13.1514C5.34339 13.0776 5.2622 12.9965 5.18842 12.9088C4.71875 12.3506 4.71875 11.5137 4.71875 9.83984V7.08984C4.71875 6.71243 4.71875 6.52372 4.69335 6.36588C4.55628 5.514 3.88835 4.84606 3.03647 4.70899C2.87862 4.68359 2.68992 4.68359 2.3125 4.68359V4.68359Z" stroke="#F63D3D" stroke-linecap="round"/>
<path d="M6.78125 2.62126C6.78125 2.62126 7.125 1.93359 8.5 1.93359C9.875 1.93359 10.2188 2.62109 10.2188 2.62109" stroke="#F63D3D" stroke-linecap="round"/>
</svg>
</div>
</div>
</div>
@* load employees *@
<div class="TableRow d-flex flex-column gap-2" id="employeeTable">
<div class="TableRow d-flex flex-column gap-1" id="employeeTable">
</div>
</div>

View File

@@ -41,8 +41,7 @@
</div>
<div class="col-6">
<div class="position-relative">
@* ajaxConfirm() *@
<button type="button" class="btn-primary w-100 disable" id="finalSaveRollCallSetting" onclick="ajaxSaveSubmit()">ثبت نهایی</button>
<button type="button" class="btn-primary w-100 disable" id="finalSaveRollCallSetting" onclick="ajaxConfirm()">ثبت نهایی</button>
<div class="spinner-loading loading" style="display: none;">
<span class="spinner-border spinner-border-sm loading text-white" role="status" aria-hidden="true"></span>
</div>

View File

@@ -1,751 +0,0 @@
@model CompanyManagment.App.Contracts.Workshop.CreateWorkshop
@{
var hasEmployer = true;
var isLegal = false;
if (Model.Employers != null && Model.Employers.Count > 0)
{
isLegal = Model.Employers.Any(x => x.IsLegal == "حقوقی");
}
else
{
hasEmployer = false;
}
<style>
</style>
}
<link href="~/lib/select2/css/select2.css" rel="stylesheet"/>
<form asp-page="./Index" asp-page-handler="Create" id="saveForm" class="@(!hasEmployer ? "hidden" : "") createWorkshopForm col-sm-11 col-md-12 col-xs-12 col-lg-11" autocomplete="off"
method="post"
data-ajax="true"
data-callback=""
data-action="Refresh"
enctype="multipart/form-data">
@if (Model.Employers != null)
{
for (var i = 0; i < Model.Employers.Count(); i++)
{
<input type="hidden" asp-for="EmployerIdList[i]"/>
}
}
<fieldset id="saveWorkshop" class="content-fieldset mt-5">
<legend class="main-title">مشخصات کارگاه</legend>
<div class="form-box">
<div class="steps">
<div class="progressBar"></div>
<div class="step"> مشخصات اصلی </div>
<div class="step"> امور قرارداد </div>
<div class="step"> امور بیمه ای </div>
</div>
<div class="form form1">
<div class="row inputs">
<div class="right col-md-4 col-sm-6 col-xs-12">
<label class="input-label">نام کارگاه <span style="color: red;">*</span></label>
<input asp-for="WorkshopName" type="text" class="form-control not-empty"/>
</div>
<div class="right col-md-4 col-sm-6 col-xs-12">
<label class="input-label"> نام مستعار کارگاه</label>
<input asp-for="WorkshopSureName" type="text" placeholder="" class="form-control" pattern="[\u0600-\u06FF\s]*"/>
<i class="fa fa-exclamation-circle error-icon"></i>
<p class="error-message">فقط حروف فارسی وارد شود.</p>
</div>
<div class="right col-md-2 col-sm-6 col-xs-12">
<label class="input-label"> نوع تملک </label>
<select asp-for="TypeOfOwnership" class="form-control">
<option value="" selected class="input"> </option>
<option value="">مالکیت</option>
<option value="">استیجاری</option>
</select>
</div>
<div class="right col-md-2 col-sm-6 col-xs-12">
<label class="input-label">شماره بایگانی</label>
<input asp-for="ArchiveCode" type="text" class="form-control text-center" pattern="\d*"/>
<i class="fa fa-exclamation-circle error-icon"></i>
<p class="error-message">فقط عدد وارد شود.</p>
</div>
</div>
<div class="row inputs">
<div id="divState" class="right col-md-4 col-sm-4 col-xs-12">
<label class="input-label">نام استان <span style="color: red;">*</span></label>
<select class="form-control select-city" asp-for="State" name="state" onChange="iranwebsv(this.value);">
<option value="">انتخاب استان</option>
<option value="تهران"> تهران </option>
<option value="گیلان"> گیلان </option>
<option value="آذربایجان شرقی"> آذربایجان شرقی</option>
<option value="خوزستان"> خوزستان </option>
<option value="فارس"> فارس</option>
<option value="اصفهان"> اصفهان</option>
<option value="خراسان رضوی">خراسان رضوی </option>
<option value="قزوین"> قزوین</option>
<option value="سمنان"> سمنان </option>
<option value="قم"> قم</option>
<option value="مرکزی"> مرکزی</option>
<option value="زنجان"> زنجان</option>
<option value="مازندران"> مازندران</option>
<option value="گلستان"> گلستان</option>
<option value="اردبیل"> اردبیل </option>
<option value="آذربایجان غربی"> آذربایجان غربی</option>
<option value="همدان"> همدان </option>
<option value="کردستان"> کردستان </option>
<option value="کرمانشاه"> کرمانشاه </option>
<option value="لرستان"> لرستان</option>
<option value="بوشهر"> بوشهر</option>
<option value="کرمان"> کرمان</option>
<option value="هرمزگان"> هرمزگان</option>
<option value="چهارمحال و بختیاری"> چهارمحال و بختیاری</option>
<option value="یزد"> یزد</option>
<option value="سیستان و بلوچستان"> سیستان و بلوچستان</option>
<option value="ایلام"> ایلام</option>
<option value="کهگلویه و بویراحمد"> کهگلویه و بویراحمد</option>
<option value="خراسان شمالی"> خراسان شمالی</option>
<option value="خراسان جنوبی"> خراسان جنوبی</option>
<option value="البرز"> البرز</option>
</select>
</div>
<div id="divCity" class="right col-md-4 col-sm-4 col-xs-12">
<label class="input-label">نام شهر <span style="color: red;">*</span></label>
<select class="form-control select-city" name="cityy" id="city" onchange="changecity(this)">
<option value="0" placeholder="انتخاب شهر"> </option>
</select>
<input type="hidden" value="" id="hide2" asp-for="City">
</div>
<div class="right col-md-4 col-sm-4 col-xs-12 zone-wrapper">
<div class="right w-100">
<label class="input-label">نام محله </label>
<input type="text" asp-for="ZoneName" class="right col-md-10 form-control" pattern="[\u0600-\u06FF\s]*"/>
<i class="fa fa-exclamation-circle error-icon"></i>
</div>
</div>
</div>
<div class="row inputs">
<div class="right col-md-12 col-sm-12 col-xs-12">
<label class="input-label">جزئیات نشانی<span style="color: red;">*</span> </label>
<input asp-for="Address" type="text" class="form-control not-empty"/>
</div>
</div>
</div>
<div class="form form2">
<div class="flex-box">
<div class="row input-boxes">
<fieldset class="right col-md-12 col-sm-12 col-xs-12 content-fieldset contract-box">
<div class="form2-title">لطفا مدت قرارداد خود را انتخاب کنید :</div>
<div class="col-md-1"></div>
<div class="flexible-div flexible-radio col-md-12 col-sm-12 col-xs-12">
<div class="col-md-6 col-sm-6 col-xs-6 spanBox">
<span class="btn btn-deactive btn-rounded waves-effect waves-light contractDuration">1 ماهه</span>
</div>
<div class="col-md-6 col-sm-6 col-xs-6 spanBox">
<span class="btn btn-deactive btn-rounded waves-effect waves-light contractDuration">2 ماهه</span>
</div>
<div class="col-md-6 col-sm-6 col-xs-6 spanBox">
<span class="btn btn-deactive btn-rounded waves-effect waves-light contractDuration">3 ماهه</span>
</div>
<div class="col-md-6 col-sm-6 col-xs-6 spanBox">
<span class="btn btn-deactive btn-rounded waves-effect waves-light contractDuration">6 ماهه</span>
</div>
<div class="col-md-6 col-sm-6 col-xs-6 spanBox">
<span class="btn btn-deactive btn-rounded waves-effect waves-light contractDuration">1 ساله</span>
</div>
<div class="col-md-6 col-sm-6 col-xs-6 spanBox">
<span class="btn btn-deactive btn-rounded waves-effect waves-light contractDuration">دائمی</span>
</div>
<input type="hidden" id="asp-contract-hidden" asp-for="ContractTerm"/>
</div>
</fieldset>
</div>
<div class="row input-boxes">
<div class="options-box right col-md-12">
<div class="options-info"> در صورت تمایل به محاسبه ی عناوین ذیل در فیش حقوقی، گزینه های موردنظر را فعال نمایید </div>
<div class="optional-wages flexible-div">
<div class="d-flex options-check col-lg-6 col-md-6 col-sm-6 col-xs-7">
<div class="checkbox-wrapper-2">
<label class="toggleButton">
<input type="checkbox" asp-for="AddLeavePay" class="activated">
<div>
<svg viewBox="0 0 44 44">
<path d="M14,24 L21,31 L39.7428882,11.5937758 C35.2809627,6.53125861 30.0333333,4 24,4 C12.95,4 4,12.95 4,24 C4,35.05 12.95,44 24,44 C35.05,44 44,35.05 44,24 C44,19.3 42.5809627,15.1645919 39.7428882,11.5937758" transform="translate(-2.000000, -2.000000)"></path>
</svg>
</div>
</label>
</div>
<span class="options-type">مزد و مرخصی </span>
</div>
<div class="d-flex options-check col-lg-6 col-md-6 col-sm-6 col-xs-7">
<div class="checkbox-wrapper-2">
<label class="toggleButton">
<input type="checkbox" asp-for="AddYearsPay" class="activated">
<div>
<svg viewBox="0 0 44 44">
<path d="M14,24 L21,31 L39.7428882,11.5937758 C35.2809627,6.53125861 30.0333333,4 24,4 C12.95,4 4,12.95 4,24 C4,35.05 12.95,44 24,44 C35.05,44 44,35.05 44,24 C44,19.3 42.5809627,15.1645919 39.7428882,11.5937758" transform="translate(-2.000000, -2.000000)"></path>
</svg>
</div>
</label>
</div>
<span class="options-type">سنوات </span>
</div>
<div class="d-flex options-check col-lg-6 col-md-6 col-sm-6 col-xs-7">
<div class="checkbox-wrapper-2">
<label class="toggleButton">
<input type="checkbox" asp-for="AddBonusesPay" class="activated">
<div>
<svg viewBox="0 0 44 44">
<path d="M14,24 L21,31 L39.7428882,11.5937758 C35.2809627,6.53125861 30.0333333,4 24,4 C12.95,4 4,12.95 4,24 C4,35.05 12.95,44 24,44 C35.05,44 44,35.05 44,24 C44,19.3 42.5809627,15.1645919 39.7428882,11.5937758" transform="translate(-2.000000, -2.000000)"></path>
</svg>
</div>
</label>
</div>
<span class="options-type"> عیدی و پاداش </span>
</div>
</div>
</div>
</div>
</div>
<div class="row inputs">
<div class="col-md-12 col-lg-12 col-sm-12 col-xs-12">
<div class="optional-wages d-flex">
<div class="d-flex single-checkbox">
<span class="options-type" style="width: 100%;">مجموع مبالغ تصفیه حساب در ذیل فرم نمایش داده شود</span>
<div class="checkbox-wrapper-2">
<label class="toggleButton">
<input type="checkbox" class="activated" @*data-val="true"*@ @*data-val-required="The AddLeavePay field is required."*@ @*id="AddLeavePay"*@ @*name="AddLeavePay"*@ value="true">
<div>
<svg viewBox="0 0 44 44">
<path d="M14,24 L21,31 L39.7428882,11.5937758 C35.2809627,6.53125861 30.0333333,4 24,4 C12.95,4 4,12.95 4,24 C4,35.05 12.95,44 24,44 C35.05,44 44,35.05 44,24 C44,19.3 42.5809627,15.1645919 39.7428882,11.5937758" transform="translate(-2.000000, -2.000000)"></path>
</svg>
</div>
</label>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="form form3">
<div class="row inputs">
<div class="right col-md-12 form3-boxes">
<div class="right col-md-6">
<label class="input-label d-block"><input type="checkbox" value="NormalList" asp-for="TypeOfInsuranceSend" class="checkboxes sendList"> ارسال لیست بیمه کارگاه عادی</label>
<label class="input-label d-block"><input type="checkbox" value="Govermentlist" asp-for="TypeOfInsuranceSend" class="checkboxes sendList">ارسال لیست بیمه کارگاه کمک دولت </label>
<label class="input-label d-block"><input type="checkbox" value="Familylist" asp-for="TypeOfInsuranceSend" class="checkboxes sendList"> ارسال لیست بیمه کارگاه خانوادگی</label>
</div>
<div class="right col-md-3 col-sm-12 col-xs-12 disabled insuranceCode">
<label class="input-label">کد کارگاهی بیمه</label>
<input asp-for="InsuranceCode" type="text" class="form-control text-center" pattern="\d*"/>
<i class="fa fa-exclamation-circle error-icon"></i>
<p class="error-message">فقط عدد وارد شود.</p>
</div>
<div class="right col-md-3 col-sm-12 col-xs-12 disabled AgreementNumber">
<label class="input-label"> ردیف پیمان</label>
<input type="text" value="000" asp-for="AgreementNumber" class="form-control" id="zeros" pattern="\d*"/>
<i class="fa fa-exclamation-circle error-icon"></i>
<p class="error-message">فقط عدد وارد شود.</p>
</div>
</div>
</div>
<div class="row inputs">
<div class="right col-md-12 form3-boxes disabled fixedSalarySection">
<div class="right col-md-12" style="margin-bottom: 10px;">
<label class="input-label"><input type="checkbox" asp-for="FixedSalary" class="fixedSalary checkboxes"> این کارگاه مشمول دستمزد مقطوع می باشد</label>
</div>
<div class="disabled insuranceJob">
<div>
<div id="divInsuranceJobId" class="right col-md-8 col-sm-6 col-xs-12">
<label class="input-label"> عنوان صنف و درجه / کد اقتصادی </label>
<select class="select-city form-control" id="createjobName" asp-for="InsuranceJobId" asp-items="@Model.InsuranceJobViewModels">
<option value="" disabled selected> </option>
</select>
</div>
<div class="right col-md-4 col-sm-6 col-xs-12">
<label class="input-label"> جمعیت شهر </label>
<select class="input" id="population" asp-for="Population">
<option value="" disabled selected> </option>
<option value="LessThan500">کمتر از 500000 نفر </option>
<option value="MoreThan500">بیشتر از 500000 نفر</option>
</select>
</div>
</div>
</div>
</div>
</div>
</div>
<input type="hidden" id="isLegal" value="@isLegal"/>
@*<div class="btns d-flex">
<div class="col-md-9"></div>
<div class="col-md-3">
<a class=" btn btn-modal pre" onclick="prevButton($(this))">مرحله قبل</a>
<a class=" btn btn-modal next" onclick="nextButton($(this))">مرحله بعد</a>
</div>
</div>*@
<div class="form-footer-btns">
<a class="btn btn-modal pre" onclick="prevButton($(this))">مرحله قبل</a>
<a class="btn btn-modal next" onclick="nextButton($(this))">مرحله بعد</a>
</div>
</div>
<div class="form-footer">
<a class="btn btn-rounded waves-effect waves-light bg-white closeForm">بستن</a>
<a href="#" class=" btn btn-success btn-rounded waves-effect waves-light aEmployers save">ذخیره</a>
</div>
</fieldset>
@if (Model.AccountIdsList != null)
{
for (var i = 0; i < Model.AccountIdsList.Count(); i++)
{
<input type="hidden" asp-for="AccountIdsList[i]"/>
}
}
</form>
@if (!hasEmployer)
{
<div class="alert alert-danger">
شما هنوز کارفرمایی ثبت نکرده اید، برای ثبت کارگاه ابتدا فرم ثبت کارفرما را تکمیل نمایید.
</div>
}
<script language="javascript" src="~/AdminTheme/js/city.js"></script>
<script src="~/lib/select2/js/select2.js"></script>
<script src="~/lib/select2/js/i18n/fa.js"></script>
<script>
$(".closeForm").click(function() {
$(".createWorkshopForm").slideUp(500);
});
$(document).ready(function() {
$("#asp-contract-hidden").val(1);
$('span.contractDuration:contains("1 ماهه")').addClass("contActive");
adjustFormBoxHeight();
contractDuration();
checkContractDuration();
$('.error-message').hide();
$('.error-icon').hide();
$(".select-city").select2({
language: "fa",
dir: "rtl"
});
$('.activated').prop('checked', true);
});
$('.form-control').on('keyup',
function() {
const errorMessage = $(this).parent().find('.error-message');
const errorIcon = $(this).parent().find('.error-icon');
if (this.validity.patternMismatch) {
errorMessage.show();
errorIcon.show();
$(this).addClass('errored');
$(this).addClass('patternMisMatch');
} else {
errorMessage.hide();
errorIcon.hide();
$(this).removeClass('errored');
$(this).removeClass('patternMisMatch');
}
});
const myCheckbox = $('.sendList');
const myCheckbox2 = $('.fixedSalary');
const myDiv = $('.fixedSalarySection');
const myDiv2 = $('.AgreementNumber');
const myDiv3 = $('.insuranceJob');
const myDiv4 = $('.insuranceCode');
myCheckbox.on('change',
function() {
const isLegal = "@isLegal";
//console.log(isLegal);
if ($(this).is(':checked') && isLegal == "False") {
myDiv.removeClass('disabled');
} else {
myDiv.addClass('disabled');
}
});
myCheckbox.on('change',
function() {
if ($(this).is(':checked')) {
myDiv2.removeClass('disabled');
} else {
myDiv2.addClass('disabled');
}
});
myCheckbox2.on('change',
function() {
if ($(this).is(':checked')) {
myDiv3.removeClass('disabled');
} else {
myDiv3.addClass('disabled');
}
});
myCheckbox.on('change',
function() {
if ($(this).is(':checked')) {
myDiv4.removeClass('disabled');
} else {
myDiv4.addClass('disabled');
}
});
$(window).on('resize',
function() {
adjustFormBoxHeight();
});
function adjustFormBoxHeight() {
const formBoxHeight = Math.max($('.form1').height(), $('.form2').height(), $('.form3').height());
$('.form-box').height(formBoxHeight + 50);
}
$(".save").click(function() {
//checkAddress();
$("#saveWorkshop").find('input.not-empty').each(function() {
if ($(this).val() === '') {
$(this).addClass('errored');
} else {
$(this).removeClass('errored');
}
});
const option1 = document.getElementById("city").options.selectedIndex;
if (option1 == 0) {
$("#divCity .select2-selection").addClass('errored');
} else {
$("#divCity .select2-selection").removeClass('errored');
}
const option2 = document.getElementById("State").options.selectedIndex;
if (option2 == 0) {
$("#divState .select2-selection").addClass('errored');
} else {
$("#divState .select2-selection").removeClass('errored');
}
const selectCity = $('#city.select-city');
const selectedCityOption = selectCity.find('option:selected');
$('#hide2').val(selectedCityOption.text());
if ($("#ArchiveCode").val() != "" && $("#ArchiveCode").val() == "0") {
$("#ArchiveCode").addClass('errored');
} else {
$("#ArchiveCode").removeClass('errored');
}
//if($('.sendList').is(':checked') && ($("#InsuranceCode").val()==""||$("#InsuranceCode").val()==""))
//{
// $("input[name='InsuranceCode']").addClass('errored');
//}
// else
// {
// $("input[name='InsuranceCode']").removeClass('errored');
//}
//if($('.fixedSalary').is(':checked') && ($("#InsuranceJobId").val()==null||$("#InsuranceJobId").val()==""))
//{
// $("#divInsuranceJobId").find(".select2-container").addClass('errored');
//}
// else
// {
// $("#divInsuranceJobId").find(".select2-container").removeClass('errored');
//}
//if($('.fixedSalary').is(':checked') && ($("#Population").val()==null||$("#Population").val()==""))
//{
// $("select[name='Population']").addClass('errored');
//}
// else
// {
// $("select[name='Population']").removeClass('errored');
//}
if ($("#saveWorkshop").find('input.errored').length > 0 || $("#saveWorkshop").find('.select2-selection.errored').length > 0 || $("#saveWorkshop").find('input.patternMisMatch').length > 0 || $("#divCity").find(".select2-container.errored").length > 0 || $("#divState").find(".select2-container.errored").length > 0) {
$.Notification.autoHideNotify('error', 'top right', 'پیام سیستم ', "لطفا موارد اجباری را تکمیل کنید.");
} else {
$("#saveForm").submit();
}
});
$('#saveForm').submit(function(e) {
e.preventDefault();
e.stopImmediatePropagation();
$.ajax({
type: "POST",
url: $(this).attr('action'),
data: $(this).serialize(),
success: function(response) {
if (response.isSuccedded == true) {
$.Notification.autoHideNotify('success', 'top center', response.message);
getCreate();
getWorkshopList();
$("#divDisplay").slideToggle(400);
} else {
$.Notification.autoHideNotify('error', 'top center', response.message);
}
}
});
return false;
});
function nextButton(element) {
let nextBtn = element;
let prevBtn = element.parent().parent().parent().find(".pre");
let form1 = element.parent().parent().parent().find(".form1");
let form2 = element.parent().parent().parent().find(".form2");
let form3 = element.parent().parent().parent().find(".form3");
let progressBar = element.parent().parent().parent().find(".progressBar");
//checkAddress();
$("#saveWorkshop").find('input.not-empty').each(function() {
if ($(this).val() === '') {
$(this).addClass('errored');
} else {
$(this).removeClass('errored');
}
});
var option1 = document.getElementById("city").options.selectedIndex;
if (option1 == 0) {
$("#divCity .select2-selection").addClass('errored');
} else {
$("#divCity .select2-selection").removeClass('errored');
}
var option2 = document.getElementById("State").options.selectedIndex;
if (option2 == 0) {
$("#divState .select2-selection").addClass('errored');
} else {
$("#divState .select2-selection").removeClass('errored');
}
if ($("#ArchiveCode").val() != "" && $("#ArchiveCode").val() == "0") {
$("#ArchiveCode").addClass('errored');
} else {
$("#ArchiveCode").removeClass('errored');
}
if ($('input.errored').length === 0 && $('input.patternMisMatch').length === 0 && $("#divCity").find(".select2-container.errored").length == 0 && $("#divState").find(".select2-container.errored").length == 0) {
if (form3.css('right') == '0px') {
nextBtn.css({
'background-color': "#c7c0c0ba",
'color': '#000000b8',
'box-shadow': 'none'
});
} else if (form2.css('left') == '3000px') {
prevBtn.css({
'background-color': "white",
'color': '#0f9500',
'box-shadow': '0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12)'
});
progressBar.css({
'width': '66.66%'
});
form1.css({
right: '3000px'
});
form2.css({
left: '0'
});
} else if (form2.css('left') == '0px') {
nextBtn.css({
'background-color': "#c7c0c0ba",
'color': '#000000b8',
'box-shadow': 'none'
});
prevBtn.css({
'background-color': "white",
'color': '#0f9500',
'box-shadow': '0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12)'
});
progressBar.css({
'width': '100%',
'border-top-right-radius': '7px'
});
form2.css({
left: '3000px'
});
form3.css({
right: '0'
});
}
} else {
return;
}
}
function prevButton(element) {
const prevBtn = element;
const nextBtn = element.parent().parent().parent().find(".next");
const form1 = element.parent().parent().parent().find(".form1");
const form2 = element.parent().parent().parent().find(".form2");
const form3 = element.parent().parent().parent().find(".form3");
const progressBar = element.parent().parent().parent().find(".progressBar");
// console.log(2);
nextBtn.css({
'background-color': "white",
'color': '#1763b1'
});
if (form2.css('left') == '3000px' && form3.css('right') == '3000px') {
prevBtn.css({
'background-color': "#c7c0c0ba",
'color': '#000000b8',
'box-shadow': 'none'
});
} else if (form2.css('left') == '0px') {
progressBar.css({
'width': '33.33%',
'border-top-right-radius': '0px'
});
prevBtn.css({
'background-color': "#c7c0c0ba",
'color': '#000000b8',
'box-shadow': 'none'
});
form2.css({
left: '3000px'
});
form1.css({
right: 'initial'
});
} else if (form3.css('right') == '0px') {
progressBar.css({
'width': '66.66%',
'border-top-right-radius': '0px'
});
prevBtn.css({
'background-color': "white",
'color': '#0f9500',
'box-shadow': '0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12)'
});
form2.css({
left: '0'
});
form3.css({
right: '3000px'
});
}
}
//مدت قرارداد
$(".contractDuration").on('click',
function() {
if ($(this).hasClass('contActive')) {
$(this).removeClass('contActive');
} else {
$(".contractDuration").removeClass('contActive');
$(this).addClass('contActive');
}
contractDuration();
});
function contractDuration() {
if ($(".contActive").text() == '1 ماهه') {
$("#asp-contract-hidden").val(1);
} else if ($(".contActive").text() == '2 ماهه') {
$("#asp-contract-hidden").val(2);
} else if ($(".contActive").text() == '3 ماهه') {
$("#asp-contract-hidden").val(3);
} else if ($(".contActive").text() == '6 ماهه') {
$("#asp-contract-hidden").val(6);
} else if ($(".contActive").text() == '1 ساله') {
$("#asp-contract-hidden").val(12);
} else if ($(".contActive").text() == 'دائمی') {
$("#asp-contract-hidden").val("ForEver");
}
}
function checkContractDuration() {
const aspValueContract = $("#asp-contract-hidden").val();
console.log(aspValueContract);
if (aspValueContract != '' || aspValueContract != undefined) {
if (aspValueContract == '1') {
$('span.contractDuration:contains("1 ماهه")').addClass("contActive");
} else if (aspValueContract == '2') {
$('span.contractDuration:contains("2 ماهه")').addClass("contActive");
} else if (aspValueContract == '3') {
$('span.contractDuration:contains("3 ماهه")').addClass("contActive");
} else if (aspValueContract == '6') {
$('span.contractDuration:contains("6 ماهه")').addClass("contActive");
} else if (aspValueContract == '12') {
$('span.contractDuration:contains("12 ماهه")').addClass("contActive");
} else if (aspValueContract == 'ForEver') {
$('span.contractDuration:contains("دائمی")').addClass("contActive");
}
}
}
// function checkAddress(){
// var state=$("#State").val();
// var city=$("#city").val();
// var zoneName=$("#ZoneName").val();
// var address=$("#Address").val();
// //console.log(state);
// //console.log(city);
// //console.log(zoneName);
// //console.log(address);
// if((state!=''|| zoneName!=''||address!='' )&& city==0)
// {
// $("#divCity").find(".select2-container").addClass('errored');
// }
// else{
// $("#divCity").find(".select2-container").removeClass('errored');
// }
// if((state!=''|| city!=0 ||address!='' ) && zoneName=='')
// {
// $("#ZoneName").addClass('errored');
// }
// else{
// $("#ZoneName").removeClass('errored');
// }
// if((state!=''|| city!=0 ||zoneName!='' ) && address=='')
// {
// $("#Address").addClass('errored');
// }
// else{
// $("#Address").removeClass('errored');
// }
// if((address!=''|| city!=0 ||zoneName!='' ) && state=='' )
// {
// $("#divState").find(".select2-container").addClass('errored');
// }
// else{
// $("#divState").find(".select2-container").removeClass('errored');
// }
//}
//function changeInsuranceJob(value){
// console.log(value);
// if(value!=null)
// {
// $("#divInsuranceJobId").find(".select2-container").removeClass('errored');
// }
//}
//function changeInsuranceJob(value){
// console.log(value);
// if(value!=null)
// {
// $("#divInsuranceJobId").find(".select2-container").removeClass('errored');
// }
//}
function changecity(element) {
const text = $(element).children("option").filter(":selected").text();
$("#hide2").val(text);
}
</script>

View File

@@ -1,803 +0,0 @@
@model CompanyManagment.App.Contracts.Workshop.EditWorkshop
<link href="~/lib/select2/css/select2.css" rel="stylesheet"/>
@{
var isLegal = false;
if (Model.Employers != null && Model.Employers.Count > 0)
{
isLegal = Model.Employers.Any(x => x.IsLegal == "حقوقی");
}
}
<form class="editWorkshopForm " id="editWorkshopForm" asp-page="./Index" asp-page-handler="Edit" autocomplete="off"
method="post"
data-ajax="true"
data-callback=""
data-action="Refresh"
enctype="multipart/form-data">
<input type="hidden" asp-for="Id" value="@Model.Id"/>
@if (Model.Employers != null)
{
for (var i = 0; i < Model.Employers.Count(); i++)
{
<input type="hidden" asp-for="EmployerIdList[i]"/>
}
}
<fieldset id="editWorkshop" class="content-fieldset mt-5">
<legend class="main-title">مشخصات کارگاه</legend>
<div class="form-box">
<div class="steps">
<div class="listProgress"></div>
<div class="step"> مشخصات اصلی </div>
<div class="step"> امور قرارداد </div>
<div class="step"> امور بیمه ای </div>
</div>
<div class="form listForm1">
<div class="row inputs">
<div class="right col-md-4 col-sm-6 col-xs-12">
<label class="input-label">نام کارگاه <span style="color: red;">*</span></label>
<input asp-for="WorkshopName" type="text" placeholder="" class="form-control notEmptyWorkshop not-empty"/>
</div>
<div class="right col-md-4 col-sm-6 col-xs-12">
<label class="input-label"> نام مستعار کارگاه</label>
<input asp-for="WorkshopSureName" type="text" placeholder="" class="form-control" pattern="[\u0600-\u06FF\s]*"/>
<i class="fa fa-exclamation-circle error-icon"></i>
<p class="error-message">فقط حروف فارسی وارد شود.</p>
</div>
<div class="right col-md-2 col-sm-6 col-xs-12">
<label class="input-label"> نوع تملک </label>
<select asp-for="TypeOfOwnership" class="form-control">
<option value="" selected class="form-control"> </option>
<option value="">مالکیت</option>
<option value="">استیجاری</option>
</select>
</div>
<div class="right col-md-2 col-sm-6 col-xs-12">
<label class="input-label">شماره بایگانی </label>
<input asp-for="ArchiveCode" type="text" placeholder="01" class="form-control notEmptyArchive text-center" pattern="\d*"/>
<i class="fa fa-exclamation-circle error-icon"></i>
<p class="error-message">فقط عدد وارد شود.</p>
</div>
</div>
<div class="row inputs">
<div id="divState" class="right col-md-4 col-sm-4 col-xs-12">
<label class="input-label">نام استان </label>
<select class="form-control select-city" asp-for="State" id="state" name="state" onChange="iranwebsv(this.value);">
<option value="">انتخاب استان</option>
<option value="تهران"> تهران </option>
<option value="گیلان"> گیلان </option>
<option value="آذربایجان شرقی"> آذربایجان شرقی</option>
<option value="خوزستان"> خوزستان </option>
<option value="فارس"> فارس</option>
<option value="اصفهان"> اصفهان</option>
<option value="خراسان رضوی">خراسان رضوی </option>
<option value="قزوین"> قزوین</option>
<option value="سمنان"> سمنان </option>
<option value="قم"> قم</option>
<option value="مرکزی"> مرکزی</option>
<option value="زنجان"> زنجان</option>
<option value="مازندران"> مازندران</option>
<option value="گلستان"> گلستان</option>
<option value="اردبیل"> اردبیل </option>
<option value="آذربایجان غربی"> آذربایجان غربی</option>
<option value="همدان"> همدان </option>
<option value="کردستان"> کردستان </option>
<option value="کرمانشاه"> کرمانشاه </option>
<option value="لرستان"> لرستان</option>
<option value="بوشهر"> بوشهر</option>
<option value="کرمان"> کرمان</option>
<option value="هرمزگان"> هرمزگان</option>
<option value="چهارمحال و بختیاری"> چهارمحال و بختیاری</option>
<option value="یزد"> یزد</option>
<option value="سیستان و بلوچستان"> سیستان و بلوچستان</option>
<option value="ایلام"> ایلام</option>
<option value="کهگلویه و بویراحمد"> کهگلویه و بویراحمد</option>
<option value="خراسان شمالی"> خراسان شمالی</option>
<option value="خراسان جنوبی"> خراسان جنوبی</option>
<option value="البرز"> البرز</option>
</select>
</div>
<div id="divCity" class="right col-md-4 col-sm-4 col-xs-12">
<label class="input-label">نام شهر </label>
<select class="form-control select-city" name="cityy" id="city" onchange="changecity(this)">
<option value="0" placeholder="انتخاب شهر"> </option>
</select>
<input type="hidden" id="hide2" asp-for="City">
<input type="hidden" value="@Model.City" id="hide3">
</div>
<div class="right col-md-4 col-sm-4 col-xs-12 zone-wrapper">
<div class="right w-100">
<label class="input-label">نام محله </label>
<input type="text" asp-for="ZoneName" class="right col-md-10 form-control" pattern="[\u0600-\u06FF\s]*"/>
<i class="fa fa-exclamation-circle error-icon"></i>
</div>
</div>
</div>
<div class="row inputs">
<div class="right col-md-12 col-sm-12 col-xs-12">
<label class="input-label">جزئیات نشانی </label>
<input asp-for="Address" type="text" class="form-control not-empty"/>
</div>
</div>
</div>
<div class="form listForm2">
<div class="flex-box">
<div class="row input-boxes">
<fieldset class="right col-md-12 col-sm-12 col-xs-12 content-fieldset contract-box">
<div class="form2-title">لطفا مدت قرارداد خود را انتخاب کنید :</div>
<div class="col-md-1"></div>
<div class="flexible-div flexible-radio col-md-12 col-sm-12 col-xs-12">
@* <div class="time-radio text-right col-xs-6 col-md-6 col-sm-6">
<input type="radio" value="1" asp-for="ContractTerm" checked="checked" class="contractTime">
<span class="options-sml"> 1 ماهه </span>
</div>
<div class="time-radio text-right col-xs-6 col-md-6 col-sm-6">
<input type="radio" value="2" asp-for="ContractTerm" class="contractTime">
<span class="options-sml"> 2 ماهه </span>
</div>
<div class="time-radio text-right col-xs-6 col-md-6 col-sm-6">
<input type="radio" value="3" asp-for="ContractTerm" class="contractTime">
<span class="options-sml"> 3 ماهه </span>
</div>
<div class="time-radio text-right col-xs-6 col-md-6 col-sm-6">
<input type="radio" value="6" asp-for="ContractTerm" class="contractTime">
<span class="options-sml"> 6 ماهه </span>
</div>
<div class="time-radio text-right col-xs-6 col-md-6 col-sm-6">
<input type="radio" value="12" asp-for="ContractTerm" class="contractTime">
<span> یک ساله </span>
</div>
<div class="time-radio text-right col-xs-6 col-md-6 col-sm-6">
<span class="options-sml"> دائمی </span>
</div>*@
<div class="col-md-6 col-sm-6 col-xs-6 spanBox">
<span class="btn btn-deactive btn-rounded waves-effect waves-light contractDuration">1 ماهه</span>
</div>
<div class="col-md-6 col-sm-6 col-xs-6 spanBox">
<span class="btn btn-deactive btn-rounded waves-effect waves-light contractDuration">2 ماهه</span>
</div>
<div class="col-md-6 col-sm-6 col-xs-6 spanBox">
<span class="btn btn-deactive btn-rounded waves-effect waves-light contractDuration">3 ماهه</span>
</div>
<div class="col-md-6 col-sm-6 col-xs-6 spanBox">
<span class="btn btn-deactive btn-rounded waves-effect waves-light contractDuration">6 ماهه</span>
</div>
<div class="col-md-6 col-sm-6 col-xs-6 spanBox">
<span class="btn btn-deactive btn-rounded waves-effect waves-light contractDuration">1 ساله</span>
</div>
<div class="col-md-6 col-sm-6 col-xs-6 spanBox">
<span class="btn btn-deactive btn-rounded waves-effect waves-light contractDuration">دائمی</span>
</div>
<input type="hidden" id="asp-contract-hidden" asp-for="ContractTerm"/>
</div>
</fieldset>
</div>
<div class="row input-boxes">
<div class="options-box right col-md-12">
<div class="options-info"> در صورت تمایل به محاسبه ی عناوین ذیل در فیش حقوقی، گزینه های موردنظر را فعال نمایید </div>
<div class="optional-wages flexible-div">
<div class="d-flex options-check col-lg-6 col-md-6 col-sm-6 col-xs-7">
<div class="checkbox-wrapper-2">
<label class="toggleButton">
<input type="checkbox" asp-for="AddLeavePay" class="activated">
<div>
<svg viewBox="0 0 44 44">
<path d="M14,24 L21,31 L39.7428882,11.5937758 C35.2809627,6.53125861 30.0333333,4 24,4 C12.95,4 4,12.95 4,24 C4,35.05 12.95,44 24,44 C35.05,44 44,35.05 44,24 C44,19.3 42.5809627,15.1645919 39.7428882,11.5937758" transform="translate(-2.000000, -2.000000)"></path>
</svg>
</div>
</label>
</div>
<span class="options-type">مزد و مرخصی </span>
</div>
<div class="d-flex options-check col-lg-6 col-md-6 col-sm-6 col-xs-7">
<div class="checkbox-wrapper-2">
<label class="toggleButton">
<input type="checkbox" asp-for="AddYearsPay" class="activated">
<div>
<svg viewBox="0 0 44 44">
<path d="M14,24 L21,31 L39.7428882,11.5937758 C35.2809627,6.53125861 30.0333333,4 24,4 C12.95,4 4,12.95 4,24 C4,35.05 12.95,44 24,44 C35.05,44 44,35.05 44,24 C44,19.3 42.5809627,15.1645919 39.7428882,11.5937758" transform="translate(-2.000000, -2.000000)"></path>
</svg>
</div>
</label>
</div>
<span class="options-type">سنوات </span>
</div>
<div class="d-flex options-check col-lg-6 col-md-6 col-sm-6 col-xs-7">
<div class="checkbox-wrapper-2">
<label class="toggleButton">
<input type="checkbox" asp-for="AddBonusesPay" class="activated">
<div>
<svg viewBox="0 0 44 44">
<path d="M14,24 L21,31 L39.7428882,11.5937758 C35.2809627,6.53125861 30.0333333,4 24,4 C12.95,4 4,12.95 4,24 C4,35.05 12.95,44 24,44 C35.05,44 44,35.05 44,24 C44,19.3 42.5809627,15.1645919 39.7428882,11.5937758" transform="translate(-2.000000, -2.000000)"></path>
</svg>
</div>
</label>
</div>
<span class="options-type"> عیدی و پاداش </span>
</div>
</div>
</div>
</div>
</div>
<div class="row inputs">
<div class="col-md-12 col-lg-12 col-sm-12 col-xs-12">
<div class="optional-wages d-flex">
<div class="d-flex single-checkbox">
<span class="options-type" style="width: 100%;">مجموع مبالغ تصفیه حساب در ذیل فرم نمایش داده شود</span>
<div class="checkbox-wrapper-2">
<label class="toggleButton">
<input type="checkbox" class="activated" @*data-val="true"*@ @*data-val-required="The AddLeavePay field is required."*@ @*id="AddLeavePay"*@ @*name="AddLeavePay"*@ value="true">
<div>
<svg viewBox="0 0 44 44">
<path d="M14,24 L21,31 L39.7428882,11.5937758 C35.2809627,6.53125861 30.0333333,4 24,4 C12.95,4 4,12.95 4,24 C4,35.05 12.95,44 24,44 C35.05,44 44,35.05 44,24 C44,19.3 42.5809627,15.1645919 39.7428882,11.5937758" transform="translate(-2.000000, -2.000000)"></path>
</svg>
</div>
</label>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="form listForm3">
<div class="row inputs">
<div class="right col-md-12 listForm3-boxes">
<div class="right col-md-6">
<label class="input-label d-block"><input type="checkbox" value="NormalList" class="checkboxes sendList"> ارسال لیست بیمه کارگاه عادی</label>
<label class="input-label d-block"><input type="checkbox" value="Govermentlist" class="checkboxes sendList">ارسال لیست بیمه کارگاه کمک دولت </label>
<label class="input-label d-block"><input type="checkbox" value="Familylist" class="checkboxes sendList"> ارسال لیست بیمه کارگاه خانوادگی</label>
<input type="hidden" id="asp-hidden" asp-for="TypeOfInsuranceSend"/>
</div>
<div class="right col-md-3 col-sm-12 col-xs-12 disabled InsuranceCode">
<label class="input-label">کد کارگاهی بیمه</label>
<input asp-for="InsuranceCode" type="text" placeholder="" class="form-control text-center" pattern="\d*"/>
<i class="fa fa-exclamation-circle error-icon"></i>
<p class="error-message">فقط عدد وارد شود.</p>
</div>
<div class="right col-md-3 col-sm-12 col-xs-12 disabled AgreementNumber">
<label class="input-label"> ردیف پیمان</label>
<input type="text" value="000" asp-for="AgreementNumber" class="form-control text-center" id="zeros" pattern="\d*"/>
<i class="fa fa-exclamation-circle error-icon"></i>
<p class="error-message">فقط عدد وارد شود.</p>
</div>
</div>
</div>
<div class="row inputs">
<div class="right col-md-12 form3-boxes disabled fixedSalarySection">
<div class="right col-md-12" style="margin-bottom: 10px;">
<label class="input-label"><input type="checkbox" asp-for="FixedSalary" class="fixedSalary checkboxes"> این کارگاه مشمول دستمزد مقطوع می باشد</label>
</div>
<div class="disabled insuranceJob">
<div>
<div class="right col-md-8 col-sm-6 col-xs-12">
<label class="input-label"> عنوان صنف و درجه / کد اقتصادی </label>
<select class="select-city form-control" id="jobName" asp-for="InsuranceJobId" asp-items="@Model.InsuranceJobViewModels">
<option value="" disabled selected> </option>
</select>
</div>
<div class="right col-md-4 col-sm-6 col-xs-12">
<label class="input-label"> جمعیت شهر </label>
<select class="form-control" asp-for="Population">
<option value="" disabled selected> </option>
<option value="LessThan500">کمتر از 500000 نفر </option>
<option value="MoreThan500">بیشتر از 500000 نفر</option>
</select>
</div>
</div>
</div>
</div>
</div>
</div>
<input type="hidden" id="isLegal"/>
<div class="form-footer-btns">
<a class="btn btn-modal listPrev">مرحله قبل</a>
<a class="btn btn-modal listNext">مرحله بعد</a>
</div>
</div>
<div class="form-footer">
<a class="btn btn-rounded waves-effect waves-light bg-white closeForm">بستن</a>
<a href="#" class=" btn btn-success btn-rounded waves-effect waves-light aEmployers" id="saveEdit">ذخیره</a>
</div>
</fieldset>
@if (Model.AccountIdsList != null)
{
for (var i = 0; i < Model.AccountIdsList.Count(); i++)
{
<input type="hidden" asp-for="AccountIdsList[i]"/>
}
}
</form>
<script language="javascript" src="~/AdminTheme/js/city.js"></script>
<script src="~/lib/select2/js/select2.js"></script>
<script src="~/lib/select2/js/i18n/fa.js"></script>
<script>
$(document).ready(function() {
adjustFormBoxHeight();
contractDuration();
checkContractDuration();
$('.error-message').hide();
$('.error-icon').hide();
$(".select-city").select2({
language: "fa",
dir: "rtl"
});
$("#city").select2({
language: "fa",
dir: "rtl"
});
$("#jobName").select2({
language: "fa",
dir: "rtl"
});
$('.form-control').on('keyup',
function() {
const errorMessage = $(this).parent().find('.error-message');
const errorIcon = $(this).parent().find('.error-icon');
if (this.validity.patternMismatch) {
errorMessage.show();
errorIcon.show();
$(this).addClass('errored');
$(this).addClass('patternMisMatch');
} else {
errorMessage.hide();
errorIcon.hide();
$(this).removeClass('errored');
$(this).removeClass('patternMisMatch');
}
});
const aspValue = $("#asp-hidden").val();
if (aspValue != "" || aspValue != undefined) {
const checkbox = $(`input.myCheckbox[value="${aspValue}"]`);
checkbox.prop("checked", true);
}
const aspValueContract = $("#asp-contract-hidden").val();
if (aspValue != "" || aspValue != undefined) {
const checkspan = $(`span.contractDuration[text="${aspValueContract}"]`);
checkspan.addClass("contActive");
}
const myCheckbox = $('.sendList');
const myCheckbox2 = $('.fixedSalary');
const myDiv = $('.fixedSalarySection');
const myDiv2 = $('.AgreementNumber');
const myDiv3 = $('.insuranceJob');
const myDiv4 = $('.InsuranceCode');
myCheckbox.on('change',
function() {
const isLegal = "@isLegal";
if ($(this).is(':checked') && isLegal == "False") {
myDiv.removeClass('disabled');
} else {
myDiv.addClass('disabled');
}
});
myCheckbox.on('change',
function() {
if ($(this).is(':checked')) {
myDiv2.removeClass('disabled');
} else {
myDiv2.addClass('disabled');
}
});
myCheckbox2.on('change',
function() {
if ($(this).is(':checked')) {
myDiv3.removeClass('disabled');
} else {
myDiv3.addClass('disabled');
}
});
myCheckbox.on('change',
function() {
if ($(this).is(':checked')) {
myDiv4.removeClass('disabled');
} else {
myDiv4.addClass('disabled');
}
});
$(".sendList").on('change',
function() {
if ($(this).is(':checked')) {
$("#asp-hidden").val($(this).val());
} else {
$("#asp-hidden").val('');
$("#InsuranceCode").val('');
}
});
$(".listNext").click(function() {
nextButtonList($(this));
});
$(".listPrev").click(function() {
prevButtonList($(this));
});
$(".closeForm").click(function() {
$(".divEdit").slideUp(500);
setTimeout(function() {
$(".divEdit").html('');
}.bind(this),
500);
});
const state = document.getElementById('state').value;
const city = document.getElementById('hide3').value;
iranwebsv(state);
$(`#city option:contains("${city}")`).attr("selected", true);
});
$(window).on('resize',
function() {
adjustFormBoxHeight();
});
function adjustFormBoxHeight() {
const formBoxHeight = Math.max($('.listForm1').height(), $('.listForm2').height(), $('.listForm3').height());
$('.form-box').height(formBoxHeight + 50);
}
var aspValue = $("#asp-hidden").val();
if (aspValue != "" || aspValue != undefined) {
var checkbox = $(`input.sendList[value="${aspValue}"]`);
checkbox.prop("checked", true);
}
const myCheckbox = $('.sendList');
const myCheckbox2 = $('.fixedSalary');
const myDiv = $('.fixedSalarySection');
const myDiv2 = $('.AgreementNumber');
const myDiv3 = $('.insuranceJob');
const myDiv4 = $('.InsuranceCode');
if (myCheckbox.is(':checked')) {
myDiv.removeClass('disabled');
myDiv2.removeClass('disabled');
myDiv4.removeClass('disabled');
} else {
myDiv.addClass('disabled');
myDiv2.addClass('disabled');
myDiv4.addClass('disabled');
}
if (myCheckbox2.is(':checked')) {
myDiv3.removeClass('disabled');
} else {
myDiv3.addClass('disabled');
}
function nextButtonList(element) {
let nextBtn = element;
let prevBtn = element.parent().parent().parent().find(".listPrev");
let form1 = element.parent().parent().parent().find(".listForm1");
let form2 = element.parent().parent().parent().find(".listForm2");
let form3 = element.parent().parent().parent().find(".listForm3");
let progressBar = element.parent().parent().parent().find(".listProgress");
//checkAddress();
$("#editWorkshop").find('input.not-empty').each(function() {
if ($(this).val() === '') {
$(this).addClass('errored');
} else {
$(this).removeClass('errored');
}
});
var option1 = document.getElementById("city").options.selectedIndex;
if (option1 == 0 || option1 == -1) {
$("#divCity .select2-selection").addClass('errored');
} else {
$("#divCity .select2-selection").removeClass('errored');
}
var option2 = document.getElementById("state").options.selectedIndex;
if (option2 == 0) {
$("#divState .select2-selection").addClass('errored');
} else {
$("#divState .select2-selection").removeClass('errored');
}
if ($("#ArchiveCode").val() != "" && $("#ArchiveCode").val() == "0") {
$("#ArchiveCode").addClass('errored');
} else {
$("#ArchiveCode").removeClass('errored');
}
if ($('input.errored').length === 0 && $('input.patternMisMatch').length === 0 && $("#divCity").find(".select2-container.errored").length == 0 && $("#divState").find(".select2-container.errored").length == 0) {
if (form3.css('right') == '0px') {
nextBtn.css({
'background-color': "#c7c0c0ba",
'color': '#000000b8',
'box-shadow': 'none'
});
} else if (form2.css('left') == '3000px') {
prevBtn.css({
'background-color': "white",
'color': '#0f9500',
'box-shadow': '0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12)'
});
progressBar.css({
'width': '66.66%'
});
form1.css({
right: '3000px'
});
form2.css({
left: '0'
});
} else if (form2.css('left') == '0px') {
nextBtn.css({
'background-color': "#c7c0c0ba",
'color': '#000000b8',
'box-shadow': 'none'
});
prevBtn.css({
'background-color': "white",
'color': '#0f9500',
'box-shadow': '0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12)'
});
progressBar.css({
'width': '100%',
'border-top-right-radius': '7px'
});
form2.css({
left: '3000px'
});
form3.css({
right: '0'
});
}
} else {
return;
}
}
function prevButtonList(element) {
const prevBtn = element;
const nextBtn = element.parent().parent().parent().find(".listNext");
const form1 = element.parent().parent().parent().find(".listForm1");
const form2 = element.parent().parent().parent().find(".listForm2");
const form3 = element.parent().parent().parent().find(".listForm3");
const progressBar = element.parent().parent().parent().find(".listProgress");
nextBtn.css({
'background-color': "white",
'color': '#1763b1'
});
if (form2.css('left') == '3000px' && form3.css('right') == '3000px') {
prevBtn.css({
'background-color': "#c7c0c0ba",
'color': '#000000b8',
'box-shadow': 'none'
});
} else if (form2.css('left') == '0px') {
progressBar.css({
'width': '33.33%',
'border-top-right-radius': '0px'
});
prevBtn.css({
'background-color': "#c7c0c0ba",
'color': '#000000b8',
'box-shadow': 'none'
});
form2.css({
left: '3000px'
});
form1.css({
right: 'initial'
});
} else if (form3.css('right') == '0px') {
progressBar.css({
'width': '66.66%',
'border-top-right-radius': '0px'
});
prevBtn.css({
'background-color': "white",
'color': '#0f9500',
'box-shadow': '0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12)'
});
form2.css({
left: '0'
});
form3.css({
right: '3000px'
});
}
}
$("#saveEdit").click(function() {
const selectCity = $('#city.select-city');
const selectedCityOption = selectCity.find('option:selected');
$('#hide2').val(selectedCityOption.text());
if ($("#WorkshopName").val() != "") {
$("#WorkshopName").addClass('not-empty');
} else {
$("#WorkshopName").removeClass('not-empty');
}
const option1 = document.getElementById("city").options.selectedIndex;
if (option1 == 0 || option1 == -1) {
$("#divCity .select2-selection").addClass('errored');
} else {
$("#divCity .select2-selection").removeClass('errored');
}
const option2 = document.getElementById("state").options.selectedIndex;
if (option2 == 0) {
$("#divState .select2-selection").addClass('errored');
} else {
$("#divState .select2-selection").removeClass('errored');
}
//checkAddress();
$("#editWorkshop").find('input.not-empty').each(function() {
if ($(this).val() === '') {
$(this).addClass('errored');
} else {
$(this).removeClass('errored');
}
});
// console.log($("#ArchiveCode").val());
if ($("#ArchiveCode").val() != "" && $("#ArchiveCode").val() == "0") {
$("#ArchiveCode").addClass('errored');
} else {
$("#ArchiveCode").removeClass('errored');
}
if ($("#editWorkshop").find('input.errored').length > 0 || $("#editWorkshop").find('input.patternMisMatch').length > 0 || $("#divCity").find(".select2-container.errored").length > 0 || $("#divState").find(".select2-container.errored").length > 0) {
$.Notification.autoHideNotify('error', 'top right', 'پیام سیستم ', "لطفا موارد اجباری را تکمیل کنید.");
//function scrollDown() {
// // console.log($(this));
// const customSelect = $(this).parent().parent().parent();
// const divOffset = customSelect.offset().top;
// // console.log(divOffset);
// window.scrollTo({
// top: divOffset,
// behavior: 'smooth',
// });
//}
//setTimeout(function () {
// scrollDown.call(this);
//}.bind(this), 0);
} else {
$("#editWorkshopForm").submit();
}
});
$('#editWorkshopForm').submit(function(e) {
e.preventDefault();
e.stopImmediatePropagation();
$.ajax({
type: "POST",
url: $(this).attr('action'),
data: $(this).serialize(),
success: function(response) {
if (response.isSuccedded == true) {
$.Notification.autoHideNotify('success', 'top center', response.message);
// getCreate();
getWorkshopList();
$(".divEdit").slideUp(500);
} else {
$.Notification.autoHideNotify('error', 'top center', response.message);
}
}
});
return false;
});
//مدت قرارداد
$(".contractDuration").on('click',
function() {
if ($(this).hasClass('contActive')) {
$(this).removeClass('contActive');
} else {
$(".contractDuration").removeClass('contActive');
$(this).addClass('contActive');
}
contractDuration();
});
function contractDuration() {
if ($(".contActive").text() == '1 ماهه') {
$("#asp-contract-hidden").val(1);
} else if ($(".contActive").text() == '2 ماهه') {
$("#asp-contract-hidden").val(2);
} else if ($(".contActive").text() == '3 ماهه') {
$("#asp-contract-hidden").val(3);
} else if ($(".contActive").text() == '6 ماهه') {
$("#asp-contract-hidden").val(6);
} else if ($(".contActive").text() == '1 ساله') {
$("#asp-contract-hidden").val(12);
} else if ($(".contActive").text() == 'دائمی') {
$("#asp-contract-hidden").val("ForEver");
}
}
function checkContractDuration() {
const aspValueContract = $("#asp-contract-hidden").val();
console.log(aspValueContract);
if (aspValueContract != '' || aspValueContract != undefined) {
if (aspValueContract == '1') {
$('span.contractDuration:contains("1 ماهه")').addClass("contActive");
} else if (aspValueContract == '2') {
$('span.contractDuration:contains("2 ماهه")').addClass("contActive");
} else if (aspValueContract == '3') {
$('span.contractDuration:contains("3 ماهه")').addClass("contActive");
} else if (aspValueContract == '6') {
$('span.contractDuration:contains("6 ماهه")').addClass("contActive");
} else if (aspValueContract == '12') {
$('span.contractDuration:contains("12 ماهه")').addClass("contActive");
} else if (aspValueContract == 'ForEver') {
$('span.contractDuration:contains("دائمی")').addClass("contActive");
}
}
}
// function checkAddress(){
// var state=$("#state").val();
// var city=$("#city").val();
// var zoneName=$("#ZoneName").val();
// var address=$("#Address").val();
// console.log(state);
// console.log(city);
// console.log(zoneName);
// console.log(address);
// if((state!=''|| zoneName!=''||address!='' )&& (city==0||city==null))
// {
// $("#divCity").find(".select2-container").addClass('errored');
// }
// else{
// $("#divCity").find(".select2-container").removeClass('errored');
// }
// if((state!=''|| (city!=0 && city!=null) ||address!='' ) && zoneName=='')
// {
// $("#ZoneName").addClass('errored');
// }
// else{
// $("#ZoneName").removeClass('errored');
// }
// if((state!=''|| (city!=0 && city!=null) ||zoneName!='' ) && address=='')
// {
// $("#Address").addClass('errored');
// }
// else{
// $("#Address").removeClass('errored');
// }
// if((address!=''|| (city!=0 && city!=null) ||zoneName!='' ) && state=='' )
// {
// $("#divState").find(".select2-container").addClass('errored');
// }
// else{
// $("#divState").find(".select2-container").removeClass('errored');
// }
//}
function changecity(element) {
const text = $(element).children("option").filter(":selected").text();
$("#hide2").val(text);
}
</script>

View File

@@ -363,8 +363,6 @@
<None Include="Areas\Client\Pages\Company\WorkFlow\RollCall.cshtml" />
<None Include="Areas\Client\Pages\Company\Workshop\ConnectedPersonnels.cshtml" />
<None Include="Areas\Client\Pages\Company\Workshop\ContractCheckoutYearlyStatus.cshtml" />
<None Include="Areas\Client\Pages\Company\Workshop\Create.cshtml" />
<None Include="Areas\Client\Pages\Company\Workshop\Edit.cshtml" />
<None Include="Areas\Client\Pages\Company\Workshop\Index.cshtml" />
<None Include="Areas\Client\Pages\Company\Workshop\LeaveListAll.cshtml" />
<None Include="Areas\Client\Pages\Company\Workshop\PrintOnePersonnelInfo.cshtml" />

View File

@@ -152,24 +152,18 @@
background: #F5F5F5;
border-radius: 10px;
width: 100%;
height: 372px;
overflow: hidden;
border: 1px solid #E7E7E7
height: 400px;
overflow: auto;
border: 1px solid #E7E7E7;
padding: 7px;
}
.cardModal2-content {
padding: 10px;
text-align: center;
height: 400px;
overflow: auto;
}
.btn-quit {
background-color: #292D32;
color: white;
@@ -192,9 +186,9 @@
font-weight: 500
}
.btn-confirm:hover {
background-color: #5f9213;
}
.btn-confirm:hover {
background-color: #5f9213;
}
.btn-quit:hover {
background-color: #121820;
@@ -213,10 +207,29 @@ input:focus {
.btn-card {
color: #0B5959;
width: 33px;
height: 33px;
border-radius: 3px;
width: 27px;
height: 27px;
border-radius: 5px;
background-color: #57E3E340;
font-size: 14px;
line-height: 29px;
}
}
.cusRemove {
background-color: #F2B3B3;
border: 1px solid #F63D3D;
border-radius: 7px;
padding: 3px;
cursor: pointer;
transition: all ease-in-out 0.3s;
}
.noselect {
-webkit-touch-callout: none; /* iOS Safari */
-webkit-user-select: none; /* Safari */
-khtml-user-select: none; /* Konqueror HTML */
-moz-user-select: none; /* Firefox */
-ms-user-select: none; /* Internet Explorer/Edge */
user-select: none; /* Non-prefixed version, currently
supported by Chrome and Opera */
}

View File

@@ -74,8 +74,14 @@ function loadEmployeeIsChangeAjax() {
function ajaxConfirm() {
$('#ConfirmModal').show();
saveDataLocal();
employeeList();
var isYesCheck = $('#YesConfirm').is(':checked');
if (isYesCheck) {
$('#ConfirmModal').show();
} else {
postChangeEditGroup();
}
}
@@ -96,16 +102,29 @@ function employeeList() {
var index = 1;
if (response.success) {
employeeList.forEach(function (item) {
htmlEmployeeList += `<div class="TaleRowCell d-flex w-100 justify-content-between align-items-center px-3 " style="background: #F1FFFF; height: 49px; border-radius: 5px">
<div class="d-flex align-items-center gap-3">
<span class="btn-card">${index++}</span>
htmlEmployeeList += `<div class="TaleRowCell d-flex w-100 justify-content-between align-items-center px-2 " style="background: #F1FFFF; height: 45px; border-radius: 7px;border: 1px solid #D2D2D2">
<div class="d-flex align-items-center gap-3 noselect">
<span class="btn-card noselect">${index++}</span>
<span style="color: #0B5959; font-size: 14px; font-weight: 400; text-align: right">${item.name}</span>
</div>
<input type="hidden" name="EmployeeId[]" value="${item.employeeId}" />
<input type="text" class="form-control m-0 py-0 dateInput"
name="FromDate[]"
value=""
style="width: 120px; height: 36px; text-align: center; font-size: 16px; color: #5C5C5C; font-weight: 500; border: 2px solid #C6C6C6; direction: ltr" />
<div class="d-flex align-items-center justify-content-center gap-1">
<input type="text" class="form-control m-0 py-0 dateInput"
name="FromDate[]"
value=""
style="width: 110px; height: 30px; text-align: center; font-size: 14px; color: #5C5C5C; font-weight: 500; border: 2px solid #C6C6C6; direction: ltr" />
<div class="d-flex align-items-center justify-content-center cusRemove">
<svg width="21" height="21" viewBox="0 0 17 17" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="16.5" height="16.5" transform="translate(0.25 0.214844)" fill="#F2B3B3"/>
<path d="M6.78125 10.1836L6.78125 8.12109" stroke="#F63D3D" stroke-linecap="round"/>
<path d="M10.2188 10.1836L10.2187 8.12109" stroke="#F63D3D" stroke-linecap="round"/>
<path d="M2.3125 4.68359H14.6875V4.68359C14.3101 4.68359 14.1214 4.68359 13.9635 4.70899C13.1117 4.84606 12.4437 5.514 12.3066 6.36588C12.2812 6.52372 12.2812 6.71243 12.2812 7.08984V9.83984C12.2812 11.5137 12.2812 12.3506 11.8116 12.9088C11.7378 12.9965 11.6566 13.0776 11.5689 13.1514C11.0107 13.6211 10.1738 13.6211 8.5 13.6211V13.6211C6.82618 13.6211 5.98926 13.6211 5.43109 13.1514C5.34339 13.0776 5.2622 12.9965 5.18842 12.9088C4.71875 12.3506 4.71875 11.5137 4.71875 9.83984V7.08984C4.71875 6.71243 4.71875 6.52372 4.69335 6.36588C4.55628 5.514 3.88835 4.84606 3.03647 4.70899C2.87862 4.68359 2.68992 4.68359 2.3125 4.68359V4.68359Z" stroke="#F63D3D" stroke-linecap="round"/>
<path d="M6.78125 2.62126C6.78125 2.62126 7.125 1.93359 8.5 1.93359C9.875 1.93359 10.2188 2.62109 10.2188 2.62109" stroke="#F63D3D" stroke-linecap="round"/>
</svg>
</div>
</div>
</div>`;
});
@@ -145,4 +164,15 @@ $('#initialDateInput').on('input', function () {
// datePattern: ['Y', 'm', 'd']
// });
$('.dateInput').val($(this).val());
});
});
$(document).on('click', '.cusRemove', function () {
$(this).closest('.TaleRowCell').remove();
updateRowIndexes();
});
function updateRowIndexes() {
$('.btn-card').each(function (index) {
$(this).text(index + 1);
});
}

View File

@@ -804,6 +804,8 @@ function saveDataLocal() {
saveData['Command.FridayWork'] = FridayWork;
saveData['Command.HolidayWork'] = HolidayWork;
console.log(saveData);
//data.push({ name: 'Command.BreakTime.HasBreakTimeValue', value: hasBreakTime });
//data.push({ name: 'Command.BreakTime.BreakTimeValue', value: breakTimeValue });
//data.push({ name: 'Command.FridayWork', value: FridayWork });

View File

@@ -504,6 +504,7 @@
updateRemoveButtons();
updateRemoveButtonsRS();
saveDataLocal();
});
function updateRemoveButtons() {
@@ -772,10 +773,29 @@ async function ajaxSaveSubmit() {
}
}
$('#btnSave').addClass('disable');
$('#finalSaveRollCallSetting').addClass('disable');
saveDataLocal();
postChangeEditGroup();
//try {
// const responseCheckCal = await checkEmployeeSettingsHasChangedValue(saveData);
// if (responseCheckCal) {
// $('#ConfirmModal').show();
// } else {
// postChangeEditGroup();
// }
//} catch (err) {
// console.log(err);
//}
}
// save all data
var saveData = {};
function saveDataLocal() {
//$('#btnSave').addClass('disable');
//$('#finalSaveRollCallSetting').addClass('disable');
var data = $('#edit-form').serializeArray();
var hasBreakTime = "false";
if ($('#BreakTime').prop('checked')) {
@@ -787,9 +807,7 @@ async function ajaxSaveSubmit() {
var breakTimeValue = $("#TimeOnly").val();
var isShiftChanged = $('#YesConfirm').prop("checked") ? "true" : "false";
//console.log(breakTimeValue);
//return;
var FridayWork = "Default";
if ($('#Friday1').prop('checked')) {
FridayWork = "Default";
@@ -806,70 +824,75 @@ async function ajaxSaveSubmit() {
}
data.push({ name: 'BreakTime.HasBreakTimeValue', value: hasBreakTime });
data.push({ name: 'BreakTime.BreakTimeValue', value: breakTimeValue });
data.push({ name: 'FridayWork', value: FridayWork });
data.push({ name: 'HolidayWork', value: HolidayWork });
var formData = $('#edit-form').serializeArray();
data.push({ name: 'IsShiftChanged', value: isShiftChanged });
formData.forEach(function (item) {
saveData[item.name] = item.value;
});
saveData['BreakTime.HasBreakTimeValue'] = hasBreakTime;
saveData['BreakTime.BreakTimeValue'] = breakTimeValue;
saveData['FridayWork'] = FridayWork;
saveData['HolidayWork'] = HolidayWork;
saveData['IsShiftChanged'] = isShiftChanged;
}
async function postChangeEditGroup() {
var requestData = $.param(data);
$('#ConfirmRecalculationLoading').show();
$('.btn-confirm').addClass('disable');
var command = [];
var commandGroup = [];
$('input[name="EmployeeId[]"]').each(function (index) {
var employeeId = $(this).val();
var fromDate = $('input[name="FromDate[]"]').eq(index).val();
commandGroup.push({
EmployeeId: employeeId,
FromDate: fromDate
$('[name="EmployeeId[]"]').each(function (index) {
command.push({
EmployeeId: $(this).val(),
FromDate: $('[name="FromDate[]"]').eq(index).val()
});
});
// console.log(commandGroup);
const response = await $.ajax({
dataType: 'json',
type: 'POST',
url: ajaxEditGroupSave,
headers: { "RequestVerificationToken": antiForgeryToken },
data: { ...saveData, reCalculateCommand: command }
});
try {
const response = await $.ajax({
dataType: 'json',
type: 'POST',
url: ajaxEditGroupSave,
headers: { "RequestVerificationToken": antiForgeryToken },
data: requestData
});
if (response.success) {
isShiftChangedGlobal = true;
if (response.success) {
//const responseSaveCal = await saveReCalculateValues(commandGroup);
//if (responseSaveCal) {
// loadDataAjax();
// $('#btn-register').addClass('disable');
// $('#MainModal').modal('hide');
//}
loadDataAjax();
$('#btnSave').removeClass('disable');
$('#btn-register').addClass('disable');
$('#MainModal').modal('hide');
} else {
$('.alert-msg').show();
$('.alert-msg p').text(response.message);
setTimeout(function () {
$('.alert-msg').hide();
$('.alert-msg p').text('');
}, 3500);
$('#btn-register').removeClass('disable');
$('#finalSaveRollCallSetting').removeClass('disable');
}
} catch (err) {
$('#btn-register').removeClass('disable');
$('#finalSaveRollCallSetting').removeClass('disable');
console.log(err);
$('.alert-success-msg').show();
$('.alert-success-msg p').text(response.message);
setTimeout(function () {
$('.alert-success-msg').hide();
$('.alert-success-msg p').text('');
}, 2000);
loadDataAjax();
$('#btn-register').addClass('disable');
$('#MainModal').modal('hide');
$('#ConfirmRecalculationLoading').hide();
$('.btn-confirm').removeClass('disable');
//}
} else {
$('.alert-msg').show();
$('.alert-msg p').text(response.message);
setTimeout(function () {
$('.alert-msg').hide();
$('.alert-msg p').text('');
}, 3500);
$('#ConfirmRecalculationLoading').hide();
$('.btn-confirm').removeClass('disable');
}
}
async function saveReCalculateValues(command) {
var btnConfirm = $('.btn-confirm').addClass('disable');