Compare commits

..

No commits in common. "ff3243695faa249f10da3faf833707f732ac89a8" and "22d30658929c80b42a5f87345480972d8a4a4d70" have entirely different histories.

48 changed files with 139 additions and 420 deletions

View File

@ -5,6 +5,7 @@
android:icon="@mipmap/ic_launcher"> android:icon="@mipmap/ic_launcher">
<activity <activity
android:name=".MainActivity" android:name=".MainActivity"
android:screenOrientation="portrait"
android:exported="true" android:exported="true"
android:launchMode="singleTop" android:launchMode="singleTop"
android:taskAffinity="" android:taskAffinity=""
@ -18,14 +19,8 @@
to determine the Window background behind the Flutter UI. --> to determine the Window background behind the Flutter UI. -->
<meta-data <meta-data
android:name="io.flutter.embedding.android.NormalTheme" android:name="io.flutter.embedding.android.NormalTheme"
android:resource="@style/NormalTheme"/> android:resource="@style/NormalTheme"
<!-- <meta-data />
android:name="io.flutter.app.android.SplashScreenUntilFirstFrame"
android:value="true" />
<meta-data
android:name="io.flutter.embedding.android.SplashScreenDrawable"
android:resource="@drawable/background"
/>-->
<intent-filter> <intent-filter>
<action android:name="android.intent.action.MAIN"/> <action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/> <category android:name="android.intent.category.LAUNCHER"/>
@ -36,52 +31,38 @@
<meta-data <meta-data
android:name="flutterEmbedding" android:name="flutterEmbedding"
android:value="2" /> android:value="2" />
<!-- Provider --> <!-- Provider -->
<provider <provider
android:name="androidx.core.content.FileProvider" android:name="androidx.core.content.FileProvider"
android:authorities="${applicationId}.fileProvider" android:authorities="${applicationId}.fileProvider"
android:exported="false" android:exported="false"
android:grantUriPermissions="true"> android:grantUriPermissions="true">
<meta-data <meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/file_paths" />
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/file_paths"/>
</provider> </provider>
</application> </application>
<!-- 访问电话状态 --> <!-- 访问电话状态 -->
<uses-permission <uses-permission android:name="android.permission.READ_PHONE_STATE" />
android:name="android.permission.READ_PHONE_STATE"/>
<!-- 允许全部网络访问 --> <!-- 允许全部网络访问 -->
<uses-permission <uses-permission android:name="android.permission.INTERNET" />
android:name="android.permission.INTERNET"/>
<!-- 获取网络信息状态 --> <!-- 获取网络信息状态 -->
<uses-permission <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
android:name="android.permission.ACCESS_NETWORK_STATE"/>
<!-- 获取当前WiFi接入的状态以及WLAN热点的信息 --> <!-- 获取当前WiFi接入的状态以及WLAN热点的信息 -->
<uses-permission <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
android:name="android.permission.ACCESS_WIFI_STATE"/>
<!-- 获取当前设备存储权限 --> <!-- 获取当前设备存储权限 -->
<uses-permission <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
android:name="android.permission.READ_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission <uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" />
android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.ACTION_MANAGE_UNKNOWN_APP_SOURCES"/>
<uses-permission
android:name="android.permission.MANAGE_EXTERNAL_STORAGE"/>
<uses-permission
android:name="android.permission.ACTION_MANAGE_UNKNOWN_APP_SOURCES"/>
<!-- 这个权限用于app安装 --> <!-- 这个权限用于app安装 -->
<uses-permission <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
android:name="android.permission.REQUEST_INSTALL_PACKAGES"/>
<!-- 屏幕常亮权限 --> <!-- 屏幕常亮权限 -->
<uses-permission <uses-permission android:name="android.permission.WAKE_LOCK" />
android:name="android.permission.WAKE_LOCK"/> <uses-permission android:name="android.permission.CAMERA"/>
<uses-permission
android:name="android.permission.CAMERA"/>
<!-- Permissions options for the `access notification policy` group --> <!-- Permissions options for the `access notification policy` group -->
<uses-permission <uses-permission android:name="android.permission.ACCESS_NOTIFICATION_POLICY"/>
android:name="android.permission.ACCESS_NOTIFICATION_POLICY"/>
<!-- Permissions options for the `notification` group --> <!-- Permissions options for the `notification` group -->
<uses-permission <uses-permission android:name="android.permission.POST_NOTIFICATIONS"/>
android:name="android.permission.POST_NOTIFICATIONS"/>
<!-- Required to query activities that can process text, see: <!-- Required to query activities that can process text, see:
https://developer.android.com/training/package-visibility and https://developer.android.com/training/package-visibility and
https://developer.android.com/reference/android/content/Intent#ACTION_PROCESS_TEXT. https://developer.android.com/reference/android/content/Intent#ACTION_PROCESS_TEXT.
@ -89,10 +70,8 @@
In particular, this is used by the Flutter engine in io.flutter.plugin.text.ProcessTextPlugin. --> In particular, this is used by the Flutter engine in io.flutter.plugin.text.ProcessTextPlugin. -->
<queries> <queries>
<intent> <intent>
<action <action android:name="android.intent.action.PROCESS_TEXT"/>
android:name="android.intent.action.PROCESS_TEXT"/> <data android:mimeType="text/plain"/>
<data
android:mimeType="text/plain"/>
</intent> </intent>
</queries> </queries>
</manifest> </manifest>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

