报告,数据快查修改
This commit is contained in:
parent
b2f50b10a6
commit
ad655b7cca
|
|
@ -57,6 +57,16 @@ class JobReportModel extends Object {
|
|||
@JsonKey(name: 'zgReport')
|
||||
ZgReport zgReport;
|
||||
|
||||
@JsonKey(name: 'noAnswerStudentNames')
|
||||
List<String> noAnswerStudentNames;
|
||||
|
||||
@JsonKey(name: 'allCorrectStudentNames')
|
||||
List<String> allCorrectStudentNames;
|
||||
|
||||
@JsonKey(name: 'validStudentNames')
|
||||
List<String> validStudentNames;
|
||||
|
||||
|
||||
// 前端自定义 -- 全对学生
|
||||
@JsonKey(name: 'allpairsStudents')
|
||||
List<StudentAnswerInfos>? allpairsStudents;
|
||||
|
|
@ -91,6 +101,9 @@ class JobReportModel extends Object {
|
|||
this.overallTitles,
|
||||
this.kgReport,
|
||||
this.zgReport,
|
||||
this.noAnswerStudentNames,
|
||||
this.allCorrectStudentNames,
|
||||
this.validStudentNames,
|
||||
[
|
||||
this.allpairsStudents,
|
||||
this.passStudents,
|
||||
|
|
@ -274,9 +287,14 @@ class OverallTitles extends Object {
|
|||
@JsonKey(name: 'count')
|
||||
int count;
|
||||
|
||||
@JsonKey(name: 'studentNames')
|
||||
List<String> studentNames;
|
||||
|
||||
|
||||
OverallTitles(
|
||||
this.title,
|
||||
this.count,
|
||||
this.studentNames,
|
||||
);
|
||||
|
||||
factory OverallTitles.fromJson(Map<String, dynamic> srcJson) => _$OverallTitlesFromJson(srcJson);
|
||||
|
|
@ -363,7 +381,12 @@ class Details extends Object {
|
|||
@JsonKey(name: 'noAnswerStudentNames')
|
||||
List<String> noAnswerStudentNames;
|
||||
|
||||
Details(this.questionNo,this.questionId,this.partName,this.questionType,this.validRate,this.validCount,this.correctRate,this.questionAnswer,this.questionPicture,this.priorityGeneral,this.priorityStudentNames,this.answerNgStudentNames,this.noAnswerStudentNames);
|
||||
@JsonKey(name: 'answerOkStudentNames')
|
||||
List<String> answerOkStudentNames;
|
||||
|
||||
Details(this.questionNo,this.questionId,this.partName,this.questionType,this.validRate,
|
||||
this.validCount,this.correctRate,this.questionAnswer,this.questionPicture,this.priorityGeneral,
|
||||
this.priorityStudentNames,this.answerNgStudentNames,this.noAnswerStudentNames,this.answerOkStudentNames);
|
||||
|
||||
factory Details.fromJson(Map<String, dynamic> srcJson) => _$DetailsFromJson(srcJson);
|
||||
|
||||
|
|
|
|||
|
|
@ -296,7 +296,7 @@ class _JobReportState extends State<JobReport> with CommonMixin {
|
|||
),
|
||||
),
|
||||
//完成率、正确率
|
||||
TopCount(data),
|
||||
TopCount(data,classData == null?'':classData!.className),
|
||||
/* InkWell(
|
||||
onTap: (){
|
||||
RouterManager.router.navigateTo(
|
||||
|
|
@ -439,7 +439,11 @@ Widget $dropdownSelection(List<JobReportJoinClass>? involveClasses, JobReportJoi
|
|||
items: involveClasses.map((e) {
|
||||
return DropdownMenuItem(
|
||||
value: e.uniqueId!,
|
||||
child: quickText(e.graduationYear + e.className, size: 12.sp, color: Colors.black),
|
||||
child: quickText(
|
||||
e.uniqueId == '-1'
|
||||
? e.graduationYear
|
||||
:
|
||||
e.gradeName + e.className, size: 12.sp, color: Colors.black),
|
||||
);
|
||||
}).toList(),
|
||||
onChanged: (String? value) {
|
||||
|
|
|
|||
|
|
@ -148,7 +148,7 @@ class _QuickCheckPersonalState extends State<QuickCheckPersonal>
|
|||
SizedBox(
|
||||
height: studentInfo!.zgDetails.length>8?300.r:studentInfo!.zgDetails.length * 40.r + 40.r,
|
||||
child: StudentZgTable(
|
||||
headList: ['题号', '用时', '批注结果','答案','批注'],
|
||||
headList: ['题号', '用时', '学生答案','批注结果','批注'],
|
||||
bodyList: studentInfo!.zgDetails,
|
||||
),
|
||||
)
|
||||
|
|
|
|||
|
|
@ -17,6 +17,7 @@ import 'package:percent_indicator/linear_percent_indicator.dart';
|
|||
class QuickDataCheckPage extends StatefulWidget {
|
||||
final int jobId;
|
||||
final String className;
|
||||
final String gradeName;
|
||||
final int? schoolId;
|
||||
final int? gradeId;
|
||||
|
||||
|
|
@ -24,6 +25,7 @@ class QuickDataCheckPage extends StatefulWidget {
|
|||
{Key? key,
|
||||
required this.jobId,
|
||||
required this.className,
|
||||
required this.gradeName,
|
||||
this.schoolId,
|
||||
this.gradeId})
|
||||
: super(key: key);
|
||||
|
|
@ -171,7 +173,7 @@ class _QuickDataCheckPageState extends State<QuickDataCheckPage>
|
|||
width: 6.r,
|
||||
),
|
||||
Text(
|
||||
widget.className,
|
||||
widget.gradeName + widget.className,
|
||||
style: TextStyle(
|
||||
fontSize: 14.r, color: Colors.white),
|
||||
)
|
||||
|
|
|
|||
|
|
@ -86,7 +86,9 @@ class _ReportTableState extends State<ReportTable> {
|
|||
Expanded(
|
||||
flex: 1,
|
||||
child: Center(child: Text('未作答人',style: TextStyle(fontSize: 12.sp,color: Color(0xFF6A6A6A)),))),
|
||||
|
||||
Expanded(
|
||||
flex: 1,
|
||||
child: Center(child: Text('答对人数',style: TextStyle(fontSize: 12.sp,color: Color(0xFF6A6A6A)),))),
|
||||
Expanded(
|
||||
flex: 1,
|
||||
child: Center(child: Text('答错人',style: TextStyle(fontSize: 12.sp,color: Color(0xFF6A6A6A)),))),
|
||||
|
|
@ -107,6 +109,9 @@ class _ReportTableState extends State<ReportTable> {
|
|||
Expanded(
|
||||
flex:1,
|
||||
child: Center(child: Text(item['noAnswerStudentNames'],style: TextStyle(fontSize: 12.sp,color: Color(0xFF323232)),))),
|
||||
Expanded(
|
||||
flex:1,
|
||||
child: Center(child: Text(item['answerOkStudentNames'],style: TextStyle(fontSize: 12.sp,color: Color(0xFF323232)),))),
|
||||
Expanded(
|
||||
flex:1,
|
||||
child: Center(child: Text(item['answerNgStudentNames'],style: TextStyle(fontSize: 12.sp,color: Color(0xFF323232)),))),
|
||||
|
|
@ -138,27 +143,28 @@ class _ReportTableState extends State<ReportTable> {
|
|||
});
|
||||
}
|
||||
|
||||
void zdHandle( BuildContext context, String title, String questionNo,List noAnswerStudentNames,List answerNgStudentNames){
|
||||
void zdHandle( BuildContext context, String title, String questionNo,List noAnswerStudentNames,List answerNgStudentNames, List answerOkStudentNames){
|
||||
List list = [];
|
||||
if(noAnswerStudentNames.length>answerNgStudentNames.length){
|
||||
for(int i = 0;i<answerNgStudentNames.length;i++){
|
||||
var obj = {'noAnswerStudentNames':noAnswerStudentNames[i],'answerNgStudentNames':answerNgStudentNames[i]};
|
||||
list.add(obj);
|
||||
}
|
||||
for(int i = answerNgStudentNames.length ;i<noAnswerStudentNames.length;i++){
|
||||
var obj = {'noAnswerStudentNames':noAnswerStudentNames[i],'answerNgStudentNames':'-'};
|
||||
list.add(obj);
|
||||
}
|
||||
}else{
|
||||
for(int i = 0;i<noAnswerStudentNames.length;i++){
|
||||
var obj = {'noAnswerStudentNames':noAnswerStudentNames[i],'answerNgStudentNames':answerNgStudentNames[i]};
|
||||
list.add(obj);
|
||||
}
|
||||
for(int i = noAnswerStudentNames.length ;i<answerNgStudentNames.length;i++){
|
||||
var obj = {'noAnswerStudentNames':'-','answerNgStudentNames':answerNgStudentNames[i]};
|
||||
list.add(obj);
|
||||
}
|
||||
}
|
||||
|
||||
if(noAnswerStudentNames.length>answerNgStudentNames.length && noAnswerStudentNames.length>answerOkStudentNames.length){
|
||||
for(int i = 0;i<noAnswerStudentNames.length;i++){
|
||||
var obj = {'noAnswerStudentNames':noAnswerStudentNames[i],'answerNgStudentNames':answerNgStudentNames.length>i?answerNgStudentNames[i]:'-',
|
||||
'answerOkStudentNames':answerOkStudentNames.length>i?answerOkStudentNames[i]:'-'};
|
||||
list.add(obj);
|
||||
}
|
||||
}else if(answerNgStudentNames.length>noAnswerStudentNames.length && answerNgStudentNames.length>answerOkStudentNames.length){
|
||||
for(int i = 0;i<answerNgStudentNames.length;i++){
|
||||
var obj = {'noAnswerStudentNames':noAnswerStudentNames.length>i?noAnswerStudentNames[i]:'-','answerNgStudentNames':answerNgStudentNames[i],
|
||||
'answerOkStudentNames':answerOkStudentNames.length>i?answerOkStudentNames[i]:'-'};
|
||||
list.add(obj);
|
||||
}
|
||||
}else if(answerOkStudentNames.length>noAnswerStudentNames.length && answerOkStudentNames.length>answerNgStudentNames.length){
|
||||
for(int i = 0;i<answerOkStudentNames.length;i++){
|
||||
var obj = {'noAnswerStudentNames':noAnswerStudentNames.length>i?noAnswerStudentNames[i]:'-','answerNgStudentNames':answerNgStudentNames.length>i?answerNgStudentNames[i]:'-',
|
||||
'answerOkStudentNames':answerOkStudentNames[i]};
|
||||
list.add(obj);
|
||||
}
|
||||
}
|
||||
|
||||
showPeopleListDialog(context:context, title:title, questionNo:questionNo,arr:list,dcList:[]);
|
||||
}
|
||||
|
|
@ -190,7 +196,7 @@ class _ReportTableState extends State<ReportTable> {
|
|||
)),
|
||||
DataCell(InkWell(
|
||||
onTap: () {
|
||||
zdHandle(context, '作答人数', item.questionNo,item.noAnswerStudentNames,item.answerNgStudentNames);
|
||||
zdHandle(context, '作答人数', item.questionNo,item.noAnswerStudentNames,item.answerNgStudentNames,item.answerOkStudentNames);
|
||||
|
||||
},
|
||||
child: Center(
|
||||
|
|
|
|||
|
|
@ -84,6 +84,21 @@ class _StudentZgTableState extends State<StudentZgTable> {
|
|||
style: TextStyle(fontSize: 12.sp, color: Color(0xFF525252))),
|
||||
),
|
||||
)),
|
||||
DataCell(InkWell(
|
||||
onTap: (){
|
||||
if(item.state != 0){
|
||||
showImgDialog(context,item.studentAnswer!);
|
||||
}
|
||||
|
||||
},
|
||||
child: Center(
|
||||
child: Padding(
|
||||
padding: EdgeInsets.symmetric(horizontal: 5.r),
|
||||
child: Text(item.state!=0 ?'查看':'--',
|
||||
style: TextStyle(fontSize: 12.sp, color: Color(0xFF3661FE))),
|
||||
),
|
||||
),
|
||||
)),
|
||||
DataCell(Center(
|
||||
child: Padding(
|
||||
padding: EdgeInsets.symmetric(horizontal: 5.r),
|
||||
|
|
@ -94,24 +109,15 @@ class _StudentZgTableState extends State<StudentZgTable> {
|
|||
)),
|
||||
DataCell(InkWell(
|
||||
onTap: (){
|
||||
showImgDialog(context,item.studentAnswer!);
|
||||
if(item.state==1 || item.state==2){
|
||||
showImgDialog(context,item.annotateAnswers!);
|
||||
}
|
||||
|
||||
},
|
||||
child: Center(
|
||||
child: Padding(
|
||||
padding: EdgeInsets.symmetric(horizontal: 5.r),
|
||||
child: Text('查看',
|
||||
style: TextStyle(fontSize: 12.sp, color: Color(0xFF3661FE))),
|
||||
),
|
||||
),
|
||||
)),
|
||||
DataCell(InkWell(
|
||||
onTap: (){
|
||||
showImgDialog(context,item.annotateAnswers!);
|
||||
},
|
||||
child: Center(
|
||||
child: Padding(
|
||||
padding: EdgeInsets.symmetric(horizontal: 5.r),
|
||||
child: Text('查看',
|
||||
child: Text(item.state==1 || item.state==2?'查看':'--',
|
||||
style: TextStyle(fontSize: 12.sp, color: Color(0xFF3661FE))),
|
||||
),
|
||||
),
|
||||
|
|
|
|||
|
|
@ -1,11 +1,63 @@
|
|||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||
import 'package:marking_app/common/model/job/job_report_model.dart';
|
||||
import 'package:marking_app/utils/easy_refresh/MyEmptyWidget.dart';
|
||||
import 'package:marking_app/utils/index.dart';
|
||||
|
||||
class TopCount extends StatelessWidget {
|
||||
final JobReportModel data;
|
||||
const TopCount(this.data,{Key? key}) : super(key: key);
|
||||
final String className;
|
||||
const TopCount(this.data,this.className,{Key? key}) : super(key: key);
|
||||
|
||||
void showStudentListDialog(
|
||||
{required BuildContext context, required String title,required List arr}) {
|
||||
showDialog(
|
||||
context: context,
|
||||
builder: (BuildContext context) {
|
||||
return AlertDialog(
|
||||
// insetPadding: EdgeInsets.symmetric(vertical: 20.r,horizontal: 20.r),
|
||||
contentPadding: EdgeInsets.all(20.r),
|
||||
shape: RoundedRectangleBorder(
|
||||
borderRadius: BorderRadius.all(Radius.circular(15.r))),
|
||||
content: SizedBox(
|
||||
width: MediaQuery.of(context).size.width * 0.7,
|
||||
height: MediaQuery.of(context).size.height * 0.7,
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
Center(
|
||||
child: Text(
|
||||
className + title,
|
||||
style: TextStyle(
|
||||
fontSize: 15.sp,
|
||||
color: Color(0xFF3C3C3C),
|
||||
fontWeight: FontWeight.w500),
|
||||
),
|
||||
),
|
||||
SizedBox(
|
||||
height: 5.r,
|
||||
),
|
||||
SizedBox(height: 15.r,),
|
||||
arr.length>0?Expanded(
|
||||
child: ListView.builder(
|
||||
shrinkWrap: true,
|
||||
itemBuilder: (context,index){
|
||||
var item = arr[index];
|
||||
return Container(
|
||||
padding: EdgeInsets.symmetric(vertical: 5.r,horizontal: 15.r),
|
||||
color: index.isOdd?Colors.white:Color(0xFFF0F0F0),
|
||||
child: Text(item,style: TextStyle(fontSize: 12.sp,color: Color(0xFF323232)),),
|
||||
);
|
||||
},itemCount: arr.length,),
|
||||
):MyEmptyWidget()
|
||||
|
||||
],
|
||||
),
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
|
|
@ -21,161 +73,154 @@ class TopCount extends StatelessWidget {
|
|||
Row(
|
||||
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
|
||||
children: [
|
||||
Container(
|
||||
width: 81.r,
|
||||
padding: EdgeInsets.symmetric(
|
||||
vertical: 10.r, horizontal: 6.r),
|
||||
decoration: BoxDecoration(
|
||||
border: Border.all(
|
||||
width: 1.r,
|
||||
color: Color(0xFF4CC793),
|
||||
style: BorderStyle.solid),
|
||||
borderRadius: BorderRadius.all(Radius.circular(6.r)),
|
||||
InkWell(
|
||||
onTap: (){
|
||||
showStudentListDialog(context:context,title: '未提交作业学生',arr: data.noAnswerStudentNames);
|
||||
},
|
||||
child: Container(
|
||||
width: 81.r,
|
||||
padding: EdgeInsets.symmetric(
|
||||
vertical: 10.r, horizontal: 6.r),
|
||||
decoration: BoxDecoration(
|
||||
border: Border.all(
|
||||
width: 1.r,
|
||||
color: Color(0xFF4CC793),
|
||||
style: BorderStyle.solid),
|
||||
borderRadius: BorderRadius.all(Radius.circular(6.r)),
|
||||
),
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
SizedBox(height: 5.r,),
|
||||
Row(
|
||||
crossAxisAlignment: CrossAxisAlignment.end,
|
||||
children: [
|
||||
Text(
|
||||
data.noAnswerCount.toString(),
|
||||
style: TextStyle(
|
||||
fontSize: 24.sp,
|
||||
color: Color(0xFF4CC793),
|
||||
fontWeight: FontWeight.w600),
|
||||
),
|
||||
Text(
|
||||
'人',
|
||||
style: TextStyle(
|
||||
fontSize: 16.sp,
|
||||
color: Color(0xFF4CC793),
|
||||
fontWeight: FontWeight.w600),
|
||||
),
|
||||
],
|
||||
),
|
||||
SizedBox(
|
||||
height: 20.r,
|
||||
),
|
||||
Text(
|
||||
'未提交',
|
||||
style: TextStyle(
|
||||
fontSize: 12.sp, color: Color(0xFF818181)),
|
||||
)
|
||||
],
|
||||
),
|
||||
),
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
SizedBox(height: 5.r,),
|
||||
Row(
|
||||
crossAxisAlignment: CrossAxisAlignment.end,
|
||||
children: [
|
||||
Text(
|
||||
doubleToStringAsFixed(data.finishRate),
|
||||
style: TextStyle(
|
||||
fontSize: 24.sp,
|
||||
color: Color(0xFF4CC793),
|
||||
fontWeight: FontWeight.w600),
|
||||
),
|
||||
Text(
|
||||
'%',
|
||||
style: TextStyle(
|
||||
fontSize: 16.sp,
|
||||
color: Color(0xFF4CC793),
|
||||
fontWeight: FontWeight.w600),
|
||||
),
|
||||
],
|
||||
),
|
||||
SizedBox(
|
||||
height: 20.r,
|
||||
child: Row(
|
||||
),
|
||||
InkWell(
|
||||
onTap: (){
|
||||
showStudentListDialog(context:context,title: '已提交作业学生',arr: data.validStudentNames);
|
||||
},
|
||||
child: Container(
|
||||
width: 81.r,
|
||||
padding: EdgeInsets.symmetric(
|
||||
vertical: 10.r, horizontal: 6.r),
|
||||
decoration: BoxDecoration(
|
||||
border: Border.all(
|
||||
width: 1.r,
|
||||
color: Color(0xFF4CC793),
|
||||
style: BorderStyle.solid),
|
||||
borderRadius: BorderRadius.all(Radius.circular(6.r)),
|
||||
),
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
SizedBox(height: 5.r,),
|
||||
Row(
|
||||
crossAxisAlignment: CrossAxisAlignment.end,
|
||||
children: [
|
||||
Text(
|
||||
data.validCount.toString(),
|
||||
style: TextStyle(
|
||||
fontSize: 10.sp,
|
||||
color: Color(0xFFB0B0B0)),
|
||||
fontSize: 24.sp,
|
||||
color: Color(0xFF4CC793),
|
||||
fontWeight: FontWeight.w600),
|
||||
),
|
||||
Text(
|
||||
'/',
|
||||
'人',
|
||||
style: TextStyle(
|
||||
fontSize: 10.sp,
|
||||
color: Color(0xFFB0B0B0)),
|
||||
),
|
||||
Text(
|
||||
data.studentCount.toString(),
|
||||
style: TextStyle(
|
||||
fontSize: 10.sp,
|
||||
color: Color(0xFFB0B0B0)),
|
||||
fontSize: 16.sp,
|
||||
color: Color(0xFF4CC793),
|
||||
fontWeight: FontWeight.w600),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
Text(
|
||||
'完成率',
|
||||
style: TextStyle(
|
||||
fontSize: 12.sp, color: Color(0xFF818181)),
|
||||
)
|
||||
],
|
||||
SizedBox(
|
||||
height: 20.r,
|
||||
),
|
||||
Text(
|
||||
'已提交',
|
||||
style: TextStyle(
|
||||
fontSize: 12.sp, color: Color(0xFF818181)),
|
||||
)
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
Container(
|
||||
width: 81.r,
|
||||
padding: EdgeInsets.symmetric(
|
||||
vertical: 10.r, horizontal: 6.r),
|
||||
decoration: BoxDecoration(
|
||||
border: Border.all(
|
||||
width: 1.r,
|
||||
color: Color(0xFF4CC793),
|
||||
style: BorderStyle.solid),
|
||||
borderRadius: BorderRadius.all(Radius.circular(6.r)),
|
||||
),
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
SizedBox(height: 5.r,),
|
||||
Row(
|
||||
crossAxisAlignment: CrossAxisAlignment.end,
|
||||
children: [
|
||||
Text(
|
||||
doubleToStringAsFixed(data.correctRate),
|
||||
style: TextStyle(
|
||||
fontSize: 24.sp,
|
||||
color: Color(0xFF4CC793),
|
||||
fontWeight: FontWeight.w600),
|
||||
),
|
||||
Text(
|
||||
'%',
|
||||
style: TextStyle(
|
||||
fontSize: 16.sp,
|
||||
color: Color(0xFF4CC793),
|
||||
fontWeight: FontWeight.w600),
|
||||
),
|
||||
],
|
||||
),
|
||||
SizedBox(
|
||||
height: 20.r,
|
||||
),
|
||||
Text(
|
||||
'正确率',
|
||||
style: TextStyle(
|
||||
fontSize: 12.sp, color: Color(0xFF818181)),
|
||||
)
|
||||
],
|
||||
),
|
||||
),
|
||||
Container(
|
||||
width: 81.r,
|
||||
padding: EdgeInsets.symmetric(
|
||||
vertical: 10.r, horizontal: 6.r),
|
||||
decoration: BoxDecoration(
|
||||
border: Border.all(
|
||||
width: 1.r,
|
||||
color: Color(0xFF4CC793),
|
||||
style: BorderStyle.solid),
|
||||
borderRadius: BorderRadius.all(Radius.circular(6.r)),
|
||||
),
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
SizedBox(height: 5.r,),
|
||||
Row(
|
||||
crossAxisAlignment: CrossAxisAlignment.end,
|
||||
children: [
|
||||
Text(
|
||||
data.allCorrect.toString(),
|
||||
style: TextStyle(
|
||||
fontSize: 24.sp,
|
||||
color: Color(0xFF4CC793),
|
||||
fontWeight: FontWeight.w600),
|
||||
),
|
||||
Text(
|
||||
'人',
|
||||
style: TextStyle(
|
||||
fontSize: 16.sp,
|
||||
color: Color(0xFF4CC793),
|
||||
fontWeight: FontWeight.w600),
|
||||
),
|
||||
],
|
||||
),
|
||||
SizedBox(
|
||||
height: 20.r,
|
||||
),
|
||||
Text(
|
||||
'全对',
|
||||
style: TextStyle(
|
||||
fontSize: 12.sp, color: Color(0xFF818181)),
|
||||
)
|
||||
],
|
||||
InkWell(
|
||||
onTap: (){
|
||||
showStudentListDialog(context:context,title: '全对作业学生',arr: data.allCorrectStudentNames);
|
||||
},
|
||||
child: Container(
|
||||
width: 81.r,
|
||||
padding: EdgeInsets.symmetric(
|
||||
vertical: 10.r, horizontal: 6.r),
|
||||
decoration: BoxDecoration(
|
||||
border: Border.all(
|
||||
width: 1.r,
|
||||
color: Color(0xFF4CC793),
|
||||
style: BorderStyle.solid),
|
||||
borderRadius: BorderRadius.all(Radius.circular(6.r)),
|
||||
),
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
SizedBox(height: 5.r,),
|
||||
Row(
|
||||
crossAxisAlignment: CrossAxisAlignment.end,
|
||||
children: [
|
||||
Text(
|
||||
data.allCorrect.toString(),
|
||||
style: TextStyle(
|
||||
fontSize: 24.sp,
|
||||
color: Color(0xFF4CC793),
|
||||
fontWeight: FontWeight.w600),
|
||||
),
|
||||
Text(
|
||||
'人',
|
||||
style: TextStyle(
|
||||
fontSize: 16.sp,
|
||||
color: Color(0xFF4CC793),
|
||||
fontWeight: FontWeight.w600),
|
||||
),
|
||||
],
|
||||
),
|
||||
SizedBox(
|
||||
height: 20.r,
|
||||
),
|
||||
Text(
|
||||
'全对',
|
||||
style: TextStyle(
|
||||
fontSize: 12.sp, color: Color(0xFF818181)),
|
||||
)
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
],
|
||||
|
|
@ -206,55 +251,60 @@ class TopCount extends StatelessWidget {
|
|||
}else if(item.title == '差'){
|
||||
bgColor = Color(0xFFFF6F6F);
|
||||
}
|
||||
return Container(
|
||||
padding: EdgeInsets.symmetric(vertical: 10.r),
|
||||
width: (MediaQuery.of(context).size.width - 55.r) / 2,
|
||||
color: Color(0xFFF5F5F5),
|
||||
child: Row(
|
||||
mainAxisAlignment: MainAxisAlignment.start,
|
||||
crossAxisAlignment: CrossAxisAlignment.center,
|
||||
children: [
|
||||
SizedBox(
|
||||
width: (MediaQuery.of(context).size.width - 55.r)/4 ,
|
||||
child: Row(
|
||||
mainAxisAlignment: MainAxisAlignment.end,
|
||||
children: [
|
||||
Container(
|
||||
width: 28.r,
|
||||
height: 28.r,
|
||||
decoration: BoxDecoration(
|
||||
color: Colors.white,
|
||||
border: Border.all(
|
||||
color: bgColor,
|
||||
width: 1.r,
|
||||
style: BorderStyle.solid),
|
||||
borderRadius: BorderRadius.circular(14.r)),
|
||||
child: Center(
|
||||
child: Text(
|
||||
item.title,
|
||||
style: TextStyle(
|
||||
color: bgColor, fontSize: 12.r),
|
||||
)),
|
||||
),
|
||||
],
|
||||
return InkWell(
|
||||
onTap: (){
|
||||
showStudentListDialog(context:context,title:item.title+'等作业学生',arr: item.studentNames);
|
||||
},
|
||||
child: Container(
|
||||
padding: EdgeInsets.symmetric(vertical: 10.r),
|
||||
width: (MediaQuery.of(context).size.width - 55.r) / 2,
|
||||
color: Color(0xFFF5F5F5),
|
||||
child: Row(
|
||||
mainAxisAlignment: MainAxisAlignment.start,
|
||||
crossAxisAlignment: CrossAxisAlignment.center,
|
||||
children: [
|
||||
SizedBox(
|
||||
width: (MediaQuery.of(context).size.width - 55.r)/4 ,
|
||||
child: Row(
|
||||
mainAxisAlignment: MainAxisAlignment.end,
|
||||
children: [
|
||||
Container(
|
||||
width: 28.r,
|
||||
height: 28.r,
|
||||
decoration: BoxDecoration(
|
||||
color: Colors.white,
|
||||
border: Border.all(
|
||||
color: bgColor,
|
||||
width: 1.r,
|
||||
style: BorderStyle.solid),
|
||||
borderRadius: BorderRadius.circular(14.r)),
|
||||
child: Center(
|
||||
child: Text(
|
||||
item.title,
|
||||
style: TextStyle(
|
||||
color: bgColor, fontSize: 12.r),
|
||||
)),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
SizedBox(
|
||||
width: 10.r,
|
||||
),
|
||||
Text(
|
||||
item.count.toString(),
|
||||
style: TextStyle(
|
||||
fontSize: 20.sp,
|
||||
color: Color(0xFF595959)),
|
||||
),
|
||||
Text(
|
||||
'人',
|
||||
style: TextStyle(
|
||||
fontSize: 14.sp,
|
||||
color: Color(0xFF595959)),
|
||||
),
|
||||
],
|
||||
SizedBox(
|
||||
width: 10.r,
|
||||
),
|
||||
Text(
|
||||
item.count.toString(),
|
||||
style: TextStyle(
|
||||
fontSize: 20.sp,
|
||||
color: Color(0xFF595959)),
|
||||
),
|
||||
Text(
|
||||
'人',
|
||||
style: TextStyle(
|
||||
fontSize: 14.sp,
|
||||
color: Color(0xFF595959)),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
);
|
||||
},
|
||||
|
|
|
|||
|
|
@ -278,6 +278,7 @@ class RouterManager {
|
|||
handlerFunc: (BuildContext? context, Map<String, List<String>> params) {
|
||||
int jobId = int.parse(params['jobId']![0]);
|
||||
String className = params['className']![0];
|
||||
String gradeName = params['gradeName']![0];
|
||||
int? schoolId;
|
||||
if (params['schoolId'] != null && params['schoolId']?[0] != null && params['schoolId']![0] != 'null') {
|
||||
schoolId = int.parse(params['schoolId']![0]);
|
||||
|
|
@ -286,7 +287,7 @@ class RouterManager {
|
|||
if (params['gradeId'] != null && params['gradeId']?[0] != null && params['gradeId']![0] != 'null') {
|
||||
gradeId = int.parse(params['gradeId']![0]);
|
||||
}
|
||||
return QuickDataCheckPage(jobId: jobId, className: className,schoolId:schoolId,gradeId:gradeId);
|
||||
return QuickDataCheckPage(jobId: jobId, className: className,gradeName:gradeName,schoolId:schoolId,gradeId:gradeId);
|
||||
},
|
||||
);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue