using Newtonsoft.Json; using NPOI.SS.Formula.Functions; using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Shapes; using XGL.Models.Model; using XGL.Models.Model.OrderPrepare; namespace CommonFunc.Tools { /// /// MachineRepairWin.xaml 的交互逻辑 /// public partial class MachineRepairWin : Window { List faultModels = new List(); List CopyModel = new List(); string _apiUrl = ""; DataTable _tables = new DataTable(); public MachineRepairWin() { InitializeComponent(); } public MachineRepairWin(string apiUrl,DataTable dataTable) { InitializeComponent(); _apiUrl = apiUrl; _tables= dataTable; } private void btnQueryUser_Click(object sender, RoutedEventArgs e) { string queryP = this.txtP.Text.Trim(); if (string.IsNullOrEmpty(queryP)) { this.dgUserInfo.ItemsSource = CopyModel; return; } this.dgUserInfo.ItemsSource = null; var queryList = faultModels.FindAll(t=>t.fault_subclass.Contains(queryP)); this.dgUserInfo.ItemsSource = queryList; } private void btnCloseWin_Click(object sender, RoutedEventArgs e) { this.Close(); } private void txtP_TextChanged(object sender, TextChangedEventArgs e) { btnQueryUser_Click(null, null); } private void Window_Loaded(object sender, RoutedEventArgs e) { CopyModel = ConvertToFaultModelList(_tables); faultModels= ConvertToFaultModelList(_tables); this.dgUserInfo.ItemsSource = CopyModel; } private List ConvertToFaultModelList(DataTable dataTable) { var faultList = new List(); if (dataTable != null) { foreach (DataRow row in dataTable.Rows) { var fault = new faultModel { fault_code = row["fault_code"].ToString(), fault_subclass = row["fault_subclass"].ToString() }; faultList.Add(fault); } } return faultList; } private async void btnUserConfirm_Click(object sender, RoutedEventArgs e) { try { if (dgUserInfo.SelectedItems.Count <= 0) { CustomMessageBox.Show("请选择故障!", CustomMessageBoxButton.OK, CustomMessageBoxIcon.Warning); return; } var select= dgUserInfo.SelectedItem as faultModel; var user= Utils.userList.Find(t=>t.nick_name== LoginUser.UserName); MachineRepairModel machineRepairModel = new MachineRepairModel(); machineRepairModel.equipmentCode = Utils.GetAppSetting("DeviceCode"); machineRepairModel.factory = Utils.GetAppSetting("SiteCode"); machineRepairModel.userName = user.user_name; machineRepairModel.phoneNumber = user.phonenumber; machineRepairModel.userNickName = user.nick_name; machineRepairModel.orderDesc= select.fault_subclass.ToString(); // 将要发送的数据序列化为JSON格式 var jsonContent = JsonConvert.SerializeObject(machineRepairModel); LogHelper.instance.log.Info($"开始报修>>" + jsonContent); RestHelper restClient = new RestHelper(); //var response =; Rootobjectresu result = Utils.DeJson(await restClient.PostAsync(_apiUrl, jsonContent)); if (result.code == 200) { LogHelper.instance.log.Info($"报修成功>>" + result.msg); CustomMessageBox.Show($"报修成功", CustomMessageBoxButton.OK, CustomMessageBoxIcon.Warning); } else { LogHelper.instance.log.Error($"报修失败>>" + result.msg); CustomMessageBox.Show($"报修失败:" + result.msg, CustomMessageBoxButton.OK, CustomMessageBoxIcon.Warning); } } catch (Exception ex) { LogHelper.instance.log.Error($"报修时发生异常>>" + ex.Message); CustomMessageBox.Show($"调用报修接口时发生异常:" + ex.Message, CustomMessageBoxButton.OK, CustomMessageBoxIcon.Warning); } } private void dgWorkOrderInfo_LoadingRow(object sender, DataGridRowEventArgs e) { e.Row.Header = (e.Row.GetIndex() + 1).ToString(); } } public class faultModel { public string fault_code { get; set; } public string fault_subclass { get; set; } } }