View File

@ -1,6 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<bitmap android:gravity="fill" android:src="@drawable/background"/>
</item>
</layer-list>

View File

@ -1,6 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<bitmap android:gravity="fill" android:src="@drawable/background"/>
</item>
</layer-list>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 305 KiB

View File

@ -1,6 +1,12 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!-- Modify this file to customize your launch splash screen -->
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item> <item android:drawable="?android:colorBackground" />
<bitmap android:gravity="fill" android:src="@drawable/background"/>
</item> <!-- You can insert your own image assets here -->
<!-- <item>
<bitmap
android:gravity="center"
android:src="@mipmap/launch_image" />
</item> -->
</layer-list> </layer-list>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 165 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 272 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 305 KiB

View File

@ -1,6 +1,12 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!-- Modify this file to customize your launch splash screen -->
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item> <item android:drawable="@android:color/white" />
<bitmap android:gravity="fill" android:src="@drawable/background"/>
</item> <!-- You can insert your own image assets here -->
<!-- <item>
<bitmap
android:gravity="center"
android:src="@mipmap/launch_image" />
</item> -->
</layer-list> </layer-list>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 305 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 305 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 305 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 305 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 305 KiB

View File

@ -1,20 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- Theme applied to the Android Window while the process is starting when the OS's Dark Mode setting is on -->
<style name="LaunchTheme" parent="@android:style/Theme.Black.NoTitleBar">
<item name="android:forceDarkAllowed">false</item>
<item name="android:windowFullscreen">false</item>
<item name="android:windowDrawsSystemBarBackgrounds">false</item>
<item name="android:windowLayoutInDisplayCutoutMode">shortEdges</item>
<item name="android:windowSplashScreenAnimatedIcon">@drawable/android12splash</item>
</style>
<!-- Theme applied to the Android Window as soon as the process has started.
This theme determines the color of the Android Window while your
Flutter UI initializes, as well as behind your Flutter UI while its
running.
This Theme is only used starting with V2 of Flutter's Android embedding. -->
<style name="NormalTheme" parent="@android:style/Theme.Black.NoTitleBar">
<item name="android:windowBackground">?android:colorBackground</item>
</style>
</resources>

View File

@ -5,10 +5,6 @@
<!-- Show a splash screen on the activity. Automatically removed when <!-- Show a splash screen on the activity. Automatically removed when
the Flutter engine draws its first frame --> the Flutter engine draws its first frame -->
<item name="android:windowBackground">@drawable/launch_background</item> <item name="android:windowBackground">@drawable/launch_background</item>
<item name="android:forceDarkAllowed">false</item>
<item name="android:windowFullscreen">false</item>
<item name="android:windowDrawsSystemBarBackgrounds">false</item>
<item name="android:windowLayoutInDisplayCutoutMode">shortEdges</item>
</style> </style>
<!-- Theme applied to the Android Window as soon as the process has started. <!-- Theme applied to the Android Window as soon as the process has started.
This theme determines the color of the Android Window while your This theme determines the color of the Android Window while your

View File

