using BBWY.Client.APIServices; using BBWY.Client.APIServices.QiKu; using BBWY.Client.Models; using BBWY.Controls; using System; using System.Collections.Generic; using System.Text; 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 WebSocketSharp; namespace BBWY.Client.Views.SplitTask { /// /// SplitTaskWindow.xaml 的交互逻辑 /// public partial class SplitTaskWindow : BWindow { public SplitTaskWindow(PackTaskService packTaskService, long taskId, TaskState abortTaskState, Action splitTask) { InitializeComponent(); this.TaskId = taskId; this.DataContext = this; AbortTaskState = abortTaskState; this.packTaskService = packTaskService; TaskId = taskId; SplitTask = splitTask; } private Action SplitTask { get; set; } /// /// 任务挂起类型 /// public TaskState AbortTaskState { get; set; } PackTaskService packTaskService; private long taskId; /// /// 任务id /// public long TaskId { get => taskId; set { Set(ref taskId, value); } } private TaskExceptionType taskExceptionType; /// /// 验收异常类型 /// public TaskExceptionType TaskExceptionType { get => taskExceptionType; set { Set(ref taskExceptionType, value); } } private int exceptionCount; /// /// 验收异常类型 /// public int ExceptionCount { get => exceptionCount; set { Set(ref exceptionCount, value); } } private List taskExceptionTypeList = new List { TaskExceptionType.配件未到齐, TaskExceptionType.数量不对 }; /// /// 验收异常类型 /// public List TaskExceptionTypeList { get => taskExceptionTypeList; set { Set(ref taskExceptionTypeList, value); } } private string remarkMsg; /// /// 备注消息 /// public string RemarkMsg { get => remarkMsg; set { Set(ref remarkMsg, value); } } private void BButton_Click(object sender, RoutedEventArgs e) { if (RemarkMsg.IsNullOrEmpty()) { MessageBox.Show("请输入具体问题描述."); return; } var res = packTaskService.SplitPackTask(TaskId, ExceptionCount, TaskExceptionType, RemarkMsg, AbortTaskState); if (res == null || !res.Success) { MessageBox.Show(res?.Msg); return; } SplitTask?.Invoke(); this.Close(); } } }