62 lines
1.3 KiB
C++
62 lines
1.3 KiB
C++
#ifndef PROCEDURELISTWIDGET_H
|
|
#define PROCEDURELISTWIDGET_H
|
|
|
|
#include <QWidget>
|
|
#include <QVBoxLayout>
|
|
#include <QHBoxLayout>
|
|
#include <QLineEdit>
|
|
#include <QPushButton>
|
|
#include <QListWidget>
|
|
#include <QLabel>
|
|
#include "../procedure/proceduredata.h"
|
|
|
|
class ProcedureManager;
|
|
|
|
/**
|
|
* @class ProcedureListWidget
|
|
* @brief 规程列表页面
|
|
*
|
|
* 显示可用规程列表,支持搜索(包括条码扫描)
|
|
* 支持输入工单号
|
|
*/
|
|
class ProcedureListWidget : public QWidget
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
explicit ProcedureListWidget(ProcedureManager *manager, QWidget *parent = nullptr);
|
|
~ProcedureListWidget();
|
|
|
|
void refreshList();
|
|
|
|
signals:
|
|
void procedureSelected(const QString &procedureId);
|
|
void backRequested();
|
|
|
|
private slots:
|
|
void onSearchTextChanged(const QString &text);
|
|
void onScanProcedureBarcode();
|
|
void onScanWorkOrderBarcode();
|
|
void onProcedureItemClicked(QListWidgetItem *item);
|
|
void onStartProcedure();
|
|
|
|
private:
|
|
void setupUI();
|
|
void updateProcedureList(const QVector<ProcedureSummary> &procedures);
|
|
|
|
ProcedureManager *m_manager;
|
|
|
|
// UI 组件
|
|
QPushButton *m_backBtn;
|
|
QLineEdit *m_searchEdit;
|
|
QPushButton *m_scanProcedureBtn;
|
|
QLineEdit *m_workOrderEdit;
|
|
QPushButton *m_scanWorkOrderBtn;
|
|
QListWidget *m_procedureList;
|
|
QPushButton *m_startBtn;
|
|
|
|
QString m_selectedProcedureId;
|
|
};
|
|
|
|
#endif // PROCEDURELISTWIDGET_H
|