From d5249ba0af512beffa83d9d20fce792d9b1700d7 Mon Sep 17 00:00:00 2001 From: "1147192855@qq.com" <1147192855@qq.com> Date: Fri, 12 Apr 2024 10:03:42 +0800 Subject: [PATCH 1/5] =?UTF-8?q?=E5=A4=84=E7=90=86=E5=BC=82=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../event_bus/jobs/job_do_synchro_tab.dart | 20 +++++++++++++------ .../homework_correction/do_papers_job.dart | 4 ++-- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/marking_app/lib/common/model/event_bus/jobs/job_do_synchro_tab.dart b/marking_app/lib/common/model/event_bus/jobs/job_do_synchro_tab.dart index c08bc4f..5144183 100644 --- a/marking_app/lib/common/model/event_bus/jobs/job_do_synchro_tab.dart +++ b/marking_app/lib/common/model/event_bus/jobs/job_do_synchro_tab.dart @@ -1,3 +1,4 @@ +import 'package:collection/collection.dart'; import 'package:json_annotation/json_annotation.dart'; import 'package:marking_app/common/model/job/job_page_tab.dart'; @@ -14,14 +15,21 @@ class JobDoSynchroTab extends Object { Map toJson() => _$JobDoSynchroTabToJson(this); /// 当前tab下一个tab的pageIndex - int? getNextPageIndex([int? indexLocated]) { - if (indexLocated == null) return null; - return indexLocated == tabs.length - 1 ? null : tabs[indexLocated + 1].pageIndex; + int? getNextPageIndex([int? pageIndex]) { + if (pageIndex == null) return null; + var _index = tabs.indexWhere((e) => e.pageIndex == pageIndex); + if (_index == -1) return null; + + return _index == tabs.length - 1 ? null : tabs[_index + 1].pageIndex; } /// 当前tab上一个tab的pageIndex - int? getPreviousPageIndex([int? indexLocated]) { - if (indexLocated == null) return null; - return indexLocated == 0 ? null : tabs[indexLocated - 1].pageIndex; + int? getPreviousPageIndex([int? pageIndex]) { + if (pageIndex == null) return null; + var _index = tabs.indexWhere((e) => e.pageIndex == pageIndex); + if (_index == -1) return null; + pageIndex = _index == 0 ? null : tabs[_index - 1].pageIndex; + print('这是上一页的数据:${pageIndex}'); + return pageIndex; } } diff --git a/marking_app/lib/pages/homework_correction/do_papers_job.dart b/marking_app/lib/pages/homework_correction/do_papers_job.dart index 8199917..6353e57 100644 --- a/marking_app/lib/pages/homework_correction/do_papers_job.dart +++ b/marking_app/lib/pages/homework_correction/do_papers_job.dart @@ -579,8 +579,8 @@ class _EexamPaperAndScoringViewState extends ConsumerState Date: Fri, 12 Apr 2024 12:20:36 +0800 Subject: [PATCH 2/5] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=AD=A4=E6=AC=A1?= =?UTF-8?q?=E6=89=B9=E9=98=85=E4=BC=98=E5=8C=96=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + .../homework_correction/do_papers_job.dart | 33 +++++++++++-------- .../use_switch_student_and_type.dart | 21 ++++++++++-- 3 files changed, 38 insertions(+), 17 deletions(-) diff --git a/.gitignore b/.gitignore index bab1ac1..999669b 100644 --- a/.gitignore +++ b/.gitignore @@ -214,3 +214,4 @@ marking_app/lib/pages/homework_correction/job_personal_detail.g.dart marking_app/lib/common/model/event_bus/jobs/job_do_papers_submit_check_switch_bus.g.dart marking_app/lib/common/model/event_bus/jobs/job_do_synchro_tab.g.dart marking_app/lib/pages/homework_correction/widget/top_count.g.dart +marking_app/lib/pages/homework_correction/job_knowledge_points.g.dart diff --git a/marking_app/lib/pages/homework_correction/do_papers_job.dart b/marking_app/lib/pages/homework_correction/do_papers_job.dart index 6353e57..60a4136 100644 --- a/marking_app/lib/pages/homework_correction/do_papers_job.dart +++ b/marking_app/lib/pages/homework_correction/do_papers_job.dart @@ -290,19 +290,24 @@ Widget $dropdownBoxSwitchStudentsOrTypeView(BuildContext context, {required Func var _currentTab = _useSwitchStudentAndType.currentTab.value; var _pageIndex = _currentTab?.pageIndex; if (_currentTab == null || _pageIndex == null) return; - var params = MarkingTextQuestionJobTabParamsBus(taskId, _pageIndex); - if (_currentTab.finishCount + 1 == _currentTab.total) { - var _currentTabNew = - _useSwitchStudentAndType.tabs.value.firstWhereOrNull((e) => e.pageIndex != _currentTab.pageIndex && e.finishCount != e.total); - // 如果全部都已经批阅完成就不需要跳转到不必要得批阅试题 - if (_currentTabNew != null) params.pageIndex = _currentTabNew.pageIndex; - } - var _theCurrentPage = _useSwitchStudentAndType.tabs.value.firstWhereOrNull((element) => element.pageIndex == _pageIndex); - if (_theCurrentPage != null) { - _theCurrentPage.finishCount += 1; - _useSwitchStudentAndType.tabs.value = _useSwitchStudentAndType.tabs.value.map((e) => JobPageTab.fromJson(e.toJson())).toList(); - } - _useSwitchStudentAndType.eventFire(model: params); + _useSwitchStudentAndType.refreshQuestionTypeData(context, taskId: taskId, exitCallback: exitCallback, getNewData: false).then((value) { + var params = MarkingTextQuestionJobTabParamsBus(taskId, _pageIndex); + if (_currentTab.finishCount < _currentTab.total) { + if (_currentTab.finishCount + 1 == _currentTab.total) { + var _currentTabNew = + _useSwitchStudentAndType.tabs.value.firstWhereOrNull((e) => e.pageIndex != _currentTab.pageIndex && e.finishCount != e.total); + // 如果全部都已经批阅完成就不需要跳转到不必要得批阅试题 + if (_currentTabNew != null) params.pageIndex = _currentTabNew.pageIndex; + } + var _theCurrentPage = _useSwitchStudentAndType.tabs.value.firstWhereOrNull((element) => element.pageIndex == _pageIndex); + if (_theCurrentPage != null) { + _theCurrentPage.finishCount += 1; + _useSwitchStudentAndType.tabs.value = _useSwitchStudentAndType.tabs.value.map((e) => JobPageTab.fromJson(e.toJson())).toList(); + } + } + + _useSwitchStudentAndType.eventFire(model: params); + }); break; default: } @@ -396,7 +401,7 @@ Widget $dropdownBoxSwitchStudentsOrTypeView(BuildContext context, {required Func ), Expanded(flex: 1, child: SizedBox()), Expanded( - flex: 4, + flex: isPad() ? 4 : 5, child: Row( crossAxisAlignment: CrossAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.end, diff --git a/marking_app/lib/pages/homework_correction/hooks/do_papers_job/use_switch_student_and_type.dart b/marking_app/lib/pages/homework_correction/hooks/do_papers_job/use_switch_student_and_type.dart index e7a210d..392b01f 100644 --- a/marking_app/lib/pages/homework_correction/hooks/do_papers_job/use_switch_student_and_type.dart +++ b/marking_app/lib/pages/homework_correction/hooks/do_papers_job/use_switch_student_and_type.dart @@ -99,8 +99,12 @@ class UseSwitchStudentAndType with CommonMixin, EventBusMixin { } /// 属性tab类型数据 - Future refreshQuestionTypeData(BuildContext context, {required int taskId, required Function() exitCallback}) async { - List? tabDatas = await getDataForTestpaper(taskId: taskId, synchronization: false); + Future refreshQuestionTypeData(BuildContext context, + {required int taskId, required Function() exitCallback, bool getNewData = true}) async { + List? tabDatas = tabs.value; + if (getNewData) { + tabDatas = await getDataForTestpaper(taskId: taskId, synchronization: false); + } if (tabDatas?.isNotEmpty ?? false) { JobPageTab? tabJob = tabDatas!.firstWhereOrNull((e) => e.finishCount < e.total); if (tabJob == null && !exitPromptFlag.value) { @@ -124,9 +128,20 @@ class UseSwitchStudentAndType with CommonMixin, EventBusMixin { exitCallback(); } else { // 跳转到对于位置 + if (!getNewData) return tabJob; tabs.value = tabDatas; if (tabJob != null) currentTab.value = tabJob; - if (tabJob == null && exitPromptFlag.value) ToastUtils.showSuccess('最后一题提交成功'); + if (tabJob == null && exitPromptFlag.value) { + var _thePageIndex = currentTab.value?.pageIndex; + if (_thePageIndex != null) { + var _theIndex = tabDatas.indexWhere((e) => e.pageIndex == _thePageIndex); + if (_theIndex != -1 && _theIndex < tabDatas.length - 1) { + currentTab.value = tabDatas[_theIndex + 1]; + return tabJob; + } + } + ToastUtils.showSuccess('最后一题提交成功'); + } return tabJob; } } From c43e75fafd2059d2491bf9fa924da1d42e9b5d2d Mon Sep 17 00:00:00 2001 From: "1147192855@qq.com" <1147192855@qq.com> Date: Mon, 15 Apr 2024 11:47:28 +0800 Subject: [PATCH 3/5] =?UTF-8?q?=E5=A4=84=E7=90=86=E6=97=A0=E6=B3=95?= =?UTF-8?q?=E5=88=87=E6=8D=A2=E4=B8=8B=E4=B8=80=E9=A2=98BUG?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../homework_correction/do_papers_job.dart | 67 +++++++------------ marking_app/pubspec.yaml | 2 +- 2 files changed, 27 insertions(+), 42 deletions(-) diff --git a/marking_app/lib/pages/homework_correction/do_papers_job.dart b/marking_app/lib/pages/homework_correction/do_papers_job.dart index 60a4136..5710bcf 100644 --- a/marking_app/lib/pages/homework_correction/do_papers_job.dart +++ b/marking_app/lib/pages/homework_correction/do_papers_job.dart @@ -420,9 +420,7 @@ Widget $dropdownBoxSwitchStudentsOrTypeView(BuildContext context, {required Func 'DO_PAPERS_JOB_CONTINUE_TO_REVIEW', () { var _currentTabNew = _useSwitchStudentAndType.tabs.value.firstWhere((e) => e.finishCount < e.total); - _useSwitchStudentAndType.eventFire( - model: MarkingTextQuestionJobTabParamsBus(taskId, _currentTabNew.pageIndex), - ); + _useSwitchStudentAndType.eventFire(model: MarkingTextQuestionJobTabParamsBus(taskId, _currentTabNew.pageIndex)); }, ), child: quickText( @@ -473,41 +471,6 @@ Widget $dropdownBoxSwitchStudentsOrTypeView(BuildContext context, {required Func ), ], ), - // InkWell( - // onTap: () => easyThrottle( - // 'prioritize_homework_review', - // () => !_useSwitchStudentAndType.isFirst.value - // ? _useSwitchStudentAndType.jobPriorityReviewJoin(jobId) - // : _useSwitchStudentAndType.jobPriorityReviewCancel(jobId)), - // child: - // Row( - // crossAxisAlignment: CrossAxisAlignment.center, - // mainAxisAlignment: MainAxisAlignment.start, - // children: [ - // Stack( - // alignment: const FractionalOffset(0.52, 0.24), - // children: [ - // Icon( - // const IconData(0xe63d, fontFamily: "AlibabaIcon"), - // size: 12.sp, - // color: _useSwitchStudentAndType.isFirst.value - // ? Color.fromRGBO(76, 199, 147, 1) - // : Color.fromRGBO(164, 164, 164, 1), - // ), - // quickText('优先', size: 4.sp, color: Colors.white), - // ], - // ), - // SizedBox(width: 1.2.w), - // quickText( - // '优先批阅', - // size: 10.sp, - // color: _useSwitchStudentAndType.isFirst.value - // ? Color.fromRGBO(76, 199, 147, 1) - // : Color.fromRGBO(164, 164, 164, 1), - // ), - // ], - // ), - // ), ), ], ), @@ -546,7 +509,14 @@ class _EexamPaperAndScoringViewState extends ConsumerState e.pageIndex == theEventVal.pageIndex); + if (_theTab != null && _theTab.finishCount == _theTab.total) { + isDefaultFirst = false; + } + } } ref.read(doJobObtainGradingDataProvider.notifier).setVal(MarkingTextQuestionJobTabParams( pageIndex: theEventVal.pageIndex, @@ -623,8 +593,15 @@ class _EexamPaperAndScoringViewState extends ConsumerState e.pageIndex == _pageIndex); + if (_tabIndex != -1 && _tabIndex + 1 <= synchroTabs!.tabs.length - 1) { + model.isDefaultFirst = true; + } + } + if (model.paperId == 0 && jobData.nextPageIndex != null) { // 切换题型页面 model.paperId = null; @@ -640,8 +617,16 @@ class _EexamPaperAndScoringViewState extends ConsumerState e.pageIndex == _pageIndex); + if (_tabIndex != -1 && _tabIndex - 1 >= 0 && _tabIndex - 1 <= synchroTabs!.tabs.length - 1) { + model.isDefaultFirst = false; + } + } + if (model.paperId == 0 && jobData.previousPageIndex != null) { model.paperId = null; model.pageIndex = jobData.previousPageIndex!; diff --git a/marking_app/pubspec.yaml b/marking_app/pubspec.yaml index dd3a2a1..c5045f7 100644 --- a/marking_app/pubspec.yaml +++ b/marking_app/pubspec.yaml @@ -15,7 +15,7 @@ publish_to: "none" # Remove this line if you wish to publish to pub.dev # In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion. # Read more about iOS versioning at # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html -version: 1.0.102 +version: 1.0.103 environment: sdk: ">=2.17.1 <3.0.0" From a614c90458a10689ead29aedb77d87f67066b065 Mon Sep 17 00:00:00 2001 From: "1147192855@qq.com" <1147192855@qq.com> Date: Mon, 15 Apr 2024 13:40:43 +0800 Subject: [PATCH 4/5] no message --- marking_app/pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/marking_app/pubspec.yaml b/marking_app/pubspec.yaml index c5045f7..bde00aa 100644 --- a/marking_app/pubspec.yaml +++ b/marking_app/pubspec.yaml @@ -15,7 +15,7 @@ publish_to: "none" # Remove this line if you wish to publish to pub.dev # In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion. # Read more about iOS versioning at # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html -version: 1.0.103 +version: 1.0.104 environment: sdk: ">=2.17.1 <3.0.0" From abb0d41d396eeb4f65bb6020b23b09afae710164 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B1=8C=E6=9D=82?= <1147192855@qq.com> Date: Mon, 15 Apr 2024 14:04:20 +0800 Subject: [PATCH 5/5] no message --- marking_app/ios/Runner.xcodeproj/project.pbxproj | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/marking_app/ios/Runner.xcodeproj/project.pbxproj b/marking_app/ios/Runner.xcodeproj/project.pbxproj index f24b956..9662e40 100644 --- a/marking_app/ios/Runner.xcodeproj/project.pbxproj +++ b/marking_app/ios/Runner.xcodeproj/project.pbxproj @@ -352,7 +352,7 @@ ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = YES; ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = ""; CLANG_ENABLE_MODULES = YES; - CURRENT_PROJECT_VERSION = 20; + CURRENT_PROJECT_VERSION = 21; DEVELOPMENT_TEAM = CYDU583KN6; ENABLE_BITCODE = NO; INFOPLIST_FILE = Runner/Info.plist; @@ -360,7 +360,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 1.0.102; + MARKETING_VERSION = 1.0.104; PRODUCT_BUNDLE_IDENTIFIER = com.example.markingApp; PRODUCT_NAME = "$(TARGET_NAME)"; SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; @@ -490,7 +490,7 @@ ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = YES; ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = ""; CLANG_ENABLE_MODULES = YES; - CURRENT_PROJECT_VERSION = 20; + CURRENT_PROJECT_VERSION = 21; DEVELOPMENT_TEAM = CYDU583KN6; ENABLE_BITCODE = NO; INFOPLIST_FILE = Runner/Info.plist; @@ -498,7 +498,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 1.0.102; + MARKETING_VERSION = 1.0.104; PRODUCT_BUNDLE_IDENTIFIER = com.example.markingApp; PRODUCT_NAME = "$(TARGET_NAME)"; SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; @@ -520,7 +520,7 @@ ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = YES; ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = ""; CLANG_ENABLE_MODULES = YES; - CURRENT_PROJECT_VERSION = 20; + CURRENT_PROJECT_VERSION = 21; DEVELOPMENT_TEAM = CYDU583KN6; ENABLE_BITCODE = NO; INFOPLIST_FILE = Runner/Info.plist; @@ -528,7 +528,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 1.0.102; + MARKETING_VERSION = 1.0.104; PRODUCT_BUNDLE_IDENTIFIER = com.example.markingApp; PRODUCT_NAME = "$(TARGET_NAME)"; SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";