Commit 8274bc181230a73419872e1df2d9ae226b0c9008

Authored by wdn127929
1 parent 09a7debf

宴会创建图片删除 OK

... ... @@ -36,6 +36,8 @@ class SetXuanTaiModel {
List<UploadImgModel> feastRemarkXtImageList = []; //宴会备注图片信息列表----选台
String reserveId;
List<String>imgAllXt = [];
SetXuanTaiModel(
{this.rid,
this.reserveOrder,
... ...
... ... @@ -345,8 +345,8 @@ class _CouponEidtPageState extends State<CouponEidtPage> {
List<String> differenceList = difference.toList(); //需要删除的图片
if (differenceList.length > 0) {
String delImgs = Utils.listToStringEnglish(differenceList);
delImgs = delImgs.replaceAll(Constant.qiniuUrl, '');
_uploadImageProvider.deleteImg(context, {'url': delImgs},
_uploadImageProvider.deleteImg(context, delImgs,
needToast: false);
}
}
... ...
... ... @@ -246,14 +246,13 @@ class NotebookDetailPageState extends State<NotebookDetailPage> {
if (detailModel.detailModelAllSunModel.photoNote != null &&
detailModel.detailModelAllSunModel.photoNote.length > 0) {
detailModel.detailModelAllSunModel
.photoNote.forEach((element) {
UploadImgModel imageModel = UploadImgModel();
imageModel.qiniuUrl = element;
imageModel.isUpload = true;
imageModel.process = 1;
remarkImgs.add(imageModel);
});
detailModel.detailModelAllSunModel.photoNote.forEach((element) {
UploadImgModel imageModel = UploadImgModel();
imageModel.qiniuUrl = element;
imageModel.isUpload = true;
imageModel.process = 1;
remarkImgs.add(imageModel);
});
}
reserveType = detailModel.detailModelAllSunModel.reserveType == null ||
... ... @@ -322,19 +321,18 @@ class NotebookDetailPageState extends State<NotebookDetailPage> {
Map<String, String> params = {
'rid': widget.rid,
};
await detailModel.getReserveDepositByRid(context, params);
reserveDepositList = [];
reserveDepositList = [];
detailModel.reserveDepositList.forEach((element) {
if (element.payType != '微信预订通知') {
reserveDepositList.add(element);
} else if (element.payType == '微信预订通知' &&
element.tradeState == 'SUCCESS') {
reserveDepositList.add(element);
}
});
setState((){});
setState(() {});
}
///获取核餐记录
... ... @@ -1456,7 +1454,8 @@ class NotebookDetailPageState extends State<NotebookDetailPage> {
if (sucess) {
bus.emit("refresh_book_list"); //刷新已预订列表
await getReserveDetailDataSet(showCicle: false,isShowLoading: false);
await getReserveDetailDataSet(
showCicle: false, isShowLoading: false);
Navigator.pop(context);
}
},
... ... @@ -1611,7 +1610,7 @@ class NotebookDetailPageState extends State<NotebookDetailPage> {
if (sucess) {
bus.emit("refresh_book_list"); //刷新已预订列表
await getReserveDetailDataSet(
showCicle: false,isShowLoading: false);
showCicle: false, isShowLoading: false);
}
},
width: 80,
... ... @@ -2016,7 +2015,7 @@ class NotebookDetailPageState extends State<NotebookDetailPage> {
]);
}
_updatePhotoNote() async {
_updatePhotoNote({String qiniuUrl}) async {
List<String> imageQiniuUrlList = [];
// if (isDelete) {
for (int i = 0; i < remarkImgs.length; i++) {
... ... @@ -2039,6 +2038,10 @@ class NotebookDetailPageState extends State<NotebookDetailPage> {
photoNote: json.encode(imageQiniuUrlList));
if (sucess) {
if (qiniuUrl != null) {
_uploadImageProvider.deleteImg(context, qiniuUrl,needToast: false);
}
// bus.emit("refresh_book_list"); //刷新已预订列表
// EventBus().emit("refresh_tablemanager"); //刷新桌位
... ... @@ -2075,11 +2078,13 @@ class NotebookDetailPageState extends State<NotebookDetailPage> {
imageList: remarkImgs,
uploadType: UploadType.RemarkImagesType,
deleteCallback: (int index) {
String qiniuUrl = remarkImgs[index].qiniuUrl;
remarkImgs.removeWhere(
(element) => element == remarkImgs[index]);
setState(() {});
//删除图片接口??????
_updatePhotoNote();
_updatePhotoNote(
qiniuUrl: qiniuUrl);
},
callback: () async {
print(remarkImgs);
... ... @@ -2520,15 +2525,17 @@ class NotebookDetailPageState extends State<NotebookDetailPage> {
.tables
.length <
3
? detailModel
.detailModelAllSunModel
.tables
.length == 0? SizedBox():Row(
children: _tableWidget(
detailModel
? detailModel
.detailModelAllSunModel
.tables
.length ==
0
? SizedBox()
: Row(
children: _tableWidget(detailModel
.detailModelAllSunModel
.tables),
)
)
: InkWell(
onTap: () {
DialogUtil.openFTablesDialogNew(
... ... @@ -2740,7 +2747,9 @@ class NotebookDetailPageState extends State<NotebookDetailPage> {
EventBus().emit(
"refresh_tablemanager"); //刷新桌位
await getReserveDetailDataSet(
showCicle: false,isShowLoading: false);
showCicle: false,
isShowLoading:
false);
}
})),
HEmptyView(60),
... ... @@ -4586,8 +4595,7 @@ class NotebookDetailPageState extends State<NotebookDetailPage> {
.cookbooklist !=
null &&
detailModel.detailModelAllSunModel
.cookbooklist
==
.cookbooklist ==
1)
Expanded(
flex: 1,
... ...
... ... @@ -114,6 +114,10 @@ class _FeastCreatePageState extends State<FeastCreatePage> {
Map<String, Notebook> tableMap = {}; //记录已预订桌位对应的订单
List<TableOuter> tableOuterList = []; //区域-桌位列表
List<String> imgAllYx = [];
List<String> imgAllDj = [];
List<String> imgAllHt = [];
List<String> imgAllFp = [];
@override
void initState() {
// TODO: implement initState
... ... @@ -214,6 +218,7 @@ class _FeastCreatePageState extends State<FeastCreatePage> {
customC.text = basicInfo.remark;
//备注图片
_uploadImageProvider.feastRemarkImageList = [];
print(basicInfo.images);
if (basicInfo.images != null) {
basicInfo.images.forEach((element) {
... ... @@ -221,6 +226,7 @@ class _FeastCreatePageState extends State<FeastCreatePage> {
imgModel.qiniuUrl = element.url;
imgModel.process = 1;
_uploadImageProvider.feastRemarkImageList.add(imgModel);
imgAllYx.add(element.url);
});
}
... ... @@ -278,6 +284,10 @@ class _FeastCreatePageState extends State<FeastCreatePage> {
setXuanTaiModel.customCxt.text = element.remark; //选台备注
setXuanTaiModel.feastRemarkXtImageList =
element.feastRemarkImages; //宴会备注图片信息列表----选台
setXuanTaiModel.imgAllXt.addAll(
element.feastRemarkImages.map((e) => e.qiniuUrl).toList());
print(setXuanTaiModel.imgAllXt);
setXuanTaiModel.reserveId = element.id; //场次id
xuantaiData.add(setXuanTaiModel);
SessionsSunModel sessionsSunModel = SessionsSunModel();
... ... @@ -322,6 +332,7 @@ class _FeastCreatePageState extends State<FeastCreatePage> {
imgModel.qiniuUrl = element.url;
imgModel.process = 1;
_uploadImageProvider.feastRemarkDjImageList.add(imgModel);
imgAllDj.add(element.url);
});
}
... ... @@ -452,6 +463,16 @@ class _FeastCreatePageState extends State<FeastCreatePage> {
uploadImgModel.process = 1;
uploadImgModel.qiniuUrl = element.url;
_uploadImageProvider.feastRemarkContractImageList.add(uploadImgModel);
imgAllHt.add(element.url);
});
_uploadImageProvider.feastRemarkInvoiceImageList = [];
feastModel.banquetDetail.invoice?.images?.forEach((element) {
UploadImgModel uploadImgModel = UploadImgModel();
uploadImgModel.process = 1;
uploadImgModel.qiniuUrl = element.url;
_uploadImageProvider.feastRemarkInvoiceImageList.add(uploadImgModel);
imgAllFp.add(element.url);
});
setState(() {});
}
... ... @@ -971,7 +992,7 @@ class _FeastCreatePageState extends State<FeastCreatePage> {
Utils.showToast('请选择接单人');
return false;
}
if (gdShow == '请选择') {
if (gdShow == '请选择' || gdSelIndex == -1) {
Utils.showToast('请选择跟单人');
return false;
}
... ... @@ -995,9 +1016,11 @@ class _FeastCreatePageState extends State<FeastCreatePage> {
}
List imageQiniuUrlList = []; //接口图片数据list
List<String> imageremarks = []; //接口图片数据list
for (int i = 0; i < _uploadImageProvider.feastRemarkImageList.length; i++) {
imageQiniuUrlList
.add({"url": _uploadImageProvider.feastRemarkImageList[i].qiniuUrl});
imageremarks.add(_uploadImageProvider.feastRemarkImageList[i].qiniuUrl);
}
String ddate = (dateTime.millisecondsSinceEpoch / 1000).floor().toString();
... ... @@ -1022,6 +1045,14 @@ class _FeastCreatePageState extends State<FeastCreatePage> {
}
bool success = await feastModel.createBanquet(context, pramas);
if (success) {
// imgAll和images 比较,挑出不一样的,删除七牛云
imgAllYx.remove(null);
Set<String> difference = Set.from(imgAllYx)..removeAll(imageremarks);
List<String> differenceList = difference.toList(); //需要删除的图片
if (differenceList.length > 0) {
String delImgs = Utils.listToStringEnglish(differenceList);
_uploadImageProvider.deleteImg(context, delImgs, needToast: false);
}
Utils.showToast('保存成功');
// if (widget.banquetDetail != null) {
bus.emit('feast_detail_page'); //编辑之后刷新宴会详情页面
... ... @@ -1144,6 +1175,10 @@ class _FeastCreatePageState extends State<FeastCreatePage> {
maxImageNumber: 8,
mainAxisSpacing: 72,
crossAxisSpacing: 56,
callback: () {
imgAllYx.add(model.feastRemarkImageList.last.qiniuUrl);
print('完成');
},
);
}),
),
... ... @@ -1545,7 +1580,8 @@ class _FeastCreatePageState extends State<FeastCreatePage> {
///预订按钮点击的时候提醒已经被预订的桌子
///
if (xuantaiData[xuantaiSelIndex].tableList.length > 0) {
for (TableListReserve item in xuantaiData[xuantaiSelIndex].tableList) {
for (TableListReserve item
in xuantaiData[xuantaiSelIndex].tableList) {
// if (item.isMerge == '1') {
// // (tids.contains(item.tids))
// List<String> mergetids = item.tids.split(',');
... ... @@ -1667,6 +1703,8 @@ class _FeastCreatePageState extends State<FeastCreatePage> {
if (!canRequest) {
return false;
} else {
List<String> delImgs = [];
///组装请求数据
List dataRequest = []; //请求数据
xuantaiData.forEach((element) {
... ... @@ -1826,10 +1864,18 @@ class _FeastCreatePageState extends State<FeastCreatePage> {
// }
// 图片
List imageQiniuUrlList = []; //接口图片数据list
List<String> imageStr = []; //接口图片数据list
for (int i = 0; i < element.feastRemarkXtImageList.length; i++) {
imageQiniuUrlList
.add({"url": element.feastRemarkXtImageList[i].qiniuUrl});
imageStr.add(element.feastRemarkXtImageList[i].qiniuUrl);
}
// imgAll和images 比较,挑出不一样的,删除七牛云
Set<String> difference = Set.from(xuantaiData[xuantaiSelIndex].imgAllXt)
..removeAll(imageStr);
List<String> differenceList = difference.toList(); //需要删除的图片
delImgs.addAll(differenceList);
// if (imageQiniuUrlList.length > 0) {
map['images'] = imageQiniuUrlList; //图片数据
// }
... ... @@ -1840,6 +1886,11 @@ class _FeastCreatePageState extends State<FeastCreatePage> {
bool success = await feastModel.setBanquetInfo(context, pramas);
if (success) {
List<String> delTemp = delImgs.toSet().toList();
if (delTemp.length > 0) {
String delImgsStr = Utils.listToStringEnglish(delTemp);
_uploadImageProvider.deleteImg(context, delImgsStr, needToast: false);
}
feastModel.sessionsSunModelList.forEach((element) {
//把对应场次的ID赋值给本地数据
xuantaiData.forEach((item) {
... ... @@ -2480,11 +2531,15 @@ class _FeastCreatePageState extends State<FeastCreatePage> {
.tableList
.length >
0) {
temp =
await NavigatorUtil.goSelectTableFPageOrRerserve(
context, xuantaiData[xuantaiSelIndex].rid, ddate, ddateSolt,
temp = await NavigatorUtil
.goSelectTableFPageOrRerserve(
context,
xuantaiData[xuantaiSelIndex].rid,
ddate,
ddateSolt,
canChoose: true,
hmS: xuantaiData[xuantaiSelIndex]
hmS: xuantaiData[
xuantaiSelIndex]
.startDate,
hmE: xuantaiData[xuantaiSelIndex]
.endDate,
... ... @@ -2497,8 +2552,8 @@ class _FeastCreatePageState extends State<FeastCreatePage> {
.tableList
});
} else {
temp =
await NavigatorUtil.goSelectTableFPageOrRerserve(
temp = await NavigatorUtil
.goSelectTableFPageOrRerserve(
context,
xuantaiData[xuantaiSelIndex].rid,
ddate,
... ... @@ -3064,6 +3119,14 @@ class _FeastCreatePageState extends State<FeastCreatePage> {
crossAxisSpacing: 56,
feastRemarkXtImageList: xuantaiData[xuantaiSelIndex]
.feastRemarkXtImageList,
callback: () {
xuantaiData[xuantaiSelIndex].imgAllXt.add(
xuantaiData[xuantaiSelIndex]
.feastRemarkXtImageList
.last
.qiniuUrl);
print('完成');
},
);
}),
),
... ... @@ -3102,7 +3165,7 @@ class _FeastCreatePageState extends State<FeastCreatePage> {
/// 担保人保存接口
Future<bool> dbSave() async {
if (djDBRIndex == null) {
if (djDBRIndex == null || djDBRIndex == -1) {
Utils.showToast('请选择担保人');
return false;
}
... ... @@ -3115,11 +3178,13 @@ class _FeastCreatePageState extends State<FeastCreatePage> {
}
List imageQiniuUrlList = []; //接口图片数据list
List<String> delImgs = []; //接口图片数据list
for (int i = 0;
i < _uploadImageProvider.feastRemarkDjImageList.length;
i++) {
imageQiniuUrlList.add(
{"url": _uploadImageProvider.feastRemarkDjImageList[i].qiniuUrl});
delImgs.add(_uploadImageProvider.feastRemarkDjImageList[i].qiniuUrl);
}
Map<String, String> pramas = {
'sid': Provider.of<UserModel>(context, listen: false).user.sellerid,
... ... @@ -3130,6 +3195,12 @@ class _FeastCreatePageState extends State<FeastCreatePage> {
};
bool success = await feastModel.setWarrant(context, pramas);
if (success) {
Set<String> difference = Set.from(imgAllDj)..removeAll(delImgs);
List<String> differenceList = difference.toList(); //需要删除的图片
if (differenceList.length > 0) {
String delImgs = Utils.listToStringEnglish(differenceList);
_uploadImageProvider.deleteImg(context, delImgs, needToast: false);
}
// if (widget.banquetDetail != null) {
bus.emit('feast_detail_page'); //编辑之后刷新宴会详情页面
bus.emit('feast_home_page'); //编辑之后刷新宴会首页
... ... @@ -3387,6 +3458,10 @@ class _FeastCreatePageState extends State<FeastCreatePage> {
maxImageNumber: 8,
mainAxisSpacing: 72,
crossAxisSpacing: 56,
callback: () {
imgAllDj.add(model.feastRemarkDjImageList.last.qiniuUrl);
print('完成');
},
);
}),
),
... ... @@ -3439,7 +3514,7 @@ class _FeastCreatePageState extends State<FeastCreatePage> {
color: MyColours.color_999999, fontSize: font(12))),
),
Expanded(
child: Text(content??'',
child: Text(content ?? '',
style: TextStyle(
color: MyColours.color_515151, fontSize: font(12))))
],
... ... @@ -4422,6 +4497,10 @@ class _FeastCreatePageState extends State<FeastCreatePage> {
maxImageNumber: 8,
mainAxisSpacing: 72,
crossAxisSpacing: 56,
callback: (){
imgAllHt.add( _uploadImageProvider.feastRemarkContractImageList.last.qiniuUrl);
},
);
}),
],
... ... @@ -4686,6 +4765,11 @@ class _FeastCreatePageState extends State<FeastCreatePage> {
maxImageNumber: 8,
mainAxisSpacing: 72,
crossAxisSpacing: 56,
callback: (){
imgAllFp.add( _uploadImageProvider.feastRemarkInvoiceImageList.last.qiniuUrl);
},
);
}),
],
... ... @@ -4966,12 +5050,15 @@ class _FeastCreatePageState extends State<FeastCreatePage> {
///设置合同信息
Future<bool> _setBanquetContract() async {
List imageQiniuUrlList = []; //接口图片数据list
List<String> delImgs = []; //接口图片数据list
for (int i = 0;
i < _uploadImageProvider.feastRemarkContractImageList.length;
i++) {
String url = _uploadImageProvider.feastRemarkContractImageList[i].qiniuUrl;
imageQiniuUrlList.add({
"url": _uploadImageProvider.feastRemarkContractImageList[i].qiniuUrl
"url": url
});
delImgs.add(url);
}
Map<String, String> params = {
'rid': feastModel.rid, //'64'
... ... @@ -4987,6 +5074,12 @@ class _FeastCreatePageState extends State<FeastCreatePage> {
bool success = await feastModel.setBanquetContract(context, params);
if (success) {
Set<String> difference = Set.from(imgAllHt)..removeAll(delImgs);
List<String> differenceList = difference.toList(); //需要删除的图片
if (differenceList.length > 0) {
String delImgs = Utils.listToStringEnglish(differenceList);
_uploadImageProvider.deleteImg(context, delImgs, needToast: false);
}
return true;
} else {
return false;
... ... @@ -5000,12 +5093,15 @@ class _FeastCreatePageState extends State<FeastCreatePage> {
}
List imageQiniuUrlListInvoice = []; //接口图片数据list
List<String> delImgs = []; //接口图片数据list
for (int i = 0;
i < _uploadImageProvider.feastRemarkInvoiceImageList.length;
i++) {
String url = _uploadImageProvider.feastRemarkInvoiceImageList[i].qiniuUrl;
imageQiniuUrlListInvoice.add({
"url": _uploadImageProvider.feastRemarkInvoiceImageList[i].qiniuUrl
"url":url
});
delImgs.add(url);
}
if (imageQiniuUrlListInvoice.length > 0) {
feastModel.banquetDetail.invoice.images = [];
... ... @@ -5022,6 +5118,12 @@ class _FeastCreatePageState extends State<FeastCreatePage> {
bool success = await feastModel.setInvoice(context, pramas);
if (success) {
Set<String> difference = Set.from(imgAllFp)..removeAll(delImgs);
List<String> differenceList = difference.toList(); //需要删除的图片
if (differenceList.length > 0) {
String delImgs = Utils.listToStringEnglish(differenceList);
_uploadImageProvider.deleteImg(context, delImgs, needToast: false);
}
return true;
} else {
return false;
... ...
... ... @@ -123,15 +123,15 @@ class _OnlineCheckEditPageState extends State<OnlineCheckEditPage> {
.substring(1, _editingController.text.length)
.trim();
}
List<String> imgs = [];
for (int i = 0; i < _uploadImageProvider.imageList.length; i++) {
_uploadImageProvider.imageQiniuUrlList
.add(_uploadImageProvider.imageList[i].qiniuUrl);
imgs.add(_uploadImageProvider.imageList[i].qiniuUrl);
}
UserModel userModel = Provider.of<UserModel>(context, listen: false);
Map<String, String> params = {
"price": price,
"rid": widget.rid,
'bill_list': json.encode(_uploadImageProvider.imageQiniuUrlList)
'bill_list': json.encode(imgs)
};
print(params);
//明天完成 桌位名称信息
... ...
... ... @@ -62,9 +62,11 @@ class UploadImageProvider extends ChangeNotifier {
}
/// 删除七牛图片资源
Future<QiniuInfoSunModel> deleteImg(
BuildContext context, Map<String, String> params,
deleteImg(BuildContext context, String delImgs,
{isShowLoading = true, bool needToast = true}) async {
Map<String, String> params = {
'url': delImgs.replaceAll(Constant.qiniuUrl, '')
};
BaseResp<dynamic> baseResp = await DioUtil()
.request<dynamic>(context, Method.post, HttpUrl.qiniu_delete_img,
data: params, showLoading: false)
... ...
... ... @@ -173,24 +173,29 @@ class UploadImageUtil {
//宴会备注---意向
uploadImageProvider.feastRemarkImageList[index].process = 1;
uploadImageProvider.feastRemarkImageList[index].qiniuUrl = imgUrl;
callback();
} else if (uploadType == UploadType.FeastRemarkXtType) {
//宴会备注---选台
feastRemarkXtImageList[index].process = 1;
feastRemarkXtImageList[index].qiniuUrl = imgUrl;
callback();
} else if (uploadType == UploadType.FeastRemarkDjType) {
//宴会备注---订金
uploadImageProvider.feastRemarkDjImageList[index].process = 1;
uploadImageProvider.feastRemarkDjImageList[index].qiniuUrl = imgUrl;
callback();
} else if (uploadType == UploadType.FeastRemarkContractType) {
//宴会备注 ---合同
uploadImageProvider.feastRemarkContractImageList[index].process = 1;
uploadImageProvider.feastRemarkContractImageList[index].qiniuUrl =
imgUrl;
callback();
} else if (uploadType == UploadType.FeastRemarkInvoiceType) {
//宴会备注 ---发票
uploadImageProvider.feastRemarkInvoiceImageList[index].process = 1;
uploadImageProvider.feastRemarkInvoiceImageList[index].qiniuUrl =
imgUrl;
callback();
} else if (uploadType == UploadType.InvitationStoreType) {
//宴会备注 ---发票
uploadImageProvider.feastRemarkInvoiceImageList[index].process = 1;
... ... @@ -314,8 +319,13 @@ class UploadImageUtil {
}
///上传到七牛云
void startUploadOnlyAddition(BuildContext context, File selectedFile,
int index, bool needInit, UploadImageProvider uploadImageProvider,VoidCallback callback) async {
void startUploadOnlyAddition(
BuildContext context,
File selectedFile,
int index,
bool needInit,
UploadImageProvider uploadImageProvider,
VoidCallback callback) async {
final PutController putController = PutController();
print(index);
... ... @@ -363,22 +373,22 @@ class UploadImageUtil {
// 取消当前任务
// putController.cancel();
UploadImgModel imgModel = uploadImageProvider.getDynamicValue('${index}');
imgModel.process = 1;
imgModel.qiniuUrl = imgUrl;
imgModel.file = null;
uploadImageProvider.notifyListeners();
callback();
UploadImgModel imgModel =
uploadImageProvider.getDynamicValue('${index}');
imgModel.process = 1;
imgModel.qiniuUrl = imgUrl;
imgModel.file = null;
uploadImageProvider.notifyListeners();
callback();
})
..catchError((dynamic error) {
UploadImgModel imgModel = uploadImageProvider.getDynamicValue('${index}');
imgModel.process = 0;
imgModel.qiniuUrl = null;
imgModel.file = null;
uploadImageProvider.notifyListeners();
UploadImgModel imgModel =
uploadImageProvider.getDynamicValue('${index}');
imgModel.process = 0;
imgModel.qiniuUrl = null;
imgModel.file = null;
uploadImageProvider.notifyListeners();
// 取消当前任务
putController.cancel();
uploadImageProvider.notifyListeners();
... ...