Merge branches 'dev_aliyun' and 'ysm1' of https://bdgit.educoder.net/Hjqreturn/educoder into ysm1

competitions
杨树明 5 years ago
commit f6ae1a2146

@ -20,9 +20,8 @@ class BoardsController < ApplicationController
new_board.parent_id = board.try(:id)
new_board.position = board.children.count + 1
new_board.save!
render :json => {category_id: new_board.id, status: 0, message: "添加成功"}
end
normal_status(0, "添加成功")
end
# 子目录的拖动

@ -9,8 +9,8 @@ class CourseGroupsController < ApplicationController
if @course.course_groups.where(name: params[:name]).count > 0
normal_status(-1, "已存在同名分班")
else
@course.course_groups.create!(name: params[:name], position: @course.course_groups.count + 1)
normal_status(0, "创建成功")
course_group = @course.course_groups.create!(name: params[:name], position: @course.course_groups.count + 1)
render :json => {group_id: course_group.id, status: 0, message: "创建成功"}
end
end

@ -722,7 +722,7 @@ class ExercisesController < ApplicationController
ex_status = exercise.exercise_status #则为试卷的状态
else
ex_status = @course.course_groups.where(id: params[:group_ids]).size !=
exercise.exercise_group_settings.where("course_group_id", params[:group_ids]).exercise_group_published.size ? 1 : 0
exercise.exercise_group_settings.where(course_group_id: params[:group_ids]).exercise_group_published.size ? 1 : 0
end
if ex_status == 1 #如果试卷存在已发布的,或者是已截止的,那么则直接跳过
g_course = group_ids #表示是否传入分班参数,如果传入分班的参数,那么试卷的统一设置需修改

@ -280,7 +280,7 @@ class PollsController < ApplicationController
pl_status = poll.polls_status #则为试卷的状态
else
pl_status = @course.course_groups.where(id: group_ids).size !=
poll.poll_group_settings.where("course_group_id", group_ids).poll_group_published.size ? 1 : 0 #立即发布针对分组设置的全部未发布的班级才生效
poll.poll_group_settings.where(course_group_id: group_ids).poll_group_published.size ? 1 : 0 #立即发布针对分组设置的全部未发布的班级才生效
end
if pl_status == 1 #如果问卷存在已发布的,或者是已截止的,那么则直接跳过
g_course = group_ids #表示是否传入分班参数,如果传入分班的参数那么poll的统一设置需修改

