mcy_new #1
|
After Width: | Height: | Size: 4.4 KiB |
|
After Width: | Height: | Size: 2.7 KiB |
|
After Width: | Height: | Size: 7.1 KiB |
|
After Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 22 KiB |
|
After Width: | Height: | Size: 483 B |
|
After Width: | Height: | Size: 432 B |
|
|
@ -92,7 +92,7 @@ class _AnnotateClassPageState extends State<AnnotateClassPage> {
|
||||||
return AnnotateItem(
|
return AnnotateItem(
|
||||||
homeworkId: homeworkId,
|
homeworkId: homeworkId,
|
||||||
item: item,
|
item: item,
|
||||||
font: 8.sp,
|
font: 11.sp,
|
||||||
name: state.name.value,
|
name: state.name.value,
|
||||||
logic: logic,
|
logic: logic,
|
||||||
);
|
);
|
||||||
|
|
|
||||||
|
|
@ -161,7 +161,7 @@ class _FavStudentPageState extends State<FavStudentPage> {
|
||||||
.width,
|
.width,
|
||||||
height: 1.r,
|
height: 1.r,
|
||||||
decoration: const BoxDecoration(
|
decoration: const BoxDecoration(
|
||||||
color: Color(0xFFCCCCCC),
|
color: Color(0xFFEEEEEE),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
Obx((){
|
Obx((){
|
||||||
|
|
|
||||||
|
|
@ -59,11 +59,11 @@ class _MyInfoState extends State<MyInfo> with AutomaticKeepAliveClientMixin {
|
||||||
|
|
||||||
final personalInfoTitleStly = TextStyle(
|
final personalInfoTitleStly = TextStyle(
|
||||||
color: const Color.fromRGBO(80, 87, 103, 1),
|
color: const Color.fromRGBO(80, 87, 103, 1),
|
||||||
fontSize: 16.sp,
|
fontSize: 13.sp,
|
||||||
);
|
);
|
||||||
final personalInfoValStly = TextStyle(
|
final personalInfoValStly = TextStyle(
|
||||||
color: const Color.fromRGBO(148, 163, 182, 1),
|
color: const Color.fromRGBO(148, 163, 182, 1),
|
||||||
fontSize: 16.sp,
|
fontSize: 13.sp,
|
||||||
);
|
);
|
||||||
|
|
||||||
return AnnotatedRegion(
|
return AnnotatedRegion(
|
||||||
|
|
@ -80,7 +80,7 @@ class _MyInfoState extends State<MyInfo> with AutomaticKeepAliveClientMixin {
|
||||||
child: Column(
|
child: Column(
|
||||||
children: [
|
children: [
|
||||||
Container(
|
Container(
|
||||||
height: 240.h,
|
height: 220.h,
|
||||||
width: double.infinity,
|
width: double.infinity,
|
||||||
decoration: const BoxDecoration(
|
decoration: const BoxDecoration(
|
||||||
image: DecorationImage(
|
image: DecorationImage(
|
||||||
|
|
@ -105,45 +105,14 @@ class _MyInfoState extends State<MyInfo> with AutomaticKeepAliveClientMixin {
|
||||||
alignment: const FractionalOffset(0.04, 0.1),
|
alignment: const FractionalOffset(0.04, 0.1),
|
||||||
children: [
|
children: [
|
||||||
Container(
|
Container(
|
||||||
height: 200.h,
|
height: 180.h,
|
||||||
alignment: Alignment.center,
|
alignment: Alignment.center,
|
||||||
child: Column(
|
child: Column(
|
||||||
mainAxisAlignment: MainAxisAlignment.center,
|
mainAxisAlignment: MainAxisAlignment.center,
|
||||||
children: [
|
children: [
|
||||||
ClipRRect(
|
SizedBox(height: 10.r,),
|
||||||
borderRadius: BorderRadius.circular(80.w),
|
Image.asset('assets/images/default_user_dead.png',),
|
||||||
child: Container(
|
SizedBox(height: 10.r,),
|
||||||
width: 80.w,
|
|
||||||
height: 80.w,
|
|
||||||
padding: EdgeInsets.all(4.w),
|
|
||||||
decoration: BoxDecoration(
|
|
||||||
border: Border.all(
|
|
||||||
width: 1.w,
|
|
||||||
color: Colors.white,
|
|
||||||
),
|
|
||||||
borderRadius: BorderRadius.all(
|
|
||||||
Radius.circular(40.w),
|
|
||||||
),
|
|
||||||
boxShadow: [
|
|
||||||
BoxShadow(
|
|
||||||
color: const Color.fromRGBO(46, 91, 255, 0.2),
|
|
||||||
offset: Offset(4.w, 6.h), //阴影y轴偏移量
|
|
||||||
blurRadius: 8, //阴影模糊程度
|
|
||||||
spreadRadius: 0.2, //阴影扩散程度
|
|
||||||
)
|
|
||||||
],
|
|
||||||
),
|
|
||||||
child: Image.asset('assets/images/default_user_dead.png')
|
|
||||||
|
|
||||||
/* CachedNetworkImage(
|
|
||||||
fit: BoxFit.cover,
|
|
||||||
imageUrl:'',
|
|
||||||
placeholder: (context, url) => Image.asset('assets/images/default_user_dead.png'),
|
|
||||||
errorWidget: (context, url, error) =>
|
|
||||||
Image.asset('assets/images/default_user_dead.png'),
|
|
||||||
),*/
|
|
||||||
),
|
|
||||||
),
|
|
||||||
InkWell(
|
InkWell(
|
||||||
onTap: () {
|
onTap: () {
|
||||||
/*if (tokenState == '' || userState.id == '') {
|
/*if (tokenState == '' || userState.id == '') {
|
||||||
|
|
@ -151,10 +120,10 @@ class _MyInfoState extends State<MyInfo> with AutomaticKeepAliveClientMixin {
|
||||||
}*/
|
}*/
|
||||||
},
|
},
|
||||||
child: Container(
|
child: Container(
|
||||||
margin: EdgeInsets.only(top: 16.h),
|
margin: EdgeInsets.only(top: 0.h),
|
||||||
child: Text(
|
child: Text(
|
||||||
userInfo.value?.name ?? '请前往登录',
|
userInfo.value?.name ?? '请前往登录',
|
||||||
style: TextStyle(fontSize: 16.sp, color: Colors.white),
|
style: TextStyle(fontSize: 13.sp, color: Colors.white),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
|
@ -171,7 +140,7 @@ class _MyInfoState extends State<MyInfo> with AutomaticKeepAliveClientMixin {
|
||||||
Container(
|
Container(
|
||||||
margin: EdgeInsets.symmetric(vertical: 22.h, horizontal: 16.w),
|
margin: EdgeInsets.symmetric(vertical: 22.h, horizontal: 16.w),
|
||||||
padding: EdgeInsets.symmetric(vertical: 22.h, horizontal: 16.w),
|
padding: EdgeInsets.symmetric(vertical: 22.h, horizontal: 16.w),
|
||||||
height: 240.h,
|
height: 180.h,
|
||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
borderRadius: BorderRadius.all(Radius.circular(6.w)),
|
borderRadius: BorderRadius.all(Radius.circular(6.w)),
|
||||||
color: Colors.white,
|
color: Colors.white,
|
||||||
|
|
@ -245,7 +214,7 @@ class _MyInfoState extends State<MyInfo> with AutomaticKeepAliveClientMixin {
|
||||||
Icon(
|
Icon(
|
||||||
Icons.arrow_forward_ios,
|
Icons.arrow_forward_ios,
|
||||||
color: const Color.fromRGBO(80, 87, 103, 1),
|
color: const Color.fromRGBO(80, 87, 103, 1),
|
||||||
size: 16.sp,
|
size: 13.sp,
|
||||||
)
|
)
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
|
|
@ -285,7 +254,7 @@ class _MyInfoState extends State<MyInfo> with AutomaticKeepAliveClientMixin {
|
||||||
children: [
|
children: [
|
||||||
Icon(
|
Icon(
|
||||||
Icons.exit_to_app_outlined,
|
Icons.exit_to_app_outlined,
|
||||||
size: 16.sp,
|
size: 13.sp,
|
||||||
color: const Color.fromRGBO(148, 163, 182, 1),
|
color: const Color.fromRGBO(148, 163, 182, 1),
|
||||||
),
|
),
|
||||||
Container(
|
Container(
|
||||||
|
|
@ -293,7 +262,7 @@ class _MyInfoState extends State<MyInfo> with AutomaticKeepAliveClientMixin {
|
||||||
),
|
),
|
||||||
Text(
|
Text(
|
||||||
'退出登录',
|
'退出登录',
|
||||||
style: TextStyle(color: const Color.fromRGBO(148, 163, 182, 1), fontSize: 16.sp),
|
style: TextStyle(color: const Color.fromRGBO(148, 163, 182, 1), fontSize: 13.sp),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
|
|
|
||||||
|
|
@ -290,6 +290,7 @@ Widget $reviewedItem({
|
||||||
padding: padEdg,
|
padding: padEdg,
|
||||||
child: Row(
|
child: Row(
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
|
|
||||||
children: [
|
children: [
|
||||||
Container(
|
Container(
|
||||||
width: 32.w,
|
width: 32.w,
|
||||||
|
|
@ -310,23 +311,19 @@ Widget $reviewedItem({
|
||||||
),
|
),
|
||||||
Expanded(
|
Expanded(
|
||||||
child: quickText(jobTaskItem.name, size: 14.sp, color: const Color.fromRGBO(70, 70, 70, 1), maxLines: 2),
|
child: quickText(jobTaskItem.name, size: 14.sp, color: const Color.fromRGBO(70, 70, 70, 1), maxLines: 2),
|
||||||
)
|
|
||||||
],
|
|
||||||
),
|
|
||||||
),
|
),
|
||||||
if (jobTaskItem.isFixed!)
|
if (jobTaskItem.isFixed!)
|
||||||
Padding(
|
Padding(
|
||||||
padding: padEdg,
|
padding: EdgeInsets.only(top: 3.r),
|
||||||
child: Row(
|
child: Text(
|
||||||
mainAxisAlignment: MainAxisAlignment.end,
|
|
||||||
children: [
|
|
||||||
Text(
|
|
||||||
'已订正',
|
'已订正',
|
||||||
style: TextStyle(fontSize: 10.sp, color: const Color(0xFFF16262)),
|
style: TextStyle(fontSize: 10.sp, color: const Color(0xFFF16262)),
|
||||||
),
|
),
|
||||||
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
|
||||||
Padding(
|
Padding(
|
||||||
padding: padEdg,
|
padding: padEdg,
|
||||||
child: Row(
|
child: Row(
|
||||||
|
|
|
||||||
|
|
@ -164,8 +164,11 @@ class _TaskListItemState extends State<TaskListItem> {
|
||||||
alignment: const FractionalOffset(0.95, 0),
|
alignment: const FractionalOffset(0.95, 0),
|
||||||
children: [
|
children: [
|
||||||
Container(
|
Container(
|
||||||
|
color: Colors.transparent,
|
||||||
|
padding: EdgeInsets.only(top: 40.r),
|
||||||
|
child: Container(
|
||||||
margin: EdgeInsets.only(bottom: 16.h),
|
margin: EdgeInsets.only(bottom: 16.h),
|
||||||
padding: EdgeInsets.symmetric(vertical: 16.h, horizontal: 10.w),
|
padding: EdgeInsets.symmetric(vertical: 16.h,horizontal: 10.w),
|
||||||
width: Get.width,
|
width: Get.width,
|
||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
borderRadius: BorderRadius.circular(6.r),
|
borderRadius: BorderRadius.circular(6.r),
|
||||||
|
|
@ -186,7 +189,7 @@ class _TaskListItemState extends State<TaskListItem> {
|
||||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
children: [
|
children: [
|
||||||
SizedBox(height: 30.h),
|
SizedBox(height: 10.h),
|
||||||
Row(
|
Row(
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
children: [
|
children: [
|
||||||
|
|
@ -269,16 +272,17 @@ class _TaskListItemState extends State<TaskListItem> {
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
SizedBox(width: 100.r,),
|
SizedBox(width: 130.r,),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
),
|
||||||
Container(
|
Container(
|
||||||
padding: EdgeInsets.all(9.r),
|
padding: EdgeInsets.all(9.r),
|
||||||
decoration: const BoxDecoration(shape: BoxShape.circle, color: Colors.white),
|
decoration: const BoxDecoration(shape: BoxShape.circle, color: Colors.white),
|
||||||
child: CircularPercentIndicator(
|
child: CircularPercentIndicator(
|
||||||
radius: 40.r,
|
radius: 50.r,
|
||||||
lineWidth: 10.r,
|
lineWidth: 18.r,
|
||||||
animation: true,
|
animation: true,
|
||||||
percent: widget.jobTaskItem.annotateRate == null ? 0 : widget.jobTaskItem.annotateRate! / 100,
|
percent: widget.jobTaskItem.annotateRate == null ? 0 : widget.jobTaskItem.annotateRate! / 100,
|
||||||
center: Text.rich(TextSpan(children: [
|
center: Text.rich(TextSpan(children: [
|
||||||
|
|
|
||||||
|
|
@ -34,7 +34,7 @@ class _HomePageState extends State<HomePage> with AutomaticKeepAliveClientMixin
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
super.build(context);
|
super.build(context);
|
||||||
var spaceWidth = SizedBox(height: ScreenUtil().screenWidth / 19);
|
var spaceWidth = SizedBox(height: ScreenUtil().screenWidth / 30);
|
||||||
return SafeArea(
|
return SafeArea(
|
||||||
child: AnnotatedRegion(
|
child: AnnotatedRegion(
|
||||||
value: const SystemUiOverlayStyle(
|
value: const SystemUiOverlayStyle(
|
||||||
|
|
@ -63,6 +63,7 @@ class _HomePageState extends State<HomePage> with AutomaticKeepAliveClientMixin
|
||||||
},
|
},
|
||||||
child: Column(
|
child: Column(
|
||||||
children: [
|
children: [
|
||||||
|
SizedBox(height: 15.r,),
|
||||||
/* Container(
|
/* Container(
|
||||||
height: 200.h,
|
height: 200.h,
|
||||||
width: double.infinity,
|
width: double.infinity,
|
||||||
|
|
@ -105,7 +106,7 @@ class _HomePageState extends State<HomePage> with AutomaticKeepAliveClientMixin
|
||||||
navigationUrl: '')
|
navigationUrl: '')
|
||||||
],
|
],
|
||||||
0),*/
|
0),*/
|
||||||
SizedBox(height: 16.h),
|
SizedBox(height: 15.h),
|
||||||
Obx(() {
|
Obx(() {
|
||||||
return Container(
|
return Container(
|
||||||
padding: EdgeInsets.symmetric(horizontal: 12.w),
|
padding: EdgeInsets.symmetric(horizontal: 12.w),
|
||||||
|
|
@ -122,12 +123,12 @@ class _HomePageState extends State<HomePage> with AutomaticKeepAliveClientMixin
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
child: Container(
|
child: Container(
|
||||||
margin: EdgeInsets.only(bottom: 16.h),
|
margin: EdgeInsets.only(bottom: 15.h),
|
||||||
child: Column(
|
child: Column(
|
||||||
children: [
|
children: [
|
||||||
SizedBox(height: 4.h),
|
SizedBox(height: 4.h),
|
||||||
Container(
|
Container(
|
||||||
padding: EdgeInsets.symmetric(vertical: 16.h, horizontal: 10.w),
|
padding: EdgeInsets.symmetric(vertical: 15.h, horizontal: 10.w),
|
||||||
width: double.infinity,
|
width: double.infinity,
|
||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
borderRadius: BorderRadius.circular(6.r),
|
borderRadius: BorderRadius.circular(6.r),
|
||||||
|
|
@ -272,16 +273,17 @@ Widget $termRow(BuildContext context, List<EntranceModel> items, int? data) {
|
||||||
case 2:
|
case 2:
|
||||||
childWidget = Row(children: [
|
childWidget = Row(children: [
|
||||||
Expanded(flex: 9, child: $TermItem(items[0], data!)),
|
Expanded(flex: 9, child: $TermItem(items[0], data!)),
|
||||||
const Expanded(flex: 1, child: SizedBox()),
|
// const Expanded(flex: 1, child: SizedBox()),
|
||||||
|
SizedBox(width: ScreenUtil().screenWidth / 30),
|
||||||
Expanded(flex: 9, child: $TermItem(items[1], data!)),
|
Expanded(flex: 9, child: $TermItem(items[1], data!)),
|
||||||
]);
|
]);
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
double theHeight = ScreenUtil().screenWidth / 19 + 54.h * 2;
|
double theHeight = ScreenUtil().screenWidth / 30 + 54.h * 2;
|
||||||
childWidget = Row(
|
childWidget = Row(
|
||||||
children: [
|
children: [
|
||||||
Expanded(child: $TermItem(items[0], data!, theHeight: theHeight)),
|
Expanded(child: $TermItem(items[0], data!, theHeight: theHeight)),
|
||||||
SizedBox(width: ScreenUtil().screenWidth / 19),
|
SizedBox(width: ScreenUtil().screenWidth / 30),
|
||||||
Expanded(
|
Expanded(
|
||||||
child: SizedBox(
|
child: SizedBox(
|
||||||
height: theHeight,
|
height: theHeight,
|
||||||
|
|
|
||||||
|
|
@ -80,7 +80,7 @@ class _LoginPageState extends State<LoginPage> {
|
||||||
),*/
|
),*/
|
||||||
child: Column(children: [
|
child: Column(children: [
|
||||||
Container(
|
Container(
|
||||||
padding: EdgeInsets.symmetric(horizontal: 10.r),
|
padding: EdgeInsets.symmetric(horizontal: 20.r),
|
||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
color: Colors.transparent,
|
color: Colors.transparent,
|
||||||
border: Border.all(width: 1.w, color: const Color(0xFFAECBFF)),
|
border: Border.all(width: 1.w, color: const Color(0xFFAECBFF)),
|
||||||
|
|
@ -112,31 +112,14 @@ class _LoginPageState extends State<LoginPage> {
|
||||||
color: Colors.white,
|
color: Colors.white,
|
||||||
),
|
),
|
||||||
border: InputBorder.none,
|
border: InputBorder.none,
|
||||||
prefixIcon: Image.asset(
|
prefix: Padding(
|
||||||
|
padding: EdgeInsets.only(right: 5.r),
|
||||||
|
child: Image.asset(
|
||||||
'assets/images/login_account.png',
|
'assets/images/login_account.png',
|
||||||
width: 10.r,
|
width: 15.r,
|
||||||
height: 10.r,
|
height: 15.r,
|
||||||
),
|
),
|
||||||
/* suffixIcon: !state.hasNameVal
|
|
||||||
? null
|
|
||||||
: Transform.translate(
|
|
||||||
offset:
|
|
||||||
Offset(10, 10), // 根据原始组件的padding值来设置偏移量
|
|
||||||
child: IconButton(
|
|
||||||
alignment: Alignment.center,
|
|
||||||
padding: EdgeInsets.zero,
|
|
||||||
icon: Icon(
|
|
||||||
Icons.highlight_off_sharp,
|
|
||||||
color: Colors.grey,
|
|
||||||
size: 16.r,
|
|
||||||
),
|
),
|
||||||
onPressed: () {
|
|
||||||
state.userNameController
|
|
||||||
.clear(); // 清空文本框内容
|
|
||||||
state.passwordController.clear();
|
|
||||||
},
|
|
||||||
),
|
|
||||||
),*/
|
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
|
@ -146,7 +129,7 @@ class _LoginPageState extends State<LoginPage> {
|
||||||
),
|
),
|
||||||
Obx(() {
|
Obx(() {
|
||||||
return Container(
|
return Container(
|
||||||
padding: EdgeInsets.symmetric(horizontal: 10.r),
|
padding: EdgeInsets.symmetric(horizontal: 20.r),
|
||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
color: Colors.transparent,
|
color: Colors.transparent,
|
||||||
border: Border.all(width: 1.w, color: const Color(0xFFAECBFF)),
|
border: Border.all(width: 1.w, color: const Color(0xFFAECBFF)),
|
||||||
|
|
@ -167,19 +150,13 @@ class _LoginPageState extends State<LoginPage> {
|
||||||
),
|
),
|
||||||
decoration: InputDecoration(
|
decoration: InputDecoration(
|
||||||
hintText: "请输入密码",
|
hintText: "请输入密码",
|
||||||
/* suffix: GestureDetector(
|
prefix: Padding(
|
||||||
onTap: logic.showPassword,
|
padding: EdgeInsets.only(right:5.r),
|
||||||
child: Icon(
|
child: Image.asset(
|
||||||
Icons.remove_red_eye,
|
|
||||||
color: state.isShowPwd.value
|
|
||||||
? Theme.of(context).primaryColor
|
|
||||||
: Colors.grey,
|
|
||||||
),
|
|
||||||
),*/
|
|
||||||
prefixIcon: Image.asset(
|
|
||||||
'assets/images/login_pwd.png',
|
'assets/images/login_pwd.png',
|
||||||
width: 10.r,
|
width: 15.r,
|
||||||
height: 10.r,
|
height: 15.r,
|
||||||
|
),
|
||||||
),
|
),
|
||||||
hintStyle: TextStyle(
|
hintStyle: TextStyle(
|
||||||
fontSize: 14.sp,
|
fontSize: 14.sp,
|
||||||
|
|
@ -277,10 +254,12 @@ class _LoginPageState extends State<LoginPage> {
|
||||||
Row(
|
Row(
|
||||||
children: [
|
children: [
|
||||||
Container(
|
Container(
|
||||||
width: 20.w,
|
width: 25 .w,
|
||||||
padding: EdgeInsets.only(right: 0.w),
|
padding: EdgeInsets.only(right: 0.w),
|
||||||
child: Obx(() {
|
child: Obx(() {
|
||||||
return Checkbox(
|
return Transform.scale(
|
||||||
|
scale: 1.2,
|
||||||
|
child: Checkbox(
|
||||||
activeColor: Theme.of(context).primaryColor,
|
activeColor: Theme.of(context).primaryColor,
|
||||||
checkColor: Colors.white,
|
checkColor: Colors.white,
|
||||||
value: state.readAgreement.value,
|
value: state.readAgreement.value,
|
||||||
|
|
@ -292,6 +271,7 @@ class _LoginPageState extends State<LoginPage> {
|
||||||
state.theFocus);*/
|
state.theFocus);*/
|
||||||
state.readAgreement.value = value ?? false;
|
state.readAgreement.value = value ?? false;
|
||||||
},
|
},
|
||||||
|
),
|
||||||
);
|
);
|
||||||
}),
|
}),
|
||||||
),
|
),
|
||||||
|
|
|
||||||