Merge branch 'new_main' into mcy_new

# Conflicts:
#	making_school_asignment_app/lib/page/home_page/home_view.dart
This commit is contained in:
machuanyu 2024-06-25 17:12:36 +08:00
commit cbd5b724e9
8 changed files with 216 additions and 190 deletions

View File

@ -5,6 +5,7 @@
android:icon="@mipmap/ic_launcher"> android:icon="@mipmap/ic_launcher">
<activity <activity
android:name=".MainActivity" android:name=".MainActivity"
android:screenOrientation="portrait"
android:exported="true" android:exported="true"
android:launchMode="singleTop" android:launchMode="singleTop"
android:taskAffinity="" android:taskAffinity=""

View File

@ -20,10 +20,13 @@ void main() async {
/// UserStore /// UserStore
Get.put<UserStore>(UserStore().init()); Get.put<UserStore>(UserStore().init());
SystemChrome.setEnabledSystemUIMode(SystemUiMode.manual, overlays: [SystemUiOverlay.top, SystemUiOverlay.bottom]); //
SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]); //
WidgetsFlutterBinding.ensureInitialized(); WidgetsFlutterBinding.ensureInitialized();
SystemChrome.setSystemUIOverlayStyle(const SystemUiOverlayStyle(
statusBarColor: Colors.transparent, //
statusBarIconBrightness: Brightness.dark // dark: light
));
SystemChrome.setEnabledSystemUIMode(SystemUiMode.manual, overlays: [SystemUiOverlay.top, SystemUiOverlay.bottom]); //
await SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp, DeviceOrientation.portraitDown]); //
runApp(const MyApp()); runApp(const MyApp());
} }

View File

@ -7,7 +7,6 @@ import 'package:flutter_spinkit/flutter_spinkit.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:functional_widget_annotation/functional_widget_annotation.dart'; import 'package:functional_widget_annotation/functional_widget_annotation.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
import 'package:get/get_connect/http/src/request/request.dart';
import 'package:making_school_asignment_app/common/job/marking_models/do_test_questions_image_info.dart'; import 'package:making_school_asignment_app/common/job/marking_models/do_test_questions_image_info.dart';
import 'package:making_school_asignment_app/common/job/marking_models/original_manuscript_handwriting_params.dart'; import 'package:making_school_asignment_app/common/job/marking_models/original_manuscript_handwriting_params.dart';
import 'package:making_school_asignment_app/common/mixins/event_bus_mixin.dart'; import 'package:making_school_asignment_app/common/mixins/event_bus_mixin.dart';
@ -16,7 +15,6 @@ import 'package:making_school_asignment_app/common/utils/anti_shake_throttling.d
import 'package:making_school_asignment_app/common/utils/cached_network_img.dart'; import 'package:making_school_asignment_app/common/utils/cached_network_img.dart';
import 'package:making_school_asignment_app/common/utils/my_time_util.dart'; import 'package:making_school_asignment_app/common/utils/my_time_util.dart';
import 'package:making_school_asignment_app/common/utils/toast_utils.dart'; import 'package:making_school_asignment_app/common/utils/toast_utils.dart';
import 'package:making_school_asignment_app/common/utils/utils.dart';
import 'package:making_school_asignment_app/page/global_widget/my_text.dart'; import 'package:making_school_asignment_app/page/global_widget/my_text.dart';
import 'package:making_school_asignment_app/page/home_page/children/homework_review/components/job_handwriting.dart'; import 'package:making_school_asignment_app/page/home_page/children/homework_review/components/job_handwriting.dart';
@ -252,6 +250,8 @@ class PreviousNutton extends StatelessWidget {
var params = handwritingLogic.params.value; var params = handwritingLogic.params.value;
if (resultData == null || params == null) return; if (resultData == null || params == null) return;
params.pageNum = resultData.pageNum - 1; params.pageNum = resultData.pageNum - 1;
params.templateId = null;
params.questionNo = null;
handwritingLogic.params.value = OriginalManuscriptHandwritingParams.fromJson(params.toJson()); handwritingLogic.params.value = OriginalManuscriptHandwritingParams.fromJson(params.toJson());
// handwritingLogic.params.value = params; // handwritingLogic.params.value = params;
}), }),
@ -288,6 +288,8 @@ class NextPageButton extends StatelessWidget {
var params = handwritingLogic.params.value; var params = handwritingLogic.params.value;
if (resultData == null || params == null) return; if (resultData == null || params == null) return;
params.pageNum = resultData.pageNum + 1; params.pageNum = resultData.pageNum + 1;
params.templateId = null;
params.questionNo = null;
handwritingLogic.params.value = OriginalManuscriptHandwritingParams.fromJson(params.toJson()); handwritingLogic.params.value = OriginalManuscriptHandwritingParams.fromJson(params.toJson());
}), }),
child: Icon(Icons.arrow_forward_ios, color: Colors.white, size: 22.sp), child: Icon(Icons.arrow_forward_ios, color: Colors.white, size: 22.sp),

