|
...
|
...
|
@@ -65,6 +65,8 @@ import '../../widgets/special_text/my_extended_text_selection_controls.dart'; |
|
|
|
import '../online_check/img_picker_widget.dart';
|
|
|
|
import '../online_check/photo_view_wiget.dart';
|
|
|
|
|
|
|
|
typedef BoolCallback = void Function(bool value);
|
|
|
|
|
|
|
|
class NotebookDetailPage extends StatefulWidget {
|
|
|
|
final String rid;
|
|
|
|
final String mid;
|
|
...
|
...
|
@@ -495,13 +497,26 @@ class NotebookDetailPageState extends State<NotebookDetailPage> { |
|
|
|
}
|
|
|
|
|
|
|
|
///订座详情
|
|
|
|
_getReserveDetail({bool showCicle = false}) async {
|
|
|
|
_getReserveDetail({bool showCicle = false, bool isShowLoading = true}) async {
|
|
|
|
detailEntity = await detailModel.getReserveDetail(
|
|
|
|
context,
|
|
|
|
{
|
|
|
|
"rid": widget.rid,
|
|
|
|
},
|
|
|
|
showCircle: showCicle);
|
|
|
|
showCircle: showCicle,
|
|
|
|
isShowLoading: isShowLoading);
|
|
|
|
|
|
|
|
remarkImgs = [];
|
|
|
|
|
|
|
|
if (detailEntity.photo_note != null && detailEntity.photo_note.length > 0) {
|
|
|
|
detailEntity.photo_note.forEach((element) {
|
|
|
|
UploadImgModel imageModel = UploadImgModel();
|
|
|
|
imageModel.qiniuUrl = element;
|
|
|
|
imageModel.isUpload = true;
|
|
|
|
imageModel.process = 1;
|
|
|
|
remarkImgs.add(imageModel);
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
reserveType =
|
|
|
|
detailEntity.reserve_type == null || detailEntity.reserve_type == ''
|
|
...
|
...
|
@@ -1871,96 +1886,120 @@ class NotebookDetailPageState extends State<NotebookDetailPage> { |
|
|
|
]);
|
|
|
|
}
|
|
|
|
|
|
|
|
_updatePhotoNote() async {
|
|
|
|
List<String> imageQiniuUrlList = [];
|
|
|
|
// if (isDelete) {
|
|
|
|
for (int i = 0; i < remarkImgs.length; i++) {
|
|
|
|
imageQiniuUrlList.add(remarkImgs[i].qiniuUrl);
|
|
|
|
}
|
|
|
|
// } else {
|
|
|
|
// for (int i = 0; i < remarkImgs.length; i++) {
|
|
|
|
// // if (!remarkImgs[i].isUpload) {
|
|
|
|
// imageQiniuUrlList.add(remarkImgs[i].qiniuUrl);
|
|
|
|
// // }
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
|
|
|
|
print(imageQiniuUrlList); //全部图片,详情接口请求后赋值,初始化数据
|
|
|
|
//调用接口绑定数据
|
|
|
|
// _setTablePhoto(
|
|
|
|
// context, imageQiniuUrlList);
|
|
|
|
|
|
|
|
bool sucess = await detailModel.upReserveInfo(context, widget.rid,
|
|
|
|
photoNote: json.encode(imageQiniuUrlList));
|
|
|
|
|
|
|
|
if (sucess) {
|
|
|
|
// bus.emit("refresh_book_list"); //刷新已预订列表
|
|
|
|
|
|
|
|
// EventBus().emit("refresh_tablemanager"); //刷新桌位
|
|
|
|
await _getReserveDetail(showCicle: false, isShowLoading: false);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
///图片备注
|
|
|
|
Widget _imageRemark() {
|
|
|
|
bool show = Utils.getAuthority(context, '图片备注') ||
|
|
|
|
widget.uid ==
|
|
|
|
Provider.of<UserModel>(context, listen: false).user.openid;
|
|
|
|
return (!show && remarkImgs.length == 0) ? SizedBox(): Column(crossAxisAlignment: CrossAxisAlignment.start, children: [
|
|
|
|
VEmptyView(36),
|
|
|
|
Text(
|
|
|
|
'图片备注',
|
|
|
|
overflow: TextOverflow.ellipsis,
|
|
|
|
style: TextStyle(color: MyColours.color_515151, fontSize: font(15)),
|
|
|
|
),
|
|
|
|
VEmptyView(30),
|
|
|
|
show
|
|
|
|
? 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);
|
|
|
|
},
|
|
|
|
);
|
|
|
|
}))
|
|
|
|
: GridView.builder(
|
|
|
|
controller: controller,
|
|
|
|
// padding: EdgeInsets.only(top: ScreenUtil().getAdapterSize(10)),
|
|
|
|
shrinkWrap: true,
|
|
|
|
itemCount: remarkImgs.length,
|
|
|
|
|
|
|
|
//SliverGridDelegateWithFixedCrossAxisCount 构建一个横轴固定数量Widget
|
|
|
|
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
|
|
|
|
//横轴元素个数
|
|
|
|
crossAxisCount: 3,
|
|
|
|
//纵轴间距
|
|
|
|
mainAxisSpacing: ScreenUtil().setWidth(40),
|
|
|
|
//横轴间距
|
|
|
|
crossAxisSpacing: ScreenUtil().setWidth(36),
|
|
|
|
//子组件宽高长度比例
|
|
|
|
childAspectRatio: 1.0),
|
|
|
|
itemBuilder: (BuildContext context, int index) {
|
|
|
|
return InkWell(
|
|
|
|
onTap: () {
|
|
|
|
///没有上传完成的不可以点击
|
|
|
|
_showPhotoView(context, index,
|
|
|
|
remarkImgs.map((e) => e.qiniuUrl).toList());
|
|
|
|
},
|
|
|
|
child: CachedNetworkImage(
|
|
|
|
imageUrl: remarkImgs[index].qiniuUrl,
|
|
|
|
fit: BoxFit.cover,
|
|
|
|
width: ScreenUtil().setWidth(100 * 2),
|
|
|
|
height: ScreenUtil().setWidth(100 * 2),
|
|
|
|
));
|
|
|
|
}),
|
|
|
|
VEmptyView(36),
|
|
|
|
Container(
|
|
|
|
height: ScreenUtil().setWidth(2),
|
|
|
|
color: MyColours.color_E7E7E7,
|
|
|
|
),
|
|
|
|
]);
|
|
|
|
return (!show && remarkImgs.length == 0)
|
|
|
|
? SizedBox()
|
|
|
|
: Column(crossAxisAlignment: CrossAxisAlignment.start, children: [
|
|
|
|
VEmptyView(36),
|
|
|
|
Text(
|
|
|
|
'图片备注',
|
|
|
|
overflow: TextOverflow.ellipsis,
|
|
|
|
style:
|
|
|
|
TextStyle(color: MyColours.color_515151, fontSize: font(15)),
|
|
|
|
),
|
|
|
|
VEmptyView(30),
|
|
|
|
show
|
|
|
|
? 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(() {});
|
|
|
|
//删除图片接口??????
|
|
|
|
_updatePhotoNote();
|
|
|
|
},
|
|
|
|
callback: () async {
|
|
|
|
print(remarkImgs);
|
|
|
|
for (UploadImgModel item in remarkImgs) {
|
|
|
|
if (item.process < 1) {
|
|
|
|
Utils.showToast('正在上传图片,请稍等');
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
//接口,和订单绑定
|
|
|
|
_updatePhotoNote();
|
|
|
|
},
|
|
|
|
);
|
|
|
|
}))
|
|
|
|
: GridView.builder(
|
|
|
|
controller: controller,
|
|
|
|
// padding: EdgeInsets.only(top: ScreenUtil().getAdapterSize(10)),
|
|
|
|
shrinkWrap: true,
|
|
|
|
itemCount: remarkImgs.length,
|
|
|
|
|
|
|
|
//SliverGridDelegateWithFixedCrossAxisCount 构建一个横轴固定数量Widget
|
|
|
|
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
|
|
|
|
//横轴元素个数
|
|
|
|
crossAxisCount: 3,
|
|
|
|
//纵轴间距
|
|
|
|
mainAxisSpacing: ScreenUtil().setWidth(40),
|
|
|
|
//横轴间距
|
|
|
|
crossAxisSpacing: ScreenUtil().setWidth(36),
|
|
|
|
//子组件宽高长度比例
|
|
|
|
childAspectRatio: 1.0),
|
|
|
|
itemBuilder: (BuildContext context, int index) {
|
|
|
|
return InkWell(
|
|
|
|
onTap: () {
|
|
|
|
///没有上传完成的不可以点击
|
|
|
|
_showPhotoView(context, index,
|
|
|
|
remarkImgs.map((e) => e.qiniuUrl).toList());
|
|
|
|
},
|
|
|
|
child: CachedNetworkImage(
|
|
|
|
imageUrl: remarkImgs[index].qiniuUrl,
|
|
|
|
fit: BoxFit.cover,
|
|
|
|
width: ScreenUtil().setWidth(100 * 2),
|
|
|
|
height: ScreenUtil().setWidth(100 * 2),
|
|
|
|
));
|
|
|
|
}),
|
|
|
|
VEmptyView(36),
|
|
|
|
Container(
|
|
|
|
height: ScreenUtil().setWidth(2),
|
|
|
|
color: MyColours.color_E7E7E7,
|
|
|
|
),
|
|
|
|
]);
|
|
|
|
}
|
|
|
|
|
|
|
|
//查看大图
|
...
|
...
|
|