|
|
|
import 'package:flutter/material.dart';
|
|
|
|
import 'package:flutter/services.dart';
|
|
|
|
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
|
|
|
import 'package:one_key/provider/marketing_center_provider.dart';
|
|
|
|
import 'package:one_key/widgets/system_app_bar.dart';
|
|
|
|
import 'package:provider/provider.dart';
|
|
|
|
|
|
|
|
import '../../../provider/store_base_info_provider.dart';
|
|
|
|
import '../../../provider/user_model.dart';
|
|
|
|
import '../../../res/colors.dart';
|
|
|
|
import '../../../utils/MyNumberTextInputFormatter.dart';
|
|
|
|
import '../../../utils/screen_util.dart';
|
|
|
|
import '../../../utils/utils.dart';
|
|
|
|
import '../../../widgets/MyDivider.dart';
|
|
|
|
import '../../../widgets/h_empty_view.dart';
|
|
|
|
import '../../../widgets/round_button.dart';
|
|
|
|
import '../../../widgets/v_empty_view.dart';
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 订金设置
|
|
|
|
*/
|
|
|
|
class PaymentSettingPage extends StatefulWidget {
|
|
|
|
const PaymentSettingPage();
|
|
|
|
|
|
|
|
@override
|
|
|
|
State<PaymentSettingPage> createState() => _PaymentSettingPageState();
|
|
|
|
}
|
|
|
|
|
|
|
|
class _PaymentSettingPageState extends State<PaymentSettingPage> {
|
|
|
|
bool isPayment = false; //默认关闭
|
|
|
|
|
|
|
|
TextEditingController moneyControl = TextEditingController();
|
|
|
|
FocusNode moneyFocusNode = FocusNode();
|
|
|
|
|
|
|
|
MarketingCenterProvider marketingCenterProvider;
|
|
|
|
|
|
|
|
@override
|
|
|
|
void initState() {
|
|
|
|
super.initState();
|
|
|
|
|
|
|
|
WidgetsBinding.instance.addPostFrameCallback((_) async {
|
|
|
|
_getDzSellerConf();
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
_getDzSellerConf() async {
|
|
|
|
await marketingCenterProvider.getDzSellerConf(context);
|
|
|
|
if (marketingCenterProvider.dzSellerConfModel != null) {
|
|
|
|
isPayment =
|
|
|
|
marketingCenterProvider.dzSellerConfModel.isShowNoticeDeposit == '1'
|
|
|
|
? true
|
|
|
|
: false;
|
|
|
|
moneyControl.text =
|
|
|
|
marketingCenterProvider.dzSellerConfModel.depositPrice ?? '';
|
|
|
|
setState(() {});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
///保存接口
|
|
|
|
_setData() async {
|
|
|
|
Future.wait<bool>([
|
|
|
|
_setIsShowNoticeDeposit(),
|
|
|
|
|
|
|
|
_setDepositPrice(),
|
|
|
|
]).then((results) {
|
|
|
|
print(results[0]);
|
|
|
|
if (results[0] && results[1]) {
|
|
|
|
Utils.showToast('设置成功');
|
|
|
|
Navigator.pop(context);
|
|
|
|
}
|
|
|
|
}).catchError((e) {
|
|
|
|
Utils.showToast('设置失败,请重试');
|
|
|
|
print(e);
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
///获取店铺过期时间
|
|
|
|
_getSellerById() async {
|
|
|
|
StoreBaseIndoProvider storeBaseIndoProvider =
|
|
|
|
Provider.of<StoreBaseIndoProvider>(context, listen: false);
|
|
|
|
await storeBaseIndoProvider.getSellerById(context);
|
|
|
|
if (storeBaseIndoProvider.itemModel != null) {
|
|
|
|
String applymentSubMchid =
|
|
|
|
storeBaseIndoProvider.itemModel.data.applymentSubMchid;
|
|
|
|
if (applymentSubMchid != null && applymentSubMchid != '') {
|
|
|
|
//商家开通了微信支付
|
|
|
|
_setData();
|
|
|
|
} else {
|
|
|
|
//商家未开通微信支付
|
|
|
|
Utils.showToast('商家未开通微信支付功能!');
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
///使用店铺手机发送营销短信
|
|
|
|
Future<bool> _setIsShowNoticeDeposit({bool isShowLoading = true}) async {
|
|
|
|
Map<String, String> params = {
|
|
|
|
'sid': Provider.of<UserModel>(context, listen: false).user.sellerid,
|
|
|
|
'key': 'is_show_notice_deposit',
|
|
|
|
'value': isPayment ? '1' : '0'
|
|
|
|
};
|
|
|
|
|
|
|
|
bool success = await marketingCenterProvider.setConfing(context, params,
|
|
|
|
needToast: false);
|
|
|
|
|
|
|
|
if (success) {
|
|
|
|
return true;
|
|
|
|
} else {
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
///使用店铺手机发送通知短信
|
|
|
|
Future<bool> _setDepositPrice({bool isShowLoading = true}) async {
|
|
|
|
if(moneyControl.text.trim().length > 0){
|
|
|
|
Map<String, String> params = {
|
|
|
|
'sid': Provider.of<UserModel>(context, listen: false).user.sellerid,
|
|
|
|
'key': 'deposit_price',
|
|
|
|
'value': moneyControl.text
|
|
|
|
};
|
|
|
|
|
|
|
|
bool success = await marketingCenterProvider.setConfing(context, params,
|
|
|
|
needToast: false);
|
|
|
|
|
|
|
|
if (success) {
|
|
|
|
return true;
|
|
|
|
} else {
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
}else{
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
///输入框
|
|
|
|
Widget _textfieldSelect(
|
|
|
|
String title,
|
|
|
|
String hintText,
|
|
|
|
TextEditingController controller,
|
|
|
|
FocusNode focusNode, {
|
|
|
|
TextInputType textInputType = TextInputType.text,
|
|
|
|
String subtitle = '',
|
|
|
|
}) {
|
|
|
|
return Container(
|
|
|
|
padding: EdgeInsets.only(left: w(20), right: (w(20))),
|
|
|
|
child: Row(
|
|
|
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
|
|
|
children: [
|
|
|
|
Container(
|
|
|
|
child: Text(
|
|
|
|
title,
|
|
|
|
style: TextStyle(
|
|
|
|
color: MyColours.color_515151,
|
|
|
|
fontSize: ScreenUtil().setSp(32)),
|
|
|
|
),
|
|
|
|
),
|
|
|
|
HEmptyView(40),
|
|
|
|
Expanded(
|
|
|
|
child: TextField(
|
|
|
|
controller: controller,
|
|
|
|
textAlign: TextAlign.right,
|
|
|
|
textAlignVertical: TextAlignVertical.bottom,
|
|
|
|
maxLines: 1,
|
|
|
|
inputFormatters: title == '预订订金金额'
|
|
|
|
? [
|
|
|
|
FilteringTextInputFormatter(RegExp("[0-9.]"),
|
|
|
|
allow: true),
|
|
|
|
MyNumberTextInputFormatter(digit: 2),
|
|
|
|
]
|
|
|
|
: [],
|
|
|
|
// //光标颜色
|
|
|
|
// cursorColor:
|
|
|
|
// widget.isSelect ? Colors.white : MyColours.color_199095,
|
|
|
|
//输入文本的样式
|
|
|
|
style: TextStyle(
|
|
|
|
color: MyColours.color_515151,
|
|
|
|
fontSize: ScreenUtil().setSp(32),
|
|
|
|
),
|
|
|
|
focusNode: focusNode,
|
|
|
|
decoration: InputDecoration(
|
|
|
|
isCollapsed: true,
|
|
|
|
border: OutlineInputBorder(borderSide: BorderSide.none),
|
|
|
|
hintText: hintText,
|
|
|
|
hintStyle: TextStyle(
|
|
|
|
color: MyColours.color_999999,
|
|
|
|
fontSize: ScreenUtil().setSp(32),
|
|
|
|
),
|
|
|
|
enabledBorder: new UnderlineInputBorder(
|
|
|
|
borderSide: BorderSide.none,
|
|
|
|
),
|
|
|
|
focusedBorder: new UnderlineInputBorder(
|
|
|
|
borderSide: BorderSide.none,
|
|
|
|
),
|
|
|
|
),
|
|
|
|
onChanged: (value) {},
|
|
|
|
onEditingComplete: () {
|
|
|
|
FocusScope.of(context).requestFocus(FocusNode()); //点击空白处隐藏键盘
|
|
|
|
},
|
|
|
|
keyboardType: textInputType),
|
|
|
|
),
|
|
|
|
if (subtitle != '') HEmptyView(6),
|
|
|
|
Text(
|
|
|
|
subtitle,
|
|
|
|
style: TextStyle(
|
|
|
|
color: MyColours.color_515151,
|
|
|
|
fontSize: ScreenUtil().setSp(32)),
|
|
|
|
),
|
|
|
|
],
|
|
|
|
),
|
|
|
|
);
|
|
|
|
}
|
|
|
|
|
|
|
|
@override
|
|
|
|
Widget build(BuildContext context) {
|
|
|
|
marketingCenterProvider =
|
|
|
|
Provider.of<MarketingCenterProvider>(context, listen: false);
|
|
|
|
return Scaffold(
|
|
|
|
backgroundColor: MyColours.color_ffffff,
|
|
|
|
appBar: SystemAppBar('预订订金'),
|
|
|
|
body: Column(
|
|
|
|
children: [
|
|
|
|
Expanded(
|
|
|
|
child: SingleChildScrollView(
|
|
|
|
child: Column(
|
|
|
|
children: [
|
|
|
|
InkWell(
|
|
|
|
onTap: () {
|
|
|
|
setState(() {
|
|
|
|
isPayment = !isPayment;
|
|
|
|
});
|
|
|
|
},
|
|
|
|
child: Padding(
|
|
|
|
padding: EdgeInsets.only(
|
|
|
|
left: w(16),
|
|
|
|
top: w(12),
|
|
|
|
bottom: w(11),
|
|
|
|
right: w(12)),
|
|
|
|
child: Row(
|
|
|
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
|
|
|
children: [
|
|
|
|
Text(
|
|
|
|
'在客户预订通知中,增加支付订金功能',
|
|
|
|
style: TextStyle(
|
|
|
|
color: MyColours.color_515151,
|
|
|
|
fontSize: font(16)),
|
|
|
|
),
|
|
|
|
Spacer(),
|
|
|
|
Container(
|
|
|
|
padding: EdgeInsets.symmetric(
|
|
|
|
horizontal: w(7), vertical: w(4)),
|
|
|
|
child: Image.asset(
|
|
|
|
Utils.getImgPath(
|
|
|
|
isPayment ? 'swich_on' : 'swich_off'),
|
|
|
|
width: w(44),
|
|
|
|
),
|
|
|
|
)
|
|
|
|
// RoundButton(
|
|
|
|
// text: '预览',
|
|
|
|
// gradientStart: MyColours.color_ffffff,
|
|
|
|
// gradientEnd: MyColours.color_ffffff,
|
|
|
|
// borderColor: MyColours.color_438E93,
|
|
|
|
// textColor: MyColours.color_438E93,
|
|
|
|
// radius: ScreenUtil().setWidth(22),
|
|
|
|
// fontSize: 24,
|
|
|
|
// width: w(72),
|
|
|
|
// height: ScreenUtil().setWidth(44),
|
|
|
|
// isBold: true,
|
|
|
|
// onPressed: () {
|
|
|
|
// NavigatorUtil.goMarkingPreviewPage(context);
|
|
|
|
// },
|
|
|
|
// ),
|
|
|
|
]))),
|
|
|
|
// VEmptyView(24),
|
|
|
|
Padding(
|
|
|
|
padding: EdgeInsets.only(left: w(16)),
|
|
|
|
child: MyDivider(double.infinity, w(0.5),
|
|
|
|
color: MyColours.color_E7E7E7)),
|
|
|
|
VEmptyView(48),
|
|
|
|
_textfieldSelect(
|
|
|
|
'预订订金金额', '点击输入订金金额', moneyControl, moneyFocusNode,
|
|
|
|
subtitle: '',
|
|
|
|
textInputType: TextInputType.numberWithOptions()),
|
|
|
|
VEmptyView(22),
|
|
|
|
Padding(
|
|
|
|
padding: EdgeInsets.only(left: w(16)),
|
|
|
|
child: MyDivider(double.infinity, w(0.5),
|
|
|
|
color: MyColours.color_E7E7E7)),
|
|
|
|
],
|
|
|
|
),
|
|
|
|
)),
|
|
|
|
Container(
|
|
|
|
color: MyColours.color_ffffff,
|
|
|
|
padding: EdgeInsets.only(
|
|
|
|
left: w(45), right: w(45), top: w(12), bottom: w(25)),
|
|
|
|
child: RoundButton(
|
|
|
|
text: '保存',
|
|
|
|
gradientStart: MyColours.color_199095,
|
|
|
|
gradientEnd: MyColours.color_199095,
|
|
|
|
// borderColor: MyColours.color_999999,
|
|
|
|
radius: r(5),
|
|
|
|
fontSize: 34,
|
|
|
|
height: w(40),
|
|
|
|
isBold: true,
|
|
|
|
onPressed: () async {
|
|
|
|
FocusScope.of(context)
|
|
|
|
.requestFocus(FocusNode()); //隐藏键盘
|
|
|
|
|
|
|
|
_getSellerById();
|
|
|
|
},
|
|
|
|
),
|
|
|
|
)
|
|
|
|
],
|
|
|
|
));
|
|
|
|
}
|
|
|
|
} |
...
|
...
|
|