app-starlock/lib/mine/valueAddedServices/valueAddedServicesNoteAndEmailDetail/valueAddedServicesNoteAndEmailDetail_page.dart

163 lines
6.3 KiB
Dart
Executable File

import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';
import 'package:star_lock/common/XSConstantMacro/XSConstantMacro.dart';
import 'package:star_lock/mine/valueAddedServices/valueAddedServicesNoteAndEmailDetail/valueAddedServicesNoteAndEmailDetail_logic.dart';
import 'package:star_lock/mine/valueAddedServices/valueAddedServicesNoteAndEmailDetail/valueAddedServicesNoteAndEmailDetail_state.dart';
import 'package:star_lock/mine/valueAddedServices/valueAddedServicesRecord/use_record_list_arg.dart';
import '../../../appRouters.dart';
import '../../../app_settings/app_colors.dart';
import '../../../tools/titleAppBar.dart';
class ValueAddedServicesNoteAndEmailDetailPage extends StatefulWidget {
const ValueAddedServicesNoteAndEmailDetailPage({Key? key}) : super(key: key);
@override
State<ValueAddedServicesNoteAndEmailDetailPage> createState() =>
_ValueAddedServicesNoteAndEmailDetailPageState();
}
class _ValueAddedServicesNoteAndEmailDetailPageState
extends State<ValueAddedServicesNoteAndEmailDetailPage> {
final ValueAddedServicesNoteAndEmailDetailLogic logic =
Get.put(ValueAddedServicesNoteAndEmailDetailLogic());
final ValueAddedServicesNoteAndEmailDetailState state =
Get.find<ValueAddedServicesNoteAndEmailDetailLogic>().state;
@override
void initState() {
super.initState();
// logic.getServicePackageBuyUrl();
logic.getServiceUserPackage();
}
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: AppColors.mainBackgroundColor,
appBar: TitleAppBar(
barTitle: state.selectType.value == 1
? '短信'.tr
: '邮件'.tr,
haveBack: true,
backgroundColor: AppColors.mainColor),
body: Column(
children: <Widget>[
Container(
width: 1.sw,
padding: EdgeInsets.only(
left: 25.h, right: 25.h, top: 25.h, bottom: 10.h),
child: Text(
state.selectType.value == 1
? '您可通过短信将密码、电子钥匙信息发给接收人。'.tr
: '您可通过邮件将密码、电子钥匙信息发给接收人。'.tr,
style: TextStyle(
color: AppColors.darkGrayTextColor, fontSize: 18.sp),
)),
middleWidget(state.selectType.value),
],
),
);
}
Widget middleWidget(int type) {
return Container(
width: 1.sw,
margin: EdgeInsets.all(10.h),
decoration: const BoxDecoration(
image: DecorationImage(
image: AssetImage(
'images/mine/icon_mine_valueAddedServices_noteTop.png'),
fit: BoxFit.cover)),
child: Column(children: <Widget>[
Container(
margin:
const EdgeInsets.only(top: 15, bottom: 15, left: 30, right: 30),
child: Row(
children: <Widget>[
Expanded(
child: Obx(() => Text(
'${'当前剩余数量'.tr}:${state.remainCount.value}',
style: TextStyle(fontSize: 24.sp),
))),
GestureDetector(
onTap: () {
Get.toNamed(Routers.advancedFeaturesWebPage,
arguments: <String, int>{
'webBuyType': state.selectType.value == 1
? XSConstantMacro.webBuyTypeSMS
: XSConstantMacro.webBuyTypeEmail,
});
},
child: Container(
width: 50,
height: 25,
decoration: BoxDecoration(
color: AppColors.mainColor,
borderRadius: BorderRadius.circular(25)),
child: Center(
child: Text('购买'.tr,
style: TextStyle(
color: Colors.white, fontSize: 24.sp)))),
),
],
),
),
Container(
margin: const EdgeInsets.only(top: 10, bottom: 10),
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: <Widget>[
GestureDetector(
onTap: () {
Navigator.pushNamed(
context, Routers.customSMSTemplateListPage,
arguments: <String, int>{'channelType': type});
},
child: Row(
children: <Widget>[
SizedBox(
width: 30.w,
),
Image.asset(
'images/mine/icon_mine_valueAddedServices_buyIcon.png',
width: 36.w,
height: 36.w,
),
Text(
(type == 1) ? '自定义短信模版'.tr : '自定义邮件模版'.tr,
style: TextStyle(fontSize: 24.sp),
),
],
),
),
GestureDetector(
onTap: () {
if (type == 1) {
Get.toNamed(Routers.valueAddedServicesRecordPage,
arguments: UseRecordListArg.sms);
} else if (type == 2) {
Get.toNamed(Routers.valueAddedServicesRecordPage,
arguments: UseRecordListArg.email);
}
},
child: Container(
width: 90,
// height: 70.h,
margin: const EdgeInsets.only(left: 10, right: 30),
padding: const EdgeInsets.only(
top: 5, bottom: 5, left: 5, right: 5),
// color: Colors.red,
child: Center(
child: Text('记录'.tr,
style: TextStyle(
color: Colors.black, fontSize: 24.sp)))),
),
],
),
),
]));
}
}