ltable
This commit is contained in:
@@ -1,5 +1,9 @@
|
||||
@page "/Customer"
|
||||
@using Front.Services
|
||||
@using Shared.DTOs
|
||||
@using Front.CUSComponent
|
||||
@using Shared.DTOs.Serch
|
||||
@inject HttpClientController hc;
|
||||
<PageTitle>مشتری</PageTitle>
|
||||
@* search *@
|
||||
<div class="row">
|
||||
@@ -58,170 +62,98 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@* data *@
|
||||
@* alert *@
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="mb-4">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="card">
|
||||
<div class="table-responsive text-nowrap">
|
||||
<table class="table">
|
||||
<thead class="table-light">
|
||||
<tr>
|
||||
<th>پروژه</th>
|
||||
<th>مشتری</th>
|
||||
<th>کاربران</th>
|
||||
<th>وضعیت</th>
|
||||
<th>عملکردها</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class="table-border-bottom-0">
|
||||
<tr>
|
||||
<td><i class="fab fa-angular fa-lg text-danger me-3"></i> <strong>پروژه انگولار</strong></td>
|
||||
<td>آلبرت کوک</td>
|
||||
<td>
|
||||
<ul class="list-unstyled users-list m-0 avatar-group d-flex align-items-center">
|
||||
<li data-bs-toggle="tooltip" data-popup="tooltip-custom" data-bs-placement="top" class="avatar avatar-xs pull-up" title="" data-bs-original-title="لیلان فولر">
|
||||
<img src="assets/img/avatars/5.png" alt="Avatar" class="rounded-circle">
|
||||
</li>
|
||||
<li data-bs-toggle="tooltip" data-popup="tooltip-custom" data-bs-placement="top" class="avatar avatar-xs pull-up" title="" data-bs-original-title="سوفیا ویلکرسون">
|
||||
<img src="assets/img/avatars/6.png" alt="Avatar" class="rounded-circle">
|
||||
</li>
|
||||
<li data-bs-toggle="tooltip" data-popup="tooltip-custom" data-bs-placement="top" class="avatar avatar-xs pull-up" title="" data-bs-original-title="کریستین پارکر">
|
||||
<img src="assets/img/avatars/7.png" alt="Avatar" class="rounded-circle">
|
||||
</li>
|
||||
</ul>
|
||||
</td>
|
||||
<td><span class="badge bg-label-primary me-1">فعال</span></td>
|
||||
<td>
|
||||
<div class="dropdown">
|
||||
<button type="button" class="btn p-0 dropdown-toggle hide-arrow" data-bs-toggle="dropdown"><i class="bx bx-dots-vertical-rounded"></i></button>
|
||||
<div class="dropdown-menu new-style-11">
|
||||
<a class="dropdown-item" href="javascript:void(0);"><i class="bx bx-edit-alt me-1"></i>ویرایش</a>
|
||||
<a class="dropdown-item" href="javascript:void(0);"><i class="bx bx-trash me-1"></i> حذف</a>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><i class="fab fa-react fa-lg text-info me-3"></i> <strong>پروژه ری اکت</strong></td>
|
||||
<td>بری هانتر</td>
|
||||
<td>
|
||||
<ul class="list-unstyled users-list m-0 avatar-group d-flex align-items-center">
|
||||
<li data-bs-toggle="tooltip" data-popup="tooltip-custom" data-bs-placement="top" class="avatar avatar-xs pull-up" title="" data-bs-original-title="لیلان فولر">
|
||||
<img src="assets/img/avatars/5.png" alt="Avatar" class="rounded-circle">
|
||||
</li>
|
||||
<li data-bs-toggle="tooltip" data-popup="tooltip-custom" data-bs-placement="top" class="avatar avatar-xs pull-up" title="" data-bs-original-title="سوفیا ویلکرسون">
|
||||
<img src="assets/img/avatars/6.png" alt="Avatar" class="rounded-circle">
|
||||
</li>
|
||||
<li data-bs-toggle="tooltip" data-popup="tooltip-custom" data-bs-placement="top" class="avatar avatar-xs pull-up" title="" data-bs-original-title="کریستین پارکر">
|
||||
<img src="assets/img/avatars/7.png" alt="Avatar" class="rounded-circle">
|
||||
</li>
|
||||
</ul>
|
||||
</td>
|
||||
<td><span class="badge bg-label-success me-1">تکمیل شد</span></td>
|
||||
<td>
|
||||
<div class="dropdown">
|
||||
<button type="button" class="btn p-0 dropdown-toggle hide-arrow" data-bs-toggle="dropdown"><i class="bx bx-dots-vertical-rounded"></i></button>
|
||||
<div class="dropdown-menu new-style-11">
|
||||
<a class="dropdown-item" href="javascript:void(0);"><i class="bx bx-edit-alt me-1"></i>ویرایش</a>
|
||||
<a class="dropdown-item" href="javascript:void(0);"><i class="bx bx-trash me-1"></i> حذف</a>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><i class="fab fa-vuejs fa-lg text-success me-3"></i> <strong>پروژه وی جی اس</strong></td>
|
||||
<td>ترور بیکر</td>
|
||||
<td>
|
||||
<ul class="list-unstyled users-list m-0 avatar-group d-flex align-items-center">
|
||||
<li data-bs-toggle="tooltip" data-popup="tooltip-custom" data-bs-placement="top" class="avatar avatar-xs pull-up" title="" data-bs-original-title="لیلان فولر">
|
||||
<img src="assets/img/avatars/5.png" alt="Avatar" class="rounded-circle">
|
||||
</li>
|
||||
<li data-bs-toggle="tooltip" data-popup="tooltip-custom" data-bs-placement="top" class="avatar avatar-xs pull-up" title="" data-bs-original-title="سوفیا ویلکرسون">
|
||||
<img src="assets/img/avatars/6.png" alt="Avatar" class="rounded-circle">
|
||||
</li>
|
||||
<li data-bs-toggle="tooltip" data-popup="tooltip-custom" data-bs-placement="top" class="avatar avatar-xs pull-up" title="" data-bs-original-title="کریستین پارکر">
|
||||
<img src="assets/img/avatars/7.png" alt="Avatar" class="rounded-circle">
|
||||
</li>
|
||||
</ul>
|
||||
</td>
|
||||
<td><span class="badge bg-label-info me-1">برنامه ریزی شده</span></td>
|
||||
<td>
|
||||
<div class="dropdown">
|
||||
<button type="button" class="btn p-0 dropdown-toggle hide-arrow" data-bs-toggle="dropdown"><i class="bx bx-dots-vertical-rounded"></i></button>
|
||||
<div class="dropdown-menu new-style-12">
|
||||
<a class="dropdown-item" href="javascript:void(0);"><i class="bx bx-edit-alt me-1"></i>ویرایش</a>
|
||||
<a class="dropdown-item" href="javascript:void(0);"><i class="bx bx-trash me-1"></i> حذف</a>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><i class="fab fa-bootstrap fa-lg text-primary me-3"></i> <strong>پروژه بوت استرپ</strong></td>
|
||||
<td>جری میلتون</td>
|
||||
<td>
|
||||
<ul class="list-unstyled users-list m-0 avatar-group d-flex align-items-center">
|
||||
<li data-bs-toggle="tooltip" data-popup="tooltip-custom" data-bs-placement="top" class="avatar avatar-xs pull-up" title="" data-bs-original-title="لیلان فولر">
|
||||
<img src="assets/img/avatars/5.png" alt="Avatar" class="rounded-circle">
|
||||
</li>
|
||||
<li data-bs-toggle="tooltip" data-popup="tooltip-custom" data-bs-placement="top" class="avatar avatar-xs pull-up" title="" data-bs-original-title="سوفیا ویلکرسون">
|
||||
<img src="assets/img/avatars/6.png" alt="Avatar" class="rounded-circle">
|
||||
</li>
|
||||
<li data-bs-toggle="tooltip" data-popup="tooltip-custom" data-bs-placement="top" class="avatar avatar-xs pull-up" title="" data-bs-original-title="کریستین پارکر">
|
||||
<img src="assets/img/avatars/7.png" alt="Avatar" class="rounded-circle">
|
||||
</li>
|
||||
</ul>
|
||||
</td>
|
||||
<td><span class="badge bg-label-warning me-1">درانتظار</span></td>
|
||||
<td>
|
||||
<div class="dropdown">
|
||||
<button type="button" class="btn p-0 dropdown-toggle hide-arrow" data-bs-toggle="dropdown"><i class="bx bx-dots-vertical-rounded"></i></button>
|
||||
<div class="dropdown-menu new-style-12">
|
||||
<a class="dropdown-item" href="javascript:void(0);"><i class="bx bx-edit-alt me-1"></i>ویرایش</a>
|
||||
<a class="dropdown-item" href="javascript:void(0);"><i class="bx bx-trash me-1"></i> حذف</a>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<Alert hidden="@Hidealert" Color="@alertColor" Dismissable="false">
|
||||
<Icon Name="@alertIconName" class="me-2"></Icon>
|
||||
@alertMessage
|
||||
</Alert>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@* data *@
|
||||
@if (request != null)
|
||||
{
|
||||
<LTable ModelinComponent="request?.list" />
|
||||
|
||||
@* pagination *@
|
||||
<nav aria-label="Page navigation">
|
||||
<br />
|
||||
<ul class="pagination justify-content-center">
|
||||
@for (int page = 1; page <= request?.PageCount; page++)
|
||||
{
|
||||
if (page == PageIndex)
|
||||
{
|
||||
<li class="page-item disabled">
|
||||
<a class="page-link" href="@hc._nav.GetUriWithQueryParameter("PageIndex",page)">@(page)</a>
|
||||
</li>
|
||||
}
|
||||
else
|
||||
{
|
||||
<li class="page-item">
|
||||
<a class="page-link" href="@hc._nav.GetUriWithQueryParameter("PageIndex",page)">@(page)</a>
|
||||
</li>
|
||||
}
|
||||
}
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
}
|
||||
|
||||
@layout PanelLayout
|
||||
@code {
|
||||
private IEnumerable<Employee1>? employees;
|
||||
// alert
|
||||
AlertColor alertColor = AlertColor.Primary;
|
||||
IconName alertIconName = IconName.CheckCircleFill;
|
||||
bool Hidealert = true;
|
||||
string alertMessage = "";
|
||||
|
||||
private async Task<GridDataProviderResult<Employee1>> EmployeesDataProvider(GridDataProviderRequest<Employee1> request)
|
||||
protected override async Task OnParametersSetAsync()
|
||||
{
|
||||
if (employees is null) // pull employees only one time for client-side filtering, sorting, and paging
|
||||
employees = GetEmployees(); // call a service or an API to pull the employees
|
||||
|
||||
return await Task.FromResult(request.ApplyTo(employees));
|
||||
if (PageIndex == null) PageIndex = 1;
|
||||
await LoadCus(PageIndex.Value);
|
||||
await base.OnParametersSetAsync();
|
||||
}
|
||||
[Parameter, SupplyParameterFromQuery]
|
||||
public int? PageIndex { get; set; }
|
||||
|
||||
private IEnumerable<Employee1> GetEmployees()
|
||||
{
|
||||
return new List<Employee1>
|
||||
{
|
||||
new Employee1 { Id = 107, Name = "Alice", Designation = "AI Engineer", DOJ = new DateOnly(1998, 11, 17), IsActive = true },
|
||||
new Employee1 { Id = 103, Name = "Bob", Designation = "Senior DevOps Engineer", DOJ = new DateOnly(1985, 1, 5), IsActive = true },
|
||||
new Employee1 { Id = 106, Name = "John", Designation = "Data Engineer", DOJ = new DateOnly(1995, 4, 17), IsActive = true },
|
||||
new Employee1 { Id = 104, Name = "Pop", Designation = "Associate Architect", DOJ = new DateOnly(1985, 6, 8), IsActive = false },
|
||||
new Employee1 { Id = 105, Name = "Ronald", Designation = "Senior Data Engineer", DOJ = new DateOnly(1991, 8, 23), IsActive = true },
|
||||
new Employee1 { Id = 102, Name = "Line", Designation = "Architect", DOJ = new DateOnly(1977, 1, 12), IsActive = true },
|
||||
new Employee1 { Id = 101, Name = "Daniel", Designation = "Architect", DOJ = new DateOnly(1977, 1, 12), IsActive = true },
|
||||
new Employee1 { Id = 108, Name = "Zayne", Designation = "Data Analyst", DOJ = new DateOnly(1991, 1, 1), IsActive = true },
|
||||
new Employee1 { Id = 109, Name = "Isha", Designation = "App Maker", DOJ = new DateOnly(1996, 7, 1), IsActive = true },
|
||||
};
|
||||
}
|
||||
public Shared.DTOs.PagingDto<RCustomer>? request { get; set; }
|
||||
}
|
||||
@functions {
|
||||
private void ShowSuccessAlert(string msg)
|
||||
{
|
||||
Hidealert = false;
|
||||
alertColor = AlertColor.Success;
|
||||
alertIconName = IconName.CheckCircleFill;
|
||||
alertMessage = msg;
|
||||
}
|
||||
|
||||
private void ShowDangerAlert(string msg)
|
||||
{
|
||||
Hidealert = false;
|
||||
alertColor = AlertColor.Danger;
|
||||
alertIconName = IconName.ExclamationTriangleFill;
|
||||
alertMessage = msg;
|
||||
}
|
||||
public async Task LoadCus(int pi)
|
||||
{
|
||||
var rsp = await hc.Post<ItemSerchGetCustomer>("Customer/GetAll", new ItemSerchGetCustomer()
|
||||
{
|
||||
PageIndex=pi
|
||||
});
|
||||
if (rsp.IsSuccessStatusCode)
|
||||
{
|
||||
request = await rsp.Content.ReadFromJsonAsync<PagingDto<RCustomer>>();
|
||||
}
|
||||
else if(rsp.StatusCode==System.Net.HttpStatusCode.Forbidden)
|
||||
{
|
||||
ShowDangerAlert("شما دسترسی به خواندن اطلاعات مشتری را نداربد");
|
||||
}
|
||||
else
|
||||
{
|
||||
ShowDangerAlert("خطایی در اجرای عملیات رخ داده");
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user