merged changes

This commit is contained in:
SamSys
2025-06-03 21:27:14 +03:30
parent f35aca8e44
commit c948498307
11 changed files with 511 additions and 1619 deletions

View File

@@ -1779,8 +1779,8 @@ public class InsuranceListApplication : IInsuranceListApplication
else
{
var searchModel = new InsuranceJobItemSearchModel();
searchModel.InsuranceJobId = (long)insuranceJobId;
var searchModel = new InsuranceJobItemSearchModel();
searchModel.InsuranceJobId = (long)insuranceJobId;
var JobItem = _insuranceJobItemRepository.GetInsuranceJobItemByInsuranceJobIdForFixedSalary((long)insuranceJobId, jobId, year, month);
if (JobItem != null && JobItem.Id != 0)
@@ -2282,7 +2282,7 @@ public class InsuranceListApplication : IInsuranceListApplication
return op.Failed("حجم فایل نمیتواند از 20 مگابایت بیشتر باشد");
var mediaId = command.Debt.DebtFileMediaId;
var mediaId = inspection.InspectionFileMediaId;
if (inspection.InspectionFile is { Length: > 0 })
{
mediaId = await CreateMediaAsync(insuranceList, "inspection", inspection.InspectionFile);
@@ -2301,7 +2301,7 @@ public class InsuranceListApplication : IInsuranceListApplication
if (string.IsNullOrWhiteSpace(approval.Description))
return op.Failed("لطفا توضیحات را وارد کنید");
if (approval.Description.Length < 15 && approval.ApprovalStatus == InsuranceListEmployerApprovalStatus.VerbalApproval)
if (approval.Description.Length < 15)
return op.Failed("توضیحات باید حداقل 15 کاراکتر باشد");
}
var approvalEntity = new InsuranceListEmployerApproval(approval.ApprovalStatus, approval.Description);
@@ -2317,6 +2317,10 @@ public class InsuranceListApplication : IInsuranceListApplication
insuranceList.SetConfirmSentlist(true);
}
else
{
insuranceList.SetConfirmSentlist(false);
}
await _insuranceListRepositpry.SaveChangesAsync();
return op.Succcedded();

View File

@@ -1384,6 +1384,7 @@
// Reload Function
pageIndexJs = 0;
hasMoreData = true;
var $activeTab = $('.tab-bar__tab--active');
var activeValue = $activeTab.val();
$('#load-data-html').html('');

View File

@@ -1258,6 +1258,7 @@
// Reload Function
pageIndexJs = 0;
hasMoreData = true;
var $activeTab = $('.tab-bar__tab--active');
var activeValue = $activeTab.val();
$('#load-data-html').html('');

View File

