From 833562f9ba8dade24ff25357b53a22186581cf76 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E6=A0=91=E6=98=8E?= <775174143@qq.com> Date: Mon, 16 Mar 2020 21:51:50 +0800 Subject: [PATCH 1/8] =?UTF-8?q?=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/react/src/modules/courses/Video/VideoIndex.js | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/public/react/src/modules/courses/Video/VideoIndex.js b/public/react/src/modules/courses/Video/VideoIndex.js index fe52b17dc..f52f54859 100644 --- a/public/react/src/modules/courses/Video/VideoIndex.js +++ b/public/react/src/modules/courses/Video/VideoIndex.js @@ -243,10 +243,9 @@ class VideoIndex extends Component{ } render(){ const { videos , upload , videoData , type , liveData , lives , page , liveVisible , isSpining , liveId , otherLinkVisible,statistics } = this.state; - const { is_teacher } = this.props.user; const { coursesId , videoId }=this.props.match.params; - - const {course_identity} = this.props.coursedata; + let course_identity = this.props&&this.props.coursedata; + let is_teacher = this.props&&this.props.user; const flag = parseInt(course_identity) < 5; const newOperation = flag; const new_upload = flag && (is_teacher && this.props.checkIfProfessionalCertification()); From f949451986d2bedd6e5ab9cff816b2de888032ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E6=A0=91=E6=98=8E?= <775174143@qq.com> Date: Mon, 16 Mar 2020 22:09:14 +0800 Subject: [PATCH 2/8] =?UTF-8?q?=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/react/src/modules/courses/Video/Video.js | 14 ++++++++++---- .../react/src/modules/courses/Video/VideoIndex.js | 2 +- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/public/react/src/modules/courses/Video/Video.js b/public/react/src/modules/courses/Video/Video.js index 181c082ae..56ad1a60c 100644 --- a/public/react/src/modules/courses/Video/Video.js +++ b/public/react/src/modules/courses/Video/Video.js @@ -191,15 +191,21 @@ class Video extends Component { const CourseId = this.props.match.params.coursesId; const VID = this.props.match.params.videoId; - const login = this.props.user && this.props.user.login; + let login = this.props && this.props.user&&this.props.user.login;; + const _inputValue = videoId && this.getCopyText(videoId.file_url, videoId.cover_url); - const { admin, is_teacher, business, user_id } = this.props.user; + // const { admin, is_teacher, business, user_id } = this.props && this.props.user; + let admin = this.props && this.props.user&&this.props.user.admin;; + let business = this.props && this.props.user&&this.props.user.business;; + let user_id = this.props && this.props.user&&this.props.user.user_id;; + + const { videos, upload, uploadVideo, videoData, changePage, pageSize, page } = this.props; const operation = admin || business; - const { course_identity } = this.props.coursedata; + const { course_identity } = this.props && this.props.coursedata; const flagMove = parseInt(course_identity) < 5; return ( @@ -245,7 +251,7 @@ class Video extends Component {

播放数据从2020-03-13 24:00开始统计

- +
{ videos.map((item, key) => { diff --git a/public/react/src/modules/courses/Video/VideoIndex.js b/public/react/src/modules/courses/Video/VideoIndex.js index f52f54859..7a974c582 100644 --- a/public/react/src/modules/courses/Video/VideoIndex.js +++ b/public/react/src/modules/courses/Video/VideoIndex.js @@ -245,7 +245,7 @@ class VideoIndex extends Component{ const { videos , upload , videoData , type , liveData , lives , page , liveVisible , isSpining , liveId , otherLinkVisible,statistics } = this.state; const { coursesId , videoId }=this.props.match.params; let course_identity = this.props&&this.props.coursedata; - let is_teacher = this.props&&this.props.user; + let is_teacher=this.props&&this.props.user&&this.props.user.is_teacher; const flag = parseInt(course_identity) < 5; const newOperation = flag; const new_upload = flag && (is_teacher && this.props.checkIfProfessionalCertification()); From 22e3fbc49bd9e571a2855d14bb0c3019cf8b17af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E6=A0=91=E6=98=8E?= <775174143@qq.com> Date: Mon, 16 Mar 2020 22:29:27 +0800 Subject: [PATCH 3/8] =?UTF-8?q?=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/modules/user/account/AccountImg.js | 30 +++++++++++-------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/public/react/src/modules/user/account/AccountImg.js b/public/react/src/modules/user/account/AccountImg.js index bc95e4259..595ba7ba1 100644 --- a/public/react/src/modules/user/account/AccountImg.js +++ b/public/react/src/modules/user/account/AccountImg.js @@ -55,26 +55,30 @@ class AccountImg extends Component { .newheadphotoblack{ position: absolute; - top: 49px; - left: 4px; + top: 45px; + left: 0px; text-align: center; color: #fff; - width: 107px; + width: 110px; height: 23px; - line-height:23px; + line-height: 23px; background: rgba(76,172,255,0.7); } - .borderradiusbox{ - border-top-left-radius: 4px; - border-top-right-radius: 4px; - border-bottom-right-radius: 4px; - border-bottom-left-radius: 4px; - } - + .relativeRadiusbox{ + overflow: hidden; + position: relative; + width: 109px; + border-radius: 50%; + height: 109px; + } + `} - 头像 -
修改头像
+
+ 头像 +
修改头像
+
+
); } From dc941a417b3306a934c139f07b4ab34d0fe10870 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E6=A0=91=E6=9E=97?= <904079904@qq.com> Date: Mon, 16 Mar 2020 22:30:48 +0800 Subject: [PATCH 4/8] =?UTF-8?q?=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/modules/courses/Video/VideoIndex.js | 584 +++++++++--------- .../component/Videostatisticscomtwo.js | 2 +- .../component/Videostatisticslist.js | 4 +- 3 files changed, 300 insertions(+), 290 deletions(-) diff --git a/public/react/src/modules/courses/Video/VideoIndex.js b/public/react/src/modules/courses/Video/VideoIndex.js index 7a974c582..e4fd369ce 100644 --- a/public/react/src/modules/courses/Video/VideoIndex.js +++ b/public/react/src/modules/courses/Video/VideoIndex.js @@ -1,7 +1,7 @@ -import React,{ Component } from "react"; -import { WordsBtn,on, trigger ,publicSearchs} from 'educoder'; +import React, {Component} from "react"; +import {WordsBtn, on, trigger, publicSearchs} from 'educoder'; -import { Menu, Spin } from 'antd'; +import {Menu, Spin} from 'antd'; import axios from 'axios'; import Videos from './Video'; @@ -12,288 +12,292 @@ import Videostatistics from '../videostatistics/Videostatistics'; import './video.css'; import '../css/Courses.css'; import '../publicNav/nav.css'; + const PAGE_SIZE = 15; const LIVE_PAGE_SIZE = 10; const $ = window.$; -function getRight(){ - var right = parseInt($(".-task-sidebar").css("right")); - return right===0?0:right; +function getRight() { + var right = parseInt($(".-task-sidebar").css("right")); + return right === 0 ? 0 : right; } -class VideoIndex extends Component{ - constructor(props){ - super(props); - this.state={ - page:1, - upload:false, - videos:undefined, - videoData:undefined, - otherLinkVisible:false, - type:"video", - isSpining:false, - lives:undefined, - liveData:undefined, +class VideoIndex extends Component { + constructor(props) { + super(props); + this.state = { + page: 1, + upload: false, + videos: undefined, + videoData: undefined, + otherLinkVisible: false, + type: "video", + isSpining: false, - liveId:undefined, + lives: undefined, + liveData: undefined, - liveVisible:false, - statistics:false, + liveId: undefined, - } - } + liveVisible: false, + statistics: false, - checkType=(type,page)=>{ - this.setState({ - type, - isSpining:true - }) - if(type === "video"){ - this.getList(page); - }else{ - this.getLiveList(page); - } - } + } + } - componentDidMount=()=>{ - const { search } = this.props.location; - const { page } = this.state; - if(search && search === "?open=live"){ - this.setState({ - type:"live" - }) - this.checkType("live",page); - }else{ - if(search === "?open=new"){ - this.setState({ - upload:true - }) - } - this.checkType("video",page); - } - } - componentDidUpdate = (prevProps) => { - if(this.props.match.params.videoId !== prevProps.match.params.videoId ){ - this.setState({ - upload:false - }) - const { page } = this.state; - this.checkType("video",page); - } - } - // 获取直播列表 - getLiveList=(page)=>{ - const CourseId=this.props.match.params.coursesId; - const url = `/courses/${CourseId}/live_links.json`; - axios.get(url,{ - params:{ - page, - limit:LIVE_PAGE_SIZE - } - }).then(result=>{ - if(result){ - this.setState({ - liveData:result.data, - lives:result.data.lives, - isSpining:false, - }) - } - }).catch(error=>{ - console.log(error); - }) - } + checkType = (type, page) => { + this.setState({ + type, + isSpining: true + }) + if (type === "video") { + this.getList(page); + } else { + this.getLiveList(page); + } + } - // 获取视频列表 - getList=(page)=>{ - const { coursesId , videoId }=this.props.match.params; - const fetchUrl = `/courses/${coursesId}/course_videos.json`; - axios.get(fetchUrl, { - params: { - page, - limit: PAGE_SIZE, - category_id:videoId - } - }) - .then((response) => { - if(response){ - this.setState({ - videos:response.data.videos, - videoData:response.data, - isSpining:false - }) - } - }).catch((error) => { - console.log(error); - }) - } + componentDidMount = () => { + const {search} = this.props.location; + const {page} = this.state; + if (search && search === "?open=live") { + this.setState({ + type: "live" + }) + this.checkType("live", page); + } else { + if (search === "?open=new") { + this.setState({ + upload: true + }) + } + this.checkType("video", page); + } + } + componentDidUpdate = (prevProps) => { + if (this.props.match.params.videoId !== prevProps.match.params.videoId) { + this.setState({ + upload: false + }) + const {page} = this.state; + this.checkType("video", page); + } + } + // 获取直播列表 + getLiveList = (page) => { + const CourseId = this.props.match.params.coursesId; + const url = `/courses/${CourseId}/live_links.json`; + axios.get(url, { + params: { + page, + limit: LIVE_PAGE_SIZE + } + }).then(result => { + if (result) { + this.setState({ + liveData: result.data, + lives: result.data.lives, + isSpining: false, + }) + } + }).catch(error => { + console.log(error); + }) + } - changeType=(e)=>{ - this.setState({ - type:e.key, - upload:false, - page:1 - }) - this.checkType(e.key,1); - } + // 获取视频列表 + getList = (page) => { + const {coursesId, videoId} = this.props.match.params; + const fetchUrl = `/courses/${coursesId}/course_videos.json`; + axios.get(fetchUrl, { + params: { + page, + limit: PAGE_SIZE, + category_id: videoId + } + }) + .then((response) => { + if (response) { + this.setState({ + videos: response.data.videos, + videoData: response.data, + isSpining: false + }) + } + }).catch((error) => { + console.log(error); + }) + } - changePage=(page,type)=>{ - this.setState({ - page - }) - this.checkType(type,page); - } + changeType = (e) => { + this.setState({ + type: e.key, + upload: false, + page: 1 + }) + this.checkType(e.key, 1); + } - onEditVideo=(item)=>{ - let videoId = { - videoId: item.id, - title: item.title - } - this.setState({ - videoId, - }) - this.setVisible(true); - } - uploadVideo=(upload)=>{ + changePage = (page, type) => { + this.setState({ + page + }) + this.checkType(type, page); + } + + onEditVideo = (item) => { + let videoId = { + videoId: item.id, + title: item.title + } + this.setState({ + videoId, + }) + this.setVisible(true); + } + uploadVideo = (upload) => { - this.setState({ - upload, - isSpining:true - }) - const { page } = this.state; - setTimeout(()=>{ - this.getList(page); - },500) - } + this.setState({ + upload, + isSpining: true + }) + const {page} = this.state; + setTimeout(() => { + this.getList(page); + }, 500) + } - toUpload =()=> { - const { admin , is_teacher,business} = this.props.user; - if (admin || business || (is_teacher && this.props.checkIfProfessionalCertification())) { - this.setState({ - type:"video", - upload:true, - page:1 - }) - } else { - this.props.showProfessionalCertificationDialog(); - } - } + toUpload = () => { + const {admin, is_teacher, business} = this.props.user; + if (admin || business || (is_teacher && this.props.checkIfProfessionalCertification())) { + this.setState({ + type: "video", + upload: true, + page: 1 + }) + } else { + this.props.showProfessionalCertificationDialog(); + } + } - // 直播设置后回调的方法 - // successFunc=()=>{ - // this.setState({ - // type:"live", - // page:1 - // }) - // this.checkType("live",1); - // } - // 直播设置 - liveSetting=()=>{ - this.setState({ - liveId:undefined - }) - this.setliveVisibel(true); - } - //直播设置弹框 - setliveVisibel=(flag,changetypeFlag)=>{ - this.setState({ - liveVisible:flag - }) - if(flag === false){ - this.setState({ - liveId:undefined - }) - } - if(changetypeFlag){ - this.checkType("live",1); - } - } - // 列表-编辑(修改传到编辑的id) - setLiveId=(id)=>{ - this.setState({ - liveId:id - }) - this.setliveVisibel(true); - } + // 直播设置后回调的方法 + // successFunc=()=>{ + // this.setState({ + // type:"live", + // page:1 + // }) + // this.checkType("live",1); + // } + // 直播设置 + liveSetting = () => { + this.setState({ + liveId: undefined + }) + this.setliveVisibel(true); + } + //直播设置弹框 + setliveVisibel = (flag, changetypeFlag) => { + this.setState({ + liveVisible: flag + }) + if (flag === false) { + this.setState({ + liveId: undefined + }) + } + if (changetypeFlag) { + this.checkType("live", 1); + } + } + // 列表-编辑(修改传到编辑的id) + setLiveId = (id) => { + this.setState({ + liveId: id + }) + this.setliveVisibel(true); + } - // 新增目录 - addDir=()=>{ - let {videoData}=this.state; - trigger('videoAdd', parseInt(videoData.course_module_id)); - } - // 目录重命名 - editDir=(name,id)=>{ - let data={id,name,update:this.getList} - trigger('editVideo',data); - } - // 增加外链 - setLinkeVisible=(flag,refresh)=>{ - this.setState({ - otherLinkVisible:flag - }) - if(refresh){ - const { page } = this.state; - this.getList(page); - } - } - //统计 - statisticsy=(bool)=>{ - this.setState({ - statistics:bool + // 新增目录 + addDir = () => { + let {videoData} = this.state; + trigger('videoAdd', parseInt(videoData.course_module_id)); + } + // 目录重命名 + editDir = (name, id) => { + let data = {id, name, update: this.getList} + trigger('editVideo', data); + } + // 增加外链 + setLinkeVisible = (flag, refresh) => { + this.setState({ + otherLinkVisible: flag + }) + if (refresh) { + const {page} = this.state; + this.getList(page); + } + } + //统计 + statisticsy = (bool) => { + this.setState({ + statistics: bool }) } - render(){ - const { videos , upload , videoData , type , liveData , lives , page , liveVisible , isSpining , liveId , otherLinkVisible,statistics } = this.state; - const { coursesId , videoId }=this.props.match.params; - let course_identity = this.props&&this.props.coursedata; - let is_teacher=this.props&&this.props.user&&this.props.user.is_teacher; - const flag = parseInt(course_identity) < 5; - const newOperation = flag; - const new_upload = flag && (is_teacher && this.props.checkIfProfessionalCertification()); - return( - - - - { - liveVisible ? - : - : + - } + } { - statistics===false? -
+ statistics === false ? +
{ videoData && videoData.category_name && type === "video" ? {videoData.category_name} : -
+
视频 直播 @@ -308,27 +312,32 @@ class VideoIndex extends Component{ newOperation ? this.statisticsy(true)} + onClick={() => this.statisticsy(true)} >统计 { videoId ? - this.editDir(videoData && videoData.category_name,videoId)} className={"ml30 font-16"}>目录重命名 + this.editDir(videoData && videoData.category_name, videoId)} + className={"ml30 font-16"}>目录重命名 : 新建目录 } - this.setLinkeVisible(true)}>增加外链 - :"" + this.setLinkeVisible(true)}>增加外链 + : "" } { new_upload ? { upload ? - this.uploadVideo(false)}>取消 + this.uploadVideo(false)}>取消 : 上传视频 } - :"" + + : "" } : @@ -338,44 +347,45 @@ class VideoIndex extends Component{
: - this.statisticsy(b)}> + this.statisticsy(b)}> } { - statistics===false? - - { - type === "video" ? - - : - - } - + statistics === false ? + + { + type === "video" ? + + : + + } + : "" } - - ) - } + + ) + } } + export default VideoIndex; diff --git a/public/react/src/modules/courses/videostatistics/component/Videostatisticscomtwo.js b/public/react/src/modules/courses/videostatistics/component/Videostatisticscomtwo.js index 764ddcb1f..ff6af4d38 100644 --- a/public/react/src/modules/courses/videostatistics/component/Videostatisticscomtwo.js +++ b/public/react/src/modules/courses/videostatistics/component/Videostatisticscomtwo.js @@ -16,7 +16,7 @@ class Videostatisticscomtwo extends Component { this.state = { data: [], page: 1, - limit: 10, + limit: 20, members_count: 0, columnsstu: [ { diff --git a/public/react/src/modules/courses/videostatistics/component/Videostatisticslist.js b/public/react/src/modules/courses/videostatistics/component/Videostatisticslist.js index 637ec306c..e3f671f36 100644 --- a/public/react/src/modules/courses/videostatistics/component/Videostatisticslist.js +++ b/public/react/src/modules/courses/videostatistics/component/Videostatisticslist.js @@ -89,7 +89,7 @@ class Videostatisticslist extends Component { loading:false, data:[], page:1, - limit:10, + limit:20, members_count:0, order:undefined, } @@ -134,7 +134,7 @@ class Videostatisticslist extends Component { let datalists = []; for (var i = 0; i < response.data.videos.length; i++) { datalists.push({ - number: (parseInt(this.state.spage) - 1) * parseInt(this.state.limit) + (i + 1), + number: (parseInt(this.state.page) - 1) * parseInt(this.state.limit) + (i + 1), title: response.data.videos[i].title, people_num: response.data.videos[i].people_num, total_time: response.data.videos[i].total_time, From ecdb91920fe791cd394d1c1d7f381999719347ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E6=A0=91=E6=9E=97?= <904079904@qq.com> Date: Mon, 16 Mar 2020 22:40:41 +0800 Subject: [PATCH 5/8] =?UTF-8?q?=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../component/Videostatisticscomtwo.js | 29 +++++++++++++++---- .../component/Videostatisticslist.js | 21 ++++++++++++-- 2 files changed, 42 insertions(+), 8 deletions(-) diff --git a/public/react/src/modules/courses/videostatistics/component/Videostatisticscomtwo.js b/public/react/src/modules/courses/videostatistics/component/Videostatisticscomtwo.js index ff6af4d38..f6a9b51de 100644 --- a/public/react/src/modules/courses/videostatistics/component/Videostatisticscomtwo.js +++ b/public/react/src/modules/courses/videostatistics/component/Videostatisticscomtwo.js @@ -38,7 +38,12 @@ class Videostatisticscomtwo extends Component { className: 'font-14 maxnamewidth100s', width: '100px', render: (text, record) => ( - {record.user_name} + + {record.user_name} + + ), }, { @@ -63,7 +68,9 @@ class Videostatisticscomtwo extends Component { sorter: true, sortDirections: sortDirections, render: (text, record) => ( - {record.total_duration} + {record.total_duration} ), }, { @@ -76,7 +83,11 @@ class Videostatisticscomtwo extends Component { sorter: true, sortDirections: sortDirections, render: (text, record) => ( - {record.feq} + + {record.feq} + ), }, { @@ -87,7 +98,11 @@ class Videostatisticscomtwo extends Component { className: 'font-14 maxnamewidth100s', width: '100px', render: (text, record) => ( - {record.start_at} + + {record.start_at} + ), }, { @@ -98,7 +113,11 @@ class Videostatisticscomtwo extends Component { className: 'font-14 maxnamewidth100s', width: '100px', render: (text, record) => ( - {record.end_at} + + {record.end_at} + ), } ], diff --git a/public/react/src/modules/courses/videostatistics/component/Videostatisticslist.js b/public/react/src/modules/courses/videostatistics/component/Videostatisticslist.js index e3f671f36..c44102e45 100644 --- a/public/react/src/modules/courses/videostatistics/component/Videostatisticslist.js +++ b/public/react/src/modules/courses/videostatistics/component/Videostatisticslist.js @@ -34,7 +34,12 @@ class Videostatisticslist extends Component { className: 'font-14 maxnamewidth150s', width: '150px', render: (text, record) => ( - {record.title} + + {record.title} + + ), }, { @@ -60,7 +65,12 @@ class Videostatisticslist extends Component { sorter: true, sortDirections: sortDirections, render: (text, record) => ( - {record.total_time} + + {record.total_time} + + ), }, { @@ -71,7 +81,12 @@ class Videostatisticslist extends Component { className: 'font-14 maxnamewidth100s', width: '100px', render: (text, record) => ( - {record.user_name} + + {record.user_name} + + ), }, { From b4584ab3e88d283c0d68c1686ce6de4d1b401492 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E6=A0=91=E6=9E=97?= <904079904@qq.com> Date: Mon, 16 Mar 2020 22:57:10 +0800 Subject: [PATCH 6/8] =?UTF-8?q?=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/courses/signin/css/signincdi.css | 6 ++++ .../component/Videostatisticscom.js | 2 +- .../component/Videostatisticscomtwo.js | 22 ++++++--------- .../component/Videostatisticslist.js | 28 ++++++++----------- 4 files changed, 26 insertions(+), 32 deletions(-) diff --git a/public/react/src/modules/courses/signin/css/signincdi.css b/public/react/src/modules/courses/signin/css/signincdi.css index 7ad9a0d0c..bd45185b9 100644 --- a/public/react/src/modules/courses/signin/css/signincdi.css +++ b/public/react/src/modules/courses/signin/css/signincdi.css @@ -188,6 +188,12 @@ padding-top: 20px; padding-bottom: 20px; } +.teacherentrydivss{ + padding-left: 20px; + padding-right: 20px; + padding-top: 20px; + padding-bottom: 20px; +} .teachedivp{ font-size:16px; font-family:Microsoft YaHei; diff --git a/public/react/src/modules/courses/videostatistics/component/Videostatisticscom.js b/public/react/src/modules/courses/videostatistics/component/Videostatisticscom.js index 457c6d1f3..1111b6509 100644 --- a/public/react/src/modules/courses/videostatistics/component/Videostatisticscom.js +++ b/public/react/src/modules/courses/videostatistics/component/Videostatisticscom.js @@ -33,7 +33,7 @@ class Videostatisticscom extends Component {
-
+
视频统计总览
播放数据从{this.props.watch_staticsdata&&this.props.watch_staticsdata.begin_at?this.props.watch_staticsdata.begin_at:0}开始统计
diff --git a/public/react/src/modules/courses/videostatistics/component/Videostatisticscomtwo.js b/public/react/src/modules/courses/videostatistics/component/Videostatisticscomtwo.js index f6a9b51de..ed72d6bb2 100644 --- a/public/react/src/modules/courses/videostatistics/component/Videostatisticscomtwo.js +++ b/public/react/src/modules/courses/videostatistics/component/Videostatisticscomtwo.js @@ -1,6 +1,6 @@ import React, {Component} from "react"; import '../../signin/css/signincdi.css'; -import {Pagination, Table, Menu, Dropdown} from 'antd'; +import {Pagination, Table, Menu, Dropdown,Spin} from 'antd'; import {getImageUrl, sortDirections} from 'educoder'; import axios from 'axios'; import LoadingSpin from "../../../../common/LoadingSpin"; @@ -98,7 +98,7 @@ class Videostatisticscomtwo extends Component { className: 'font-14 maxnamewidth100s', width: '100px', render: (text, record) => ( - + {record.start_at} @@ -113,7 +113,7 @@ class Videostatisticscomtwo extends Component { className: 'font-14 maxnamewidth100s', width: '100px', render: (text, record) => ( - + {record.end_at} @@ -428,7 +428,7 @@ class Videostatisticscomtwo extends Component { return (
-
+
视频名称视频名称…
- { - loading === true ? -
- -
- : -
+ +
{ data.length === 0 ?
: + + } - } diff --git a/public/react/src/modules/courses/videostatistics/component/Videostatisticslist.js b/public/react/src/modules/courses/videostatistics/component/Videostatisticslist.js index c44102e45..e26e1d48b 100644 --- a/public/react/src/modules/courses/videostatistics/component/Videostatisticslist.js +++ b/public/react/src/modules/courses/videostatistics/component/Videostatisticslist.js @@ -1,6 +1,6 @@ import React, {Component} from "react"; import '../../signin/css/signincdi.css'; -import {Pagination,Table} from 'antd'; +import {Pagination,Table,Spin} from 'antd'; import {getImageUrl,sortDirections} from 'educoder'; import axios from 'axios'; import LoadingSpin from "../../../../common/LoadingSpin"; @@ -60,13 +60,13 @@ class Videostatisticslist extends Component { dataIndex: 'total_time', key: 'total_time', align: "center", - className: 'font-14 maxnamewidth150s', - width: '150px', + className: 'font-14 maxnamewidth100s', + width: '100px', sorter: true, sortDirections: sortDirections, render: (text, record) => ( - - + {record.total_time} @@ -95,9 +95,9 @@ class Videostatisticslist extends Component { key: 'id', align: "center", className: 'font-14', - width: '90px', + width: '50px', render: (text, record) => ( - this.props.tisticsbools(true,record.id)}>详情 + this.props.tisticsbools(true,record.id)}>详情 ), } ], @@ -250,7 +250,7 @@ class Videostatisticslist extends Component {
-
+
统计详情
@@ -265,14 +265,7 @@ class Videostatisticslist extends Component { ` } - { - loading===true? -
- -
- : +
{ data.length===0? @@ -282,6 +275,7 @@ class Videostatisticslist extends Component {
: +
+ } - } From 173a7932cdbf326f384810365c655ef0d0a5e5f0 Mon Sep 17 00:00:00 2001 From: dinglink <837816638@qq.com> Date: Mon, 16 Mar 2020 23:00:07 +0800 Subject: [PATCH 7/8] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=B8=BB=E9=A1=B5?= =?UTF-8?q?=E8=A7=86=E9=A2=91=E4=B8=8D=E6=98=BE=E7=A4=BA=E6=97=B6=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/modules/user/usersInfo/video/VideoInReviewItem.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/public/react/src/modules/user/usersInfo/video/VideoInReviewItem.js b/public/react/src/modules/user/usersInfo/video/VideoInReviewItem.js index 299af0d08..71b16fab2 100644 --- a/public/react/src/modules/user/usersInfo/video/VideoInReviewItem.js +++ b/public/react/src/modules/user/usersInfo/video/VideoInReviewItem.js @@ -74,7 +74,8 @@ function VideoInReviewItem (props) {
{/*
累计学习时长:{play_duration} h
*/} {/* {moment(published_at || created_at).format('YYYY-MM-DD HH:mm:ss')}{people_num} */} - {link ? :累计学习时长:{ + + {link||total_time===undefined? :累计学习时长:{ formatSeconds(total_time)} {/* total_time<60?total_time+' s':total_time/60<60?(total_time/60).toFixed(0)+' min':(total_time/3600).toFixed(1)+ ' h' */} } @@ -82,7 +83,7 @@ function VideoInReviewItem (props) {
{/* 2019-09-01 10:00:22 */} - {!people_num || (people_num && people_num)===0 ? "" : + {total_time===undefined?'':!people_num || (people_num && people_num)===0 ? "" : {!people_num || (people_num && people_num)===0?"":people_num} } From ef115d75bb1548bf224b3730dfbb4b57598eeff1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E6=A0=91=E6=9E=97?= <904079904@qq.com> Date: Mon, 16 Mar 2020 23:03:09 +0800 Subject: [PATCH 8/8] =?UTF-8?q?=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../courses/videostatistics/component/Videostatisticslist.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/public/react/src/modules/courses/videostatistics/component/Videostatisticslist.js b/public/react/src/modules/courses/videostatistics/component/Videostatisticslist.js index e26e1d48b..21f3ed9a0 100644 --- a/public/react/src/modules/courses/videostatistics/component/Videostatisticslist.js +++ b/public/react/src/modules/courses/videostatistics/component/Videostatisticslist.js @@ -1,7 +1,7 @@ import React, {Component} from "react"; import '../../signin/css/signincdi.css'; import {Pagination,Table,Spin} from 'antd'; -import {getImageUrl,sortDirections} from 'educoder'; +import {getImageUrl,sortDirections,formatSeconds} from 'educoder'; import axios from 'axios'; import LoadingSpin from "../../../../common/LoadingSpin"; import NoneDatas from "../../signin/component/NoneDatas"; @@ -152,7 +152,7 @@ class Videostatisticslist extends Component { number: (parseInt(this.state.page) - 1) * parseInt(this.state.limit) + (i + 1), title: response.data.videos[i].title, people_num: response.data.videos[i].people_num, - total_time: response.data.videos[i].total_time, + total_time: response.data.videos[i].total_time?formatSeconds(response.data.videos[i].total_time):0, user_name: response.data.videos[i].user_name, id: response.data.videos[i].id, })