添加项目文件。
This commit is contained in:
258
SamplePreSystem.UI/ViewModel/SopManager/ParamManagerViewModel.cs
Normal file
258
SamplePreSystem.UI/ViewModel/SopManager/ParamManagerViewModel.cs
Normal file
@@ -0,0 +1,258 @@
|
||||
using CommunityToolkit.Mvvm.ComponentModel;
|
||||
using CommunityToolkit.Mvvm.Input;
|
||||
using Models.Const;
|
||||
using Models.Models;
|
||||
using SamplePre.ProcessBll.BLL;
|
||||
using SamplePre.UIWpf.ParamManager.chirld;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Linq;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
|
||||
namespace SamplePreSystem.UI.ViewModel.SopManager
|
||||
{
|
||||
public partial class ParamManagerViewModel : ObservableObject
|
||||
{
|
||||
SysParamBll sysParamBll = new SysParamBll();
|
||||
|
||||
|
||||
|
||||
public ParamManagerViewModel()
|
||||
{
|
||||
//初始化标准
|
||||
InitParamData();
|
||||
|
||||
BangdingUnit();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 参数列表
|
||||
/// </summary>
|
||||
[ObservableProperty]
|
||||
public List<sys_parm> sysParams = new List<sys_parm>();
|
||||
|
||||
/// <summary>
|
||||
/// 选中的参数行
|
||||
/// </summary>
|
||||
[ObservableProperty]
|
||||
public sys_parm selectItem = new sys_parm();
|
||||
|
||||
List<sys_parm> allSysParams = new List<sys_parm>();
|
||||
|
||||
public void InitParamData()
|
||||
{
|
||||
allSysParams = sysParamBll.QuerySysParm()?.OrderBy(p => p.plc_type).ToList();
|
||||
|
||||
|
||||
OnFilterTypeChange();
|
||||
}
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 参数类型
|
||||
/// </summary>
|
||||
[ObservableProperty]
|
||||
public List<string> dataTypes = new List<string> { "通用", "耗材", "液体" };
|
||||
|
||||
/// <summary>
|
||||
/// 过滤类型
|
||||
/// </summary>
|
||||
private string filterType = "通用";
|
||||
|
||||
public string FilterType
|
||||
{
|
||||
get { return filterType; }
|
||||
set {
|
||||
|
||||
SetProperty(ref filterType, value);
|
||||
|
||||
OnFilterTypeChange();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
public void OnFilterTypeChange()
|
||||
{
|
||||
if (string.IsNullOrEmpty(FilterType))
|
||||
{
|
||||
SysParams = allSysParams;
|
||||
return;
|
||||
}
|
||||
|
||||
SysParams = allSysParams.Where(p => p.param_type == FilterType).ToList();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 单位列表
|
||||
/// </summary>
|
||||
[ObservableProperty]
|
||||
public List<sys_dict> units = new List<sys_dict>();
|
||||
|
||||
|
||||
public void BangdingUnit()
|
||||
{
|
||||
Units = SystemConst.dictDatas.Where(p => p.class_id == 4).ToList();
|
||||
|
||||
//cmbUnit.BindingData<sys_dict>(units, "data_value", "id");
|
||||
//cmbUnit.SelectedIndex = 0;
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 参数值绑定
|
||||
/// </summary>
|
||||
[ObservableProperty]
|
||||
public sys_parm sysParm = new sys_parm();
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 保存参数
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public bool SaveParam()
|
||||
{
|
||||
if (string.IsNullOrEmpty(SysParm.title) || string.IsNullOrEmpty(SysParm.data_value))
|
||||
{
|
||||
MessageBox.Show("内容不能为空");
|
||||
return false;
|
||||
}
|
||||
|
||||
if (string.IsNullOrEmpty(SysParm.param_type))
|
||||
{
|
||||
MessageBox.Show("参数类型不能为空");
|
||||
return false;
|
||||
}
|
||||
|
||||
if (SysParm.data_type == "数值")
|
||||
{
|
||||
string val = SysParm.data_value;
|
||||
if (float.TryParse(val, out _) == false)
|
||||
{
|
||||
MessageBox.Show("参数值格式不正确,请重新修改!");
|
||||
SysParm.data_value = "0";
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (SysParm != null && !string.IsNullOrEmpty(SysParm.id))
|
||||
{
|
||||
//修改
|
||||
sysParamBll.UpdateSysParm(SysParm);
|
||||
}
|
||||
else
|
||||
{
|
||||
//判断plc编码是否重复
|
||||
if (sysParamBll.IsExtisPlCcode(SysParm.plc_type))
|
||||
{
|
||||
MessageBox.Show("存在相同plc编码,不能保存!");
|
||||
return false;
|
||||
}
|
||||
//新增
|
||||
SysParm.id = Guid.NewGuid().ToString();
|
||||
|
||||
sysParamBll.SaveSysParm(SysParm);
|
||||
}
|
||||
|
||||
//刷新参数列表
|
||||
InitParamData();
|
||||
OnFilterTypeChange();
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 删除参数
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public bool DelParam()
|
||||
{
|
||||
sys_parm parm = SelectItem;
|
||||
string id = parm.id;
|
||||
string title = parm.title;
|
||||
|
||||
|
||||
if (MessageBox.Show($"确定删除:{title}", "提示",MessageBoxButton.OKCancel) == MessageBoxResult.OK)
|
||||
{
|
||||
//判断该参数是否已经被使用
|
||||
if (IsDelete(id) == false)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
sysParamBll.DelSysParm(id);
|
||||
|
||||
//刷新参数列表
|
||||
InitParamData();
|
||||
OnFilterTypeChange();
|
||||
|
||||
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
private bool IsDelete(string parmId)
|
||||
{
|
||||
bool isExit = sysParamBll.IsExtisActionParam(parmId);
|
||||
if (isExit)
|
||||
{
|
||||
MessageBox.Show("该参数已经被使用,不能删除!");
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 新增参数
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
[RelayCommand]
|
||||
public void BtnAddParamClick()
|
||||
{
|
||||
SysParm = new sys_parm();
|
||||
NewStandParmWindow frm = new NewStandParmWindow(this);
|
||||
frm.ShowDialog();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 编辑参数
|
||||
/// </summary>
|
||||
[RelayCommand]
|
||||
public void BtnEditClick()
|
||||
{
|
||||
SysParm = SelectItem;
|
||||
|
||||
NewStandParmWindow frm = new NewStandParmWindow(this);
|
||||
frm.ShowDialog();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 删除参数
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
[RelayCommand]
|
||||
private void BtnDelParamClick()
|
||||
{
|
||||
DelParam();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user