Commit f15fe5d80c75fe00bd7af66eaef045d6f73920aa

Authored by wdn127929
1 parent fc4ce847

桌子图片上传,获取

... ... @@ -11,14 +11,14 @@ if (flutterRoot == null) {
throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")
}
def flutterVersionCode = "282"
def flutterVersionCode = "283"
if (flutterVersionCode == null) {
flutterVersionCode = '282'
flutterVersionCode = '283'
}
def flutterVersionName = "2.8.2"
def flutterVersionName = "2.8.3"
if (flutterVersionName == null) {
flutterVersionName = '2.8.2'
flutterVersionName = '2.8.3'
}
apply plugin: 'com.android.application'
... ...
... ... @@ -24,6 +24,7 @@ class Table {
String reserver; //订餐人
String notebookId; //桌位对应的预订id
bool selected; //是否选中
int isPhoto; //桌位是否有照片
//获取桌位类型
String get tidStr {
... ... @@ -99,6 +100,6 @@ class Table {
@override
String toString() {
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}';
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}';
}
}
... ...
... ... @@ -13,6 +13,7 @@ Table _$TableFromJson(Map<String, dynamic> json) {
..tid = json['tid'] as String
..name = json['name'] as String
..table_pnum = json['table_pnum'] as String
..isPhoto = json['is_photo'] as int
..most_pnum = json['most_pnum'] as String
..order_o = json['order_o'] as String
..status = json['status'] as String
... ... @@ -33,6 +34,7 @@ Map<String, dynamic> _$TableToJson(Table instance) => <String, dynamic>{
'rid': instance.rid,
'tid': instance.tid,
'name': instance.name,
'isPhoto': instance.isPhoto,
'table_pnum': instance.table_pnum,
'most_pnum': instance.most_pnum,
'order_o': instance.order_o,
... ...
import 'package:json_annotation/json_annotation.dart';
part 'table_photo_model.g.dart';
@JsonSerializable()
class TablePhotoModel extends Object {
@JsonKey(name: 'ret')
int ret;
@JsonKey(name: 'data')
List<TablePhotoSunModel> data;
@JsonKey(name: 'msg')
String msg;
TablePhotoModel(
this.ret,
this.data,
this.msg,
);
factory TablePhotoModel.fromJson(Map<String, dynamic> srcJson) =>
_$TablePhotoModelFromJson(srcJson);
Map<String, dynamic> toJson() => _$TablePhotoModelToJson(this);
}
@JsonSerializable()
class TablePhotoSunModel extends Object {
@JsonKey(name: 'id')
String id;
@JsonKey(name: 'sellerid')
dynamic sellerid;
@JsonKey(name: 'tableid')
dynamic tableid;
@JsonKey(name: 'url')
String url;
@JsonKey(name: 'cdate')
dynamic cdate;
bool isUpload;
TablePhotoSunModel(
this.id,
this.sellerid,
this.tableid,
this.url,
this.cdate,
);
factory TablePhotoSunModel.fromJson(Map<String, dynamic> srcJson) =>
_$TablePhotoSunModelFromJson(srcJson);
Map<String, dynamic> toJson() => _$TablePhotoSunModelToJson(this);
}
... ...
// GENERATED CODE - DO NOT MODIFY BY HAND
part of 'table_photo_model.dart';
// **************************************************************************
// JsonSerializableGenerator
// **************************************************************************
TablePhotoModel _$TablePhotoModelFromJson(Map<String, dynamic> json) {
return TablePhotoModel(
json['ret'] as int,
(json['data'] as List)
?.map((e) => e == null
? null
: TablePhotoSunModel.fromJson(e as Map<String, dynamic>))
?.toList(),
json['msg'] as String,
);
}
Map<String, dynamic> _$TablePhotoModelToJson(TablePhotoModel instance) =>
<String, dynamic>{
'ret': instance.ret,
'data': instance.data,
'msg': instance.msg,
};
TablePhotoSunModel _$TablePhotoSunModelFromJson(Map<String, dynamic> json) {
return TablePhotoSunModel(
json['id'] as String,
json['sellerid'] as dynamic,
json['tableid'] as dynamic,
json['url'] as String,
json['cdate'] as dynamic,
);
}
Map<String, dynamic> _$TablePhotoSunModelToJson(TablePhotoSunModel instance) =>
<String, dynamic>{
'id': instance.id,
'sellerid': instance.sellerid,
'tableid': instance.tableid,
'url': instance.url,
'cdate': instance.cdate,
};
... ...
... ... @@ -9,6 +9,8 @@ class UploadImgModel {
FileType fileType;
File thumbnailPath; // 视频封面
String duration; //视频时长
bool isUpload; //桌面图片管理 ----- 图片是否上传到后台服务器
String photoID; //桌面图片管理 ID
}
enum FileType {
... ...
... ... @@ -110,5 +110,9 @@ class HttpUrl {
"?service=App.Activity.AddForward"; // 客户经理转发记录
static const String up_reserve_info =
"?service=App.Reserve.UpReserveInfo"; // 编辑订单附加信息
static const String set_table_photo =
"?service=App.Tables.SetTablePhoto"; // App设置桌位关联图片
static const String get_table_photo =
"?service=App.Tables.GetTablePhoto"; // App获取桌位关联图片
}
... ...
... ... @@ -38,6 +38,7 @@ class ImgPickerWidget extends StatefulWidget {
final int maxImageNumber;
final UploadImageProvider model;
final UploadType uploadType;
final VoidCallback callbackDelete;
ImgPickerWidget(
{Key key,
this.scrollController,
... ... @@ -45,7 +46,8 @@ class ImgPickerWidget extends StatefulWidget {
this.onChange,
this.maxImageNumber = 5,
this.model,
this.uploadType})
this.uploadType,
this.callbackDelete})
: super(key: key);
@override
... ... @@ -118,6 +120,10 @@ class _ImgPickerWidgetState extends DisposableState<ImgPickerWidget> {
temp = widget.model.imageList;
} else if (widget.uploadType == UploadType.StoreFrontUploadType) {
temp = widget.model.imageListFront;
} else if (widget.uploadType == UploadType.EnvironmentUploadType) {
temp = widget.model.imageListDenvironment;
} else if (widget.uploadType == UploadType.TableManagerType) {
temp = widget.model.tableImageList;
}
/// context is required, other params is optional.
... ... @@ -402,6 +408,10 @@ class _ImgPickerWidgetState extends DisposableState<ImgPickerWidget> {
temp = widget.model.imageList;
} else if (widget.uploadType == UploadType.StoreFrontUploadType) {
temp = widget.model.imageListFront;
} else if (widget.uploadType == UploadType.EnvironmentUploadType) {
temp = widget.model.imageListDenvironment;
} else if (widget.uploadType == UploadType.TableManagerType) {
temp = widget.model.tableImageList;
}
return _getGridImg(
temp.length < widget.maxImageNumber ? temp.length + 1 : temp.length,
... ... @@ -423,9 +433,9 @@ class _ImgPickerWidgetState extends DisposableState<ImgPickerWidget> {
//横轴元素个数
crossAxisCount: 3,
//纵轴间距
mainAxisSpacing: ScreenUtil().setWidth(30),
mainAxisSpacing: ScreenUtil().setWidth(40),
//横轴间距
crossAxisSpacing: ScreenUtil().setWidth(30),
crossAxisSpacing: ScreenUtil().setWidth(36),
//子组件宽高长度比例
childAspectRatio: 1.0),
itemBuilder: (BuildContext context, int index) {
... ... @@ -490,15 +500,21 @@ class _ImgPickerWidgetState extends DisposableState<ImgPickerWidget> {
Stack(
// alignment: Alignment.topRight,
children: [
Container(
color: Colors.red,
child: Image.file(
temp[index].file,
fit: BoxFit.cover,
width: ScreenUtil().setWidth(100 * 2),
height: ScreenUtil().setWidth(100 * 2),
),
),
temp[index].file != null
? Container(
child: Image.file(
temp[index].file,
fit: BoxFit.cover,
width: ScreenUtil().setWidth(100 * 2),
height: ScreenUtil().setWidth(100 * 2),
),
)
: Image.network(
temp[index].qiniuUrl,
fit: BoxFit.cover,
width: ScreenUtil().setWidth(100 * 2),
height: ScreenUtil().setWidth(100 * 2),
),
Offstage(
offstage: temp[index].process < 1,
child: Align(
... ... @@ -510,16 +526,55 @@ class _ImgPickerWidgetState extends DisposableState<ImgPickerWidget> {
height: ScreenUtil().setWidth(40),
),
onTap: () {
//点击删除按钮
setState(() {
temp.removeWhere(
(element) => element == temp[index]);
widget.model.imageQiniuUrlList
.removeWhere((element) =>
element ==
widget.model
.imageQiniuUrlList[index]);
});
if (widget.uploadType ==
UploadType.TableManagerType) {
if (temp[index].isUpload) {
//已经传到服务器,弹提醒窗口,是否删除
//修改之前有内容,则弹框
DialogUtil.cupertinoAlertDialog(context,
title: "确认删除",
content: "是否确定删除该照片,删除操作不可逆转,请谨慎操作",
lCallback: () {
print("取消");
}, rCallback: () {
print("确定");
widget.callbackDelete();
setState(() {
temp.removeWhere((element) =>
element == temp[index]);
widget.model.imageQiniuUrlList
.removeWhere((element) =>
element ==
widget.model
.imageQiniuUrlList[
index]);
});
});
} else {
//直接删除
setState(() {
temp.removeWhere((element) =>
element == temp[index]);
widget.model.imageQiniuUrlList
.removeWhere((element) =>
element ==
widget.model
.imageQiniuUrlList[
index]);
});
}
} else {
//点击删除按钮
setState(() {
temp.removeWhere((element) =>
element == temp[index]);
widget.model.imageQiniuUrlList
.removeWhere((element) =>
element ==
widget.model
.imageQiniuUrlList[index]);
});
}
},
)),
),
... ...
... ... @@ -253,6 +253,7 @@ class TableManagerPageState extends State<TableManagerPage> {
table),
"");
break;
case 3: //停用,启用桌位
Map<String, String> params = {
"id": (table as t.Table).id,
... ... @@ -297,6 +298,11 @@ class TableManagerPageState extends State<TableManagerPage> {
}
});
break;
case 4: //照片管理
NavigatorUtil.goTablePhotoManagerPage(context,
tid: (table as t.Table).id,
tname: (table as t.Table).name);
break;
}
}
});
... ...
import 'dart:convert';
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/screenutil.dart';
import 'package:one_key/models/table_photo_model.dart';
import 'package:one_key/models/upload_img_model.dart';
import 'package:one_key/pages/online_check/img_picker_widget.dart';
import 'package:one_key/provider/table_photo_anager_provider.dart';
import 'package:one_key/provider/upload_img_provider.dart';
import 'package:one_key/provider/user_model.dart';
import 'package:one_key/res/colors.dart';
import 'package:one_key/route/navigator_util.dart';
import 'package:one_key/utils/upload_image_util.dart';
import 'package:one_key/utils/utils.dart';
import 'package:one_key/widgets/round_button.dart';
import 'package:one_key/widgets/system_app_bar.dart';
import 'package:one_key/widgets/v_empty_view.dart';
import 'package:provider/provider.dart';
class TablePhotoManagerPage extends StatefulWidget {
final String tid;
final String tname;
TablePhotoManagerPage({Key key, this.tid, this.tname}) : super(key: key);
@override
_TablePhotoManagerPageState createState() => _TablePhotoManagerPageState();
}
class _TablePhotoManagerPageState extends State<TablePhotoManagerPage> {
ScrollController _controller = ScrollController();
UploadImageProvider _uploadImageProvider;
TablePhotoManagerModel _tablePhotoManagerModel;
@override
void initState() {
super.initState();
WidgetsBinding.instance.addPostFrameCallback((_) {
_getTablePhoto(context);
_getQiniuInfo();
});
}
///获取七牛云token
///
_getQiniuInfo() async {
await _uploadImageProvider.getQiniuInfo(context, {});
}
///设置桌子图片
///
_setTablePhoto(BuildContext context, List tablePhoto) async {
Map<String, String> params = {
"sellerid": Provider.of<UserModel>(context, listen: false).user.sellerid,
"tableid": widget.tid,
"photoList": jsonEncode(tablePhoto)
};
print(_uploadImageProvider.tableImageList);
List<TablePhotoSunModel> tablePhotoList =
await _tablePhotoManagerModel.setTablePhoto(context, params);
if (tablePhotoList.length > 0) {
//已经进来,上传过图片
for (int i = 0; i < tablePhotoList.length; i++) {
for (int j = 0; j < _uploadImageProvider.tableImageList.length; j++) {
if (_uploadImageProvider.tableImageList[j].qiniuUrl ==
tablePhotoList[i].url) {
_uploadImageProvider.tableImageList[j].isUpload = true;
_uploadImageProvider.tableImageList[j].photoID =
tablePhotoList[i].id;
}
}
}
}
print(_uploadImageProvider.tableImageList);
_uploadImageProvider.notifyListeners();
}
///获取桌位图片
_getTablePhoto(BuildContext context) async {
Map<String, String> params = {
"sellerid": Provider.of<UserModel>(context, listen: false).user.sellerid,
"tableid": widget.tid,
};
List<TablePhotoSunModel> tablePhotoList =
await _tablePhotoManagerModel.getTablePhoto(context, params);
if (tablePhotoList.length > 0) {
print(_uploadImageProvider.tableImageList);
for (int i = 0; i < tablePhotoList.length; i++) {
UploadImgModel model = UploadImgModel();
model.qiniuUrl = tablePhotoList[i].url;
model.isUpload = true;
model.photoID = tablePhotoList[i].id;
model.process = 1;
_uploadImageProvider.tableImageList.add(model);
}
_uploadImageProvider.notifyListeners();
}
}
@override
void dispose() {
super.dispose();
_uploadImageProvider.tableImageList = [];
}
@override
Widget build(BuildContext context) {
print(widget.tid);
_uploadImageProvider =
Provider.of<UploadImageProvider>(context, listen: true);
_tablePhotoManagerModel =
Provider.of<TablePhotoManagerModel>(context, listen: true);
return Scaffold(
backgroundColor: Colors.white,
appBar: SystemAppBar(
'照片管理',
onTap: () {
Navigator.pop(context);
},
),
body: InkWell(
onTap: () {
FocusScope.of(context).requestFocus(FocusNode()); //点击空白处隐藏键盘
},
child: Container(
padding: EdgeInsets.symmetric(
horizontal: ScreenUtil().setWidth(40),
),
child: Column(children: [
Container(
decoration: BoxDecoration(
border: Border(
bottom: BorderSide(
width: ScreenUtil().setWidth(2),
color: MyColours.color_f5f5f5))),
height: ScreenUtil().setWidth(100),
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Text('当前桌位:${widget.tname}',
style: TextStyle(
color: MyColours.color_333333,
fontSize: ScreenUtil().setSp(32),
fontWeight: FontWeight.bold)),
Text('切换桌位',
style: TextStyle(
color: MyColours.color_199095,
fontSize: ScreenUtil().setSp(32))),
],
)),
Expanded(
child: SingleChildScrollView(
controller: _controller,
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
VEmptyView(60),
Consumer<UploadImageProvider>(
builder: (context, model, _) {
return ImgPickerWidget(
scrollController: _controller,
model: model,
maxImageNumber: 5,
uploadType: UploadType.TableManagerType,
callbackDelete: () {
//调用删除桌子图片接口
},
);
}),
]))),
RoundButton(
text: '确定上传',
gradientStart: MyColours.color_199095,
gradientEnd: MyColours.color_199095,
// borderColor: MyColours.color_999999,
radius: ScreenUtil().setWidth(10),
fontSize: 34,
height: ScreenUtil().setWidth(80),
isBold: false,
onPressed: () {
for (UploadImgModel item
in _uploadImageProvider.tableImageList) {
if (item.process < 1) {
Utils.showToast('正在上传图片,请稍等');
return;
}
}
//接口,和桌子绑定
List imageQiniuUrlList = [];
for (int i = 0;
i < _uploadImageProvider.tableImageList.length;
i++) {
if (!_uploadImageProvider.tableImageList[i].isUpload) {
imageQiniuUrlList.add({
"url":
_uploadImageProvider.tableImageList[i].qiniuUrl
});
}
}
_setTablePhoto(context, imageQiniuUrlList);
},
)
]))));
}
}
//
... ...
import 'package:flutter/material.dart';
import 'package:one_key/constant/constant.dart';
import 'package:one_key/constant/error.dart';
import 'package:one_key/models/table_photo_model.dart';
import 'package:one_key/net/base_resp.dart';
import 'package:one_key/net/dio_util.dart';
import 'package:one_key/net/http_url.dart';
import 'package:one_key/utils/utils.dart';
class TablePhotoManagerModel with ChangeNotifier {
///App设置桌位关联图片
Future<dynamic> setTablePhoto(
BuildContext context, Map<String, String> params,
{isShowLoading = true}) async {
BaseResp<dynamic> baseResp = await DioUtil()
.request<dynamic>(context, Method.get, HttpUrl.set_table_photo,
data: params, showLoading: isShowLoading)
.catchError((error) {
print(error.toString());
if (error is MyError) {}
return [];
});
if (baseResp.code == Constant.status_success) {
if (baseResp.data != null) {
// coupons = baseResp.data['aid'].split('');
Utils.showToast("设置桌位图片成功!");
return TablePhotoModel.fromJson(baseResp.responseData).data;
} else {
// Utils.showToast(baseResp.msg ?? "修改失败");
return [];
}
} else {
if (baseResp != null) {
// Utils.showToast(baseResp.msg ?? "");
}
return [];
}
}
///App获取桌位关联图片
Future<dynamic> getTablePhoto(
BuildContext context, Map<String, String> params,
{isShowLoading = true}) async {
BaseResp<dynamic> baseResp = await DioUtil()
.request<dynamic>(context, Method.get, HttpUrl.get_table_photo,
data: params, showLoading: isShowLoading)
.catchError((error) {
print(error.toString());
if (error is MyError) {}
});
if (baseResp.code == Constant.status_success) {
if (baseResp.data == null) {
} else {
return TablePhotoModel.fromJson(baseResp.responseData).data;
}
} else {
if (baseResp != null) {
Utils.showToast(baseResp.msg ?? "");
}
return [];
}
}
}
... ...
... ... @@ -13,7 +13,7 @@ import 'package:one_key/utils/utils.dart';
class UploadImageProvider extends ChangeNotifier {
List<UploadImgModel> imageList = []; //图片信息列表
List<String> imageQiniuUrlList = []; //七牛云地址列表
List<dynamic> imageQiniuUrlList = []; //七牛云地址列表
QiniuInfoSunModel qiniuInfoSunModel;
UploadImgModel touxiang = UploadImgModel(); //头像
UploadImgModel erweima = UploadImgModel(); //二维码
... ... @@ -21,6 +21,7 @@ class UploadImageProvider extends ChangeNotifier {
double imgSizeErweima = 22;
List<UploadImgModel> imageListDenvironment = []; //环境信息列表
List<UploadImgModel> imageListFront = []; //门头信息列表
List<UploadImgModel> tableImageList = []; //桌子管理图片信息列表
UploadImageProvider() {
touxiang.process = 0.01;
erweima.process = 0.01;
... ...
... ... @@ -41,7 +41,7 @@ class NavigatorUtil {
}
/// 订单详情
static void goNotebookDetailPage(BuildContext context, String rid,String uid,
static void goNotebookDetailPage(BuildContext context, String rid, String uid,
{String mid = "", bool fromNotify = false, replace = false}) {
_navigateTo(context,
"${Routes.reserve_detail}?rid=$rid&mid=$mid&uid=$uid&fromNotify=$fromNotify",
... ... @@ -307,4 +307,12 @@ class NavigatorUtil {
{replace = false, IntegralSunModel sunModel}) {
return _navigateTo(context, "${Routes.my_contant_page}", replace: replace);
}
/// 桌位照片管理
static Future<dynamic> goTablePhotoManagerPage(BuildContext context,
{replace = false, String tid, String tname}) {
return _navigateTo(context,
"${Routes.table_photo_manager}?tid=${tid}&tname=${Uri.encodeComponent(tname)}",
replace: replace);
}
}
... ...
... ... @@ -43,6 +43,7 @@ import 'package:one_key/pages/online_check/online_check_detail_page.dart';
import 'package:one_key/pages/online_check/online_check_edit_page.dart';
import 'package:one_key/pages/sms/sms_page.dart';
import 'package:one_key/pages/table/select_table_page.dart';
import 'package:one_key/pages/table/table_photo_manager_page.dart';
import 'package:one_key/pages/webview/webview_page.dart';
import 'package:one_key/provider/base_info_provider.dart';
import 'package:one_key/provider/book_set_time_model.dart';
... ... @@ -55,6 +56,7 @@ import 'package:one_key/provider/notebook_detail_model.dart';
import 'package:one_key/provider/order_food_provider.dart';
import 'package:one_key/provider/other_login_provider.dart';
import 'package:one_key/provider/remark_manager_model.dart';
import 'package:one_key/provider/table_photo_anager_provider.dart';
import 'package:one_key/provider/upload_img_provider.dart';
import 'package:one_key/utils/fluro_convert_utils.dart';
import 'package:provider/provider.dart';
... ... @@ -451,3 +453,17 @@ var myContantPageHandler = new Handler(
return ChangeNotifierProvider<ContantShowModel>(
create: (_) => ContantShowModel(), child: ContactListPage());
});
///桌位照片管理
var tablePhotoManagerHandler = new Handler(
handlerFunc: (BuildContext context, Map<String, List<Object>> params) {
// CouponSunModel couponSunModel = CouponSunModel.fromJson(json.decode(
// FluroConvertUtils.fluroCnParamsDecode(params["couponSunModel"].first)));
String tid = params["tid"].first;
String tname = params["tname"].first;
return ChangeNotifierProvider<TablePhotoManagerModel>(
create: (_) => TablePhotoManagerModel(),
child: TablePhotoManagerPage(tid: tid, tname: tname));
// return ChangeNotifierProvider<UploadImageProvider>(
// create: (_) => UploadImageProvider(), child: EnterStoreFrontPhotoPage());
});
... ...
... ... @@ -43,7 +43,7 @@ class Routes {
static String complete_create_store = "/complete_create_store"; //创建店铺完成
static String my_integral_page = "/my_integral_page"; //我的积分
static String my_contant_page = "/my_contant_page"; //我的联系人
static String table_photo_manager = "/table_photo_manager"; //桌位照片管理
static void configureRoutes(FluroRouter router) {
router.notFoundHandler = new Handler(
... ... @@ -92,11 +92,8 @@ class Routes {
handler: enterStoreEnvironmentPageHandler);
router.define(complete_create_store,
handler: completeCreateStorePageHandler);
router.define(my_integral_page,
handler: myIntegralPageHandler);
router.define(my_contant_page,
handler: myContantPageHandler);
router.define(my_integral_page, handler: myIntegralPageHandler);
router.define(my_contant_page, handler: myContantPageHandler);
router.define(table_photo_manager, handler: tablePhotoManagerHandler);
}
}
... ...
... ... @@ -1437,6 +1437,11 @@ class DialogUtil {
],
),
),
Container(
width: double.infinity,
height: ScreenUtil().setWidth(2),
color: MyColours.color_e5e5e5,
),
GestureDetector(
behavior: HitTestBehavior.opaque,
onTap: () {
... ... @@ -1456,6 +1461,28 @@ class DialogUtil {
)),
Container(
width: double.infinity,
height: ScreenUtil().setWidth(2),
color: MyColours.color_e5e5e5,
),
GestureDetector(
behavior: HitTestBehavior.opaque,
onTap: () {
Navigator.of(context).pop(4);
},
child: Container(
width: double.infinity,
alignment: Alignment.center,
padding: EdgeInsets.symmetric(
vertical: ScreenUtil().setWidth(40)),
child: Text(
"照片管理",
style: TextStyle(
fontSize: ScreenUtil().setSp(34),
color: MyColours.color_353535),
),
)),
Container(
width: double.infinity,
height: ScreenUtil().setWidth(10),
color: MyColours.color_e5e5e5,
),
... ...
... ... @@ -14,6 +14,7 @@ enum UploadType {
StoreFrontUploadType, //门头
HeadUploadType, //头像
QrcodeUploadType, //二维码
TableManagerType, //桌面照片管理
}
... ... @@ -59,6 +60,9 @@ class UploadImageUtil {
} else if (uploadType == UploadType.ConsumptionUploadType) {
//消费清单
uploadImageProvider.imageList[index].process = percent;
} else if (uploadType == UploadType.TableManagerType) {
//桌面照片管理
uploadImageProvider.tableImageList[index].process = percent;
}
uploadImageProvider.notifyListeners();
... ... @@ -104,6 +108,11 @@ class UploadImageUtil {
//消费清单
uploadImageProvider.imageList[index].process = 1;
uploadImageProvider.imageList[index].qiniuUrl = imgUrl;
} else if (uploadType == UploadType.TableManagerType) {
//桌面照片管理
uploadImageProvider.tableImageList[index].process = 1;
uploadImageProvider.tableImageList[index].qiniuUrl = imgUrl;
uploadImageProvider.tableImageList[index].isUpload = false;
}
// 取消当前任务
... ...
... ... @@ -71,14 +71,15 @@ class TableItemState extends State<TableItem> {
}
}
}
} else if (widget.fromPage == 'new' && widget.canSelected && signStr.isEmpty) {
} else if (widget.fromPage == 'new' &&
widget.canSelected &&
signStr.isEmpty) {
//从安排桌位进来
setState(() {
table.selected = !(table.selected ?? false);
});
widget.onSelected(table);
}
else if (widget.fromPage == 'table_manage'){
} else if (widget.fromPage == 'table_manage') {
table.selected = !(table.selected ?? false);
widget.onSelected(table);
}
... ... @@ -245,6 +246,16 @@ class TableItemState extends State<TableItem> {
width: ScreenUtil().setWidth(40),
height: ScreenUtil().setWidth(40),
)
: Container()),
Positioned(
left: ScreenUtil().setWidth(8),
bottom: ScreenUtil().setWidth(16),
child: table.isPhoto == 1
? Image.asset(
"assets/photo.png",
width: ScreenUtil().setWidth(40),
height: ScreenUtil().setWidth(40),
)
: Container())
],
),
... ...