refactor: CycleUiHelper 重命名为 FairyUiHelper

对齐 FairyView 宿主命名。环线/充电/按钮/门进程的 Stop 改为 override,避免隐藏基类;Kiva.ForceStop 改为 override。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
黄兆尉
2026-08-26 22:49:07 +08:00
co-authored by Cursor
parent 7c925985eb
commit e075bc0d7d
23 changed files with 143 additions and 116 deletions
@@ -2172,7 +2172,7 @@ namespace StandardScene.Chained
}
[MethodMember(Name = "停止环线", Description = "停止环线")]
public void Stop()
public override void Stop()
{
StopAll();
}
@@ -2182,7 +2182,7 @@ namespace StandardScene.Chained
ConfirmMessage = "确认将所有已初始化的正常 AGV 一键上线?")]
public void OnlineAllCars()
{
// 确认由 MethodMember.ConfirmMessage + ObjectEditorParity/SafeUI 居中弹出,此处勿再套 CycleUiHelper。
// 确认由 MethodMember.ConfirmMessage + ObjectEditorParity/SafeUI 居中弹出,此处勿再套 FairyUiHelper。
Task.Run(OnlineAllCarsCore);
}
@@ -2208,7 +2208,7 @@ namespace StandardScene.Chained
ConfirmMessage = "确认停止环线调度并结束所有 AGV 的环线任务?")]
public void StopAllCarTasks()
{
// 确认由 MethodMember.ConfirmMessage + ObjectEditorParity/SafeUI 居中弹出,此处勿再套 CycleUiHelper。
// 确认由 MethodMember.ConfirmMessage + ObjectEditorParity/SafeUI 居中弹出,此处勿再套 FairyUiHelper。
Task.Run(StopAllCarTasksCore);
}
+4 -4
View File
@@ -137,10 +137,10 @@ namespace StandardScene.Chained
new[] { "取消任务", "重发任务", "换车重发任务" });
var taskCode = dd.Id;
// 业务操作含文件 IO 与锁竞争,统一用 Task.Run 放后台执行,绝不阻塞渲染线程(否则界面卡死)。
if (op == 0) CycleUiHelper.ConfirmThen($"是否结束任务 {taskCode}", () => Task.Run(() => CancelDelivery(taskCode)));
else if (op == 1) CycleUiHelper.ConfirmThen($"是否重发任务 {taskCode}", () => Task.Run(() => ResendDelivery(taskCode)));
else if (op == 2) CycleUiHelper.ConfirmThen($"是否换车重发任务 {taskCode}", () => Task.Run(() => ChangeCarResendDelivery(taskCode)));
}, height: CycleUiHelper.TableHeightPx(18), enableSearch: true);
if (op == 0) FairyUiHelper.ConfirmThen($"是否结束任务 {taskCode}", () => Task.Run(() => CancelDelivery(taskCode)));
else if (op == 1) FairyUiHelper.ConfirmThen($"是否重发任务 {taskCode}", () => Task.Run(() => ResendDelivery(taskCode)));
else if (op == 2) FairyUiHelper.ConfirmThen($"是否换车重发任务 {taskCode}", () => Task.Run(() => ChangeCarResendDelivery(taskCode)));
}, height: FairyUiHelper.TableHeightPx(18), enableSearch: true);
if (!string.IsNullOrEmpty(_status))
{
+3 -3
View File
@@ -19,7 +19,7 @@ namespace LoopViewerApp
/// <item>勾选多行后「删除选中」可批量删除(保留原 ListView 多选删除能力);每行「编辑」按钮打开编辑对话框。</item>
/// <item>文件写入放后台线程,绝不阻塞渲染线程(避免界面卡死)。</item>
/// </list>
/// 沿用 <c>DeliveryViewer</c> 的同套模式(单实例面板、<c>pb.Table</c>、<c>CycleUiHelper.ConfirmThen</c>),不另造轮子。
/// 沿用 <c>DeliveryViewer</c> 的同套模式(单实例面板、<c>pb.Table</c>、<c>FairyUiHelper.ConfirmThen</c>),不另造轮子。
/// 保留可实例化 + <see cref="Show"/> 以兼容既有调用 <c>new LoopViewer().Show()</c>。
/// </summary>
public class LoopViewer
@@ -116,7 +116,7 @@ namespace LoopViewerApp
if (row.ButtonGroup(new[] { "编辑" }, new[] { "编辑该任务" }) == 0)
OpenEditDialog(t);
}, height: CycleUiHelper.TableHeightPx(18), enableSearch: true);
}, height: FairyUiHelper.TableHeightPx(18), enableSearch: true);
if (!string.IsNullOrEmpty(_status))
{
@@ -146,7 +146,7 @@ namespace LoopViewerApp
prompt = $"确认删除所选 {_selected.Count} 个任务?";
// 删除仅做内存列表增删(极快,可在渲染线程执行);真正的文件写入在 SaveTasks 内部放后台线程。
CycleUiHelper.ConfirmThen(prompt, DeleteSelected);
FairyUiHelper.ConfirmThen(prompt, DeleteSelected);
}
private void DeleteSelected()
@@ -373,7 +373,7 @@ namespace StandardScene.Chained
{
if (_simRunning)
{
CycleUiHelper.Alert("提示", "模拟下发搬运任务已在运行中。");
FairyUiHelper.Alert("提示", "模拟下发搬运任务已在运行中。");
return;
}
@@ -461,7 +461,7 @@ namespace StandardScene.Chained
{
G.pushStatus("选择小车");
var selected = SimpleMonitor.selected.ToArray();
if (selected.Length == 0) { CycleUiHelper.Alert("提示", "请先选择需要控制的小车!"); return; }
if (selected.Length == 0) { FairyUiHelper.Alert("提示", "请先选择需要控制的小车!"); return; }
var obj = selected[0];
if (obj is Car car)
{
@@ -485,7 +485,7 @@ namespace StandardScene.Chained
}
else
{
CycleUiHelper.Alert("提示", "请选择需要控制的小车!");
FairyUiHelper.Alert("提示", "请选择需要控制的小车!");
}
}
catch
@@ -512,7 +512,7 @@ namespace StandardScene.Chained
{
G.pushStatus("选择小车");
var selected = SimpleMonitor.selected.ToArray();
if (selected.Length == 0) { CycleUiHelper.Alert("提示", "请先选择需要控制的小车!"); return; }
if (selected.Length == 0) { FairyUiHelper.Alert("提示", "请先选择需要控制的小车!"); return; }
var obj = selected[0];
if (obj is Car car)
{
@@ -537,7 +537,7 @@ namespace StandardScene.Chained
}
else
{
CycleUiHelper.Alert("提示", "请选择需要控制的小车!");
FairyUiHelper.Alert("提示", "请选择需要控制的小车!");
}
}
catch