258 lines
12 KiB
Plaintext
258 lines
12 KiB
Plaintext
|
|
╔══════════════════════════════════════════════════════════════════════════════╗
|
|||
|
|
║ 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
|