Commit Graph

99 Commits

Author SHA1 Message Date
6daca3eaf6 feat(mqtt): 实现MQTT别名批量修改功能
主要改动:
  - 在 MqttServerDetailView 中,允许用户在关联变量列表中进行多项选择。
  - 修改了 ModifyAlias 命令,使其能够处理多个选中项,并调用批量编辑对话框。
  - 新增了 MqttAliasBatchEditDialogViewModel 的构造函数,使其可以接收并编辑已存在的别名列表。
  - 通过 SelectedItemsBehavior 辅助类,实现了 DataGrid 中 SelectedItems 的双向绑定。
  - 更新了相关视图和视图模型,以支持新的批量操作流程。
2025-10-07 19:04:30 +08:00
c85f89db33 refactor:将所有的ItemViewMdoel的名字删除ViewModel,并将命名空间调整为DMS.WPF.ItemViewModel. 2025-10-06 18:17:56 +08:00
1f0495fbe7 1 feat: 优化MQTT服务器详情页面功能
2
    3 - 修改MQTT发布处理器,使用DisplayValue代替DataValue进行数据发布
    4 - 在MqttServiceManager中使用DisplayValue进行消息内容替换
    5 - 增加MQTT服务器编辑功能,允许用户修改服务器配置
    6 - 添加变量MQTT发布别名修改功能,支持右键菜单修改发布名称
    7 - 实现变量值变化事件监听,实时更新UI显示
    8 - 优化MQTT服务器详情页面UI,改进变量关联数据显示
    9 - 修复变量表关联MQTT服务器时的逻辑问题
   10 - 完善导航生命周期事件处理
2025-10-05 19:57:58 +08:00
7a2b67991c 1 feat: 改进MQTT服务器详情页面UI和功能
2
   3 - 将MQTT服务器详情页面的文本框改为只读模式,使用TextBlock显示
   4 - 为MQTT服务器详情区域添加图标和优化间距,提升视觉效果
   5 - 实现顶部导航栏和CommandBar功能,支持返回列表、刷新等操作
   6 - 添加Reload和NavigateToMqtts命令,增强页面功能
   7 - 重构ViewModel,添加MQTT管理、数据存储和导航服务依赖
   8 - 实现页面导航参数处理,根据ID加载对应的MQTT服务器信息
   9 - 使用DockPanel和ScrollViewer优化页面布局,提升用户体验
2025-10-05 17:50:41 +08:00
6b55211dbf feat: 菜单管理重构及MQTT服务器功能增强 2025-10-05 17:07:17 +08:00
80ea47e627 重构MQTT事件处理和激活状态管理功能 2025-10-05 14:45:41 +08:00
ea18a6ac2c feat: 增强MQTT服务管理功能并优化设备视图 2025-10-05 12:11:04 +08:00
a6fc543e4f 1 feat(mqtt): 实现MQTT服务器状态管理与事件系统
2
    3 1. 在MqttServer和MqttServerDto模型中添加IsConnect属性,用于跟踪连接状态
    4 2. 重构MqttManagementService服务,使用事件驱动方式管理服务器状态变化
    5 3. 实现MqttServerChangedEventArgs事件参数类,支持区分不同变更类型
    6 4. 在IEventService中添加OnMqttServerChanged事件,实现事件通知机制
    7 5. 优化数据存储结构,将MqttServers从ObservableCollection改为ObservableDictionary
    8 6. 更新MqttServiceManager以正确处理连接状态和事件触发
    9 7. 在WPF层更新UI以响应服务器状态变化
   10 8. 删除不再需要的Helper类(DataServicesHelper, MessageHelper, SiemensHelper)
   11 9. 在NLog配置中添加调试器输出目标以便调试
   12 10. 完善VariableHistoryViewModel防止空引用异常