@@ -316,175 +316,6 @@
<!-- End Advance Search Box -->
</div>
<div class="row">
<!--
<div class="col-sm-12">
<div class="panel-group panel-group-joined" id="accordion-test">
<div class="panel panel-default">
<div class="panel-heading">
<h4 class="panel-title">
<a data-toggle="collapse" data-parent="#accordion-test" href="#collapseOne" class="collapsed">
جستجوی لیست بیمه ی کارگاه ها
</a>
</h4>
</div>
<div id="collapseOne" class="panel-collapse in collapse">
<div class="panel-body">
@*===================================================================================================================*@
<div class="row">
<div class="col-sm-12">
<form class="form-inline" role="form" name="search-theme-form" id="search-theme-form" autocomplete="off"
method="get"
data-ajax="true"
data-ajax-method="get"
data-ajax-update="#mainPanelSearch"
data-ajax-mode="replace"
data-ajax-url="@Url.Page("./Index","Search")">
<div class="form-group col-sm-12">
<div class="row">
<div class="col-lg-3 col-md-3 col-sm-6 col-xs-12" style="display: flex;">
<div class="date-title">انتخاب تاریخ</div>
<div class="year-box">
<label class="sr-only"></label>
<select class="form-control" asp-for="searchModel.Year" style="width: 100%">
<option value="0" >سال</option>
@foreach (string itemi in @Model.YearlyList)
{
if (Model.CurrentYear_ == itemi)
{
<option selected value="@itemi"> @itemi </option>
}
else
{
<option value="@itemi"> @itemi </option>
}
}
</select>
</div>
<div class="month-box">
<label class="sr-only"></label>
<select class="form-control" asp-for="searchModel.Month" style="width: 100%">
<option value="0" > ماه</option>
<option value="01"> فروردین</option>
<option value="02"> اردیبهشت</option>
<option value="03"> خرداد</option>
<option value="04"> تیر</option>
<option value="05"> مرداد</option>
<option value="06"> شهریور</option>
<option value="07"> مهر</option>
<option value="08"> آبان</option>
<option value="09"> آذر</option>
<option value="10"> دی</option>
<option value="11"> بهمن</option>
<option value="12"> اسفند</option>
</select>
</div>
</div>
<div class="col-lg-3 col-md-3 col-sm-6 col-xs-12">
<label class="sr-only"></label>
<input class="form-control" placeholder="کد کارگاهی" asp-for="searchModel.WorkShopCode" style="width: 100%">
</div>
<div style="height:40px" class="col-lg-3 col-md-3 col-sm-6 col-xs-12">
<label class="sr-only"></label>
<input type="hidden" class="sendEmployerId" asp-for="searchModel.EmployerId" />
<input type="hidden" asp-for="searchModel.EmployerName" />
<input type="search" id="empSearchEmployer" value="@Model.EmployerFullName" class="form-control inpt @{ if(!string.IsNullOrWhiteSpace(@Model.EmployerFullName)){ @selctedOption } }" autocomplete="off" placeholder=" نام کارفرما " style="width: 100%;position: relative">
<div id="empEmployer" class="selectDiv" style="display: none;">
<ul class="searchResultEmployer m-t-10" style="list-style-type: none; padding: 5px">
</ul>
</div>
@* <input class="form-control" placeholder="نام کارفرما" asp-for="searchModel.EmployerName" style="width: 100%"> *@
</div>
<div style="height:40px" class="col-lg-3 col-md-3 col-sm-6 col-xs-12">
<label class="sr-only"></label>
<input type="hidden" class="sendWorkshopId" asp-for="searchModel.WorkshopId" />
<input type="hidden" asp-for="searchModel.WorkShopName" />
<input type="search" id="empSearchWorkshop" value="@Model.WorkshopFullName" class="form-control @{ if(!string.IsNullOrWhiteSpace(@Model.WorkshopFullName)){ @selctedOption } }" autocomplete="off" placeholder=" نام کارگاه /شماره بایگانی " style="width: 100%; position: relative">
<div id="empWorkshop" class="selectDiv" style="display: none;">
<ul class="searchResultWorkshop m-t-10" style="list-style-type: none; padding: 5px">
</ul>
</div>
@* <input class="form-control" placeholder="نام کارگاه" asp-for="searchModel.WorkShopName" style="width: 100%"> *@
</div>
</div>
<hr style=" margin-top: 12px;margin-bottom: 12px;">
<div class="row">
<div class="col-lg-3 col-md-3 col-sm-6 col-xs-12 belowRow">
<label class="sr-only"></label>
<select class="form-control" asp-for="searchModel.TypeOfInsuranceSend" style="width: 100%">
<option value="0" selected >نوع ارسال لیست</option>
<option value="عادی"> عادی </option>
<option value="کمک دولت">کمک دولت</option>
<option value="خانوادگی">خانوادگی</option>
</select>
</div>
<div class="col-lg-3 col-md-3 col-sm-6 col-xs-12 belowRow">
<label class="sr-only"></label>
<input class="form-control" asp-for="searchModel.Branch" placeholder="شعبه تامین اجتماعی " style="width: 100%">
</div>
<div class="col-lg-3 col-md-3 col-sm-6 col-xs-12 belowRow">
<select class="form-control" style="width: 100%" asp-for="searchModel.City">
<option value="0" selected >شهرستان</option>
</select>
</div>
<div class="col-lg-3 col-md-3 col-sm-6 col-xs-12 belowRow">
<select class="form-control" style="width: 100%" asp-for="searchModel.FixedSalary">
<option selected >لیست مقطوع</option>
<option value="true"> دارد</option>
<option value="false">ندارد</option>
</select>
</div>
</div>
<div class="row" style="margin-top: 15px">
<div class="col-lg-9">
</div>
<div class="col-lg-3">
<button type="button" class="btn btn-success btn-rounded waves-effect waves-light m-b-5 btn-search1">
<i class="fa fa-search" style="padding-left: 3px; font-size: 14px;"></i> جستجو
</button>
<a onclick="removeSearch()" class="btn btn-info btn-rounded waves-effect waves-light m-b-5 btn-observe">حذف جستجو</a>
</div>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="col-sm-12">
@* <div class="panel panel-default">
<div class="panel-heading">
<h3 class="panel-title"><i class="fa fa-list faSize"></i> لیست بیمه ی کارگاه ها </h3>
</div>
<div class="panel-body">
<div class="row">
<div class="col-sm-12 col-sm-12 col-xs-12" id="mainPanelSearch">
<div id="waiting" style="display: none;padding-right: 10px">
<i class="ion-loading-a" style="font-size: 16px"> </i> در حال بارگذاری...
</div>
</div>
</div>
</div>
</div> *@
@* TabBar *@
</div>
-->
</div>
<div class="row">
<div class="mb-2 tw-flex tw-flex-col">
<div class="custom-scrollbar-x tw-w-full tw-overflow-x-auto">
@@ -711,6 +542,8 @@
var insuranceConfirmUrl = `#showmodal=@Url.Page("/Company/InsuranceList/Index", "InsuranceConfirm")`;
var downloadFileUrl = `@Url.Page("/Company/InsuranceList/Index", "DownloadFile")`;
var removeInsuranceListUrl = `@Url.Page("/Company/InsuranceList/Index", "RemoveInsuranceList")`;
var workshopNameUrl = `@Url.Page("/Company/InsuranceList/Index", "WorkshopName")`;
var employerNameUrl = `@Url.Page("/Company/InsuranceList/Index", "EmployerName")`;
var currentAccountId = Number(@currentAccount.RoleId);
var month = '@Model.BeforCurrentMonth_';
@@ -727,333 +560,4 @@
</script>
<script src="~/assetsadmin/page/insurancelist/js/index.js?ver=@adminVersion"></script>
}
<script>
//------workshop-----
var containerWorkshop = $('#empWorkshop');
var searchBoxWorkshop = $('#empSearchWorkshop');
var hiddenInputValWorkshop = $('.sendWorkshopId');
var searchResulWorkshop = $('.searchResultWorkshop');
var mixContainerAndSerchResultWorkshop = $('#empWorkshop , .searchResultWorkshop');
containerWorkshop.hide();
var liListWorkshop;
var liPointerWorkshop;
let countWorkshop = 0;
//close search Employee when click on body
$(document).on('click', function (event) {
if (!$(event.target).closest(containerWorkshop).length) {
containerWorkshop.hide();
}
});
//select option by mouse
function selectItemWorkshop(id, employeeFullName) {
searchBoxWorkshop.val(employeeFullName);
hiddenInputValWorkshop.val(id);
containerWorkshop.hide();
searchBoxWorkshop.addClass("selectedOption");
};
//search by Ajax
searchBoxWorkshop.on('keyup keypress',
function (e) {
$(".form-control").removeClass("selectedOption");
//----clean Employer------
$("#searchModel_EmployerName").val('');
$("#searchModel_EmployerId").val('0');
//----clean Employee------
// $("#SearchModel_EmployeeName").val('');
// $("#SearchModel_Id").val('0');
if ($(this).val() == '') {
}
//stop submit form with enter
var keyCode = e.keyCode || e.which;
if (keyCode === 13) {
e.preventDefault();
if (countWorkshop > 0 && countWorkshop <= liListWorkshop.length) {
liPointerWorkshop.click();
}
return false;
}
searchBoxWorkshop.removeClass("selectedOption");
let searchText = $(this).val();
hiddenInputValWorkshop.val(0);
if (searchText.length > 1) {
$.ajax({
async: false,
contentType: 'charset=utf-8',
dataType: 'json',
type: 'GET',
url: '@Url.Page("./Index", "WorkshopName")',
data: { "searchText": searchText },
headers: { "RequestVerificationToken": $('@Html.AntiForgeryToken()').val() },
success: function (response) {
$(".opt").remove();
if (response.mylist.length > 0) {//result Founded
// console.log(response.mylist);
$(".noResult").remove();
containerWorkshop.show();
$.each(response.mylist,
function (i, item) {
let li = `<li data-workshopId="${item.id}" class="btn btn-block opt" onclick="selectItemWorkshop(${item.id}, '${item.workshopFullName}');" >`;
li = li + '<span class="name-right" > ' + item.workshopFullName + ' </span><span class="line">|</span> <span class="code-left" > ' + item.archiveCode + ' </span></li> ';
searchResulWorkshop.append(li);
});
} else {//result NotFounded
$(".noResult").remove();
containerWorkshop.show();
let noResult = `<li class="btn btn-block noResult">نتیجه ای یافت نشد</li>`;
searchResulWorkshop.append(noResult);
}
}// endOfSuccess
}); //endOfAjax
} else {
containerWorkshop.hide();
countWorkshop = 0;
}
//keyboard Arrow Key Select And Enter
liListWorkshop = $('#empWorkshop ul li');
mixContainerAndSerchResultWorkshop.animate({
scrollTop: $(liListWorkshop.eq(0)).offset().top - containerWorkshop.offset().top + containerWorkshop.scrollTop()
},
50);
if (e.which === 40) {// if ArrowUp
if (countWorkshop > 0 && countWorkshop <= liListWorkshop.length) {
liPointerWorkshop.removeClass('keyboardSelected');
console.log(countWorkshop + "plusOne");
liListWorkshop.eq(countWorkshop).addClass('keyboardSelected');
liPointerWorkshop = liListWorkshop.eq(countWorkshop);
if (countWorkshop > 4) {
//ScrollDown
mixContainerAndSerchResultWorkshop.animate({
scrollTop: $(liPointerWorkshop).offset().top - containerWorkshop.offset().top + containerWorkshop.scrollTop()
},
50);
}
countWorkshop += 1;
} else {
liListWorkshop.eq(0).addClass("keyboardSelected");
liPointerWorkshop = liListWorkshop.eq(0);
countWorkshop = 1;
}
} else if (e.which === 38) {//if ArrowDown
if (countWorkshop > 0 && countWorkshop <= liListWorkshop.length) {
liPointerWorkshop.removeClass('keyboardSelected');
countWorkshop -= 1;
liListWorkshop.eq(countWorkshop).addClass('keyboardSelected');
liPointerWorkshop = liListWorkshop.eq(countWorkshop);
//ScrollUp
mixContainerAndSerchResultWorkshop.animate({
scrollTop: $(liPointerWorkshop).offset().top - containerWorkshop.offset().top + containerWorkshop.scrollTop()
},
50);
}
}
});
$("#empSearchWorkshop").keypress(function (event) {
$(".form-control").removeClass("selectedOption");
$("#empSearchEmployer").val('');
$("#empSearch").val('');
$("#searchModel_EmployerName").val('');
$("#searchModel_EmployerId").val('');
// $("#SearchModel_Id").val("0");
// $("#SearchModel_EmployeeName").val('');
if (event.keyCode === 13) {
if ($("#searchModel_WorkshopId").val() == "0")
$("#searchModel_WorkShopName").val($("#empSearchWorkshop").val())
$('.btn-search1').click();
}
});
</script>
<script>
//------Employer-----
var containerEmployer = $('#empEmployer');
var searchBoxEmployer = $('#empSearchEmployer');
var hiddenInputValEmployer = $('.sendEmployerId');
var searchResulEmployer = $('.searchResultEmployer');
var mixContainerAndSerchResultEmployer = $('#empEmployer , .searchResultEmployer');
containerEmployer.hide();
var liListEmployer;
var liPointerEmployer;
let countEmployer = 0;
//close search Employee when click on body
$(document).on('click', function (event) {
if (!$(event.target).closest(containerEmployer).length) {
containerEmployer.hide();
}
});
//select option by mouse
function selectItemEmployer(id, employeeFullName) {
searchBoxEmployer.val(employeeFullName);
hiddenInputValEmployer.val(id);
containerEmployer.hide();
searchBoxEmployer.addClass("selectedOption");
};
//search by Ajax
searchBoxEmployer.on('keyup keypress',
function (e) {
$(".form-control").removeClass("selectedOption");
//----clean Workshop------
$("#empSearchWorkshop").val('');
$("#searchModel_WorkShopName").val('');
//----clean Employee------
// $("#SearchModel_EmployeeName").val('');
// $("#SearchModel_Id").val('0');
if ($(this).val() == '') {
$("#searchModel_EmployerId").val("0");
$("#searchModel_EmployerName").val('');
}
//stop submit form with enter
var keyCode = e.keyCode || e.which;
if (keyCode === 13) {
e.preventDefault();
if (countEmployer > 0 && countEmployer <= liListEmployer.length) {
liPointerEmployer.click();
}
return false;
}
searchBoxEmployer.removeClass("selectedOption");
let searchText = $(this).val();
hiddenInputValEmployer.val(0);
if (searchText.length > 1) {
$.ajax({
async: false,
contentType: 'charset=utf-8',
dataType: 'json',
type: 'GET',
url: '@Url.Page("./Index", "EmployerName")',
data: { "searchText": searchText },
headers: { "RequestVerificationToken": $('@Html.AntiForgeryToken()').val() },
success: function (response) {
$(".opt").remove();
if (response.mylist.length > 0) {//result Founded
console.log(response.mylist);
$(".noResult").remove();
containerEmployer.show();
$.each(response.mylist,
function (i, item) {
let li = `<li data-employeeId="${item.id}" class="btn btn-block opt" onclick="selectItemEmployer(${item.id}, '${item.lName}');" >${item.lName}</li>`;
searchResulEmployer.append(li);
});
} else {//result NotFounded
$(".noResult").remove();
containerEmployer.show();
let noResult = `<li class="btn btn-block noResult">نتیجه ای یافت نشد</li>`;
searchResulEmployer.append(noResult);
}
}// endOfSuccess
}); //endOfAjax
} else {
containerEmployer.hide();
countEmployer = 0;
}
//keyboard Arrow Key Select And Enter
liListEmployer = $('#empEmployer ul li');
mixContainerAndSerchResultEmployer.animate({
scrollTop: $(liListEmployer.eq(0)).offset().top - containerEmployer.offset().top + containerEmployer.scrollTop()
},
50);
if (e.which === 40) {// if ArrowUp
if (countEmployer > 0 && countEmployer <= liListEmployer.length) {
liPointerEmployer.removeClass('keyboardSelected');
console.log(countEmployer + "plusOne");
liListEmployer.eq(countEmployer).addClass('keyboardSelected');
liPointerEmployer = liListEmployer.eq(countEmployer);
if (countEmployer > 4) {
//ScrollDown
mixContainerAndSerchResultEmployer.animate({
scrollTop: $(liPointerEmployer).offset().top - containerEmployer.offset().top + containerEmployer.scrollTop()
},
50);
}
countEmployer += 1;
} else {
liListEmployer.eq(0).addClass("keyboardSelected");
liPointerEmployer = liListEmployer.eq(0);
countEmployer = 1;
}
} else if (e.which === 38) {//if ArrowDown
if (countEmployer > 0 && countEmployer <= liListEmployer.length) {
liPointerEmployer.removeClass('keyboardSelected');
countEmployer -= 1;
liListEmployer.eq(countEmployer).addClass('keyboardSelected');
liPointerEmployer = liListEmployer.eq(countEmployer);
//ScrollUp
mixContainerAndSerchResultEmployer.animate({
scrollTop: $(liPointerEmployer).offset().top - containerEmployer.offset().top + containerEmployer.scrollTop()
},
50);
}
}
});
$("#empSearchEmployer").keypress(function (event) {
$(".form-control").removeClass("selectedOption");
$("#empSearch").val('');
$("#empSearchWorkshop").val('');
$("#searchModel_WorkshopId").val("0");
$("#searchModel_WorkShopName").val('');
// $("#SearchModel_Id").val("0");
// $("#SearchModel_EmployeeName").val('');
if (event.keyCode === 13) {
if ($("#searchModel_EmployerId").val() == "0")
$("#searchModel_EmployerName").val($("#empSearchEmployer").val())
$('.btn-search1').click();
}
});
</script>
}

