From c401a2f2fd1a509cdeb33e850bb5c2827074af48 Mon Sep 17 00:00:00 2001
From: alielie <alielie@git.com>
Date: 星期一, 17 三月 2025 08:44:51 +0800
Subject: [PATCH] 完善框架,新增两个close方法;
---
HMI.ParameterManage/ParameterManage.xaml.cs | 128 ++++++++++++++++++++++++++++--------------
1 files changed, 86 insertions(+), 42 deletions(-)
diff --git a/HMI.ParameterManage/ParameterManage.xaml.cs b/HMI.ParameterManage/ParameterManage.xaml.cs
index 9a9bc3a..8b6ee33 100644
--- a/HMI.ParameterManage/ParameterManage.xaml.cs
+++ b/HMI.ParameterManage/ParameterManage.xaml.cs
@@ -1,10 +1,11 @@
-锘縰sing System.IO;
-using System.Windows;
-using System.Windows.Controls;
-using HMI.Base;
+锘縰sing HMI.Base;
using HMI.Core.Util;
using HMI.ParameterManage.Entity;
+using HMI.ParameterManage.Model;
using HMI.UI.Util;
+using System.Linq;
+using System.Windows;
+using System.Windows.Controls;
namespace HMI.ParameterManage
{
@@ -13,8 +14,8 @@
/// </summary>
public partial class ParameterManage : PluginControl
{
- private ControlModel Model;
- private SqliteHelper SqliteHelper;
+ public static string FileFolder { get; private set; }
+ private XmlModel Model;
public ParameterManage()
{
@@ -23,31 +24,8 @@
public override void InitFinish()
{
- string dbpath = Path.Combine(BaseFolder, "ParameterManage.db");
- if (!File.Exists(dbpath))
- {
- SqliteHelper.CreateDatabase(dbpath);
- }
- SqliteHelper = new SqliteHelper(dbpath);
- SqliteHelper.ExecuteSql(@"CREATE TABLE IF NOT EXISTS product (
- id INTEGER PRIMARY KEY AUTOINCREMENT,
- name TEXT NOT NULL,
- isMaster INTEGER,
- parentId INTEGER,
- UNIQUE(name)
- );
-CREATE TABLE IF NOT EXISTS parameter (
- id INTEGER PRIMARY KEY AUTOINCREMENT,
- name TEXT NOT NULL,
- value TEXT,
- unit TEXT,
- description TEXT,
- pGroup TEXT,
- productName TEXT,
- UNIQUE(productName,name)
- );
-");
- Model = new ControlModel(SqliteHelper);
+ Model = new XmlModel(BaseFolder);
+ FileFolder = BaseFolder;
DataContext = Model;
}
@@ -63,7 +41,19 @@
switch (btn.Name)
{
case "addBtn":
- OpenAddDialog();
+ 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();
@@ -77,20 +67,24 @@
case "editParameterBtn":
OpenAddParameterDialog((ParameterData)btn.DataContext);
break;
+ case "delParameterBtn":
+ TryDeleteParameter((ParameterData)btn.DataContext);
+ break;
+ case "deleteBatchParameterBtn":
+ TryDeleteParameters();
+ break;
default:
break;
}
}
-
- private void OpenAddDialog()
+ private void OpenProductDialog(ProductData data)
{
- var win = new ProductModal
+ var win = new ProductModal(Model)
{
- Title = "鏂板浜у搧",
+ Title = data == null ? this.lang("Pm.Product.Add") : this.lang("Pm.Product.Edit"),
Owner = Window.GetWindow(this),
- sqliteHelper = SqliteHelper
};
- if (win.Open(new ProductData()) == true)
+ if (win.Open(data ?? new ProductData()) == true)
{
Model.LoadProducts();
}
@@ -100,14 +94,13 @@
{
if (Model.SelectedProduct == null)
{
- ToastHelper.Warning(Window.GetWindow(this), "璇峰厛閫夋嫨涓�椤逛骇鍝�");
+ ToastHelper.Warning(Window.GetWindow(this), this.lang("Pm.PleaseSelectProduct"));
return;
}
- var win = new ParameterModal
+ var win = new ParameterModal(Model)
{
- Title = data == null ? "鏂板鍙傛暟" : "缂栬緫鍙傛暟",
+ Title = data == null ? this.lang("Pm.Parameter.Add") : this.lang("Pm.Parameter.Edit"),
Owner = Window.GetWindow(this),
- sqliteHelper = SqliteHelper
};
if (win.Open(data ?? new ParameterData { ProductName = Model.SelectedProduct.Name }) == true)
{
@@ -115,5 +108,56 @@
}
}
+ 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