mcy_new #1
|
After Width: | Height: | Size: 747 B |
|
After Width: | Height: | Size: 932 B |
|
After Width: | Height: | Size: 328 KiB |
|
After Width: | Height: | Size: 25 KiB |
|
After Width: | Height: | Size: 25 KiB |
|
After Width: | Height: | Size: 19 KiB |
|
After Width: | Height: | Size: 26 KiB |
|
After Width: | Height: | Size: 23 KiB |
|
After Width: | Height: | Size: 754 B |
|
After Width: | Height: | Size: 889 B |
|
After Width: | Height: | Size: 797 B |
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 772 B |
|
After Width: | Height: | Size: 928 B |
|
After Width: | Height: | Size: 888 B |
|
After Width: | Height: | Size: 811 B |
|
After Width: | Height: | Size: 45 KiB |
|
After Width: | Height: | Size: 641 B |
|
After Width: | Height: | Size: 291 KiB |
|
|
@ -63,8 +63,8 @@ class MyApp extends StatelessWidget {
|
|||
debugShowCheckedModeBanner: false,
|
||||
theme: ThemeData(
|
||||
brightness: Brightness.light,
|
||||
primarySwatch: createMaterialColor(const Color.fromRGBO(76, 199, 147, 1)),
|
||||
primaryColor: const Color.fromRGBO(76, 199, 147, 1),
|
||||
primarySwatch: createMaterialColor(const Color(0xFF8C68FF)),
|
||||
primaryColor: const Color(0xFF8C68FF),
|
||||
// textTheme: Typography.englishLike2018.apply(fontSizeFactor: 1.sp,),
|
||||
primaryTextTheme: TextTheme(
|
||||
bodyLarge: TextStyle(fontSize: 14.sp, color: Colors.black87),
|
||||
|
|
@ -72,7 +72,7 @@ class MyApp extends StatelessWidget {
|
|||
useMaterial3: false,
|
||||
colorScheme: const ColorScheme.light(
|
||||
// 修改亮色主题的主题颜色
|
||||
primary: Color.fromRGBO(76, 199, 147, 1),
|
||||
primary: Color(0xFF8C68FF),
|
||||
)),
|
||||
enableLog: true,
|
||||
logWriterCallback: (text, {bool isError = false}) {
|
||||
|
|
|
|||
|
|
@ -28,12 +28,12 @@ class HomeLogic extends GetxController with RequestToolMixin, GetTickerProviderS
|
|||
WorkStudent data = await getClient().getUnAnnotateList(params);
|
||||
state.totalCount.value = data.totalCount;
|
||||
state.readOver.value = data.items.length;
|
||||
if(params.pageNumber == 1){
|
||||
/* if(params.pageNumber == 1){
|
||||
state.workList.value = data.items;
|
||||
}else{
|
||||
state.workList.addAll(data.items);
|
||||
}
|
||||
refreshController.finishRefresh();
|
||||
refreshController.finishRefresh();*/
|
||||
}
|
||||
|
||||
@override
|
||||
|
|
|
|||
|
|
@ -24,9 +24,12 @@ class HomePage extends StatefulWidget {
|
|||
State<HomePage> createState() => _HomePageState();
|
||||
}
|
||||
|
||||
class _HomePageState extends State<HomePage> with AutomaticKeepAliveClientMixin {
|
||||
class _HomePageState extends State<HomePage>
|
||||
with AutomaticKeepAliveClientMixin {
|
||||
final logic = Get.find<HomeLogic>();
|
||||
final state = Get.find<HomeLogic>().state;
|
||||
final state = Get
|
||||
.find<HomeLogic>()
|
||||
.state;
|
||||
|
||||
@override
|
||||
bool get wantKeepAlive => true;
|
||||
|
|
@ -44,8 +47,9 @@ class _HomePageState extends State<HomePage> with AutomaticKeepAliveClientMixin
|
|||
Widget build(BuildContext context) {
|
||||
super.build(context);
|
||||
var spaceWidth = SizedBox(height: ScreenUtil().screenWidth / 30);
|
||||
return SafeArea(
|
||||
child: OrientationBuilder(
|
||||
return Scaffold(
|
||||
backgroundColor: Colors.white,
|
||||
body: OrientationBuilder(
|
||||
builder: (BuildContext context, Orientation orientation) {
|
||||
return EasyRefresh(
|
||||
firstRefresh: false,
|
||||
|
|
@ -63,198 +67,102 @@ class _HomePageState extends State<HomePage> with AutomaticKeepAliveClientMixin
|
|||
return logic.getList();
|
||||
}
|
||||
},
|
||||
child: Stack(
|
||||
children: [
|
||||
Image.asset(
|
||||
'assets/images/home_banner.png',
|
||||
width: Get.width,
|
||||
fit: BoxFit.fill,
|
||||
),
|
||||
Container(
|
||||
margin: EdgeInsets.only(top: 300.h),
|
||||
padding: EdgeInsets.symmetric(vertical: 0, horizontal: 20.r),
|
||||
decoration: BoxDecoration(
|
||||
color: Colors.white,
|
||||
borderRadius: BorderRadius.only(
|
||||
topLeft: Radius.circular(30.r),
|
||||
topRight: Radius.circular(30.r))),
|
||||
child: Column(
|
||||
children: [
|
||||
SizedBox(
|
||||
height: 15.r,
|
||||
),
|
||||
/* Container(
|
||||
height: 200.h,
|
||||
width: double.infinity,
|
||||
decoration: const BoxDecoration(
|
||||
image: DecorationImage(
|
||||
image: AssetImage('assets/images/job_home_top_bgm.png'),
|
||||
fit: BoxFit.fill, // 完全填充
|
||||
),
|
||||
),
|
||||
),*/
|
||||
SizedBox(height: MediaQuery.of(context).padding.top / 2),
|
||||
Obx(() {
|
||||
return $TermRow([
|
||||
EntranceModel(title: '作业批阅', image: 'assets/images/job_home_marking.png', navigationUrl: Routes.readOverPage),
|
||||
EntranceModel(
|
||||
title: '学生历史作业',
|
||||
image: 'assets/images/job_home_history.png',
|
||||
navigationUrl: Routes.studentHistoryWorkPage,
|
||||
page: 'history',
|
||||
),
|
||||
// EntranceModel(title: '知识点点掌握', image: 'assets/images/job_home_knowledge.png', navigationUrl: Routes.knowledgePointsGraspPage)
|
||||
EntranceModel(
|
||||
title: '知识点点掌握',
|
||||
image: 'assets/images/job_home_knowledge.png',
|
||||
navigationUrl: Routes.studentHistoryWorkPage,
|
||||
page: 'points',
|
||||
)
|
||||
], state.totalCount.value);
|
||||
}),
|
||||
spaceWidth,
|
||||
$TermRow([
|
||||
EntranceModel(title: '答题轨迹', image: 'assets/images/job_home_answer_record.png', navigationUrl: Routes.answerTrajectoryPage),
|
||||
EntranceModel(
|
||||
title: '优先批阅设定',
|
||||
image: 'assets/images/job_home_youxian.png',
|
||||
navigationUrl: Routes.studentHistoryWorkPage,
|
||||
page: 'set',
|
||||
)
|
||||
], 0),
|
||||
|
||||
/* $TermRow(
|
||||
context,
|
||||
[
|
||||
EntranceModel(
|
||||
title: '批阅设置',
|
||||
image: 'assets/images/job_home_marking_set.png',
|
||||
navigationUrl: '')
|
||||
],
|
||||
0),*/
|
||||
SizedBox(height: 15.h),
|
||||
Obx(() {
|
||||
return Container(
|
||||
padding: EdgeInsets.symmetric(horizontal: 12.w),
|
||||
child: state.workList.isNotEmpty
|
||||
? Column(
|
||||
children: List.generate(state.workList.length, (index) {
|
||||
Items item = state.workList[index];
|
||||
return InkWell(
|
||||
onTap: () {
|
||||
Get.toNamed(Routes.annotateClassPage, arguments: {
|
||||
'id': item.id,
|
||||
'name': item.name,
|
||||
'grade': item.grade,
|
||||
'subject': item.subject,
|
||||
});
|
||||
},
|
||||
child: Container(
|
||||
margin: EdgeInsets.only(bottom: 15.h),
|
||||
child: Column(
|
||||
children: [
|
||||
SizedBox(height: 4.h),
|
||||
Container(
|
||||
padding: EdgeInsets.symmetric(vertical: 15.h, horizontal: 10.w),
|
||||
width: double.infinity,
|
||||
decoration: BoxDecoration(
|
||||
borderRadius: BorderRadius.circular(6.r),
|
||||
color: const Color.fromRGBO(255, 255, 255, 1),
|
||||
boxShadow: const [
|
||||
BoxShadow(
|
||||
color: Color.fromRGBO(210, 216, 241, 1),
|
||||
offset: Offset.zero, //阴影y轴偏移量
|
||||
blurRadius: 5.8, //阴影模糊程度
|
||||
spreadRadius: 0, //阴影扩散程度
|
||||
)
|
||||
],
|
||||
),
|
||||
child: Column(
|
||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||
children: [
|
||||
Row(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
Container(
|
||||
width: Utils.isPad() ? 32.w : 38.w,
|
||||
height: 18.h,
|
||||
alignment: Alignment.center,
|
||||
padding: EdgeInsets.only(left: Utils.isPad() ? 2.w : 3.w),
|
||||
decoration: BoxDecoration(
|
||||
color: state.type == 1 ? const Color(0xFF4CC793) : const Color.fromRGBO(255, 175, 56, 1),
|
||||
borderRadius: BorderRadius.only(
|
||||
topLeft: Radius.circular(14.r),
|
||||
topRight: Radius.circular(3.r),
|
||||
bottomLeft: Radius.circular(4.r),
|
||||
bottomRight: Radius.circular(4.r),
|
||||
),
|
||||
),
|
||||
margin: EdgeInsets.only(top: 3.h, right: 4.w),
|
||||
child: quickText(state.type == 1 ? '作业' : '考试', color: Colors.white, size: 10.sp),
|
||||
),
|
||||
Expanded(
|
||||
child: quickText(
|
||||
item.name,
|
||||
maxLines: 2,
|
||||
size: Utils.isPad() ? 14.sp : 16.sp,
|
||||
color: const Color.fromRGBO(70, 70, 70, 1),
|
||||
fontWeight: FontWeight.bold,
|
||||
),
|
||||
)
|
||||
],
|
||||
),
|
||||
SizedBox(height: 10.h),
|
||||
Row(
|
||||
crossAxisAlignment: CrossAxisAlignment.end,
|
||||
children: [
|
||||
quickText(
|
||||
EnumUtils.formatSubject(item.subject),
|
||||
color: const Color.fromRGBO(97, 97, 97, 1),
|
||||
size: 12.sp,
|
||||
),
|
||||
quickText(' / ',
|
||||
color: const Color.fromRGBO(130, 130, 130, 1), size: 11.sp, fontWeight: FontWeight.w500),
|
||||
Row(
|
||||
crossAxisAlignment: CrossAxisAlignment.end,
|
||||
children: [
|
||||
quickText('题量:', color: const Color.fromRGBO(130, 130, 130, 1), size: 11.sp),
|
||||
quickText(
|
||||
'${item.questionCount! - item.annotateCount!}',
|
||||
color: const Color.fromRGBO(97, 97, 97, 1),
|
||||
size: 13.sp,
|
||||
),
|
||||
],
|
||||
),
|
||||
quickText(' / ',
|
||||
color: const Color.fromRGBO(130, 130, 130, 1), size: 11.sp, fontWeight: FontWeight.w500),
|
||||
quickText(DateTime.parse(item.publishTime).toString().substring(0, 10),
|
||||
color: const Color.fromRGBO(97, 97, 97, 1), size: 12.sp),
|
||||
],
|
||||
),
|
||||
SizedBox(height: 10.h),
|
||||
Row(
|
||||
children: [
|
||||
Expanded(
|
||||
child: Container(
|
||||
decoration: BoxDecoration(
|
||||
borderRadius: BorderRadius.circular(10.r),
|
||||
),
|
||||
child: LinearPercentIndicator(
|
||||
padding: EdgeInsets.zero,
|
||||
animation: true,
|
||||
lineHeight: 8.h,
|
||||
animationDuration: 2500,
|
||||
percent: item.annotateRate == null ? 0 : item.annotateRate! / 100,
|
||||
progressColor: const Color(0xFF4CC793),
|
||||
backgroundColor: const Color(0xFFE8E8E8),
|
||||
barRadius: Radius.circular(10.r),
|
||||
),
|
||||
),
|
||||
Text(
|
||||
'我的作业管理',
|
||||
style: TextStyle(
|
||||
fontSize: 20.sp,
|
||||
color: const Color(0xFF676666),
|
||||
fontWeight: FontWeight.w600),
|
||||
),
|
||||
SizedBox(
|
||||
width: 10.r,
|
||||
height: 15.r,
|
||||
),
|
||||
quickText('${item.annotateRate!.toStringAsFixed(0)}%', size: 10.sp, color: const Color(0xFF464646)),
|
||||
],
|
||||
),
|
||||
// FavoriteButton(jobTaskItem.id, jobTaskItem.title),
|
||||
],
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
);
|
||||
Row(
|
||||
children: [
|
||||
Expanded(
|
||||
child: Obx(() {
|
||||
return menuItem(
|
||||
bgImg: 'assets/images/home_bg_01.png',
|
||||
name: '作业批阅',
|
||||
value: state.totalCount.value.toString(),
|
||||
url: Routes.readOverPage);
|
||||
}),
|
||||
),
|
||||
SizedBox(
|
||||
width: 20.r,
|
||||
),
|
||||
Expanded(
|
||||
child: menuItem(
|
||||
bgImg: 'assets/images/home_bg_02.png',
|
||||
name: '知识点点掌握',
|
||||
url: Routes.studentHistoryWorkPage,
|
||||
page: 'points'),
|
||||
),
|
||||
],
|
||||
),
|
||||
SizedBox(
|
||||
height: 20.r,
|
||||
),
|
||||
Row(
|
||||
children: [
|
||||
Expanded(
|
||||
child: menuItem(
|
||||
bgImg: 'assets/images/home_bg_03.png',
|
||||
name: '学生历史作业',
|
||||
url: Routes.studentHistoryWorkPage,
|
||||
page: 'history'),
|
||||
),
|
||||
SizedBox(
|
||||
width: 20.r,
|
||||
),
|
||||
Expanded(
|
||||
child: menuItem(
|
||||
bgImg: 'assets/images/home_bg_04.png',
|
||||
name: '答题轨迹',
|
||||
url: Routes.answerTrajectoryPage),
|
||||
),
|
||||
],
|
||||
),
|
||||
SizedBox(
|
||||
height: 20.r,
|
||||
),
|
||||
Row(
|
||||
children: [
|
||||
menuItem(
|
||||
bgImg: 'assets/images/home_bg_05.png',
|
||||
name: '优先批阅设定',
|
||||
url: Routes.studentHistoryWorkPage,
|
||||
page: 'set',),
|
||||
SizedBox(
|
||||
width: 20.r,
|
||||
),
|
||||
|
||||
],
|
||||
),
|
||||
SizedBox(height: 15.h),
|
||||
],
|
||||
),
|
||||
)
|
||||
: const MyEmptyWidget(),
|
||||
);
|
||||
}),
|
||||
],
|
||||
),
|
||||
);
|
||||
|
|
@ -270,13 +178,84 @@ class _HomePageState extends State<HomePage> with AutomaticKeepAliveClientMixin
|
|||
}
|
||||
}
|
||||
|
||||
Widget menuItem({required String bgImg, required String name, String? value,required String url,String? page}) {
|
||||
return InkWell(
|
||||
onTap: (){
|
||||
Get.toNamed(url, arguments: {'page': page ?? ''});
|
||||
},
|
||||
child: Container(
|
||||
width: (Get.width - 60.r) / 2,
|
||||
height: (Get.width - 60.r) / 2 * 86 / 164,
|
||||
padding: EdgeInsets.symmetric(
|
||||
vertical: 15.r, horizontal: 15.r),
|
||||
decoration: BoxDecoration(
|
||||
image: DecorationImage(
|
||||
image: AssetImage(
|
||||
bgImg),
|
||||
fit: BoxFit.contain,
|
||||
),
|
||||
),
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
Row(
|
||||
mainAxisAlignment: MainAxisAlignment
|
||||
.spaceBetween,
|
||||
crossAxisAlignment: CrossAxisAlignment
|
||||
.center,
|
||||
children: [
|
||||
Text(
|
||||
name,
|
||||
style: TextStyle(
|
||||
fontSize: 14.sp,
|
||||
color: const Color(0xFF4F4F4F),
|
||||
fontWeight: FontWeight.w600),
|
||||
),
|
||||
if(value != null && value != '')
|
||||
Container(
|
||||
width: 18.r,
|
||||
height: 18.r,
|
||||
alignment: Alignment.center,
|
||||
decoration: BoxDecoration(
|
||||
color: const Color(0xFFFF6969),
|
||||
borderRadius: BorderRadius.all(
|
||||
Radius.circular(9.r)),
|
||||
),
|
||||
child: Text(
|
||||
value!,
|
||||
style: TextStyle(fontSize: 10.sp,
|
||||
color: Colors.white,
|
||||
fontWeight: FontWeight.w600),),
|
||||
)
|
||||
],
|
||||
),
|
||||
const Spacer(),
|
||||
Row(
|
||||
mainAxisAlignment: MainAxisAlignment.end,
|
||||
children: [
|
||||
Image.asset(
|
||||
'assets/images/home_right_icon.png',
|
||||
width: 16.r,
|
||||
height: 16.r,
|
||||
),
|
||||
],
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
class EntranceModel extends Object {
|
||||
String title;
|
||||
String image;
|
||||
String navigationUrl;
|
||||
String? page;
|
||||
|
||||
EntranceModel({required this.title, required this.image, required this.navigationUrl, this.page});
|
||||
EntranceModel({required this.title,
|
||||
required this.image,
|
||||
required this.navigationUrl,
|
||||
this.page});
|
||||
}
|
||||
|
||||
@swidget
|
||||
|
|
@ -285,7 +264,8 @@ Widget $termRow(BuildContext context, List<EntranceModel> items, int? data) {
|
|||
Widget childWidget;
|
||||
switch (leng) {
|
||||
case 1:
|
||||
childWidget = Row(children: [Expanded(child: $TermItem(items[0], data!))]);
|
||||
childWidget =
|
||||
Row(children: [Expanded(child: $TermItem(items[0], data!))]);
|
||||
break;
|
||||
case 2:
|
||||
childWidget = Row(children: [
|
||||
|
|
@ -320,11 +300,13 @@ Widget $termRow(BuildContext context, List<EntranceModel> items, int? data) {
|
|||
childWidget = Container();
|
||||
}
|
||||
|
||||
return Container(padding: EdgeInsets.symmetric(horizontal: 14.w), child: childWidget);
|
||||
return Container(
|
||||
padding: EdgeInsets.symmetric(horizontal: 14.w), child: childWidget);
|
||||
}
|
||||
|
||||
@swidget
|
||||
Widget $termItem(BuildContext context, EntranceModel e, int data, {double? theHeight}) {
|
||||
Widget $termItem(BuildContext context, EntranceModel e, int data,
|
||||
{double? theHeight}) {
|
||||
bool isJob = e.title == '作业批阅';
|
||||
|
||||
return Material(
|
||||
|
|
@ -353,10 +335,14 @@ Widget $termItem(BuildContext context, EntranceModel e, int data, {double? theHe
|
|||
badgeStyle: badges.BadgeStyle(
|
||||
badgeColor: const Color.fromRGBO(255, 105, 105, 1),
|
||||
shape: badges.BadgeShape.square,
|
||||
borderRadius: BorderRadius.only(topLeft: Radius.circular(10.r), topRight: Radius.circular(8.5.r), bottomRight: Radius.circular(8.5.r)),
|
||||
borderRadius: BorderRadius.only(
|
||||
topLeft: Radius.circular(10.r),
|
||||
topRight: Radius.circular(8.5.r),
|
||||
bottomRight: Radius.circular(8.5.r)),
|
||||
// borderSide: BorderSide(color: Colors.white, width: 2),
|
||||
elevation: 1,
|
||||
padding: EdgeInsets.symmetric(horizontal: Utils.isPad() ? 11.w : 16.w, vertical: 2.h),
|
||||
padding: EdgeInsets.symmetric(
|
||||
horizontal: Utils.isPad() ? 11.w : 16.w, vertical: 2.h),
|
||||
),
|
||||
position: badges.BadgePosition.topEnd(top: 10.r, end: 10.r),
|
||||
child: Container(
|
||||
|
|
@ -379,17 +365,25 @@ Widget $termItem(BuildContext context, EntranceModel e, int data, {double? theHe
|
|||
? Column(
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
children: [
|
||||
Image.asset(e.image, height: 32.r, width: 32.r, fit: BoxFit.cover),
|
||||
Image.asset(e.image,
|
||||
height: 32.r, width: 32.r, fit: BoxFit.cover),
|
||||
SizedBox(height: 6.r),
|
||||
quickText(e.title, size: 12.sp, color: const Color.fromRGBO(79, 79, 79, 1), fontWeight: FontWeight.w500),
|
||||
quickText(e.title,
|
||||
size: 12.sp,
|
||||
color: const Color.fromRGBO(79, 79, 79, 1),
|
||||
fontWeight: FontWeight.w500),
|
||||
],
|
||||
)
|
||||
: Row(
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
children: [
|
||||
Image.asset(e.image, height: 32.r, width: 32.r, fit: BoxFit.cover),
|
||||
Image.asset(e.image,
|
||||
height: 32.r, width: 32.r, fit: BoxFit.cover),
|
||||
SizedBox(width: 6.r),
|
||||
quickText(e.title, size: 12.sp, color: const Color.fromRGBO(79, 79, 79, 1), fontWeight: FontWeight.w500),
|
||||
quickText(e.title,
|
||||
size: 12.sp,
|
||||
color: const Color.fromRGBO(79, 79, 79, 1),
|
||||
fontWeight: FontWeight.w500),
|
||||
],
|
||||
),
|
||||
),
|
||||
|
|
|
|||
|
|
@ -56,58 +56,52 @@ class _LoginPageState extends State<LoginPage> {
|
|||
statusBarBrightness: Brightness.dark,
|
||||
),
|
||||
child: Scaffold(
|
||||
backgroundColor: Colors.transparent,
|
||||
backgroundColor: Colors.white,
|
||||
resizeToAvoidBottomInset: false,
|
||||
body: Container(
|
||||
width: double.infinity,
|
||||
height: double.infinity,
|
||||
alignment: Alignment.center,
|
||||
decoration: const BoxDecoration(
|
||||
image: DecorationImage(
|
||||
image: AssetImage('assets/images/login_bg.png'),
|
||||
fit: BoxFit.fill, // 完全填充
|
||||
),
|
||||
),
|
||||
child: SingleChildScrollView(
|
||||
body: Stack(
|
||||
children: [
|
||||
Positioned(
|
||||
top: 0,
|
||||
left: 0,
|
||||
child: Image.asset('assets/images/logo_banner.png',width: Get.width,fit: BoxFit.fill,)),
|
||||
SingleChildScrollView(
|
||||
child: Column(
|
||||
children: [
|
||||
SizedBox(height: 130.r,),
|
||||
Container(
|
||||
width: 86.w,
|
||||
height: 86.w,
|
||||
width: 77.w,
|
||||
height: 77.w,
|
||||
alignment: Alignment.center,
|
||||
child: SizedBox(
|
||||
height: 86.w,
|
||||
width: 86.w,
|
||||
height: 77.w,
|
||||
width: 77.w,
|
||||
child: Image.asset('assets/images/login_logo.png',
|
||||
fit: BoxFit.cover),
|
||||
),
|
||||
),
|
||||
Container(
|
||||
margin: EdgeInsets.symmetric(
|
||||
horizontal: 32.w, vertical: 24.h),
|
||||
margin: EdgeInsets.only(top: 90.r),
|
||||
padding: EdgeInsets.only(
|
||||
top: 34.h, bottom: 16.h, left: 22.w, right: 22.w),
|
||||
color: Colors.transparent,
|
||||
/* decoration: BoxDecoration(
|
||||
color: Colors.transparent,
|
||||
border: Border.all(width: 1.w, color: Colors.white),
|
||||
borderRadius: BorderRadius.all(Radius.circular(10.w)),
|
||||
boxShadow: const [
|
||||
top: 50.h, bottom: 16.h, left: 40.w, right: 40.w),
|
||||
decoration: BoxDecoration(
|
||||
color: Colors.white,
|
||||
borderRadius: BorderRadius.only(topLeft: Radius.circular(30.r),topRight: Radius.circular(30.r)),
|
||||
/*boxShadow: const [
|
||||
BoxShadow(
|
||||
color: Color.fromRGBO(46, 91, 255, 0.1),
|
||||
offset: Offset.zero, //阴影y轴偏移量
|
||||
blurRadius: 100, //阴影模糊程度
|
||||
spreadRadius: 100, //阴影扩散程度
|
||||
)
|
||||
],
|
||||
),*/
|
||||
],*/
|
||||
),
|
||||
child: Column(children: [
|
||||
Container(
|
||||
padding: EdgeInsets.symmetric(horizontal: 20.h),
|
||||
padding: EdgeInsets.symmetric(horizontal: 15.w,),
|
||||
decoration: BoxDecoration(
|
||||
color: Colors.transparent,
|
||||
border: Border.all(
|
||||
width: 1.w, color: const Color(0xFFFFFFFF)),
|
||||
width: 1.w, color: const Color(0xFF434343)),
|
||||
borderRadius:
|
||||
BorderRadius.all(Radius.circular(17.w)),
|
||||
),
|
||||
|
|
@ -121,19 +115,19 @@ class _LoginPageState extends State<LoginPage> {
|
|||
// FocusScope.of(context).requestFocus(_pwdFocus);
|
||||
},
|
||||
style: TextStyle(
|
||||
color: Colors.white,
|
||||
color: const Color(0xFF434343),
|
||||
fontSize: 14.sp,
|
||||
),
|
||||
decoration: InputDecoration(
|
||||
hintText: "请输入账号",
|
||||
hintStyle: TextStyle(
|
||||
fontSize: 14.sp,
|
||||
color: Colors.white,
|
||||
color: const Color(0xFF434343),
|
||||
),
|
||||
// labelText: "账号",
|
||||
labelStyle: TextStyle(
|
||||
fontSize: 14.sp,
|
||||
color: Colors.white,
|
||||
color: const Color(0xFF434343),
|
||||
),
|
||||
border: InputBorder.none,
|
||||
isDense: true,
|
||||
|
|
@ -153,15 +147,15 @@ class _LoginPageState extends State<LoginPage> {
|
|||
),
|
||||
),
|
||||
SizedBox(
|
||||
height: 15.r,
|
||||
height: 20.r,
|
||||
),
|
||||
Obx(() {
|
||||
return Container(
|
||||
padding: EdgeInsets.symmetric(horizontal: 20.h),
|
||||
padding: EdgeInsets.symmetric(horizontal: 15.w),
|
||||
decoration: BoxDecoration(
|
||||
color: Colors.transparent,
|
||||
border: Border.all(
|
||||
width: 1.w, color: const Color(0xFFFFFFFF)),
|
||||
width: 1.w, color: const Color(0xFF434343)),
|
||||
borderRadius:
|
||||
BorderRadius.all(Radius.circular(17.w)),
|
||||
),
|
||||
|
|
@ -175,7 +169,7 @@ class _LoginPageState extends State<LoginPage> {
|
|||
// textInputAction: state.isShowPwd.value?TextInputAction.go:TextInputAction.next,
|
||||
// onSubmitted: (val) => toLogin(),
|
||||
style: TextStyle(
|
||||
color: Colors.white,
|
||||
color: const Color(0xFF434343),
|
||||
fontSize: 14.sp,
|
||||
),
|
||||
decoration: InputDecoration(
|
||||
|
|
@ -214,7 +208,7 @@ class _LoginPageState extends State<LoginPage> {
|
|||
),
|
||||
hintStyle: TextStyle(
|
||||
fontSize: 14.sp,
|
||||
color: Colors.white,
|
||||
color: const Color(0xFF434343),
|
||||
),
|
||||
border: InputBorder.none,
|
||||
// labelText: "密码",
|
||||
|
|
@ -268,8 +262,8 @@ class _LoginPageState extends State<LoginPage> {
|
|||
}
|
||||
//修改默认时边框颜色为绿色
|
||||
return BorderSide(
|
||||
width: 1.5.r,
|
||||
color: Colors.white);
|
||||
width: 1.r,
|
||||
color: const Color(0xFF434343));
|
||||
},
|
||||
)),
|
||||
);
|
||||
|
|
@ -291,7 +285,7 @@ class _LoginPageState extends State<LoginPage> {
|
|||
'记住密码',
|
||||
style: TextStyle(
|
||||
fontSize: 12.sp,
|
||||
color: Colors.white,
|
||||
color:const Color(0xFF434343),
|
||||
),
|
||||
),
|
||||
),
|
||||
|
|
@ -300,7 +294,7 @@ class _LoginPageState extends State<LoginPage> {
|
|||
),
|
||||
InkWell(
|
||||
onTap: () => Get.toNamed(Routes.register),
|
||||
child: quickText('账号注册', color: Colors.white),
|
||||
child: quickText('账号注册', color: const Color(0xFF434343)),
|
||||
)
|
||||
],
|
||||
),
|
||||
|
|
@ -314,9 +308,9 @@ class _LoginPageState extends State<LoginPage> {
|
|||
margin: EdgeInsets.symmetric(vertical: 10.h),
|
||||
decoration: BoxDecoration(
|
||||
color: state.canLogin.value
|
||||
? const Color(0xFF4CC793)
|
||||
? const Color(0xFF8C68FF)
|
||||
: const Color(0xFFdddddd),
|
||||
boxShadow: [
|
||||
/*boxShadow: [
|
||||
BoxShadow(
|
||||
color:
|
||||
const Color.fromRGBO(76, 199, 147, 0.5),
|
||||
|
|
@ -324,7 +318,7 @@ class _LoginPageState extends State<LoginPage> {
|
|||
blurRadius: 14, //阴影模糊程度
|
||||
spreadRadius: 0.5, //阴影扩散程度
|
||||
)
|
||||
],
|
||||
],*/
|
||||
borderRadius: BorderRadius.all(
|
||||
Radius.circular(17.w),
|
||||
),
|
||||
|
|
@ -371,7 +365,7 @@ class _LoginPageState extends State<LoginPage> {
|
|||
}
|
||||
//修改默认时边框颜色为绿色
|
||||
return BorderSide(
|
||||
width: 1.5.r, color: Colors.white);
|
||||
width: 1.r, color: const Color(0xFF434343));
|
||||
},
|
||||
),
|
||||
),
|
||||
|
|
@ -408,7 +402,9 @@ class _LoginPageState extends State<LoginPage> {
|
|||
)
|
||||
],
|
||||
),
|
||||
)),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
|
|
|
|||