addUserWidget.py 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. from UI.adduser import Ui_FormAdduser
  2. from .LogerinTxt import app_logger
  3. from PyQt6.QtCore import Qt, QSortFilterProxyModel
  4. from PyQt6.QtWidgets import QCompleter, QWidget, QMessageBox
  5. import json
  6. import requests
  7. class addUserWidget(Ui_FormAdduser, QWidget):
  8. def __init__(self, parent=None):
  9. super().__init__(parent)
  10. try:
  11. self.setupUi(self)
  12. self.pushButton.clicked.connect(self.btn)
  13. self.comboBox.addItems(['1', '2', '3',"4"])
  14. self.comboBox.setEditable(True)
  15. self.filterModel = QSortFilterProxyModel(self.comboBox)
  16. self.filterModel.setFilterCaseSensitivity(Qt.CaseSensitivity.CaseInsensitive)
  17. self.filterModel.setSourceModel(self.comboBox.model())
  18. self.completer = QCompleter(self.filterModel, self.comboBox)
  19. self.completer.setCompletionMode(QCompleter.CompletionMode.UnfilteredPopupCompletion)
  20. self.completer.setCaseSensitivity(Qt.CaseSensitivity.CaseInsensitive)
  21. self.comboBox.setCompleter(self.completer)
  22. self.comboBox.lineEdit().textEdited.connect(self.filterModel.setFilterFixedString)
  23. self.completer.activated.connect(self.on_completer_activated)
  24. self.ipinfo = None
  25. self.user = None
  26. self.authority=None
  27. except Exception as e:
  28. app_logger.log_error(e)
  29. def severpost_meassge(self, postname, data: dict):
  30. try:
  31. ip = "http://" + str(self.ipinfo) + "/static/" + str(postname)
  32. data = json.dumps(data)
  33. res = requests.post(url=ip, data=data, timeout=30).json()
  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. else:
  66. self.show_message("警告", "此用户已存在")
  67. else:
  68. self.show_message("警告", "用户名或密码不能为空!!!")
  69. else:
  70. self.close()
  71. self.show_message("警告", "权限不够,请联系管理员!!!")
  72. except Exception as e:
  73. app_logger.log_error(e)
  74. def show_message(self, type, str):
  75. try:
  76. QMessageBox.warning(self, "%s" % type, "%s" % str)
  77. except Exception as e:
  78. app_logger.log_error(e)