Files
Backend-Api/ServiceHost/Areas/Admin/Pages/Company/InsuranceList/Index.cshtml
2025-01-18 15:46:40 +03:30

668 lines
31 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
@page
@model ServiceHost.Areas.Admin.Pages.Company.InsuranceList.IndexModel
@{
Layout = "Shared/_AdminLayout";
ViewData["title"] = "بیمه";
var selctedOption = "selectedOption";
}
@*select2 css start*@
<style>
::-webkit-scrollbar {
width: 8px;
}
::-webkit-scrollbar-track {
background: #dfdfdf;
border-radius: 5px;
}
::-webkit-scrollbar-thumb {
background: #bed3ca;
border-radius: 5px;
}
.opt {
background-color: #d3e7ff;
border-radius: 10px;
text-align: right;
padding: 2px 5px;
text-overflow: ellipsis;
overflow-x: hidden;
width: 100%;
}
.noResult {
background-color: #c0dcfd;
border-radius: 10px;
text-align: right;
padding: 2px 5px;
}
.opt:hover, .noResult:hover {
background-color: #afd0f7 !important;
color: #343434 !important;
}
.selectDiv {
position: relative;
z-index: 2;
border-radius: 10px;
min-height: 20px;
max-height: 190px;
overflow: hidden scroll;
width: 100%;
background-color: rgb(255 255 255);
display: block;
box-shadow: 0px -1px 12px 0px rgba(0,0,0,.16), 2px 1px 10px 0 rgba(0,0,0,.12);
}
.selectedOption {
color: #424242 !important;
background-color: #cee4fb !important;
}
.keyboardSelected {
color: #424242 !important;
background-color: #b1d5ff !important;
}
.bgGray, .bgGray:hover {
background-color: #b5b5b5 !important;
color: #646464;
}
a.disabled {
pointer-events: none;
cursor: default;
background-color: grey !important;
border-color: grey !important;
}
</style>
<link href="@Href("~/admintheme/css/insurance-list.css")" rel="stylesheet" />
<div class="row">
<div class="col-sm-12 m-r-10">
<div class="printBtns" style="display: none;">
<button id="closeModal" type="button" class="btn btn-warning btn-rounded waves-effect waves-light m-b-10" data-dismiss="modal" style="float: left">بستن</button>
<button id="btnPrint2" type="button" class="btn btn-success btn-rounded waves-effect waves-light" style="float: left">پرینت </button>
</div>
<p class="">
@* pull-right *@
<a id="btnPopModal" href="#showmodal=@Url.Page("/Company/InsuranceList/Index", "Create")" class="btn btn-success btn-rounded waves-effect waves-light m-b-5 " style=" background-color: #f5f5f5; border-color: #0f9500; font-family: 'Web_Yekan' !important; color: #0f9500 !important; margin-right: 10px "> <i class="fa fa-user-plus" style="padding-left: 3px; font-size: 14px; color: #0f9500 !important "></i> ایجاد لیست بیمه </a>
</p>
</div>
<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 collapse in ">
<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>
</div>
</div>
@section Script
{
<script src="~/AdminTheme/assets/js/site.js"></script>
<script src="~/admintheme/js/admin.js" ></script>
<script src="~/admintheme/js/jquery.mask_1.14.16.min.js"></script>
<script src="~/adminTheme/assets/datatables/jquery.dataTables.min.js"></script>
<script src="~/adminTheme/assets/datatables/dataTables.bootstrap.js"></script>
<script src="~/lib/jquery-ajax-unobtrusive/jquery.unobtrusive-ajax.min.js"></script>
<script language="javascript" src="~/AdminTheme/js/city.js"></script>
}
<script>
$(document).ready(function () {
$("#searchModel_Month").val('@Model.BeforCurrentMonth_');
$('.btn-search1').click();
$('#datatable').dataTable({
"lengthMenu": [[25, 10, 50, 100, -1], [25, 10, 50, 100, "All"]]
});
});
$('.btn-search1').on('click', function () {
$("#waiting").show();
var myTable = $("#datatable");
myTable.remove();
if ($("#searchModel_EmployerId").val() == "0" || $("#searchModel_EmployerId").val() == "")
$("#searchModel_EmployerName").val($("#empSearchEmployer").val());
if ($("#searchModel_WorkshopId").val() == "0" || $("#searchModel_WorkshopId").val() == "")
$("#searchModel_WorkShopName").val($("#empSearchWorkshop").val());
$("#search-theme-form").submit();
});
function removeSearch()
{
var month = '@Model.BeforCurrentMonth_';
console.log(month);
$("#waiting").show();
var myTable = $("#datatable");
myTable.remove();
$("#searchModel_WorkshopId").val("0");
$("#searchModel_EmployerId").val("0");
$("#searchModel_WorkShopName").val('');
$("#searchModel_EmployerName").val('');
$(".form-control").val('');
$("#searchModel_Year").val(@Model.CurrentYear_);
$("#searchModel_Month").val(month);
$("#searchModel_TypeOfInsuranceSend").val(0);
$("#searchModel_City").val(0);
$("#searchModel_FixedSalary").val('لیست مقطوع');
$("#search-theme-form").submit();
}
$('#search-theme-form').submit(function(e){
e.preventDefault();
e.stopImmediatePropagation();
$.ajax({
type: "POST",
url: $(this).attr( 'action' ),
data: $(this).serialize(),
success: function (response) {
console.log(response);
if (response.isSuccedded == true) {
// $.Notification.autoHideNotify('success', 'top right', response.message);
}
else{
$.Notification.autoHideNotify('error', 'top right', response.message);
}
}
});
return false;
});
</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>