|
@@ -215,9 +215,6 @@ class _ScrollableImageListState extends State<ScrollableImageList> {
|
|
|
/// 图像数据列表
|
|
|
List<RemedicalInfoDTO> remedicalList = [];
|
|
|
|
|
|
- /// 当前选中的图像下标
|
|
|
- int selectedImageIndex = -1;
|
|
|
-
|
|
|
/// 获取图片地址
|
|
|
void onChangeImage(
|
|
|
String imageUrl,
|
|
@@ -226,24 +223,27 @@ class _ScrollableImageListState extends State<ScrollableImageList> {
|
|
|
if (measureData.itemCurrentImage == imageUrl) {
|
|
|
return;
|
|
|
}
|
|
|
+ final selectedIndex = measureController.examInfo.images.indexWhere(
|
|
|
+ (element) => element.url == imageUrl,
|
|
|
+ );
|
|
|
+ if (selectedIndex < 0) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
measureHandler.changeImageLoaded = true;
|
|
|
measureHandler.imageChanged = ChangeImageInfo(
|
|
|
imageUrl,
|
|
|
remedicalCode,
|
|
|
);
|
|
|
- ExamImageInfo selectedImage = measureController.examInfo.images.firstWhere(
|
|
|
- (element) => element.url == imageUrl,
|
|
|
- );
|
|
|
- selectedImageIndex =
|
|
|
- measureController.examInfo.images.indexOf(selectedImage);
|
|
|
- measureData.itemCurrentImage = imageUrl;
|
|
|
- measureController.examInfo.selectedImageIndex = selectedImageIndex;
|
|
|
+
|
|
|
+ measureController.examInfo.selectedImageIndex = selectedIndex;
|
|
|
setState(() {});
|
|
|
}
|
|
|
|
|
|
/// 获取图像Code来更新图像
|
|
|
- void onChangeImageByRemedicalCode(_, e) {
|
|
|
- onChangeImage(findImageUrlByRemedicalCode(e), e);
|
|
|
+ void onChangeImageByRemedicalCode(_, String e) {
|
|
|
+ final url = findImageUrlByRemedicalCode(e);
|
|
|
+ onChangeImage(url, e);
|
|
|
}
|
|
|
|
|
|
/// 更新图像集合
|
|
@@ -255,14 +255,10 @@ class _ScrollableImageListState extends State<ScrollableImageList> {
|
|
|
}
|
|
|
|
|
|
String findImageUrlByRemedicalCode(String remedicalCode) {
|
|
|
- String imageUrl = '';
|
|
|
- for (var i = 0; i < measureController.examInfo.images.length; i++) {
|
|
|
- if (remedicalList[i].remedicalCode! == remedicalCode) {
|
|
|
- imageUrl = remedicalList[i].terminalImages!.imageUrl!;
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
- return imageUrl;
|
|
|
+ final item =
|
|
|
+ remedicalList.firstWhere((e) => e.remedicalCode == remedicalCode);
|
|
|
+ final imgInfo = item.terminalImages!;
|
|
|
+ return measureController.chooseImageUrl(imgInfo);
|
|
|
}
|
|
|
|
|
|
@override
|
|
@@ -347,15 +343,17 @@ class _ScrollableImageListState extends State<ScrollableImageList> {
|
|
|
controller: widget.scrollController,
|
|
|
itemCount: remedicalItemList.toList().length,
|
|
|
itemBuilder: (BuildContext context, int index) {
|
|
|
+ final item = remedicalItemList[index];
|
|
|
FWidget image = FContentImage(
|
|
|
- remedicalInfo: remedicalItemList[index],
|
|
|
+ remedicalInfo: item,
|
|
|
isMeasure: true,
|
|
|
- onTap: () => onChangeImage(
|
|
|
- remedicalItemList[index].terminalImages!.imageUrl!,
|
|
|
- remedicalItemList[index].remedicalCode!,
|
|
|
- ),
|
|
|
+ onTap: () {
|
|
|
+ final code = item.remedicalCode!;
|
|
|
+ final url = findImageUrlByRemedicalCode(code);
|
|
|
+ onChangeImage(url, code);
|
|
|
+ },
|
|
|
serialNo: index + 1,
|
|
|
- description: _translateDescription(remedicalItemList[index]),
|
|
|
+ description: _translateDescription(item),
|
|
|
);
|
|
|
return FContainer(
|
|
|
key: ValueKey(measureData.itemCurrentImage),
|
|
@@ -364,7 +362,7 @@ class _ScrollableImageListState extends State<ScrollableImageList> {
|
|
|
decoration: BoxDecoration(
|
|
|
border: Border.all(
|
|
|
width: 3,
|
|
|
- color: remedicalItemList[index].terminalImages!.imageUrl! !=
|
|
|
+ color: item.terminalImages!.imageUrl! !=
|
|
|
measureData.itemCurrentImage
|
|
|
? Colors.grey
|
|
|
: Colors.blue,
|