This commit is contained in:
30404 2024-07-10 21:47:55 +08:00
parent 1813f2c942
commit a7a03839b8
4 changed files with 24 additions and 27 deletions

View File

@ -21,12 +21,14 @@ function SubjectPage(){
const [PieOptions,setPieOptions]=useState({}) const [PieOptions,setPieOptions]=useState({})
// //
const [score,setscore]=useState() const [score,setscore]=useState()
const [testID,settestID]=useState()
const handleSubjectClick = (key) => { const handleSubjectClick = (key) => {
settestID(key)
setSubjectModal(!SubjectModal) setSubjectModal(!SubjectModal)
// //
setscore((JSON.parse(HistoryTrain[key][1][0]).length+JSON.parse(HistoryTrain[key][1][1]).length+JSON.parse(HistoryTrain[key][1][2]).length)*5+40) setscore((JSON.parse(HistoryTrain[key][1][0][0]).length+JSON.parse(HistoryTrain[key][1][0][1]).length+JSON.parse(HistoryTrain[key][1][0][2]).length)*5+40)
setPieData({labels: ['实训题','基础题'], setPieData({labels: ['实训题','基础题'],
datasets: [ datasets: [
@ -81,17 +83,15 @@ function SubjectPage(){
<li onClick={() => handleSubjectClick(key)} key={key}> <li onClick={() => handleSubjectClick(key)} key={key}>
<img src={Computer} alt="" width='35px' height='35px'/> <img src={Computer} alt="" width='35px' height='35px'/>
<p> <p>
<p className='p'>实训ID:{HistoryTrain[key][1][10]}{eval(HistoryTrain[key][1][11])}</p> <p className='p'>实训ID:{HistoryTrain[key][0][2]}{eval(HistoryTrain[key][1][0][11])}</p>
<span>{HistoryTrain[key][1][5]}</span> <span>{HistoryTrain[key][1][0][5]}</span>
</p> </p>
</li> </li>
))} ))}
</ul> </ul>
</div>} </div>}
{SubjectModal && ( {SubjectModal && (
<div className='outbox-test-analyse'> <div className='outbox-test-analyse' style={{marginLeft:'80px'}}>
<div className="outbox"> <div className="outbox">
<button className='btn-test' onClick={handleSubjectModalClose}>X</button> <button className='btn-test' onClick={handleSubjectModalClose}>X</button>
{/* 饼图组件 */} {/* 饼图组件 */}
@ -102,8 +102,8 @@ function SubjectPage(){
{/* 图表或者文字分析 */} {/* 图表或者文字分析 */}
<ul> <ul>
<li>总得分{parseInt(PieData['datasets'][0]['data'][0])+parseInt(PieData['datasets'][0]['data'][1])}/{score}</li> <li>总得分{parseInt(PieData['datasets'][0]['data'][0])+parseInt(PieData['datasets'][0]['data'][1])}/{score}</li>
<li>分析{parseInt(PieData['datasets'][0]['data'][0])>parseInt(PieData['datasets'][0]['data'][1]) ? '基础知识掌握薄弱,需优化学习方法':'提高实训得分需优化学习方法与题目理解。'}</li> <li>分析:{HistoryTrain[testID][0][10]}</li>
<li>老师建议{parseInt(PieData['datasets'][0]['data'][0])>parseInt(PieData['datasets'][0]['data'][1]) ? '巩固基础,稳步提升':'加强HTML语法'}</li> <li>老师建议:{HistoryTrain[testID][0][9]}</li>
</ul> </ul>
</div>} </div>}
</div> </div>

View File

@ -15,11 +15,11 @@ function Operation2() {
const score=localStorage.getItem('score') const score=localStorage.getItem('score')
const { operateID } = useParams(); const { operateID } = useParams();
const [isTrue,setisTrue]=useState(false) const [isTrue,setisTrue]=useState(false)
const [TrainScore,serTrainScore]=(null) const [TrainScore,setTrainScore]=useState()
const succeed=localStorage.getItem('succeed') const succeed=localStorage.getItem('succeed')
const TrainData=JSON.parse(localStorage.getItem('TrainData')) const TrainData=JSON.parse(localStorage.getItem('TrainData'))
// //
const [Src,setSrc]=useState() const [Src,setSrc]=useState()
const Train1=async()=>{ const Train1=async()=>{
try{ try{
@ -58,8 +58,8 @@ function Operation2() {
} }
},[]) },[])
// //
// const { OperationId } = useParams(); const { OperationId } = useParams();
const [countdown, setCountdown] = useState(0); const [countdown, setCountdown] = useState(0);
// //
@ -81,7 +81,7 @@ function Operation2() {
return () => clearInterval(interval); return () => clearInterval(interval);
}, [countdown]); }, [countdown]);
// //
const formatTime = (seconds) => { const formatTime = (seconds) => {
const hours = Math.floor(seconds / 3600); const hours = Math.floor(seconds / 3600);
const minutes = Math.floor((seconds % 3600) / 60); const minutes = Math.floor((seconds % 3600) / 60);
@ -123,7 +123,7 @@ function Operation2() {
localStorage.removeItem('TrainData') localStorage.removeItem('TrainData')
} }
// //
const detection=async()=>{ const detection=async()=>{
try{ try{
const detectionSrc=await axios.post('/api/student/check_pod',{ const detectionSrc=await axios.post('/api/student/check_pod',{
@ -133,10 +133,10 @@ function Operation2() {
const result=detectionSrc.data['result'] const result=detectionSrc.data['result']
if(result==='NO'){ if(result==='NO'){
alert('连接失败') alert('连接失败')
TrainScore(0) setTrainScore(0)
}else{ }else{
alert('连接成功') alert('连接成功')
TrainScore(50) setTrainScore(50)
} }
}catch{ }catch{
alert('detection出错') alert('detection出错')
@ -191,7 +191,7 @@ function Operation2() {
{ isTrue&&TrainData&& { isTrue&&TrainData&&
<div> <div>
<p>{TrainData['operateID'][3][0]}</p> <p>{TrainData['operateID'][3][0]}</p>
{Src&&<Test ip={Src[6]}/>} {/* {Src&&<Test ip={Src[6]}/>} */}
<div className='detection'><button onClick={detection}>检测</button></div> <div className='detection'><button onClick={detection}>检测</button></div>
</div>} </div>}
{/* 达梦数据库连接⬆ */} {/* 达梦数据库连接⬆ */}
@ -207,6 +207,7 @@ function Operation2() {
</button> </button>
</div> </div>
</div> </div>
) )
} }

View File

@ -325,8 +325,8 @@ def HistoryTrainFunc(ID):
for i in historytrain: for i in historytrain:
cursor.execute("SELECT * FROM TRAINTEST WHERE ID=?", (i[2])) cursor.execute("SELECT * FROM TRAINTEST WHERE ID=?", (i[2]))
dic[i[2]]=i,cursor.fetchall()[0] result=cursor.fetchall()
dic[i[2]]=i,result
return dic return dic

View File

@ -1,11 +1,7 @@
a=[] list1=[1,2,3,4,5]
succeed={0:'计算机基础', 1:'计算机概念', 2:'通信技术', 3:'计算机网络'} name='asd'
for i in succeed: dic={name:list1}
a.append(succeed[i]) print(dic)
result_string = ''.join(set(a))
print(result_string+'需要加强')