123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- from UI.changeAuth import Ui_changeAuth
- from .LogerinTxt import app_logger
- from PyQt6.QtCore import Qt, QSortFilterProxyModel
- from PyQt6.QtWidgets import QCompleter, QWidget,QMessageBox
- import json
- import requests
- class changeAuth(Ui_changeAuth, QWidget):
- def __init__(self, parent=None):
- super().__init__(parent)
- try:
- self.setupUi(self)
- self.ipinfo = None
- self.label_5.setText("")
- self.label_6.setText("")
- self.pushButton.clicked.connect(self.btn)
- self.user = None
- self.comboBox.addItems(['1', '2', '3',"4"])
- self.comboBox.setEditable(True)
- self.filterModel1 = QSortFilterProxyModel(self.comboBox)
- self.filterModel1.setFilterCaseSensitivity(Qt.CaseSensitivity.CaseInsensitive)
- self.filterModel1.setSourceModel(self.comboBox.model())
- self.completer1 = QCompleter(self.filterModel1, self.comboBox)
- self.completer1.setCompletionMode(QCompleter.CompletionMode.UnfilteredPopupCompletion)
- self.completer1.setCaseSensitivity(Qt.CaseSensitivity.CaseInsensitive)
- self.comboBox.setCompleter(self.completer)
- self.comboBox.lineEdit().textEdited.connect(self.filterModel1.setFilterFixedString)
- self.completer1.activated.connect(self.on_completer_activated1)
- except Exception as e:
- app_logger.log_error(e)
- def start(self):
- self.show()
- try:
- ip = "http://" + str(self.ipinfo) + "/static/loginDbget/" + str(self.user)
- self.res = requests.get(url=ip, timeout=30).json()
- except Exception as e:
- # print('登录服务器失败')
- QMessageBox.warning(self, "提示", "服务器连接超时,请联系管理员检查服务器!")
- app_logger.log_error(e)
- self.res = {}
- if self.res != {}:
- namelist = []
- for i in self.res.keys():
- namelist.append(self.res[i]["登录名"])
- print(namelist)
- self.comboBox_2.addItems(namelist)
- self.comboBox_2.setEditable(True)
- self.comboBox_2.currentIndexChanged.connect(self.changed)
- self.filterModel = QSortFilterProxyModel(self.comboBox_2)
- self.filterModel.setFilterCaseSensitivity(Qt.CaseSensitivity.CaseInsensitive)
- self.filterModel.setSourceModel(self.comboBox_2.model())
- self.completer = QCompleter(self.filterModel, self.comboBox_2)
- self.completer.setCompletionMode(QCompleter.CompletionMode.UnfilteredPopupCompletion)
- self.completer.setCaseSensitivity(Qt.CaseSensitivity.CaseInsensitive)
- self.comboBox_2.setCompleter(self.completer)
- self.comboBox_2.lineEdit().textEdited.connect(self.filterModel.setFilterFixedString)
- self.completer.activated.connect(self.on_completer_activated)
- else:
- QMessageBox.warning(self, "提示", "获取数据库为空,请检查数据库或联系管理员")
- def on_completer_activated1(self, text):
- try:
- if text:
- index = self.comboBox.findText(text)
- self.comboBox.setCurrentIndex(index)
- except Exception as e:
- app_logger.log_error(e)
- def on_completer_activated(self, text):
- try:
- if text:
- print(text)
- index = self.comboBox_2.findText(text)
- self.comboBox_2.setCurrentIndex(index)
- except Exception as e:
- app_logger.log_error(e)
- def changed(self):
- if self.res != {}:
- self.label_5.setText(self.res[self.comboBox_2.currentText()]["使用人"])
- self.label_6.setText(self.res[self.comboBox_2.currentText()]["权限"])
- def btn(self):
- data = {
- '登录名': "'%s'" % self.comboBox_2.currentText(),
- "权限": "'%s'" % self.comboBox.currentText()
- }
- try:
- ip = "http://" + str(self.ipinfo) + "/static/changeAuth"
- data = json.dumps(data)
- res = requests.post(url=ip, data=data, timeout=30).json()
- if res["返回值"] == "1":
- QMessageBox.warning(self, "提示", "权限变更成功!")
- self.close()
- else:
- QMessageBox.warning(self, "提示", "权限变更失败,请联系管理员检查服务器!")
- except Exception as e:
- QMessageBox.warning(self, "提示", "服务器连接超时,请联系管理员检查服务器!")
- app_logger.log_error(e)
|