using Acr.UserDialogs; using Rg.Plugins.Popup.Pages; using Rg.Plugins.Popup.Services; using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Threading; using Xamarin.Forms; using Xamarin.Forms.Xaml; using XXCpzs.helper; using XXCpzs.Models; using XXCpzs.ViewModels; namespace XXCpzs.Views { [XamlCompilation(XamlCompilationOptions.Compile)] public partial class PageLogin : PopupPage { LoginViewModel ViewModel; private int Uid; private PageMain pageMain; public PageLogin(PageMain pageMain) { InitializeComponent(); this.pageMain = pageMain; this.BindingContext = ViewModel = new LoginViewModel(pageMain.companyId); } void OnBumenPickerSelectedIndexChangedAsync(object sender, EventArgs e) { var picker = (Picker)sender; int selectedIndex = picker.SelectedIndex; if (selectedIndex != -1) { DepartmentItem buMen = ViewModel.BuMenItems[selectedIndex] as DepartmentItem; Dictionary _body = new Dictionary{ { "companyId", pageMain.companyId.ToString() },{"departmentId", buMen.id.ToString() } }; List buMens = HttpHelper.RefreshData(04, RestSharp.Method.POST, _body); ViewModel.UserItems = new ObservableCollection(); foreach (var item in buMens) { ViewModel.UserItems.Add(item); } UserPicker.ItemsSource = ViewModel.UserItems; } } private void UserPicker_SelectedIndexChanged(object sender, EventArgs e) { var picker = (Picker)sender; int selectedIndex = picker.SelectedIndex; if (selectedIndex != -1) { this.Uid = ViewModel.UserItems[selectedIndex].uid; } } async void Button_ClickedAsync(object sender, EventArgs e) { UserDialogs.Instance.ShowLoading("正在登录,请稍后!"); new Thread(new ThreadStart(async () => { Dictionary _body = new Dictionary{ { "Uid", this.Uid.ToString() },{"Password", UserPass.Text.Trim() } }; var Result = HttpHelper.Refresh("login", _body); if (Result.Code == 200) { Device.BeginInvokeOnMainThread(() =>{ UserInfo LoginResult = Result.Data; pageMain.Loginback(LoginResult); UserDialogs.Instance.HideLoading(); }); await PopupNavigation.Instance.PopAsync(); } else { await DisplayAlert("访问出错", Result.Msg, "OK"); //Button_ClickedAsync(sender, e); } })).Start(); } } }