@@ -25,9 +25,40 @@ export default function SurveyPage() {
2525 const [ page , setPage ] = useState ( 0 ) ;
2626 const [ maxPage , setMaxPage ] = useState ( 1 ) ;
2727 const [ answers , setAnswers ] = useState < AnswerInfo [ ] > ( [ ] ) ;
28+ const [ initialized , setInitialized ] = useState ( false ) ;
2829 const router = useRouter ( ) ;
2930
31+ // 从localStorage恢复状态
3032 useEffect ( ( ) => {
33+ const saved = localStorage . getItem ( 'judgePageState' ) ;
34+ if ( saved ) {
35+ try {
36+ const state = JSON . parse ( saved ) ;
37+ setSurveySearch ( state . surveySearch || '' ) ;
38+ setUnconfirmedOnly ( state . unconfirmedOnly || false ) ;
39+ setPage ( state . page || 0 ) ;
40+ } catch ( e ) {
41+ console . error ( 'Failed to parse saved state:' , e ) ;
42+ }
43+ }
44+ setInitialized ( true ) ;
45+ } , [ ] ) ;
46+
47+ // 保存状态到localStorage
48+ useEffect ( ( ) => {
49+ if ( ! initialized ) return ;
50+
51+ const state = {
52+ surveySearch,
53+ unconfirmedOnly,
54+ page,
55+ } ;
56+ localStorage . setItem ( 'judgePageState' , JSON . stringify ( state ) ) ;
57+ } , [ surveySearch , unconfirmedOnly , page , initialized ] ) ;
58+
59+ useEffect ( ( ) => {
60+ if ( ! initialized ) return ;
61+
3162 setSurveysLoading ( true ) ;
3263 ScoreApi . searchAnswerList ( page ,
3364 10 ,
@@ -39,7 +70,7 @@ export default function SurveyPage() {
3970 setMaxPage ( res . total ) ;
4071 setAnswers ( res . data ) ;
4172 } ) ;
42- } , [ surveySearch , unconfirmedOnly , page ] ) ;
73+ } , [ surveySearch , unconfirmedOnly , page , initialized ] ) ;
4374
4475 return (
4576 < Center >
@@ -62,6 +93,7 @@ export default function SurveyPage() {
6293 onChange = { setSurveySearch }
6394 />
6495 < Checkbox
96+ checked = { unconfirmedOnly }
6597 onChange = { ( e ) =>
6698 setUnconfirmedOnly ( e . currentTarget . checked ) }
6799 label = "仅显示未确认的问卷"
@@ -79,6 +111,7 @@ export default function SurveyPage() {
79111 < Table . Th > 问卷ID</ Table . Th >
80112 < Table . Th > 用户ID</ Table . Th >
81113 < Table . Th > 提交时间</ Table . Th >
114+ < Table . Th > 分数</ Table . Th >
82115 < Table . Th > 问卷状态</ Table . Th >
83116 </ Table . Tr >
84117 </ Table . Thead >
@@ -93,6 +126,7 @@ export default function SurveyPage() {
93126 < Table . Td > { element . survey } </ Table . Td >
94127 < Table . Td > { element . user } </ Table . Td >
95128 < Table . Td > { element . update_time } </ Table . Td >
129+ < Table . Td > { element . user_scores } /{ element . full_scores } </ Table . Td >
96130 < Table . Td > { element . completed ? '已确认' : '待确认' } </ Table . Td >
97131 </ Table . Tr >
98132 ) ) }
0 commit comments