order_detail_page.dart 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674
  1. import 'package:flutter/material.dart';
  2. import 'package:flutter_screenutil/flutter_screenutil.dart';
  3. import 'package:flutter_picker/flutter_picker.dart';
  4. import '../../util/api.dart';
  5. import '../../util/models.dart';
  6. import '../../util/util.dart';
  7. import '../../showAlert.dart';
  8. import '../../showLineModal.dart';
  9. import '../../util/session.dart';
  10. import '../../util/bluetooth_utils.dart';
  11. class OrderDetailPage extends StatefulWidget {
  12. final String orderNo;
  13. final String status;
  14. OrderDetailPage({
  15. Key key,
  16. @required this.orderNo,
  17. @required this.status
  18. }): super(key: key);
  19. _OrderDetailPageState createState() => _OrderDetailPageState();
  20. }
  21. class _OrderDetailPageState extends State < OrderDetailPage > {
  22. OrderDetailData orderDetailObj;
  23. @override
  24. void initState() {
  25. super.initState();
  26. getOrderDetail(widget.orderNo).then((resp) {
  27. if (isNotError(context, resp) && this.mounted) {
  28. OrderDetailObj tempObj = OrderDetailObj.fromJson(resp.data);
  29. setState(() {
  30. orderDetailObj = tempObj.data;
  31. });
  32. }
  33. });
  34. }
  35. @override
  36. Widget build(BuildContext context) {
  37. return Scaffold(
  38. appBar: AppBar(
  39. title: Text(
  40. "订单详情",
  41. style: TextStyle(fontSize: ScreenUtil.getInstance().setSp(36)),
  42. ),
  43. centerTitle: true,
  44. backgroundColor: Color.fromRGBO(64, 98, 254, 1),
  45. ),
  46. body: Container(
  47. padding: EdgeInsets.fromLTRB(
  48. 0,
  49. ScreenUtil.getInstance().setHeight(20),
  50. 0,
  51. ScreenUtil.getInstance().setHeight(20)),
  52. color: Color.fromRGBO(246, 246, 254, 1),
  53. child: orderDetailObj == null ?
  54. Center(
  55. child: _getMoreWidget(),
  56. ) :
  57. ListView(
  58. children: < Widget > [
  59. _sendInfo(),
  60. _getInfo(),
  61. ItemInfoWidget(obj: orderDetailObj, status: widget.status),
  62. ],
  63. )),
  64. //resizeToAvoidBottomPadding: false //键盘弹出,页面不跟随向上滑动,防止出现溢出错误
  65. );
  66. }
  67. Widget _sendInfo() {
  68. return Container(
  69. color: Colors.white,
  70. margin: EdgeInsets.only(bottom: ScreenUtil.getInstance().setHeight(20)),
  71. child: Column(
  72. children: < Widget > [
  73. titleWidget('lib/images/icon_send.png', '发件信息'),
  74. underLine(),
  75. contentWiget(
  76. '电话',
  77. orderDetailObj.senderPhone != null ?
  78. orderDetailObj.senderPhone :
  79. orderDetailObj.sendCompanyPhone),
  80. contentWiget('企业编码', orderDetailObj.sendCompanyCode),
  81. contentWiget('企业名称', orderDetailObj.sendCompanyName),
  82. contentWiget(
  83. '城市/区域',
  84. '${orderDetailObj.sendCompanyProvinceName}' +
  85. ' ' +
  86. '${orderDetailObj.sendCompanyCityName}' +
  87. ' ' +
  88. '${orderDetailObj.sendCompanyAreaName}'),
  89. lastContentWiget('详细地址', orderDetailObj.sendCompanyAddress)
  90. ],
  91. ));
  92. }
  93. Widget _getInfo() {
  94. return Container(
  95. color: Colors.white,
  96. margin: EdgeInsets.only(bottom: ScreenUtil.getInstance().setHeight(20)),
  97. child: Column(
  98. children: < Widget > [
  99. titleWidget('lib/images/icon_shoujian.png', '收件信息'),
  100. underLine(),
  101. contentWiget('企业名称', orderDetailObj.receiptCompanyName),
  102. contentWiget('电话', orderDetailObj.receiptCompanyPhone),
  103. contentWiget(
  104. '城市/区域',
  105. '${orderDetailObj.receiptCompanyProvinceName}' +
  106. ' ' +
  107. '${orderDetailObj.receiptCompanyCityName}' +
  108. ' ' +
  109. '${orderDetailObj.receiptCompanyAreaName}'),
  110. lastContentWiget('详细地址', orderDetailObj.sendCompanyAddress)
  111. ],
  112. ));
  113. }
  114. }
  115. class ItemInfoWidget extends StatefulWidget {
  116. final OrderDetailData obj;
  117. final String status;
  118. ItemInfoWidget({
  119. Key key,
  120. @required this.obj,
  121. @required this.status
  122. }): super(key: key);
  123. _ItemInfoWidgetState createState() => _ItemInfoWidgetState();
  124. }
  125. class _ItemInfoWidgetState extends State < ItemInfoWidget > {
  126. double afterTransportFee = 0.0; //运费
  127. int afterGoodsNumber = 0; //数量
  128. double afterCollectingFee = 0.0; //代收
  129. bool submitStatus = true;
  130. String lineId = '-1';
  131. List < CompanyOfLineList > lineList = [];
  132. String showTextPaymentMehod = '现付';
  133. int goodsPaymentMethod = 1;
  134. BluetoothUtils bluetooth = BluetoothUtils();
  135. @override
  136. void initState() {
  137. super.initState();
  138. setState(() {
  139. afterTransportFee = widget.obj.goodsFreight / 100;
  140. afterGoodsNumber = widget.obj.goodsQuantity;
  141. afterCollectingFee = widget.obj.goodsAgencyFund / 100;
  142. lineId = widget.obj.lineId.toString();
  143. });
  144. if (widget.obj.receiptCompanyId != null) {
  145. getLineOfCompanyId(widget.obj.receiptCompanyId.toString()).then((resp) {
  146. if (isNotError(context, resp) && this.mounted) {
  147. CompanyOfLine obj = CompanyOfLine.fromJson(resp.data);
  148. setState(() {
  149. lineList = obj.data;
  150. });
  151. }
  152. });
  153. }
  154. showTextPaymentMehod = widget.obj.goodsPaymentMethod == 1 ? '现付' : '到付';
  155. goodsPaymentMethod = widget.obj.goodsPaymentMethod;
  156. }
  157. @override
  158. Widget build(BuildContext context) {
  159. return Container(
  160. child: Container(
  161. color: Colors.white,
  162. child: Column(
  163. crossAxisAlignment: CrossAxisAlignment.start,
  164. children: < Widget > [
  165. titleWidget('lib/images/icon_huowu.png', "货物信息"),
  166. underLine(),
  167. contentWiget("货物名称", widget.obj.goods),
  168. _inputWidget("数量", widget.obj.goodsQuantity),
  169. _inputWidget("运费", widget.obj.goodsFreight / 100),
  170. _inputWidget("代收", widget.obj.goodsAgencyFund / 100),
  171. _packageType('付款方式'),
  172. contentWiget(
  173. "保价", (widget.obj.goodsPriceProtection / 100).toString()),
  174. contentWiget("重量", widget.obj.goodsWeight.toStringAsFixed(1)),
  175. contentWiget("包装类型", (widget.obj.goodsPackingName)),
  176. contentWiget("货物类型", (widget.obj.goodsCategoryName)),
  177. _descWidget(widget.obj.memo),
  178. submitBtn(widget.obj.orderNo)
  179. ],
  180. ),
  181. ));
  182. }
  183. Widget _inputWidget(String key, num value) {
  184. return Padding(
  185. padding: EdgeInsets.only(left: ScreenUtil.getInstance().setWidth(30)),
  186. child: Column(
  187. children: < Widget > [
  188. SizedBox(
  189. height: ScreenUtil.getInstance().setHeight(89),
  190. child: Center(
  191. child: Row(
  192. mainAxisAlignment: MainAxisAlignment.spaceBetween,
  193. children: < Widget > [
  194. Text(
  195. key,
  196. style: TextStyle(
  197. fontSize: ScreenUtil.getInstance().setSp(30),
  198. color: Color.fromRGBO(74, 74, 74, 1)),
  199. ),
  200. Container(
  201. width: ScreenUtil.getInstance().setWidth(300),
  202. child: Row(
  203. mainAxisAlignment: MainAxisAlignment.end,
  204. children: < Widget > [
  205. Expanded(
  206. //padding: EdgeInsets.only(right: ScreenUtil.getInstance().setWidth(20)),
  207. //child: Text(value,style: TextStyle(fontSize: ScreenUtil.getInstance().setSp(30), color: Color.fromRGBO(136, 136, 136, 1)), ),
  208. child: Center(
  209. child:Padding(
  210. padding: EdgeInsets.only(right: ScreenUtil.getInstance().setWidth(30)),
  211. child: TextField(
  212. keyboardType: TextInputType.number,
  213. textAlign: TextAlign.end,
  214. style: TextStyle(
  215. fontSize:
  216. ScreenUtil.getInstance().setSp(30),
  217. color: Colors.black),
  218. decoration: InputDecoration(
  219. border: InputBorder.none,
  220. hintText: value.toString(),
  221. hintStyle: TextStyle(
  222. fontSize:
  223. ScreenUtil.getInstance().setSp(30),
  224. color: Colors.black),
  225. contentPadding: EdgeInsets.fromLTRB(
  226. ScreenUtil.getInstance().setWidth(20),
  227. 0,
  228. 0,
  229. 0),
  230. ),
  231. onChanged: (value) {
  232. if (key == '数量') {
  233. afterGoodsNumber = int.parse(value);
  234. } else if (key == '运费') {
  235. afterTransportFee = double.parse(value);
  236. String temp =
  237. afterTransportFee.toStringAsFixed(1);
  238. afterTransportFee = double.parse(temp);
  239. } else if (key == '代收') {
  240. afterCollectingFee = double.parse(value);
  241. String temp =
  242. afterCollectingFee.toStringAsFixed(1);
  243. afterCollectingFee = double.parse(temp);
  244. }
  245. },
  246. ),
  247. )
  248. )),
  249. // Icon(
  250. // Icons.keyboard_arrow_right,
  251. // color: Color.fromRGBO(199, 199, 204, 1),
  252. // )
  253. ],
  254. ))
  255. ],
  256. ),
  257. )),
  258. Expanded(flex: 0, child: underLine())
  259. ],
  260. ));
  261. }
  262. Widget _descWidget(String str) {
  263. return Container(
  264. padding: EdgeInsets.all(ScreenUtil.getInstance().setWidth(30)),
  265. child: Text(
  266. str,
  267. maxLines: 100,
  268. style: TextStyle(
  269. fontSize: ScreenUtil.getInstance().setSp(30),
  270. color: Color.fromRGBO(74, 74, 74, 1)),
  271. ),
  272. );
  273. }
  274. Widget submitBtn(String orderNo) {
  275. return GestureDetector(
  276. child: Container(
  277. margin: EdgeInsets.fromLTRB(
  278. ScreenUtil.getInstance().setWidth(30),
  279. ScreenUtil.getInstance().setWidth(50),
  280. ScreenUtil.getInstance().setWidth(30),
  281. ScreenUtil.getInstance().setWidth(40)),
  282. height: ScreenUtil.getInstance().setHeight(88),
  283. decoration: BoxDecoration(
  284. borderRadius: BorderRadius.all(Radius.circular(4)),
  285. color: Color.fromRGBO(37, 102, 242, 1),
  286. ),
  287. child: Center(
  288. child: Row(
  289. mainAxisAlignment: MainAxisAlignment.center,
  290. children: < Widget > [
  291. Offstage(
  292. offstage: submitStatus,
  293. child: SizedBox(
  294. width: ScreenUtil.getInstance().setWidth(45),
  295. height: ScreenUtil.getInstance().setHeight(45),
  296. child: Image.asset('lib/images/loading.gif'),
  297. ),
  298. ),
  299. Text('提交',
  300. style: TextStyle(
  301. fontSize: ScreenUtil.getInstance().setSp(36),
  302. color: Colors.white)),
  303. ],
  304. )),
  305. ),
  306. onTap: () {
  307. if (!submitStatus) return;
  308. if (afterCollectingFee > 0) {
  309. if (widget.obj.sendCompanyBankCard == null ||
  310. widget.obj.sendCompanyBankCard == '') {
  311. showDialog < Null > (
  312. context: context,
  313. barrierDismissible: false,
  314. builder: (BuildContext context) {
  315. return MyAlertDialog(text: '银行信息不全', childCallback: (val) {});
  316. });
  317. return;
  318. }
  319. }
  320. if (lineList.length > 1 && widget.status == '寄件') {
  321. showLineModal(lineList, orderNo);
  322. return;
  323. }
  324. submitOrder(orderNo);
  325. },
  326. );
  327. }
  328. Widget _packageType(String key) {
  329. return Padding(
  330. padding: EdgeInsets.only(left: ScreenUtil.getInstance().setWidth(30)),
  331. child: Column(
  332. children: < Widget > [
  333. InkWell(
  334. child: SizedBox(
  335. height: ScreenUtil.getInstance().setHeight(89),
  336. child: Center(
  337. child: Row(
  338. mainAxisAlignment: MainAxisAlignment.spaceBetween,
  339. children: < Widget > [
  340. Expanded(
  341. flex: 0,
  342. child: Text(
  343. key,
  344. style: TextStyle(
  345. fontSize: ScreenUtil.getInstance().setSp(30),
  346. color: Color.fromRGBO(74, 74, 74, 1)),
  347. ),
  348. ),
  349. Expanded(
  350. child: Row(
  351. mainAxisAlignment: MainAxisAlignment.end,
  352. children: < Widget > [
  353. //Text('${value}', style: TextStyle(fontSize: ScreenUtil.getInstance().setSp(30), color: Color.fromRGBO(136, 136, 136, 1)), ),
  354. SizedBox(
  355. width: ScreenUtil.getInstance().setWidth(500),
  356. child: Text(
  357. showTextPaymentMehod,
  358. textAlign: TextAlign.end,
  359. )),
  360. Icon(
  361. Icons.keyboard_arrow_right,
  362. color: Color.fromRGBO(199, 199, 204, 1),
  363. )
  364. ],
  365. ))
  366. ],
  367. ),
  368. )),
  369. onTap: () {
  370. showPickerModal(context);
  371. },
  372. ),
  373. Expanded(flex: 0, child: underLine())
  374. ],
  375. ));
  376. }
  377. showPickerModal(BuildContext context) {
  378. List < dynamic > data = ['现付', '到付'];
  379. new Picker(
  380. adapter: PickerDataAdapter < String > (pickerdata: data),
  381. height: ScreenUtil.getInstance().setHeight(450),
  382. confirmText: '确定',
  383. confirmTextStyle: TextStyle(
  384. fontSize: ScreenUtil.getInstance().setSp(30),
  385. color: Color.fromRGBO(64, 98, 254, 1)),
  386. cancelText: '取消',
  387. cancelTextStyle: TextStyle(
  388. fontSize: ScreenUtil.getInstance().setSp(30),
  389. color: Color.fromRGBO(153, 153, 153, 1)),
  390. headercolor: Color.fromRGBO(245, 245, 245, 1),
  391. itemExtent: ScreenUtil.getInstance().setHeight(80),
  392. textStyle: TextStyle(
  393. fontSize: ScreenUtil.getInstance().setSp(30),
  394. color: Color.fromRGBO(42, 42, 42, 1)),
  395. changeToFirst: true,
  396. hideHeader: false,
  397. onConfirm: (Picker picker, List value) {
  398. setState(() {
  399. showTextPaymentMehod = data[value[0]];
  400. });
  401. if (showTextPaymentMehod == '现付') {
  402. goodsPaymentMethod = 1;
  403. } else {
  404. goodsPaymentMethod = 2;
  405. }
  406. }).showModal(this.context);
  407. }
  408. showLineModal(List < CompanyOfLineList > list, String orderNo) {
  409. showDialog < Null > (
  410. context: context, //BuildContext对象
  411. barrierDismissible: false,
  412. builder: (BuildContext context) {
  413. return ShowLineModal(
  414. lineList: list,
  415. childCallback: (val) {
  416. lineId = val;
  417. submitOrder(orderNo);
  418. },
  419. );
  420. });
  421. }
  422. submitOrder(String orderNo) {
  423. setState(() {
  424. submitStatus = false;
  425. });
  426. updataOrder(lineId, orderNo, afterTransportFee, afterCollectingFee,
  427. afterGoodsNumber, goodsPaymentMethod)
  428. .then((resp) {
  429. if (isNotError(context, resp) && this.mounted) {
  430. showDialog < Null > (
  431. context: context, //BuildContext对象
  432. barrierDismissible: false,
  433. builder: (BuildContext context) {
  434. //打印
  435. OrderDetailObj parentObj = OrderDetailObj.fromJson(resp.data);
  436. OrderDetailData data = parentObj.data;
  437. getKey('printType').then((printType) {
  438. getKey('stationName').then((stationName) {
  439. getKey('nickName').then((nickName) {
  440. getKey('companyName').then((companyName) {
  441. getKey('companyCustomerPhone')
  442. .then((companyCustomerPhone) {
  443. double goodsYs = data.goodsPaymentMethod == 2 ?
  444. (data.goodsFreight / 100) +
  445. (data.goodsAgencyFund / 100) :
  446. data.goodsAgencyFund / 100;
  447. String nowDate = fromatDate(
  448. DateTime.now().millisecondsSinceEpoch); //打印时间
  449. String createTime = fromatDate(data.createTime);
  450. double goodsAgencyFunds = data.goodsAgencyFund / 100;
  451. double goodsDFreight = data.goodsPaymentMethod == 2 ?
  452. data.goodsFreight / 100 :
  453. 0;
  454. double goodsXFreight = data.goodsPaymentMethod == 1 ?
  455. data.goodsFreight / 100 :
  456. 0;
  457. String receiptAddress =
  458. data.receiptCompanyAddress.length > 10 ?
  459. data.receiptCompanyAddress.substring(0, 10) :
  460. data.receiptCompanyAddress;
  461. Map < String, String > pum = {
  462. "[logisticsNo]": "${data.orderNo ?? ''}",
  463. "[createTime]": "$createTime",
  464. "[sendStationName]": "$stationName",
  465. "[dealerCode]": "${data.sendCompanyCode ?? ''}",
  466. "[dealerName]": "${data.sendCompanyName}",
  467. "[dealerTel]": "${data.sendCompanyPhone ?? ''}",
  468. "[repairName]": "${data.receiptCompanyName ?? ''}",
  469. "[repairTel]": "${data.receiptCompanyPhone ?? ''}",
  470. "[endStationName]": "${data.receiptStationName}",
  471. "[goodsLineCode]": "${data.lineCode ?? ''}",
  472. "[goodsLine]": "${data.lineName ?? ''}",
  473. "[repairAddress]": "${receiptAddress ?? ''}",
  474. "[goodsQuantity]": "${data.goodsQuantity ?? ''}",
  475. "[goodsInsurance]": "${data.goodsInsurance ?? ''}",
  476. "[goodsFlatCost]": "${data.goodsFlatCost ?? ''}",
  477. // 到付 现付 金额
  478. "[goodsDFreight]": "$goodsDFreight",
  479. "[goodsXFreight]": "$goodsXFreight",
  480. "[goodsAgencyFund]": "$goodsAgencyFunds",
  481. "[goodsYs]": "$goodsYs",
  482. "[dealerBankAccount]": "${data.sendCompanyBankCard ?? ''}",
  483. "[goodsRemark]": "${data.memo ?? ''}",
  484. "[realName]": "${nickName ?? ''}",
  485. "[currentTime]": "$nowDate",
  486. "[currentGoodNumber]": "1/1",
  487. "[companyCustomerPhone]": "$companyCustomerPhone",
  488. "[companyName]": "$companyName"
  489. };
  490. bluetooth
  491. .printOrder(pum, int.parse(printType))
  492. .then((value) {
  493. if (value == null) {
  494. showDialog < Null > (
  495. context: context,
  496. barrierDismissible: false,
  497. builder: (BuildContext context) {
  498. return MyAlertDialog(
  499. text: '未连接打印机',
  500. childCallback: (val) {});
  501. });
  502. }
  503. });
  504. });
  505. });
  506. });
  507. });
  508. });
  509. return MyAlertDialog(
  510. //调用对话框
  511. text: '订单修改成功!',
  512. childCallback: (val) {
  513. Navigator.pop(context, true);
  514. },
  515. );
  516. });
  517. } else {
  518. setState(() {
  519. submitStatus = true;
  520. });
  521. OrderDetailObj parentObj = OrderDetailObj.fromJson(resp.data);
  522. showDialog < Null > (
  523. context: context, //BuildContext对象
  524. barrierDismissible: false,
  525. builder: (BuildContext context) {
  526. return MyAlertDialog( //调用对话框
  527. text: parentObj.msg, childCallback: (val) {
  528. Navigator.pop(context, true);
  529. },
  530. );
  531. });
  532. }
  533. });
  534. }
  535. }
  536. Widget titleWidget(String iconUrl, String str) {
  537. return Container(
  538. height: ScreenUtil.getInstance().setHeight(90),
  539. padding: EdgeInsets.only(left: ScreenUtil.getInstance().setWidth(30)),
  540. child: Center(
  541. child: Row(
  542. mainAxisAlignment: MainAxisAlignment.start,
  543. children: < Widget > [
  544. Padding(
  545. padding: EdgeInsets.only(
  546. right: ScreenUtil.getInstance().setHeight(20)),
  547. child: Image.asset(
  548. iconUrl,
  549. width: ScreenUtil.getInstance().setWidth(40),
  550. height: ScreenUtil.getInstance().setHeight(40),
  551. )),
  552. Text(
  553. str,
  554. style: TextStyle(fontSize: ScreenUtil.getInstance().setSp(32)),
  555. )
  556. ],
  557. ),
  558. ),
  559. );
  560. }
  561. Widget underLine() {
  562. return Container(
  563. color: Color.fromRGBO(223, 223, 223, 1),
  564. height: ScreenUtil.getInstance().setHeight(1),
  565. );
  566. }
  567. Widget contentWiget(String key, String value) {
  568. return Padding(
  569. padding: EdgeInsets.only(left: ScreenUtil.getInstance().setWidth(30)),
  570. child: Column(
  571. children: < Widget > [
  572. Padding(
  573. padding:
  574. EdgeInsets.only(right: ScreenUtil.getInstance().setWidth(30)),
  575. child: SizedBox(
  576. height: ScreenUtil.getInstance().setHeight(89),
  577. child: Center(
  578. child: Row(
  579. mainAxisAlignment: MainAxisAlignment.spaceBetween,
  580. children: < Widget > [
  581. Text(
  582. key,
  583. style: TextStyle(
  584. fontSize: ScreenUtil.getInstance().setSp(30),
  585. color: Color.fromRGBO(74, 74, 74, 1)),
  586. ),
  587. Text(
  588. value,
  589. style: TextStyle(
  590. fontSize: ScreenUtil.getInstance().setSp(30),
  591. color: Color.fromRGBO(136, 136, 136, 1)),
  592. ),
  593. ],
  594. ),
  595. ))),
  596. Expanded(flex: 0, child: underLine())
  597. ],
  598. ));
  599. }
  600. Widget lastContentWiget(String key, String value) {
  601. return Padding(
  602. padding: EdgeInsets.only(left: ScreenUtil.getInstance().setWidth(30)),
  603. child: Padding(
  604. padding: EdgeInsets.only(right: ScreenUtil.getInstance().setWidth(30)),
  605. child: SizedBox(
  606. height: ScreenUtil.getInstance().setHeight(89),
  607. child: Center(
  608. child: Row(
  609. mainAxisAlignment: MainAxisAlignment.spaceBetween,
  610. children: < Widget > [
  611. Text(
  612. key,
  613. style: TextStyle(
  614. fontSize: ScreenUtil.getInstance().setSp(30),
  615. color: Color.fromRGBO(74, 74, 74, 1)),
  616. ),
  617. Text(
  618. value,
  619. style: TextStyle(
  620. fontSize: ScreenUtil.getInstance().setSp(30),
  621. color: Color.fromRGBO(136, 136, 136, 1)),
  622. ),
  623. ],
  624. ),
  625. ))),
  626. );
  627. }
  628. Widget _getMoreWidget() {
  629. return Center(
  630. child: Padding(
  631. padding: EdgeInsets.all(10.0),
  632. child: Row(
  633. mainAxisAlignment: MainAxisAlignment.center,
  634. crossAxisAlignment: CrossAxisAlignment.center,
  635. children: < Widget > [
  636. Text(
  637. '加载中...',
  638. style: TextStyle(fontSize: 16.0),
  639. ),
  640. Container(
  641. width: ScreenUtil.getInstance().setWidth(50),
  642. height: ScreenUtil.getInstance().setHeight(50),
  643. child: CircularProgressIndicator())
  644. ],
  645. ),
  646. ),
  647. );
  648. }