feat: 初始化 PCB 检测 WPF 应用程序

* 创建 AxiOmron.PcbCheck 项目主框架及解决方案
* 添加 Dashboard 和系统设置页面
* 实现 Modbus TCP PLC、扫码枪、SFTP 查询等核心服务
* 集成 Andon 报警、工作流托管服务与日志配置
* 补充项目文档和 UI 设计规范
This commit is contained in:
2026-04-17 10:43:51 +08:00
parent 660ee99442
commit 49f113dcf3
46 changed files with 8042 additions and 0 deletions

View File

@@ -39,6 +39,64 @@
- 列宽与绑定不变。
- **流程状态区**:将“流程状态”卡片改为 `hc:Card` 高亮展示,错误信息使用红色文字(不变)。
#### Dashboard 下半区布局方案确认
- 已确认采用 **方案 A双栏中枢布局**
- 设计目标:
- 消除当前页面下半区的大面积空白。
- 强化“当前板状态”和“过程追踪”两个核心视觉中心。
- 将运行日志降为辅助信息,而不是和主业务区争抢注意力。
- 布局原则:
- 左侧承担“当前状态 + 运行日志”主视角,右侧承担“处理记录 + 追踪摘要”副视角。
- 下半区不再平均切成多个小卡片,而是改为“少块、大面、强层级”。
- 通过不同卡片高度、标题层级、留白和分组,建立更清晰的信息优先级。
#### Dashboard 下半区具体布局
- **整体分栏**
- 下半区采用 `1.3 : 0.9` 左右双栏。
- 左栏为主工作区,右栏为过程追踪区。
- **左栏上部**
- 使用两个并排摘要卡片。
- 卡片 1`当前二维码 + 结果码 / 报警码`
- 卡片 2`关键标志 + 扫码次数 + SFTP 次数`
- 当前二维码信息作为左栏上部的第一视觉重点,字体明显大于普通统计值。
- **左栏下部**
- 放置 `最近运行日志`,占据左栏主要高度。
- DataGrid 保留,但应提升表头、行高、内边距和空状态表现,避免“开发态表格感”过强。
- **右栏上部**
- 放置 `最近处理记录摘要`,展示:
- 最近触发时间
- 最近完成时间
- 最后刷新时间
- 该区域应做成信息摘要卡,而不是散落的三行文字。
- **右栏下部**
- 放置 `最近处理记录列表`
- 列表可以保留 DataGrid但视觉上应更轻重点突出时间、条码、结果三列。
- 若 HandyControl 样式允许,可适当弱化网格线,提升卡片式整洁感。
#### Dashboard 下半区视觉风格约束
- 不新增花哨装饰,不改为互联网运营后台风格,保持工业桌面应用的稳重感。
- 卡片层次应依靠以下手段建立,而不是依赖过多边框:
- 标题字号差异
- 数值字号差异
- 卡片阴影和圆角
- 区块留白
- 轻量分隔
- `关键标志` 建议改为更有秩序的纵向状态列表,保留圆点语义,但需统一间距、字号、对齐。
- `结果码 / 报警码` 不再作为独立弱卡片存在,应并入主摘要区,提高信息密度。
- `最近处理记录``最近运行日志` 必须形成主次关系:
- 主日志区更宽,更适合排查问题。
- 处理记录区更紧凑,更适合回看节拍与结果。
#### 本次改造范围
- 仅重构 `DashboardPage.xaml` 的下半区布局与视觉层级。
- 不修改 ViewModel 属性命名、命令绑定和业务逻辑。
- 不新增复杂动画、主题切换、图表控件或第三方可视化组件。
- 若需要新增局部样式或页面资源,应优先放在页面内,避免污染全局资源。
### 4. SystemSettingsPage.xaml
- **TabControl**:使用 HandyControl 的 `TabControl` 样式(默认已覆盖),或显式使用 `hc:TabControl`
- **表单项**
@@ -66,3 +124,4 @@
- 不改写业务逻辑、ViewModel、服务层。
- 不引入 HandyControl 的高级控件Growl、Timeline、Pagination 等),避免过度设计。
- 不替换为其他 UI 库MahApps、MaterialDesign、WPFUI 等)。