gang_in_page.dart 29 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789
  1. import 'dart:convert';
  2. import 'dart:math';
  3. import 'package:bbyyy/beans/alipay_result_bean_entity.dart';
  4. import 'package:bbyyy/beans/goods_bean_entity.dart';
  5. import 'package:bbyyy/beans/my_shop_bean_entity.dart';
  6. import 'package:bbyyy/beans/new_order_bean_entity.dart';
  7. import 'package:bbyyy/beans/pay_by_alipay_bean_entity.dart';
  8. import 'package:bbyyy/beans/smart_order_bean_entity.dart';
  9. import 'package:bbyyy/beans/user_balance_entity.dart';
  10. import 'package:bbyyy/https/MyDio.dart';
  11. import 'package:bbyyy/https/my_request.dart';
  12. import 'package:bbyyy/my_tools/const.dart';
  13. import 'package:bbyyy/my_tools/dims.dart';
  14. import 'package:bbyyy/my_tools/easy_loading/easy_loading.dart';
  15. import 'package:bbyyy/my_tools/event_bus.dart';
  16. import 'package:bbyyy/my_tools/my_colors.dart';
  17. import 'package:bbyyy/my_tools/my_cookie.dart';
  18. import 'package:bbyyy/my_tools/my_tools.dart';
  19. import 'package:bbyyy/my_tools/my_views.dart';
  20. import 'package:bbyyy/paegs/chat_page/chat_page.dart';
  21. import 'package:bbyyy/paegs/gang_page/gang_in_page/pay_to_the_helper_page/pay_to_the_helper_page.dart';
  22. import 'package:bbyyy/pay/pay_tools.dart';
  23. import 'package:flutter/cupertino.dart';
  24. import 'package:flutter/material.dart';
  25. import 'package:flutter_slidable/flutter_slidable.dart';
  26. import 'package:flutter_svg/svg.dart';
  27. import 'package:pull_to_refresh/pull_to_refresh.dart';
  28. import 'package:tobias/tobias.dart';
  29. import 'gang_information_page/gang_information_page.dart';
  30. class GangInPage extends StatefulWidget {
  31. MyShopBeanDataData data;
  32. NewOrderBeanContent order;
  33. GangInPage(this.data, this.order);
  34. @override
  35. _GangInPageState createState() => _GangInPageState();
  36. }
  37. class _GangInPageState extends State<GangInPage> {
  38. int selectedIndex = 0;
  39. RefreshController controller = RefreshController(initialRefresh: true);
  40. int page = 1;
  41. _GangInPageState();
  42. List<GoodsBeanDataData> goods = [];
  43. List<SmartOrderBeanDataData> orders = [];
  44. @override
  45. void initState() {
  46. // TODO: implement initState
  47. super.initState();
  48. EventBus().on('payAnOrder', (arg) {
  49. controller.requestRefresh();
  50. });
  51. EventBus().on('reNoPayOrder', (arg) {
  52. controller.requestRefresh();
  53. });
  54. Future.delayed(Duration.zero, () {
  55. if (widget.order != null) {
  56. setState(() {
  57. selectedIndex = 2;
  58. payTheOrder();
  59. });
  60. }
  61. });
  62. if (widget.data.ownerUid == MyCookie().getUID()) {
  63. selectedIndex = 1;
  64. }
  65. }
  66. @override
  67. void dispose() {
  68. // TODO: implement dispose
  69. super.dispose();
  70. EventBus().off('payAnOrder');
  71. EventBus().off('reNoPayOrder');
  72. }
  73. @override
  74. Widget build(BuildContext context) {
  75. return Scaffold(
  76. body: Column(
  77. children: [
  78. MyViews().myAppBar(widget.data.shopName, context, [
  79. IconButton(
  80. icon: Icon(Icons.more_horiz),
  81. onPressed: () {
  82. MyTools()
  83. .toPage(context, GangInformationPage(widget.data), (then) {
  84. if(then=='删除货帮'){
  85. Navigator.pop(context,'删除货帮');
  86. }
  87. });
  88. })
  89. ]),
  90. Visibility(
  91. visible: widget.data.privateShop||widget.data.ownerUid==MyCookie().getUID(),
  92. child: Container(
  93. height: 40,
  94. color: Colors.white,
  95. child: Row(
  96. children: [
  97. GestureDetector(
  98. onTap: () {
  99. setState(() {
  100. selectedIndex = 0;
  101. controller.requestRefresh();
  102. });
  103. },
  104. behavior: HitTestBehavior.translucent,
  105. child: Padding(
  106. padding: EdgeInsets.only(left: 10, right: 10),
  107. child: Column(
  108. children: [
  109. Text(
  110. '货帮商品',
  111. style: TextStyle(
  112. color: selectedIndex == 0
  113. ? MyColors.cFF4233
  114. : MyColors.c666666,
  115. fontSize: 15),
  116. ),
  117. Container(
  118. height: 10,
  119. child: Visibility(
  120. child: SvgPicture.asset('images/svg/tab.svg'),
  121. visible: selectedIndex == 0,
  122. ),
  123. )
  124. ],
  125. mainAxisAlignment: MainAxisAlignment.end,
  126. ),
  127. ),
  128. ),
  129. GestureDetector(
  130. onTap: () {
  131. setState(() {
  132. selectedIndex = 1;
  133. controller.requestRefresh();
  134. });
  135. },
  136. behavior: HitTestBehavior.translucent,
  137. child: Padding(
  138. padding: EdgeInsets.only(left: 10, right: 10),
  139. child: Column(
  140. children: [
  141. Text(
  142. widget.data.ownerUid == MyCookie().getUID()
  143. ? '未付订单'
  144. : '未收订单',
  145. style: TextStyle(
  146. color: selectedIndex == 1
  147. ? MyColors.cFF4233
  148. : MyColors.c666666,
  149. fontSize: 15),
  150. ),
  151. Container(
  152. height: 10,
  153. child: Visibility(
  154. child: SvgPicture.asset('images/svg/tab.svg'),
  155. visible: selectedIndex == 1,
  156. ),
  157. )
  158. ],
  159. mainAxisAlignment: MainAxisAlignment.end,
  160. ),
  161. ),
  162. ),
  163. GestureDetector(
  164. onTap: () {
  165. setState(() {
  166. selectedIndex = 2;
  167. controller.requestRefresh();
  168. });
  169. },
  170. behavior: HitTestBehavior.translucent,
  171. child: Padding(
  172. padding: EdgeInsets.only(left: 10, right: 10),
  173. child: Column(
  174. children: [
  175. Text(
  176. widget.data.ownerUid == MyCookie().getUID()
  177. ? '已付订单'
  178. : '未付订单',
  179. style: TextStyle(
  180. color: selectedIndex == 2
  181. ? MyColors.cFF4233
  182. : MyColors.c666666,
  183. fontSize: 15),
  184. ),
  185. Container(
  186. height: 10,
  187. child: Visibility(
  188. child: SvgPicture.asset('images/svg/tab.svg'),
  189. visible: selectedIndex == 2,
  190. ),
  191. )
  192. ],
  193. mainAxisAlignment: MainAxisAlignment.end,
  194. ),
  195. ),
  196. )
  197. ],
  198. mainAxisAlignment: MainAxisAlignment.spaceAround,
  199. ),
  200. ),
  201. ),
  202. body(),
  203. SafeArea(
  204. top: false,
  205. child: Container(
  206. padding: EdgeInsets.symmetric(horizontal: 37),
  207. color: Colors.white,
  208. width: double.infinity,
  209. height: 60,
  210. child: Row(
  211. children: [
  212. Expanded(
  213. child: GestureDetector(
  214. onTap: () {
  215. queryShopMembers();
  216. },
  217. behavior: HitTestBehavior.translucent,
  218. child: Container(
  219. decoration: BoxDecoration(
  220. borderRadius: BorderRadius.only(
  221. topLeft: Radius.circular(20),
  222. bottomLeft: Radius.circular(20),
  223. ),
  224. border: Border.all(
  225. color: MyColors.cFF4233, width: 1)),
  226. height: 40,
  227. child: MyViews().myText('联系帮主', MyColors.cFF4233, 14),
  228. alignment: Alignment.center),
  229. ),
  230. ),
  231. Expanded(
  232. child: GestureDetector(
  233. onTap: () {
  234. MyTools().toPage(
  235. context, PayToTheHelperPage(widget.data), (then) {});
  236. },
  237. behavior: HitTestBehavior.translucent,
  238. child: Container(
  239. decoration: BoxDecoration(
  240. borderRadius: BorderRadius.only(
  241. topRight: Radius.circular(20),
  242. bottomRight: Radius.circular(20),
  243. ),
  244. color: MyColors.cFF4233),
  245. height: 40,
  246. child: MyViews().myText('到店付款', Colors.white, 14),
  247. alignment: Alignment.center),
  248. ),
  249. )
  250. ],
  251. ),
  252. ),
  253. )
  254. ],
  255. ),
  256. );
  257. }
  258. body() {
  259. if (selectedIndex == 0) {
  260. return Expanded(
  261. child: SmartRefresher(
  262. controller: controller,
  263. onRefresh: onRefresh,
  264. onLoading: onLoading,
  265. enablePullDown: true,
  266. enablePullUp: true,
  267. child: goods.length == 0
  268. ? noData()
  269. : GridView.builder(
  270. gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
  271. crossAxisCount: 2, //每行三列
  272. childAspectRatio: 164 / 261, //显示区域宽高相等
  273. mainAxisSpacing: 8,
  274. crossAxisSpacing: 8),
  275. itemCount: goods.length,
  276. padding:
  277. EdgeInsets.only(left: 14, right: 14, top: 14, bottom: 65),
  278. itemBuilder: (context, index) {
  279. return MyViews().getGoodsItem(goods[index], context);
  280. }),
  281. ),
  282. );
  283. } else if (selectedIndex == 1) {
  284. return Expanded(
  285. child: SmartRefresher(
  286. controller: controller,
  287. onRefresh: onRefresh,
  288. onLoading: onLoading,
  289. enablePullDown: true,
  290. enablePullUp: true,
  291. child: orders.length == 0
  292. ? noData()
  293. : ListView.builder(
  294. itemBuilder: (c, index) {
  295. return Slidable(
  296. child:
  297. MyViews().getNoPayGoodsItem(orders[index], context,widget.data.ownerUid),
  298. actionPane: SlidableDrawerActionPane(),
  299. enabled: widget.data.ownerUid == MyCookie().getUID(),
  300. actionExtentRatio: 0.25,
  301. secondaryActions: <Widget>[
  302. SlideAction(
  303. child: Container(
  304. child: Container(
  305. decoration: BoxDecoration(
  306. borderRadius: BorderRadius.circular(30),
  307. color: MyColors.cFF4233,
  308. ),
  309. height: 60,width: 60,
  310. child: SvgPicture.asset('images/svg/del.svg',height: 40,width: 40,),
  311. alignment: Alignment.center,
  312. ),
  313. ),
  314. onTap: (){
  315. showSimpleDialog('将删除订单(${orders[index].uid})', context, (){
  316. Navigator.pop(context);
  317. deleteOrder(orders[index]);
  318. });
  319. },
  320. )
  321. ],
  322. );
  323. },
  324. itemCount: orders.length,
  325. padding: EdgeInsets.only(left: 10, right: 10, top: 10),
  326. ),
  327. ),
  328. );
  329. } else if (selectedIndex == 2) {
  330. return Expanded(
  331. child: SmartRefresher(
  332. controller: controller,
  333. onRefresh: onRefresh,
  334. onLoading: onLoading,
  335. enablePullDown: true,
  336. enablePullUp: true,
  337. child: orders.length == 0
  338. ? noData()
  339. : ListView.builder(
  340. itemBuilder: (c, index) {
  341. return MyViews().getNoPayGoodsItem(orders[index], context,widget.data.ownerUid);
  342. },
  343. itemCount: orders.length,
  344. padding: EdgeInsets.only(left: 10, right: 10, top: 10),
  345. ),
  346. ),
  347. );
  348. } else {
  349. return noData();
  350. }
  351. }
  352. void onRefresh() {
  353. page = 1;
  354. if (selectedIndex == 0) {
  355. queryProducts();
  356. } else if (selectedIndex == 1) {
  357. unreceivedOrder();
  358. } else {
  359. unpaidOrder();
  360. }
  361. }
  362. void onLoading() {
  363. page++;
  364. if (selectedIndex == 0) {
  365. queryProducts();
  366. } else if (selectedIndex == 1) {
  367. unreceivedOrder();
  368. } else {
  369. unpaidOrder();
  370. }
  371. }
  372. //查询商品
  373. void queryProducts() {
  374. MyDio().query({
  375. "key": "commodity",
  376. "filters": {
  377. "conditions": ["shop_uid == ${widget.data.shopUid}","on_sale == true"]
  378. },
  379. "dims": commodityDims,
  380. "paging": [page, 20]
  381. }, (response, hasError) {
  382. if (!hasError) {
  383. GoodsBeanEntity entity =
  384. GoodsBeanEntity().fromJson(json.decode(response.data.toString()));
  385. if (page == 1) {
  386. goods.clear();
  387. }
  388. goods.addAll(entity.data.data);
  389. }
  390. setState(() {
  391. endRe(controller);
  392. });
  393. }, (error) {
  394. setState(() {
  395. endRe(controller);
  396. });
  397. });
  398. }
  399. //查询未收订单
  400. void unreceivedOrder() {
  401. var conditions = [];
  402. if (widget.data.ownerUid == MyCookie().getUID()) {
  403. conditions.add('state == $orderStateUnpaid');
  404. conditions.add('shop_uid == ${widget.data.shopUid}');
  405. } else {
  406. conditions.add('state == $orderStateUnpaid');
  407. conditions.add('shop_uid == ${widget.data.shopUid}');
  408. conditions.add('seller_uid == ${MyCookie().getUID()}');
  409. }
  410. MyDio().query({
  411. "key": "order",
  412. "filters": {"conditions": conditions},
  413. "dims": orderDims,
  414. "paging": [page, 20],
  415. "order_by": ["create_time,DESC"]
  416. }, (response, hasError) {
  417. if (!hasError) {
  418. SmartOrderBeanEntity entity = SmartOrderBeanEntity()
  419. .fromJson(json.decode(response.data.toString()));
  420. if (page == 1) {
  421. orders.clear();
  422. }
  423. orders.addAll(entity.data.data);
  424. setState(() {});
  425. }
  426. endRe(controller);
  427. }, (error) {});
  428. }
  429. //查询未付订单
  430. void unpaidOrder() {
  431. var conditions = [];
  432. if (widget.data.ownerUid == MyCookie().getUID()) {
  433. conditions.add('state == $orderStatePaid');
  434. conditions.add('shop_uid == ${widget.data.shopUid}');
  435. } else {
  436. conditions.add('state == $orderStateUnpaid');
  437. conditions.add('shop_uid == ${widget.data.shopUid}');
  438. conditions.add('buyer_name LIKE ${MyCookie().getName()}');
  439. }
  440. MyDio().query({
  441. "key": "order",
  442. "filters": {"conditions": conditions},
  443. "dims": orderDims,
  444. "paging": [page, 20],
  445. "order_by": ["create_time,DESC"]
  446. }, (response, hasError) {
  447. if (!hasError) {
  448. SmartOrderBeanEntity entity = SmartOrderBeanEntity()
  449. .fromJson(json.decode(response.data.toString()));
  450. if (page == 1) {
  451. orders.clear();
  452. }
  453. orders.addAll(entity.data.data);
  454. setState(() {});
  455. }
  456. endRe(controller);
  457. }, (error) {});
  458. }
  459. payTheOrder() {
  460. SmartOrderBeanDataData data = SmartOrderBeanDataData();
  461. data.sellerUid = widget.order.sellerUID;
  462. data.sellerName = widget.order.sellerName;
  463. data.sellerPic = widget.order.sellerPic;
  464. data.buyerUid = 0;
  465. data.buyerName = widget.order.buyerName;
  466. data.buyerPic = '';
  467. data.amount = widget.order.amount;
  468. data.uid = widget.order.uID;
  469. showPayDialog(data,context,(){
  470. Navigator.pop(context);
  471. getUserWalletBalance((re, hE) {
  472. if (!hE) {
  473. UserBalanceEntity balance =
  474. UserBalanceEntity()
  475. .fromJson(json.decode(re
  476. .data
  477. .toString()));
  478. if (balance.data >=
  479. widget.order.amount) {
  480. payOrder(
  481. payWayWallet, widget.order.uID,
  482. (re, hE) {
  483. if (!hE) {
  484. showToast('支付成功');
  485. EventBus()
  486. .emit('payAnOrder');
  487. }
  488. }, (e) {}, context);
  489. } else {
  490. payOrder(
  491. payWayAliPay, widget.order.uID,
  492. (re, hE) {
  493. if (!hE) {
  494. PayByAlipayBeanEntity
  495. entity =
  496. PayByAlipayBeanEntity()
  497. .fromJson(
  498. json.decode(re
  499. .data
  500. .toString()));
  501. EventBus().on(
  502. 'alipayPaymentCallback',
  503. (arg) {
  504. EventBus().off(
  505. 'alipayPaymentCallback');
  506. EasyLoading.dismiss();
  507. showToast('支付成功');
  508. EventBus().emit(
  509. 'reNoPayOrder');
  510. });
  511. print(entity.data);
  512. EasyLoading.instance
  513. ..contentPadding =
  514. EdgeInsets
  515. .symmetric(
  516. horizontal:
  517. 20,
  518. vertical:
  519. 12)
  520. ..alignment =
  521. Alignment.center
  522. ..contentMargin =
  523. EdgeInsets.all(20);
  524. EasyLoading.show();
  525. aliPay(entity.data)
  526. .then((value) {
  527. print(
  528. json.encode(value));
  529. AlipayResultBeanEntity
  530. e =
  531. AlipayResultBeanEntity()
  532. .fromJson(json
  533. .decode(json
  534. .encode(
  535. value)));
  536. try {
  537. int r = int.parse(
  538. e.resultStatus);
  539. if (r == 9000) {
  540. showToast('支付成功');
  541. } else {
  542. showToast(
  543. aliPayResultStatus(
  544. r));
  545. resetOrder(
  546. widget.order.uID);
  547. }
  548. } catch (e) {
  549. EasyLoading.dismiss();
  550. }
  551. });
  552. // EventBus().emit('payAnOrder');
  553. }
  554. }, (e) {}, context);
  555. // showToast('积分余额不足');
  556. }
  557. }
  558. }, (e) {}, context);
  559. });
  560. // showDialog(
  561. // context: context,
  562. // builder: (BuildContext context) {
  563. // return Center(
  564. // child: Container(
  565. // decoration: BoxDecoration(
  566. // color: Colors.white,
  567. // borderRadius: BorderRadius.all(Radius.circular(8))),
  568. // child: Column(
  569. // children: [
  570. // Expanded(
  571. // child: Center(
  572. // child: Padding(
  573. // padding: const EdgeInsets.only(left: 15, right: 15),
  574. // child: Column(
  575. // children: [
  576. // Text(
  577. // '确认支付订单(${widget.order.uID})',
  578. // style: TextStyle(
  579. // color: MyColors.c333333,
  580. // fontSize: 16,
  581. // fontWeight: FontWeight.normal,
  582. // decoration: TextDecoration.none),
  583. // ),
  584. // Text(
  585. // '付款人:${widget.order.buyerName}',
  586. // style: TextStyle(
  587. // color: MyColors.c333333,
  588. // fontSize: 16,
  589. // fontWeight: FontWeight.normal,
  590. // decoration: TextDecoration.none),
  591. // ),
  592. // Text(
  593. // '收款人:${widget.order.sellerName}',
  594. // style: TextStyle(
  595. // color: MyColors.c333333,
  596. // fontSize: 16,
  597. // fontWeight: FontWeight.normal,
  598. // decoration: TextDecoration.none),
  599. // ),
  600. // ],
  601. // mainAxisAlignment: MainAxisAlignment.center,
  602. // ),
  603. // ),
  604. // ),
  605. // ),
  606. // Container(
  607. // height: 0.5,
  608. // color: MyColors.cE7E7E7,
  609. // ),
  610. // Row(
  611. // children: [
  612. // Expanded(
  613. // child: GestureDetector(
  614. // onTap: () {
  615. // Navigator.pop(context);
  616. // },
  617. // behavior: HitTestBehavior.translucent,
  618. // child: Container(
  619. // alignment: Alignment.center,
  620. // height: 55,
  621. // child: Text(
  622. // '取消',
  623. // style: TextStyle(
  624. // color: MyColors.c999999,
  625. // fontSize: 16,
  626. // fontWeight: FontWeight.normal,
  627. // decoration: TextDecoration.none),
  628. // ),
  629. // ),
  630. // )),
  631. // Container(
  632. // width: 0.5,
  633. // height: 55,
  634. // color: MyColors.cE7E7E7,
  635. // ),
  636. // Expanded(
  637. // child: GestureDetector(
  638. // onTap: () async {
  639. // Navigator.pop(context);
  640. // getUserWalletBalance((re, hE) {
  641. // if (!hE) {
  642. // UserBalanceEntity balance = UserBalanceEntity()
  643. // .fromJson(json.decode(re.data.toString()));
  644. // if (balance.data >= widget.order.amount) {
  645. // payOrder(payWayWallet, widget.order.uID,
  646. // (re, hE) {
  647. // if (!hE) {
  648. // showToast('支付成功');
  649. // EventBus().emit('payAnOrder');
  650. // }
  651. // }, (e) {}, context);
  652. // } else {
  653. // payOrder(payWayAliPay, widget.order.uID,
  654. // (re, hE) {
  655. // if (!hE) {
  656. // PayByAlipayBeanEntity entity =
  657. // PayByAlipayBeanEntity().fromJson(
  658. // json.decode(re.data.toString()));
  659. // EventBus().on('alipayPaymentCallback',
  660. // (arg) {
  661. // EventBus().off('alipayPaymentCallback');
  662. // EasyLoading.dismiss();
  663. // showToast('支付成功');
  664. // EventBus().emit('reNoPayOrder');
  665. // });
  666. // print(entity.data);
  667. // EasyLoading.instance
  668. // ..contentPadding = EdgeInsets.symmetric(
  669. // horizontal: 20, vertical: 12)
  670. // ..alignment = Alignment.center
  671. // ..contentMargin = EdgeInsets.all(20);
  672. // EasyLoading.show();
  673. // aliPay(entity.data).then((value) {
  674. // print(json.encode(value));
  675. // AlipayResultBeanEntity e =
  676. // AlipayResultBeanEntity().fromJson(
  677. // json.decode(json.encode(value)));
  678. // try {
  679. // int r = int.parse(e.resultStatus);
  680. // if (r == 9000) {
  681. // showToast('支付成功');
  682. // } else {
  683. // showToast(aliPayResultStatus(r));
  684. // resetOrder(widget.order.uID);
  685. // }
  686. // } catch (e) {
  687. // EasyLoading.dismiss();
  688. // }
  689. // });
  690. // // EventBus().emit('payAnOrder');
  691. // }
  692. // }, (e) {}, context);
  693. // // showToast('积分余额不足');
  694. // }
  695. // }
  696. // }, (e) {}, context);
  697. // },
  698. // behavior: HitTestBehavior.translucent,
  699. // child: Container(
  700. // alignment: Alignment.center,
  701. // height: 55,
  702. // child: Text(
  703. // '确定',
  704. // style: TextStyle(
  705. // color: MyColors.cFF4233,
  706. // fontSize: 16,
  707. // fontWeight: FontWeight.normal,
  708. // decoration: TextDecoration.none),
  709. // ),
  710. // ),
  711. // ),
  712. // ),
  713. // ],
  714. // )
  715. // ],
  716. // ),
  717. // height: 200,
  718. // margin: EdgeInsets.only(left: 48, right: 48),
  719. // ),
  720. // );
  721. // },
  722. // );
  723. }
  724. List<MyShopBeanDataData> member = [];
  725. List<MyShopBeanDataData> helper = [];
  726. queryShopMembers() {
  727. MyDio().query({
  728. "key": "shop_user",
  729. "filters": {
  730. "conditions": ["shop_uid==${widget.data.shopUid}", "review_state==1"]
  731. },
  732. "dims": shopUserDims,
  733. "paging": [1, 2000]
  734. }, (response, hasError) {
  735. if (!hasError) {
  736. MyShopBeanEntity entity =
  737. MyShopBeanEntity().fromJson(json.decode(response.data.toString()));
  738. member = entity.data.data;
  739. helper.clear();
  740. member.forEach((element) {
  741. if (element.role == shopUserStaff) {
  742. helper.add(element);
  743. }
  744. });
  745. MyShopBeanDataData chatWith;
  746. if (helper.length == 0) {
  747. chatWith = member[
  748. member.indexWhere((element) => element.role == shopUserOwner)];
  749. } else {
  750. chatWith = helper[Random().nextInt(helper.length)];
  751. }
  752. MyTools().toPage(context, ChatPage(chatWith, null), (then) {});
  753. }
  754. }, (error) {});
  755. }
  756. void deleteOrder(SmartOrderBeanDataData order) {
  757. MyDio().del({
  758. 'key': 'order',
  759. 'ids': [order.id]
  760. }, (response, hasError) {
  761. if (!hasError) {
  762. orders.remove(order);
  763. setState(() {});
  764. }
  765. }, (error) {});
  766. }
  767. }