detinfopage.h 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. #ifndef DETINFOPAGE_H
  2. #define DETINFOPAGE_H
  3. #include <QEventLoop>
  4. #include <QJsonArray>
  5. #include <QJsonDocument>
  6. #include <QJsonObject>
  7. #include <QLabel>
  8. #include <QMoveEvent>
  9. #include <QNetworkAccessManager>
  10. #include <QNetworkReply>
  11. #include <QNetworkRequest>
  12. #include <QStandardItemModel>
  13. #include <QUrlQuery>
  14. #include <QWidget>
  15. #include "../PageWidget.h"
  16. #include "../utils/global.h"
  17. #include "../utils/httpClient.h"
  18. #include "detdialog.h"
  19. namespace Ui {
  20. class DetInfoPage;
  21. }
  22. class DetInfoPage : public QWidget {
  23. Q_OBJECT
  24. public:
  25. explicit DetInfoPage(QWidget *parent = nullptr);
  26. ~DetInfoPage();
  27. void insertDet(const QJsonDocument &jsonDoc);
  28. private slots:
  29. void on_pushButton_clicked();
  30. private:
  31. void loadAndRefreshData();
  32. void PageChanged(int page);
  33. void onComboBoxIndexChanged(int index);
  34. void dataTable(const QJsonDocument &jsonDoc);
  35. void loadDataFromSource(int currentPage, int pageSize, const QString &equipmentSn = "");
  36. QList<QStandardItem *> jsonToItem(const QJsonObject &jsonObj);
  37. void parseJsonString(const QJsonDocument &jsonDoc);
  38. private:
  39. Ui::DetInfoPage *ui;
  40. DetDialog *dialog;
  41. PageWidget *m_pPageWidget;
  42. int pageSize; // 每页显示的记录数量
  43. int currentPage; // 当前页面
  44. int totalCount;
  45. QString *equipmentSn;
  46. HttpClient *m_httpClient;
  47. QStandardItemModel *model;
  48. QJsonArray dataArray;
  49. QLabel *loadingLabel; // 用于显示加载图片的标签
  50. QPoint lastPos;
  51. };
  52. #endif // DETINFOPAGE_H