Compare commits
No commits in common. "84ece07e298543aa97ce1ca26ab1d339bacb23a3" and "a9a9b03deb4d0ff853e0d1f330183e8776ce2dab" have entirely different histories.
84ece07e29
...
a9a9b03deb
Binary file not shown.
|
After Width: | Height: | Size: 11 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 47 KiB |
|
|
@ -25,7 +25,6 @@ class _JobPriorityReviewSetState extends State<JobPriorityReviewSet>
|
|||
late TabController tabController;
|
||||
int tabIndex = 0;
|
||||
List levelList = [];
|
||||
bool isClicking = false;
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
|
|
@ -43,7 +42,7 @@ class _JobPriorityReviewSetState extends State<JobPriorityReviewSet>
|
|||
setState(() {
|
||||
if(res.success){
|
||||
levelList = res.data!;
|
||||
isClicking = false;
|
||||
print(levelList.length);
|
||||
}else{
|
||||
levelList = [];
|
||||
}
|
||||
|
|
@ -58,7 +57,6 @@ class _JobPriorityReviewSetState extends State<JobPriorityReviewSet>
|
|||
BaseStructureResult res = await _client.getSetJobReadLevel(params);
|
||||
if(res.code == 200){
|
||||
getReadLevel();
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -78,7 +76,7 @@ class _JobPriorityReviewSetState extends State<JobPriorityReviewSet>
|
|||
backgroundColor: Colors.white,
|
||||
title: Text(
|
||||
'优先批阅人配置',
|
||||
style: TextStyle(fontSize: 14.sp, color: Color(0xFF333333)),
|
||||
style: TextStyle(fontSize: 16.sp, color: Color(0xFF333333)),
|
||||
),
|
||||
centerTitle: true,
|
||||
leading: IconButton(
|
||||
|
|
@ -89,12 +87,8 @@ class _JobPriorityReviewSetState extends State<JobPriorityReviewSet>
|
|||
body: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
SizedBox(height: 10.r,),
|
||||
Container(
|
||||
Padding(
|
||||
padding: EdgeInsets.symmetric(horizontal: 14.r),
|
||||
decoration: BoxDecoration(
|
||||
border: Border(bottom: BorderSide(width: 1.r,color: Color(0xFFCCCCCC)))
|
||||
),
|
||||
child: TabBar(
|
||||
onTap: (int val) {
|
||||
print(val);
|
||||
|
|
@ -132,7 +126,6 @@ class _JobPriorityReviewSetState extends State<JobPriorityReviewSet>
|
|||
labelPadding: const EdgeInsets.all(0),
|
||||
),
|
||||
),
|
||||
|
||||
Expanded(
|
||||
child:Padding(
|
||||
padding: EdgeInsets.symmetric(vertical:14.r,horizontal: 14.r),
|
||||
|
|
@ -164,9 +157,6 @@ class _JobPriorityReviewSetState extends State<JobPriorityReviewSet>
|
|||
Text(item.studentName,style: TextStyle(fontSize: 12.sp,color: Color(0xFF6888FD)),),
|
||||
tabIndex == 0?InkWell(
|
||||
onTap: (){
|
||||
setState(() {
|
||||
isClicking = true;
|
||||
});
|
||||
setJobReadLevel(item.studentGroupDetailId,0);
|
||||
EasyLoading.show(status: 'loading...');
|
||||
},
|
||||
|
|
@ -175,7 +165,7 @@ class _JobPriorityReviewSetState extends State<JobPriorityReviewSet>
|
|||
width: 70.r,
|
||||
decoration: BoxDecoration(
|
||||
borderRadius: BorderRadius.all(Radius.circular(20.r)),
|
||||
color: isClicking?Color(0xFFDCE3FF):Color(0xFF6888FD),
|
||||
color: Color(0xFF6888FD),
|
||||
),
|
||||
child: Center(
|
||||
child:Text('取消优先',style: TextStyle(fontSize: 10.sp,color: Colors.white),),
|
||||
|
|
@ -183,9 +173,6 @@ class _JobPriorityReviewSetState extends State<JobPriorityReviewSet>
|
|||
),
|
||||
):InkWell(
|
||||
onTap: (){
|
||||
setState(() {
|
||||
isClicking = true;
|
||||
});
|
||||
setJobReadLevel(item.studentGroupDetailId,1);
|
||||
EasyLoading.show(status: 'loading...');
|
||||
},
|
||||
|
|
@ -194,11 +181,11 @@ class _JobPriorityReviewSetState extends State<JobPriorityReviewSet>
|
|||
width: 70.r,
|
||||
decoration: BoxDecoration(
|
||||
borderRadius: BorderRadius.all(Radius.circular(20.r)),
|
||||
color: isClicking?Color(0xFF6888FD):Color(0xFFFFFFFF),
|
||||
border: Border.all(width: 1.r,color: isClicking?Color(0xFFFFFFFF):Color(0xFF6888FD)),
|
||||
color: Color(0xFFFFFFFF),
|
||||
border: Border.all(width: 1.r,color: Color(0xFF6888FD)),
|
||||
),
|
||||
child: Center(
|
||||
child:Text('设为优先',style: TextStyle(fontSize: 10.sp,color: isClicking?Color(0xFFFFFFFF):Color(0xFF6888FD)),),
|
||||
child:Text('设为优先',style: TextStyle(fontSize: 10.sp,color: Color(0xFF6888FD)),),
|
||||
),
|
||||
),
|
||||
)
|
||||
|
|
@ -220,9 +207,6 @@ class _JobPriorityReviewSetState extends State<JobPriorityReviewSet>
|
|||
Text(item.studentName,style: TextStyle(fontSize: 12.sp,color: Color(0xFF6888FD)),),
|
||||
tabIndex == 0?InkWell(
|
||||
onTap: (){
|
||||
setState(() {
|
||||
isClicking = true;
|
||||
});
|
||||
setJobReadLevel(item.studentGroupDetailId,0);
|
||||
EasyLoading.show(status: 'loading...');
|
||||
},
|
||||
|
|
@ -231,7 +215,7 @@ class _JobPriorityReviewSetState extends State<JobPriorityReviewSet>
|
|||
width: 82.r,
|
||||
decoration: BoxDecoration(
|
||||
borderRadius: BorderRadius.all(Radius.circular(20.r)),
|
||||
color: isClicking?Color(0xFFDCE3FF):Color(0xFF6888FD),
|
||||
color: Color(0xFF6888FD),
|
||||
),
|
||||
child: Center(
|
||||
child:Text('取消优先',style: TextStyle(fontSize: 10.sp,color: Colors.white),),
|
||||
|
|
|
|||
|
|
@ -300,11 +300,10 @@ class _JobReportState extends State<JobReport> with CommonMixin {
|
|||
backgroundColor: Color.fromRGBO(245, 245, 245, 1),
|
||||
appBar: AppBar(
|
||||
backgroundColor: Colors.white,
|
||||
centerTitle: true,
|
||||
title: Center(
|
||||
child: quickText(
|
||||
widget.title + '作业报告',
|
||||
size: 14.sp,
|
||||
size: 16.sp,
|
||||
color: Color.fromRGBO(51, 51, 51, 1),
|
||||
)),
|
||||
leading: IconButton(
|
||||
|
|
@ -371,7 +370,7 @@ class _JobReportState extends State<JobReport> with CommonMixin {
|
|||
),*/
|
||||
//客观题
|
||||
Container(
|
||||
padding: EdgeInsets.symmetric(vertical: 10.r, horizontal: 14.r),
|
||||
padding: EdgeInsets.symmetric(vertical: 10.r, horizontal: 10.r),
|
||||
margin: EdgeInsets.symmetric(vertical: 10.r, horizontal: 10.r),
|
||||
decoration: BoxDecoration(
|
||||
color: Colors.white,
|
||||
|
|
@ -383,12 +382,12 @@ class _JobReportState extends State<JobReport> with CommonMixin {
|
|||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
crossAxisAlignment: CrossAxisAlignment.end,
|
||||
children: [
|
||||
Text('客观题',style: TextStyle(fontSize: 14.sp,color: Color(0xFF5C5C5C),fontWeight: FontWeight.w600),),
|
||||
Text('客观题',style: TextStyle(fontSize: 14.sp,color: Color(0xFF5C5C5C),fontWeight: FontWeight.w500),),
|
||||
SizedBox(width: 10.r,),
|
||||
Text('${data.kgReport.correctRate}%',style: TextStyle(fontSize: 14.sp,color: Color(0xFF6888FD),fontWeight: FontWeight.w600),),
|
||||
Text('${data.kgReport.correctRate}%',style: TextStyle(fontSize: 14.sp,color: Color(0xFF6888FD),fontWeight: FontWeight.w500),),
|
||||
],
|
||||
),
|
||||
SizedBox(height: 6.r,),
|
||||
SizedBox(height: 10.r,),
|
||||
SizedBox(
|
||||
height: data.kgReport.details.length>10?300.r:data.kgReport.details.length * 50.r + 20.r,
|
||||
child: ReportTable(
|
||||
|
|
@ -403,7 +402,7 @@ class _JobReportState extends State<JobReport> with CommonMixin {
|
|||
),
|
||||
//主观题
|
||||
Container(
|
||||
padding: EdgeInsets.symmetric(vertical: 10.r, horizontal: 14.r),
|
||||
padding: EdgeInsets.symmetric(vertical: 10.r, horizontal: 10.r),
|
||||
margin: EdgeInsets.symmetric(vertical: 10.r, horizontal: 10.r),
|
||||
decoration: BoxDecoration(
|
||||
color: Colors.white,
|
||||
|
|
@ -415,9 +414,9 @@ class _JobReportState extends State<JobReport> with CommonMixin {
|
|||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
crossAxisAlignment: CrossAxisAlignment.end,
|
||||
children: [
|
||||
Text('主观题',style: TextStyle(fontSize: 14.sp,color: Color(0xFF5C5C5C),fontWeight: FontWeight.w600),),
|
||||
SizedBox(width: 6.r,),
|
||||
Text('${data.zgReport.correctRate}%',style: TextStyle(fontSize: 14.sp,color: Color(0xFF6888FD),fontWeight: FontWeight.w600),),
|
||||
Text('主观题',style: TextStyle(fontSize: 14.sp,color: Color(0xFF5C5C5C),fontWeight: FontWeight.w500),),
|
||||
SizedBox(width: 10.r,),
|
||||
Text('${data.zgReport.correctRate}%',style: TextStyle(fontSize: 14.sp,color: Color(0xFF6888FD),fontWeight: FontWeight.w500),),
|
||||
],
|
||||
),
|
||||
SizedBox(height: 10.r,),
|
||||
|
|
@ -437,21 +436,13 @@ class _JobReportState extends State<JobReport> with CommonMixin {
|
|||
// 顶部图形数据
|
||||
/* $TopGraphic(data),*/
|
||||
// 掌握知识点的情况
|
||||
Container(
|
||||
margin: EdgeInsets.symmetric(horizontal: 10.r),
|
||||
child: $MasterKnowledgePoint(data.knowledgeInfos, detailKnowledgeCall)),
|
||||
$MasterKnowledgePoint(data.knowledgeInfos, detailKnowledgeCall),
|
||||
// 掌握知识点的情况
|
||||
Container(
|
||||
margin: EdgeInsets.symmetric(horizontal: 10.r),
|
||||
child: $OverallPerformance(data.studentCount, data.overallTitles)),
|
||||
$OverallPerformance(data.studentCount, data.overallTitles),
|
||||
// 单位时间答题情况
|
||||
Container(
|
||||
margin: EdgeInsets.symmetric(horizontal: 10.r),
|
||||
child: $UnitTimeAnsweringSituation(widget.id, data.questionAnswerInfos)),
|
||||
$UnitTimeAnsweringSituation(widget.id, data.questionAnswerInfos),
|
||||
// 人员数据概况
|
||||
Container(
|
||||
margin: EdgeInsets.symmetric(horizontal: 10.r),
|
||||
child: $PersonnelDataOverview(data.studentAnswerInfos)),
|
||||
$PersonnelDataOverview(data.studentAnswerInfos),
|
||||
],
|
||||
);
|
||||
}),
|
||||
|
|
@ -1248,7 +1239,7 @@ Widget $masterKnowledgePoint(
|
|||
List<KnowledgeInfos> knowledgeInfos,
|
||||
Future<void> Function(KnowledgeInfos knowledge) detailCall) {
|
||||
Widget childItem(int serialNumber, KnowledgeInfos knowItem) => Container(
|
||||
margin: EdgeInsets.only(bottom: 15.h,left: 15.r,right: 15.r),
|
||||
margin: EdgeInsets.only(bottom: 20.h),
|
||||
child: Column(
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
|
|
@ -1266,8 +1257,9 @@ Widget $masterKnowledgePoint(
|
|||
size: 12.sp,
|
||||
color: Color.fromRGBO(152, 152, 152, 1)),
|
||||
quickText('${doubleToStringAsFixed(knowItem.rate)}%',
|
||||
size: 12.sp,
|
||||
color: Color.fromRGBO(64, 64, 64, 1)),
|
||||
size: 14.sp,
|
||||
color: Color.fromRGBO(64, 64, 64, 1),
|
||||
fontWeight: FontWeight.bold),
|
||||
],
|
||||
),
|
||||
),
|
||||
|
|
@ -1275,7 +1267,7 @@ Widget $masterKnowledgePoint(
|
|||
Expanded(flex: 1, child: SizedBox()),
|
||||
],
|
||||
),
|
||||
SizedBox(height: 3.h),
|
||||
SizedBox(height: 6.h),
|
||||
Row(
|
||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||
children: [
|
||||
|
|
@ -1284,14 +1276,13 @@ Widget $masterKnowledgePoint(
|
|||
child: LinearPercentIndicator(
|
||||
padding: EdgeInsets.zero,
|
||||
animation: true,
|
||||
lineHeight: 10.h,
|
||||
lineHeight: 15.h,
|
||||
animationDuration: 2500,
|
||||
percent: 0.1,
|
||||
/* center:
|
||||
Text(
|
||||
center: Text(
|
||||
'${doubleToStringAsFixed(knowItem.rate)}%',
|
||||
style: TextStyle(color: Colors.white, fontSize: 10.sp),
|
||||
),*/
|
||||
),
|
||||
progressColor: Theme.of(context).primaryColor,
|
||||
backgroundColor: const Color.fromRGBO(219, 224, 243, 1),
|
||||
barRadius: Radius.circular(10.r),
|
||||
|
|
@ -1303,7 +1294,7 @@ Widget $masterKnowledgePoint(
|
|||
mainAxisSize: MainAxisSize.min,
|
||||
children: [
|
||||
quickText('查看',
|
||||
size: 12.sp, color: Color.fromRGBO(239, 135, 20, 1)),
|
||||
size: 14.sp, color: Color.fromRGBO(239, 135, 20, 1)),
|
||||
Icon(Icons.arrow_forward_ios,
|
||||
size: 11.sp, color: Color.fromRGBO(239, 135, 20, 1)),
|
||||
],
|
||||
|
|
@ -1375,7 +1366,7 @@ Widget $overallPerformance(int totalNumber, List<OverallTitles> overallTitles) {
|
|||
child: PieChart(
|
||||
PieChartData(
|
||||
borderData: FlBorderData(show: false),
|
||||
sectionsSpace: 0,
|
||||
sectionsSpace: 2,
|
||||
centerSpaceRadius: 0,
|
||||
sections: overallTitles.asMap().keys.map((index) {
|
||||
var e = overallTitles[index];
|
||||
|
|
@ -1387,8 +1378,9 @@ Widget $overallPerformance(int totalNumber, List<OverallTitles> overallTitles) {
|
|||
(doubleToStringAsFixed(e.count / totalNumber * 100) +
|
||||
'%'),
|
||||
titleStyle: TextStyle(
|
||||
fontSize: 12.sp,
|
||||
color: Color(0xFF999999)),
|
||||
fontSize: 14.sp,
|
||||
color: Colors.white,
|
||||
fontWeight: FontWeight.bold),
|
||||
);
|
||||
}).toList(),
|
||||
),
|
||||
|
|
|
|||
|
|
@ -175,7 +175,6 @@ class _JobFavoriteState extends State<JobFavorite> with CommonMixin {
|
|||
padding: EdgeInsets.symmetric(vertical: 0.r, horizontal: 14.r),
|
||||
child: Row(
|
||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||
crossAxisAlignment: CrossAxisAlignment.center,
|
||||
children: [
|
||||
Text(
|
||||
widget.jobName,
|
||||
|
|
@ -216,16 +215,14 @@ class _JobFavoriteState extends State<JobFavorite> with CommonMixin {
|
|||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: List.generate(groupList.length, (index) {
|
||||
var item = groupList[index];
|
||||
return Padding(
|
||||
padding: EdgeInsets.only(bottom: 8.r),
|
||||
child: Column(
|
||||
return Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
Padding(
|
||||
padding: EdgeInsets.only(bottom: 5.r),
|
||||
child: Text(
|
||||
'第${item['questionPage']}页',
|
||||
style: TextStyle(fontSize: 12.sp, color: Color(0xFF2E5BFF)),
|
||||
style: TextStyle(fontSize: 14.sp, color: Color(0xFF2E5BFF)),
|
||||
),
|
||||
),
|
||||
GridView(
|
||||
|
|
@ -266,8 +263,8 @@ class _JobFavoriteState extends State<JobFavorite> with CommonMixin {
|
|||
},
|
||||
child: Image.asset(
|
||||
'assets/images/favorite_delete_icon.png',
|
||||
width: 24.r,
|
||||
height: 24.r,
|
||||
width: 26.r,
|
||||
height: 26.r,
|
||||
),
|
||||
),
|
||||
],
|
||||
|
|
@ -277,7 +274,6 @@ class _JobFavoriteState extends State<JobFavorite> with CommonMixin {
|
|||
})
|
||||
),
|
||||
],
|
||||
),
|
||||
);
|
||||
})
|
||||
|
||||
|
|
@ -383,7 +379,7 @@ Widget $classSelection(List<JobReportJoinClass>? involveClasses, JobReportJoinCl
|
|||
return DropdownMenuItem(
|
||||
value: e.uniqueId!,
|
||||
child: quickText(e.uniqueId == '-1' ? e.graduationYear : e.graduationYear + e.className,
|
||||
size: 10.sp, color: Colors.black),
|
||||
size: 12.sp, color: Colors.black),
|
||||
);
|
||||
}).toList(),
|
||||
onChanged: (String? value) {
|
||||
|
|
|
|||
|
|
@ -62,7 +62,7 @@ class _QuickCheckPersonalState extends State<QuickCheckPersonal>
|
|||
backgroundColor: Colors.white,
|
||||
title: Text(
|
||||
studentInfo!.studentName!,
|
||||
style: TextStyle(fontSize: 14.sp, color: Color(0xFF000000)),
|
||||
style: TextStyle(fontSize: 16.sp, color: Color(0xFF000000)),
|
||||
),
|
||||
centerTitle: true,
|
||||
leading: IconButton(
|
||||
|
|
@ -91,7 +91,7 @@ class _QuickCheckPersonalState extends State<QuickCheckPersonal>
|
|||
Text(
|
||||
'客观题',
|
||||
style: TextStyle(
|
||||
fontSize: 14.sp, color: Color(0xFF5C5C5C),fontWeight: FontWeight.w600),
|
||||
fontSize: 14.sp, color: Color(0xFF5C5C5C)),
|
||||
),
|
||||
SizedBox(
|
||||
width: 10.r,
|
||||
|
|
@ -99,7 +99,7 @@ class _QuickCheckPersonalState extends State<QuickCheckPersonal>
|
|||
Text(
|
||||
'${studentInfo!.kgValidRate}%',
|
||||
style: TextStyle(
|
||||
fontSize: 14.sp, color: Color(0xFF6888FD),fontWeight: FontWeight.w600),
|
||||
fontSize: 14.sp, color: Color(0xFF6888FD)),
|
||||
),
|
||||
],
|
||||
),
|
||||
|
|
@ -132,7 +132,7 @@ class _QuickCheckPersonalState extends State<QuickCheckPersonal>
|
|||
Text(
|
||||
'主观题',
|
||||
style: TextStyle(
|
||||
fontSize: 14.sp, color: Color(0xFF5C5C5C),fontWeight: FontWeight.w600),
|
||||
fontSize: 14.sp, color: Color(0xFF5C5C5C)),
|
||||
),
|
||||
SizedBox(
|
||||
width: 10.r,
|
||||
|
|
@ -140,7 +140,7 @@ class _QuickCheckPersonalState extends State<QuickCheckPersonal>
|
|||
Text(
|
||||
'${studentInfo!.zgValidRate}%',
|
||||
style: TextStyle(
|
||||
fontSize: 14.sp, color: Color(0xFF6888FD),fontWeight: FontWeight.w600),
|
||||
fontSize: 14.sp, color: Color(0xFF6888FD)),
|
||||
),
|
||||
],
|
||||
),
|
||||
|
|
|
|||
|
|
@ -90,21 +90,17 @@ class _QuickDataCheckPageState extends State<QuickDataCheckPage>
|
|||
child: Column(
|
||||
children: [
|
||||
Row(
|
||||
mainAxisAlignment: MainAxisAlignment.start,
|
||||
children: [
|
||||
IconButton(
|
||||
icon: Icon(Icons.arrow_back_ios, color: Colors.white),
|
||||
onPressed: () => Navigator.of(context).pop(),
|
||||
),
|
||||
Expanded(
|
||||
child: Padding(
|
||||
padding: EdgeInsets.only(right: 8.r),
|
||||
child: Center(
|
||||
child: Text(
|
||||
'数据快查',
|
||||
style: TextStyle(fontSize: 14.sp, color: Colors.white),
|
||||
)),
|
||||
)),
|
||||
style: TextStyle(fontSize: 16.sp, color: Colors.white),
|
||||
))),
|
||||
],
|
||||
),
|
||||
SizedBox(height: 10.r),
|
||||
|
|
@ -136,7 +132,7 @@ class _QuickDataCheckPageState extends State<QuickDataCheckPage>
|
|||
),
|
||||
Container(
|
||||
padding: EdgeInsets.symmetric(
|
||||
vertical: 15.r, horizontal: 15.r),
|
||||
vertical: 10.r, horizontal: 15.r),
|
||||
margin: EdgeInsets.symmetric(
|
||||
vertical: 10.r, horizontal: 14.r),
|
||||
decoration: BoxDecoration(
|
||||
|
|
@ -146,13 +142,12 @@ class _QuickDataCheckPageState extends State<QuickDataCheckPage>
|
|||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
SizedBox(height: 10.r,),
|
||||
Row(
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
children: [
|
||||
Container(
|
||||
width: 12.r,
|
||||
height: 12.r,
|
||||
width: 14.r,
|
||||
height: 14.r,
|
||||
decoration: BoxDecoration(
|
||||
color: Color(0xFF4CC793),
|
||||
borderRadius: BorderRadius.all(
|
||||
|
|
@ -171,8 +166,8 @@ class _QuickDataCheckPageState extends State<QuickDataCheckPage>
|
|||
width: 35.r,
|
||||
),
|
||||
Container(
|
||||
width: 12.r,
|
||||
height: 12.r,
|
||||
width: 14.r,
|
||||
height: 14.r,
|
||||
decoration: BoxDecoration(
|
||||
color: Color(0xFF6888FD),
|
||||
borderRadius: BorderRadius.all(
|
||||
|
|
|
|||
|
|
@ -117,7 +117,7 @@ class _QuickStudentDataTableState extends State<QuickStudentDataTable> {
|
|||
height: 14.r,
|
||||
decoration: BoxDecoration(
|
||||
color: kgInfo.state == 0
|
||||
? Colors.white
|
||||
? Color(0xFFD9D9D9)
|
||||
: kgInfo.state == 1
|
||||
? Color(0xFFFF7474)
|
||||
: Color(0xFF4CC793),
|
||||
|
|
@ -152,7 +152,7 @@ class _QuickStudentDataTableState extends State<QuickStudentDataTable> {
|
|||
height: 14.r,
|
||||
decoration: BoxDecoration(
|
||||
color: kgInfo.state == 0
|
||||
? Colors.white
|
||||
? Color(0xFFD9D9D9)
|
||||
: kgInfo.state == 1
|
||||
? Color(0xFFFF7474)
|
||||
: Color(0xFF4CC793),
|
||||
|
|
|
|||
|
|
@ -2,8 +2,6 @@ import 'package:data_table_2/data_table_2.dart';
|
|||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||
import 'package:flutter_widget_from_html_core/flutter_widget_from_html_core.dart';
|
||||
import 'package:marking_app/utils/toast_utils.dart';
|
||||
import 'package:photo_view/photo_view.dart';
|
||||
|
||||
class ReportTable extends StatefulWidget {
|
||||
final List headList;
|
||||
|
|
@ -37,74 +35,59 @@ class _ReportTableState extends State<ReportTable> {
|
|||
index: index,
|
||||
color: color != null ? MaterialStateProperty.all(color) : null,
|
||||
cells: [
|
||||
DataCell(Center(
|
||||
DataCell( Center(
|
||||
child: Padding(
|
||||
padding: EdgeInsets.symmetric(horizontal: 5.r),
|
||||
child: Text(item.questionNo,
|
||||
style: TextStyle(fontSize: 12.sp, color: Color(0xFF525252))),
|
||||
child:
|
||||
Text(item.questionNo,
|
||||
style:
|
||||
TextStyle(fontSize: 12.sp, color: Color(0xFF525252))),
|
||||
),
|
||||
)),
|
||||
DataCell(Center(
|
||||
DataCell( Center(
|
||||
child: Padding(
|
||||
padding: EdgeInsets.symmetric(horizontal: 5.r),
|
||||
child: Text('${item.validRate}%',
|
||||
style: TextStyle(fontSize: 12.sp, color: Color(0xFF525252))),
|
||||
child:
|
||||
Text('${item.validRate}%',
|
||||
style:
|
||||
TextStyle(fontSize: 12.sp, color: Color(0xFF525252))),
|
||||
),
|
||||
)),
|
||||
DataCell(Center(
|
||||
DataCell( Center(
|
||||
child: Padding(
|
||||
padding: EdgeInsets.symmetric(horizontal: 5.r),
|
||||
child: Text(item.validCount,
|
||||
style: TextStyle(fontSize: 12.sp, color: Color(0xFF4CC793))),
|
||||
child:
|
||||
Text(item.validCount,
|
||||
style:
|
||||
TextStyle(fontSize: 12.sp, color: Color(0xFF4CC793))),
|
||||
),
|
||||
)),
|
||||
DataCell(Center(
|
||||
DataCell( Center(
|
||||
child: Padding(
|
||||
padding: EdgeInsets.symmetric(horizontal: 5.r),
|
||||
child: Text('${item.correctRate}%',
|
||||
style: TextStyle(fontSize: 12.sp, color: Color(0xFF525252))),
|
||||
child:
|
||||
Text('${item.correctRate}%',
|
||||
style:
|
||||
TextStyle(fontSize: 12.sp, color: Color(0xFF525252))),
|
||||
),
|
||||
)),
|
||||
DataCell(Center(
|
||||
DataCell( Center(
|
||||
child: Padding(
|
||||
padding: EdgeInsets.symmetric(horizontal: 5.r),
|
||||
child: widget.isKG == true
|
||||
? InkWell(
|
||||
onTap: () {
|
||||
if (item.questionPicture == null)
|
||||
return ToastUtils.showInfo('当前试题没有原题');
|
||||
Navigator.push(
|
||||
context,
|
||||
MaterialPageRoute(builder: (_) {
|
||||
return Scaffold(
|
||||
appBar: AppBar(),
|
||||
body: PhotoView(
|
||||
imageProvider: NetworkImage(
|
||||
item.questionPicture!)),
|
||||
);
|
||||
}),
|
||||
);
|
||||
},
|
||||
child: Text('原题',
|
||||
style: TextStyle(
|
||||
fontSize: 12.sp,
|
||||
color: widget.isKG == true
|
||||
? Color(0xFFFF8A00)
|
||||
: Color(0xFF4CC793))),
|
||||
)
|
||||
: Text(item.questionAnswer,
|
||||
style: TextStyle(
|
||||
fontSize: 12.sp,
|
||||
color: widget.isKG == true
|
||||
? Color(0xFFFF8A00)
|
||||
: Color(0xFF4CC793))),
|
||||
child:
|
||||
Text(
|
||||
widget.isKG == true?'原题':item.questionAnswer,
|
||||
style:
|
||||
TextStyle(fontSize: 12.sp, color: widget.isKG == true?Color(0xFFFF8A00):Color(0xFF4CC793))),
|
||||
),
|
||||
)),
|
||||
DataCell(Center(
|
||||
DataCell( Center(
|
||||
child: Padding(
|
||||
padding: EdgeInsets.symmetric(horizontal: 5.r),
|
||||
child: Text(item.priorityGeneral,
|
||||
style: TextStyle(fontSize: 12.sp, color: Color(0xFF6888FD))),
|
||||
child:
|
||||
Text(item.priorityGeneral,
|
||||
style:
|
||||
TextStyle(fontSize: 12.sp, color: Color(0xFF6888FD))),
|
||||
),
|
||||
)),
|
||||
],
|
||||
|
|
@ -118,7 +101,7 @@ class _ReportTableState extends State<ReportTable> {
|
|||
scrollController: _controller,
|
||||
columnSpacing: 0,
|
||||
horizontalMargin: 0,
|
||||
dataRowHeight: 40.r,
|
||||
dataRowHeight:40.r,
|
||||
bottomMargin: 0,
|
||||
border: TableBorder(
|
||||
horizontalInside: BorderSide(
|
||||
|
|
@ -142,9 +125,7 @@ class _ReportTableState extends State<ReportTable> {
|
|||
headingRowDecoration: BoxDecoration(color: Color(0xFFE6E6E6)),
|
||||
fixedColumnsColor: Color(0xFFE6E6E6),
|
||||
fixedCornerColor: Colors.grey[400],
|
||||
minWidth: widget.headList.length > 6
|
||||
? 80.r * widget.headList.length
|
||||
: MediaQuery.of(context).size.width,
|
||||
minWidth: widget.headList.length > 6?80.r * widget.headList.length:MediaQuery.of(context).size.width,
|
||||
fixedTopRows: widget.fixedRows!,
|
||||
fixedLeftColumns: widget.fixedCols!,
|
||||
sortColumnIndex: _sortColumnIndex,
|
||||
|
|
@ -158,12 +139,7 @@ class _ReportTableState extends State<ReportTable> {
|
|||
style: TextStyle(fontSize: 12.sp, color: Color(0xFF505767))),
|
||||
),
|
||||
// size: ColumnSize.S,
|
||||
fixedWidth: index == 0
|
||||
? 40.r
|
||||
: widget.headList.length > 6
|
||||
? 80.r
|
||||
: (MediaQuery.of(context).size.width - 8.r) /
|
||||
widget.headList.length,
|
||||
fixedWidth: index == 0 ? 40.r:widget.headList.length > 6 ?80.r:(MediaQuery.of(context).size.width)/widget.headList.length,
|
||||
);
|
||||
}),
|
||||
rows: List<DataRow>.generate(widget.bodyList.length,
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ class _StudentZgTableState extends State<StudentZgTable> {
|
|||
child: Column(
|
||||
children: [
|
||||
Center(
|
||||
child: Text('批注答案',style: TextStyle(fontSize: 15.sp,color: Color(0xFF3C3C3C),fontWeight: FontWeight.w500),),
|
||||
child: Text('批注答案',style: TextStyle(fontSize: 15.sp,color: Color(0xFF3C3C3C)),),
|
||||
),
|
||||
SizedBox(height: 10.r,),
|
||||
Image.network(imgUrl,fit: BoxFit.cover, errorBuilder: (context, error, stackTrace) {
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ class TopCount extends StatelessWidget {
|
|||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Container(
|
||||
padding: EdgeInsets.symmetric(vertical: 20.r),
|
||||
padding: EdgeInsets.symmetric(vertical: 10.r),
|
||||
margin: EdgeInsets.symmetric(vertical: 10.r, horizontal: 10.r),
|
||||
decoration: BoxDecoration(
|
||||
color: Colors.white,
|
||||
|
|
@ -35,7 +35,6 @@ class TopCount extends StatelessWidget {
|
|||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
SizedBox(height: 5.r,),
|
||||
Row(
|
||||
crossAxisAlignment: CrossAxisAlignment.end,
|
||||
children: [
|
||||
|
|
@ -56,7 +55,7 @@ class TopCount extends StatelessWidget {
|
|||
],
|
||||
),
|
||||
SizedBox(
|
||||
height: 20.r,
|
||||
height: 15.r,
|
||||
child: Row(
|
||||
children: [
|
||||
Text(
|
||||
|
|
@ -102,7 +101,6 @@ class TopCount extends StatelessWidget {
|
|||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
SizedBox(height: 5.r,),
|
||||
Row(
|
||||
crossAxisAlignment: CrossAxisAlignment.end,
|
||||
children: [
|
||||
|
|
@ -123,7 +121,7 @@ class TopCount extends StatelessWidget {
|
|||
],
|
||||
),
|
||||
SizedBox(
|
||||
height: 20.r,
|
||||
height: 15.r,
|
||||
),
|
||||
Text(
|
||||
'正确率',
|
||||
|
|
@ -147,7 +145,6 @@ class TopCount extends StatelessWidget {
|
|||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
SizedBox(height: 5.r,),
|
||||
Row(
|
||||
crossAxisAlignment: CrossAxisAlignment.end,
|
||||
children: [
|
||||
|
|
@ -168,7 +165,7 @@ class TopCount extends StatelessWidget {
|
|||
],
|
||||
),
|
||||
SizedBox(
|
||||
height: 20.r,
|
||||
height: 10.r,
|
||||
),
|
||||
Text(
|
||||
'全对',
|
||||
|
|
@ -215,7 +212,7 @@ class TopCount extends StatelessWidget {
|
|||
crossAxisAlignment: CrossAxisAlignment.center,
|
||||
children: [
|
||||
SizedBox(
|
||||
width: (MediaQuery.of(context).size.width - 55.r)/4 ,
|
||||
width: (MediaQuery.of(context).size.width - 55.r)/4 - 20.r,
|
||||
child: Row(
|
||||
mainAxisAlignment: MainAxisAlignment.end,
|
||||
children: [
|
||||
|
|
@ -233,25 +230,27 @@ class TopCount extends StatelessWidget {
|
|||
child: Text(
|
||||
item.title,
|
||||
style: TextStyle(
|
||||
color: bgColor, fontSize: 12.r),
|
||||
color: bgColor, fontSize: 14.r),
|
||||
)),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
SizedBox(
|
||||
width: 10.r,
|
||||
width: 20.r,
|
||||
),
|
||||
Text(
|
||||
item.count.toString(),
|
||||
style: TextStyle(
|
||||
fontSize: 20.sp,
|
||||
fontSize: 24.sp,
|
||||
fontWeight: FontWeight.w600,
|
||||
color: Color(0xFF595959)),
|
||||
),
|
||||
Text(
|
||||
'人',
|
||||
style: TextStyle(
|
||||
fontSize: 14.sp,
|
||||
fontSize: 16.sp,
|
||||
fontWeight: FontWeight.w600,
|
||||
color: Color(0xFF595959)),
|
||||
),
|
||||
],
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ import 'package:flutter_screenutil/flutter_screenutil.dart';
|
|||
|
||||
class MyEmptyWidget extends StatelessWidget {
|
||||
static const String defText = "抱歉,暂无内容";
|
||||
static const String defimg = "assets/images/not_data_bgm2.png";
|
||||
static const String defimg = "assets/images/not_data_bgm.png";
|
||||
final String? textVal;
|
||||
final String? imgAssetPath;
|
||||
final AlignmentGeometry alignment;
|
||||
|
|
@ -32,25 +32,22 @@ class MyEmptyWidget extends StatelessWidget {
|
|||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Container(
|
||||
padding: padding != null?padding:EdgeInsets.only(bottom: 40.r),
|
||||
padding: padding,
|
||||
alignment: alignment,
|
||||
child: Column(
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
children: <Widget>[
|
||||
Opacity(
|
||||
opacity: 0.6,
|
||||
child: Image.asset(
|
||||
Image.asset(
|
||||
imgAssetPath ?? defimg,
|
||||
fit: BoxFit.cover,
|
||||
width: imgWidth ?? 150.w,
|
||||
height: imgHeight ?? 150.w,
|
||||
),
|
||||
width: imgWidth ?? 130.w,
|
||||
height: imgHeight ?? 130.w,
|
||||
),
|
||||
Padding(
|
||||
padding: EdgeInsets.only(top: 5.h),
|
||||
padding: EdgeInsets.only(top: 15.h),
|
||||
child: Text(
|
||||
textVal ?? defText,
|
||||
style: TextStyle(fontSize: 12.sp, color: Color(0xB2898B8D)),
|
||||
style: TextStyle(fontSize: 16.sp, color: Colors.grey),
|
||||
),
|
||||
)
|
||||
],
|
||||
|
|
|
|||
Loading…
Reference in New Issue