import ColUpload from '@/components/col-upload' import ColUploadVideo from '@/components/col-upload-video' import request from '@/helpers/request' import { scrollAnimation } from '@/util/scroll' import { ElButton, ElCol, ElDialog, ElForm, ElFormItem, ElIcon, ElInput, ElMessage, ElMessageBox, ElRow, ElTooltip } from 'element-plus' import { defineComponent } from 'vue' import CoursePreview from '../course-preview' import { createState } from '../createState' import styles from './index.module.less' import iconDown from '../images/icon_down.png' import iconUp from '../images/icon_up.png' import iconDelete from '../images/icon_delete.png' import ColVideo from '@/components/col-video' export default defineComponent({ name: 'course-content', data() { return { show: false, form: { lessonList: [ { key: 1, videoTitle: '', videoContent: '', videoUrl: '', coverUrl: '' } ] as any } } }, methods: { handleUpload(urls: any) { console.log(urls) // 上传视频连接s const urlList = urls || [] urlList.forEach((item: any) => { createState.lessonList.push({ videoTitle: '', videoContent: '', videoUrl: item, coverUrl: '' }) }) }, handleSubmit() { ;(this as any).$refs.form.validate(async (valid: any) => { if (valid) { if (createState.lessonList.length <= 0) { ElMessage.error('请上传课程视频') return } // 提交数据 console.log('提交数据') this.show = true } else { this.$nextTick(() => { let isError = document.getElementsByClassName('is-error') isError[0].scrollIntoView({ block: 'center', behavior: 'smooth' }) }) return false } }) }, async createSubmit() { try { const videoDetail = createState.lessonGroup let params = { lessonList: createState.lessonList, lessonGroup: { ...videoDetail, lessonCoverUrl: videoDetail.lessonCoverTemplateUrl || videoDetail.lessonCoverUrl } } if (createState.groupId) { await request.post('/api-website/videoLessonGroup/update', { data: params }) ElMessage.success('修改成功') } else { await request.post('/api-website/videoLessonGroup/add', { data: params }) ElMessage.success('创建成功') } sessionStorage.setItem('videoActiveName', 'DOING') this.$router.back() } catch {} }, swapItems(arr: any, index1: number, index2: number) { arr[index1] = arr.splice(index2, 1, arr[index1])[0] return arr } }, render() { return (
{ this.handleUpload(urls) }} />
{/* */}
{createState.lessonList.map((item: any, index: number) => (
{index !== 0 && (
{ this.swapItems(createState.lessonList, index, index - 1) }} >
)} {createState.lessonList.length - 1 !== index && (
{ this.swapItems(createState.lessonList, index, index + 1) }} >
)} {createState.lessonList.length > 1 && (
{ ElMessageBox.confirm('确定删除该条数据吗?', '提示', { type: 'warning' }).then(() => { createState.lessonList.splice(index, 1) }) }} >
)}

{`第 ${index + 1} 课`}

{/* */} {/* */}

))}
{ createState.active = 0 const currentY = document.documentElement.scrollTop || document.body.scrollTop scrollAnimation(currentY, 0) }} > 上一步 下一步
{/* @ts-ignore */} ( { this.show = false }} > 返回编辑 创建完成 ) }} >
) } })