PCM_Report/修改对比图.txt

258 lines
12 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

╔══════════════════════════════════════════════════════════════════════════════╗
║ ui_main.py 修改对比 ║
╚══════════════════════════════════════════════════════════════════════════════╝
┌─────────────────────────────────────────────────────────────────────────────┐
│ 修改前的流程 │
└─────────────────────────────────────────────────────────────────────────────┘
点击"配置"按钮
直接打开配置对话框
├─ 不知道编辑的是哪个配置
├─ 配置可能混淆
└─ 保存位置不明确
点击"开始工单"按钮
输入工单号
├─ 不知道用哪个配置
├─ 不知道用哪个模板
└─ 容易出错
┌─────────────────────────────────────────────────────────────────────────────┐
│ 修改后的流程 │
└─────────────────────────────────────────────────────────────────────────────┘
点击"配置"按钮
┌─────────────────────┐
│ 选择配置类型对话框 │
│ │
│ ○ 600泵 ✓ │
│ ● 1000泵 ✓ │
│ │
│ [确定] [取消] │
└─────────────────────┘
用户选择"1000泵"
加载 configs/1000泵/default.json
加载 configs/1000泵/template.docx
┌─────────────────────┐
│ 配置设置 - 1000泵 │ ◄─── 标题显示配置类型
│ │
│ [InfluxDB配置] │
│ [占位符配置] │
│ ... │
│ │
│ [保存] [取消] │
└─────────────────────┘
保存到 configs/1000泵/default.json ◄─── 明确的保存位置
点击"开始工单"按钮
┌─────────────────────┐
│ 选择配置类型对话框 │
│ │
│ ● 600泵 ✓ │
│ ○ 1000泵 ✓ │
│ │
│ [确定] [取消] │
└─────────────────────┘
用户选择"600泵"
加载 configs/600泵/default.json
加载 configs/600泵/template.docx
┌─────────────────────┐
│ 输入工单号 - 600泵 │ ◄─── 标题显示配置类型
│ │
│ 工单号: _______ │
│ │
│ [确定] [取消] │
└─────────────────────┘
开始工单
├─ 使用 configs/600泵/default.json ◄─── 明确的配置
└─ 使用 configs/600泵/template.docx ◄─── 明确的模板
┌─────────────────────────────────────────────────────────────────────────────┐
│ 代码修改对比 │
└─────────────────────────────────────────────────────────────────────────────┘
修改前open_config_dialog
─────────────────────────────
def open_config_dialog(self, preview: bool = False) -> None:
# 直接打开配置对话框
dlg = QDialog(self)
dlg.setWindowTitle("配置")
# ...
修改后open_config_dialog
─────────────────────────────
def open_config_dialog(self, preview: bool = False) -> None:
# 第一步:选择配置类型
if not preview:
category = select_config_for_settings(self)
if category is None:
return # 用户取消
# 加载配置
self.config = AppConfig.load(category.config_path)
self.template_path = category.template_path
# 第二步:打开配置对话框
dlg = QDialog(self)
dlg.setWindowTitle(f"配置设置 - {config_type_name}")
# ...
修改前_start_work_order
─────────────────────────────
def _start_work_order(self) -> None:
# 直接输入工单号
work_order_no, ok = QInputDialog.getText(...)
# ...
修改后_start_work_order
─────────────────────────────
def _start_work_order(self) -> None:
# 第一步:选择配置类型
category = select_config_for_work_order(self)
if category is None:
return # 用户取消
# 加载配置
self.config = AppConfig.load(category.config_path)
self.template_path = category.template_path
# 第二步:输入工单号
work_order_no, ok = QInputDialog.getText(
self,
f"输入工单号 - {category.name}", # 标题显示配置类型
...
)
# ...
┌─────────────────────────────────────────────────────────────────────────────┐
│ 修改的优势 │
└─────────────────────────────────────────────────────────────────────────────┘
修改前 修改后
────────────────────────────────────────────────────────
❌ 不知道编辑哪个配置 → ✅ 明确选择配置类型
❌ 配置可能混淆 → ✅ 配置完全隔离
❌ 保存位置不明确 → ✅ 保存到正确位置
❌ 不知道用哪个模板 → ✅ 模板自动关联
❌ 容易出错 → ✅ 清晰明了
┌─────────────────────────────────────────────────────────────────────────────┐
│ 文件修改统计 │
└─────────────────────────────────────────────────────────────────────────────┘
文件: ui_main.py
修改位置:
├─ 第 40 行: 添加导入语句
├─ 第 1412 行: 修改 open_config_dialog 函数
└─ 第 3868 行: 修改 _start_work_order 函数
代码统计:
├─ 新增代码: 约 60 行
├─ 删除代码: 约 10 行
└─ 净增加: 约 50 行
修改类型:
├─ 添加导入: 1 处
├─ 修改函数: 2 处
└─ 添加逻辑: 配置类型选择
┌─────────────────────────────────────────────────────────────────────────────┐
│ 测试验证 │
└─────────────────────────────────────────────────────────────────────────────┘
✅ 语法检查通过
✅ 导入语句正确
✅ 函数逻辑完整
✅ 错误处理完善
待测试:
□ 点击"配置"按钮
□ 选择配置类型
□ 编辑配置
□ 保存配置
□ 点击"开始工单"按钮
□ 选择配置类型
□ 输入工单号
□ 验证配置隔离
┌─────────────────────────────────────────────────────────────────────────────┐
│ 使用示例 │
└─────────────────────────────────────────────────────────────────────────────┘
场景1: 修改600泵的配置
─────────────────────────
1. 点击"配置"
2. 选择"600泵"
3. 修改 InfluxDB URL
4. 保存
5. 配置保存到 configs/600泵/default.json
场景2: 使用1000泵开始工单
─────────────────────────────
1. 点击"开始工单"
2. 选择"1000泵"
3. 输入工单号
4. 使用 configs/1000泵/ 的配置和模板
场景3: 验证配置隔离
─────────────────────
1. 修改"600泵"的配置
2. 打开"1000泵"的配置
3. 验证"1000泵"的配置没有被影响
4. 再次打开"600泵"
5. 验证之前的修改已保存
╔══════════════════════════════════════════════════════════════════════════════╗
║ 完成! ║
╚══════════════════════════════════════════════════════════════════════════════╝
✅ ui_main.py 已成功修改
✅ 配置类型选择功能已集成
✅ 代码语法检查通过
✅ 准备好测试
下一步: python ui_main.py