alielie
2026-06-04 771a0e7b6b1276087515bbe94de28358cb92963b
HMI.ParameterManage/ParameterManage.xaml.cs
@@ -1,13 +1,16 @@
using System.IO;
using HMI.Base;
using HMI.Core.Entity;
using HMI.Core.Manager;
using HMI.Core.Util;
using HMI.ParameterManage.Model;
using HMI.UI.Util;
using NPOI.POIFS.NIO;
using NPOI.SS.Formula.Functions;
using System.Linq;
using System.Text.RegularExpressions;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Markup;
using HMI.Base;
using HMI.Core.Util;
using HMI.ParameterManage.Entity;
using HMI.ParameterManage.Model;
using HMI.UI.Util;
namespace HMI.ParameterManage
{
@@ -32,6 +35,7 @@
        private void UserControl_Loaded(object sender, RoutedEventArgs e)
        {
            Model.LoadProducts();
            Model.LoadParameters();
            Loaded -= UserControl_Loaded;
        }
@@ -42,6 +46,9 @@
            {
                case "addBtn":
                    OpenProductDialog(null);
                    break;
                case "refreshBtn":
                    Model.LoadProducts();
                    break;
                case "editProductBtn":
                    OpenProductDialog((ProductData)btn.DataContext);
@@ -74,14 +81,15 @@
                    break;
            }
        }
        private void OpenProductDialog(ProductData data)
        {
            var win = new ProductModal(Model)
            {
                Title = data == null ? "新增产品" : "编辑产品",
                Title = data == null ? this.lang("Pm.Product.Add") : this.lang("Pm.Product.Edit"),
                Owner = Window.GetWindow(this),
            };
            if (win.Open(data ?? new ProductData()) == true)
            if (win.Open(data ?? new ProductData(), data != null) == true)
            {
                Model.LoadProducts();
            }
@@ -91,23 +99,44 @@
        {
            if (Model.SelectedProduct == null)
            {
                ToastHelper.Warning(Window.GetWindow(this), "请先选择一项产品");
                ToastHelper.Warning(Window.GetWindow(this), this.lang("Pm.PleaseSelectProduct"));
                return;
            }
            var win = new ParameterModal(Model)
            //var win = new ParameterModal(Model)
            //{
            //    Title = data == null ? this.lang("Pm.Parameter.Add") : this.lang("Pm.Parameter.Edit"),
            //    Owner = Window.GetWindow(this),
            //};
            //if (win.Open(Model.SelectedProduct.Name, data ?? new ParameterData { ProductName = Model.SelectedProduct.Name }, Model.groups) == true)
            //{
            //    Model.LoadParameters();
            //}
            SettingModal modal = new SettingModal()
            {
                Title = data == null ? "新增参数" : "编辑参数",
                Owner = Window.GetWindow(this),
                Title = data == null ? this.lang("Pm.Parameter.Add") : this.lang("Pm.Parameter.Edit"),
                Owner = Window.GetWindow(this)
            };
            if (win.Open(data ?? new ParameterData { ProductName = Model.SelectedProduct.Name }) == true)
            var target = data ?? new ParameterData();
            if (modal.Open(target, Model.Parameters, Model.groups, Model.SelectedProduct.Name) == true)
            {
                //if (index == -1)
                //{
                //    Datasource.Add(modal.Data);
                //    ParameterManager.SaveCommonParameter(Datasource);
                //}
                //else
                //{
                //    ParameterManager.SaveCommonParameter(Datasource);
                //}
                Model.SaveOrUpdateParameter(target);
                Model.LoadParameters();
            }
        }
        private void TryDeleteProduct(ProductData data)
        {
            if (MsgBoxHelper.WarnMessage(Window.GetWindow(this), $"确定要删除产品[{data.Name}]吗?该操作无法撤销")
            if (MsgBoxHelper.WarnMessage(Window.GetWindow(this), this.lang("HMI.MakeSureDeleteSingle", data.Name))
                == MessageBoxResult.OK)
            {
                Model.DeleteProduct(data);
@@ -120,10 +149,10 @@
            var temp = Model.Products.Where(p => p.IsSelected).Count();
            if (temp <= 0)
            {
                this.Warning("请选择要删除的产品");
                this.Warning(this.lang("HMI.NoDeleteData"));
                return;
            }
            if (MsgBoxHelper.WarnMessage(Window.GetWindow(this), $"确定要删除选中的[{temp}]条产品吗?该操作无法撤销")
            if (MsgBoxHelper.WarnMessage(Window.GetWindow(this), this.lang("HMI.MakeSureDeletes", temp))
                == MessageBoxResult.OK)
            {
                Model.DeleteProducts();
@@ -133,7 +162,7 @@
        private void TryDeleteParameter(ParameterData data)
        {
            if (MsgBoxHelper.WarnMessage(Window.GetWindow(this), $"确定要删除参数[{data.Name}]吗?该操作无法撤销") == MessageBoxResult.OK)
            if (MsgBoxHelper.WarnMessage(Window.GetWindow(this), this.lang("HMI.MakeSureDeleteSingle", data.Name)) == MessageBoxResult.OK)
            {
                Model.DeleteParameter(data);
                Model.LoadParameters();
@@ -145,16 +174,15 @@
            var temp = Model.Parameters.Where(p => p.IsSelected).Count();
            if (temp <= 0)
            {
                this.Warning("请选择要删除的参数");
                this.Warning(this.lang("HMI.NoDeleteData"));
                return;
            }
            if (MsgBoxHelper.WarnMessage(Window.GetWindow(this), $"确定要删除选中的[{temp}]条参数吗?该操作无法撤销")
            if (MsgBoxHelper.WarnMessage(Window.GetWindow(this), this.lang("HMI.MakeSureDeletes", temp))
                == MessageBoxResult.OK)
            {
                Model.DeleteParameters();
                Model.LoadParameters();
            }
        }
    }
}