From ebdad8879618f2d33dedaaee239998a060e213e6 Mon Sep 17 00:00:00 2001 From: WinUser01 Date: Tue, 10 May 2022 20:38:28 +0800 Subject: [PATCH] =?UTF-8?q?hyzp=5Fybqx-Commit160=EF=BC=9A=E7=89=88?= =?UTF-8?q?=E6=9C=AC=E5=8F=B7=E6=9B=B4=E6=96=B0=E4=B8=BAversion:=201.4.32+?= =?UTF-8?q?20220511=E3=80=82=E4=BD=BF=E7=94=A8=E8=87=AA=E5=AE=9A=E4=B9=89?= =?UTF-8?q?=20my=5Fflutter=5Fdrag=5Fscale=20=E6=8F=92=E4=BB=B6=EF=BC=8C?= =?UTF-8?q?=E5=AE=8C=E7=BE=8E=E8=A7=A3=E5=86=B3Listview=E6=BB=9A=E5=8A=A8?= =?UTF-8?q?=E4=B8=8E=E5=9B=BE=E7=89=87=E7=BC=A9=E6=94=BE=E6=8B=96=E5=8A=A8?= =?UTF-8?q?=E4=B9=8B=E9=97=B4=E7=9A=84=E6=89=8B=E5=8A=BF=E5=86=B2=E7=AA=81?= =?UTF-8?q?=EF=BC=8C=E4=B8=8D=E4=BC=9A=E6=B6=88=E8=80=97=E7=82=B9=E5=87=BB?= =?UTF-8?q?=E4=BA=8B=E4=BB=B6=EF=BC=8C=E6=BB=9A=E5=8A=A8=E5=BE=88=E7=81=B5?= =?UTF-8?q?=E6=95=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../TJXX/today_list_zpjl_content_new0.dart | 873 ------------------ pubspec.yaml | 2 +- 2 files changed, 1 insertion(+), 874 deletions(-) delete mode 100644 lib/pages/Works/TJXX/today_list_zpjl_content_new0.dart diff --git a/lib/pages/Works/TJXX/today_list_zpjl_content_new0.dart b/lib/pages/Works/TJXX/today_list_zpjl_content_new0.dart deleted file mode 100644 index 5d7ef70..0000000 --- a/lib/pages/Works/TJXX/today_list_zpjl_content_new0.dart +++ /dev/null @@ -1,873 +0,0 @@ -//import '../../../widget/player_pro.dart'; - -import 'package:cached_network_image/cached_network_image.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter_drag_scale/flutter_drag_scale.dart'; -import 'package:flutter_screenutil/flutter_screenutil.dart'; -import 'package:hyzp_ybqx/widget/my_superplayer.dart'; -import 'package:keyboard_avoider/keyboard_avoider.dart'; - -// -import '../../../components/commonFun.dart'; -import '../../../components/doJSON.dart'; -import '../../../components/hyxx_data_handle.dart'; -import 'package:flustars/flustars.dart' as flustars; //该组件中有ScreenUtil - -// "today": { -// "total": 4, -// "data": [ -// { -// "id": 428549, -// "car_number": "川15A2563", -// "cpys": "绿色", -// "zpsj": "2021-04-04 11:31:11", -// "dwip": "172.16.3.3", -// "dwms": "岷江南路森林小区附近", -// "cplx": "农用车", -// "lgmzs": 3, -// "pic_url": "/wwwroot/admin/Api/wwwroot/public/uploads/e936524e92f90541cbaeca3b092c95be.jpg", -// "video_url": "video/3_6063_20210404_113111_川15A2563.mp4" -// }, - -class TodayListZpjlContentNew extends StatefulWidget { - TodayListZpjlContentNew({ - @required this.hyshlx, - @required this.index, - // @required this.num, - @required this.text, - // @required this.mapZpjl, - this.tsztText = '', - Key key, - }) : super(key: key); - String hyshlx; - - // String num; - int index; - String text; - - // Map mapZpjl; - String tsztText; - - _TodayListZpjlPageState createState() => _TodayListZpjlPageState(); -} - -//用TabController实现顶部tab切换 -class _TodayListZpjlPageState extends State { - //try_setState(); //避免如下异常报错 - try_setState() { - try { - if (mounted) { - setState(() {}); - } - } catch (e) { - print('setState(() {})异常:${e}'); - } - } - - dispose() { - super.dispose(); - } - - BuildContext _context; - - //flutter_screenUtil 4.x 用法,ScreenUtil.screenWidth (sdk>=2.6 : 1.sw) //设备宽度 - double _screenWidth = 1.sw; - - double _marginLeft = 25; - double _marginCenter = 35; - double _fontSize = 16; - double _widthLeft = 40; // = _screenWidth / 3; - double _iconSize = 18; - double _stampSize = 100; - double _listTileHeight = 30; - Color _iconColor = Colors.blue; - double _marginVer = 10; - - Map _mapTsjjGetTsStatus = {}; - - Map mapName = {}; - - int listLen = 0; - String num; - Map mapZpjl; - - @override - void initState() { - _context = context; - _widthLeft = _screenWidth / 2.6; - //getListFlields(); - - //得到字段名称 - mapName['plate_id'] = widget.hyshlx == 'jrzp' ? 'car_number' : 'plate_id'; - mapName['plate_color'] = widget.hyshlx == 'jrzp' ? 'cpys' : 'plate_color'; - - getZpjlData(); // 得到 index 对应的今日抓拍记录数据 - super.initState(); - } - - getZpjlData() async { - listLen = listTodayList.length; - num = '(${widget.index + 1}/${listLen})'; - mapZpjl = listTodayList[widget.index]; - - // 获取网络图片尺寸,getMediaUrl(_mapGetTsjjGetData['pic_url']) - await flustars.WidgetUtil.getImageWH(url: getMediaUrl(mapZpjl['pic_url'])).then((rect) { - if (null != rect) { - _radioImage = rect.height / rect.width; - print("rect = $rect,_radioImage = $_radioImage"); - // rect = Rect.fromLTRB(0.0, 0.0, 0.0, 0.0),_radioImage = NaN - // rect = Rect.fromLTRB(0.0, 0.0, 4096.0, 3360.0),_radioImage = 0.8203125 - } - }); - - imageWztp = getWztp(); //得到违章图片 - getPreBtn_NextBtn(); - try_setState(); - } - - double _radioImage = 9 / 16; - - // 使用 cached_network_image 插件实现网络图片缓存 - // 使用 flutter_drag_scale 实现可缩放可拖拽双击放大的图片功能。PhotoView插件不好用,有问题 - Widget getNetworkImage(String url) { - return CachedNetworkImage( - imageUrl: url, - alignment: Alignment.topCenter, - imageBuilder: (context, imageProvider) => DragScaleContainer( - doubleTapStillScale: true, child: Image(image: imageProvider, fit: BoxFit.fill) - // child: Image( - // image: NetworkImage( - // 'http://h.hiphotos.baidu.com/zhidao/wh%3D450%2C600/sign=0d023672312ac65c67506e77cec29e27/9f2f070828381f30dea167bbad014c086e06f06c.jpg'), - // ), - ), - // imageBuilder: (context, imageProvider) => PhotoView( - // imageProvider: imageProvider, - // ), - //placeholder: (context, url) => CircularProgressIndicator(), - placeholder: (context, url) => - getMoreWidget(color: Colors.black38, size: 20.0, strokeWidth: 2.0), - errorWidget: (context, url, error) => Icon(Icons.error), - ); - } - - // 167 50 3.34 - Widget getLgmzs(int lgmzs, {double width = 127, double height = 127}) { - int _rgb = (255 * (5 - lgmzs)) ~/ 5; - return Stack( - children: [ - Container( - width: ScreenUtil().setWidth(width), - height: ScreenUtil().setHeight(height), - padding: EdgeInsets.only( - right: ScreenUtil().setWidth(6), left: ScreenUtil().setWidth(6), top: 0, bottom: 4), - child: Column( - mainAxisAlignment: MainAxisAlignment.spaceEvenly, - children: [ - Text('$lgmzs级${lgmzs * 20}%', style: TextStyle(fontSize: 10)), - //SizedBox(height: 0), - Container( - width: ScreenUtil().setWidth(66), - height: ScreenUtil().setHeight(66), - decoration: BoxDecoration( - border: Border.all(color: Colors.grey), - color: Color.fromRGBO(_rgb, _rgb, _rgb, 1.0), - borderRadius: new BorderRadius.circular(0), - ), - ) - ], - ), - ), - Positioned( - top: ScreenUtil().setHeight(4), - child: Container( - width: ScreenUtil().setWidth(width), - height: ScreenUtil().setHeight(height - 8), - padding: EdgeInsets.only( - right: ScreenUtil().setWidth(6), left: ScreenUtil().setWidth(6), top: 0, bottom: 0), - decoration: BoxDecoration( - border: Border.all( - color: - (lgmzs == mapZpjl['lgmzs']) ? Colors.red : Color.fromRGBO(244, 244, 244, 1), - width: 2), - //color: Colors.lightBlue, - borderRadius: new BorderRadius.circular(3.0), - ), - ), - ) - ], - ); - } - - //得到tsjj页面组件 - //1、得到格林曼黑度标准和视频播放按钮组件 - Widget getHdAndPlay() { - return Row( - mainAxisAlignment: MainAxisAlignment.spaceEvenly, - children: [ - getLgmzs(0), - getLgmzs(1), - getLgmzs(2), - getLgmzs(3), - getLgmzs(4), - getLgmzs(5, width: 153), - getIconBtnSizeX( - height: 104, - //getIconBtnSizeX 中已经使用ScreenUtil().setHeight(126),此处不能传 ScreenUtil().setHeight(126) ,否则严重错位 - width: 168, - text: "视频", - textSize: 12, - circular: 4, - color: Color.fromRGBO(52, 157, 237, 1), - onTop: () async { - if (Playing) { - //禁止同时启动两次播放器 - return; - } - - Playing = true; //禁止同时启动两次播放器 - urlnew = getMediaUrl(mapZpjl['video_url']); - - //获取视频地址失败 - if (!isVideoUrl(urlnew)) { - return; - } - - Navigator.of(_context).push(MaterialPageRoute( - builder: (context) => SuperPlayerPage( - loop: 0, //设置播放循环,默认播放器的循环次数是1, 即不循环播放。如果设置循环次数0,表示无限循环。 - url: urlnew, - title: - '${widget.text}视频${num}\n${mapZpjl[mapName['plate_id']]}(${getDwmc(mapZpjl['dwip'])})'))); - - // Navigator.of(_context).push(MaterialPageRoute( - // builder: (context) => PlayerProNew( - // loop: 0, //设置播放循环,默认播放器的循环次数是1, 即不循环播放。如果设置循环次数0,表示无限循环。 - // url: urlnew, - // title: - // '${widget.text}视频${num}\n${mapZpjl[mapName['plate_id']]}(${getDwmc(mapZpjl['dwip'])})'))); - }, - ), - SizedBox(width: ScreenUtil().setWidth(15)), - ], - ); - } - - Widget imageWztp; - - //2、得到违章图片组件 - Widget getWztp() { - //ratioList[index] = 0.5714285714285714 - return Stack( - children: [ - Container( - width: ScreenUtil().setWidth(1022), - //height: ScreenUtil().setHeight(639), - //height: ScreenUtil().setHeight(22 + 1022 * _radioImage), - height: ScreenUtil().setHeight(30 + 1022 * g_radioImage), - decoration: BoxDecoration( - //color: Colors.white, - borderRadius: BorderRadius.all( - Radius.circular(12), - ), - ), - ), - Positioned( - //left: ScreenUtil().setWidth(_marginLeft), - top: ScreenUtil().setHeight(_marginLeft), - child: Container( - width: ScreenUtil().setWidth(1022), - // height: ScreenUtil().setHeight(30 + 1022 * _radioImage), - height: ScreenUtil().setHeight(30 + 1022 * g_radioImage), - child: getNetworkImage(getMediaUrl(mapZpjl['pic_url'])), - ), - ) - ], - ); - } - - // void printScreenInformation() { - // print('Device width dp:${1.sw}dp'); - // print('Device height dp:${1.sh}dp'); - // print('Device pixel density:${ScreenUtil().pixelRatio}'); - // print('Bottom safe zone distance dp:${ScreenUtil().bottomBarHeight}dp'); - // print('Status bar height dp:${ScreenUtil().statusBarHeight}dp'); - // print('The ratio of actual width to UI design:${ScreenUtil().scaleWidth}'); - // print( - // 'The ratio of actual height to UI design:${ScreenUtil().scaleHeight}'); - // print('System font scaling:${ScreenUtil().textScaleFactor}'); - // print('0.5 times the screen width:${0.5.sw}dp'); - // print('0.5 times the screen height:${0.5.sh}dp'); - // } - - void printScreenInformation() { - print('ScreenUtil().screenWidth = ${ScreenUtil().screenWidth}'); - print('设备宽度:${1.sw}dp'); - print('"1.w" = ${1.w}'); - print('"1.sw" = ${1.sw}'); - print('设备高度:${1.sh}dp'); - print('设备的像素密度:${ScreenUtil().pixelRatio}'); - print('底部安全区距离:${ScreenUtil().bottomBarHeight}dp'); - print('状态栏高度:${ScreenUtil().statusBarHeight}dp'); - print('实际宽度的dp与设计稿px的比例:${ScreenUtil().scaleWidth}'); - print('实际高度的dp与设计稿px的比例:${ScreenUtil().scaleHeight}'); - print('宽度和字体相对于设计稿放大的比例:${ScreenUtil().scaleWidth * ScreenUtil().pixelRatio}'); - print('高度相对于设计稿放大的比例:${ScreenUtil().scaleHeight * ScreenUtil().pixelRatio}'); - print('系统的字体缩放比例:${ScreenUtil().textScaleFactor}'); - print('屏幕宽度的0.5:${0.5.sw}dp'); - print('屏幕高度的0.5:${0.5.sh}dp'); - } - - //3、得到违章图片说明信息组件 - Widget getWztpSmxx() { - return Container( - width: ScreenUtil().setWidth(1022), - height: ScreenUtil().setHeight(390), - decoration: BoxDecoration( - color: Colors.white, - borderRadius: BorderRadius.all( - Radius.circular(12), - ), - ), - child: Column( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - //违章信息组件1:车牌号码、车牌颜色 - getWzxxPart1(), - //违章信息组件2:抓拍时间组件 - getWzxxText('抓拍时间:' + mapZpjl['zpsj']), - //违章信息组件3:车牌类型 + 黑度 - getWzxxPart3(), - //违章信息组件4:抓拍地点(简称) - getWzxxText('抓拍地点:' + getDwmc(mapZpjl['dwip']) + ' (简称)'), - //违章信息组件5:抓拍地点 - getWzxxText('抓拍地点:' + mapZpjl['dwms']), - ], - ), - ); - } - - // I/flutter (22989): ScreenUtil().screenWidth = 360.0 - // I/flutter (22989): 设备宽度:360.0dp - // I/flutter (22989): "1.w" = 0.3333333333333333 - // I/flutter (22989): "1.sw" = 360.0 - // I/flutter (22989): 设备高度:640.0dp - // I/flutter (22989): 设备的像素密度:3.0 - // I/flutter (22989): 底部安全区距离:0.0dp - // I/flutter (22989): 状态栏高度:24.0dp - // I/flutter (22989): 实际宽度的dp与设计稿px的比例:0.3333333333333333 - // I/flutter (22989): 实际高度的dp与设计稿px的比例:0.3333333333333333 - // I/flutter (22989): 宽度和字体相对于设计稿放大的比例:1.0 - // I/flutter (22989): 高度相对于设计稿放大的比例:1.0 - // I/flutter (22989): 系统的字体缩放比例:1.0 - // I/flutter (22989): 屏幕宽度的0.5:180.0dp - // I/flutter (22989): 屏幕高度的0.5:320.0dp - - //3、得到违章信息组件1:车牌号码、车牌颜色 - //车牌颜色Map cpysMap = { - // '蓝色': cpysItem( - // cpysText: '蓝色', - // cpysBackground: Colors.blue, - // cpysFont: Colors.white, - // cpysBorder: Colors.orange), - // } - Widget getWzxxPart1() { - //printScreenInformation(); - return Row( - mainAxisAlignment: MainAxisAlignment.start, - children: [ - SizedBox(width: ScreenUtil().setWidth(_marginLeft)), - getTitleText('车牌号码:'), - getBoderText(mapZpjl[mapName['plate_id']].toString(), - width: ScreenUtil().setWidth(1022 / 3.2)), - Expanded(child: SizedBox.shrink()), - getTitleText('颜色:'), - getBoderText(mapZpjl[mapName['plate_color']], width: ScreenUtil().setWidth(1022 / 4.8)), - SizedBox(width: ScreenUtil().setWidth(_marginLeft)), - ], - ); - } - - Widget getTitleRichText(String text1, {String text2 = '', double fontSize = 16}) { - return RichText( - overflow: TextOverflow.ellipsis, - textAlign: TextAlign.left, - text: TextSpan( - text: text1, - style: TextStyle(fontSize: fontSize, color: Colors.black), - children: [ - TextSpan( - text: text2, - style: TextStyle(fontSize: fontSize, color: Colors.blue, fontWeight: FontWeight.w500), - ), - ], - ), - ); - } - - Widget getTitleText(String text, {double fontSize = 16}) { - return Text(text, - style: TextStyle(fontSize: fontSize), - textAlign: TextAlign.left, - overflow: TextOverflow.ellipsis); - } - - Widget getTrailText(String text, {double fontSize = 16, double off = 0}) { - return Container( - width: _screenWidth - _widthLeft - off - (2 * ScreenUtil().setWidth(_marginLeft)), - child: Text(text, - style: TextStyle(fontSize: fontSize), - textAlign: TextAlign.left, - overflow: TextOverflow.ellipsis), - ); - } - - Widget getBoderText(String text, {double width = 40}) { - cpysItem _cpysItem = cpysMap[mapZpjl[mapName['plate_color']]]; - - return Container( - //color: _cpysItem.cpysBackground, - alignment: Alignment(0, -1), - width: width, - decoration: BoxDecoration( - border: Border.all(color: _cpysItem.cpysBorder, width: 2), - color: _cpysItem.cpysBackground, - borderRadius: BorderRadius.circular(3), - ), - child: Padding( - padding: EdgeInsets.only(bottom: 3), - child: Text(text, - style: TextStyle(fontSize: _fontSize, color: _cpysItem.cpysFont), - textAlign: TextAlign.left, - overflow: TextOverflow.ellipsis), - ), - ); - } - - //I/flutter (17555): mapZpjl = { - // id: 1222, plate_id: 川Q736X2, plate_color: 蓝色, zpsj: 1612857077, yjxx_id: 1399, workflow: 999, - // video_url: video/9_6063_20210209_155117_川Q736X2.mp4, - // pic_url: /wwwroot/admin/Api/wwwroot/public/uploads/9d2f45fd24b41f2b94abe42b30970d75.jpg, - // clfl: 集装箱卡车, dwip: 172.16.3.9, dwms: 宜长路出城方向, lgmzs: 3, jczxd: 994, sfhy: 黑烟车 - // } - - Widget getIcon(IconData _iconData) { - return Container( - width: _iconSize - 2, - height: _iconSize, - child: Padding( - padding: EdgeInsets.only(top: 2), - child: Icon(_iconData, size: _iconSize, color: _iconColor), - ), - ); - } - - Widget getWzxxText(String _text, {double fontSize = 16}) { - return Row( - mainAxisAlignment: MainAxisAlignment.start, - children: [ - SizedBox(width: ScreenUtil().setWidth(_marginLeft)), - Container( - alignment: Alignment(-1, 0), - width: ScreenUtil().setWidth(1022) - ScreenUtil().setWidth(_marginLeft), - child: Text(_text, - style: TextStyle(fontSize: fontSize), - textAlign: TextAlign.left, - overflow: TextOverflow.ellipsis), - ), - ], - ); - } - - Widget getWzxxPart3() { - return Row( - mainAxisAlignment: MainAxisAlignment.start, - children: [ - SizedBox(width: ScreenUtil().setWidth(_marginLeft)), - Container( - alignment: Alignment(-1, 0), - //width: ScreenUtil().setWidth(1022) - ScreenUtil().setWidth(_marginLeft), - child: getTitleText('车牌类型:' + mapZpjl['cplx']), - ), - Expanded(child: SizedBox.shrink()), - //getTitleText('黑度: ${mapZpjl['lgmzs']}'), - getTitleRichText('黑度:', text2: '${mapZpjl['lgmzs']} '), - SizedBox(width: ScreenUtil().setWidth(_marginLeft)), - ], - ); - } - - Widget getText(String text, {Color color}) { - return Row( - mainAxisAlignment: MainAxisAlignment.start, - children: [ - Container( - alignment: Alignment(-1, 0), - width: ScreenUtil().setWidth(1022 - 2 * _marginLeft), - child: Row( - mainAxisAlignment: MainAxisAlignment.start, - children: [ - SizedBox(width: ScreenUtil().setWidth(_marginLeft)), - // Flutter 解决Text内容展示越界 - Expanded( - child: Text(text, - textAlign: TextAlign.left, - overflow: TextOverflow.ellipsis, - style: TextStyle(color: color))) - ], - ), - ), - ], - ); - } - - Widget getText2(String text1, String text2, String text3, {Color color}) { - return Row( - mainAxisAlignment: MainAxisAlignment.start, - children: [ - Container( - alignment: Alignment(-1, 0), - width: ScreenUtil().setWidth(1022 - 2 * _marginLeft), - child: Row( - mainAxisAlignment: MainAxisAlignment.start, - children: [ - SizedBox(width: ScreenUtil().setWidth(_marginLeft)), - Text(text1, textAlign: TextAlign.left), - Text(text2, - textAlign: TextAlign.left, - overflow: TextOverflow.ellipsis, - style: TextStyle(color: color, fontWeight: FontWeight.w500)), - Text(text3, textAlign: TextAlign.left), - ], - ), - ), - ], - ); - } - - //5、得到黑烟初审'hycsInfo'、或者黑烟'hyfhInfo'複核信息组件 - //style: TextStyle(fontSize: _fontSize), - Widget getHyshInfo(String _hyshInfo) { - String _hyshLx = (_hyshInfo == 'hycsInfo' ? '初审' : '复审'); //黑烟审核类型 - String _hyshYh = (_hyshInfo == 'hycsInfo' ? 'cs_username' : 'fs_username'); //黑烟审核用户 - String _hyshSj = (_hyshInfo == 'hycsInfo' ? 'cs_time' : 'fs_time'); //黑烟审核时间 - String _hyshJg = (_hyshInfo == 'hycsInfo' ? 'cs_tile' : 'fs_tile'); //黑烟审核结果 - String _hyshYj = (_hyshInfo == 'hycsInfo' ? 'cs_shuoming' : 'fs_shuoming'); //黑烟审核意见 - - double _height = _hyshInfo == 'hyfhInfo' && widget.hyshlx == 'tsjj' ? 315 : 265; - return Column( - children: [ - Container( - width: ScreenUtil().setWidth(1022), - height: ScreenUtil().setHeight(_height), - decoration: BoxDecoration( - color: Colors.white, - borderRadius: BorderRadius.all( - Radius.circular(12), - ), - ), - child: Column( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Row( - mainAxisAlignment: MainAxisAlignment.start, - children: [ - Container( - alignment: Alignment(-1, 0), - width: ScreenUtil().setWidth(1022 - 2 * _marginLeft), - child: Row( - mainAxisAlignment: MainAxisAlignment.start, - children: [ - SizedBox(width: ScreenUtil().setWidth(_marginLeft)), - Text('${_hyshLx}结果:' + mapZpjl[_hyshJg], - textAlign: TextAlign.left, overflow: TextOverflow.ellipsis), - SizedBox(width: ScreenUtil().setWidth(20)), - Container( - width: my_iconSize, - height: my_iconSize, - decoration: mapZpjl[_hyshJg] == '' - ? null - : BoxDecoration( - //color: Colors.white, - image: DecorationImage( - image: AssetImage(mapZpjl[_hyshJg] == "黑烟车" - ? "assets/images/hyc.png" - : "assets/images/fhyc.png"), - fit: BoxFit.contain), - ), - alignment: Alignment.center, - //child: - ), - ], - ), - ), - ], - ), - getText('${_hyshLx}意见:' + mapZpjl[_hyshYj]), - getText('${_hyshLx}用户:' + mapZpjl[_hyshYh]), - getText('${_hyshLx}时间:' + mapZpjl[_hyshSj]), - _hyshInfo == 'hyfhInfo' && widget.hyshlx == 'tsjj' - ? (getText2('推送状态:', widget.tsztText, ' (${getDate(mapZpjl['ts_time'])})', - color: - widget.tsztText.indexOf('成功') >= 0 ? Colors.blueAccent : Colors.black26)) - : SizedBox.shrink(), - ], - ), - ), - SizedBox(height: ScreenUtil().setHeight(_marginVer)), - ], - ); - } - - //9、得到推送交警状态信息组件7:推送状态 - // tszt 整型 推送状态:0-未推送 | 1-推送失败 | 3-推送成功 - //_mapTsjjGetTsStatus['tszt'] - Widget getWzxxPart7() { - return Row( - mainAxisAlignment: MainAxisAlignment.start, - children: [ - SizedBox(width: ScreenUtil().setWidth(_marginLeft)), - Container( - alignment: Alignment(-1, 0), - width: _screenWidth - ScreenUtil().setWidth(_marginLeft), - child: getTitleText('推送状态:' + mapTsztText[_mapTsjjGetTsStatus['tszt']]), - ), - ], - ); - } - - //10、得到推送交警确认组件 - Widget getTsjjQr() { - return Row( - mainAxisAlignment: MainAxisAlignment.spaceEvenly, - children: [ - getBtnSizeX( - text: "返回", - onPressedFun: () async { - Navigator.pop(context); - }, - width: 90.0), - preBtn, - nextBtn, - ], - ); - } - - //解决第一次进入报错问题。因为getPreBtn_NextBtn()还未执行,preBtn和nextBtn为空 - Widget preBtn = Container( - color: Colors.white12, //onPressedFun为null时无效 - width: 70.0, - height: 35.0, - child: RaisedButton( - padding: EdgeInsets.all(0), - textColor: Colors.black, - child: Text('上一条'), - onPressed: null, - ), - ); - - Widget nextBtn = Container( - color: Colors.white12, //onPressedFun为null时无效 - width: 70.0, - height: 35.0, - child: RaisedButton( - padding: EdgeInsets.all(0), - textColor: Colors.black, - child: Text('下一条'), - onPressed: null, - ), - ); - - getPreBtn_NextBtn() { - preBtn = getBtnSizeX( - text: "上一条", - onPressedFun: null, - ); - nextBtn = getBtnSizeX( - text: "下一条", - onPressedFun: null, - ); - - if (widget.index > 0 && listLen > 0) { - preBtn = getBtnSizeX( - text: "上一条", - onPressedFun: () async { - if (widget.index > 0) { - widget.index--; - getZpjlData(); - } - }, - ); - } - - if (widget.index < (listLen - 1) && listLen > 0) { - nextBtn = getBtnSizeX( - text: "下一条", - onPressedFun: () async { - if (widget.index < listLen - 1) { - widget.index++; - getZpjlData(); - } - }, - ); - } - } - - bool showMoreWidget = false; - - @override - Widget build(BuildContext context) { - return Scaffold( - //resizeToAvoidBottomPadding: false, - appBar: PreferredSize( - preferredSize: Size.fromHeight(ScreenUtil().setHeight(173)), // 设置appBar高度 - // 设置appBar高度 - child: AppBar( - automaticallyImplyLeading: false, - centerTitle: true, - titleSpacing: 0.0, - //设置title的左边距 - flexibleSpace: Container( - //SizedBox(height: ScreenUtil().statusBarHeight), //显示顶部状态栏 - // SizedBox(height: ScreenUtil().setHeight(10)), //显示顶部状态栏 - padding: EdgeInsets.only(top: ScreenUtil().statusBarHeight), //留出顶部状态栏高度 - child: Container( - //height: ScreenUtil().setHeight(173), - decoration: BoxDecoration( - gradient: LinearGradient( - begin: Alignment.centerLeft, - end: Alignment.centerRight, - colors: [ - Color.fromRGBO(12, 186, 156, 1), - Color.fromRGBO(39, 127, 235, 1), - ], - ), - ), - // decoration: BoxDecoration( - // gradient: LinearGradient(colors: [ - // Color(0xFF0018EB), - // Color(0xFF01C1D9), - // ], begin: Alignment.bottomCenter, end: Alignment.topCenter), - // ), - ), - ), - title: Padding( - padding: EdgeInsets.only(left: 0, right: 0), - child: Row( - //mainAxisAlignment: MainAxisAlignment.start, - children: [ - getIconAndTextButton( - iconColor: Colors.white, - iconData: Icons.chevron_left_outlined, - onPress: showMoreWidget - ? null - : () { - Navigator.pop(context); - }, - ), - Expanded( - child: Text(widget.text + '记录' + num, - style: TextStyle(color: Colors.white, fontSize: 20), - textAlign: TextAlign.center, - overflow: TextOverflow.ellipsis), - ), - SizedBox(width: 30), - ], - ), - ), - ), - ), - body: null == imageWztp - // 显示加载中的圈圈 - ? getMoreWidget(color: Colors.black38, size: 20.0, strokeWidth: 2.0) - : Stack( - children: [ - //SizedBox.shrink() 创建父类允许最小尺寸的约束Box - showMoreWidget - ? Align( - alignment: Alignment(0, 0.8), - child: Container( - height: 200, - width: 200, - child: getMoreWidget2( - text: '加载中...', - color: Colors.red, - size: 40.0, - strokeWidth: 3.0), //显示加载中的圈圈, - ), - ) - : SizedBox.shrink(), - KeyboardAvoider( - autoScroll: true, - child: Container( - color: Color.fromRGBO(244, 244, 244, 1), - child: Column( - children: [ - //1、得到格林曼黑度标准和视频播放按钮组件 - getHdAndPlay(), - //2、得到违章图片组件 - imageWztp, - SizedBox(height: ScreenUtil().setHeight(_marginVer)), - //3、得到违章图片说明信息组件 - getWztpSmxx(), - SizedBox(height: ScreenUtil().setHeight(_marginVer)), - //7、得到黑烟初审信息组件 - widget.hyshlx == 'hycs' || - widget.hyshlx == 'hyfh' || - widget.hyshlx == 'tsjj' - ? getHyshInfo('hycsInfo') - : SizedBox.shrink(), - //8、得到黑烟复审信息组件 - widget.hyshlx == 'hyfh' || widget.hyshlx == 'tsjj' - ? getHyshInfo('hyfhInfo') - : SizedBox.shrink(), - SizedBox(height: widget.hyshlx == 'tsjj' ? 0 : 15), - //9、得到推送交警确认组件 - getTsjjQr(), - //SizedBox(height: 10), - ], - ), - ), - ), - widget.hyshlx == 'tsjj' - ? Positioned( - //alignment: Alignment(0.9, 0.35), - //alignment: Alignment(0.8, 0.45), - right: ScreenUtil().setWidth(50), - top: ScreenUtil().setHeight(1423), - child: Container( - //alignment: Alignment(0.5, -0.5), - width: _stampSize, - height: _stampSize, - //color: Colors.black12, - decoration: BoxDecoration( - //color: Colors.white, - image: DecorationImage( - //image: AssetImage("assets/images/jkzx_stamp.png"), fit: BoxFit.contain), - image: AssetImage(mapZpjl['fs_tile'] == '黑烟车' - ? "assets/images/hyc.png" - : "assets/images/fhyc.png"), - fit: BoxFit.contain), - ), - //child: - ), - ) - : SizedBox.shrink(), - ], - ), - ); - } - - Widget getBtnSizeX({@required text, width = 70.0, height = 35.0, onPressedFun}) { - return Container( - color: Colors.white12, //onPressedFun为null时无效 - width: width, - height: height, - child: RaisedButton( - padding: EdgeInsets.all(0), - textColor: Colors.black, - child: Text(text), - onPressed: onPressedFun, - ), - ); - } -} diff --git a/pubspec.yaml b/pubspec.yaml index bf0ec85..139daff 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -70,7 +70,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev #version: 1.4.29+20220502 #version: 1.4.30+20220504 #version: 1.4.31+20220506 -version: 1.4.32+20220510 +version: 1.4.32+20220511 environment: sdk: ">=2.7.0 <3.0.0"