86 lines
2.8 KiB
Python
86 lines
2.8 KiB
Python
|
|
|
||
|
|
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()
|
||
|
|
|
||
|
|
|