| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- import 'package:flutter/material.dart';
- import 'package:trackoffical_app/model/m_control_point.dart';
- import 'package:trackoffical_app/utils.dart';
- class CheckedCPRecord extends StatelessWidget{
- const CheckedCPRecord({
- super.key,
- required this.data
- });
- final List<MControlPoint> data;
- @override
- Widget build(BuildContext context) {
- return ListView.builder(
- itemCount: data.length,
- itemBuilder: (context, index){
- return _elem(context, data[index]);
- }
- );
- }
- }
- Widget _elem(BuildContext context, MControlPoint data){
- const disableColor = Color(0xffaaaaaa);
- const enableColor = Color(0xff333333);
- var result = '已完成';
- Color resultColor = Colors.green;
- final color = data.isUnchecked? disableColor: enableColor;
- Color? iconColor;
- var textTime = data.checkAfterPrev.toMinSecondString();
- var imageSrc = 'assets/images/ic_cp.png';
- if(data.isStart){
- imageSrc = 'assets/images/ic_cp_start.png';
- textTime = '';
- }
- if(data.isFinish){
- imageSrc = 'assets/images/ic_cp_finish_uncheck.png';
- textTime = '';
- }
- if(!data.isSuccess){
- result = '错误';
- resultColor = const Color(0xffff6203);
- }
- if(data.isUnchecked){
- iconColor = disableColor;
- result = '未打点';
- resultColor = disableColor;
- textTime='';
- }
- var text = data.snString.isNotEmpty? '${data.snString}点': '';
- if(data.areaId.isNotEmpty){
- text += '(${data.areaId})';
- }
- final style = TextStyle(
- fontSize: 15.24, fontWeight: FontWeight.w500, color: color);
- return Padding(padding: const EdgeInsets.only(bottom: 12), child: Row(
- crossAxisAlignment: CrossAxisAlignment.center,
- children: [
- Image.asset(imageSrc, color: iconColor, height: 21.19, width: 21.19),
- const SizedBox(width: 6),
- Expanded(flex:4, child: Text(text, style: style, textAlign: TextAlign.start, maxLines: 1)),
- Expanded(flex:3, child: Text(textTime, style: style, textAlign: TextAlign.start, maxLines: 1)),
- SizedBox(
- width: 60,
- child: Text(result, style: style.copyWith(fontSize: 17.42, color: resultColor))
- ),
- ],
- )) ;
- }
|