import { NButton, NSpace, useMessage, NImage, NScrollbar, NSpin, NModal, NTooltip } 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'; import CommentWork from '../../studentList/modals/comment-work'; import WorkItem from '../work-item'; 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 loading = ref(false); const studnetInfo = ref({ studentName: '', submitTime: '', trainingStatus: '', studentAvatar: '', studentLessonTrainingDetails: [] as any } as any); const showModalMask = ref(false); // const message = useMessage(); // const foemsRef = ref(); const typeFormat = (trainingType: string, configJson: any) => { let tList: string[] = []; if (trainingType === 'EVALUATION') { tList = [ `${evaluateDifficult[configJson.evaluateDifficult]}`, configJson.practiceChapterBegin || configJson.practiceChapterEnd ? `${configJson.practiceChapterBegin}-${configJson.practiceChapterEnd}小节` : '全部小节', // `速度${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 (id: any) => { loading.value = true; try { const res = await getTrainingStudentDetail({ studentLessonTrainingId: id }); const arr = res.data.studentLessonTrainingDetails.map((item: any) => { const tList = typeFormat( item.trainingType, JSON.parse(item.trainingContent) ); return { ...item, coverImg: item.titleImg, fileList: (item.fileJsonList && item.fileJsonList[0]) || {}, allTimes: JSON.parse(item.trainingContent).trainingTimes, typeList: tList || [] }; }); studnetInfo.value = { ...res.data, studentLessonTrainingDetails: arr }; } catch (e) { console.log(e); } loading.value = false; }; expose({ getTrainingDetail }); onMounted(() => { getTrainingDetail(props.activeRow.studentLessonTrainingId); }); 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.expireFlag ? ( (showModalMask.value = true)} class={styles.commentBtnGroup}>
{studnetInfo.value.comment ? '修改点评' : '点评作业'}
) : ( {{ trigger: () => ( (showModalMask.value = true)} class={styles.commentBtnGroup}>
{studnetInfo.value.comment ? '修改点评' : '点评作业'}
), default: '作业截止后可点评作业' }}
)}
{(studnetInfo.value.fileExpireDay || 0 > 0) && (
作业截止{studnetInfo.value.fileExpireDay || 0} 天后,学生上传的文件将过期,请及时查看
)}
{studnetInfo.value.studentLessonTrainingDetails.map( (item: any) => ( ) )}
{studnetInfo.value.comment && (

{studnetInfo.value.comment}
)}
{props.current}/{props.total}名学生
{ emit('pre'); }}> 上一名 = props.total} round type="primary" onClick={() => { emit('next'); }}> 下一名
(showModalMask.value = false)} onConfrim={() => { getTrainingDetail(props.activeRow.studentLessonTrainingId); showModalMask.value = false; }} />
); } });