Commit 2f3cb0a4b1d734d34b20aa80e6d8204668fb17de

Authored by wdn127929
1 parent 04093900

图片备注UI

... ... @@ -55,9 +55,13 @@ import '../../models/customer_by_seller_model.dart';
import '../../models/customer_list_model.dart';
import '../../models/reserveA_action_log_modol.dart';
import '../../models/reserve_deposit_model.dart';
import '../../models/upload_img_model.dart';
import '../../provider/collect_store_provider.dart';
import '../../provider/upload_img_provider.dart';
import '../../utils/screen_util.dart';
import '../../utils/upload_image_util.dart';
import '../../widgets/special_text/my_extended_text_selection_controls.dart';
import '../online_check/img_picker_widget.dart';
import '../online_check/photo_view_wiget.dart';
class NotebookDetailPage extends StatefulWidget {
... ... @@ -125,6 +129,9 @@ class NotebookDetailPageState extends State<NotebookDetailPage> {
CollectStoreProvider collectStoreProvider;
ScrollController controller = ScrollController();
String reserveType = '普通用餐';
UploadImageProvider _uploadImageProvider;
List<UploadImgModel> remarkImgs = [];
@override
void initState() {
... ... @@ -148,6 +155,7 @@ class NotebookDetailPageState extends State<NotebookDetailPage> {
_getOrderInfo();
_getReserveDepositByRid();
_getReserveRecheckByRid(); //获取核餐记录
_getQiniuInfo();
// _initPersonNumList();
Map<String, String> params = {
"uid": Provider.of<UserModel>(context, listen: false).user.openid
... ... @@ -209,6 +217,12 @@ class NotebookDetailPageState extends State<NotebookDetailPage> {
});
}
///获取七牛云token
///
_getQiniuInfo() async {
await _uploadImageProvider.getQiniuInfo(context, {});
}
_getReserveTypeField() async {
await detailModel.getReserveTypeField(context);
}
... ... @@ -457,6 +471,7 @@ class NotebookDetailPageState extends State<NotebookDetailPage> {
bus.off("refresh_detail_deposit");
bus.off("refresh_detail_reserve_recheck");
bus.off("refresh_action_log");
_uploadImageProvider.qiniuInfoSunModel.token = null;
}
///获取订单详情
... ... @@ -1855,6 +1870,63 @@ class NotebookDetailPageState extends State<NotebookDetailPage> {
]);
}
///图片备注
Widget _imageRemark() {
return Column(crossAxisAlignment: CrossAxisAlignment.start, children: [
VEmptyView(36),
Text(
'图片备注',
overflow: TextOverflow.ellipsis,
style: TextStyle(color: MyColours.color_515151, fontSize: font(15)),
),
VEmptyView(30),
Padding(
padding: EdgeInsets.only(left: w(20), right: w(15)),
child: Consumer<UploadImageProvider>(builder: (context, model, _) {
return ImgPickerWidget(
scrollController: controller,
model: _uploadImageProvider,
maxImageNumber: 3,
maxRemind: '三',
imageList: remarkImgs,
uploadType: UploadType.RemarkImagesType,
deleteCallback: (int index) {
remarkImgs
.removeWhere((element) => element == remarkImgs[index]);
setState(() {});
//删除图片接口??????
},
callback: () {
print(remarkImgs);
for (UploadImgModel item in remarkImgs) {
if (item.process < 1) {
Utils.showToast('正在上传图片,请稍等');
return;
}
}
//接口,和订单绑定
List imageQiniuUrlList = [];
for (int i = 0; i < remarkImgs.length; i++) {
if (!remarkImgs[i].isUpload) {
imageQiniuUrlList.add({"url": remarkImgs[i].qiniuUrl});
}
}
print(imageQiniuUrlList); //全部图片,详情接口请求后赋值,初始化数据
//调用接口绑定数据
// _setTablePhoto(
// context, imageQiniuUrlList);
},
);
})),
VEmptyView(36),
Container(
height: ScreenUtil().setWidth(2),
color: MyColours.color_E7E7E7,
),
]);
}
//查看大图
_showPhotoView(BuildContext context, int index, List<String> imgs,
{isShow = false, List dashName}) async {
... ... @@ -2096,6 +2168,8 @@ class NotebookDetailPageState extends State<NotebookDetailPage> {
if (MediaQuery.of(context).viewInsets.bottom == 0) {
_cancelNode.unfocus();
}
_uploadImageProvider =
Provider.of<UploadImageProvider>(context, listen: true);
remarkManagerModel = Provider.of<RemarkManagerModel>(context, listen: true);
detailModel = Provider.of<NotebookDetailModel>(context, listen: true);
_onlineCheckEditProvider =
... ... @@ -3716,6 +3790,7 @@ class NotebookDetailPageState extends State<NotebookDetailPage> {
_deposit(),
_verifyFood(),
_imageRemark(),
_operatingRecord(),
// InkWell(
... ...
... ... @@ -128,6 +128,8 @@ class _ImgPickerWidgetState extends DisposableState<ImgPickerWidget> {
widget.imageList.add(imgModel);
} else if (widget.uploadType == UploadType.CouponDishType) {
widget.imageList.add(imgModel);
} else if (widget.uploadType == UploadType.RemarkImagesType) {
widget.imageList.add(imgModel);
}
} else {
print('No image selected.');
... ... @@ -148,6 +150,8 @@ class _ImgPickerWidgetState extends DisposableState<ImgPickerWidget> {
temp = widget.imageList;
} else if (widget.uploadType == UploadType.CouponDishType) {
temp = widget.imageList;
} else if (widget.uploadType == UploadType.RemarkImagesType) {
temp = widget.imageList;
}
bool need = await Utils.sizeNeed(File(pickedFile.path));
File file = File(pickedFile.path);
... ... @@ -175,6 +179,8 @@ class _ImgPickerWidgetState extends DisposableState<ImgPickerWidget> {
temp = widget.imageList;
} else if (widget.uploadType == UploadType.CouponDishType) {
temp = widget.imageList;
} else if (widget.uploadType == UploadType.RemarkImagesType) {
temp = widget.imageList;
}
List<AssetEntity> imgList = await AssetPicker.pickAssets(context,
pickerConfig: AssetPickerConfig(
... ... @@ -502,6 +508,8 @@ class _ImgPickerWidgetState extends DisposableState<ImgPickerWidget> {
temp = widget.imageList;
} else if (widget.uploadType == UploadType.CouponDishType) {
temp = widget.imageList;
} else if (widget.uploadType == UploadType.RemarkImagesType) {
temp = widget.imageList;
}
return _getGridImg(
temp.length < widget.maxImageNumber ? temp.length + 1 : temp.length,
... ...
... ... @@ -43,6 +43,7 @@ class UploadImageProvider extends ChangeNotifier {
// List<UploadImgModel> wineImageList = []; //新建存酒
int countUpload = 0;
UploadImageProvider() {
touxiang.process = 0.01;
erweima.process = 0.01;
... ...
... ... @@ -26,7 +26,8 @@ enum UploadType {
FeastRemarkInvoiceType, //宴会备注--发票
InvitationStoreType, //预订安排定制----店铺图片
WineManageType, //新建存酒
CouponDishType //新建优惠券菜品券图片
CouponDishType, //新建优惠券菜品券图片
RemarkImagesType // 订座详情备注图片
}
... ... @@ -106,6 +107,9 @@ class UploadImageUtil {
} else if (uploadType == UploadType.CouponDishType) {
//新建优惠券
imageList[index].process = percent;
} else if (uploadType == UploadType.RemarkImagesType) {
//备注图片
imageList[index].process = percent;
}
uploadImageProvider.notifyListeners();
... ... @@ -198,6 +202,17 @@ class UploadImageUtil {
//新建优惠券
imageList[index].process = 1;
imageList[index].qiniuUrl = imgUrl;
} else if (uploadType == UploadType.RemarkImagesType) {
//备注图片
imageList[index].process = 1;
imageList[index].qiniuUrl = imgUrl;
imageList[index].isUpload = false;
uploadImageProvider.countUpload++;
if (uploadImageProvider.countUpload == countAll) {
//所有图片上传完成,可以绑定备注图片
uploadImageProvider.countUpload = 0;
callback();
}
}
// 取消当前任务
... ... @@ -239,7 +254,10 @@ class UploadImageUtil {
//新建存酒
imageList.removeAt(index);
} else if (uploadType == UploadType.CouponDishType) {
//新建存酒
//新建优惠券
imageList.removeAt(index);
} else if (uploadType == UploadType.RemarkImagesType) {
//图片备注
imageList.removeAt(index);
}
... ...