addUserWidget.py 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. from PyQt6.QtCore import Qt , QSortFilterProxyModel
  2. from PyQt6.QtWidgets import QCompleter , QWidget , QMessageBox
  3. from UI.adduser import Ui_FormAdduser
  4. from .LogerinTxt import app_logger
  5. from Functions.apiFunction import api_fc
  6. class addUserWidget(Ui_FormAdduser, QWidget):
  7. def __init__(self, parent=None):
  8. super().__init__(parent)
  9. try:
  10. self.setupUi(self)
  11. self.pushButton.clicked.connect(self.btn)
  12. self.comboBox.addItems(['1', '2', '3',"4"])
  13. self.comboBox.setEditable(True)
  14. self.filterModel = QSortFilterProxyModel(self.comboBox)
  15. self.filterModel.setFilterCaseSensitivity(Qt.CaseSensitivity.CaseInsensitive)
  16. self.filterModel.setSourceModel(self.comboBox.model())
  17. self.completer = QCompleter(self.filterModel, self.comboBox)
  18. self.completer.setCompletionMode(QCompleter.CompletionMode.UnfilteredPopupCompletion)
  19. self.completer.setCaseSensitivity(Qt.CaseSensitivity.CaseInsensitive)
  20. self.comboBox.setCompleter(self.completer)
  21. self.comboBox.lineEdit().textEdited.connect(self.filterModel.setFilterFixedString)
  22. self.completer.activated.connect(self.on_completer_activated)
  23. self.ipinfo = None
  24. self.user = None
  25. self.authority=None
  26. except Exception as e:
  27. app_logger.log_error(e)
  28. def severpost_meassge(self, postname, data: dict):
  29. try:
  30. # ip = "http://" + str(self.ipinfo) + "/static/" + str(postname)
  31. # data = json.dumps(data)
  32. # res = requests.post(url=ip, data=data, timeout=30).json()
  33. res = api_fc.request_post('/static/{}'.format(postname), data=data)
  34. return res
  35. except Exception as e:
  36. QMessageBox.warning(self, "提示", "服务器连接超时,请联系管理员检查服务器!")
  37. app_logger.log_error(e)
  38. return 'fail'
  39. def on_completer_activated(self, text):
  40. try:
  41. if text:
  42. index = self.comboBox.findText(text)
  43. self.comboBox.setCurrentIndex(index)
  44. except Exception as e:
  45. app_logger.log_error(e)
  46. def btn(self):
  47. try:
  48. if int(self.authority) <= 1:
  49. username = self.lineEditUser.text()
  50. password = self.lineEditPWD.text()
  51. authority = self.comboBox.currentText()
  52. people = self.lineEditPeople.text()
  53. if username != "" and password != "":
  54. # print('用户名:{},密码:{},权限:{},使用人:{}'.format(username,password,authority,people))
  55. dataDic = {
  56. '登录名': username,
  57. '密码': password,
  58. '权限': authority,
  59. '使用人': people
  60. }
  61. res = self.severpost_meassge("addUserWidget", dataDic)
  62. if res["返回值"] == "1":
  63. self.close()
  64. self.show_message("提示", "用户创建成功!!!")
  65. elif res["返回值"] == "2":
  66. self.show_message("警告", "此用户已存在")
  67. elif res["返回值"] == "0":
  68. self.show_message("警告", "创建失败,请联系管理员!")
  69. else:
  70. self.show_message("警告", "用户名或密码不能为空!!!")
  71. else:
  72. self.close()
  73. self.show_message("警告", "权限不够,请联系管理员!!!")
  74. except Exception as e:
  75. app_logger.log_error(e)
  76. def show_message(self, type, str):
  77. try:
  78. QMessageBox.warning(self, "%s" % type, "%s" % str)
  79. except Exception as e:
  80. app_logger.log_error(e)