From fdfe778a7adceda5b3248c693cd6ee78e8af50fd Mon Sep 17 00:00:00 2001 From: "Amir.H Khademi" Date: Sat, 1 Jun 2024 13:42:03 +0330 Subject: [PATCH] fix(OrderHomePage) , fix(OrderInvoiceGenerate) - Fix order home page ui - Fix get orders in order home page - Fix order status filter - Fix order invoice url --- .../Components/Originals/AutocompleteUi.razor | 12 +++ .../Originals/RichTextEditorUi.razor | 36 ++++++-- .../Dialogs/OrderActionDialogBox.razor | 23 ++--- .../Dialogs/OrderActionDialogBox.razor.cs | 13 ++- Netina.AdminPanel.PWA/Layout/MainLayout.razor | 2 +- .../Netina.AdminPanel.PWA.csproj | 5 +- Netina.AdminPanel.PWA/Pages/BlogsPage.razor | 15 ++++ .../Pages/BlogsPage.razor.cs | 8 +- Netina.AdminPanel.PWA/Pages/LoginPage.razor | 26 +++--- Netina.AdminPanel.PWA/Pages/OrdersPage.razor | 86 +++++++++++-------- .../Pages/OrdersPage.razor.cs | 37 ++++++-- .../Services/RestServices/IOrderRestApi.cs | 4 + Netina.AdminPanel.PWA/package-lock.json | 10 +++ Netina.AdminPanel.PWA/package.json | 1 + Netina.AdminPanel.PWA/version.json | 4 +- .../wwwroot/appsettings.Development.json | 4 +- Netina.AdminPanel.PWA/wwwroot/css/app.min.css | 7 -- 17 files changed, 196 insertions(+), 97 deletions(-) create mode 100644 Netina.AdminPanel.PWA/Components/Originals/AutocompleteUi.razor diff --git a/Netina.AdminPanel.PWA/Components/Originals/AutocompleteUi.razor b/Netina.AdminPanel.PWA/Components/Originals/AutocompleteUi.razor new file mode 100644 index 0000000..8fab911 --- /dev/null +++ b/Netina.AdminPanel.PWA/Components/Originals/AutocompleteUi.razor @@ -0,0 +1,12 @@ + + +
+ +

منتظر بمانید