@ -1,20 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- Theme applied to the Android Window while the process is starting when the OS's Dark Mode setting is off -->
<style name="LaunchTheme" parent="@android:style/Theme.Light.NoTitleBar">
<item name="android:forceDarkAllowed">false</item>
<item name="android:windowFullscreen">false</item>
<item name="android:windowDrawsSystemBarBackgrounds">false</item>
<item name="android:windowLayoutInDisplayCutoutMode">shortEdges</item>
<item name="android:windowSplashScreenAnimatedIcon">@drawable/android12splash</item>
</style>
<!-- Theme applied to the Android Window as soon as the process has started.
This theme determines the color of the Android Window while your
Flutter UI initializes, as well as behind your Flutter UI while its
running.
This Theme is only used starting with V2 of Flutter's Android embedding. -->
<style name="NormalTheme" parent="@android:style/Theme.Light.NoTitleBar">
<item name="android:windowBackground">?android:colorBackground</item>
</style>
</resources>

View File

@ -5,10 +5,6 @@
<!-- Show a splash screen on the activity. Automatically removed when <!-- Show a splash screen on the activity. Automatically removed when
the Flutter engine draws its first frame --> the Flutter engine draws its first frame -->
<item name="android:windowBackground">@drawable/launch_background</item> <item name="android:windowBackground">@drawable/launch_background</item>
<item name="android:forceDarkAllowed">false</item>
<item name="android:windowFullscreen">false</item>
<item name="android:windowDrawsSystemBarBackgrounds">false</item>
<item name="android:windowLayoutInDisplayCutoutMode">shortEdges</item>
</style> </style>
<!-- Theme applied to the Android Window as soon as the process has started. <!-- Theme applied to the Android Window as soon as the process has started.
This theme determines the color of the Android Window while your This theme determines the color of the Android Window while your

Binary file not shown.

Before

Width:  |  Height:  |  Size: 261 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 305 KiB

View File

@ -1,14 +0,0 @@
flutter_native_splash:
# 原生splash插件配置
# 改变配置后执行如下命令:
# flutter pub run flutter_native_splash:create
# 如需恢复默认的白屏,执行如下命令
# flutter pub run flutter_native_splash:remove
# 设置闪屏页的默认态logo或背景图片路径
background_image: assets/images/splash_native.png
android_12:
image: assets/images/splash.png
android: true
ios: true
android_gravity: fill
ios_content_mode: scaleToFill

View File

@ -1,23 +1,23 @@
{ {
"images" : [ "images" : [
{ {
"filename" : "LaunchImage.png",
"idiom" : "universal", "idiom" : "universal",
"filename" : "LaunchImage.png",
"scale" : "1x" "scale" : "1x"
}, },
{ {
"filename" : "LaunchImage@2x.png",
"idiom" : "universal", "idiom" : "universal",
"filename" : "LaunchImage@2x.png",
"scale" : "2x" "scale" : "2x"
}, },
{ {
"filename" : "LaunchImage@3x.png",
"idiom" : "universal", "idiom" : "universal",
"filename" : "LaunchImage@3x.png",
"scale" : "3x" "scale" : "3x"
} }
], ],
"info" : { "info" : {
"author" : "xcode", "version" : 1,
"version" : 1 "author" : "xcode"
} }
} }

Binary file not shown.

Before

Width:  |  Height:  |  Size: 69 B

After

Width:  |  Height:  |  Size: 68 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 69 B

After

Width:  |  Height:  |  Size: 68 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 69 B

After

Width:  |  Height:  |  Size: 68 B

View File

