From 9d1660270272180cd71147d6ddd53d1382643d2e Mon Sep 17 00:00:00 2001
From: wenxiangchao <wenxiangchao@ihengxin.com.cn>
Date: 星期一, 02 十一月 2026 18:00:14 +0800
Subject: [PATCH] merge: 并入远程 Initial commit 作为历史根节点

---
 HMI.ParameterManage/ParameterManage.xaml.cs |  188 +++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 188 insertions(+), 0 deletions(-)

diff --git a/HMI.ParameterManage/ParameterManage.xaml.cs b/HMI.ParameterManage/ParameterManage.xaml.cs
new file mode 100644
index 0000000..23e543f
--- /dev/null
+++ b/HMI.ParameterManage/ParameterManage.xaml.cs
@@ -0,0 +1,188 @@
+锘縰sing 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;
+
+namespace HMI.ParameterManage
+{
+    /// <summary>
+    /// UserControl1.xaml 鐨勪氦浜掗�昏緫
+    /// </summary>
+    public partial class ParameterManage : PluginControl
+    {
+        private XmlModel Model;
+
+        public ParameterManage()
+        {
+            InitializeComponent();
+        }
+
+        public override void InitFinish()
+        {
+            Model = new XmlModel(BaseFolder);
+            DataContext = Model;
+        }
+
+        private void UserControl_Loaded(object sender, RoutedEventArgs e)
+        {
+            Model.LoadProducts();
+            Model.LoadParameters();
+            Loaded -= UserControl_Loaded;
+        }
+
+        private void Button_Click(object sender, RoutedEventArgs e)
+        {
+            var btn = (Button)sender;
+            switch (btn.Name)
+            {
+                case "addBtn":
+                    OpenProductDialog(null);
+                    break;
+                case "refreshBtn":
+                    Model.LoadProducts();
+                    break;
+                case "editProductBtn":
+                    OpenProductDialog((ProductData)btn.DataContext);
+                    break;
+                case "delProductBtn":
+                    TryDeleteProduct((ProductData)btn.DataContext);
+                    break;
+                case "delBatchBtn":
+                    TryDeleteProducts();
+                    break;
+                case "refrshBtn":
+                    Model.LoadProducts();
+                    break;
+                case "refreshParameterBtn":
+                    Model.LoadParameters();
+                    break;
+                case "addParameterBtn":
+                    OpenAddParameterDialog(null);
+                    break;
+                case "editParameterBtn":
+                    OpenAddParameterDialog((ParameterData)btn.DataContext);
+                    break;
+                case "delParameterBtn":
+                    TryDeleteParameter((ParameterData)btn.DataContext);
+                    break;
+                case "deleteBatchParameterBtn":
+                    TryDeleteParameters();
+                    break;
+                default:
+                    break;
+            }
+        }
+
+        private void OpenProductDialog(ProductData data)
+        {
+            var win = new ProductModal(Model)
+            {
+                Title = data == null ? this.lang("Pm.Product.Add") : this.lang("Pm.Product.Edit"),
+                Owner = Window.GetWindow(this),
+            };
+            if (win.Open(data ?? new ProductData(), data != null) == true)
+            {
+                Model.LoadProducts();
+            }
+        }
+
+        private void OpenAddParameterDialog(ParameterData data)
+        {
+            if (Model.SelectedProduct == null)
+            {
+                ToastHelper.Warning(Window.GetWindow(this), this.lang("Pm.PleaseSelectProduct"));
+                return;
+            }
+            //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 ? this.lang("Pm.Parameter.Add") : this.lang("Pm.Parameter.Edit"),
+                Owner = Window.GetWindow(this)
+            };
+            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), this.lang("HMI.MakeSureDeleteSingle", data.Name))
+                == MessageBoxResult.OK)
+            {
+                Model.DeleteProduct(data);
+                Model.LoadProducts();
+            }
+        }
+
+        private void TryDeleteProducts()
+        {
+            var temp = Model.Products.Where(p => p.IsSelected).Count();
+            if (temp <= 0)
+            {
+                this.Warning(this.lang("HMI.NoDeleteData"));
+                return;
+            }
+            if (MsgBoxHelper.WarnMessage(Window.GetWindow(this), this.lang("HMI.MakeSureDeletes", temp))
+                == MessageBoxResult.OK)
+            {
+                Model.DeleteProducts();
+                Model.LoadProducts();
+            }
+        }
+
+        private void TryDeleteParameter(ParameterData data)
+        {
+            if (MsgBoxHelper.WarnMessage(Window.GetWindow(this), this.lang("HMI.MakeSureDeleteSingle", data.Name)) == MessageBoxResult.OK)
+            {
+                Model.DeleteParameter(data);
+                Model.LoadParameters();
+            }
+        }
+
+        private void TryDeleteParameters()
+        {
+            var temp = Model.Parameters.Where(p => p.IsSelected).Count();
+            if (temp <= 0)
+            {
+                this.Warning(this.lang("HMI.NoDeleteData"));
+                return;
+            }
+            if (MsgBoxHelper.WarnMessage(Window.GetWindow(this), this.lang("HMI.MakeSureDeletes", temp))
+                == MessageBoxResult.OK)
+            {
+                Model.DeleteParameters();
+                Model.LoadParameters();
+            }
+        }
+    }
+}

--
Gitblit v1.9.1