+
+
+
+ +@code { + +} \ No newline at end of file diff --git a/Netina.AdminPanel.PWA/Components/Originals/RichTextEditorUi.razor b/Netina.AdminPanel.PWA/Components/Originals/RichTextEditorUi.razor index 00c5d41..359baee 100644 --- a/Netina.AdminPanel.PWA/Components/Originals/RichTextEditorUi.razor +++ b/Netina.AdminPanel.PWA/Components/Originals/RichTextEditorUi.razor @@ -15,22 +15,27 @@
- @@ -87,8 +98,15 @@ { if (!string.IsNullOrEmpty(Text) && !isTextSeted) { - await JsRuntime.InvokeVoidAsync("window.setData", Text); - isTextSeted = true; + try + { + await JsRuntime.InvokeVoidAsync("window.setData", Text); + isTextSeted = true; + } + catch (Exception e) + { + + } } await base.OnParametersSetAsync(); } diff --git a/Netina.AdminPanel.PWA/Dialogs/OrderActionDialogBox.razor b/Netina.AdminPanel.PWA/Dialogs/OrderActionDialogBox.razor index 2a8f7c4..6244790 100644 --- a/Netina.AdminPanel.PWA/Dialogs/OrderActionDialogBox.razor +++ b/Netina.AdminPanel.PWA/Dialogs/OrderActionDialogBox.razor @@ -7,10 +7,11 @@ @inject IDialogService DialogService @inject IPrintingService PrintingService @inject IJSRuntime JsRuntime +@inject IConfiguration Configuration - + @@ -19,7 +20,7 @@ اطلاعات سفارش - + @ViewModel.PageDto.OrderStatus.ToDisplay() @@ -52,7 +53,7 @@ کالاهای این سفارش - + @ViewModel.PageDto.OrderProducts.Sum(op => op.Count) قلم کالا @@ -63,7 +64,7 @@ T="OrderProductSDto" Items="@ViewModel.PageDto.OrderProducts" Filterable="false" Loading="@ViewModel.IsProcessing" SortMode="@SortMode.None" Groupable="false" - class="border-solid border-2 border-gray-200"> + class="border-2 border-solid border-gray-200"> @@ -184,24 +185,24 @@ - + - - - - private readonly MudDialogInstance _mudDialog; private readonly IPrintingService _printingService; private readonly IJSRuntime _jsRuntime; + private readonly IConfiguration _configuration; public OrderActionDialogBoxViewModel(ISnackbar snackbar, IRestWrapper restWrapper, IUserUtility userUtility, IDialogService dialogService, MudDialogInstance mudDialog, - IPrintingService printingService, IJSRuntime jsRuntime) : base(userUtility) + IPrintingService printingService, + IJSRuntime jsRuntime, + IConfiguration configuration) : base(userUtility) { _snackbar = snackbar; _restWrapper = restWrapper; @@ -28,6 +31,7 @@ public class OrderActionDialogBoxViewModel : BaseViewModel _mudDialog = mudDialog; _printingService = printingService; _jsRuntime = jsRuntime; + _configuration = configuration; } public OrderActionDialogBoxViewModel(ISnackbar snackbar, IRestWrapper restWrapper, @@ -36,7 +40,8 @@ public class OrderActionDialogBoxViewModel : BaseViewModel MudDialogInstance mudDialog, OrderSDto order, IPrintingService printingService, - IJSRuntime jsRuntime) : base(userUtility) + IJSRuntime jsRuntime, + IConfiguration configuration) : base(userUtility) { _snackbar = snackbar; _restWrapper = restWrapper; @@ -47,6 +52,7 @@ public class OrderActionDialogBoxViewModel : BaseViewModel IsEditing = true; _printingService = printingService; _jsRuntime = jsRuntime; + _configuration = configuration; } @@ -123,7 +129,8 @@ public class OrderActionDialogBoxViewModel : BaseViewModel if (token == null) throw new Exception("Token is null"); IsProcessing = true; - string fileUrl = $"{Address.OrderController}/{PageDto.Id}/invoice?access_token={token.Split("Bearer").Last().Trim()}"; + var apiUrl = _configuration.GetValue("ApiUrl"); + string fileUrl = $"{apiUrl}{Address.OrderController}/{PageDto.Id}/invoice?access_token={token.Split("Bearer").Last().Trim()}"; PdfStringFormat format = new PdfStringFormat(PdfTextAlignment.Left); diff --git a/Netina.AdminPanel.PWA/Layout/MainLayout.razor b/Netina.AdminPanel.PWA/Layout/MainLayout.razor index 98e8b54..8a2d743 100644 --- a/Netina.AdminPanel.PWA/Layout/MainLayout.razor +++ b/Netina.AdminPanel.PWA/Layout/MainLayout.razor @@ -45,7 +45,7 @@ - + @_user?.FullName @_user?.PhoneNumber diff --git a/Netina.AdminPanel.PWA/Netina.AdminPanel.PWA.csproj b/Netina.AdminPanel.PWA/Netina.AdminPanel.PWA.csproj index 75ef02c..3b4e97a 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 - 0.27.37.59 - 0.27.37.59 + 1.0.1.2 + 1.0.1.2 $(MSBuildProjectName) @@ -82,6 +82,7 @@ + diff --git a/Netina.AdminPanel.PWA/Pages/BlogsPage.razor b/Netina.AdminPanel.PWA/Pages/BlogsPage.razor index 5f629cb..7d893da 100644 --- a/Netina.AdminPanel.PWA/Pages/BlogsPage.razor +++ b/Netina.AdminPanel.PWA/Pages/BlogsPage.razor @@ -6,6 +6,8 @@ @inject ISnackbar Snackbar @inject IUserUtility UserUtility @inject IRestWrapper RestWrapper +@inject IConfiguration Configuration +@inject IJSRuntime JsRuntime @@ -41,6 +43,12 @@ + + ("WebSiteUrl") ?? string.Empty; + var url = $"{webUrl}/blogs/{item.Id}/{item.Slug}"; + await JsRuntime.InvokeAsync("open", url, "_blank"); + } } diff --git a/Netina.AdminPanel.PWA/Pages/BlogsPage.razor.cs b/Netina.AdminPanel.PWA/Pages/BlogsPage.razor.cs index 6b24ce5..d195784 100644 --- a/Netina.AdminPanel.PWA/Pages/BlogsPage.razor.cs +++ b/Netina.AdminPanel.PWA/Pages/BlogsPage.razor.cs @@ -14,7 +14,12 @@ public class BlogsPageViewModel : BaseViewModel> public int CurrentPage = 0; public int PageCount = 1; public int TotalItems = 0; - public BlogsPageViewModel(NavigationManager navigationManager, ISnackbar snackbar, IUserUtility userUtility, IRestWrapper restWrapper, IDialogService dialogService) : base(userUtility) + + public BlogsPageViewModel(NavigationManager navigationManager, + ISnackbar snackbar, + IUserUtility userUtility, + IRestWrapper restWrapper, + IDialogService dialogService) : base(userUtility) { _navigationManager = navigationManager; _snackbar = snackbar; @@ -178,4 +183,5 @@ public class BlogsPageViewModel : BaseViewModel> IsProcessing = false; } } + } \ No newline at end of file diff --git a/Netina.AdminPanel.PWA/Pages/LoginPage.razor b/Netina.AdminPanel.PWA/Pages/LoginPage.razor index 1f8fa4f..75a291f 100644 --- a/Netina.AdminPanel.PWA/Pages/LoginPage.razor +++ b/Netina.AdminPanel.PWA/Pages/LoginPage.razor @@ -25,16 +25,16 @@ color: white !important } *@ -
-
- +
+
+
- ورود با شماره تلفن همراه + ورود با شماره تلفن همراه برای ورود به پنل ادمین شماره تلفن همراه خود را وارد کنید ، میتوانید با رمز عبور نیز وارد شوید
- @*

