From 4b23448cc18b3da27ce5061dc04f450caa7c3398 Mon Sep 17 00:00:00 2001 From: MahanCh Date: Mon, 19 May 2025 17:55:58 +0330 Subject: [PATCH 1/6] change rotating shift report style --- .../_Partials/ModalDetailsRotatingShiftReport.cshtml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ServiceHost/Areas/Client/Pages/Company/Checkouts/_Partials/ModalDetailsRotatingShiftReport.cshtml b/ServiceHost/Areas/Client/Pages/Company/Checkouts/_Partials/ModalDetailsRotatingShiftReport.cshtml index cc737f38..6efbea6d 100644 --- a/ServiceHost/Areas/Client/Pages/Company/Checkouts/_Partials/ModalDetailsRotatingShiftReport.cshtml +++ b/ServiceHost/Areas/Client/Pages/Company/Checkouts/_Partials/ModalDetailsRotatingShiftReport.cshtml @@ -76,7 +76,7 @@
-
+
وضعیت نوبت کاری: @Model.RotatingStatus
@@ -100,7 +100,7 @@
-
+
ردیف From 0cd8d5b4cf827d76b48168c62e2e8ef454c2c351 Mon Sep 17 00:00:00 2001 From: MahanCh Date: Mon, 19 May 2025 18:29:36 +0330 Subject: [PATCH 2/6] change confirm insurance style --- .../InsuranceList/InsuranceConfirm.cshtml | 980 +++++++++--------- 1 file changed, 494 insertions(+), 486 deletions(-) diff --git a/ServiceHost/Areas/Admin/Pages/Company/InsuranceList/InsuranceConfirm.cshtml b/ServiceHost/Areas/Admin/Pages/Company/InsuranceList/InsuranceConfirm.cshtml index f00ecb45..46b64a38 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/InsuranceList/InsuranceConfirm.cshtml +++ b/ServiceHost/Areas/Admin/Pages/Company/InsuranceList/InsuranceConfirm.cshtml @@ -40,8 +40,7 @@ align-items: center; margin: 1rem 0; } - - .last-div { + .last-div{ width: 100%; /* height: 55px; */ } @@ -73,18 +72,20 @@ margin: 0 9rem; } - @@page { + @@page { size: A4 landscape; } .table-container-employee { - display: flex; - width: 100%; - justify-content: space-between; + display: flex; + width: 100%; + justify-content: space-between; } .trTable:nth-child(2n) { - background-color: #f1f1f1 !important; + background-color: #f1f1f1 !important; + -webkit-print-color-adjust: exact !important; + print-color-adjust: exact !important; } #printThis .table-bordered .has-left-work p, #printThis .table-bordered .has-start-work p { @@ -208,15 +209,15 @@ } #printThis .colgp-12 { - width: 44px; + width: 44px; } #printThis .colgp-13 { - width: 44px; + width: 44px; } #printThis .colgp-14 { - width: 40px; + width: 40px; } #printThis .table-bordered > tbody > tr:nth-child(12n) td:first-child { @@ -242,10 +243,10 @@ align-items: center; } - .titleSection p { - margin: 0; - text-align: right; - } + .titleSection p{ + margin: 0; + text-align: right; + } .titles { margin-left: auto; @@ -344,9 +345,9 @@ width: 18px; } - #printThis .colgp-7 { - width: 44px; - } + #printThis .colgp-7 { + width: 44px; + } #printThis .colgp-8 { width: 44px; @@ -356,13 +357,13 @@ width: 44px; } - #printThis .colgp-10 { - width: 44px; - } + #printThis .colgp-10 { + width: 44px; + } - #printThis .colgp-11 { - width: 44px; - } + #printThis .colgp-11 { + width: 44px; + } #printThis .colgp-12 { width: 44px; @@ -384,14 +385,14 @@ width: 60px; } - .col-md-9, .col-sm-9, .col-lg-9 { + .col-md-9, .col-sm-9, .col-lg-9 { width: 75%; - float: right; - } + float: right; + } - .asignment { - width: 25%; - } + .asignment { + width: 25%; + } } @@media screen { @@ -410,8 +411,8 @@ margin: 0 !important; padding: 0 !important; overflow: clip; - -webkit-print-color-adjust: exact !important; - print-color-adjust: exact !important; + -webkit-print-color-adjust:exact !important; + print-color-adjust:exact !important; } .modal-dialog { @@ -432,7 +433,7 @@ } .size-a4 { - width: 276mm; + width: 276mm; } #printThis .table-container { @@ -447,27 +448,26 @@ width: 100%; max-height: 15cm; border: hidden !important; - border-right: 0; + border-right :0; border-left: 0; } - #printThis .table-bordered > thead > tr > th { - font-size: 10px; - color: black; - text-align: center; - vertical-align: middle; - padding: 0; - border: 1px solid black; - } - - #printThis .table-bordered > tbody > tr > td { - padding: 8px 2px; - text-align: center; - font-size: 1rem; - border: 1px solid black; - } + #printThis .table-bordered > thead > tr > th { + font-size: 10px; + color: black; + text-align: center; + vertical-align: middle; + padding: 0; + border: 1px solid black; + } + #printThis .table-bordered > tbody > tr > td { + padding: 8px 2px; + text-align: center; + font-size: 1rem; + border: 1px solid black; + } .summary { display: flex; justify-content: flex-end; @@ -495,24 +495,33 @@ color: grey !important; } - .row-color2 .fa-square:before { - color: grey !important; - } + .row-color2 .fa-square:before { + color: grey !important; + } #printThis .table-bordered .has-left-work td { background: black !important; color: white !important; } - #printThis .table-bordered .has-left-work td p { - color: white !important; - } + #printThis .table-bordered .has-left-work td p{ + color: white !important; + } #printThis .table-bordered .has-start-work td { background: grey !important; } + + #printThis .trTable.new-leftwork td { + background-color: #333333 !important; + color: #ffffff !important; + -webkit-print-color-adjust: exact !important; + print-color-adjust: exact !important; + } } + + @@ -542,24 +551,24 @@
- @* *@ + @* *@
-

- * سطر به رنگ - به معنای ترک کار پرسنل می باشد. -

-

- * سطر به رنگ به معنای شروع بکار پرسنل می باشد. -

-
+

+ * سطر به رنگ + به معنای ترک کار پرسنل می باشد. +

+

+ * سطر به رنگ به معنای شروع بکار پرسنل می باشد. +

+
-

تایید کارفرما جهت تنظیم لیست بیمه پرسنل

-
+

تایید کارفرما جهت تنظیم لیست بیمه پرسنل

+
- -
+ +
@@ -587,307 +596,306 @@ - - توضیحات - مجموع مزایای ماهانه غیرمشمول - مجموع حقوق و مزایای ماهیانه - مجموع مزایای ماهیانه - حق تاهل - دستمزد ماهانه - پایه سنوات روزانه - دستمزد روزانه - روز کارکرد - سمت - کدملی - نام و نام خانوادگی - شماره بیمه - ردیف - + + توضیحات + مجموع مزایای ماهانه غیرمشمول + مجموع حقوق و مزایای ماهیانه + مجموع مزایای ماهیانه + حق تاهل + دستمزد ماهانه + پایه سنوات روزانه + دستمزد روزانه + روز کارکرد + سمت + کدملی + نام و نام خانوادگی + شماره بیمه + ردیف + - @{ - int count_j = 0; + @{ + int count_j = 0; - // count_j = (i == 0 ? (((CountList < 12) || (i == (q - 1) && CountList!=12)) ? r : 12) : (((CountList < 12) || (i == (q - 1))) ? r : 12)); + // count_j = (i == 0 ? (((CountList < 12) || (i == (q - 1) && CountList!=12)) ? r : 12) : (((CountList < 12) || (i == (q - 1))) ? r : 12)); - if (i == 0 && ((CountList < 12) || (i == (q - 1) && CountList != 12))) - { - count_j = r; - } - else if (i == 0 && (CountList >= 12 || (i != (q - 1)))) - { - count_j = 12; - } - else if (i != 0 && ((CountList < 12) || ((i == (q - 1)) && r != 0))) - { - count_j = r; - } - else - count_j = 12; - - - if (i == (q - 1)) - count_j = (i * 12) + count_j; - else - { - count_j = ((i + 1) * count_j); - } - } - @for (int j = (i * 12); j < count_j; j++) + if (i == 0 && ((CountList < 12) || (i == (q - 1) && CountList != 12))) { + count_j = r; + } + else if (i == 0 && (CountList >= 12 || (i != (q - 1)))) + { + count_j = 12; + } + else if (i != 0 && ((CountList < 12) || ((i == (q - 1))&& r!=0))) + { + count_j = r; + } + else + count_j = 12; + + + if (i == (q - 1)) + count_j = (i * 12) + count_j; + else + { + count_j = ((i + 1) * count_j); + } + } + @for (int j = (i * 12); j < count_j; j++) + { @**@ - - @if (i == (q - 1)) - { - - @if (!string.IsNullOrEmpty(Model.EmployeeDetailsForInsuranceList[j].LeftWorkDate)) - { -

@Model.EmployeeDetailsForInsuranceList[j].LeftWorkDate

- } - @if (Model.EmployeeDetailsForInsuranceList[j].HasStartWorkInMonth) - { -

@Model.EmployeeDetailsForInsuranceList[j].StartWorkDate

- } - - } - else - { - - @if (!string.IsNullOrEmpty(Model.EmployeeDetailsForInsuranceList[j].LeftWorkDate)) - { -

@Model.EmployeeDetailsForInsuranceList[j].LeftWorkDate

- } - @if (Model.EmployeeDetailsForInsuranceList[j].HasStartWorkInMonth) - { -

@Model.EmployeeDetailsForInsuranceList[j].StartWorkDate

- } - - } - @Model.EmployeeDetailsForInsuranceList[j].BenefitsIncludedNonContinuous.ToMoney() - @Model.EmployeeDetailsForInsuranceList[j].BenefitsIncludedContinuous.ToMoney() - @Model.EmployeeDetailsForInsuranceList[j].MonthlyBenefits.ToMoney() - @Model.EmployeeDetailsForInsuranceList[j].MarriedAllowance.ToMoney() - @Model.EmployeeDetailsForInsuranceList[j].MonthlySalary.ToMoney() - @Model.EmployeeDetailsForInsuranceList[j].BaseYears.ToMoney() - @Model.EmployeeDetailsForInsuranceList[j].DailyWage.ToMoney() - @Model.EmployeeDetailsForInsuranceList[j].WorkingDays - @Model.EmployeeDetailsForInsuranceList[j].JobName - @Model.EmployeeDetailsForInsuranceList[j].NationalCode - @(Model.EmployeeDetailsForInsuranceList[j].FName + " " + Model.EmployeeDetailsForInsuranceList[j].LName) - @Model.EmployeeDetailsForInsuranceList[j].InsuranceCode - @* @index *@ - @if (i == (q - 1)) - { - @index - } - else - { - @index - } + + @if (i == (q - 1)) + { + + @if (!string.IsNullOrEmpty(Model.EmployeeDetailsForInsuranceList[j].LeftWorkDate)) + { +

@Model.EmployeeDetailsForInsuranceList[j].LeftWorkDate

+ } + @if (Model.EmployeeDetailsForInsuranceList[j].HasStartWorkInMonth) + { +

@Model.EmployeeDetailsForInsuranceList[j].StartWorkDate

+ } + + } + else + { + + @if (!string.IsNullOrEmpty(Model.EmployeeDetailsForInsuranceList[j].LeftWorkDate)) + { +

@Model.EmployeeDetailsForInsuranceList[j].LeftWorkDate

+ } + @if (Model.EmployeeDetailsForInsuranceList[j].HasStartWorkInMonth) + { +

@Model.EmployeeDetailsForInsuranceList[j].StartWorkDate

+ } + + } + @Model.EmployeeDetailsForInsuranceList[j].BenefitsIncludedNonContinuous.ToMoney() + @Model.EmployeeDetailsForInsuranceList[j].BenefitsIncludedContinuous.ToMoney() + @Model.EmployeeDetailsForInsuranceList[j].MonthlyBenefits.ToMoney() + @Model.EmployeeDetailsForInsuranceList[j].MarriedAllowance.ToMoney() + @Model.EmployeeDetailsForInsuranceList[j].MonthlySalary.ToMoney() + @Model.EmployeeDetailsForInsuranceList[j].BaseYears.ToMoney() + @Model.EmployeeDetailsForInsuranceList[j].DailyWage.ToMoney() + @Model.EmployeeDetailsForInsuranceList[j].WorkingDays + @Model.EmployeeDetailsForInsuranceList[j].JobName + @Model.EmployeeDetailsForInsuranceList[j].NationalCode + @(Model.EmployeeDetailsForInsuranceList[j].FName + " " + Model.EmployeeDetailsForInsuranceList[j].LName) + @Model.EmployeeDetailsForInsuranceList[j].InsuranceCode + @* @index *@ + @if (i == (q - 1)) + { + @index + } + else + { + @index + } - - index = index + 1; - } - @if (i == (q - 1) && (r > 0 && r <= 8)) - { - CountLastRow = 0; - hasLastRow = true; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @Model.EmployeeDetailsForInsuranceList.Sum(x => x.BenefitsIncludedNonContinuous).ToMoney() - @Model.EmployeeDetailsForInsuranceList.Sum(x => x.BenefitsIncludedContinuous).ToMoney() - @Model.EmployeeDetailsForInsuranceList.Sum(x => x.MonthlyBenefits).ToMoney() - @Model.EmployeeDetailsForInsuranceList.Sum(x => x.MarriedAllowance).ToMoney() - @Model.EmployeeDetailsForInsuranceList.Sum(x => x.MonthlySalary).ToMoney() - @Model.EmployeeDetailsForInsuranceList.Sum(x => x.BaseYears).ToMoney() - @Model.EmployeeDetailsForInsuranceList.Sum(x => x.DailyWage).ToMoney() - @Model.EmployeeDetailsForInsuranceList.Sum(x => x.WorkingDays) - - - - - - - } - else if (i == (q - 1) && (r > 0 && r <= 9)) - { - CountLastRow = 1; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - } - else if (i == (q - 1) && (r > 0 && r <= 10)) - { - CountLastRow = 2; - - - - - - - - - - - - - - - - - } + + index = index + 1; + } + @if (i == (q - 1) && (r>0 && r <= 8 )) + { + CountLastRow = 0; + hasLastRow = true; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @Model.EmployeeDetailsForInsuranceList.Sum(x => x.BenefitsIncludedNonContinuous).ToMoney() + @Model.EmployeeDetailsForInsuranceList.Sum(x => x.BenefitsIncludedContinuous).ToMoney() + @Model.EmployeeDetailsForInsuranceList.Sum(x => x.MonthlyBenefits).ToMoney() + @Model.EmployeeDetailsForInsuranceList.Sum(x => x.MarriedAllowance).ToMoney() + @Model.EmployeeDetailsForInsuranceList.Sum(x => x.MonthlySalary).ToMoney() + @Model.EmployeeDetailsForInsuranceList.Sum(x => x.BaseYears).ToMoney() + @Model.EmployeeDetailsForInsuranceList.Sum(x => x.DailyWage).ToMoney() + @Model.EmployeeDetailsForInsuranceList.Sum(x => x.WorkingDays) + + + + + + + } + else if (i == (q - 1) && (r>0 && r <= 9)) + { + CountLastRow=1; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + } + else if (i == (q - 1) && (r>0 && r <= 10)) + { + CountLastRow=2; + + + + + + + + + + + + + + + + + }
-
+
-
- @{ - var pageStartIndex = i * 12; - var pageEndIndex = (i == q - 1) ? ((i * 12) + r) : ((i + 1) * 12); +
+ @{ + var pageStartIndex = i * 12; + var pageEndIndex = (i == q - 1) ? ((i * 12) + r) : ((i + 1) * 12); - var pageEmployees = Model.EmployeeDetailsForInsuranceList - .Skip(pageStartIndex) - .Take(pageEndIndex - pageStartIndex) - .ToList(); - var pageEmployeeIds = pageEmployees.Select(x => x.EmployeeId).ToHashSet(); + var pageEmployees = Model.EmployeeDetailsForInsuranceList + .Skip(pageStartIndex) + .Take(pageEndIndex - pageStartIndex) + .ToList(); + var pageEmployeeIds = pageEmployees.Select(x => x.EmployeeId).ToHashSet(); - var leftWorkList = Model.LeftWorkEmployees - .Where(x => pageEmployeeIds.Contains(x.EmployeeId)) - .Select(x => new LeftWorkViewModel - { - EmployeeFullName = x.EmployeeFullName ?? "-", - LeftWorkDate = x.LeftWorkDate ?? "-" - }) - .ToList(); + var leftWorkList = Model.LeftWorkEmployees + .Where(x => pageEmployeeIds.Contains(x.EmployeeId)) + .Select(x => new LeftWorkViewModel { + EmployeeFullName = x.EmployeeFullName ?? "-", + LeftWorkDate = x.LeftWorkDate ?? "-" + }) + .ToList(); - while (leftWorkList.Count < 12) - { + while (leftWorkList.Count < 12) + { leftWorkList.Add(new LeftWorkViewModel { EmployeeFullName = "-", LeftWorkDate = "-" }); - } + } var tables = new List>(); - for (int t = 0; t < 3; t++) - { - tables.Add(leftWorkList.Skip(t * 4).Take(4).ToList()); - } - } + for (int t = 0; t < 3; t++) + { + tables.Add(leftWorkList.Skip(t * 4).Take(4).ToList()); + } + } -

