240717班级,工业化控制系统,煤矿相关行业,昆仑系统
Administrator
2024-11-06 731aab44a67db573ab7a9e6af8bfecf6efebbd23
Client/½ª¿É¸ý/code/2024kunlun_project_permisson/permissonwindow.cpp
@@ -11,46 +11,20 @@
    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("部门");
    lableList.push_back("登录时间");
    lableList.push_back("注册时间");
    lableList.push_back("职位");
    clientSocket = new PmsClientSocket(this);
    dia = new PermissonDialog(this,clientSocket);
    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;
@@ -60,11 +34,22 @@
    m_model->setHorizontalHeaderLabels(lable);
    ui->tableView->setModel(m_model);
    ui->tableView->verticalHeader()->hide();
    connect(this,SIGNAL(sendUserNo(PmsQueryResult)),dia,SLOT(recvUserNo(PmsQueryResult)));
    connect(clientSocket,SIGNAL(notifyDateChange(vector<PmsQueryResult>)),this,SLOT(renderItemData(vector<PmsQueryResult>)));
    connect(m_model,SIGNAL(itemChanged(QStandardItem*)),this,SLOT(listenItemChange(QStandardItem*)));
    // å‘一次查询全部数据请求
    clientSocket->queryAllUserAboutUser();
    QComBoxDelegate * qc = new QComBoxDelegate(this);
    ui->tableView->setItemDelegateForColumn(4,qc);
    ui->tableView->setItemDelegateForColumn(5,qc);
    m = new QMenu(this);
@@ -82,17 +67,13 @@
    connect(ac1,&QAction::triggered,[=]{
         int row = ui->tableView->currentIndex().row();
         qDebug() << "更新当前员工信息"
                  <<  QString::fromStdString( globalPms[row].getUserNo());
                  << globalPms[row].getUserNo();
         // å‘送员工编号信息
         emit sendUserNo(globalPms[row]);
         dia->setModal(true);
         dia->show();
    });
    connect(m_model,SIGNAL(itemChanged(QStandardItem*)),this,SLOT(listenItemChange(QStandardItem*)));
}
@@ -123,44 +104,50 @@
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());
    pm.setName(ui->lineEdit->text());
    pm.setPermissonType(ui->lineEdit_2->text());
    pm.setUserNo(ui->lineEdit_3->text());
    clientSocket->queryPmsByParam(pm);
    qDebug() << "查询中";
}
void PermissonWindow::listenItemChange(QStandardItem *item)
{
    QString localText = item->text();
    if(roleMap.count(localText.toStdString())){
        qDebug() << "发起职位更新请求";
    if(item->column()==m_model->columnCount()-1){
        QString localText = item->text();
        PmsPlusParma pm;
        pm.setPermissonType(localText.toStdString());
        pm.setRoleId(roleMap[localText.toStdString()]);
        pm.setPermissonType(localText);
        int id = globalPms[item->row()].getId();
        pm.setId(id);
        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())));
        m_model->setItem(i,0,new QStandardItem(curRes.getUserNo()));
        m_model->setItem(i,1,new QStandardItem(curRes.getName()));
        m_model->setItem(i,2,new QStandardItem(QString::fromStdString(curRes.getDepartment())));
        m_model->setItem(i,3,new QStandardItem(QString::fromStdString(curRes.getLoginTime())));
        m_model->setItem(i,4,new QStandardItem(QString::fromStdString(curRes.getRegisterTime())));
        m_model->blockSignals(true);
        m_model->setItem(i,5,new QStandardItem(curRes.getPermissonType()));
        m_model->blockSignals(false);
    }
    ui->tableView->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);
    qDebug() << "查询到的数量 " << globalPms.size();
}