import { defineComponent, PropType } from 'vue' import styles from './index.module.less' export const getAssetsHomeFile = (fileName: string) => { const path = `./images/${fileName}` const modules = import.meta.globEager('./images/*') return modules[path].default } export default defineComponent({ name: 'col-steps', props: { type: { type: String, default: 'small' as 'small' | 'medium' | 'large' }, active: { type: Number, default: 0 } }, data() { return { list: { small: [ { title: '课程信息', iconActive: getAssetsHomeFile('6.png') }, { title: '课程安排', icon: getAssetsHomeFile('4.png'), iconActive: getAssetsHomeFile('4_active.png') }, { title: '教学计划', icon: getAssetsHomeFile('2.png'), iconActive: getAssetsHomeFile('2_active.png') }, { title: '开课条件', icon: getAssetsHomeFile('3.png'), iconActive: getAssetsHomeFile('3_active.png') } ], medium: [ { title: '实名认证', iconActive: getAssetsHomeFile('7.png') }, { title: '基本信息', icon: getAssetsHomeFile('1.png'), iconActive: getAssetsHomeFile('1_active.png') }, { title: '学历信息', icon: getAssetsHomeFile('8.png'), iconActive: getAssetsHomeFile('8_active.png') } ], large: [ { title: '课程信息', iconActive: getAssetsHomeFile('6.png') }, { title: '课程内容', icon: getAssetsHomeFile('5.png'), iconActive: getAssetsHomeFile('5_active.png') } ] } } }, render() { return (
{this.list[this.type].map((item: any, index: number) => (
= index && styles.active ]} >
{index === 0 || this.active >= index ? ( ) : ( )}
{item.title}
))}
) } })