New file |
| | |
| | | #include "permissonwindow.h" |
| | | #include "qcomboxdelegate.h" |
| | | #include "ui_permissonwindow.h" |
| | | |
| | | #include <QDialog> |
| | | #include <QMouseEvent> |
| | | #include <QPushButton> |
| | | |
| | | PermissonWindow::PermissonWindow(QWidget *parent) : |
| | | QMainWindow(parent), |
| | | ui(new Ui::PermissonWindow) |
| | | { |
| | | ui->setupUi(this); |
| | | clientSocket = new PmsClientSocket(this); |
| | | |
| | | dia = new PermissonDialog(this,clientSocket); |
| | | |
| | | |
| | | |
| | | connect(this,SIGNAL(sendUserNo(PmsQueryResult)),dia,SLOT(recvUserNo(PmsQueryResult))); |
| | | connect(clientSocket,SIGNAL(notifyDateChange(vector<PmsQueryResult>)),this,SLOT(renderItemData(vector<PmsQueryResult>))); |
| | | |
| | | roleMap["æ®ééç¿åå·¥"] = 1; |
| | | roleMap["ææ¯ç»´æ¤äººå"] = 2; |
| | | roleMap["ç³»ç»ç®¡çå"] = 3; |
| | | roleMap["å®å
¨ç®¡ç人å"] = 4; |
| | | |
| | | this->setWindowTitle("æé管ç"); |
| | | vector<QString> lableList; |
| | | lableList.push_back("åå·¥ç¼å·"); |
| | | lableList.push_back("å§å"); |
| | | lableList.push_back("å½å¤©å·¥ä½æ¶é´"); |
| | | lableList.push_back("å½å¤©ç»ææ¶é´"); |
| | | lableList.push_back("èä½"); |
| | | |
| | | |
| | | |
| | | m_model = new QStandardItemModel(globalPms.size(),lableList.size(),this); |
| | | |
| | | ui->tableView->setModel(m_model); |
| | | |
| | | for(int i=0;i<m_model->rowCount();i++){ |
| | | PmsQueryResult curRes = globalPms[i]; |
| | | m_model->setItem(i,0,new QStandardItem(QString::fromStdString(curRes.getUserNo()))); |
| | | m_model->setItem(i,1,new QStandardItem(QString::fromLocal8Bit(curRes.getName().c_str()))); |
| | | m_model->setItem(i,2,new QStandardItem(QString::fromStdString(curRes.getStartDateTime()))); |
| | | m_model->setItem(i,3,new QStandardItem(QString::fromStdString(curRes.getEndDateTime()))); |
| | | m_model->setItem(i,4,new QStandardItem(QString::fromLocal8Bit(curRes.getPermissonType().c_str()))); |
| | | |
| | | } |
| | | |
| | | ui->tableView->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch); |
| | | ui->tableView->verticalHeader()->hide(); |
| | | |
| | | |
| | | QStringList lable; |
| | | for(int i=0;i<m_model->columnCount();i++){ |
| | | lable << lableList.at(i); |
| | | } |
| | | |
| | | m_model->setHorizontalHeaderLabels(lable); |
| | | |
| | | QComBoxDelegate * qc = new QComBoxDelegate(this); |
| | | |
| | | |
| | | |
| | | ui->tableView->setItemDelegateForColumn(4,qc); |
| | | |
| | | |
| | | m = new QMenu(this); |
| | | QAction * ac1 = new QAction("ç¼è¾å½ååå·¥æé"); |
| | | |
| | | |
| | | m->addAction(ac1); |
| | | |
| | | |
| | | ui->tableView->viewport()->installEventFilter(this); |
| | | |
| | | |
| | | |
| | | |
| | | connect(ac1,&QAction::triggered,[=]{ |
| | | int row = ui->tableView->currentIndex().row(); |
| | | qDebug() << "æ´æ°å½åå工信æ¯" |
| | | << QString::fromStdString( globalPms[row].getUserNo()); |
| | | // åéåå·¥ç¼å·ä¿¡æ¯ |
| | | emit sendUserNo(globalPms[row]); |
| | | |
| | | dia->setModal(true); |
| | | dia->show(); |
| | | }); |
| | | |
| | | |
| | | connect(m_model,SIGNAL(itemChanged(QStandardItem*)),this,SLOT(listenItemChange(QStandardItem*))); |
| | | |
| | | |
| | | } |
| | | |
| | | bool PermissonWindow::eventFilter(QObject *watch, QEvent *event) |
| | | { |
| | | if(watch == ui->tableView->viewport() || watch == ui->tableView->verticalHeader()->viewport() |
| | | |
| | | || watch == ui->tableView->horizontalHeader()->viewport()){ |
| | | if(event->type()==QEvent::MouseButtonPress |
| | | && ((QMouseEvent *)event)->button()==Qt::RightButton |
| | | && m_model->rowCount() > 0){ |
| | | m->exec(QCursor::pos()); |
| | | } |
| | | |
| | | } |
| | | return QMainWindow::eventFilter(watch,event); |
| | | } |
| | | |
| | | |
| | | PermissonWindow::~PermissonWindow() |
| | | { |
| | | delete dbInfo; |
| | | delete dia; |
| | | delete m_model; |
| | | delete m; |
| | | delete ui; |
| | | } |
| | | |
| | | void PermissonWindow::on_pushButton_clicked() |
| | | { |
| | | qDebug() << "åéæ¥è¯¢è¯·æ±"; |
| | | PmsParam pm; |
| | | pm.setName(ui->lineEdit->text().toStdString()); |
| | | pm.setPermissonType(ui->lineEdit_2->text().toStdString()); |
| | | pm.setUserNo(ui->lineEdit_3->text().toStdString()); |
| | | |
| | | clientSocket->queryPmsByParam(pm); |
| | | qDebug() << "æ¥è¯¢ä¸"; |
| | | |
| | | } |
| | | |
| | | void PermissonWindow::listenItemChange(QStandardItem *item) |
| | | { |
| | | QString localText = item->text(); |
| | | if(roleMap.count(localText.toStdString())){ |
| | | qDebug() << "åèµ·è使´æ°è¯·æ±"; |
| | | PmsPlusParma pm; |
| | | pm.setPermissonType(localText.toStdString()); |
| | | pm.setRoleId(roleMap[localText.toStdString()]); |
| | | clientSocket->updatePmsByParam(pm); |
| | | } |
| | | } |
| | | |
| | | void PermissonWindow::renderItemData(vector<PmsQueryResult> res) |
| | | { |
| | | globalPms = res; |
| | | m_model->setRowCount(globalPms.size()); |
| | | |
| | | for(int i=0;i<m_model->rowCount();i++){ |
| | | PmsQueryResult curRes = globalPms[i]; |
| | | m_model->setItem(i,0,new QStandardItem(QString::fromStdString(curRes.getUserNo()))); |
| | | m_model->setItem(i,1,new QStandardItem(QString::fromLocal8Bit(curRes.getName().c_str()))); |
| | | m_model->setItem(i,2,new QStandardItem(QString::fromStdString(curRes.getStartDateTime()))); |
| | | m_model->setItem(i,3,new QStandardItem(QString::fromStdString(curRes.getEndDateTime()))); |
| | | m_model->setItem(i,4,new QStandardItem(QString::fromLocal8Bit(curRes.getPermissonType().c_str()))); |
| | | |
| | | } |
| | | ui->tableView->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch); |
| | | qDebug() << "æ¥è¯¢å°çæ°é " << globalPms.size(); |
| | | } |
| | | |