From 4c3eb7f334abb8129b57e86f2935d75d0b3070b4 Mon Sep 17 00:00:00 2001
From: alielie <alielie@git.com>
Date: 星期一, 03 三月 2025 18:55:31 +0800
Subject: [PATCH] 完善UI;新增TestResult;
---
HMI.ParameterManage/ParameterManage.xaml.cs | 113 ++++++++++++++++++++++++++++++++++++++------------------
1 files changed, 77 insertions(+), 36 deletions(-)
diff --git a/HMI.ParameterManage/ParameterManage.xaml.cs b/HMI.ParameterManage/ParameterManage.xaml.cs
index 9a9bc3a..8da173a 100644
--- a/HMI.ParameterManage/ParameterManage.xaml.cs
+++ b/HMI.ParameterManage/ParameterManage.xaml.cs
@@ -1,9 +1,12 @@
锘縰sing System.IO;
+using System.Linq;
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
@@ -13,8 +16,7 @@
/// </summary>
public partial class ParameterManage : PluginControl
{
- private ControlModel Model;
- private SqliteHelper SqliteHelper;
+ private XmlModel Model;
public ParameterManage()
{
@@ -23,31 +25,7 @@
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);
DataContext = Model;
}
@@ -63,7 +41,16 @@
switch (btn.Name)
{
case "addBtn":
- OpenAddDialog();
+ OpenProductDialog(null);
+ 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 +64,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 ? "鏂板浜у搧" : "缂栬緫浜у搧",
Owner = Window.GetWindow(this),
- sqliteHelper = SqliteHelper
};
- if (win.Open(new ProductData()) == true)
+ if (win.Open(data ?? new ProductData()) == true)
{
Model.LoadProducts();
}
@@ -103,11 +94,10 @@
ToastHelper.Warning(Window.GetWindow(this), "璇峰厛閫夋嫨涓�椤逛骇鍝�");
return;
}
- var win = new ParameterModal
+ var win = new ParameterModal(Model)
{
Title = data == null ? "鏂板鍙傛暟" : "缂栬緫鍙傛暟",
Owner = Window.GetWindow(this),
- sqliteHelper = SqliteHelper
};
if (win.Open(data ?? new ParameterData { ProductName = Model.SelectedProduct.Name }) == true)
{
@@ -115,5 +105,56 @@
}
}
+ private void TryDeleteProduct(ProductData data)
+ {
+ if (MsgBoxHelper.WarnMessage(Window.GetWindow(this), $"纭畾瑕佸垹闄や骇鍝乕{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("璇烽�夋嫨瑕佸垹闄ょ殑浜у搧");
+ return;
+ }
+ if (MsgBoxHelper.WarnMessage(Window.GetWindow(this), $"纭畾瑕佸垹闄ら�変腑鐨刐{temp}]鏉′骇鍝佸悧锛熻鎿嶄綔鏃犳硶鎾ら攢")
+ == MessageBoxResult.OK)
+ {
+ Model.DeleteProducts();
+ Model.LoadProducts();
+ }
+ }
+
+ private void TryDeleteParameter(ParameterData data)
+ {
+ if (MsgBoxHelper.WarnMessage(Window.GetWindow(this), $"纭畾瑕佸垹闄ゅ弬鏁癧{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("璇烽�夋嫨瑕佸垹闄ょ殑鍙傛暟");
+ return;
+ }
+ if (MsgBoxHelper.WarnMessage(Window.GetWindow(this), $"纭畾瑕佸垹闄ら�変腑鐨刐{temp}]鏉″弬鏁板悧锛熻鎿嶄綔鏃犳硶鎾ら攢")
+ == MessageBoxResult.OK)
+ {
+ Model.DeleteParameters();
+ Model.LoadParameters();
+ }
+ }
+
}
}
--
Gitblit v1.9.1