|
...
|
...
|
@@ -7,12 +7,14 @@ import 'package:flutter/gestures.dart'; |
|
|
|
import 'package:flutter/material.dart';
|
|
|
|
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
|
|
|
import 'package:one_key/models/cookbook_one_model.dart';
|
|
|
|
import 'package:one_key/models/get_banquet_deposit_model.dart';
|
|
|
|
import 'package:one_key/route/navigator_util.dart';
|
|
|
|
import 'package:one_key/widgets/MyDivider.dart';
|
|
|
|
import 'package:one_key/widgets/round_button.dart';
|
|
|
|
import 'package:one_key/widgets/v_empty_view.dart';
|
|
|
|
import 'package:provider/provider.dart';
|
|
|
|
|
|
|
|
import '../../constant/state.dart';
|
|
|
|
import '../../models/dsolt_xt.dart';
|
|
|
|
import '../../models/feast_menu_model.dart';
|
|
|
|
import '../../models/set_xuan_tai_model.dart';
|
|
...
|
...
|
@@ -24,10 +26,12 @@ import '../../provider/user_model.dart'; |
|
|
|
import '../../res/colors.dart';
|
|
|
|
import '../../utils/ConvertNumberToChineseMoneyWords.dart';
|
|
|
|
import '../../utils/dialog_util.dart';
|
|
|
|
import '../../utils/event_bus.dart';
|
|
|
|
import '../../utils/screen_util.dart';
|
|
|
|
import '../../utils/upload_image_util.dart';
|
|
|
|
import '../../utils/utils.dart';
|
|
|
|
import '../../widgets/h_empty_view.dart';
|
|
|
|
import '../../widgets/page_exception.dart';
|
|
|
|
import '../../widgets/set_time_widget.dart';
|
|
|
|
import '../../widgets/system_app_bar.dart';
|
|
|
|
import '../online_check/img_picker_widget_f.dart';
|
|
...
|
...
|
@@ -71,6 +75,7 @@ class _FeastCreatePageState extends State<FeastCreatePage> { |
|
|
|
|
|
|
|
ScrollController controller = ScrollController();
|
|
|
|
String djDBR = '请选择'; //定金担保人
|
|
|
|
int djDBRIndex; //定金担保人
|
|
|
|
UploadImageProvider _uploadImageProvider;
|
|
|
|
List<SetXuanTaiModel> xuantaiData = [];
|
|
|
|
int xuantaiSelIndex = 0;
|
|
...
|
...
|
@@ -95,11 +100,15 @@ class _FeastCreatePageState extends State<FeastCreatePage> { |
|
|
|
_getSetmeal();
|
|
|
|
// scrollController.jumpTo(scrollController.position.minScrollExtent);
|
|
|
|
});
|
|
|
|
bus.on("feast_deposit_list", (arg) {
|
|
|
|
_getBanquetDeposit();
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
@override
|
|
|
|
void dispose() {
|
|
|
|
super.dispose();
|
|
|
|
bus.off('feast_deposit_list');
|
|
|
|
feastModel.rid = null;
|
|
|
|
feastModel.type = null;
|
|
|
|
feastModel.reserve = null;
|
|
...
|
...
|
@@ -167,11 +176,37 @@ class _FeastCreatePageState extends State<FeastCreatePage> { |
|
|
|
await feastModel.getStaff(context);
|
|
|
|
}
|
|
|
|
|
|
|
|
///获取宴会详情
|
|
|
|
_getBanquetById() async {
|
|
|
|
Map<String, String> pramas = {'rid': '64'};//feastModel.rid
|
|
|
|
await feastModel.getBanquetById(context, pramas);
|
|
|
|
}
|
|
|
|
|
|
|
|
///获取宴会分类
|
|
|
|
Future<bool> _getClassify({bool isShowLoading = true}) async {
|
|
|
|
await feastModel.getClassify(context, isShowLoading: isShowLoading);
|
|
|
|
}
|
|
|
|
|
|
|
|
///获取宴会定金
|
|
|
|
Future<bool> _getBanquetDeposit({bool isShowLoading = true}) async {
|
|
|
|
Map<String, String> pramas = {'rid': feastModel.rid};
|
|
|
|
await feastModel.getBanquetDeposit(context, pramas,
|
|
|
|
isShowLoading: isShowLoading);
|
|
|
|
feastModel.notifyListeners();
|
|
|
|
}
|
|
|
|
|
|
|
|
///删除宴会定金
|
|
|
|
Future<bool> _delBanquetDeposit(String id,
|
|
|
|
{bool isShowLoading = true}) async {
|
|
|
|
Map<String, String> pramas = {'id': id};
|
|
|
|
bool success = await feastModel.delBanquetDeposit(context, pramas,
|
|
|
|
isShowLoading: isShowLoading);
|
|
|
|
if (success) {
|
|
|
|
_getBanquetDeposit();
|
|
|
|
feastModel.notifyListeners();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
// ///获取宴会套餐
|
|
|
|
// Future<bool> _getSetmeal({bool isShowLoading = true}) async {
|
|
|
|
// bool success =
|
|
...
|
...
|
@@ -261,11 +296,16 @@ class _FeastCreatePageState extends State<FeastCreatePage> { |
|
|
|
Widget menuBtn(String title, {GestureTapCallback onTap}) {
|
|
|
|
return InkWell(
|
|
|
|
onTap: () {
|
|
|
|
if (menuSet.contains(title)) {
|
|
|
|
setState(() {
|
|
|
|
selectMenu = title;
|
|
|
|
});
|
|
|
|
// if (menuSet.contains(title)) {
|
|
|
|
setState(() {
|
|
|
|
selectMenu = title;
|
|
|
|
});
|
|
|
|
if (title == '签约') {
|
|
|
|
feastModel.pageStateBanquet = PageState.Loading;
|
|
|
|
feastModel.notifyListeners();
|
|
|
|
_getBanquetById();
|
|
|
|
}
|
|
|
|
// }
|
|
|
|
},
|
|
|
|
child: Container(
|
|
|
|
width: w(40),
|
|
...
|
...
|
@@ -1170,7 +1210,7 @@ class _FeastCreatePageState extends State<FeastCreatePage> { |
|
|
|
xuantaiData.removeAt(xuantaiSelIndex);
|
|
|
|
|
|
|
|
xuantaiSelIndex--; //删除后,选中前一个
|
|
|
|
|
|
|
|
|
|
|
|
setState(() {});
|
|
|
|
}))
|
|
|
|
: SizedBox(),
|
|
...
|
...
|
@@ -2086,6 +2126,42 @@ class _FeastCreatePageState extends State<FeastCreatePage> { |
|
|
|
);
|
|
|
|
}
|
|
|
|
|
|
|
|
/// 选台保存接口
|
|
|
|
Future<bool> dbSave() async {
|
|
|
|
if (djDBRIndex == null) {
|
|
|
|
Utils.showToast('请选择担保人');
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
|
|
|
|
for (UploadImgModel item in _uploadImageProvider.feastRemarkDjImageList) {
|
|
|
|
if (item.process < 1) {
|
|
|
|
Utils.showToast('正在上传图片,请稍等');
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
List imageQiniuUrlList = []; //接口图片数据list
|
|
|
|
for (int i = 0;
|
|
|
|
i < _uploadImageProvider.feastRemarkDjImageList.length;
|
|
|
|
i++) {
|
|
|
|
imageQiniuUrlList.add(
|
|
|
|
{"url": _uploadImageProvider.feastRemarkDjImageList[i].qiniuUrl});
|
|
|
|
}
|
|
|
|
Map<String, String> pramas = {
|
|
|
|
'sid': Provider.of<UserModel>(context, listen: false).user.sellerid,
|
|
|
|
'rid': feastModel.rid,
|
|
|
|
'warrant_id': feastModel.sellerManageList[djDBRIndex].id,
|
|
|
|
'warrant_images': json.encode(imageQiniuUrlList),
|
|
|
|
'warrant_desc': customCdb.text
|
|
|
|
};
|
|
|
|
bool success = await feastModel.setWarrant(context, pramas);
|
|
|
|
if (success) {
|
|
|
|
return true;
|
|
|
|
} else {
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
///定金页面
|
|
|
|
Widget djWidget() {
|
|
|
|
return Column(
|
|
...
|
...
|
@@ -2122,99 +2198,111 @@ class _FeastCreatePageState extends State<FeastCreatePage> { |
|
|
|
gradientStart: MyColours.color_438E93,
|
|
|
|
gradientEnd: MyColours.color_438E93,
|
|
|
|
onPressed: () {
|
|
|
|
NavigatorUtil.goFeastDepositPage(context);
|
|
|
|
NavigatorUtil.goFeastDepositPage(context, feastModel.rid);
|
|
|
|
},
|
|
|
|
),
|
|
|
|
],
|
|
|
|
)),
|
|
|
|
ListView.builder(
|
|
|
|
padding: EdgeInsets.only(left: w(13), right: w(13), top: h(20)),
|
|
|
|
itemCount: 2,
|
|
|
|
itemCount: feastModel.banquetDepositData.length,
|
|
|
|
shrinkWrap: true,
|
|
|
|
controller: controller,
|
|
|
|
itemBuilder: (BuildContext context, int index) {
|
|
|
|
return Container(
|
|
|
|
height: h(110),
|
|
|
|
margin: EdgeInsets.only(bottom: h(20)),
|
|
|
|
decoration: BoxDecoration(
|
|
|
|
borderRadius: BorderRadius.circular(r(5)),
|
|
|
|
border: Border.all(
|
|
|
|
width: h(1), color: MyColours.color_438E93)),
|
|
|
|
child: Column(children: [
|
|
|
|
Container(
|
|
|
|
height: h(24),
|
|
|
|
padding: EdgeInsets.only(left: w(16), right: w(8)),
|
|
|
|
GetBanquetDepositSunModel data =
|
|
|
|
feastModel.banquetDepositData[index];
|
|
|
|
return InkWell(
|
|
|
|
onTap: () {
|
|
|
|
NavigatorUtil.goFeastDepositPage(context, feastModel.rid,
|
|
|
|
isNew: false, getBanquetDepositSunModel: data);
|
|
|
|
},
|
|
|
|
child: Container(
|
|
|
|
height: h(110),
|
|
|
|
margin: EdgeInsets.only(bottom: h(20)),
|
|
|
|
decoration: BoxDecoration(
|
|
|
|
color: MyColours.color_438E93,
|
|
|
|
borderRadius: BorderRadius.only(
|
|
|
|
topLeft: Radius.circular(r(4)),
|
|
|
|
topRight: Radius.circular(r(4))),
|
|
|
|
borderRadius: BorderRadius.circular(r(5)),
|
|
|
|
border: Border.all(
|
|
|
|
width: h(1), color: MyColours.color_438E93)),
|
|
|
|
child: Row(
|
|
|
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
|
|
|
children: [
|
|
|
|
Text(
|
|
|
|
'定金1',
|
|
|
|
overflow: TextOverflow.ellipsis,
|
|
|
|
style: TextStyle(
|
|
|
|
color: MyColours.color_F6F6F6,
|
|
|
|
fontSize: font(14)),
|
|
|
|
),
|
|
|
|
Text(
|
|
|
|
'收据编号 SJ000001',
|
|
|
|
overflow: TextOverflow.ellipsis,
|
|
|
|
style: TextStyle(
|
|
|
|
color: MyColours.color_F6F6F6,
|
|
|
|
fontSize: font(12)),
|
|
|
|
child: Column(children: [
|
|
|
|
Container(
|
|
|
|
height: h(24),
|
|
|
|
padding: EdgeInsets.only(left: w(16), right: w(8)),
|
|
|
|
decoration: BoxDecoration(
|
|
|
|
color: MyColours.color_438E93,
|
|
|
|
borderRadius: BorderRadius.only(
|
|
|
|
topLeft: Radius.circular(r(4)),
|
|
|
|
topRight: Radius.circular(r(4))),
|
|
|
|
border: Border.all(
|
|
|
|
width: h(1),
|
|
|
|
color: MyColours.color_438E93)),
|
|
|
|
child: Row(
|
|
|
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
|
|
|
children: [
|
|
|
|
Text(
|
|
|
|
'定金${index + 1}',
|
|
|
|
overflow: TextOverflow.ellipsis,
|
|
|
|
style: TextStyle(
|
|
|
|
color: MyColours.color_F6F6F6,
|
|
|
|
fontSize: font(14)),
|
|
|
|
),
|
|
|
|
Text(
|
|
|
|
'收据编号 ${data.no == '0' ? '' : data.no}',
|
|
|
|
overflow: TextOverflow.ellipsis,
|
|
|
|
style: TextStyle(
|
|
|
|
color: MyColours.color_F6F6F6,
|
|
|
|
fontSize: font(12)),
|
|
|
|
),
|
|
|
|
InkWell(
|
|
|
|
onTap: () {
|
|
|
|
//弹框确认是否删除
|
|
|
|
DialogUtil.cupertinoAlertDialog(context,
|
|
|
|
title: "",
|
|
|
|
content: "是否确定删除?",
|
|
|
|
isBoldContent: true,
|
|
|
|
contentColor:
|
|
|
|
MyColours.color_E6000000,
|
|
|
|
rTitle: "删除", rCallback: () {
|
|
|
|
_delBanquetDeposit(data.id);
|
|
|
|
});
|
|
|
|
},
|
|
|
|
child: Image.asset(
|
|
|
|
Utils.getImgPath('f_dj_delete'),
|
|
|
|
width: w(20),
|
|
|
|
))
|
|
|
|
],
|
|
|
|
),
|
|
|
|
InkWell(
|
|
|
|
onTap: () {
|
|
|
|
//弹框确认是否删除
|
|
|
|
DialogUtil.cupertinoAlertDialog(context,
|
|
|
|
title: "",
|
|
|
|
content: "是否确定删除?",
|
|
|
|
isBoldContent: true,
|
|
|
|
contentColor: MyColours.color_E6000000,
|
|
|
|
rTitle: "删除", rCallback: () {
|
|
|
|
Navigator.pop(context);
|
|
|
|
// _delGuestInfocDay(model.cday[index].id);
|
|
|
|
});
|
|
|
|
},
|
|
|
|
child: Image.asset(
|
|
|
|
Utils.getImgPath('f_dj_delete'),
|
|
|
|
width: w(20),
|
|
|
|
))
|
|
|
|
],
|
|
|
|
),
|
|
|
|
),
|
|
|
|
Expanded(
|
|
|
|
child: Row(
|
|
|
|
mainAxisAlignment: MainAxisAlignment.start,
|
|
|
|
children: [
|
|
|
|
HEmptyView(32),
|
|
|
|
Column(
|
|
|
|
crossAxisAlignment: CrossAxisAlignment.start,
|
|
|
|
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
|
|
|
|
children: [
|
|
|
|
djTextType1('定金金额 ', '200', ' 元'),
|
|
|
|
djText('支付方式 ', '现金'),
|
|
|
|
djText('定金类型 ', '宴会定金')
|
|
|
|
],
|
|
|
|
),
|
|
|
|
HEmptyView(140),
|
|
|
|
Column(
|
|
|
|
crossAxisAlignment: CrossAxisAlignment.start,
|
|
|
|
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
|
|
|
|
Expanded(
|
|
|
|
child: Row(
|
|
|
|
mainAxisAlignment: MainAxisAlignment.start,
|
|
|
|
children: [
|
|
|
|
djText('付款时间 ', '2022-08-03'),
|
|
|
|
djText('收款人 ', '刘经理'),
|
|
|
|
djText('付款人 ', '方先生')
|
|
|
|
HEmptyView(32),
|
|
|
|
Column(
|
|
|
|
crossAxisAlignment: CrossAxisAlignment.start,
|
|
|
|
mainAxisAlignment:
|
|
|
|
MainAxisAlignment.spaceEvenly,
|
|
|
|
children: [
|
|
|
|
djTextType1('定金金额 ', '${data.price}', ' 元'),
|
|
|
|
djText('支付方式 ', '${data.pay}'),
|
|
|
|
djText('定金类型 ',
|
|
|
|
'${data.dname == null ? '' : data.dname}')
|
|
|
|
],
|
|
|
|
),
|
|
|
|
HEmptyView(140),
|
|
|
|
Column(
|
|
|
|
crossAxisAlignment: CrossAxisAlignment.start,
|
|
|
|
mainAxisAlignment:
|
|
|
|
MainAxisAlignment.spaceEvenly,
|
|
|
|
children: [
|
|
|
|
djText('付款时间 ', '${data.ddateStr}'),
|
|
|
|
djText('收款人 ',
|
|
|
|
'${data.nickName == null ? '' : data.nickName}'),
|
|
|
|
djText('付款人 ', '${data.rname}')
|
|
|
|
],
|
|
|
|
)
|
|
|
|
],
|
|
|
|
)
|
|
|
|
],
|
|
|
|
))
|
|
|
|
]));
|
|
|
|
))
|
|
|
|
])));
|
|
|
|
}),
|
|
|
|
VEmptyView(62),
|
|
|
|
Padding(
|
|
...
|
...
|
@@ -2237,29 +2325,19 @@ class _FeastCreatePageState extends State<FeastCreatePage> { |
|
|
|
InkWell(
|
|
|
|
onTap: () {
|
|
|
|
FocusScope.of(context).requestFocus(FocusNode()); //隐藏键盘
|
|
|
|
// DialogUtil.showSelectCusmanDialog(
|
|
|
|
// context,
|
|
|
|
// customerProvider.labelList.map((item) {
|
|
|
|
// return item.label;
|
|
|
|
// }).toList(), (value) {
|
|
|
|
// if (value != null) {
|
|
|
|
// setState(() {
|
|
|
|
// customerProvider.labelSelIndex =
|
|
|
|
// value.first;
|
|
|
|
// labelShow = customerProvider
|
|
|
|
// .labelList[
|
|
|
|
// customerProvider.labelSelIndex]
|
|
|
|
// .label;
|
|
|
|
// });
|
|
|
|
// }
|
|
|
|
// },
|
|
|
|
// selecteds:
|
|
|
|
// customerProvider.labelSelIndex == null
|
|
|
|
// ? []
|
|
|
|
// : [
|
|
|
|
// customerProvider.labelSelIndex
|
|
|
|
// ])
|
|
|
|
// .then((value) {});
|
|
|
|
DialogUtil.showSelectCusmanDialog(
|
|
|
|
context,
|
|
|
|
feastModel.sellerManageList.map((item) {
|
|
|
|
return item.title;
|
|
|
|
}).toList(), (value) {
|
|
|
|
if (value != null) {
|
|
|
|
setState(() {
|
|
|
|
djDBRIndex = value.first;
|
|
|
|
djDBR = feastModel.sellerManageList[djDBRIndex].title;
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}, selecteds: djDBRIndex == null ? [] : [djDBRIndex])
|
|
|
|
.then((value) {});
|
|
|
|
},
|
|
|
|
child: Row(
|
|
|
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
|
...
|
...
|
@@ -2340,18 +2418,25 @@ class _FeastCreatePageState extends State<FeastCreatePage> { |
|
|
|
children: [
|
|
|
|
Expanded(
|
|
|
|
child: _callButton(
|
|
|
|
onPress: () {},
|
|
|
|
onPress: () async {
|
|
|
|
await dbSave();
|
|
|
|
},
|
|
|
|
content: '仅保存',
|
|
|
|
hasLeftBorder: true,
|
|
|
|
isSelect: false)),
|
|
|
|
Expanded(
|
|
|
|
child: _callButton(
|
|
|
|
onPress: () {
|
|
|
|
selectMenu = '签约';
|
|
|
|
onPress: () async {
|
|
|
|
bool success = await dbSave();
|
|
|
|
if (success) {
|
|
|
|
selectMenu = '签约';
|
|
|
|
|
|
|
|
menuSet.add('定金');
|
|
|
|
menuSet.add('签约');
|
|
|
|
setState(() {});
|
|
|
|
menuSet.add('定金');
|
|
|
|
menuSet.add('签约');
|
|
|
|
setState(() {});
|
|
|
|
feastModel.pageStateBanquet = PageState.Loading;
|
|
|
|
_getBanquetById();
|
|
|
|
}
|
|
|
|
},
|
|
|
|
content: '保存并下一步',
|
|
|
|
hasLeftBorder: true,
|
|
...
|
...
|
@@ -3402,56 +3487,75 @@ class _FeastCreatePageState extends State<FeastCreatePage> { |
|
|
|
|
|
|
|
///签约
|
|
|
|
Widget qyWidget() {
|
|
|
|
return Column(children: [
|
|
|
|
Expanded(
|
|
|
|
child: SingleChildScrollView(
|
|
|
|
child: Column(children: <Widget>[
|
|
|
|
menu(),
|
|
|
|
MyDivider(double.infinity, h(1), color: MyColours.color_DBDBDB),
|
|
|
|
VEmptyView(26),
|
|
|
|
Padding(
|
|
|
|
padding: EdgeInsets.symmetric(horizontal: w(12)),
|
|
|
|
child: Column(children: [
|
|
|
|
baseInfoWidget(), //基本信息
|
|
|
|
VEmptyView(52),
|
|
|
|
//场次
|
|
|
|
ListView.builder(
|
|
|
|
itemCount: 3,
|
|
|
|
shrinkWrap: true,
|
|
|
|
controller: _scrollController,
|
|
|
|
itemBuilder: (BuildContext context, int index) {
|
|
|
|
return sessionsWidget('第${index + 1}场');
|
|
|
|
}),
|
|
|
|
//费用详情
|
|
|
|
costWidget(),
|
|
|
|
//合同
|
|
|
|
contractWidget(),
|
|
|
|
|
|
|
|
invoiceWidget()
|
|
|
|
]))
|
|
|
|
]))),
|
|
|
|
Row(
|
|
|
|
children: [
|
|
|
|
Expanded(
|
|
|
|
child: _callButton(
|
|
|
|
onPress: () {},
|
|
|
|
content: '分享宴会单',
|
|
|
|
hasLeftBorder: true,
|
|
|
|
isSelect: false)),
|
|
|
|
Expanded(
|
|
|
|
child: _callButton(
|
|
|
|
onPress: () {
|
|
|
|
selectMenu = '签约';
|
|
|
|
|
|
|
|
menuSet.add('定金');
|
|
|
|
menuSet.add('签约');
|
|
|
|
setState(() {});
|
|
|
|
},
|
|
|
|
content: '保存',
|
|
|
|
hasLeftBorder: true,
|
|
|
|
isSelect: true))
|
|
|
|
],
|
|
|
|
)
|
|
|
|
return Column(children: <Widget>[
|
|
|
|
menu(),
|
|
|
|
MyDivider(double.infinity, h(1), color: MyColours.color_DBDBDB),
|
|
|
|
VEmptyView(26),
|
|
|
|
Expanded(child: Consumer<FeastModel>(builder: (context, model, _) {
|
|
|
|
if (model.pageStateBanquet != PageState.Success) {
|
|
|
|
return ExceptionPage(
|
|
|
|
pageState: model.pageStateDeposit,
|
|
|
|
callback: () {
|
|
|
|
_getBanquetById();
|
|
|
|
},
|
|
|
|
emptyMsg: "暂时没有宴会详情哦",
|
|
|
|
emptyImg: "empty_search",
|
|
|
|
showMsg: "加载中,请稍后...",
|
|
|
|
);
|
|
|
|
} else {
|
|
|
|
return Column(
|
|
|
|
children: [
|
|
|
|
Expanded(
|
|
|
|
child:
|
|
|
|
Padding(
|
|
|
|
padding: EdgeInsets.symmetric(horizontal: w(12)),
|
|
|
|
child: SingleChildScrollView(
|
|
|
|
controller: _scrollController,
|
|
|
|
child: Column(children: [
|
|
|
|
baseInfoWidget(), //基本信息
|
|
|
|
VEmptyView(52),
|
|
|
|
//场次
|
|
|
|
ListView.builder(
|
|
|
|
itemCount: 3,
|
|
|
|
shrinkWrap: true,
|
|
|
|
controller: _scrollController,
|
|
|
|
itemBuilder: (BuildContext context, int index) {
|
|
|
|
return sessionsWidget('第${index + 1}场');
|
|
|
|
}),
|
|
|
|
//费用详情
|
|
|
|
costWidget(),
|
|
|
|
//合同
|
|
|
|
contractWidget(),
|
|
|
|
|
|
|
|
invoiceWidget()
|
|
|
|
]))),
|
|
|
|
),
|
|
|
|
Row(
|
|
|
|
children: [
|
|
|
|
Expanded(
|
|
|
|
child: _callButton(
|
|
|
|
onPress: () {},
|
|
|
|
content: '分享宴会单',
|
|
|
|
hasLeftBorder: true,
|
|
|
|
isSelect: false)),
|
|
|
|
Expanded(
|
|
|
|
child: _callButton(
|
|
|
|
onPress: () {
|
|
|
|
selectMenu = '签约';
|
|
|
|
|
|
|
|
menuSet.add('定金');
|
|
|
|
menuSet.add('签约');
|
|
|
|
setState(() {});
|
|
|
|
},
|
|
|
|
content: '保存',
|
|
|
|
hasLeftBorder: true,
|
|
|
|
isSelect: true))
|
|
|
|
],
|
|
|
|
)
|
|
|
|
],
|
|
|
|
);
|
|
|
|
}
|
|
|
|
}))
|
|
|
|
]);
|
|
|
|
}
|
|
|
|
|
...
|
...
|
|