@ -16,19 +16,13 @@
<view key="view" contentMode="scaleToFill" id="Ze5-6b-2t3"> <view key="view" contentMode="scaleToFill" id="Ze5-6b-2t3">
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews> <subviews>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleToFill" image="LaunchBackground" translatesAutoresizingMaskIntoConstraints="NO" id="tWc-Dq-wcI"/> <imageView opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" image="LaunchImage" translatesAutoresizingMaskIntoConstraints="NO" id="YRO-k0-Ey4">
<imageView opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" image="LaunchImage" translatesAutoresizingMaskIntoConstraints="NO" id="YRO-k0-Ey4"></imageView> </imageView>
</subviews> </subviews>
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints> <constraints>
<constraint firstItem="YRO-k0-Ey4" firstAttribute="leading" secondItem="Ze5-6b-2t3" secondAttribute="leading" id="3T2-ad-Qdv"/> <constraint firstItem="YRO-k0-Ey4" firstAttribute="centerX" secondItem="Ze5-6b-2t3" secondAttribute="centerX" id="1a2-6s-vTC"/>
<constraint firstItem="tWc-Dq-wcI" firstAttribute="bottom" secondItem="Ze5-6b-2t3" secondAttribute="bottom" id="RPx-PI-7Xg"/> <constraint firstItem="YRO-k0-Ey4" firstAttribute="centerY" secondItem="Ze5-6b-2t3" secondAttribute="centerY" id="4X2-HB-R7a"/>
<constraint firstItem="tWc-Dq-wcI" firstAttribute="top" secondItem="Ze5-6b-2t3" secondAttribute="top" id="SdS-ul-q2q"/>
<constraint firstAttribute="trailing" secondItem="tWc-Dq-wcI" secondAttribute="trailing" id="Swv-Gf-Rwn"/>
<constraint firstAttribute="trailing" secondItem="YRO-k0-Ey4" secondAttribute="trailing" id="TQA-XW-tRk"/>
<constraint firstItem="YRO-k0-Ey4" firstAttribute="bottom" secondItem="Ze5-6b-2t3" secondAttribute="bottom" id="duK-uY-Gun"/>
<constraint firstItem="tWc-Dq-wcI" firstAttribute="leading" secondItem="Ze5-6b-2t3" secondAttribute="leading" id="kV7-tw-vXt"/>
<constraint firstItem="YRO-k0-Ey4" firstAttribute="top" secondItem="Ze5-6b-2t3" secondAttribute="top" id="xPn-NY-SIU"/>
</constraints> </constraints>
</view> </view>
</viewController> </viewController>
@ -39,6 +33,5 @@
</scenes> </scenes>
<resources> <resources>
<image name="LaunchImage" width="168" height="185"/> <image name="LaunchImage" width="168" height="185"/>
<image name="LaunchBackground" width="1" height="1"/>
</resources> </resources>
</document> </document>

View File

@ -45,9 +45,5 @@
<true/> <true/>
<key>UIApplicationSupportsIndirectInputEvents</key> <key>UIApplicationSupportsIndirectInputEvents</key>
<true/> <true/>
<key>UIStatusBarHidden</key>
<false/>
<key>UIViewControllerBasedStatusBarAppearance</key>
<false/>
</dict> </dict>
</plist> </plist>

View File