@ -35,6 +35,8 @@ class UseBank extends Component{
}
}
componentDidMount() {
console.log("UseBank");
console.log(this.props);
}
onCheckBoxChange = (checkBoxValues) => {
@ -182,6 +184,9 @@ class UseBank extends Component{
let { flag, nav_my, loading, hasMore, object_list, search, checkBoxValues,isChecked,page,is_teacher }=this.state
let { object_type }=this.props;
const antIcon = <Icon type="loading" style={{ fontSize: 24 }} spin />;
console.log("题库选用2222");
console.log("UseBank");
console.log(this.props);
return(
<a>
<style>{`
@ -197,6 +202,12 @@ class UseBank extends Component{
width: 170px !important;
}
.bankwidth{
width:27% !important;
overflow:hidden;
text-overflow:ellipsis;
white-space:nowrap
}
.bankwidth2{
width:24% !important;
overflow:hidden;
text-overflow:ellipsis;
@ -283,13 +294,35 @@ class UseBank extends Component{
<label className="task-hide fl" title={item.name && item.name.length > 30 ? item.name:""} style={{"maxWidth":"100%"}}>{item.name}</label>
</span>
<span title={item.course_list_name && item.course_list_name.length > 10 && item.course_list_name}
className={nav_my==='myself'?"fl with30 color-grey-6 task-hide pl5 bankwidth":"fl with30 color-grey-6 task-hide pl5 bankwidth"}
className={nav_my === 'myself' ? "fl with30 color-grey-6 task-hide pl5 bankwidth" : "fl with30 color-grey-6 task-hide pl5 bankwidth2"}
>{item.course_list_name}</span>
{
nav_my==='public' &&
<span className="fl with16 color-grey-6 task-hide pl10">{item.username}</span>
}
{nav_my === "myself" ?
(this.props.object_type && this.props.object_type === "normal" ?
<a style={{textAlign: "center"}} key={item.id} className="color-blue font-14 pl5"
href={`/banks/normal/${item.id}/edit/personal?tab=0`}
>编辑</a>
: this.props.object_type && this.props.object_type === "group" ?
<a style={{textAlign: "center"}} key={item.id} className="color-blue font-14 pl5"
href={`/banks/group/${item.id}/edit/publicly?tab=0`}
>编辑</a>
: this.props.object_type && this.props.object_type === "exercise" ?
<a style={{textAlign: "center"}} key={item.id} className="color-blue font-14 pl5"
href={`/banks/exercise/${item.id}/edit/personal`}
>编辑</a>
: this.props.object_type && this.props.object_type === "poll" ?
<a style={{textAlign: "center"}} key={item.id} className="color-blue font-14 pl5"
href={`/banks/poll/${item.id}/edit/personal`}
>编辑</a>
: "")
: ""
}
</p>
)
})}

@ -672,7 +672,7 @@ class GraduationTasks extends Component{
</Link>
</WordsBtn> : ""}
{this.props.isAdmin() ?<UseBank {...this.props} {...this.state} object_type={"gtask"} useBankSuccess={(checkBoxValues,object_ids)=>this.useBankSuccess(checkBoxValues,object_ids)}></UseBank>:""}
{/*题库选用 {this.props.isAdmin() ?<UseBank {...this.props} {...this.state} object_type={"gtask"} useBankSuccess={(checkBoxValues,object_ids)=>this.useBankSuccess(checkBoxValues,object_ids)}></UseBank>:""}*/}
</React.Fragment>
}

@ -414,7 +414,7 @@ onBoardsNew=()=>{
{/* 参考普通作业 - 题库选用 */}
{/* <WordsBtn style="blue" className="mr30" onClick={()=>this.useFromBank()}>题库选用</WordsBtn> 正式版没有,先隐藏*/}
< a className={"fl color-blue mr30 font-16"} onClick={(url)=>this.confirmysl(`/courses/${this.props.match.params.coursesId}/graduation_topics/export.xlsx`)}>导出</a>
<p className="fl"><UseBank {...this.props} {...this.state} object_type={"gtopic"} useBankSuccess={this.useBankSuccess}></UseBank></p>
{/*<p className="fl"><UseBank {...this.props} {...this.state} object_type={"gtopic"} useBankSuccess={this.useBankSuccess}></UseBank></p> 题库选用*/}
<WordsBtn style="blue" className="font-16" onClick={()=>this.onBoardsNew()}>新建</WordsBtn>
</React.Fragment>):""
}

@ -273,11 +273,11 @@ class Listofworksstudentone extends Component {
width:'98px',
render: (text, record) => (
<span style={{width:'98px',}}>
<span style={record.submitstate === "延时提交" ? {
<span style={record.submitstate === "延时完成" ? {
color: '#DD1717',
textAlign: "center",
width:'98px',
} : record.submitstate === "按时提交" ? {color: '#29BD8B', textAlign: "center",width:'98px',} : {
} : record.submitstate === "按时完成" ? {color: '#29BD8B', textAlign: "center",width:'98px',} : {
color: '#747A7F',
textAlign: "center",
width:'98px',
@ -414,7 +414,7 @@ class Listofworksstudentone extends Component {
)
},
{
title: '最终成绩',
title: '当前成绩',
dataIndex: 'levelscore',
key: 'levelscore',
align: "center",
@ -625,11 +625,11 @@ class Listofworksstudentone extends Component {
width:'98px',
render: (text, record) => (
<span style={{width:'98px',}}>
<span style={record.submitstate === "延时提交" ? {
<span style={record.submitstate === "延时完成" ? {
color: '#DD1717',
textAlign: "center",
width:'98px',
} : record.submitstate === "按时提交" ? {color: '#29BD8B', textAlign: "center",width:'98px',} : {
} : record.submitstate === "按时完成" ? {color: '#29BD8B', textAlign: "center",width:'98px',} : {
color: '#747A7F',
textAlign: "center",
width:'98px',
@ -762,7 +762,7 @@ class Listofworksstudentone extends Component {
)
},
{
title: '最终成绩',
title: '当前成绩',
dataIndex: 'levelscore',
key: 'levelscore',
align: "center",
@ -918,10 +918,10 @@ class Listofworksstudentone extends Component {
align: 'center',
className:'font-14',
render: (text, record) => (
<span style={record.submitstate === "延时提交" ? {
<span style={record.submitstate === "延时完成" ? {
color: '#DD1717',
textAlign: "center"
} : record.submitstate === "按时提交" ? {color: '#29BD8B', textAlign: "center"} : {
} : record.submitstate === "按时完成" ? {color: '#29BD8B', textAlign: "center"} : {
color: '#747A7F',
textAlign: "center"
}}>{record.submitstate}
@ -1064,7 +1064,7 @@ class Listofworksstudentone extends Component {
)
},
{
title: '最终成绩',
title: '当前成绩',
dataIndex: 'finalscore',
key: 'finalscore',
align: 'center',
@ -1103,7 +1103,7 @@ class Listofworksstudentone extends Component {
<div>{record.levelscore === "--"?<span>关卡得分0</span> :<span>{record.levelscore}</span>}</div>
<div>{record.efficiencyscore === "--"?<span>效率评分0</span> :<span>{record.efficiencyscore}</span>}</div>
<div>{record.late_penalty === "--"?<span>迟交扣分0</span> :<span>{record.late_penalty}</span>}</div>
<div>{record.finalscore === "--"?<span>最终成绩0</span> :<span>{record.finalscore}</span>}</div>
<div>{record.finalscore === "--"?<span>当前成绩0</span> :<span>{record.finalscore}</span>}</div>
</div>}>
{
record.finalscore&&record.finalscore==="--"?
@ -1231,10 +1231,10 @@ class Listofworksstudentone extends Component {
align: 'center',
className:'font-14',
render: (text, record) => (
<span style={record.submitstate === "延时提交" ? {
<span style={record.submitstate === "延时完成" ? {
color: '#DD1717',
textAlign: "center"
} : record.submitstate === "按时提交" ? {color: '#29BD8B', textAlign: "center"} : {
} : record.submitstate === "按时完成" ? {color: '#29BD8B', textAlign: "center"} : {
color: '#747A7F',
textAlign: "center"
}}>{record.submitstate}
@ -1370,7 +1370,7 @@ class Listofworksstudentone extends Component {
)
},
{
title: '最终成绩',
title: '当前成绩',
dataIndex: 'finalscore',
key: 'finalscore',
align: 'center',
@ -1409,7 +1409,7 @@ class Listofworksstudentone extends Component {
<div>{record.levelscore === "--"?<span>关卡得分0</span> :<span>{record.levelscore}</span>}</div>
<div>{record.efficiencyscore === "--"?<span>效率评分0</span> :<span>{record.efficiencyscore}</span>}</div>
<div>{record.late_penalty === "--"?<span>迟交扣分0</span> :<span>{record.late_penalty}</span>}</div>
<div>{record.finalscore === "--"?<span>最终成绩0</span> :<span>{record.finalscore}</span>}</div>
<div>{record.finalscore === "--"?<span>当前成绩0</span> :<span>{record.finalscore}</span>}</div>
</div>}>
{
record.finalscore&&record.finalscore==="--"?
@ -1619,9 +1619,9 @@ class Listofworksstudentone extends Component {
// console.log(homeworkid);
// search:搜索关键字
// order:排序方式更新时间update_time最终成绩work_score学号student_id
// order:排序方式更新时间update_time当前成绩work_score学号student_id
// b_order:desc倒序 asc顺序
// work_status:0:未提交, 1:按时提交, 2:延时提交,“”不限
// work_status:0:未提交, 1:按时完成, 2:延时完成,“”不限
// course_group:分班情况 [232, 231] []:不限(空数组)
var order = "asc";
if (ordervlue === "updated_at") {
@ -1696,7 +1696,7 @@ class Listofworksstudentone extends Component {
if(item.title==="效率分") {
continue
}
if(item.title==="最终成绩") {
if(item.title==="当前成绩") {
continue
}
if(item.title==="学号") {
@ -1733,7 +1733,7 @@ class Listofworksstudentone extends Component {
if(item.title==="效率分") {
continue
}
if(item.title==="最终成绩") {
if(item.title==="当前成绩") {
continue
}
if(item.title==="学号") {
@ -1789,7 +1789,7 @@ class Listofworksstudentone extends Component {
stduynumber: teacherdata.student_id,
classroom: teacherdata.group_name,
cost_time: teacherdata.cost_time,
submitstate: teacherdata.work_status === 0 ? "未提交" : teacherdata.work_status === 1 ? "按时提交" : teacherdata.work_status === 2 ? "延时提交" : "未提交",
submitstate: teacherdata.work_status === 0 ? "未提交" : teacherdata.work_status === 1 ? "按时完成" : teacherdata.work_status === 2 ? "延时完成" : "未提交",
// updatetime:this.state.teacherdata.student_works[i].update_time,
// updatetime:"",
updatetime: timedata === "Invalid date" ? "--" : timedata,
@ -1830,7 +1830,7 @@ class Listofworksstudentone extends Component {
stduynumber: student_works[i].student_id,
classroom: student_works[i].group_name,
cost_time: student_works[i].cost_time,
submitstate: student_works[i].work_status === 0 ? "未提交" : student_works[i].work_status === 1 ? "按时提交" : student_works[i].work_status === 2 ? "延时提交" : "未提交",
submitstate: student_works[i].work_status === 0 ? "未提交" : student_works[i].work_status === 1 ? "按时完成" : student_works[i].work_status === 2 ? "延时完成" : "未提交",
// updatetime:this.state.teacherdata.student_works[i].update_time,
// updatetime:"",
updatetime: timedata === "Invalid date" ? "--" : timedata,
@ -1884,7 +1884,7 @@ class Listofworksstudentone extends Component {
if(item.title==="效率分") {
continue
}
if(item.title==="最终成绩") {
if(item.title==="当前成绩") {
continue
}
if(item.title==="学号") {
@ -1919,7 +1919,7 @@ class Listofworksstudentone extends Component {
if(item.title==="效率分") {
continue
}
if(item.title==="最终成绩") {
if(item.title==="当前成绩") {
continue
}
if(item.title==="学号") {
@ -1972,7 +1972,7 @@ class Listofworksstudentone extends Component {
stduynumber: teacherdata.student_id,
classroom: teacherdata.group_name,
cost_time: teacherdata.cost_time,
submitstate: teacherdata.work_status === 0 ? "未提交" : teacherdata.work_status === 1 ? "按时提交" : teacherdata.work_status === 2 ? "延时提交" : "未提交",
submitstate: teacherdata.work_status === 0 ? "未提交" : teacherdata.work_status === 1 ? "按时完成" : teacherdata.work_status === 2 ? "延时完成" : "未提交",
// updatetime:this.state.teacherdata.student_works[i].update_time,
// updatetime:"",
updatetime: timedata === "Invalid date" ? "--" : timedata,
@ -2119,9 +2119,9 @@ class Listofworksstudentone extends Component {
// console.log(homeworkid);
// search:搜索关键字
// order:排序方式更新时间update_time最终成绩work_score学号student_id
// order:排序方式更新时间update_time当前成绩work_score学号student_id
// b_order:desc倒序 asc顺序
// work_status:0:未提交, 1:按时提交, 2:延时提交,“”不限
// work_status:0:未提交, 1:按时完成, 2:延时完成,“”不限
// course_group:分班情况 [232, 231] []:不限(空数组)
var order = "asc";
if (ordervlue === "updated_at") {
@ -2319,7 +2319,7 @@ class Listofworksstudentone extends Component {
stduynumber: student_works[i].student_id,
classroom: student_works[i].group_name,
cost_time: student_works[i].cost_time,
submitstate:student_works[i].work_status === 0 ? "未提交" : student_works[i].work_status === 1 ? "按时提交" :student_works[i].work_status === 2 ? "延时提交" : "未提交",
submitstate:student_works[i].work_status === 0 ? "未提交" : student_works[i].work_status === 1 ? "按时完成" :student_works[i].work_status === 2 ? "延时完成" : "未提交",
// updatetime:this.state.teacherdata.student_works[i].update_time,
// updatetime:"",
updatetime: timedata === "Invalid date" ? "--" : timedata,
@ -2356,7 +2356,7 @@ class Listofworksstudentone extends Component {
if(item.title==="效率分") {
continue
}
if(item.title==="最终成绩") {
if(item.title==="当前成绩") {
continue
}
if(item.title==="学号") {
@ -2394,7 +2394,7 @@ class Listofworksstudentone extends Component {
if(item.title==="效率分") {
continue
}
if(item.title==="最终成绩") {
if(item.title==="当前成绩") {
continue
}
if(item.title==="学号") {
@ -2431,7 +2431,7 @@ class Listofworksstudentone extends Component {
if(item.title==="效率分") {
continue
}
if(item.title==="最终成绩") {
if(item.title==="当前成绩") {
continue
}
if(item.title==="学号") {
@ -2468,7 +2468,7 @@ class Listofworksstudentone extends Component {
if(item.title==="效率分") {
continue
}
if(item.title==="最终成绩") {
if(item.title==="当前成绩") {
continue
}
if(item.title==="学号") {
@ -2502,7 +2502,7 @@ class Listofworksstudentone extends Component {
if(item.title==="效率分") {
continue
}
if(item.title==="最终成绩") {
if(item.title==="当前成绩") {
continue
}
if(item.title==="学号") {
@ -3366,7 +3366,7 @@ class Listofworksstudentone extends Component {
<i className="iconfont icon-xiajiantou ml5 font-12 "></i>
<ul className="edu-position-hide undis mt10">
<li> <a onClick={(e) => this.funordert("update_time")} data-remote="true" className=" font-12" style={{textAlign: "center"}}>更新时间</a></li>
<li> <a onClick={(e) => this.funordert("work_score")} data-remote="true" className=" font-12" style={{textAlign: "center"}}>最终成绩</a></li>
<li> <a onClick={(e) => this.funordert("work_score")} data-remote="true" className=" font-12" style={{textAlign: "center"}}>当前成绩</a></li>
<li> <a onClick={(e) => this.funordert("student_id")} data-remote="true" className=" font-12" style={{textAlign: "center"}}>学生学号</a></li>
</ul>
</li>

@ -40,6 +40,7 @@ class ShixunHomeworkPage extends Component {
ModalsBottomval:"是否确认重做?",
ModalsType:false,
mylistisSpin:false,
Showupdateinstructions:false,
}
}
@ -170,6 +171,18 @@ class ShixunHomeworkPage extends Component {
}
bindRef = ref => { this.child = ref }
///////////////教师截止
//编辑作业
Showupdateinstructionsboolfalse (bool) {
this.setState({
Showupdateinstructions:bool
})
}
//开始编辑作业
edenwork = ()=>{
this.setState({
Showupdateinstructions:true
})
}
gotohome=()=>{
// console.log(this.props)
let {jobsettingsdatapage}=this.state
@ -304,6 +317,15 @@ class ShixunHomeworkPage extends Component {
teacherdatapage && teacherdatapage.code_review === true ?
<a className="fr color-blue font-16" onClick={(child)=>this.workshowmodels(this.child)}>代码查重</a>
: "" : ""}
{
parseInt(tab)===1?
this.props.isAdmin() ?
<a className="fr color-blue font-16" onClick={()=>this.edenwork()}>编辑作业</a>
:""
:""
}
{this.state.view_report === true ? <Link className="fr color-blue font-16" target={"_blank"}
to={`/courses/${this.props.match.params.coursesId}/${jobsettingsdatapage === undefined ? "" : jobsettingsdatapage.data.category.main === 1 ? "shixun_homeworks" :"shixun_homework"}/${teacherdatapage&&teacherdatapage.work_id}/shixun_work_report`}>
查看实训报告
@ -335,7 +357,7 @@ class ShixunHomeworkPage extends Component {
{/*modalsType={this.state.DownloadType}*/}
{/*/>*/}
{parseInt(tab) === 0 ?<Listofworksstudentone triggerRef={this.bindRef} {...this.props} {...this.state} Getdataback={(jobsettingsdata, teacherdata) => this.Getdataback(jobsettingsdata, teacherdata)}></Listofworksstudentone>:""}
{parseInt(tab) === 1 ?<Workquestionandanswer triggerRef={this.bindRef} {...this.props} {...this.state} Getdataback={(jobsettingsdata, teacherdata) => this.Getdataback(jobsettingsdata, teacherdata)}></Workquestionandanswer>:""}
{parseInt(tab) === 1 ?<Workquestionandanswer triggerRef={this.bindRef} {...this.props} {...this.state} Getdataback={(jobsettingsdata, teacherdata) => this.Getdataback(jobsettingsdata, teacherdata)} Showupdateinstructionsboolfalse={(i)=>this.Showupdateinstructionsboolfalse(i)}></Workquestionandanswer>:""}
{parseInt(tab) === 2 ?<ShixunStudentWork triggerRef={this.bindRef} {...this.props} {...this.state} Getdataback={(jobsettingsdata, teacherdata) => this.Getdataback(jobsettingsdata, teacherdata)}></ShixunStudentWork>:""}
{parseInt(tab) === 3 ?<Trainingjobsetting triggerRef={this.bindRef} {...this.props} {...this.state} Getdataback={(jobsettingsdata, teacherdata) => this.Getdataback(jobsettingsdata, teacherdata)}></Trainingjobsetting>:""}
</Spin>

@ -67,7 +67,7 @@ class Workquestionandanswer extends Component {
ealuation: false,
latededuction: undefined,
latedeductiontwo: undefined,
Showupdateinstructions: false,
// Showupdateinstructions: false,
database: false,
datasheet: false,
databasetwo: undefined,
@ -135,11 +135,11 @@ class Workquestionandanswer extends Component {
console.log(error)
})
}
jobdescriptiondisplaybj = () => {
this.setState({
Showupdateinstructions: true,
})
}
// jobdescriptiondisplaybj = () => {
// this.setState({
// Showupdateinstructions: true,
// })
// }
//统一设置
onChange = (e) => {
@ -275,13 +275,23 @@ class Workquestionandanswer extends Component {
})
.then((result) => {
if (result) {
this.props.showNotification(`${result.data.message}`);
this.setState({
Showupdateinstructions: false
})
var homeworkid = this.props.match.params.homeworkid;
// console.log(homeworkid)
this.Gettitleinformation(homeworkid)
try {
this.props.showNotification(`${result.data.message}`);
}catch (e) {
}
try {
var homeworkid = this.props.match.params.homeworkid;
this.Gettitleinformation(homeworkid);
}catch (e) {
}
try {
this.props.Showupdateinstructionsboolfalse(false);
}catch (e) {
}
}
}).catch((error) => {
console.log(error);
@ -289,9 +299,7 @@ class Workquestionandanswer extends Component {
}
NOReleaseNotes = () => {
this.setState({
Showupdateinstructions: false,
})
this.props.Showupdateinstructionsboolfalse(false);
}
workshowmodel = () => {
this.setState({
@ -390,7 +398,7 @@ class Workquestionandanswer extends Component {
render() {
const dateFormat = 'YYYY-MM-DD HH:mm:ss';
let {
starttimetype, endtimetype, latetimetype, allowlate, latepenaltytype, jobsettingsdata, score_open, Showupdateinstructions
starttimetype, endtimetype, latetimetype, allowlate, latepenaltytype, jobsettingsdata, score_open
, homework_id
} = this.state;
const radioStyle = {
@ -451,69 +459,52 @@ class Workquestionandanswer extends Component {
<div className="edu-back-white" >
{jobsettingsdata === undefined || jobsettingsdata.data.description === null ? <div className="ml20" style={{paddingTop: "20px"}}></div> :
<div className=" clearfix edu-back-white poll_list mr20 " style={{paddingTop: "20px"}}>
<span>
<style>
{
`
hr{
display:none;
}
`
}
</style>
<div className={"font-16 color-dark fl pl20 "} >
<div className={"markdown-body"}
dangerouslySetInnerHTML={{__html: markdownToHTML(jobsettingsdata.data.description).replace(/▁/g, "▁▁▁")}}></div>
{/* /!*{}}></div>
{/* /!*{jobsettingsdata.data.description}*!/*/}
{/* <textarea>*/}
{/* {*/}
{/* this.state.namestring*/}
{/* }*/}
{/* </textarea>*/}
</div>
{/* <div className="justify break_full_word new_li markdown-body"*/}
{/* id="challenge_editorMd_description">*/}
{/* <p id="ReactMarkdown" style={{overflow:'hidden'}}>*/}
{/* /!*{ChallengesDataList === undefined ? "" :ChallengesDataList.description===null?""*!/*/}
{/* <textarea className="w200">*/}
{/* {jobsettingsdata.data.description}*/}
{/* </textarea>*/}
{/* /!*}*!/*/}
{/* </p>*/}
{/*</div>*/}
</span>
</div>}
<div className=" clearfix edu-back-white poll_list pd10">
<div className="font-16 color-green fl pl20 mt10">作业说明:</div>
{
this.props.isAdmin() && this.props.isAdmin() === true ?
(Showupdateinstructions && Showupdateinstructions === true ? "" :
<Tooltip placement="top" title="编辑"><i
className="color-green font-18 iconfont icon-bianjidaibeijing fr pr20 "
onClick={() => this.jobdescriptiondisplaybj()}></i></Tooltip>
) : ""
}
</div>
{/*{jobsettingsdata === undefined || jobsettingsdata.data.description === null ? <div className="ml20" style={{paddingTop: "20px"}}>无</div> :*/}
{/* <div className=" clearfix edu-back-white poll_list mr20 " style={{paddingTop: "20px"}}>*/}
{/* <span>*/}
{/* <style>*/}
{/* {*/}
{/* `*/}
{/* hr{*/}
{/* display:none;*/}
{/* }*/}
{/* `*/}
{/* }*/}
{/* </style>*/}
{/* <div className={"font-16 color-dark fl pl20 "} >*/}
{/* <div className={"markdown-body"}*/}
{/* dangerouslySetInnerHTML={{__html: markdownToHTML(jobsettingsdata.data.description).replace(/▁/g, "▁▁▁")}}></div>*/}
{/* </div>*/}
{/* </span>*/}
{/* </div>}*/}
{/*<div className=" clearfix edu-back-white poll_list pd10">*/}
{/*<div className="font-16 color-green fl pl20 mt10">作业说明:</div>*/}
{/*{*/}
{/* this.props.isAdmin() && this.props.isAdmin() === true ?*/}
{/* (Showupdateinstructions && Showupdateinstructions === true ? "" :*/}
{/* <Tooltip placement="top" title="编辑"><i*/}
{/* className="color-green font-18 iconfont icon-bianjidaibeijing fr pr20 "*/}
{/* onClick={() => this.jobdescriptiondisplaybj()}></i></Tooltip>*/}
{/* ) : ""*/}
{/*}*/}
{/*</div>*/}
<span>
<div className="font-16 color-dark break_word flex1 ">
{Showupdateinstructions && Showupdateinstructions === true ?
{this.props.Showupdateinstructions && this.props.Showupdateinstructions === true ?
<div>
<Homeworddescription {...this.props} ReleaseNotes={this.ReleaseNotes}
NOReleaseNotes={this.NOReleaseNotes}
<Homeworddescription {...this.props} ReleaseNotes={(explanations)=>this.ReleaseNotes(explanations)}
NOReleaseNotes={()=>this.NOReleaseNotes()}
description={jobsettingsdata === undefined ? "" : jobsettingsdata === null ? "" : jobsettingsdata === "null" ? "" : jobsettingsdata.data.explanation === undefined ? "" : jobsettingsdata.data.explanation === null ? "" : jobsettingsdata.data.explanation}></Homeworddescription>
</div>
:
<div className="pl20 markdown-body" style={{"padding": "10px 10px 10px 20px"}}>
{jobsettingsdata === undefined ? "无" : jobsettingsdata === null ? "无" : jobsettingsdata === "null" ? "无" :
jobsettingsdata.data.explanation === undefined ? "无" : jobsettingsdata.data.explanation === null ? "无" :
<div className="pl20 markdown-body" style={{minHeight: "150px",padding: "20px"}}>
{jobsettingsdata === undefined ? <span style={{color:"#D3D3D3"}}>暂无~</span> : jobsettingsdata === null ? <span style={{color:"#D3D3D3"}}>~</span> : jobsettingsdata === "null" ? <span style={{color:"#D3D3D3"}}>~</span> :
jobsettingsdata.data.explanation === undefined ? <span style={{color:"#D3D3D3"}}>暂无~</span> : jobsettingsdata.data.explanation === null ? <span style={{color:"#D3D3D3"}}>~</span> :
<div className={"markdown-body"}
dangerouslySetInnerHTML={{__html: markdownToHTML(jobsettingsdata.data.explanation).replace(/▁/g, "▁▁▁")}}></div>
}

@ -1,76 +1,75 @@
import React, { Component } from 'react';
import { Redirect } from 'react-router';
import { BrowserRouter as Router, Route, Link, Switch } from "react-router-dom";
import PropTypes from 'prop-types';
import classNames from 'classnames'
import { getImageUrl, toPath, LinkAfterLogin } from 'educoder'
import match_adImg from '../../images/ad/match_ad.jpg'
const $ = window.$
class RightMyPublish extends Component {
constructor(props) {
super(props)
this.state = {
}
}
handleKeyPress = (event) => {
if(event.type !== 'keypress' || event.key == 'Enter'){
this.props.setSearchValue( this.props.searchValue, true);
// $(window).trigger('setSearchValue', $('#shixun_search_input').val())
}
}
handleInput = (event) => {
this.props.setSearchValue(event.target.value);
}
render() {
const { match, history, currentPage, my_memos_count, setSearchValue, searchValue } = this.props
return (
<React.Fragment>
<div className="clearfix edu-back-white padding40-20 publishMemoSection">
{/*<div className="searchFor h40 mt15 mb5 ml20">
<div className="searchCon fl">
<input type="text" className="searchinput" name="search" value="" placeholder="请输入帖子标题的关键字进行搜索">
</input>
<span className="search_close" onclick="colse_searchbox();" data-tip-down="清除">×</span>
</div>
<i className="fa fa-search mr5 fl color-dark-grey search_icon"
onClick="$('#search_memos').submit();" style={{margin:'8px'}} data-tip-down="搜索"></i>
</div>*/}
<div className="search-new">
<input type="text" className="search-new-input fl" placeholder="搜索您想了解的话题" id="shixun_search_input"
onKeyPress={this.handleKeyPress} onChange={ this.handleInput } value={searchValue}
>
</input>
<span className="search-span"></span>
<img src={getImageUrl("images/educoder/icon/search.svg")} className="fl mt5"
onClick={ this.handleKeyPress }>
</img>
</div>
<LinkAfterLogin {...this.props} to={'/forums/new'} className="sendMyQuestion edu-default-btn edu-blueback-btn edu-txt-center font-16 mb30">发布话题</LinkAfterLogin>
{/*<p className="edu-txt-center font-16">
<span>我的发布</span><br/>
<Link to={`/forums/categories/my_published`} className="color-blue">{my_memos_count}</Link>
</p>*/}
</div>
<div className="clearfix edu-back-white advertisement" >
<a href="/competitions" target="_blank"><img src={match_adImg}></img></a>
</div>
</React.Fragment>
);
}
}
export default RightMyPublish;
import React, { Component } from 'react';
import { Redirect } from 'react-router';
import { BrowserRouter as Router, Route, Link, Switch } from "react-router-dom";
import PropTypes from 'prop-types';
import classNames from 'classnames'
import { getImageUrl, toPath, LinkAfterLogin } from 'educoder'
import match_adImg from '../../images/ad/match_ad.jpg'
const $ = window.$
class RightMyPublish extends Component {
constructor(props) {
super(props)
this.state = {
}
}
handleKeyPress = (event) => {
if(event.type !== 'keypress' || event.key == 'Enter'){
this.props.setSearchValue( this.props.searchValue, true);
// $(window).trigger('setSearchValue', $('#shixun_search_input').val())
}
}
handleInput = (event) => {
this.props.setSearchValue(event.target.value);
}
render() {
const { match, history, currentPage, my_memos_count, setSearchValue, searchValue } = this.props
return (
<React.Fragment>
<div className="clearfix edu-back-white padding40-20 publishMemoSection">
{/*<div className="searchFor h40 mt15 mb5 ml20">
<div className="searchCon fl">
<input type="text" className="searchinput" name="search" value="" placeholder="请输入帖子标题的关键字进行搜索">
</input>
<span className="search_close" onclick="colse_searchbox();" data-tip-down="清除">×</span>
</div>
<i className="fa fa-search mr5 fl color-dark-grey search_icon"
onClick="$('#search_memos').submit();" style={{margin:'8px'}} data-tip-down="搜索"></i>
</div>*/}
<div className="search-new">
<input type="text" className="search-new-input fl" placeholder="搜索您想了解的话题" id="shixun_search_input"
onKeyPress={this.handleKeyPress} onChange={ this.handleInput } value={searchValue}
>
</input>
<span className="search-span"></span>
<img src={getImageUrl("images/educoder/icon/search.svg")} className="fl mt5"
onClick={ this.handleKeyPress }>
</img>
</div>
<LinkAfterLogin {...this.props} to={'/forums/new'} className="sendMyQuestion edu-default-btn edu-blueback-btn edu-txt-center font-16 mb30">发布话题</LinkAfterLogin>
{/*<p className="edu-txt-center font-16">
<span>我的发布</span><br/>
<Link to={`/forums/categories/my_published`} className="color-blue">{my_memos_count}</Link>
</p>*/}
</div>
<div className="clearfix edu-back-white advertisement" >
<a href="/competitions" target="_blank"><img src={match_adImg}></img></a>
</div>
</React.Fragment>
);
}
}
export default RightMyPublish;

@ -955,12 +955,9 @@ submittojoinclass=(value)=>{
{/*<Link to={'/crowdsourcing'}>众包创新</Link>*/}
{/*</li>*/}
{/*<li className={`${activeForums === true ? 'active' : ''}`}> <Link to={this.props.Headertop===undefined?"":this.props.Headertop.topic_url}>交流问答</Link></li>*/}
{/*<li*/}
{/* style={{display: this.props.Headertop === undefined ? 'none' : this.props.Headertop.auth===null? 'none' : 'block'}}*/}
{/*><a href={this.props.Headertop===undefined?"":this.props.Headertop.auth}>工程认证</a></li>*/}
<li
style={{display: this.props.Headertop === undefined ? 'none' : this.props.Headertop.auth === null ? 'none' : 'block'}}
><a href={this.props.Headertop === undefined ? "" : this.props.Headertop.auth}>工程认证</a></li>
<li className="fl edu-menu-panel careershover "
style={{display: this.props.Headertop === undefined ?'none' : this.props.Headertop.career_url.length > 0 ? 'block' : 'none'}}>

Loading…
Cancel
Save