Commit 04ee3843d6956e51fef2202bc76c8f7edc47ee28

Authored by wdn127929
1 parent 78af95be

调整顺序菜品和店铺介绍

... ... @@ -22,6 +22,23 @@ import 'img_picker_invitation_widget.dart';
* 菜品展示
*/
class ChangeModel {
int index; //顺序
UploadImgModel image;
// ChangeModel();
// factory ChangeModel.fromJson(Map<String, dynamic> json) => ChangeModel()
// ..content = json["content"]
// ..type = json["type"];
// // ..order = json['order'];
// Map<String, dynamic> toJson() => <String, dynamic>{
// "content": content, "type": type,
// // 'order': order
// };
}
class DishShowPage extends StatefulWidget {
DishShowPage({Key key}) : super(key: key);
... ... @@ -35,11 +52,14 @@ class _DishShowPageState extends State<DishShowPage> {
UploadImageProvider _uploadImageProvider;
ScrollController controller = ScrollController();
List data = [];
@override
void initState() {
super.initState();
WidgetsBinding.instance.addPostFrameCallback((_) {
_initData();
_getQiniuInfo();
getSellerTemplateConf();
});
... ... @@ -54,6 +74,38 @@ class _DishShowPageState extends State<DishShowPage> {
super.dispose();
}
_initData() {
ChangeModel changeModel = ChangeModel();
changeModel.index = 5;
changeModel.image = _uploadImageProvider.storeImage1;
data.add(changeModel);
ChangeModel changeModel6 = ChangeModel();
changeModel6.index = 6;
changeModel6.image = _uploadImageProvider.storeImage2;
data.add(changeModel6);
ChangeModel changeModel7 = ChangeModel();
changeModel7.index = 7;
changeModel7.image = _uploadImageProvider.storeImage3;
data.add(changeModel7);
ChangeModel changeModel8 = ChangeModel();
changeModel8.index = 8;
changeModel8.image = _uploadImageProvider.storeImage4;
data.add(changeModel8);
ChangeModel changeModel10 = ChangeModel();
changeModel10.index = 10;
changeModel10.image = _uploadImageProvider.storeImage5;
data.add(changeModel10);
ChangeModel changeModel11 = ChangeModel();
changeModel11.index = 11;
changeModel11.image = _uploadImageProvider.storeImage6;
data.add(changeModel11);
}
///获取七牛云token
///
_getQiniuInfo() async {
... ... @@ -270,89 +322,108 @@ class _DishShowPageState extends State<DishShowPage> {
// fontSize: font(16), color: MyColours.color_515151),
// ),
// ),
Column(
children: [
VEmptyView(24),
ImgPickerInvitationWidget(
scrollController: controller,
model: _uploadImageProvider,
index: 5,
imageModel: _uploadImageProvider.storeImage1,
deleteCallback: () {
_uploadImageProvider.storeImage1.qiniuUrl = null;
_uploadImageProvider.storeImage1.file = null;
_uploadImageProvider.storeImage1.isUpload = false;
_uploadImageProvider.storeImage1.process = 0.01;
setState(() {});
}),
VEmptyView(18),
ImgPickerInvitationWidget(
scrollController: controller,
model: _uploadImageProvider,
index: 6,
imageModel: _uploadImageProvider.storeImage2,
deleteCallback: () {
_uploadImageProvider.storeImage2.qiniuUrl = null;
_uploadImageProvider.storeImage2.file = null;
_uploadImageProvider.storeImage2.isUpload = false;
_uploadImageProvider.storeImage2.process = 0.01;
setState(() {});
}),
VEmptyView(18),
ImgPickerInvitationWidget(
scrollController: controller,
model: _uploadImageProvider,
index: 7,
imageModel: _uploadImageProvider.storeImage3,
deleteCallback: () {
_uploadImageProvider.storeImage3.qiniuUrl = null;
_uploadImageProvider.storeImage3.file = null;
_uploadImageProvider.storeImage3.isUpload = false;
_uploadImageProvider.storeImage3.process = 0.01;
setState(() {});
}),
VEmptyView(18),
ImgPickerInvitationWidget(
scrollController: controller,
model: _uploadImageProvider,
index: 8,
imageModel: _uploadImageProvider.storeImage4,
deleteCallback: () {
_uploadImageProvider.storeImage4.qiniuUrl = null;
_uploadImageProvider.storeImage4.file = null;
_uploadImageProvider.storeImage4.isUpload = false;
_uploadImageProvider.storeImage4.process = 0.01;
setState(() {});
}),
VEmptyView(18),
ImgPickerInvitationWidget(
scrollController: controller,
model: _uploadImageProvider,
index: 10,
imageModel: _uploadImageProvider.storeImage5,
deleteCallback: () {
_uploadImageProvider.storeImage5.qiniuUrl = null;
_uploadImageProvider.storeImage5.file = null;
_uploadImageProvider.storeImage5.isUpload = false;
_uploadImageProvider.storeImage5.process = 0.01;
setState(() {});
}),
VEmptyView(18),
ImgPickerInvitationWidget(
scrollController: controller,
model: _uploadImageProvider,
index: 11,
imageModel: _uploadImageProvider.storeImage6,
deleteCallback: () {
_uploadImageProvider.storeImage6.qiniuUrl = null;
_uploadImageProvider.storeImage6.file = null;
_uploadImageProvider.storeImage6.isUpload = false;
_uploadImageProvider.storeImage6.process = 0.01;
setState(() {});
}),
VEmptyView(18),
],
)
VEmptyView(24),
ReorderableListView(
shrinkWrap: true,
scrollController: controller,
children: <Widget>[
// _introduceWidget(EdgeInsets.all(w(15)),
// boxDecoration: BoxDecoration(color: MyColours.color_ffffff)),
// VEmptyView(18),
for (ChangeModel item in data)
Container(
key: ValueKey(item),
child: Padding(
padding: EdgeInsets.only(
bottom: item.index != 11 ? w(9) : 0),
child: ImgPickerInvitationWidget(
scrollController: controller,
model: _uploadImageProvider,
index: item.index,
imageModel: item.image,
deleteCallback: () {
item.image.qiniuUrl = null;
item.image.file = null;
item.image.isUpload = false;
item.image.process = 0.01;
setState(() {});
}))),
// VEmptyView(18),
// ImgPickerInvitationWidget(
// scrollController: controller,
// model: _uploadImageProvider,
// index: 6,
// imageModel: _uploadImageProvider.storeImage2,
// deleteCallback: () {
// _uploadImageProvider.storeImage2.qiniuUrl = null;
// _uploadImageProvider.storeImage2.file = null;
// _uploadImageProvider.storeImage2.isUpload = false;
// _uploadImageProvider.storeImage2.process = 0.01;
// setState(() {});
// }),
// VEmptyView(18),
// ImgPickerInvitationWidget(
// scrollController: controller,
// model: _uploadImageProvider,
// index: 7,
// imageModel: _uploadImageProvider.storeImage3,
// deleteCallback: () {
// _uploadImageProvider.storeImage3.qiniuUrl = null;
// _uploadImageProvider.storeImage3.file = null;
// _uploadImageProvider.storeImage3.isUpload = false;
// _uploadImageProvider.storeImage3.process = 0.01;
// setState(() {});
// }),
// VEmptyView(18),
// ImgPickerInvitationWidget(
// scrollController: controller,
// model: _uploadImageProvider,
// index: 8,
// imageModel: _uploadImageProvider.storeImage4,
// deleteCallback: () {
// _uploadImageProvider.storeImage4.qiniuUrl = null;
// _uploadImageProvider.storeImage4.file = null;
// _uploadImageProvider.storeImage4.isUpload = false;
// _uploadImageProvider.storeImage4.process = 0.01;
// setState(() {});
// }),
// VEmptyView(18),
// ImgPickerInvitationWidget(
// scrollController: controller,
// model: _uploadImageProvider,
// index: 10,
// imageModel: _uploadImageProvider.storeImage5,
// deleteCallback: () {
// _uploadImageProvider.storeImage5.qiniuUrl = null;
// _uploadImageProvider.storeImage5.file = null;
// _uploadImageProvider.storeImage5.isUpload = false;
// _uploadImageProvider.storeImage5.process = 0.01;
// setState(() {});
// }),
// VEmptyView(18),
// ImgPickerInvitationWidget(
// scrollController: controller,
// model: _uploadImageProvider,
// index: 11,
// imageModel: _uploadImageProvider.storeImage6,
// deleteCallback: () {
// _uploadImageProvider.storeImage6.qiniuUrl = null;
// _uploadImageProvider.storeImage6.file = null;
// _uploadImageProvider.storeImage6.isUpload = false;
// _uploadImageProvider.storeImage6.process = 0.01;
// setState(() {});
// }),
// VEmptyView(18),
],
onReorder: (int oldIndex, int newIndex) async {
if (oldIndex < newIndex) {
newIndex -= 1;
}
var child = data.removeAt(oldIndex);
data.insert(newIndex, child);
setState(() {});
})
]))),
Container(
color: MyColours.color_ffffff,
... ... @@ -371,30 +442,38 @@ class _DishShowPageState extends State<DishShowPage> {
FocusScope.of(context).requestFocus(FocusNode()); //点击空白处隐藏键盘
List<String> images = [];
if (_uploadImageProvider.storeImage1.qiniuUrl != null &&
_uploadImageProvider.storeImage1.qiniuUrl != '') {
images.add(_uploadImageProvider.storeImage1.qiniuUrl);
}
if (_uploadImageProvider.storeImage2.qiniuUrl != null &&
_uploadImageProvider.storeImage2.qiniuUrl != '') {
images.add(_uploadImageProvider.storeImage2.qiniuUrl);
}
if (_uploadImageProvider.storeImage3.qiniuUrl != null &&
_uploadImageProvider.storeImage3.qiniuUrl != '') {
images.add(_uploadImageProvider.storeImage3.qiniuUrl);
}
if (_uploadImageProvider.storeImage4.qiniuUrl != null &&
_uploadImageProvider.storeImage4.qiniuUrl != '') {
images.add(_uploadImageProvider.storeImage4.qiniuUrl);
}
if (_uploadImageProvider.storeImage5.qiniuUrl != null &&
_uploadImageProvider.storeImage5.qiniuUrl != '') {
images.add(_uploadImageProvider.storeImage5.qiniuUrl);
}
if (_uploadImageProvider.storeImage6.qiniuUrl != null &&
_uploadImageProvider.storeImage6.qiniuUrl != '') {
images.add(_uploadImageProvider.storeImage6.qiniuUrl);
}
for (int i = 0; i < data.length; i++) {
ChangeModel imgModel = data[i];
if (imgModel.image.qiniuUrl != null &&
imgModel.image.qiniuUrl != '') {
images.add(imgModel.image.qiniuUrl);
}
}
// if (_uploadImageProvider.storeImage1.qiniuUrl != null &&
// _uploadImageProvider.storeImage1.qiniuUrl != '') {
// images.add(_uploadImageProvider.storeImage1.qiniuUrl);
// }
// if (_uploadImageProvider.storeImage2.qiniuUrl != null &&
// _uploadImageProvider.storeImage2.qiniuUrl != '') {
// images.add(_uploadImageProvider.storeImage2.qiniuUrl);
// }
// if (_uploadImageProvider.storeImage3.qiniuUrl != null &&
// _uploadImageProvider.storeImage3.qiniuUrl != '') {
// images.add(_uploadImageProvider.storeImage3.qiniuUrl);
// }
// if (_uploadImageProvider.storeImage4.qiniuUrl != null &&
// _uploadImageProvider.storeImage4.qiniuUrl != '') {
// images.add(_uploadImageProvider.storeImage4.qiniuUrl);
// }
// if (_uploadImageProvider.storeImage5.qiniuUrl != null &&
// _uploadImageProvider.storeImage5.qiniuUrl != '') {
// images.add(_uploadImageProvider.storeImage5.qiniuUrl);
// }
// if (_uploadImageProvider.storeImage6.qiniuUrl != null &&
// _uploadImageProvider.storeImage6.qiniuUrl != '') {
// images.add(_uploadImageProvider.storeImage6.qiniuUrl);
// }
if (addDish && images.length == 0) {
Utils.showToast('请至少上传一张图片!');
... ...
... ... @@ -32,6 +32,23 @@ import 'img_picker_invitation_widget.dart';
* 店铺介绍
*/
class ChangeModel {
int index; //顺序
UploadImgModel image;
// ChangeModel();
// factory ChangeModel.fromJson(Map<String, dynamic> json) => ChangeModel()
// ..content = json["content"]
// ..type = json["type"];
// // ..order = json['order'];
// Map<String, dynamic> toJson() => <String, dynamic>{
// "content": content, "type": type,
// // 'order': order
// };
}
class StoreIntroducePage extends StatefulWidget {
StoreIntroducePage({Key key}) : super(key: key);
... ... @@ -55,13 +72,17 @@ class _StoreIntroducePageState extends State<StoreIntroducePage> {
bool addStoreImge = false; //预订安排通知中附加餐厅文字图片
bool addAbove = false; //餐厅介绍文字显示在第一张图片上
StoreBaseIndoProvider _baseIndoProvider;
StoreBaseIndoProvider _baseIndoProvider;
List data = [];
@override
void initState() {
super.initState();
WidgetsBinding.instance.addPostFrameCallback((_) async {
_initData();
UserModel userModel = Provider.of<UserModel>(context, listen: false);
sellername = userModel.user.sellername;
setState(() {});
... ... @@ -80,6 +101,28 @@ class _StoreIntroducePageState extends State<StoreIntroducePage> {
super.dispose();
}
_initData() {
ChangeModel changeModel = ChangeModel();
changeModel.index = 5;
changeModel.image = _uploadImageProvider.storeImage1;
data.add(changeModel);
ChangeModel changeModel6 = ChangeModel();
changeModel6.index = 6;
changeModel6.image = _uploadImageProvider.storeImage2;
data.add(changeModel6);
ChangeModel changeModel7 = ChangeModel();
changeModel7.index = 7;
changeModel7.image = _uploadImageProvider.storeImage3;
data.add(changeModel7);
ChangeModel changeModel8 = ChangeModel();
changeModel8.index = 8;
changeModel8.image = _uploadImageProvider.storeImage4;
data.add(changeModel8);
}
///获取七牛云token
///
_getQiniuInfo() async {
... ... @@ -448,69 +491,97 @@ class _StoreIntroducePageState extends State<StoreIntroducePage> {
///图文分开
Widget _separateWidget() {
return Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
// _introduceWidget(EdgeInsets.all(w(15)),
// boxDecoration: BoxDecoration(color: MyColours.color_ffffff)),
// VEmptyView(18),
ImgPickerInvitationWidget(
scrollController: controller,
uploadType: UploadType.InvitationStoreType,
model: _uploadImageProvider,
index: 5,
imageModel: _uploadImageProvider.storeImage1,
deleteCallback: () {
_uploadImageProvider.storeImage1.qiniuUrl = null;
_uploadImageProvider.storeImage1.file = null;
_uploadImageProvider.storeImage1.isUpload = false;
_uploadImageProvider.storeImage1.process = 0.01;
setState(() {});
}),
VEmptyView(18),
ImgPickerInvitationWidget(
scrollController: controller,
uploadType: UploadType.InvitationStoreType,
model: _uploadImageProvider,
index: 6,
imageModel: _uploadImageProvider.storeImage2,
deleteCallback: () {
_uploadImageProvider.storeImage2.qiniuUrl = null;
_uploadImageProvider.storeImage2.file = null;
_uploadImageProvider.storeImage2.isUpload = false;
_uploadImageProvider.storeImage2.process = 0.01;
setState(() {});
}),
VEmptyView(18),
ImgPickerInvitationWidget(
scrollController: controller,
uploadType: UploadType.InvitationStoreType,
model: _uploadImageProvider,
index: 7,
imageModel: _uploadImageProvider.storeImage3,
deleteCallback: () {
_uploadImageProvider.storeImage3.qiniuUrl = null;
_uploadImageProvider.storeImage3.file = null;
_uploadImageProvider.storeImage3.isUpload = false;
_uploadImageProvider.storeImage3.process = 0.01;
setState(() {});
}),
VEmptyView(18),
ImgPickerInvitationWidget(
scrollController: controller,
uploadType: UploadType.InvitationStoreType,
model: _uploadImageProvider,
index: 8,
imageModel: _uploadImageProvider.storeImage4,
deleteCallback: () {
_uploadImageProvider.storeImage4.qiniuUrl = null;
_uploadImageProvider.storeImage4.file = null;
_uploadImageProvider.storeImage4.isUpload = false;
_uploadImageProvider.storeImage4.process = 0.01;
setState(() {});
}),
],
);
return ReorderableListView(
shrinkWrap: true,
scrollController: controller,
children: <Widget>[
// _introduceWidget(EdgeInsets.all(w(15)),
// boxDecoration: BoxDecoration(color: MyColours.color_ffffff)),
// VEmptyView(18),
for (ChangeModel item in data)
Container(
key: ValueKey(item),
child: Padding(
padding:
EdgeInsets.only(bottom: item.index != 8 ? w(9) : 0),
child: ImgPickerInvitationWidget(
scrollController: controller,
uploadType: UploadType.InvitationStoreType,
model: _uploadImageProvider,
index: item.index,
imageModel: item.image,
deleteCallback: () {
item.image.qiniuUrl = null;
item.image.file = null;
item.image.isUpload = false;
item.image.process = 0.01;
setState(() {});
}))),
// ImgPickerInvitationWidget(
// scrollController: controller,
// uploadType: UploadType.InvitationStoreType,
// model: _uploadImageProvider,
// index: 6,
// imageModel: _uploadImageProvider.storeImage2,
// deleteCallback: () {
// _uploadImageProvider.storeImage2.qiniuUrl = null;
// _uploadImageProvider.storeImage2.file = null;
// _uploadImageProvider.storeImage2.isUpload = false;
// _uploadImageProvider.storeImage2.process = 0.01;
// setState(() {});
// }),
// VEmptyView(18),
// ImgPickerInvitationWidget(
// scrollController: controller,
// uploadType: UploadType.InvitationStoreType,
// model: _uploadImageProvider,
// index: 7,
// imageModel: _uploadImageProvider.storeImage3,
// deleteCallback: () {
// _uploadImageProvider.storeImage3.qiniuUrl = null;
// _uploadImageProvider.storeImage3.file = null;
// _uploadImageProvider.storeImage3.isUpload = false;
// _uploadImageProvider.storeImage3.process = 0.01;
// setState(() {});
// }),
// VEmptyView(18),
// ImgPickerInvitationWidget(
// scrollController: controller,
// uploadType: UploadType.InvitationStoreType,
// model: _uploadImageProvider,
// index: 8,
// imageModel: _uploadImageProvider.storeImage4,
// deleteCallback: () {
// _uploadImageProvider.storeImage4.qiniuUrl = null;
// _uploadImageProvider.storeImage4.file = null;
// _uploadImageProvider.storeImage4.isUpload = false;
// _uploadImageProvider.storeImage4.process = 0.01;
// setState(() {});
// }),
],
onReorder: (int oldIndex, int newIndex) async {
if (oldIndex < newIndex) {
newIndex -= 1;
}
// var childold = tableManagerModel.areas[oldIndex];
// Map<String, String> params = {
// 'sid': Provider.of<UserModel>(context, listen: false)
// .user
// .sellerid,
// 'regionid': childold.rid,
// 'order_o': tableManagerModel.areas[newIndex].orderId,
// 'sort': oldIndex < newIndex ? '2' : '1'
// };
var child = data.removeAt(oldIndex);
data.insert(newIndex, child);
setState(() {});
// await tableManagerModel.sortByRegion(context, params);
// //刷新前一页数据
// bus.emit('refresh_table_area');
});
}
Widget _item(String title, {bool select, GestureTapCallback onTap}) {
... ... @@ -544,32 +615,23 @@ class _StoreIntroducePageState extends State<StoreIntroducePage> {
)));
}
/// 修改店铺基本信息
_setSellerInfoById() async {
Map<String, dynamic> params = {
'id': Provider.of<UserModel>(context,listen: false).user.sellerid,
'id': Provider.of<UserModel>(context, listen: false).user.sellerid,
};
params['sellerdesc'] = storeIntroduceC.text;
FormData formData = FormData.fromMap(params);
SetSellerInfoSunModel sunModel =
await _baseIndoProvider.setSellerInfoById(context, formData);
if (sunModel != null) {
//修改成功
// Utils.showToast('保存店铺信息成功');
// EventBus().emit('changeStatusColor');
} else {
// Utils.showToast('保存失败');
}
... ... @@ -577,7 +639,7 @@ class _StoreIntroducePageState extends State<StoreIntroducePage> {
@override
Widget build(BuildContext context) {
_baseIndoProvider =
_baseIndoProvider =
Provider.of<StoreBaseIndoProvider>(context, listen: false);
_uploadImageProvider =
Provider.of<UploadImageProvider>(context, listen: true);
... ... @@ -718,27 +780,33 @@ class _StoreIntroducePageState extends State<StoreIntroducePage> {
Utils.showToast('请输入餐厅介绍文字!');
return false;
}
_setSellerInfoById(); //同步店铺简介
List<String> images = [];
if (_uploadImageProvider.storeImage1.qiniuUrl != null &&
_uploadImageProvider.storeImage1.qiniuUrl != '') {
images.add(_uploadImageProvider.storeImage1.qiniuUrl);
}
if (_uploadImageProvider.storeImage2.qiniuUrl != null &&
_uploadImageProvider.storeImage2.qiniuUrl != '') {
images.add(_uploadImageProvider.storeImage2.qiniuUrl);
}
if (_uploadImageProvider.storeImage3.qiniuUrl != null &&
_uploadImageProvider.storeImage3.qiniuUrl != '') {
images.add(_uploadImageProvider.storeImage3.qiniuUrl);
}
if (_uploadImageProvider.storeImage4.qiniuUrl != null &&
_uploadImageProvider.storeImage4.qiniuUrl != '') {
images.add(_uploadImageProvider.storeImage4.qiniuUrl);
for (int i = 0; i < data.length; i++) {
ChangeModel imgModel = data[i];
if (imgModel.image.qiniuUrl != null &&
imgModel.image.qiniuUrl != '') {
images.add(imgModel.image.qiniuUrl);
}
}
// if (_uploadImageProvider.storeImage1.qiniuUrl != null &&
// _uploadImageProvider.storeImage1.qiniuUrl != '') {
// images.add(_uploadImageProvider.storeImage1.qiniuUrl);
// }
// if (_uploadImageProvider.storeImage2.qiniuUrl != null &&
// _uploadImageProvider.storeImage2.qiniuUrl != '') {
// images.add(_uploadImageProvider.storeImage2.qiniuUrl);
// }
// if (_uploadImageProvider.storeImage3.qiniuUrl != null &&
// _uploadImageProvider.storeImage3.qiniuUrl != '') {
// images.add(_uploadImageProvider.storeImage3.qiniuUrl);
// }
// if (_uploadImageProvider.storeImage4.qiniuUrl != null &&
// _uploadImageProvider.storeImage4.qiniuUrl != '') {
// images.add(_uploadImageProvider.storeImage4.qiniuUrl);
// }
if (images.length == 0) {
Utils.showToast('请至少上传一张图片!');
return false;
... ...