#ifndef BASESETUPWIDGET_H #define BASESETUPWIDGET_H #include #include #include "Common.h" #include "data/Data.h" #include namespace Ui { class BaseSetupWidget; } // 记录文件相关定义 typedef enum { FIELD_TYPE_STRING = 0, FIELD_TYPE_UCHAR = 1, FIELD_TYPE_USHORT = 2, FIELD_TYPE_UINT = 4, FIELD_TYPE_DATETIME = 7 } enumFieldType; typedef struct { QString fieldName; // 字段名 unsigned char fieldType; // 字段类型, 0 - string, 1 - unsigned char, 2 - unsigned short, 4 - unsigned int, unsigned char fieldLen; // 字段长度 }tagRecordFile; class BaseSetupWidget : public QWidget { Q_OBJECT public: explicit BaseSetupWidget(QWidget *parent = nullptr); ~BaseSetupWidget(); // 初始化 void init(); // 定时器 void initTimer0(); void clearTimer0(); void processSetTimeRsp(QString portName, QByteArray data); void processGetTimeRsp(QString portName, QByteArray data); void processSetSerialNumberRsp(QString portName, QByteArray data); void processGetSerialNumberRsp(QString portName, QByteArray data); void processSetDeviceNameRsp(QString portName, QByteArray data); void processGetDeviceNameRsp(QString portName, QByteArray data); void processSetDeviceNumberRsp(QString portName, QByteArray data); void processGetDeviceNumberRsp(QString portName, QByteArray data); void processSetOperatorRsp(QString portName, QByteArray data); void processGetOperatorRsp(QString portName, QByteArray data); void processGetRecordRsp(QString portName, QByteArray data); void processClsRecordRsp(QString portName, QByteArray data); void processSetLockStatusRsp(QString portName, QByteArray data); void saveRecordToFile(); void saveToXlsx(); void saveToCsv(); void initRecordTimer(); void startRecordTimer(unsigned int msec); void stopRecordTimer(); signals: //void get_record_timeout(); void get_record_finish(int result); // result: -1 失败返回; 0 成功返回; 1 超时返回 private slots: // 时间定时器 void slot_timer0_task(); // 接收文件定时器槽 void slot_recordTimeout(); void slot_pushButtonToolsUnlock_clicked(); void slot_pushButtonToolsSerialNumber_clicked(); void slot_pushButtonTimeSetting_clicked(); void slot_pushButtonUserEquitmentItem_clicked(); void slot_pushButtonUserEquitmentNo_clicked(); void slot_pushButtonOperatorSettings_clicked(); void slot_pushButtonGetRecords_clicked(); void slot_pushButtonDeleteRecordedData_clicked(); void slot_recvData(QString portName, unsigned char cmd, QByteArray recvData); private: Ui::BaseSetupWidget *ui; // 时间定时器 QTimer m_timer0; //SYS_STATUS m_sysStatus; // 系统状态 unsigned char m_currCmd; // 当前执行的指令 unsigned char m_bSucc; // 当前指令执行状态 //QAxObject *m_excelObject; // 获取文件记录操作相关变量 bool m_recordFlag; // 文件记录标记 unsigned short m_recordAllCount; // 文件总记录数 unsigned short m_recordCurrCount; // 当前文件记录数 QList m_recordData; // 文件内容 QTimer m_recordTimer; // 获取记录定时器 QString m_recordFilePath; // 文件保存路径 // unsigned int m_recordElapsedTime; // 定时器剩余时间 // QTime m_recordTime; }; #endif // BASESETUPWIDGET_H