mcy_new #1
|
|
@ -1,23 +1,23 @@
|
||||||
{
|
{
|
||||||
"images" : [
|
"images" : [
|
||||||
{
|
{
|
||||||
"idiom" : "universal",
|
|
||||||
"filename" : "LaunchImage.png",
|
"filename" : "LaunchImage.png",
|
||||||
|
"idiom" : "universal",
|
||||||
"scale" : "1x"
|
"scale" : "1x"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"idiom" : "universal",
|
|
||||||
"filename" : "LaunchImage@2x.png",
|
"filename" : "LaunchImage@2x.png",
|
||||||
|
"idiom" : "universal",
|
||||||
"scale" : "2x"
|
"scale" : "2x"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"idiom" : "universal",
|
|
||||||
"filename" : "LaunchImage@3x.png",
|
"filename" : "LaunchImage@3x.png",
|
||||||
|
"idiom" : "universal",
|
||||||
"scale" : "3x"
|
"scale" : "3x"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"info" : {
|
"info" : {
|
||||||
"version" : 1,
|
"author" : "xcode",
|
||||||
"author" : "xcode"
|
"version" : 1
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -45,5 +45,9 @@
|
||||||
<true/>
|
<true/>
|
||||||
<key>UIApplicationSupportsIndirectInputEvents</key>
|
<key>UIApplicationSupportsIndirectInputEvents</key>
|
||||||
<true/>
|
<true/>
|
||||||
|
<key>UIStatusBarHidden</key>
|
||||||
|
<false/>
|
||||||
|
<key>UIViewControllerBasedStatusBarAppearance</key>
|
||||||
|
<false/>
|
||||||
</dict>
|
</dict>
|
||||||
</plist>
|
</plist>
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,9 @@
|
||||||
import 'package:making_school_asignment_app/common/job/common/base_page.dart';
|
import 'package:making_school_asignment_app/common/job/common/base_page.dart';
|
||||||
|
|
||||||
class RequestConfig {
|
class RequestConfig {
|
||||||
static const _devBaseUrl = "http://192.168.2.119:1091"; // 开发
|
// static const _devBaseUrl = "http://192.168.2.119:1091"; // 开发
|
||||||
|
static const _devBaseUrl = "https://dpc-teacher-api.23544.com"; // 开发
|
||||||
|
// static const _proBaseUrl = "http://192.168.2.119:1091"; // 生产
|
||||||
static const _proBaseUrl = "https://dpc-teacher-api.23544.com"; // 生产
|
static const _proBaseUrl = "https://dpc-teacher-api.23544.com"; // 生产
|
||||||
static const imgUrl = 'https://dpc-job-oss.23544.com/';
|
static const imgUrl = 'https://dpc-job-oss.23544.com/';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -37,7 +37,7 @@ class Questions extends Object {
|
||||||
int templateId;
|
int templateId;
|
||||||
|
|
||||||
@JsonKey(name: 'questionNo')
|
@JsonKey(name: 'questionNo')
|
||||||
int questionNo;
|
String questionNo;
|
||||||
|
|
||||||
@JsonKey(name: 'questionType')
|
@JsonKey(name: 'questionType')
|
||||||
int questionType;
|
int questionType;
|
||||||
|
|
@ -213,7 +213,7 @@ class Dtls extends Object {
|
||||||
int? templateId;
|
int? templateId;
|
||||||
|
|
||||||
@JsonKey(name: 'questionNo')
|
@JsonKey(name: 'questionNo')
|
||||||
int questionNo;
|
String questionNo;
|
||||||
|
|
||||||
@JsonKey(name: 'questionType')
|
@JsonKey(name: 'questionType')
|
||||||
int questionType;
|
int questionType;
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,7 @@ class KnowledgeReportDetail extends Object {
|
||||||
int templateId;
|
int templateId;
|
||||||
|
|
||||||
@JsonKey(name: 'questionNo')
|
@JsonKey(name: 'questionNo')
|
||||||
int questionNo;
|
String questionNo;
|
||||||
|
|
||||||
@JsonKey(name: 'questionType')
|
@JsonKey(name: 'questionType')
|
||||||
int questionType;
|
int questionType;
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@ class OriginalManuscriptHandwritingParams extends Object {
|
||||||
int? templateId;
|
int? templateId;
|
||||||
|
|
||||||
@JsonKey(name: 'questionNo')
|
@JsonKey(name: 'questionNo')
|
||||||
int? questionNo;
|
String? questionNo;
|
||||||
|
|
||||||
@JsonKey(name: 'pageNum')
|
@JsonKey(name: 'pageNum')
|
||||||
int? pageNum;
|
int? pageNum;
|
||||||
|
|
|
||||||
|
|
@ -105,7 +105,7 @@ class KgtList extends Object {
|
||||||
String id;
|
String id;
|
||||||
|
|
||||||
@JsonKey(name: 'questionNo')
|
@JsonKey(name: 'questionNo')
|
||||||
int questionNo;
|
String questionNo;
|
||||||
|
|
||||||
@JsonKey(name: 'questionType')
|
@JsonKey(name: 'questionType')
|
||||||
int questionType;
|
int questionType;
|
||||||
|
|
@ -135,7 +135,7 @@ class ZgtList extends Object {
|
||||||
String id;
|
String id;
|
||||||
|
|
||||||
@JsonKey(name: 'questionNo')
|
@JsonKey(name: 'questionNo')
|
||||||
int questionNo;
|
String questionNo;
|
||||||
|
|
||||||
@JsonKey(name: 'questionType')
|
@JsonKey(name: 'questionType')
|
||||||
int questionType;
|
int questionType;
|
||||||
|
|
|
||||||
|
|
@ -43,7 +43,7 @@ class KgtList extends Object {
|
||||||
int templateId;
|
int templateId;
|
||||||
|
|
||||||
@JsonKey(name: 'questionNo')
|
@JsonKey(name: 'questionNo')
|
||||||
int questionNo;
|
String questionNo;
|
||||||
|
|
||||||
@JsonKey(name: 'answer')
|
@JsonKey(name: 'answer')
|
||||||
String? answer;
|
String? answer;
|
||||||
|
|
@ -76,7 +76,7 @@ class ZgtList extends Object {
|
||||||
int templateId;
|
int templateId;
|
||||||
|
|
||||||
@JsonKey(name: 'questionNo')
|
@JsonKey(name: 'questionNo')
|
||||||
int questionNo;
|
String questionNo;
|
||||||
|
|
||||||
@JsonKey(name: 'answer')
|
@JsonKey(name: 'answer')
|
||||||
String? answer;
|
String? answer;
|
||||||
|
|
|
||||||
|
|
@ -29,7 +29,7 @@ class AnswerHandwriting extends Dialog {
|
||||||
final int studentId;
|
final int studentId;
|
||||||
final int? templateId;
|
final int? templateId;
|
||||||
final int? pageNum;
|
final int? pageNum;
|
||||||
final int? questionNo;
|
final String? questionNo;
|
||||||
final Function closeCall;
|
final Function closeCall;
|
||||||
AnswerHandwriting(
|
AnswerHandwriting(
|
||||||
{super.key, required this.homeworkId, required this.studentId, required this.closeCall, this.templateId, this.pageNum, this.questionNo});
|
{super.key, required this.homeworkId, required this.studentId, required this.closeCall, this.templateId, this.pageNum, this.questionNo});
|
||||||
|
|
@ -68,7 +68,7 @@ Future<void> showAnswerHandwriting(
|
||||||
required int studentId,
|
required int studentId,
|
||||||
int? templateId,
|
int? templateId,
|
||||||
int? pageNum,
|
int? pageNum,
|
||||||
int? questionNo,
|
String? questionNo,
|
||||||
}) async {
|
}) async {
|
||||||
backCall() {
|
backCall() {
|
||||||
Navigator.of(context).pop();
|
Navigator.of(context).pop();
|
||||||
|
|
@ -118,7 +118,7 @@ class AnswerHandwritingMainBox extends HookWidget with EventBusMixin {
|
||||||
final int? templateId;
|
final int? templateId;
|
||||||
final int studentId;
|
final int studentId;
|
||||||
final int? pageNum;
|
final int? pageNum;
|
||||||
final int? questionNo;
|
final String? questionNo;
|
||||||
final Function closeCall;
|
final Function closeCall;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
|
|
@ -184,7 +184,7 @@ class UseMainBoxState with RequestToolMixin {
|
||||||
final String homeworkId;
|
final String homeworkId;
|
||||||
final int studentId;
|
final int studentId;
|
||||||
final int? templateId;
|
final int? templateId;
|
||||||
int? questionNo;
|
String? questionNo;
|
||||||
final ValueNotifier<int?> pageNum;
|
final ValueNotifier<int?> pageNum;
|
||||||
final ValueNotifier<int> pageCount;
|
final ValueNotifier<int> pageCount;
|
||||||
final ValueNotifier<JobHandwriting?> handwritingData;
|
final ValueNotifier<JobHandwriting?> handwritingData;
|
||||||
|
|
@ -210,7 +210,7 @@ class UseMainBoxState with RequestToolMixin {
|
||||||
});
|
});
|
||||||
|
|
||||||
// 工厂构造函数
|
// 工厂构造函数
|
||||||
factory UseMainBoxState.use(String homeworkId, int studentId, [int? pageNum, int? questionNo, int? templateId]) {
|
factory UseMainBoxState.use(String homeworkId, int studentId, [int? pageNum, String? questionNo, int? templateId]) {
|
||||||
return UseMainBoxState._(
|
return UseMainBoxState._(
|
||||||
homeworkId: homeworkId,
|
homeworkId: homeworkId,
|
||||||
templateId: templateId,
|
templateId: templateId,
|
||||||
|
|
|
||||||
|
|
@ -263,11 +263,11 @@ class _KnowledgePointState extends State<KnowledgePoint> {
|
||||||
int okCount = stu.queDtls!.where((w) => w.state == 3).length;
|
int okCount = stu.queDtls!.where((w) => w.state == 3).length;
|
||||||
int ttlCount = stu.queDtls!.length;
|
int ttlCount = stu.queDtls!.length;
|
||||||
stu.okRate = Utils.calcRate(okCount, ttlCount);
|
stu.okRate = Utils.calcRate(okCount, ttlCount);
|
||||||
stu.queDtls!.sort((a, b) {
|
/*stu.queDtls!.sort((a, b) {
|
||||||
int num1 = a.questionNo;
|
int num1 = a.questionNo;
|
||||||
int num2 = b.questionNo;
|
int num2 = b.questionNo;
|
||||||
return num1.compareTo(num2);
|
return num1.compareTo(num2);
|
||||||
});
|
});*/
|
||||||
}
|
}
|
||||||
|
|
||||||
showPeopleListDialog(
|
showPeopleListDialog(
|
||||||
|
|
|
||||||
|
|
@ -518,9 +518,9 @@ class _ReportTableState extends State<ReportTable> {
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
fontSize: 10.sp, color: const Color(0xFF4CC793))),
|
fontSize: 10.sp, color: const Color(0xFF4CC793))),
|
||||||
Image.asset(
|
Image.asset(
|
||||||
'assets/images/job_data_right_icon.png',
|
'assets/images/green_right_icon.png',
|
||||||
width: 10.r,
|
width: 12.r,
|
||||||
height: 10.r,
|
height: 12.r,
|
||||||
)
|
)
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
|
|
|
||||||
|
|
@ -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(int, int)? questionNumCall;
|
final Function(String, int)? questionNumCall;
|
||||||
|
|
||||||
const StudentKgTable({
|
const StudentKgTable({
|
||||||
Key? key,
|
Key? key,
|
||||||
|
|
|
||||||
|
|
@ -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(int, int)? questionNumCall;
|
final Function(String, int)? questionNumCall;
|
||||||
|
|
||||||
const StudentZgTable({
|
const StudentZgTable({
|
||||||
Key? key,
|
Key? key,
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,4 @@
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html><html><head>
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<!--
|
<!--
|
||||||
If you are serving your web app in a path other than the root, change the
|
If you are serving your web app in a path other than the root, change the
|
||||||
href value below to reflect the base path you are serving from.
|
href value below to reflect the base path you are serving from.
|
||||||
|
|
@ -27,12 +25,154 @@
|
||||||
<link rel="apple-touch-icon" href="icons/Icon-192.png">
|
<link rel="apple-touch-icon" href="icons/Icon-192.png">
|
||||||
|
|
||||||
<!-- Favicon -->
|
<!-- Favicon -->
|
||||||
<link rel="icon" type="image/png" href="favicon.png"/>
|
<link rel="icon" type="image/png" href="favicon.png">
|
||||||
|
|
||||||
<title>making_school_asignment_app</title>
|
<title>making_school_asignment_app</title>
|
||||||
<link rel="manifest" href="manifest.json">
|
<link rel="manifest" href="manifest.json">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<style id="splash-screen-style">
|
||||||
|
html {
|
||||||
|
height: 100%
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
margin: 0;
|
||||||
|
min-height: 100%;
|
||||||
|
background-color: #ffffff;
|
||||||
|
background-image: url("splash/img/light-background.png");
|
||||||
|
background-size: 100% 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.center {
|
||||||
|
margin: 0;
|
||||||
|
position: absolute;
|
||||||
|
top: 50%;
|
||||||
|
left: 50%;
|
||||||
|
-ms-transform: translate(-50%, -50%);
|
||||||
|
transform: translate(-50%, -50%);
|
||||||
|
}
|
||||||
|
|
||||||
|
.contain {
|
||||||
|
display:block;
|
||||||
|
width:100%; height:100%;
|
||||||
|
object-fit: contain;
|
||||||
|
}
|
||||||
|
|
||||||
|
.stretch {
|
||||||
|
display:block;
|
||||||
|
width:100%; height:100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cover {
|
||||||
|
display:block;
|
||||||
|
width:100%; height:100%;
|
||||||
|
object-fit: cover;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bottom {
|
||||||
|
position: absolute;
|
||||||
|
bottom: 0;
|
||||||
|
left: 50%;
|
||||||
|
-ms-transform: translate(-50%, 0);
|
||||||
|
transform: translate(-50%, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
.bottomLeft {
|
||||||
|
position: absolute;
|
||||||
|
bottom: 0;
|
||||||
|
left: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bottomRight {
|
||||||
|
position: absolute;
|
||||||
|
bottom: 0;
|
||||||
|
right: 0;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<script id="splash-screen-script">
|
||||||
|
function removeSplashFromWeb() {
|
||||||
|
document.getElementById("splash")?.remove();
|
||||||
|
document.getElementById("splash-branding")?.remove();
|
||||||
|
document.body.style.background = "transparent";
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" name="viewport">
|
||||||
|
<link rel="stylesheet" type="text/css" href="splash/style.css">
|
||||||
|
<script src="splash/splash.js"></script>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<script src="flutter_bootstrap.js" async></script>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
|
|
||||||
|
<script src="flutter_bootstrap.js" async=""></script>
|
||||||
|
|
||||||
|
|
||||||
|
</body></html>
|
||||||
Loading…
Reference in New Issue