هشدار پرسنل ذیل با توجه به تاریخ مندرج با مجموعه شما هیچگونه قرارداد کاری ندارند.

-
-
+

هشدار پرسنل ذیل با توجه به تاریخ مندرج با مجموعه شما هیچگونه قرارداد کاری ندارند.

+
+
+ + @for (int t = 0; t < tables.Count; t++) + { + var table = tables[t]; + + + + + - @for (int t = 0; t < tables.Count; t++) - { - var table = tables[t]; -
- - - - + + + + - - - - - - @foreach (var item in table) - { - - + - - } -
تاریخنام پرسنل
تاریخنام پرسنل
+ @foreach (var item in table) + { +
@item.LeftWorkDate + @item.EmployeeFullName
- } + } + + } + + - - - - @* + + @*
@@ -907,11 +915,11 @@
*@ -
-
-
+
+ +
- @*

* سطر به رنگ @@ -921,8 +929,8 @@ * سطر به رنگ به معنای شروع بکار پرسنل می باشد.

*@ -

صفحه @(i + 1) از @((r > 0 && r <= 8) ? q : q + 1)

-
+

صفحه @(i + 1) از @((r > 0 && r <= 8) ? q : q + 1)

+
@*
*@
امضا و تایید کارفرما
@@ -936,7 +944,7 @@ if (!hasLastRow) { -
+
@* *@ @@ -957,42 +965,129 @@
- - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - @if (CountLastRow == 0) + @if (CountLastRow == 0) + { + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + } + else if (CountLastRow == 2) + { + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + } + + else if (CountLastRow == 1) { @@ -1009,113 +1104,26 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - } - else if (CountLastRow == 2) - { - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + } - else if (CountLastRow == 1) - { - - - - - - - - - - - - - - - - - } - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + +
توضیحات مجموع مزایای ماهانه غیرمشمول مجموع حقوق و مزایای ماهیانه مجموع مزایای ماهیانه حق تاهل دستمزد ماهانه پایه سنوات روزانه دستمزد روزانه روز کارکرد سمت کدملی نام و نام خانوادگی شماره بیمه ردیف
توضیحات مجموع مزایای ماهانه غیرمشمول مجموع حقوق و مزایای ماهیانه مجموع مزایای ماهیانه حق تاهل دستمزد ماهانه پایه سنوات روزانه دستمزد روزانه روز کارکرد سمت کدملی نام و نام خانوادگی شماره بیمه ردیف
@Model.EmployeeDetailsForInsuranceList.Sum(x => x.BenefitsIncludedNonContinuous).ToMoney()@Model.EmployeeDetailsForInsuranceList.Sum(x => x.BenefitsIncludedContinuous).ToMoney()@Model.EmployeeDetailsForInsuranceList.Sum(x => x.MonthlyBenefits).ToMoney()@Model.EmployeeDetailsForInsuranceList.Sum(x => x.MarriedAllowance).ToMoney()@Model.EmployeeDetailsForInsuranceList.Sum(x => x.MonthlySalary).ToMoney()@Model.EmployeeDetailsForInsuranceList.Sum(x => x.BaseYears).ToMoney()@Model.EmployeeDetailsForInsuranceList.Sum(x => x.DailyWage).ToMoney()@Model.EmployeeDetailsForInsuranceList.Sum(x => x.WorkingDays)
@Model.EmployeeDetailsForInsuranceList.Sum(x => x.BenefitsIncludedNonContinuous).ToMoney()@Model.EmployeeDetailsForInsuranceList.Sum(x => x.BenefitsIncludedContinuous).ToMoney()@Model.EmployeeDetailsForInsuranceList.Sum(x => x.MonthlyBenefits).ToMoney()@Model.EmployeeDetailsForInsuranceList.Sum(x => x.MarriedAllowance).ToMoney()@Model.EmployeeDetailsForInsuranceList.Sum(x => x.MonthlySalary).ToMoney()@Model.EmployeeDetailsForInsuranceList.Sum(x => x.BaseYears).ToMoney()@Model.EmployeeDetailsForInsuranceList.Sum(x => x.DailyWage).ToMoney()@Model.EmployeeDetailsForInsuranceList.Sum(x => x.WorkingDays)
@@ -1130,7 +1138,7 @@ * سطر به رنگ به معنای شروع بکار پرسنل می باشد.

-

صفحه @(q + 1) از @(q + 1)

+

صفحه @(q+1) از @(q+1)

From 3b38b80a282c6858623eb26178dd1d9d191dd4d4 Mon Sep 17 00:00:00 2001 From: MahanCh Date: Mon, 19 May 2025 20:32:15 +0330 Subject: [PATCH 3/6] add list pending --- .../Task/EditTask.cs | 1 + .../Task/TaskViewModel.cs | 1 + .../TaskScheduleDetailsViewModel.cs | 2 + .../Repository/TaskRepository.cs | 56 +++--- .../Repository/TaskScheduleRepository.cs | 17 +- .../Pages/Company/Task/DetailsModal.cshtml | 7 +- .../Company/Task/DetailsScheduleModal.cshtml | 182 +++++++++++------- .../AdminNew/Pages/Company/Task/Index.cshtml | 2 +- .../wwwroot/AssetsAdminNew/Tasks/js/Index.js | 29 ++- 9 files changed, 186 insertions(+), 111 deletions(-) diff --git a/AccountManagement.Application.Contracts/Task/EditTask.cs b/AccountManagement.Application.Contracts/Task/EditTask.cs index 7769c629..f70c6706 100644 --- a/AccountManagement.Application.Contracts/Task/EditTask.cs +++ b/AccountManagement.Application.Contracts/Task/EditTask.cs @@ -21,4 +21,5 @@ public class EditTask:CreateTask public List AssignsLists { get; set; } public bool HasTicket { get; set; } public long TaskScheduleId { get; set; } + public bool HasRequest { get; set; } } \ No newline at end of file diff --git a/AccountManagement.Application.Contracts/Task/TaskViewModel.cs b/AccountManagement.Application.Contracts/Task/TaskViewModel.cs index 30c4562b..56fa2fab 100644 --- a/AccountManagement.Application.Contracts/Task/TaskViewModel.cs +++ b/AccountManagement.Application.Contracts/Task/TaskViewModel.cs @@ -48,6 +48,7 @@ public class TaskViewModel public bool CanDelete { get; set; } public bool CanAssign { get; set; } public bool CanCheckRequests { get; set; } + public bool HasRequest { get; set; } public AssignViewModel AssignedReceiverViewModel { get; set; } public TaskScheduleType ScheduleType { get; set; } diff --git a/AccountManagement.Application.Contracts/TaskSchedule/TaskScheduleDetailsViewModel.cs b/AccountManagement.Application.Contracts/TaskSchedule/TaskScheduleDetailsViewModel.cs index 637f1fbb..12b40d31 100644 --- a/AccountManagement.Application.Contracts/TaskSchedule/TaskScheduleDetailsViewModel.cs +++ b/AccountManagement.Application.Contracts/TaskSchedule/TaskScheduleDetailsViewModel.cs @@ -15,6 +15,8 @@ public class TaskScheduleDetailsViewModel public string ContractingPartyName { get; set; } public string Title { get; set; } public string Description { get; set; } + public string Count { get; set; } + public string FirstEndTaskDate { get; set; } public List Medias { get; set; } } \ No newline at end of file diff --git a/AccountMangement.Infrastructure.EFCore/Repository/TaskRepository.cs b/AccountMangement.Infrastructure.EFCore/Repository/TaskRepository.cs index 4a41b01e..84e805e5 100644 --- a/AccountMangement.Infrastructure.EFCore/Repository/TaskRepository.cs +++ b/AccountMangement.Infrastructure.EFCore/Repository/TaskRepository.cs @@ -106,14 +106,16 @@ public class TaskRepository : RepositoryBase, ITaskRepository { res.EndTaskDate = _accountContext.Assigns.First(a => a.TaskId == res.Id && a.AssignedId == userId) .EndTaskDate.ToFarsi(); - + var userAssign = res.AssignViewModels.First(x => x.AssignedId == userId); res.AssignViewModels = res.AssignViewModels.Where(x => x.AssignedId == userId).ToList(); - res.IsDone = res.AssignViewModels.First(x => x.AssignedId == userId).IsDone; - res.IsCancel = res.AssignViewModels.First(x => x.AssignedId == userId).IsCancel; + res.IsDone = userAssign.IsDone; + res.IsCancel = userAssign.IsCancel; + res.HasRequest = userAssign.IsCanceledRequest || userAssign.TimeRequest || + userAssign.IsDoneRequest; } - if (res.TaskScheduleId>0) + if (res.TaskScheduleId > 0) { var taskSchedule = _accountContext.TaskSchedules.FirstOrDefault(x => x.id == res.TaskScheduleId); @@ -121,7 +123,7 @@ public class TaskRepository : RepositoryBase, ITaskRepository res.ScheduleType = taskSchedule.Type; res.ScheduleCount = taskSchedule.Count; res.ScheduleUnitNumber = taskSchedule.UnitNumber; - } + } //_accountContext.Tasks.Where(x => x.id == TaskId).Select(x => new EditTask() @@ -160,8 +162,6 @@ public class TaskRepository : RepositoryBase, ITaskRepository Remove(task); } - - public List GetRequestedTasks(TaskSearchModel searchModel) { var accountId = long.Parse(_contextAccessor.HttpContext.User.FindFirst("AccountId").Value); @@ -900,7 +900,7 @@ public class TaskRepository : RepositoryBase, ITaskRepository AcceptedTimeRequest = x.AcceptedTimeRequest, IsCancelRequest = x.IsCancelRequest, ContractingPartyName = x.ContractingPartyName, - Color = x.IsDone ? "green" : SetTasksColors(x.EndTaskDateGE, x.IsCancel), + Color = x.IsDone ? "green" : SetTasksColors(x.EndTaskDateGE, x.IsCancel, false), MediaCount = x.MediaCount, HasAttachment = x.MediaCount > 0, SelfName = x.SelfName, @@ -1229,7 +1229,7 @@ public class TaskRepository : RepositoryBase, ITaskRepository AcceptedTimeRequest = x.AcceptedTimeRequest, IsCancelRequest = x.IsCancelRequest, ContractingPartyName = x.ContractingPartyName, - Color = x.IsDone ? "green" : SetTasksColors(x.EndTaskDateGE, x.IsCancel), + Color = x.IsDone ? "green" : SetTasksColors(x.EndTaskDateGE, x.IsCancel, false), MediaCount = x.MediaCount, HasAttachment = x.MediaCount > 0, SelfName = x.SelfName, @@ -1788,7 +1788,7 @@ public class TaskRepository : RepositoryBase, ITaskRepository AcceptedTimeRequest = x.AcceptedTimeRequest, IsCancelRequest = x.IsCancelRequest, ContractingPartyName = x.ContractingPartyName, - Color = x.IsDone ? "green" : SetTasksColors(x.EndTaskDateGE, x.IsCancel), + Color = x.IsDone ? "green" : SetTasksColors(x.EndTaskDateGE, x.IsCancel, false), MediaCount = x.MediaCount, HasAttachment = x.MediaCount > 0, SelfName = x.SelfName, @@ -2056,7 +2056,7 @@ public class TaskRepository : RepositoryBase, ITaskRepository TaskScheduleId = x.TaskScheduleId - }).ToList(); + }).ToList(); final = final.Select(x => new TaskViewModel() @@ -2082,7 +2082,7 @@ public class TaskRepository : RepositoryBase, ITaskRepository AcceptedTimeRequest = x.AcceptedTimeRequest, IsCancelRequest = x.IsCancelRequest, ContractingPartyName = x.ContractingPartyName, - Color = x.IsDone ? "green" : SetTasksColors(x.EndTaskDateGE, x.IsCancel), + Color = x.IsDone ? "green" : SetTasksColors(x.EndTaskDateGE, x.IsCancel, false), MediaCount = x.MediaCount, HasAttachment = x.MediaCount > 0, SelfName = x.SelfName, @@ -2095,7 +2095,7 @@ public class TaskRepository : RepositoryBase, ITaskRepository ScheduleUnitType = x.ScheduleUnitType, TaskScheduleId = x.TaskScheduleId - }).ToList(); + }).ToList(); final = final.Select(x => new TaskViewModel() { @@ -2149,12 +2149,15 @@ public class TaskRepository : RepositoryBase, ITaskRepository ScheduleUnitType = x.ScheduleUnitType, TaskScheduleId = x.TaskScheduleId - }).ToList(); + }).ToList(); return final; } - public string SetTasksColors(DateTime date, bool isCancel) + public string SetTasksColors(DateTime date, bool isCancel, bool hasRequest) { + if (hasRequest) + return "red"; + if (isCancel) { //return "brown"; @@ -2390,7 +2393,7 @@ public class TaskRepository : RepositoryBase, ITaskRepository public List GetTasksByTaskScheduleId(long taskScheduleId) { - return _accountContext.Tasks.Include(x=>x.Assigns).Where(x => x.TaskScheduleId != null && x.TaskScheduleId == taskScheduleId).ToList(); + return _accountContext.Tasks.Include(x => x.Assigns).Where(x => x.TaskScheduleId != null && x.TaskScheduleId == taskScheduleId).ToList(); } @@ -2658,7 +2661,7 @@ public class TaskRepository : RepositoryBase, ITaskRepository AcceptedTimeRequest = x.AcceptedTimeRequest, IsCancelRequest = x.IsCancelRequest, ContractingPartyName = x.ContractingPartyName, - Color = x.IsDone ? "green" : SetTasksColors(x.EndTaskDateGE, x.IsCancel), + Color = x.IsDone ? "green" : SetTasksColors(x.EndTaskDateGE, x.IsCancel, false), MediaCount = x.MediaCount, HasAttachment = x.MediaCount > 0, SelfName = x.SelfName, @@ -2722,6 +2725,7 @@ public class TaskRepository : RepositoryBase, ITaskRepository { var accountId = long.Parse(_contextAccessor.HttpContext.User.FindFirst("AccountId").Value); var positionValue = int.Parse(_contextAccessor.HttpContext.User.FindFirst("PositionValue").Value); + var today = DateTime.Today; var emptyAcc = new AccountViewModel() { Fullname = "-", @@ -2731,7 +2735,7 @@ public class TaskRepository : RepositoryBase, ITaskRepository var raw = _accountContext.Assigns.Include(x => x.Task).ThenInclude(x => x.TaskMedias) .ThenInclude(x => x.Media) .Where(x => - x.Task.IsActiveString == "true" && x.AssignedId == accountId && (!x.IsCanceledRequest && !x.TimeRequest && !x.IsDoneRequest) && x.Task.TicketId == null); + x.Task.IsActiveString == "true" && x.AssignedId == accountId && x.Task.TicketId == null); if (!string.IsNullOrWhiteSpace(searchModel.GeneralSearch)) { raw = raw.Where(x => @@ -2764,6 +2768,7 @@ public class TaskRepository : RepositoryBase, ITaskRepository MediaCount = _accountContext.TaskMedias.Count(m => m.TaskId == x.Task.id), Description = x.Task.Description, IsDoneRequest = x.IsDoneRequest, + }); if (!string.IsNullOrWhiteSpace(searchModel.GeneralSearch)) { @@ -2802,7 +2807,8 @@ public class TaskRepository : RepositoryBase, ITaskRepository ContractingPartyName = x.ContractingPartyName, MediaCount = x.MediaCount, Description = x.Description, - IsDoneRequest = x.IsDoneRequest + IsDoneRequest = x.IsDoneRequest, + HasRequest = x.IsCancelRequest || x.RequestTime || x.IsDoneRequest }); if (!string.IsNullOrWhiteSpace(searchModel.StartDate) && !string.IsNullOrWhiteSpace(searchModel.EndDate)) { @@ -2871,8 +2877,10 @@ public class TaskRepository : RepositoryBase, ITaskRepository } - var orderResult = result.OrderByDescending(x => x.IsCancel ? 0 : 1).ThenBy(x => x.IsDone ? 1 : 0) - .ThenBy(x => x.EndTaskDateGE); + var orderResult = result.OrderBy(x => x.IsDone || x.IsCancel) + .ThenByDescending(x => x.EndTaskDateGE <= today.AddDays(1) && !x.HasRequest) + .ThenByDescending(x => x.HasRequest) + .ThenBy(x => x.EndTaskDateGE); // مرتب‌سازی داخلی بر اساس تاریخ var final = orderResult.Skip(searchModel.PageIndex).Take(30).ToList(); @@ -2906,7 +2914,8 @@ public class TaskRepository : RepositoryBase, ITaskRepository MediaCount = x.MediaCount, SelfName = x.SelfName, Description = x.Description, - IsDoneRequest = x.IsDoneRequest + IsDoneRequest = x.IsDoneRequest, + HasRequest = x.IsDoneRequest || x.RequestTime || x.IsCancelRequest }).ToList(); @@ -2934,7 +2943,7 @@ public class TaskRepository : RepositoryBase, ITaskRepository AcceptedTimeRequest = x.AcceptedTimeRequest, IsCancelRequest = x.IsCancelRequest, ContractingPartyName = x.ContractingPartyName, - Color = x.IsDone ? "green" : SetTasksColors(x.EndTaskDateGE, x.IsCancel), + Color = x.IsDone ? "green" : SetTasksColors(x.EndTaskDateGE, x.IsCancel, x.HasRequest), MediaCount = x.MediaCount, HasAttachment = x.MediaCount > 0, SelfName = x.SelfName, @@ -2993,6 +3002,7 @@ public class TaskRepository : RepositoryBase, ITaskRepository AssignedName = "-", AssignedPositionValue = 0 }, + HasRequest = x.IsCancelRequest || x.RequestTime || x.IsDoneRequest }).ToList(); return final; } diff --git a/AccountMangement.Infrastructure.EFCore/Repository/TaskScheduleRepository.cs b/AccountMangement.Infrastructure.EFCore/Repository/TaskScheduleRepository.cs index 7228b20b..6563e91d 100644 --- a/AccountMangement.Infrastructure.EFCore/Repository/TaskScheduleRepository.cs +++ b/AccountMangement.Infrastructure.EFCore/Repository/TaskScheduleRepository.cs @@ -3,25 +3,26 @@ using System.Threading.Tasks; using _0_Framework.Application; using _0_Framework.InfraStructure; using AccountManagement.Application.Contracts.Media; +using AccountManagement.Application.Contracts.Task; using AccountManagement.Application.Contracts.TaskSchedule; using AccountManagement.Domain.TaskScheduleAgg; using Microsoft.EntityFrameworkCore; namespace AccountMangement.Infrastructure.EFCore.Repository; -public class TaskScheduleRepository: RepositoryBase, ITaskScheduleRepository +public class TaskScheduleRepository : RepositoryBase, ITaskScheduleRepository { private readonly AccountContext _accountContext; - public TaskScheduleRepository(AccountContext accountContext):base(accountContext) + public TaskScheduleRepository(AccountContext accountContext) : base(accountContext) { _accountContext = accountContext; } public async Task GetDetails(long id) { - var taskSchedule=await _accountContext.TaskSchedules.Include(x=>x.TasksList).ThenInclude(x=>x.Assigns) - .Include(x=>x.TasksList).ThenInclude(x=>x.TaskMedias).ThenInclude(x=>x.Media).FirstOrDefaultAsync(x => x.id == id); + var taskSchedule = await _accountContext.TaskSchedules.Include(x => x.TasksList).ThenInclude(x => x.Assigns) + .Include(x => x.TasksList).ThenInclude(x => x.TaskMedias).ThenInclude(x => x.Media).FirstOrDefaultAsync(x => x.id == id); if (taskSchedule == null) { return null; @@ -29,7 +30,7 @@ public class TaskScheduleRepository: RepositoryBase, ITaskSc var firstTaskDetails = taskSchedule.TasksList.First(); - var firstTimeAssigns = firstTaskDetails.Assigns.Where(x=>x.FirstTimeCreation).ToList(); + var firstTimeAssigns = firstTaskDetails.Assigns.Where(x => x.FirstTimeCreation).ToList(); var assignedIds = firstTimeAssigns.Select(x => x.AssignedId).ToList(); @@ -46,13 +47,15 @@ public class TaskScheduleRepository: RepositoryBase, ITaskSc Title = firstTaskDetails.Title, Description = firstTaskDetails.Description, ContractingPartyName = firstTaskDetails.ContractingPartyName, - AssignedName = assignedAccounts.Select(x=>x.Fullname).ToList(), + AssignedName = assignedAccounts.Select(x => x.Fullname).ToList(), CreationDateFa = firstTaskDetails.CreationDate.ToFarsi(), SenderName = sender.Fullname, TaskScheduleType = taskSchedule.Type, TaskScheduleUnitType = taskSchedule.UnitType, UnitNumber = taskSchedule.UnitNumber, - Medias = firstTaskDetails.TaskMedias.Select(x=> new MediaViewModel() + Count = taskSchedule.Type == TaskScheduleType.Limited ? taskSchedule.Count : "نامحدود", + FirstEndTaskDate = firstTaskDetails.Assigns.FirstOrDefault()?.EndTaskDate.ToFarsi() ?? "", + Medias = firstTaskDetails.TaskMedias.Select(x => new MediaViewModel() { Category = x.Media.Category, Id = x.MediaId, diff --git a/ServiceHost/Areas/AdminNew/Pages/Company/Task/DetailsModal.cshtml b/ServiceHost/Areas/AdminNew/Pages/Company/Task/DetailsModal.cshtml index 4cd285ab..65aa5658 100644 --- a/ServiceHost/Areas/AdminNew/Pages/Company/Task/DetailsModal.cshtml +++ b/ServiceHost/Areas/AdminNew/Pages/Company/Task/DetailsModal.cshtml @@ -273,8 +273,10 @@
- - @if (userId == Model.SenderId) + + @if (!Model.HasRequest) + { + @if (userId == Model.SenderId) { @@ -288,6 +290,7 @@ } + }
}
diff --git a/ServiceHost/Areas/AdminNew/Pages/Company/Task/DetailsScheduleModal.cshtml b/ServiceHost/Areas/AdminNew/Pages/Company/Task/DetailsScheduleModal.cshtml index 400dd8fc..8116cd74 100644 --- a/ServiceHost/Areas/AdminNew/Pages/Company/Task/DetailsScheduleModal.cshtml +++ b/ServiceHost/Areas/AdminNew/Pages/Company/Task/DetailsScheduleModal.cshtml @@ -25,6 +25,10 @@ } @@ -48,78 +75,93 @@
-
-
-
+
+
+
@@ -570,13 +570,13 @@ - + - - - + + + @for (int i = 0; i < 5; i++) @@ -584,23 +584,30 @@ - + }
مساعده
تاریخمبلغ
تاریخمبلغ
@(Model.SalaryAidViewModels != null && i < Model.SalaryAidViewModels.Count - ? Model.SalaryAidViewModels[i]?.SalaryAidDateTimeFa ?? "" - : "") - + ? Model.SalaryAidViewModels[i]?.SalaryAidDateTimeFa ?? "" + : "") + @(Model.SalaryAidViewModels != null && i < Model.SalaryAidViewModels.Count - ? Model.SalaryAidViewModels[i]?.Amount ?? "" - : "") + ? Model.SalaryAidViewModels[i]?.Amount ?? "" + : "")
+
+ +
+ +
+
+ + - @@ -608,8 +615,9 @@ - - + + + @for (int i = 0; i < 5; i++) @@ -617,24 +625,28 @@ + ? Model.InstallmentViewModels[i]?.LoanAmount ?? "" + : "") + + }
مبلغ کل واممبلغ باقیمانده واممبلغ کلمبلغ هر قسطمبلغ باقیمانده
@(Model.InstallmentViewModels != null && i < Model.InstallmentViewModels.Count - ? Model.InstallmentViewModels[i]?.LoanAmount ?? "" - : "") - + @(Model.InstallmentViewModels != null && i < Model.InstallmentViewModels.Count + ? Model.InstallmentViewModels[i]?.Amount ?? "" + : "") + @(Model.InstallmentViewModels != null && i < Model.InstallmentViewModels.Count - ? Model.InstallmentViewModels[i]?.RemainingAmount ?? "" - : "") + ? Model.InstallmentViewModels[i]?.RemainingAmount ?? "" + : "")
-
-
+
اثر انگشت diff --git a/ServiceHost/wwwroot/AssetsAdmin/page/Checkouts/css/Index.css b/ServiceHost/wwwroot/AssetsAdmin/page/Checkouts/css/Index.css new file mode 100644 index 00000000..a9238ddc --- /dev/null +++ b/ServiceHost/wwwroot/AssetsAdmin/page/Checkouts/css/Index.css @@ -0,0 +1,617 @@ +.bgGray, .bgGray:hover { + background-color: #b5b5b5 !important; + color: #646464; +} + +a.disabled { + pointer-events: none; + cursor: default; + background-color: grey !important; + border-color: grey !important; +} + +a.myLinkSign.disabled { + background-color: #b5b5b5 !important; +} + +a.customSet.disabled { + background: grey !important; +} + +.table > tbody > tr > td, .table > tbody > tr > th, .table > tfoot > tr > td, .table > tfoot > tr > th, .table > thead > tr > td, .table > thead > tr > th { + padding: 5px; +} + +::-webkit-scrollbar { + width: 8px; +} + +::-webkit-scrollbar-track { + background: #dfdfdf; + border-radius: 5px; +} + +::-webkit-scrollbar-thumb { + background: brown; + border-radius: 5px; +} + +table.dataTable thead > tr > th { + padding: 5px; +} + +table.dataTable thead .sorting:after, table.dataTable thead .sorting_asc:after, table.dataTable thead .sorting_desc:after { +} + +.sizeSet { + padding: 2px !important; + text-align: center !important; +} + +.rad { + border-radius: 8px !important; + /* padding: 10px; */ + padding: 2px 5px 0px 5px; +} + +.ionSize { + font-size: 20px !important; + top: 2px !important; + position: relative; +} + +.ionRad { + border-radius: 8px !important; + padding: 0px 7px 0px 7px !important; + background-color: #ff7700 !important; + border-color: #ff7700 !important; +} + +.ionRad2 { + border-radius: 8px !important; + padding: 0px 7px 0px 7px !important; + background-color: #7c7a7a !important; + border-color: #7c7a7a !important; +} + +.faSize { + font-size: 22px !important; +} + + + +.thhNastionalId { + width: 30px !important; +} + +.inpt { + width: 100%; + border: 1px solid #c7c7c7; +} + +.searchpanel { + background-color: #747272; +} + +select { + cursor: pointer; +} + +.panel-default > .panel-heading { + background-color: #1b9998 !important; +} + + + +.tooltip-container { + cursor: pointer; + position: relative; + display: inline-block; +} + +.tooltip2-container { + cursor: pointer; + position: relative; + display: inline-block; +} + +.tooltipfull-container { + cursor: pointer; + position: relative; + display: inline-block; +} + +.tooltipfull2-container { + cursor: pointer; + position: relative; + display: inline-block; +} + +.tooltip { + opacity: 0; + z-index: 99; + color: #fff; + width: 220px; + display: block; + font-size: 14px; + font-family: 'IranSans'; + padding: 5px 10px; + border-radius: 3px; + text-align: center; + /*text-shadow: 1px 1px 2px #111;*/ + background: #e67e22; + border: 1px solid #e67e22; + box-shadow: 0 0 3px rgba(0,0,0,0.5); + -webkit-transition: all .2s ease-in-out; + -moz-transition: all .2s ease-in-out; + -o-transition: all .2s ease-in-out; + -ms-transition: all .2s ease-in-out; + transition: all .2s ease-in-out; + -webkit-transform: scale(0); + -moz-transform: scale(0); + -o-transform: scale(0); + -ms-transform: scale(0); + transform: scale(0); + position: absolute; + right: -50px; + bottom: 40px; +} + + .tooltip:before, .tooltip:after { + content: ''; + border-left: 10px solid transparent; + border-right: 10px solid transparent; + border-top: 10px solid #e67e22; + position: absolute; + bottom: -10px; + left: 70%; + } + +.tooltip-container:hover .tooltip, a:hover .tooltip { + opacity: 1; + -webkit-transform: scale(1); + -moz-transform: scale(1); + -o-transform: scale(1); + -ms-transform: scale(1); + transform: scale(1); +} + +.tooltip2 { + opacity: 0; + z-index: 99; + color: #fff; + width: 220px; + display: block; + font-size: 14px; + font-family: 'IranSans'; + padding: 5px 10px; + border-radius: 3px; + text-align: center; + /*text-shadow: 1px 1px 2px #111;*/ + background: #e67e22; + border: 1px solid #e67e22; + box-shadow: 0 0 3px rgba(0,0,0,0.5); + -webkit-transition: all .2s ease-in-out; + -moz-transition: all .2s ease-in-out; + -o-transition: all .2s ease-in-out; + -ms-transition: all .2s ease-in-out; + transition: all .2s ease-in-out; + -webkit-transform: scale(0); + -moz-transform: scale(0); + -o-transform: scale(0); + -ms-transform: scale(0); + transform: scale(0); + position: absolute; + right: -90px; + bottom: 40px; +} + + .tooltip2:before, .tooltip2:after { + content: ''; + border-left: 10px solid transparent; + border-right: 10px solid transparent; + border-top: 10px solid #e67e22; + position: absolute; + bottom: -10px; + left: 50%; + } + +.tooltip2-container:hover .tooltip2, a:hover .tooltip2 { + opacity: 1; + -webkit-transform: scale(1); + -moz-transform: scale(1); + -o-transform: scale(1); + -ms-transform: scale(1); + transform: scale(1); +} + + + + +.tooltipfull { + opacity: 0; + z-index: 99; + color: #fff; + /* width: 180px;*/ + display: block; + font-size: 12px; + font-family: 'IranSans'; + padding: 5px 10px; + border-radius: 15px; + text-align: center; + /*text-shadow: 1px 1px 2px #111;*/ + background: #036205; + border: 1px solid #036205; + box-shadow: 0 0 3px rgba(0,0,0,0.5); + -webkit-transition: all .2s ease-in-out; + -moz-transition: all .2s ease-in-out; + -o-transition: all .2s ease-in-out; + /* -ms-transition: all .2s ease-in-out;*/ + transition: all .2s ease-in-out; + -webkit-transform: scale(0); + -moz-transform: scale(0); + -o-transform: scale(0); + -ms-transform: scale(0); + transform: scale(0); + position: absolute; + right: -2px; + bottom: 20px; + white-space: nowrap; +} + + .tooltipfull:before, .tooltipfull:after { + content: ''; + border-left: 10px solid transparent; + border-right: 10px solid transparent; + border-top: 10px solid #036205; + position: absolute; + bottom: -10px; + left: 50%; + } + +.tooltipfull-containerText:hover .tooltipfull, a:hover .tooltipfull { + opacity: 1; + -webkit-transform: scale(1); + -moz-transform: scale(1); + -o-transform: scale(1); + -ms-transform: scale(1); + transform: scale(1); +} + +@media screen and (max-width: 1920px) { + .fulltext { + font-family: 'IranSans' !important; + font-size: 12px !important; + text-align: right; + white-space: nowrap !important; + max-width: 160px; + width: 160px; + } + + .employer1920 { + max-width: 100px; + width: 250px; + } +} + +@media screen and (max-width: 1440px) { + .fulltext { + font-family: 'IranSans' !important; + font-size: 12px !important; + text-align: right; + white-space: nowrap !important; + max-width: 115px; + width: 115px; + overflow-x: hidden; + text-overflow: ellipsis + } + + .employer1920 { + max-width: fit-content; + width: fit-content; + } +} + +.signSize { + min-width: 65px; + width: 65px; +} + +.customSet { + margin-left: 5px; + background: linear-gradient(to right, #82fd82, green 50%, #ab0303 50%, #f97171); + border-color: #7c7a7a !important; + border-radius: 8px; + padding: 0px 4px 0px 4px; +} + +::-webkit-scrollbar { + width: 8px; +} + +::-webkit-scrollbar-track { + background: #dfdfdf; + border-radius: 5px; +} + +::-webkit-scrollbar-thumb { + background: brown; + border-radius: 5px; +} + +.opt { + background-color: #f5f5f5; + border-radius: 10px; + text-align: right; + padding: 2px 5px +} + + .opt:hover { + background-color: #d3f3f5 !important; + } + +.selectDiv { + position: relative; + z-index: 1; + border-radius: 10px; + min-height: 20px; + max-height: 140px; + overflow: hidden scroll; + width: 100%; + background-color: rgb(255 255 255); + display: block; + box-shadow: 0px -1px 12px 0px rgba(0,0,0,.16), 2px 1px 10px 0 rgba(0,0,0,.12); +} + +.selectedOption { + color: #04556a !important; + background-color: #e0f8ff !important; +} + +.keyboardSelected { + color: #04556a !important; + background-color: #e0f8ff !important; +} +/*-----------change by Heydari-----------*/ +.alarm { + background-color: #eb3434; + animation: color-change 1500ms linear infinite; +} + +@keyframes color-change { + 0% { + background-color: #eb3434; + } + + 50% { + background-color: #e5e5e5; + } + + 100% { + background-color: #eb3434; + } +} + + + +.warningSwall { + color: #fafafa !important; + background-color: #f3930af0 !important /* rgb(189 27 24 / 90%) */; + border: 1px solid #f3930a !important; +} + + .warningSwall .cancel { + background-color: #ffa728 !important; + border: 1px solid #f99e1b !important; + border-radius: 25px !important; + } + +.errorSwall { + color: #fafafa !important; + background-color: #bd1b18e6 !important /* rgb(189 27 24 / 90%) */; + border: 1px solid #ef5350 !important; +} + + .errorSwall h2, .warningSwall h2 { + text-align: center !important; + direction: rtl !important; + line-height: 25px; + color: #efefef !important; + margin: 15px 0; + } + + .errorSwall p, .warningSwall p { + text-align: center !important; + direction: rtl !important; + line-height: 25px; + color: #efefef !important; + margin-bottom: 15px; + } + + .errorSwall .sa-icon.sa-warning .sa-body, .warningSwall .sa-icon.sa-warning .sa-body { + background-color: #fff !important; + } + + .errorSwall .sa-icon.sa-warning .sa-dot, .warningSwall .sa-icon.sa-warning .sa-dot { + background-color: #fff !important; + } + + .errorSwall .sweet-alert .sa-icon.sa-warning, .warningSwall .sweet-alert .sa-icon.sa-warning { + border-color: #fff !important; + } + + .errorSwall .sa-icon.sa-warning, .warningSwall .sa-icon.sa-warning { + border-color: #fff !important; + } + + .errorSwall .confirm, .warningSwall .confirm { + display: none !important; + } + + .errorSwall .cancel { + background-color: #e75754 !important; + border: 1px solid #ef5350 !important; + border-radius: 25px !important; + } + + + +.successSwall { + color: #fafafa !important; + background-color: rgba(4, 149, 66, 0.8) !important; + border: 1px solid #33b86c !important; +} + + .successSwall h2 { + line-height: 25px; + color: #efefef !important; + margin: 15px 0; + } + + .successSwall p { + line-height: 25px; + color: #efefef !important; + margin-bottom: 15px; + } + + .successSwall .sa-icon.sa-warning .sa-body { + background-color: #fff !important; + } + + .successSwall .sa-icon.sa-warning .sa-dot { + background-color: #fff !important; + } + + .successSwall .sweet-alert .sa-icon.sa-warning { + border-color: #fff !important; + } + + .successSwall .sa-icon.sa-warning { + border-color: #fff !important; + } + + .successSwall .cancel { + display: none !important; + } + + .successSwall .confirm { + background-color: rgba(51, 184, 108, 0.8) !important; + border: 1px solid #33b86c !important; + border-radius: 25px !important; + } + + .successSwall .sa-icon { + width: 80px !important; + height: 80px !important; + margin: 20px auto !important; + } + + .successSwall .sa-icon.sa-success .sa-fix { + background-color: transparent !important; + } + + .successSwall .sa-icon.sa-success::after, .successSwall .sa-icon.sa-success::before { + background: transparent; + !important; + } + +#datatable td { + position: relative; +} + +table.dataTable thead .sorting_asc_disabled:after, +table.dataTable thead .sorting_desc_disabled:after { + display: none; +} + +.name-td { + font-family: 'Web_Yekan' !important; + font-size: 12px !important; + max-width: 100px; + position: relative; +} + +.date-box { + display: flex; + align-items: center; +} + +.operation-td.screen-view { + justify-content: left; + flex-direction: row-reverse; +} + +.employee-operations:before { + left: 49px; +} + +.code-td { + text-align: center; + font-size: 12px !important; + max-width: 100px; + position: relative; +} + +.fulltext { + opacity: 0; + white-space: nowrap; +} + +.ellipsed { + display: block; + width: 100%; + text-overflow: ellipsis; + overflow-x: clip; + white-space: nowrap; +} + +.date-box { + display: flex; + align-items: center; +} + +.tooltipfull-containerText { + cursor: pointer; + position: absolute; + display: inline-block; + right: 9px; + top: 13px; +} + +@media(max-width: 550px) { + .name-td { + font-size: 10px !important; + max-width: 75px; + position: relative; + } + + .code-td { + text-align: center; + font-size: 9px !important; + max-width: 35px; + position: relative; + } + + .deact i, #printAll i { + font-size: 16px !important; + } + + .table > tbody > tr > td, .table thead > tr > th { + padding: 8px 0 !important; + } + + .employee-operations { + width: 5rem; + font-size: 10px; + } + + .form-group { + margin: 3px auto !important; + } +} + +@media(max-width: 400px) { + .name-td { + max-width: 55px; + } +} diff --git a/ServiceHost/wwwroot/AssetsAdmin/page/Checkouts/js/Index.js b/ServiceHost/wwwroot/AssetsAdmin/page/Checkouts/js/Index.js new file mode 100644 index 00000000..a97dd329 --- /dev/null +++ b/ServiceHost/wwwroot/AssetsAdmin/page/Checkouts/js/Index.js @@ -0,0 +1,1036 @@ + + + $('.activer').on('change', + function(e) { + e.preventDefault(); + $('.search').click(); + + }); + + //var a = window.location.href; + //var res = a.split("#")[1]; + //if (res == "false") { + // $.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', " ابتدا یکی از فیلد های کارگاه، کارفرما، پرسنل را انتخاب نموده و سپس جستجو را بزنید "); + //} + + + + //if (document.getElementById("activing").selectedIndex == 1) { + // $('.deact').remove(); + // $('.act').append( + // ' ' + '' + ' ' + // ); + //} + //if (document.getElementById("activing").selectedIndex == 2) { + // $('.deact').remove(); + + + //} + $('.persianDateInputa').persianDatepicker({ + format: 'YYYY/MM/DD', + initialValueType: 'persian', + initialValue: false, + /* 'position': [-270, 25],*/ + autoClose: true, + + calendar: { + persian: { + leapYearMode: 'astronomical' + } + } + + }); + $('.persianDateInputb').persianDatepicker({ + format: 'YYYY/MM/DD', + initialValueType: 'persian', + + initialValue: false, + /*'position': [-270, 25],*/ + autoClose: true, + + calendar: { + persian: { + leapYearMode: 'astronomical' + } + } + }); + + //if (document.getElementById("sercheCheck").value == "false") { + // $(document).ready(function() { + // $('#datatable').dataTable({ + // "lengthMenu": [[25, 10, 50, 100, -1], [25, 10, 50, 100, "All"]] + // }); + // }); + //} else { + // $(document).ready(function() { + // $('#datatable').dataTable( + // { + // "lengthMenu": [[-1, 10, 50, 100, 25], ["All", 10, 50, 100, 25]] + // } + // ); + // }); + //} + + + $('.search').on('click', + function() { + const html = `
+ در حال بارگذاری... +
`; + + var myTable = $("#datatable_wrapper"); + myTable.remove(); + $('#mainPanel').append(html); + + }); + + $(document).ready(function() { + + $('.search').click(); + $(".personel-select").select2({ + + language: "fa", + dir: "rtl", + + + }); + }); + + $('#workshops').on('select2:open', + function(e) { + if ($('#workshops option').length == 1) { + + $.ajax({ + contentType: 'charset=utf-8', + dataType: 'json', + type: 'GET', + url: WorkshopMainListurl, + headers: { "RequestVerificationToken": $(AntiForgeryToken).val() }, + + success: function(response) { + $('#workshops').empty().append(''); + $.each(response.mylist, + function(i, item) { + $('#workshops').append($(''); + $.each(response.mylist, + function(i, item) { + $('#employer').append($('