增加工单模块
This commit is contained in:
1 parent
dc136e449e
commit
f9dcae4610
17 files changed
+4908
No files matched your search
@@ -0,0 +1,94 @@
|
||||
using OrderSupportTicket.Models;
|
||||
using OrderSupportTicket.Services;
|
||||
using OrderSupportTicket.ViewModels;
|
||||
using System.Windows.Controls;
|
||||
|
||||
namespace OrderSupportTicket.Views;
|
||||
|
||||
/// <summary>
|
||||
/// 工单对话页面。页面生命周期只负责激活/停用 ViewModel,业务交互均在 ViewModel 中。
|
||||
/// </summary>
|
||||
public partial class OrderSupportTicketView : UserControl
|
||||
{
|
||||
private bool _active;
|
||||
|
||||
public OrderSupportTicketView()
|
||||
: this(
|
||||
new TicketApiService(),
|
||||
new EventSourceTicketRealtimeService(),
|
||||
TicketClientOptions.FromApplicationSettings())
|
||||
{
|
||||
}
|
||||
|
||||
public OrderSupportTicketView(
|
||||
ITicketApiService api,
|
||||
ITicketRealtimeService realtime,
|
||||
TicketClientOptions options = null)
|
||||
{
|
||||
InitializeComponent();
|
||||
options = new TicketClientOptions
|
||||
{
|
||||
UserName="18990991234",
|
||||
AppIds = ["wx316b1291351558aa", "wx7999743c3d64c05c"],
|
||||
Orders = [
|
||||
new TicketOrderOption
|
||||
{
|
||||
Amount=109m,
|
||||
AppId="wx316b1291351558aa",
|
||||
GoodsName="梵客隆收腹内裤女新款高腰无痕磨毛暖融收小肚子提臀塑身平角裤",
|
||||
OrderId="9000000000000000001",
|
||||
OrderedAt=new DateTime(2020, 1, 1),
|
||||
},
|
||||
new TicketOrderOption
|
||||
{
|
||||
Amount=109m,
|
||||
AppId="wx7999743c3d64c05c",
|
||||
GoodsName="洁柔抽纸粉Face家用实惠装批发纸巾大包面纸餐巾纸抽整箱可湿水纸",
|
||||
OrderId="9000000000000000002",
|
||||
OrderedAt=new DateTime(2020, 1, 1),
|
||||
}
|
||||
]
|
||||
};
|
||||
ViewModel = new OrderSupportTicketViewModel(api, realtime, options);
|
||||
DataContext = ViewModel;
|
||||
Loaded += OnLoaded;
|
||||
Unloaded += OnUnloaded;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 当前页面对应的工单 ViewModel。
|
||||
/// </summary>
|
||||
public OrderSupportTicketViewModel ViewModel { get; }
|
||||
|
||||
/// <summary>
|
||||
/// 宿主可在页面加载前注入账号、APPID 与本地订单数据。
|
||||
/// </summary>
|
||||
public void Configure(TicketClientOptions options)
|
||||
{
|
||||
ViewModel.Configure(options);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 从订单页直接打开新工单草稿。
|
||||
/// </summary>
|
||||
public void OpenNewTicket(TicketOrderOption order)
|
||||
{
|
||||
ViewModel.OpenNewTicket(order);
|
||||
}
|
||||
|
||||
private async void OnLoaded(object sender, System.Windows.RoutedEventArgs e)
|
||||
{
|
||||
if (_active)
|
||||
return;
|
||||
_active = true;
|
||||
await ViewModel.InitializeAsync();
|
||||
}
|
||||
|
||||
private async void OnUnloaded(object sender, System.Windows.RoutedEventArgs e)
|
||||
{
|
||||
if (!_active)
|
||||
return;
|
||||
_active = false;
|
||||
await ViewModel.DeactivateAsync();
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user