Showing
19 changed files
with
552 additions
and
39 deletions
| @@ -11,14 +11,14 @@ if (flutterRoot == null) { | @@ -11,14 +11,14 @@ if (flutterRoot == null) { | ||
| 11 | throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") | 11 | throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") |
| 12 | } | 12 | } |
| 13 | 13 | ||
| 14 | -def flutterVersionCode = "282" | 14 | +def flutterVersionCode = "283" |
| 15 | if (flutterVersionCode == null) { | 15 | if (flutterVersionCode == null) { |
| 16 | - flutterVersionCode = '282' | 16 | + flutterVersionCode = '283' |
| 17 | } | 17 | } |
| 18 | 18 | ||
| 19 | -def flutterVersionName = "2.8.2" | 19 | +def flutterVersionName = "2.8.3" |
| 20 | if (flutterVersionName == null) { | 20 | if (flutterVersionName == null) { |
| 21 | - flutterVersionName = '2.8.2' | 21 | + flutterVersionName = '2.8.3' |
| 22 | } | 22 | } |
| 23 | 23 | ||
| 24 | apply plugin: 'com.android.application' | 24 | apply plugin: 'com.android.application' |
assets/photo.png
0 → 100644
2.17 KB
| @@ -24,6 +24,7 @@ class Table { | @@ -24,6 +24,7 @@ class Table { | ||
| 24 | String reserver; //订餐人 | 24 | String reserver; //订餐人 |
| 25 | String notebookId; //桌位对应的预订id | 25 | String notebookId; //桌位对应的预订id |
| 26 | bool selected; //是否选中 | 26 | bool selected; //是否选中 |
| 27 | + int isPhoto; //桌位是否有照片 | ||
| 27 | 28 | ||
| 28 | //获取桌位类型 | 29 | //获取桌位类型 |
| 29 | String get tidStr { | 30 | String get tidStr { |
| @@ -99,6 +100,6 @@ class Table { | @@ -99,6 +100,6 @@ class Table { | ||
| 99 | 100 | ||
| 100 | @override | 101 | @override |
| 101 | String toString() { | 102 | String toString() { |
| 102 | - return 'Table{id: $id, rid: $rid, tid: $tid, name: $name, table_pnum: $table_pnum, most_pnum: $most_pnum, order_o: $order_o, status: $status, tablestatus: $tablestatus, enable: $enable, spell: $spell, rname: $rname, max: $max, low: $low}'; | 103 | + return 'Table{id: $id,isPhoto:$isPhoto rid: $rid, tid: $tid, name: $name, table_pnum: $table_pnum, most_pnum: $most_pnum, order_o: $order_o, status: $status, tablestatus: $tablestatus, enable: $enable, spell: $spell, rname: $rname, max: $max, low: $low}'; |
| 103 | } | 104 | } |
| 104 | } | 105 | } |
| @@ -13,6 +13,7 @@ Table _$TableFromJson(Map<String, dynamic> json) { | @@ -13,6 +13,7 @@ Table _$TableFromJson(Map<String, dynamic> json) { | ||
| 13 | ..tid = json['tid'] as String | 13 | ..tid = json['tid'] as String |
| 14 | ..name = json['name'] as String | 14 | ..name = json['name'] as String |
| 15 | ..table_pnum = json['table_pnum'] as String | 15 | ..table_pnum = json['table_pnum'] as String |
| 16 | + ..isPhoto = json['is_photo'] as int | ||
| 16 | ..most_pnum = json['most_pnum'] as String | 17 | ..most_pnum = json['most_pnum'] as String |
| 17 | ..order_o = json['order_o'] as String | 18 | ..order_o = json['order_o'] as String |
| 18 | ..status = json['status'] as String | 19 | ..status = json['status'] as String |
| @@ -33,6 +34,7 @@ Map<String, dynamic> _$TableToJson(Table instance) => <String, dynamic>{ | @@ -33,6 +34,7 @@ Map<String, dynamic> _$TableToJson(Table instance) => <String, dynamic>{ | ||
| 33 | 'rid': instance.rid, | 34 | 'rid': instance.rid, |
| 34 | 'tid': instance.tid, | 35 | 'tid': instance.tid, |
| 35 | 'name': instance.name, | 36 | 'name': instance.name, |
| 37 | + 'isPhoto': instance.isPhoto, | ||
| 36 | 'table_pnum': instance.table_pnum, | 38 | 'table_pnum': instance.table_pnum, |
| 37 | 'most_pnum': instance.most_pnum, | 39 | 'most_pnum': instance.most_pnum, |
| 38 | 'order_o': instance.order_o, | 40 | 'order_o': instance.order_o, |
lib/models/table_photo_model.dart
0 → 100644
| 1 | +import 'package:json_annotation/json_annotation.dart'; | ||
| 2 | + | ||
| 3 | +part 'table_photo_model.g.dart'; | ||
| 4 | + | ||
| 5 | +@JsonSerializable() | ||
| 6 | +class TablePhotoModel extends Object { | ||
| 7 | + @JsonKey(name: 'ret') | ||
| 8 | + int ret; | ||
| 9 | + | ||
| 10 | + @JsonKey(name: 'data') | ||
| 11 | + List<TablePhotoSunModel> data; | ||
| 12 | + | ||
| 13 | + @JsonKey(name: 'msg') | ||
| 14 | + String msg; | ||
| 15 | + | ||
| 16 | + TablePhotoModel( | ||
| 17 | + this.ret, | ||
| 18 | + this.data, | ||
| 19 | + this.msg, | ||
| 20 | + ); | ||
| 21 | + | ||
| 22 | + factory TablePhotoModel.fromJson(Map<String, dynamic> srcJson) => | ||
| 23 | + _$TablePhotoModelFromJson(srcJson); | ||
| 24 | + | ||
| 25 | + Map<String, dynamic> toJson() => _$TablePhotoModelToJson(this); | ||
| 26 | +} | ||
| 27 | + | ||
| 28 | +@JsonSerializable() | ||
| 29 | +class TablePhotoSunModel extends Object { | ||
| 30 | + @JsonKey(name: 'id') | ||
| 31 | + String id; | ||
| 32 | + | ||
| 33 | + @JsonKey(name: 'sellerid') | ||
| 34 | + dynamic sellerid; | ||
| 35 | + | ||
| 36 | + @JsonKey(name: 'tableid') | ||
| 37 | + dynamic tableid; | ||
| 38 | + | ||
| 39 | + @JsonKey(name: 'url') | ||
| 40 | + String url; | ||
| 41 | + | ||
| 42 | + @JsonKey(name: 'cdate') | ||
| 43 | + dynamic cdate; | ||
| 44 | + | ||
| 45 | + bool isUpload; | ||
| 46 | + | ||
| 47 | + TablePhotoSunModel( | ||
| 48 | + this.id, | ||
| 49 | + this.sellerid, | ||
| 50 | + this.tableid, | ||
| 51 | + this.url, | ||
| 52 | + this.cdate, | ||
| 53 | + ); | ||
| 54 | + | ||
| 55 | + factory TablePhotoSunModel.fromJson(Map<String, dynamic> srcJson) => | ||
| 56 | + _$TablePhotoSunModelFromJson(srcJson); | ||
| 57 | + | ||
| 58 | + Map<String, dynamic> toJson() => _$TablePhotoSunModelToJson(this); | ||
| 59 | +} |
lib/models/table_photo_model.g.dart
0 → 100644
| 1 | +// GENERATED CODE - DO NOT MODIFY BY HAND | ||
| 2 | + | ||
| 3 | +part of 'table_photo_model.dart'; | ||
| 4 | + | ||
| 5 | +// ************************************************************************** | ||
| 6 | +// JsonSerializableGenerator | ||
| 7 | +// ************************************************************************** | ||
| 8 | + | ||
| 9 | +TablePhotoModel _$TablePhotoModelFromJson(Map<String, dynamic> json) { | ||
| 10 | + return TablePhotoModel( | ||
| 11 | + json['ret'] as int, | ||
| 12 | + (json['data'] as List) | ||
| 13 | + ?.map((e) => e == null | ||
| 14 | + ? null | ||
| 15 | + : TablePhotoSunModel.fromJson(e as Map<String, dynamic>)) | ||
| 16 | + ?.toList(), | ||
| 17 | + json['msg'] as String, | ||
| 18 | + ); | ||
| 19 | +} | ||
| 20 | + | ||
| 21 | +Map<String, dynamic> _$TablePhotoModelToJson(TablePhotoModel instance) => | ||
| 22 | + <String, dynamic>{ | ||
| 23 | + 'ret': instance.ret, | ||
| 24 | + 'data': instance.data, | ||
| 25 | + 'msg': instance.msg, | ||
| 26 | + }; | ||
| 27 | + | ||
| 28 | +TablePhotoSunModel _$TablePhotoSunModelFromJson(Map<String, dynamic> json) { | ||
| 29 | + return TablePhotoSunModel( | ||
| 30 | + json['id'] as String, | ||
| 31 | + json['sellerid'] as dynamic, | ||
| 32 | + json['tableid'] as dynamic, | ||
| 33 | + json['url'] as String, | ||
| 34 | + json['cdate'] as dynamic, | ||
| 35 | + ); | ||
| 36 | +} | ||
| 37 | + | ||
| 38 | +Map<String, dynamic> _$TablePhotoSunModelToJson(TablePhotoSunModel instance) => | ||
| 39 | + <String, dynamic>{ | ||
| 40 | + 'id': instance.id, | ||
| 41 | + 'sellerid': instance.sellerid, | ||
| 42 | + 'tableid': instance.tableid, | ||
| 43 | + 'url': instance.url, | ||
| 44 | + 'cdate': instance.cdate, | ||
| 45 | + }; |
| @@ -9,6 +9,8 @@ class UploadImgModel { | @@ -9,6 +9,8 @@ class UploadImgModel { | ||
| 9 | FileType fileType; | 9 | FileType fileType; |
| 10 | File thumbnailPath; // 视频封面 | 10 | File thumbnailPath; // 视频封面 |
| 11 | String duration; //视频时长 | 11 | String duration; //视频时长 |
| 12 | + bool isUpload; //桌面图片管理 ----- 图片是否上传到后台服务器 | ||
| 13 | + String photoID; //桌面图片管理 ID | ||
| 12 | } | 14 | } |
| 13 | 15 | ||
| 14 | enum FileType { | 16 | enum FileType { |
| @@ -110,5 +110,9 @@ class HttpUrl { | @@ -110,5 +110,9 @@ class HttpUrl { | ||
| 110 | "?service=App.Activity.AddForward"; // 客户经理转发记录 | 110 | "?service=App.Activity.AddForward"; // 客户经理转发记录 |
| 111 | static const String up_reserve_info = | 111 | static const String up_reserve_info = |
| 112 | "?service=App.Reserve.UpReserveInfo"; // 编辑订单附加信息 | 112 | "?service=App.Reserve.UpReserveInfo"; // 编辑订单附加信息 |
| 113 | + static const String set_table_photo = | ||
| 114 | + "?service=App.Tables.SetTablePhoto"; // App设置桌位关联图片 | ||
| 115 | + static const String get_table_photo = | ||
| 116 | + "?service=App.Tables.GetTablePhoto"; // App获取桌位关联图片 | ||
| 113 | 117 | ||
| 114 | } | 118 | } |
| @@ -38,6 +38,7 @@ class ImgPickerWidget extends StatefulWidget { | @@ -38,6 +38,7 @@ class ImgPickerWidget extends StatefulWidget { | ||
| 38 | final int maxImageNumber; | 38 | final int maxImageNumber; |
| 39 | final UploadImageProvider model; | 39 | final UploadImageProvider model; |
| 40 | final UploadType uploadType; | 40 | final UploadType uploadType; |
| 41 | + final VoidCallback callbackDelete; | ||
| 41 | ImgPickerWidget( | 42 | ImgPickerWidget( |
| 42 | {Key key, | 43 | {Key key, |
| 43 | this.scrollController, | 44 | this.scrollController, |
| @@ -45,7 +46,8 @@ class ImgPickerWidget extends StatefulWidget { | @@ -45,7 +46,8 @@ class ImgPickerWidget extends StatefulWidget { | ||
| 45 | this.onChange, | 46 | this.onChange, |
| 46 | this.maxImageNumber = 5, | 47 | this.maxImageNumber = 5, |
| 47 | this.model, | 48 | this.model, |
| 48 | - this.uploadType}) | 49 | + this.uploadType, |
| 50 | + this.callbackDelete}) | ||
| 49 | : super(key: key); | 51 | : super(key: key); |
| 50 | 52 | ||
| 51 | @override | 53 | @override |
| @@ -118,6 +120,10 @@ class _ImgPickerWidgetState extends DisposableState<ImgPickerWidget> { | @@ -118,6 +120,10 @@ class _ImgPickerWidgetState extends DisposableState<ImgPickerWidget> { | ||
| 118 | temp = widget.model.imageList; | 120 | temp = widget.model.imageList; |
| 119 | } else if (widget.uploadType == UploadType.StoreFrontUploadType) { | 121 | } else if (widget.uploadType == UploadType.StoreFrontUploadType) { |
| 120 | temp = widget.model.imageListFront; | 122 | temp = widget.model.imageListFront; |
| 123 | + } else if (widget.uploadType == UploadType.EnvironmentUploadType) { | ||
| 124 | + temp = widget.model.imageListDenvironment; | ||
| 125 | + } else if (widget.uploadType == UploadType.TableManagerType) { | ||
| 126 | + temp = widget.model.tableImageList; | ||
| 121 | } | 127 | } |
| 122 | 128 | ||
| 123 | /// context is required, other params is optional. | 129 | /// context is required, other params is optional. |
| @@ -402,6 +408,10 @@ class _ImgPickerWidgetState extends DisposableState<ImgPickerWidget> { | @@ -402,6 +408,10 @@ class _ImgPickerWidgetState extends DisposableState<ImgPickerWidget> { | ||
| 402 | temp = widget.model.imageList; | 408 | temp = widget.model.imageList; |
| 403 | } else if (widget.uploadType == UploadType.StoreFrontUploadType) { | 409 | } else if (widget.uploadType == UploadType.StoreFrontUploadType) { |
| 404 | temp = widget.model.imageListFront; | 410 | temp = widget.model.imageListFront; |
| 411 | + } else if (widget.uploadType == UploadType.EnvironmentUploadType) { | ||
| 412 | + temp = widget.model.imageListDenvironment; | ||
| 413 | + } else if (widget.uploadType == UploadType.TableManagerType) { | ||
| 414 | + temp = widget.model.tableImageList; | ||
| 405 | } | 415 | } |
| 406 | return _getGridImg( | 416 | return _getGridImg( |
| 407 | temp.length < widget.maxImageNumber ? temp.length + 1 : temp.length, | 417 | temp.length < widget.maxImageNumber ? temp.length + 1 : temp.length, |
| @@ -423,9 +433,9 @@ class _ImgPickerWidgetState extends DisposableState<ImgPickerWidget> { | @@ -423,9 +433,9 @@ class _ImgPickerWidgetState extends DisposableState<ImgPickerWidget> { | ||
| 423 | //横轴元素个数 | 433 | //横轴元素个数 |
| 424 | crossAxisCount: 3, | 434 | crossAxisCount: 3, |
| 425 | //纵轴间距 | 435 | //纵轴间距 |
| 426 | - mainAxisSpacing: ScreenUtil().setWidth(30), | 436 | + mainAxisSpacing: ScreenUtil().setWidth(40), |
| 427 | //横轴间距 | 437 | //横轴间距 |
| 428 | - crossAxisSpacing: ScreenUtil().setWidth(30), | 438 | + crossAxisSpacing: ScreenUtil().setWidth(36), |
| 429 | //子组件宽高长度比例 | 439 | //子组件宽高长度比例 |
| 430 | childAspectRatio: 1.0), | 440 | childAspectRatio: 1.0), |
| 431 | itemBuilder: (BuildContext context, int index) { | 441 | itemBuilder: (BuildContext context, int index) { |
| @@ -490,15 +500,21 @@ class _ImgPickerWidgetState extends DisposableState<ImgPickerWidget> { | @@ -490,15 +500,21 @@ class _ImgPickerWidgetState extends DisposableState<ImgPickerWidget> { | ||
| 490 | Stack( | 500 | Stack( |
| 491 | // alignment: Alignment.topRight, | 501 | // alignment: Alignment.topRight, |
| 492 | children: [ | 502 | children: [ |
| 493 | - Container( | ||
| 494 | - color: Colors.red, | ||
| 495 | - child: Image.file( | ||
| 496 | - temp[index].file, | ||
| 497 | - fit: BoxFit.cover, | ||
| 498 | - width: ScreenUtil().setWidth(100 * 2), | ||
| 499 | - height: ScreenUtil().setWidth(100 * 2), | ||
| 500 | - ), | ||
| 501 | - ), | 503 | + temp[index].file != null |
| 504 | + ? Container( | ||
| 505 | + child: Image.file( | ||
| 506 | + temp[index].file, | ||
| 507 | + fit: BoxFit.cover, | ||
| 508 | + width: ScreenUtil().setWidth(100 * 2), | ||
| 509 | + height: ScreenUtil().setWidth(100 * 2), | ||
| 510 | + ), | ||
| 511 | + ) | ||
| 512 | + : Image.network( | ||
| 513 | + temp[index].qiniuUrl, | ||
| 514 | + fit: BoxFit.cover, | ||
| 515 | + width: ScreenUtil().setWidth(100 * 2), | ||
| 516 | + height: ScreenUtil().setWidth(100 * 2), | ||
| 517 | + ), | ||
| 502 | Offstage( | 518 | Offstage( |
| 503 | offstage: temp[index].process < 1, | 519 | offstage: temp[index].process < 1, |
| 504 | child: Align( | 520 | child: Align( |
| @@ -510,16 +526,55 @@ class _ImgPickerWidgetState extends DisposableState<ImgPickerWidget> { | @@ -510,16 +526,55 @@ class _ImgPickerWidgetState extends DisposableState<ImgPickerWidget> { | ||
| 510 | height: ScreenUtil().setWidth(40), | 526 | height: ScreenUtil().setWidth(40), |
| 511 | ), | 527 | ), |
| 512 | onTap: () { | 528 | onTap: () { |
| 513 | - //点击删除按钮 | ||
| 514 | - setState(() { | ||
| 515 | - temp.removeWhere( | ||
| 516 | - (element) => element == temp[index]); | ||
| 517 | - widget.model.imageQiniuUrlList | ||
| 518 | - .removeWhere((element) => | ||
| 519 | - element == | ||
| 520 | - widget.model | ||
| 521 | - .imageQiniuUrlList[index]); | ||
| 522 | - }); | 529 | + if (widget.uploadType == |
| 530 | + UploadType.TableManagerType) { | ||
| 531 | + if (temp[index].isUpload) { | ||
| 532 | + //已经传到服务器,弹提醒窗口,是否删除 | ||
| 533 | + //修改之前有内容,则弹框 | ||
| 534 | + DialogUtil.cupertinoAlertDialog(context, | ||
| 535 | + title: "确认删除", | ||
| 536 | + content: "是否确定删除该照片,删除操作不可逆转,请谨慎操作", | ||
| 537 | + lCallback: () { | ||
| 538 | + print("取消"); | ||
| 539 | + }, rCallback: () { | ||
| 540 | + print("确定"); | ||
| 541 | + widget.callbackDelete(); | ||
| 542 | + setState(() { | ||
| 543 | + temp.removeWhere((element) => | ||
| 544 | + element == temp[index]); | ||
| 545 | + widget.model.imageQiniuUrlList | ||
| 546 | + .removeWhere((element) => | ||
| 547 | + element == | ||
| 548 | + widget.model | ||
| 549 | + .imageQiniuUrlList[ | ||
| 550 | + index]); | ||
| 551 | + }); | ||
| 552 | + }); | ||
| 553 | + } else { | ||
| 554 | + //直接删除 | ||
| 555 | + setState(() { | ||
| 556 | + temp.removeWhere((element) => | ||
| 557 | + element == temp[index]); | ||
| 558 | + widget.model.imageQiniuUrlList | ||
| 559 | + .removeWhere((element) => | ||
| 560 | + element == | ||
| 561 | + widget.model | ||
| 562 | + .imageQiniuUrlList[ | ||
| 563 | + index]); | ||
| 564 | + }); | ||
| 565 | + } | ||
| 566 | + } else { | ||
| 567 | + //点击删除按钮 | ||
| 568 | + setState(() { | ||
| 569 | + temp.removeWhere((element) => | ||
| 570 | + element == temp[index]); | ||
| 571 | + widget.model.imageQiniuUrlList | ||
| 572 | + .removeWhere((element) => | ||
| 573 | + element == | ||
| 574 | + widget.model | ||
| 575 | + .imageQiniuUrlList[index]); | ||
| 576 | + }); | ||
| 577 | + } | ||
| 523 | }, | 578 | }, |
| 524 | )), | 579 | )), |
| 525 | ), | 580 | ), |
| @@ -253,6 +253,7 @@ class TableManagerPageState extends State<TableManagerPage> { | @@ -253,6 +253,7 @@ class TableManagerPageState extends State<TableManagerPage> { | ||
| 253 | table), | 253 | table), |
| 254 | ""); | 254 | ""); |
| 255 | break; | 255 | break; |
| 256 | + | ||
| 256 | case 3: //停用,启用桌位 | 257 | case 3: //停用,启用桌位 |
| 257 | Map<String, String> params = { | 258 | Map<String, String> params = { |
| 258 | "id": (table as t.Table).id, | 259 | "id": (table as t.Table).id, |
| @@ -297,6 +298,11 @@ class TableManagerPageState extends State<TableManagerPage> { | @@ -297,6 +298,11 @@ class TableManagerPageState extends State<TableManagerPage> { | ||
| 297 | } | 298 | } |
| 298 | }); | 299 | }); |
| 299 | break; | 300 | break; |
| 301 | + case 4: //照片管理 | ||
| 302 | + NavigatorUtil.goTablePhotoManagerPage(context, | ||
| 303 | + tid: (table as t.Table).id, | ||
| 304 | + tname: (table as t.Table).name); | ||
| 305 | + break; | ||
| 300 | } | 306 | } |
| 301 | } | 307 | } |
| 302 | }); | 308 | }); |
| 1 | +import 'dart:convert'; | ||
| 2 | + | ||
| 3 | +import 'package:flutter/material.dart'; | ||
| 4 | +import 'package:flutter_screenutil/screenutil.dart'; | ||
| 5 | +import 'package:one_key/models/table_photo_model.dart'; | ||
| 6 | +import 'package:one_key/models/upload_img_model.dart'; | ||
| 7 | +import 'package:one_key/pages/online_check/img_picker_widget.dart'; | ||
| 8 | +import 'package:one_key/provider/table_photo_anager_provider.dart'; | ||
| 9 | +import 'package:one_key/provider/upload_img_provider.dart'; | ||
| 10 | +import 'package:one_key/provider/user_model.dart'; | ||
| 11 | +import 'package:one_key/res/colors.dart'; | ||
| 12 | +import 'package:one_key/route/navigator_util.dart'; | ||
| 13 | +import 'package:one_key/utils/upload_image_util.dart'; | ||
| 14 | +import 'package:one_key/utils/utils.dart'; | ||
| 15 | +import 'package:one_key/widgets/round_button.dart'; | ||
| 16 | +import 'package:one_key/widgets/system_app_bar.dart'; | ||
| 17 | +import 'package:one_key/widgets/v_empty_view.dart'; | ||
| 18 | +import 'package:provider/provider.dart'; | ||
| 19 | + | ||
| 20 | +class TablePhotoManagerPage extends StatefulWidget { | ||
| 21 | + final String tid; | ||
| 22 | + final String tname; | ||
| 23 | + TablePhotoManagerPage({Key key, this.tid, this.tname}) : super(key: key); | ||
| 24 | + | ||
| 25 | + @override | ||
| 26 | + _TablePhotoManagerPageState createState() => _TablePhotoManagerPageState(); | ||
| 27 | +} | ||
| 28 | + | ||
| 29 | +class _TablePhotoManagerPageState extends State<TablePhotoManagerPage> { | ||
| 30 | + ScrollController _controller = ScrollController(); | ||
| 31 | + UploadImageProvider _uploadImageProvider; | ||
| 32 | + TablePhotoManagerModel _tablePhotoManagerModel; | ||
| 33 | + | ||
| 34 | + @override | ||
| 35 | + void initState() { | ||
| 36 | + super.initState(); | ||
| 37 | + WidgetsBinding.instance.addPostFrameCallback((_) { | ||
| 38 | + _getTablePhoto(context); | ||
| 39 | + _getQiniuInfo(); | ||
| 40 | + }); | ||
| 41 | + } | ||
| 42 | + | ||
| 43 | + ///获取七牛云token | ||
| 44 | + /// | ||
| 45 | + _getQiniuInfo() async { | ||
| 46 | + await _uploadImageProvider.getQiniuInfo(context, {}); | ||
| 47 | + } | ||
| 48 | + | ||
| 49 | + ///设置桌子图片 | ||
| 50 | + /// | ||
| 51 | + _setTablePhoto(BuildContext context, List tablePhoto) async { | ||
| 52 | + Map<String, String> params = { | ||
| 53 | + "sellerid": Provider.of<UserModel>(context, listen: false).user.sellerid, | ||
| 54 | + "tableid": widget.tid, | ||
| 55 | + "photoList": jsonEncode(tablePhoto) | ||
| 56 | + }; | ||
| 57 | + print(_uploadImageProvider.tableImageList); | ||
| 58 | + List<TablePhotoSunModel> tablePhotoList = | ||
| 59 | + await _tablePhotoManagerModel.setTablePhoto(context, params); | ||
| 60 | + if (tablePhotoList.length > 0) { | ||
| 61 | + //已经进来,上传过图片 | ||
| 62 | + for (int i = 0; i < tablePhotoList.length; i++) { | ||
| 63 | + for (int j = 0; j < _uploadImageProvider.tableImageList.length; j++) { | ||
| 64 | + if (_uploadImageProvider.tableImageList[j].qiniuUrl == | ||
| 65 | + tablePhotoList[i].url) { | ||
| 66 | + _uploadImageProvider.tableImageList[j].isUpload = true; | ||
| 67 | + _uploadImageProvider.tableImageList[j].photoID = | ||
| 68 | + tablePhotoList[i].id; | ||
| 69 | + } | ||
| 70 | + } | ||
| 71 | + } | ||
| 72 | + } | ||
| 73 | + | ||
| 74 | + print(_uploadImageProvider.tableImageList); | ||
| 75 | + _uploadImageProvider.notifyListeners(); | ||
| 76 | + } | ||
| 77 | + | ||
| 78 | + ///获取桌位图片 | ||
| 79 | + _getTablePhoto(BuildContext context) async { | ||
| 80 | + Map<String, String> params = { | ||
| 81 | + "sellerid": Provider.of<UserModel>(context, listen: false).user.sellerid, | ||
| 82 | + "tableid": widget.tid, | ||
| 83 | + }; | ||
| 84 | + List<TablePhotoSunModel> tablePhotoList = | ||
| 85 | + await _tablePhotoManagerModel.getTablePhoto(context, params); | ||
| 86 | + if (tablePhotoList.length > 0) { | ||
| 87 | + print(_uploadImageProvider.tableImageList); | ||
| 88 | + for (int i = 0; i < tablePhotoList.length; i++) { | ||
| 89 | + UploadImgModel model = UploadImgModel(); | ||
| 90 | + model.qiniuUrl = tablePhotoList[i].url; | ||
| 91 | + model.isUpload = true; | ||
| 92 | + model.photoID = tablePhotoList[i].id; | ||
| 93 | + model.process = 1; | ||
| 94 | + _uploadImageProvider.tableImageList.add(model); | ||
| 95 | + } | ||
| 96 | + _uploadImageProvider.notifyListeners(); | ||
| 97 | + } | ||
| 98 | + } | ||
| 99 | + | ||
| 100 | + @override | ||
| 101 | + void dispose() { | ||
| 102 | + super.dispose(); | ||
| 103 | + _uploadImageProvider.tableImageList = []; | ||
| 104 | + } | ||
| 105 | + | ||
| 106 | + @override | ||
| 107 | + Widget build(BuildContext context) { | ||
| 108 | + print(widget.tid); | ||
| 109 | + _uploadImageProvider = | ||
| 110 | + Provider.of<UploadImageProvider>(context, listen: true); | ||
| 111 | + _tablePhotoManagerModel = | ||
| 112 | + Provider.of<TablePhotoManagerModel>(context, listen: true); | ||
| 113 | + return Scaffold( | ||
| 114 | + backgroundColor: Colors.white, | ||
| 115 | + appBar: SystemAppBar( | ||
| 116 | + '照片管理', | ||
| 117 | + onTap: () { | ||
| 118 | + Navigator.pop(context); | ||
| 119 | + }, | ||
| 120 | + ), | ||
| 121 | + body: InkWell( | ||
| 122 | + onTap: () { | ||
| 123 | + FocusScope.of(context).requestFocus(FocusNode()); //点击空白处隐藏键盘 | ||
| 124 | + }, | ||
| 125 | + child: Container( | ||
| 126 | + padding: EdgeInsets.symmetric( | ||
| 127 | + horizontal: ScreenUtil().setWidth(40), | ||
| 128 | + ), | ||
| 129 | + child: Column(children: [ | ||
| 130 | + Container( | ||
| 131 | + decoration: BoxDecoration( | ||
| 132 | + border: Border( | ||
| 133 | + bottom: BorderSide( | ||
| 134 | + width: ScreenUtil().setWidth(2), | ||
| 135 | + color: MyColours.color_f5f5f5))), | ||
| 136 | + height: ScreenUtil().setWidth(100), | ||
| 137 | + child: Row( | ||
| 138 | + mainAxisAlignment: MainAxisAlignment.spaceBetween, | ||
| 139 | + children: [ | ||
| 140 | + Text('当前桌位:${widget.tname}', | ||
| 141 | + style: TextStyle( | ||
| 142 | + color: MyColours.color_333333, | ||
| 143 | + fontSize: ScreenUtil().setSp(32), | ||
| 144 | + fontWeight: FontWeight.bold)), | ||
| 145 | + Text('切换桌位', | ||
| 146 | + style: TextStyle( | ||
| 147 | + color: MyColours.color_199095, | ||
| 148 | + fontSize: ScreenUtil().setSp(32))), | ||
| 149 | + ], | ||
| 150 | + )), | ||
| 151 | + Expanded( | ||
| 152 | + child: SingleChildScrollView( | ||
| 153 | + controller: _controller, | ||
| 154 | + child: Column( | ||
| 155 | + crossAxisAlignment: CrossAxisAlignment.start, | ||
| 156 | + children: [ | ||
| 157 | + VEmptyView(60), | ||
| 158 | + Consumer<UploadImageProvider>( | ||
| 159 | + builder: (context, model, _) { | ||
| 160 | + return ImgPickerWidget( | ||
| 161 | + scrollController: _controller, | ||
| 162 | + model: model, | ||
| 163 | + maxImageNumber: 5, | ||
| 164 | + uploadType: UploadType.TableManagerType, | ||
| 165 | + callbackDelete: () { | ||
| 166 | + //调用删除桌子图片接口 | ||
| 167 | + }, | ||
| 168 | + ); | ||
| 169 | + }), | ||
| 170 | + ]))), | ||
| 171 | + RoundButton( | ||
| 172 | + text: '确定上传', | ||
| 173 | + gradientStart: MyColours.color_199095, | ||
| 174 | + gradientEnd: MyColours.color_199095, | ||
| 175 | + // borderColor: MyColours.color_999999, | ||
| 176 | + radius: ScreenUtil().setWidth(10), | ||
| 177 | + fontSize: 34, | ||
| 178 | + height: ScreenUtil().setWidth(80), | ||
| 179 | + isBold: false, | ||
| 180 | + onPressed: () { | ||
| 181 | + for (UploadImgModel item | ||
| 182 | + in _uploadImageProvider.tableImageList) { | ||
| 183 | + if (item.process < 1) { | ||
| 184 | + Utils.showToast('正在上传图片,请稍等'); | ||
| 185 | + return; | ||
| 186 | + } | ||
| 187 | + } | ||
| 188 | + //接口,和桌子绑定 | ||
| 189 | + List imageQiniuUrlList = []; | ||
| 190 | + for (int i = 0; | ||
| 191 | + i < _uploadImageProvider.tableImageList.length; | ||
| 192 | + i++) { | ||
| 193 | + if (!_uploadImageProvider.tableImageList[i].isUpload) { | ||
| 194 | + imageQiniuUrlList.add({ | ||
| 195 | + "url": | ||
| 196 | + _uploadImageProvider.tableImageList[i].qiniuUrl | ||
| 197 | + }); | ||
| 198 | + } | ||
| 199 | + } | ||
| 200 | + _setTablePhoto(context, imageQiniuUrlList); | ||
| 201 | + }, | ||
| 202 | + ) | ||
| 203 | + ])))); | ||
| 204 | + } | ||
| 205 | +} | ||
| 206 | + | ||
| 207 | +// |
| 1 | +import 'package:flutter/material.dart'; | ||
| 2 | +import 'package:one_key/constant/constant.dart'; | ||
| 3 | +import 'package:one_key/constant/error.dart'; | ||
| 4 | +import 'package:one_key/models/table_photo_model.dart'; | ||
| 5 | +import 'package:one_key/net/base_resp.dart'; | ||
| 6 | +import 'package:one_key/net/dio_util.dart'; | ||
| 7 | +import 'package:one_key/net/http_url.dart'; | ||
| 8 | +import 'package:one_key/utils/utils.dart'; | ||
| 9 | + | ||
| 10 | +class TablePhotoManagerModel with ChangeNotifier { | ||
| 11 | + ///App设置桌位关联图片 | ||
| 12 | + Future<dynamic> setTablePhoto( | ||
| 13 | + BuildContext context, Map<String, String> params, | ||
| 14 | + {isShowLoading = true}) async { | ||
| 15 | + BaseResp<dynamic> baseResp = await DioUtil() | ||
| 16 | + .request<dynamic>(context, Method.get, HttpUrl.set_table_photo, | ||
| 17 | + data: params, showLoading: isShowLoading) | ||
| 18 | + .catchError((error) { | ||
| 19 | + print(error.toString()); | ||
| 20 | + if (error is MyError) {} | ||
| 21 | + return []; | ||
| 22 | + }); | ||
| 23 | + if (baseResp.code == Constant.status_success) { | ||
| 24 | + if (baseResp.data != null) { | ||
| 25 | + // coupons = baseResp.data['aid'].split(''); | ||
| 26 | + Utils.showToast("设置桌位图片成功!"); | ||
| 27 | + return TablePhotoModel.fromJson(baseResp.responseData).data; | ||
| 28 | + } else { | ||
| 29 | + // Utils.showToast(baseResp.msg ?? "修改失败"); | ||
| 30 | + return []; | ||
| 31 | + } | ||
| 32 | + } else { | ||
| 33 | + if (baseResp != null) { | ||
| 34 | + // Utils.showToast(baseResp.msg ?? ""); | ||
| 35 | + } | ||
| 36 | + return []; | ||
| 37 | + } | ||
| 38 | + } | ||
| 39 | + | ||
| 40 | + ///App获取桌位关联图片 | ||
| 41 | + Future<dynamic> getTablePhoto( | ||
| 42 | + BuildContext context, Map<String, String> params, | ||
| 43 | + {isShowLoading = true}) async { | ||
| 44 | + BaseResp<dynamic> baseResp = await DioUtil() | ||
| 45 | + .request<dynamic>(context, Method.get, HttpUrl.get_table_photo, | ||
| 46 | + data: params, showLoading: isShowLoading) | ||
| 47 | + .catchError((error) { | ||
| 48 | + print(error.toString()); | ||
| 49 | + if (error is MyError) {} | ||
| 50 | + }); | ||
| 51 | + if (baseResp.code == Constant.status_success) { | ||
| 52 | + if (baseResp.data == null) { | ||
| 53 | + } else { | ||
| 54 | + return TablePhotoModel.fromJson(baseResp.responseData).data; | ||
| 55 | + } | ||
| 56 | + } else { | ||
| 57 | + if (baseResp != null) { | ||
| 58 | + Utils.showToast(baseResp.msg ?? ""); | ||
| 59 | + } | ||
| 60 | + return []; | ||
| 61 | + } | ||
| 62 | + } | ||
| 63 | +} |
| @@ -13,7 +13,7 @@ import 'package:one_key/utils/utils.dart'; | @@ -13,7 +13,7 @@ import 'package:one_key/utils/utils.dart'; | ||
| 13 | 13 | ||
| 14 | class UploadImageProvider extends ChangeNotifier { | 14 | class UploadImageProvider extends ChangeNotifier { |
| 15 | List<UploadImgModel> imageList = []; //图片信息列表 | 15 | List<UploadImgModel> imageList = []; //图片信息列表 |
| 16 | - List<String> imageQiniuUrlList = []; //七牛云地址列表 | 16 | + List<dynamic> imageQiniuUrlList = []; //七牛云地址列表 |
| 17 | QiniuInfoSunModel qiniuInfoSunModel; | 17 | QiniuInfoSunModel qiniuInfoSunModel; |
| 18 | UploadImgModel touxiang = UploadImgModel(); //头像 | 18 | UploadImgModel touxiang = UploadImgModel(); //头像 |
| 19 | UploadImgModel erweima = UploadImgModel(); //二维码 | 19 | UploadImgModel erweima = UploadImgModel(); //二维码 |
| @@ -21,6 +21,7 @@ class UploadImageProvider extends ChangeNotifier { | @@ -21,6 +21,7 @@ class UploadImageProvider extends ChangeNotifier { | ||
| 21 | double imgSizeErweima = 22; | 21 | double imgSizeErweima = 22; |
| 22 | List<UploadImgModel> imageListDenvironment = []; //环境信息列表 | 22 | List<UploadImgModel> imageListDenvironment = []; //环境信息列表 |
| 23 | List<UploadImgModel> imageListFront = []; //门头信息列表 | 23 | List<UploadImgModel> imageListFront = []; //门头信息列表 |
| 24 | + List<UploadImgModel> tableImageList = []; //桌子管理图片信息列表 | ||
| 24 | UploadImageProvider() { | 25 | UploadImageProvider() { |
| 25 | touxiang.process = 0.01; | 26 | touxiang.process = 0.01; |
| 26 | erweima.process = 0.01; | 27 | erweima.process = 0.01; |
| @@ -41,7 +41,7 @@ class NavigatorUtil { | @@ -41,7 +41,7 @@ class NavigatorUtil { | ||
| 41 | } | 41 | } |
| 42 | 42 | ||
| 43 | /// 订单详情 | 43 | /// 订单详情 |
| 44 | - static void goNotebookDetailPage(BuildContext context, String rid,String uid, | 44 | + static void goNotebookDetailPage(BuildContext context, String rid, String uid, |
| 45 | {String mid = "", bool fromNotify = false, replace = false}) { | 45 | {String mid = "", bool fromNotify = false, replace = false}) { |
| 46 | _navigateTo(context, | 46 | _navigateTo(context, |
| 47 | "${Routes.reserve_detail}?rid=$rid&mid=$mid&uid=$uid&fromNotify=$fromNotify", | 47 | "${Routes.reserve_detail}?rid=$rid&mid=$mid&uid=$uid&fromNotify=$fromNotify", |
| @@ -307,4 +307,12 @@ class NavigatorUtil { | @@ -307,4 +307,12 @@ class NavigatorUtil { | ||
| 307 | {replace = false, IntegralSunModel sunModel}) { | 307 | {replace = false, IntegralSunModel sunModel}) { |
| 308 | return _navigateTo(context, "${Routes.my_contant_page}", replace: replace); | 308 | return _navigateTo(context, "${Routes.my_contant_page}", replace: replace); |
| 309 | } | 309 | } |
| 310 | + | ||
| 311 | + /// 桌位照片管理 | ||
| 312 | + static Future<dynamic> goTablePhotoManagerPage(BuildContext context, | ||
| 313 | + {replace = false, String tid, String tname}) { | ||
| 314 | + return _navigateTo(context, | ||
| 315 | + "${Routes.table_photo_manager}?tid=${tid}&tname=${Uri.encodeComponent(tname)}", | ||
| 316 | + replace: replace); | ||
| 317 | + } | ||
| 310 | } | 318 | } |
| @@ -43,6 +43,7 @@ import 'package:one_key/pages/online_check/online_check_detail_page.dart'; | @@ -43,6 +43,7 @@ import 'package:one_key/pages/online_check/online_check_detail_page.dart'; | ||
| 43 | import 'package:one_key/pages/online_check/online_check_edit_page.dart'; | 43 | import 'package:one_key/pages/online_check/online_check_edit_page.dart'; |
| 44 | import 'package:one_key/pages/sms/sms_page.dart'; | 44 | import 'package:one_key/pages/sms/sms_page.dart'; |
| 45 | import 'package:one_key/pages/table/select_table_page.dart'; | 45 | import 'package:one_key/pages/table/select_table_page.dart'; |
| 46 | +import 'package:one_key/pages/table/table_photo_manager_page.dart'; | ||
| 46 | import 'package:one_key/pages/webview/webview_page.dart'; | 47 | import 'package:one_key/pages/webview/webview_page.dart'; |
| 47 | import 'package:one_key/provider/base_info_provider.dart'; | 48 | import 'package:one_key/provider/base_info_provider.dart'; |
| 48 | import 'package:one_key/provider/book_set_time_model.dart'; | 49 | import 'package:one_key/provider/book_set_time_model.dart'; |
| @@ -55,6 +56,7 @@ import 'package:one_key/provider/notebook_detail_model.dart'; | @@ -55,6 +56,7 @@ import 'package:one_key/provider/notebook_detail_model.dart'; | ||
| 55 | import 'package:one_key/provider/order_food_provider.dart'; | 56 | import 'package:one_key/provider/order_food_provider.dart'; |
| 56 | import 'package:one_key/provider/other_login_provider.dart'; | 57 | import 'package:one_key/provider/other_login_provider.dart'; |
| 57 | import 'package:one_key/provider/remark_manager_model.dart'; | 58 | import 'package:one_key/provider/remark_manager_model.dart'; |
| 59 | +import 'package:one_key/provider/table_photo_anager_provider.dart'; | ||
| 58 | import 'package:one_key/provider/upload_img_provider.dart'; | 60 | import 'package:one_key/provider/upload_img_provider.dart'; |
| 59 | import 'package:one_key/utils/fluro_convert_utils.dart'; | 61 | import 'package:one_key/utils/fluro_convert_utils.dart'; |
| 60 | import 'package:provider/provider.dart'; | 62 | import 'package:provider/provider.dart'; |
| @@ -451,3 +453,17 @@ var myContantPageHandler = new Handler( | @@ -451,3 +453,17 @@ var myContantPageHandler = new Handler( | ||
| 451 | return ChangeNotifierProvider<ContantShowModel>( | 453 | return ChangeNotifierProvider<ContantShowModel>( |
| 452 | create: (_) => ContantShowModel(), child: ContactListPage()); | 454 | create: (_) => ContantShowModel(), child: ContactListPage()); |
| 453 | }); | 455 | }); |
| 456 | + | ||
| 457 | +///桌位照片管理 | ||
| 458 | +var tablePhotoManagerHandler = new Handler( | ||
| 459 | + handlerFunc: (BuildContext context, Map<String, List<Object>> params) { | ||
| 460 | + // CouponSunModel couponSunModel = CouponSunModel.fromJson(json.decode( | ||
| 461 | + // FluroConvertUtils.fluroCnParamsDecode(params["couponSunModel"].first))); | ||
| 462 | + String tid = params["tid"].first; | ||
| 463 | + String tname = params["tname"].first; | ||
| 464 | + return ChangeNotifierProvider<TablePhotoManagerModel>( | ||
| 465 | + create: (_) => TablePhotoManagerModel(), | ||
| 466 | + child: TablePhotoManagerPage(tid: tid, tname: tname)); | ||
| 467 | + // return ChangeNotifierProvider<UploadImageProvider>( | ||
| 468 | + // create: (_) => UploadImageProvider(), child: EnterStoreFrontPhotoPage()); | ||
| 469 | +}); |
| @@ -43,7 +43,7 @@ class Routes { | @@ -43,7 +43,7 @@ class Routes { | ||
| 43 | static String complete_create_store = "/complete_create_store"; //创建店铺完成 | 43 | static String complete_create_store = "/complete_create_store"; //创建店铺完成 |
| 44 | static String my_integral_page = "/my_integral_page"; //我的积分 | 44 | static String my_integral_page = "/my_integral_page"; //我的积分 |
| 45 | static String my_contant_page = "/my_contant_page"; //我的联系人 | 45 | static String my_contant_page = "/my_contant_page"; //我的联系人 |
| 46 | - | 46 | + static String table_photo_manager = "/table_photo_manager"; //桌位照片管理 |
| 47 | 47 | ||
| 48 | static void configureRoutes(FluroRouter router) { | 48 | static void configureRoutes(FluroRouter router) { |
| 49 | router.notFoundHandler = new Handler( | 49 | router.notFoundHandler = new Handler( |
| @@ -92,11 +92,8 @@ class Routes { | @@ -92,11 +92,8 @@ class Routes { | ||
| 92 | handler: enterStoreEnvironmentPageHandler); | 92 | handler: enterStoreEnvironmentPageHandler); |
| 93 | router.define(complete_create_store, | 93 | router.define(complete_create_store, |
| 94 | handler: completeCreateStorePageHandler); | 94 | handler: completeCreateStorePageHandler); |
| 95 | - router.define(my_integral_page, | ||
| 96 | - handler: myIntegralPageHandler); | ||
| 97 | - router.define(my_contant_page, | ||
| 98 | - handler: myContantPageHandler); | ||
| 99 | - | ||
| 100 | - | 95 | + router.define(my_integral_page, handler: myIntegralPageHandler); |
| 96 | + router.define(my_contant_page, handler: myContantPageHandler); | ||
| 97 | + router.define(table_photo_manager, handler: tablePhotoManagerHandler); | ||
| 101 | } | 98 | } |
| 102 | } | 99 | } |
| @@ -1437,6 +1437,11 @@ class DialogUtil { | @@ -1437,6 +1437,11 @@ class DialogUtil { | ||
| 1437 | ], | 1437 | ], |
| 1438 | ), | 1438 | ), |
| 1439 | ), | 1439 | ), |
| 1440 | + Container( | ||
| 1441 | + width: double.infinity, | ||
| 1442 | + height: ScreenUtil().setWidth(2), | ||
| 1443 | + color: MyColours.color_e5e5e5, | ||
| 1444 | + ), | ||
| 1440 | GestureDetector( | 1445 | GestureDetector( |
| 1441 | behavior: HitTestBehavior.opaque, | 1446 | behavior: HitTestBehavior.opaque, |
| 1442 | onTap: () { | 1447 | onTap: () { |
| @@ -1456,6 +1461,28 @@ class DialogUtil { | @@ -1456,6 +1461,28 @@ class DialogUtil { | ||
| 1456 | )), | 1461 | )), |
| 1457 | Container( | 1462 | Container( |
| 1458 | width: double.infinity, | 1463 | width: double.infinity, |
| 1464 | + height: ScreenUtil().setWidth(2), | ||
| 1465 | + color: MyColours.color_e5e5e5, | ||
| 1466 | + ), | ||
| 1467 | + GestureDetector( | ||
| 1468 | + behavior: HitTestBehavior.opaque, | ||
| 1469 | + onTap: () { | ||
| 1470 | + Navigator.of(context).pop(4); | ||
| 1471 | + }, | ||
| 1472 | + child: Container( | ||
| 1473 | + width: double.infinity, | ||
| 1474 | + alignment: Alignment.center, | ||
| 1475 | + padding: EdgeInsets.symmetric( | ||
| 1476 | + vertical: ScreenUtil().setWidth(40)), | ||
| 1477 | + child: Text( | ||
| 1478 | + "照片管理", | ||
| 1479 | + style: TextStyle( | ||
| 1480 | + fontSize: ScreenUtil().setSp(34), | ||
| 1481 | + color: MyColours.color_353535), | ||
| 1482 | + ), | ||
| 1483 | + )), | ||
| 1484 | + Container( | ||
| 1485 | + width: double.infinity, | ||
| 1459 | height: ScreenUtil().setWidth(10), | 1486 | height: ScreenUtil().setWidth(10), |
| 1460 | color: MyColours.color_e5e5e5, | 1487 | color: MyColours.color_e5e5e5, |
| 1461 | ), | 1488 | ), |
| @@ -14,6 +14,7 @@ enum UploadType { | @@ -14,6 +14,7 @@ enum UploadType { | ||
| 14 | StoreFrontUploadType, //门头 | 14 | StoreFrontUploadType, //门头 |
| 15 | HeadUploadType, //头像 | 15 | HeadUploadType, //头像 |
| 16 | QrcodeUploadType, //二维码 | 16 | QrcodeUploadType, //二维码 |
| 17 | + TableManagerType, //桌面照片管理 | ||
| 17 | 18 | ||
| 18 | } | 19 | } |
| 19 | 20 | ||
| @@ -59,6 +60,9 @@ class UploadImageUtil { | @@ -59,6 +60,9 @@ class UploadImageUtil { | ||
| 59 | } else if (uploadType == UploadType.ConsumptionUploadType) { | 60 | } else if (uploadType == UploadType.ConsumptionUploadType) { |
| 60 | //消费清单 | 61 | //消费清单 |
| 61 | uploadImageProvider.imageList[index].process = percent; | 62 | uploadImageProvider.imageList[index].process = percent; |
| 63 | + } else if (uploadType == UploadType.TableManagerType) { | ||
| 64 | + //桌面照片管理 | ||
| 65 | + uploadImageProvider.tableImageList[index].process = percent; | ||
| 62 | } | 66 | } |
| 63 | 67 | ||
| 64 | uploadImageProvider.notifyListeners(); | 68 | uploadImageProvider.notifyListeners(); |
| @@ -104,6 +108,11 @@ class UploadImageUtil { | @@ -104,6 +108,11 @@ class UploadImageUtil { | ||
| 104 | //消费清单 | 108 | //消费清单 |
| 105 | uploadImageProvider.imageList[index].process = 1; | 109 | uploadImageProvider.imageList[index].process = 1; |
| 106 | uploadImageProvider.imageList[index].qiniuUrl = imgUrl; | 110 | uploadImageProvider.imageList[index].qiniuUrl = imgUrl; |
| 111 | + } else if (uploadType == UploadType.TableManagerType) { | ||
| 112 | + //桌面照片管理 | ||
| 113 | + uploadImageProvider.tableImageList[index].process = 1; | ||
| 114 | + uploadImageProvider.tableImageList[index].qiniuUrl = imgUrl; | ||
| 115 | + uploadImageProvider.tableImageList[index].isUpload = false; | ||
| 107 | } | 116 | } |
| 108 | 117 | ||
| 109 | // 取消当前任务 | 118 | // 取消当前任务 |
| @@ -71,14 +71,15 @@ class TableItemState extends State<TableItem> { | @@ -71,14 +71,15 @@ class TableItemState extends State<TableItem> { | ||
| 71 | } | 71 | } |
| 72 | } | 72 | } |
| 73 | } | 73 | } |
| 74 | - } else if (widget.fromPage == 'new' && widget.canSelected && signStr.isEmpty) { | 74 | + } else if (widget.fromPage == 'new' && |
| 75 | + widget.canSelected && | ||
| 76 | + signStr.isEmpty) { | ||
| 75 | //从安排桌位进来 | 77 | //从安排桌位进来 |
| 76 | setState(() { | 78 | setState(() { |
| 77 | table.selected = !(table.selected ?? false); | 79 | table.selected = !(table.selected ?? false); |
| 78 | }); | 80 | }); |
| 79 | widget.onSelected(table); | 81 | widget.onSelected(table); |
| 80 | - } | ||
| 81 | - else if (widget.fromPage == 'table_manage'){ | 82 | + } else if (widget.fromPage == 'table_manage') { |
| 82 | table.selected = !(table.selected ?? false); | 83 | table.selected = !(table.selected ?? false); |
| 83 | widget.onSelected(table); | 84 | widget.onSelected(table); |
| 84 | } | 85 | } |
| @@ -245,6 +246,16 @@ class TableItemState extends State<TableItem> { | @@ -245,6 +246,16 @@ class TableItemState extends State<TableItem> { | ||
| 245 | width: ScreenUtil().setWidth(40), | 246 | width: ScreenUtil().setWidth(40), |
| 246 | height: ScreenUtil().setWidth(40), | 247 | height: ScreenUtil().setWidth(40), |
| 247 | ) | 248 | ) |
| 249 | + : Container()), | ||
| 250 | + Positioned( | ||
| 251 | + left: ScreenUtil().setWidth(8), | ||
| 252 | + bottom: ScreenUtil().setWidth(16), | ||
| 253 | + child: table.isPhoto == 1 | ||
| 254 | + ? Image.asset( | ||
| 255 | + "assets/photo.png", | ||
| 256 | + width: ScreenUtil().setWidth(40), | ||
| 257 | + height: ScreenUtil().setWidth(40), | ||
| 258 | + ) | ||
| 248 | : Container()) | 259 | : Container()) |
| 249 | ], | 260 | ], |
| 250 | ), | 261 | ), |
-
Please register or login to post a comment