Add category and product drag-drop management pages

This commit is contained in:
masoodafar-web
2025-11-27 21:38:27 +03:30
parent ee26d36536
commit bc1eafd5a1
33 changed files with 2001 additions and 159 deletions

View File

@@ -0,0 +1,132 @@
@using BackOffice.BFF.UserOrder.Protobuf.Protos.UserOrder
@using BackOffice.Common.BaseComponents
<MudDialog>
<DialogContent>
<MudStack Spacing="2">
@if (_isLoading)
{
<MudProgressLinear Indeterminate="true" Color="Color.Primary" />
}
else if (_model is null)
{
<MudText Typo="Typo.body1" Color="Color.Error">
خطا در دریافت اطلاعات سفارش.
</MudText>
}
else
{
<MudStack Spacing="2">
<MudText Typo="Typo.h6">جزئیات سفارش شماره @_model.Id</MudText>
<MudText Typo="Typo.body2">
کاربر: @_model.UserFullName (@_model.UserNationalCode)
</MudText>
<MudPaper Class="pa-3">
<MudStack Spacing="1">
<MudText Typo="Typo.subtitle2">خلاصه سفارش</MudText>
<MudDivider />
<MudText Typo="Typo.body2">مبلغ: @_model.Price.ToString("N0") تومان</MudText>
<MudText Typo="Typo.body2">شناسه پرداخت: @_model.TransactionId</MudText>
<MudText Typo="Typo.body2">
تاریخ پرداخت:
@_model.PaymentDate.ToDateTime().ToLocalTime().ToString("yyyy/MM/dd HH:mm")
</MudText>
<MudText Typo="Typo.body2">
روش پرداخت:
@GetPaymentMethodText(_model.PaymentMethod)
</MudText>
<MudText Typo="Typo.body2">
وضعیت پرداخت:
@if (_model.PaymentStatus)
{
<MudChip T="string" Color="Color.Success" Size="Size.Small">پرداخت شده</MudChip>
}
else
{
<MudChip T="string" Color="Color.Error" Size="Size.Small">پرداخت نشده</MudChip>
}
</MudText>
<MudText Typo="Typo.body2">
وضعیت ارسال:
<MudSelect T="int"
Label="وضعیت ارسال"
Dense="true"
Variant="Variant.Outlined"
@bind-Value="_deliveryStatusValue">
<MudSelectItem T="int" Value="0">بدون ارسال / نامشخص</MudSelectItem>
<MudSelectItem T="int" Value="1">در انتظار ارسال</MudSelectItem>
<MudSelectItem T="int" Value="2">تحویل پست</MudSelectItem>
<MudSelectItem T="int" Value="3">تحویل به مشتری</MudSelectItem>
<MudSelectItem T="int" Value="4">مرجوع شده</MudSelectItem>
</MudSelect>
</MudText>
<MudTextField T="string"
Label="کد رهگیری"
Variant="Variant.Outlined"
Dense="true"
@bind-Value="_trackingCode" />
<MudTextField T="string"
Label="توضیحات ارسال"
Variant="Variant.Outlined"
Dense="true"
Lines="3"
@bind-Value="_deliveryDescription" />
</MudStack>
</MudPaper>
<MudPaper Class="pa-3">
<MudStack Spacing="1">
<MudText Typo="Typo.subtitle2">آدرس تحویل</MudText>
<MudDivider />
@if (!string.IsNullOrWhiteSpace(_model.UserAddressText))
{
<MudText Typo="Typo.body2">@_model.UserAddressText</MudText>
}
else
{
<MudText Typo="Typo.caption">آدرسی ثبت نشده است.</MudText>
}
</MudStack>
</MudPaper>
<MudPaper Class="pa-3">
<MudStack Spacing="1">
<MudText Typo="Typo.subtitle2">اقلام فاکتور</MudText>
<MudDivider />
@if (_model.FactorDetails != null && _model.FactorDetails.Count > 0)
{
<MudTable Items="_model.FactorDetails" Dense="true">
<HeaderContent>
<MudTh>محصول</MudTh>
<MudTh>قیمت واحد</MudTh>
<MudTh>تعداد</MudTh>
<MudTh>تخفیف واحد</MudTh>
</HeaderContent>
<RowTemplate>
<MudTd>@context.ProductTitle</MudTd>
<MudTd>@context.UnitPrice?.ToString("N0")</MudTd>
<MudTd>@context.Count</MudTd>
<MudTd>@context.UnitDiscountPrice?.ToString("N0")</MudTd>
</RowTemplate>
</MudTable>
}
else
{
<MudText Typo="Typo.caption">آیتمی برای این سفارش ثبت نشده است.</MudText>
}
</MudStack>
</MudPaper>
</MudStack>
}
</MudStack>
</DialogContent>
<DialogActions>
<MudButton Variant="Variant.Outlined" Color="Color.Default" OnClick="Close">
بستن
</MudButton>
<MudButton Variant="Variant.Filled" Color="Color.Primary" OnClick="SaveAsync">
ثبت تغییرات
</MudButton>
</DialogActions>
</MudDialog>