var pageIndexJs = 0; var searchName = ''; var searchStartDateTime = ''; var searchEndDateTime = ''; var listTypeDataInput = ''; var groupTypeDataInput = ''; var loadData = true; var isMobile = "false"; var groupData = false; var isMobileInput = window.matchMedia('(max-width: 767px)').matches; $(document).ready(function () { ajaxPersonals(); const { showType, employeeId, startDate, endDate } = getSearchParamsFromUrl(); if (showType === 'group') { $("#group,#groupMobile").prop('checked', true); } if (showType === 'list') { $("#list,#listMobile").prop('checked', true); } isMobileInput ? $('#start-date-mobile').val(startDate) : $('#start-date').val(startDate); isMobileInput ? $('#end-date-mobile').val(endDate) : $('#end-date').val(endDate); if (employeeId !== "0" || startDate !== '' || endDate !== '', showType !== '') { $('.btn-clear-filter').removeClass('disable'); } else { $('.btn-clear-filter').addClass('disable'); } searchStartDateTime = isMobile ? $('#start-date-mobile').val(startDate) : $('#start-date').val(startDate); searchEndDateTime = isMobile ? $('#end-date-mobile').val(endDate) : $('#end-date').val(endDate); searchName = isMobile ? $('#employeeSelectIndexMobile') : $('#employeeSelectIndex'); listTypeDataInput = isMobile ? $('#listMobile') : $('#list'); groupTypeDataInput = isMobile ? $('#groupMobile') : $('#group'); loadRewardList(); $(".select2OptionIndex").select2({ language: "fa", dir: "rtl", templateResult: function (data, container) { if (data.element) { $(container).addClass($(data.element).attr("class")); } return data.text; } }); $(".select2OptionIndexMobile").select2({ language: "fa", dir: "rtl", dropdownParent: $('#searchModal'), templateResult: function (data, container) { if (data.element) { $(container).addClass($(data.element).attr("class")); } return data.text; } }); $(".form-control-date").each(function () { let element = $(this); element.on('input', function () { let value = convertPersianNumbersToEnglish(element.val()); element.val(value); }); new Cleave('.dateInput', { delimiters: ['/', '/'], blocks: [4, 2, 2], numericOnly: true }); // new Cleave(this, { // date: true, // delimiter: '/', // datePattern: ['Y', 'm', 'd'] // }); }); //******************** انتخاب همه ی چک باکس ها ******************** $(".checkAll").change(function () { //let dataValYear = $('#year').val(); //let dataValMonth = $('#month').val(); //let dataValPersonel = Number($('#employeeId').val()); //if ((dataValYear == '' || dataValMonth == '') && dataValPersonel == 0) { //$('#dropdown-year').addClass("errored"); //$('#dropdown-month').addClass("errored"); //$(this).prop('checked', false); //$('.alert-msg').show(); //$('.alert-msg p').text('جهت انتخاب گروهی قراردادها ابتدا میبایست سال و ماه مورد نظر را انتخاب نمائید.'); //setTimeout(function () { // $('.alert-msg').hide(); // $('.alert-msg p').text(''); // $('#dropdown-year').removeClass("errored"); // $('#dropdown-month').removeClass("errored"); //}, //3500); //} else { //loadAllToPrint(); $('input:checkbox').not(this).not("#group, #list").prop('checked', this.checked); //} }); $("input:checkbox").not("#group,#list,.checkAll").change(function () { if ($("input:checkbox").not("#group,#list,.checkAll").filter(":not(:checked)").length) { $(".checkAll").prop("checked", false); } else { $(".checkAll").prop("checked", true); } }); //******************** انتخاب همه ی چک باکس ها ******************** //*********************ستون نام پرسنل در حالتی که فقط اسم پرسنل هست باید هاید بشه************************ $("#searchJustName").hide(); //************تنظیم چک باکس تایپ لیست******************* $('#group, #groupMobile').change(function () { if ($(this).is(':checked')) { $('#list , #listMobile').prop('checked', false); } }); $('#list, #listMobile').change(function () { if ($(this).is(':checked')) { $('#group , #groupMobile').prop('checked', false); } }); //************تنظیم چک باکس تایپ لیست******************* }); $(document).on('click', ".openAction", function () { if (window.matchMedia('(max-width: 767px)').matches) { $(this).next().find(".operations-btns").slideToggle(500); $(".operations-btns").not($(this).next().find(".operations-btns")).slideUp(500); } }); $(document).on('click', '.btn-search-click, .btn-search-click-mobile', function () { isMobile = $(this).hasClass('btn-search-click-mobile'); searchStartDateTime = isMobile ? $('#start-date-mobile').val() : $('#start-date').val(); searchEndDateTime = isMobile ? $('#end-date-mobile').val() : $('#end-date').val(); searchName = isMobile ? $('#employeeSelectIndexMobile') : $('#employeeSelectIndex'); listTypeDataInput = isMobile ? $('#listMobile') : $('#list'); groupTypeDataInput = isMobile ? $('#groupMobile') : $('#group'); if (listTypeDataInput[0].checked == false && groupTypeDataInput[0].checked == false) { if (isMobile) { $("#listMobile").next('label').addClass('errored'); $("#groupMobile").next('label').addClass('errored'); } else { $("#list").next('label').addClass('errored'); $("#group").next('label').addClass('errored'); } $('.alert-msg').show(); $('.alert-msg p').text('برای جستجوی لیست باید نوع آن را مشخص کنید.'); setTimeout(function () { $('.alert-msg').hide(); $('.alert-msg p').text(''); $('#group, #list, #listMobile, #groupMobile').next('label').removeClass('errored'); }, 3500); return; } if ((searchStartDateTime === '' && searchEndDateTime !== '') || (searchStartDateTime !== '' && searchEndDateTime === '')) { if (isMobile) { $('#start-date-mobile').addClass("errored"); $('#end-date-mobile').addClass("errored"); } else { $('#start-date').addClass("errored"); $('#end-date').addClass("errored"); $('.select2.select2-container .select2-selection').addClass("errored"); } $('.alert-msg').show(); $('.alert-msg p').text('برای جستجوی تاریخ، می بایست تاریخ شروع و پایان یا پرسنل را مشخص نمایید'); setTimeout(function () { $('.alert-msg').hide(); $('.alert-msg p').text(''); $('#start-date, #end-date, .select2.select2-container .select2-selection ,#start-date-mobile, #end-date-mobile').removeClass("errored"); }, 3500); return; } if (((searchName.val() === "0") && ((searchStartDateTime === '' && searchEndDateTime === '')))) { if (isMobile) { $('#start-date-mobile').addClass("errored"); $('#end-date-mobile').addClass("errored"); } else { $('#start-date').addClass("errored"); $('#end-date').addClass("errored"); $('.select2.select2-container .select2-selection').addClass("errored"); } $('.alert-msg').show(); $('.alert-msg p').text('برای جستجوی تاریخ، می بایست تاریخ شروع و پایان یا پرسنل را مشخص نمایید'); setTimeout(function () { $('.alert-msg').hide(); $('.alert-msg p').text(''); $('#start-date, #end-date, .select2.select2-container .select2-selection ,#start-date-mobile, #end-date-mobile').removeClass("errored"); }, 3500); return; } $('.btn-clear-filter').removeClass('disable'); if (searchName.val() === "0" && searchStartDateTime === "" && searchEndDateTime === "") { $('.btn-clear-filter').addClass('disable'); } if (isMobile) { $('#searchModal').modal('hide'); } groupData = $("#group,#groupMobile").is(":checked") ? true : false; paramsUrl(searchName.val(), searchStartDateTime, searchEndDateTime); pageIndexJs = 0; $('#rewardListAjax').html(''); $('#rewardEmployeesList').html(''); $('#PageIndex').val(0); loadRewardList(); }); $(document).on('click', '.btn-clear-filter', function () { window.location.href = `${window.location.origin}/Client/Company/Reward`; }); // همگام‌سازی متن ورودی برای موبایل و دسکتاپ $('.d-none.d-md-block .employeeName').on('input', function () { var desktopInput = $(this).val(); $('#searchModal .employeeName').val(desktopInput); }); $('#searchModal .employeeName').on('input', function () { var mobileInput = $(this).val(); $('.d-none.d-md-block .employeeName').val(mobileInput); }); $('.d-none.d-md-block #start-date').on('input change', function () { var desktopStartDate = $(this).val(); $('#searchModal #start-date-mobile').val(desktopStartDate); }); $('#searchModal #start-date-mobile').on('input change', function () { var mobileStartDate = $(this).val(); $('.d-none.d-md-block #start-date').val(mobileStartDate); }); $('.d-none.d-md-block #end-date').on('input change', function () { var desktopEndDate = $(this).val(); $('#searchModal #end-date-mobile').val(desktopEndDate); }); $('#searchModal #end-date-mobile').on('input change', function () { var mobileEndDate = $(this).val(); $('.d-none.d-md-block #end-date').val(mobileEndDate); }); // همگام‌سازی متن ورودی برای موبایل و دسکتاپ $('.goToTop').on('click', function () { $('html, body').animate({ scrollTop: 0 }, 360); return false; }); $(window).scroll(function () { if ($(window).scrollTop() + $(window).height() > $(document).height() - 600) { loadRewardList(); } if ($(this).scrollTop() > 100) { $('.goToTop').show().fadeIn(); } else { $('.goToTop').fadeOut().hide(); } }); function ajaxPersonals() { $.ajax({ url: employeeListAjax, type: 'GET', success: function (response) { if (response.success) { var employees = response.data; var employeeOptionsHtml = ''; employees.forEach(function (employee) { var black = employee.black ? "blackSelect" : ""; employeeOptionsHtml += ``; }); $('#employeeSelectIndex').html(employeeOptionsHtml); $('#employeeSelectIndexMobile').html(employeeOptionsHtml); const { showType, employeeId, startDate, endDate } = getSearchParamsFromUrl(); isMobileInput ? $('#employeeSelectIndexMobile').val(employeeId).trigger('change') : $('#employeeSelectIndex').val(employeeId).trigger('change'); } else { $('.alert-msg').show(); $('.alert-msg p').text(response.message); setTimeout(function () { $('.alert-msg').hide(); $('.alert-msg p').text(''); }, 3500); } }, error: function (xhr, status, error) { console.error(xhr.responseText); } }); } //*************ajax calls base on list or group *************** function loadRewardList() { var pageIndex = Number($('#PageIndex').val()); var html = ''; const { showType, employeeId, startDate, endDate } = getSearchParamsFromUrl(); groupData = $("#group,#groupMobile").is(":checked") ? true : false; var searchViewModel = { 'PageIndex': pageIndex, 'EmployeeId': employeeId, 'StartDate': startDate, 'EndDate': endDate, 'ShowAsGrouped': groupData, } var b = pageIndexJs % 30; if (b === 0) { $.ajax({ async: false, contentType: 'charset=utf-8', dataType: 'json', type: 'GET', url: rewardGroupLoadDataAjax , data: searchViewModel, headers: { "RequestVerificationToken": antiForgeryToken }, success: function (response) { var loadRewardListData = response.data; if (loadRewardListData.rewardListViewModels !== null || loadRewardListData.rewardsGroupedByDate !== null || loadRewardListData.rewardsGroupedByEmployee !== null ) { if ($("#group").is(":checked")) { $("#LoadRewardList").hide(); $("#LoadRewardListWithEmployee").removeClass("d-none"); htmlLoadGroupType(loadRewardListData); } else if ($("#groupMobile").is(":checked")) { htmlLoadGroupTypeMobile(loadRewardListData); } else { if (loadRewardListData.rewardListViewModels.length > 0) { $("#LoadRewardList").show(); $("#LoadRewardListWithEmployee").addClass("d-none"); htmlLoadSimpleListData(loadRewardListData.rewardListViewModels); } } } else { html += `
اطلاعاتی وجود ندارد.
`; $('#rewardListAjax').append(html); $('#rewardEmployeesList').append(html); } }, failure: function (response) { console.log(response); } }); } } //*************ajax calls base on list button or group button*************** //************* 3 Template for Desktop*************** function htmlLoadSimpleListData(loadRewardListData) { var html = ''; //var pageIndex = Number($('#PageIndex').val()); if (loadRewardListData.length > 0) { loadRewardListData.forEach(function (item) { var n = pageIndexJs + 1; html += `
${item.grantDateFa}
${item.employeeFullName}
${item.personnelCode}
${item.title ?? "-"}
${item.description}
${item.description}
${item.amount + " ریال"}
${editPermission ? `` : ``} ${deletePermission ? `` : ``}
شماره پرسنلی: ${item.personnelCode}
عنوان: ${item.title ?? "-"}
توضیحات: ${item.description}
تاریخ: ${item.grantDateFa}
مبلغ: ${item.amount + " ریال"}
${editPermission ? `` : ``} ${deletePermission ? `` : ``}
`; pageIndexJs++; }); //pageIndexJs = pageIndex + responsePageIndex; $('#PageIndex').val(pageIndexJs); $('#rewardListAjax').append(html); } else { html += `
اطلاعاتی وجود ندارد.
`; $('#rewardListAjax').append(html); $('#rewardEmployeesList').append(html); } } function htmlLoadGroupType(loadRewardListData) { if (searchName.val() === "0" && (searchStartDateTime && searchEndDateTime)) {//in filter bar only date is valid $(".searchByBoth").hide(); $("#searchJustNameMiddleTab").hide(); $("#searchJustNameFirstTab").show(); } else if (searchName.val() !== "0" && (searchStartDateTime && searchEndDateTime)) {//in filter bar personnel and date are valid $(".searchByBoth").show(); $("#searchJustNameFirstTab").hide(); $("#searchJustNameMiddleTab").show(); } else if (searchName.val() !== "0" && (!searchStartDateTime && !searchEndDateTime)){//in filter bar only personnel is valid $("#searchJustNameFirstTab").hide(); $("#searchJustNameMiddleTab").show(); $(".searchByBoth").show(); } if ($("#group").is(":checked")) { if ((searchEndDateTime && searchStartDateTime) && searchName.val() === "0") { htmlLoadWithEmployeeDataByFullname(loadRewardListData.rewardsGroupedByEmployee); } else { htmlLoadWithEmployeeDataByDate(loadRewardListData.rewardsGroupedByDate); } } } function htmlLoadWithEmployeeDataByDate(loadRewardListData) { //var pageIndex = Number($('#PageIndex').val()); var html = ''; var n = 1; if (loadRewardListData.length > 0) { loadRewardListData.forEach(function (itemRewards) { n = 1; //
html += `
${itemRewards.year}
${itemRewards.month}
`; itemRewards.rewards.forEach(function (item) { html += `
${item.employeeName}
${item.personnelCode}
${item.title ?? "-"}
${item.description}
${item.description}
${item.grantDateFa}
${item.amount + " ریال"}
${editPermission ? ` ` : ` ` } ${deletePermission ? ` ` : ` ` }
`; pageIndexJs++; n++ }); html += `
` html += `
${itemRewards.totalAmount + " ریال"}
`; html += ``; }); //pageIndexJs = pageIndex + responsePageIndex; $('#PageIndex').val(pageIndexJs); $('#rewardEmployeesList').append(html); } else { html += `
اطلاعاتی وجود ندارد.
`; $('#rewardListAjax').append(html); $('#rewardEmployeesList').append(html); } } function htmlLoadWithEmployeeDataByFullname(loadRewardListData) { //var pageIndex = Number($('#PageIndex').val()); var html = ''; var n = 1; if (loadRewardListData.length > 0) { loadRewardListData.forEach(function (itemRewards) { n = 1; html += `
${itemRewards.employeeName}
`; html += `
` itemRewards.rewards.forEach(function (item) { html += `
${item.personnelCode}22
${item.title ?? '-'}
${item.description}
${item.description}
${item.grantDate}
${item.amount + " ریال"}
${editPermission ? `` : ``} ${deletePermission ? `` : ``}
` pageIndexJs++; n++ }) html += `
`; html += `
` html += `
${itemRewards.totalAmount + " ریال"}
`; html += ``; }); //pageIndexJs = pageIndex + responsePageIndex; $('#PageIndex').val(pageIndexJs); $('#rewardEmployeesList').append(html); } else { html += `
اطلاعاتی وجود ندارد.
`; $('#rewardListAjax').append(html); $('#rewardEmployeesList').append(html); } } //************* 3 Template for Desktop *************** //**************** 2 template for Mobile********************** function htmlLoadGroupTypeMobile(loadRewardListData) { if ($("#groupMobile").is(":checked")) { if ((searchEndDateTime && searchStartDateTime) && searchName.val() === "0") { htmlLoadWithEmployeeMobileDataByFullname(loadRewardListData.rewardsGroupedByEmployee); } else { htmlLoadWithEmployeeMobileDataByDate(loadRewardListData.rewardsGroupedByDate); } } } function htmlLoadWithEmployeeMobileDataByFullname(loadRewardListData) { //var pageIndex = Number($('#PageIndex').val()); var html = ''; var n = 1; if (loadRewardListData) { loadRewardListData.forEach(function (item) { html += `
${item.employeeName}
`; item.rewards.forEach(function (rewardItem) { html += `
نام پرسنل
${item.employeeName}
تاریخ
${rewardItem.grantDate}
شماره پرسنلی
${rewardItem.personnelCode}
عنوان
${rewardItem.title ?? "-"}
توضیحات
${rewardItem.description}
مبلغ
${rewardItem.amount + " ریال"}
`; }); html += `
مجموع مبالغ
${item.totalAmount + " ریال"}
`; pageIndexJs++; n++; }); //pageIndexJs = pageIndex + responsePageIndex; $('#PageIndex').val(pageIndexJs); $('#rewardListAjax').append(html); } else { html += `
اطلاعاتی وجود ندارد.
`; $('#rewardListAjax').append(html); $('#rewardEmployeesList').append(html); } } function htmlLoadWithEmployeeMobileDataByDate(loadRewardListData) { //var pageIndex = Number($('#PageIndex').val()); var html = ''; var n = 1; if (loadRewardListData) { loadRewardListData.forEach(function (item) { html += `
${item.year} ${item.month}
`; item.rewards.forEach(function (rewardItem) { html += `
نام پرسنل
${rewardItem.employeeName}
تاریخ
${rewardItem.grantDateFa}
شماره پرسنلی
${rewardItem.personnelCode}
عنوان
${rewardItem.title ?? "-"}
توضیحات
${rewardItem.description}
مبلغ
${rewardItem.amount + " ریال"}
`; }); html += `
مجموع مبالغ
${item.totalAmount + " ریال"}
`; pageIndexJs++; n++; }); //pageIndexJs = pageIndex + responsePageIndex; $('#PageIndex').val(pageIndexJs); $('#rewardListAjax').append(html); } else { html += `
اطلاعاتی وجود ندارد.
`; $('#rewardListAjax').append(html); $('#rewardEmployeesList').append(html); } } //**************** 2 template for Mobile********************** function openCreateRewardModal() { var goTo = `#showmodal=/Client/Company/Reward/Index?handler=Create`; window.location.href = goTo; } $(document).on('click', '.btn-edit', function () { var id = $(this).data('edit-id'); var goTo = `#showmodal=/Client/Company/Reward/Index?id=${id}&handler=Edit`; window.location.href = goTo; }); $(document).on('click', '.btn-delete', function () { var id = $(this).data('remove-id'); swal({ title: "آیا از حذف اطمینان دارید؟", text: "", type: "warning", showCancelButton: true, confirmButtonColor: "#DD6B55", confirmButtonText: "بله", cancelButtonText: "خیر", closeOnConfirm: true, closeOnCancel: true }, function (isConfirm) { if (isConfirm) { removeAjax(id); } }); }); function removeAjax(id) { var ID = Number(id); $.ajax({ async: false, dataType: 'json', type: 'POST', url: removeRewardAjax, headers: { "RequestVerificationToken": antiForgeryToken }, data: { id: ID }, success: function (response) { if (response.isSuccess) { $('.alert-success-msg').show(); $('.alert-success-msg p').text(response.message); setTimeout(function () { $('.alert-success-msg').hide(); $('.alert-success-msg p').text(''); }, 1000); $('#rewardListAjax').html(''); $('#PageIndex').val(0); pageIndexJs = 0; loadRewardList(); } else { $('.alert-msg').show(); $('.alert-msg p').text(response.message); setTimeout(function () { $('.alert-msg').hide(); $('.alert-msg p').text(''); }, 3500); } }, error: function (err) { console.log(err); } }); } function paramsUrl(employeeId, startDate, endDate) { const params = new URLSearchParams(); let hasAnyFilter = false var isGroup = $("#group,#groupMobile").is(":checked") ? true : false; if (isGroup) { params.set("show-type", 'group'); hasAnyFilter = true; } else { params.set("show-type", 'list'); hasAnyFilter = true; } //const checkboxSelected = $('.dataType:checked').first().attr('id'); //if (checkboxSelected === "group") { // params.set("show-type", checkboxSelected); // hasAnyFilter = true; //} else { // params.set("show-type", 'list'); // hasAnyFilter = true; //} if (startDate !== '') { params.set("start-date", startDate); hasAnyFilter = true; } if (endDate !== '') { params.set("end-date", endDate); hasAnyFilter = true; } if (employeeId !== "0") { params.set("employee-id", employeeId); hasAnyFilter = true; } const newUrl = hasAnyFilter ? `${window.location.origin}/Client/Company/Reward?${params.toString()}` : `${window.location.origin}/Client/Company/Reward`; window.history.pushState({}, '', newUrl); } function getSearchParamsFromUrl() { const urlParams = new URLSearchParams(window.location.search); return { showType: urlParams.get("show-type") || "", startDate: urlParams.get("start-date") || "", endDate: urlParams.get("end-date") || "", employeeId: urlParams.get("employee-id") || "0" }; }