enter_store_phone.dart 7.04 KB
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/screenutil.dart';
import 'package:one_key/provider/create_store_model.dart';
import 'package:one_key/provider/other_login_provider.dart';
import 'package:one_key/provider/user_model.dart';
import 'package:one_key/res/colors.dart';
import 'package:one_key/route/route_handles.dart';
import 'package:one_key/route/navigator_util.dart';
import 'package:one_key/utils/utils.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';
import 'package:provider/provider.dart';

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

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

class _EnterStorePhonePageState extends State<EnterStorePhonePage> {
  TextEditingController _controller = TextEditingController();

  @override
  void initState() {
    // TODO: implement initState
    super.initState();
  }

  ///添加商家信息
  _addStoreInfo() async {
    CreateStoreModel createStoreModel =
        Provider.of<CreateStoreModel>(context, listen: false);
    // UploadImageProvider uploadImageProvider =
    //     Provider.of<UploadImageProvider>(context, listen: false);
    if (createStoreModel.storeInfo.name == null ||
        createStoreModel.storeInfo.name.trim().length == 0) {
      Utils.showToast('请填写店铺名称!');
      return;
    }
    if (createStoreModel.storeInfo.address == null ||
        createStoreModel.storeInfo.address.trim().length == 0) {
      Utils.showToast('请选择店铺地址!');
      return;
    }
    if (createStoreModel.storeInfo.phone == null ||
        createStoreModel.storeInfo.phone.trim().length == 0) {
      Utils.showToast('请填写店铺接单电话!');
      return;
    }
    Map<String, String> params = {
      "name": createStoreModel.storeInfo.name,
      "phone": createStoreModel.storeInfo.phone,
      "map_address": createStoreModel.storeInfo.address,
      "long": createStoreModel.storeInfo.lng.toString(),
      "lat": createStoreModel.storeInfo.lat.toString(),
    };
    // print(App.sp.getString("unionid"));
    // if (uploadImageProvider.imageListFront.length > 0) {
    //   params["file"] = uploadImageProvider.imageListFront[0].qiniuUrl;
    // }
    // if (uploadImageProvider.imageListDenvironment.length > 0) {
    //   List<String> temp = [];
    //   for (var i = 0;
    //       i < uploadImageProvider.imageListDenvironment.length;
    //       i++) {
    //     temp.add(uploadImageProvider.imageListDenvironment[i].qiniuUrl);
    //   }
    //   params["image"] = Utils.listToStringEnglish(temp);
    // }
    bool success = await createStoreModel.addStoreInfo(context, params);
    if (success) {
      //跳转至完成页面
      NavigatorUtil.goCompleteStorePage(context);
    }
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
        backgroundColor: Colors.white,
        appBar: SystemAppBar(
          '',
          leftTitle: '上一步',
          onTap: () {
            Navigator.pop(context);
          },
        ),
        body: InkWell(
            onTap: () {
              FocusScope.of(context).requestFocus(FocusNode()); //点击空白处隐藏键盘
            },
            child: Container(
                padding: EdgeInsets.symmetric(
                    horizontal: ScreenUtil().setWidth(70),
                    vertical: ScreenUtil().setWidth(60)),
                child: SingleChildScrollView(
                    child: Column(
                        crossAxisAlignment: CrossAxisAlignment.start,
                        children: [
                      Text('确定将此电话作为接单电话吗?',
                          style: TextStyle(
                              color: MyColours.color_333333,
                              fontSize: ScreenUtil().setSp(40),
                              fontWeight: FontWeight.bold)),
                      VEmptyView(100),
                      Consumer<CreateStoreModel>(builder: (context, model, _) {
                        _controller.text = model.storeInfo.phone;
                        return TextField(
                          // textAlignVertical: TextAlignVertical.bottom,
                          maxLines: 1,
                          controller: _controller,
                          // //光标颜色
                          // cursorColor:
                          //     widget.isSelect ? Colors.white : MyColours.color_199095,
                          //输入文本的样式
                          style: TextStyle(
                            color: MyColours.color_333333,
                            fontSize: ScreenUtil().setSp(28),
                          ),
                          // focusNode: _codeNode,
                          decoration: InputDecoration(
                            contentPadding: EdgeInsets.symmetric(
                                vertical: ScreenUtil().setWidth(32),
                                horizontal: ScreenUtil().setWidth(40)),
                            border: OutlineInputBorder(),
                            hintText: '请输入接单电话',
                            hintStyle: TextStyle(
                              color: MyColours.color_999999,
                              fontSize: ScreenUtil().setSp(28),
                            ),
                            enabledBorder: OutlineInputBorder(
                                borderSide: BorderSide(
                                    color: MyColours.color_bff6f7,
                                    width: ScreenUtil().setWidth(2))),
                            focusedBorder: OutlineInputBorder(
                                borderSide: BorderSide(
                                    color: MyColours.color_bff6f7,
                                    width: ScreenUtil().setWidth(2))),
                          ),
                          onChanged: (value) {
                            model.storeInfo.phone = value;
                          },
                          onEditingComplete: () {
                            FocusScope.of(context)
                                .requestFocus(FocusNode()); //点击空白处隐藏键盘
                          },
                          keyboardType: TextInputType.text,
                        );
                      }),
                      VEmptyView(160),
                      RoundButton(
                        text: '完成',
                        gradientStart: MyColours.color_199095,
                        gradientEnd: MyColours.color_199095,
                        // borderColor: MyColours.color_999999,
                        radius: ScreenUtil().setWidth(20),
                        fontSize: 28,
                        isBold: false,
                        onPressed: () {
                          _addStoreInfo();
                          // NavigatorUtil.goEnterStoreFrontPhotoPage(context);
                        },
                      )
                    ])))));
  }
}