123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138 |
- import 'package:flutter/cupertino.dart';
- import 'package:flutter/material.dart';
- import 'package:flutter_tzh/home/YSHomeListDetail.dart';
- import '../../tool/YSRefrehLoad.dart';
- import '../../tool/YSTools.dart';
- class YSHomeListItemView extends StatefulWidget {
- final Map item;
- const YSHomeListItemView({Key? key, required this.item}) : super(key: key);
- @override
- YSHomeListItemViewState createState() => YSHomeListItemViewState();
- }
- class YSHomeListItemViewState extends State<YSHomeListItemView> {
- List<Color> _gradient = [];
- @override
- Widget build(BuildContext context) {
- if(widget.item['status']==2){
- _gradient = [const Color(0xFF59D35D),const Color(0xFF59D7E3)];
- }else if(widget.item['status']==4){
- _gradient = [const Color(0xFF3980DD),const Color(0xFFC19CF9)];
- }else if(widget.item['status']==0){
- _gradient = [const Color(0xFFCE665E),const Color(0xFFE38459)];
- }else if(widget.item['status']==1){
- _gradient = [const Color(0xFFDE8128),const Color(0xFFF8D889)];
- }else if(widget.item['status']==3){
- _gradient = [const Color(0xFFE0C430),const Color(0xFF8ED674)];
- }else if(widget.item['status']==5){
- _gradient = [const Color(0xFFD86695),const Color(0xFFFB9696)];
- }
- return GestureDetector(
- onTap: (){
- Navigator.of(context).push(
- CupertinoPageRoute(builder: (context){
- return YSHomeListDetail(itemId: widget.item['planNum'],);
- })
- ).then((value) {
- CustomNotification('').dispatch(context);
- });
- },
- behavior: HitTestBehavior.opaque,
- child: Container(
- decoration: BoxDecoration(
- color: const Color(0xFF2E3138),
- borderRadius: const BorderRadius.all(Radius.circular(24)),
- border: Border.all(color: const Color(0xFF3E434E),width: hsp(1))
- ),
- child: LayoutBuilder(
- builder: (context, constraints) {
- return Column(
- children: [
- // Container(
- // padding: EdgeInsets.all(hsp(15)),
- // child: Row(
- // children: [
- // SizedBox(
- // width: constraints.maxWidth*0.7-hsp(30),
- // child: Text(widget.item['title']??'',style: TextStyle(fontSize: zsp(14),color: Colors.white),),
- // ),
- // Container(
- // alignment: Alignment.centerRight,
- // width: constraints.maxWidth*0.3,
- // child: Text('查看更多',style: TextStyle(fontSize: zsp(11),color: const Color(0xFFACB5C5)),),
- // )
- // ],
- // ),
- // ),
- Container(
- padding: EdgeInsets.all(hsp(15)),
- // decoration: BoxDecoration(
- // border: Border(top: BorderSide(color: const Color(0xFF3E434E),width: hsp(1)),bottom: BorderSide(color: const Color(0xFF3E434E),width: hsp(1)))
- // ),
- width: ysWidth(context),
- child: Column(
- children: [
- Row(
- children: [
- SizedBox(
- width: constraints.maxWidth*0.85-hsp(30),
- child: Text('编号:${widget.item['planNum']}',style: TextStyle(fontSize: zsp(12),color: Colors.white),),
- ),
- Container(
- height: hsp(20),
- alignment: Alignment.center,
- width: constraints.maxWidth*0.15,
- decoration: BoxDecoration(
- gradient: LinearGradient(colors: _gradient),
- borderRadius: const BorderRadius.all(Radius.circular(50))
- ),
- child: Text(
- widget.item['status']==0?'待确认':widget.item['status']==1?'待采样':widget.item['status']==2?'进行中':widget.item['status']==3?
- '待检测':widget.item['status']==4?'已完成':widget.item['status']==5?'已拒绝':'',
- style: TextStyle(fontSize: zsp(11),color: Colors.white),
- ),
- )
- ],
- ),
- Container(
- width: constraints.maxWidth-hsp(30),
- padding: EdgeInsets.only(top: hsp(8),bottom: hsp(8)),//${widget.item['content']}
- child: Text('采样计划名称:${widget.item['name']}',style: TextStyle(fontSize: zsp(12),color: Colors.white),maxLines: 2,overflow: TextOverflow.ellipsis,),
- ),
- if(widget.item['address']!=null)SizedBox(
- width: constraints.maxWidth-hsp(30),
- child: Text('地址:${widget.item['address']??''}',style: TextStyle(fontSize: zsp(12),color: Colors.white),),
- ),
- ],
- ),
- ),
- Container(
- padding: EdgeInsets.all(hsp(15)),
- decoration: BoxDecoration(
- border: Border(top: BorderSide(color: const Color(0x99535966),width: hsp(1)))
- ),
- child: Row(
- children: [
- SizedBox(
- width: constraints.maxWidth*0.8-hsp(30),
- child: Text('取样日期:${widget.item['startTime']??''} - ${widget.item['endTime']??''}',style: TextStyle(fontSize: zsp(12),color: Colors.white),),
- ),
- Container(
- alignment: Alignment.centerRight,
- width: constraints.maxWidth*0.2,
- child: Text('详情',style: TextStyle(fontSize: zsp(11),color: const Color(0xFFACB5C5)),),
- )
- ],
- ),
- ),
- ],
- );
- },
- ),
- ),
- );
- }
- }
|