Commit 260c5709543b2d13b73ea92442010be54e4df2e6

Authored by wdn127929
1 parent 5cf7fb7c

营销任务UI

class TemplateModel {
String title;
String content;
TemplateModel(this.title, this.content);
}
... ...
... ... @@ -23,6 +23,9 @@ import 'package:one_key/widgets/v_empty_view.dart';
import 'package:provider/provider.dart';
import 'package:sendsms/sendsms.dart';
import '../../../../models/template_model.dart';
import '../../../../utils/screen_util.dart';
typedef ClickCallback = void Function(dynamic value);
class MyMakeMarkingPage extends StatefulWidget {
... ... @@ -56,10 +59,29 @@ class _MyMakeMarkingPageState extends State<MyMakeMarkingPage> {
String andriodPhone = '';
List<String> iosPhone = [];
List<TemplateModel> data = [];
@override
void initState() {
super.initState();
UserModel userModel = Provider.of<UserModel>(context, listen: false);
data = [
TemplateModel('新菜上市',
'尊敬的贵宾,本店最近有新菜上市,欢迎您来品尝,活动期间一律7折,提前预订热线${userModel.user.sellerphone},${userModel.user.sellername}全体员工恭候您的大驾光临!'),
TemplateModel('生日营销1',
'尊敬的贵宾,${userModel.user.sellername}全体员工提前祝您生日快乐!凡是生日当天在本店享有7折的优惠,并且为您准备了一份精美小礼品,快快来领取吧!详情请点击{礼品领取链接}。'),
TemplateModel('生日营销2',
'尊敬的贵宾,提前祝您生日快乐!${userModel.user.sellername}从来也没忘记在这样特别的日子里祝您:生日快乐,生活幸福。生日当天在本店消费享有6折优惠!'),
TemplateModel('节日',
'尊敬的贵宾:值xx节日将至,在x月x日至x日,到我店消费即可免费领取价值98节日礼包一份,大礼不断,优惠不断!详情请点击{礼品领取链接}。'),
TemplateModel('存酒超期',
'尊敬的贵宾:您在我店存放的酒水已经等待您30天了!已开启酒水长期存放将影响口感,${userModel.user.sellername}全体员工期待您早日到店享用完毕,静候您的光临!'),
TemplateModel('沉睡唤醒',
'尊敬的贵宾:对不起!很冒昧的给您发这条短信,我是${userModel.user.sellername}的${userModel.user.nickName ?? ''}.您都有很长一段时间没来我们这里了,我们非常想念您。或许是我们的服务还没有让您满意,或许是给您搭配的餐品还没有满足您的需求,总之,都是我们做的不够好!我们正在不断的改进,希望可以变得更完美,请您原谅以往我们的不足,有空回來看看我们!为您准备了一份精美小礼品,快快来领取吧!详情请点击{礼品领取链接}。')
];
_focusNode.addListener(() {
if (_focusNode.hasFocus) {
//有焦点
... ... @@ -241,6 +263,7 @@ class _MyMakeMarkingPageState extends State<MyMakeMarkingPage> {
Expanded(
child: Text(
title,
textAlign: TextAlign.right,
overflow: TextOverflow.ellipsis,
style: TextStyle(
color: title == '时间(选填)' ||
... ... @@ -248,22 +271,50 @@ class _MyMakeMarkingPageState extends State<MyMakeMarkingPage> {
title == '选择优惠' ||
!customerMakingProvider.isUse
? MyColours.color_999999
: MyColours.color_199095,
: MyColours.color_438E93,
fontWeight: FontWeight.bold,
fontSize: ScreenUtil().setWidth(30)),
)),
HEmptyView(10),
HEmptyView(20),
Image.asset(
// Utils.getImgPath(!customerMakingProvider.isUse
// ? 'c_arrow_down_unsel'
// : 'c_arrow_down'),
Utils.getImgPath('c_arrow_down'),
width: ScreenUtil().setWidth(30),
Utils.getImgPath('down_c'),
width: ScreenUtil().setWidth(44),
// height: ScreenUtil().setWidth(10),
)
],
)));
}
List<Widget> _templateUI() {
List<Widget> templates = [];
data.forEach((element) {
templates.add(InkWell(
onTap: () {
//选择模版.默认数据
customerMakingProvider.controller.text = element.content;
},
child: Container(
padding: EdgeInsets.symmetric(horizontal: w(10), vertical: w(5)),
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(r(5)),
color: MyColours.color_ffffff,
border: Border.all(width: w(1), color: MyColours.color_438E93)),
child: Text(
element.title,
style: TextStyle(
color: MyColours.color_438E93,
fontSize: font(12),
fontWeight: FontWeight.bold),
),
)));
});
return templates;
}
///短信内容编辑UI
Widget _contentWidget(String hintText) {
return Container(
... ... @@ -277,7 +328,7 @@ class _MyMakeMarkingPageState extends State<MyMakeMarkingPage> {
// title,
// textAlign: TextAlign.left,
// style: TextStyle(
// color: MyColours.color_333333,
// color: MyColours.color_515151,
// fontWeight: FontWeight.bold,
// fontSize: ScreenUtil().setSp(34)),
// )),
... ... @@ -285,14 +336,14 @@ class _MyMakeMarkingPageState extends State<MyMakeMarkingPage> {
TextField(
controller: customerMakingProvider.controller,
// keyboardType: TextInputType.numberWithOptions(decimal: true), //键盘类型,数字键盘
maxLines: 10,
maxLines: 6,
focusNode: _focusNode,
// maxLength: 50,
// maxLengthEnforced: true,
style: TextStyle(
fontSize: ScreenUtil().setSp(28),
color: MyColours.color_333333), //输入文本的样式
color: MyColours.color_515151), //输入文本的样式
decoration: InputDecoration(
contentPadding: EdgeInsets.all(ScreenUtil().setWidth(30)),
hintText: hintText,
... ... @@ -300,14 +351,14 @@ class _MyMakeMarkingPageState extends State<MyMakeMarkingPage> {
color: MyColours.color_999999,
fontSize: ScreenUtil().setSp(28),
),
fillColor: MyColours.color_F9F9F9,
fillColor: MyColours.color_ffffff,
// fillColor: Colors.red,
filled: true,
enabledBorder: OutlineInputBorder(
//未选中时候的颜色
borderRadius: BorderRadius.circular(ScreenUtil().setWidth(20)),
borderSide: BorderSide(
color: MyColours.color_cccccc,
color: MyColours.color_DBDBDB,
width: ScreenUtil().setWidth(2)),
),
focusedBorder: OutlineInputBorder(
... ... @@ -328,6 +379,38 @@ class _MyMakeMarkingPageState extends State<MyMakeMarkingPage> {
},
),
VEmptyView(20),
Container(
padding: EdgeInsets.only(left: w(10), right: w(10), bottom: w(10)),
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(r(5)),
border: Border.all(width: w(1), color: MyColours.color_F8F7F3)),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Container(
height: w(34),
alignment: Alignment.centerLeft,
child: Text(
'常用模版',
style: TextStyle(
color: MyColours.color_515151,
fontSize: font(12),
),
),
),
VEmptyView(10),
Padding(
padding: EdgeInsets.only(left: w(10)),
child: Wrap(
spacing: w(10),
runSpacing: w(5),
children: _templateUI(),
),
)
],
),
),
VEmptyView(50),
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
... ... @@ -338,21 +421,20 @@ class _MyMakeMarkingPageState extends State<MyMakeMarkingPage> {
// NavigatorUtil.goMarketingRecordsDetailPage(context);
},
child: Padding(
padding: EdgeInsets.symmetric(
horizontal: ScreenUtil().setWidth(20)),
padding: EdgeInsets.only(right: ScreenUtil().setWidth(20)),
child: Text('清空',
style: TextStyle(
color: MyColours.color_199095,
fontSize: ScreenUtil().setSp(26))),
fontSize: ScreenUtil().setSp(30))),
)),
Text(
'共 ${customerMakingProvider.controller.text.length} 字 ${customerMakingProvider.selectCustomer.length} 条短信',
style: TextStyle(
color: MyColours.color_333333,
fontSize: ScreenUtil().setSp(26))),
color: MyColours.color_515151,
fontSize: ScreenUtil().setSp(30))),
],
),
VEmptyView(40),
VEmptyView(36),
InkWell(
onTap: () {
customerMakingProvider.isUse = !customerMakingProvider.isUse;
... ... @@ -361,19 +443,19 @@ class _MyMakeMarkingPageState extends State<MyMakeMarkingPage> {
child: Row(children: [
Image.asset(
Utils.getImgPath(customerMakingProvider.isUse
? 'c_mul_select'
: 'c_mul_select_un'),
width: ScreenUtil().setWidth(30)),
? 'f_select'
: 'f_select_not'),
width: ScreenUtil().setWidth(44)),
HEmptyView(15),
Text(
'营销加入优惠',
'在当前位置插入优惠',
style: TextStyle(
fontSize: ScreenUtil().setSp(36),
fontSize: ScreenUtil().setSp(32),
fontWeight: FontWeight.bold,
color: MyColours.color_333333),
color: MyColours.color_515151),
),
])),
VEmptyView(30),
VEmptyView(26),
Row(children: [
Expanded(
child: Container(
... ... @@ -382,7 +464,7 @@ class _MyMakeMarkingPageState extends State<MyMakeMarkingPage> {
decoration: BoxDecoration(
borderRadius:
BorderRadius.circular(ScreenUtil().setWidth(10)),
color: Color.fromRGBO(239, 239, 239, 1)),
color: MyColours.color_DBDBDB),
child:
_buttonChoose(customerMakingProvider.youhui, (value) {
FocusScope.of(context).requestFocus(FocusNode()); //隐藏键盘
... ... @@ -400,25 +482,25 @@ class _MyMakeMarkingPageState extends State<MyMakeMarkingPage> {
customerMakingProvider.couponSelectIndex];
});
// var cursorPos = customerMakingProvider
// .controller.selection.base.offset; //获取到光标的在字符串的位置
// String textAfterCursor = customerMakingProvider
// .controller.text
// .substring(cursorPos); //把字符串从光标的位置截取,光标后面的
// String textBeforeCursor = customerMakingProvider
// .controller.text
// .substring(0, cursorPos); //光标前面的字符串
// customerMakingProvider.controller.text =
// textBeforeCursor +
// "http://www.baidu.com" +
// textAfterCursor; //把想要的插入的内容拼接在光标位置处
// customerMakingProvider.controller.selection =
// TextSelection.collapsed(
// offset: customerMakingProvider
// .controller.text.length);
var cursorPos = customerMakingProvider
.controller.selection.base.offset; //获取到光标的在字符串的位置
String textAfterCursor = customerMakingProvider
.controller.text
.substring(cursorPos); //把字符串从光标的位置截取,光标后面的
String textBeforeCursor = customerMakingProvider
.controller.text
.substring(0, cursorPos); //光标前面的字符串
customerMakingProvider.controller.text =
textBeforeCursor +
"http://www.baidu.com" +
textAfterCursor; //把想要的插入的内容拼接在光标位置处
customerMakingProvider.controller.selection =
TextSelection.collapsed(
offset: customerMakingProvider
.controller.text.length);
}
},
selecteds: customerMakingProvider
... ... @@ -444,8 +526,9 @@ class _MyMakeMarkingPageState extends State<MyMakeMarkingPage> {
child: Text('创建新优惠',
style: TextStyle(
decoration: TextDecoration.underline,
color: MyColours.color_199095,
fontSize: ScreenUtil().setSp(26)))),
color: MyColours.color_438E93,
fontWeight: FontWeight.bold,
fontSize: ScreenUtil().setSp(28)))),
]),
],
),
... ... @@ -463,7 +546,8 @@ class _MyMakeMarkingPageState extends State<MyMakeMarkingPage> {
FocusScope.of(context).requestFocus(new FocusNode());
},
child: Scaffold(
backgroundColor: Color.fromRGBO(246, 248, 250, 1),
// backgroundColor: Color.fromRGBO(246, 248, 250, 1),
backgroundColor: MyColours.color_ffffff,
key: scaffoldKey,
appBar: SystemAppBar(
'创建营销任务',
... ... @@ -553,41 +637,47 @@ class _MyMakeMarkingPageState extends State<MyMakeMarkingPage> {
],
),
)),
RoundButton(
text: '群发短信',
gradientStart: MyColours.color_199095,
gradientEnd: MyColours.color_199095,
// borderColor: MyColours.color_999999,
radius: ScreenUtil().setWidth(40),
height: ScreenUtil().setWidth(80),
fontSize: 26,
margin: EdgeInsets.symmetric(
horizontal: ScreenUtil().setWidth(230)),
isBold: false,
onPressed: () {
//群发短信
_createMarketing();
},
),
VEmptyView(30),
RoundButton(
text: '取消',
gradientStart: MyColours.color_ffffff,
gradientEnd: MyColours.color_ffffff,
textColor: MyColours.color_199095,
borderColor: MyColours.color_199095,
radius: ScreenUtil().setWidth(40),
height: ScreenUtil().setWidth(80),
fontSize: 26,
margin: EdgeInsets.symmetric(
horizontal: ScreenUtil().setWidth(230)),
isBold: false,
onPressed: () {
customerMakingProvider.clearData();
Navigator.pop(context);
},
),
VEmptyView(40),
Container(
padding: EdgeInsets.only(
left: w(23), right: w(23), top: w(12), bottom: w(25)),
child: Row(
children: [
RoundButton(
text: '取消',
width: w(100),
gradientStart: MyColours.color_ffffff,
gradientEnd: MyColours.color_ffffff,
textColor: MyColours.color_199095,
borderColor: MyColours.color_199095,
radius: r(5),
height: w(43),
fontSize: 32,
isBold: true,
onPressed: () {
customerMakingProvider.clearData();
Navigator.pop(context);
},
),
HEmptyView(30),
Expanded(
child: RoundButton(
text: '群发短信',
gradientStart: MyColours.color_438E93,
gradientEnd: MyColours.color_438E93,
// borderColor: MyColours.color_999999,
radius: r(5),
height: w(43),
fontSize: 32,
isBold: true,
onPressed: () {
//群发短信
_createMarketing();
},
)),
],
),
)
],
)),
));
... ...
... ... @@ -25,6 +25,9 @@ import 'package:provider/provider.dart';
import 'package:one_key/models/store_customer_home_model.dart'
as storeCustomerHomeModel;
import '../../../../models/template_model.dart';
import '../../../../utils/screen_util.dart';
typedef ClickCallback = void Function(dynamic value);
class MakeMarkingPage extends StatefulWidget {
... ... @@ -54,10 +57,28 @@ class _MakeMarkingPageState extends State<MakeMarkingPage> {
bool needClear = true;
String gid = '';
List<TemplateModel> data = [];
@override
void initState() {
super.initState();
UserModel userModel = Provider.of<UserModel>(context, listen: false);
data = [
TemplateModel('新菜上市',
'尊敬的贵宾,本店最近有新菜上市,欢迎您来品尝,活动期间一律7折,提前预订热线${userModel.user.sellerphone},${userModel.user.sellername}全体员工恭候您的大驾光临!'),
TemplateModel('生日营销1',
'尊敬的贵宾,${userModel.user.sellername}全体员工提前祝您生日快乐!凡是生日当天在本店享有7折的优惠,并且为您准备了一份精美小礼品,快快来领取吧!详情请点击{礼品领取链接}。'),
TemplateModel('生日营销2',
'尊敬的贵宾,提前祝您生日快乐!${userModel.user.sellername}从来也没忘记在这样特别的日子里祝您:生日快乐,生活幸福。生日当天在本店消费享有6折优惠!'),
TemplateModel('节日',
'尊敬的贵宾:值xx节日将至,在x月x日至x日,到我店消费即可免费领取价值98节日礼包一份,大礼不断,优惠不断!详情请点击{礼品领取链接}。'),
TemplateModel('存酒超期',
'尊敬的贵宾:您在我店存放的酒水已经等待您30天了!已开启酒水长期存放将影响口感,${userModel.user.sellername}全体员工期待您早日到店享用完毕,静候您的光临!'),
TemplateModel('沉睡唤醒',
'尊敬的贵宾:对不起!很冒昧的给您发这条短信,我是${userModel.user.sellername}的${userModel.user.nickName ?? ''}.您都有很长一段时间没来我们这里了,我们非常想念您。或许是我们的服务还没有让您满意,或许是给您搭配的餐品还没有满足您的需求,总之,都是我们做的不够好!我们正在不断的改进,希望可以变得更完美,请您原谅以往我们的不足,有空回來看看我们!为您准备了一份精美小礼品,快快来领取吧!详情请点击{礼品领取链接}。')
];
_focusNode.addListener(() {
if (_focusNode.hasFocus) {
//有焦点
... ... @@ -225,28 +246,56 @@ class _MakeMarkingPageState extends State<MakeMarkingPage> {
child: Text(
title,
overflow: TextOverflow.ellipsis,
textAlign: TextAlign.right,
style: TextStyle(
color: title == '时间(选填)' ||
title == '(选填)' ||
title == '选择优惠' ||
!customerMakingProvider.isUse
? MyColours.color_999999
: MyColours.color_199095,
: MyColours.color_438E93,
fontSize: ScreenUtil().setWidth(30)),
)),
HEmptyView(10),
HEmptyView(20),
Image.asset(
// Utils.getImgPath(!customerMakingProvider.isUse
// ? 'c_arrow_down_unsel'
// : 'c_arrow_down'),
Utils.getImgPath('c_arrow_down'),
width: ScreenUtil().setWidth(30),
Utils.getImgPath('down_c'),
width: ScreenUtil().setWidth(44),
// height: ScreenUtil().setWidth(10),
)
],
)));
}
List<Widget> _templateUI() {
List<Widget> templates = [];
data.forEach((element) {
templates.add(InkWell(
onTap: () {
//选择模版.默认数据
customerMakingProvider.controller.text = element.content;
},
child: Container(
padding: EdgeInsets.symmetric(horizontal: w(10), vertical: w(5)),
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(r(5)),
color: MyColours.color_ffffff,
border: Border.all(width: w(1), color: MyColours.color_438E93)),
child: Text(
element.title,
style: TextStyle(
color: MyColours.color_438E93,
fontSize: font(12),
fontWeight: FontWeight.bold),
),
)));
});
return templates;
}
///短信内容编辑UI
Widget _contentWidget(String hintText) {
return Container(
... ... @@ -260,7 +309,7 @@ class _MakeMarkingPageState extends State<MakeMarkingPage> {
// title,
// textAlign: TextAlign.left,
// style: TextStyle(
// color: MyColours.color_333333,
// color: MyColours.color_515151,
// fontWeight: FontWeight.bold,
// fontSize: ScreenUtil().setSp(34)),
// )),
... ... @@ -268,14 +317,14 @@ class _MakeMarkingPageState extends State<MakeMarkingPage> {
TextField(
controller: customerMakingProvider.controller,
// keyboardType: TextInputType.numberWithOptions(decimal: true), //键盘类型,数字键盘
maxLines: 10,
maxLines: 6,
focusNode: _focusNode,
// maxLength: 50,
// maxLengthEnforced: true,
style: TextStyle(
fontSize: ScreenUtil().setSp(28),
color: MyColours.color_333333), //输入文本的样式
color: MyColours.color_515151), //输入文本的样式
decoration: InputDecoration(
contentPadding: EdgeInsets.all(ScreenUtil().setWidth(30)),
hintText: hintText,
... ... @@ -283,7 +332,7 @@ class _MakeMarkingPageState extends State<MakeMarkingPage> {
color: MyColours.color_999999,
fontSize: ScreenUtil().setSp(28),
),
fillColor: MyColours.color_F9F9F9,
fillColor: MyColours.color_ffffff,
// fillColor: Colors.red,
filled: true,
enabledBorder: OutlineInputBorder(
... ... @@ -311,6 +360,38 @@ class _MakeMarkingPageState extends State<MakeMarkingPage> {
},
),
VEmptyView(20),
Container(
padding: EdgeInsets.only(left: w(10), right: w(10), bottom: w(10)),
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(r(5)),
border: Border.all(width: w(1), color: MyColours.color_F8F7F3)),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Container(
height: w(34),
alignment: Alignment.centerLeft,
child: Text(
'常用模版',
style: TextStyle(
color: MyColours.color_515151,
fontSize: font(12),
),
),
),
VEmptyView(10),
Padding(
padding: EdgeInsets.only(left: w(10)),
child: Wrap(
spacing: w(10),
runSpacing: w(5),
children: _templateUI(),
),
)
],
),
),
VEmptyView(50),
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
... ... @@ -321,17 +402,16 @@ class _MakeMarkingPageState extends State<MakeMarkingPage> {
// NavigatorUtil.goMarketingRecordsDetailPage(context);
},
child: Padding(
padding: EdgeInsets.symmetric(
horizontal: ScreenUtil().setWidth(20)),
padding: EdgeInsets.only(right: ScreenUtil().setWidth(20)),
child: Text('清空',
style: TextStyle(
color: MyColours.color_199095,
fontSize: ScreenUtil().setSp(26))),
fontSize: ScreenUtil().setSp(30))),
)),
Text(
'共 ${customerMakingProvider.controller.text.length} 字 ${customerMakingProvider.selectCustomerSeller.length} 条短信',
style: TextStyle(
color: MyColours.color_333333,
color: MyColours.color_515151,
fontSize: ScreenUtil().setSp(26))),
],
),
... ... @@ -344,19 +424,19 @@ class _MakeMarkingPageState extends State<MakeMarkingPage> {
child: Row(children: [
Image.asset(
Utils.getImgPath(customerMakingProvider.isUse
? 'c_mul_select'
: 'c_mul_select_un'),
width: ScreenUtil().setWidth(30)),
? 'f_select'
: 'f_select_not'),
width: ScreenUtil().setWidth(44)),
HEmptyView(15),
Text(
'营销加入优惠',
'在当前位置插入优惠',
style: TextStyle(
fontSize: ScreenUtil().setSp(36),
fontSize: ScreenUtil().setSp(32),
fontWeight: FontWeight.bold,
color: MyColours.color_333333),
color: MyColours.color_515151),
),
])),
VEmptyView(30),
VEmptyView(32),
Row(children: [
Expanded(
child: Container(
... ... @@ -365,7 +445,7 @@ class _MakeMarkingPageState extends State<MakeMarkingPage> {
decoration: BoxDecoration(
borderRadius:
BorderRadius.circular(ScreenUtil().setWidth(10)),
color: Color.fromRGBO(239, 239, 239, 1)),
color: MyColours.color_DBDBDB),
child:
_buttonChoose(customerMakingProvider.youhui, (value) {
FocusScope.of(context).requestFocus(FocusNode()); //隐藏键盘
... ... @@ -382,6 +462,25 @@ class _MakeMarkingPageState extends State<MakeMarkingPage> {
customerMakingProvider.youhui = couponList[
customerMakingProvider.couponSelectIndex];
});
var cursorPos = customerMakingProvider
.controller.selection.base.offset; //获取到光标的在字符串的位置
String textAfterCursor = customerMakingProvider
.controller.text
.substring(cursorPos); //把字符串从光标的位置截取,光标后面的
String textBeforeCursor = customerMakingProvider
.controller.text
.substring(0, cursorPos); //光标前面的字符串
customerMakingProvider.controller.text =
textBeforeCursor +
"http://www.baidu.com" +
textAfterCursor; //把想要的插入的内容拼接在光标位置处
customerMakingProvider.controller.selection =
TextSelection.collapsed(
offset: customerMakingProvider
.controller.text.length);
}
},
selecteds: customerMakingProvider
... ... @@ -391,7 +490,7 @@ class _MakeMarkingPageState extends State<MakeMarkingPage> {
: [customerMakingProvider.couponSelectIndex])
.then((value) {});
}))),
HEmptyView(30),
HEmptyView(40),
InkWell(
onTap: () async {
// NavigatorUtil.goMarketingRecordsDetailPage(context);
... ... @@ -407,8 +506,9 @@ class _MakeMarkingPageState extends State<MakeMarkingPage> {
child: Text('创建新优惠',
style: TextStyle(
decoration: TextDecoration.underline,
color: MyColours.color_199095,
fontSize: ScreenUtil().setSp(26)))),
color: MyColours.color_438E93,
fontWeight: FontWeight.bold,
fontSize: ScreenUtil().setSp(28)))),
]),
Column(
children: [
... ... @@ -422,15 +522,16 @@ class _MakeMarkingPageState extends State<MakeMarkingPage> {
child: Row(children: [
Image.asset(
Utils.getImgPath(customerMakingProvider.isUpdate
? 'c_mul_select'
: 'c_mul_select_un'),
width: ScreenUtil().setWidth(30)),
? 'f_select'
: 'f_select_not'),
width: ScreenUtil().setWidth(44)),
HEmptyView(15),
Text(
'客户经理不可修改短信内容',
style: TextStyle(
fontSize: ScreenUtil().setSp(26),
color: MyColours.color_333333),
fontWeight: FontWeight.bold,
fontSize: ScreenUtil().setSp(32),
color: MyColours.color_515151),
),
])),
VEmptyView(30),
... ... @@ -443,72 +544,109 @@ class _MakeMarkingPageState extends State<MakeMarkingPage> {
},
child: Image.asset(
Utils.getImgPath(customerMakingProvider.isDate
? 'c_mul_select'
: 'c_mul_select_un'),
width: ScreenUtil().setWidth(30))),
? 'f_select'
: 'f_select_not'),
width: ScreenUtil().setWidth(44))),
HEmptyView(15),
Text(
'最晚完成期限',
style: TextStyle(
fontSize: ScreenUtil().setSp(26),
color: MyColours.color_333333),
),
HEmptyView(15),
InkWell(
onTap: () {
FocusScope.of(context)
.requestFocus(FocusNode()); //点击空白处隐藏键盘
//弹出时间选择器
// showPickerDateTime(context);
showDateSelWidget = true;
DialogUtil.showPickerDateTime24(
context,
scaffoldKey,
(value) {
// {'text': picker.adapter.text, 'select': selecteds}
if (value != null) {
setState(() {
print(value);
customerMakingProvider.edate =
DateUtil.formatDateStr(value,
format: DateFormats.full);
});
}
showDateSelWidget = false;
},
dateTime:
DateUtil.getDateTime(customerMakingProvider.edate),
onCancel: () {
showDateSelWidget = false;
});
},
child: Row(
children: [
Container(
// height: ScreenUtil().setWidth(70),
alignment: Alignment.center,
// width: ScreenUtil().setWidth(280),
padding: EdgeInsets.symmetric(
horizontal: ScreenUtil().setWidth(30)),
decoration: BoxDecoration(
border: Border(
bottom: BorderSide(
color: Color.fromRGBO(175, 176, 177, 1),
width: ScreenUtil().setWidth(2)))),
child: Text(customerMakingProvider.edate,
style: TextStyle(
fontSize: ScreenUtil().setSp(26),
color: customerMakingProvider.isDate
? MyColours.color_333333
: MyColours.color_999999))),
Image.asset(
Utils.getImgPath('c_arrow_down'),
width: ScreenUtil().setWidth(30),
// height: ScreenUtil().setWidth(10),
)
],
),
fontSize: ScreenUtil().setSp(32),
fontWeight: FontWeight.bold,
color: MyColours.color_515151),
),
HEmptyView(40),
Expanded(
child: Container(
height: ScreenUtil().setWidth(70),
// width: ScreenUtil().setWidth(130),
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(
ScreenUtil().setWidth(10)),
color: MyColours.color_DBDBDB),
child: _buttonChoose(customerMakingProvider.edate,
(value) {
FocusScope.of(context)
.requestFocus(FocusNode()); //点击空白处隐藏键盘
//弹出时间选择器
// showPickerDateTime(context);
showDateSelWidget = true;
DialogUtil.showPickerDateTime24(
context,
scaffoldKey,
(value) {
// {'text': picker.adapter.text, 'select': selecteds}
if (value != null) {
setState(() {
print(value);
customerMakingProvider.edate =
DateUtil.formatDateStr(value,
format: DateFormats.full);
});
}
showDateSelWidget = false;
},
dateTime: DateUtil.getDateTime(
customerMakingProvider.edate),
onCancel: () {
showDateSelWidget = false;
});
}))),
// InkWell(
// onTap: () {
// FocusScope.of(context)
// .requestFocus(FocusNode()); //点击空白处隐藏键盘
// //弹出时间选择器
// // showPickerDateTime(context);
// showDateSelWidget = true;
// DialogUtil.showPickerDateTime24(
// context,
// scaffoldKey,
// (value) {
// // {'text': picker.adapter.text, 'select': selecteds}
// if (value != null) {
// setState(() {
// print(value);
// customerMakingProvider.edate =
// DateUtil.formatDateStr(value,
// format: DateFormats.full);
// });
// }
// showDateSelWidget = false;
// },
// dateTime:
// DateUtil.getDateTime(customerMakingProvider.edate),
// onCancel: () {
// showDateSelWidget = false;
// });
// },
// child: Row(
// children: [
// Container(
// // height: ScreenUtil().setWidth(70),
// alignment: Alignment.center,
// // width: ScreenUtil().setWidth(280),
// padding: EdgeInsets.symmetric(
// horizontal: ScreenUtil().setWidth(30)),
// decoration: BoxDecoration(
// border: Border(
// bottom: BorderSide(
// color: Color.fromRGBO(175, 176, 177, 1),
// width: ScreenUtil().setWidth(2)))),
// child: Text(customerMakingProvider.edate,
// style: TextStyle(
// fontSize: ScreenUtil().setSp(26),
// color: customerMakingProvider.isDate
// ? MyColours.color_515151
// : MyColours.color_999999))),
// Image.asset(
// Utils.getImgPath('c_arrow_down'),
// width: ScreenUtil().setWidth(30),
// // height: ScreenUtil().setWidth(10),
// )
// ],
// ),
// ),
]),
VEmptyView(30),
],
... ... @@ -529,7 +667,8 @@ class _MakeMarkingPageState extends State<MakeMarkingPage> {
FocusScope.of(context).requestFocus(new FocusNode());
},
child: Scaffold(
backgroundColor: Color.fromRGBO(246, 248, 250, 1),
// backgroundColor: Color.fromRGBO(246, 248, 250, 1),
backgroundColor: MyColours.color_ffffff,
key: scaffoldKey,
appBar: SystemAppBar(
'创建营销任务',
... ... @@ -627,43 +766,85 @@ class _MakeMarkingPageState extends State<MakeMarkingPage> {
],
),
)),
RoundButton(
text: '确认下发任务',
gradientStart: MyColours.color_199095,
gradientEnd: MyColours.color_199095,
// borderColor: MyColours.color_999999,
radius: ScreenUtil().setWidth(40),
height: ScreenUtil().setWidth(80),
fontSize: 26,
margin: EdgeInsets.symmetric(
horizontal: ScreenUtil().setWidth(230)),
isBold: false,
onPressed: () {
// NavigatorUtil.goEnterStoreEnvironmentPage(context);
//确认下发任务
_createMarketingBySeller();
},
),
VEmptyView(30),
RoundButton(
text: '取消',
gradientStart: MyColours.color_ffffff,
gradientEnd: MyColours.color_ffffff,
textColor: MyColours.color_199095,
borderColor: MyColours.color_199095,
radius: ScreenUtil().setWidth(40),
height: ScreenUtil().setWidth(80),
fontSize: 26,
margin: EdgeInsets.symmetric(
horizontal: ScreenUtil().setWidth(230)),
isBold: false,
onPressed: () {
customerMakingProvider.clearData();
Navigator.pop(context);
},
),
VEmptyView(40),
Container(
padding: EdgeInsets.only(
left: w(23), right: w(23), top: w(12), bottom: w(25)),
child: Row(
children: [
RoundButton(
text: '取消',
width: w(100),
gradientStart: MyColours.color_ffffff,
gradientEnd: MyColours.color_ffffff,
textColor: MyColours.color_199095,
borderColor: MyColours.color_199095,
radius: r(5),
height: w(43),
fontSize: 32,
isBold: true,
onPressed: () {
customerMakingProvider.clearData();
Navigator.pop(context);
},
),
HEmptyView(30),
Expanded(
child: RoundButton(
text: '确认下发任务',
gradientStart: MyColours.color_438E93,
gradientEnd: MyColours.color_438E93,
// borderColor: MyColours.color_999999,
radius: r(5),
height: w(43),
fontSize: 32,
isBold: true,
onPressed: () {
//确认下发任务
_createMarketingBySeller();
},
)),
],
),
)
// RoundButton(
// text: '确认下发任务',
// gradientStart: MyColours.color_199095,
// gradientEnd: MyColours.color_199095,
// // borderColor: MyColours.color_999999,
// radius: ScreenUtil().setWidth(40),
// height: ScreenUtil().setWidth(80),
// fontSize: 26,
// margin: EdgeInsets.symmetric(
// horizontal: ScreenUtil().setWidth(230)),
// isBold: false,
// onPressed: () {
// // NavigatorUtil.goEnterStoreEnvironmentPage(context);
// //确认下发任务
// _createMarketingBySeller();
// },
// ),
// VEmptyView(30),
// RoundButton(
// text: '取消',
// gradientStart: MyColours.color_ffffff,
// gradientEnd: MyColours.color_ffffff,
// textColor: MyColours.color_199095,
// borderColor: MyColours.color_199095,
// radius: ScreenUtil().setWidth(40),
// height: ScreenUtil().setWidth(80),
// fontSize: 26,
// margin: EdgeInsets.symmetric(
// horizontal: ScreenUtil().setWidth(230)),
// isBold: false,
// onPressed: () {
// customerMakingProvider.clearData();
// Navigator.pop(context);
// },
// ),
// VEmptyView(40),
],
)),
));
... ...