#ifndef PROCEDURELISTWIDGET_H #define PROCEDURELISTWIDGET_H #include #include #include #include #include #include #include #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 &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