feast_deposit_manage_page.dart 5.18 KB

import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:provider/provider.dart';

import '../../../provider/feast_model.dart';
import '../../../provider/user_model.dart';
import '../../../res/colors.dart';
import '../../../route/navigator_util.dart';
import '../../../utils/screen_util.dart';
import '../../../utils/utils.dart';
import '../../../widgets/h_empty_view.dart';
import '../../../widgets/system_app_bar.dart';

/**
 * 
 * 订金设置
 */

class FeastDepositManagePage extends StatefulWidget {
  FeastDepositManagePage({Key? key}) : super(key: key);

  @override
  _FeastDepositManagePageState createState() => _FeastDepositManagePageState();
}

class _FeastDepositManagePageState extends State<FeastDepositManagePage> {
  late FeastModel feastModel;

  @override
  void initState() {
    super.initState();
    Utils.changeStatusColor(color: MyColours.color_438E93);
    WidgetsBinding.instance.addPostFrameCallback((_) {
      _getBanquetConf();
    });
  }

  _getBanquetConf() async {
    await feastModel.getBanquetConf(context);
  }

  Widget feastManegeItem(String title, {GestureTapCallback? onTap}) {
    return InkWell(
        onTap: onTap,
        child: Container(
          height: h(48),
          margin: EdgeInsets.only(top: w(12)),
          decoration: BoxDecoration(
              border: Border(
                  bottom: BorderSide(
                      width: w(0.5), color: MyColours.color_E7E7E7))),
          child: Row(
            children: [
              Text(
                title,
                style: TextStyle(
                    fontSize: font(16), color: MyColours.color_E5000000),
              ),
              Spacer(),
              Text(
                '修改/添加',
                style: TextStyle(
                    fontSize: font(16), color: MyColours.color_66000000),
              ),
              HEmptyView(22),
              Image.asset(
                "assets/arrow_right_new.png",
                width: ScreenUtil().setWidth(9 * 2),
                height: ScreenUtil().setWidth(16 * 2),
              ),
              HEmptyView(48),
            ],
          ),
        ));
  }

  @override
  Widget build(BuildContext context) {
    feastModel = Provider.of<FeastModel>(context);
    return Scaffold(
        backgroundColor: MyColours.color_ffffff,
        appBar: SystemAppBar(
          '订金设置',
          needWhite: true,
          bgColor: MyColours.color_438E93,
          titleColor: MyColours.color_F6F6F6,
          onTap: () {
            if (Navigator.canPop(context)) {
              Navigator.pop(context);
            }
          },
        ),
        body: Padding(
            padding: EdgeInsets.only(left: w(16)),
            child: Column(
              children: [
                feastManegeItem('订金类型', onTap: () {
                  NavigatorUtil.goFeastDepositTypePage(context);
                }),
                Container(
                  height: w(48),
                  margin: EdgeInsets.only(top: w(12)),
                  decoration: BoxDecoration(
                      border: Border(
                          bottom: BorderSide(
                              width: h(0.5), color: MyColours.color_E7E7E7))),
                  child: Row(
                    mainAxisAlignment: MainAxisAlignment.spaceBetween,
                    children: [
                      Container(
                        width: w(81),
                        height: w(48),
                        alignment: Alignment.centerLeft,
                        child: Text(
                          '是否可退',
                          style: TextStyle(
                              fontSize: ScreenUtil().setSp(32),
                              color: MyColours.color_E5000000),
                        ),
                      ),
                      Spacer(),
                      InkWell(
                          onTap: () async {
                            setState(() {
                              feastModel.isDepositBack =
                                  !feastModel.isDepositBack;
                            });

                            Map<String, String?> pramas = {
                              'sid':
                                  Provider.of<UserModel>(context, listen: false)
                                      .user!
                                      .sellerid,
                              'is_deposit_back':
                                  feastModel.isDepositBack ? '1' : '0'
                            };
                            await feastModel.setBanquetConf(context, pramas);
                          },
                          child: Container(
                              padding:
                                  EdgeInsets.only(left: w(16), right: w(16)),
                              child: Image.asset(
                                Utils.getImgPath(feastModel.isDepositBack
                                    ? 'swich_on'
                                    : 'swich_off'),
                                width: w(44),
                              ))),
                    ],
                  ),
                ),
              ],
            )));
  }
}