2026-04-28 10:23:58 +08:00
|
|
|
|
using System.Windows;
|
|
|
|
|
|
using System.Windows.Media;
|
2026-05-15 17:30:30 +08:00
|
|
|
|
using Prism.Dialogs;
|
2026-04-28 10:23:58 +08:00
|
|
|
|
using YY.Admin.ViewModels.Control;
|
|
|
|
|
|
using YY.Admin.ViewModels.Dialogs;
|
|
|
|
|
|
using YY.Admin.Views;
|
|
|
|
|
|
using YY.Admin.Views.Control;
|
|
|
|
|
|
using YY.Admin.Views.Dialogs;
|
|
|
|
|
|
using YY.Admin.Views.SysManage;
|
2026-04-30 15:28:20 +08:00
|
|
|
|
using YY.Admin.Views.Customer;
|
|
|
|
|
|
using YY.Admin.Views.Supplier;
|
2026-05-07 09:47:39 +08:00
|
|
|
|
using YY.Admin.Views.MixerMaterial;
|
2026-04-30 15:28:20 +08:00
|
|
|
|
using YY.Admin.ViewModels.Vehicle;
|
|
|
|
|
|
using YY.Admin.Views.Vehicle;
|
2026-05-06 15:30:31 +08:00
|
|
|
|
using YY.Admin.Views.WeightRecord;
|
2026-05-11 14:32:44 +08:00
|
|
|
|
using YY.Admin.Views.RawMaterialCard;
|
2026-05-12 14:06:07 +08:00
|
|
|
|
using YY.Admin.Views.WarehouseArea;
|
2026-05-09 15:55:11 +08:00
|
|
|
|
using YY.Admin.Views.RawMaterialEntry;
|
2026-05-12 18:29:03 +08:00
|
|
|
|
using YY.Admin.Views.Print;
|
2026-06-02 16:28:51 +08:00
|
|
|
|
using YY.Admin.Views.MixerMaterialTareStrategy;
|
2026-04-28 10:23:58 +08:00
|
|
|
|
|
|
|
|
|
|
namespace YY.Admin
|
|
|
|
|
|
{
|
2026-05-15 17:30:30 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// Prism DialogService 中 <see cref="KnownDialogParameters.WindowName"/> 使用的宿主窗口注册名。
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public static class DialogWindowNames
|
|
|
|
|
|
{
|
|
|
|
|
|
/// <summary>标准边框、可调整大小,且不使用 AllowsTransparency(服务器设置等需改 WindowStyle 的对话框)。</summary>
|
|
|
|
|
|
public const string ChromeDialogWindow = "ChromeDialogWindow";
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2026-04-28 10:23:58 +08:00
|
|
|
|
public static class NavigationExtensions
|
|
|
|
|
|
{
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 注册导航
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public static void AddNavigation(this IContainerRegistry containerRegistry)
|
|
|
|
|
|
{
|
|
|
|
|
|
// 注册对话框
|
|
|
|
|
|
containerRegistry.RegisterDialog<AlertDialogView, AlertDialogViewModel>("AlertDialog");
|
|
|
|
|
|
containerRegistry.RegisterDialog<SuccessDialogView, SuccessDialogViewModel>("SuccessDialog");
|
|
|
|
|
|
containerRegistry.RegisterDialog<ErrorDialogView, ErrorDialogViewModel>("ErrorDialog");
|
|
|
|
|
|
containerRegistry.RegisterDialog<WarningDialogView, WarningDialogViewModel>("WarningDialog");
|
|
|
|
|
|
containerRegistry.RegisterDialog<ConfirmDialogView, ConfirmDialogViewModel>("ConfirmDialog");
|
|
|
|
|
|
containerRegistry.RegisterDialog<ServerSettingsDialogView, ServerSettingsDialogViewModel>("ServerSettingsDialog");
|
|
|
|
|
|
|
2026-05-15 17:30:30 +08:00
|
|
|
|
// 默认透明无边框宿主;需调整 WindowStyle/AllowsTransparency 的对话框改用命名宿主 ChromeDialogWindow
|
2026-04-28 10:23:58 +08:00
|
|
|
|
containerRegistry.RegisterDialogWindow<DialogWindow>();
|
2026-05-15 17:30:30 +08:00
|
|
|
|
containerRegistry.RegisterDialogWindow<ChromeDialogWindow>(DialogWindowNames.ChromeDialogWindow);
|
2026-04-28 10:23:58 +08:00
|
|
|
|
|
|
|
|
|
|
// 注册导航
|
|
|
|
|
|
containerRegistry.RegisterForNavigation<DashboardView>("DashboardView");
|
|
|
|
|
|
// 404视图
|
|
|
|
|
|
containerRegistry.RegisterForNavigation<NotFoundView>("NotFoundView");
|
|
|
|
|
|
//containerRegistry.RegisterForNavigation<RoleManagementView>("RoleManagementView");
|
|
|
|
|
|
//containerRegistry.RegisterForNavigation<PermissionManagementView>("PermissionManagementView");
|
|
|
|
|
|
//containerRegistry.RegisterForNavigation<OrderManagementView>("OrderManagementView");
|
|
|
|
|
|
//containerRegistry.RegisterForNavigation<ProductManagementView>("ProductManagementView");
|
|
|
|
|
|
//containerRegistry.RegisterForNavigation<ReportView>("ReportView");
|
|
|
|
|
|
//containerRegistry.RegisterForNavigation<MonitorView>("MonitorView");
|
|
|
|
|
|
|
|
|
|
|
|
// 窗口注册
|
|
|
|
|
|
containerRegistry.Register<LoginWindow>();
|
|
|
|
|
|
containerRegistry.Register<MainWindow>();
|
|
|
|
|
|
|
|
|
|
|
|
// 注册视图(页面)
|
|
|
|
|
|
containerRegistry.RegisterForNavigation<MenuTreeView>();
|
|
|
|
|
|
containerRegistry.RegisterForNavigation<UserManagementView>();
|
|
|
|
|
|
containerRegistry.RegisterForNavigation<DataDictionaryManagementView>();
|
2026-05-07 09:47:39 +08:00
|
|
|
|
containerRegistry.RegisterForNavigation<CategoryDictionaryManagementView>();
|
2026-04-28 10:23:58 +08:00
|
|
|
|
containerRegistry.RegisterForNavigation<RoleManagementView>();
|
|
|
|
|
|
containerRegistry.RegisterForNavigation<TenantManagementView>();
|
2026-04-30 15:28:20 +08:00
|
|
|
|
containerRegistry.RegisterForNavigation<MenuManagementView>();
|
|
|
|
|
|
containerRegistry.RegisterForNavigation<LoginSettingsView>();
|
|
|
|
|
|
// 车辆管理
|
|
|
|
|
|
containerRegistry.RegisterForNavigation<VehicleListView>();
|
|
|
|
|
|
// 客户管理
|
|
|
|
|
|
containerRegistry.RegisterForNavigation<CustomerListView>();
|
|
|
|
|
|
// 供应商管理
|
|
|
|
|
|
containerRegistry.RegisterForNavigation<SupplierListView>();
|
2026-05-06 15:30:31 +08:00
|
|
|
|
// 磅单记录管理(标准CRUD列表)
|
|
|
|
|
|
containerRegistry.RegisterForNavigation<WeightRecordListView>();
|
|
|
|
|
|
// 地磅称重操作(大页面操作台)
|
|
|
|
|
|
containerRegistry.RegisterForNavigation<WeightRecordOperationView>();
|
2026-05-07 09:47:39 +08:00
|
|
|
|
// 密炼物料信息
|
|
|
|
|
|
containerRegistry.RegisterForNavigation<MixerMaterialListView>();
|
2026-05-09 15:55:11 +08:00
|
|
|
|
// 原料入场记录
|
|
|
|
|
|
containerRegistry.RegisterForNavigation<RawMaterialEntryListView>();
|
2026-05-09 18:25:34 +08:00
|
|
|
|
// 新增原料入场记录(独立页面)
|
|
|
|
|
|
containerRegistry.RegisterForNavigation<RawMaterialEntryOperationView>();
|
2026-05-11 14:32:44 +08:00
|
|
|
|
// 原材料卡片
|
|
|
|
|
|
containerRegistry.RegisterForNavigation<RawMaterialCardListView>();
|
2026-05-12 14:06:07 +08:00
|
|
|
|
// 库区管理
|
|
|
|
|
|
containerRegistry.RegisterForNavigation<WarehouseAreaListView>();
|
2026-06-02 16:28:51 +08:00
|
|
|
|
// 密炼物料皮重策略
|
|
|
|
|
|
containerRegistry.RegisterForNavigation<MixerMaterialTareStrategyListView>();
|
2026-05-12 18:29:03 +08:00
|
|
|
|
// 打印设置
|
|
|
|
|
|
containerRegistry.RegisterForNavigation<PrintSettingsView>();
|
|
|
|
|
|
// 打印模板列表
|
|
|
|
|
|
containerRegistry.RegisterForNavigation<PrintTemplateListView>();
|
2026-05-14 10:43:51 +08:00
|
|
|
|
// 业务打印绑定(只读缓存)
|
|
|
|
|
|
containerRegistry.RegisterForNavigation<PrintBizTemplateBindListView>();
|
2026-04-28 10:23:58 +08:00
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
public class DialogWindow : Window, IDialogWindow
|
|
|
|
|
|
{
|
|
|
|
|
|
public DialogWindow()
|
|
|
|
|
|
{
|
|
|
|
|
|
WindowStyle = WindowStyle.None;
|
|
|
|
|
|
AllowsTransparency = true;
|
|
|
|
|
|
Background = Brushes.Transparent; // 背景透明
|
|
|
|
|
|
WindowStartupLocation = WindowStartupLocation.CenterOwner;
|
|
|
|
|
|
SizeToContent = SizeToContent.WidthAndHeight;
|
|
|
|
|
|
ResizeMode = ResizeMode.NoResize;
|
|
|
|
|
|
}
|
|
|
|
|
|
public IDialogResult? Result { get; set; }
|
|
|
|
|
|
}
|
2026-05-15 17:30:30 +08:00
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 标准窗口边框宿主:从构造起即 AllowsTransparency=false,避免窗口显示后再切换透明属性引发异常。
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public class ChromeDialogWindow : Window, IDialogWindow
|
|
|
|
|
|
{
|
|
|
|
|
|
public ChromeDialogWindow()
|
|
|
|
|
|
{
|
|
|
|
|
|
AllowsTransparency = false;
|
|
|
|
|
|
Background = SystemColors.WindowBrush;
|
|
|
|
|
|
WindowStyle = WindowStyle.SingleBorderWindow;
|
|
|
|
|
|
ResizeMode = ResizeMode.CanResizeWithGrip;
|
|
|
|
|
|
WindowStartupLocation = WindowStartupLocation.CenterOwner;
|
|
|
|
|
|
// 按内容测量客户区高度;勿将 Window.Height 设为与 UserControl 相同数值,
|
|
|
|
|
|
// 否则会与标题栏/边框抢高度导致底部按钮被裁切。
|
|
|
|
|
|
SizeToContent = SizeToContent.WidthAndHeight;
|
|
|
|
|
|
MinWidth = 520;
|
|
|
|
|
|
MinHeight = 360;
|
|
|
|
|
|
Title = "对话框";
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public IDialogResult? Result { get; set; }
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2026-04-28 10:23:58 +08:00
|
|
|
|
//public class DialogWindow : Window, IDialogWindow
|
|
|
|
|
|
//{
|
|
|
|
|
|
// public DialogWindow()
|
|
|
|
|
|
// {
|
|
|
|
|
|
// //InitializeComponent();
|
|
|
|
|
|
|
|
|
|
|
|
// // 去掉最大化最小化
|
|
|
|
|
|
// ResizeMode = ResizeMode.NoResize;
|
|
|
|
|
|
|
|
|
|
|
|
// // 去掉右上角系统按钮
|
|
|
|
|
|
// WindowStyle = WindowStyle.None;
|
|
|
|
|
|
// }
|
|
|
|
|
|
// public IDialogResult Result { get; set; }
|
|
|
|
|
|
//}
|
|
|
|
|
|
}
|