2025-10-05 00:28:25 +08:00
d4562e600e 1 feat: 添加变量导入模板配置和工厂模式实现
2
    3 -
      在AppSettings中添加VariableImportTemplate配置项,用于设置变量导入的默认参数(IsActive、PollingIn
      terval、IsHistoryEnabled、HistoryDeadband)
    4 - 修改AppSettings.Load()方法,优化配置加载逻辑
    5 -
      实现IVariableItemViewModelFactory和VariableItemViewModelFactory,使用工厂模式创建VariableItemVie
      wModel实例
    6 - 在ImportOpcUaDialogViewModel中使用工厂创建VariableItemViewModel实例,以应用默认配置
    7 -
      在SettingViewModel和SettingView中添加变量导入设置界面和相关属性(VariablePollingInterval、Variab
      leIsActive、VariableIsHistoryEnabled、VariableHistoryDeadband)
    8 - 移除VariableItemViewModel构造函数中的轮询间隔默认值设置,改由工厂模式设置
    9 - 优化SplashViewModel中配置加载逻辑
   10 - 移除MainView.xaml.cs中已注释的代码
   11 - 调整VariableTableView.xaml的UI布局和菜单结构
   12 - 注册IVariableItemViewModelFactory服务

  这些修改主要实现了几个关键功能:
   1. 引入了工厂模式来创建VariableItemViewModel实例,确保所有新创建的变量项都应用默认配置
   2. 添加了变量导入模板设置,用户可以在设置界面自定义导入变量的默认属性
   3. 对相关UI进行了调整和优化
2025-10-04 20:46:39 +08:00
ec1f94a898 1 refactor(config): 将AppSettings移至Application层并更新配置结构
2
    3 - 将AppSettings从DMS.Infrastructure移至DMS.Application
    4 - 将DatabaseSettings重命名为AppSettings.Database并更新所有引用
    5 - 将配置文件从appSettings.json更改为dms_config.json
    6 - 更新所有项目引用以使用新的AppSettings命名空间
    7 - 移除DI容器中的SqlSugarDbContext直接实例化
    8 - 添加Material Design Icons字体并更新设置视图UI
    9 - 通过移除不必要的变量映射更新来优化S7服务
   10 - 将数据库连接字符串属性名从Database更新为DbName
2025-10-04 18:42:12 +08:00
f86a2abed6 1 feat(navigation): 统一添加返回按钮并调整导航宽度
2
   3 - 为VariableTableView和DeviceDetailView添加返回上级页面的按钮
   4 - 将VariableHistoryView的返回按钮改为图标样式,保持一致性
   5 - 调整MainView中NavigationView的展开宽度,从500减小到200
   6 - 清理未使用的命名空间引用
2025-10-03 23:06:04 +08:00
609c4741c1 feat(navigation): 重构导航系统引入导航参数和类型
- 新增NavigationType枚举定义导航类型
 - 新增NavigationParameter类用于传递导航参数
 - 重构INavigationService和INavigatable接口
 - 更新NavigationService实现以支持新的导航方式
 - 更新DeviceDetailViewModel, DevicesViewModel, VariableHistoryViewModel, VariableTableViewModel, MqttsViewModel等
 - 使ViewModelBase实现INavigatable接口
 - 更新MainView中的菜单选择导航逻辑
 - 优化VariableHistoryView界面布局,添加返回变量表按钮
2025-10-03 22:28:58 +08:00
65c7232efa 在VariableHistoryView中增强图表显示 2025-10-03 11:58:15 +08:00
6ff4ef1c00 修改了界面 2025-10-03 11:10:35 +08:00
3d92737df8 修复 DevicesView 中的 DeviceItemTemplate 变量表操作 2025-10-03 10:49:13 +08:00
e5e2e8de5b 功能增强:添加 InputDialog 并改进变量管理功能
- 新增 InputDialog 组件:
     - 添加了 InputDialog.xaml 和 InputDialog.xaml.cs 文件
     - 创建了 InputDialogViewModel.cs,继承自 DialogViewModelBase<string?>
     - 实现了可重用的输入对话框,支持自定义标题、消息、标签和占位符

   - 完善变量管理服务:
     - 在 MappingProfile.cs 中添加了 VariableDto 到 VariableDto 的映射配置
     - 在 VariableManagementService.cs 中注入 IMapper 依赖项
     - 修改了 UpdateVariablesAsync 方法,使用 AutoMapper 进行更安全的更新操作

   - 扩展变量表功能:
     - 在 VariableTableViewModel.cs 中添加了 ModifyConversionFormula 命令
     - 实现了批量修改变量转换公式功能,支持用户通过对话框输入新公式
     - 添加了相应的 UI 通知和错误处理
     - 在 VariableTableView.xaml 中添加了"修改数值转换公式"菜单项

   - 集成 InputDialog 到对话框服务:
     - 在 DialogService.cs 中注册了 InputDialogViewModel 和 InputDialog 的映射关系