View File

@ -25,18 +25,18 @@ class _StudentPersonalPageState extends State<StudentPersonalPage> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(
backgroundColor: Color.fromRGBO(245, 245, 245, 1), backgroundColor: const Color.fromRGBO(245, 245, 245, 1),
appBar: AppBar( appBar: AppBar(
backgroundColor: Colors.white, backgroundColor: Colors.white,
title: Obx(() { title: Obx(() {
return Text( return Text(
state.studentInfo.value.studentName, state.studentInfo.value.studentName,
style: TextStyle(fontSize: 14.sp, color: Color(0xFF000000)), style: TextStyle(fontSize: 14.sp, color: const Color(0xFF000000)),
); );
}), }),
centerTitle: true, centerTitle: true,
leading: IconButton( leading: IconButton(
icon: Icon(Icons.arrow_back_ios, color: Colors.black), icon: const Icon(Icons.arrow_back_ios, color: Colors.black),
onPressed: () => Get.back(), onPressed: () => Get.back(),
), ),
actions: const [ actions: const [
@ -61,13 +61,13 @@ class _StudentPersonalPageState extends State<StudentPersonalPage> {
width: 93.r, width: 93.r,
height: 28.r, height: 28.r,
decoration: BoxDecoration( decoration: BoxDecoration(
color: Color(0xFFEAF3FF), color: const Color(0xFFEAF3FF),
borderRadius: BorderRadius.circular(4.r), borderRadius: BorderRadius.circular(4.r),
), ),
child: Center( child: Center(
child: Text( child: Text(
'历史作业', '历史作业',
style: TextStyle(fontSize: 10.r, color: Color(0xFF2080F7)), style: TextStyle(fontSize: 10.r, color: const Color(0xFF2080F7)),
), ),
), ),
), ),
@ -82,13 +82,13 @@ class _StudentPersonalPageState extends State<StudentPersonalPage> {
width: 93.r, width: 93.r,
height: 28.r, height: 28.r,
decoration: BoxDecoration( decoration: BoxDecoration(
color: Color(0xFFEDFFF7), color: const Color(0xFFEDFFF7),
borderRadius: BorderRadius.circular(4.r), borderRadius: BorderRadius.circular(4.r),
), ),
child: Center( child: Center(
child: Text( child: Text(
'原稿笔迹', '原稿笔迹',
style: TextStyle(fontSize: 10.r, color: Color(0xFF4CC793)), style: TextStyle(fontSize: 10.r, color: const Color(0xFF4CC793)),
), ),
), ),
), ),
@ -112,7 +112,7 @@ class _StudentPersonalPageState extends State<StudentPersonalPage> {
children: [ children: [
Text( Text(
'客观题', '客观题',
style: TextStyle(fontSize: 14.sp, color: Color(0xFF5C5C5C), fontWeight: FontWeight.w600), style: TextStyle(fontSize: 14.sp, color: const Color(0xFF5C5C5C), fontWeight: FontWeight.w600),
), ),
SizedBox( SizedBox(
width: 10.r, width: 10.r,
@ -120,7 +120,7 @@ class _StudentPersonalPageState extends State<StudentPersonalPage> {
Obx(() { Obx(() {
return Text( return Text(
'${state.studentInfo.value.kgtCorrectRate}%', '${state.studentInfo.value.kgtCorrectRate}%',
style: TextStyle(fontSize: 14.sp, color: Color(0xFF6888FD), fontWeight: FontWeight.w600), style: TextStyle(fontSize: 14.sp, color: const Color(0xFF6888FD), fontWeight: FontWeight.w600),
); );
}), }),
], ],
@ -132,9 +132,12 @@ class _StudentPersonalPageState extends State<StudentPersonalPage> {
return SizedBox( return SizedBox(
height: state.studentInfo.value.kgtList.length > 8 ? 300.r : state.studentInfo.value.kgtList.length * 40.r + 40.r, height: state.studentInfo.value.kgtList.length > 8 ? 300.r : state.studentInfo.value.kgtList.length * 40.r + 40.r,
child: StudentKgTable( child: StudentKgTable(
headList: ['题号', '学生答案', '标准答案'], headList: const ['题号', '学生答案', '标准答案'],
bodyList: state.studentInfo.value.kgtList, bodyList: state.studentInfo.value.kgtList,
questionNumCall: (no) { questionNumCall: (questionNo, templateId) {
showAnswerHandwriting(context,
homeworkId: state.homeworkId, studentId: state.studentId, questionNo: questionNo, templateId: templateId)
.then((e) => ToastUtils.dismiss());
// showAnswerHandwriting(context, jobId: widget.jobId, studentId: widget.studentId, questionNo: int.parse(no)).then((value) { // showAnswerHandwriting(context, jobId: widget.jobId, studentId: widget.studentId, questionNo: int.parse(no)).then((value) {
// ref.read(jobHandwritingDrawingTrajectoryProvider.notifier).setVal([]); // ref.read(jobHandwritingDrawingTrajectoryProvider.notifier).setVal([]);
// }); // });
@ -164,7 +167,7 @@ class _StudentPersonalPageState extends State<StudentPersonalPage> {
children: [ children: [
Text( Text(
'主观题', '主观题',
style: TextStyle(fontSize: 14.sp, color: Color(0xFF5C5C5C), fontWeight: FontWeight.w600), style: TextStyle(fontSize: 14.sp, color: const Color(0xFF5C5C5C), fontWeight: FontWeight.w600),
), ),
SizedBox( SizedBox(
width: 10.r, width: 10.r,
@ -172,7 +175,7 @@ class _StudentPersonalPageState extends State<StudentPersonalPage> {
Obx(() { Obx(() {
return Text( return Text(
'${state.studentInfo.value.zgtCorrectRate}%', '${state.studentInfo.value.zgtCorrectRate}%',
style: TextStyle(fontSize: 14.sp, color: Color(0xFF6888FD), fontWeight: FontWeight.w600), style: TextStyle(fontSize: 14.sp, color: const Color(0xFF6888FD), fontWeight: FontWeight.w600),
); );
}), }),
], ],
@ -184,12 +187,15 @@ class _StudentPersonalPageState extends State<StudentPersonalPage> {
return SizedBox( return SizedBox(
height: state.studentInfo.value.zgtList.length > 8 ? 300.r : state.studentInfo.value.zgtList.length * 40.r + 40.r, height: state.studentInfo.value.zgtList.length > 8 ? 300.r : state.studentInfo.value.zgtList.length * 40.r + 40.r,
child: StudentZgTable( child: StudentZgTable(
headList: ['题号', '用时', '批注结果', '答案'], headList: const ['题号', '用时', '批注结果', '答案'],
bodyList: state.studentInfo.value.zgtList, bodyList: state.studentInfo.value.zgtList,
questionNumCall: (no) { questionNumCall: (questionNo, templateId) {
/* showAnswerHandwriting(context, jobId: widget.jobId, studentId: widget.studentId, questionNo: int.parse(no)).then((value) { /* showAnswerHandwriting(context, jobId: widget.jobId, studentId: widget.studentId, questionNo: int.parse(no)).then((value) {
ref.read(jobHandwritingDrawingTrajectoryProvider.notifier).setVal([]); ref.read(jobHandwritingDrawingTrajectoryProvider.notifier).setVal([]);
});*/ });*/
showAnswerHandwriting(context,
homeworkId: state.homeworkId, studentId: state.studentId, questionNo: questionNo, templateId: templateId)
.then((e) => ToastUtils.dismiss());
}, },
), ),
); );

View File

@ -9,7 +9,7 @@ class StudentKgTable extends StatefulWidget {
final List bodyList; final List bodyList;
final int? fixedRows; final int? fixedRows;
final int? fixedCols; final int? fixedCols;
final Function(String)? questionNumCall; final Function(int, int)? questionNumCall;
const StudentKgTable({ const StudentKgTable({
Key? key, Key? key,
@ -44,7 +44,7 @@ class _StudentKgTableState extends State<StudentKgTable> {
InkWell( InkWell(
onTap: () { onTap: () {
if (widget.questionNumCall != null) { if (widget.questionNumCall != null) {
widget.questionNumCall!(item.questionNo.toString()); widget.questionNumCall!(item.questionNo, item.templateId);
} }
}, },
child: Center( child: Center(

View File

@ -11,7 +11,7 @@ class StudentZgTable extends StatefulWidget {
final List bodyList; final List bodyList;
final int? fixedRows; final int? fixedRows;
final int? fixedCols; final int? fixedCols;
final Function(String)? questionNumCall; final Function(int, int)? questionNumCall;
const StudentZgTable({ const StudentZgTable({
Key? key, Key? key,
@ -41,7 +41,7 @@ class _StudentZgTableState extends State<StudentZgTable> {
DataCell(InkWell( DataCell(InkWell(
onTap: () { onTap: () {
if (widget.questionNumCall != null) { if (widget.questionNumCall != null) {
widget.questionNumCall!(item.questionNo.toString()); widget.questionNumCall!(item.questionNo, item.templateId);
} }
}, },
child: Center( child: Center(

View File

@ -45,7 +45,10 @@ class _HomePageState extends State<HomePage> with AutomaticKeepAliveClientMixin
statusBarIconBrightness: Brightness.dark, statusBarIconBrightness: Brightness.dark,
statusBarBrightness: Brightness.light, statusBarBrightness: Brightness.light,
), ),
child: EasyRefresh( child: OrientationBuilder(
builder: (BuildContext context, Orientation orientation) {
print('1111111111111');
return EasyRefresh(
firstRefresh: false, firstRefresh: false,
taskIndependence: true, taskIndependence: true,
controller: logic.refreshController, controller: logic.refreshController,
@ -63,7 +66,9 @@ class _HomePageState extends State<HomePage> with AutomaticKeepAliveClientMixin
}, },
child: Column( child: Column(
children: [ children: [
SizedBox(height: 15.r,), SizedBox(
height: 15.r,
),
/* Container( /* Container(
height: 200.h, height: 200.h,
width: double.infinity, width: double.infinity,
@ -74,6 +79,7 @@ class _HomePageState extends State<HomePage> with AutomaticKeepAliveClientMixin
), ),
), ),
),*/ ),*/
SizedBox(height: MediaQuery.of(context).padding.top / 2),
Obx(() { Obx(() {
return $TermRow([ return $TermRow([
EntranceModel(title: '作业批阅', image: 'assets/images/job_home_marking.png', navigationUrl: Routes.readOverPage), EntranceModel(title: '作业批阅', image: 'assets/images/job_home_marking.png', navigationUrl: Routes.readOverPage),
@ -162,7 +168,7 @@ class _HomePageState extends State<HomePage> with AutomaticKeepAliveClientMixin
bottomRight: Radius.circular(4.r), bottomRight: Radius.circular(4.r),
), ),
), ),
margin: EdgeInsets.only(top:3.h,right: 4.w), margin: EdgeInsets.only(right: 4.w),
child: quickText(state.type == 1 ? '作业' : '考试', color: Colors.white, size: 10.sp), child: quickText(state.type == 1 ? '作业' : '考试', color: Colors.white, size: 10.sp),
), ),
Expanded( Expanded(
@ -242,6 +248,8 @@ class _HomePageState extends State<HomePage> with AutomaticKeepAliveClientMixin
}), }),
], ],
), ),
);
},
), ),
)); ));
} }

View File

@ -29,6 +29,7 @@ class _WorkPageState extends State<WorkPage> with AutomaticKeepAliveClientMixin
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
super.build(context);
return AnnotatedRegion( return AnnotatedRegion(
value: const SystemUiOverlayStyle( value: const SystemUiOverlayStyle(
systemNavigationBarColor: Color(0xFF000000), systemNavigationBarColor: Color(0xFF000000),
@ -147,9 +148,14 @@ class _WorkPageState extends State<WorkPage> with AutomaticKeepAliveClientMixin
], ],
), ),
), ),
Expanded(child: Obx(() { Expanded(
return AnnotateList(tabIndex: state.tabIndex.value,assessType: 1,); child: Obx(() {
}),), return AnnotateList(
tabIndex: state.tabIndex.value,
assessType: 1,
);
}),
),
], ],
); );
}, },