88 lines
2.0 KiB
C++
88 lines
2.0 KiB
C++
#ifndef PAYMENT_MANAGEMENT_DIALOG_H
|
|
#define PAYMENT_MANAGEMENT_DIALOG_H
|
|
|
|
#include <QDialog>
|
|
#include <QString>
|
|
#include <QTableWidget>
|
|
#include <memory>
|
|
|
|
// 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
|