Files
tuiche/lib/component/img/img_preview_widget.dart
2025-08-01 22:25:47 +08:00

121 lines
3.6 KiB
Dart

import 'package:ef/ef.dart';
import 'package:flutter/material.dart';
import 'package:vbvs_app/common/util/FitTool.dart';
import '../../common/color/appFontsize.dart';
import '../../controller/mh_controller/apply_repair_controller.dart';
class ImgPreviewWidget extends GetView {
String imgUrl;
int index;
ApplyRepairController applyRepairController;
bool isDel;
ImgPreviewWidget(
{required this.imgUrl,
required this.index,
required this.applyRepairController,
required this.isDel}) {}
@override
Widget build(BuildContext context) {
return Container(
width: MediaQuery.sizeOf(context).width * 0.25,
height: MediaQuery.sizeOf(context).height * 0.15,
constraints: BoxConstraints(
// minHeight: 140,
),
decoration: BoxDecoration(),
child: Column(
mainAxisSize: MainAxisSize.min,
mainAxisAlignment: MainAxisAlignment.start,
children: [
ClipRRect(
borderRadius: BorderRadius.circular(8),
child: AspectRatio(
aspectRatio: 1, // 保证宽高比1:1
child: Image.network(
imgUrl,
fit: BoxFit.cover,
),
),
),
Visibility(
visible: isDel,
child: Align(
alignment: AlignmentDirectional(0, 0),
child: Padding(
padding: EdgeInsetsDirectional.fromSTEB(0, 8, 0, 13),
child: InkWell(
onTap: () {
applyRepairController.model.issue_img!.removeAt(index);
applyRepairController.updateAll();
},
child: Text(
'删除',
style: TextStyle(
fontFamily: 'Readex Pro',
color: Color(0xFF9EA4B7),
fontSize: AppFontsize.small_text_size,
letterSpacing: 0,
),
),
)),
)),
],
),
);
}
}
// class ImgPreviewWidget extends GetView {
// final String imgUrl;
// final int index;
// final ApplyRepairController applyRepairController;
// final bool isDel;
// ImgPreviewWidget({
// required this.imgUrl,
// required this.index,
// required this.applyRepairController,
// required this.isDel,
// });
// @override
// Widget build(BuildContext context) {
// return Column(
// mainAxisSize: MainAxisSize.min, // 不撑满 ListView 高度
// children: [
// // 正方形图片容器
// AspectRatio(
// aspectRatio: 1,
// child: ClipRRect(
// borderRadius: BorderRadius.circular(8),
// child: Image.network(
// imgUrl,
// fit: BoxFit.cover,
// ),
// ),
// ),
// // 删除按钮
// if (isDel)
// Padding(
// padding: const EdgeInsets.only(top: 6),
// child: InkWell(
// onTap: () {
// applyRepairController.model.issue_img!.removeAt(index);
// applyRepairController.updateAll();
// },
// child: Text(
// '删除',
// style: TextStyle(
// fontFamily: 'Readex Pro',
// color: Color(0xFF9EA4B7),
// fontSize: AppFontsize.small_text_size,
// ),
// ),
// ),
// ),
// ],
// );
// }
// }