View File

@@ -25,7 +25,7 @@
<div class="modal__content">
<input type="hidden" asp-for="@Model.InsuranceListId" />
<div class="card-action">
<div class="card-action @(Model.Inspection.Type == InsuranceListInspectionType.None ? "" : "card-action__success")" style="pointer-events: @(Model.ConfirmSentList ? "none" : "auto")">
<div class="card-action__title">بازرسی</div>
<div class="card-action__container">
@@ -77,7 +77,7 @@
</div>
</div>
<div class="card-action">
<div class="card-action @(Model.Debt.Type == InsuranceListDebtType.None ? "" : "card-action__success")" style="pointer-events: @(Model.ConfirmSentList ? "none" : "auto")">
<div class="card-action__title">بدهی</div>
<div class="card-action__container">
@@ -137,8 +137,8 @@
</div>
</div>
</div>
<div class="card-action">
<div class="card-action @(Model.Approval.ApprovalStatus == InsuranceListEmployerApprovalStatus.WrittenApproval ? "card-action__success" : "")" style="pointer-events: @(Model.ConfirmSentList ? "none" : "auto")">
<div class="card-action__title">تاییده کارفرما</div>
<div class="card-action__container">
@@ -211,6 +211,5 @@
<script>
var antiForgeryToken = $(`@Html.AntiForgeryToken()`).val();
var saveOperationsModal = "@Url.Page("./Index", "SaveOperationsModal")";
</script>
<script src="~/assetsadmin/page/insurancelist/js/operationsmodal.js?ver=@adminVersion"></script>

