|
...
|
...
|
@@ -20,7 +20,11 @@ import 'package:one_key/widgets/v_empty_view.dart'; |
|
|
|
import 'package:provider/provider.dart';
|
|
|
|
|
|
|
|
import '../../models/filter_btn_model.dart';
|
|
|
|
import '../../models/upload_img_model.dart';
|
|
|
|
import '../../provider/upload_img_provider.dart';
|
|
|
|
import '../../utils/screen_util.dart';
|
|
|
|
import '../../utils/upload_image_util.dart';
|
|
|
|
import '../online_check/img_picker_widget.dart';
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 新建券
|
|
...
|
...
|
@@ -78,6 +82,9 @@ class _CouponEidtPageState extends State<CouponEidtPage> { |
|
|
|
String noon;
|
|
|
|
String night;
|
|
|
|
|
|
|
|
UploadImageProvider _uploadImageProvider;
|
|
|
|
List<UploadImgModel> img = [];
|
|
|
|
|
|
|
|
@override
|
|
|
|
void initState() {
|
|
|
|
super.initState();
|
|
...
|
...
|
@@ -158,9 +165,23 @@ class _CouponEidtPageState extends State<CouponEidtPage> { |
|
|
|
WidgetsBinding.instance.addPostFrameCallback((_) {
|
|
|
|
// _couponNetworkData(0);
|
|
|
|
_initWeekData();
|
|
|
|
_getQiniuInfo();
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
@override
|
|
|
|
void dispose() {
|
|
|
|
super.dispose();
|
|
|
|
|
|
|
|
_uploadImageProvider.qiniuInfoSunModel.token = null;
|
|
|
|
}
|
|
|
|
|
|
|
|
///获取七牛云token
|
|
|
|
///
|
|
|
|
_getQiniuInfo() async {
|
|
|
|
await _uploadImageProvider.getQiniuInfo(context, {});
|
|
|
|
}
|
|
|
|
|
|
|
|
// //初始化时间
|
|
|
|
// initWeekData() async {
|
|
|
|
// // UserModel userModel = Provider.of<UserModel>(context, listen: false);
|
|
...
|
...
|
@@ -222,14 +243,20 @@ class _CouponEidtPageState extends State<CouponEidtPage> { |
|
|
|
params['uid_list'] = uids;
|
|
|
|
params['price'] =
|
|
|
|
_priceControl.text.trim().length == 0 ? '0' : _priceControl.text;
|
|
|
|
|
|
|
|
List<String> images = [];
|
|
|
|
if (img.length > 0) {
|
|
|
|
img.forEach((value) {
|
|
|
|
images.add(value.qiniuUrl);
|
|
|
|
});
|
|
|
|
}
|
|
|
|
Map use = {
|
|
|
|
'is_cash': money ? '1' : '0',
|
|
|
|
'is_discount': discount ? '1' : '0',
|
|
|
|
'is_dish': dish ? '1' : '0',
|
|
|
|
'cash': moneyControl.text,
|
|
|
|
'discount': discountControl.text,
|
|
|
|
'dish': dishControl.text
|
|
|
|
'dish': dishControl.text,
|
|
|
|
'images': json.encode(images)
|
|
|
|
};
|
|
|
|
params['use'] = jsonEncode(use);
|
|
|
|
|
|
...
|
...
|
@@ -651,6 +678,8 @@ class _CouponEidtPageState extends State<CouponEidtPage> { |
|
|
|
@override
|
|
|
|
Widget build(BuildContext context) {
|
|
|
|
couponProvider = Provider.of<CouponProvider>(context, listen: true);
|
|
|
|
_uploadImageProvider =
|
|
|
|
Provider.of<UploadImageProvider>(context, listen: true);
|
|
|
|
return Scaffold(
|
|
|
|
backgroundColor: MyColours.color_ffffff,
|
|
|
|
key: scaffoldKey,
|
|
...
|
...
|
@@ -792,6 +821,56 @@ class _CouponEidtPageState extends State<CouponEidtPage> { |
|
|
|
_textfieldSelect('菜品:', '点击输入赠送菜品名称',
|
|
|
|
dishControl, dishFocusNode,
|
|
|
|
textInputType: TextInputType.text),
|
|
|
|
if (dish) VEmptyView(20),
|
|
|
|
|
|
|
|
if (dish)
|
|
|
|
Padding(
|
|
|
|
padding: EdgeInsets.only(
|
|
|
|
left: w(10), right: w(15)),
|
|
|
|
child: Consumer<UploadImageProvider>(
|
|
|
|
builder: (context, model, _) {
|
|
|
|
return ImgPickerWidget(
|
|
|
|
scrollController: controller,
|
|
|
|
model: _uploadImageProvider,
|
|
|
|
maxImageNumber: 3,
|
|
|
|
maxRemind: '三',
|
|
|
|
imageList: img,
|
|
|
|
uploadType:
|
|
|
|
UploadType.CouponDishType,
|
|
|
|
deleteCallback: (int index) {
|
|
|
|
img.removeWhere((element) =>
|
|
|
|
element == img[index]);
|
|
|
|
setState(() {});
|
|
|
|
},
|
|
|
|
callback: () {
|
|
|
|
// 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);
|
|
|
|
},
|
|
|
|
);
|
|
|
|
})),
|
|
|
|
VEmptyView(48),
|
|
|
|
Container(
|
|
|
|
height: ScreenUtil().setWidth(2),
|
|
...
|
...
|
@@ -1035,68 +1114,82 @@ class _CouponEidtPageState extends State<CouponEidtPage> { |
|
|
|
VEmptyView(20),
|
|
|
|
RoundButton(
|
|
|
|
onPressed: () {
|
|
|
|
if (_couponNameEditControl.text.trim().length == 0) {
|
|
|
|
Utils.showToast('请填写券名称');
|
|
|
|
return;
|
|
|
|
print(img);
|
|
|
|
bool can = true;
|
|
|
|
innerloop:
|
|
|
|
for (UploadImgModel item in img) {
|
|
|
|
if (item.process < 1) {
|
|
|
|
Utils.showToast('正在上传图片,请稍等');
|
|
|
|
// return false;
|
|
|
|
can = false;
|
|
|
|
break innerloop;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (!widget.isMine) {
|
|
|
|
if (money && moneyControl.text.trim().length == 0) {
|
|
|
|
Utils.showToast('请输入代金券金额!');
|
|
|
|
if (can) {
|
|
|
|
if (_couponNameEditControl.text.trim().length == 0) {
|
|
|
|
Utils.showToast('请填写券名称');
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
if (discount && discountControl.text.trim().length == 0) {
|
|
|
|
Utils.showToast('请输入折扣率!');
|
|
|
|
return;
|
|
|
|
if (!widget.isMine) {
|
|
|
|
if (money && moneyControl.text.trim().length == 0) {
|
|
|
|
Utils.showToast('请输入代金券金额!');
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
if (discount &&
|
|
|
|
discountControl.text.trim().length == 0) {
|
|
|
|
Utils.showToast('请输入折扣率!');
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
if (dish && dishControl.text.trim().length == 0) {
|
|
|
|
Utils.showToast('请输入菜品!');
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
if (limitWeek && weekShow == '点击设置可用日期') {
|
|
|
|
Utils.showToast('请设置可用日期!');
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
if (uids == null || uids == '') {
|
|
|
|
Utils.showToast('请设置发放人!');
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
bool isNumber = Utils.isInteger(
|
|
|
|
_limitNumControl.text.trim()); //判断输入的内容是否是数字
|
|
|
|
if (!isNumber) {
|
|
|
|
Utils.showToast('发放总量限制请输入数字');
|
|
|
|
_limitNumControl.text = '';
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (dish && dishControl.text.trim().length == 0) {
|
|
|
|
Utils.showToast('请输入菜品!');
|
|
|
|
if (_couponRequireEditControl.text.trim().length == 0) {
|
|
|
|
Utils.showToast('请填写券要求');
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
if (limitWeek && weekShow == '点击设置可用日期') {
|
|
|
|
Utils.showToast('请设置可用日期!');
|
|
|
|
if (fromDate == '点击选择') {
|
|
|
|
Utils.showToast('请选择有效期起始时间');
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
if (uids == null || uids == '') {
|
|
|
|
Utils.showToast('请设置发放人!');
|
|
|
|
if (endDate == '点击选择') {
|
|
|
|
Utils.showToast('请选择有效期结束时间');
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
bool isNumber = Utils.isInteger(
|
|
|
|
_limitNumControl.text.trim()); //判断输入的内容是否是数字
|
|
|
|
if (!isNumber) {
|
|
|
|
Utils.showToast('发放总量限制请输入数字');
|
|
|
|
_limitNumControl.text = '';
|
|
|
|
if (DateUtil.getDateTime(endDate)
|
|
|
|
.compareTo(DateUtil.getDateTime(fromDate)) <
|
|
|
|
0) {
|
|
|
|
Utils.showToast('有效期结束时间不能早于起始时间');
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (_couponRequireEditControl.text.trim().length == 0) {
|
|
|
|
Utils.showToast('请填写券要求');
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
if (fromDate == '点击选择') {
|
|
|
|
Utils.showToast('请选择有效期起始时间');
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
if (endDate == '点击选择') {
|
|
|
|
Utils.showToast('请选择有效期结束时间');
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
if (DateUtil.getDateTime(endDate)
|
|
|
|
.compareTo(DateUtil.getDateTime(fromDate)) <
|
|
|
|
0) {
|
|
|
|
Utils.showToast('有效期结束时间不能早于起始时间');
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
// ***参数***
|
|
|
|
// _couponNameEditControl.text
|
|
|
|
// _couponRequireEditControl.text
|
|
|
|
// fromDate
|
|
|
|
// endDate
|
|
|
|
// _couponExplainEditControl.text
|
|
|
|
// swichState
|
|
|
|
_createNewCoupon();
|
|
|
|
// ***参数***
|
|
|
|
// _couponNameEditControl.text
|
|
|
|
// _couponRequireEditControl.text
|
|
|
|
// fromDate
|
|
|
|
// endDate
|
|
|
|
// _couponExplainEditControl.text
|
|
|
|
// swichState
|
|
|
|
_createNewCoupon();
|
|
|
|
}
|
|
|
|
},
|
|
|
|
text: '立即创建',
|
|
|
|
fontSize: 24,
|
...
|
...
|
|