Compare commits

..

No commits in common. "b2eeb8cb3f3b51c62fdeeb71172a3196deac3bb9" and "128600c4ed8e071b6653c8106c03017dfd9ad3be" have entirely different histories.

3 changed files with 26 additions and 52 deletions

View File

@ -16,14 +16,13 @@
<!-- CANCEL --> <!-- CANCEL -->
<MudButton Variant="Variant.Filled" <MudButton Variant="Variant.Filled"
Color="@CancelButtonColor" Color="Color.Error"
StartIcon="@CancelButtonIcon" StartIcon="@Icons.Material.Filled.Cancel"
Disabled="@DisableCancel" Disabled="@DisableCancel"
OnClick="OnCancel"> OnClick="OnCancel">
@CancelButtonText Cancel
</MudButton> </MudButton>
<!-- SEND --> <!-- SEND -->
<MudButton Variant="Variant.Filled" <MudButton Variant="Variant.Filled"
Color="@SendButtonColor" Color="@SendButtonColor"
@ -64,7 +63,6 @@
[Parameter] public bool Copied { get; set; } [Parameter] public bool Copied { get; set; }
[Parameter] public bool? SendSuccess { get; set; } [Parameter] public bool? SendSuccess { get; set; }
[Parameter] public bool DisableCancel { get; set; } [Parameter] public bool DisableCancel { get; set; }
[Parameter] public bool? CancelSuccess { get; set; }
[Parameter] public EventCallback<string> OrderJsonChanged { get; set; } [Parameter] public EventCallback<string> OrderJsonChanged { get; set; }
@ -97,31 +95,6 @@
_ => Icons.Material.Filled.Send _ => Icons.Material.Filled.Send
}; };
private string CancelButtonText =>
CancelSuccess switch
{
true => "Done",
false => "Error",
_ => "Cancel"
};
private Color CancelButtonColor =>
CancelSuccess switch
{
true => Color.Success,
false => Color.Error,
_ => Color.Error
};
private string CancelButtonIcon =>
CancelSuccess switch
{
true => Icons.Material.Filled.CheckCircle,
false => Icons.Material.Filled.Error,
_ => Icons.Material.Filled.Cancel
};
private void OrderJsonChange(string value) private void OrderJsonChange(string value)
{ {
OrderJson = value; OrderJson = value;

View File

@ -7,6 +7,7 @@
@inject IJSRuntime JS @inject IJSRuntime JS
@inject IDialogService DialogService @inject IDialogService DialogService
@inject ISnackbar Snackbar
@inject HttpClient Http @inject HttpClient Http
<MudMainContent Class="pa-0 ma-0"> <MudMainContent Class="pa-0 ma-0">
@ -48,7 +49,6 @@
<JsonOutputPanel @bind-OrderJson="@OrderJson" <JsonOutputPanel @bind-OrderJson="@OrderJson"
Copied="@copied" Copied="@copied"
SendSuccess="@sendSuccess" SendSuccess="@sendSuccess"
CancelSuccess="@cancelSuccess"
OnCopy="CopyJsonToClipboard" OnCopy="CopyJsonToClipboard"
OnSend="SendOrderToServer" OnSend="SendOrderToServer"
OnImport="OpenImportDialog" OnImport="OpenImportDialog"
@ -66,7 +66,6 @@
private string OrderJson = ""; // 🔥 CACHE JSON (QUAN TRỌNG) private string OrderJson = ""; // 🔥 CACHE JSON (QUAN TRỌNG)
private bool copied; private bool copied;
private bool? sendSuccess; private bool? sendSuccess;
private bool? cancelSuccess;
private CancellationTokenSource? _copyCts; private CancellationTokenSource? _copyCts;
// ================= INIT ================= // ================= INIT =================
@ -248,31 +247,33 @@
async Task CancelOrder() async Task CancelOrder()
{ {
// reset trạng thái trước khi gửi
cancelSuccess = null;
StateHasChanged();
try try
{ {
var res = await Http.PostAsync("/api/order/cancel", null); var res = await Http.PostAsync("/api/order/cancel", null);
cancelSuccess = res.IsSuccessStatusCode;
} sendSuccess = null; // reset trạng thái SEND
catch copied = false;
if (res.IsSuccessStatusCode)
{ {
cancelSuccess = false; Snackbar.Add(
"⛔ Order đã huỷ",
Severity.Info);
} }
else
StateHasChanged();
// 🔥 AUTO RESET SAU 2 GIÂY
_ = Task.Run(async () =>
{ {
await Task.Delay(2000); Snackbar.Add(
cancelSuccess = null; "❌ Huỷ order thất bại",
await InvokeAsync(StateHasChanged); Severity.Error);
}); }
}
catch (Exception ex)
{
Snackbar.Add(
$"❌ Lỗi: {ex.Message}",
Severity.Error);
}
} }
async Task CopyJsonToClipboard() async Task CopyJsonToClipboard()

View File

@ -131,7 +131,7 @@ public class OrderMessage
public string Version { get; set; } = "v1"; public string Version { get; set; } = "v1";
public string Manufacturer { get; set; } = "PNKX"; public string Manufacturer { get; set; } = "PNKX";
public string SerialNumber { get; set; } = "T800-002"; public string SerialNumber { get; set; } = "T800-002";
public string OrderId { get; set; } public string OrderId { get; set; } = Guid.NewGuid().ToString();
public int OrderUpdateId { get; set; } public int OrderUpdateId { get; set; }
public string? ZoneSetId { get; set; } public string? ZoneSetId { get; set; }
@ -419,7 +419,7 @@ public class OrderMessage
manufacturer = Manufacturer, manufacturer = Manufacturer,
serialNumber = SerialNumber, serialNumber = SerialNumber,
orderId = OrderId= Guid.NewGuid().ToString(), orderId = OrderId,
orderUpdateId = OrderUpdateId, orderUpdateId = OrderUpdateId,
zoneSetId = string.IsNullOrWhiteSpace(ZoneSetId) zoneSetId = string.IsNullOrWhiteSpace(ZoneSetId)