500 lines
16 KiB
Plaintext
500 lines
16 KiB
Plaintext
@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 () {
|
||
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');
|
||
}
|
||
});
|
||
});
|
||
|
||
$('#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> |