From 82ace9a4dd4c4c7eb5badd54cf69039f9e51bf8f Mon Sep 17 00:00:00 2001 From: "Amir.H Khademi" Date: Wed, 12 Jun 2024 13:18:27 +0330 Subject: [PATCH] fix(no-scrollbar) , fix(OrdersPagePagination) , feat(ShowOrderBagQuery) -Fix no-scrollbar in pages -Fix orders page pageination at page 2 -Add show order bag query in GetOrders --- .../Components/Originals/SideBarUi.razor | 60 ++++++++----------- .../Dialogs/FastProductCreateDialogBox.razor | 10 +++- .../FastProductCreateDialogBox.razor.cs | 8 +-- .../Netina.AdminPanel.PWA.csproj | 4 +- .../Pages/BlogCategoriesPage.razor | 2 +- Netina.AdminPanel.PWA/Pages/BlogsPage.razor | 2 +- Netina.AdminPanel.PWA/Pages/BrandsPage.razor | 2 +- .../Pages/CategoriesPage.razor | 2 +- .../Pages/DiscountPage.razor | 2 +- Netina.AdminPanel.PWA/Pages/Home.razor | 2 +- .../Pages/MarketerManagementPage.razor | 2 +- Netina.AdminPanel.PWA/Pages/OrdersPage.razor | 13 ++-- .../Pages/OrdersPage.razor.cs | 27 +++++++-- .../Pages/PaymentsPage.razor | 2 +- .../Pages/ProductsPage.razor | 2 +- .../Pages/ShippingPage.razor | 2 +- .../Services/RestServices/IOrderRestApi.cs | 15 +++-- Netina.AdminPanel.PWA/wwwroot/css/app.css | 14 ++++- Netina.AdminPanel.PWA/wwwroot/css/app.min.css | 18 +++++- .../wwwroot/css/app.output.css | 36 +++++++++++ Netina.AdminPanel.PWA/wwwroot/index.html | 14 ++--- 21 files changed, 156 insertions(+), 83 deletions(-) diff --git a/Netina.AdminPanel.PWA/Components/Originals/SideBarUi.razor b/Netina.AdminPanel.PWA/Components/Originals/SideBarUi.razor index bb44aeb..91080a7 100644 --- a/Netina.AdminPanel.PWA/Components/Originals/SideBarUi.razor +++ b/Netina.AdminPanel.PWA/Components/Originals/SideBarUi.razor @@ -1,8 +1,9 @@ @inject NavigationManager NavigationManager @inject IRestWrapper RestWrapper @inject IUserUtility UserUtility +@inject ISnackbar Snackbar - + داشبورد @@ -21,6 +22,9 @@ Icon="@Icons.Material.Outlined.AllInbox">دسته بندی محصولاتـــ برند محصولاتــــ + + روش های ارسال } @@ -51,18 +55,6 @@ } - @if (isShop) - { - - - انبار - - روش های ارسال - - } @if (isShop) { مشترکین - پنل پیامکی خبرنامه } @if (isShop) - { - - فهرست ها - - } - @if (isShop) { فروشگاه بازاریاب ها + فهرست ها } else @@ -101,7 +86,7 @@ نقش ها و کاربران -

Version : @version

+

Version : @version

