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()