72 lines
2.3 KiB
Python
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()
|
||
|
|
|
||
|
|
|
||
|
|
|