@ -100,7 +100,7 @@ abstract class RetrofitClient {
// //
@GET("/api/hms/HmsReport/GetQuestionStudentState") @GET("/api/hms/HmsReport/GetQuestionStudentState")
Future<List<Students>> getQuestionStudentState( Future<List<Students>> getQuestionStudentState(
@Query('HomeworkId') String homeworkId, @Query('TemplateId') int templateId, @Query('QuestionNo') String questionNo); @Query('HomeworkId') String homeworkId, @Query('TemplateId') int templateId, @Query('QuestionNo') int questionNo);
// //
@POST("/api/hms/Homework/Collect") @POST("/api/hms/Homework/Collect")

View File

@ -9,9 +9,7 @@
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/';

View File

@ -37,7 +37,7 @@ class Questions extends Object {
int templateId; int templateId;
@JsonKey(name: 'questionNo') @JsonKey(name: 'questionNo')
String questionNo; int 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')
String questionNo; int questionNo;
@JsonKey(name: 'questionType') @JsonKey(name: 'questionType')
int questionType; int questionType;

View File

@ -19,7 +19,7 @@ class KnowledgeReportDetail extends Object {
int templateId; int templateId;
@JsonKey(name: 'questionNo') @JsonKey(name: 'questionNo')
String questionNo; int questionNo;
@JsonKey(name: 'questionType') @JsonKey(name: 'questionType')
int questionType; int questionType;

View File

@ -16,7 +16,7 @@ class OriginalManuscriptHandwritingParams extends Object {
int? templateId; int? templateId;
@JsonKey(name: 'questionNo') @JsonKey(name: 'questionNo')
String? questionNo; int? questionNo;
@JsonKey(name: 'pageNum') @JsonKey(name: 'pageNum')
int? pageNum; int? pageNum;

View File

@ -105,7 +105,7 @@ class KgtList extends Object {
String id; String id;
@JsonKey(name: 'questionNo') @JsonKey(name: 'questionNo')
String questionNo; int 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')
String questionNo; int questionNo;
@JsonKey(name: 'questionType') @JsonKey(name: 'questionType')
int questionType; int questionType;

View File

@ -43,7 +43,7 @@ class KgtList extends Object {
int templateId; int templateId;
@JsonKey(name: 'questionNo') @JsonKey(name: 'questionNo')
String questionNo; int 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')
String questionNo; int questionNo;
@JsonKey(name: 'answer') @JsonKey(name: 'answer')
String? answer; String? answer;

View File

@ -16,13 +16,11 @@ import 'package:permission_handler/permission_handler.dart';
import 'common/config/request_config.dart'; import 'common/config/request_config.dart';
import 'common/utils/app_upgrade/upgradeLogic.dart'; import 'common/utils/app_upgrade/upgradeLogic.dart';
import 'package:flutter_native_splash/flutter_native_splash.dart';
void main() async { void main() async {
// Get // Get
Get.testMode = true; Get.testMode = true;
WidgetsBinding widgetsBinding = WidgetsFlutterBinding.ensureInitialized();
FlutterNativeSplash.preserve(widgetsBinding: widgetsBinding);
/// ///
await Get.putAsync(() => StorageService().init()); await Get.putAsync(() => StorageService().init());

View File

@ -1,7 +1,6 @@
import 'dart:async'; import 'dart:async';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_native_splash/flutter_native_splash.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
import 'package:making_school_asignment_app/common/utils/app_upgrade/upgradeLogic.dart'; import 'package:making_school_asignment_app/common/utils/app_upgrade/upgradeLogic.dart';
@ -36,7 +35,7 @@ class _StartPageState extends State<StartPage> with RequestToolMixin {
@override @override
void initState() { void initState() {
super.initState(); super.initState();
FlutterNativeSplash.remove();
Get.put(HomeLogic()); Get.put(HomeLogic());
Get.put(WorkLogic()); Get.put(WorkLogic());

View File

@ -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 String? questionNo; final int? 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,
String? questionNo, int? 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 String? questionNo; final int? 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;
String? questionNo; int? 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, String? questionNo, int? templateId]) { factory UseMainBoxState.use(String homeworkId, int studentId, [int? pageNum, int? questionNo, int? templateId]) {
return UseMainBoxState._( return UseMainBoxState._(
homeworkId: homeworkId, homeworkId: homeworkId,
templateId: templateId, templateId: templateId,

View File

@ -207,7 +207,7 @@ class _KnowledgePointState extends State<KnowledgePoint> {
child: quickText('知识点掌握情况', color: const Color.fromRGBO(92, 92, 92, 1), size: 14.sp, fontWeight: FontWeight.bold), child: quickText('知识点掌握情况', color: const Color.fromRGBO(92, 92, 92, 1), size: 14.sp, fontWeight: FontWeight.bold),
), ),
Expanded( Expanded(
child: widget.knowsList.isNotEmpty? ListView( child: ListView(
children: widget.knowsList.value.map((item) { children: widget.knowsList.value.map((item) {
return Container( return Container(
margin: EdgeInsets.only(bottom: 15.h, left: 15.r, right: 15.r), margin: EdgeInsets.only(bottom: 15.h, left: 15.r, right: 15.r),
@ -264,8 +264,8 @@ class _KnowledgePointState extends State<KnowledgePoint> {
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) {
String num1 = a.questionNo; int num1 = a.questionNo;
String num2 = b.questionNo; int num2 = b.questionNo;
return num1.compareTo(num2); return num1.compareTo(num2);
}); });
} }
@ -289,7 +289,7 @@ class _KnowledgePointState extends State<KnowledgePoint> {
], ],
), ),
); );
}).toList()): MyEmptyWidget(imgWidth: 100.r, imgHeight: 100.r, font: 8.sp), }).toList()),
), ),
], ],
)); ));

View File

