Files
Backend-Api/ServiceHost/Areas/Admin/Pages/Accounts/Account/AccountLeftWork.cshtml
2024-09-12 07:10:34 +03:30

1171 lines
34 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.
@model AccountManagement.Application.Contracts.Account.AccountLeftWorkViewModel
@Html.AntiForgeryToken()
@{
<style>
.modal-dialog {
width: 60% !important;
}
.box{
background-color: #cee8d9;
align-items: center;
padding: 7px;
border-radius: 10px;
}
.box2{
background-color: #d8f1f1;
align-items: center;
padding: 7px;
border-radius: 10px;
}
.newWorkshop {
background-color: #bdf7c5;
align-items: center;
padding: 7px;
border-radius: 10px;
}
.deactiveWorkshop {
background-color: rgb(195,195,195);
align-items: center;
padding: 7px;
border-radius: 10px;
}
.mess {
height: 580px;
overflow-y: scroll;
background: aliceblue;
box-shadow: 0px 1px 15px 0 #b4c0b2;
border-radius: 20px;
margin-bottom: 20px;
padding: 15px;
font-size: 12px;
}
.date{
background-color: #fafafa;
color: rgba(0, 0, 0, 0.6);
font-size: 14px;
border: 1px solid #c7c7c7 !important;
-webkit-border-radius: 2px;
-moz-border-radius: 2px;
border-radius: 10px;
-webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
-moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
border: 1px solid #eee;
box-shadow: none;
text-align : center;
width: 98%
}
.select {
background-color: #fafafa;
color: rgba(0, 0, 0, 0.6);
font-size: 14px;
border: 1px solid #c7c7c7 !important;
-webkit-border-radius: 2px;
-moz-border-radius: 2px;
border-radius: 10px;
-webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
-moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
border: 1px solid #eee;
box-shadow: none;
text-align: center;
}
.mess::-webkit-scrollbar {
width: 6px;
}
.mess::-webkit-scrollbar-track {
background-color: #8bd8ed42;
border-radius: 12px;
}
.mess::-webkit-scrollbar-thumb {
background-color: #3159adb8;
border-radius: 12px;
}
.personleName {
position: fixed;
top: 7px;
right: 4%;
background-color: #d4d9d9;
padding: 0px 10px;
border-radius: 5px;
}
.mess::-webkit-scrollbar-thumb:hover {
background-color: #aaa;
}
.errored {
animation: shake 300ms;
box-shadow: inset 0 0 2px #eb3434, 0 0 5px #eb3434 !important;
border: 1px solid #eb3434 !important;
}
.checkbox-wrapper-10 {
position: relative;
right: 22%;
}
@@media screen and (max-width: 1920px) {
.modal-dialog {
width: 60% !important;
}
.checkbox-wrapper-10 {
position: relative;
right: 22%;
}
}
@@media screen and (max-width: 1440px) {
.modal-dialog {
width: 60% !important;
}
.checkbox-wrapper-10 {
position: relative;
right: 22%;
}
}
@@media screen and (max-width: 1360px) {
.modal-dialog {
width: 70% !important;
}
.personleName {
position: fixed;
top: 7px;
right: 5%;
background-color: #d4d9d9;
padding: 0px 10px;
border-radius: 5px;
}
.checkbox-wrapper-10 {
position: relative;
right: 18%;
}
}
@@media screen and (max-width: 992px) {
.modal-dialog {
width: 90% !important;
}
.personleName {
position: fixed;
top: 7px;
right: 5%;
background-color: #d4d9d9;
padding: 0px 10px;
border-radius: 5px;
}
.checkbox-wrapper-10 {
position: relative;
right: 15%;
}
}
@@media screen and (max-width: 767px) {
.modal-dialog {
width: 90% !important;
}
.workshopName {
margin-top: 10px;
background: #deebe3;
border-radius: 5px;
}
.personleName {
position: fixed;
top: 7px;
right: 12%;
background-color: #d4d9d9;
padding: 0px 10px;
border-radius: 5px;
}
.checkbox-wrapper-10 {
position: inherit;
}
}
</style>
<style>
.checkbox-wrapper-26 * {
-webkit-tap-highlight-color: transparent;
outline: none;
}
.checkbox-wrapper-26 input[type="checkbox"] {
display: none;
}
.checkbox-wrapper-26 label {
--size: 21px;
--shadow: calc(var(--size) * .07) calc(var(--size) * .1);
position: relative;
display: block;
width: var(--size);
height: var(--size);
margin: 0 auto;
background-color: #8db5d7;
border-radius: 50%;
cursor: pointer;
transition: 0.2s ease transform, 0.2s ease background-color, 0.2s ease box-shadow;
overflow: hidden;
z-index: 1;
}
.checkbox-wrapper-26 label:before {
content: "";
position: absolute;
top: 50%;
right: 0;
left: 0;
width: calc(var(--size) * .7);
height: calc(var(--size) * .7);
margin: 0 auto;
background-color: #fff;
transform: translateY(-50%);
border-radius: 50%;
transition: 0.2s ease width, 0.2s ease height;
}
.checkbox-wrapper-26 label:hover:before {
width: calc(var(--size) * .55);
height: calc(var(--size) * .55);
}
.checkbox-wrapper-26 label:active {
transform: scale(0.9);
}
.checkbox-wrapper-26 .tick_mark {
position: absolute;
top: -1px;
right: 0;
left: calc(var(--size) * -.05);
width: calc(var(--size) * .6);
height: calc(var(--size) * .6);
margin: 0 auto;
margin-left: calc(var(--size) * .14);
transform: rotateZ(-40deg);
}
.checkbox-wrapper-26 .tick_mark:before,
.checkbox-wrapper-26 .tick_mark:after {
content: "";
position: absolute;
background-color: #fff;
border-radius: 2px;
opacity: 0;
transition: 0.2s ease transform, 0.2s ease opacity;
}
.checkbox-wrapper-26 .tick_mark:before {
left: 0;
bottom: 0;
width: calc(var(--size) * .1);
height: calc(var(--size) * .3);
box-shadow: -2px 0 5px rgba(0, 0, 0, 0.23);
transform: translateY(calc(var(--size) * -.68));
}
.checkbox-wrapper-26 .tick_mark:after {
left: 0;
bottom: 0;
width: 100%;
height: calc(var(--size) * .1);
box-shadow: 0 3px 5px rgba(0, 0, 0, 0.23);
transform: translateX(calc(var(--size) * .78));
}
.checkbox-wrapper-26 input[type="checkbox"]:checked + label {
background-color: #07d410;
box-shadow: 0 var(--shadow) #92ff97;
}
.checkbox-wrapper-26 input[type="checkbox"]:checked + label:before {
width: 0;
height: 0;
}
.checkbox-wrapper-26 input[type="checkbox"]:checked + label .tick_mark:before,
.checkbox-wrapper-26 input[type="checkbox"]:checked + label .tick_mark:after {
transform: translate(0);
opacity: 1;
}
</style>
<style>
.checkbox-wrapper-10 .tgl {
display: none;
}
.checkbox-wrapper-10 .tgl,
.checkbox-wrapper-10 .tgl:after,
.checkbox-wrapper-10 .tgl:before,
.checkbox-wrapper-10 .tgl *,
.checkbox-wrapper-10 .tgl *:after,
.checkbox-wrapper-10 .tgl *:before,
.checkbox-wrapper-10 .tgl + .tgl-btn {
box-sizing: border-box;
}
.checkbox-wrapper-10 .tgl::-moz-selection,
.checkbox-wrapper-10 .tgl:after::-moz-selection,
.checkbox-wrapper-10 .tgl:before::-moz-selection,
.checkbox-wrapper-10 .tgl *::-moz-selection,
.checkbox-wrapper-10 .tgl *:after::-moz-selection,
.checkbox-wrapper-10 .tgl *:before::-moz-selection,
.checkbox-wrapper-10 .tgl + .tgl-btn::-moz-selection,
.checkbox-wrapper-10 .tgl::selection,
.checkbox-wrapper-10 .tgl:after::selection,
.checkbox-wrapper-10 .tgl:before::selection,
.checkbox-wrapper-10 .tgl *::selection,
.checkbox-wrapper-10 .tgl *:after::selection,
.checkbox-wrapper-10 .tgl *:before::selection,
.checkbox-wrapper-10 .tgl + .tgl-btn::selection {
background: none;
}
.checkbox-wrapper-10 .tgl + .tgl-btn {
outline: 0;
display: block;
width: 4em;
height: 2em;
position: relative;
cursor: pointer;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.checkbox-wrapper-10 .tgl + .tgl-btn:after,
.checkbox-wrapper-10 .tgl + .tgl-btn:before {
position: relative;
display: block;
content: "";
width: 50%;
height: 100%;
}
.checkbox-wrapper-10 .tgl + .tgl-btn:after {
left: 0;
}
.checkbox-wrapper-10 .tgl + .tgl-btn:before {
display: none;
}
.checkbox-wrapper-10 .tgl:checked + .tgl-btn:after {
left: 50%;
}
.checkbox-wrapper-10 .tgl-flip + .tgl-btn {
padding: 2px;
transition: all 0.2s ease;
font-family: sans-serif;
perspective: 100px;
}
.checkbox-wrapper-10 .tgl-flip + .tgl-btn:after,
.checkbox-wrapper-10 .tgl-flip + .tgl-btn:before {
display: inline-block;
transition: all 0.4s ease;
width: 100%;
text-align: center;
position: absolute;
line-height: 2em;
font-weight: bold;
color: #fff;
position: absolute;
top: 0;
left: 0;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
border-radius: 4px;
}
.checkbox-wrapper-10 .tgl-flip + .tgl-btn:after {
content: attr(data-tg-on);
background: #02C66F;
transform: rotateY(-180deg);
}
.checkbox-wrapper-10 .tgl-flip + .tgl-btn:before {
background: #FF3A19;
content: attr(data-tg-off);
}
.checkbox-wrapper-10 .tgl-flip + .tgl-btn:active:before {
transform: rotateY(-20deg);
}
.checkbox-wrapper-10 .tgl-flip:checked + .tgl-btn:before {
transform: rotateY(180deg);
}
.checkbox-wrapper-10 .tgl-flip:checked + .tgl-btn:after {
transform: rotateY(0);
left: 0;
background: #7FC6A6;
}
.checkbox-wrapper-10 .tgl-flip:checked + .tgl-btn:active:after {
transform: rotateY(20deg);
}
</style>
}
<div class="modal-header" style="border-bottom: unset">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true" style="right: 1%;">×</button>
<span class="personleName">@Model.AccountFullName</span>
</div>
<input type="hidden" id="currentAccountId" value="@Model.AccountId" asp-for="AccountId">
<div class="row box2" style="margin-top:17px; background-color: #d8e5f1 !important">
<div class="col-xs-12 col-sm-6 pull-right">
<div class="row">
<div class="col-xs-3 pull-right">
<span>شروع بکار</span> <span>&nbsp;</span><span>:</span>
</div>
<div class="col-xs-9 pull-right">
<span dir="ltr"> <input type="text" id="start" class="date" asp-for="StartDateFa" maxlength="10"></span>
</div>
</div>
</div>
<div class="col-xs-12 col-sm-6 pull-right">
<div class="row">
<div class="col-xs-3 pull-right">
<span>ترک کار</span> <span>&nbsp;</span><span>:</span>
</div>
<div class="col-xs-9 pull-right">
<span dir="ltr"> <input type="text" id="end" class="date" asp-for="LeftDateFa" maxlength="10"></span>
</div>
</div>
</div>
</div>
<div class="row box2" style="margin-top: 6px;">
<div class="col-sm-6">
<span>کپی کارگاه ها به پرسنل دیگر</span>
<div class="form-group" style="width: 100% !important; margin: 0 auto;">
<select id="personId" class="select-city select" style="width: 100% !important; margin: 0 auto;" asp-items="@Model.AccountSelectList">
<option value="0" > پرسنل </option>
</select>
</div>
<a type="button" id="copyTo" class="btn btn-success red m-t-10">
<span>تایید</span>
</a>
</div>
<div class="col-sm-6">
<span>افزودن کارگاه جدید</span>
<div class="form-group" style="width: 100% !important; margin: 0 auto;">
<select id="addWorkshopId" class="select-city select" style="width: 100% !important; margin: 0 auto;" asp-items="@Model.WorkshopSelectList">
<option value="0"> کارگاه </option>
</select>
</div>
<a type="button" id="addWorkshop" class="btn btn-success red m-t-10">
<span>افزودن</span>
</a>
</div>
</div>
<div class="row box2" style="margin-top: 4px;font-size: 12px;background-color: #b5d6e3; padding: 7px 23px">
<div class="col-xs-12 col-sm-6" style="text-align: center">
<div class="row">
<div class="col-xs-3">
<span>وضعیت</span>
<div class="checkbox-wrapper-26">
<input onclick="activeAll(this)" type="checkbox" id="activation">
<label for="activation">
<div class="tick_mark"></div>
</label>
</div>
</div>
<div class="col-xs-3">
<span>مالیات</span>
<div class="checkbox-wrapper-26">
<input onclick="selectAlltax(this)" type="checkbox" id="tax">
<label for="tax">
<div class="tick_mark"></div>
</label>
</div>
</div>
<div class="col-xs-3">
<span>بیمه</span>
<div class="checkbox-wrapper-26">
<input onclick="selectAllInsurance(this)" type="checkbox" id="insurance">
<label for="insurance">
<div class="tick_mark"></div>
</label>
</div>
</div>
<div class="col-xs-3">
<span>قرداد و تصفیه</span>
<div class="checkbox-wrapper-26">
<input onclick="selectAllContractAndCheckout(this)" type="checkbox" id="contractAndCheckout">
<label for="contractAndCheckout">
<div class="tick_mark"></div>
</label>
</div>
</div>
</div>
</div>
<div class="col-xs-6 hidden-xs">
<span>نام کارگاه</span>
</div>
</div>
<div class="row mess" id="dataFild" style="margin-top: 5px;">
@foreach (var item in @Model.WorkshopAccountlist)
{
<div class="row box wtr" style="margin-top: 3px; direction: rtl">
<div class="col-sm-6 ">
<div class="row">
<div class="col-xs-3">
<div class="checkbox-wrapper-10">
@if (@item.IsActiveSting == "true")
{
<input class="tgl tgl-flip" name="activeCh" onclick="selectOne(this)" value="true" checked="checked" id="activeation+@item.WorkshopId" type="checkbox">
<label class="tgl-btn" data-tg-off="عیرفعال" data-tg-on="فعال" for="activeation+@item.WorkshopId"></label>
}
else
{
<input class="tgl tgl-flip" name="activeCh" onclick="selectOne(this)" value="false" id="activeation+@item.WorkshopId" type="checkbox">
<label class="tgl-btn" data-tg-off="عیرفعال" data-tg-on="فعال" for="activeation+@item.WorkshopId"></label>
}
</div>
</div>
<div class="col-xs-3">
<div class="checkbox-wrapper-26">
@if (@item.Tax == "true")
{
<input type="checkbox" onclick="selectOne(this)" class="taxCh" value="true" checked="checked" id="tax+@item.WorkshopId">
<label for="tax+@item.WorkshopId">
<div class="tick_mark"></div>
</label>
}
else
{
<input type="checkbox" onclick="selectOne(this)" class="taxCh" value="false" id="tax+@item.WorkshopId">
<label for="tax+@item.WorkshopId">
<div class="tick_mark"></div>
</label>
}
</div>
</div>
<div class="col-xs-3">
<div class="checkbox-wrapper-26">
@if (@item.Insurance == "true")
{
<input type="checkbox" onclick="selectOne(this)" class="insuranceCh" value="true" checked="checked" id="insurance+@item.WorkshopId">
<label for="insurance+@item.WorkshopId">
<div class="tick_mark"></div>
</label>
}
else
{
<input type="checkbox" onclick="selectOne(this)" class="insuranceCh" value="false" id="insurance+@item.WorkshopId">
<label for="insurance+@item.WorkshopId">
<div class="tick_mark"></div>
</label>
}
</div>
</div>
<div class="col-xs-3">
<div class="checkbox-wrapper-26">
@if (@item.ContractAndCheckout == "true")
{
<input type="checkbox" onclick="selectOne(this)" class="contractCh" value="true" checked="checked" id="contractAndChekouts+@item.WorkshopId">
<label for="contractAndChekouts+@item.WorkshopId">
<div class="tick_mark"></div>
</label>
}
else
{
<input type="checkbox" onclick="selectOne(this)" class="contractCh" value="false" id="contractAndChekouts+@item.WorkshopId">
<label for="contractAndChekouts+@item.WorkshopId">
<div class="tick_mark"></div>
</label>
}
</div>
</div>
</div>
</div>
<div class="col-sm-6 workshopName">
<span> @item.WorkshopName</span>
<input type="hidden" value="@item.WorkshopId" name="wid">
</div>
</div>
}
</div>
<div class="row">
<div class="col-xs-6 col-md-3 pull-left">
<a type="button" id="finalSave" class="btn btn-success btn-rounded pull-left m-b-10">ذخیره</a>
<button type="button" class="btn btn-default btn-rounded waves-effect waves-light pull-left m-b-10 m-l-10" data-dismiss="modal">بستن</button>
</div>
</div>
<script src="/admintheme/js/jquery.mask_1.14.16.min.js"></script>
<script>
$(".date").mask("0000/00/00");
$("#start").keyup(function() {
const value = $(this).val();
const lengthValue = value.length;
if (lengthValue == 10) {
if (!dateValidCheck(this)) {
$(this).addClass("errored");
} else {
$(this).removeClass("errored");
}
} else if (lengthValue == 0) {
$(this).removeClass("errored");
}
});
$("#end").keyup(function() {
const value = $(this).val();
const lengthValue = value.length;
if (lengthValue == 10) {
if (!dateValidCheck(this)) {
$(this).addClass("errored");
} else {
$(this).removeClass("errored");
}
} else if (lengthValue == 0) {
$(this).removeClass("errored");
}
});
//Add New Workshop
$('#addWorkshop').on("click",
function() {
let addWorkshopId = Number($('#addWorkshopId').val());
var selectedWorkshop = document.getElementById('addWorkshopId');
let selectedWorkshopName = selectedWorkshop.options[selectedWorkshop.selectedIndex].text;
if (addWorkshopId == 0) {
$.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', "هیچ کارگاهی انتخاب نشده است");
} else {
$('.sweet-alert').removeClass("successSwall");
$('.sweet-alert').removeClass("errorSwall");
let fullName = $('.personleName').text();
var mess = ' آیا از افزودن کارگاه ' + ' ' + selectedWorkshopName + ' ' + ' به لیست کارگاه های' + ' ' + fullName + ' ' + 'اطمینان دارید ؟ ';
swal({
title: mess,
text: "",
type: "warning",
showCancelButton: true,
confirmButtonColor: "#DD6B55",
confirmButtonText: "بله",
cancelButtonText: "خیر",
closeOnConfirm: true
}, function (isConfirm) {
if (isConfirm) {
const newRow = `<div class="row newWorkshop wtr" style="margin-top: 3px; direction: rtl">
<div class="col-sm-6 ">
<div class="row">
<div class="col-xs-3">
</div>
<div class="col-xs-3">
<div class="checkbox-wrapper-26">
<input type="checkbox" onclick="selectOne(this)" class="taxCh" value="" id="tax+${addWorkshopId}">
<label for="tax+${addWorkshopId}">
<div class="tick_mark"></div>
</label>
</div>
</div>
<div class="col-xs-3">
<div class="checkbox-wrapper-26">
<input type="checkbox" onclick="selectOne(this)" class="insuranceCh" value="" id="insurance+${addWorkshopId}">
<label for="insurance+${addWorkshopId}">
<div class="tick_mark"></div>
</label>
</div>
</div>
<div class="col-xs-3">
<div class="checkbox-wrapper-26">
<input type="checkbox" onclick="selectOne(this)" class="contractCh" value="" id="contractAndChekouts+${addWorkshopId}">
<label for="contractAndChekouts+${addWorkshopId}">
<div class="tick_mark"></div>
</label>
</div>
</div>
</div>
</div>
<div class="col-sm-6 workshopName">
<span> ${selectedWorkshopName}</span>
<input type="hidden" value="${addWorkshopId}" name="wid" />
</div>
</div>`;
$('#dataFild div:eq(0)').before(newRow);
var removeOption = selectedWorkshop.options[selectedWorkshop.selectedIndex];
removeOption.remove();
}
});
}
});
//copy workshops to new account
$('#copyTo').on("click",
function() {
let personnelId = Number($('#personId').val());
var selectedperson = document.getElementById('personId');
let selectedpersonName = selectedperson.options[selectedperson.selectedIndex];
let selectedPersonFullName = selectedpersonName.text;
if (personnelId == 0) {
$.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', "لطفا پرسنل انتخاب کنید");
} else {
$('.sweet-alert').removeClass("successSwall");
$('.sweet-alert').removeClass("errorSwall");
let fullName = $('.personleName').text();
var mess = ' آیا از کپی نمودن کارگاه های ' + ' ' + fullName + ' ' + ' برای' + ' ' + selectedPersonFullName + ' ' +'اطمینان دارید ؟ ';
console.log(mess);
swal({
title: mess,
text: "",
type: "warning",
showCancelButton: true,
confirmButtonColor: "#DD6B55",
confirmButtonText: "بله",
cancelButtonText: "خیر",
closeOnConfirm: true
}, function (isConfirm) {
if (isConfirm) {
console.log(selectedPersonFullName);
$.ajax({
//contentType: 'application/json; charset=utf-8',
async: false,
dataType: 'json',
type: 'GET',
url: '@Url.Page("/Accounts/Account/Index", "CopyWorkshopToNewAccount")',
headers: { "RequestVerificationToken": $('input[name="__RequestVerificationToken"]').val() },
data: { "currentAccountId": Number($('#currentAccountId').val()), "newAccountId": personnelId},
success: function (response) {
if (response.isSuccess) {
$.Notification.autoHideNotify('success', 'top center', 'پیام سیستم ', " کپی کارگاه ها با موفقیت انجام شد");
} else {
$.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', response.message);
}
},
failure: function (response) {
console.log(5, response);
}
});
}
});
}
});
//save
$('#finalSave').on("click",
function() {
var ajaxSend = true;
if ($("#start").hasClass("errored")) {
ajaxSend = false;
$.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', "تاریخ شروع بکار را بصورت صحیح وارد کنید");
}
if ($("#start").val() == "") {
$.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', "تاریخ شروع بکار خالی است");
ajaxSend = false;
}
if ($("#end").hasClass("errored")) {
$.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', "تاریخ ترک کار را بصورت صحیح وارد کنید");
ajaxSend = false;
}
var workshopAccountlistViewModel = [];
let accId = Number($('#currentAccountId').val());
$('#dataFild .wtr').each(function(i) {
const workshopAccountlist = {};
let wId = $(this).find("input[name=wid]").val();
let contractStr = $(this).find("input[class=contractCh]").val() == "" ? "false" : $(this).find("input[class=contractCh]").val();
let taxStr = $(this).find("input[class=taxCh]").val() == "" ? "false" : $(this).find("input[class=taxCh]").val();
let insuranceStr = $(this).find("input[class=insuranceCh]").val() == "" ? "false" : $(this).find("input[class=insuranceCh]").val();
let isActiveSt = $(this).find("input[name=activeCh]").val() == "" ? "false" : $(this).find("input[name=activeCh]").val();
console.log(isActiveSt);
// console.log(wId + " " + contractStr + " " + taxStr + " " + insuranceStr);
workshopAccountlist.WorkshopId = Number(wId);
workshopAccountlist.WorkshopName = "ttt";
workshopAccountlist.AccountId = accId;
workshopAccountlist.ContractAndCheckout = contractStr;
workshopAccountlist.Insurance = insuranceStr;
workshopAccountlist.Tax = taxStr;
workshopAccountlist.IsActiveSting = isActiveSt;
var test = [{id:12,workshopAccolist :[]}]
workshopAccountlistViewModel.push(workshopAccountlist);
});
if (ajaxSend) {
$.ajax({
async: false,
dataType: 'json',
type: 'POST',
url: '@Url.Page("/Accounts/Account/Index", "CreateAccountLeftWork")',
headers: { "RequestVerificationToken": $('input[name="__RequestVerificationToken"]').val() },
data: {
"workshopAccountlistViewModel": workshopAccountlistViewModel, "startDate": $("#start").val(), "leftDate": $("#end").val(), "accountId": accId},
success: function (response) {
if (response.isSuccess === true) {
$.Notification.autoHideNotify('success', 'top center', 'پیام سیستم ', response.mess);
} else {
$.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', response.mess);
}
},
failure: function (response) {
console.log(5, response);
}
}); //endOf Ajax
}
});
//OneSelect
function selectOne(source) {
if (source.checked == true) {
source.value = "true";
} else {
source.value = "false";
}
}
//GroupSelect
function selectAllContractAndCheckout(source) {
let checkboxes = document.getElementsByClassName('contractCh');
for (var i = 0, n = checkboxes.length; i < n; i++) {
checkboxes[i].checked = source.checked;
checkboxes[i].value = "false";
if (source.checked == true)
checkboxes[i].value = "true";
}
}
function selectAlltax(source) {
let checkboxes = document.getElementsByClassName('taxCh');
for (var i = 0, n = checkboxes.length; i < n; i++) {
checkboxes[i].checked = source.checked;
checkboxes[i].value = "false";
if (source.checked == true)
checkboxes[i].value = "true";
}
}
function selectAllInsurance(source) {
let checkboxes = document.getElementsByClassName('insuranceCh');
for (var i = 0, n = checkboxes.length; i < n; i++) {
checkboxes[i].checked = source.checked;
checkboxes[i].value = "false";
if (source.checked == true)
checkboxes[i].value = "true";
}
}
function activeAll(source) {
let checkboxes = document.getElementsByName('activeCh');
for (var i = 0, n = checkboxes.length; i < n; i++) {
checkboxes[i].checked = source.checked;
checkboxes[i].value = "false";
if (source.checked == true)
checkboxes[i].value = "true";
}
}
function dateValidcheck(inputField1) {
let persianNumbers = [/۰/g, /۱/g, /۲/g, /۳/g, /۴/g, /۵/g, /۶/g, /۷/g, /۸/g, /۹/g],
arabicNumbers = [/٠/g, /١/g, /٢/g, /٣/g, /٤/g, /٥/g, /٦/g, /٧/g, /٨/g, /٩/g],
fixNumbers = function(str) {
if (typeof str === 'string') {
for (let i = 0; i < 10; i++) {
str = str.replace(persianNumbers[i], i).replace(arabicNumbers[i], i);
}
}
return str;
};
let getdate = inputField1.value;
let m1, m2;
let y1, y2, y3, y4;
let d1, d2;
let s1, s2;
for (var i = 0; i < getdate.length; i++) {
if (i === 0) {
y1 = fixNumbers(getdate[i]);
}
if (i === 1) {
y2 = fixNumbers(getdate[i]);
}
if (i === 2) {
y3 = fixNumbers(getdate[i]);
}
if (i === 3) {
y4 = fixNumbers(getdate[i]);
}
if (i === 4) {
s1 = fixNumbers(getdate[i]);
}
if (i === 5) {
m1 = fixNumbers(getdate[i]);
}
if (i === 6) {
m2 = fixNumbers(getdate[i]);
}
if (i === 7) {
s2 = fixNumbers(getdate[i]);
}
if (i === 8) {
d1 = fixNumbers(getdate[i]);
}
if (i === 9) {
d2 = fixNumbers(getdate[i]);
}
}
let yRes = y1 + y2 + y3 + y4;
let year = parseInt(yRes);
let mRes = m1 + m2;
let month = parseInt(mRes);
let dRes = d1 + d2;
let day = parseInt(dRes);
let fixResult = yRes + s1 + mRes + s2 + dRes;
let test1 = checkEnValid(inputField1.value);
let isValid = /^([1][3-4][0-9][0-9][/])([0][1-9]|[1][0-2])([/])([0][1-9]|[1-2][0-9]|[3][0-1])$/.test(fixResult);
if (isValid && test1) {
inputField1.style.backgroundColor = '#a6e9a6';
start1valid = true;
} else {
if (inputField1.value != "") {
inputField1.style.backgroundColor = '#f94c4c';
$.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', "لطفا تاریخ را بصورت صحیح وارد کنید");
start1valid = false;
}
}
return start1valid;
}
function checkEnValid(fixDate1) {
let persianNumbers = [/۰/g, /۱/g, /۲/g, /۳/g, /۴/g, /۵/g, /۶/g, /۷/g, /۸/g, /۹/g],
arabicNumbers = [/٠/g, /١/g, /٢/g, /٣/g, /٤/g, /٥/g, /٦/g, /٧/g, /٨/g, /٩/g],
fixNumbers = function(str) {
if (typeof str === 'string') {
for (let i = 0; i < 10; i++) {
str = str.replace(persianNumbers[i], i).replace(arabicNumbers[i], i);
}
}
return str;
};
let getdate = fixDate1;
let m1, m2;
let y1, y2, y3, y4;
let d1, d2;
for (let i = 0; i < getdate.length; i++) {
if (i === 0) {
y1 = fixNumbers(getdate[i]);
}
if (i === 1) {
y2 = fixNumbers(getdate[i]);
}
if (i === 2) {
y3 = fixNumbers(getdate[i]);
}
if (i === 3) {
y4 = fixNumbers(getdate[i]);
}
if (i === 5) {
m1 = fixNumbers(getdate[i]);
}
if (i === 6) {
m2 = fixNumbers(getdate[i]);
}
if (i === 8) {
d1 = fixNumbers(getdate[i]);
}
if (i === 9) {
d2 = fixNumbers(getdate[i]);
}
}
let yRes = y1 + y2 + y3 + y4;
let year = parseInt(yRes);
let mRes = m1 + m2;
let month = parseInt(mRes);
let dRes = d1 + d2;
let day = parseInt(dRes);
let kabiseh = false;
if (month <= 6 && day > 31) {
return false;
} else if (month > 6 && month < 12 && day > 30) {
return false;
} else if (month === 12) {
switch (year) {
case 1346:
kabiseh = true;
break;
case 1350:
kabiseh = true;
break;
case 1354:
kabiseh = true;
break;
case 1358:
kabiseh = true;
break;
case 1362:
kabiseh = true;
break;
case 1366:
kabiseh = true;
break;
case 1370:
kabiseh = true;
break;
case 1375:
kabiseh = true;
break;
case 1379:
kabiseh = true;
break;
case 1383:
kabiseh = true;
break;
case 1387:
kabiseh = true;
break;
case 1391:
kabiseh = true;
break;
case 1395:
kabiseh = true;
break;
case 1399:
kabiseh = true;
break;
case 1403:
kabiseh = true;
break;
case 1408:
kabiseh = true;
break;
case 1412:
kabiseh = true;
break;
case 1416:
kabiseh = true;
break;
case 1420:
kabiseh = true;
break;
case 1424:
kabiseh = true;
break;
case 1428:
kabiseh = true;
break;
case 1432:
kabiseh = true;
break;
case 1436:
kabiseh = true;
break;
case 1441:
kabiseh = true;
break;
case 1445:
kabiseh = true;
break;
default:
kabiseh = false;
}
if (kabiseh == true && day > 30) {
return false;
} else if (kabiseh == false && day > 29) {
return false;
} else {
return true;
}
} else {
return true;
}
}
</script>