| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- import 'package:flutter/material.dart';
- import 'package:trackoffical_app/model/settlement.dart';
- import 'package:trackoffical_app/pb.dart' as pb;
- import 'package:trackoffical_app/utils.dart';
- class CheckPointRecord extends StatelessWidget{
- const CheckPointRecord({
- super.key,
- required this.data
- });
- final Settlement data;
- @override
- Widget build(BuildContext context) {
- final checkedSortedList = data.save.checkedSortedList;
- return ListView.builder(
- itemCount: checkedSortedList.length,
- itemBuilder: (BuildContext context, int index){
- final backColor = index % 2 == 0 ? const Color(0xfff8f8f8) : Colors.white;
- final data = checkedSortedList[index];
- pb.GameSaveControlPoint? preData;
- if(index > 0){
- preData = checkedSortedList[index-1];
- }
- var icResName =
- data.isCheckSuccess ? 'ic_point_ok.png' : 'ic_point_fail.png';
- final beginTime =
- checkedSortedList.first.checkAfterStart.toDuration();
- var checkTime = data.checkAfterStart.toDuration()
- - (preData?.checkAfterStart.toDuration()??beginTime);
- var checkTimeStr = '+${checkTime.toAppString()}';
- if (isPointStart(this.data.data, data) && data.isCheckSuccess) {
- icResName = 'ic_point_start.png';
- checkTimeStr = this.data.save.startAt.toDateTime(toLocal: true)
- .add(data.checkAfterStart.toDuration()).toAppStringNoDate();
- }
- if (isPointFinish(this.data.data, data)) {
- icResName = 'ic_point_finish.png';
- checkTimeStr = this.data.save.startAt.toDateTime(toLocal: true)
- .add(data.checkAfterStart.toDuration()).toAppStringNoDate();
- }
- return Container(
- width: double.infinity,
- color: backColor,
- padding: const EdgeInsets.fromLTRB(13, 5, 26, 5),
- child: Row(
- children: [
- Image.asset(
- 'assets/images/$icResName',
- height: 18,
- width: 18,
- ),
- const SizedBox(width: 20,),
- Expanded(child: Text(gameSaveControlPointFindInProject(this.data.data, data).sn)),
- Text(checkTimeStr)
- ],
- ));
- });
- }
- }
|