Commit Graph

51 Commits

Author SHA1 Message Date
c85f89db33 refactor:将所有的ItemViewMdoel的名字删除ViewModel,并将命名空间调整为DMS.WPF.ItemViewModel. 2025-10-06 18:17:56 +08:00
6cff70cd87 refactor: 将VariableMqttAlias改为MqttAlias,将VariableMqttAliasItemViewModel改为MqttAliasItem 2025-10-06 17:39:03 +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
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
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
acd397ea55 特性:为 OpcUaServiceManager 和 S7ServiceManager 添加 VariableChanged 事件订阅
- OpcUaServiceManager 更新:
     - 添加了 OnVariableChanged 事件订阅
     - 实现了 OnVariableChanged 事件处理方法,根据变量属性变化类型进行相应处理
     - 对于 OPC UA Node ID、更新类型或轮询间隔变化,重新设置设备订阅
     - 对于激活状态变化,更新设备上下文中的变量列表
     - 对于变量删除,从设备上下文中移除对应变量

   - S7ServiceManager 更新:
     - 添加了 OnVariableChanged 事件订阅
     - 实现了 OnVariableChanged 事件处理方法,根据变量属性变化类型进行相应处理
     - 对于 S7 地址变化,更新设备上下文中的变量映射
     - 对于激活状态变化,更新设备上下文中的变量列表
     - 对于变量删除,从设备上下文中移除对应变量

   - 改进系统响应性:
     - 使 OPC UA 和 S7 服务能够实时响应变量属性变更
     - 提高了系统在变量配置更改时的动态适应能力
     - 确保服务能够根据变量状态变化及时更新其内部数据结构
2025-10-02 19:47:29 +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
6e9f7c4a44 feat: 为多个服务添加日志记录功能并改进批量导入变量处理
- 为OpcUaServiceManager添加日志记录功能,并实现OnBatchImportVariables事件处理器
  - 为OpcUaService添加全面的日志记录,包括连接、断开、读写节点等操作
  - 为DataEventService添加日志记录功能,跟踪数据加载和变量值变更事件
  - 为S7ServiceManager添加OnBatchImportVariables事件处理器,处理批量导入变量事件
  - 在VariableTableViewModel中改进变量添加逻辑,确保变量被正确添加到数据存储中
  - 在VariableManagementService中完善变量表信息的填充逻辑
2025-10-02 11:26:50 +08:00
078d7b3903 1. 创建了 BatchImportVariablesEventArgs 事件参数类
2. 在 IEventService 接口中添加了 OnBatchImportVariables 事件和 RaiseBatchImportVariables 方法
   3. 在 EventService 实现中添加了对新事件的支持
   4. 在 IVariableManagementService 接口中添加了 BatchImportVariablesAsync 方法
   5. 在 VariableManagementService 中实现了该方法,并在批量导入后触发事件
   6. 更新了 VariableTableViewModel 以使用 IVariableManagementService 而不是 IVariableAppService
2025-10-01 20:13:30 +08:00
4e63ebcb94 修复添加变量切换变量表界面后不显示的问题 2025-10-01 19:41:30 +08:00
bcdb119d11 修改画面 2025-09-19 07:27:56 +08:00
74fde6bd8b 完成S7变量启用和停用更新 2025-09-16 14:42:23 +08:00
3102938f92 将设备列表,变量表列表,变量列表从ObservableCollection更换为字典类型的ObservableDictionary 2025-09-16 13:05:37 +08:00
ffa24f861e 修改了目录架构 2025-09-16 12:29:09 +08:00
4773e87886 修改批量导入变量返回实体,防止Io为0的问题 2025-09-15 13:12:14 +08:00
d923b6a116 修改了设备列表的界面 2025-09-14 20:46:31 +08:00
071347bc91 初步完成报警设置 2025-09-12 12:26:57 +08:00
c8d7543c7e 初步完成变量历史记录修改 2025-09-12 08:57:41 +08:00
5ca4fe7124 初步完成历史记录(未完成) 2025-09-11 11:04:07 +08:00
94ef1dec84 初步重构WPF项目中的DataService和App项目中的DataCenterServicce 2025-09-09 13:35:16 +08:00
6f0e80e1e2 完成MQTT服务器的别名设置 2025-09-06 19:41:28 +08:00
5db88f5709 初步完成变量选择Mqtt服务器 2025-09-06 19:10:25 +08:00
08f9de137e 将pollLevel属性名改为pollingInterval 2025-09-05 20:24:27 +08:00
16bd8f79ee 修复了导入变量的问题 2025-09-05 13:24:03 +08:00
9d446c370e 将NotificationService抽取成接口,并将所有使用NotificationService全部替换为接口INotificationService 2025-09-04 19:59:35 +08:00
bb650e2682 将NlogHelper,和NotificationHelper,改为服务的方式注入使用 2025-09-04 17:29:24 +08:00
8122ffc6b7 修改接口路径 2025-09-03 18:22:01 +08:00
c96390384d 完成变量表的增删改 2025-09-03 18:08:42 +08:00
5ce3825fa9 完成修改选定变量的启用状态更改 2025-09-02 18:29:58 +08:00
94aa9b0485 完成修改更新频率 2025-09-02 17:42:11 +08:00
6d7636d664 修复数据类型属性不统一的问题 2025-09-02 16:45:24 +08:00
f80a1669fb 完成连接OpcUa服务器 2025-08-25 21:26:18 +08:00
8290c96b1b 临时提交 2025-08-25 20:16:57 +08:00
c611677394 修改了一些杂项 2025-08-24 18:29:26 +08:00
1d8d4a7f5e 完成删除变量 2025-08-24 17:48:33 +08:00
c813fe63c3 完成编辑变量对话框的更改 2025-08-24 17:01:33 +08:00
f9e094ffbd 完成变量表添加变量 2025-08-24 15:08:13 +08:00
3dee207b88 完成添加变量对话框验证 2025-08-24 14:42:31 +08:00
614dfa4063 重构了添加设备对话框的布局 2025-08-24 11:31:07 +08:00
6d2bc57923 修改ContextDialog对话框内容区域的MaxWidth和MaxHeight 2025-08-23 20:52:23 +08:00
eb81cecec1 临时提交 2025-08-23 16:01:30 +08:00
1e0c154884 完成搜索变量功能 2025-08-23 11:28:10 +08:00
32ade95742 完成从TIA导入变量 2025-08-23 09:09:07 +08:00
7e2e01e3cd 完成从Excel导入变量的对话框 2025-08-22 20:46:23 +08:00
f821024756 修改了一些内容 2025-08-22 20:24:09 +08:00
364d287a20 修复一些错误 2025-07-30 19:39:07 +08:00
1ebc1a4df6 实现导航跳转 2025-07-30 12:09:00 +08:00
e292ea9da8 消除所有错误,重新构建 2025-07-26 10:05:43 +08:00
ca67d2e6df 临时提交3 2025-07-19 11:11:01 +08:00