import 'package:flutter/cupertino.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; import '../../../../data/bean/upload_info.dart'; import '../../../../resource/assets.gen.dart'; import '../../../../resource/colors.gen.dart'; import '../../intimacy_analyse_upload/widget/upload_add_widget.dart'; import '../../intimacy_analyse_upload/widget/upload_item_widget.dart'; import '../../intimacy_analyse_upload/widget/upload_nine_grid.dart'; import '../step_card.dart'; /// 上传步骤卡片 class UploadStepCard extends StatelessWidget { /// 图片资源列表 final List imageUploadInfoList; /// 顶部标题区域的组件 final Widget? topTitleWidget; /// 底部的子组件,可以没有 final Widget? bottomChild; /// 点击上传按钮的回调 final OnClickAddCallback? onClickAddCallback; /// 点击删除时回调 final OnClickDeleteCallback? onClickDeleteCallback; const UploadStepCard({ super.key, required this.imageUploadInfoList, this.topTitleWidget, this.bottomChild, this.onClickAddCallback, this.onClickDeleteCallback, }); @override Widget build(BuildContext context) { return StepCard( // 背景图片 bgImageProvider: Assets.images.bgIntimacyAnalyseUploadCard.provider(), // 顶部的标题 topTitleWidget: topTitleWidget, // 顶部的图标 topIconWidget: Assets.images.iconIntimacyAnalyseUploadTop.image( height: 63.h, width: 103.w, ), contentWidget: Column( children: [ SizedBox(height: 14.h), // 图片九宫格 Container( margin: EdgeInsets.only(left: 12.w, right: 12.w), padding: EdgeInsets.only( left: 12.w, top: 12.h, right: 12.w, bottom: 12.h, ), decoration: BoxDecoration( color: ColorName.white, borderRadius: BorderRadius.circular(16.r), ), // 图片九宫格 child: UploadNineGrid( mode: Mode.edit, imageUploadInfoList: imageUploadInfoList, maxCount: 9, spacing: 8.0, onClickAddCallback: onClickAddCallback, onClickDeleteCallback: onClickDeleteCallback, ), ), SizedBox(height: 10.h), // 当前的亲密关系 bottomChild ?? SizedBox(), ], ), ); } }