Merge remote-tracking branch 'origin/master'

dev_forum
杨树明 6 years ago
commit 4d4cf9183b

@ -114,21 +114,21 @@ module.exports = {
// First, run the linter. // First, run the linter.
// It's important to do this before Babel processes the JS. // It's important to do this before Babel processes the JS.
// 上线然后要注释回来 // 上线然后要注释回来
// { {
// test: /\.(js|jsx|mjs)$/, test: /\.(js|jsx|mjs)$/,
// enforce: 'pre', enforce: 'pre',
// use: [ use: [
// { {
// options: { options: {
// formatter: eslintFormatter, formatter: eslintFormatter,
// eslintPath: require.resolve('eslint'), eslintPath: require.resolve('eslint'),
//
// }, },
// loader: require.resolve('eslint-loader'), loader: require.resolve('eslint-loader'),
// }, },
// ], ],
// include: paths.appSrc, include: paths.appSrc,
// }, },
{ {
// "oneOf" will traverse all following loaders until one will // "oneOf" will traverse all following loaders until one will
// match the requirements. When no loader matches it will fall // match the requirements. When no loader matches it will fall

@ -55,7 +55,7 @@
<!-- <link href="/react/build/css/iconfont.css" rel="stylesheet" type="text/css"> --> <!-- <link href="/react/build/css/iconfont.css" rel="stylesheet" type="text/css"> -->
<link href="https://testeduplus2.educoder.net/stylesheets/educoder/edu-all.css" rel="stylesheet" type="text/css"> <link href="http://47.96.87.25:48080/stylesheets/educoder/edu-all.css" rel="stylesheet" type="text/css">
<!--<link href="https://pandao.github.io/editor.md/examples/css/style.css" rel="stylesheet" type="text/css">--> <!--<link href="https://pandao.github.io/editor.md/examples/css/style.css" rel="stylesheet" type="text/css">-->
@ -148,12 +148,12 @@
(function() { // Scoping function to avoid globals (function() { // Scoping function to avoid globals
var href = location.href; var href = location.href;
if (href.indexOf('/tasks/') != -1) { if (href.indexOf('/tasks/') != -1) {
document.write('<script type="text/javascript" src="https://testeduplus2.educoder.net/assets/kindeditor/kindeditor.js"><\/script>'); document.write('<script type="text/javascript" src="http://47.96.87.25:48080/assets/kindeditor/kindeditor.js"><\/script>');
// build.js中会将这个url附加一个前缀 react/build // build.js中会将这个url附加一个前缀 react/build
document.write('<script type="text/javascript" src="/js/create_kindeditor.js"><\/script>'); document.write('<script type="text/javascript" src="/js/create_kindeditor.js"><\/script>');
document.write('<script type="text/javascript" src="https://testeduplus2.educoder.net/javascripts/educoder/edu_application.js"><\/script>'); document.write('<script type="text/javascript" src="http://47.96.87.25:48080/javascripts/educoder/edu_application.js"><\/script>');
} else if (href.indexOf('/paths/') != -1) { } else if (href.indexOf('/paths/') != -1) {
document.write('<script type="text/javascript" src="https://testeduplus2.educoder.net/javascripts/educoder/edu_application.js"><\/script>'); document.write('<script type="text/javascript" src="http://47.96.87.25:48080/javascripts/educoder/edu_application.js"><\/script>');
} }
})(); })();

@ -38,7 +38,7 @@
<link rel="stylesheet" type="text/css" href="/css/css_min_all.css"> <link rel="stylesheet" type="text/css" href="/css/css_min_all.css">
<link href="https://testeduplus2.educoder.net/stylesheets/educoder/edu-all.css" rel="stylesheet" type="text/css"> <link href="/stylesheets/educoder/edu-all.css" rel="stylesheet" type="text/css">
<link rel="stylesheet" type="text/css" href="//at.alicdn.com/t/font_653600_qa9lwwv74z.css"> <link rel="stylesheet" type="text/css" href="//at.alicdn.com/t/font_653600_qa9lwwv74z.css">

@ -29,7 +29,8 @@ export function getUrl(path, goTest) {
//goTest = true //goTest = true
// testbdweb.educoder.net testbdweb.trustie.net // testbdweb.educoder.net testbdweb.trustie.net
// const local = goTest ? 'https://testeduplus2.educoder.net' : 'http://localhost:3000' // const local = goTest ? 'https://testeduplus2.educoder.net' : 'http://localhost:3000'
const local = 'https://testeduplus2.educoder.net' // const local = 'https://testeduplus2.educoder.net'
const local = 'http://47.96.87.25:48080'
if (isDev) { if (isDev) {
return `${local}${path?path:''}` return `${local}${path?path:''}`
} }

@ -86,7 +86,7 @@ class CommonWorkAnswer extends Component{
{/* 内容区 */} {/* 内容区 */}
<div className="padding40 memoContent new_li"> <div className="padding40 memoContent new_li">
{reference_answer ? <MarkdownToHtml content={reference_answer || "还未设置答案。"}></MarkdownToHtml> : {reference_answer ? <MarkdownToHtml content={reference_answer || "还未设置答案。"}></MarkdownToHtml> :
reference_answer === undefined ? '' : <NoneData></NoneData>} reference_answer === undefined ? '' : ((!attachments || attachments.length == 0) && <NoneData></NoneData>)}
{ attachments && attachments.map((item) => { { attachments && attachments.map((item) => {
return ( <div className="color-grey"> return ( <div className="color-grey">

@ -186,11 +186,11 @@ class CommonWorkAppraise extends Component{
} }
`}</style> `}</style>
<div className={"workAppraise"}> <div className={"workAppraise"}>
{(description || (attachments && attachments.length != 0)) && <div className={"stud-class-set bor-bottom-greyE edu-back-white"} style={{ padding: '20px 20px 20px 20px'}}> {(description || (attachments && attachments.length != 0)) && <div className={"stud-class-set edu-back-white padding20-30"}>
<div className={"color-grey-6 h20 mb20 font-16"}> <div className={"color-grey-6 mb15 font-16"}>
内容 内容
</div> </div>
<div className={"ml20"} className="markdown-body" dangerouslySetInnerHTML={{__html: markdownToHTML(description)}}> <div className="markdown-body ml20" dangerouslySetInnerHTML={{__html: markdownToHTML(description)}}>
</div> </div>
{attachments.map((item,key)=>{ {attachments.map((item,key)=>{
@ -233,7 +233,7 @@ class CommonWorkAppraise extends Component{
</div> } </div> }
{revise_attachments.length===0?"":<div className={"stud-class-set bor-bottom-greyE pd20 edu-back-white"}> {revise_attachments.length===0?"":<div className={"stud-class-set bor-top-greyE padding20-30 edu-back-white"}>
<style>{` <style>{`
.color-grey:hover i { .color-grey:hover i {
display: inline !important; display: inline !important;
@ -261,18 +261,17 @@ class CommonWorkAppraise extends Component{
</div> </div>
) )
})} })}
<div className={"color-grey-6 h20 ml20"}> <div className={"color-grey-6 clearfix lineh-25 ml20"}>
<span className={"color9B9B fr mr10"}>更新</span> <span className={"color9B9B fr"}>更新</span>
<span className={"fr font-13 mr10 ml10"}>{atta_update_user}</span> <span className={"fr font-13 mr10 ml10"}>{atta_update_user}</span>
<span className={"color9B9B fr"}> <span className={"color9B9B fr"}>
{moment(atta_update_time).format('YYYY-MM-DD HH:mm')==="Invalid date"?"":moment(atta_update_time).format('YYYY-MM-DD HH:mm')} {moment(atta_update_time).format('YYYY-MM-DD HH:mm')==="Invalid date"?"":moment(atta_update_time).format('YYYY-MM-DD HH:mm')}
</span> </span>
</div> </div>
</div>} </div>}
{is_evaluation != true && project_info && project_info.name && <div className={"stud-class-set bor-bottom-greyE edu-back-white"} style={{ padding: '18px 20px 20px 20px'}}> {is_evaluation != true && project_info && project_info.name && <div className={"stud-class-set bor-top-greyE edu-back-white padding20-30"}>
<div className={"color-grey-6 h20 mb20"}> <div className={"color-grey-6 mb10"}>
关联项目 关联项目
</div> </div>
<div className={"ml20"}> <div className={"ml20"}>
@ -281,8 +280,8 @@ class CommonWorkAppraise extends Component{
</div> </div>
} }
{is_evaluation != true && work_members && !!work_members.length && <div className={"stud-class-set bor-bottom-greyE edu-back-white"} style={{ padding: '18px 20px 20px 20px'}}> {is_evaluation != true && work_members && !!work_members.length && <div className={"stud-class-set bor-top-greyE edu-back-white padding20-30"}>
<div className={"color-grey-6 h20 mb20"}> <div className={"color-grey-6 mb10"}>
其他组员 其他组员
</div> </div>
<div className={"ml20"}> <div className={"ml20"}>

@ -64,7 +64,9 @@ function buildColumns(that, student_works) {
key: 'id', key: 'id',
render: (text, record, index) => { render: (text, record, index) => {
return ( return (
<span style={{ minWidth: '50px', display: 'inline-block', textAlign: 'center' }} >{(that.state.page - 1) * PAGE_SIZE + index + 1}</span> <span style={{ minWidth: '50px', display: 'inline-block', textAlign: 'center' }} >
{record.isMine == true ? '我' : (that.state.page - 1) * PAGE_SIZE + index + 1}
</span>
)}, )},
}, { }, {
title: '姓名', title: '姓名',
@ -78,7 +80,7 @@ function buildColumns(that, student_works) {
overflow: 'hidden', overflow: 'hidden',
textOverflow: 'ellipsis', textOverflow: 'ellipsis',
whiteSpace: 'nowrap', whiteSpace: 'nowrap',
maxWidth: '98px' width: '98px'
}} title={text}> }} title={text}>
{/* <Tooltip placement="bottom" title={text}> {/* <Tooltip placement="bottom" title={text}>
</Tooltip> */} </Tooltip> */}
@ -97,7 +99,7 @@ function buildColumns(that, student_works) {
<span> <span>
<a href="javascript:;" <a href="javascript:;"
title={record.student_id} title={record.student_id}
style={{color:'#9A9A9A', 'text-overflow': 'ellipsis', 'white-space': 'nowrap', 'max-width': '100px', display: 'block', overflow: 'hidden'}} style={{color:'#9A9A9A', 'text-overflow': 'ellipsis', 'white-space': 'nowrap', 'width': '100px', display: 'block', overflow: 'hidden'}}
>{record.student_id}</a> >{record.student_id}</a>
</span> </span>
), ),
@ -232,7 +234,7 @@ function buildColumns(that, student_works) {
<span> <span>
<Tooltip title={ <Tooltip title={
getScoreTip(student_score, getScoreTip(student_score,
<div> isNiPing ? `你的评阅分数:${record.student_score}` : <div>
{record.student_comment_count && <div>{`${record.student_comment_count}名学生进行了匿评`}</div>} {record.student_comment_count && <div>{`${record.student_comment_count}名学生进行了匿评`}</div>}
<div>有效平均分{record.student_score}</div> <div>有效平均分{record.student_score}</div>
</div> </div>
@ -547,7 +549,7 @@ class CommonWorkList extends Component{
StudentData=isStudent ? [{ id, user_name, user_login, student_id, group_name, work_status, update_time, teacher_score, teaching_asistant_score, student_score, StudentData=isStudent ? [{ id, user_name, user_login, student_id, group_name, work_status, update_time, teacher_score, teaching_asistant_score, student_score,
ultimate_score, work_score, student_comment_count, appeal_all_count, appeal_deal_count, ultimate_score, work_score, student_comment_count, appeal_all_count, appeal_deal_count,
late_penalty, absence_penalty, appeal_penalty, late_penalty, absence_penalty, appeal_penalty,
work_group: '' }] : [] work_group: '', isMine: true }] : []
} }
let params = this._getRequestParams() let params = this._getRequestParams()
let exportUrl = `/api/homework_commons/${workId}/works_list.zip?${queryString.stringify(params)}`; let exportUrl = `/api/homework_commons/${workId}/works_list.zip?${queryString.stringify(params)}`;

@ -185,6 +185,9 @@ class UseBank extends Component{
align-items: center; align-items: center;
display: -webkit-flex; display: -webkit-flex;
} }
.setImgW .edu-nodata-img{
width:218px!important;
}
`}</style> `}</style>
@ -224,7 +227,7 @@ class UseBank extends Component{
></Search> ></Search>
</div> </div>
{ {
nav_my==='myself'? object_list && object_list.length == 0 && page == 1 ? "" : nav_my==='myself'?
<p className="color-grey-6 mb25 edu-txt-center">选用对象你在课堂{engNameMap[object_type]}列表中已<span className="color-orange-tip">加入题库</span>{engNameMap[object_type]}</p> <p className="color-grey-6 mb25 edu-txt-center">选用对象你在课堂{engNameMap[object_type]}列表中已<span className="color-orange-tip">加入题库</span>{engNameMap[object_type]}</p>
: :
<p className="color-grey-6 mb25 edu-txt-center">选用对象题库中已设置成公共属性的所有{engNameMap[object_type]}</p> <p className="color-grey-6 mb25 edu-txt-center">选用对象题库中已设置成公共属性的所有{engNameMap[object_type]}</p>
@ -240,7 +243,7 @@ class UseBank extends Component{
</div> </div>
: :
object_list && object_list.length == 0 && page == 1 ? object_list && object_list.length == 0 && page == 1 ?
<NoneData></NoneData> <div className="setImgW"><NoneData></NoneData></div>
: :
<div className="edu-back-skyblue padding20" style={{"height":"230px", "overflowY": 'auto'}}> <div className="edu-back-skyblue padding20" style={{"height":"230px", "overflowY": 'auto'}}>
<InfiniteScroll <InfiniteScroll
@ -262,14 +265,10 @@ class UseBank extends Component{
return ( return (
<p className="clearfix mb7" key={item.id}> <p className="clearfix mb7" key={item.id}>
<Checkbox className="fl" value={item.id}></Checkbox> <Checkbox className="fl" value={item.id}></Checkbox>
<span className="fl with45"> <span className="fl with65">
<ConditionToolTip title={item.name} condition={item.name && item.name.length > 19 }> <label className="task-hide fl" title={item.name && item.name.length > 30 ? item.name:""} style={{"maxWidth":"100%"}}>{item.name}</label>
<label className="task-hide fl" style={{"maxWidth":"208px;"}}>{item.name}</label>
</ConditionToolTip>
</span> </span>
<ConditionToolTip title={item.course_list_name} condition={item.course_list_name && item.course_list_name.length > 13 }> <span title={item.course_list_name && item.course_list_name.length > 14 && item.course_list_name} className={nav_my==='myself'?"fl with30 color-grey-6 task-hide pl5":"fl with30 color-grey-6 task-hide pl5"}>{item.course_list_name}</span>
<span className={nav_my==='myself'?"fl with50 color-grey-6 task-hide pl5":"fl with30 color-grey-6 task-hide pl5"}>{item.course_list_name}</span>
</ConditionToolTip>
{ {
nav_my==='public' && nav_my==='public' &&
<span className="fl with16 color-grey-6 task-hide pl10">{item.username}</span> <span className="fl with16 color-grey-6 task-hide pl10">{item.username}</span>

@ -40,6 +40,7 @@
.course-message .comment_item_cont:last-child { .course-message .comment_item_cont:last-child {
/* 作品评阅需要 */ /* 作品评阅需要 */
border-bottom: none; border-bottom: none;
padding-bottom: 0px;
} }
.course-message .memoMore { .course-message .memoMore {

@ -77,41 +77,28 @@ class ModulationModal extends Component{
</p> </p>
<p style={{ <div className="clearfix">
width: '100%', <textarea
height:'150px', className="winput-100-150"
placeholder="请填写您对作品调分的原因"
}}>
<textarea style={{
width: '100%',
height:'150px',
border:'1px solid rgba(234,234,234,1)'
}}
placeholder="请填写您对作品调分的原因" className={"mt20"}
value={textareaval} value={textareaval}
onInput={this.settextarea} onInput={this.settextarea}
></textarea> ></textarea>
<span className={textareavaltype===true?"color-red":"none"}>原因不能为空</span> <li style={{height:"20px",lineHeight:"20px"}}><span className={textareavaltype===true?"color-red":"none"}>原因不能为空</span></li>
</p> </div>
<li>
<p>
<Input style={{ <Input style={{
width: '20%', width: '20%',
marginTop: textareavaltype===true?'50px':'40px'
}} }}
placeholder="请填写分数" placeholder="请填写分数"
value={Inputsval} value={Inputsval}
onInput={this.setInputs}/> <span className="ml10"></span> onInput={this.setInputs}/> <span className="ml10"></span>
</p> </li>
<li style={{height:"20px",lineHeight:"20px"}}><span className={Inputsvaltype===true?"color-red":"none"}>分数不能为空</span></li>
<span className={Inputsvaltype===true?"color-red":"none"}>分数不能为空</span> <div className="clearfix edu-txt-center">
<div className="clearfix mt30 edu-txt-center mb10">
<a className="task-btn color-white mr30" onClick={this.props.Cancel}>{this.props.Cancelname || '取消'}</a> <a className="task-btn color-white mr30" onClick={this.props.Cancel}>{this.props.Cancelname || '取消'}</a>
<a className="task-btn task-btn-orange" onClick={this.Saves}>{this.props.Savesname || '保存'}</a> <a className="task-btn task-btn-orange" onClick={this.Saves}>{this.props.Savesname || '保存'}</a>
</div> </div>
</div> </div>
</Modal> </Modal>
</div> </div>

@ -197,7 +197,7 @@ class GraduationTasksappraise extends Component{
<div className="edu-back-white"> <div className="edu-back-white">
<div className={"stud-class-set edu-back-white padding20-30 bor-bottom-greyE"}> <div className={"stud-class-set edu-back-white padding20-30"}>
<div className={"color-grey-6 h20 mb20"}> <div className={"color-grey-6 h20 mb20"}>
内容 内容
@ -231,7 +231,7 @@ class GraduationTasksappraise extends Component{
})} })}
<div className={"color-grey-6 h20 ml20"}> <div className={"color-grey-6 lineh-25 clearfix ml20"}>
{/*<span className={"color9B9B fr"}>更新</span>*/} {/*<span className={"color9B9B fr"}>更新</span>*/}
{/*<span className={"fr font-13 mr10 ml10"}>{datalist&&datalist.update_user_name}</span>*/} {/*<span className={"fr font-13 mr10 ml10"}>{datalist&&datalist.update_user_name}</span>*/}
@ -249,7 +249,7 @@ class GraduationTasksappraise extends Component{
</div> </div>
{firelistdata===undefined?"":firelistdata.length===0?"":firelistdata.revise_attachments.length===0?"": {firelistdata===undefined?"":firelistdata.length===0?"":firelistdata.revise_attachments.length===0?"":
<div className={"stud-class-set bor-bottom-greyE padding20-30 edu-back-white"}> <div className={"stud-class-set bor-top-greyE padding20-30 edu-back-white"}>
<div className={"color-grey-6 mb10 "}> <div className={"color-grey-6 mb10 "}>
补交附件 补交附件
</div> </div>
@ -278,7 +278,7 @@ class GraduationTasksappraise extends Component{
</div> </div>
<div className={"color-grey-6 h20 ml20"}> <div className={"color-grey-6 lineh-25 clearfix ml20"}>
<span className={"color9B9B fr"}>更新</span> <span className={"color9B9B fr"}>更新</span>
<span className={"fr font-13 mr10 ml10"}>{firelistdata&&firelistdata.atta_update_user}</span> <span className={"fr font-13 mr10 ml10"}>{firelistdata&&firelistdata.atta_update_user}</span>
@ -291,7 +291,7 @@ class GraduationTasksappraise extends Component{
</div>} </div>}
{datalist&&datalist.project_info===undefined?"": {datalist&&datalist.project_info===undefined?"":
<div className={"stud-class-set edu-back-white padding20-30 bor-bottom-greyE"}> <div className={"stud-class-set edu-back-white padding20-30 bor-top-greyE"}>
<div className={"color-grey-6 mb10"}> <div className={"color-grey-6 mb10"}>
关联项目 关联项目
</div> </div>
@ -301,7 +301,7 @@ class GraduationTasksappraise extends Component{
</div>} </div>}
{/*{*/} {/*{*/}
{ datalist === undefined?"": datalist && datalist.task_type===undefined ?"" : datalist.task_type===1? "": datalist && datalist.work_members && datalist.work_members.length == 0 ?"": { datalist === undefined?"": datalist && datalist.task_type===undefined ?"" : datalist.task_type===1? "": datalist && datalist.work_members && datalist.work_members.length == 0 ?"":
<div className={"stud-class-set edu-back-white padding20-30 bor-bottom-greyE"} style={{height:"100%"}}> <div className={"stud-class-set edu-back-white padding20-30 bor-top-greyE"} style={{height:"100%"}}>
<div className={"color-grey-6 mb10"}> <div className={"color-grey-6 mb10"}>
其他组员 其他组员
</div> </div>

@ -103,17 +103,17 @@ class GraduateTopicDetail extends Component{
return( return(
<div className="newMain"> <div className="newMain">
<div className="educontent mt10 mb50"> <div className="educontent mt10 mb50">
<p className="clearfix mb20"> <p className="clearfix mb10">
<WordsBtn style="grey" className="fl" to={`/courses/${tableData.course_id}`}>{tableData && tableData.course_name}</WordsBtn> <WordsBtn style="grey" className="fl" to={`/courses/${tableData.course_id}`}>{tableData && tableData.course_name}</WordsBtn>
<span className="color-grey-9 fl ml3 mr3">&gt;</span> <span className="color-grey-9 fl ml3 mr3">&gt;</span>
<WordsBtn style="grey" className="fl" to={`/courses/${tableData.course_id}/graduation_topics/${tableData.graduation_id}`}>{tableData.graduation_name}</WordsBtn> <WordsBtn style="grey" className="fl" to={`/courses/${tableData.course_id}/graduation_topics/${tableData.graduation_id}`}>{tableData.graduation_name}</WordsBtn>
<span className="color-grey-9 fl ml3 mr3">&gt;</span> <span className="color-grey-9 fl ml3 mr3">&gt;</span>
<span>选题详情</span> <span>选题详情</span>
</p> </p>
<p className="clearfix mb20"> <p className="clearfix mb20 lineh-25">
<span className="color-grey-3 font-24 fl task-hide" style={{lineHeight:"30px",maxWidth:"900px"}}>{tableData && tableData.graduation_topic_name}</span> <span className="color-grey-3 font-24 fl task-hide" style={{lineHeight:"30px",maxWidth:"900px"}}>{tableData && tableData.graduation_topic_name}</span>
<CoursesListType typelist={[`${tableData && tableData.status_name}`]} typesylename={""} /> <span className="fl mt4" style={{height:"25px"}}><CoursesListType typelist={[`${tableData && tableData.status_name}`]} typesylename={""} /></span>
<WordsBtn className="fr font-16" style="grey" onClick={()=>this.props.history.goBack()}>返回</WordsBtn> <WordsBtn className="fr font-16 mt2" style="grey" onClick={()=>this.props.history.goBack()}>返回</WordsBtn>
</p> </p>
<div> <div>
<div className="clearfix edu-back-white bor-bottom-greyE" > <div className="clearfix edu-back-white bor-bottom-greyE" >

@ -79,20 +79,20 @@ class GraduateTopicDetailTable extends Component{
<div className="mt30"> <div className="mt30">
{ {
topicInfo && topicInfo &&
<p className="mb20"> <p className="clearfix exu-txt-left mb20">
<span className="mr60"> <span className="fl with25">
<span className="color-grey-9">课题类型</span> <span className="color-grey-9">课题类型</span>
<span className="color-grey-3">{topicInfo.topic_type ? type[`${topicInfo.topic_type}`] :"--"}</span> <span className="color-grey-3">{topicInfo.topic_type ? type[`${topicInfo.topic_type}`] :"--"}</span>
</span> </span>
<span className="mr60"> <span className="fl with25">
<span className="color-grey-9">课题来源</span> <span className="color-grey-9">课题来源</span>
<span className="color-grey-3">{topicInfo.topic_source ? source[`${topicInfo.topic_source}`] :"--"}</span> <span className="color-grey-3">{topicInfo.topic_source ? source[`${topicInfo.topic_source}`] :"--"}</span>
</span> </span>
<span className="mr60"> <span className="fl with25">
<span className="color-grey-9">课题性质1</span> <span className="color-grey-9">课题性质1</span>
<span className="color-grey-3">{topicInfo.topic_property_first ? first[`${topicInfo.topic_property_first}`] :"--"}</span> <span className="color-grey-3">{topicInfo.topic_property_first ? first[`${topicInfo.topic_property_first}`] :"--"}</span>
</span> </span>
<span className="mr60"> <span className="fl with25">
<span className="color-grey-9">课题性质2</span> <span className="color-grey-9">课题性质2</span>
<span className="color-grey-3">{topicInfo.topic_property_second ? second[`${topicInfo.topic_property_second}`] :"--"}</span> <span className="color-grey-3">{topicInfo.topic_property_second ? second[`${topicInfo.topic_property_second}`] :"--"}</span>
</span> </span>
@ -100,16 +100,16 @@ class GraduateTopicDetailTable extends Component{
} }
{ {
topicInfo && topicInfo &&
<p> <p className="clearfix exu-txt-left">
<span className="mr60"> <span className="fl with25">
<span className="color-grey-9">课题重复情况</span> <span className="color-grey-9">课题重复情况</span>
<span className="color-grey-3">{topicInfo.topic_repeat ? repeat[`${topicInfo.topic_repeat}`] :"--"}</span> <span className="color-grey-3">{topicInfo.topic_repeat ? repeat[`${topicInfo.topic_repeat}`] :"--"}</span>
</span> </span>
<span className="mr60"> <span className="fl with25">
<span className="color-grey-9">调研或实习地点</span> <span className="color-grey-9">调研或实习地点</span>
<span className="color-grey-3">{topicInfo.city || "--"}</span> <span className="color-grey-3">{topicInfo.city || "--"}</span>
</span> </span>
<span className="mr60"> <span className="fl with50">
<span className="color-grey-9">课题来源单位</span> <span className="color-grey-9">课题来源单位</span>
<span className="color-grey-3">{topicInfo.source_unit || "--"}</span> <span className="color-grey-3">{topicInfo.source_unit || "--"}</span>
</span> </span>

@ -74,7 +74,8 @@ class GraduateTopicDetailTable extends Component{
} }
hideAgreeTopic=()=>{ hideAgreeTopic=()=>{
this.setState({ this.setState({
agreeFlag:false agreeFlag:false,
classesId:undefined
}) })
} }
sureAgreeTopic=(count)=>{ sureAgreeTopic=(count)=>{
@ -116,6 +117,7 @@ class GraduateTopicDetailTable extends Component{
//切换分班 //切换分班
changeClasses=(value)=>{ changeClasses=(value)=>{
debugger
this.setState({ this.setState({
classesId:value classesId:value
}) })
@ -130,7 +132,8 @@ class GraduateTopicDetailTable extends Component{
} }
hideClasses=()=>{ hideClasses=()=>{
this.setState({ this.setState({
visible:false visible:false,
classesId:undefined
}) })
} }
@ -209,7 +212,7 @@ class GraduateTopicDetailTable extends Component{
{ {
tableData.group_list && tableData.group_list.map((item,key)=>{ tableData.group_list && tableData.group_list.map((item,key)=>{
return( return(
<Option value={item.course_group_id} key={key}>{item.group_name}</Option> <Option value={item.group_id} key={key}>{item.group_name}</Option>
) )
}) })
} }

@ -328,8 +328,8 @@ class GraduateTopicNew extends Component{
<span className="color-grey-9 fl ml3 mr3">&gt;</span> <span className="color-grey-9 fl ml3 mr3">&gt;</span>
<span>{topicId==undefined?"新建":"编辑"}</span> <span>{topicId==undefined?"新建":"编辑"}</span>
</p> </p>
<div className="clearfix mb30"> <div className="clearfix mb20 lineh-25">
<p className="fl color-black summaryname mt5">{topicId==undefined?"新建":"编辑"}毕设选题</p> <p className="fl color-black summaryname">{topicId==undefined?"新建":"编辑"}毕设选题</p>
<a onClick={()=>this.props.history.goBack()} className="color-grey-6 fr font-16">返回</a> <a onClick={()=>this.props.history.goBack()} className="color-grey-6 fr font-16">返回</a>
</div> </div>

@ -46,24 +46,30 @@ const buildColumns = (that) => {
key: 'login', key: 'login',
align:'center', align:'center',
className:"color-grey-6", className:"color-grey-6",
// render: (name, record) => { render: (name, record) => {
// return <a className="color-dark" target="_blank" href={`/users/${record.login}`}>{name}</a> return <span className="color-dark overflowHidden1" style={{maxWidth: '110px'}}>{name}</span>
// } }
}, { }, {
title: '姓名', title: '姓名',
dataIndex: 'name', dataIndex: 'name',
key: 'name', key: 'name',
align:'center', align:'center',
width:"10%",
className:"color-grey-6", className:"color-grey-6",
render: (name, record) => { render: (name, record) => {
return <a className="color-dark" target="_blank" href={`/users/${record.login}`}>{name}</a> return <a className="color-dark overflowHidden1" target="_blank"
style={{maxWidth: '120px'}} href={`/users/${record.login}`}>{name}</a>
} }
}, { }, {
title: '学号', title: '学号',
dataIndex: 'student_id', dataIndex: 'student_id',
key: 'student_id', key: 'student_id',
align:'center', align:'center',
className:"color-grey-6" className:"color-grey-6",
render: (student_id, record) => {
return <span className="color-dark overflowHidden1"
style={{maxWidth: '110px'}} >{student_id}</span>
}
}, { }, {
title: '分班', title: '分班',
dataIndex: 'course_group_name', dataIndex: 'course_group_name',

@ -348,7 +348,7 @@ class Poll extends Component{
} }
this.setState({ this.setState({
course_groups:list, course_groups:list,
checkBoxValues:checkValue checkBoxValues:value
}) })
this.setState({ this.setState({
modalname:"立即发布", modalname:"立即发布",

@ -97,7 +97,7 @@ class PollDetailIndex extends Component{
<Menu mode="horizontal" selectedKeys={tab} onClick={this.changeTab}> <Menu mode="horizontal" selectedKeys={tab} onClick={this.changeTab}>
<Menu.Item key="0">答题列表</Menu.Item> <Menu.Item key="0">答题列表</Menu.Item>
{ {
(isAdmin || (isStudent && pollDetail && pollDetail.show_result == 1 && pollDetail.polls_status == 3)) && <Menu.Item key="1">统计结果</Menu.Item> (isAdmin || (isStudent && pollDetail && pollDetail.show_result == 1 && pollDetail.polls_status == 3 && user_permission && user_permission.current_status==1)) && <Menu.Item key="1">统计结果</Menu.Item>
} }
{ isAdmin && <Menu.Item key="2">问卷预览</Menu.Item> } { isAdmin && <Menu.Item key="2">问卷预览</Menu.Item> }
<Menu.Item key="3">设置</Menu.Item> <Menu.Item key="3">设置</Menu.Item>

@ -556,7 +556,9 @@ class PollDetailTabForth extends Component{
<div className="edu-back-white"> <div className="edu-back-white">
<div className="bor-bottom-greyE padding30"> <div className="bor-bottom-greyE padding30">
<p className="mb30 clearfix"> <p className="mb30 clearfix">
<span className="font-16 fl">发布设置 <span className="color-grey-c font-14">课堂管理员教师助教拥有发布设置权限</span></span> <span className="font-16 fl">发布设置
{/* <span className="color-grey-c font-14">(课堂管理员、教师、助教拥有发布设置权限)</span> */}
</span>
{ {
!flagPageEdit && isAdmin ? !flagPageEdit && isAdmin ?
<a className="fr" onClick={this.editSetting}><Tooltip title="编辑"><i className="iconfont icon-bianjidaibeijing font-20 color-green"></i></Tooltip></a> <a className="fr" onClick={this.editSetting}><Tooltip title="编辑"><i className="iconfont icon-bianjidaibeijing font-20 color-green"></i></Tooltip></a>
@ -564,6 +566,8 @@ class PollDetailTabForth extends Component{
} }
</p> </p>
<div className="pl25"> <div className="pl25">
{
course_group && course_group.length > 0 &&
<p className="clearfix mb20"> <p className="clearfix mb20">
<Form.Item className="fl pollForm"> <Form.Item className="fl pollForm">
{getFieldDecorator('unitSet') {getFieldDecorator('unitSet')
@ -575,6 +579,7 @@ class PollDetailTabForth extends Component{
</Form.Item> </Form.Item>
<span className="color-grey-c font-14">选中则所有分班使用相同的发布设置仅课堂管理员可修改否则各个分班允许单独设置</span> <span className="color-grey-c font-14">选中则所有分班使用相同的发布设置仅课堂管理员可修改否则各个分班允许单独设置</span>
</p> </p>
}
{ {
unitSetting ? unitSetting ?
<div> <div>

@ -46,7 +46,7 @@ class PollDetailTabThird extends Component{
<span className="color-grey-3"> <span className="color-grey-3">
{ {
pollDetail && pollDetail.question_types.q_counts > 0 && pollDetail && pollDetail.question_types.q_counts > 0 &&
<span>合计12{pollDetail.question_types.q_counts}</span> <span>合计{pollDetail.question_types.q_counts}</span>
} }
{ {
pollDetail && pollDetail.question_types.q_singles > 0 && pollDetail && pollDetail.question_types.q_singles > 0 &&

@ -1757,7 +1757,7 @@ class PollNew extends Component {
}) })
} }
//上移到服务器中 //上移到服务器中
Upanddownmovementof = (bool, poll_question_id) => { Upanddownmovementof = (bool, poll_question_id) => {
// console.log("调用了Upanddownmovementofr") // console.log("调用了Upanddownmovementofr")
// console.log(poll_question_id) // console.log(poll_question_id)
@ -1769,7 +1769,7 @@ class PollNew extends Component {
}).then((result) => { }).then((result) => {
try { try {
if (result.data.status === 0) { if (result.data.status === 0) {
this.props.showNotification(`已完成`); this.props.showNotification(`上移成功`);
thiss.thisinitializationdatanew(); thiss.thisinitializationdatanew();
} }
// console.log(JSON.stringify(result)) // console.log(JSON.stringify(result))
@ -1787,7 +1787,7 @@ class PollNew extends Component {
try { try {
if (result.data.status === 0) { if (result.data.status === 0) {
// message.success("下移题目成功", 1) // message.success("下移题目成功", 1)
this.props.showNotification(`已完成`); this.props.showNotification(`下移成功`);
thiss.thisinitializationdatanew(); thiss.thisinitializationdatanew();
} }
// console.log(JSON.stringify(result)) // console.log(JSON.stringify(result))
@ -2483,7 +2483,7 @@ class PollNew extends Component {
} }
</p> </p>
<p className="mt20"> <span className="font-16 flex1" style={{"white-space":"pre-wrap","word-break": "break-all","word-wrap": "break-word"}}>{item.question.question_title}</span></p> <p className="mt20"> <span className="font-16 flex1" style={item.question.question_type === 1?{"white-space":"pre-wrap","word-break": "break-all","word-wrap": "break-word","float": "left","width":"1116px"}:item.question.question_type === 2? {"white-space":"pre-wrap","word-break": "break-all","word-wrap": "break-word","float": "left","width":"1120px"}: {"white-space":"pre-wrap","word-break": "break-all","word-wrap": "break-word"}}>{item.question.question_title}</span></p>
{/*<pre className="mt20 mb20 font-16 break_word flex1">{item.question.question_title}</pre>*/} {/*<pre className="mt20 mb20 font-16 break_word flex1">{item.question.question_title}</pre>*/}
{item.question.question_type === 1 ? {item.question.question_type === 1 ?
(<RadioGroup defaultChecked={false} disabled> (<RadioGroup defaultChecked={false} disabled>
@ -2823,9 +2823,9 @@ class PollNew extends Component {
}} }}
> >
<li className="clearfix mt30 mb50"> <li className="clearfix mt30 mb50">
<a type="primary" className="defalutSubmitbtn fl mr20" <a className="defalutSubmitbtn fl mr20"onClick={() => this.props.history.goBack()}>取消</a>
<a type="primary" className="defalutCancelbtn fl"
onClick={() => this.submitQuestionnaire()}>提交</a> onClick={() => this.submitQuestionnaire()}>提交</a>
<a className="defalutCancelbtn fl" onClick={() => this.props.history.goBack()}>取消</ a>
</li> </li>
</div> </div>
} }

@ -1377,7 +1377,7 @@ class Listofworks extends Component {
classroom: game_list[i].score, classroom: game_list[i].score,
complete_status: game_list[i].complete_status, complete_status: game_list[i].complete_status,
}) })
experience=game_list[i].complete_status+experience; experience=game_list[i].score+experience;
if(game_list[i].complete_status === 2 || game_list[i].complete_status===3){ if(game_list[i].complete_status === 2 || game_list[i].complete_status===3){
boolgalist=false; boolgalist=false;
@ -1878,11 +1878,11 @@ class Listofworks extends Component {
border-bottom: none!important; border-bottom: none!important;
height: 85px; height: 85px;
} }
.ant-table-tbody > tr > td { .ant-tables .ant-table-tbody > tr > td {
height: 85px; height: 85px;
} }
`}</style> `}</style>
<div className="edu-table edu-back-white "> <div className="edu-table edu-back-white ant-tables">
{data === undefined ? "" : <Table {data === undefined ? "" : <Table
dataSource={data} dataSource={data}
columns={columns} columns={columns}

@ -394,7 +394,7 @@ class Listofworksstudentone extends Component {
classroom: game_list[i].score, classroom: game_list[i].score,
complete_status: game_list[i].complete_status, complete_status: game_list[i].complete_status,
}) })
experience=game_list[i].complete_status+experience; experience=game_list[i].score+experience;
if(game_list[i].complete_status === 2 || game_list[i].complete_status===3){ if(game_list[i].complete_status === 2 || game_list[i].complete_status===3){
boolgalist=false; boolgalist=false;

@ -51,6 +51,26 @@ class TraineetraininginformationModal extends Component {
componentDidMount() { componentDidMount() {
// this.seacthdata(); // this.seacthdata();
}
componentWillReceiveProps(nextProps) {
// console.log("46");
// console.log(nextProps);
// console.log(this.props);
if (nextProps.boolgalist != this.props.boolgalist) {
// console.log("50");
// console.log(nextProps.user);
if (nextProps.boolgalist !== undefined) {
// console.log("53");
// console.log(nextProps.user);
this.setState({
boolgalist: nextProps.boolgalist,
})
}
}
} }
LimitNumber=(txt)=> { LimitNumber=(txt)=> {
var str = txt; var str = txt;
@ -61,7 +81,7 @@ class TraineetraininginformationModal extends Component {
} }
render() { render() {
var columns; var columns;
if(this.props.boolgalis&&this.props.boolgalist === true) { if(this.state.boolgalist&&this.state.boolgalist === true) {
columns = [ columns = [
{ {
title: '关卡', title: '关卡',

@ -45,7 +45,8 @@ function loadMonacoResouce(callback) {
if (window.location.port == 3007) { if (window.location.port == 3007) {
prefix = '' prefix = ''
} else { } else {
_url_origin = `https://testeduplus2.educoder.net/`; // _url_origin = `https://testeduplus2.educoder.net/`;
_url_origin = 'http://47.96.87.25:48080';
} }
const $ = window.$; const $ = window.$;

@ -6,7 +6,8 @@ export function loadSshScript(callback) {
if (window.location.port == 3007) { if (window.location.port == 3007) {
prefix = '' prefix = ''
} else { } else {
_url_origin = `https://testeduplus2.educoder.net/`; // _url_origin = `https://testeduplus2.educoder.net/`;
_url_origin = 'http://47.96.87.25:48080';
} }
const $ = window.$; const $ = window.$;
// 未加载过 // 未加载过

@ -18,7 +18,7 @@ import Trialapplication from "../login/Trialapplication";
const $ = window.$; const $ = window.$;
const versionNum = '0001'; const versionNum = '0001';
// let _url_origin = getUrl() // let _url_origin = getUrl()
let _url_origin=`https://testeduplus2.educoder.net`; let _url_origin=`http://47.96.87.25:48080`;
// let _url_origin=`https://www.educoder.net`; // let _url_origin=`https://www.educoder.net`;
if (!window['indexHOCLoaded']) { if (!window['indexHOCLoaded']) {
@ -30,9 +30,6 @@ if (!window['indexHOCLoaded']) {
$('head').append($('<link rel="stylesheet" type="text/css" />') $('head').append($('<link rel="stylesheet" type="text/css" />')
.attr('href', `${_url_origin}/stylesheets/css/edu-common.css?1525440977`)); .attr('href', `${_url_origin}/stylesheets/css/edu-common.css?1525440977`));
$('head').append($('<link rel="stylesheet" type="text/css" />')
.attr('href', `${_url_origin}/stylesheets/css/edu-common.css?1525440977`));
$('head').append($('<link rel="stylesheet" type="text/css" />') $('head').append($('<link rel="stylesheet" type="text/css" />')
.attr('href', `${_url_origin}/stylesheets/educoder/edu-main.css?1525440977`)); .attr('href', `${_url_origin}/stylesheets/educoder/edu-main.css?1525440977`));

@ -546,6 +546,7 @@ class Newshixuns extends Component {
// const { id } = response.data; // const { id } = response.data;
// if (id) { // if (id) {
if(this.state.file !== undefined){ if(this.state.file !== undefined){
console.log("549");
this.deleteAttachment(this.state.file); this.deleteAttachment(this.state.file);
this.setState({ this.setState({
file:undefined, file:undefined,
@ -577,6 +578,7 @@ class Newshixuns extends Component {
postapplyvisible: false, postapplyvisible: false,
}) })
if(this.state.file !== undefined){ if(this.state.file !== undefined){
console.log("580");
this.deleteAttachment(this.state.file); this.deleteAttachment(this.state.file);
this.setState({ this.setState({
file:undefined, file:undefined,
@ -662,6 +664,7 @@ class Newshixuns extends Component {
cancelText: '取消', cancelText: '取消',
// content: 'Some descriptions', // content: 'Some descriptions',
onOk: () => { onOk: () => {
console.log("665")
this.deleteAttachment(file) this.deleteAttachment(file)
}, },
onCancel() { onCancel() {
@ -671,7 +674,7 @@ class Newshixuns extends Component {
return false; return false;
} }
deleteAttachment = (file) => { deleteAttachment = (file) => {
// console.log(file); console.log(file);
let id=file.response ==undefined ? file.id : file.response.id let id=file.response ==undefined ? file.id : file.response.id
const url = `/attachments/${id}.json` const url = `/attachments/${id}.json`
axios.delete(url, { axios.delete(url, {
@ -760,6 +763,7 @@ class Newshixuns extends Component {
} }
if(thiss.state.file !== undefined){ if(thiss.state.file !== undefined){
console.log("763")
thiss.deleteAttachment(thiss.state.file); thiss.deleteAttachment(thiss.state.file);
thiss.setState({ thiss.setState({
file:file file:file

Loading…
Cancel
Save