@ -110,8 +110,8 @@ class _QuickStudentDataTableState extends State<QuickStudentDataTable> {
children: List.generate(item.kgtStu!.length, (index) { children: List.generate(item.kgtStu!.length, (index) {
Dtls kgInfo = item.kgtStu![index]; Dtls kgInfo = item.kgtStu![index];
return Container( return Container(
width: 20.r, width: 14.r,
height: 20.r, height: 14.r,
decoration: BoxDecoration( decoration: BoxDecoration(
color: kgInfo.state == 0 color: kgInfo.state == 0
? const Color(0xFFD3D3D3) ? const Color(0xFFD3D3D3)
@ -120,7 +120,7 @@ class _QuickStudentDataTableState extends State<QuickStudentDataTable> {
: kgInfo.state == 2 : kgInfo.state == 2
? const Color(0xFFFF7474) ? const Color(0xFFFF7474)
: const Color(0xFF4CC793), : const Color(0xFF4CC793),
borderRadius: BorderRadius.all(Radius.circular(10.r))), borderRadius: BorderRadius.all(Radius.circular(7.r))),
child: Center( child: Center(
child: Text( child: Text(
kgInfo.questionNo.toString(), kgInfo.questionNo.toString(),

View File

@ -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/green_right_icon.png', 'assets/images/job_data_right_icon.png',
width: 12.r, width: 10.r,
height: 12.r, height: 10.r,
) )
], ],
), ),

View File

@ -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(String, int)? questionNumCall; final Function(int, int)? questionNumCall;
const StudentKgTable({ const StudentKgTable({
Key? key, Key? key,

View File

@ -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(String, int)? questionNumCall; final Function(int, int)? questionNumCall;
const StudentZgTable({ const StudentZgTable({
Key? key, Key? key,

View File

@ -446,8 +446,8 @@ class _StudentWorkDetailPageState extends State<StudentWorkDetailPage> {
KgtList subjective = KgtList subjective =
item.kgtList[i]; item.kgtList[i];
return Container( return Container(
width: 25.r, width: 20.r,
height: 25.r, height: 20.r,
decoration: BoxDecoration( decoration: BoxDecoration(
color: Colors.transparent, color: Colors.transparent,
border: Border.all( border: Border.all(
@ -459,7 +459,7 @@ class _StudentWorkDetailPageState extends State<StudentWorkDetailPage> {
: subjective.state == 2 : subjective.state == 2
? Color(0xFFFF7474) ? Color(0xFFFF7474)
: Color(0xFF666666)), : Color(0xFF666666)),
borderRadius: BorderRadius.all(Radius.circular(12.5.r))), borderRadius: BorderRadius.all(Radius.circular(10.r))),
child: Center( child: Center(
child: Text( child: Text(
subjective.questionNo subjective.questionNo
@ -524,8 +524,8 @@ class _StudentWorkDetailPageState extends State<StudentWorkDetailPage> {
ZgtList subjective = ZgtList subjective =
item.zgtList[i]; item.zgtList[i];
return Container( return Container(
width: 25.r, width: 20.r,
height: 25.r, height: 20.r,
decoration: BoxDecoration( decoration: BoxDecoration(
color: Colors.transparent, color: Colors.transparent,
border: Border.all( border: Border.all(
@ -537,7 +537,7 @@ class _StudentWorkDetailPageState extends State<StudentWorkDetailPage> {
: subjective.state == 2 : subjective.state == 2
? Color(0xFFFF7474) ? Color(0xFFFF7474)
: Color(0xFF666666)), : Color(0xFF666666)),
borderRadius: BorderRadius.all(Radius.circular(12.5.r))), borderRadius: BorderRadius.all(Radius.circular(10.r))),
child: Center( child: Center(
child: Text( child: Text(
subjective.questionNo subjective.questionNo

View File

@ -93,7 +93,7 @@ dependencies:
auto_updater: ^0.2.1 auto_updater: ^0.2.1
permission_handler: ^11.0.1 permission_handler: ^11.0.1
flutter_distributor: ^0.4.5 flutter_distributor: ^0.4.5
flutter_native_splash: ^2.4.1
dev_dependencies: dev_dependencies:
flutter_test: flutter_test:

View File

@ -1,4 +1,6 @@
<!DOCTYPE html><html><head> <!DOCTYPE html>
<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.
@ -25,196 +27,12 @@
<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">
</head> </head>
<body> <body>
<script src="flutter_bootstrap.js" async></script>
</body>
</html>
<script src="flutter_bootstrap.js" async=""></script>
</body></html>