import ColField from '@/components/col-field' import ColFieldGroup from '@/components/col-field-group' import ColPopup from '@/components/col-popup' import ColUpload from '@/components/col-upload' import ColUploadVideo from '@/components/col-upload-video' import { Button, Col, Dialog, Field, Form, Icon, Row, Sticky, Switch } from 'vant' import { defineComponent } from 'vue' import styles from './class-content.module.less' import { createState } from './createState' import MusicAlbum from './model/music-album' export default defineComponent({ name: 'ClassContent', data() { return { url: '', checked: null, musicStatus: false, selectItem: {} as any // 选中的课程 } }, methods: { onSubmit(values: any) { createState.active = 3 }, addItem() { createState.lessonList.push({ videoTitle: '', videoContent: '', videoUrl: '', coverUrl: '', relationList: [], posterUrl: '' // 视频封面图 }) }, removeItem(index: number) { // 最少一节课 if (createState.lessonList.length <= 1) return Dialog.confirm({ title: '操作', message: `确定删除该条数据吗?`, confirmButtonColor: '#2DC7AA' }).then(() => { createState.lessonList.splice(index, 1) }) }, getName(item: any) { const relation = item.relationList.length > 0 ? item.relationList[0] : null return relation ? (relation.relationMusicAlbum === 'ALBUM' ? '专辑:' : '曲目:') + relation.musicAlbumName : '' } }, render() { return (
您可为每个视频关联曲目或专辑作为本课程教学内容推荐
{createState.lessonList.map((item: any, index: number) => ( <>
第{index + 1}课 this.removeItem(index)} size={20} />
( ) }} /> ( ) }} /> {/* */} 0 && item.relationList[0].musicAlbumId ? this.getName(item) : '' } readonly isLink clickable={false} clearable rightIcon={ item.relationList.length > 0 && item.relationList[0].musicAlbumId ? 'clear' : '' } onClick-right-icon={(e: MouseEvent) => { e.stopPropagation() item.relationList[0].musicAlbumId = 0 item.relationList[0].musicAlbumName = '' }} onClick={() => { this.selectItem = item this.musicStatus = true }} placeholder="请选择关联曲目或专辑" /> ))}
{ this.musicStatus = false if (this.selectItem.relationList.length > 0) { this.selectItem.relationList[0].musicAlbumId = item.id this.selectItem.relationList[0].musicAlbumName = item.selectType === 'ALBUM' ? item.albumName : item.musicSheetName this.selectItem.relationList[0].relationMusicAlbum = item.selectType } else { this.selectItem.relationList = [ { musicAlbumId: item.id, musicAlbumName: item.selectType === 'ALBUM' ? item.albumName : item.musicSheetName, relationMusicAlbum: item.selectType, useRelationType: 'RECOMMEND' } ] } }} />
) } })