Commit 584151c08536e37b98f7ad83206ccb1b0fa03e98

Authored by wdn127929
1 parent 41d9fb99

11

... ... @@ -14,16 +14,16 @@ if (flutterRoot == null) {
def flutterVersionCode = "480"
def flutterVersionCode = "471"
if (flutterVersionCode == null) {
flutterVersionCode = '480'
flutterVersionCode = '471'
}
def flutterVersionName = "4.8.0"
def flutterVersionName = "4.7.1"
if (flutterVersionName == null) {
flutterVersionName = '4.8.0'
flutterVersionName = '4.7.1'
}
... ...
... ... @@ -24,6 +24,10 @@ PODS:
- AMapFoundation-NO-IDFA (~> 1.6.9)
- audioplayers (0.0.1):
- Flutter
- barcode_scan2 (0.0.1):
- Flutter
- MTBBarcodeScanner
- SwiftProtobuf
- Bugly (2.5.93)
- connectivity (0.0.1):
- Flutter
... ... @@ -97,6 +101,7 @@ PODS:
- Mantle (2.2.0):
- Mantle/extobjc (= 2.2.0)
- Mantle/extobjc (2.2.0)
- MTBBarcodeScanner (5.0.11)
- "OpenWeChatSDK (1.9.9+1)"
- OrderedSet (5.0.0)
- package_info (0.0.1):
... ... @@ -124,6 +129,7 @@ PODS:
- sqflite (0.0.2):
- Flutter
- FMDB (>= 2.7.5)
- SwiftProtobuf (1.21.0)
- Toast (4.0.0)
- TOCropViewController (2.6.1)
- TPNS-iOS (1.3.4.1)
... ... @@ -147,6 +153,7 @@ DEPENDENCIES:
- amap_map_fluttify (from `.symlinks/plugins/amap_map_fluttify/ios`)
- amap_search_fluttify (from `.symlinks/plugins/amap_search_fluttify/ios`)
- audioplayers (from `.symlinks/plugins/audioplayers/ios`)
- barcode_scan2 (from `.symlinks/plugins/barcode_scan2/ios`)
- connectivity (from `.symlinks/plugins/connectivity/ios`)
- contacts_service (from `.symlinks/plugins/contacts_service/ios`)
- core_location_fluttify (from `.symlinks/plugins/core_location_fluttify/ios`)
... ... @@ -194,11 +201,13 @@ SPEC REPOS:
- FMDB
- libwebp
- Mantle
- MTBBarcodeScanner
- OpenWeChatSDK
- OrderedSet
- Reachability
- SDWebImage
- SDWebImageWebPCoder
- SwiftProtobuf
- Toast
- TOCropViewController
- TPNS-iOS
... ... @@ -214,6 +223,8 @@ EXTERNAL SOURCES:
:path: ".symlinks/plugins/amap_search_fluttify/ios"
audioplayers:
:path: ".symlinks/plugins/audioplayers/ios"
barcode_scan2:
:path: ".symlinks/plugins/barcode_scan2/ios"
connectivity:
:path: ".symlinks/plugins/connectivity/ios"
contacts_service:
... ... @@ -297,6 +308,7 @@ SPEC CHECKSUMS:
AMapLocation-NO-IDFA: 9d7ec9b052405356600b59fe0a9a65261bacc54e
AMapSearch-NO-IDFA: 9df378c88d50083346412ee3e0a10e2c451c7139
audioplayers: 455322b54050b30ea4b1af7cd9e9d105f74efa8c
barcode_scan2: 0af2bb63c81b4565aab6cd78278e4c0fa136dbb0
Bugly: b8715e6ec4004b7f7fbffab0643ba80545aee3da
connectivity: c4130b2985d4ef6fd26f9702e886bd5260681467
contacts_service: 849e1f84281804c8bfbec1b4c3eedcb23c5d3eca
... ... @@ -323,6 +335,7 @@ SPEC CHECKSUMS:
install_plugin: a13e7ddd2bab0c701b48cd359c26d0394125b6fb
libwebp: f62cb61d0a484ba548448a4bd52aabf150ff6eef
Mantle: c5aa8794a29a022dfbbfc9799af95f477a69b62d
MTBBarcodeScanner: f453b33c4b7dfe545d8c6484ed744d55671788cb
OpenWeChatSDK: ea48e9db20645f78128db9091893910280b8e4b1
OrderedSet: aaeb196f7fef5a9edf55d89760da9176ad40b93c
package_info: 873975fc26034f0b863a300ad47e7f1ac6c7ec62
... ... @@ -336,6 +349,7 @@ SPEC CHECKSUMS:
shared_preferences_ios: 548a61f8053b9b8a49ac19c1ffbc8b92c50d68ad
sign_in_with_apple: f3bf75217ea4c2c8b91823f225d70230119b8440
sqflite: 6d358c025f5b867b29ed92fc697fd34924e11904
SwiftProtobuf: afced68785854575756db965e9da52bbf3dc45e7
Toast: 91b396c56ee72a5790816f40d3a94dd357abc196
TOCropViewController: edfd4f25713d56905ad1e0b9f5be3fbe0f59c863
TPNS-iOS: 36c335eff80670de6ede780ab827f679d78f64ff
... ...
... ... @@ -301,14 +301,17 @@
inputPaths = (
"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh",
"${BUILT_PRODUCTS_DIR}/FMDB/FMDB.framework",
"${BUILT_PRODUCTS_DIR}/MTBBarcodeScanner/MTBBarcodeScanner.framework",
"${BUILT_PRODUCTS_DIR}/Mantle/Mantle.framework",
"${BUILT_PRODUCTS_DIR}/OrderedSet/OrderedSet.framework",
"${BUILT_PRODUCTS_DIR}/Reachability/Reachability.framework",
"${BUILT_PRODUCTS_DIR}/SDWebImage/SDWebImage.framework",
"${BUILT_PRODUCTS_DIR}/SDWebImageWebPCoder/SDWebImageWebPCoder.framework",
"${BUILT_PRODUCTS_DIR}/SwiftProtobuf/SwiftProtobuf.framework",
"${BUILT_PRODUCTS_DIR}/TOCropViewController/TOCropViewController.framework",
"${BUILT_PRODUCTS_DIR}/Toast/Toast.framework",
"${BUILT_PRODUCTS_DIR}/audioplayers/audioplayers.framework",
"${BUILT_PRODUCTS_DIR}/barcode_scan2/barcode_scan2.framework",
"${BUILT_PRODUCTS_DIR}/connectivity/connectivity.framework",
"${BUILT_PRODUCTS_DIR}/contacts_service/contacts_service.framework",
"${BUILT_PRODUCTS_DIR}/device_info/device_info.framework",
... ... @@ -343,14 +346,17 @@
name = "[CP] Embed Pods Frameworks";
outputPaths = (
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FMDB.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/MTBBarcodeScanner.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Mantle.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/OrderedSet.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Reachability.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SDWebImage.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SDWebImageWebPCoder.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SwiftProtobuf.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/TOCropViewController.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Toast.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/audioplayers.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/barcode_scan2.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/connectivity.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/contacts_service.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/device_info.framework",
... ... @@ -654,7 +660,7 @@
CURRENT_PROJECT_VERSION = 466;
DEVELOPMENT_TEAM = 8J59HM8B82;
ENABLE_BITCODE = NO;
FLUTTER_BUILD_MODE = release;
FLUTTER_BUILD_MODE = debug;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)/Flutter",
... ...
... ... @@ -127,8 +127,8 @@ class _FeastCreatePageState extends State<FeastCreatePage> {
});
bus.on("feast_deposit_list", (arg) {
// if (widget.banquetDetail != null) {
bus.emit('feast_detail_page'); //编辑之后刷新宴会详情页面
bus.emit('feast_home_page'); //编辑之后刷新宴会首页
bus.emit('feast_detail_page'); //编辑之后刷新宴会详情页面
bus.emit('feast_home_page'); //编辑之后刷新宴会首页
// }
_getBanquetDeposit();
});
... ... @@ -293,12 +293,15 @@ class _FeastCreatePageState extends State<FeastCreatePage> {
customCdb.text = basicInfo.warrantDesc ?? '';
//担保图片
_uploadImageProvider.feastRemarkDjImageList = [];
basicInfo.warrantImages.forEach((element) {
UploadImgModel imgModel = UploadImgModel();
imgModel.qiniuUrl = element.url;
imgModel.process = 1;
_uploadImageProvider.feastRemarkDjImageList.add(imgModel);
});
if (basicInfo.warrantImages != null &&
basicInfo.warrantImages.length > 0) {
basicInfo.warrantImages.forEach((element) {
UploadImgModel imgModel = UploadImgModel();
imgModel.qiniuUrl = element.url;
imgModel.process = 1;
_uploadImageProvider.feastRemarkDjImageList.add(imgModel);
});
}
setState(() {});
}
... ... @@ -988,8 +991,8 @@ class _FeastCreatePageState extends State<FeastCreatePage> {
if (success) {
Utils.showToast('保存成功');
// if (widget.banquetDetail != null) {
bus.emit('feast_detail_page'); //编辑之后刷新宴会详情页面
bus.emit('feast_home_page'); //编辑之后刷新宴会首页
bus.emit('feast_detail_page'); //编辑之后刷新宴会详情页面
bus.emit('feast_home_page'); //编辑之后刷新宴会首页
// }
return true;
... ... @@ -1226,33 +1229,43 @@ class _FeastCreatePageState extends State<FeastCreatePage> {
Future<bool> xtSave() async {
//判断非空选项,并弹窗提醒用户填写信息
// xuantaiData 多场次数据
bool canRequest = false;
xuantaiData.forEach((element) {
bool canRequest = true;
outerloop:
for (int i = 0; i < xuantaiData.length; i++) {
SetXuanTaiModel element = xuantaiData[i];
String reserveOrder = element.reserveOrder;
if (element.dateTimeShowxt == '请选择') {
Utils.showToast('请选择${reserveOrder}宴会日期');
return false;
canRequest = false;
break outerloop;
}
if (element.cdShow == '请选择') {
Utils.showToast('请选择${reserveOrder}餐段');
return false;
canRequest = false;
break outerloop;
}
if (element.cdShow == '不带餐' && element.qsDateShow == '暂未选择') {
Utils.showToast('请选择${reserveOrder}起始时间');
return false;
canRequest = false;
break outerloop;
}
if (element.tids.length == 0) {
Utils.showToast('请选择${reserveOrder}桌位');
return false;
canRequest = false;
break outerloop;
}
innerloop:
for (UploadImgModel item in element.feastRemarkXtImageList) {
if (item.process < 1) {
Utils.showToast('正在上传${reserveOrder}图片,请稍等');
return false;
canRequest = false;
break outerloop;
}
}
canRequest = true;
});
// canRequest = true;
}
if (!canRequest) {
return false;
} else {
... ... @@ -1441,8 +1454,8 @@ class _FeastCreatePageState extends State<FeastCreatePage> {
print(xuantaiData);
Utils.showToast('保存成功');
// if (widget.banquetDetail != null) {
bus.emit('feast_detail_page'); //编辑之后刷新宴会详情页面
bus.emit('feast_home_page'); //编辑之后刷新宴会首页
bus.emit('feast_detail_page'); //编辑之后刷新宴会详情页面
bus.emit('feast_home_page'); //编辑之后刷新宴会首页
// }
return true;
} else {
... ... @@ -2567,7 +2580,7 @@ class _FeastCreatePageState extends State<FeastCreatePage> {
Utils.showToast('请选择担保人');
return false;
}
for (UploadImgModel item in _uploadImageProvider.feastRemarkDjImageList) {
if (item.process < 1) {
Utils.showToast('正在上传图片,请稍等');
... ... @@ -2592,8 +2605,8 @@ class _FeastCreatePageState extends State<FeastCreatePage> {
bool success = await feastModel.setWarrant(context, pramas);
if (success) {
// if (widget.banquetDetail != null) {
bus.emit('feast_detail_page'); //编辑之后刷新宴会详情页面
bus.emit('feast_home_page'); //编辑之后刷新宴会首页
bus.emit('feast_detail_page'); //编辑之后刷新宴会详情页面
bus.emit('feast_home_page'); //编辑之后刷新宴会首页
// }
return true;
} else {
... ... @@ -4492,7 +4505,7 @@ class _FeastCreatePageState extends State<FeastCreatePage> {
//成功
Utils.showToast('保存成功');
// if (widget.banquetDetail != null) {
bus.emit('feast_detail_page'); //编辑之后刷新宴会详情页面
bus.emit('feast_detail_page'); //编辑之后刷新宴会详情页面
// }
bus.emit('feast_home_page'); //编辑之后刷新宴会首页
} else {
... ...
... ... @@ -874,6 +874,29 @@ class InvicationPageState extends State<InvicationPage>
EventBus().emit("refresh_tablemanager"); //刷新桌位
bus.emit("refresh_book_list"); //刷新已预订列表
bus.emit("refresh_detail");
await _getIsMemberByPhone(phone);
if (memberid != null && memberid != '') {
CustomerProvider customerProvider =
Provider.of<CustomerProvider>(context, listen: false);
Map<String, String> pramas = {
'id': memberid,
'is_member': memberIndex == 0 ? '1' : '0'
};
if (nameStr != null && nameStr.trim().length > 0) {
pramas['rname'] = nameStr;
pramas['sex'] = '${sexList.indexOf(sexStr) + 1}';
}
if (_baseIndoProvider.phoneController.text.replaceAll(' ', '').length >
0) {
pramas['phone'] =
_baseIndoProvider.phoneController.text.replaceAll(' ', '');
}
await customerProvider.setGuestInfo(context, pramas);
}
} else {
reserverPhone = oldPhone;
_baseIndoProvider.phoneController.text = oldPhone.replaceAll(' ', '');
... ... @@ -1499,6 +1522,47 @@ class InvicationPageState extends State<InvicationPage>
);
}
// 客情信息变更
_setInsGuest() async {
CustomerProvider customerProvider =
Provider.of<CustomerProvider>(context, listen: false);
if (memberid != null && memberIndex != null) {
Map<String, String> pramas = {
'id': memberid,
'is_member': memberIndex == 0 ? '1' : '0'
};
if (nameStr != null && nameStr.trim().length > 0) {
pramas['rname'] = nameStr;
pramas['sex'] = '${sexList.indexOf(sexStr) + 1}';
}
if (_baseIndoProvider.phoneController.text.replaceAll(' ', '').length >
0) {
pramas['phone'] =
_baseIndoProvider.phoneController.text.replaceAll(' ', '');
}
await customerProvider.setGuestInfo(context, pramas);
} else {
Map<String, String> pramas = {
'sellerid':
Provider.of<UserModel>(context, listen: false).user.sellerid,
'uid': Provider.of<UserModel>(context, listen: false).user.openid,
'phone': _baseIndoProvider.phoneController.text.replaceAll(' ', '')
};
if (memberIndex != null) {
pramas['is_member'] = memberIndex == 0 ? '1' : '0';
}
if (nameStr != null && nameStr.trim().length > 0) {
pramas['rname'] = nameStr;
pramas['sex'] = '${sexList.indexOf(sexStr) + 1}';
}
await customerProvider.setInsGuest(context, pramas);
}
}
_customerInfoWidget() {
return Container(
child: Column(
... ... @@ -1993,64 +2057,7 @@ class InvicationPageState extends State<InvicationPage>
isMember = memberList[memberIndex];
setState(() {});
CustomerProvider customerProvider =
Provider.of<CustomerProvider>(context,
listen: false);
if (memberid != null &&
memberIndex != null) {
Map<String, String> pramas = {
'id': memberid,
'is_member':
memberIndex == 0 ? '1' : '0'
};
if (nameStr != null &&
nameStr.trim().length > 0) {
pramas['rname'] = nameStr;
pramas['sex'] =
'${sexList.indexOf(sexStr) + 1}';
}
if (_baseIndoProvider.phoneController.text
.replaceAll(' ', '')
.length >
0) {
pramas['phone'] = _baseIndoProvider
.phoneController.text
.replaceAll(' ', '');
}
await customerProvider.setGuestInfo(
context, pramas);
} else {
Map<String, String> pramas = {
'sellerid': Provider.of<UserModel>(
context,
listen: false)
.user
.sellerid,
'uid': Provider.of<UserModel>(context,
listen: false)
.user
.openid,
'phone': _baseIndoProvider
.phoneController.text
.replaceAll(' ', '')
};
if (memberIndex != null) {
pramas['is_member'] =
memberIndex == 0 ? '1' : '0';
}
if (nameStr != null &&
nameStr.trim().length > 0) {
pramas['rname'] = nameStr;
pramas['sex'] =
'${sexList.indexOf(sexStr) + 1}';
}
await customerProvider.setInsGuest(
context, pramas);
}
_setInsGuest();
}
}, selecteds: [memberIndex ?? 0])
.then((value) {});
... ...
... ... @@ -468,13 +468,15 @@ class _ContactListPageState extends State<ContactListPage> {
HEmptyView(20),
model.nickName == null
? SizedBox()
: Text(
:Expanded(child: Text(
'经理:${model.nickName}',
maxLines: 2,
overflow: TextOverflow.ellipsis,
style: TextStyle(
color: MyColours.color_515151,
fontSize: ScreenUtil().setSp(20),
),
)
))
],
),
),
... ...
... ... @@ -148,7 +148,12 @@ class Utils {
date = (days <= 0 ? 1 : days).toInt().toString() + ONE_DAY_AGO;
// }
} else {
date = datestr;
date = DateUtil.formatDate(_strtimes, format: DateFormats.y_mo_d);
// date = datestr;
// num delta = _strtimes.millisecondsSinceEpoch -
// DateTime.now().millisecondsSinceEpoch;
// num days = toDays(delta);
// date = (days <= 0 ? 1 : days).toInt().toString() + "天后";
}
// if (delta < 12 * 4 * ONE_WEEK) {
... ... @@ -1415,7 +1420,7 @@ class Utils {
//image_cropper插件,中心点裁剪固定比例的图片
String imgPath = await saveImage(data);
Uint8List afterImg = data;
if (imgPath != null) {
final croppedImage = await ImageCropper().cropImage(
sourcePath: imgPath,
... ... @@ -1503,7 +1508,7 @@ class Utils {
}
/// 大于3.99 压缩
static Future<bool> sizeNeed(File file) async{
static Future<bool> sizeNeed(File file) async {
Uint8List afterImg = await file.readAsBytes();
String res = "";
final int unit = 1024;
... ...