TG-PlatformPlus/createModelDlg.py

86 lines
2.8 KiB
Python
Raw Normal View History

2026-03-02 14:29:58 +08:00
import re
import json
import base64
from PyQt6 import *
from PyQt6.QtCore import *
from PyQt6.QtGui import *
from PyQt6.QtWidgets import *
from ui.Ui_createModelDlg import Ui_createModelDlg
from devmodelModel.devModelManager import devModelManager
from common import common
import ui.res_rc
class CreateModelDlg(QDialog):
createFinished = pyqtSignal()
editFinished = pyqtSignal()
def __init__(self, parent=None):
super().__init__(parent)
self.ui = Ui_createModelDlg()
self.ui.setupUi(self)
self.devModelId = ''
self.group_id = ''
self.extendedProperty = {}
self.interfaceType = {}
self.pixmap = ''
self.ui.pbOk.clicked.connect(self.handleAccept)
self.ui.pbCancel.clicked.connect(self.reject)
def showCreateDlg(self, group_id):
self.setWindowTitle('创建设备模型')
self.pixmap = ''
self.group_id = group_id
self.extendedProperty = {}
self.interfaceType = {}
self.ui.leName.setText('')
self.ui.leCategory.setText('')
self.ui.leDevModelNumber.setText('')
self.exec()
def showEditDlg(self, data):
self.setWindowTitle('编辑设备模型')
self.ui.leName.setText(data['name'])
self.ui.leCategory.setText(data['category'])
modelnumber = ""
self.pixmap = ''
self.devModelId = data['id']
if 'attr' in data:
attr_json_dict = data['attr']
if 'modelnumber' in attr_json_dict:
modelnumber = attr_json_dict['modelnumber']
if 'image' in attr_json_dict:
self.pixmap = attr_json_dict['image']
if 'extendedProperty' in attr_json_dict:
self.extendedProperty = attr_json_dict['extendedProperty']
if 'interfaceType' in attr_json_dict:
self.interfaceType = attr_json_dict['interfaceType']
self.ui.leDevModelNumber.setText(modelnumber)
self.exec()
def handleAccept(self):
name = self.ui.leName.text()
category = self.ui.leCategory.text()
attr = {
"modelnumber": self.ui.leDevModelNumber.text(),
"image": self.pixmap,
"extendedProperty" : self.extendedProperty,
"interfaceType" : self.interfaceType
}
if self.windowTitle() == '创建设备模型':
id = devModelManager.create(self.group_id, name, category, attr)
if id != "":
self.createFinished.emit()
elif self.windowTitle() == '编辑设备模型':
param = {
"name": name,
"category": category,
"attr" : attr
}
if devModelManager.update(self.devModelId, param):
self.editFinished.emit()
self.accept()