|
|
|
import 'dart:convert';
|
|
|
|
import 'dart:io';
|
|
|
|
|
|
|
|
import 'package:cached_network_image/cached_network_image.dart';
|
|
|
|
import 'package:common_utils/common_utils.dart';
|
|
|
|
import 'package:easy_contact_picker/easy_contact_picker.dart';
|
|
|
|
import 'package:flutter/cupertino.dart';
|
|
...
|
...
|
@@ -1872,7 +1873,10 @@ class NotebookDetailPageState extends State<NotebookDetailPage> { |
|
|
|
|
|
|
|
///图片备注
|
|
|
|
Widget _imageRemark() {
|
|
|
|
return Column(crossAxisAlignment: CrossAxisAlignment.start, children: [
|
|
|
|
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(
|
|
|
|
'图片备注',
|
|
...
|
...
|
@@ -1880,45 +1884,77 @@ class NotebookDetailPageState extends State<NotebookDetailPage> { |
|
|
|
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});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
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);
|
|
|
|
},
|
|
|
|
);
|
|
|
|
})),
|
|
|
|
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),
|
|
...
|
...
|
@@ -1961,6 +1997,11 @@ class NotebookDetailPageState extends State<NotebookDetailPage> { |
|
|
|
|
|
|
|
///订单操作UI
|
|
|
|
Widget _operatingRecord() {
|
|
|
|
String rolename =
|
|
|
|
Provider.of<UserModel>(context, listen: false).user.role_name;
|
|
|
|
bool showimage = (rolename == '管理员' || rolename == '店长') &&
|
|
|
|
detailEntity.log_photo != null &&
|
|
|
|
detailEntity.log_photo != '';
|
|
|
|
return Column(crossAxisAlignment: CrossAxisAlignment.start, children: [
|
|
|
|
// VEmptyView(30),
|
|
|
|
// MyDivider(double.infinity, w(0.5), color: MyColours.color_BFC4D4),
|
|
...
|
...
|
@@ -1987,9 +2028,8 @@ class NotebookDetailPageState extends State<NotebookDetailPage> { |
|
|
|
style:
|
|
|
|
TextStyle(color: MyColours.color_999999, fontSize: font(14)),
|
|
|
|
),
|
|
|
|
if (detailEntity.log_photo != null && detailEntity.log_photo != '')
|
|
|
|
HEmptyView(16),
|
|
|
|
if (detailEntity.log_photo != null && detailEntity.log_photo != '')
|
|
|
|
if (showimage) HEmptyView(16),
|
|
|
|
if (showimage)
|
|
|
|
InkWell(
|
|
|
|
onTap: () {
|
|
|
|
_showPhotoView(context, 0, [detailEntity.log_photo]);
|
|
...
|
...
|
@@ -2010,7 +2050,9 @@ class NotebookDetailPageState extends State<NotebookDetailPage> { |
|
|
|
itemBuilder: (context, index) {
|
|
|
|
ReserveActionLogSunModol data =
|
|
|
|
detailModel.reserveActionLogData[index];
|
|
|
|
bool show = data.logPhoto != null && data.logPhoto != '';
|
|
|
|
bool show = (rolename == '管理员' || rolename == '店长') &&
|
|
|
|
data.logPhoto != null &&
|
|
|
|
data.logPhoto != '';
|
|
|
|
return Container(
|
|
|
|
padding:
|
|
|
|
EdgeInsets.only(left: w(30), top: index == 0 ? w(16) : 0),
|
...
|
...
|
|