处理问题
This commit is contained in:
parent
ef069121f1
commit
ea250d0c62
|
|
@ -199,3 +199,4 @@ marking_app/lib/common/model/report/report_marking_detail.g.dart
|
||||||
marking_app/lib/common/model/job/job_report_knowledge_model.g.dart
|
marking_app/lib/common/model/job/job_report_knowledge_model.g.dart
|
||||||
marking_app/lib/common/model/job/job_report_question_deatil_model.g.dart
|
marking_app/lib/common/model/job/job_report_question_deatil_model.g.dart
|
||||||
marking_app/lib/common/model/job/job_do_marking_status_info.g.dart
|
marking_app/lib/common/model/job/job_do_marking_status_info.g.dart
|
||||||
|
marking_app/lib/common/model/report/small_question.g.dart
|
||||||
|
|
|
||||||
|
|
@ -327,8 +327,7 @@ class TestPaperItem extends ConsumerWidget with CommonMixin {
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
goToReviewHomework(markingItem: markingItem, ref: ref, context: context, call: () => call!());
|
// goToReviewHomework(markingItem: markingItem, ref: ref, context: context, call: () => call!());
|
||||||
// goToReviewHomework(markingItem: markingItem, ref: ref, context: context);
|
|
||||||
},
|
},
|
||||||
child: Text(
|
child: Text(
|
||||||
'已完成',
|
'已完成',
|
||||||
|
|
@ -460,8 +459,9 @@ class TestPaperItem extends ConsumerWidget with CommonMixin {
|
||||||
).show(context);
|
).show(context);
|
||||||
}
|
}
|
||||||
isHomeworkCorrection
|
isHomeworkCorrection
|
||||||
? goToReviewHomework(
|
// ? goToReviewHomework(
|
||||||
markingItem: markingItem, ref: ref, context: context, call: () => call!())
|
// markingItem: markingItem, ref: ref, context: context, call: () => call!())
|
||||||
|
? () => {}
|
||||||
: goToReviewTestPaper(
|
: goToReviewTestPaper(
|
||||||
markingtype: markingtype!,
|
markingtype: markingtype!,
|
||||||
markingItem: markingItem,
|
markingItem: markingItem,
|
||||||
|
|
@ -512,22 +512,22 @@ class TestPaperItem extends ConsumerWidget with CommonMixin {
|
||||||
}
|
}
|
||||||
|
|
||||||
// 批阅作业
|
// 批阅作业
|
||||||
Future<void> goToReviewHomework({
|
// Future<void> goToReviewHomework({
|
||||||
required MarkingItem markingItem,
|
// required MarkingItem markingItem,
|
||||||
required WidgetRef ref,
|
// required WidgetRef ref,
|
||||||
required BuildContext context,
|
// required BuildContext context,
|
||||||
required VoidCallback call,
|
// required VoidCallback call,
|
||||||
}) async {
|
// }) async {
|
||||||
int taskId = markingItem.markingUserId;
|
// int taskId = markingItem.markingUserId;
|
||||||
toPrint(val: '批阅作业.........');
|
// toPrint(val: '批阅作业.........');
|
||||||
// ref.read(currentTaskIdProvider.notifier).setDoTaskEntity(CurrentReviewTask(taskId: taskId));
|
// // ref.read(currentTaskIdProvider.notifier).setDoTaskEntity(CurrentReviewTask(taskId: taskId));
|
||||||
// DetailId 回评需要传DetailId,正常阅卷不需要;PageOper(0:下一题,1:上一题,2:当前题) 回评需要传2 ;IsReview 是否会评 0否 1是
|
// // DetailId 回评需要传DetailId,正常阅卷不需要;PageOper(0:下一题,1:上一题,2:当前题) 回评需要传2 ;IsReview 是否会评 0否 1是
|
||||||
RouterManager.router
|
// RouterManager.router
|
||||||
.navigateTo(context, '${RouterManager.markingHomeworkDoPath}?taskId=$taskId', transition: getTransition())
|
// .navigateTo(context, '${RouterManager.markingHomeworkDoPath}?taskId=$taskId', transition: getTransition())
|
||||||
.then((value) {
|
// .then((value) {
|
||||||
call();
|
// call();
|
||||||
});
|
// });
|
||||||
}
|
// }
|
||||||
|
|
||||||
// 批阅试卷
|
// 批阅试卷
|
||||||
Future<void> goToReviewTestPaper({
|
Future<void> goToReviewTestPaper({
|
||||||
|
|
|
||||||
|
|
@ -451,6 +451,18 @@ class _ExamPaperDrawingState extends ConsumerState<ExamPaperDrawing> with EventB
|
||||||
|
|
||||||
int activePointers = 0;
|
int activePointers = 0;
|
||||||
|
|
||||||
|
/// 获取数组指定倒数具体值的下标
|
||||||
|
int _findTargetIndex<T>(List<T> list, T target, [int reciprocal = 2]) {
|
||||||
|
List<int> indexs = [];
|
||||||
|
for (int i = list.length - 1; i >= 0; i--) {
|
||||||
|
if (list[i] == target) {
|
||||||
|
indexs.add(i);
|
||||||
|
if (indexs.length == reciprocal) return i;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void initState() {
|
void initState() {
|
||||||
points = widget.points ?? [];
|
points = widget.points ?? [];
|
||||||
|
|
@ -464,22 +476,29 @@ class _ExamPaperDrawingState extends ConsumerState<ExamPaperDrawing> with EventB
|
||||||
if (points.isEmpty) {
|
if (points.isEmpty) {
|
||||||
return ToastUtils.getFluttertoast(context: context, msg: '已经没有批注了', gravity: ToastGravity.BOTTOM);
|
return ToastUtils.getFluttertoast(context: context, msg: '已经没有批注了', gravity: ToastGravity.BOTTOM);
|
||||||
}
|
}
|
||||||
var index = pointsPureData.toList().lastIndexOf(null);
|
// var index = pointsPureData.toList().lastIndexOf(null);
|
||||||
|
var index = _findTargetIndex(pointsPureData, null);
|
||||||
if (index != -1) {
|
if (index != -1) {
|
||||||
if (index + 1 == pointsPureData.length) {
|
pointsPureData = pointsPureData.sublist(0, index + 1);
|
||||||
pointsPureData = pointsPureData.sublist(0, index);
|
points = points.sublist(0, index + 1);
|
||||||
points.sublist(0, index);
|
|
||||||
index = pointsPureData.toList().lastIndexOf(null);
|
|
||||||
index == -1 ? -1 : index + 1;
|
|
||||||
}
|
|
||||||
if (index != -1) {
|
|
||||||
pointsPureData = pointsPureData.sublist(0, index);
|
|
||||||
points = points.sublist(0, index);
|
|
||||||
ref.read(jobHomeWorkProvider.notifier).setVal(points);
|
ref.read(jobHomeWorkProvider.notifier).setVal(points);
|
||||||
// toUpState(setState, () {}, mounted);
|
toUpState(setState, () {}, mounted);
|
||||||
} else {
|
|
||||||
item.cleanAll = true;
|
// var _nullVal = points[index]; // 需要在最后一笔
|
||||||
}
|
// if (index + 1 == pointsPureData.length) {
|
||||||
|
// pointsPureData = pointsPureData.sublist(0, index);
|
||||||
|
// points.sublist(0, index);
|
||||||
|
// index = pointsPureData.toList().lastIndexOf(null);
|
||||||
|
// index == -1 ? -1 : index + 1;
|
||||||
|
// }
|
||||||
|
// if (index != -1) {
|
||||||
|
// pointsPureData = pointsPureData.sublist(0, index);
|
||||||
|
// points = points.sublist(0, index);
|
||||||
|
// ref.read(jobHomeWorkProvider.notifier).setVal(points..add(_nullVal));
|
||||||
|
// // toUpState(setState, () {}, mounted);
|
||||||
|
// } else {
|
||||||
|
// item.cleanAll = true;
|
||||||
|
// }
|
||||||
} else {
|
} else {
|
||||||
item.cleanAll = true;
|
item.cleanAll = true;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -792,7 +792,7 @@ Widget $unfinishedBtn(
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
String url =
|
String url =
|
||||||
'${RouterManager.markingHomeworkDoPath}?taskId=${markingTask.id}&taskName=${Uri.encodeComponent(jobTaskItem.title)}&className=${Uri.encodeComponent(jobTaskItem.genderName + markingTask.className)}';
|
'${RouterManager.markingHomeworkDoPath}?taskId=${markingTask.id}&jobId=${jobTaskItem.id}&taskName=${Uri.encodeComponent(jobTaskItem.title)}&className=${Uri.encodeComponent(jobTaskItem.genderName + markingTask.className)}';
|
||||||
RouterManager.router.navigateTo(context, url, transition: getTransition()).then((value) {
|
RouterManager.router.navigateTo(context, url, transition: getTransition()).then((value) {
|
||||||
if (value != null && value == true) refreshcall();
|
if (value != null && value == true) refreshcall();
|
||||||
});
|
});
|
||||||
|
|
@ -977,7 +977,7 @@ Widget $unfinishedBtn(
|
||||||
}
|
}
|
||||||
|
|
||||||
String url =
|
String url =
|
||||||
'${RouterManager.markingHomeworkDoPath}?taskId=${jobTaskClassItem.id}&taskName=${Uri.encodeComponent(jobTaskItem.title)}&className=${Uri.encodeComponent(jobTaskItem.genderName + jobTaskClassItem.className)}';
|
'${RouterManager.markingHomeworkDoPath}?taskId=${jobTaskClassItem.id}&jobId=${jobTaskItem.id}&taskName=${Uri.encodeComponent(jobTaskItem.title)}&className=${Uri.encodeComponent(jobTaskItem.genderName + jobTaskClassItem.className)}';
|
||||||
RouterManager.router.navigateTo(context, url, transition: getTransition()).then((value) {
|
RouterManager.router.navigateTo(context, url, transition: getTransition()).then((value) {
|
||||||
if (value == true) refreshcall();
|
if (value == true) refreshcall();
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -44,9 +44,10 @@ part 'do_papers_job.g.dart';
|
||||||
// 作业批阅
|
// 作业批阅
|
||||||
class DoPapersJob extends HookWidget with EventBusMixin<DoPapersJobRefreshBus> {
|
class DoPapersJob extends HookWidget with EventBusMixin<DoPapersJobRefreshBus> {
|
||||||
final int taskId; // 任务ID
|
final int taskId; // 任务ID
|
||||||
|
final int jobId;
|
||||||
final String taskName;
|
final String taskName;
|
||||||
final String className; // 班级ID
|
final String className; // 班级ID
|
||||||
DoPapersJob({required this.taskId, required this.taskName, required this.className, super.key});
|
DoPapersJob({required this.taskId, required this.jobId, required this.taskName, required this.className, super.key});
|
||||||
|
|
||||||
bool refresh = false;
|
bool refresh = false;
|
||||||
@override
|
@override
|
||||||
|
|
@ -88,6 +89,7 @@ class DoPapersJob extends HookWidget with EventBusMixin<DoPapersJobRefreshBus> {
|
||||||
// 下拉切换
|
// 下拉切换
|
||||||
$DropdownBoxSwitchStudentsOrTypeView(
|
$DropdownBoxSwitchStudentsOrTypeView(
|
||||||
taskId: taskId,
|
taskId: taskId,
|
||||||
|
jobId: jobId,
|
||||||
exitCallback: () => Navigator.of(context).pop(refresh),
|
exitCallback: () => Navigator.of(context).pop(refresh),
|
||||||
),
|
),
|
||||||
SizedBox(height: 1.h),
|
SizedBox(height: 1.h),
|
||||||
|
|
@ -142,7 +144,7 @@ class ReviewStatusInfo extends HookWidget with CommonMixin {
|
||||||
// 切换下拉框 (学生和试卷状态)
|
// 切换下拉框 (学生和试卷状态)
|
||||||
@hwidget
|
@hwidget
|
||||||
Widget $dropdownBoxSwitchStudentsOrTypeView(BuildContext context,
|
Widget $dropdownBoxSwitchStudentsOrTypeView(BuildContext context,
|
||||||
{required Function() exitCallback, required int taskId}) {
|
{required Function() exitCallback, required int taskId, required int jobId}) {
|
||||||
UseSwitchStudentAndType _useSwitchStudentAndType = UseSwitchStudentAndType.use(); // 学生和试卷状态
|
UseSwitchStudentAndType _useSwitchStudentAndType = UseSwitchStudentAndType.use(); // 学生和试卷状态
|
||||||
|
|
||||||
// 当前tab改变时
|
// 当前tab改变时
|
||||||
|
|
@ -335,6 +337,41 @@ Widget $dropdownBoxSwitchStudentsOrTypeView(BuildContext context,
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
|
// 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),
|
||||||
|
// ),
|
||||||
|
// ],
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
|
|
@ -658,9 +695,8 @@ Widget $examPaperAndScoringKeyboardView(
|
||||||
width: double.infinity,
|
width: double.infinity,
|
||||||
alignment: Alignment.center,
|
alignment: Alignment.center,
|
||||||
padding: EdgeInsets.symmetric(vertical: 8.h),
|
padding: EdgeInsets.symmetric(vertical: 8.h),
|
||||||
decoration: BoxDecoration(
|
decoration:
|
||||||
border: Border(bottom: BorderSide(width: 0.2.r, color: Colors.white)),
|
BoxDecoration(border: Border(bottom: BorderSide(width: 0.2.r, color: Colors.white))),
|
||||||
),
|
|
||||||
child: Row(
|
child: Row(
|
||||||
mainAxisSize: MainAxisSize.min,
|
mainAxisSize: MainAxisSize.min,
|
||||||
crossAxisAlignment: CrossAxisAlignment.end,
|
crossAxisAlignment: CrossAxisAlignment.end,
|
||||||
|
|
@ -762,7 +798,7 @@ Widget $examPaperAndScoringKeyboardView(
|
||||||
borderRadius: BorderRadius.circular(2.r),
|
borderRadius: BorderRadius.circular(2.r),
|
||||||
onTap: () => easyThrottle('homework_review_submission_callback', () {
|
onTap: () => easyThrottle('homework_review_submission_callback', () {
|
||||||
_useDoScoring.goToScoringShortcut(enumMode: ToScoringShortcut.ALL_PAIRS);
|
_useDoScoring.goToScoringShortcut(enumMode: ToScoringShortcut.ALL_PAIRS);
|
||||||
// toSubmit();
|
toSubmit();
|
||||||
}, duration: Duration(milliseconds: 500)),
|
}, duration: Duration(milliseconds: 500)),
|
||||||
child: Container(
|
child: Container(
|
||||||
width: double.infinity,
|
width: double.infinity,
|
||||||
|
|
@ -786,7 +822,7 @@ Widget $examPaperAndScoringKeyboardView(
|
||||||
borderRadius: BorderRadius.circular(2.r),
|
borderRadius: BorderRadius.circular(2.r),
|
||||||
onTap: () => easyThrottle('homework_review_submission_callback', () {
|
onTap: () => easyThrottle('homework_review_submission_callback', () {
|
||||||
_useDoScoring.goToScoringShortcut(enumMode: ToScoringShortcut.ALL_WRONG);
|
_useDoScoring.goToScoringShortcut(enumMode: ToScoringShortcut.ALL_WRONG);
|
||||||
// toSubmit();
|
toSubmit();
|
||||||
}, duration: Duration(milliseconds: 500)),
|
}, duration: Duration(milliseconds: 500)),
|
||||||
child: Container(
|
child: Container(
|
||||||
width: double.infinity,
|
width: double.infinity,
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,56 @@
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:flutter/services.dart';
|
||||||
|
import 'package:flutter_hooks/flutter_hooks.dart';
|
||||||
|
import 'package:marking_app/utils/my_text.dart';
|
||||||
|
|
||||||
|
/// 作业考试横屏批阅
|
||||||
|
class DoPapersJobExam extends StatefulHookWidget {
|
||||||
|
final int taskId; // 任务ID
|
||||||
|
final int jobId;
|
||||||
|
final String taskName;
|
||||||
|
final String className; // 班级ID
|
||||||
|
const DoPapersJobExam(
|
||||||
|
{required this.taskId, required this.jobId, required this.taskName, required this.className, super.key});
|
||||||
|
|
||||||
|
@override
|
||||||
|
State<DoPapersJobExam> createState() => _DoPapersJobExamState();
|
||||||
|
}
|
||||||
|
|
||||||
|
class _DoPapersJobExamState extends State<DoPapersJobExam> {
|
||||||
|
bool refresh = false; // 刷新外部列表(批阅试题后就需要刷新)
|
||||||
|
|
||||||
|
@override
|
||||||
|
void initState() {
|
||||||
|
super.initState();
|
||||||
|
|
||||||
|
Future.delayed(Duration.zero, () {
|
||||||
|
SystemChrome.setPreferredOrientations([DeviceOrientation.landscapeLeft]);
|
||||||
|
SystemChrome.setEnabledSystemUIMode(SystemUiMode.manual, overlays: []);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
void dispose() {
|
||||||
|
SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]); // 强制竖屏
|
||||||
|
super.dispose();
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
return Scaffold(
|
||||||
|
appBar: AppBar(
|
||||||
|
// titleSpacing: 0,
|
||||||
|
leading: IconButton(icon: Icon(Icons.arrow_back_ios), onPressed: () => Navigator.of(context).pop(refresh)),
|
||||||
|
iconTheme: IconThemeData(color: Colors.black),
|
||||||
|
title: quickText(widget.taskName + '(${widget.className})'),
|
||||||
|
backgroundColor: Colors.white,
|
||||||
|
elevation: 0,
|
||||||
|
// actions: [
|
||||||
|
// FavoriteWidget(),
|
||||||
|
|
||||||
|
// ],
|
||||||
|
),
|
||||||
|
body: Container(),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -172,6 +172,28 @@ class UseSwitchStudentAndType with CommonMixin, EventBusMixin {
|
||||||
if (indexLocated == null) return null;
|
if (indexLocated == null) return null;
|
||||||
return indexLocated == 0 ? null : tabs.value[indexLocated - 1].pageIndex;
|
return indexLocated == 0 ? null : tabs.value[indexLocated - 1].pageIndex;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// 优先批阅 ==> 取消优先批阅
|
||||||
|
Future<void> jobPriorityReviewCancel(int jobId) async {
|
||||||
|
RestClient _client = await getClient();
|
||||||
|
var studentId = currentStudent.value?.studentId;
|
||||||
|
if (studentId == null) return ToastUtils.showInfo('无法获取到学生ID,请重试');
|
||||||
|
BaseStructureResult result = await _client.jobPriorityReviewCancel(jobId, studentId);
|
||||||
|
if (result.success) {
|
||||||
|
isFirst.value = !isFirst.value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// 优先批阅 ==> 添加优先批阅
|
||||||
|
Future<void> jobPriorityReviewJoin(int jobId) async {
|
||||||
|
RestClient _client = await getClient();
|
||||||
|
var studentId = currentStudent.value?.studentId;
|
||||||
|
if (studentId == null) return ToastUtils.showInfo('无法获取到学生ID,请重试');
|
||||||
|
BaseStructureResult result = await _client.jobPriorityReviewJoin(jobId, studentId);
|
||||||
|
if (result.success) {
|
||||||
|
isFirst.value = !isFirst.value;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class ExamStatus extends Object {
|
class ExamStatus extends Object {
|
||||||
|
|
|
||||||
|
|
@ -13,6 +13,7 @@ import 'package:fluro/fluro.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:marking_app/common/model/enum/marking_list_type.dart';
|
import 'package:marking_app/common/model/enum/marking_list_type.dart';
|
||||||
import 'package:marking_app/pages/common/startUpPage.dart';
|
import 'package:marking_app/pages/common/startUpPage.dart';
|
||||||
|
import 'package:marking_app/pages/homework_correction/do_papers_job_exam.dart';
|
||||||
import 'package:marking_app/pages/homework_correction/job_report.dart';
|
import 'package:marking_app/pages/homework_correction/job_report.dart';
|
||||||
import 'package:marking_app/pages/homework_correction/review_job.dart';
|
import 'package:marking_app/pages/homework_correction/review_job.dart';
|
||||||
|
|
||||||
|
|
@ -50,6 +51,8 @@ class RouterManager {
|
||||||
|
|
||||||
// 作业
|
// 作业
|
||||||
static const String jobReportPagePath = '/job/report/index';
|
static const String jobReportPagePath = '/job/report/index';
|
||||||
|
// 作业 ==> 横屏考试
|
||||||
|
static const String jobExamPagePath = '/job/exam/index';
|
||||||
|
|
||||||
static const String reportClassTeacherPath = 'report/details/reportClassTeacher';
|
static const String reportClassTeacherPath = 'report/details/reportClassTeacher';
|
||||||
static const String reportSubjectTeacherPath = 'report/details/reportSubjectTeacher';
|
static const String reportSubjectTeacherPath = 'report/details/reportSubjectTeacher';
|
||||||
|
|
@ -158,9 +161,10 @@ class RouterManager {
|
||||||
Handler(handlerFunc: (BuildContext? context, Map<String, List<String>> params) {
|
Handler(handlerFunc: (BuildContext? context, Map<String, List<String>> params) {
|
||||||
try {
|
try {
|
||||||
int taskId = int.parse(params['taskId']![0]);
|
int taskId = int.parse(params['taskId']![0]);
|
||||||
|
int jobId = int.parse(params['jobId']![0]);
|
||||||
String taskName = params['taskName']![0];
|
String taskName = params['taskName']![0];
|
||||||
String className = params['className']![0];
|
String className = params['className']![0];
|
||||||
return DoPapersHomework.DoPapersJob(taskId: taskId, taskName: taskName, className: className);
|
return DoPapersHomework.DoPapersJob(taskId: taskId, jobId: jobId, taskName: taskName, className: className);
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
toPrint(val: '进入跳转报错啦,$e');
|
toPrint(val: '进入跳转报错啦,$e');
|
||||||
}
|
}
|
||||||
|
|
@ -171,6 +175,16 @@ class RouterManager {
|
||||||
String title = params['title']![0];
|
String title = params['title']![0];
|
||||||
return JobReport(id: id, title: title);
|
return JobReport(id: id, title: title);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// 作业报告页面
|
||||||
|
static final _jobExamPageHandler = Handler(handlerFunc: (BuildContext? context, Map<String, List<String>> params) {
|
||||||
|
int taskId = int.parse(params['taskId']![0]);
|
||||||
|
int jobId = int.parse(params['JobId']![0]);
|
||||||
|
String taskName = params['taskName']![0];
|
||||||
|
String className = params['className']![0];
|
||||||
|
return DoPapersJobExam(taskId: taskId, jobId: jobId, taskName: taskName, className: className);
|
||||||
|
});
|
||||||
|
|
||||||
static final _agreementPageHandler = Handler(handlerFunc: (BuildContext? context, Map<String, List<String>> params) {
|
static final _agreementPageHandler = Handler(handlerFunc: (BuildContext? context, Map<String, List<String>> params) {
|
||||||
AGREEMENT_KEY key = AGREEMENT_KEY.values.byName(params['type']![0]);
|
AGREEMENT_KEY key = AGREEMENT_KEY.values.byName(params['type']![0]);
|
||||||
return AgreementPage(type: key);
|
return AgreementPage(type: key);
|
||||||
|
|
@ -258,6 +272,7 @@ class RouterManager {
|
||||||
router.define(userMinePath, handler: _userMinePageHandler, transitionType: TransitionType.material);
|
router.define(userMinePath, handler: _userMinePageHandler, transitionType: TransitionType.material);
|
||||||
router.define(reportDetailPath, handler: _reportDetailPath, transitionType: TransitionType.material);
|
router.define(reportDetailPath, handler: _reportDetailPath, transitionType: TransitionType.material);
|
||||||
router.define(jobReportPagePath, handler: _jobReportPageHandler, transitionType: TransitionType.material);
|
router.define(jobReportPagePath, handler: _jobReportPageHandler, transitionType: TransitionType.material);
|
||||||
|
router.define(jobExamPagePath, handler: _jobExamPageHandler, transitionType: TransitionType.material);
|
||||||
|
|
||||||
// getTransition()
|
// getTransition()
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -245,6 +245,16 @@ abstract class RestClient {
|
||||||
Future<BaseStructureResult<bool>> getJobCollect(
|
Future<BaseStructureResult<bool>> getJobCollect(
|
||||||
@the_retrofit.Query("taskId") int taskId, @the_retrofit.Query("studentId") int studentId);
|
@the_retrofit.Query("taskId") int taskId, @the_retrofit.Query("studentId") int studentId);
|
||||||
|
|
||||||
|
// 作业 => 作业优先批阅取消
|
||||||
|
@the_retrofit.POST("/api/read/cancel-job-read-level")
|
||||||
|
Future<BaseStructureResult<bool>> jobPriorityReviewCancel(
|
||||||
|
@the_retrofit.Field("jobId") int jobId, @the_retrofit.Field("studentId") int studentId);
|
||||||
|
|
||||||
|
// 作业 => 作业优先批阅加入
|
||||||
|
@the_retrofit.POST("/api/read/join-read-level")
|
||||||
|
Future<BaseStructureResult> jobPriorityReviewJoin(
|
||||||
|
@the_retrofit.Field("jobId") int jobId, @the_retrofit.Field("studentId") int studentId);
|
||||||
|
|
||||||
// 作业 => 查询作业是否收藏
|
// 作业 => 查询作业是否收藏
|
||||||
@the_retrofit.POST("${RequestConfig.hwProxyKeywords}/api/Dpc/collect")
|
@the_retrofit.POST("${RequestConfig.hwProxyKeywords}/api/Dpc/collect")
|
||||||
Future<BaseStructureResult<bool>> toJobFavoriteCancel(@the_retrofit.Body() JobCollectParams params);
|
Future<BaseStructureResult<bool>> toJobFavoriteCancel(@the_retrofit.Body() JobCollectParams params);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue