import { NButton, NSpace, useMessage, NForm, NFormItem, NSelect, NImage } from 'naive-ui'; import { defineComponent, onMounted, reactive, ref } from 'vue'; import { getTrainingStudentDetail } from '../api'; import styles from '../index.module.less'; import TrainType from '@/views/attend-class/model/train-type'; import defultHeade from '@/components/layout/images/teacherIcon.png'; import noSub from '../images/nosub.png'; import qualified from '../images/qualified.png'; import unqualified from '../images/unqualified.png'; import { evaluateDifficult } from '/src/utils/contants'; import dayjs from 'dayjs'; export default defineComponent({ props: { activeRow: { type: Object, default: () => ({ studentLessonTrainingId: '' }) }, total: { type: Number, default: 0 }, current: { type: Number, default: 0 } }, name: 'TrainingDetails', emits: ['close', 'next', 'pre'], setup(props, { emit, expose }) { const data = reactive({ uploading: false }); const studnetInfo = ref({ studentName: '', submitTime: '', trainingStatus: '', studentAvatar: '', studentLessonTrainingDetails: [] as any } as any); const message = useMessage(); const foemsRef = ref(); const typeFormat = (trainingType: string, configJson: any) => { let tList: string[] = []; if (trainingType === 'EVALUATION') { tList = [ `${evaluateDifficult[configJson.evaluateDifficult]}`, '全部小节', `速度${configJson.evaluateSpeed}`, `${configJson.trainingTimes}分合格` ]; console.log('configJson.evaluateDifficult--', tList); } else { tList = [ `${configJson.practiceChapterBegin}-${configJson.practiceChapterEnd}小节`, `速度${configJson.practiceSpeed}`, `${configJson.trainingTimes}分钟` ]; console.log('configJson.evaluateDifficult', tList); } return tList; }; const getTrainingDetail = async () => { try { const res = await getTrainingStudentDetail({ studentLessonTrainingId: props.activeRow.studentLessonTrainingId }); const arr = res.data.studentLessonTrainingDetails.map((item: any) => { const tList = typeFormat( item.trainingType, JSON.parse(item.trainingContent) ); return { ...item, coverImg: item.titleImg, allTimes: JSON.parse(item.trainingContent).trainingTimes, typeList: tList || [] }; }); studnetInfo.value = { ...res.data, studentLessonTrainingDetails: arr }; console.log(studnetInfo.value.studentLessonTrainingDetails); } catch (e) { console.log(e); } }; expose({ getTrainingDetail }); onMounted(() => { getTrainingDetail(); }); return () => (

{studnetInfo.value.studentName}{' '}
学生

提交时间: {studnetInfo.value.submitTime ? dayjs(new Date(studnetInfo.value.submitTime)).format( 'YYYY-MM-DD' ) : '--'}

{studnetInfo.value.trainingStatus == 'UNSUBMITTED' ? ( ) : null} {studnetInfo.value.trainingStatus == 'SUBMITTED' ? ( ) : null} {studnetInfo.value.trainingStatus == 'TARGET' ? ( ) : null}
{studnetInfo.value.studentLessonTrainingDetails.map((item: any) => ( ))}
{props.current}/{props.total}名学生
{ emit('pre'); }}> 上一名 = props.total} round type="primary" onClick={() => { emit('next'); }}> 下一名
); } });