diff --git a/src/view/ConfigPage.xaml.cs b/src/view/ConfigPage.xaml.cs
index 7bc3f98..56dd01b 100644
--- a/src/view/ConfigPage.xaml.cs
+++ b/src/view/ConfigPage.xaml.cs
@@ -2,273 +2,474 @@ using guoke;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Media;
-using System.Collections.Generic;
-namespace WpfApp.src.view
+namespace WpfApp.src.view;
+
+///
+/// ConfigPage.xaml 的交互逻辑
+///
+public partial class ConfigPage : Page
{
- ///
- /// ConfigPage.xaml 的交互逻辑
- ///
- public partial class ConfigPage : Page
+ // 等级数据字典,每个等级对应 LevelInfo
+ private Dictionary levelData;
+ private Dictionary sensorData;
+
+ public ConfigPage()
{
- // 等级数据字典,每个等级对应 LevelInfo
- private Dictionary levelData;
- private Dictionary sensorData;
+ InitializeComponent();
+ InitializeLevelData();
+ InitializeSensorData();
- public ConfigPage()
+ // 注册等级标签按钮点击事件
+ LevelTabUnder.Click += LevelTab_Click;
+ LevelTabA.Click += LevelTab_Click;
+ LevelTabB.Click += LevelTab_Click;
+ LevelTabC.Click += LevelTab_Click;
+ LevelTabD.Click += LevelTab_Click;
+ LevelTabE.Click += LevelTab_Click;
+ LevelTabF.Click += LevelTab_Click;
+ LevelTabG.Click += LevelTab_Click;
+ LevelTabOver.Click += LevelTab_Click;
+
+ // 默认选中 Under
+ LevelTabUnder.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
+ }
+
+ // 初始化等级数据
+ private void InitializeLevelData()
+ {
+ levelData = new Dictionary();
+ string[] tabs = { "Under", "A", "B", "C", "D", "E", "F", "G", "Over" };
+
+ foreach (var tab in tabs)
{
- InitializeComponent();
- InitializeLevelData();
- InitializeSensorData();
-
- // 注册等级标签按钮点击事件
- LevelTabUnder.Click += LevelTab_Click;
- LevelTabA.Click += LevelTab_Click;
- LevelTabB.Click += LevelTab_Click;
- LevelTabC.Click += LevelTab_Click;
- LevelTabD.Click += LevelTab_Click;
- LevelTabE.Click += LevelTab_Click;
- LevelTabF.Click += LevelTab_Click;
- LevelTabG.Click += LevelTab_Click;
- LevelTabOver.Click += LevelTab_Click;
-
- // 默认选中 Under
- LevelTabUnder.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
- }
-
- // 初始化等级数据
- private void InitializeLevelData()
- {
- levelData = new Dictionary();
- string[] tabs = { "Under", "A", "B", "C", "D", "E", "F", "G", "Over" };
-
- foreach (var tab in tabs)
+ // 默认数据和 Under 一样
+ levelData[tab] = new LevelInfo
{
- // 默认数据和 Under 一样
- levelData[tab] = new LevelInfo
+ Low = "-0.0090",
+ High = "0.0090",
+ Mark = "标记",
+ Status = "NG"
+ };
+ }
+ }
+
+
+ // 等级标签按钮点击事件
+ private void LevelTab_Click(object sender, RoutedEventArgs e)
+ {
+ if (sender is Button btn && btn.Tag is string tabName)
+ {
+ // 保存当前显示的数据到上一个等级
+ SaveCurrentLevelData();
+
+ // 更新标签按钮样式
+ UpdateTabStyles(btn);
+
+ // 加载选中等级的数据
+ LoadLevelData(tabName);
+ }
+ }
+
+ // 保存当前显示的等级数据
+ private void SaveCurrentLevelData()
+ {
+ string currentTab = GetCurrentSelectedTab();
+ if (currentTab == null) return;
+
+ foreach (var child in LevelInfoPanel.Children)
+ {
+ if (child is Grid g)
+ {
+ foreach (var element in g.Children)
{
- Low = "-0.0090",
- High = "0.0090",
- Mark = "标记",
- Status = "NG"
- };
- }
- }
-
-
- // 等级标签按钮点击事件
- private void LevelTab_Click(object sender, RoutedEventArgs e)
- {
- if (sender is Button btn && btn.Tag is string tabName)
- {
- // 保存当前显示的数据到上一个等级
- SaveCurrentLevelData();
-
- // 更新标签按钮样式
- UpdateTabStyles(btn);
-
- // 加载选中等级的数据
- LoadLevelData(tabName);
- }
- }
-
- // 保存当前显示的等级数据
- private void SaveCurrentLevelData()
- {
- string currentTab = GetCurrentSelectedTab();
- if (currentTab == null) return;
-
- foreach (var child in LevelInfoPanel.Children)
- {
- if (child is Grid g)
- {
- foreach (var element in g.Children)
+ if (element is TextBox tb && Grid.GetColumn(tb) == 2 && Grid.GetRow(tb) == 1)
{
- if (element is TextBox tb && Grid.GetColumn(tb) == 2 && Grid.GetRow(tb) == 1)
- {
- levelData[currentTab].Low = tb.Text;
- }
- if (element is Border br && Grid.GetColumn(br) == 3 && Grid.GetRow(br) == 1)
- {
- if (br.Child is TextBlock tblock)
- levelData[currentTab].Status = tblock.Text;
- }
- // 如果你后续要保存 High 或 Mark,可以在这里添加
+ levelData[currentTab].Low = tb.Text;
}
- }
- }
- }
-
- // 获取当前选中的标签名
- private string GetCurrentSelectedTab()
- {
- foreach (var child in ((Grid)LevelTabUnder.Parent).Children)
- {
- if (child is Button b && b.Background is SolidColorBrush brush)
- {
- if (brush.Color == ((SolidColorBrush)new BrushConverter().ConvertFrom("#E6F3FF")).Color)
- return b.Tag?.ToString();
- }
- }
- return null;
- }
-
- // 更新等级标签按钮样式
- private void UpdateTabStyles(Button selectedBtn)
- {
- foreach (var child in ((Grid)LevelTabUnder.Parent).Children)
- {
- if (child is Button b)
- {
- b.Background = (b == selectedBtn)
- ? new SolidColorBrush((Color)ColorConverter.ConvertFromString("#E6F3FF"))
- : new SolidColorBrush((Color)ColorConverter.ConvertFromString("#F0F0F0"));
- }
- }
- }
-
- // 加载等级数据到界面
- private void LoadLevelData(string tabName)
- {
- if (!levelData.ContainsKey(tabName)) return;
-
- var data = levelData[tabName];
-
- foreach (var child in LevelInfoPanel.Children)
- {
- if (child is Grid g)
- {
- foreach (var element in g.Children)
+ if (element is Border br && Grid.GetColumn(br) == 3 && Grid.GetRow(br) == 1)
{
- if (element is TextBox tb && Grid.GetColumn(tb) == 2 && Grid.GetRow(tb) == 1)
- {
- tb.Text = data.Low;
- }
- if (element is Border br && Grid.GetColumn(br) == 3 && Grid.GetRow(br) == 1)
- {
- if (br.Child is TextBlock tblock)
- tblock.Text = data.Status;
- }
- // High 或 Mark 可在此扩展
+ if (br.Child is TextBlock tblock)
+ levelData[currentTab].Status = tblock.Text;
}
+ // 如果你后续要保存 High 或 Mark,可以在这里添加
}
}
}
- // 初始化传感器数据
- private void InitializeSensorData()
+ }
+
+ // 获取当前选中的标签名
+ private string GetCurrentSelectedTab()
+ {
+ foreach (var child in ((Grid)LevelTabUnder.Parent).Children)
{
- sensorData = new Dictionary
- {
- { 1, new SensorToleranceData { MaxTolerance = "9.00", BaseTolerance = "72.9410", MinTolerance = "-9.00" } },
- { 2, new SensorToleranceData { MaxTolerance = "8.50", BaseTolerance = "72.8500", MinTolerance = "-8.50" } },
- { 3, new SensorToleranceData { MaxTolerance = "7.80", BaseTolerance = "72.7800", MinTolerance = "-7.80" } },
- { 4, new SensorToleranceData { MaxTolerance = "6.90", BaseTolerance = "72.6900", MinTolerance = "-6.90" } }
- };
+ if (child is Button b && b.Background is SolidColorBrush brush)
+ {
+ if (brush.Color == ((SolidColorBrush)new BrushConverter().ConvertFrom("#E6F3FF")).Color)
+ return b.Tag?.ToString();
+ }
}
- // 传感器标签页点击事件处理
- private void SensorTab_Click(object sender, RoutedEventArgs e)
+ return null;
+ }
+
+ // 更新等级标签按钮样式
+ private void UpdateTabStyles(Button selectedBtn)
+ {
+ foreach (var child in ((Grid)LevelTabUnder.Parent).Children)
{
- Button clickedButton = sender as Button;
- if (clickedButton == null) return;
-
- int sensorIndex = int.Parse(clickedButton.Tag.ToString());
-
- // 保存当前传感器的数据
- SaveCurrentSensorData();
-
- // 更新标签页样式
- UpdateTabStyles(sensorIndex);
-
- // 加载选中传感器的数据
- LoadSensorData(sensorIndex);
+ if (child is Button b)
+ {
+ b.Background = (b == selectedBtn)
+ ? new SolidColorBrush((Color)ColorConverter.ConvertFromString("#E6F3FF"))
+ : new SolidColorBrush((Color)ColorConverter.ConvertFromString("#F0F0F0"));
+ }
}
+ }
+
+ // 加载等级数据到界面
+ private void LoadLevelData(string tabName)
+ {
+ if (!levelData.ContainsKey(tabName)) return;
+
+ var data = levelData[tabName];
+
+ foreach (var child in LevelInfoPanel.Children)
+ {
+ if (child is Grid g)
+ {
+ foreach (var element in g.Children)
+ {
+ if (element is TextBox tb && Grid.GetColumn(tb) == 2 && Grid.GetRow(tb) == 1)
+ {
+ tb.Text = data.Low;
+ }
+ if (element is Border br && Grid.GetColumn(br) == 3 && Grid.GetRow(br) == 1)
+ {
+ if (br.Child is TextBlock tblock)
+ tblock.Text = data.Status;
+ }
+ // High 或 Mark 可在此扩展
+ }
+ }
+ }
+ }
+ // 初始化传感器数据
+ private void InitializeSensorData()
+ {
+ sensorData = new Dictionary
+ {
+ { 1, new SensorToleranceData { MaxTolerance = "9.00", BaseTolerance = "72.9410", MinTolerance = "-9.00" } },
+ { 2, new SensorToleranceData { MaxTolerance = "8.50", BaseTolerance = "72.8500", MinTolerance = "-8.50" } },
+ { 3, new SensorToleranceData { MaxTolerance = "7.80", BaseTolerance = "72.7800", MinTolerance = "-7.80" } },
+ { 4, new SensorToleranceData { MaxTolerance = "6.90", BaseTolerance = "72.6900", MinTolerance = "-6.90" } }
+ };
+ }
+ // 传感器标签页点击事件处理
+ private void SensorTab_Click(object sender, RoutedEventArgs e)
+ {
+ Button clickedButton = sender as Button;
+ if (clickedButton == null) return;
+
+ int sensorIndex = int.Parse(clickedButton.Tag.ToString());
+
// 保存当前传感器的数据
- private void SaveCurrentSensorData()
- {
- // 获取当前选中的传感器索引
- int currentSensorIndex = GetCurrentSelectedSensorIndex();
-
- if (sensorData.ContainsKey(currentSensorIndex))
- {
- sensorData[currentSensorIndex].MaxTolerance = MaxToleranceTextBox.Text;
- sensorData[currentSensorIndex].BaseTolerance = BaseToleranceTextBox.Text;
- sensorData[currentSensorIndex].MinTolerance = MinToleranceTextBox.Text;
- }
- }
-
-
- // 获取当前选中的传感器索引
- private int GetCurrentSelectedSensorIndex()
- {
- if (SensorTab1.Background is SolidColorBrush brush1 && brush1.Color == ((SolidColorBrush)new BrushConverter().ConvertFrom("#E6F3FF")).Color)
- return 1;
- if (SensorTab2.Background is SolidColorBrush brush2 && brush2.Color == ((SolidColorBrush)new BrushConverter().ConvertFrom("#E6F3FF")).Color)
- return 2;
- if (SensorTab3.Background is SolidColorBrush brush3 && brush3.Color == ((SolidColorBrush)new BrushConverter().ConvertFrom("#E6F3FF")).Color)
- return 3;
- if (SensorTab4.Background is SolidColorBrush brush4 && brush4.Color == ((SolidColorBrush)new BrushConverter().ConvertFrom("#E6F3FF")).Color)
- return 4;
- return 1; // 默认返回传感器1
- }
+ SaveCurrentSensorData();
// 更新标签页样式
- private void UpdateTabStyles(int selectedIndex)
- {
- // 重置所有标签页样式
- SensorTab1.Background = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#F0F0F0"));
- SensorTab2.Background = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#F0F0F0"));
- SensorTab3.Background = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#F0F0F0"));
- SensorTab4.Background = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#F0F0F0"));
-
- // 设置选中标签页样式
- switch (selectedIndex)
- {
- case 1:
- SensorTab1.Background = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#E6F3FF"));
- break;
- case 2:
- SensorTab2.Background = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#E6F3FF"));
- break;
- case 3:
- SensorTab3.Background = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#E6F3FF"));
- break;
- case 4:
- SensorTab4.Background = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#E6F3FF"));
- break;
- }
- }
-
- // 加载传感器数据
- private void LoadSensorData(int sensorIndex)
- {
- if (sensorData.ContainsKey(sensorIndex))
- {
- var data = sensorData[sensorIndex];
- MaxToleranceTextBox.Text = data.MaxTolerance;
- BaseToleranceTextBox.Text = data.BaseTolerance;
- MinToleranceTextBox.Text = data.MinTolerance;
- }
- }
-
-
+ UpdateTabStyles(sensorIndex);
+ // 加载选中传感器的数据
+ LoadSensorData(sensorIndex);
}
-
- // 等级信息数据类
- public class LevelInfo
+ // 保存当前传感器的数据
+ private void SaveCurrentSensorData()
{
- public string Low { get; set; }
- public string High { get; set; }
- public string Mark { get; set; }
- public string Status { get; set; }
+ // 获取当前选中的传感器索引
+ int currentSensorIndex = GetCurrentSelectedSensorIndex();
+
+ if (sensorData.ContainsKey(currentSensorIndex))
+ {
+ sensorData[currentSensorIndex].MaxTolerance = MaxToleranceTextBox.Text;
+ sensorData[currentSensorIndex].BaseTolerance = BaseToleranceTextBox.Text;
+ sensorData[currentSensorIndex].MinTolerance = MinToleranceTextBox.Text;
+ }
}
- // 传感器公差数据类
- public class SensorToleranceData
+
+ // 获取当前选中的传感器索引
+ private int GetCurrentSelectedSensorIndex()
{
- public string MaxTolerance { get; set; }
- public string BaseTolerance { get; set; }
- public string MinTolerance { get; set; }
+ if (SensorTab1.Background is SolidColorBrush brush1 && brush1.Color == ((SolidColorBrush)new BrushConverter().ConvertFrom("#E6F3FF")).Color)
+ return 1;
+ if (SensorTab2.Background is SolidColorBrush brush2 && brush2.Color == ((SolidColorBrush)new BrushConverter().ConvertFrom("#E6F3FF")).Color)
+ return 2;
+ if (SensorTab3.Background is SolidColorBrush brush3 && brush3.Color == ((SolidColorBrush)new BrushConverter().ConvertFrom("#E6F3FF")).Color)
+ return 3;
+ if (SensorTab4.Background is SolidColorBrush brush4 && brush4.Color == ((SolidColorBrush)new BrushConverter().ConvertFrom("#E6F3FF")).Color)
+ return 4;
+ return 1; // 默认返回传感器1
}
+ // 更新标签页样式
+ private void UpdateTabStyles(int selectedIndex)
+ {
+ // 重置所有标签页样式
+ SensorTab1.Background = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#F0F0F0"));
+ SensorTab2.Background = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#F0F0F0"));
+ SensorTab3.Background = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#F0F0F0"));
+ SensorTab4.Background = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#F0F0F0"));
+
+ // 设置选中标签页样式
+ switch (selectedIndex)
+ {
+ case 1:
+ SensorTab1.Background = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#E6F3FF"));
+ break;
+ case 2:
+ SensorTab2.Background = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#E6F3FF"));
+ break;
+ case 3:
+ SensorTab3.Background = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#E6F3FF"));
+ break;
+ case 4:
+ SensorTab4.Background = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#E6F3FF"));
+ break;
+ }
+ }
+
+ // 加载传感器数据
+ private void LoadSensorData(int sensorIndex)
+ {
+ if (sensorData.ContainsKey(sensorIndex))
+ {
+ var data = sensorData[sensorIndex];
+ MaxToleranceTextBox.Text = data.MaxTolerance;
+ BaseToleranceTextBox.Text = data.BaseTolerance;
+ MinToleranceTextBox.Text = data.MinTolerance;
+ }
+ }
+
+
+
}
+
+///
+/// 产品信息数据类
+///
+public class Product
+{
+ ///
+ /// 主键 ID
+ ///
+ public int Id { get; set; }
+
+ ///
+ /// 产品名称
+ ///
+ public string Name { get; set; }
+
+
+ ///
+ /// 创建时间
+ ///
+ public DateTime CreatedTime { get; set; }
+
+ ///
+ /// 更新时间
+ ///
+ public DateTime UpdatedTime { get; set; }
+}
+
+///
+/// 传感器选择数据类
+///
+public class SensorSelection
+{
+ ///
+ /// 主键 ID
+ ///
+ public int Id { get; set; }
+
+ ///
+ /// 传感器1 名称或编号
+ ///
+ public bool Sensor1 { get; set; }
+
+ ///
+ /// 传感器2 名称或编号
+ ///
+ public bool Sensor2 { get; set; }
+
+ ///
+ /// 传感器3 名称或编号
+ ///
+ public bool Sensor3 { get; set; }
+
+ ///
+ /// 传感器4 名称或编号
+ ///
+ public bool Sensor4 { get; set; }
+
+ ///
+ /// 所属产品名称
+ ///
+ public string ProductName { get; set; }
+
+ ///
+ /// 创建时间
+ ///
+ public DateTime CreatedTime { get; set; }
+
+ ///
+ /// 更新时间
+ ///
+ public DateTime UpdatedTime { get; set; }
+}
+
+///
+/// 传感器公差数据类
+///
+public class SensorToleranceData
+{
+ ///
+ /// 主键 ID
+ ///
+ public int Id { get; set; }
+
+ ///
+ /// 传感器名称(如 “传感器1”)
+ ///
+ public string SensorName { get; set; }
+
+ ///
+ /// 最大公差
+ ///
+ public string MaxTolerance { get; set; }
+
+ ///
+ /// 基准公差
+ ///
+ public string BaseTolerance { get; set; }
+
+ ///
+ /// 最小公差
+ ///
+ public string MinTolerance { get; set; }
+
+ ///
+ /// 所属产品名称
+ ///
+ public string ProductName { get; set; }
+
+ ///
+ /// 创建时间
+ ///
+ public DateTime CreatedTime { get; set; }
+
+ ///
+ /// 更新时间
+ ///
+ public DateTime UpdatedTime { get; set; }
+}
+
+///
+/// 主传感器选择数据类
+///
+public class MainSensorSelection
+{
+ ///
+ /// 主键 ID
+ ///
+ public int Id { get; set; }
+
+ ///
+ /// 数字传感器1 是否为主传感器
+ ///
+ public bool DigitalSensor1 { get; set; }
+
+ ///
+ /// 数字传感器2 是否为主传感器
+ ///
+ public bool DigitalSensor2 { get; set; }
+
+ ///
+ /// 数字传感器3 是否为主传感器
+ ///
+ public bool DigitalSensor3 { get; set; }
+
+ ///
+ /// 数字传感器4 是否为主传感器
+ ///
+ public bool DigitalSensor4 { get; set; }
+
+ ///
+ /// 所属产品名称
+ ///
+ public string ProductName { get; set; }
+
+
+ ///
+ /// 创建时间
+ ///
+ public DateTime CreatedTime { get; set; }
+
+ ///
+ /// 更新时间
+ ///
+ public DateTime UpdatedTime { get; set; }
+
+}
+
+
+///
+/// 等级信息数据类
+///
+public class LevelInfo
+{
+///
+/// 主键 ID
+///
+ public int Id { get; set; }
+ ///
+ /// 等级名称(例如:A级、B级、C级)
+ ///
+ public string Name { get; set; }
+
+ ///
+ /// 等级下限值
+ ///
+ public string Low { get; set; }
+
+ ///
+ /// 等级上限值
+ ///
+ public string High { get; set; }
+
+ ///
+ /// 等级标记(例如:合格、不合格、警告等)
+ ///
+ public string Mark { get; set; }
+
+ ///
+ /// 当前状态(例如:启用、停用)
+ ///
+ public string Status { get; set; }
+
+ ///
+ /// 所属产品名称
+ ///
+ public string ProductName { get; set; }
+
+ ///
+ /// 创建时间
+ ///
+ public DateTime CreatedTime { get; set; }
+
+ ///
+ /// 更新时间
+ ///
+ public DateTime UpdatedTime { get; set; }
+}
+
+
+