You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

337 lines
9.8 KiB
Python

from PyQt5 import QtCore
from PyQt5.QtCore import Qt
from PyQt5.QtWidgets import QDialog, QLabel, QLineEdit, QComboBox, QPushButton, QVBoxLayout, QHBoxLayout, QSplitter, \
QGridLayout, QGroupBox, QCheckBox
from DcsUi.userManagement.myQGroupBox import GroupBox
class myNewBuildWindow(QDialog):
my_Signal = QtCore.pyqtSignal(str)
def __init__(self):
super().__init__()
self.setWindowModality(Qt.ApplicationModal)
self.setWindowFlags(QtCore.Qt.WindowCloseButtonHint)
self.init()
def init(self):
self.setWindowTitle('添加用户')
self.lab_username = QLabel('用户名:')
self.lab_name = QLabel('姓名:')
self.lab_group = QLabel('所属组:')
self.lab_passworld = QLabel('登录密码:')
self.line_username = QLineEdit()
self.line_name = QLineEdit()
self.line_passworld = QLineEdit()
self.line_passworld.setEchoMode(QLineEdit.Password)
self.commit_but = QPushButton('保存')
self.cancel_btn = QPushButton('取消')
self.commit_but.clicked.connect(self.preservation)
self.cancel_btn.clicked.connect(self.close)
self.combobox_group = QComboBox(self, minimumWidth=100)
lis = [
self.lab_username, self.line_username,
self.lab_name, self.line_name,
self.lab_group, self.combobox_group,
self.lab_passworld, self.line_passworld
]
layout = QVBoxLayout()
h_grid = QGridLayout()
h_btn = QHBoxLayout()
positions = [(i, j) for i in range(4) for j in range(2)]
for position, control in zip(positions, lis):
h_grid.addWidget(control, *position)
h_btn.addWidget(QSplitter())
h_btn.addWidget(self.commit_but)
h_btn.addWidget(self.cancel_btn)
h_btn.addWidget(QSplitter())
layout.addLayout(h_grid)
layout.addLayout(h_btn)
self.setLayout(layout)
self.initCombobox()
def initCombobox(self):
pass
def preservation(self):
pass
class myEditWindow(QDialog):
my_Signal = QtCore.pyqtSignal(str)
def __init__(self, lis):
super().__init__()
self.setWindowModality(Qt.ApplicationModal)
self.setWindowFlags(QtCore.Qt.WindowCloseButtonHint)
self.list1 = lis
self.init()
def init(self):
self.setWindowTitle('编辑用户信息')
self.lab_username = QLabel('用户名:')
self.lab_name = QLabel('姓名:')
self.lab_group = QLabel('所属组')
self.line_username = QLineEdit(self.list1[0])
self.line_name = QLineEdit(self.list1[1])
self.btn_commit = QPushButton('保存')
self.btn_cancel = QPushButton('取消')
self.btn_commit.clicked.connect(self.preservation)
self.btn_cancel.clicked.connect(self.close)
self.combobox_group = QComboBox(self, minimumWidth=100)
self.initCombobox()
lis = [
self.lab_username, self.line_username,
self.lab_name, self.line_name,
self.lab_group, self.combobox_group,
]
layout = QVBoxLayout()
h_grid = QGridLayout()
h_btn = QHBoxLayout()
positions = [(i, j) for i in range(4) for j in range(2)]
for position, control in zip(positions, lis):
h_grid.addWidget(control, *position)
h_btn.addWidget(QSplitter())
h_btn.addWidget(self.btn_commit)
h_btn.addWidget(self.btn_cancel)
h_btn.addWidget(QSplitter())
layout.addLayout(h_grid)
layout.addLayout(h_btn)
self.setLayout(layout)
def initCombobox(self):
pass
def preservation(self):
pass
class modifyPassworld(QDialog):
my_Signal = QtCore.pyqtSignal(str)
def __init__(self, str):
super().__init__()
self.setWindowModality(Qt.ApplicationModal)
self.setWindowFlags(QtCore.Qt.WindowCloseButtonHint)
self.name = str
self.init()
def init(self):
self.setWindowTitle('修改密码')
self.lab_primitivePassword = QLabel('原始密码')
self.lab_updatePassword = QLabel('更新密码')
self.lab_confirmPassword = QLabel('确认密码')
self.line_primitivePassword = QLineEdit()
self.line_updatePassword = QLineEdit()
self.line_confirmPassword = QLineEdit()
self.line_primitivePassword.setEchoMode(QLineEdit.Password)
self.line_updatePassword.setEchoMode(QLineEdit.Password)
self.line_confirmPassword.setEchoMode(QLineEdit.Password)
self.btn_commit = QPushButton('保存')
self.btn_cancel = QPushButton('取消')
self.btn_commit.clicked.connect(self.preservation)
self.btn_cancel.clicked.connect(self.close)
lis = [
self.lab_primitivePassword, self.line_primitivePassword,
self.lab_updatePassword, self.line_updatePassword,
self.lab_confirmPassword, self.line_confirmPassword,
]
layout = QVBoxLayout()
h_grid = QGridLayout()
h_btn = QHBoxLayout()
positions = [(i, j) for i in range(3) for j in range(2)]
for position, control in zip(positions, lis):
h_grid.addWidget(control, *position)
h_btn.addWidget(QSplitter())
h_btn.addWidget(self.btn_commit)
h_btn.addWidget(self.btn_cancel)
h_btn.addWidget(QSplitter())
layout.addLayout(h_grid)
layout.addLayout(h_btn)
self.setLayout(layout)
def preservation(self):
pass
def modify_password(self, username, fieldData):
pass
class newBuildGroup(QDialog):
my_Signal = QtCore.pyqtSignal(str)
def __init__(self):
super().__init__()
self.setWindowModality(Qt.ApplicationModal)
self.setWindowFlags(QtCore.Qt.WindowCloseButtonHint)
self.init()
def init(self):
self.setWindowTitle('添加组')
self.lab_groupName = QLabel('组名')
self.lab_groupDescribe = QLabel('组描述')
self.line_groupName = QLineEdit()
self.line_groupDescribe = QLineEdit()
self.btn_commit = QPushButton('保存')
self.btn_cancel = QPushButton('取消')
self.btn_commit.clicked.connect(self.preservation)
self.btn_cancel.clicked.connect(self.close)
lis = [
self.lab_groupName, self.line_groupName,
self.lab_groupDescribe, self.line_groupDescribe
]
layout = QVBoxLayout()
h_grid = QGridLayout()
h_btn = QHBoxLayout()
positions = [(i, j) for i in range(2) for j in range(2)]
for position, control in zip(positions, lis):
h_grid.addWidget(control, *position)
h_btn.addWidget(QSplitter())
h_btn.addWidget(self.btn_commit)
h_btn.addWidget(self.btn_cancel)
h_btn.addWidget(QSplitter())
layout.addLayout(h_grid)
layout.addLayout(h_btn)
self.setLayout(layout)
def preservation(self):
pass
class userGroupSettings(QDialog):
my_Signal = QtCore.pyqtSignal(str)
def __init__(self, group_id):
super().__init__()
self.setWindowModality(Qt.ApplicationModal)
self.setWindowFlags(QtCore.Qt.WindowCloseButtonHint)
self.setWindowTitle('用户组管理')
self.lis = []
self.group_id = group_id
self.checkBox_list = []
self.checkBox_lis = []
self.init()
def init(self):
self.createCheckBox()
self.createOperateCheckBox2()
mainLayout = QVBoxLayout()
hboxLayout = QHBoxLayout()
mainLayout.addLayout(hboxLayout)
mainLayout.addWidget(self.groupBox1)
mainLayout.addWidget(self.groupBox3)
self.setLayout(mainLayout)
def createCheckBox(self):
self.btn_allUser = QPushButton('全选用户')
self.btn_unAllUser = QPushButton('全不选用户')
self.btn_allUser.clicked.connect(self.addAllUser)
self.btn_unAllUser.clicked.connect(self.unAddAllUser)
self.groupBox1 = QGroupBox('用户管理')
lis = self.get_group_users()
layout = QGridLayout()
positions = [(i, j) for i in range(len(self.get_all_users()) // 5 + 1) for j in range(5)]
for position, name in zip(positions, self.get_all_users()):
checkBox = QCheckBox(name.username)
self.checkBox_list.append(checkBox)
checkBox.stateChanged.connect(self.changecb)
layout.addWidget(checkBox, *position)
if name in lis:
checkBox.setChecked(True)
layout.addWidget(self.btn_allUser, len(self.get_all_users()) // 5 + 1, 5)
layout.addWidget(self.btn_unAllUser, len(self.get_all_users()) // 5 + 1, 4)
self.groupBox1.setLayout(layout)
def createOperateCheckBox2(self):
self.groupBox3 = QGroupBox('权限')
layout = QVBoxLayout()
self.group1 = GroupBox(name='工程模块', key=1, group_id=self.group_id)
self.group2 = GroupBox(name='配置管理模块', key=2, group_id=self.group_id)
self.group3 = GroupBox(name='执行模块', key=3, group_id=self.group_id)
self.group4 = GroupBox(name='记录模块', key=4, group_id=self.group_id)
self.group5 = GroupBox(name='账户管理', key=5, group_id=self.group_id)
layout.addWidget(self.group1)
layout.addWidget(self.group2)
layout.addWidget(self.group3)
layout.addWidget(self.group4)
layout.addWidget(self.group5)
self.groupBox3.setLayout(layout)
def get_all_users(self):
pass
def get_all_operate(self):
pass
def get_group_operate(self):
pass
def get_group_users(self):
pass
def changecb(self, state):
pass
def addAllUser(self):
pass
def unAddAllUser(self):
pass
def closeEvent(self, event):
pass