From d40022b1486a78d0ca315f92eb72f2ed3a66c520 Mon Sep 17 00:00:00 2001 From: caicai8 <1149225589@qq.com> Date: Wed, 12 Feb 2020 14:02:15 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=86=E9=A2=91=E5=88=A0=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../react/src/modules/courses/Video/Video.js | 37 +++++++++++++++++-- .../src/modules/courses/Video/VideoIndex.js | 10 +++++ .../user/usersInfo/video/InfosVideo.css | 2 +- .../user/usersInfo/video/VideoInReviewItem.js | 11 +++++- 4 files changed, 54 insertions(+), 6 deletions(-) diff --git a/public/react/src/modules/courses/Video/Video.js b/public/react/src/modules/courses/Video/Video.js index e15ddf6d4..d92d7addc 100644 --- a/public/react/src/modules/courses/Video/Video.js +++ b/public/react/src/modules/courses/Video/Video.js @@ -10,6 +10,7 @@ import ClipboardJS from 'clipboard' import './video.css'; import '../../user/usersInfo/video/InfosVideo.css' +import axios from 'axios'; const DEFAULT_VIDEO_WIDTH_IN_MD = "90%" // 400 const DEFAULT_VIDEO_HEIGHT_IN_MD = "55%" // 400 @@ -17,7 +18,6 @@ const DEFAULT_VIDEO_HEIGHT_IN_MD = "55%" // 400 const videoEl = null; let _clipboard = null; - class Video extends Component{ constructor(props){ super(props); @@ -69,9 +69,8 @@ class Video extends Component{ // 编辑成功后回调的方法 editSuccess=()=>{ - const { page } = this.state; this.props.showNotification("视频名称修改成功!"); - const { listFunc } = this.props; + const { listFunc , page } = this.props; listFunc && listFunc(page); } @@ -132,13 +131,42 @@ class Video extends Component{ return `` } + // 删除事件 + deleteVideo=(item)=>{ + this.props.confirm({ + content: '该视频将被删除,不可恢复', + subContent:'是否确认删除?', + + onOk: () => { + const CourseId=this.props.match.params.coursesId; + const url = `/courses/${CourseId}/delete_course_video.json`; + axios.delete(url,{ + params:{ + video_id:item.id + } + }).then(result=>{ + if(result){ + this.props.showNotification(`删除成功!`); + const { listFunc , page } = this.props; + listFunc && listFunc(page); + } + }).catch(error=>{ + console.log(error); + }) + }, + onCancel() { + console.log('Cancel'); + }, + }); + } + render(){ const { visible , videoVisible , videoId } = this.state; const CourseId=this.props.match.params.coursesId; const login=this.props.user&&this.props.user.login; const _inputValue = videoId && this.getCopyText(videoId.file_url, videoId.cover_url); - const { admin , is_teacher ,business} = this.props.user; + const { admin , is_teacher ,business , user_id} = this.props.user; const { videos , upload , uploadVideo , videoData , changePage ,pageSize ,page } = this.props; @@ -195,6 +223,7 @@ class Video extends Component{ onMaskClick={this.onMaskClick} getCopyText={this.getCopyText} operation={operation} + deleteVideo={(admin || item.user_id === user_id) ? this.deleteVideo : undefined} > ) diff --git a/public/react/src/modules/courses/Video/VideoIndex.js b/public/react/src/modules/courses/Video/VideoIndex.js index 774f35de9..ec1c0d4f5 100644 --- a/public/react/src/modules/courses/Video/VideoIndex.js +++ b/public/react/src/modules/courses/Video/VideoIndex.js @@ -189,6 +189,16 @@ class VideoIndex extends Component{ {...this.props} {...this.state} > + { + liveVisible ? + :"" + }
diff --git a/public/react/src/modules/user/usersInfo/video/InfosVideo.css b/public/react/src/modules/user/usersInfo/video/InfosVideo.css index f2b1d5152..fd17ac49c 100644 --- a/public/react/src/modules/user/usersInfo/video/InfosVideo.css +++ b/public/react/src/modules/user/usersInfo/video/InfosVideo.css @@ -57,7 +57,7 @@ z-index: 99; } .videoItem .square-main { - padding: 9px 8px; + padding: 15px 10px; background: #fff; border-radius:12px; diff --git a/public/react/src/modules/user/usersInfo/video/VideoInReviewItem.js b/public/react/src/modules/user/usersInfo/video/VideoInReviewItem.js index ce1c1bfad..5c0647ea1 100644 --- a/public/react/src/modules/user/usersInfo/video/VideoInReviewItem.js +++ b/public/react/src/modules/user/usersInfo/video/VideoInReviewItem.js @@ -20,7 +20,7 @@ const clipboardMap = {} function VideoInReviewItem (props) { const theme = useContext(ThemeContext); const { history, file_url, cover_url, title, created_at, published_at, isReview, id - , onEditVideo, onMaskClick, getCopyText, showNotification,vv,play_duration,operation} = props; + , onEditVideo, onMaskClick, getCopyText, showNotification,vv,play_duration,operation , deleteVideo} = props; useEffect(()=> { if (!isReview) { _clipboard = new ClipboardJS(`.copybtn_item_${id}`); @@ -73,6 +73,15 @@ function VideoInReviewItem (props) { } {vv===0?"":vv} { isReview != true &&
+ { + deleteVideo && + + deleteVideo(props)} + style={{ marginTop: '1px', display: 'inline-block'}} + > + + } + { operation &&