#ifndef SETTLEMENT_DIALOG_H #define SETTLEMENT_DIALOG_H #include #include #include // Forward declarations class QPushButton; class QLineEdit; class QLabel; class QTextEdit; namespace core { class HisCore; } /** * 结算单查看对话框 * 显示患者的结算单信息,包括所有费用和支付信息 */ class SettlementDialog : public QDialog { Q_OBJECT public: explicit SettlementDialog(core::HisCore& core, QWidget* parent = nullptr); // 设置结算单ID进行显示 void displaySettlement(const QString& settlementID); // 创建新的结算单 bool createNewSettlement(const QString& patientID, const QString& patientName, const QString& dischargeDate); private slots: void onPrintSettlement(); void onExportSettlement(); void onConfirmSettlement(); void onClose(); private: void setupUI(); void refreshDisplay(); void loadSettlementDetails(); core::HisCore& core_; QString currentSettlementID_; // UI Components QLineEdit* settlementIDEdit_; QLineEdit* patientIDEdit_; QLineEdit* patientNameEdit_; QLineEdit* dischargeDateEdit_; QLabel* totalAmountLabel_; QLabel* insurancePaidLabel_; QLabel* patientPaidLabel_; QTableWidget* itemsTable_; QTextEdit* notesEdit_; QPushButton* printButton_; QPushButton* exportButton_; QPushButton* confirmButton_; QPushButton* closeButton_; }; #endif