import { PropType, defineComponent, reactive, watch } from 'vue'; import styles from './index.module.less'; import { Cell, Col, Icon, Image, Row } from 'vant'; import iconStudent from '@/common/images/icon-student-default.png'; import iconMember from '../images/icon-member.png'; import img1 from './images/1.png'; import img2 from './images/2.png'; import img3 from './images/3.png'; import MEmpty from '@/components/m-empty'; export default defineComponent({ name: 'detail-modal', props: { type: { type: String as PropType<'proctice' | 'evaluating'>, default: 'proctice' }, title: { type: String, default: '学员练习详情' }, detail: { type: Object, default: () => ({}) } }, setup(props) { const forms = reactive({ detail: props.detail }); watch( () => props.detail, () => { forms.detail = props.detail; } ); return () => (
{props.title}
{{ icon: () => (
{forms.detail.memberFlag && ( )}
), title: () => (

{forms.detail.username}

{forms.detail.subjectName}
), value: () => props.type === 'proctice' ? (
{forms.detail.finishFlag ? '完成' : '未完成'}
) : (
= 60 ? styles.success : styles.error ]}> {forms.detail.trainingScore || '--'}分
) }}
{props.type === 'proctice' ? ( <> 练习曲目 练习速度 次数/总计
{forms.detail.list.map((item: any) => ( {item.musicScoreName} {item.trainingSpeed} 速度 {item.trainingTimes} /{item.times}次 ))} {forms.detail.list.length <= 0 && ( )}
) : ( <> 评测曲目 难度 得分/达标
{forms.detail.list.map((item: any) => ( {item.musicScoreName} {item.heardLevel === 'BEGINNER' && ( )} {item.heardLevel === 'ADVANCED' && ( )} {item.heardLevel === 'PERFORMER' && ( )} {item.actualAvgScore || '--'} /{item.standardScore}分 ))} {forms.detail.list.length <= 0 && ( )}
)}
); } });