View File

@@ -25,7 +25,6 @@
<script src="~/assetsadminnew/assets/js/jquery-3.7.1.min.js"></script>
@RenderSection("Styles", false)
</head>
@@ -59,8 +58,8 @@
<script src="~/AdminTheme/assets/notifications/notify.min.js"></script>
<script src="~/AdminTheme/assets/notifications/notify-metro.js"></script>
<script src="~/AdminTheme/assets/notifications/notifications.js"></script>
<script src="~/assetsadminnew/sidbar_adminnew/sidebar_admin.js"></script>
<script src="~/assetsadminnew/sidbar_adminnew/sidebar_admin.js"></script>
<script src="~/assetsclient/js/services/ajax-service.js?ver=@Version.AdminVersion"></script>
@* <script src="~/assetsclient/js/smooth-scrollbar.js"></script> *@

View File

@@ -1,4 +1,5 @@
var pageIndexJs = 0;
var hasMoreData = true;
var isMobile = window.matchMedia('(max-width: 768px)').matches;
var overlay = document.querySelector('.offcanvas-overlay');
@@ -46,8 +47,8 @@ $(document).ready(function () {
"fixed-salary"
]);
paramsUrl['year'] !== "" && $("#searchModel_Year").val(paramsUrl['year']).trigger("change");
paramsUrl['month'] !== "" && $("#searchModel_Month").val(paramsUrl['month']).trigger("change");
paramsUrl['year'] !== "" ? $("#searchModel_Year").val(paramsUrl['year']).trigger("change") : $("#searchModel_Year").val(year).trigger("change");
paramsUrl['month'] !== "" ? $("#searchModel_Month").val(paramsUrl['month']).trigger("change") : $("#searchModel_Month").val(month).trigger("change");
$("#searchModel_WorkShopCode").val(paramsUrl['workshop-code']);
$("#searchModel_EmployerId").val(paramsUrl['employee-id']);
paramsUrl['employee-id'] !== "" && $("#empSearchEmployer").val(paramsUrl['employee-name']).addClass('selectedOption');
@@ -55,7 +56,7 @@ $(document).ready(function () {
paramsUrl['workshop-id'] !== "" && $("#empSearchWorkshop").val(paramsUrl['workshop-name']).addClass('selectedOption');
paramsUrl['type-of-insurance'] === "" ? $("#searchModel_TypeOfInsuranceSend").val("0").trigger("change") : $("#searchModel_TypeOfInsuranceSend").val(paramsUrl['type-of-insurance']).trigger("change");
$("#searchModel_Branch").val(paramsUrl['branch']);
paramsUrl['fixed-salary'] === "" ? $("#searchModel_City").val(0).trigger("change") : $("#searchModel_City").val(paramsUrl['city']).trigger("change");
paramsUrl['city'] === "" ? $("#searchModel_City").val(0).trigger("change") : $("#searchModel_City").val(paramsUrl['city']).trigger("change");
paramsUrl['fixed-salary'] === "" ? $("#searchModel_FixedSalary").val(0).trigger("change") : $("#searchModel_FixedSalary").val(paramsUrl['fixed-salary']).trigger("change");
var isAnyNotEmpty = false;
@@ -99,6 +100,7 @@ $(document).ready(function () {
var statusValue = $(this).prop('value');
pageIndexJs = 0;
hasMoreData = true;
$("#load-data-html-mobile").html('');
$('#load-data-html').html('');
@@ -138,6 +140,7 @@ $(document).ready(function () {
var activeValue = $activeTab.val();
pageIndexJs = 0;
hasMoreData = true;
$("#load-data-html-mobile").html('');
$('#load-data-html').html('');
loadGetTabCounts();
@@ -234,7 +237,7 @@ function loadSearchNew(status = 0) {
var b = pageIndexJs % 30;
if (b === 0) {
if (b === 0 && hasMoreData) {
ajaxService.get(ajaxSearchNewUrl, searchModel, false)
.then(response => {
@@ -435,16 +438,20 @@ function loadSearchNew(status = 0) {
pageIndexJs++;
});
} else {
const emptyHtml = `
var emptyHtml = ``;
if (pageIndexJs === responseData.length) {
emptyHtml = `
<div class="text-center bg-white card py-5 d-flex align-items-center justify-content-center">
<div class="tw-w-full text-center">
<img src="/assetsclient/images/empty.png" alt="" class="img-fluid" style="margin: auto;" />
<h5>اطلاعاتی وجود ندارد.</h5>
</div>
</div>`;
}
html += emptyHtml;
htmlMobile += emptyHtml;
hasMoreData = false;
}
$("#load-data-html").append(html);
@@ -667,6 +674,7 @@ function removeInsuranceList(id, pathDSKKAR00, pathDSKWOR00) {
var activeValue = $activeTab.val();
pageIndexJs = 0;
hasMoreData = true;
$("#load-data-html-mobile").html('');
$('#load-data-html').html('');
loadGetTabCounts();
@@ -674,4 +682,317 @@ function removeInsuranceList(id, pathDSKKAR00, pathDSKWOR00) {
});
}
});
}
}
//----------------------------------------------------------------------------------- Workshop -----
var containerWorkshop = $('#empWorkshop');
var searchBoxWorkshop = $('#empSearchWorkshop');
var hiddenInputValWorkshop = $('.sendWorkshopId');
var searchResulWorkshop = $('.searchResultWorkshop');
var mixContainerAndSerchResultWorkshop = $('#empWorkshop , .searchResultWorkshop');
containerWorkshop.hide();
var liListWorkshop;
var liPointerWorkshop;
let countWorkshop = 0;
//close search Employee when click on body
$(document).on('click', function (event) {
if (!$(event.target).closest(containerWorkshop).length) {
containerWorkshop.hide();
}
});
//select option by mouse
function selectItemWorkshop(id, employeeFullName) {
searchBoxWorkshop.val(employeeFullName);
hiddenInputValWorkshop.val(id);
containerWorkshop.hide();
searchBoxWorkshop.addClass("selectedOption");
};
//search by Ajax
searchBoxWorkshop.on('keyup keypress', function (e) {
$(".form-control").removeClass("selectedOption");
//----clean Employer------
$("#searchModel_EmployerName").val('');
$("#searchModel_EmployerId").val('0');
//----clean Employee------
// $("#SearchModel_EmployeeName").val('');
// $("#SearchModel_Id").val('0');
if ($(this).val() == '') {
}
//stop submit form with enter
var keyCode = e.keyCode || e.which;
if (keyCode === 13) {
e.preventDefault();
if (countWorkshop > 0 && countWorkshop <= liListWorkshop.length) {
liPointerWorkshop.click();
}
return false;
}
searchBoxWorkshop.removeClass("selectedOption");
let searchText = $(this).val();
hiddenInputValWorkshop.val(0);
if (searchText.length > 1) {
$.ajax({
async: false,
contentType: 'charset=utf-8',
dataType: 'json',
type: 'GET',
url: workshopNameUrl,
data: { "searchText": searchText },
headers: { "RequestVerificationToken": antiForgeryToken },
success: function (response) {
$(".opt").remove();
if (response.mylist.length > 0) {//result Founded
// console.log(response.mylist);
$(".noResult").remove();
containerWorkshop.show();
$.each(response.mylist,
function (i, item) {
let li = `<li data-workshopId="${item.id}" class="btn btn-block opt" onclick="selectItemWorkshop(${item.id}, '${item.workshopFullName}');" >`;
li = li + '<span class="name-right" > ' + item.workshopFullName + ' </span><span class="line">|</span> <span class="code-left" > ' + item.archiveCode + ' </span></li> ';
searchResulWorkshop.append(li);
});
} else {//result NotFounded
$(".noResult").remove();
containerWorkshop.show();
let noResult = `<li class="btn btn-block noResult">نتیجه ای یافت نشد</li>`;
searchResulWorkshop.append(noResult);
}
}// endOfSuccess
}); //endOfAjax
} else {
containerWorkshop.hide();
countWorkshop = 0;
}
//keyboard Arrow Key Select And Enter
liListWorkshop = $('#empWorkshop ul li');
mixContainerAndSerchResultWorkshop.animate({
scrollTop: $(liListWorkshop.eq(0)).offset().top - containerWorkshop.offset().top + containerWorkshop.scrollTop()
},
50);
if (e.which === 40) {// if ArrowUp
if (countWorkshop > 0 && countWorkshop <= liListWorkshop.length) {
liPointerWorkshop.removeClass('keyboardSelected');
console.log(countWorkshop + "plusOne");
liListWorkshop.eq(countWorkshop).addClass('keyboardSelected');
liPointerWorkshop = liListWorkshop.eq(countWorkshop);
if (countWorkshop > 4) {
//ScrollDown
mixContainerAndSerchResultWorkshop.animate({
scrollTop: $(liPointerWorkshop).offset().top - containerWorkshop.offset().top + containerWorkshop.scrollTop()
},
50);
}
countWorkshop += 1;
} else {
liListWorkshop.eq(0).addClass("keyboardSelected");
liPointerWorkshop = liListWorkshop.eq(0);
countWorkshop = 1;
}
} else if (e.which === 38) {//if ArrowDown
if (countWorkshop > 0 && countWorkshop <= liListWorkshop.length) {
liPointerWorkshop.removeClass('keyboardSelected');
countWorkshop -= 1;
liListWorkshop.eq(countWorkshop).addClass('keyboardSelected');
liPointerWorkshop = liListWorkshop.eq(countWorkshop);
//ScrollUp
mixContainerAndSerchResultWorkshop.animate({
scrollTop: $(liPointerWorkshop).offset().top - containerWorkshop.offset().top + containerWorkshop.scrollTop()
}, 50);
}
}
});
$("#empSearchWorkshop").keypress(function (event) {
$(".form-control").removeClass("selectedOption");
$("#empSearchEmployer").val('');
$("#empSearch").val('');
$("#searchModel_EmployerName").val('');
$("#searchModel_EmployerId").val('');
// $("#SearchModel_Id").val("0");
// $("#SearchModel_EmployeeName").val('');
if (event.keyCode === 13) {
if ($("#searchModel_WorkshopId").val() == "0")
$("#searchModel_WorkShopName").val($("#empSearchWorkshop").val())
$('.btn-search1').click();
}
});
//----------------------------------------------------------------------------------- Employer -----
var containerEmployer = $('#empEmployer');
var searchBoxEmployer = $('#empSearchEmployer');
var hiddenInputValEmployer = $('.sendEmployerId');
var searchResulEmployer = $('.searchResultEmployer');
var mixContainerAndSerchResultEmployer = $('#empEmployer , .searchResultEmployer');
containerEmployer.hide();
var liListEmployer;
var liPointerEmployer;
let countEmployer = 0;
//close search Employee when click on body
$(document).on('click', function (event) {
if (!$(event.target).closest(containerEmployer).length) {
containerEmployer.hide();
}
});
//select option by mouse
function selectItemEmployer(id, employeeFullName) {
searchBoxEmployer.val(employeeFullName);
hiddenInputValEmployer.val(id);
containerEmployer.hide();
searchBoxEmployer.addClass("selectedOption");
};
//search by Ajax
searchBoxEmployer.on('keyup keypress', function (e) {
$(".form-control").removeClass("selectedOption");
//----clean Workshop------
$("#empSearchWorkshop").val('');
$("#searchModel_WorkShopName").val('');
//----clean Employee------
// $("#SearchModel_EmployeeName").val('');
// $("#SearchModel_Id").val('0');
if ($(this).val() == '') {
$("#searchModel_EmployerId").val("0");
$("#searchModel_EmployerName").val('');
}
//stop submit form with enter
var keyCode = e.keyCode || e.which;
if (keyCode === 13) {
e.preventDefault();
if (countEmployer > 0 && countEmployer <= liListEmployer.length) {
liPointerEmployer.click();
}
return false;
}
searchBoxEmployer.removeClass("selectedOption");
let searchText = $(this).val();
hiddenInputValEmployer.val(0);
if (searchText.length > 1) {
$.ajax({
async: false,
contentType: 'charset=utf-8',
dataType: 'json',
type: 'GET',
url: employerNameUrl,
data: { "searchText": searchText },
headers: { "RequestVerificationToken": antiForgeryToken },
success: function (response) {
$(".opt").remove();
if (response.mylist.length > 0) {//result Founded
console.log(response.mylist);
$(".noResult").remove();
containerEmployer.show();
$.each(response.mylist,
function (i, item) {
let li = `<li data-employeeId="${item.id}" class="btn btn-block opt" onclick="selectItemEmployer(${item.id}, '${item.lName}');" >${item.lName}</li>`;
searchResulEmployer.append(li);
});
} else {//result NotFounded
$(".noResult").remove();
containerEmployer.show();
let noResult = `<li class="btn btn-block noResult">نتیجه ای یافت نشد</li>`;
searchResulEmployer.append(noResult);
}
}// endOfSuccess
}); //endOfAjax
} else {
containerEmployer.hide();
countEmployer = 0;
}
//keyboard Arrow Key Select And Enter
liListEmployer = $('#empEmployer ul li');
mixContainerAndSerchResultEmployer.animate({
scrollTop: $(liListEmployer.eq(0)).offset().top - containerEmployer.offset().top + containerEmployer.scrollTop()
},
50);
if (e.which === 40) {// if ArrowUp
if (countEmployer > 0 && countEmployer <= liListEmployer.length) {
liPointerEmployer.removeClass('keyboardSelected');
console.log(countEmployer + "plusOne");
liListEmployer.eq(countEmployer).addClass('keyboardSelected');
liPointerEmployer = liListEmployer.eq(countEmployer);
if (countEmployer > 4) {
//ScrollDown
mixContainerAndSerchResultEmployer.animate({
scrollTop: $(liPointerEmployer).offset().top - containerEmployer.offset().top + containerEmployer.scrollTop()
},
50);
}
countEmployer += 1;
} else {
liListEmployer.eq(0).addClass("keyboardSelected");
liPointerEmployer = liListEmployer.eq(0);
countEmployer = 1;
}
} else if (e.which === 38) {//if ArrowDown
if (countEmployer > 0 && countEmployer <= liListEmployer.length) {
liPointerEmployer.removeClass('keyboardSelected');
countEmployer -= 1;
liListEmployer.eq(countEmployer).addClass('keyboardSelected');
liPointerEmployer = liListEmployer.eq(countEmployer);
//ScrollUp
mixContainerAndSerchResultEmployer.animate({
scrollTop: $(liPointerEmployer).offset().top - containerEmployer.offset().top + containerEmployer.scrollTop()
},
50);
}
}
});
$("#empSearchEmployer").keypress(function (event) {
$(".form-control").removeClass("selectedOption");
$("#empSearch").val('');
$("#empSearchWorkshop").val('');
$("#searchModel_WorkshopId").val("0");
$("#searchModel_WorkShopName").val('');
// $("#SearchModel_Id").val("0");
// $("#SearchModel_EmployeeName").val('');
if (event.keyCode === 13) {
if ($("#searchModel_EmployerId").val() == "0")
$("#searchModel_EmployerName").val($("#empSearchEmployer").val())
$('.btn-search1').click();
}
});

View File

@@ -32,7 +32,7 @@
const isWritten = $card.find('#Written').is(':checked');
const isVerbal = $card.find('#Verbal').is(':checked');
const description = $card.find('#description').val()?.trim() || '';
const verbalValid = isVerbal && description.length >= 10;
const verbalValid = isVerbal && description.length >= 15;
const writtenValid = isWritten;
if (writtenValid || verbalValid) {
@@ -56,7 +56,7 @@
const $fileInput = $card.find('.card-action__upload input[type="file"]');
const $mediaId = $card.find('.card-action__upload input.mediaIds');
let fileSelected = true;
if ($fileInput.length > 0 && $mediaId.length > 0) {
const mediaIdVal = parseInt($mediaId.val() || "0");
@@ -177,67 +177,156 @@ function formatNumber(input) {
async function SaveData() {
const form = document.querySelector("#create-form");
const formData = new FormData(form);
const checkboxesInspection = form.querySelectorAll('input[name="Inspection.Type"]:checked');
if (checkboxesInspection.length === 0) {
formData.append("Inspection.Type", "0");
} else {
var lastInspectionDate = $('#last-inspection-date');
if (lastInspectionDate.val() === "") {
errorInput(lastInspectionDate);
$.Notification.autoHideNotify('error', 'top right', "لطفا تاریخ آخرین بازرسی را وارد کنید.");
return false;
}
//var checkboxesInspection = form.querySelectorAll('input[name="Inspection.Type"]:checked');
//var lastInspectionDate = $('#last-inspection-date');
//var inspectionFileMediaId = $('#Inspection_InspectionFileMediaId');
//var inspectionFile = $('input[name="Inspection.InspectionFile"]');
var inspectionFileMediaId = $('#Inspection_InspectionFileMediaId');
if (inspectionFileMediaId.val() === 0) {
var inspectionFile = $('input[name="Inspection.InspectionFile"]');
if (inspectionFile.get(0).files.length === 0) {
errorInput($('#card-inspection'));
$.Notification.autoHideNotify('error', 'top right', "لطفا فایل بازرسی را انتخاب کنید.");
//if (checkboxesInspection.length === 0) {
// if (lastInspectionDate.val() !== "") {
// $.Notification.autoHideNotify('error', 'top right', "خطا", "لطفا نوع بازرسی را انتخاب کنید.");
// return false;
// }
// if (inspectionFile.get(0).files.length !== 0) {
// $.Notification.autoHideNotify('error', 'top right', "خطا", "لطفا نوع بازرسی را انتخاب کنید.");
// return false;
// }
// formData.append("Inspection.Type", "0");
//} else {
// if (lastInspectionDate.val() === "") {
// errorInput(lastInspectionDate);
// $.Notification.autoHideNotify('error', 'top right', "لطفا تاریخ آخرین بازرسی را وارد کنید.");
// return false;
// }
// if (inspectionFileMediaId.val() === 0) {
// if (inspectionFile.get(0).files.length === 0) {
// errorInput($('#card-inspection'));
// $.Notification.autoHideNotify('error', 'top right', "لطفا فایل بازرسی را انتخاب کنید.");
// return false;
// }
// }
//}
//var checkboxesDebt = form.querySelectorAll('input[name="Debt.Type"]:checked');
//var debtAmount = $('#Debt_Amount');
//var debtDate = $('#Debt_DebtDate');
//var debtFileMediaId = $('#Debt_DebtFileMediaId');
//var debtFile = $('input[name="Debt.DebtFile"]');
//if (checkboxesDebt.length === 0) {
// if (debtDate.val() !== "") {
// $.Notification.autoHideNotify('error', 'top right', "خطا", "لطفا نوع بدهی را انتخاب کنید.");
// return false;
// }
// if (debtAmount.val() !== "") {
// $.Notification.autoHideNotify('error', 'top right', "خطا", "لطفا نوع بدهی را انتخاب کنید.");
// return false;
// }
// if (debtFile.get(0).files.length !== 0) {
// $.Notification.autoHideNotify('error', 'top right', "خطا", "لطفا نوع بدهی را انتخاب کنید.");
// return false;
// }
// formData.append("Debt.Type", "0");
//} else {
// if (debtDate.val() === "") {
// errorInput(debtDate);
// $.Notification.autoHideNotify('error', 'top right', "خطا", "لطفا تاریخ بدهی را وارد کنید.");
// return false;
// }
// if (debtAmount.val() === "") {
// errorInput(debtAmount);
// $.Notification.autoHideNotify('error', 'top right', "خطا", "لطفا مبلغ بدهی را وارد کنید.");
// return false;
// }
// if (debtFileMediaId.val() === 0) {
// if (debtFile.get(0).files.length === 0) {
// errorInput($('#card-debt'));
// $.Notification.autoHideNotify('error', 'top right', "خطا", "لطفا فایل بدهی را انتخاب کنید.");
// return false;
// }
// }
//}
function validateSection({ typeCheckboxes, dateInput, amountInput, fileInput, fileMediaIdInput, sectionName, typeFieldName, defaultTypeValue = "0", sectionCard }) {
const isTypeChecked = typeCheckboxes.length > 0;
const hasDate = dateInput.val() !== "";
const hasAmount = amountInput ? amountInput.val() !== "" : false;
const hasFile = fileInput.get(0).files.length !== 0;
const hasMediaId = fileMediaIdInput.val() !== "0";
if (!isTypeChecked) {
if (hasDate || hasAmount || hasFile) {
$.Notification.autoHideNotify('error', 'top right', "خطا", `لطفا نوع ${sectionName} را انتخاب کنید.`);
return false;
}
formData.append(typeFieldName, defaultTypeValue);
} else {
if (!hasDate) {
errorInput(dateInput);
$.Notification.autoHideNotify('error', 'top right', `لطفا تاریخ ${sectionName} را وارد کنید.`);
return false;
}
if (amountInput && !hasAmount) {
errorInput(amountInput);
$.Notification.autoHideNotify('error', 'top right', `لطفا مبلغ ${sectionName} را وارد کنید.`);
return false;
}
if (!hasMediaId && !hasFile) {
errorInput(sectionCard);
$.Notification.autoHideNotify('error', 'top right', `لطفا فایل ${sectionName} را انتخاب کنید.`);
return false;
}
}
return true;
}
const checkboxesDebt = form.querySelectorAll('input[name="Debt.Type"]:checked');
if (checkboxesDebt.length === 0) {
formData.append("Debt.Type", "0");
} else {
var debtDate = $('#Debt_DebtDate');
if (debtDate.val() === "") {
errorInput(debtDate);
$.Notification.autoHideNotify('error', 'top right', "لطفا تاریخ بدهی را وارد کنید.");
return false;
}
var isInspectionValid = validateSection({
typeCheckboxes: form.querySelectorAll('input[name="Inspection.Type"]:checked'),
dateInput: $('#last-inspection-date'),
amountInput: null,
fileInput: $('input[name="Inspection.InspectionFile"]'),
fileMediaIdInput: $('#Inspection_InspectionFileMediaId'),
sectionName: 'بازرسی',
typeFieldName: 'Inspection.Type',
sectionCard: $('#card-inspection')
});
var debtAmount = $('#Debt_Amount');
if (debtAmount.val() === "") {
errorInput(debtAmount);
$.Notification.autoHideNotify('error', 'top right', "لطفا مبلغ بدهی را وارد کنید.");
return false;
}
// بدهی
var isDebtValid = validateSection({
typeCheckboxes: form.querySelectorAll('input[name="Debt.Type"]:checked'),
dateInput: $('#Debt_DebtDate'),
amountInput: $('#Debt_Amount'),
fileInput: $('input[name="Debt.DebtFile"]'),
fileMediaIdInput: $('#Debt_DebtFileMediaId'),
sectionName: 'بدهی',
typeFieldName: 'Debt.Type',
sectionCard: $('#card-debt')
});
var debtFileMediaId = $('#Debt_DebtFileMediaId');
if (debtFileMediaId.val() === 0) {
var debtFile = $('input[name="Debt.DebtFile"]');
if (debtFile.get(0).files.length === 0) {
errorInput($('#card-debt'));
$.Notification.autoHideNotify('error', 'top right', "لطفا فایل بدهی را انتخاب کنید.");
return false;
}
}
}
if (!isInspectionValid || !isDebtValid) return false;
const checkboxesApproval = form.querySelectorAll('input[name="Approval.ApprovalStatus"]:checked');
var checkboxesApproval = form.querySelectorAll('input[name="Approval.ApprovalStatus"]:checked');
if (checkboxesApproval.length === 0) {
formData.append("Approval.ApprovalStatus", "0");
} else {
const description = $('#description').val()?.trim() || '';
if (description.length < 10) {
$.Notification.autoHideNotify('error', 'top right', "توضیحات باید حداقل ۱۰ کاراکتر باشد.");
return false;
if ($('input[name="Approval.ApprovalStatus"]').val() === "1") {
const description = $('#description').val()?.trim() || '';
if (description.length < 15) {
$.Notification.autoHideNotify('error', 'top right', "خطا", "توضیحات باید حداقل ۱۵ کاراکتر باشد.");
return false;
}
}
}
@@ -251,10 +340,11 @@ async function SaveData() {
try {
var response = await ajaxService.post(saveOperationsModal, formData, true);
if (response.success) {
$.Notification.autoHideNotify('success', 'top right', response.message);
$.Notification.autoHideNotify('success', 'top right', "موفق", response.message);
// Reload Function
pageIndexJs = 0;
hasMoreData = true;
var $activeTab = $('.tab-bar__tab--active');
var activeValue = $activeTab.val();
$('#load-data-html').html('');
@@ -262,7 +352,7 @@ async function SaveData() {
loadSearchNew(activeValue);
$("#MainModal").modal('hide');
} else {
$.Notification.autoHideNotify('error', 'top right', response.message);
$.Notification.autoHideNotify('error', 'top right', "خطا", response.message);
}
} catch (e) {

View File

@@ -13,19 +13,30 @@
let rawMonth = value.slice(4, 6);
let rawDay = value.slice(6, 8);
//let month = "";
//if (rawMonth.length === 1) {
// const m = parseInt(rawMonth);
// if (m >= 2 && m <= 9) {
// month = "0" + m;
// } else if (m === 1) {
// month = "1";
// }
//} else if (rawMonth.length === 2) {
// let m = parseInt(rawMonth);
// if (isNaN(m)) {
// month = "";
// } else {
// if (m > 12) m = 12;
// month = m.toString().padStart(2, "0");
// }
//}
let month = "";
if (rawMonth.length === 1) {
const m = parseInt(rawMonth);
if (m >= 2 && m <= 9) {
month = "0" + m;
} else if (m === 1) {
month = "1";
}
month = rawMonth;
} else if (rawMonth.length === 2) {
let m = parseInt(rawMonth);
if (isNaN(m)) {
month = "";
} else {
if (!isNaN(m)) {
if (m < 1) m = 1;
if (m > 12) m = 12;
month = m.toString().padStart(2, "0");
}

View File

@@ -9,6 +9,8 @@
if (value !== undefined && value !== null && value !== "" && value !== "0") {
this.params.set(key, value);
this.hasAnyFilter = true;
} else {
this.params.delete(key);
}
return this;
}

File diff suppressed because one or more lines are too long