Browse Source

updates: UI tweaks

Yao 3 weeks ago
parent
commit
9b8551f856

+ 1 - 1
CMakeLists.txt

@@ -11,7 +11,7 @@ set(CMAKE_CXX_STANDARD 17)
 set(CMAKE_CXX_STANDARD_REQUIRED ON)
 
 # # 设置 OpenSSL 安装路径
-# set(OPENSSL_ROOT_DIR "D:/qt/Tools/OpenSSLv3/Win_x64")
+ set(OPENSSL_ROOT_DIR "C:/Qt/Tools/OpenSSLv3/Win_x64")
 
 # 查找 OpenSSL 库
 find_package(OpenSSL REQUIRED)

+ 6 - 0
blastProject/hproject.h

@@ -7,6 +7,12 @@
 #include <QJsonDocument>
 #include <QUuid>
 
+enum class BladeStatus : int {
+    UNREGISTERED = 1,  // 未注册
+    REGISTERED = 2,     // 已注册
+    BLADED = 3,     // 已爆破
+};
+
 class HProject : public QObject
 {
     Q_OBJECT

+ 1 - 1
blastProject/hprojectdao.cpp

@@ -150,7 +150,7 @@ PaginatedHProjectResult HProjectDao::getAllHProjectsByOpera(int page, int pageSi
     QList<QSharedPointer<HProject>> projects;
     QSqlQuery query(database);
     int offset = (page - 1) * pageSize;
-    query.prepare("SELECT * FROM h_project WHERE blast_status >1 ORDER BY created_at LIMIT :pageSize OFFSET :offset");
+    query.prepare("SELECT * FROM h_project WHERE blast_status >1 and blast_status <3 ORDER BY created_at LIMIT :pageSize OFFSET :offset");
     query.bindValue(":pageSize", pageSize);
     query.bindValue(":offset", offset);
     if (query.exec()) {

+ 18 - 10
blastopepage.cpp

@@ -12,7 +12,7 @@ BlastOpePage::BlastOpePage(QWidget *parent) :
 
     ui->setupUi(this);
     initPagination();
-
+    //InitFace();
 
 }
 
@@ -82,6 +82,7 @@ void BlastOpePage::InitFace()
 
 void BlastOpePage::closeWebViewAndRestoreUI()
 {
+    //TODO: crash
     if (view) {
         layout->removeWidget(view);
         delete view;
@@ -98,7 +99,7 @@ void BlastOpePage::onUrlChanged(const QUrl &newUrl) {
     if (newUrl.scheme() == "https" && newUrl.host() == "www.baidu.com") {
         closeWebViewAndRestoreUI();
         QNetworkAccessManager manager;
-        QUrl requestUrl(QString("http://localhost:8000/api/v1/h-face-verify/certifyId/%1").arg(certifyId));
+        QUrl requestUrl(QString("http://192.168.0.255:8000/api/v1/h-face-verify/certifyId/%1").arg(certifyId));
         QNetworkRequest request(requestUrl);
         QNetworkReply *reply = manager.get(request);
         QEventLoop loop;
@@ -198,7 +199,7 @@ void BlastOpePage::handleFeaturePermission(QWebEnginePage *page, const QUrl &sec
 
 QJsonObject BlastOpePage::getMetaInfo() {
     QJsonObject metaInfo;
-    metaInfo["certName"] = "";
+    metaInfo["certName"] = "wangyao";
     metaInfo["certNo"] = "";
     return metaInfo;
 }
@@ -265,6 +266,7 @@ void BlastOpePage::loadDataFromSource(int currentPage, int pageSize)
             if (!prop.isEmpty()) {
                 QMetaProperty metaProp = HProject.metaObject()->property(HProject.metaObject()->indexOfProperty(prop.toUtf8()));
                 QVariant value = metaProp.read(&HProject);
+
                 if (prop == "blastStatus") {
                     QString statusText;
                     if (value.toString() == "1") {
@@ -298,10 +300,16 @@ void BlastOpePage::loadDataFromSource(int currentPage, int pageSize)
 
 
     connectionItem = QObject::connect(model, &QStandardItemModel::itemChanged, this, &BlastOpePage::onItemChanged);
-    ui->tableView->setColumnWidth(0, 20);
+    ui->tableView->setColumnWidth(0, 30);
     for (int i = 1; i < headerCount; ++i) {
-        ui->tableView->horizontalHeader()->setSectionResizeMode(i, QHeaderView::Stretch);
+        if (i == 8) { // Column: 进度
+                ui->tableView->horizontalHeader()->setSectionResizeMode(i, QHeaderView::Custom);
+                ui->tableView->setColumnWidth(i, 180);
+            } else  {
+            ui->tableView->horizontalHeader()->setSectionResizeMode(i, QHeaderView::Stretch);
+        }
     }
+
     ui->tableView->setColumnHidden(headerCount, true);
 
     ui->tableView->setAlternatingRowColors(true);
@@ -322,7 +330,7 @@ void BlastOpePage::loadDataFromSource(int currentPage, int pageSize)
         QProgressBar *progressBar2 = new QProgressBar(ui->tableView);
         progressBar2->setRange(0, 100); // 设置范围为0到100
         progressBar2->setValue(0);
-        progressBar2->setAlignment(Qt::AlignRight);
+        progressBar2->setAlignment(Qt::AlignCenter);
         progressBar2->setStyleSheet("QProgressBar { border: 1px solid grey; border-radius: 5px; background-color: #EEEEEE; height: 20px; }"
                                     "QProgressBar::chunk { background-color: #05B8CC; width: 20px; margin: 0.5px; border - radius: 10px; }");
         progressBar2->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
@@ -330,7 +338,7 @@ void BlastOpePage::loadDataFromSource(int currentPage, int pageSize)
         QProgressBar *progressBar3 = new QProgressBar(ui->tableView);
         progressBar3->setRange(0, 100); // 设置范围为0到100
         progressBar3->setValue(0);
-        progressBar3->setAlignment(Qt::AlignRight);
+        progressBar3->setAlignment(Qt::AlignCenter);
         progressBar3->setStyleSheet("QProgressBar { border: 1px solid grey; border-radius: 5px; background-color: #EEEEEE; height: 20px; }"
                                     "QProgressBar::chunk { background-color: #05B8CC; width: 20px; margin: 0.5px; border - radius: 10px; }");
         progressBar3->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
@@ -462,7 +470,7 @@ void BlastOpePage::updateProgressBar(int value, int row)
 
 void BlastOpePage::onUpdateBlastStatus(int status ,int row)
 {
-    QModelIndex index = model->index(row, 9);
+    QModelIndex index = model->index(row, 7);
         if (index.isValid()) {
             QColor customColor;
             QFont boldFont;
@@ -654,8 +662,8 @@ void BlastOpePage::on_btnSelect_clicked()
         connect(widgetSelect, &firingWidget::updateButton, this, &BlastOpePage::changeButByMqtt);
         connect(widgetSelect, &firingWidget::updateProjectStatus, this, &BlastOpePage::updateProject);
         connect(widgetSelect, &firingWidget::closeFiring, this, &BlastOpePage::destroyFiringWidgetSelect);
-        widget->show();
-        widget->setAttribute(Qt::WA_DeleteOnClose);
+        widgetSelect->show();
+        widgetSelect->setAttribute(Qt::WA_DeleteOnClose);
         uuidWidgetSMap.insert(uuid, widgetSelect);
     }
 

+ 1 - 1
databasemanager.cpp

@@ -9,7 +9,7 @@ DatabaseManager& DatabaseManager::getInstance() {
 
 // 创建一个新的数据库连接
 DatabaseManager::DatabaseManager() : db(QSqlDatabase::addDatabase("QMYSQL")) {
-    db.setHostName("127.0.0.1");
+    db.setHostName("192.168.1.234");
     db.setDatabaseName("pc_system");
     db.setUserName("root");
     db.setPassword("123456");

+ 3 - 2
fireWidget/firingwidget.cpp

@@ -69,6 +69,7 @@ void firingWidget::sendMqttMessage(const QString& topic, const QByteArray& messa
 void firingWidget::startBlasting()
 {
 
+    // TODO 检测起爆器是否在线
      QTimer::singleShot(1000, this, [this]() {
          lastStage=0;
          emit lastStageChanged(0);
@@ -588,8 +589,8 @@ void firingWidget::updateWebData(const QJsonObject& jsonObj){
    record.setCompanyCode(jsonObj["company_code"].toString());
    record.setAppVersion(jsonObj["app_version"].toString());
 
-   // record.setLongitude(jsonObj["blast_longitude"].toString());
-   // record.setLatitude(jsonObj["blast_latitude"].toString());
+   record.setLongitude(jsonObj["blast_longitude"].toString());
+   record.setLatitude(jsonObj["blast_latitude"].toString());
 
    record.setLongitude(lat);
    record.setLatitude(lon);

BIN
icons/icon_home50150.png


BIN
icons/logo/logo.jpg


+ 5 - 6
mainwindow.cpp

@@ -20,7 +20,7 @@ MainWindow::MainWindow(QWidget *parent)
 
     ui->setupUi(this);
     initializeAnimate();
-    // initialMqttService();
+    initialMqttService();
 
     pageFactories[ui->btnNew] = new AddressFactory();
     pageFactories[ui->btnBlastProject] = new BlastProjectFactory();
@@ -39,8 +39,8 @@ MainWindow::MainWindow(QWidget *parent)
           }
     }
     initDateTime();
-    // initialBtnSerial();
-    // initialGPSSerial();
+    initialBtnSerial();
+    initialGPSSerial();
     ui->labLat->setText("经度: "+lat);
     ui->labLon->setText("维度: "+lon);
     connect(ui->btnClose, &QPushButton::clicked, this, &MainWindow::close);
@@ -54,7 +54,7 @@ void MainWindow::updateProjectTitleLabel(const QString &newTitle) {
 void MainWindow::setProjectTitle(const QString &newTitle) {
     if (m_currentProjectTitle != newTitle) {
         m_currentProjectTitle = newTitle;
-        qDebug() << "Project title changed to:" << m_currentProjectTitle;
+
         // Emit the signal to notify listeners (like our QLabel slot)
         emit projectTitleChanged(m_currentProjectTitle);
     }
@@ -97,7 +97,6 @@ void MainWindow::switchPage(QWidget *button) {
         if (buttonToPage.contains(button)) {
             QWidget* existingPage = buttonToPage[button];
             ui->stackedWidget->removeWidget(existingPage);
-            delete existingPage;
             buttonToPage.remove(button);
         }
 
@@ -118,7 +117,7 @@ void MainWindow::initialMqttService()
 {
     MqttClient *pcMqttInit = MqttClient::getInstance();
     QStringList topics = {"hxgc/topic","hxgc/companycode/pro/P"};
-    pcMqttInit->connectToMqttBroker("114.55.233.194", 1883, "hxgc", "hxgc123456", "pcMqttInit", topics);
+    pcMqttInit->connectToMqttBroker("114.55.233.194", 1883, "hxgc", "hxgc123456", "pcMqttInitY11", topics);
     connect(pcMqttInit, &MqttClient::proMessageReceived, this, &MainWindow::messageAndTopicReceived);
 }
 

+ 3 - 0
mainwindow.ui

@@ -541,6 +541,9 @@ left_buttonsBox里的QPushButton
                     <height>50</height>
                    </size>
                   </property>
+                  <property name="styleSheet">
+                   <string notr="true">background-image: url(:/icons/icons/icon_home50150.png);</string>
+                  </property>
                   <property name="text">
                    <string>首页</string>
                   </property>

+ 2 - 0
media.qrc

@@ -25,6 +25,7 @@
         <file>icons/minHover.png</file>
         <file>icons/loading.gif</file>
         <file>icons/loading-un.gif</file>
+        <file>icons/icon_home50150.png</file>
     </qresource>
     <qresource prefix="/background">
         <file>background/blastOpera.png</file>
@@ -34,4 +35,5 @@
     <qresource prefix="/qss">
         <file>qss/tableview.qss</file>
     </qresource>
+    <qresource prefix="/"/>
 </RCC>

+ 1 - 1
serial/serialgps.cpp

@@ -8,7 +8,7 @@ SerialGPS::SerialGPS(QObject *parent) : QObject(parent)
 // 打开串口的函数
 void SerialGPS::openSerialPort()
 {
-    const QString portName = "COM9";
+    const QString portName = "COM3";
     const qint32 baudRate = 9600;
 
     if (!serialPort.isOpen()) {

+ 1 - 1
serial/serialtool.cpp

@@ -37,7 +37,7 @@ SerialTool* SerialTool::getInstance(QObject *parent, bool* success)
 // 打开串口的函数
 void SerialTool::openSerialPort()
 {
-    const QString portName = "COM8";
+    const QString portName = "COM1";
     const qint32 baudRate = 9600;
 
     if (!serialPort.isOpen()) {