Files
Backend-Api/ServiceHost/Areas/Client/Pages/Shared/_ClientLayout.cshtml

516 lines
17 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.
@using Microsoft.AspNetCore.Mvc.ModelBinding
@using Microsoft.AspNetCore.Mvc.TagHelpers
@using Microsoft.AspNetCore.Razor.Language.Intermediate
@using WorkFlow.Application.Contracts.WorkFlow
@inject _0_Framework.Application.IAuthHelper AuthHelper;
@inject IWorkFlowApplication WorkFlowApplication;
@{
string clientVersion = _0_Framework.Application.Version.StyleVersion;
var currentAccount = AuthHelper.CurrentAccountInfo();
int countWorkFlow = 0;/* await WorkFlowApplication.GetCountAllWorkFlows(workshopId); */
var viewData = new ViewDataDictionary(new EmptyModelMetadataProvider(), new ModelStateDictionary()) { { "countWorkFlow", countWorkFlow } };
}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="author" content="Coderthemes">
<title> گزارشگیر @ViewData["Title"]</title>
<link rel="icon" type="image/x-icon" href="~/AssetsClient/images/favicon.ico">
<!-- Base Css Files -->
@* <link href="~/clienttheme/css/bootstrap.rtl.min.css" rel="stylesheet" />
<link href="~/clienttheme/css/style.css" rel="stylesheet" />
<link href="~/New/css/responsive.css" rel="stylesheet" /> *@
<link href="~/AssetsClient/css/bootstrap.rtl.min.css?ver=@clientVersion" rel="stylesheet" />
<link href="~/AssetsClient/libs/intro.js/introjs-rtl.css?ver=@clientVersion" rel="stylesheet" />
<link href="~/AssetsClient/libs/intro.js/introjs.css?ver=@clientVersion" rel="stylesheet" />
<link href="~/AssetsClient/css/introjs-custom.css?ver=@clientVersion" rel="stylesheet" />
<link href="~/AssetsClient/css/style.css?ver=@clientVersion" rel="stylesheet" />
<link href="~/AssetsClient/css/sidebar-menu.css?ver=شسشس" rel="stylesheet" />
<link href="~/AssetsClient/css/responsive.css?ver=@clientVersion" rel="stylesheet" />
<link href="~/AssetsClient/css/responsive-modal.css?ver=@clientVersion" rel="stylesheet" />
<link href="~/AssetsClient/css/validation-style.css?ver=@clientVersion" rel="stylesheet" />
<link href="~/AssetsClient/libs/font-awesome/css/font-awesome.min.css?ver=@clientVersion" rel="stylesheet" />
<link href="~/AssetsClient/css/material-design-iconic-font.min.css?ver=@clientVersion" rel="stylesheet" />
<script src="~/AssetsAdminNew/libs/wavesurfer/wavesurfer.min.js"></script>
<link href="~/AdminTheme/assets/sweet-alert/sweet-alert.min.css" rel="stylesheet">
<link href="~/AssetsClient/libs/select2/css/select2.min.css" rel="stylesheet" />
@RenderSection("Styles", false)
</head>
<body>
<!-- Dark Overlay -->
<div id="overlay" class="d-lg-none"></div>
<!-- End Dark Overlay -->
<!-- ========== Right Sidebar Start ========== -->
<partial name="_Menu" view-data="viewData" />
<partial name="_headerAndFooter" view-data="viewData" />
<!-- ============================================================== -->
<!-- Start right Content here -->
<!-- ============================================================== -->
@RenderBody()
<!-- ============================================================== -->
<!-- End Right content here -->
<!-- ============================================================== -->
<partial name="_BtnCreateTicket" />
<partial name="_validationAlert" />
<!-- jQuery -->
<script src="~/AssetsClient/js/jquery-3.7.1.min.js"></script>
<script src="~/AssetsClient/js/bootstrap.bundle.min.js"></script>
<script src="~/assetsclient/js/services/ajax-service.js?ver=@clientVersion"></script>
<script src="~/AssetsClient/libs/intro.js/intro.js"></script>
<script src="~/AssetsClient/libs/select2/js/select2.js"></script>
<script src="~/AssetsClient/libs/select2/js/i18n/fa.js"></script>
<script src="~/admintheme/js/jquery.mask_1.14.16.min.js"></script>
<script src="~/assetsclient/js/datevalidation.js"></script>
<script src="~/assetsclient/js/html2canvas.min.js"></script>
<script src="~/AdminTheme/assets/sweet-alert/sweet-alert.min.js"></script>
<script src="~/assetsclient/js/smooth-scrollbar.js"></script>
<script>
var MainMenuScrollbar = window.Scrollbar;
MainMenuScrollbar.init(document.querySelector('.menuContainer'), {
alwaysShowTracks: true
});
var antiForgeryTokenLayout = $('@Html.AntiForgeryToken()').val();
var createTicketSaveAjaxLayout = '@Url.Page("/Company/Ticket/Index", "SaveTicket")';
var uploadFileTicketAjaxLayout = '@Url.Page("/Company/Ticket/Index", "UploadFile")';
var deleteFileTicketAjaxLayout = '@Url.Page("/Company/Ticket/Index", "DeleteFile")';
var deleteAllFilesTicketAjaxLayout = '@Url.Page("/Company/Ticket/Index", "RemoveAllTempFiles")';
// check and show modal Camera Account And Workshop Setting
var statusCameraAccountAndWorkshopSettingUrl = `@Url.Page("/Index", "StatusCameraAccountAndWorkshopSetting")`;
var linkCameraAccountAndWorkshopSettingUrl = `#showmodal=@Url.Page("/Company/RollCall/Index", "SaveCameraAccountAndWorkshopSetting")`;
var ajaxServiceLayout = new AjaxService(antiForgeryTokenLayout);
$(document).ready(function () {
statusCameraAccountAndWorkshopSetting();
});
function statusCameraAccountAndWorkshopSetting()
{
ajaxServiceLayout.get(statusCameraAccountAndWorkshopSettingUrl)
.then(response => {
const disableIds = [
'#UploadEmployeePicturePageUrl',
'#ListCurrentDayRollCallsPageUrl',
'#ListRollCallHistoryPageUrl',
'#GroupingOperationsPageUrl'
];
if (response.hasRollCallService) {
$('#RollCallSubMenu').removeClass('disable');
const shouldDisable = !response.hasCameraAccount || !response.hasRollCallWorkshopSetting;
disableIds.forEach(id => {
$(id).toggleClass('disable', shouldDisable);
});
// if (shouldDisable) {
// $('#SetWorkshopWorkingHoursPageUrl a').attr('href', linkCameraAccountAndWorkshopSettingUrl);
// } else {
// $('#SetWorkshopWorkingHoursPageUrl').removeClass('disable');
// }
} else {
$('#RollCallSubMenu').addClass('disable');
}
const customizeCheckoutIds =[
"customize-checkout-grouping",
"customize-checkout-temporary",
"customize-checkout-unofficial",
];
customizeCheckoutIds.forEach(id => {
$(`#${id}`).toggleClass('disable',!response.hasCustomizeCheckout);
})
});
}
$('#MainModal').on('hidden.bs.modal', function () {
$("#ModalContent").html("");
$("#printSection").html("");
});
var url = window.location.href.split('?')[0];
var url2 = window.location.href.split('#')[0];
$('.sidebar-menu li').removeClass('active');
// $('.selectLi').filter(function () {
// if (this.href == url || this.href == url2) {
// $(this).parent().addClass('active');
// };
// });
$('.selectLi').filter(function () {
let href = this.href.split('?')[0].split('#')[0];
return href === url || href === url2;
}).each(function () {
$(this).parent().addClass('active');
const $submenu = $(this).closest('.submenu');
if ($submenu.length) {
$submenu.addClass('open').show();
$submenu.closest('.has-submenu').addClass('active');
$submenu.closest('.has-submenu').find('.toggle-submenu').addClass('open');
}
});
$('.toggle-submenu').on('click', function (e) {
e.preventDefault();
const $this = $(this);
const $submenu = $this.closest('.has-submenu').find('.submenu');
$('.submenu').not($submenu).slideUp().removeClass('open');
$('.toggle-submenu').not($this).removeClass('open');
$submenu.slideToggle().toggleClass('open');
$this.toggleClass('open');
});
$('.selectLi').on('click', function () {
$('.sidebar-menu li').removeClass('active');
const $clickedLi = $(this).closest('li');
$clickedLi.addClass('active');
if ($clickedLi.closest('.submenu').length) {
$clickedLi.closest('.has-submenu').addClass('active');
}
});
// function tutorialIntro() {
// localStorage.removeItem("hasCompletedDashboardTour");
// localStorage.removeItem("hasCompletedWorkShopTour");
// localStorage.removeItem("cardContractIntro");
// localStorage.removeItem("hasCompletedEmployeesTour");
// localStorage.removeItem("hasCompletedEmployeesLeaveTour");
// localStorage.removeItem("hasCompletedEmployeesLeaveListTour");
// }
$(document).ready(function () {
if ($(window).width() < 992) {
$(".sidebar-navigation").toggleClass("small");
// $(".main-wrapper").toggleClass("small");
$(".sidebar").toggleClass("active-sidebar-navigation");
$(".header-container").toggleClass("main-wrapper ");
$(".header-container").toggleClass("small");
$(".content-container").toggleClass("small");
// $(".content-container").toggleClass("");
}
if ($(window).width() > 992) {
$('#overlay').toggleClass("overlay");
}
});
$(".toggle").click(function () {
$(".sidebar-navigation").toggleClass("small");
// $(".main-wrapper").toggleClass("small");
$(".sidebar").toggleClass("active-sidebar-navigation");
$(".header-container").toggleClass("main-wrapper ");
$(".header-container").toggleClass("small");
$(".content-container").toggleClass("small");
// $(".content-container").toggleClass("");
$('#overlay').toggleClass("overlay");
});
$("#close-sidemenu-mobile").click(function () {
$(".sidebar-navigation").toggleClass("small");
$(".sidebar").toggleClass("active-sidebar-navigation");
$(".header-container").toggleClass("main-wrapper ");
$(".header-container").toggleClass("small");
$(".content-container").toggleClass("small");
$('#overlay').toggleClass("overlay");
});
$("#overlay").click(function () {
$(".sidebar-navigation").toggleClass("small");
$(".sidebar").toggleClass("active-sidebar-navigation");
$(".header-container").toggleClass("main-wrapper ");
$(".header-container").toggleClass("small");
$(".content-container").toggleClass("small");
$('#overlay').toggleClass("overlay");
});
//******************** بستن مودال خطا ********************
$(document).on('click', '#closeAlert', function () {
$('.alert-msg').hide();
$('.alert-msg p').text('');
clearTimeout();
});
//******************** بستن مودال خطا ********************
$(document).on("click", function (event) {
var target = $(event.target);
if (!target.closest(".dropdown-menu").length
&& !target.is(".dropdown-menu")
&& !target.is(".user-details .user-info .title")
) {
$(".dropdown").removeClass("open");
}
});
function openSideBar() {
var screenWidth = $(window).width();
var navActive = $('.navigation-right').hasClass('active');
var myWrapperEnlarged = $('#myWrapper').hasClass('enlarged');
if (screenWidth < 600) {
$(".navigation-right").removeClass('active');
$("#myWrapper").removeClass('enlarged');
} else if (navActive && myWrapperEnlarged) {
$(".navigation-right").removeClass('active');
$("#myWrapper").removeClass('enlarged');
} else {
$(".navigation-right").addClass('active');
$("#myWrapper").addClass('enlarged');
}
}
function openSettings() {
let dropdown = $(".user-details .user-info .dropdown");
dropdown.toggleClass("open");
}
function checkUrl() {
var url = window.location.href.split('?')[0];
$('.aMenu').filter(function () {
var id = $(this).attr("id");
if (this.href == url || (id == "regiteremployer" && url.indexOf("/Employers/") > -1)) {
$(".activeTab").removeClass('activeTab');
$(this).parent("li").addClass('activeTab');
};
});
}
// $(document).ready(function () {
// var Scrollbar1 = window.Scrollbar;
// Scrollbar1.init(document.querySelector('#ModelDivScrollbar'), {
// alwaysShowTracks: true,
// });
// });
function SelectWorkshop(slug) {
$.ajax({
async: false,
dataType: 'json',
url: '@Url.Page("/Index", "SelectWorkshop")',
headers: { "RequestVerificationToken": antiForgeryTokenLayout },
type: 'POST',
data: { slug: slug },
success: function (response) {
if (response.isSuccedded) {
$('.alert-success-msg').show();
$('.alert-success-msg p').text(response.message);
setTimeout(function () {
$('.alert-success-msg').hide();
$('.alert-success-msg p').text('');
window.location.reload();
}, 500);
} 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);
}
});
}
$(document).ready(function () {
_RefreshCountMenu();
_RefreshCountRollCallMenu();
_RefreshCountEmployeeDocumentsMenu();
$('input[type="text"], input[type="number"], textarea').each(function () {
$(this).on('input', function () {
var enteredValue = $(this).val();
var englishNumbers = convertPersianNumbersToEnglish(enteredValue);
$(this).val(englishNumbers);
});
});
});
function convertPersianNumbersToEnglish(input) {
var persianNumbers = [/۰/g, /۱/g, /۲/g, /۳/g, /۴/g, /۵/g, /۶/g, /۷/g, /۸/g, /۹/g];
var arabicNumbers = [/٠/g, /١/g, /٢/g, /٣/g, /٤/g, /٥/g, /٦/g, /٧/g, /٨/g, /٩/g];
var str = input;
for (var i = 0; i < 10; i++) {
str = str.replace(persianNumbers[i], i).replace(arabicNumbers[i], i);
}
return str;
}
function _RefreshCountMenu() {
$.ajax({
async: true,
dataType: 'json',
url: '/Client/Company/WorkFlow?handler=CountWorkFlowLayout',
headers: { "RequestVerificationToken": antiForgeryTokenLayout },
type: 'GET',
success: function (response) {
if (response.success) {
if (response.countWorkFlow === 0) {
$('#_countWorkFlowMenu').hide();
$('#spinnerWorkFlow').hide();
$('#_countWorkFlowMenuMobile').hide();
$('#spinnerWorkFlowMobile').hide();
} else {
$('#_countWorkFlowMenu').css('display', 'flex');
$('#spinnerWorkFlow').hide();
$('#_countWorkFlowMenuMobile').show();
// $('#spinnerWorkFlowMobile').hide();
$('#_countWorkFlowMenu').text(response.countWorkFlow);
$('#_countWorkFlowMenuMobile').text(response.countWorkFlow);
}
}
},
error: function (xhr, status, error) {
console.error(xhr.responseText);
}
});
}
function _RefreshCountRollCallMenu() {
$.ajax({
async: true,
dataType: 'json',
url: '/Client/Company/WorkFlow?handler=CountRollCall',
headers: { "RequestVerificationToken": antiForgeryTokenLayout },
type: 'GET',
success: function (response) {
console.log(response);
if (response.success) {
$('#spinnerRollCall').hide();
if (response.countWorkFlow === 0) {
$('#_countRollCallMenuSubmenu').hide();
} else {
$('#_countRollCallMenuSubmenu').css('display', 'flex').text(response.countWorkFlow);
}
}
},
error: function (xhr, status, error) {
console.error(xhr.responseText);
}
});
}
function _RefreshCountEmployeeDocumentsMenu() {
$.ajax({
async: true,
dataType: 'json',
url: '/Client/Company/WorkFlow?handler=CountEmployeeDocuments',
headers: { "RequestVerificationToken": antiForgeryTokenLayout },
type: 'GET',
success: function (response) {
console.log(response);
if (response.success) {
$('#spinnerEmployeeDocuments').hide();
if (response.countWorkFlow === 0) {
$('#_countEmployeeDocumentsMenuSubmenu').hide();
} else {
$('#_countEmployeeDocumentsMenuSubmenu').css('display', 'flex').text(response.countWorkFlow);
}
}
},
error: function (xhr, status, error) {
console.error(xhr.responseText);
}
});
}
// Override the global fetch function to handle errors
// const originalErrorHandler = $.ajaxSetup().error;
$.ajaxSetup({
error: function (jqXHR, textStatus, errorThrown) {
if (jqXHR.status === 500) {
try {
const errorData = jqXHR.responseJSON;
$('.alert-msg').show();
$('.alert-msg p').text(errorData.message || "خطای سمت سرور");
setTimeout(function () {
$('.alert-msg').hide();
$('.alert-msg p').text('');
}, 3500);
} catch (e) {
$('.alert-msg').show();
$('.alert-msg p').text("خطای سمت سرور");
setTimeout(function () {
$('.alert-msg').hide();
$('.alert-msg p').text('');
}, 3500);
console.error("Error parsing response:", e);
}
}
}
});
</script>
<script src="~/assetsclient/js/tickets_action.js?ver=@clientVersion"></script>
@RenderSection("Script", false)
<script>
// window.addEventListener('load', function () {
// console.clear();
// console.log('%c سامانه هوشمند گزارشگیر ©', 'font-family: \'IRANYekanX\', serif; color: #00ff00; font-size: 10px; font-weight: bold;');
// });
</script>
</body>
</html>