Commit a1731caf30b9a4b4f96abcf83d65ad0fb457e371

Authored by wdn127929
1 parent e41de518

收集店铺信息:wq

// import 'dart:io';
// import 'package:flutter/material.dart';
// import 'package:flutter_screenutil/flutter_screenutil.dart';
// import 'package:one_key/app.dart';
// import 'package:one_key/models/get_seller_info_model.dart';
// import 'package:one_key/models/user.dart';
// import 'package:one_key/provider/create_store_model.dart';
// import 'package:one_key/provider/user_model.dart';
// import 'package:one_key/res/colors.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';
// import 'package:tpns_flutter_plugin/tpns_flutter_plugin.dart';
// import '../../utils/event_bus.dart';
// class CompleteCreateStorePage extends StatefulWidget {
// CompleteCreateStorePage({Key key}) : super(key: key);
// @override
// _CompleteCreateStorePageState createState() =>
// _CompleteCreateStorePageState();
// }
// class _CompleteCreateStorePageState extends State<CompleteCreateStorePage> {
// ///进入某个店铺
// // _loginStore(context, CheckSellerAccSunModel sunModel) {
// // UserModel userModel = Provider.of<UserModel>(context, listen: false);
// // Map<String, dynamic> seller = sunModel.toJson();
// // Map<String, dynamic> userMap = {
// // "openid": seller['uid'],
// // "account": seller['account'],
// // "role_name": seller['role_name'],
// // "sellerid": seller['id'],
// // "sellercode": seller['seller_code'],
// // "sellername": seller['sellername'],
// // "sellerphone": seller['seller_tel'],
// // "sellerAddr": '',
// // "scatter": 0,
// // "room": 0,
// // "cassette": 0,
// // "morning": "",
// // "noon": "",
// // "night": "",
// // };
// // userModel.saveUserInfo(User.fromJson(userMap));
// // userModel.getSellerInfo(
// // context,
// // {"seller_id": seller['id'], "seller_openid": seller['openid']},
// // userMap);
// // }
// ///通过sellerid获取店铺和当前登录人的基本信息
// _getSellerAndUserData() async {
// CreateStoreModel createStoreModel =
// Provider.of<CreateStoreModel>(context, listen: false);
// Map<String, String> params = {
// "sellerid": createStoreModel.storeInfo.sellerid,
// "openid": App.sp.getString("openid")
// };
// await createStoreModel.getStoreInfo(context, params);
// GetSellerInfoSunModel infoSunModel =
// await createStoreModel.getSellerById(context);
// UserModel userModel = Provider.of<UserModel>(context, listen: false);
// Map<String, dynamic> seller = infoSunModel.data.toJson();
// Map<String, dynamic> user; //= baseResp.data[0]["user"]
// App.sp.setBool("accountLogin", false);
// if (Platform.isIOS) {
// XgFlutterPlugin().stopXg();
// }
// if (App.sp.containsKey('table_list')) {
// //退出清空桌位数据
// App.sp.remove('table_list');
// }
// if (App.sp.containsKey('specid')) {
// //退出清空销售计价
// App.sp.remove('specid');
// App.sp.remove('specs');
// }
// if (App.sp.containsKey('sellerEdate')) {
// //退出清空店铺过期数据缓存
// App.sp.remove('sellerEdate');
// }
// bus.emit('refresh_token');
// Map<String, dynamic> userMap = {
// "sellerimage": seller['seller_image'],
// // "sellerphone": seller['seller_tel'],
// "sellerAddr": '',
// "scatter": 0,
// "room": 0,
// "cassette": 0,
// "openid": createStoreModel.userCreateStore.id,
// "account": createStoreModel.userCreateStore.account,
// "role_name": createStoreModel.userCreateStore.role_name,
// "sellerid": createStoreModel.userCreateStore.sellerid,
// "sellercode": createStoreModel.userCreateStore.seller_code,
// "sellername": seller['sellername'],
// "sellerphone": seller['phone'],
// "sellerAddr": '',
// "scatter": 0,
// "room": 0,
// "cassette": 0,
// "morning": "",
// "noon": "",
// "night": "",
// // 'userphone': user['phone'],
// 'token': createStoreModel.userCreateStore.user_token,
// 'nickname': createStoreModel.userCreateStore.nick_name,
// 'edate': seller['edate']
// };
// userModel.saveUserInfo(User.fromJson(userMap));
// userModel.getSellerInfo(
// context,
// {"seller_id": seller['id'], "seller_openid": seller['openid']},
// userMap);
// }
// @override
// Widget build(BuildContext context) {
// return Scaffold(
// backgroundColor: Colors.white,
// appBar: SystemAppBar(
// '',
// onTap: () {
// Navigator.pop(context);
// },
// ),
// body: InkWell(
// onTap: () {
// FocusScope.of(context).requestFocus(FocusNode()); //点击空白处隐藏键盘
// },
// child: Container(
// padding: EdgeInsets.symmetric(
// horizontal: ScreenUtil().setWidth(70),
// vertical: ScreenUtil().setWidth(80)),
// child: SingleChildScrollView(
// child: Column(
// crossAxisAlignment: CrossAxisAlignment.center,
// children: [
// Image.asset(
// Utils.getImgPath('complete'),
// width: ScreenUtil().setWidth(120),
// ),
// VEmptyView(60),
// Text(
// '店铺已创建成功',
// style: TextStyle(
// fontWeight: FontWeight.bold,
// fontSize: ScreenUtil().setSp(32),
// color: MyColours.color_333333),
// ),
// VEmptyView(220),
// // RoundButton(
// // radius: ScreenUtil().setWidth(10),
// // text: '继续创建桌位',
// // fontSize: 34,
// // gradientStart: MyColours.color_2AB5B7,
// // gradientEnd: MyColours.color_2AB5B7,
// // onPressed: () {},
// // isBold: false,
// // ),
// // VEmptyView(20),
// RoundButton(
// radius: ScreenUtil().setWidth(10),
// text: '进入店铺',
// fontSize: 34,
// textColor: MyColours.color_2AB5B7,
// gradientStart: Colors.white,
// gradientEnd: Colors.white,
// borderColor: MyColours.color_2AB5B7,
// onPressed: () {
// _getSellerAndUserData();
// },
// isBold: false,
// ),
// ])))));
// }
// }
... ...
import 'package:city_pickers/city_pickers.dart';
import 'package:city_pickers/modal/result.dart';
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:one_key/res/colors.dart';
import 'package:one_key/widgets/MyDivider.dart';
import 'package:one_key/widgets/h_empty_view.dart';
import 'package:one_key/widgets/system_app_bar.dart';
import 'package:permission_handler/permission_handler.dart';
import 'package:provider/provider.dart';
import '../../provider/collect_store_provider.dart';
import '../../route/navigator_util.dart';
import '../../utils/screen_util.dart';
import '../../utils/utils.dart';
import '../../widgets/round_button.dart';
/**
* 店铺信息收集
* */
class CollectStoreInfoPage extends StatefulWidget {
CollectStoreInfoPage({Key key}) : super(key: key);
@override
_CollectStoreInfoPageState createState() => _CollectStoreInfoPageState();
}
class _CollectStoreInfoPageState extends State<CollectStoreInfoPage> {
TextEditingController nameC = TextEditingController();
TextEditingController phoneC = TextEditingController();
TextEditingController personC = TextEditingController();
String storeAddress = '点击设置您的地址';
double lat;
double lng;
String proCode;
String cityCode;
String disCode;
String cityString = '点击设置您的城市';
CollectStoreProvider collectStoreProvider;
/// 高级筛选输入框
Widget _textFeildWidget(
TextEditingController controller, String name, String hintText) {
return Container(
padding: EdgeInsets.symmetric(
horizontal: ScreenUtil().setWidth(32),
),
height: w(48),
alignment: Alignment.center,
child: Row(crossAxisAlignment: CrossAxisAlignment.center, children: [
_textWidget(name, MyColours.color_515151, FontWeight.normal, 32),
Expanded(
child: TextField(
maxLines: 1,
controller: controller,
// focusNode: _focusNode,
// autofocus: true,
textAlign: TextAlign.right,
style: TextStyle(
color: MyColours.color_515151,
fontSize: ScreenUtil().setSp(32)),
// textAlignVertical: TextAlignVertical.center,
decoration: InputDecoration(
hintText: hintText,
hintStyle: TextStyle(
color: MyColours.color_66000000,
fontSize: ScreenUtil().setSp(32),
),
isCollapsed: true, //重点,相当于高度包裹的意思,必须设置为true,不然有默认奇妙的最小高度
border: OutlineInputBorder(borderSide: BorderSide.none),
contentPadding: EdgeInsets.zero,
),
keyboardType: TextInputType.text,
textInputAction: TextInputAction.done,
onChanged: (value) {
// setState(() {});
// _searchSellerLocation();
// customerProvider.searchData(value);
},
onEditingComplete: () {
FocusScope.of(context).requestFocus(FocusNode()); //点击空白处隐藏键盘
// contantShowModel.searchData(
// contantShowModel.controller.text);
// _searchSellerLocation();
// _focusNode.unfocus();
},
),
),
]));
}
///弹框text
_textWidget(String title, Color textColor, FontWeight fontWeight, int size) {
return Text(title,
style: TextStyle(
color: textColor,
decoration: TextDecoration.none,
fontWeight: fontWeight,
fontSize: ScreenUtil().setSp(size)));
}
_addressWidget(String name, String subtitle, GestureTapCallback onTap) {
return InkWell(
onTap: onTap,
child: Container(
padding: EdgeInsets.symmetric(
horizontal: ScreenUtil().setWidth(32),
),
height: w(48),
alignment: Alignment.center,
child: Row(
// mainAxisAlignment: MainAxisAlignment.spaceBetween,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
_textWidget(
name, MyColours.color_515151, FontWeight.normal, 32),
Expanded(
child: Text(
subtitle,
textAlign: TextAlign.right,
style: TextStyle(
color: MyColours.color_66000000,
fontSize: ScreenUtil().setSp(32),
),
)),
HEmptyView(20),
Image.asset(
"assets/arrow_right_new.png",
width: ScreenUtil().setWidth(14),
height: ScreenUtil().setWidth(22),
)
])));
}
Widget _divider() {
return Padding(
padding: EdgeInsets.only(left: w(16)),
child: MyDivider(
double.infinity,
w(1),
color: MyColours.color_E7E7E7,
));
}
@override
Widget build(BuildContext context) {
collectStoreProvider =
Provider.of<CollectStoreProvider>(context, listen: true);
return Scaffold(
backgroundColor: MyColours.color_ffffff,
appBar: SystemAppBar('店铺信息'),
body: Column(
children: [
Expanded(
child: SingleChildScrollView(
child: Column(
children: [
Container(
padding: EdgeInsets.symmetric(
horizontal: w(20), vertical: w(15)),
child: Text('在开始之前,请告诉我们关于您的一些信息,以方便专属客服给您提供周到的服务。',
style: TextStyle(
height: 1.5,
fontSize: font(16),
color: MyColours.color_000000))),
_textFeildWidget(nameC, '店铺名称:', '点击输入店铺名称'),
_divider(),
_addressWidget('店铺地址:', storeAddress, () {
//
Utils.getPickPermission(context, () async {
Map address =
await NavigatorUtil.goMapChoicePointPage(context);
if (address != null) {
setState(() {
storeAddress = address['address'];
lat = double.parse(address['lat'].toString());
lng = double.parse(address['lng'].toString());
});
}
}, Permission.location);
}),
_textFeildWidget(phoneC, '联系电话:', '点击输入您的电话号码'),
_divider(),
_textFeildWidget(personC, '联系人:', '点击输入您的姓名'),
_divider(),
_addressWidget('城市选择:', cityString, () async {
Result result = await CityPickers.showCityPicker(
context: context,
);
print(result);
proCode = result.provinceId;
cityCode = result.cityId;
disCode = result.areaId;
cityString =
result.provinceName + result.cityName + result.areaName;
setState(() {});
}),
_divider(),
],
))),
Container(
height: ScreenUtil().setWidth(91 * 2),
width: double.infinity,
padding: EdgeInsets.only(
top: ScreenUtil().setWidth(16 * 2),
bottom: ScreenUtil().setWidth(35 * 2),
left: ScreenUtil().setWidth(45 * 2),
right: ScreenUtil().setWidth(45 * 2),
),
decoration: BoxDecoration(
color: MyColours.color_ffffff,
boxShadow: [
BoxShadow(
spreadRadius: ScreenUtil().setWidth(2),
color: Color.fromRGBO(0, 0, 0, 0.1),
offset: Offset(0, ScreenUtil().setWidth(-2)),
blurRadius: ScreenUtil().setWidth(8))
],
borderRadius: BorderRadius.all(
Radius.circular(ScreenUtil().setWidth(16)),
),
),
child: RoundButton(
text: '提交',
height: ScreenUtil().setWidth(80),
radius: ScreenUtil().setWidth(10),
isBold: true,
fontSize: 32,
textColor: MyColours.color_F8F9FD,
onPressed: () async {
//判空
if (nameC.text.trim().length == 0) {
Utils.showToast('请输入店铺名称');
return;
}
if (storeAddress == '点击设置您的地址') {
Utils.showToast('请设置您的地址');
return;
}
if (phoneC.text.trim().length == 0) {
Utils.showToast('请输入联系电话');
return;
}
if (personC.text.trim().length == 0) {
Utils.showToast('请输联系人');
return;
}
if (cityString == '点击设置您的城市') {
Utils.showToast('请设置您的城市');
return;
}
FocusScope.of(context).requestFocus(FocusNode()); //点击空白处隐藏键盘
Map<String, String> params = {
'sellername': nameC.text,
'map_address': storeAddress,
'phone': phoneC.text,
'rname': personC.text,
'pro_code': proCode,
'city_code': cityCode,
'dis_code': disCode,
};
bool success = await collectStoreProvider.setSellerCollect(
context, params);
if (success) {
//成功
NavigatorUtil.goCompleteStorePage(context, replace: true);
}
},
),
)
],
));
}
}
... ...
import 'dart:io';
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:one_key/app.dart';
import 'package:one_key/models/get_seller_info_model.dart';
import 'package:one_key/models/user.dart';
import 'package:one_key/provider/create_store_model.dart';
import 'package:one_key/provider/user_model.dart';
import 'package:one_key/res/colors.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';
import 'package:tpns_flutter_plugin/tpns_flutter_plugin.dart';
import '../../utils/event_bus.dart';
import '../../utils/screen_util.dart';
class CompleteCreateStorePage extends StatefulWidget {
CompleteCreateStorePage({Key key}) : super(key: key);
@override
_CompleteCreateStorePageState createState() =>
_CompleteCreateStorePageState();
}
class _CompleteCreateStorePageState extends State<CompleteCreateStorePage> {
///进入某个店铺
// _loginStore(context, CheckSellerAccSunModel sunModel) {
// UserModel userModel = Provider.of<UserModel>(context, listen: false);
// Map<String, dynamic> seller = sunModel.toJson();
// Map<String, dynamic> userMap = {
// "openid": seller['uid'],
// "account": seller['account'],
// "role_name": seller['role_name'],
// "sellerid": seller['id'],
// "sellercode": seller['seller_code'],
// "sellername": seller['sellername'],
// "sellerphone": seller['seller_tel'],
// "sellerAddr": '',
// "scatter": 0,
// "room": 0,
// "cassette": 0,
// "morning": "",
// "noon": "",
// "night": "",
// };
// userModel.saveUserInfo(User.fromJson(userMap));
// userModel.getSellerInfo(
// context,
// {"seller_id": seller['id'], "seller_openid": seller['openid']},
// userMap);
// }
///通过sellerid获取店铺和当前登录人的基本信息
_getSellerAndUserData() async {
CreateStoreModel createStoreModel =
Provider.of<CreateStoreModel>(context, listen: false);
Map<String, String> params = {
"sellerid": createStoreModel.storeInfo.sellerid,
"openid": App.sp.getString("openid")
};
await createStoreModel.getStoreInfo(context, params);
GetSellerInfoSunModel infoSunModel =
await createStoreModel.getSellerById(context);
UserModel userModel = Provider.of<UserModel>(context, listen: false);
Map<String, dynamic> seller = infoSunModel.data.toJson();
Map<String, dynamic> user; //= baseResp.data[0]["user"]
App.sp.setBool("accountLogin", false);
if (Platform.isIOS) {
XgFlutterPlugin().stopXg();
}
if (App.sp.containsKey('table_list')) {
//退出清空桌位数据
App.sp.remove('table_list');
}
if (App.sp.containsKey('specid')) {
//退出清空销售计价
App.sp.remove('specid');
App.sp.remove('specs');
}
if (App.sp.containsKey('sellerEdate')) {
//退出清空店铺过期数据缓存
App.sp.remove('sellerEdate');
}
bus.emit('refresh_token');
Map<String, dynamic> userMap = {
"sellerimage": seller['seller_image'],
// "sellerphone": seller['seller_tel'],
"sellerAddr": '',
"scatter": 0,
"room": 0,
"cassette": 0,
"openid": createStoreModel.userCreateStore.id,
"account": createStoreModel.userCreateStore.account,
"role_name": createStoreModel.userCreateStore.role_name,
"sellerid": createStoreModel.userCreateStore.sellerid,
"sellercode": createStoreModel.userCreateStore.seller_code,
"sellername": seller['sellername'],
"sellerphone": seller['phone'],
"sellerAddr": '',
"scatter": 0,
"room": 0,
"cassette": 0,
"morning": "",
"noon": "",
"night": "",
// 'userphone': user['phone'],
'token': createStoreModel.userCreateStore.user_token,
'nickname': createStoreModel.userCreateStore.nick_name,
'edate': seller['edate']
};
userModel.saveUserInfo(User.fromJson(userMap));
userModel.getSellerInfo(
context,
{"seller_id": seller['id'], "seller_openid": seller['openid']},
userMap);
}
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: Colors.white,
appBar: SystemAppBar(
'',
onTap: () {
Navigator.pop(context);
},
),
body: InkWell(
onTap: () {
FocusScope.of(context).requestFocus(FocusNode()); //点击空白处隐藏键盘
},
child: Container(
padding: EdgeInsets.symmetric(
horizontal: ScreenUtil().setWidth(70),
vertical: ScreenUtil().setWidth(80)),
child: SingleChildScrollView(
child: Column(
crossAxisAlignment: CrossAxisAlignment.center,
children: [
Image.asset(
Utils.getImgPath('complete'),
width: ScreenUtil().setWidth(120),
),
VEmptyView(60),
Text(
'感谢您的信任!\n我们已经记录了您的信息。客服人员会在第一时间联系您,处理相关事宜。',
style: TextStyle(
// fontWeight: FontWeight.bold,
fontSize: ScreenUtil().setSp(32),
color: MyColours.color_000000),
),
VEmptyView(220),
// RoundButton(
// radius: ScreenUtil().setWidth(10),
// text: '继续创建桌位',
// fontSize: 34,
// gradientStart: MyColours.color_2AB5B7,
// gradientEnd: MyColours.color_2AB5B7,
// onPressed: () {},
// isBold: false,
// ),
// VEmptyView(20),
RoundButton(
height: w(43),
radius: ScreenUtil().setWidth(10),
text: '朕知道了',
fontSize: 34,
textColor: MyColours.color_F8F9FD,
gradientStart: MyColours.color_438E93,
gradientEnd: MyColours.color_438E93,
borderColor: MyColours.color_438E93,
onPressed: () {
// _getSellerAndUserData();
Navigator.pop(context);
},
isBold: true,
),
])))));
}
}
... ...
import 'package:flutter/material.dart';
import '../constant/constant.dart';
import '../constant/error.dart';
import '../net/base_resp.dart';
import '../net/dio_util.dart';
import '../net/http_url.dart';
import '../utils/utils.dart';
class CollectStoreProvider with ChangeNotifier {
/// 收集店铺信息
Future<dynamic> setSellerCollect(
BuildContext context, Map<String, String> params,
{isShowLoading = true}) async {
BaseResp<dynamic> baseResp = await DioUtil()
.request<dynamic>(context, Method.get, HttpUrl.set_seller_collect,
data: params, showLoading: isShowLoading)
.catchError((error) {
print(error.toString());
if (error is MyError) {}
return false;
});
if (baseResp.code == Constant.status_success) {
// if (baseResp.data == 1) {
// rid = baseResp.data['id'];
return true;
// } else {
// return false;
// }
} else {
if (baseResp != null) {
Utils.showToast(baseResp.msg ?? "");
}
return false;
}
}
}
... ...