1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- #ifndef BLASTPROJECTPAGE_H
- #define BLASTPROJECTPAGE_H
- #include <QJsonArray>
- #include <QPushButton>
- #include <QStandardItemModel>
- #include <QWidget>
- #include "../PageWidget.h"
- #include "../mqtt/mqttclient.h"
- #include "../utils/httpClient.h"
- #include "hprojectdao.h"
- #include "projectdialog.h"
- namespace Ui {
- class BlastProjectPage;
- }
- class BlastProjectPage : public QWidget {
- Q_OBJECT
- public:
- explicit BlastProjectPage(QWidget *parent = nullptr);
- ~BlastProjectPage();
- private slots:
- void PageChanged(int page);
- void onComboBoxIndexChanged(int index);
- void on_pushButton_clicked();
- void messageAndTopicReceived(const QByteArray &message, const QMqttTopicName &topic);
- void updateProjectUUId(QString uuid);
- void on_showSafetyInspectBtn_clicked();
- private:
- void refreshData();
- void loadDataFromSource(int currentPage, int pageSize);
- void initUserAndDialogOptions(const QJsonArray &arrayData);
- void addressOptions(const QJsonArray &jsonArray);
- void parseJsonString(const QJsonDocument &jsonDoc);
- void fillComboBox(QComboBox *comboBox, const QJsonArray &jsonArray);
- void createProject(const QMap<QString, QString> &data);
- void updateButtonClicked(const HProject &project);
- void updateProject(const QMap<QString, QString> &data);
- void deleteButtonClicked(const HProject &project);
- void publishAllPendingBlastProjects();
- private:
- Ui::BlastProjectPage *ui;
- PageWidget *pageWidget;
- ProjectDialog *m_dialog;
- HttpClient *m_httpClient;
- HProjectDao dao;
- QJsonArray dataArray;
- QJsonArray dataArrayAddress;
- QMap<QString, QString> m_userNameById;
- int pageSize; // 每页显示的记录数量
- int currentPage; // 当前页面
- int totalCount;
- int updateId;
- QString getUserNameByIds(const QStringList &userIds);
- QJsonArray getUserInfoByIds(const QStringList &userIds);
- };
- #endif // BLASTPROJECTPAGE_H
|