|
@@ -0,0 +1,533 @@
|
|
|
|
+using AutoMapper;
|
|
|
|
+using BizService;
|
|
|
|
+using Microsoft.Extensions.Logging;
|
|
|
|
+using Model.Dto;
|
|
|
|
+using Model.Entities;
|
|
|
|
+using Newtonsoft.Json;
|
|
|
|
+using PLCTool.Common;
|
|
|
|
+using Prism.Commands;
|
|
|
|
+using Prism.Events;
|
|
|
|
+using Prism.Mvvm;
|
|
|
|
+using Prism.Services.Dialogs;
|
|
|
|
+using System;
|
|
|
|
+using System.Collections.Generic;
|
|
|
|
+using System.Collections.ObjectModel;
|
|
|
|
+using System.Linq;
|
|
|
|
+using System.Text;
|
|
|
|
+using System.Threading.Tasks;
|
|
|
|
+using System.Windows;
|
|
|
|
+
|
|
|
|
+namespace PLCTool.ViewModels.BasicConfigViewModel
|
|
|
|
+{
|
|
|
|
+
|
|
|
|
+ public class ReadSchViewModel : BindableBase, IDialogAware
|
|
|
|
+ {
|
|
|
|
+ private readonly IDialogService _dialog;
|
|
|
|
+ private readonly IEventAggregator _aggregator;
|
|
|
|
+ private readonly IOptionConfigService _optionConfigService;
|
|
|
|
+ private readonly IBasicPlcTestSchemeService _basicPlcTestSchemeService;
|
|
|
|
+ private readonly IBasicPlcTestSchemeDtlService _basicPlcTestSchemeDtlService;
|
|
|
|
+ private readonly IBizTestRecordService _iBizTestRecordService;
|
|
|
|
+ private readonly IBizTestRecordDtlService _iBizTestRecordDtlService;
|
|
|
|
+ private readonly IMapper _mapper;
|
|
|
|
+ private readonly ILogger _logger;
|
|
|
|
+ private List<OptionConfigDto> _optionConfigs;
|
|
|
|
+
|
|
|
|
+ private DateTime startTime = DateTime.Now;
|
|
|
|
+ private DateTime endTime = DateTime.Now;
|
|
|
|
+ private int testStatus = 0; //测试状态
|
|
|
|
+ private int testResult = 0; //测试结果
|
|
|
|
+ private long schId = 0; //方案ID
|
|
|
|
+ private long globalSchDetailId = 0; //测试方案明细ID
|
|
|
|
+ private long globalDeviceId = 0; //设备ID
|
|
|
|
+ private BizTestRecordDtlDto bizTestRecordDtlDto = new BizTestRecordDtlDto(); //测试方案明细表
|
|
|
|
+ private const string TestMode = "方案详情";
|
|
|
|
+
|
|
|
|
+ private int delayTime = 20;
|
|
|
|
+ public ReadSchViewModel(IDialogService dialog, IEventAggregator aggregator, IOptionConfigService optionConfigService, IBasicPlcTestSchemeService basicPlcTestSchemeService, IBasicPlcTestSchemeDtlService basicPlcTestSchemeDtlService, IBizTestRecordService iBizTestRecordService, IBizTestRecordDtlService iBizTestRecordDtlService, IMapper mapper, ILogger logger)
|
|
|
|
+ {
|
|
|
|
+ _dialog = dialog;
|
|
|
|
+ _aggregator = aggregator;
|
|
|
|
+ _optionConfigService = optionConfigService;
|
|
|
|
+ _basicPlcTestSchemeService = basicPlcTestSchemeService;
|
|
|
|
+ _basicPlcTestSchemeDtlService = basicPlcTestSchemeDtlService;
|
|
|
|
+ _iBizTestRecordDtlService = iBizTestRecordDtlService;
|
|
|
|
+ _iBizTestRecordService = iBizTestRecordService;
|
|
|
|
+ _mapper = mapper;
|
|
|
|
+ _logger = logger;
|
|
|
|
+ CloseCommand = new DelegateCommand(Close);
|
|
|
|
+
|
|
|
|
+ ItemChangeCommand = new DelegateCommand(ItemChange);
|
|
|
|
+ BeforeConList = new ObservableCollection<BasPlcItemConfigDto>();
|
|
|
|
+ InConList = new ObservableCollection<BasPlcItemConfigDto>();
|
|
|
|
+ OutConList = new ObservableCollection<BasPlcItemConfigDto>();
|
|
|
|
+ GetConfigOption();
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ /// <summary>
|
|
|
|
+ /// 选中测试项
|
|
|
|
+ /// </summary>
|
|
|
|
+ private void ItemChange()
|
|
|
|
+ {
|
|
|
|
+ var findDtlMsg = _basicPlcTestSchemeDtlService.FindAllBySchId(schId)?.FirstOrDefault(X => X.item_name == SelectItem);
|
|
|
|
+ if (findDtlMsg != null)
|
|
|
|
+ {
|
|
|
|
+ int id = Convert.ToInt32(findDtlMsg.scheme_dtl_id);
|
|
|
|
+ // 根据 测试方案明细主键ID 查找测试方案id 及方案名和设备名
|
|
|
|
+ globalSchDetailId = id;
|
|
|
|
+ GetDetailInfo(id);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ #region idialog接口实现
|
|
|
|
+ public string Title { set; get; } = "手动测试";
|
|
|
|
+
|
|
|
|
+ public event Action<IDialogResult> RequestClose;
|
|
|
|
+
|
|
|
|
+ public bool CanCloseDialog()
|
|
|
|
+ {
|
|
|
|
+ return true;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public void OnDialogClosed()
|
|
|
|
+ {
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public void OnDialogOpened(IDialogParameters parameters)
|
|
|
|
+ {
|
|
|
|
+ //编辑
|
|
|
|
+ var getMsg = parameters.GetValues<long>("Key");
|
|
|
|
+ ///值不为空,表示修改
|
|
|
|
+ if (getMsg != null)
|
|
|
|
+ {
|
|
|
|
+ foreach (var item in getMsg)
|
|
|
|
+ {
|
|
|
|
+ //测试方案号
|
|
|
|
+ schId = item;
|
|
|
|
+ var schDtls = _basicPlcTestSchemeDtlService.FindAllBySchId(schId).OrderBy(x => x.scheme_dtl_id).ToList(); ;
|
|
|
|
+ foreach (var sch in schDtls)
|
|
|
|
+ {
|
|
|
|
+ long dtlId = sch.scheme_dtl_id;
|
|
|
|
+
|
|
|
|
+ SchItems.Add(sch.item_name);
|
|
|
|
+ }
|
|
|
|
+ //默认显示第一个测试项的信息
|
|
|
|
+ if (schDtls.Count != 0)
|
|
|
|
+ {
|
|
|
|
+ int id = Convert.ToInt32(schDtls[0].scheme_dtl_id);
|
|
|
|
+ globalSchDetailId = id;
|
|
|
|
+ // 根据 测试方案明细主键ID 查找测试方案id 及方案名和设备名
|
|
|
|
+ GetDetailInfo(id);
|
|
|
|
+ SelectItemIndex = 0;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /// <summary>
|
|
|
|
+ /// //根据 测试方案明细主键ID 查找测试方案id 及方案名和设备名
|
|
|
|
+ /// </summary>
|
|
|
|
+ /// <param name="id"></param>
|
|
|
|
+ private void GetDetailInfo(int schDetailId)
|
|
|
|
+ {
|
|
|
|
+ //根据 测试方案明细主键ID 查找测试方案id 及方案名和设备名
|
|
|
|
+ var findEntity = _basicPlcTestSchemeDtlService.Find(schDetailId);
|
|
|
|
+ var findresult = _mapper.Map<bas_plc_test_scheme_dtl, BasicPlcTestSchemeDtlDto>(findEntity);
|
|
|
|
+ if (findresult != null)
|
|
|
|
+ {
|
|
|
|
+ //根据方案id 在方案表中查找方案名 设备名
|
|
|
|
+ schId = findresult.SchemeId.Value; //方案id,方便下一步查找
|
|
|
|
+ int intSchId = Convert.ToInt32(findresult.SchemeId);
|
|
|
|
+
|
|
|
|
+ var findSch = _basicPlcTestSchemeService.Find(intSchId);
|
|
|
|
+ if (findSch != null)
|
|
|
|
+ {
|
|
|
|
+ ScheduleName = findSch.scheme_name;
|
|
|
|
+ DeviceKindName = findSch.devicekind_name;
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ TestName = findresult.ItemName;
|
|
|
|
+ SelectTest = findresult.ItemType;
|
|
|
|
+ //前置项解析
|
|
|
|
+ string preconStr = findresult.Precondition.ToString();
|
|
|
|
+ if (!string.IsNullOrEmpty(preconStr))
|
|
|
|
+ {
|
|
|
|
+ JsonModel preconditionModel = JsonConvert.DeserializeObject<JsonModel>(preconStr);
|
|
|
|
+ BeforeSelectJudge = preconditionModel.ItemType;
|
|
|
|
+ SelectLogic = preconditionModel.ItemLogical;
|
|
|
|
+ BeforeDetail = preconditionModel.Description;
|
|
|
|
+ BeforeConList.Clear();
|
|
|
|
+ foreach (var detail in preconditionModel.DetailInfo)
|
|
|
|
+ {
|
|
|
|
+ BasPlcItemConfigDto basPlcItemConfigDto = new BasPlcItemConfigDto();
|
|
|
|
+ basPlcItemConfigDto.Id = detail.Id;
|
|
|
|
+ basPlcItemConfigDto.PlcItem = detail.PlcItem;
|
|
|
|
+ basPlcItemConfigDto.PlcAddress = detail.PlcAddress;
|
|
|
|
+ basPlcItemConfigDto.PlcAddType = detail.PlcAddType;
|
|
|
|
+ basPlcItemConfigDto.PlcValue = detail.PlcValue;
|
|
|
|
+ basPlcItemConfigDto.Remark = detail.Remark;
|
|
|
|
+ BeforeConList.Add(basPlcItemConfigDto);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //输入项解析
|
|
|
|
+ string inStr = findresult.Action.ToString();
|
|
|
|
+ if (!string.IsNullOrEmpty(inStr))
|
|
|
|
+ {
|
|
|
|
+ JsonModel inModel = JsonConvert.DeserializeObject<JsonModel>(inStr);
|
|
|
|
+ SelectInJudge = inModel.ItemType;
|
|
|
|
+ InSelectLogic = inModel.ItemLogical;
|
|
|
|
+ InDetail = inModel.Description;
|
|
|
|
+ InConList.Clear();
|
|
|
|
+ foreach (var detail in inModel.DetailInfo)
|
|
|
|
+ {
|
|
|
|
+ BasPlcItemConfigDto basPlcItemConfigDto = new BasPlcItemConfigDto();
|
|
|
|
+ basPlcItemConfigDto.Id = detail.Id;
|
|
|
|
+ basPlcItemConfigDto.PlcItem = detail.PlcItem;
|
|
|
|
+ basPlcItemConfigDto.PlcAddress = detail.PlcAddress;
|
|
|
|
+ basPlcItemConfigDto.PlcAddType = detail.PlcAddType;
|
|
|
|
+ basPlcItemConfigDto.PlcValue = detail.PlcValue;
|
|
|
|
+ basPlcItemConfigDto.Remark = detail.Remark;
|
|
|
|
+ InConList.Add(basPlcItemConfigDto);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //输出项解析
|
|
|
|
+ string outStr = findresult.JudgementResult.ToString();
|
|
|
|
+ if (!string.IsNullOrEmpty(outStr))
|
|
|
|
+ {
|
|
|
|
+ JsonModel outModel = JsonConvert.DeserializeObject<JsonModel>(outStr);
|
|
|
|
+ SelectOutJudge = outModel.ItemType;
|
|
|
|
+ OutSelectLogic = outModel.ItemLogical;
|
|
|
|
+ OutDetail = outModel.Description;
|
|
|
|
+ OutConList.Clear();
|
|
|
|
+ foreach (var detail in outModel.DetailInfo)
|
|
|
|
+ {
|
|
|
|
+ BasPlcItemConfigDto basPlcItemConfigDto = new BasPlcItemConfigDto();
|
|
|
|
+ basPlcItemConfigDto.Id = detail.Id;
|
|
|
|
+ basPlcItemConfigDto.PlcItem = detail.PlcItem;
|
|
|
|
+ basPlcItemConfigDto.PlcAddress = detail.PlcAddress;
|
|
|
|
+ basPlcItemConfigDto.PlcAddType = detail.PlcAddType;
|
|
|
|
+ basPlcItemConfigDto.PlcValue = detail.PlcValue;
|
|
|
|
+ basPlcItemConfigDto.Remark = detail.Remark;
|
|
|
|
+ OutConList.Add(basPlcItemConfigDto);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ #endregion
|
|
|
|
+
|
|
|
|
+ #region 私有发方法
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ /// <summary>
|
|
|
|
+ /// 获取配置
|
|
|
|
+ /// </summary>
|
|
|
|
+ private void GetConfigOption()
|
|
|
|
+ {
|
|
|
|
+ var configList = _optionConfigService.QueryList();
|
|
|
|
+ _optionConfigs = _mapper.Map<List<OptionConfig>, List<OptionConfigDto>>(configList);
|
|
|
|
+ var tests = _optionConfigs.FindAll(x => x.TypeID == 1);
|
|
|
|
+ TestKinds = new List<string>();
|
|
|
|
+ foreach (var test in tests)
|
|
|
|
+ {
|
|
|
|
+ TestKinds.Add(test.ContentOption);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //测试项类型
|
|
|
|
+ var judges = _optionConfigs.FindAll(x => x.TypeID == 2);
|
|
|
|
+ foreach (var judge in judges)
|
|
|
|
+ {
|
|
|
|
+ BeforeJudgeKinds.Add(judge.ContentOption);
|
|
|
|
+ InJudgeKinds.Add(judge.ContentOption);
|
|
|
|
+ OutJudgeKinds.Add(judge.ContentOption);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //判定逻辑
|
|
|
|
+ var logics = _optionConfigs.FindAll(x => x.TypeID == 3);
|
|
|
|
+ foreach (var logic in logics)
|
|
|
|
+ {
|
|
|
|
+ JudgeLogicKinds.Add(logic.ContentOption);
|
|
|
|
+ InJudgeLogicKinds.Add(logic.ContentOption);
|
|
|
|
+ OutJudgeLogicKinds.Add(logic.ContentOption);
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ /// <summary>
|
|
|
|
+ /// 关闭按钮
|
|
|
|
+ /// </summary>
|
|
|
|
+ private void Close()
|
|
|
|
+ {
|
|
|
|
+ MessageBoxResult boxResult = MessageBox.Show("确认退出自动测试", "确认", MessageBoxButton.OKCancel, MessageBoxImage.Information);
|
|
|
|
+ if (boxResult == MessageBoxResult.OK)
|
|
|
|
+ {
|
|
|
|
+
|
|
|
|
+ RequestClose?.Invoke(new DialogResult(ButtonResult.Cancel));
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ /// <summary>
|
|
|
|
+ /// mode转json
|
|
|
|
+ /// </summary>
|
|
|
|
+ /// <param name="itemType"></param>
|
|
|
|
+ /// <param name="itemLogical"></param>
|
|
|
|
+ /// <param name="description"></param>
|
|
|
|
+ /// <param name="conList"></param>
|
|
|
|
+ /// <returns></returns>
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ #endregion
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ #region 命令绑定
|
|
|
|
+ public DelegateCommand CloseCommand { set; get; }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ public DelegateCommand ItemChangeCommand { set; get; }
|
|
|
|
+
|
|
|
|
+ #endregion
|
|
|
|
+ #region 变量绑定
|
|
|
|
+ /// <summary>
|
|
|
|
+ /// 测试方案编码
|
|
|
|
+ /// </summary>
|
|
|
|
+ private string scheduleName;
|
|
|
|
+ public string ScheduleName
|
|
|
|
+ {
|
|
|
|
+ get { return scheduleName; }
|
|
|
|
+ set { scheduleName = value; RaisePropertyChanged(); }
|
|
|
|
+ }
|
|
|
|
+ /// <summary>
|
|
|
|
+ /// 设备名称
|
|
|
|
+ /// </summary>
|
|
|
|
+ private string deviceKindName;
|
|
|
|
+ public string DeviceKindName
|
|
|
|
+ {
|
|
|
|
+ get { return deviceKindName; }
|
|
|
|
+ set { deviceKindName = value; RaisePropertyChanged(); }
|
|
|
|
+ }
|
|
|
|
+ /// <summary>
|
|
|
|
+ /// 测试项名称
|
|
|
|
+ /// </summary>
|
|
|
|
+ private string testName;
|
|
|
|
+ public string TestName
|
|
|
|
+ {
|
|
|
|
+ get { return testName; }
|
|
|
|
+ set { testName = value; RaisePropertyChanged(); }
|
|
|
|
+ }
|
|
|
|
+ /// <summary>
|
|
|
|
+ /// 测试项类型
|
|
|
|
+ /// </summary>
|
|
|
|
+ private List<string> testKinds = new List<string>();
|
|
|
|
+ public List<string> TestKinds
|
|
|
|
+ {
|
|
|
|
+ get { return testKinds; }
|
|
|
|
+ set { testKinds = value; RaisePropertyChanged(); }
|
|
|
|
+ }
|
|
|
|
+ /// <summary>
|
|
|
|
+ ///
|
|
|
|
+ /// </summary>
|
|
|
|
+ private string selectTest;
|
|
|
|
+ public string SelectTest
|
|
|
|
+ {
|
|
|
|
+ get { return selectTest; }
|
|
|
|
+ set { selectTest = value; RaisePropertyChanged(); }
|
|
|
|
+ }
|
|
|
|
+ /// <summary>
|
|
|
|
+ /// 判定类型(前置项)
|
|
|
|
+ /// </summary>
|
|
|
|
+ private List<string> beforeJudgeKinds = new List<string>();
|
|
|
|
+ public List<string> BeforeJudgeKinds
|
|
|
|
+ {
|
|
|
|
+ get { return beforeJudgeKinds; }
|
|
|
|
+ set { beforeJudgeKinds = value; RaisePropertyChanged(); }
|
|
|
|
+ }
|
|
|
|
+ private string beforeSelectJudge;
|
|
|
|
+ public string BeforeSelectJudge
|
|
|
|
+ {
|
|
|
|
+ get { return beforeSelectJudge; }
|
|
|
|
+ set { beforeSelectJudge = value; RaisePropertyChanged(); }
|
|
|
|
+ }
|
|
|
|
+ /// <summary>
|
|
|
|
+ /// 逻辑判断
|
|
|
|
+ /// </summary>
|
|
|
|
+ private List<string> judgeLogicKinds = new List<string>();
|
|
|
|
+ public List<string> JudgeLogicKinds
|
|
|
|
+ {
|
|
|
|
+ get { return judgeLogicKinds; }
|
|
|
|
+ set { judgeLogicKinds = value; RaisePropertyChanged(); }
|
|
|
|
+ }
|
|
|
|
+ private string selectLogic;
|
|
|
|
+ public string SelectLogic
|
|
|
|
+ {
|
|
|
|
+ get { return selectLogic; }
|
|
|
|
+ set { selectLogic = value; RaisePropertyChanged(); }
|
|
|
|
+ }
|
|
|
|
+ private string beforeDetail;
|
|
|
|
+ public string BeforeDetail
|
|
|
|
+ {
|
|
|
|
+ get { return beforeDetail; }
|
|
|
|
+ set { beforeDetail = value; RaisePropertyChanged(); }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ private ObservableCollection<BasPlcItemConfigDto> beforeConList;
|
|
|
|
+ public ObservableCollection<BasPlcItemConfigDto> BeforeConList
|
|
|
|
+ {
|
|
|
|
+ get { return beforeConList; }
|
|
|
|
+ set { beforeConList = value; RaisePropertyChanged(); }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /// <summary>
|
|
|
|
+ /// 判定类型(输入项)
|
|
|
|
+ /// </summary>
|
|
|
|
+ private List<string> inJudgeKinds = new List<string>();
|
|
|
|
+ public List<string> InJudgeKinds
|
|
|
|
+ {
|
|
|
|
+ get { return inJudgeKinds; }
|
|
|
|
+ set { inJudgeKinds = value; RaisePropertyChanged(); }
|
|
|
|
+ }
|
|
|
|
+ private string selectInJudge;
|
|
|
|
+ public string SelectInJudge
|
|
|
|
+ {
|
|
|
|
+ get { return selectInJudge; }
|
|
|
|
+ set { selectInJudge = value; RaisePropertyChanged(); }
|
|
|
|
+ }
|
|
|
|
+ /// <summary>
|
|
|
|
+ /// 逻辑判断
|
|
|
|
+ /// </summary>
|
|
|
|
+ private List<string> inJudgeLogicKinds = new List<string>();
|
|
|
|
+ public List<string> InJudgeLogicKinds
|
|
|
|
+ {
|
|
|
|
+ get { return inJudgeLogicKinds; }
|
|
|
|
+ set { inJudgeLogicKinds = value; RaisePropertyChanged(); }
|
|
|
|
+ }
|
|
|
|
+ private string inSelectLogic;
|
|
|
|
+ public string InSelectLogic
|
|
|
|
+ {
|
|
|
|
+ get { return inSelectLogic; }
|
|
|
|
+ set { inSelectLogic = value; RaisePropertyChanged(); }
|
|
|
|
+ }
|
|
|
|
+ private string inDetail;
|
|
|
|
+ public string InDetail
|
|
|
|
+ {
|
|
|
|
+ get { return inDetail; }
|
|
|
|
+ set { inDetail = value; RaisePropertyChanged(); }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ private ObservableCollection<BasPlcItemConfigDto> inConList;
|
|
|
|
+ public ObservableCollection<BasPlcItemConfigDto> InConList
|
|
|
|
+ {
|
|
|
|
+ get { return inConList; }
|
|
|
|
+ set { inConList = value; RaisePropertyChanged(); }
|
|
|
|
+ }
|
|
|
|
+ /// <summary>
|
|
|
|
+ /// 判定类型(结果项)
|
|
|
|
+ /// </summary>
|
|
|
|
+ private List<string> outJudgeKinds = new List<string>();
|
|
|
|
+ public List<string> OutJudgeKinds
|
|
|
|
+ {
|
|
|
|
+ get { return outJudgeKinds; }
|
|
|
|
+ set { outJudgeKinds = value; RaisePropertyChanged(); }
|
|
|
|
+ }
|
|
|
|
+ private string selectOutJudge;
|
|
|
|
+ public string SelectOutJudge
|
|
|
|
+ {
|
|
|
|
+ get { return selectOutJudge; }
|
|
|
|
+ set { selectOutJudge = value; RaisePropertyChanged(); }
|
|
|
|
+ }
|
|
|
|
+ /// <summary>
|
|
|
|
+ /// 逻辑判断
|
|
|
|
+ /// </summary>
|
|
|
|
+ private List<string> outJudgeLogicKinds = new List<string>();
|
|
|
|
+ public List<string> OutJudgeLogicKinds
|
|
|
|
+ {
|
|
|
|
+ get { return outJudgeLogicKinds; }
|
|
|
|
+ set { outJudgeLogicKinds = value; RaisePropertyChanged(); }
|
|
|
|
+ }
|
|
|
|
+ private string outSelectLogic;
|
|
|
|
+ public string OutSelectLogic
|
|
|
|
+ {
|
|
|
|
+ get { return outSelectLogic; }
|
|
|
|
+ set { outSelectLogic = value; RaisePropertyChanged(); }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ private string outDetail;
|
|
|
|
+ public string OutDetail
|
|
|
|
+ {
|
|
|
|
+ get { return outDetail; }
|
|
|
|
+ set { outDetail = value; RaisePropertyChanged(); }
|
|
|
|
+ }
|
|
|
|
+ private ObservableCollection<BasPlcItemConfigDto> outConList;
|
|
|
|
+ public ObservableCollection<BasPlcItemConfigDto> OutConList
|
|
|
|
+ {
|
|
|
|
+ get { return outConList; }
|
|
|
|
+ set { outConList = value; RaisePropertyChanged(); }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ private int stepIndex = 0;
|
|
|
|
+ public int StepIndex
|
|
|
|
+ {
|
|
|
|
+ get { return stepIndex; }
|
|
|
|
+ set { stepIndex = value; RaisePropertyChanged(); }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ private Visibility proVisibility = Visibility.Hidden;
|
|
|
|
+ public Visibility ProVisibility
|
|
|
|
+ {
|
|
|
|
+ get { return proVisibility; }
|
|
|
|
+ set { proVisibility = value; RaisePropertyChanged(); }
|
|
|
|
+ }
|
|
|
|
+ private bool startEnalbe = true;
|
|
|
|
+ public bool StartEnalbe
|
|
|
|
+ {
|
|
|
|
+ get { return startEnalbe; }
|
|
|
|
+ set { startEnalbe = value; RaisePropertyChanged(); }
|
|
|
|
+ }
|
|
|
|
+ //所有测试项列表
|
|
|
|
+ private List<string> schItems = new List<string>();
|
|
|
|
+ public List<string> SchItems
|
|
|
|
+ {
|
|
|
|
+ get { return schItems; }
|
|
|
|
+ set { schItems = value; RaisePropertyChanged(); }
|
|
|
|
+ }
|
|
|
|
+ //所选测试方案
|
|
|
|
+ private string selectItem;
|
|
|
|
+ public string SelectItem
|
|
|
|
+ {
|
|
|
|
+ get { return selectItem; }
|
|
|
|
+ set { selectItem = value; RaisePropertyChanged(); }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ private int selectItemIndex;
|
|
|
|
+ public int SelectItemIndex
|
|
|
|
+ {
|
|
|
|
+ get { return selectItemIndex; }
|
|
|
|
+ set { selectItemIndex = value; RaisePropertyChanged(); }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ #endregion
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+}
|