import 'package:farmer_client/models/entities/OrderInfoModel.dart'; import 'package:farmer_client/pages/index.dart'; import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:get/get.dart'; import 'package:intl/intl.dart'; import 'LinearGradientText.dart'; class OrderInfoCard extends StatelessWidget { final OrderInfoModel item; final String? orderStateText; final Color? orderStateColor; // final DateTime timeNew=item.appointmentDate; const OrderInfoCard( {Key? key, required this.item, required this.orderStateColor, required this.orderStateText}) : super(key: key); @override Widget build(BuildContext context) { return Container( width: 345.w, height: 484.5.h, margin: EdgeInsets.fromLTRB(15.w, 17.w, 15.w, 0), decoration: BoxDecoration( color: Colors.white, //设置四周圆角 角度 borderRadius: BorderRadius.all(Radius.circular(2.0)), //设置四周边框 boxShadow: [ BoxShadow( blurRadius: 10, //阴影范围 spreadRadius: 0.1, //阴影浓度 color: Colors.grey.withOpacity(0.2), //阴影颜色 ), ], ), child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ Container( margin: EdgeInsets.fromLTRB(15.w, 0, 0, 0), child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ Container( padding: EdgeInsets.fromLTRB(0, 15, 0, 20), width: 314.w, decoration: const BoxDecoration( border: Border( bottom: BorderSide(width: 0.5, color: Color(0x20000000) // 0x17000000 ))), child: RichText( text: TextSpan(children: [ TextSpan( text: '订单编号:', style: TextStyle( color: Color(0xff666666), fontSize: 16, fontWeight: FontWeight.bold)), TextSpan( text: item.orderNo.toString(), style: TextStyle( color: Color(0xff222222), fontSize: 16, fontWeight: FontWeight.bold)), ]), ), ), Padding( padding: EdgeInsets.fromLTRB(0, 20, 0, 15), child: RichText( text: TextSpan(children: [ TextSpan( text: '农机名称:', style: TextStyle( color: Color(0xff666666), fontSize: 16, fontWeight: FontWeight.bold)), TextSpan( text: item.machineryName.toString(), style: TextStyle( color: Color(0xff222222), fontSize: 16, fontWeight: FontWeight.bold)), ]), ), ), Padding( padding: EdgeInsets.fromLTRB(0, 0, 0, 15), child: RichText( text: TextSpan(children: [ TextSpan( text: '作业面积:', style: TextStyle( color: Color(0xff666666), fontSize: 16, fontWeight: FontWeight.bold)), TextSpan( text: item.amount.toString(), style: TextStyle( color: Color(0xff222222), fontSize: 16, fontWeight: FontWeight.bold)), ]), ), ), Padding( padding: EdgeInsets.fromLTRB(0, 0, 0, 15), child: RichText( text: TextSpan(children: [ TextSpan( text: '需求时间:', style: TextStyle( color: Color(0xff666666), fontSize: 16, fontWeight: FontWeight.bold)), TextSpan( // '${DateFormat("yyyy-MM-dd").format(item.appointmentDate.toString())}' text: item.appointmentDate != null ? DateFormat("yyyy-MM-dd").format( DateTime.parse( item.appointmentDate.toString())) : item.appointmentDate.toString(), style: TextStyle( color: Color(0xff222222), fontSize: 16, fontWeight: FontWeight.bold)), ]), ), ), Padding( padding: EdgeInsets.fromLTRB(0, 0, 0, 20), child: RichText( text: TextSpan(children: [ const TextSpan( text: '下单时间:', style: TextStyle( color: Color(0xff666666), fontSize: 16, fontWeight: FontWeight.bold)), TextSpan( // text: DateFormat("yyyy-MM-dd").format(DateTime.parse(item.createDate!.toString())), text: item.createDate != null ? DateFormat("yyyy-MM-dd").format( DateTime.parse(item.createDate.toString())) : item.createDate.toString(), style: const TextStyle( color: Color(0xff222222), fontSize: 16, fontWeight: FontWeight.bold)), ]), ), ), Padding( padding: EdgeInsets.fromLTRB(0, 0, 0, 20), child: RichText( text: TextSpan(children: [ TextSpan( text: '订单状态:', style: TextStyle( color: Color(0xff666666), fontSize: 16, fontWeight: FontWeight.bold)), TextSpan( text: orderStateText == null ? '待支付' : orderStateText == '已付款' ? '已付款,待调度' : orderStateText, style: TextStyle( color: orderStateColor ?? Colors.black, fontSize: 16, fontWeight: FontWeight.bold)), ]), ), ), Container( padding: EdgeInsets.fromLTRB(0, 20, 0, 0), width: 314.w, decoration: const BoxDecoration( border: Border( top: BorderSide( width: 0.8, color: Color(0x20000000) // 0x17000000 ))), child: Column( children: [ Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ const Text('费用:', style: TextStyle( color: Color(0xff666666), fontSize: 16, fontWeight: FontWeight.bold)), LinearGradientText( colors: const [ Color(0xFFFA7878), Color(0xFFB61515), ], child: Text( ((item.charges ?? 0) / 100).toString(), style: TextStyle( color: Color(0xffB61515), fontSize: 16, fontWeight: FontWeight.bold)), ), ], ), Padding( padding: EdgeInsets.fromLTRB(0, 30, 0, 0), child: Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ Text('状态:', style: TextStyle( color: Color(0xff666666), fontSize: 16, fontWeight: FontWeight.bold)), Text(orderStateText ?? '未支付', style: TextStyle( color: orderStateColor ?? Colors.black, fontSize: 16, fontWeight: FontWeight.bold)), ], ), ), ], )), ], )), ], ), ); } }