create_store.dart 5.49 KB
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:one_key/pages/create_store/video_widget.dart';
import 'package:one_key/res/colors.dart';
import 'package:one_key/utils/navigator_util.dart';
import 'package:one_key/widgets/round_button.dart';
import 'package:one_key/widgets/system_app_bar.dart';
import 'package:one_key/widgets/v_empty_view.dart';

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

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

class _CreateStorePageState extends State<CreateStorePage> {
  ScrollController _controller;
  List<Map> roomType = [];

  @override
  void initState() {
    // TODO: implement initState
    super.initState();
    _controller = ScrollController();
    for (int i = 0; i < 8; i++) {
      roomType.add({
        '$i': {'name': '${i + 3}人间', 'check': true}
      });
    }
  }

  List<Widget> _roomTypeWidget() {
    List<Widget> list = [];
    for (int i = 0; i < roomType.length; i++) {
      list.add(CheckboxListTile(
          value: roomType[i]['$i']['check'],
          title: Text(roomType[i]['$i']['name']),
          onChanged: (value) {
            setState(() {
              roomType[i]['$i']['check'] = !roomType[i]['$i']['check'];
            });
          }));
    }
    return list;
  }

  ///店铺名称
  Widget _storeNameWidget() {
    return Column(
      crossAxisAlignment: CrossAxisAlignment.start,
      children: [
        Text('2.您的店铺名称是?',
            style: TextStyle(
                fontSize: ScreenUtil().setSp(30), fontWeight: FontWeight.bold)),
        VEmptyView(30),
        TextField(
          // textAlignVertical: TextAlignVertical.bottom,
          maxLines: 1,
          // //光标颜色
          // cursorColor:
          //     widget.isSelect ? Colors.white : MyColours.color_199095,
          //输入文本的样式
          style: TextStyle(
            fontSize: ScreenUtil().setSp(28),
          ),
          // focusNode: _codeNode,
          decoration: InputDecoration(
            contentPadding: EdgeInsets.symmetric(
                vertical: ScreenUtil().setWidth(6),
                horizontal: ScreenUtil().setWidth(20)),
            border: OutlineInputBorder(),
            hintText: '请输入店铺名称',
            hintStyle: TextStyle(
              color: MyColours.color_999999,
              fontSize: ScreenUtil().setSp(28),
            ),
            // enabledBorder: new UnderlineInputBorder(
            //   borderSide: BorderSide.none,
            // ),
            focusedBorder: OutlineInputBorder(
                borderSide: BorderSide(color: MyColours.color_199095)),
          ),
          onChanged: (value) {},
          onEditingComplete: () {
            FocusScope.of(context).requestFocus(FocusNode()); //点击空白处隐藏键盘
          },
          keyboardType: TextInputType.number,
        )
      ],
    );
  }

  ///店铺环境
  Widget _storeEnvironmentWidget() {
    return Column(
      crossAxisAlignment: CrossAxisAlignment.start,
      children: [
        Text('3.请上传您店铺环境的照片或者视频',
            style: TextStyle(
                fontSize: ScreenUtil().setSp(30), fontWeight: FontWeight.bold)),
        VEmptyView(30),
        VideoPickerWidget(maxImageNumber: 1)
      ],
    );
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
        appBar: SystemAppBar(
          '新建店铺',
          onTap: () {
            Navigator.pop(context);
          },
        ),
        body: InkWell(
            onTap: () {
              FocusScope.of(context).requestFocus(FocusNode()); //点击空白处隐藏键盘
            },
            child: Container(
                padding: EdgeInsets.all(ScreenUtil().setWidth(40)),
                child: Column(
                    crossAxisAlignment: CrossAxisAlignment.start,
                    children: [
                      Expanded(
                          child: SingleChildScrollView(
                              controller: _controller,
                              child: Column(
                                  crossAxisAlignment: CrossAxisAlignment.start,
                                  children: [
                                    Text('1.您的店内有哪些包间类型?',
                                        style: TextStyle(
                                            fontSize: ScreenUtil().setSp(30),
                                            fontWeight: FontWeight.bold)),
                                    VEmptyView(30),
                                    Column(children: _roomTypeWidget()),
                                    _storeNameWidget(),
                                    VEmptyView(30),
                                    _storeEnvironmentWidget(),
                                    VEmptyView(30),
                                  ]))),
                      RoundButton(
                        text: '下一步',
                        gradientStart: MyColours.color_199095,
                        gradientEnd: MyColours.color_199095,
                        // borderColor: MyColours.color_999999,
                        radius: ScreenUtil().setWidth(20),
                        fontSize: 28,
                        isBold: false,
                        onPressed: () {
                          NavigatorUtil.goCreateStorePage(context);
                        },
                      )
                    ]))));
  }
}