changeAuth.py 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. from UI.changeAuth import Ui_changeAuth
  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 changeAuth(Ui_changeAuth, QWidget):
  8. def __init__(self, parent=None):
  9. super().__init__(parent)
  10. try:
  11. self.setupUi(self)
  12. self.ipinfo = None
  13. self.label_5.setText("")
  14. self.label_6.setText("")
  15. self.pushButton.clicked.connect(self.btn)
  16. self.user = None
  17. self.comboBox.addItems(['1', '2', '3',"4"])
  18. self.comboBox.setEditable(True)
  19. self.filterModel1 = QSortFilterProxyModel(self.comboBox)
  20. self.filterModel1.setFilterCaseSensitivity(Qt.CaseSensitivity.CaseInsensitive)
  21. self.filterModel1.setSourceModel(self.comboBox.model())
  22. self.completer1 = QCompleter(self.filterModel1, self.comboBox)
  23. self.completer1.setCompletionMode(QCompleter.CompletionMode.UnfilteredPopupCompletion)
  24. self.completer1.setCaseSensitivity(Qt.CaseSensitivity.CaseInsensitive)
  25. self.comboBox.setCompleter(self.completer)
  26. self.comboBox.lineEdit().textEdited.connect(self.filterModel1.setFilterFixedString)
  27. self.completer1.activated.connect(self.on_completer_activated1)
  28. except Exception as e:
  29. app_logger.log_error(e)
  30. def start(self):
  31. self.show()
  32. try:
  33. ip = "http://" + str(self.ipinfo) + "/static/loginDbget/" + str(self.user)
  34. self.res = requests.get(url=ip, timeout=30).json()
  35. except Exception as e:
  36. # print('登录服务器失败')
  37. QMessageBox.warning(self, "提示", "服务器连接超时,请联系管理员检查服务器!")
  38. app_logger.log_error(e)
  39. self.res = {}
  40. if self.res != {}:
  41. namelist = []
  42. for i in self.res.keys():
  43. namelist.append(self.res[i]["登录名"])
  44. print(namelist)
  45. self.comboBox_2.addItems(namelist)
  46. self.comboBox_2.setEditable(True)
  47. self.comboBox_2.currentIndexChanged.connect(self.changed)
  48. self.filterModel = QSortFilterProxyModel(self.comboBox_2)
  49. self.filterModel.setFilterCaseSensitivity(Qt.CaseSensitivity.CaseInsensitive)
  50. self.filterModel.setSourceModel(self.comboBox_2.model())
  51. self.completer = QCompleter(self.filterModel, self.comboBox_2)
  52. self.completer.setCompletionMode(QCompleter.CompletionMode.UnfilteredPopupCompletion)
  53. self.completer.setCaseSensitivity(Qt.CaseSensitivity.CaseInsensitive)
  54. self.comboBox_2.setCompleter(self.completer)
  55. self.comboBox_2.lineEdit().textEdited.connect(self.filterModel.setFilterFixedString)
  56. self.completer.activated.connect(self.on_completer_activated)
  57. else:
  58. QMessageBox.warning(self, "提示", "获取数据库为空,请检查数据库或联系管理员")
  59. def on_completer_activated1(self, text):
  60. try:
  61. if text:
  62. index = self.comboBox.findText(text)
  63. self.comboBox.setCurrentIndex(index)
  64. except Exception as e:
  65. app_logger.log_error(e)
  66. def on_completer_activated(self, text):
  67. try:
  68. if text:
  69. print(text)
  70. index = self.comboBox_2.findText(text)
  71. self.comboBox_2.setCurrentIndex(index)
  72. except Exception as e:
  73. app_logger.log_error(e)
  74. def changed(self):
  75. if self.res != {}:
  76. self.label_5.setText(self.res[self.comboBox_2.currentText()]["使用人"])
  77. self.label_6.setText(self.res[self.comboBox_2.currentText()]["权限"])
  78. def btn(self):
  79. data = {
  80. '登录名': "'%s'" % self.comboBox_2.currentText(),
  81. "权限": "'%s'" % self.comboBox.currentText()
  82. }
  83. try:
  84. ip = "http://" + str(self.ipinfo) + "/static/changeAuth"
  85. data = json.dumps(data)
  86. res = requests.post(url=ip, data=data, timeout=30).json()
  87. if res["返回值"] == "1":
  88. QMessageBox.warning(self, "提示", "权限变更成功!")
  89. self.close()
  90. else:
  91. QMessageBox.warning(self, "提示", "权限变更失败,请联系管理员检查服务器!")
  92. except Exception as e:
  93. QMessageBox.warning(self, "提示", "服务器连接超时,请联系管理员检查服务器!")
  94. app_logger.log_error(e)