2025-10-02 18:34:23 +08:00
1a666b79c8 1. 在 AppSettings 类中添加了 DefaultPollingInterval 属性,用于存储全局默认轮询间隔值
2. 更新了 SettingViewModel 以包含对轮询间隔设置的支持,允许用户在设置页面中修改该值
   3. 修改了 VariableItemViewModel,使其在初始化时从 AppSettings 加载默认轮询间隔值
   4. 更新了 SettingView.xaml,在设置页面的"通用设置"部分添加了轮询间隔配置项
2025-10-02 12:35:42 +08:00
eb4bee8963 修改触发器相关的内容 2025-09-23 09:28:08 +08:00
2d457ae248 修改使用TriggerDataService模式 2025-09-23 06:51:29 +08:00
f61c505774 修改了添加触发器的对话框界面 2025-09-22 23:33:34 +08:00
042bc15288 继续修改触发器(未完成,修改一个触发器可以添加多个变量) 2025-09-22 22:58:51 +08:00
0f869cf410 将图形库替换为LiveChartsCore.SkiaSharpView.WPF 2025-09-22 06:24:08 +08:00
bcdb119d11 修改画面 2025-09-19 07:27:56 +08:00
ed4f9b1a0c 修复添加设备界面不显示默认变量表的问题 2025-09-18 11:24:56 +08:00
e023bf3b55 初步完成图表功能 2025-09-17 14:13:48 +08:00
82c355a392 初步完成单个变量的历史记录查询 2025-09-17 13:32:29 +08:00
74fde6bd8b 完成S7变量启用和停用更新 2025-09-16 14:42:23 +08:00
4773e87886 修改批量导入变量返回实体,防止Io为0的问题 2025-09-15 13:12:14 +08:00
d622d73057 继续修改触发器 2025-09-14 21:18:01 +08:00
d923b6a116 修改了设备列表的界面 2025-09-14 20:46:31 +08:00
a8d240b4f9 继续修改触发器 2025-09-14 19:13:40 +08:00
a079cf8de8 千问写完触发器功能,错误未修复 2025-09-14 16:16:10 +08:00
42aaf9c01b 初步完成邮件功能 2025-09-13 19:08:43 +08:00
c173ab08d3 完成设备的启用和停用并更新界面 2025-09-12 17:22:15 +08:00
071347bc91 初步完成报警设置 2025-09-12 12:26:57 +08:00
c8d7543c7e 初步完成变量历史记录修改 2025-09-12 08:57:41 +08:00
8afb989486 修改了历史记录页面 2025-09-12 08:35:35 +08:00
5680c38fa9 修改历史记录功能(未完成) 2025-09-11 18:09:35 +08:00
5ca4fe7124 初步完成历史记录(未完成) 2025-09-11 11:04:07 +08:00
a43b978097 基本完成MQTT消息的发送 2025-09-10 18:15:31 +08:00
ddfb124204 重载加载数据代码 2025-09-09 17:47:20 +08:00
94ef1dec84 初步重构WPF项目中的DataService和App项目中的DataCenterServicce 2025-09-09 13:35:16 +08:00
3489f8a064 添加默认排序和按照等级筛选日志功能 2025-09-07 20:04:17 +08:00
5f0a4b23f4 完成显示日志功能 2025-09-07 19:48:48 +08:00
6f0e80e1e2 完成MQTT服务器的别名设置 2025-09-06 19:41:28 +08:00
5db88f5709 初步完成变量选择Mqtt服务器 2025-09-06 19:10:25 +08:00
56130cd92a 修改了Mqtt服务器启动不加载的问题 2025-09-06 13:19:20 +08:00
52f76e2377 完成Mqtt服务器添加功能 2025-09-06 12:03:39 +08:00
08f9de137e 将pollLevel属性名改为pollingInterval 2025-09-05 20:24:27 +08:00
6e123b47cc 将PollLevelType类型改为int类型 2025-09-05 19:59:21 +08:00