using DataEntity.Share;
|
using DriverLib.Engine;
|
using System;
|
using System.Collections.Generic;
|
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.Navigation;
|
using System.Windows.Shapes;
|
using XCommon.Log;
|
using XCore;
|
using XHandler.Class;
|
using XHandler.Controls;
|
using static HxEnum.OperationTypeEnum;
|
|
namespace XHandler.View.MethodProperty
|
{
|
/// <summary>
|
/// OperateDialog.xaml 的交互逻辑
|
/// </summary>
|
public partial class OperateDialog : Window
|
{
|
public event EventHandler closeEvent;
|
public NodeOperationTypeEnum OperMark = NodeOperationTypeEnum.Continue;
|
|
System.Threading.Timer heartTimer;//用于轮询远程是否有消息过来关闭窗口
|
public int remoteMark = 0;//远程控制信号
|
|
/// <summary>
|
/// 构造函数
|
/// </summary>
|
public OperateDialog(string info)
|
{
|
InitializeComponent();
|
textblockMsg.Text = info;
|
this.Owner = (Window)Shared.Main;
|
}
|
|
/// <summary>
|
/// 初期表示
|
/// </summary>
|
/// <param name="sender"></param>
|
/// <param name="e"></param>
|
private void Window_Load(object sender, RoutedEventArgs e)
|
{
|
heartTimer = new System.Threading.Timer(heartTimer_Tick, null, 0, 1000);
|
// 状态6 报错/急停 红闪/蜂鸣5S
|
CommonBll.StatusLamp(6, false);
|
}
|
|
#region 定时器——轮询远程是否有消息过来关闭窗口
|
private void heartTimer_Tick(object sender)
|
{
|
try
|
{
|
this.Dispatcher.Invoke(new Action(() =>
|
{
|
if (((MainWindow)this.Owner).remoteMark == 1)
|
{
|
btnJump_Click(null, null);
|
((MainWindow)this.Owner).remoteMark = 0;
|
heartTimer.Dispose();
|
}
|
else if (((MainWindow)this.Owner).remoteMark == 2)
|
{
|
btnRetry_Click(null, null);
|
((MainWindow)this.Owner).remoteMark = 0;
|
heartTimer.Dispose();
|
}
|
else if (((MainWindow)this.Owner).remoteMark == 3)
|
{
|
btnCancel_Click(null, null);
|
((MainWindow)this.Owner).remoteMark = 0;
|
heartTimer.Dispose();
|
}
|
}));
|
}
|
catch (Exception ex)
|
{
|
LoggerHelper.InfoLog("【" + DateTime.Now.ToString("HH:mm:ss:fff") + "】>Xhandler: 弹出窗口控制错误: " + ex.Message.ToString());
|
}
|
}
|
#endregion
|
|
/// <summary>
|
/// 取消
|
/// </summary>
|
/// <param name="sender"></param>
|
/// <param name="e"></param>
|
private void btnCancel_Click(object sender, RoutedEventArgs e)
|
{
|
if (EventResponseController.Instance.CanExecute() == false)
|
return;
|
|
OperMark = NodeOperationTypeEnum.Cancel;
|
Close();
|
}
|
|
/// <summary>
|
/// 重试
|
/// </summary>
|
/// <param name="sender"></param>
|
/// <param name="e"></param>
|
private void btnRetry_Click(object sender, RoutedEventArgs e)
|
{
|
if (EventResponseController.Instance.CanExecute() == false)
|
return;
|
OperMark = NodeOperationTypeEnum.Retry;
|
Close();
|
|
// 状态4 运行 绿色
|
CommonBll.StatusLamp(4, false);
|
}
|
|
/// <summary>
|
/// 跳过
|
/// </summary>
|
/// <param name="sender"></param>
|
/// <param name="e"></param>
|
private void btnJump_Click(object sender, RoutedEventArgs e)
|
{
|
if (EventResponseController.Instance.CanExecute() == false)
|
return;
|
|
OperMark = NodeOperationTypeEnum.Continue;
|
Close();
|
|
// 状态4 运行 绿色
|
CommonBll.StatusLamp(4, false);
|
}
|
}
|
}
|