@@ -23,21 +23,25 @@ import {
2323 SubitemScoreRecord ,
2424 TermScoresData
2525} from './result.interface'
26- import { getPointByScore } from '@/plugins/score/utils'
26+ import {
27+ getLevelCodeByScore ,
28+ getLevelNameByScore ,
29+ getPointByScore
30+ } from '@/plugins/score/utils'
2731import { sleep , http } from '@/helper/util'
2832import { getChineseNumber } from '@/helper/getter'
2933import { Logger } from '@/helper/logger'
3034
3135function getPageHTML ( url : string ) : Promise < string > {
32- return ( $ . get ( {
36+ return $ . get ( {
3337 url,
34- beforeSend : xhr =>
38+ beforeSend : ( xhr ) =>
3539 xhr . setRequestHeader ( 'X-Requested-With' , {
3640 toString ( ) {
3741 return ''
3842 }
3943 } as string )
40- } ) as unknown ) as Promise < string >
44+ } ) as unknown as Promise < string >
4145}
4246
4347async function LoadHTMLToDealWithError (
@@ -56,7 +60,7 @@ async function requestStudentSemesterNumberList(): Promise<string[]> {
5660 const url = '/student/courseSelect/calendarSemesterCurriculum/index'
5761 const rawHTML = await getPageHTML ( url )
5862 const codeList = Array . from ( $ ( '#planCode' , rawHTML ) . find ( 'option' ) ) . map (
59- v => $ ( v ) . val ( ) as string
63+ ( v ) => $ ( v ) . val ( ) as string
6064 )
6165 return codeList
6266}
@@ -65,10 +69,7 @@ async function requestStudentInfo(): Promise<Map<string, string>> {
6569 const url = '/student/rollManagement/rollInfo/index'
6670 const rawHTML = await getPageHTML ( url )
6771 const programPlanNumber = $ ( '#zx' , rawHTML ) . val ( ) as string
68- const programPlanName = $ ( '#zx' , rawHTML )
69- . parent ( )
70- . text ( )
71- . trim ( )
72+ const programPlanName = $ ( '#zx' , rawHTML ) . parent ( ) . text ( ) . trim ( )
7273 const infos = Array . from ( $ ( '.profile-info-row' , rawHTML ) )
7374 . map ( ( v ) : HTMLElement [ ] [ ] => {
7475 const num = $ ( v ) . children ( '.profile-info-name' ) . length
@@ -94,15 +95,9 @@ async function requestStudentInfo(): Promise<Map<string, string>> {
9495 return [ [ ] ]
9596 } )
9697 . flat ( 1 )
97- . filter ( v => v . length )
98- . map ( v =>
99- v . map ( element =>
100- $ ( element )
101- . text ( )
102- . trim ( )
103- )
104- )
105- . filter ( v => v [ 0 ] )
98+ . filter ( ( v ) => v . length )
99+ . map ( ( v ) => v . map ( ( element ) => $ ( element ) . text ( ) . trim ( ) ) )
100+ . filter ( ( v ) => v [ 0 ] )
106101 . concat ( [
107102 [ '培养方案名称' , programPlanName ] ,
108103 [ '培养方案代码' , programPlanNumber ]
@@ -233,9 +228,7 @@ async function requestCourseSchedule(
233228 }
234229}
235230
236- function requestTrainingScheme (
237- num : number
238- ) : Promise < {
231+ function requestTrainingScheme ( num : number ) : Promise < {
239232 info : TrainingSchemeBaseInfo
240233 list : TrainingSchemeYearInfo [ ]
241234} > {
@@ -351,12 +344,12 @@ function requestTrainingScheme(
351344 )
352345 ] ) . then ( ( [ { info, list } , table ] ) => ( {
353346 info,
354- list : list . map ( year => ( {
347+ list : list . map ( ( year ) => ( {
355348 name : year . name ,
356- children : year . children . map ( semester => ( {
349+ children : year . children . map ( ( semester ) => ( {
357350 name : semester . name ,
358351 children : semester . children
359- . map ( v =>
352+ . map ( ( v ) =>
360353 Object . assign ( v , table [ v . courseNumber ] , {
361354 courseMajor : `${ info . zym } (${ info . njmc } )`
362355 } )
@@ -451,9 +444,7 @@ async function requestScuUietpList(queryStr: string): Promise<ScuUietpDTO> {
451444 }
452445}
453446
454- async function requestCurrentSemesterStudentAcademicInfo ( ) : Promise <
455- CurrentSemesterStudentAcademicInfo
456- > {
447+ async function requestCurrentSemesterStudentAcademicInfo ( ) : Promise < CurrentSemesterStudentAcademicInfo > {
457448 // 加载本学期基本信息
458449 const [
459450 {
@@ -491,9 +482,9 @@ function filterCourseScoreInfoList(list: CourseScoreInfo[]): CourseScoreInfo[] {
491482 // 教师「暂存」的成绩学生不应看到
492483 // 因此为了和教务处成绩显示保持一致,这里只显示「已提交」的成绩
493484 // TODO: 考虑做开关,让用户决定看不看
494- . filter ( v => v . inputStatusCode === '05' )
485+ . filter ( ( v ) => v . inputStatusCode === '05' )
495486 // 分数可能为null,必须分数不为null才显示
496- . filter ( v => v . courseScore )
487+ . filter ( ( v ) => v . courseScore )
497488 )
498489}
499490
@@ -563,15 +554,21 @@ async function requestAllTermsCourseScoreInfoList(): Promise<
563554 inputMethodCode,
564555 courseScore,
565556 // levelCode 在本学期成绩信息接口里是 string,在全部成绩信息接口里却是 number
566- levelCode : levelCode ?. toString ( ) ,
557+ levelCode :
558+ levelCode ?. toString ( ) ||
559+ getLevelCodeByScore ( courseScore , executiveEducationPlanNumber ) ||
560+ '' ,
567561 unpassedReasonCode,
568562 courseName,
569563 englishCourseName,
570564 credit,
571565 studyHour,
572566 coursePropertyName,
573567 examTypeName,
574- levelName,
568+ levelName :
569+ levelName ||
570+ getLevelNameByScore ( courseScore , executiveEducationPlanNumber ) ||
571+ '' ,
575572 unpassedReasonExplain,
576573 gradePoint : getPointByScore ( courseScore , executiveEducationPlanNumber )
577574 } )
@@ -594,7 +591,7 @@ async function requestThisTermCourseScoreInfoList(): Promise<
594591 // console.log(`state: ${state}`)
595592 const res = filterCourseScoreInfoList (
596593 list . map (
597- v =>
594+ ( v ) =>
598595 ( {
599596 courseName : v . courseName || '' ,
600597 englishCourseName : v . englishCourseName || '' ,
@@ -609,8 +606,20 @@ async function requestThisTermCourseScoreInfoList(): Promise<
609606 minScore : Number ( v . mincj ) || 0 ,
610607 courseScore : Number ( v . courseScore ) || 0 ,
611608 // 对,你没看错,这个地方教务处接口是错别字,把level打成了levle
612- levelCode : v . levlePoint || '' ,
613- levelName : v . levelName || '' ,
609+ levelCode :
610+ v . levlePoint ||
611+ getLevelCodeByScore (
612+ Number ( v . courseScore ) || 0 ,
613+ v . id . executiveEducationPlanNumber || ''
614+ ) ||
615+ '' ,
616+ levelName :
617+ v . levelName ||
618+ getLevelNameByScore (
619+ Number ( v . courseScore ) || 0 ,
620+ v . id . executiveEducationPlanNumber || ''
621+ ) ||
622+ '' ,
614623 gradePoint : Number ( v . gradePoint ) || 0 ,
615624 rank : Number ( v . rank ) || 0 ,
616625 examTime : v . id . examtime || '' ,
0 commit comments