#ifndef BLASTPROJECTPAGE_H #define BLASTPROJECTPAGE_H #include #include #include #include #include "hprojectdao.h" #include "PageWidget.h" #include "buttondelegate.h" #include "projectdialog.h" #include "HttpClient.h" #include "mqtt/mqttclient.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(); private: void RefreshData(); void loadDataFromSource(int currentPage,int pageSize); void personOptionsByType(const QJsonDocument &jsonDoc); void parseJsonStringAddress(const QJsonDocument &jsonDoc); void addressOptions(const QJsonDocument &jsonDoc); void parseJsonString(const QJsonDocument &jsonDoc); void fillComboBox(QComboBox *comboBox, const QJsonArray &jsonArray); void insertPlan(const QMap &data); void updateButtonClicked(const HProject &project); void updateProject(const QMap &data); void deleteButtonClicked(const HProject &project); private: Ui::BlastProjectPage *ui; PageWidget *pageWidget; ProjectDialog *dialog; HttpClient *m_httpClient; HProjectDao dao; QJsonArray dataArray; QJsonArray dataArrayAddress; int pageSize; //每页显示的记录数量 int currentPage; //当前页面 int totalCount; int updateId; }; #endif // BLASTPROJECTPAGE_H