#ifndef PAYMENT_MANAGEMENT_DIALOG_H #define PAYMENT_MANAGEMENT_DIALOG_H #include #include #include #include // Forward declarations class QPushButton; class QTabWidget; class QLabel; class QLineEdit; class QTreeWidget; class QTreeWidgetItem; class QChartView; class QChart; class QBarSeries; class QPieSeries; class QSplineSeries; namespace core { class HisCore; } /** * 支付管理对话框 * 供管理员查看和管理所有的支付记录 */ class PaymentManagementDialog : public QDialog { Q_OBJECT public: explicit PaymentManagementDialog(core::HisCore& core, QWidget* parent = nullptr); private slots: void onRefreshPayments(); void onRefundPayment(); void onGenerateDailyReport(); void onGenerateMonthlyReport(); void onGenerateRevenueReport(); void onPaymentSelectionChanged(); void onFilterByStatus(); void onTabChanged(int index); void onSearchSettlements(); private: void setupUI(); void loadPaymentRecords(); void loadSettlementRecords(); void updateStatistics(); void displayStatistics(const QString& title, const QString& content); void updateDailyChart(); void updateMonthlyChart(); void updateRevenueChart(); core::HisCore& core_; // UI Components QTabWidget* tabWidget_; // Payment Tab QTableWidget* paymentTable_; QPushButton* refreshButton_; QPushButton* refundButton_; QLabel* statisticsLabel_; QLineEdit* statusFilterEdit_; // Settlement Tab QTreeWidget* settlementTree_; QPushButton* settlementRefreshButton_; QLineEdit* settlementSearchEdit_; QPushButton* settlementSearchButton_; // Reports Tab QPushButton* dailyReportButton_; QPushButton* monthlyReportButton_; QPushButton* revenueReportButton_; QLabel* reportLabel_; // Chart components QWidget* dailyChartWidget_; QWidget* monthlyChartWidget_; QWidget* revenueChartWidget_; }; #endif