WD: lab report changes
parent
3d2e0a5442
commit
3d27fbdea8
@ -1,6 +1,6 @@
|
||||
distributionBase=GRADLE_USER_HOME
|
||||
distributionPath=wrapper/dists
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-all.zip
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.3-all.zip
|
||||
networkTimeout=10000
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
zipStorePath=wrapper/dists
|
||||
|
||||
@ -0,0 +1,166 @@
|
||||
import 'package:diplomaticquarterapp/core/model/labs/lab_result.dart';
|
||||
import 'package:diplomaticquarterapp/core/model/labs/patient_lab_orders.dart';
|
||||
import 'package:diplomaticquarterapp/theme/colors.dart';
|
||||
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
|
||||
import 'package:diplomaticquarterapp/widgets/data_display/medical/LabResult/newUI/labWidgets.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:readmore/readmore.dart';
|
||||
|
||||
import '../FlowChartPage.dart';
|
||||
|
||||
class LabItem extends StatefulWidget {
|
||||
final LabResultList item;
|
||||
PatientLabOrders? patientLabOrders;
|
||||
|
||||
LabItem({super.key, required this.item, this.patientLabOrders});
|
||||
|
||||
@override
|
||||
State<LabItem> createState() => _LabItemState();
|
||||
}
|
||||
|
||||
class _LabItemState extends State<LabItem> {
|
||||
bool _isShowMoreGeneral = false;
|
||||
bool showBottomSheet = false;
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
if (showBottomSheet) {
|
||||
print('the bottom sheet is showing');
|
||||
openFlowChart(context, '');
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Column(
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
children: [
|
||||
GestureDetector(
|
||||
onTap: () {
|
||||
setState(() {
|
||||
_isShowMoreGeneral = !_isShowMoreGeneral;
|
||||
});
|
||||
},
|
||||
behavior: HitTestBehavior.opaque,
|
||||
child: Row(
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
crossAxisAlignment: CrossAxisAlignment.center,
|
||||
children: <Widget>[
|
||||
Expanded(
|
||||
child: Text(
|
||||
widget.item.filterName ?? '',
|
||||
style: TextStyle(
|
||||
fontSize: 21,
|
||||
fontWeight: FontWeight.bold,
|
||||
color: Color(0xff2B353E),
|
||||
letterSpacing: -0.64,
|
||||
height: 25 / 16),
|
||||
),
|
||||
),
|
||||
Icon(
|
||||
_isShowMoreGeneral
|
||||
? Icons.keyboard_arrow_up
|
||||
: Icons.keyboard_arrow_down,
|
||||
color: Color(0xff2B353E),
|
||||
size: 26,
|
||||
)
|
||||
],
|
||||
),
|
||||
),
|
||||
SizedBox(
|
||||
height: 12,
|
||||
),
|
||||
ReadMoreText(
|
||||
widget.item.description ?? '',
|
||||
trimMode: TrimMode.Line,
|
||||
trimLines: 3,
|
||||
style: const TextStyle(color: Color(0xff575757), fontSize: 11),
|
||||
colorClickableText: CustomColors.accentColor,
|
||||
trimCollapsedText: '${TranslationBase.of(context).readMore}',
|
||||
trimExpandedText: ' show less',
|
||||
),
|
||||
SizedBox(
|
||||
height: 8,
|
||||
),
|
||||
if (_isShowMoreGeneral)
|
||||
...List.generate(widget.item.patientLabResultList?.length ?? 0,
|
||||
(index) {
|
||||
var data = widget.item.patientLabResultList?[index];
|
||||
return Column(
|
||||
children: [
|
||||
ItemResultCardWidgetWithParams(
|
||||
title: data?.description ?? '',
|
||||
subTitle: data?.resultValue ?? '',
|
||||
referenceRange: data?.referanceRange ?? '',
|
||||
percentage: data?.percentage ?? 0.0,
|
||||
note: data?.testShortDescription ?? '',
|
||||
source: "",
|
||||
buttonText: "",
|
||||
type: data?.calculatedResultFlag?.getType() ??
|
||||
ResultTypes.unknown,
|
||||
onButtonPressed: () {
|
||||
openFlowChart(context, data?.description ?? '');
|
||||
},
|
||||
),
|
||||
SizedBox(
|
||||
height: 13,
|
||||
),
|
||||
],
|
||||
);
|
||||
})
|
||||
// Expanded(
|
||||
// child: ListView.builder(
|
||||
// itemCount: widget.item.patientLabResultList?.length ?? 0,
|
||||
// itemBuilder: (context, index) {
|
||||
// var data = widget.item.patientLabResultList?[index];
|
||||
// Column(
|
||||
// children: [
|
||||
// EllipsisTextWithMore(
|
||||
// text: data?.packageShortDescription ?? '',
|
||||
// ),
|
||||
// SizedBox(
|
||||
// height: 8,
|
||||
// ),
|
||||
// ItemResultCardWidgetWithParams(
|
||||
// title: data?.description ?? '',
|
||||
// subTitle: data?.resultValue ?? '',
|
||||
// referenceRange: data?.referanceRange ?? '',
|
||||
// percentage: 20,
|
||||
// note: data?.testShortDescription ?? '',
|
||||
// source: "",
|
||||
// buttonText: "",
|
||||
// type: data?.calculatedResultFlag?.getType() ??
|
||||
// ResultTypes.unknown),
|
||||
// ],
|
||||
// );
|
||||
// }))
|
||||
],
|
||||
);
|
||||
}
|
||||
|
||||
openFlowChart(BuildContext context, String procedure) {
|
||||
print('openFlowChart: the bottom sheet is showing');
|
||||
|
||||
showModalBottomSheet(
|
||||
backgroundColor: Colors.white,
|
||||
isScrollControlled: true,
|
||||
context: context,
|
||||
scrollControlDisabledMaxHeightRatio: .75,
|
||||
shape: RoundedRectangleBorder(
|
||||
borderRadius: BorderRadius.only(
|
||||
topLeft: Radius.circular(20), topRight: Radius.circular(20))),
|
||||
builder: (context) {
|
||||
print('builder: the bottom sheet is showing');
|
||||
|
||||
return FlowChartPage(
|
||||
filterName: procedure,
|
||||
patientLabOrder: widget.patientLabOrders,
|
||||
);
|
||||
}).then((value) {
|
||||
setState(() {
|
||||
showBottomSheet = false;
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue