You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

147 lines
5.3 KiB
C#

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
{
/// <summary>
/// MachineRepairWin.xaml 的交互逻辑
/// </summary>
public partial class MachineRepairWin : Window
{
List<faultModel> faultModels = new List<faultModel>();
List<faultModel> CopyModel = new List<faultModel>();
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<faultModel> ConvertToFaultModelList(DataTable dataTable)
{
var faultList = new List<faultModel>();
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<Rootobjectresu>(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; }
}
}