From b2df0ff59f6f386ed987d7486d6b1e11e2245742 Mon Sep 17 00:00:00 2001 From: jiangkegeng <jiangkegeng> Date: 星期四, 31 十月 2024 16:27:48 +0800 Subject: [PATCH] 改柔性数组 --- Client/姜可庚/code/2024kunlun_project_permisson/2024kunlun_project_permisson.pro.user | 2 +- Client/姜可庚/code/2024kunlun_project_permisson/PmsClientSocket.cpp | 11 +++-------- Client/姜可庚/code/2024kunlun_project_permisson/permissonwindow.h | 2 ++ Client/姜可庚/code/2024kunlun_project_permisson/PmsClientSocket.h | 7 ++++--- Client/姜可庚/code/2024kunlun_project_permisson/permissondialog.h | 2 ++ Client/姜可庚/code/2024kunlun_project_permisson/permissonwindow.cpp | 20 +++++++++++++------- Client/姜可庚/code/2024kunlun_project_permisson/main.cpp | 2 ++ Client/姜可庚/code/2024kunlun_project_permisson/permissondialog.cpp | 4 +++- 8 files changed, 30 insertions(+), 20 deletions(-) diff --git "a/Client/\345\247\234\345\217\257\345\272\232/code/2024kunlun_project_permisson/2024kunlun_project_permisson.pro.user" "b/Client/\345\247\234\345\217\257\345\272\232/code/2024kunlun_project_permisson/2024kunlun_project_permisson.pro.user" index 1e45d46..afa3031 100644 --- "a/Client/\345\247\234\345\217\257\345\272\232/code/2024kunlun_project_permisson/2024kunlun_project_permisson.pro.user" +++ "b/Client/\345\247\234\345\217\257\345\272\232/code/2024kunlun_project_permisson/2024kunlun_project_permisson.pro.user" @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE QtCreatorProject> -<!-- Written by QtCreator 4.5.0, 2024-10-31T15:06:39. --> +<!-- Written by QtCreator 4.5.0, 2024-10-31T16:02:45. --> <qtcreator> <data> <variable>EnvironmentId</variable> diff --git "a/Client/\345\247\234\345\217\257\345\272\232/code/2024kunlun_project_permisson/PmsClientSocket.cpp" "b/Client/\345\247\234\345\217\257\345\272\232/code/2024kunlun_project_permisson/PmsClientSocket.cpp" index bf4d8d6..8449947 100644 --- "a/Client/\345\247\234\345\217\257\345\272\232/code/2024kunlun_project_permisson/PmsClientSocket.cpp" +++ "b/Client/\345\247\234\345\217\257\345\272\232/code/2024kunlun_project_permisson/PmsClientSocket.cpp" @@ -68,10 +68,9 @@ res = (QueryPmsResponse *)buf.data(); if(res->success){ vector<PmsQueryResult> vecs; - - for(int i =0;i<100;i++){ - PmsRes structRes =res->pmsList[i]; - if(*(int *)&structRes){ + int pmsLen = res->head.len-sizeof(QueryPmsResponse); + for(int i =0;i<pmsLen;i+=sizeof(PmsRes)){ + PmsRes structRes = *(PmsRes*)(res + sizeof(QueryPmsResponse) + i*sizeof(PmsRes)); PmsQueryResult res; res.setName(string(structRes.name)); res.setUserNo(string(structRes.userNo)); @@ -83,12 +82,8 @@ res.setDevManage(structRes.devManage); res.setProductPlan(structRes.productPlan); res.setQueryHistory(structRes.queryHistory); - res.setPermissonType(string(structRes.permissonType)); - vecs.push_back(res); - - }else break; } if(!vecs.empty()){ emit notifyDateChange(vecs); diff --git "a/Client/\345\247\234\345\217\257\345\272\232/code/2024kunlun_project_permisson/PmsClientSocket.h" "b/Client/\345\247\234\345\217\257\345\272\232/code/2024kunlun_project_permisson/PmsClientSocket.h" index 2795585..0a0e535 100644 --- "a/Client/\345\247\234\345\217\257\345\272\232/code/2024kunlun_project_permisson/PmsClientSocket.h" +++ "b/Client/\345\247\234\345\217\257\345\272\232/code/2024kunlun_project_permisson/PmsClientSocket.h" @@ -72,11 +72,12 @@ typedef struct UserAboutPmsResponse{ Head head; int success; // 1涓烘垚鍔� ,0涓哄け璐� - PmsRes pmsList[100]; + //PmsRes pmsList[100]; + char pmsList[0]; UserAboutPmsResponse(){ head.type=QUERY_PMS_RES; - memset(pmsList,0,sizeof(PmsRes)); - head.len = sizeof(UserAboutPmsResponse); +// memset(pmsList,0,sizeof(PmsRes)); +// head.len = sizeof(UserAboutPmsResponse); } } QueryPmsResponse; diff --git "a/Client/\345\247\234\345\217\257\345\272\232/code/2024kunlun_project_permisson/main.cpp" "b/Client/\345\247\234\345\217\257\345\272\232/code/2024kunlun_project_permisson/main.cpp" index 41b03d3..9200eaf 100644 --- "a/Client/\345\247\234\345\217\257\345\272\232/code/2024kunlun_project_permisson/main.cpp" +++ "b/Client/\345\247\234\345\217\257\345\272\232/code/2024kunlun_project_permisson/main.cpp" @@ -6,6 +6,8 @@ QApplication a(argc, argv); PermissonWindow w; w.show(); + QString dlgTitle = "鏇存柊缁撴灉"; + QString strInfo = "鏉冮檺淇℃伅鏇存柊鎴愬姛"; return a.exec(); } diff --git "a/Client/\345\247\234\345\217\257\345\272\232/code/2024kunlun_project_permisson/permissondialog.cpp" "b/Client/\345\247\234\345\217\257\345\272\232/code/2024kunlun_project_permisson/permissondialog.cpp" index 258f81e..98d0f81 100644 --- "a/Client/\345\247\234\345\217\257\345\272\232/code/2024kunlun_project_permisson/permissondialog.cpp" +++ "b/Client/\345\247\234\345\217\257\345\272\232/code/2024kunlun_project_permisson/permissondialog.cpp" @@ -66,6 +66,8 @@ btnList[3][res.getDevManage()]->setChecked(true); btnList[4][res.getProductPlan()]->setChecked(true); + curRes = res; + } @@ -80,7 +82,7 @@ param.setDevManage(findBoxCheck(btnList[3])); param.setProductPlan(findBoxCheck(btnList[4])); - + param.setRoleId(curRes.getRoleId()); client->updatePmsByParam(param); } diff --git "a/Client/\345\247\234\345\217\257\345\272\232/code/2024kunlun_project_permisson/permissondialog.h" "b/Client/\345\247\234\345\217\257\345\272\232/code/2024kunlun_project_permisson/permissondialog.h" index 3ddff06..ecf68b2 100644 --- "a/Client/\345\247\234\345\217\257\345\272\232/code/2024kunlun_project_permisson/permissondialog.h" +++ "b/Client/\345\247\234\345\217\257\345\272\232/code/2024kunlun_project_permisson/permissondialog.h" @@ -28,6 +28,8 @@ int findBoxCheck(map<int,QRadioButton *> map); + PmsQueryResult curRes; + private slots: void recvUserNo(PmsQueryResult pms); void on_buttonBox_accepted(); diff --git "a/Client/\345\247\234\345\217\257\345\272\232/code/2024kunlun_project_permisson/permissonwindow.cpp" "b/Client/\345\247\234\345\217\257\345\272\232/code/2024kunlun_project_permisson/permissonwindow.cpp" index cd23094..71580ef 100644 --- "a/Client/\345\247\234\345\217\257\345\272\232/code/2024kunlun_project_permisson/permissonwindow.cpp" +++ "b/Client/\345\247\234\345\217\257\345\272\232/code/2024kunlun_project_permisson/permissonwindow.cpp" @@ -78,9 +78,11 @@ + connect(ac1,&QAction::triggered,[=]{ int row = ui->tableView->currentIndex().row(); - qDebug() << globalPms[row].getDevManage(); + qDebug() << "鏇存柊褰撳墠鍛樺伐淇℃伅" + << QString::fromStdString( globalPms[row].getUserNo()); // 鍙戦�佸憳宸ョ紪鍙蜂俊鎭� emit sendUserNo(globalPms[row]); @@ -99,7 +101,9 @@ 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){ + if(event->type()==QEvent::MouseButtonPress + && ((QMouseEvent *)event)->button()==Qt::RightButton + && m_model->rowCount() > 0){ m->exec(QCursor::pos()); } @@ -132,12 +136,14 @@ void PermissonWindow::listenItemChange(QStandardItem *item) { - qDebug() << "鏁版嵁寮�濮嬫洿鏂�"; QString localText = item->text(); - PmsPlusParma pm; - pm.setPermissonType(localText.toStdString()); - pm.setRoleId(roleMap[localText.toStdString()]); - clientSocket->updatePmsByParam(pm); + 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) diff --git "a/Client/\345\247\234\345\217\257\345\272\232/code/2024kunlun_project_permisson/permissonwindow.h" "b/Client/\345\247\234\345\217\257\345\272\232/code/2024kunlun_project_permisson/permissonwindow.h" index aeb776b..a9f57be 100644 --- "a/Client/\345\247\234\345\217\257\345\272\232/code/2024kunlun_project_permisson/permissonwindow.h" +++ "b/Client/\345\247\234\345\217\257\345\272\232/code/2024kunlun_project_permisson/permissonwindow.h" @@ -10,6 +10,8 @@ #include "syncdatatodb.h" #include "PmsClientSocket.h" +#include <QMessageBox> + using namespace std; -- Gitblit v1.8.0