TG-PlatformPlus/createUserDlg.py

72 lines
2.3 KiB
Python

import re
import json
from PyQt6 import *
from PyQt6.QtCore import *
from PyQt6.QtGui import *
from PyQt6.QtWidgets import *
from ui.Ui_createUserDlg import Ui_createUserDlg
from userModel.userManager import userManager
import ui.res_rc
class CreateUserDlg(QDialog):
createFinished = pyqtSignal()
editFinished = pyqtSignal()
def __init__(self, parent=None):
super().__init__(parent)
self.ui = Ui_createUserDlg()
self.ui.setupUi(self)
self.userId = ""
self.ui.pbSave.clicked.connect(self.handleAccept)
self.ui.pbCancel.clicked.connect(self.reject)
def showCreateDlg(self):
self.setWindowTitle("创建用户")
self.userId = ""
self.ui.leName.setText("")
self.ui.lePassword.setText("")
self.ui.cbRoleName.setCurrentIndex(0)
self.exec()
def showEditDlg(self, user):
self.setWindowTitle("修改用户")
self.userId = user["id"]
self.ui.leName.setText(user["name"])
self.ui.lePassword.setText(user["password"])
self.ui.cbRoleName.setCurrentIndex(self.ui.cbRoleName.findText(user["role_name"]))
self.exec()
def handleAccept(self):
name = self.ui.leName.text()
password = self.ui.lePassword.text()
role_name = self.ui.cbRoleName.currentText()
role = self.ui.cbRoleName.currentIndex()
if name == "":
QMessageBox.warning(self, "错误", "用户名不能为空", QMessageBox.StandardButton.Ok)
return
if password == "":
QMessageBox.warning(self, "错误", "密码不能为空", QMessageBox.StandardButton.Ok)
return
if self.windowTitle() == "创建用户":
json_str = json.dumps({
"name": name,
"password": password,
"role": role
})
id = userManager.create(name,password,role)
if id != "":
self.createFinished.emit()
elif self.windowTitle() == "修改用户":
param = {
"name": name,
"password": password,
"role": role
}
result = userManager.update(self.userId, param)
if result:
self.editFinished.emit()
self.accept()