@code @@ -112,20 +97,27 @@ { try { - _permissions = await UserUtility.GetPermissionsAsync() ?? new List(); - var token = await UserUtility.GetBearerTokenAsync(); - if (token == null) + try { - await UserUtility.LogoutAsync(); - NavigationManager.NavigateTo("login", true, true); - return; - } + _permissions = await UserUtility.GetPermissionsAsync() ?? new List(); + var token = await UserUtility.GetBearerTokenAsync(); + if (token == null) + { + await UserUtility.LogoutAsync(); + NavigationManager.NavigateTo("login", true, true); + return; + } - var rest = await RestWrapper.SettingRestApi.GetSettingAsync(nameof(NetinaSetting), token); - if (rest.WebSiteType == 0) - isShop = true; - else - isShop = false; + var rest = await RestWrapper.SettingRestApi.GetSettingAsync(nameof(NetinaSetting), token); + if (rest.WebSiteType == 0) + isShop = true; + else + isShop = false; + } + catch (Exception e) + { + Snackbar.Add("در دریافت اطلاعات مشکلی رخ داده است", Severity.Error); + } await base.OnInitializedAsync(); } diff --git a/Netina.AdminPanel.PWA/Dialogs/FastProductCreateDialogBox.razor b/Netina.AdminPanel.PWA/Dialogs/FastProductCreateDialogBox.razor index b481f5d..d90ad22 100644 --- a/Netina.AdminPanel.PWA/Dialogs/FastProductCreateDialogBox.razor +++ b/Netina.AdminPanel.PWA/Dialogs/FastProductCreateDialogBox.razor @@ -6,11 +6,11 @@ - + افزودن سریع محصول - + در این صفحه تنها اطلاعات اولیه ثبت میشوند و باید برای تکمیل اطلاعات محصول به صحفه اصلی تغییرات محصول بروید @@ -34,7 +34,11 @@ - { var token = await userUtility.GetBearerTokenAsync(); if (token == null) return; - var brand = new BrandSDto { PersianName = brandName }; - brands.Add(brand); var command = brand.Adapt() with {Files = new()}; var response = await restWrapper.CrudApiRest(Address.BrandController) .Create(command, token); brand.Id = response; - SelectedBrand = brand; + snackbar.Add($"افزودن برند {brand.PersianName} با موفقیت انجام شد"); }); } public void SubmitCreateProduct() diff --git a/Netina.AdminPanel.PWA/Netina.AdminPanel.PWA.csproj b/Netina.AdminPanel.PWA/Netina.AdminPanel.PWA.csproj index 3e0077f..34e5e88 100644 --- a/Netina.AdminPanel.PWA/Netina.AdminPanel.PWA.csproj +++ b/Netina.AdminPanel.PWA/Netina.AdminPanel.PWA.csproj @@ -5,8 +5,8 @@ enable enable service-worker-assets.js - 1.0.3.3 - 1.0.3.3 + 1.0.3.4 + 1.0.3.4 $(MSBuildProjectName) diff --git a/Netina.AdminPanel.PWA/Pages/BlogCategoriesPage.razor b/Netina.AdminPanel.PWA/Pages/BlogCategoriesPage.razor index 8e8cf57..0c0cb15 100644 --- a/Netina.AdminPanel.PWA/Pages/BlogCategoriesPage.razor +++ b/Netina.AdminPanel.PWA/Pages/BlogCategoriesPage.razor @@ -7,7 +7,7 @@ @inject IUserUtility UserUtility @inject IRestWrapper RestWrapper - + diff --git a/Netina.AdminPanel.PWA/Pages/BlogsPage.razor b/Netina.AdminPanel.PWA/Pages/BlogsPage.razor index 3ff0cfb..f263d43 100644 --- a/Netina.AdminPanel.PWA/Pages/BlogsPage.razor +++ b/Netina.AdminPanel.PWA/Pages/BlogsPage.razor @@ -9,7 +9,7 @@ @inject IConfiguration Configuration @inject IJSRuntime JsRuntime - + diff --git a/Netina.AdminPanel.PWA/Pages/BrandsPage.razor b/Netina.AdminPanel.PWA/Pages/BrandsPage.razor index e2c94db..a454dd6 100644 --- a/Netina.AdminPanel.PWA/Pages/BrandsPage.razor +++ b/Netina.AdminPanel.PWA/Pages/BrandsPage.razor @@ -7,7 +7,7 @@ @inject IUserUtility UserUtility - + diff --git a/Netina.AdminPanel.PWA/Pages/CategoriesPage.razor b/Netina.AdminPanel.PWA/Pages/CategoriesPage.razor index 45bae16..14ae37f 100644 --- a/Netina.AdminPanel.PWA/Pages/CategoriesPage.razor +++ b/Netina.AdminPanel.PWA/Pages/CategoriesPage.razor @@ -10,7 +10,7 @@ background-color: var(--mud-palette-background-grey); } *@ - + diff --git a/Netina.AdminPanel.PWA/Pages/DiscountPage.razor b/Netina.AdminPanel.PWA/Pages/DiscountPage.razor index 58344f8..cda67b8 100644 --- a/Netina.AdminPanel.PWA/Pages/DiscountPage.razor +++ b/Netina.AdminPanel.PWA/Pages/DiscountPage.razor @@ -7,7 +7,7 @@ @inject IUserUtility UserUtility @inject IRestWrapper RestWrapper - + diff --git a/Netina.AdminPanel.PWA/Pages/Home.razor b/Netina.AdminPanel.PWA/Pages/Home.razor index 02b44a6..293c3db 100644 --- a/Netina.AdminPanel.PWA/Pages/Home.razor +++ b/Netina.AdminPanel.PWA/Pages/Home.razor @@ -8,7 +8,7 @@ @inject IUserUtility UserUtility @inject IRestWrapper RestWrapper - + diff --git a/Netina.AdminPanel.PWA/Pages/MarketerManagementPage.razor b/Netina.AdminPanel.PWA/Pages/MarketerManagementPage.razor index beb2c76..bd6f179 100644 --- a/Netina.AdminPanel.PWA/Pages/MarketerManagementPage.razor +++ b/Netina.AdminPanel.PWA/Pages/MarketerManagementPage.razor @@ -7,7 +7,7 @@ @inject IUserUtility UserUtility @inject IRestWrapper RestWrapper - + diff --git a/Netina.AdminPanel.PWA/Pages/OrdersPage.razor b/Netina.AdminPanel.PWA/Pages/OrdersPage.razor index c776c58..c836847 100644 --- a/Netina.AdminPanel.PWA/Pages/OrdersPage.razor +++ b/Netina.AdminPanel.PWA/Pages/OrdersPage.razor @@ -8,7 +8,7 @@ @inject IRestWrapper RestWrapper @inject IBrowserViewportService BrowserViewportService - + @@ -108,7 +108,7 @@ - + - + - + @@ -144,6 +144,9 @@ + + + diff --git a/Netina.AdminPanel.PWA/Pages/OrdersPage.razor.cs b/Netina.AdminPanel.PWA/Pages/OrdersPage.razor.cs index eb9434d..2a8804c 100644 --- a/Netina.AdminPanel.PWA/Pages/OrdersPage.razor.cs +++ b/Netina.AdminPanel.PWA/Pages/OrdersPage.razor.cs @@ -85,10 +85,14 @@ public class OrdersPageViewModel : BaseViewModel throw new Exception("Token is null"); - var dto = await _restWrapper.OrderRestApi.ReadAll(MainGridCurrentPage, FactorCodeSearch, null, - OrderStatusSearch?.Value, null, token); + var dto = await _restWrapper.OrderRestApi.ReadAll(MainGridCurrentPage, token, + FactorCodeSearch, + null, + OrderStatusSearch?.Value, + null, + ShowOrderBags == false ? null : true); dto.ForEach(d => MainOrders.Add(d)); - if (MainOrders.Count == 15) + if (MainOrders.Count % 15 == 0) MainGridPageCount = MainGridCurrentPage + 2; } @@ -128,6 +132,8 @@ public class OrdersPageViewModel : BaseViewModel } public string? FactorCodeSearch { get; set; } = null; + public bool ShowOrderBags { get; set; } = false; + public async Task SearchAsync() { try @@ -139,8 +145,12 @@ public class OrdersPageViewModel : BaseViewModel MainOrders.Clear(); List dto; - dto = await _restWrapper.OrderRestApi.ReadAll(MainGridCurrentPage, FactorCodeSearch, null, - OrderStatusSearch?.Value, null, token); + dto = await _restWrapper.OrderRestApi.ReadAll(MainGridCurrentPage, token, + FactorCodeSearch, + null, + OrderStatusSearch?.Value, + null, + ShowOrderBags == false ? null : true); dto.ForEach(d => MainOrders.Add(d)); if (MainOrders.Count == 15) @@ -187,10 +197,15 @@ public class OrdersPageViewModel : BaseViewModel return OrderStatusFilterOptions; return OrderStatusFilterOptions.Where(o => o.Title == orderStatus).ToList(); } - public async Task SearchByOrderStatusAsync(FilterOptionDto? arg) { OrderStatusSearch = arg; await SearchAsync(); } + + public async Task ChangeShowOrderBagsAsync(bool? arg) + { + ShowOrderBags = arg ?? false; + await SearchAsync(); + } } \ No newline at end of file diff --git a/Netina.AdminPanel.PWA/Pages/PaymentsPage.razor b/Netina.AdminPanel.PWA/Pages/PaymentsPage.razor index 3a3ef48..0b580de 100644 --- a/Netina.AdminPanel.PWA/Pages/PaymentsPage.razor +++ b/Netina.AdminPanel.PWA/Pages/PaymentsPage.razor @@ -7,7 +7,7 @@ @inject IUserUtility UserUtility @inject IRestWrapper RestWrapper - + diff --git a/Netina.AdminPanel.PWA/Pages/ProductsPage.razor b/Netina.AdminPanel.PWA/Pages/ProductsPage.razor index 34d3347..6391e98 100644 --- a/Netina.AdminPanel.PWA/Pages/ProductsPage.razor +++ b/Netina.AdminPanel.PWA/Pages/ProductsPage.razor @@ -8,7 +8,7 @@ @inject IRestWrapper RestWrapper @inject IBrowserViewportService BrowserViewportService - + diff --git a/Netina.AdminPanel.PWA/Pages/ShippingPage.razor b/Netina.AdminPanel.PWA/Pages/ShippingPage.razor index a41cbf2..f1f814e 100644 --- a/Netina.AdminPanel.PWA/Pages/ShippingPage.razor +++ b/Netina.AdminPanel.PWA/Pages/ShippingPage.razor @@ -1,4 +1,4 @@ -@page "/inventory/shipping" +@page "/product/shipping" @attribute [Microsoft.AspNetCore.Authorization.Authorize] @inject IDialogService DialogService diff --git a/Netina.AdminPanel.PWA/Services/RestServices/IOrderRestApi.cs b/Netina.AdminPanel.PWA/Services/RestServices/IOrderRestApi.cs index ab9e573..b6d1869 100644 --- a/Netina.AdminPanel.PWA/Services/RestServices/IOrderRestApi.cs +++ b/Netina.AdminPanel.PWA/Services/RestServices/IOrderRestApi.cs @@ -3,11 +3,13 @@ public interface IOrderRestApi { [Get("")] - Task> ReadAll([Query]int page, [Query] string? factorCode, [Query] long? selectedDate, [Query] OrderStatus? orderStatus, [Query] OrderQueryDateFilter? dateFilter, [Header("Authorization")] string authorization); - - - [Get("")] - Task> ReadAll([Query] int page, [Header("Authorization")] string authorization); + Task> ReadAll([Query]int page, + [Header("Authorization")] string authorization, + [Query] string? factorCode = null, + [Query] long? selectedDate = null, + [Query] OrderStatus? orderStatus = null, + [Query] OrderQueryDateFilter? dateFilter = null, + [Query] bool? orderBags = null); [Get("/{id}")] Task ReadOne(Guid id, [Header("Authorization")] string authorization); @@ -16,7 +18,4 @@ public interface IOrderRestApi Task ConfirmOrderStepAsync(Guid id,[Query] OrderStatus nextOrderStatus, [Header("Authorization")] string authorization); [Post("/{id}/confirm")] Task ConfirmOrderStepAsync(Guid id, [Query] OrderStatus nextOrderStatus, [Query]string trackingCode, [Header("Authorization")] string authorization); - - [Get("/{id}/invoice")] - Task GetOrderInvoice(Guid id, [Header("Authorization")] string authorization); } \ No newline at end of file diff --git a/Netina.AdminPanel.PWA/wwwroot/css/app.css b/Netina.AdminPanel.PWA/wwwroot/css/app.css index aadff05..af39ddc 100644 --- a/Netina.AdminPanel.PWA/wwwroot/css/app.css +++ b/Netina.AdminPanel.PWA/wwwroot/css/app.css @@ -91,9 +91,9 @@ --color-primary: rgba(9, 16, 68, 1); --color-secondary: rgba(229, 159, 46, 1); --color-background: rgba(243, 244, 246, 1); - } } + .revert-tailwind { all: initial; } @@ -113,6 +113,16 @@ scrollbar-width: none; /* Firefox */ } + + +.auto-scrollbar { + -ms-overflow-style: auto; /* IE and Edge */ + scrollbar-width: auto; /* Firefox */ +} + .auto-scrollbar::-webkit-scrollbar { + display: block; + } + .mud-dialog-title { font-family: iranyekan !important; } @@ -132,7 +142,7 @@ a, .btn-link { } .btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus { - box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb; + box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb; } .content { diff --git a/Netina.AdminPanel.PWA/wwwroot/css/app.min.css b/Netina.AdminPanel.PWA/wwwroot/css/app.min.css index 6832c13..4d61f44 100644 --- a/Netina.AdminPanel.PWA/wwwroot/css/app.min.css +++ b/Netina.AdminPanel.PWA/wwwroot/css/app.min.css @@ -864,7 +864,6 @@ input:checked + .toggle-bg { --color-primary: rgba(9, 16, 68, 1); --color-secondary: rgba(229, 159, 46, 1); --color-background: rgba(243, 244, 246, 1); - } *, ::before, ::after { @@ -1785,6 +1784,10 @@ input:checked + .toggle-bg { --tw-text-opacity: 1; color: rgb(217 119 6 / var(--tw-text-opacity)); } +.text-black { + --tw-text-opacity: 1; + color: rgb(0 0 0 / var(--tw-text-opacity)); +} .text-blue-600 { --tw-text-opacity: 1; color: rgb(28 100 242 / var(--tw-text-opacity)); @@ -1956,6 +1959,7 @@ input:checked + .toggle-bg { url('../assets/fonts/woff/iranyekanwebextrablackfanum.woff') format('woff'), /* FF3.6+, IE9, Chrome6+, Saf5.1+*/ url('../assets/fonts/ttf/iranyekanwebextrablackfanum.ttf') format('truetype'); } + .revert-tailwind { all: initial; } @@ -1975,6 +1979,16 @@ input:checked + .toggle-bg { scrollbar-width: none; /* Firefox */ } + + +.auto-scrollbar { + -ms-overflow-style: auto; /* IE and Edge */ + scrollbar-width: auto; /* Firefox */ +} + .auto-scrollbar::-webkit-scrollbar { + display: block; + } + .mud-dialog-title { font-family: iranyekan !important; } @@ -1994,7 +2008,7 @@ a, .btn-link { } .btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus { - box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb; + box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb; } .content { diff --git a/Netina.AdminPanel.PWA/wwwroot/css/app.output.css b/Netina.AdminPanel.PWA/wwwroot/css/app.output.css index 966e71e..3abbb97 100644 --- a/Netina.AdminPanel.PWA/wwwroot/css/app.output.css +++ b/Netina.AdminPanel.PWA/wwwroot/css/app.output.css @@ -1259,6 +1259,10 @@ input:checked + .toggle-bg { margin-top: -0.75rem; } +.-mt-\[3px\] { + margin-top: -3px; +} + .mb-1 { margin-bottom: 0.25rem; } @@ -1335,6 +1339,22 @@ input:checked + .toggle-bg { margin-top: 2rem; } +.-mt-\[4px\] { + margin-top: -4px; +} + +.-mt-\[2px\] { + margin-top: -2px; +} + +.-mt-\[5px\] { + margin-top: -5px; +} + +.-mt-\[0\.15rem\] { + margin-top: -0.15rem; +} + .block { display: block; } @@ -2075,6 +2095,11 @@ input:checked + .toggle-bg { color: rgb(217 119 6 / var(--tw-text-opacity)); } +.text-black { + --tw-text-opacity: 1; + color: rgb(0 0 0 / var(--tw-text-opacity)); +} + .text-blue-600 { --tw-text-opacity: 1; color: rgb(28 100 242 / var(--tw-text-opacity)); @@ -2323,6 +2348,17 @@ input:checked + .toggle-bg { /* Firefox */ } +.auto-scrollbar { + -ms-overflow-style: auto; + /* IE and Edge */ + scrollbar-width: auto; + /* Firefox */ +} + +.auto-scrollbar::-webkit-scrollbar { + display: block; +} + .mud-dialog-title { font-family: iranyekan !important; } diff --git a/Netina.AdminPanel.PWA/wwwroot/index.html b/Netina.AdminPanel.PWA/wwwroot/index.html index d5fb3dd..41f1ba1 100644 --- a/Netina.AdminPanel.PWA/wwwroot/index.html +++ b/Netina.AdminPanel.PWA/wwwroot/index.html @@ -1,4 +1,4 @@ - + @@ -32,8 +32,8 @@

پنـــــل ادمین فروشگاه

-
-
+
+
@@ -43,10 +43,10 @@
-
- An unhandled error has occurred. - Reload - 🗙 +
+ مشکلی رخ داده است + بارگزاری مجدد + بستن