HomePage.xaml.cs
2.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
namespace IndustrialControl.Pages
{
public partial class HomePage : ContentPage
{
public HomePage()
{
InitializeComponent();
}
// 点“文字”也能切换复选框
void OnTapToggle(object? sender, TappedEventArgs e)
{
if (e.Parameter is CheckBox cb)
cb.IsChecked = !cb.IsChecked;
}
// 勾选即跳转,返回后复位(保持你原有页面名)
private async void OnInMat(object sender, CheckedChangedEventArgs e)
{
if (!e.Value) return;
await Shell.Current.GoToAsync(nameof(InboundMaterialSearchPage));
((CheckBox)sender).IsChecked = false;
}
private async void OnInProd(object sender, CheckedChangedEventArgs e)
{
if (!e.Value) return;
await Shell.Current.GoToAsync(nameof(InboundProductionSearchPage));
((CheckBox)sender).IsChecked = false;
}
private async void OnOutMat(object sender, CheckedChangedEventArgs e)
{
if (!e.Value) return;
await Shell.Current.GoToAsync(nameof(OutboundMaterialSearchPage));
((CheckBox)sender).IsChecked = false;
}
private async void OnOutFinished(object sender, CheckedChangedEventArgs e)
{
if (!e.Value) return;
await Shell.Current.GoToAsync(nameof(OutboundFinishedSearchPage));
((CheckBox)sender).IsChecked = false;
}
private async void OnOrderQry(object sender, CheckedChangedEventArgs e)
{
if (!e.Value) return;
await Shell.Current.GoToAsync(nameof(WorkOrderSearchPage));
((CheckBox)sender).IsChecked = false;
}
// 新增:退出登录
private async void OnLogoutClicked(object? sender, EventArgs e)
{
await TokenStorage.ClearAsync(); // 清除 token
ApiClient.SetBearer(null); // 清空请求头
// 切换到未登录的 Shell:显示 登录|日志|管理员
MainThread.BeginInvokeOnMainThread(() =>
{
App.SwitchToLoggedOutShell();
});
}
}
}