Commit 32edc052220040b26c61f8e41ce7570295464d05

Authored by wdn127929
1 parent 1479f833

企业资料UI部分OK

... ... @@ -6,6 +6,7 @@ import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:one_key/widgets/system_app_bar.dart';
import 'package:provider/provider.dart';
import '../../../models/get_reserve_type_field_model.dart';
import '../../../models/upload_img_model.dart';
import '../../../provider/finance_provider.dart';
import '../../../provider/upload_img_provider.dart';
... ... @@ -41,11 +42,50 @@ class _EnterpriseInformationUploadPageState
late FinanceProvider financeProvider;
final GlobalKey<ScaffoldState> scaffoldKey = GlobalKey<ScaffoldState>();
bool accountType = true; //企业 true,个体 false
TextEditingController registrNoC = TextEditingController();
FocusNode registrNoFoc = FocusNode();
TextEditingController registrNameC = TextEditingController();
FocusNode registrNameFoc = FocusNode();
TextEditingController legalNameC = TextEditingController();
FocusNode legalNameFoc = FocusNode();
TextEditingController registrAddressC = TextEditingController();
FocusNode registrAddressFoc = FocusNode();
TextEditingController idNumC = TextEditingController();
FocusNode idNumFoc = FocusNode();
TextEditingController idAddressC = TextEditingController();
FocusNode idAddressFoc = FocusNode();
TextEditingController legalPhoneC = TextEditingController();
FocusNode legalPhoneFoc = FocusNode();
TextEditingController emailC = TextEditingController();
FocusNode emailFoc = FocusNode();
TextEditingController bankAllNameC = TextEditingController();
FocusNode bankAllNameFoc = FocusNode();
TextEditingController bankNumC = TextEditingController();
FocusNode bankNumFoc = FocusNode();
TextEditingController merchantNameC = TextEditingController();
FocusNode merchantNameFoc = FocusNode();
TextEditingController servicePhoneC = TextEditingController();
FocusNode servicePhoneFoc = FocusNode();
List<GetReserveTypeFieldsSunModel> bankData = [];
String bankType='点击选择开户银行';
@override
void initState() {
super.initState();
_initBankData();
WidgetsBinding.instance.addPostFrameCallback((_) {
_getQiniuInfo();
});
... ... @@ -65,6 +105,28 @@ class _EnterpriseInformationUploadPageState
await _uploadImageProvider.getQiniuInfo(context, {});
}
_initBankData() {
List<String> names = [
'中国银行',
'农业银行',
'工商银行',
'建设银行',
'招商银行',
'邮政储蓄银行',
'民生银行',
'交通银行',
'兴业银行',
'平安银行',
'中信银行',
'光大银行',
'华夏银行',
'其他银行'
];
bankData = names.map((e) {
return GetReserveTypeFieldsSunModel(name: e, select: false);
}).toList();
}
Widget _title(String title) {
return Padding(
padding: EdgeInsets.only(left: w(16), top: w(10), bottom: w(10)),
... ... @@ -260,45 +322,64 @@ class _EnterpriseInformationUploadPageState
color: MyColours.color_515151, fontSize: font(14)),
),
Spacer(),
Container(
// width: w(100),
// height: w(30),
padding: EdgeInsets.symmetric(
horizontal: w(10), vertical: w(5)),
decoration: BoxDecoration(
color: MyColours.color_438E93,
borderRadius: BorderRadius.only(
topLeft: Radius.circular(r(5)),
bottomLeft: Radius.circular(r(5)))),
child: Text(
'企业',
style: TextStyle(
color: MyColours.color_ffffff,
fontSize: font(14)),
),
),
Container(
padding: EdgeInsets.symmetric(
horizontal: w(10), vertical: w(5)),
decoration: BoxDecoration(
color: MyColours.color_DBDBDB,
borderRadius: BorderRadius.only(
topRight: Radius.circular(r(5)),
bottomRight: Radius.circular(r(5)))),
child: Text(
'个体',
style: TextStyle(
color: MyColours.color_438E93,
fontSize: font(14)),
),
)
InkWell(
onTap: () {
setState(() {
accountType = !accountType;
});
},
child: Container(
// width: w(100),
// height: w(30),
padding: EdgeInsets.symmetric(
horizontal: w(10), vertical: w(5)),
decoration: BoxDecoration(
color: accountType
? MyColours.color_438E93
: MyColours.color_DBDBDB,
borderRadius: BorderRadius.only(
topLeft: Radius.circular(r(5)),
bottomLeft: Radius.circular(r(5)))),
child: Text(
'企业',
style: TextStyle(
color: accountType
? MyColours.color_ffffff
: MyColours.color_438E93,
fontSize: font(14)),
),
)),
InkWell(
onTap: () {
setState(() {
accountType = !accountType;
});
},
child: Container(
padding: EdgeInsets.symmetric(
horizontal: w(10), vertical: w(5)),
decoration: BoxDecoration(
color: !accountType
? MyColours.color_438E93
: MyColours.color_DBDBDB,
borderRadius: BorderRadius.only(
topRight: Radius.circular(r(5)),
bottomRight: Radius.circular(r(5)))),
child: Text(
'个体',
style: TextStyle(
color: !accountType
? MyColours.color_ffffff
: MyColours.color_438E93,
fontSize: font(14)),
),
))
],
),
),
_inputWidget('注册号', registrNoC, registrNoFoc, '点击输入营业执照注册号'),
_inputWidget(
'注册号', TextEditingController(), FocusNode(), '点击输入营业执照注册号'),
_inputWidget('注册名称', TextEditingController(), FocusNode(),
'点击输入营业执照上的企业名称'),
'注册名称', registrNameC, registrNameFoc, '点击输入营业执照上的企业名称'),
_select('营业执照开始于', stime, () {
FocusScope.of(context).requestFocus(FocusNode()); //点击空白处隐藏键盘
//弹出时间选择器
... ... @@ -320,6 +401,8 @@ class _EnterpriseInformationUploadPageState
dateTime: stime == '点击选择营业执照开始日期'
? null
: DateUtil.getDateTime(stime),
minValue: DateTime(1987),
yearBegin: 1987,
pickerDateTimeType: PickerDateTimeType.kYMD,
onCancel: () {
// showDateSelWidget = false;
... ... @@ -351,16 +434,18 @@ class _EnterpriseInformationUploadPageState
dateTime: etime == '点击选择营业执照结束日期'
? null
: DateUtil.getDateTime(etime),
minValue: DateTime(1987),
yearBegin: 1987,
pickerDateTimeType: PickerDateTimeType.kYMD,
onCancel: () {
// showDateSelWidget = false;
});
},
),
_inputWidget('经营者/法人姓名', TextEditingController(), FocusNode(),
'点击输入经营者/法人姓名'),
_inputWidget(
'注册地址', TextEditingController(), FocusNode(), '点击输入注册地址'),
'经营者/法人姓名', legalNameC, legalNameFoc, '点击输入经营者/法人姓名'),
_inputWidget(
'注册地址', registrAddressC, registrAddressFoc, '点击输入注册地址'),
Consumer<UploadImageProvider>(builder: (context, model, _) {
return Padding(
padding: EdgeInsets.only(
... ... @@ -404,14 +489,11 @@ class _EnterpriseInformationUploadPageState
VEmptyView(24),
_title('经营者/法人信息'),
VEmptyView(20),
_inputWidget('法人身份证号码', TextEditingController(), FocusNode(),
'点击输入法人身份证号码'),
_inputWidget('法人身份证住址', TextEditingController(), FocusNode(),
'点击输入法人身份证住址'),
_inputWidget('法人身份证号码', idNumC, idNumFoc, '点击输入法人身份证号码'),
_inputWidget(
'电话', TextEditingController(), FocusNode(), '点击输入法人电话号码'),
_inputWidget('邮箱', TextEditingController(), FocusNode(),
'点击输入用来收取支付信息的邮箱'),
'法人身份证住址', idAddressC, idAddressFoc, '点击输入法人身份证住址'),
_inputWidget('电话', legalPhoneC, legalPhoneFoc, '点击输入法人电话号码'),
_inputWidget('邮箱', emailC, emailFoc, '点击输入用来收取支付信息的邮箱'),
Row(children: [
Padding(
padding: EdgeInsets.only(
... ... @@ -440,18 +522,26 @@ class _EnterpriseInformationUploadPageState
]),
_title('收款信息'),
VEmptyView(20),
_select('开户银行', '点击选择开户银行', () {
FocusScope.of(context).requestFocus(FocusNode()); //点击空白处隐藏键盘
_select('开户银行', bankType, () {
//弹出开户银行
FocusScope.of(context).requestFocus(FocusNode()); //隐藏键盘
// 存储
DialogUtil.openBankTypeSelectModalBottomSheet(
context, bankData, bankType, rCallback: (value) async {
if (value != null) {
bankType = value;
setState(() {});
}
});
}),
_inputWidget('开户银行网点', TextEditingController(), FocusNode(),
'点击输入开户银行网点全称'),
_inputWidget(
'银行账户', TextEditingController(), FocusNode(), '点击录入银行账户号'),
_inputWidget('收款商户简称', TextEditingController(), FocusNode(),
'开户银行网点', bankAllNameC, bankAllNameFoc, '点击输入开户银行网点全称'),
_inputWidget('银行账户', bankNumC, bankNumFoc, '点击录入银行账户号'),
_inputWidget('收款商户简称', merchantNameC, merchantNameFoc,
'点击输入商户简称,用户支付时可见'),
_inputWidget(
'服务电话', TextEditingController(), FocusNode(), '点击输入服务电话'),
'服务电话', servicePhoneC, servicePhoneFoc, '点击输入服务电话'),
VEmptyView(44),
Padding(
padding: EdgeInsets.only(left: w(16)),
... ...
... ... @@ -67,9 +67,9 @@ class _FinanceManageHomePageState extends State<FinanceManageHomePage> {
body: SingleChildScrollView(
child: Column(
children: [
// _item('收银资料上传', () {
// NavigatorUtil.goEnterpriseInformationUploadPage(context);
// }),
_item('收银资料上传', () {
NavigatorUtil.goEnterpriseInformationUploadPage(context);
}),
// _item('微信商户账户开通结果查询', () {}),
_item('支付返券', () {
NavigatorUtil.goPaymentGiftPage(context);
... ...
... ... @@ -811,6 +811,102 @@ class DialogUtil {
});
}
///银行选择
static openBankTypeSelectModalBottomSheet(
context, List<GetReserveTypeFieldsSunModel> bankTypes, String? bankType,
{VoidCallback? lCallback, ClickCallback? rCallback}) async {
String? selectType = bankType;
if (selectType != '点击选择开户银行') {
bankTypes.forEach((element) {
element.select = false;
if (element.name == selectType) {
element.select = true;
}
});
}
final option = await showModalBottomSheet(
context: context,
backgroundColor: Colors.transparent,
isDismissible: false,
isScrollControlled: true,
builder: (BuildContext context) {
return StatefulBuilder(builder: (context, state) {
return Container(
decoration: BoxDecoration(
color: MyColours.color_ffffff,
borderRadius: BorderRadius.only(
topLeft: Radius.circular(ScreenUtil().setWidth(10)),
topRight: Radius.circular(ScreenUtil().setWidth(10)))),
child:
Column(mainAxisSize: MainAxisSize.min, children: <Widget>[
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
GestureDetector(
behavior: HitTestBehavior.opaque,
onTap: () {
Navigator.of(context).pop();
},
child: Container(
// width: double.infinity,
alignment: Alignment.center,
padding: EdgeInsets.symmetric(
horizontal: w(15),
vertical: ScreenUtil().setWidth(40)),
child: Text(
"取消",
style: TextStyle(
fontSize: ScreenUtil().setSp(32),
color: MyColours.color_438E93),
),
)),
Container(
// width: double.infinity,
alignment: Alignment.center,
padding: EdgeInsets.symmetric(
vertical: ScreenUtil().setWidth(40)),
child: Text(
"选择开户银行",
style: TextStyle(
fontWeight: FontWeight.bold,
fontSize: ScreenUtil().setSp(32),
color: MyColours.color_E6000000),
),
),
GestureDetector(
behavior: HitTestBehavior.opaque,
onTap: () {
Navigator.of(context).pop();
rCallback!(selectType);
},
child: Container(
// width: double.infinity,
alignment: Alignment.center,
padding: EdgeInsets.symmetric(
horizontal: w(15),
vertical: ScreenUtil().setWidth(40)),
child: Text("确定",
style: TextStyle(
fontSize: ScreenUtil().setSp(32),
color: MyColours.color_438E93)),
)),
]),
VEmptyView(50),
Wrap(
spacing: w(12),
runSpacing: w(12),
children: dishSelectBtn(bankTypes, state, (value) {
selectType = value;
})),
VEmptyView(50),
]));
});
});
bankTypes.forEach((element) {
element.select = false;
});
}
///用餐类型
static openDishTypeSelectModalBottomSheet(context,
List<GetReserveTypeFieldsSunModel> reserveTypes, String? reserveType,
... ... @@ -9709,7 +9805,7 @@ class DialogUtil {
minHour: 00,
maxHour: 23,
yearBegin: yearBegin,
yearEnd: 2030,
yearEnd: 2100,
minValue: minValue,
value: dateTime),
title: new Text(""),
... ...