parent
6cad032aa9
commit
03475e036a
@ -1,78 +0,0 @@
|
||||
//TODO CLEAN BOTTOM CODES.
|
||||
@Deprecated("sh*t assets_image need to be cleaned.")
|
||||
class AssetsImage {
|
||||
static const LOCATION = 'assets/icons/location.png';
|
||||
|
||||
static const HOUSE = 'assets/icons/house.png';
|
||||
|
||||
static const PHONE = 'assets/icons/phone.png';
|
||||
|
||||
static const IMAGEADD = 'assets/icons/img_add.png';
|
||||
|
||||
static const PROPERTY = 'assets/icons/property.png';
|
||||
|
||||
static const SYSTEMNOTICE = 'assets/icons/system_notice.png';
|
||||
|
||||
static const COMMENTNOTICE = 'assets/icons/comment_notice.png';
|
||||
|
||||
static const SHOPNOTICE = 'assets/icons/shop_notice.png';
|
||||
|
||||
static const MINEBG = 'assets/images/mine_bg.png';
|
||||
|
||||
static const MEMBERBG = 'assets/images/member_bg.png';
|
||||
|
||||
static const HOUSEHEADER = 'assets/images/house_header.png';
|
||||
|
||||
static const HOUSEATTESTATION = 'assets/images/house_attestation.png';
|
||||
|
||||
static const CARHEADER = 'assets/images/car_header.png';
|
||||
|
||||
static const LOGO = 'assets/images/logo.png';
|
||||
|
||||
static const PHONELOGO = 'assets/images/phone_logo.png';
|
||||
|
||||
static const CODELOGO = 'assets/images/code_logo.png';
|
||||
|
||||
static const LICENSE = 'assets/images/license.png';
|
||||
|
||||
static const LICENSEBACK = 'assets/images/license_back.png';
|
||||
|
||||
static const DRAWINGS = 'assets/images/drawings.png';
|
||||
|
||||
static const APPLICATION = 'assets/images/application.png';
|
||||
|
||||
static const COMMITMENT = 'assets/images/commitment.png';
|
||||
|
||||
static const WXPAY = 'assets/images/wxpay.png';
|
||||
|
||||
static const APPADD = 'assets/icons/app_add.png';
|
||||
|
||||
static const APPREDUCE = 'assets/icons/app_reduce.png';
|
||||
|
||||
static const COMPLAINT = 'assets/icons/complaint.png';
|
||||
|
||||
static const CONSULT = 'assets/icons/consult.png';
|
||||
|
||||
static const LIKE = 'assets/icons/like.png';
|
||||
|
||||
static const PROPOSAL = 'assets/icons/proposal.png';
|
||||
|
||||
static const List<Map<String, dynamic>> shopGridList = [
|
||||
{'title': '居家生活', 'imagePath': 'assets/icons/tool_jjsh.png'},
|
||||
{'title': '数码家电', 'imagePath': 'assets/icons/tool_smjd.png'},
|
||||
{'title': '休闲副食', 'imagePath': 'assets/icons/tool_xxfs.png'},
|
||||
{'title': '滋补保健', 'imagePath': 'assets/icons/tool_zbbj.png'},
|
||||
{'title': '彩妆香水', 'imagePath': 'assets/icons/tool_czxs.png'},
|
||||
{'title': '服饰箱包', 'imagePath': 'assets/icons/tool_fsxb.png'},
|
||||
{'title': '母婴玩具', 'imagePath': 'assets/icons/tool_mywj.png'},
|
||||
{'title': '饮料酒水', 'imagePath': 'assets/icons/tool_yljs.png'},
|
||||
];
|
||||
|
||||
static const List<Map<String, dynamic>> orderGridList = [
|
||||
{'title': '待付款', 'imagePath': 'assets/icons/user_icon_dfk.png'},
|
||||
{'title': '待发货', 'imagePath': 'assets/icons/user_icon_dfh.png'},
|
||||
{'title': '待收货', 'imagePath': 'assets/icons/user_icon_dsh.png'},
|
||||
{'title': '待评价', 'imagePath': 'assets/icons/user_icon_dpj.png'},
|
||||
{'title': '售后', 'imagePath': 'assets/icons/user_icon_sh.png'},
|
||||
];
|
||||
}
|
@ -1,193 +0,0 @@
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
import 'package:akuCommunity/base/assets_image.dart';
|
||||
import 'package:akuCommunity/utils/headers.dart';
|
||||
import 'package:akuCommunity/widget/bee_scaffold.dart';
|
||||
import 'package:akuCommunity/widget/common_input.dart';
|
||||
|
||||
class CertificationPage extends StatefulWidget {
|
||||
CertificationPage({Key key}) : super(key: key);
|
||||
|
||||
@override
|
||||
_CertificationPageState createState() => _CertificationPageState();
|
||||
}
|
||||
|
||||
class _CertificationPageState extends State<CertificationPage> {
|
||||
TextEditingController _userName = new TextEditingController();
|
||||
TextEditingController _userIDCard = new TextEditingController();
|
||||
|
||||
List<Map<String, dynamic>> _uploadImageList = [
|
||||
{
|
||||
'imagePath': AssetsImage.LICENSE,
|
||||
'title': '上传身份证正面照',
|
||||
},
|
||||
{
|
||||
'imagePath': AssetsImage.LICENSEBACK,
|
||||
'title': '上传身份证背面照',
|
||||
},
|
||||
];
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
}
|
||||
|
||||
Widget _idCardType() {
|
||||
return Container(
|
||||
padding: EdgeInsets.only(
|
||||
top: 23.w,
|
||||
bottom: 24.w,
|
||||
),
|
||||
margin: EdgeInsets.only(bottom: 60.w),
|
||||
decoration: BoxDecoration(
|
||||
border:
|
||||
Border(bottom: BorderSide(color: Color(0xffeeeeee), width: 0.5)),
|
||||
),
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
Text(
|
||||
'证件类型',
|
||||
style: TextStyle(fontSize: 28.sp, color: Color(0xff333333)),
|
||||
),
|
||||
SizedBox(height: 25.w),
|
||||
Container(
|
||||
width: 686.w,
|
||||
child: Text(
|
||||
'身份证',
|
||||
style: TextStyle(
|
||||
fontSize: 36.sp,
|
||||
color: Color(0xff333333),
|
||||
fontWeight: FontWeight.w600,
|
||||
),
|
||||
),
|
||||
)
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
Widget _upLoadImage() {
|
||||
return Container(
|
||||
padding: EdgeInsets.only(
|
||||
top: 23.w,
|
||||
bottom: 24.w,
|
||||
),
|
||||
margin: EdgeInsets.only(bottom: 60.w),
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
Text(
|
||||
'上传证件照片',
|
||||
style: TextStyle(fontSize: 28.sp, color: Color(0xff333333)),
|
||||
),
|
||||
SizedBox(height: 25.w),
|
||||
// Row(
|
||||
// mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||
// children: List.generate(
|
||||
// _uploadImageList.length,
|
||||
// (index) => SingleImageUp(
|
||||
// title: _uploadImageList[index]['title'],
|
||||
// imagePath: _uploadImageList[index]['imagePath'],
|
||||
// ),
|
||||
// ),
|
||||
// ),
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
Widget _input(String title, hintText, TextEditingController controller) {
|
||||
return Container(
|
||||
padding: EdgeInsets.only(
|
||||
top: 23.w,
|
||||
bottom: 24.w,
|
||||
),
|
||||
margin: EdgeInsets.only(bottom: 60.w),
|
||||
decoration: BoxDecoration(
|
||||
border:
|
||||
Border(bottom: BorderSide(color: Color(0xffeeeeee), width: 0.5)),
|
||||
),
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
Text(
|
||||
title,
|
||||
style: TextStyle(fontSize: 28.sp, color: Color(0xff333333)),
|
||||
),
|
||||
SizedBox(height: 25.w),
|
||||
CommonInput(inputController: controller, hintText: hintText)
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
InkWell _submit() {
|
||||
return InkWell(
|
||||
child: Container(
|
||||
alignment: Alignment.center,
|
||||
height: 96.w,
|
||||
width: 686.w,
|
||||
padding: EdgeInsets.symmetric(
|
||||
vertical: 26.w,
|
||||
),
|
||||
decoration: BoxDecoration(
|
||||
color: Color(0xffffc40c),
|
||||
borderRadius: BorderRadius.all(Radius.circular(48))),
|
||||
child: Text(
|
||||
'确认提交',
|
||||
style: TextStyle(
|
||||
fontWeight: FontWeight.w600,
|
||||
fontSize: 32.sp,
|
||||
color: Color(0xff333333)),
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return BeeScaffold(
|
||||
title: '实名认证',
|
||||
body: Container(
|
||||
padding: EdgeInsets.only(
|
||||
top: 32.w,
|
||||
left: 32.w,
|
||||
right: 32.w,
|
||||
),
|
||||
color: Colors.white,
|
||||
child: ListView(
|
||||
children: [
|
||||
SingleChildScrollView(
|
||||
child: Container(
|
||||
child: GestureDetector(
|
||||
behavior: HitTestBehavior.opaque,
|
||||
onTap: () {
|
||||
FocusScope.of(context).requestFocus(FocusNode());
|
||||
},
|
||||
child: Container(
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.center,
|
||||
children: [
|
||||
Column(
|
||||
children: [
|
||||
_idCardType(),
|
||||
_upLoadImage(),
|
||||
_input('证件号', '请输入证件号', _userName),
|
||||
_input('姓名', '姓名需与证件上相同', _userIDCard),
|
||||
],
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
_submit(),
|
||||
],
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
@ -1,89 +0,0 @@
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
import 'package:akuCommunity/base/base_style.dart';
|
||||
import 'package:akuCommunity/utils/headers.dart';
|
||||
import 'package:akuCommunity/widget/bee_scaffold.dart';
|
||||
import 'package:akuCommunity/widget/sliver_app_bar_delegate.dart';
|
||||
import 'widget/director_manage.dart';
|
||||
import 'widget/owner_manage.dart';
|
||||
|
||||
class FitupManagePage extends StatefulWidget {
|
||||
FitupManagePage({Key key}) : super(key: key);
|
||||
|
||||
@override
|
||||
_FitupManagePageState createState() => _FitupManagePageState();
|
||||
}
|
||||
|
||||
class _FitupManagePageState extends State<FitupManagePage>
|
||||
with TickerProviderStateMixin {
|
||||
TabController _controller;
|
||||
|
||||
//导航标签
|
||||
List<Map<String, dynamic>> treeList = [
|
||||
{'name': '业主'},
|
||||
{'name': '装修负责人'},
|
||||
];
|
||||
@override
|
||||
void initState() {
|
||||
_controller = TabController(length: 2, vsync: this);
|
||||
super.initState();
|
||||
}
|
||||
|
||||
@override
|
||||
void dispose() {
|
||||
_controller.dispose();
|
||||
super.dispose();
|
||||
}
|
||||
|
||||
List<Widget> _silverBuilder(BuildContext context, bool innerBoxIsScrolled) {
|
||||
return <Widget>[
|
||||
SliverPersistentHeader(
|
||||
pinned: true,
|
||||
delegate: SliverAppBarDelegate(
|
||||
minHeight: 56,
|
||||
maxHeight: 56,
|
||||
child: Container(
|
||||
color: Colors.white,
|
||||
child: TabBar(
|
||||
unselectedLabelStyle: TextStyle(
|
||||
fontSize: BaseStyle.fontSize28,
|
||||
),
|
||||
labelStyle: TextStyle(
|
||||
fontWeight: FontWeight.w600,
|
||||
fontSize: BaseStyle.fontSize28,
|
||||
),
|
||||
labelPadding: EdgeInsets.symmetric(horizontal: (131.5).w),
|
||||
indicatorColor: Color(0xffffc40c),
|
||||
indicatorSize: TabBarIndicatorSize.label,
|
||||
indicatorPadding: EdgeInsets.symmetric(horizontal: 21.w),
|
||||
isScrollable: true,
|
||||
controller: _controller,
|
||||
tabs: List.generate(
|
||||
treeList.length,
|
||||
(index) => Tab(text: treeList[index]['name']),
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
];
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return BeeScaffold(
|
||||
title: '装修管理',
|
||||
body: NestedScrollView(
|
||||
headerSliverBuilder: _silverBuilder,
|
||||
body: TabBarView(
|
||||
controller: _controller,
|
||||
children: List.generate(
|
||||
treeList.length,
|
||||
(index) => index == 0 ? OwnerManage() : DirectorManage(),
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
@ -1,117 +0,0 @@
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
import 'package:akuCommunity/base/assets_image.dart';
|
||||
import 'package:akuCommunity/base/base_style.dart';
|
||||
import 'package:akuCommunity/utils/headers.dart';
|
||||
import 'package:akuCommunity/widget/common_input.dart';
|
||||
|
||||
// import 'package:akuCommunity/widget/single_image_up.dart';
|
||||
|
||||
class DecoratorInfo extends StatefulWidget {
|
||||
DecoratorInfo({Key key}) : super(key: key);
|
||||
|
||||
@override
|
||||
_DecoratorInfoState createState() => _DecoratorInfoState();
|
||||
}
|
||||
|
||||
class _DecoratorInfoState extends State<DecoratorInfo> {
|
||||
TextEditingController _userName = new TextEditingController();
|
||||
TextEditingController _userIDCard = new TextEditingController();
|
||||
TextEditingController _userPhone = new TextEditingController();
|
||||
TextEditingController _userAddress = new TextEditingController();
|
||||
|
||||
List<Map<String, dynamic>> _uploadImageList = [
|
||||
{
|
||||
'imagePath': AssetsImage.LICENSE,
|
||||
'title': '上传身份证正面照',
|
||||
},
|
||||
{
|
||||
'imagePath': AssetsImage.LICENSEBACK,
|
||||
'title': '上传身份证背面照',
|
||||
},
|
||||
];
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
}
|
||||
|
||||
Widget _cardList(String title, Widget widget) {
|
||||
return Container(
|
||||
padding: EdgeInsets.only(
|
||||
top: 23.w,
|
||||
bottom: 24.w,
|
||||
),
|
||||
decoration: BoxDecoration(
|
||||
border: Border(
|
||||
bottom: BorderSide(color: BaseStyle.coloreeeeee, width: 0.5)),
|
||||
),
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
Text(
|
||||
title,
|
||||
style: TextStyle(fontSize: 28.sp, color: Color(0xff333333)),
|
||||
),
|
||||
SizedBox(height: 25.w),
|
||||
widget
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
Widget _upLoadImage() {
|
||||
return Container(
|
||||
padding: EdgeInsets.only(
|
||||
top: 23.w,
|
||||
bottom: 24.w,
|
||||
),
|
||||
decoration: BoxDecoration(
|
||||
border: Border(
|
||||
bottom: BorderSide(color: BaseStyle.coloreeeeee, width: 0.5)),
|
||||
),
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
Text(
|
||||
'上传证件照片',
|
||||
style: TextStyle(fontSize: 28.sp, color: Color(0xff333333)),
|
||||
),
|
||||
SizedBox(height: 25.w),
|
||||
// Row(
|
||||
// mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||
// children: List.generate(
|
||||
// _uploadImageList.length,
|
||||
// (index) => SingleImageUp(
|
||||
// title: _uploadImageList[index]['title'],
|
||||
// imagePath: _uploadImageList[index]['imagePath'],
|
||||
// ),
|
||||
// ),
|
||||
// ),
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Container(
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
_cardList(
|
||||
'姓名', CommonInput(inputController: _userName, hintText: '请输入姓名')),
|
||||
// _cardList('证件类型', CommonSelect(title: '证件类型')),
|
||||
_cardList('证件号',
|
||||
CommonInput(inputController: _userIDCard, hintText: '请输入证件号')),
|
||||
_cardList('联系方式',
|
||||
CommonInput(inputController: _userPhone, hintText: '请输入电话号码')),
|
||||
_cardList('联系地址',
|
||||
CommonInput(inputController: _userAddress, hintText: '请输入公司地址')),
|
||||
_upLoadImage(),
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
@ -1,265 +0,0 @@
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
import 'package:akuCommunity/base/assets_image.dart';
|
||||
import 'package:akuCommunity/base/base_style.dart';
|
||||
import 'package:akuCommunity/utils/headers.dart';
|
||||
import 'package:akuCommunity/widget/common_input.dart';
|
||||
import 'decorator_info.dart';
|
||||
import 'house_info.dart';
|
||||
|
||||
// import 'package:akuCommunity/widget/single_image_up.dart';
|
||||
|
||||
class DirectorManage extends StatefulWidget {
|
||||
DirectorManage({Key key}) : super(key: key);
|
||||
|
||||
@override
|
||||
_DirectorManageState createState() => _DirectorManageState();
|
||||
}
|
||||
|
||||
class _DirectorManageState extends State<DirectorManage> {
|
||||
TextEditingController _companyName = new TextEditingController();
|
||||
|
||||
int memberNum = 1;
|
||||
|
||||
List<Map<String, dynamic>> _uploadImageList = [
|
||||
{
|
||||
'imagePath': AssetsImage.LICENSE,
|
||||
'title': '上传营业执照',
|
||||
},
|
||||
{
|
||||
'imagePath': AssetsImage.LICENSEBACK,
|
||||
'title': '上传资质证书',
|
||||
},
|
||||
{'imagePath': AssetsImage.DRAWINGS, 'title': '上传装修图纸'},
|
||||
{'imagePath': AssetsImage.APPLICATION, 'title': '上传装修申请表'},
|
||||
{'imagePath': AssetsImage.COMMITMENT, 'title': '上传装修承诺书'}
|
||||
];
|
||||
|
||||
List<Map<String, dynamic>> _listHouse = [
|
||||
{'title': '宁波华茂悦峰', 'subtitle': '1幢-1单元-702室'},
|
||||
];
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
}
|
||||
|
||||
Widget _doorIdCard() {
|
||||
return Container(
|
||||
width: 686.w,
|
||||
child: RichText(
|
||||
text: TextSpan(children: <InlineSpan>[
|
||||
TextSpan(
|
||||
text: '2',
|
||||
style: TextStyle(
|
||||
fontSize: BaseStyle.fontSize36,
|
||||
color: ktextPrimary,
|
||||
fontWeight: FontWeight.w600,
|
||||
),
|
||||
),
|
||||
TextSpan(
|
||||
text: '张',
|
||||
style: TextStyle(
|
||||
fontSize: BaseStyle.fontSize28,
|
||||
color: ktextPrimary,
|
||||
fontWeight: FontWeight.w600,
|
||||
),
|
||||
),
|
||||
]),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
Widget _cardList(String title, Widget widget) {
|
||||
return Container(
|
||||
padding: EdgeInsets.only(
|
||||
top: 23.w,
|
||||
bottom: 24.w,
|
||||
),
|
||||
decoration: BoxDecoration(
|
||||
border: Border(
|
||||
bottom: BorderSide(color: BaseStyle.coloreeeeee, width: 0.5)),
|
||||
),
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
Text(
|
||||
title,
|
||||
style: TextStyle(fontSize: 28.sp, color: Color(0xff333333)),
|
||||
),
|
||||
SizedBox(height: 25.w),
|
||||
widget
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
Widget _upLoadImage() {
|
||||
return Container(
|
||||
padding: EdgeInsets.only(
|
||||
top: 23.w,
|
||||
bottom: 24.w,
|
||||
),
|
||||
decoration: BoxDecoration(
|
||||
border: Border(
|
||||
bottom: BorderSide(color: BaseStyle.coloreeeeee, width: 0.5)),
|
||||
),
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
Text(
|
||||
'上传凭证',
|
||||
style: TextStyle(fontSize: 28.sp, color: Color(0xff333333)),
|
||||
),
|
||||
SizedBox(height: 25.w),
|
||||
// Row(
|
||||
// mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||
// children: List.generate(
|
||||
// 2,
|
||||
// (index) => SingleImageUp(
|
||||
// title: _uploadImageList[index]['title'],
|
||||
// imagePath: _uploadImageList[index]['imagePath'],
|
||||
// ),
|
||||
// ),
|
||||
// ),
|
||||
// SizedBox(height: 25.w),
|
||||
// Row(
|
||||
// mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||
// children: List.generate(
|
||||
// 2,
|
||||
// (index) => SingleImageUp(
|
||||
// title: _uploadImageList.take(4).skip(2).toList()[index]
|
||||
// ['title'],
|
||||
// imagePath: _uploadImageList.take(4).skip(2).toList()[index]
|
||||
// ['imagePath'],
|
||||
// ),
|
||||
// ),
|
||||
// ),
|
||||
// SizedBox(height: 25.w),
|
||||
// Row(
|
||||
// mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||
// children: List.generate(
|
||||
// 1,
|
||||
// (index) => SingleImageUp(
|
||||
// title: _uploadImageList.take(5).skip(4).toList()[index]
|
||||
// ['title'],
|
||||
// imagePath: _uploadImageList.take(5).skip(4).toList()[index]
|
||||
// ['imagePath'],
|
||||
// ),
|
||||
// ),
|
||||
// ),
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
Widget _inkWellSubmit() {
|
||||
return InkWell(
|
||||
child: Center(
|
||||
child: Container(
|
||||
margin: EdgeInsets.only(bottom: 64.w),
|
||||
decoration: BoxDecoration(
|
||||
color: BaseStyle.colorffc40c,
|
||||
borderRadius: BorderRadius.all(Radius.circular(36)),
|
||||
),
|
||||
width: 426.w,
|
||||
height: 82.w,
|
||||
padding: EdgeInsets.only(
|
||||
top: 19.w,
|
||||
bottom: 18.w,
|
||||
),
|
||||
alignment: Alignment.center,
|
||||
child: Text(
|
||||
'确认提交',
|
||||
style: TextStyle(
|
||||
fontSize: BaseStyle.fontSize32,
|
||||
color: ktextPrimary,
|
||||
fontWeight: FontWeight.w600,
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return SingleChildScrollView(
|
||||
child: Container(
|
||||
color: Colors.white,
|
||||
child: GestureDetector(
|
||||
behavior: HitTestBehavior.opaque,
|
||||
onTap: () {
|
||||
FocusScope.of(context).requestFocus(FocusNode());
|
||||
},
|
||||
child: Stack(
|
||||
children: [
|
||||
Container(
|
||||
margin: EdgeInsets.only(
|
||||
top: 32.w,
|
||||
left: 32.w,
|
||||
right: 32.w,
|
||||
),
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
Column(
|
||||
children: _listHouse
|
||||
.map((item) => HouseInfo(
|
||||
title: item['title'],
|
||||
subtitle: item['subtitle'],
|
||||
))
|
||||
.toList(),
|
||||
),
|
||||
_cardList(
|
||||
'装修公司',
|
||||
CommonInput(
|
||||
inputController: _companyName,
|
||||
hintText: '请输入公司名称')),
|
||||
_cardList('门禁卡数量', _doorIdCard()),
|
||||
_upLoadImage(),
|
||||
SizedBox(height: 78.w),
|
||||
Text(
|
||||
'装修人员',
|
||||
style: TextStyle(
|
||||
fontWeight: FontWeight.w600,
|
||||
fontSize: BaseStyle.fontSize32,
|
||||
color: ktextPrimary),
|
||||
),
|
||||
Column(
|
||||
children:
|
||||
List.generate(memberNum, (index) => DecoratorInfo()),
|
||||
),
|
||||
InkWell(
|
||||
onTap: () {
|
||||
setState(() {
|
||||
memberNum++;
|
||||
});
|
||||
},
|
||||
child: Container(
|
||||
margin: EdgeInsets.only(top: 54.w),
|
||||
padding: EdgeInsets.only(
|
||||
top: 16.w,
|
||||
bottom: 16.w,
|
||||
),
|
||||
alignment: Alignment.center,
|
||||
child: Text(
|
||||
'继续添加装修工人',
|
||||
style: TextStyle(
|
||||
fontSize: BaseStyle.fontSize24,
|
||||
color: BaseStyle.color999999),
|
||||
),
|
||||
),
|
||||
),
|
||||
_inkWellSubmit(),
|
||||
],
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
@ -1,61 +0,0 @@
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
import 'package:akuCommunity/base/assets_image.dart';
|
||||
import 'package:akuCommunity/base/base_style.dart';
|
||||
import 'package:akuCommunity/utils/headers.dart';
|
||||
|
||||
class HouseInfo extends StatefulWidget {
|
||||
final String title, subtitle;
|
||||
HouseInfo({Key key, this.title, this.subtitle}) : super(key: key);
|
||||
|
||||
@override
|
||||
_HouseInfoState createState() => _HouseInfoState();
|
||||
}
|
||||
|
||||
class _HouseInfoState extends State<HouseInfo> {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Container(
|
||||
padding: EdgeInsets.only(
|
||||
bottom: 32.w,
|
||||
),
|
||||
decoration: BoxDecoration(
|
||||
border: Border(
|
||||
bottom: BorderSide(color: BaseStyle.coloreeeeee, width: 0.5)),
|
||||
),
|
||||
child: Row(
|
||||
mainAxisAlignment: MainAxisAlignment.start,
|
||||
crossAxisAlignment: CrossAxisAlignment.center,
|
||||
children: [
|
||||
Image.asset(
|
||||
AssetsImage.HOUSEATTESTATION,
|
||||
height: 48.w,
|
||||
width: 48.w,
|
||||
),
|
||||
SizedBox(width: 20.w),
|
||||
Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
Text(
|
||||
widget.title,
|
||||
style: TextStyle(
|
||||
fontSize: BaseStyle.fontSize32,
|
||||
color: BaseStyle.color474747,
|
||||
),
|
||||
),
|
||||
SizedBox(height: 10.w),
|
||||
Text(
|
||||
widget.subtitle,
|
||||
style: TextStyle(
|
||||
fontSize: BaseStyle.fontSize32,
|
||||
color: BaseStyle.color474747,
|
||||
),
|
||||
)
|
||||
],
|
||||
),
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
@ -1,157 +0,0 @@
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
import 'package:akuCommunity/base/base_style.dart';
|
||||
import 'package:akuCommunity/utils/headers.dart';
|
||||
import 'package:akuCommunity/widget/bottom_button.dart';
|
||||
import 'package:akuCommunity/widget/common_input.dart';
|
||||
import 'house_info.dart';
|
||||
import 'pay_model_sheet.dart';
|
||||
|
||||
class OwnerManage extends StatefulWidget {
|
||||
OwnerManage({Key key}) : super(key: key);
|
||||
|
||||
@override
|
||||
_OwnerManageState createState() => _OwnerManageState();
|
||||
}
|
||||
|
||||
class _OwnerManageState extends State<OwnerManage>
|
||||
with AutomaticKeepAliveClientMixin {
|
||||
@override
|
||||
bool get wantKeepAlive => true;
|
||||
|
||||
TextEditingController _companyName = new TextEditingController();
|
||||
TextEditingController _contactsName = new TextEditingController();
|
||||
TextEditingController _contactsPhone = new TextEditingController();
|
||||
|
||||
List<Map<String, dynamic>> _listHouse = [
|
||||
{'title': '宁波华茂悦峰', 'subtitle': '1幢-1单元-702室'},
|
||||
];
|
||||
|
||||
List<Map<String, dynamic>> _listWidget = [];
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
_listWidget = [
|
||||
{
|
||||
'title': '装修公司',
|
||||
'widget':
|
||||
CommonInput(inputController: _companyName, hintText: '请输入公司名称')
|
||||
},
|
||||
{
|
||||
'title': '房屋紧急联系人',
|
||||
'widget':
|
||||
CommonInput(inputController: _contactsName, hintText: '请输入联系人姓名')
|
||||
},
|
||||
{
|
||||
'title': '联系方式',
|
||||
'widget':
|
||||
CommonInput(inputController: _contactsPhone, hintText: '请输入联系方式')
|
||||
},
|
||||
// {'title': '预计开始时间', 'widget': CommonSelect(title: '时间')},
|
||||
// {'title': '预计结束时间', 'widget': CommonSelect(title: '时间')},
|
||||
];
|
||||
}
|
||||
|
||||
void _showModelBotoomSheet() {
|
||||
showModalBottomSheet(
|
||||
// isScrollControlled: true,
|
||||
shape: RoundedRectangleBorder(
|
||||
borderRadius: BorderRadius.only(
|
||||
topLeft: Radius.circular(10),
|
||||
topRight: Radius.circular(10),
|
||||
),
|
||||
),
|
||||
context: context,
|
||||
backgroundColor: Colors.white,
|
||||
builder: (context) {
|
||||
return PayModelSheet();
|
||||
},
|
||||
);
|
||||
}
|
||||
|
||||
List<Widget> _listView() {
|
||||
return _listWidget
|
||||
.asMap()
|
||||
.keys
|
||||
.map((index) => Container(
|
||||
padding: EdgeInsets.only(
|
||||
top: 23.w,
|
||||
bottom: 24.w,
|
||||
),
|
||||
margin: EdgeInsets.only(bottom: (index == 2 ? 117 : 0).w),
|
||||
decoration: BoxDecoration(
|
||||
border: Border(
|
||||
bottom:
|
||||
BorderSide(color: BaseStyle.coloreeeeee, width: 0.5)),
|
||||
),
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
Text(
|
||||
_listWidget[index]['title'],
|
||||
style: TextStyle(
|
||||
fontSize: BaseStyle.fontSize28, color: ktextPrimary),
|
||||
),
|
||||
SizedBox(height: 25.w),
|
||||
_listWidget[index]['widget'],
|
||||
],
|
||||
),
|
||||
))
|
||||
.toList();
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
super.build(context);
|
||||
return Container(
|
||||
color: Colors.white,
|
||||
child: Stack(
|
||||
children: [
|
||||
SingleChildScrollView(
|
||||
child: Container(
|
||||
child: GestureDetector(
|
||||
behavior: HitTestBehavior.opaque,
|
||||
onTap: () {
|
||||
FocusScope.of(context).requestFocus(FocusNode());
|
||||
},
|
||||
child: Container(
|
||||
margin: EdgeInsets.only(
|
||||
top: 32.w,
|
||||
left: 32.w,
|
||||
right: 32.w,
|
||||
),
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.center,
|
||||
children: [
|
||||
Column(
|
||||
children: _listHouse
|
||||
.map((item) => HouseInfo(
|
||||
title: item['title'],
|
||||
subtitle: item['subtitle'],
|
||||
))
|
||||
.toList(),
|
||||
),
|
||||
Column(
|
||||
children: _listView(),
|
||||
),
|
||||
SizedBox(height: 89.w),
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
Positioned(
|
||||
bottom: 0,
|
||||
child: BottomButton(
|
||||
title: '申请付款',
|
||||
fun: _showModelBotoomSheet,
|
||||
),
|
||||
)
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
@ -1,286 +0,0 @@
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
import 'package:flutter_icons/flutter_icons.dart';
|
||||
import 'package:get/get.dart';
|
||||
|
||||
import 'package:akuCommunity/base/assets_image.dart';
|
||||
import 'package:akuCommunity/base/base_style.dart';
|
||||
import 'package:akuCommunity/utils/headers.dart';
|
||||
import 'package:akuCommunity/widget/bottom_button.dart';
|
||||
|
||||
class PayModelSheet extends StatefulWidget {
|
||||
PayModelSheet({Key key}) : super(key: key);
|
||||
|
||||
@override
|
||||
_PayModelSheetState createState() => _PayModelSheetState();
|
||||
}
|
||||
|
||||
class _PayModelSheetState extends State<PayModelSheet> {
|
||||
List<Map<String, dynamic>> _listPay = [
|
||||
{
|
||||
'title': '支付宝支付',
|
||||
'widget': Icon(
|
||||
AntDesign.alipay_circle,
|
||||
color: Color(0xff06b4fd),
|
||||
size: 50.w,
|
||||
),
|
||||
'id': 'alipay',
|
||||
'isCheck': true
|
||||
},
|
||||
{
|
||||
'title': '微信支付',
|
||||
'widget': Image.asset(
|
||||
AssetsImage.WXPAY,
|
||||
height: 60.w,
|
||||
width: 60.w,
|
||||
),
|
||||
'id': 'wxpay',
|
||||
'isCheck': false
|
||||
}
|
||||
];
|
||||
|
||||
int _currentindex = 0;
|
||||
|
||||
void _showModelBotoomSheet() {
|
||||
showModalBottomSheet(
|
||||
// isScrollControlled: true,
|
||||
shape: RoundedRectangleBorder(
|
||||
borderRadius: BorderRadius.only(
|
||||
topLeft: Radius.circular(10),
|
||||
topRight: Radius.circular(10),
|
||||
),
|
||||
),
|
||||
context: context,
|
||||
backgroundColor: Colors.white,
|
||||
builder: (context) {
|
||||
return Container(
|
||||
margin: EdgeInsets.only(
|
||||
top: 20.w,
|
||||
left: 20.w,
|
||||
right: 20.w,
|
||||
),
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
Container(
|
||||
alignment: Alignment.center,
|
||||
decoration: BoxDecoration(
|
||||
border: Border(
|
||||
bottom:
|
||||
BorderSide(color: BaseStyle.coloreeeeee, width: 0.5)),
|
||||
),
|
||||
child: Row(
|
||||
mainAxisAlignment: MainAxisAlignment.start,
|
||||
children: [
|
||||
IconButton(
|
||||
icon: Icon(
|
||||
AntDesign.left,
|
||||
size: 40.sp,
|
||||
color: BaseStyle.color999999,
|
||||
),
|
||||
onPressed: () {
|
||||
Get.back();
|
||||
},
|
||||
),
|
||||
Container(
|
||||
padding: EdgeInsets.only(left: 190.w),
|
||||
child: Text(
|
||||
'选择付款方式',
|
||||
style: TextStyle(
|
||||
fontSize: BaseStyle.fontSize32,
|
||||
color: ktextPrimary,
|
||||
fontWeight: FontWeight.w600,
|
||||
),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
Column(
|
||||
children: _listPay
|
||||
.asMap()
|
||||
.keys
|
||||
.map((index) => _inkWellSelectPay(_listPay[index]['title'],
|
||||
_listPay[index]['widget'], index))
|
||||
.toList(),
|
||||
),
|
||||
],
|
||||
),
|
||||
);
|
||||
},
|
||||
);
|
||||
}
|
||||
|
||||
InkWell _inkWellSelectPay(String title, Widget logo, int index) {
|
||||
return InkWell(
|
||||
onTap: () {
|
||||
setState(() {
|
||||
_listPay.forEach((item) {
|
||||
item['isCheck'] = false;
|
||||
});
|
||||
_listPay[index]['isCheck'] = true;
|
||||
_currentindex = index;
|
||||
Get.back();
|
||||
});
|
||||
},
|
||||
child: Container(
|
||||
padding: EdgeInsets.only(
|
||||
top: 10.w,
|
||||
),
|
||||
child: Row(
|
||||
mainAxisAlignment: MainAxisAlignment.start,
|
||||
children: [
|
||||
logo,
|
||||
SizedBox(width: 24.w),
|
||||
Expanded(
|
||||
child: Container(
|
||||
padding: EdgeInsets.only(
|
||||
bottom: 27.w,
|
||||
top: 28.w,
|
||||
),
|
||||
decoration: BoxDecoration(
|
||||
border: Border(
|
||||
bottom:
|
||||
BorderSide(color: BaseStyle.coloreeeeee, width: 0.5)),
|
||||
),
|
||||
child: Row(
|
||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||
children: [
|
||||
Text(
|
||||
title,
|
||||
style: TextStyle(
|
||||
fontSize: BaseStyle.fontSize28, color: ktextPrimary),
|
||||
),
|
||||
_listPay[index]['isCheck']
|
||||
? Icon(
|
||||
AntDesign.check,
|
||||
color: BaseStyle.colorffc40c,
|
||||
size: 50.w,
|
||||
)
|
||||
: SizedBox(),
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
InkWell _inkWellDefaultPay() {
|
||||
return InkWell(
|
||||
onTap: _showModelBotoomSheet,
|
||||
child: Container(
|
||||
padding: EdgeInsets.only(
|
||||
bottom: 27.w,
|
||||
top: 28.w,
|
||||
),
|
||||
decoration: BoxDecoration(
|
||||
border: Border(
|
||||
bottom: BorderSide(color: BaseStyle.coloreeeeee, width: 0.5)),
|
||||
),
|
||||
child: Row(
|
||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||
children: [
|
||||
Row(
|
||||
children: [
|
||||
_listPay[_currentindex]['widget'],
|
||||
SizedBox(width: 24.w),
|
||||
Text(
|
||||
_listPay[_currentindex]['title'],
|
||||
style: TextStyle(
|
||||
fontSize: BaseStyle.fontSize28, color: ktextPrimary),
|
||||
),
|
||||
],
|
||||
),
|
||||
Icon(
|
||||
AntDesign.right,
|
||||
color: BaseStyle.color999999,
|
||||
size: 32.w,
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Container(
|
||||
child: Stack(
|
||||
children: [
|
||||
Container(
|
||||
margin: EdgeInsets.only(
|
||||
top: 36.w,
|
||||
left: 32.w,
|
||||
right: 32.w,
|
||||
),
|
||||
child: Column(
|
||||
children: [
|
||||
Container(
|
||||
alignment: Alignment.center,
|
||||
decoration: BoxDecoration(
|
||||
border: Border(
|
||||
bottom: BorderSide(
|
||||
color: BaseStyle.coloreeeeee, width: 0.5)),
|
||||
),
|
||||
padding: EdgeInsets.only(bottom: 20.w),
|
||||
child: Text(
|
||||
'付款详情',
|
||||
style: TextStyle(
|
||||
fontSize: BaseStyle.fontSize32,
|
||||
color: ktextPrimary,
|
||||
fontWeight: FontWeight.w600,
|
||||
),
|
||||
),
|
||||
),
|
||||
Container(
|
||||
padding: EdgeInsets.only(
|
||||
bottom: 80.w,
|
||||
top: 89.w,
|
||||
),
|
||||
decoration: BoxDecoration(
|
||||
border: Border(
|
||||
bottom: BorderSide(
|
||||
color: BaseStyle.coloreeeeee, width: 0.5)),
|
||||
),
|
||||
alignment: Alignment.center,
|
||||
child: Column(
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
crossAxisAlignment: CrossAxisAlignment.center,
|
||||
children: [
|
||||
Text(
|
||||
'¥${5300}',
|
||||
style: TextStyle(
|
||||
fontSize: BaseStyle.fontSize52,
|
||||
color: Color(0xffe60e0e),
|
||||
fontWeight: FontWeight.w600,
|
||||
),
|
||||
),
|
||||
SizedBox(height: 20.w),
|
||||
Text(
|
||||
'注释:装修押金${5000}元,垃圾清理费${300}元',
|
||||
style: TextStyle(
|
||||
fontSize: BaseStyle.fontSize22,
|
||||
color: BaseStyle.color999999),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
_inkWellDefaultPay(),
|
||||
],
|
||||
),
|
||||
),
|
||||
Positioned(
|
||||
bottom: 0,
|
||||
child: BottomButton(
|
||||
title: '立即付款',
|
||||
),
|
||||
)
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
@ -1,130 +0,0 @@
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
import 'package:get/get.dart';
|
||||
|
||||
import 'package:akuCommunity/pages/certification_page/certification_page.dart';
|
||||
import 'package:akuCommunity/utils/headers.dart';
|
||||
import 'package:akuCommunity/widget/bee_scaffold.dart';
|
||||
|
||||
class OpenDoorPage extends StatefulWidget {
|
||||
OpenDoorPage({Key key}) : super(key: key);
|
||||
|
||||
@override
|
||||
_OpenDoorPageState createState() => _OpenDoorPageState();
|
||||
}
|
||||
|
||||
class _OpenDoorPageState extends State<OpenDoorPage> {
|
||||
void _showDialog() {
|
||||
showCupertinoDialog(
|
||||
context: context,
|
||||
builder: (context) {
|
||||
return CupertinoAlertDialog(
|
||||
title: Text(
|
||||
'实名认证',
|
||||
style: TextStyle(
|
||||
fontSize: 34.sp,
|
||||
color: Color(0xff030303),
|
||||
),
|
||||
),
|
||||
content: Text(
|
||||
'\n为了小区的安全,需要先进行实名认证',
|
||||
style: TextStyle(
|
||||
fontSize: 28.sp,
|
||||
color: Color(0xff030303),
|
||||
),
|
||||
),
|
||||
actions: <Widget>[
|
||||
CupertinoDialogAction(
|
||||
child: Text(
|
||||
'考虑考虑',
|
||||
style: TextStyle(
|
||||
fontSize: 34.sp,
|
||||
color: Color(0xff333333),
|
||||
),
|
||||
),
|
||||
onPressed: () {
|
||||
Get.back();
|
||||
},
|
||||
),
|
||||
CupertinoDialogAction(
|
||||
child: Text(
|
||||
'前去认证',
|
||||
style: TextStyle(
|
||||
fontWeight: FontWeight.w600,
|
||||
fontSize: 34.sp,
|
||||
color: Color(0xffff8200),
|
||||
),
|
||||
),
|
||||
onPressed: () {
|
||||
Get.back();
|
||||
Get.to(() => CertificationPage());
|
||||
},
|
||||
),
|
||||
],
|
||||
);
|
||||
},
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return BeeScaffold(
|
||||
title: '一键开门',
|
||||
body: Container(
|
||||
color: Colors.white,
|
||||
alignment: Alignment.center,
|
||||
child: ListView(
|
||||
children: [
|
||||
Container(
|
||||
margin: EdgeInsets.only(top: 220.w),
|
||||
child: Column(
|
||||
children: [
|
||||
InkWell(
|
||||
onTap: _showDialog,
|
||||
child: Stack(
|
||||
children: [
|
||||
Container(
|
||||
alignment: Alignment.center,
|
||||
width: 400.w,
|
||||
height: 420.w,
|
||||
child: Image.asset(
|
||||
'assets/images/open_door.png',
|
||||
width: 400.w,
|
||||
height: 420.w,
|
||||
fit: BoxFit.fill,
|
||||
),
|
||||
),
|
||||
Positioned(
|
||||
top: 120.w,
|
||||
left: 137.5.w,
|
||||
child: Image.asset(
|
||||
'assets/images/lock.png',
|
||||
width: 125.w,
|
||||
height: 150.w,
|
||||
fit: BoxFit.fill,
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
Container(
|
||||
margin: EdgeInsets.only(top: 40.w),
|
||||
child: Text(
|
||||
'未检测到相关设备',
|
||||
style: TextStyle(
|
||||
fontSize: 44.w,
|
||||
color: Color(0xff999999),
|
||||
fontWeight: FontWeight.w600,
|
||||
),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
Loading…
Reference in new issue