|
...
|
...
|
@@ -1666,6 +1666,699 @@ class _FeastCreatePageState extends State<FeastCreatePage> { |
|
|
|
));
|
|
|
|
}
|
|
|
|
|
|
|
|
///费用详情
|
|
|
|
Widget costWidget() {
|
|
|
|
return Container(
|
|
|
|
margin: EdgeInsets.only(bottom: h(26)),
|
|
|
|
decoration: BoxDecoration(
|
|
|
|
borderRadius: BorderRadius.circular(r(6)),
|
|
|
|
border: Border.all(width: w(1), color: MyColours.color_438E93)),
|
|
|
|
child: Column(crossAxisAlignment: CrossAxisAlignment.start, children: [
|
|
|
|
Container(
|
|
|
|
width: double.infinity,
|
|
|
|
// height: h(31),
|
|
|
|
padding: EdgeInsets.symmetric(horizontal: w(12), vertical: h(6)),
|
|
|
|
decoration: BoxDecoration(
|
|
|
|
color: MyColours.color_438E93,
|
|
|
|
borderRadius: BorderRadius.only(
|
|
|
|
topLeft: Radius.circular(r(5)),
|
|
|
|
topRight: Radius.circular(r(5)))),
|
|
|
|
child: Text(
|
|
|
|
'费用详情',
|
|
|
|
style:
|
|
|
|
TextStyle(color: MyColours.color_F6F6F6, fontSize: font(14)),
|
|
|
|
),
|
|
|
|
),
|
|
|
|
VEmptyView(34),
|
|
|
|
ListView.builder(
|
|
|
|
itemCount: 2,
|
|
|
|
shrinkWrap: true,
|
|
|
|
controller: _scrollController,
|
|
|
|
itemBuilder: (BuildContext context, int index) {
|
|
|
|
return Padding(
|
|
|
|
padding: EdgeInsets.only(
|
|
|
|
left: w(12), right: w(12), bottom: w(27)),
|
|
|
|
child: Column(
|
|
|
|
crossAxisAlignment: CrossAxisAlignment.start,
|
|
|
|
children: [
|
|
|
|
Text(
|
|
|
|
'第一场费用:',
|
|
|
|
style: TextStyle(
|
|
|
|
color: MyColours.color_999999,
|
|
|
|
fontSize: font(12)),
|
|
|
|
),
|
|
|
|
VEmptyView(8),
|
|
|
|
costItem('名称', '单价', '数量', '金额', isTitle: true),
|
|
|
|
ListView.builder(
|
|
|
|
itemCount: 4,
|
|
|
|
shrinkWrap: true,
|
|
|
|
controller: _scrollController,
|
|
|
|
itemBuilder: (BuildContext context, int index) {
|
|
|
|
return costItem(
|
|
|
|
'1299套餐',
|
|
|
|
'1299',
|
|
|
|
'30',
|
|
|
|
'38970',
|
|
|
|
);
|
|
|
|
}),
|
|
|
|
//服务费
|
|
|
|
Container(
|
|
|
|
height: h(32),
|
|
|
|
margin: EdgeInsets.only(bottom: h(8)),
|
|
|
|
decoration: BoxDecoration(
|
|
|
|
border: Border(
|
|
|
|
bottom: BorderSide(
|
|
|
|
width: w(1),
|
|
|
|
color: MyColours.color_DBDBDB))),
|
|
|
|
child: Row(
|
|
|
|
children: [
|
|
|
|
Container(
|
|
|
|
width: w(80),
|
|
|
|
child: Text(
|
|
|
|
'服务费:',
|
|
|
|
style: TextStyle(
|
|
|
|
color: MyColours.color_515151,
|
|
|
|
fontSize: font(12)),
|
|
|
|
),
|
|
|
|
),
|
|
|
|
Image.asset(
|
|
|
|
Utils.getImgPath('f_radio_sel'),
|
|
|
|
width: w(20),
|
|
|
|
),
|
|
|
|
HEmptyView(8),
|
|
|
|
Text(
|
|
|
|
'固定金额',
|
|
|
|
style: TextStyle(
|
|
|
|
color: MyColours.color_515151,
|
|
|
|
fontSize: font(12)),
|
|
|
|
),
|
|
|
|
HEmptyView(16),
|
|
|
|
Image.asset(
|
|
|
|
Utils.getImgPath('f_radio_un'),
|
|
|
|
width: w(20),
|
|
|
|
),
|
|
|
|
HEmptyView(8),
|
|
|
|
Container(
|
|
|
|
width: w(40),
|
|
|
|
child: Text(
|
|
|
|
'百分比',
|
|
|
|
style: TextStyle(
|
|
|
|
color: MyColours.color_515151,
|
|
|
|
fontSize: font(12)),
|
|
|
|
)),
|
|
|
|
HEmptyView(12),
|
|
|
|
Expanded(
|
|
|
|
child: Container(
|
|
|
|
height: h(17),
|
|
|
|
decoration: BoxDecoration(
|
|
|
|
border: Border(
|
|
|
|
bottom: BorderSide(
|
|
|
|
width: w(1),
|
|
|
|
color:
|
|
|
|
MyColours.color_DBDBDB))),
|
|
|
|
child: TextField(
|
|
|
|
maxLines: 1,
|
|
|
|
|
|
|
|
//输入文本的样式
|
|
|
|
style: TextStyle(
|
|
|
|
fontSize: ScreenUtil().setSp(24),
|
|
|
|
color: MyColours.color_515151),
|
|
|
|
// controller: controller,
|
|
|
|
// focusNode: node,
|
|
|
|
// textAlignVertical: TextAlignVertical.top,
|
|
|
|
decoration: InputDecoration(
|
|
|
|
hintText: '请输入',
|
|
|
|
hintStyle: TextStyle(
|
|
|
|
color: true
|
|
|
|
? MyColours.color_999999
|
|
|
|
: MyColours.color_515151,
|
|
|
|
fontSize: ScreenUtil().setSp(24),
|
|
|
|
),
|
|
|
|
// contentPadding:
|
|
|
|
// EdgeInsets.only(bottom: ScreenUtil().setWidth(17)),
|
|
|
|
// border: InputBorder.none,
|
|
|
|
contentPadding: EdgeInsets.zero,
|
|
|
|
border: OutlineInputBorder(
|
|
|
|
borderSide: BorderSide.none),
|
|
|
|
),
|
|
|
|
onChanged: (value) {
|
|
|
|
print('ggg');
|
|
|
|
|
|
|
|
// nameStr = value;
|
|
|
|
},
|
|
|
|
onEditingComplete: () {
|
|
|
|
// print('fff');
|
|
|
|
// node.unfocus();
|
|
|
|
// _homeEnterModel.nameController.text =
|
|
|
|
// nameStr + _nameSuffix();
|
|
|
|
// _addNameSuffix(nameStr, sexStr);
|
|
|
|
},
|
|
|
|
keyboardType: TextInputType
|
|
|
|
.numberWithOptions())),
|
|
|
|
),
|
|
|
|
HEmptyView(4),
|
|
|
|
Text(
|
|
|
|
'%',
|
|
|
|
style: TextStyle(
|
|
|
|
color: MyColours.color_000000,
|
|
|
|
fontSize: font(12)),
|
|
|
|
),
|
|
|
|
],
|
|
|
|
)),
|
|
|
|
//优惠金额
|
|
|
|
Container(
|
|
|
|
height: h(32),
|
|
|
|
margin: EdgeInsets.only(bottom: h(8)),
|
|
|
|
decoration: BoxDecoration(
|
|
|
|
border: Border(
|
|
|
|
bottom: BorderSide(
|
|
|
|
width: w(1),
|
|
|
|
color: MyColours.color_DBDBDB))),
|
|
|
|
child: Row(
|
|
|
|
children: [
|
|
|
|
Container(
|
|
|
|
width: w(80),
|
|
|
|
child: Text(
|
|
|
|
'优惠金额:',
|
|
|
|
style: TextStyle(
|
|
|
|
color: MyColours.color_E34D59,
|
|
|
|
fontSize: font(12)),
|
|
|
|
),
|
|
|
|
),
|
|
|
|
Image.asset(
|
|
|
|
Utils.getImgPath('f_radio_sel'),
|
|
|
|
width: w(20),
|
|
|
|
),
|
|
|
|
HEmptyView(8),
|
|
|
|
Text(
|
|
|
|
'固定金额',
|
|
|
|
style: TextStyle(
|
|
|
|
color: MyColours.color_515151,
|
|
|
|
fontSize: font(12)),
|
|
|
|
),
|
|
|
|
HEmptyView(16),
|
|
|
|
Image.asset(
|
|
|
|
Utils.getImgPath('f_radio_un'),
|
|
|
|
width: w(20),
|
|
|
|
),
|
|
|
|
HEmptyView(8),
|
|
|
|
Container(
|
|
|
|
width: w(40),
|
|
|
|
child: Text(
|
|
|
|
'折扣',
|
|
|
|
style: TextStyle(
|
|
|
|
color: MyColours.color_515151,
|
|
|
|
fontSize: font(12)),
|
|
|
|
)),
|
|
|
|
HEmptyView(12),
|
|
|
|
Expanded(
|
|
|
|
child: Container(
|
|
|
|
height: h(17),
|
|
|
|
decoration: BoxDecoration(
|
|
|
|
border: Border(
|
|
|
|
bottom: BorderSide(
|
|
|
|
width: w(1),
|
|
|
|
color:
|
|
|
|
MyColours.color_DBDBDB))),
|
|
|
|
child: TextField(
|
|
|
|
maxLines: 1,
|
|
|
|
|
|
|
|
//输入文本的样式
|
|
|
|
style: TextStyle(
|
|
|
|
fontSize: ScreenUtil().setSp(24),
|
|
|
|
color: MyColours.color_515151),
|
|
|
|
// controller: controller,
|
|
|
|
// focusNode: node,
|
|
|
|
// textAlignVertical: TextAlignVertical.top,
|
|
|
|
decoration: InputDecoration(
|
|
|
|
hintText: '请输入',
|
|
|
|
hintStyle: TextStyle(
|
|
|
|
color: true
|
|
|
|
? MyColours.color_999999
|
|
|
|
: MyColours.color_E34D59,
|
|
|
|
fontSize: ScreenUtil().setSp(24),
|
|
|
|
),
|
|
|
|
// contentPadding:
|
|
|
|
// EdgeInsets.only(bottom: ScreenUtil().setWidth(17)),
|
|
|
|
// border: InputBorder.none,
|
|
|
|
contentPadding: EdgeInsets.zero,
|
|
|
|
border: OutlineInputBorder(
|
|
|
|
borderSide: BorderSide.none),
|
|
|
|
),
|
|
|
|
onChanged: (value) {
|
|
|
|
print('ggg');
|
|
|
|
|
|
|
|
// nameStr = value;
|
|
|
|
},
|
|
|
|
onEditingComplete: () {
|
|
|
|
// print('fff');
|
|
|
|
// node.unfocus();
|
|
|
|
// _homeEnterModel.nameController.text =
|
|
|
|
// nameStr + _nameSuffix();
|
|
|
|
// _addNameSuffix(nameStr, sexStr);
|
|
|
|
},
|
|
|
|
keyboardType: TextInputType
|
|
|
|
.numberWithOptions())),
|
|
|
|
),
|
|
|
|
HEmptyView(4),
|
|
|
|
Text(
|
|
|
|
'元',
|
|
|
|
style: TextStyle(
|
|
|
|
color: MyColours.color_000000,
|
|
|
|
fontSize: font(12)),
|
|
|
|
),
|
|
|
|
],
|
|
|
|
)),
|
|
|
|
//合计
|
|
|
|
Container(
|
|
|
|
height: h(24),
|
|
|
|
decoration: BoxDecoration(
|
|
|
|
border: Border(
|
|
|
|
bottom: BorderSide(
|
|
|
|
width: w(1),
|
|
|
|
color: MyColours.color_DBDBDB))),
|
|
|
|
child: Row(children: [
|
|
|
|
Text(
|
|
|
|
'合计',
|
|
|
|
style: TextStyle(
|
|
|
|
color: MyColours.color_515151,
|
|
|
|
fontWeight: FontWeight.bold,
|
|
|
|
fontSize: font(14)),
|
|
|
|
),
|
|
|
|
Spacer(),
|
|
|
|
Text(
|
|
|
|
'7000000 元',
|
|
|
|
style: TextStyle(
|
|
|
|
color: MyColours.color_515151,
|
|
|
|
fontWeight: FontWeight.bold,
|
|
|
|
fontSize: font(14)),
|
|
|
|
),
|
|
|
|
HEmptyView(48)
|
|
|
|
]))
|
|
|
|
],
|
|
|
|
));
|
|
|
|
}),
|
|
|
|
]));
|
|
|
|
}
|
|
|
|
|
|
|
|
///费用item
|
|
|
|
Widget costItem(
|
|
|
|
String name,
|
|
|
|
String unitprice,
|
|
|
|
String amount,
|
|
|
|
String money, {
|
|
|
|
bool isTitle = false,
|
|
|
|
}) {
|
|
|
|
Color color = isTitle ? MyColours.color_438E93 : MyColours.color_515151;
|
|
|
|
return Container(
|
|
|
|
height: h(25),
|
|
|
|
margin: EdgeInsets.only(bottom: isTitle ? 0 : h(8)),
|
|
|
|
decoration: !isTitle
|
|
|
|
? BoxDecoration(
|
|
|
|
border: Border(
|
|
|
|
bottom:
|
|
|
|
BorderSide(width: w(1), color: MyColours.color_DBDBDB)))
|
|
|
|
: BoxDecoration(),
|
|
|
|
child: Row(
|
|
|
|
children: [
|
|
|
|
Expanded(
|
|
|
|
child: Text(
|
|
|
|
name,
|
|
|
|
style: TextStyle(color: color, fontSize: font(12)),
|
|
|
|
),
|
|
|
|
),
|
|
|
|
Container(
|
|
|
|
width: w(62),
|
|
|
|
child: Text(
|
|
|
|
unitprice,
|
|
|
|
style: TextStyle(color: color, fontSize: font(12)),
|
|
|
|
),
|
|
|
|
),
|
|
|
|
Container(
|
|
|
|
width: w(62),
|
|
|
|
child: Text(
|
|
|
|
amount,
|
|
|
|
style: TextStyle(color: color, fontSize: font(12)),
|
|
|
|
),
|
|
|
|
),
|
|
|
|
Container(
|
|
|
|
width: w(62),
|
|
|
|
child: Text(
|
|
|
|
money,
|
|
|
|
style: TextStyle(color: color, fontSize: font(12)),
|
|
|
|
),
|
|
|
|
)
|
|
|
|
],
|
|
|
|
));
|
|
|
|
}
|
|
|
|
|
|
|
|
/// 合同
|
|
|
|
Widget contractWidget() {
|
|
|
|
return Container(
|
|
|
|
margin: EdgeInsets.only(bottom: h(26)),
|
|
|
|
decoration: BoxDecoration(
|
|
|
|
borderRadius: BorderRadius.circular(r(6)),
|
|
|
|
border: Border.all(width: w(1), color: MyColours.color_438E93)),
|
|
|
|
child: Column(crossAxisAlignment: CrossAxisAlignment.start, children: [
|
|
|
|
Container(
|
|
|
|
width: double.infinity,
|
|
|
|
// height: h(31),
|
|
|
|
padding: EdgeInsets.symmetric(horizontal: w(12), vertical: h(6)),
|
|
|
|
decoration: BoxDecoration(
|
|
|
|
color: MyColours.color_438E93,
|
|
|
|
borderRadius: BorderRadius.only(
|
|
|
|
topLeft: Radius.circular(r(5)),
|
|
|
|
topRight: Radius.circular(r(5)))),
|
|
|
|
child: Text(
|
|
|
|
'合同',
|
|
|
|
style:
|
|
|
|
TextStyle(color: MyColours.color_F6F6F6, fontSize: font(14)),
|
|
|
|
),
|
|
|
|
),
|
|
|
|
VEmptyView(22),
|
|
|
|
Padding(
|
|
|
|
padding: EdgeInsets.only(
|
|
|
|
left: w(12), right: w(12), top: w(11), bottom: w(29)),
|
|
|
|
child: Column(
|
|
|
|
children: [
|
|
|
|
Row(
|
|
|
|
children: [
|
|
|
|
Text(
|
|
|
|
'总原价:',
|
|
|
|
style: TextStyle(
|
|
|
|
fontWeight: FontWeight.bold,
|
|
|
|
color: MyColours.color_515151,
|
|
|
|
fontSize: ScreenUtil().setSp(28)),
|
|
|
|
),
|
|
|
|
HEmptyView(12),
|
|
|
|
Text(
|
|
|
|
'159000 元',
|
|
|
|
style: TextStyle(
|
|
|
|
fontWeight: FontWeight.bold,
|
|
|
|
color: MyColours.color_515151,
|
|
|
|
fontSize: ScreenUtil().setSp(28)),
|
|
|
|
),
|
|
|
|
],
|
|
|
|
),
|
|
|
|
VEmptyView(32),
|
|
|
|
Row(
|
|
|
|
children: [
|
|
|
|
RichText(
|
|
|
|
textScaleFactor: 1,
|
|
|
|
overflow: TextOverflow.ellipsis,
|
|
|
|
|
|
|
|
// textDirection: TextDirection.ltr,
|
|
|
|
|
|
|
|
text: TextSpan(
|
|
|
|
children: [
|
|
|
|
TextSpan(
|
|
|
|
text: '最终议价',
|
|
|
|
style: TextStyle(
|
|
|
|
fontWeight: FontWeight.bold,
|
|
|
|
color: MyColours.color_515151,
|
|
|
|
fontSize: ScreenUtil().setSp(28)),
|
|
|
|
//点击事件
|
|
|
|
recognizer: TapGestureRecognizer()
|
|
|
|
..onTap = () {}),
|
|
|
|
TextSpan(
|
|
|
|
text: '*',
|
|
|
|
style: TextStyle(
|
|
|
|
fontWeight: FontWeight.bold,
|
|
|
|
color: MyColours.color_E34D59,
|
|
|
|
fontSize: ScreenUtil().setSp(28)),
|
|
|
|
recognizer: TapGestureRecognizer()
|
|
|
|
..onTap = () {}),
|
|
|
|
TextSpan(
|
|
|
|
text: ':',
|
|
|
|
style: TextStyle(
|
|
|
|
fontWeight: FontWeight.bold,
|
|
|
|
color: MyColours.color_515151,
|
|
|
|
fontSize: ScreenUtil().setSp(28)),
|
|
|
|
//点击事件
|
|
|
|
recognizer: TapGestureRecognizer()
|
|
|
|
..onTap = () {}),
|
|
|
|
],
|
|
|
|
)),
|
|
|
|
HEmptyView(12),
|
|
|
|
_textfield('1299', null, null, width: w(110)),
|
|
|
|
HEmptyView(24),
|
|
|
|
Text(
|
|
|
|
'元',
|
|
|
|
style: TextStyle(
|
|
|
|
color: MyColours.color_438E93,
|
|
|
|
fontWeight: FontWeight.bold,
|
|
|
|
fontSize: font(14),
|
|
|
|
),
|
|
|
|
),
|
|
|
|
],
|
|
|
|
),
|
|
|
|
VEmptyView(48),
|
|
|
|
_titleAndtextfield('客户签约人:', null, null),
|
|
|
|
VEmptyView(48),
|
|
|
|
_titleAndtextfield('店方签约人:', null, null),
|
|
|
|
VEmptyView(48),
|
|
|
|
_titleAndtextfield('合同编号:', null, null),
|
|
|
|
VEmptyView(48),
|
|
|
|
Consumer<UploadImageProvider>(builder: (context, model, _) {
|
|
|
|
return ImgPickerFWidget(
|
|
|
|
model: model,
|
|
|
|
scrollController: _scrollController,
|
|
|
|
uploadType: UploadType.FeastRemarkContractType,
|
|
|
|
bgColor: MyColours.color_DBDBDB,
|
|
|
|
size: 64,
|
|
|
|
crossAxisCount: 4,
|
|
|
|
maxImageNumber: 8,
|
|
|
|
mainAxisSpacing: 72,
|
|
|
|
crossAxisSpacing: 56,
|
|
|
|
);
|
|
|
|
}),
|
|
|
|
],
|
|
|
|
),
|
|
|
|
)
|
|
|
|
]));
|
|
|
|
}
|
|
|
|
|
|
|
|
///合同 title+输入框
|
|
|
|
Widget _titleAndtextfield(String title,
|
|
|
|
TextEditingController editingController, FocusNode focusNode,
|
|
|
|
{TextInputType inputType = TextInputType.text}) {
|
|
|
|
return Row(
|
|
|
|
children: [
|
|
|
|
Container(
|
|
|
|
width: w(86),
|
|
|
|
child: Text(
|
|
|
|
title,
|
|
|
|
style: TextStyle(
|
|
|
|
color: MyColours.color_515151,
|
|
|
|
fontSize: font(14),
|
|
|
|
),
|
|
|
|
),
|
|
|
|
),
|
|
|
|
HEmptyView(48),
|
|
|
|
Expanded(
|
|
|
|
child: Container(
|
|
|
|
height: h(20),
|
|
|
|
alignment: Alignment.center,
|
|
|
|
padding: EdgeInsets.symmetric(horizontal: w(6)),
|
|
|
|
decoration: BoxDecoration(
|
|
|
|
border: Border(
|
|
|
|
bottom:
|
|
|
|
BorderSide(width: h(1), color: MyColours.color_DBDBDB))),
|
|
|
|
child: TextField(
|
|
|
|
controller: editingController,
|
|
|
|
// textAlign: TextAlign.right,
|
|
|
|
// textAlignVertical: TextAlignVertical.bottom,
|
|
|
|
maxLines: 1,
|
|
|
|
inputFormatters: [],
|
|
|
|
|
|
|
|
// //光标颜色
|
|
|
|
// cursorColor:
|
|
|
|
// widget.isSelect ? Colors.white : MyColours.color_199095,
|
|
|
|
//输入文本的样式
|
|
|
|
style: TextStyle(
|
|
|
|
fontSize: ScreenUtil().setSp(28),
|
|
|
|
color: MyColours.color_515151),
|
|
|
|
focusNode: focusNode,
|
|
|
|
// textAlign: TextAlign.center,
|
|
|
|
decoration: InputDecoration(
|
|
|
|
border: OutlineInputBorder(borderSide: BorderSide.none),
|
|
|
|
// hintText: hintText,
|
|
|
|
// hintStyle: TextStyle(
|
|
|
|
// color: hintText == ''
|
|
|
|
// ? MyColours.color_999999
|
|
|
|
// : MyColours.color_438E93,
|
|
|
|
// fontSize: ScreenUtil().setSp(28),
|
|
|
|
// fontWeight: FontWeight.bold,
|
|
|
|
// ),
|
|
|
|
contentPadding: EdgeInsets.zero,
|
|
|
|
),
|
|
|
|
onChanged: (value) {},
|
|
|
|
onEditingComplete: () {
|
|
|
|
FocusScope.of(context).requestFocus(FocusNode()); //点击空白处隐藏键盘
|
|
|
|
},
|
|
|
|
keyboardType: inputType,
|
|
|
|
),
|
|
|
|
))
|
|
|
|
],
|
|
|
|
);
|
|
|
|
}
|
|
|
|
|
|
|
|
///输入框
|
|
|
|
Widget _textfield(String hintText, TextEditingController editingController,
|
|
|
|
FocusNode focusNode,
|
|
|
|
{TextInputType inputType = TextInputType.text, double width}) {
|
|
|
|
return Container(
|
|
|
|
width: width,
|
|
|
|
height: h(28),
|
|
|
|
alignment: Alignment.center,
|
|
|
|
padding: EdgeInsets.symmetric(horizontal: w(6)),
|
|
|
|
decoration: BoxDecoration(
|
|
|
|
border: Border.all(width: h(1), color: MyColours.color_438E93)),
|
|
|
|
child: TextField(
|
|
|
|
controller: editingController,
|
|
|
|
// textAlign: TextAlign.right,
|
|
|
|
// textAlignVertical: TextAlignVertical.bottom,
|
|
|
|
maxLines: 1,
|
|
|
|
inputFormatters: [],
|
|
|
|
|
|
|
|
// //光标颜色
|
|
|
|
// cursorColor:
|
|
|
|
// widget.isSelect ? Colors.white : MyColours.color_199095,
|
|
|
|
//输入文本的样式
|
|
|
|
style: TextStyle(
|
|
|
|
fontSize: ScreenUtil().setSp(28),
|
|
|
|
fontWeight: FontWeight.bold,
|
|
|
|
),
|
|
|
|
focusNode: focusNode,
|
|
|
|
textAlign: TextAlign.center,
|
|
|
|
decoration: InputDecoration(
|
|
|
|
border: OutlineInputBorder(borderSide: BorderSide.none),
|
|
|
|
hintText: hintText,
|
|
|
|
hintStyle: TextStyle(
|
|
|
|
color: hintText == ''
|
|
|
|
? MyColours.color_999999
|
|
|
|
: MyColours.color_438E93,
|
|
|
|
fontSize: ScreenUtil().setSp(28),
|
|
|
|
fontWeight: FontWeight.bold,
|
|
|
|
),
|
|
|
|
contentPadding: EdgeInsets.zero,
|
|
|
|
),
|
|
|
|
onChanged: (value) {},
|
|
|
|
onEditingComplete: () {
|
|
|
|
FocusScope.of(context).requestFocus(FocusNode()); //点击空白处隐藏键盘
|
|
|
|
},
|
|
|
|
keyboardType: inputType,
|
|
|
|
),
|
|
|
|
);
|
|
|
|
}
|
|
|
|
|
|
|
|
/// 发票
|
|
|
|
Widget invoiceWidget() {
|
|
|
|
return Container(
|
|
|
|
margin: EdgeInsets.only(bottom: h(26)),
|
|
|
|
decoration: BoxDecoration(
|
|
|
|
borderRadius: BorderRadius.circular(r(6)),
|
|
|
|
border: Border.all(width: w(1), color: MyColours.color_438E93)),
|
|
|
|
child: Column(crossAxisAlignment: CrossAxisAlignment.start, children: [
|
|
|
|
Container(
|
|
|
|
width: double.infinity,
|
|
|
|
// height: h(31),
|
|
|
|
padding: EdgeInsets.symmetric(horizontal: w(12), vertical: h(6)),
|
|
|
|
decoration: BoxDecoration(
|
|
|
|
color: MyColours.color_438E93,
|
|
|
|
borderRadius: BorderRadius.only(
|
|
|
|
topLeft: Radius.circular(r(5)),
|
|
|
|
topRight: Radius.circular(r(5)))),
|
|
|
|
child: Text(
|
|
|
|
'发票',
|
|
|
|
style:
|
|
|
|
TextStyle(color: MyColours.color_F6F6F6, fontSize: font(14)),
|
|
|
|
),
|
|
|
|
),
|
|
|
|
VEmptyView(22),
|
|
|
|
Padding(
|
|
|
|
padding: EdgeInsets.only(
|
|
|
|
left: w(12), right: w(12), top: w(11), bottom: w(29)),
|
|
|
|
child: Column(
|
|
|
|
children: [
|
|
|
|
Row(
|
|
|
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
|
|
|
children: [
|
|
|
|
Text(
|
|
|
|
'添加发票:',
|
|
|
|
style: TextStyle(
|
|
|
|
color: MyColours.color_515151,
|
|
|
|
fontSize: ScreenUtil().setSp(28)),
|
|
|
|
),
|
|
|
|
InkWell(
|
|
|
|
onTap: () {
|
|
|
|
NavigatorUtil.goFeastInvoicePage(context);
|
|
|
|
},
|
|
|
|
child: Text(
|
|
|
|
'编辑',
|
|
|
|
style: TextStyle(
|
|
|
|
decoration: TextDecoration.underline,
|
|
|
|
color: MyColours.color_438E93,
|
|
|
|
fontSize: ScreenUtil().setSp(28)),
|
|
|
|
)),
|
|
|
|
],
|
|
|
|
),
|
|
|
|
VEmptyView(42),
|
|
|
|
Container(
|
|
|
|
padding: EdgeInsets.symmetric(vertical: w(8)),
|
|
|
|
decoration: BoxDecoration(
|
|
|
|
border: Border(
|
|
|
|
bottom: BorderSide(
|
|
|
|
width: w(1), color: MyColours.color_DBDBDB))),
|
|
|
|
child: Row(
|
|
|
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
|
|
|
children: [
|
|
|
|
Column(
|
|
|
|
crossAxisAlignment: CrossAxisAlignment.start,
|
|
|
|
children: [
|
|
|
|
Text(
|
|
|
|
'纳极(北京)科技有限公司',
|
|
|
|
style: TextStyle(
|
|
|
|
fontWeight: FontWeight.bold,
|
|
|
|
color: MyColours.color_515151,
|
|
|
|
fontSize: ScreenUtil().setSp(32)),
|
|
|
|
),
|
|
|
|
VEmptyView(16),
|
|
|
|
Text(
|
|
|
|
'增值税普通发票',
|
|
|
|
style: TextStyle(
|
|
|
|
color: MyColours.color_999999,
|
|
|
|
fontSize: ScreenUtil().setSp(24)),
|
|
|
|
),
|
|
|
|
],
|
|
|
|
),
|
|
|
|
InkWell(
|
|
|
|
onTap: () {},
|
|
|
|
child: Image.asset(Utils.getImgPath('f_delete_red'),
|
|
|
|
width: w(20))),
|
|
|
|
],
|
|
|
|
),
|
|
|
|
),
|
|
|
|
VEmptyView(48),
|
|
|
|
Consumer<UploadImageProvider>(builder: (context, model, _) {
|
|
|
|
return ImgPickerFWidget(
|
|
|
|
model: model,
|
|
|
|
scrollController: _scrollController,
|
|
|
|
uploadType: UploadType.FeastRemarkInvoiceType,
|
|
|
|
bgColor: MyColours.color_DBDBDB,
|
|
|
|
size: 64,
|
|
|
|
crossAxisCount: 4,
|
|
|
|
maxImageNumber: 8,
|
|
|
|
mainAxisSpacing: 72,
|
|
|
|
crossAxisSpacing: 56,
|
|
|
|
);
|
|
|
|
}),
|
|
|
|
],
|
|
|
|
),
|
|
|
|
)
|
|
|
|
]));
|
|
|
|
}
|
|
|
|
|
|
|
|
///三组 左---中----右
|
|
|
|
Widget sessionsItem(String title) {
|
|
|
|
return Padding(
|
|
...
|
...
|
@@ -1803,8 +2496,9 @@ class _FeastCreatePageState extends State<FeastCreatePage> { |
|
|
|
Padding(
|
|
|
|
padding: EdgeInsets.symmetric(horizontal: w(12)),
|
|
|
|
child: Column(children: [
|
|
|
|
baseInfoWidget(),
|
|
|
|
baseInfoWidget(), //基本信息
|
|
|
|
VEmptyView(52),
|
|
|
|
//场次
|
|
|
|
ListView.builder(
|
|
|
|
itemCount: 3,
|
|
|
|
shrinkWrap: true,
|
|
...
|
...
|
@@ -1812,7 +2506,12 @@ class _FeastCreatePageState extends State<FeastCreatePage> { |
|
|
|
itemBuilder: (BuildContext context, int index) {
|
|
|
|
return sessionsWidget('第${index + 1}场');
|
|
|
|
}),
|
|
|
|
VEmptyView(52),
|
|
|
|
//费用详情
|
|
|
|
costWidget(),
|
|
|
|
//合同
|
|
|
|
contractWidget(),
|
|
|
|
|
|
|
|
invoiceWidget()
|
|
|
|
]))
|
|
|
|
]))),
|
|
|
|
Row(
|
...
|
...
|
|