Merge branch 'dev_aliyun' of http://bdgit.educoder.net/Hjqreturn/educoder into dev_aliyun

dev_aliyun2
anke1460 5 years ago
commit 29a40d55ac

@ -14,6 +14,7 @@ import './video.css';
import '../../user/usersInfo/video/InfosVideo.css' import '../../user/usersInfo/video/InfosVideo.css'
import axios from 'axios'; import axios from 'axios';
import { logWatchHistory } from "../../../services/video-service"; import { logWatchHistory } from "../../../services/video-service";
import { Base64 } from 'js-base64';
const DEFAULT_VIDEO_WIDTH_IN_MD = "90%" // 400 const DEFAULT_VIDEO_WIDTH_IN_MD = "90%" // 400
const DEFAULT_VIDEO_HEIGHT_IN_MD = "55%" // 400 const DEFAULT_VIDEO_HEIGHT_IN_MD = "55%" // 400
@ -33,7 +34,8 @@ class Video extends Component {
visible: false, visible: false,
moveVisible: false, moveVisible: false,
moveVideoId: undefined moveVideoId: undefined,
videourl:null
} }
} }
@ -64,6 +66,7 @@ class Video extends Component {
if (!_clipboard) { if (!_clipboard) {
_clipboard = new ClipboardJS('.copybtn'); _clipboard = new ClipboardJS('.copybtn');
_clipboard.on('success', (e) => { _clipboard.on('success', (e) => {
this.props.showNotification('复制成功'); this.props.showNotification('复制成功');
}); });
} }
@ -110,6 +113,7 @@ class Video extends Component {
videoVisible: flag videoVisible: flag
}) })
if (flag === false) { if (flag === false) {
if (_clipboard) { if (_clipboard) {
this.setState({ this.setState({
videoId: undefined videoId: undefined
@ -119,8 +123,12 @@ class Video extends Component {
} }
} else { } else {
setTimeout(() => { setTimeout(() => {
this.setState({
videourl:'12321'
})
if (!_clipboard) { if (!_clipboard) {
_clipboard = new ClipboardJS('.copybtn'); _clipboard = new ClipboardJS('.copybtn');
_clipboard.on('success', (e) => { _clipboard.on('success', (e) => {
this.props.showNotification('复制成功'); this.props.showNotification('复制成功');
}); });
@ -131,7 +139,7 @@ class Video extends Component {
} }
getCopyText = (file_url, cover_url) => { getCopyText = (file_url, cover_url) => {
return `<video src="${file_url}" controls="true" controlslist="nodownload" width="${DEFAULT_VIDEO_WIDTH_IN_MD}" height="${DEFAULT_VIDEO_HEIGHT_IN_MD}" poster="${cover_url}">您的浏览器不支持 video 标签。</video>` return `<video src="${Base64.decode(file_url)}" controls="true" controlslist="nodownload" width="${DEFAULT_VIDEO_WIDTH_IN_MD}" height="${DEFAULT_VIDEO_HEIGHT_IN_MD}" poster="${cover_url}">您的浏览器不支持 video 标签。</video>`
} }
// 删除事件 // 删除事件
@ -228,9 +236,9 @@ class Video extends Component {
className="showVideoModal" className="showVideoModal"
width={800 - 1} width={800 - 1}
> >
{videoId && <VideoPanel src={videoId.file_url} videoId={videoId.videoId} courseId={CourseId} logWatchHistory={logWatchHistory} />} {videoId && <VideoPanel src={this.state.videourl===null?videoId.file_url:Base64.decode(videoId.file_url)} videoId={videoId.videoId} courseId={CourseId} logWatchHistory={logWatchHistory} />}
<div className="df copyLine"> <div className="df copyLine" style={{}}>
<Input value={_inputValue} <Input value={_inputValue}
className="dark" className="dark"
></Input> ></Input>

@ -190,12 +190,13 @@ class PublishRightnow extends Component{
this.setState({ visible : false }) this.setState({ visible : false })
return; return;
} }
this.showDialog(response.data.course_groups)
this.setState({ this.setState({
course_groups: response.data.course_groups, course_groups: response.data.course_groups,
starttimesend:response.data.end_time===undefined||response.data.end_time===null||response.data.end_time===""?undefined:response.data.end_time, starttimesend:response.data.end_time===undefined||response.data.end_time===null||response.data.end_time===""?undefined:response.data.end_time,
starttimeslate_time:response.data.late_time===undefined||response.data.late_time===null||response.data.late_time===""?undefined:response.data.late_time, starttimeslate_time:response.data.late_time===undefined||response.data.late_time===null||response.data.late_time===""?undefined:response.data.late_time,
}) })
this.showDialog(response.data.course_groups)
}) })
.catch(function (error) { .catch(function (error) {
console.log(error); console.log(error);

@ -404,7 +404,7 @@ class CoursesBanner extends Component {
exitclass=()=>{ exitclass=()=>{
this.setState({ this.setState({
modalsType: true, modalsType: true,
modalsTopval: "退出后您将不再是本课堂的成员,作品将全部被删除,", modalsTopval: "退出后您将不再是本课题的成员,作品将全部被删除,",
modalsBottomval:"确定要退出该课堂吗?", modalsBottomval:"确定要退出该课堂吗?",
metype:6 metype:6
}) })
@ -606,28 +606,28 @@ class CoursesBanner extends Component {
<div className="clearfix "> <div className="clearfix ">
<div className="fl fl mr40 mb20" > <div className="fl fl mr40 mb20" >
<div> <div>
<a href={"/users/" + coursedata.teacher_login} className="fl"> <a href={"/users/" + coursedata.teacher_login} className="fl">
<img alt="头像" className="radius fl mt3 bannerimgname" <img alt="头像" className="radius fl mt3 bannerimgname"
src={getImageUrl(`images/` + coursedata.teacher_img)}/> src={getImageUrl(`images/` + coursedata.teacher_img)}/>
</a> </a>
<div className="fl mt13"> <div className="fl mt13">
<p className="color-white"> <p className="color-white">
<a href={"/users/" + coursedata.teacher_login} <a href={"/users/" + coursedata.teacher_login}
className="color-white bannnerusername">{coursedata.teacher_name}</a> className="color-white bannnerusername">{coursedata.teacher_name}</a>
</p> </p>
</div> </div>
<div className="fl mt13"> <div className="fl mt13">
<p className="color-white bannnerusernames">{coursedata.teacher_school}</p> <p className="color-white bannnerusernames">{coursedata.teacher_school}</p>
</div> </div>
</div> </div>
{/* <div className="task-hide" style={{height:25,marginBottom:10,marginLeft:60}}> {/* <div className="task-hide" style={{height:25,marginBottom:10,marginLeft:60}}>
{coursedata.teacher_users.length===0?'': {coursedata.teacher_users.length===0?'':
<span className="color-white" >协作老师 <span className="color-white" >协作老师
{coursedata.teacher_users.map((iem,idx)=>{ {coursedata.teacher_users.map((iem,idx)=>{
return( return(
<span className="task-hide" style={{width:50,marginLeft:5}}>{idx<3?iem:''} {coursedata.teacher_users.length>3&&idx===2?'...':''} </span> <span className="task-hide" style={{width:50,marginLeft:5}}>{idx<3?iem:''} {coursedata.teacher_users.length>3&&idx===2?'...':''} </span>
) )
}) })
} }
@ -636,7 +636,7 @@ class CoursesBanner extends Component {
</div> */} </div> */}
</div> </div>
{/*{excellent===false?*/} {/*{excellent===false?*/}
{/* :*/} {/* :*/}
@ -768,12 +768,12 @@ background:rgba(204,204,204,0.2) !important;
placement="topLeft" placement="topLeft"
title={<pre className="antsoancss"> title={<pre className="antsoancss">
{coursedata.teacher_applies_count===undefined?"":coursedata.teacher_applies_count>0? {coursedata.teacher_applies_count===undefined?"":coursedata.teacher_applies_count>0?
<span>新收到{coursedata.teacher_applies_count}加入课堂的申请 <span >您有{coursedata.teacher_applies_count}新的加入申请
<a className={"daishenp ml5"} onClick={excellent === true && this.props.isAdminOrStudent() === false ?"":()=>this.setHistoryFun("/classrooms/"+this.props.match.params.coursesId+"/teachers?tab=2")}> <a className={"daishenp"} onClick={excellent === true && this.props.isAdminOrStudent() === false ?"":()=>this.setHistoryFun("/classrooms/"+this.props.match.params.coursesId+"/teachers?tab=2")}>
<span style={{ <span style={{
color:"#FFA804" color:"#FFA804"
}}> }}>
审批 审批
</span></a></span>:""}</pre>}> </span></a></span>:""}</pre>}>
<span className="color-grey-c font-16" onClick={excellent === true && this.props.isAdminOrStudent() === false ?"":()=>this.setHistoryFun("/classrooms/"+this.props.match.params.coursesId+"/teachers")}> <span className="color-grey-c font-16" onClick={excellent === true && this.props.isAdminOrStudent() === false ?"":()=>this.setHistoryFun("/classrooms/"+this.props.match.params.coursesId+"/teachers")}>
<span className={"mr10"}>教师</span> <span className={"mr10"}>教师</span>

@ -58,11 +58,7 @@ class OneSelfOrderModal extends Component{
// }else{ // }else{
// item.end_time = moment(handleDateString(this.props.starttimesend)).format("YYYY-MM-DD HH:mm"); // item.end_time = moment(handleDateString(this.props.starttimesend)).format("YYYY-MM-DD HH:mm");
// } // }
if(this.props.starttimesend){ item.end_time = moment(moment(handleDateString(this.props.staytime)).add(1, 'week')).format("YYYY-MM-DD HH:mm");
item.end_time = moment(moment(handleDateString(this.props.starttimesend))).format("YYYY-MM-DD HH:mm");
}else{
item.end_time = moment(moment(handleDateString(this.props.staytime)).add(1, 'week')).format("YYYY-MM-DD HH:mm");
}
newarr.push(item) newarr.push(item)
} else { } else {
newarr.push(item) newarr.push(item)
@ -78,7 +74,7 @@ class OneSelfOrderModal extends Component{
if(this.props.starttimes===undefined||this.props.starttimes===""||this.props.starttimes===null){ if(this.props.starttimes===undefined||this.props.starttimes===""||this.props.starttimes===null){
if(this.props.starttimesend===undefined){ if(this.props.starttimesend===undefined){
this.setState({ this.setState({
endtime:moment(moment(handleDateString(this.props.staytime)).add(1, 'week')).format("YYYY-MM-DD HH:mm") endtime:moment(moment(handleDateString(this.props.starttimes)).add(1, 'week')).format("YYYY-MM-DD HH:mm")
}) })
}else{ }else{
this.setState({ this.setState({
@ -89,7 +85,7 @@ class OneSelfOrderModal extends Component{
}else{ }else{
if(this.props.starttimesend===undefined){ if(this.props.starttimesend===undefined){
this.setState({ this.setState({
endtime:moment(moment(handleDateString(this.props.staytime)).add(1, 'week')).format("YYYY-MM-DD HH:mm") endtime:moment(moment(handleDateString(this.props.starttimes)).add(1, 'week')).format("YYYY-MM-DD HH:mm")
}) })
}else{ }else{
this.setState({ this.setState({
@ -108,11 +104,7 @@ class OneSelfOrderModal extends Component{
course_groups.map((item,key)=>{ course_groups.map((item,key)=>{
if(item.end_time===null){ if(item.end_time===null){
// item.end_time = moment(moment(handleDateString(this.props.staytime)).add(1, 'week')).format("YYYY-MM-DD HH:mm"); // item.end_time = moment(moment(handleDateString(this.props.staytime)).add(1, 'week')).format("YYYY-MM-DD HH:mm");
if(this.props.starttimesend){ item.end_time = moment(moment(handleDateString(this.props.staytime)).add(1, 'week')).format("YYYY-MM-DD HH:mm");
item.end_time = moment(moment(handleDateString(this.props.starttimesend))).format("YYYY-MM-DD HH:mm");
}else{
item.end_time = moment(moment(handleDateString(this.props.staytime)).add(1, 'week')).format("YYYY-MM-DD HH:mm");
}
newarr.push(item) newarr.push(item)
}else{ }else{
newarr.push(item) newarr.push(item)
@ -131,7 +123,7 @@ class OneSelfOrderModal extends Component{
if(this.props.starttimes===undefined||this.props.starttimes===""||this.props.starttimes===null){ if(this.props.starttimes===undefined||this.props.starttimes===""||this.props.starttimes===null){
if(this.props.starttimesend===undefined){ if(this.props.starttimesend===undefined){
this.setState({ this.setState({
endtime:moment(moment(handleDateString(this.props.staytime)).add(1, 'week')).format("YYYY-MM-DD HH:mm") endtime:moment(moment(handleDateString(this.props.starttimes)).add(1, 'week')).format("YYYY-MM-DD HH:mm")
}) })
}else{ }else{
this.setState({ this.setState({
@ -142,7 +134,7 @@ class OneSelfOrderModal extends Component{
}else{ }else{
if(this.props.starttimesend===undefined){ if(this.props.starttimesend===undefined){
this.setState({ this.setState({
endtime:moment(moment(handleDateString(this.props.staytime)).add(1, 'week')).format("YYYY-MM-DD HH:mm") endtime:moment(moment(handleDateString(this.props.starttimes)).add(1, 'week')).format("YYYY-MM-DD HH:mm")
}) })
}else{ }else{
this.setState({ this.setState({

@ -57,11 +57,12 @@ class Immediatelypublish extends Component{
if(this.props.Exercisetype==="exercise"){ if(this.props.Exercisetype==="exercise"){
let url=`/exercises/${this.props.match.params.Id}/publish_groups.json`; let url=`/exercises/${this.props.match.params.Id}/publish_groups.json`;
axios.get(url).then((response) => { axios.get(url).then((response) => {
if(response.status===200){ if (response.data) {
let starttimesend=response.data.end_time === undefined || response.data.end_time === null || response.data.end_time === "" ? undefined : response.data.end_time;
this.setState({ this.setState({
modalname:"立即发布", modalname:"立即发布",
modaltype:response.data.course_groups===null||response.data.course_groups.length===0?2:1, modaltype:response.data.course_groups===null||response.data.course_groups.length===0?2:1,
OneSelftype:true,
Topval:this.props.Exercisetype==="exercise"?"学生将立即收到试卷":"学生将立即收到问卷", Topval:this.props.Exercisetype==="exercise"?"学生将立即收到试卷":"学生将立即收到问卷",
// Botvalleft:"暂不发布", // Botvalleft:"暂不发布",
Botval:this.props.single ? "":this.props.Exercisetype==="exercise"?`本操作只对"未发布"的试卷有效`:`本操作只对"未发布"的问卷有效`, Botval:this.props.single ? "":this.props.Exercisetype==="exercise"?`本操作只对"未发布"的试卷有效`:`本操作只对"未发布"的问卷有效`,
@ -73,8 +74,9 @@ class Immediatelypublish extends Component{
Cancel:this.homeworkhide, Cancel:this.homeworkhide,
Saves:this.homeworkstartend, Saves:this.homeworkstartend,
course_groups:response.data.course_groups, course_groups:response.data.course_groups,
starttimesend:response.data.end_time===undefined||response.data.end_time===null||response.data.end_time===""?undefined:response.data.end_time, starttimesend:starttimesend,
immediatelyopen:response.data.course_groups===null||response.data.course_groups.length===0?false:true, immediatelyopen:response.data.course_groups===null||response.data.course_groups.length===0?false:true,
OneSelftype:true,
}) })
} }
@ -84,12 +86,12 @@ class Immediatelypublish extends Component{
}else{ }else{
let url=`/polls/${this.props.match.params.pollId}/publish_groups.json`; let url=`/polls/${this.props.match.params.pollId}/publish_groups.json`;
axios.get(url).then((response) => { axios.get(url).then((response) => {
if(response){ if (response.data) {
let starttimesend=response.data.end_time === undefined || response.data.end_time === null || response.data.end_time === "" ? undefined : response.data.end_time;
this.setState({ this.setState({
modalname:"立即发布", modalname:"立即发布",
modaltype:response.data.course_groups===null||response.data.course_groups.length===0?2:1, modaltype:response.data.course_groups===null||response.data.course_groups.length===0?2:1,
OneSelftype:true,
Topval:this.props.Exercisetype==="exercise"?"学生将立即收到试卷":"学生将立即收到问卷", Topval:this.props.Exercisetype==="exercise"?"学生将立即收到试卷":"学生将立即收到问卷",
// Botvalleft:"暂不发布", // Botvalleft:"暂不发布",
Botval:this.props.single ? "":this.props.Exercisetype==="exercise"?`本操作只对"未发布"的试卷有效`:`本操作只对"未发布"的问卷有效`, Botval:this.props.single ? "":this.props.Exercisetype==="exercise"?`本操作只对"未发布"的试卷有效`:`本操作只对"未发布"的问卷有效`,
@ -101,8 +103,9 @@ class Immediatelypublish extends Component{
Cancel:this.homeworkhide, Cancel:this.homeworkhide,
Saves:this.homeworkstartend, Saves:this.homeworkstartend,
course_groups:response.data.course_groups, course_groups:response.data.course_groups,
starttimesend:response.data.end_time===undefined||response.data.end_time===null||response.data.end_time===""?undefined:response.data.end_time, starttimesend:starttimesend,
immediatelyopen:response.data.course_groups===null||response.data.course_groups.length===0?false:true, immediatelyopen:response.data.course_groups===null||response.data.course_groups.length===0?false:true,
OneSelftype:true,
}) })
} }
}).catch((error) => { }).catch((error) => {

@ -383,14 +383,15 @@ class ShixunStudentWork extends Component {
axios.get(url).then((response) => { axios.get(url).then((response) => {
if(response.status===200){ if (response.data) {
const dataformat = 'YYYY-MM-DD HH:mm'; const dataformat = 'YYYY-MM-DD HH:mm';
let starttime= this.props.getNowFormatDates(1); let starttime= this.props.getNowFormatDates(1);
let endtime=this.props.getNowFormatDates(2); let endtime=this.props.getNowFormatDates(2);
let starttimesend=response.data.end_time === undefined || response.data.end_time === null || response.data.end_time === "" ? undefined : response.data.end_time;
this.setState({ this.setState({
modalname:"立即发布", modalname:"立即发布",
modaltype:response.data.course_groups===null||response.data.course_groups.length===0?2:1, modaltype:response.data.course_groups===null||response.data.course_groups.length===0?2:1,
OneSelftype:true,
Topval:"学生将立即收到作业", Topval:"学生将立即收到作业",
// Botvalleft:"暂不发布", // Botvalleft:"暂不发布",
Botval:`本操作只对"未发布"的作业有效`, Botval:`本操作只对"未发布"的作业有效`,
@ -402,8 +403,9 @@ class ShixunStudentWork extends Component {
Saves:this.homeworkstartend, Saves:this.homeworkstartend,
course_groups:response.data.course_groups, course_groups:response.data.course_groups,
starttimes:starttime, starttimes:starttime,
starttimesend:response.data.end_time===undefined||response.data.end_time===null||response.data.end_time===""?undefined:response.data.end_time, starttimesend:starttimesend,
typs:"start", typs:"start",
OneSelftype:true,
}) })
} }
}).catch((error) => { }).catch((error) => {

@ -1813,20 +1813,21 @@ class Trainingjobsetting extends Component {
axios.get(url).then((response) => { axios.get(url).then((response) => {
if (response.status === 200) { if (response.data) {
const dataformat = 'YYYY-MM-DD HH:mm'; const dataformat = 'YYYY-MM-DD HH:mm';
let starttime = this.props.getNowFormatDates(1); let starttime = this.props.getNowFormatDates(1);
let endtime = this.props.getNowFormatDates(2); let endtime = this.props.getNowFormatDates(2);
let starttimesend=response.data.end_time === undefined || response.data.end_time === null || response.data.end_time === "" ? undefined : response.data.end_time;
this.setState({ this.setState({
modalname: "立即发布", modalname: "立即发布",
modaltype: response.data.course_groups === null || response.data.course_groups.length === 0 ? 2 : 1, modaltype: response.data.course_groups === null || response.data.course_groups.length === 0 ? 2 : 1,
OneSelftype: true,
Topval: "学生将立即收到作业", Topval: "学生将立即收到作业",
// Botvalleft:"暂不发布", // Botvalleft:"暂不发布",
Botval: `本操作只对"未发布"的作业有效`, Botval: `本操作只对"未发布"的作业有效`,
starttime: "发布时间:" + moment(moment(new Date())).format("YYYY-MM-DD HH:mm"), starttime: "发布时间:" + moment(moment(new Date())).format("YYYY-MM-DD HH:mm"),
starttimes: starttime, starttimes: starttime,
starttimesend: response.data.end_time === undefined || response.data.end_time === null || response.data.end_time === "" ? undefined : response.data.end_time, starttimesend:starttimesend,
typs: "start", typs: "start",
endtime: "截止时间:" + endtime, endtime: "截止时间:" + endtime,
Cancelname: "暂不发布", Cancelname: "暂不发布",
@ -1836,6 +1837,7 @@ class Trainingjobsetting extends Component {
course_groups:response.data.course_groups, course_groups:response.data.course_groups,
immediatelyopen:true, immediatelyopen:true,
modallate_time:response.data.late_time, modallate_time:response.data.late_time,
OneSelftype: true,
}) })
} }
}).catch((error) => { }).catch((error) => {

@ -159,14 +159,15 @@ class Workquestionandanswer extends Component {
axios.get(url).then((response) => { axios.get(url).then((response) => {
if (response.status === 200) { if (response.data) {
const dataformat = 'YYYY-MM-DD HH:mm'; const dataformat = 'YYYY-MM-DD HH:mm';
let starttime = this.props.getNowFormatDates(1); let starttime = this.props.getNowFormatDates(1);
let endtime = this.props.getNowFormatDates(2); let endtime = this.props.getNowFormatDates(2);
let starttimesend=response.data.end_time === undefined || response.data.end_time === null || response.data.end_time === "" ? undefined : response.data.end_time;
this.setState({ this.setState({
modalname: "立即发布", modalname: "立即发布",
modaltype: response.data.course_groups === null || response.data.course_groups.length === 0 ? 2 : 1, modaltype: response.data.course_groups === null || response.data.course_groups.length === 0 ? 2 : 1,
OneSelftype: true,
Topval: "学生将立即收到作业", Topval: "学生将立即收到作业",
// Botvalleft:"暂不发布", // Botvalleft:"暂不发布",
Botval: `本操作只对"未发布"的作业有效`, Botval: `本操作只对"未发布"的作业有效`,
@ -178,8 +179,9 @@ class Workquestionandanswer extends Component {
Saves: this.homeworkstartend, Saves: this.homeworkstartend,
course_groups: response.data.course_groups, course_groups: response.data.course_groups,
starttimes: starttime, starttimes: starttime,
starttimesend:response.data.end_time===undefined||response.data.end_time===null||response.data.end_time===""?undefined:response.data.end_time, starttimesend:starttimesend,
typs: "start", typs: "start",
OneSelftype: true,
}) })
} }
}).catch((error) => { }).catch((error) => {

Loading…
Cancel
Save