شماره تلفن شما

+ @*

شماره تلفن شما

- -

- با تایید شماره تلفن همراه با همه شرایط - حریم - خصوصی - اپلیکیشن داکیومد موافقت می کنم -

-
+
@if (StatConfigs.IsShop) {
+ background="transparent" speed="1" class="mx-auto h-64 w-64 lg:w-96 lg:h-96" loop autoplay /> داشبورد تخصصی وسمه شما میتوانید با ورود به داشبورد تخصصی نتینا فروشگاه خود را مدیریت کنید @@ -85,7 +79,7 @@
+ background="transparent" speed="1" class="mx-auto h-64 w-64 lg:w-96 lg:h-96" loop autoplay /> داشبورد وب سایت شما شما میتوانید با ورود به داشبورد ، وب سایت خود را مدیریت کنید diff --git a/Netina.AdminPanel.PWA/Pages/OrdersPage.razor b/Netina.AdminPanel.PWA/Pages/OrdersPage.razor index d7087e4..0f6e269 100644 --- a/Netina.AdminPanel.PWA/Pages/OrdersPage.razor +++ b/Netina.AdminPanel.PWA/Pages/OrdersPage.razor @@ -8,36 +8,36 @@ @inject IRestWrapper RestWrapper - + - + سفارشات امروز @ViewModel.PageDto.TodayOrdersCount - عدد + عدد - + سفارشات در انتظار تایید @ViewModel.PageDto.PayedOrdersCount - عدد + عدد - + سفارشات ارسال نشده @ViewModel.PageDto.UnSendOrdersCount - عدد + عدد - + مجموع سفارش ماه @ViewModel.PageDto.ThisMonthOrdersCount - عدد + عدد @@ -45,30 +45,30 @@ - + - + سفارشات امروز @ViewModel.PageDto.TodayOrdersCount - عدد + عدد - + سفارشات در انتظار تایید @ViewModel.PageDto.PayedOrdersCount - عدد + عدد - + سفارشات ارسال نشده @ViewModel.PageDto.UnSendOrdersCount - عدد + عدد - + مجموع سفارش ماه @ViewModel.PageDto.ThisMonthOrdersCount - عدد + عدد @@ -90,24 +90,32 @@ OnAdornmentClick="@ViewModel.SearchAsync"> - - - - - - - + + + + + +

@e.Title

+
+
- + - + - - - - - - - + + + + + +

@e.Title

+
+
@@ -205,7 +221,7 @@ + SelectedChanged="@ViewModel.ChangePageAsync" class="mx-auto my-4" /> diff --git a/Netina.AdminPanel.PWA/Pages/OrdersPage.razor.cs b/Netina.AdminPanel.PWA/Pages/OrdersPage.razor.cs index 1b0eb97..858d36d 100644 --- a/Netina.AdminPanel.PWA/Pages/OrdersPage.razor.cs +++ b/Netina.AdminPanel.PWA/Pages/OrdersPage.razor.cs @@ -18,7 +18,7 @@ public class OrdersPageViewModel : BaseViewModel ISnackbar snackbar, IUserUtility userUtility, IRestWrapper restWrapper, - IDialogService dialogService) : base(userUtility,"Cached") + IDialogService dialogService) : base(userUtility) { _navigationManager = navigationManager; _snackbar = snackbar; @@ -39,7 +39,7 @@ public class OrdersPageViewModel : BaseViewModel throw new Exception("Token is null"); IsProcessing = true; MainOrders.Clear(); - var dto = await _restWrapper.OrderRestApi.ReadAll(MainGridCurrentPage,null, null, null, null,token); + var dto = await _restWrapper.OrderRestApi.ReadAll(MainGridCurrentPage, token); dto.ForEach(d => MainOrders.Add(d)); if (MainOrders.Count == 15) MainGridPageCount = 2; @@ -82,7 +82,8 @@ public class OrdersPageViewModel : BaseViewModel throw new Exception("Token is null"); - var dto = await _restWrapper.OrderRestApi.ReadAll(MainGridCurrentPage,FactorCodeSearch, null, _orderStatusSearch, null, token); + var dto = await _restWrapper.OrderRestApi.ReadAll(MainGridCurrentPage, FactorCodeSearch, null, + OrderStatusSearch?.Value, null, token); dto.ForEach(d => MainOrders.Add(d)); if (MainOrders.Count == 15) MainGridPageCount = MainGridCurrentPage + 2; @@ -119,8 +120,6 @@ public class OrdersPageViewModel : BaseViewModel } public string? FactorCodeSearch { get; set; } = null; - private OrderStatus? _orderStatusSearch; - public async Task SearchAsync() { try @@ -130,7 +129,11 @@ public class OrdersPageViewModel : BaseViewModel throw new Exception("Token is null"); IsProcessing = true; MainOrders.Clear(); - var dto = await _restWrapper.OrderRestApi.ReadAll(MainGridCurrentPage, FactorCodeSearch,null, _orderStatusSearch, null, token); + List dto; + + dto = await _restWrapper.OrderRestApi.ReadAll(MainGridCurrentPage, FactorCodeSearch, null, + OrderStatusSearch?.Value, null, token); + dto.ForEach(d => MainOrders.Add(d)); if (MainOrders.Count == 15) MainGridPageCount = 2; @@ -159,9 +162,27 @@ public class OrdersPageViewModel : BaseViewModel } } - public async Task OrderStatusSearchChanged(OrderStatus arg) + + public FilterOptionDto? OrderStatusSearch; + public List> OrderStatusFilterOptions = new List> { - _orderStatusSearch = arg; + new FilterOptionDto{Title = OrderStatus.Paid.ToDisplay(),Value = OrderStatus.Paid}, + new FilterOptionDto{Title = OrderStatus.Submitted.ToDisplay(),Value = OrderStatus.Submitted}, + new FilterOptionDto{Title = OrderStatus.Delivered.ToDisplay(),Value = OrderStatus.Delivered}, + new FilterOptionDto{Title = OrderStatus.Done.ToDisplay(),Value = OrderStatus.Done}, + new FilterOptionDto{Title = OrderStatus.Canceled.ToDisplay(),Value = OrderStatus.Canceled}, + + }; + public async Task>> OrderStatusSearchAsync(string orderStatus) + { + if (orderStatus.IsNullOrEmpty()) + return OrderStatusFilterOptions; + return OrderStatusFilterOptions.Where(o => o.Title == orderStatus).ToList(); + } + + public async Task SearchByOrderStatusAsync(FilterOptionDto? arg) + { + OrderStatusSearch = arg; await SearchAsync(); } } \ No newline at end of file diff --git a/Netina.AdminPanel.PWA/Services/RestServices/IOrderRestApi.cs b/Netina.AdminPanel.PWA/Services/RestServices/IOrderRestApi.cs index beb2a15..ab9e573 100644 --- a/Netina.AdminPanel.PWA/Services/RestServices/IOrderRestApi.cs +++ b/Netina.AdminPanel.PWA/Services/RestServices/IOrderRestApi.cs @@ -5,6 +5,10 @@ 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); + [Get("/{id}")] Task ReadOne(Guid id, [Header("Authorization")] string authorization); diff --git a/Netina.AdminPanel.PWA/package-lock.json b/Netina.AdminPanel.PWA/package-lock.json index f22e945..6e4b03f 100644 --- a/Netina.AdminPanel.PWA/package-lock.json +++ b/Netina.AdminPanel.PWA/package-lock.json @@ -18,6 +18,7 @@ "@ckeditor/ckeditor5-font": "41.0.0", "@ckeditor/ckeditor5-heading": "41.0.0", "@ckeditor/ckeditor5-horizontal-line": "41.0.0", + "@ckeditor/ckeditor5-html-support": "^41.0.0", "@ckeditor/ckeditor5-image": "41.0.0", "@ckeditor/ckeditor5-indent": "41.0.0", "@ckeditor/ckeditor5-link": "41.0.0", @@ -163,6 +164,15 @@ "ckeditor5": "41.0.0" } }, + "node_modules/@ckeditor/ckeditor5-html-support": { + "version": "41.0.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-html-support/-/ckeditor5-html-support-41.0.0.tgz", + "integrity": "sha512-aw9U5WWAw1On32xCzqylZPlHPZGgmat1u8JP10FQt+z+u7qjl7sPkKfiXtheLoLVr+Ol84JeskEDDZZH72RS5w==", + "dependencies": { + "ckeditor5": "41.0.0", + "lodash-es": "4.17.21" + } + }, "node_modules/@ckeditor/ckeditor5-image": { "version": "41.0.0", "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-image/-/ckeditor5-image-41.0.0.tgz", diff --git a/Netina.AdminPanel.PWA/package.json b/Netina.AdminPanel.PWA/package.json index f52e901..b043267 100644 --- a/Netina.AdminPanel.PWA/package.json +++ b/Netina.AdminPanel.PWA/package.json @@ -9,6 +9,7 @@ "@ckeditor/ckeditor5-font": "41.0.0", "@ckeditor/ckeditor5-heading": "41.0.0", "@ckeditor/ckeditor5-horizontal-line": "41.0.0", + "@ckeditor/ckeditor5-html-support": "^41.0.0", "@ckeditor/ckeditor5-image": "41.0.0", "@ckeditor/ckeditor5-indent": "41.0.0", "@ckeditor/ckeditor5-link": "41.0.0", diff --git a/Netina.AdminPanel.PWA/version.json b/Netina.AdminPanel.PWA/version.json index 117b1ad..1a5e341 100644 --- a/Netina.AdminPanel.PWA/version.json +++ b/Netina.AdminPanel.PWA/version.json @@ -1,6 +1,6 @@ { - "version": "0.25.28.49", - "versionNumber": 0.252849, + "version": "1.0.1.2", + "versionNumber": "1.012", "versionName": "چرتکه", "description": "", "features": [ diff --git a/Netina.AdminPanel.PWA/wwwroot/appsettings.Development.json b/Netina.AdminPanel.PWA/wwwroot/appsettings.Development.json index c3fa40e..a55a700 100644 --- a/Netina.AdminPanel.PWA/wwwroot/appsettings.Development.json +++ b/Netina.AdminPanel.PWA/wwwroot/appsettings.Development.json @@ -11,8 +11,8 @@ "WebSiteUrl": "https://vesmeh.com", "AdminPanelBaseUrl": "https://admin.vesmeh.com", "StorageBaseUrl": "https://storage.vesmeh.com/", - "ApiUrl": "https://api.vesmeh.com/api" - //"ApiUrl": "http://192.168.1.12:32770/api" + //"ApiUrl": "https://api.vesmeh.com/api" + "ApiUrl": "http://localhost:32770/api" //"WebSiteUrl": "https://hamyanedalat.com", //"AdminPanelBaseUrl": "https://admin.hamyanedalat.com", diff --git a/Netina.AdminPanel.PWA/wwwroot/css/app.min.css b/Netina.AdminPanel.PWA/wwwroot/css/app.min.css index 4480cbb..6d17a33 100644 --- a/Netina.AdminPanel.PWA/wwwroot/css/app.min.css +++ b/Netina.AdminPanel.PWA/wwwroot/css/app.min.css @@ -1719,9 +1719,6 @@ input:checked + .toggle-bg { .text-center { text-align: center; } -.text-justify { - text-align: justify; -} .align-bottom { vertical-align: bottom; } @@ -1766,10 +1763,6 @@ input:checked + .toggle-bg { --tw-text-opacity: 1; color: rgb(217 119 6 / var(--tw-text-opacity)); } -.text-blue-500 { - --tw-text-opacity: 1; - color: rgb(63 131 248 / var(--tw-text-opacity)); -} .text-blue-600 { --tw-text-opacity: 1; color: rgb(28 100 242 / var(--tw-text-opacity));