|
|
@@ -26,11 +26,11 @@ Widget buildTrackDailyItem(TrackDailyBean bean, bool isEnd,
|
|
|
children: [
|
|
|
Builder(builder: (context) {
|
|
|
if (bean.status == TrackStatus.moving) {
|
|
|
- return _buildMovingTrackDailyItem(bean);
|
|
|
+ return _buildMovingTrackDailyItem(bean, onItemClick: onItemClick);
|
|
|
} else if (bean.status == TrackStatus.stay) {
|
|
|
return buildStayTrackDailyItem(bean, onItemClick: onItemClick);
|
|
|
} else if (bean.status == TrackStatus.error) {
|
|
|
- return buildErrorTrackDailyItem(bean);
|
|
|
+ return buildErrorTrackDailyItem(bean, onItemClick: onItemClick);
|
|
|
} else {
|
|
|
return SizedBox(height: 50.w, child: Text('未知轨迹,请更新最新应用版本'));
|
|
|
}
|
|
|
@@ -41,7 +41,8 @@ Widget buildTrackDailyItem(TrackDailyBean bean, bool isEnd,
|
|
|
);
|
|
|
}
|
|
|
|
|
|
-Widget _buildMovingTrackDailyItem(TrackDailyBean bean) {
|
|
|
+Widget _buildMovingTrackDailyItem(TrackDailyBean bean,
|
|
|
+ {TrackItemClick? onItemClick}) {
|
|
|
return Column(
|
|
|
crossAxisAlignment: CrossAxisAlignment.start,
|
|
|
children: [
|
|
|
@@ -67,28 +68,33 @@ Widget _buildMovingTrackDailyItem(TrackDailyBean bean) {
|
|
|
],
|
|
|
),
|
|
|
Expanded(
|
|
|
- child: Container(
|
|
|
- height: 50.w,
|
|
|
- margin: EdgeInsets.only(top: 26.w),
|
|
|
- decoration: BoxDecoration(
|
|
|
- borderRadius: BorderRadius.circular(8.r),
|
|
|
- gradient: LinearGradient(colors: [
|
|
|
- '#F8F5FF'.color,
|
|
|
- ColorName.transparent,
|
|
|
- ])),
|
|
|
- padding: EdgeInsets.symmetric(horizontal: 14.w),
|
|
|
- child: Row(
|
|
|
- children: [
|
|
|
- Assets.images.iconTrackMoving.image(width: 16.w),
|
|
|
- SizedBox(width: 5.w),
|
|
|
- Text(
|
|
|
- StringName.trackDetailMoving,
|
|
|
- style: TextStyle(
|
|
|
- fontSize: 12.sp,
|
|
|
- color: '#333333'.color,
|
|
|
- fontWeight: FontWeight.bold),
|
|
|
- )
|
|
|
- ],
|
|
|
+ child: GestureDetector(
|
|
|
+ onTap: () {
|
|
|
+ onItemClick?.call(bean);
|
|
|
+ },
|
|
|
+ child: Container(
|
|
|
+ height: 50.w,
|
|
|
+ margin: EdgeInsets.only(top: 26.w),
|
|
|
+ decoration: BoxDecoration(
|
|
|
+ borderRadius: BorderRadius.circular(8.r),
|
|
|
+ gradient: LinearGradient(colors: [
|
|
|
+ '#F8F5FF'.color,
|
|
|
+ ColorName.transparent,
|
|
|
+ ])),
|
|
|
+ padding: EdgeInsets.symmetric(horizontal: 14.w),
|
|
|
+ child: Row(
|
|
|
+ children: [
|
|
|
+ Assets.images.iconTrackMoving.image(width: 16.w),
|
|
|
+ SizedBox(width: 5.w),
|
|
|
+ Text(
|
|
|
+ StringName.trackDetailMoving,
|
|
|
+ style: TextStyle(
|
|
|
+ fontSize: 12.sp,
|
|
|
+ color: '#333333'.color,
|
|
|
+ fontWeight: FontWeight.bold),
|
|
|
+ )
|
|
|
+ ],
|
|
|
+ ),
|
|
|
),
|
|
|
))
|
|
|
],
|
|
|
@@ -177,7 +183,7 @@ Widget buildStayTrackDailyItem(TrackDailyBean bean,
|
|
|
}
|
|
|
|
|
|
Widget buildErrorTrackDailyItem(TrackDailyBean bean,
|
|
|
- {EdgeInsetsGeometry? contentPadding}) {
|
|
|
+ {EdgeInsetsGeometry? contentPadding, TrackItemClick? onItemClick}) {
|
|
|
return Column(
|
|
|
crossAxisAlignment: CrossAxisAlignment.start,
|
|
|
children: [
|
|
|
@@ -203,39 +209,46 @@ Widget buildErrorTrackDailyItem(TrackDailyBean bean,
|
|
|
],
|
|
|
),
|
|
|
Expanded(
|
|
|
- child: Container(
|
|
|
- height: 50.w,
|
|
|
- padding: EdgeInsets.all(10.w),
|
|
|
- margin: contentPadding ?? EdgeInsets.only(top: 41.w, bottom: 7.w),
|
|
|
- decoration: BoxDecoration(
|
|
|
- borderRadius: BorderRadius.circular(8.r),
|
|
|
- gradient: LinearGradient(colors: [
|
|
|
- '#FFECEC'.color,
|
|
|
- ColorName.white,
|
|
|
- ])),
|
|
|
- child: Row(
|
|
|
- children: [
|
|
|
- Assets.images.iconTrackError.image(width: 19.4.w),
|
|
|
- SizedBox(width: 5.5.w),
|
|
|
- Text(StringName.trackDetailError,
|
|
|
- style: TextStyle(
|
|
|
- fontSize: 12.sp,
|
|
|
- color: '#333333'.color,
|
|
|
- fontWeight: FontWeight.bold)),
|
|
|
- SizedBox(width: 10.w),
|
|
|
- GestureDetector(
|
|
|
- onTap: () {
|
|
|
- TrackErrorTipsDialog.show();
|
|
|
- },
|
|
|
- child: Text(
|
|
|
- StringName.trackDetailSeeError,
|
|
|
- style: TextStyle(fontSize: 11.sp, color: '#4476FF'.color),
|
|
|
+ child: GestureDetector(
|
|
|
+ onTap: () {
|
|
|
+ onItemClick?.call(bean);
|
|
|
+ },
|
|
|
+ child: Container(
|
|
|
+ height: 50.w,
|
|
|
+ padding: EdgeInsets.all(10.w),
|
|
|
+ margin:
|
|
|
+ contentPadding ?? EdgeInsets.only(top: 41.w, bottom: 7.w),
|
|
|
+ decoration: BoxDecoration(
|
|
|
+ borderRadius: BorderRadius.circular(8.r),
|
|
|
+ gradient: LinearGradient(colors: [
|
|
|
+ '#FFECEC'.color,
|
|
|
+ ColorName.white,
|
|
|
+ ])),
|
|
|
+ child: Row(
|
|
|
+ children: [
|
|
|
+ Assets.images.iconTrackError.image(width: 19.4.w),
|
|
|
+ SizedBox(width: 5.5.w),
|
|
|
+ Text(StringName.trackDetailError,
|
|
|
+ style: TextStyle(
|
|
|
+ fontSize: 12.sp,
|
|
|
+ color: '#333333'.color,
|
|
|
+ fontWeight: FontWeight.bold)),
|
|
|
+ SizedBox(width: 10.w),
|
|
|
+ GestureDetector(
|
|
|
+ onTap: () {
|
|
|
+ TrackErrorTipsDialog.show();
|
|
|
+ },
|
|
|
+ child: Text(
|
|
|
+ StringName.trackDetailSeeError,
|
|
|
+ style:
|
|
|
+ TextStyle(fontSize: 11.sp, color: '#4476FF'.color),
|
|
|
+ ),
|
|
|
),
|
|
|
- ),
|
|
|
- Spacer(),
|
|
|
- Assets.images.imgTrackAiAnalyse.image(width: 73.w),
|
|
|
- SizedBox(width: 6.w),
|
|
|
- ],
|
|
|
+ Spacer(),
|
|
|
+ Assets.images.imgTrackAiAnalyse.image(width: 73.w),
|
|
|
+ SizedBox(width: 6.w),
|
|
|
+ ],
|
|
|
+ ),
|
|
|
),
|
|
|
))
|
|
|
],
|