feat(web): 构建Flutter Web应用并添加资金管理功能
- 生成Flutter Web构建产物,包括主应用文件、资源文件和CanvasKit支持 - 添加资金订单管理功能,支持资金充值和提现操作 - 更新管理后台界面,优化仪表板和订单页面显示 - 扩展后端API接口,增加资金相关服务和控制器 - 添加数据库索引优化查询性能
This commit is contained in:
@@ -69,7 +69,7 @@ class _FundOrderCard extends StatelessWidget {
|
||||
case 1:
|
||||
return '待审批';
|
||||
case 2:
|
||||
return '已完成';
|
||||
return '已出款';
|
||||
case 3:
|
||||
return '已驳回';
|
||||
case 4:
|
||||
|
||||
@@ -214,6 +214,10 @@ class _FundOrdersPageState extends State<FundOrdersPage> {
|
||||
const SizedBox(height: AppSpacing.sm),
|
||||
_buildRejectionReason(order),
|
||||
],
|
||||
if (order.withdrawContact != null) ...[
|
||||
const SizedBox(height: AppSpacing.sm - AppSpacing.xs),
|
||||
_buildDetailRow('联系方式', order.withdrawContact!, c),
|
||||
],
|
||||
if (order.receivableAmount != null && !order.isDeposit) ...[
|
||||
const SizedBox(height: AppSpacing.sm),
|
||||
_buildPayableRow(order),
|
||||
@@ -222,26 +226,42 @@ class _FundOrdersPageState extends State<FundOrdersPage> {
|
||||
const SizedBox(height: AppSpacing.sm + AppSpacing.xs),
|
||||
_buildActions(order),
|
||||
],
|
||||
const SizedBox(height: AppSpacing.sm),
|
||||
Row(
|
||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||
children: [
|
||||
Text(
|
||||
'创建: ${_formatTime(order.createTime)}',
|
||||
style: AppTextStyles.bodySmall(context).copyWith(color: c.mutedText),
|
||||
),
|
||||
if (order.rejectReason != null)
|
||||
Expanded(
|
||||
child: Text(
|
||||
'驳回: ${order.rejectReason}',
|
||||
style: AppTextStyles.bodySmall(context).copyWith(color: AppColorScheme.getDownColor(_isDark)),
|
||||
textAlign: TextAlign.right,
|
||||
overflow: TextOverflow.ellipsis,
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// Card Header - type badge + status badge
|
||||
// Card Header (order type + status badge)
|
||||
// ---------------------------------------------------------------------------
|
||||
Widget _buildCardHeader(OrderFund order) {
|
||||
final upColor = AppColorScheme.getUpColor(_isDark);
|
||||
final downColor = AppColorScheme.getDownColor(_isDark);
|
||||
final upBg = AppColorScheme.getUpBackgroundColor(_isDark, opacity: 0.12);
|
||||
final downBg = AppColorScheme.getDownBackgroundColor(_isDark, opacity: 0.12);
|
||||
final typeColor = order.isDeposit ? upColor : downColor;
|
||||
final typeBg = order.isDeposit ? upBg : downBg;
|
||||
|
||||
final c = _colors;
|
||||
return Row(
|
||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||
children: [
|
||||
_buildBadge(order.typeText, typeColor, typeBg),
|
||||
Text(
|
||||
order.isDeposit ? '充值' : '提现',
|
||||
style: AppTextStyles.headlineMedium(context).copyWith(color: c.primaryText),
|
||||
),
|
||||
_buildStatusBadge(order),
|
||||
],
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user