Commit f9174cee33656ad0ea14b13371816fe34a052449

Authored by wdn127929
1 parent e5cd8a9f

宴会丢单不再占用桌位

@@ -33,9 +33,9 @@ if (flutterRoot == null) { @@ -33,9 +33,9 @@ if (flutterRoot == null) {
33 33
34 34
35 35
36 -def flutterVersionCode = "502" 36 +def flutterVersionCode = "503"
37 if (flutterVersionCode == null) { 37 if (flutterVersionCode == null) {
38 - flutterVersionCode = '502' 38 + flutterVersionCode = '503'
39 39
40 40
41 } 41 }
@@ -44,9 +44,9 @@ if (flutterVersionCode == null) { @@ -44,9 +44,9 @@ if (flutterVersionCode == null) {
44 44
45 45
46 46
47 -def flutterVersionName = "5.0.2" 47 +def flutterVersionName = "5.0.3"
48 if (flutterVersionName == null) { 48 if (flutterVersionName == null) {
49 - flutterVersionName = '5.0.2' 49 + flutterVersionName = '5.0.3'
50 50
51 } 51 }
52 52
@@ -137,6 +137,7 @@ class BasicInfo { @@ -137,6 +137,7 @@ class BasicInfo {
137 String warrantId; //担保人id 137 String warrantId; //担保人id
138 List<Images> warrantImages; //担保图片 138 List<Images> warrantImages; //担保图片
139 String warrantDesc; //担保说明 139 String warrantDesc; //担保说明
  140 + String lost; //丢单信息
140 141
141 BasicInfo( 142 BasicInfo(
142 {this.ddate, 143 {this.ddate,
@@ -150,7 +151,8 @@ class BasicInfo { @@ -150,7 +151,8 @@ class BasicInfo {
150 this.images, 151 this.images,
151 this.warrantId, 152 this.warrantId,
152 this.warrantImages, 153 this.warrantImages,
153 - this.warrantDesc}); 154 + this.warrantDesc,
  155 + this.lost});
154 156
155 BasicInfo.fromJson(Map<String, dynamic> json) { 157 BasicInfo.fromJson(Map<String, dynamic> json) {
156 ddate = json['ddate']; 158 ddate = json['ddate'];
@@ -189,6 +191,7 @@ class BasicInfo { @@ -189,6 +191,7 @@ class BasicInfo {
189 } 191 }
190 } 192 }
191 warrantDesc = json['warrant_desc']; 193 warrantDesc = json['warrant_desc'];
  194 + lost = json['lost'];
192 } 195 }
193 196
194 Map<String, dynamic> toJson() { 197 Map<String, dynamic> toJson() {
@@ -32,6 +32,7 @@ class FeastBoardSunModel { @@ -32,6 +32,7 @@ class FeastBoardSunModel {
32 String nickName; 32 String nickName;
33 String account; 33 String account;
34 String talbeStr; 34 String talbeStr;
  35 + String lost;
35 36
36 String get talbeStrShow { 37 String get talbeStrShow {
37 if (talbeStr.endsWith('、')) { 38 if (talbeStr.endsWith('、')) {
@@ -47,7 +48,8 @@ class FeastBoardSunModel { @@ -47,7 +48,8 @@ class FeastBoardSunModel {
47 this.className, 48 this.className,
48 this.nickName, 49 this.nickName,
49 this.account, 50 this.account,
50 - this.talbeStr}); 51 + this.talbeStr,
  52 + this.lost});
51 53
52 FeastBoardSunModel.fromJson(Map<String, dynamic> json) { 54 FeastBoardSunModel.fromJson(Map<String, dynamic> json) {
53 rname = json['rname']; 55 rname = json['rname'];
@@ -57,6 +59,7 @@ class FeastBoardSunModel { @@ -57,6 +59,7 @@ class FeastBoardSunModel {
57 nickName = json['nick_name']; 59 nickName = json['nick_name'];
58 account = json['account']; 60 account = json['account'];
59 talbeStr = json['talbeStr']; 61 talbeStr = json['talbeStr'];
  62 + lost = json['lost'];
60 } 63 }
61 64
62 Map<String, dynamic> toJson() { 65 Map<String, dynamic> toJson() {
@@ -68,6 +71,7 @@ class FeastBoardSunModel { @@ -68,6 +71,7 @@ class FeastBoardSunModel {
68 data['nick_name'] = this.nickName; 71 data['nick_name'] = this.nickName;
69 data['account'] = this.account; 72 data['account'] = this.account;
70 data['talbeStr'] = this.talbeStr; 73 data['talbeStr'] = this.talbeStr;
  74 + data['lost'] = this.lost;
71 return data; 75 return data;
72 } 76 }
73 } 77 }
@@ -323,15 +323,18 @@ class SelectTableFPageState extends State<SelectTableFPage> { @@ -323,15 +323,18 @@ class SelectTableFPageState extends State<SelectTableFPage> {
323 } 323 }
324 banquetByDateDataTemp.forEach((element) { 324 banquetByDateDataTemp.forEach((element) {
325 FeastBoardSunModel feastBoardSunModel = element.data[banquetKey][0]; 325 FeastBoardSunModel feastBoardSunModel = element.data[banquetKey][0];
326 - Notebook notebook = Notebook();  
327 - notebook.tid = element.title;  
328 - notebook.status = '10'; //宴会类型  
329 - notebook.className = feastBoardSunModel.className;  
330 - notebook.id = feastBoardSunModel.rid;  
331 - notebook.rname = feastBoardSunModel.rname;  
332 - notebook.nick_name =  
333 - feastBoardSunModel.nickName ?? feastBoardSunModel.account;  
334 - noteBooks.add(notebook); 326 + if (feastBoardSunModel.lost == null || feastBoardSunModel.lost == '') {
  327 + //未丢单的宴会
  328 + Notebook notebook = Notebook();
  329 + notebook.tid = element.title;
  330 + notebook.status = '10'; //宴会类型
  331 + notebook.className = feastBoardSunModel.className;
  332 + notebook.id = feastBoardSunModel.rid;
  333 + notebook.rname = feastBoardSunModel.rname;
  334 + notebook.nick_name =
  335 + feastBoardSunModel.nickName ?? feastBoardSunModel.account;
  336 + noteBooks.add(notebook);
  337 + }
335 }); 338 });
336 for (Notebook notebook in noteBooks) { 339 for (Notebook notebook in noteBooks) {
337 if (notebook.tid.isEmpty) continue; 340 if (notebook.tid.isEmpty) continue;
@@ -515,18 +518,18 @@ class SelectTableFPageState extends State<SelectTableFPage> { @@ -515,18 +518,18 @@ class SelectTableFPageState extends State<SelectTableFPage> {
515 // timeStrStart = ymd + ' ' + temp.first + ':00'; 518 // timeStrStart = ymd + ' ' + temp.first + ':00';
516 // timeStrEnd = ymd + ' ' + temp.last + ':00'; 519 // timeStrEnd = ymd + ' ' + temp.last + ':00';
517 // } else { 520 // } else {
518 - timeStrStart = widget.dateTime.year.toString() +  
519 - "-" +  
520 - Utils.addZeroNumber(widget.dateTime.month) +  
521 - "-" +  
522 - Utils.addZeroNumber(widget.dateTime.day) +  
523 - " 00:00:00";  
524 - timeStrEnd = widget.dateTime.year.toString() +  
525 - "-" +  
526 - Utils.addZeroNumber(widget.dateTime.month) +  
527 - "-" +  
528 - Utils.addZeroNumber(widget.dateTime.day) +  
529 - " 23:59:59"; 521 + timeStrStart = widget.dateTime.year.toString() +
  522 + "-" +
  523 + Utils.addZeroNumber(widget.dateTime.month) +
  524 + "-" +
  525 + Utils.addZeroNumber(widget.dateTime.day) +
  526 + " 00:00:00";
  527 + timeStrEnd = widget.dateTime.year.toString() +
  528 + "-" +
  529 + Utils.addZeroNumber(widget.dateTime.month) +
  530 + "-" +
  531 + Utils.addZeroNumber(widget.dateTime.day) +
  532 + " 23:59:59";
530 // } 533 // }
531 startDay = (DateTime.parse(timeStrStart).millisecondsSinceEpoch) / 1000; 534 startDay = (DateTime.parse(timeStrStart).millisecondsSinceEpoch) / 1000;
532 endDay = (DateTime.parse(timeStrEnd).millisecondsSinceEpoch) / 1000; 535 endDay = (DateTime.parse(timeStrEnd).millisecondsSinceEpoch) / 1000;
@@ -109,7 +109,10 @@ class _FeastBoardItemState extends State<FeastBoardItem> { @@ -109,7 +109,10 @@ class _FeastBoardItemState extends State<FeastBoardItem> {
109 padding: EdgeInsets.symmetric( 109 padding: EdgeInsets.symmetric(
110 horizontal: w(4), vertical: w(2)), 110 horizontal: w(4), vertical: w(2)),
111 decoration: BoxDecoration( 111 decoration: BoxDecoration(
112 - color: MyColours.color_438E93, 112 + color: boardSunModel.lost == '' ||
  113 + boardSunModel.lost == null
  114 + ? MyColours.color_438E93
  115 + : MyColours.color_BFC4D4,
113 borderRadius: BorderRadius.circular(w(5)), 116 borderRadius: BorderRadius.circular(w(5)),
114 ), 117 ),
115 child: ConstrainedBox( 118 child: ConstrainedBox(
@@ -856,6 +856,43 @@ class _FeastDetailPageState extends State<FeastDetailPage> { @@ -856,6 +856,43 @@ class _FeastDetailPageState extends State<FeastDetailPage> {
856 )); 856 ));
857 } 857 }
858 858
  859 + /// 丢单原因
  860 + Widget lostCommentsWidget() {
  861 + return Container(
  862 + margin: EdgeInsets.only(bottom: h(26)),
  863 + decoration: BoxDecoration(
  864 + borderRadius: BorderRadius.circular(r(6)),
  865 + border: Border.all(width: w(1), color: MyColours.color_438E93)),
  866 + child: Column(crossAxisAlignment: CrossAxisAlignment.start, children: [
  867 + Container(
  868 + width: double.infinity,
  869 + // height: h(31),
  870 + padding: EdgeInsets.symmetric(horizontal: w(12), vertical: h(6)),
  871 + decoration: BoxDecoration(
  872 + color: MyColours.color_438E93,
  873 + borderRadius: BorderRadius.only(
  874 + topLeft: Radius.circular(r(5)),
  875 + topRight: Radius.circular(r(5)))),
  876 + child: Text(
  877 + '丢单原因',
  878 + style:
  879 + TextStyle(color: MyColours.color_F6F6F6, fontSize: font(14)),
  880 + ),
  881 + ),
  882 + VEmptyView(16),
  883 + Padding(
  884 + padding: EdgeInsets.only(
  885 + left: w(12), right: w(12), top: w(8), bottom: w(35)),
  886 + child: Text(
  887 + feastModel.banquetDetail.basicInfo.lost,
  888 + style: TextStyle(
  889 + color: MyColours.color_515151,
  890 + fontSize: ScreenUtil().setSp(28)),
  891 + ),
  892 + )
  893 + ]));
  894 + }
  895 +
859 /// 发票 896 /// 发票
860 Widget invoiceWidget() { 897 Widget invoiceWidget() {
861 return Container( 898 return Container(
@@ -1304,7 +1341,19 @@ class _FeastDetailPageState extends State<FeastDetailPage> { @@ -1304,7 +1341,19 @@ class _FeastDetailPageState extends State<FeastDetailPage> {
1304 controller: _scrollController, 1341 controller: _scrollController,
1305 child: Column(children: [ 1342 child: Column(children: [
1306 VEmptyView(32), 1343 VEmptyView(32),
1307 - baseInfoWidget(), //基本信息 1344 + Stack(children: [
  1345 + baseInfoWidget(), //基本信息
  1346 + if (feastModel.banquetDetail.basicInfo.lost !=
  1347 + null &&
  1348 + feastModel.banquetDetail.basicInfo.lost != '')
  1349 + Positioned(
  1350 + top: w(90),
  1351 + right: w(50),
  1352 + child: Image.asset(
  1353 + Utils.getImgPath('lost'),
  1354 + width: w(60),
  1355 + ))
  1356 + ]),
1308 VEmptyView(52), 1357 VEmptyView(52),
1309 //场次 1358 //场次
1310 ListView.builder( 1359 ListView.builder(
@@ -1326,10 +1375,15 @@ class _FeastDetailPageState extends State<FeastDetailPage> { @@ -1326,10 +1375,15 @@ class _FeastDetailPageState extends State<FeastDetailPage> {
1326 //合同 1375 //合同
1327 // contractWidget(), 1376 // contractWidget(),
1328 1377
1329 - invoiceWidget() 1378 + invoiceWidget(),
  1379 + if (feastModel.banquetDetail.basicInfo.lost != null &&
  1380 + feastModel.banquetDetail.basicInfo.lost != '')
  1381 + lostCommentsWidget()
1330 ]))), 1382 ]))),
1331 ), 1383 ),
1332 - widget.canEdit 1384 + widget.canEdit &&
  1385 + (feastModel.banquetDetail.basicInfo.lost == null ||
  1386 + feastModel.banquetDetail.basicInfo.lost == '')
1333 ? Row( 1387 ? Row(
1334 children: [ 1388 children: [
1335 Expanded( 1389 Expanded(
@@ -5,6 +5,7 @@ import 'package:one_key/models/comments_label_model.dart'; @@ -5,6 +5,7 @@ import 'package:one_key/models/comments_label_model.dart';
5 import 'package:one_key/models/comments_model.dart'; 5 import 'package:one_key/models/comments_model.dart';
6 import 'package:one_key/provider/user_model.dart'; 6 import 'package:one_key/provider/user_model.dart';
7 import 'package:one_key/res/colors.dart'; 7 import 'package:one_key/res/colors.dart';
  8 +import 'package:one_key/utils/dialog_util.dart';
8 import 'package:one_key/widgets/h_empty_view.dart'; 9 import 'package:one_key/widgets/h_empty_view.dart';
9 import 'package:one_key/widgets/round_button.dart'; 10 import 'package:one_key/widgets/round_button.dart';
10 import 'package:one_key/widgets/system_app_bar.dart'; 11 import 'package:one_key/widgets/system_app_bar.dart';
@@ -522,6 +523,9 @@ class _CommentManageHomePageState extends State<CommentManageHomePage> { @@ -522,6 +523,9 @@ class _CommentManageHomePageState extends State<CommentManageHomePage> {
522 showInput = 523 showInput =
523 !showInput; 524 !showInput;
524 }); 525 });
  526 + DialogUtil
  527 + .openCommentsModalBottomSheet(
  528 + context);
525 }, 529 },
526 ), 530 ),
527 ), 531 ),
@@ -1304,30 +1304,32 @@ class MyPageState extends State<MyPage> with WidgetsBindingObserver { @@ -1304,30 +1304,32 @@ class MyPageState extends State<MyPage> with WidgetsBindingObserver {
1304 isRowLow: outDay == '0' || 1304 isRowLow: outDay == '0' ||
1305 !Utils.getAuthority( 1305 !Utils.getAuthority(
1306 context, '营销中心'))), 1306 context, '营销中心'))),
  1307 + // InkWell(
  1308 + // onTap: () {
  1309 + // if (outDay == '0') {
  1310 + // return;
  1311 + // }
  1312 + // if (Utils.getAuthority(
  1313 + // context, '评价管理')) {
  1314 + // NavigatorUtil
  1315 + // .goCommentManageHomePage(
  1316 + // context);
  1317 + // }
  1318 + // },
  1319 + // child: _item(
  1320 + // outDay == '0' ||
  1321 + // !Utils.getAuthority(
  1322 + // context, '评价管理')
  1323 + // ? Utils.getImgPath(
  1324 + // 'my_comment_un')
  1325 + // : Utils.getImgPath(
  1326 + // 'my_comment'),
  1327 + // '评价管理',
  1328 + // isRowLow: outDay == '0' ||
  1329 + // !Utils.getAuthority(
  1330 + // context, '评价管理'))),
1307 InkWell( 1331 InkWell(
1308 - onTap: () {  
1309 - if (outDay == '0') {  
1310 - return;  
1311 - }  
1312 - if (Utils.getAuthority(  
1313 - context, '评价管理')) {  
1314 - NavigatorUtil  
1315 - .goCommentManageHomePage(  
1316 - context);  
1317 - }  
1318 - },  
1319 - child: _item(  
1320 - outDay == '0' ||  
1321 - !Utils.getAuthority(  
1322 - context, '评价管理')  
1323 - ? Utils.getImgPath(  
1324 - 'my_comment_un')  
1325 - : Utils.getImgPath(  
1326 - 'my_comment'),  
1327 - '评价管理',  
1328 - isRowLow: outDay == '0' ||  
1329 - !Utils.getAuthority(  
1330 - context, '评价管理'))), 1332 + onTap: () {}, child: _item('', '空空空空')),
1331 InkWell( 1333 InkWell(
1332 onTap: () {}, child: _item('', '空空空空')), 1334 onTap: () {}, child: _item('', '空空空空')),
1333 ], 1335 ],
@@ -757,7 +757,7 @@ class TableManagerModel with ChangeNotifier { @@ -757,7 +757,7 @@ class TableManagerModel with ChangeNotifier {
757 FeastBoardModel feastBoardModel = FeastBoardModel(); 757 FeastBoardModel feastBoardModel = FeastBoardModel();
758 feastBoardModel.title = table.id; 758 feastBoardModel.title = table.id;
759 feastBoardModel.data = element.data; 759 feastBoardModel.data = element.data;
760 - banquetByDateDataTemp.add(feastBoardModel); 760 + banquetByDateDataTemp.add(feastBoardModel); //宴会(丢单除外)
761 } 761 }
762 }); 762 });
763 }); 763 });
@@ -772,15 +772,18 @@ class TableManagerModel with ChangeNotifier { @@ -772,15 +772,18 @@ class TableManagerModel with ChangeNotifier {
772 } 772 }
773 banquetByDateDataTemp.forEach((element) { 773 banquetByDateDataTemp.forEach((element) {
774 FeastBoardSunModel feastBoardSunModel = element.data[banquetKey][0]; 774 FeastBoardSunModel feastBoardSunModel = element.data[banquetKey][0];
775 - Notebook notebook = Notebook();  
776 - notebook.tid = element.title;  
777 - notebook.status = '10'; //宴会类型  
778 - notebook.className = feastBoardSunModel.className;  
779 - notebook.id = feastBoardSunModel.rid;  
780 - notebook.rname = feastBoardSunModel.rname;  
781 - notebook.nick_name =  
782 - feastBoardSunModel.nickName ?? feastBoardSunModel.account;  
783 - noteBooks.add(notebook); 775 + if (feastBoardSunModel.lost == null || feastBoardSunModel.lost == '') {
  776 + //未丢单的宴会
  777 + Notebook notebook = Notebook();
  778 + notebook.tid = element.title;
  779 + notebook.status = '10'; //宴会类型
  780 + notebook.className = feastBoardSunModel.className;
  781 + notebook.id = feastBoardSunModel.rid;
  782 + notebook.rname = feastBoardSunModel.rname;
  783 + notebook.nick_name =
  784 + feastBoardSunModel.nickName ?? feastBoardSunModel.account;
  785 + noteBooks.add(notebook);
  786 + }
784 }); 787 });
785 788
786 // List<Notebook> noteBooks = 789 // List<Notebook> noteBooks =
@@ -55,6 +55,87 @@ typedef ClickCallback = void Function(String value); @@ -55,6 +55,87 @@ typedef ClickCallback = void Function(String value);
55 // }; 55 // };
56 56
57 class DialogUtil { 57 class DialogUtil {
  58 +
  59 + //回复评论弹框
  60 + static openCommentsModalBottomSheet(context,
  61 + {VoidCallback lCallback, VoidCallback rCallback}) async {
  62 + final option = await showModalBottomSheet(
  63 + context: context,
  64 + backgroundColor: Colors.transparent,
  65 + isDismissible: false,
  66 + builder: (BuildContext context) {
  67 + return Container(
  68 + // height: ScreenUtil().setWidth(180 * 2),
  69 + decoration: BoxDecoration(
  70 + color: MyColours.color_DBDBDB,
  71 + // borderRadius: BorderRadius.only(
  72 + // topLeft: Radius.circular(ScreenUtil().setWidth(24)),
  73 + // topRight: Radius.circular(ScreenUtil().setWidth(24)))
  74 + ),
  75 + child: Row(
  76 +
  77 + children: <Widget>[
  78 + InkWell(
  79 + onTap: lCallback,
  80 + child: Container(
  81 + width: double.infinity,
  82 + height: ScreenUtil().setWidth(58 * 2),
  83 + child: Center(
  84 + child: Text(
  85 + '拍摄',
  86 + style: TextStyle(
  87 + fontSize: ScreenUtil().setSp(32),
  88 + color: MyColours.color_353535,
  89 + fontWeight: FontWeight.bold),
  90 + ),
  91 + )),
  92 + ),
  93 + MyDivider(
  94 + double.infinity,
  95 + ScreenUtil().setWidth(2),
  96 + color: MyColours.color_EEEEEE,
  97 + ),
  98 + InkWell(
  99 + onTap: rCallback,
  100 + child: Container(
  101 + width: double.infinity,
  102 + height: ScreenUtil().setWidth(58 * 2),
  103 + child: Center(
  104 + child: Text(
  105 + '从相册选择',
  106 + style: TextStyle(
  107 + fontSize: ScreenUtil().setSp(32),
  108 + color: MyColours.color_353535,
  109 + fontWeight: FontWeight.bold),
  110 + ),
  111 + )),
  112 + ),
  113 + MyDivider(
  114 + double.infinity,
  115 + ScreenUtil().setWidth(10),
  116 + color: MyColours.color_EEEEEE,
  117 + ),
  118 + InkWell(
  119 + onTap: () {
  120 + Navigator.pop(context, '取消');
  121 + },
  122 + child: Container(
  123 + width: double.infinity,
  124 + height: ScreenUtil().setWidth(58 * 2),
  125 + child: Center(
  126 + child: Text(
  127 + '取消',
  128 + style: TextStyle(
  129 + fontSize: ScreenUtil().setSp(32),
  130 + color: MyColours.color_353535,
  131 + fontWeight: FontWeight.bold),
  132 + ),
  133 + )))
  134 + ],
  135 + ),
  136 + );
  137 + });
  138 + }
58 static List<Widget> menuSelectBtn(MenuSunModel menuSunModel, state) { 139 static List<Widget> menuSelectBtn(MenuSunModel menuSunModel, state) {
59 List<Widget> temp = []; 140 List<Widget> temp = [];
60 for (int i = 0; i < menuSunModel.practice.length; i++) { 141 for (int i = 0; i < menuSunModel.practice.length; i++) {