Files
Backend-Api/ServiceHost/wwwroot/AssetsAdmin/page/InstitutionContract/js/EditTransaction.js
2025-07-20 13:14:12 +04:00

262 lines
14 KiB
JavaScript

$(document).ready(function () {
const jobRelation = "بابت قرارداد مابین (روابط کار)";
const taxAndFinancial = "بابت قرارداد مابین (حسابداری و مالیات)";
const debtorOptions = $(
`<option class="debtOption" value="0">انتخاب کنید...</option>
<option class="debtOption" value = "${jobRelation}"> ${jobRelation} </option>
<option class="debtOption" value = "${taxAndFinancial}"> ${taxAndFinancial} </option>
<option class="debtOption" value = " بابت قراردادهای گذشته پرسنل" > بابت قراردادهای گذشته پرسنل </option>
<option class="debtOption" value = "بابت پرونده" > بابت پرونده</option>
<option class="debtOption" value = "بابت مبلغ بیمه کارگاه" > بابت مبلغ بیمه کارگاه </option>
<option class="debtOption" value = "بابت مبلغ بیمه خویش فرما" > بابت مبلغ بیمه خویش فرما </option>
<option class="debtOption" value = "بابت فیش کارگزاری" > بابت فیش کارگزاری </option>
<option class="debtOption" value = "بابت بدهی از قرارداد قبل" > بابت بدهی از قرارداد قبل </option>
<option class="debtOption" value = "بابت خرید" > بابت خرید </option>
<option class="debtOption" value = "بابت خرید استند حضور غیاب" > بابت خرید استند حضور غیاب </option>
<option class="debtOption" value = "بابت سرویس حضور غیاب" > بابت سرویس حضور غیاب </option>
<option class="debtOption" value = "بابت بدهی سایر" > بابت بدهی سایر </option>
`
);
const creditorOptions = $(
`<option class="creditOption" value="0">انتخاب کنید...</option>
<option class="creditOption" value = "${jobRelation}"> ${jobRelation} </option>
<option class="creditOption" value = "${taxAndFinancial}"> ${taxAndFinancial} </option>
<option class="creditOption" value = " بابت قراردادهای گذشته پرسنل" > بابت قراردادهای گذشته پرسنل </option>
<option class="creditOption" value = "بابت پرونده" > بابت پرونده</option>
<option class="creditOption" value = "بابت مبلغ بیمه کارگاه" > بابت مبلغ بیمه کارگاه </option>
<option class="creditOption" value = "بابت مبلغ بیمه خویش فرما" > بابت مبلغ بیمه خویش فرما </option>
<option class="creditOption" value = "بابت فیش کارگزاری" > بابت فیش کارگزاری </option>
<option class="creditOption" value = "بابت بدهی از قرارداد قبل" > بابت بدهی از قرارداد قبل </option>
<option class="creditOption" value = "بابت بدهی سایر" > بابت بدهی سایر </option>
<option class="creditOption" value = "بابت حق بیمه کارگاه" > بابت حق بیمه کارگاه </option>
<option class="creditOption" value = "بابت حق بیمه خویش فرما" > بابت حق بیمه خویش فرما </option>
<option class="creditOption" value = "بابت خرید" > بابت خرید </option>
<option class="creditOption" value = "بابت خدمات" > بابت خدمات </option>
<option class="creditOption" value = "بابت تخفیف" > بابت تخفیف </option>`
);
const typeOfTransAction = $('#EditTransactionBody .options-select').val();
const defaultSelect = $('#decriptioOption').val();
if (typeOfTransAction == "debt") {
$("#EditTransactionBody .options-select2").append(debtorOptions);
$("#EditTransactionBody .options-select2").val(defaultSelect).change();
$("#EditTransactionBody .debtor").prop("disabled", false);
$("#EditTransactionBody .creditor").prop("disabled", true);
$("#EditTransactionBody .creditor").val("").removeClass("errored");
} else {
$("#EditTransactionBody .options-select2").append(creditorOptions);
$("#EditTransactionBody .options-select2").val(defaultSelect).change();
$("#EditTransactionBody .creditor").prop("disabled", false);
$("#EditTransactionBody .debtor").prop("disabled", true);
$("#EditTransactionBody .debtor").val("").removeClass("errored");
}
});
//تاریخ امروز
$('.currentDay').on("click",
function () {
$('#todayFa').val($('#hiddenToday').val());
});
//فعال سازی دکمه ی اینتر برای ثبت نهایی
$('.EditTransactionForm .form-control').keypress(function (event) {
if (event.which === 13) {
checkNecessaryInputs();
}
});
let jobRelation = "بابت قرارداد مابین (روابط کار)";
let taxAndFinancial = "بابت قرارداد مابین (حسابداری و مالیات)";
//غیرفعال یا فعالسازی اینپوت های بدهکار و بستانکار , آپشن های پرداخت / ایجاد بدهی
let debtorOptions = $(
`<option class="debtOption" value="0">انتخاب کنید...</option>
<option class="debtOption" value = "${jobRelation}"> ${jobRelation} </option>
<option class="debtOption" value = "${taxAndFinancial}"> ${taxAndFinancial} </option>
<option class="debtOption" value = " بابت قراردادهای گذشته پرسنل" > بابت قراردادهای گذشته پرسنل </option>
<option class="debtOption" value = "بابت پرونده" > بابت پرونده</option>
<option class="debtOption" value = "بابت مبلغ بیمه کارگاه" > بابت مبلغ بیمه کارگاه </option>
<option class="debtOption" value = "بابت مبلغ بیمه خویش فرما" > بابت مبلغ بیمه خویش فرما </option>
<option class="debtOption" value = "بابت فیش کارگزاری" > بابت فیش کارگزاری </option>
<option class="debtOption" value = "بابت بدهی از قرارداد قبل" > بابت بدهی از قرارداد قبل </option>
<option class="debtOption" value = "بابت خرید" > بابت خرید </option>
<option class="debtOption" value = "بابت خرید استند حضور غیاب" > بابت خرید استند حضور غیاب </option>
<option class="debtOption" value = "بابت سرویس حضور غیاب" > بابت سرویس حضور غیاب </option>
<option class="debtOption" value = "بابت بدهی سایر" > بابت بدهی سایر </option>
`
);
let creditorOptions = $(
`<option class="creditOption" value="0">انتخاب کنید...</option>
<option class="creditOption" value = "${jobRelation}"> ${jobRelation} </option>
<option class="creditOption" value = "${taxAndFinancial}"> ${taxAndFinancial} </option>
<option class="creditOption" value = " بابت قراردادهای گذشته پرسنل" > بابت قراردادهای گذشته پرسنل </option>
<option class="creditOption" value = "بابت پرونده" > بابت پرونده</option>
<option class="creditOption" value = "بابت مبلغ بیمه کارگاه" > بابت مبلغ بیمه کارگاه </option>
<option class="creditOption" value = "بابت مبلغ بیمه خویش فرما" > بابت مبلغ بیمه خویش فرما </option>
<option class="creditOption" value = "بابت فیش کارگزاری" > بابت فیش کارگزاری </option>
<option class="creditOption" value = "بابت بدهی از قرارداد قبل" > بابت بدهی از قرارداد قبل </option>
<option class="creditOption" value = "بابت بدهی سایر " > بابت بدهی سایر </option>
<option class="creditOption" value = "بابت حق بیمه کارگاه" > بابت حق بیمه کارگاه </option>
<option class="creditOption" value = "بابت حق بیمه خویش فرما" > بابت حق بیمه خویش فرما </option>
<option class="creditOption" value = "بابت خرید" > بابت خرید </option>
<option class="creditOption" value = "بابت خدمات" > بابت خدمات </option>
<option class="creditOption" value = "بابت تخفیف" > بابت تخفیف </option>`
);
$("#EditTransactionBody .options-select").change(function () {
const selectedOption = $(this).val();
$("#EditTransactionBody .options-select2").html("");
if (selectedOption == "debt") {
$("#EditTransactionBody .options-select2").append(debtorOptions);
$("#EditTransactionBody .debtor").prop("disabled", false);
$("#EditTransactionBody .creditor").prop("disabled", true);
$("#EditTransactionBody .creditor").val("").removeClass("errored");
} else if (selectedOption == "credit") {
$("#EditTransactionBody .options-select2").append(creditorOptions);
$("#EditTransactionBody .creditor").prop("disabled", false);
$("#EditTransactionBody .debtor").prop("disabled", true);
$("#EditTransactionBody .debtor").val("").removeClass("errored");
} else {
$("#EditTransactionBody .creditor").val("").prop("disabled", true);
$("#EditTransactionBody .debtor").val("").prop("disabled", true);
}
});
//غیرفعال کردن datepicker پس از بستن مودال
$("#close , .close").on('click',
function () {
$(".datepicker-container").hide();
});
$(document).on("click",
function (event) {
const target = $(event.target);
if (!target.is("#EditTransactionBody") && !target.is("#EditTransactionBody *")
) {
$(".datepicker-container").hide();
}
});
//تنظیمات بخش های پول
$('#EditTransactionBody #debtInput').on('input',
function () {
this.value = this.value.replace(/[^\d]/, '');
var contractAmount = $("#EditTransactionBody #debtInput");
numeral.defaultFormat("0,0 تومان");
contractAmount.on("keyup",
function (e) {
contractAmount.val(numeral(contractAmount.val()).format());
});
});
$('#EditTransactionBody #creditInput').on('input',
function () {
this.value = this.value.replace(/[^\d]/, '');
var contractAmount = $("#EditTransactionBody #creditInput");
numeral.defaultFormat("0,0 تومان");
contractAmount.on("keyup",
function (e) {
contractAmount.val(numeral(contractAmount.val()).format());
});
});
// چک کردن اینپوت های ضروری هنگام ثبت
function checkNecessaryInputs() {
if ($("#EditTransactionBody .persianDateInput").val().length < 10) {
$("#EditTransactionBody .persianDateInput").addClass("errored");
} else {
$("#EditTransactionBody .persianDateInput").removeClass("errored");
}
const selectedOption = $("#EditTransactionBody .options-select").val();
const selectedOption2 = $("#EditTransactionBody .options-select2").val();
if (selectedOption == 0) {
$("#EditTransactionBody .options-select").addClass("errored");
} else {
$("#EditTransactionBody .options-select").removeClass("errored");
}
if (selectedOption2 == 0 || selectedOption2 == null) {
$("#EditTransactionBody .options-select2").addClass("errored");
} else {
$("#EditTransactionBody .options-select2").removeClass("errored");
}
if (selectedOption == "debt" && $("#EditTransactionBody .debtor").val() == "") {
$("#EditTransactionBody .debtor").addClass("errored");
} else {
$("#EditTransactionBody .debtor").removeClass("errored");
}
if (selectedOption == "credit" && $("#EditTransactionBody .creditor").val() == "" && $("#EditTransactionBody .creditor").prop("disabled") == false) {
$("#EditTransactionBody .creditor").addClass("errored");
} else {
$("#EditTransactionBody .creditor").removeClass("errored");
}
if ($('#EditTransactionBody .errored').length > 0) {
$.Notification.autoHideNotify('error', 'top right', 'پیام سیستم ', "لطفا موارد اجباری را تکمیل کنید.");
} else {
$.ajax({
async: false,
dataType: 'json',
type: 'POST',
url: ajaxEditSave,
data: {
"id": $('#transactionId').val(),
"tDateFa": $("#EditTransactionBody .persianDateInput").val(),
"typeOfTransaction": $("#EditTransactionBody .options-select").val(),
"descriptionOption": $("#EditTransactionBody .options-select2").val(),
"description": $('#desc').val(),
"deptorString": $("#EditTransactionBody .debtor").val(),
"creditorString": $("#EditTransactionBody .creditor").val()
},
headers: { "RequestVerificationToken": $('input[name="__RequestVerificationToken"]').val() },
success: function (response) {
if (response.success) {
window.location.reload();
}
},
failure: function (response) {
console.log(5, response);
}
}); //endOf Ajax
}
} //endOfFunction
// چک کردن درستی تاریخ وارد شده
$("#EditTransactionBody .persianDateInput").on('keyup',
function () {
if (event.which !== 8 && event.which !== 46) {
let value = $(this).val();
const lengthValue = value.length;
if (lengthValue === 4) {
value += '/';
}
if (lengthValue === 7) {
value += '/';
}
$(this).val(value);
}
});
$("#EditTransactionBody .persianDateInput").on("keydown",
function (event) {
const keyCode = event.which || event.keyCode;
const isDigit = (keyCode >= 48 && keyCode <= 57) || (keyCode >= 96 && keyCode <= 105);
const isControlKey = (keyCode === 8) || (keyCode === 9) || (keyCode === 13) || (keyCode === 35) || (keyCode === 36) || (keyCode === 37) || (keyCode === 39) || (keyCode === 46);
if (!isDigit && !isControlKey) {
event.preventDefault();
}
});
$("#EditTransactionBody .persianDateInput").on('blur',
function () {
const value = $(this).val();
const lengthValue = value.length;
if (lengthValue == 10) {
if (!dateValidCheck(this)) {
$(this).addClass("errored");
} else {
$(this).removeClass("errored");
}
}
});