Merge branches 'dev_aliyun', 'develop' and 'master' of https://bdgit.educoder.net/Hjqreturn/educoder into dev_aliyun

dev_forum
杨树明 5 years ago
commit 237bf4c821

@ -454,7 +454,7 @@ class GamesController < ApplicationController
tip_exception("初始代码为空,代码重置失败") if @content.nil? tip_exception("初始代码为空,代码重置失败") if @content.nil?
# 将tpm的代码内容同步更新到tpi # 将tpm的代码内容同步更新到tpi
update_file_content(@content, @myshixun.repo_path, path, current_user.mail, current_user.full_name, "reset_original_code") update_file_content(@content, @myshixun.repo_path, path, current_user.git_mail, current_user.real_name, "reset_original_code")
rescue Exception => e rescue Exception => e
uid_logger_error("#{e.message}") uid_logger_error("#{e.message}")
tip_exception("初始化代码失败") tip_exception("初始化代码失败")
@ -471,7 +471,7 @@ class GamesController < ApplicationController
# else # else
# content # content
# end # end
update_file_content(content, @myshixun.repo_path, path, current_user.mail, current_user.full_name, "game passed reset") update_file_content(content, @myshixun.repo_path, path, current_user.git_mail, current_user.real_name, "game passed reset")
else else
tip_exception("代码重置失败,代码为空") tip_exception("代码重置失败,代码为空")
end end

@ -769,7 +769,7 @@ class ShixunsController < ApplicationController
def update_file def update_file
content = params[:content] content = params[:content]
author_name = current_user.full_name author_name = current_user.real_name
author_email = current_user.git_mail author_email = current_user.git_mail
@content = update_file_content content, @repo_path, @path, author_email, author_name, "Edit by browser" @content = update_file_content content, @repo_path, @path, author_email, author_name, "Edit by browser"
end end

@ -502,7 +502,7 @@ class Coursesleftnav extends Component{
NavmodalValues:"名称不能为空" NavmodalValues:"名称不能为空"
}) })
return return
}else if(NavmodalValue.length>20){ }else if(NavmodalValue.length>60){
this.setState({ this.setState({
NavmodalValuetype:true, NavmodalValuetype:true,
NavmodalValues:"名称不能超过60个字" NavmodalValues:"名称不能超过60个字"

@ -990,8 +990,15 @@ samp {
.newcourses .ant-input{ .newcourses .ant-input{
width:280px; width:280px;
margin-left: 11px; margin-left: 11px;
height: 40px; height: 40px !important;
} }
.newcourses .ant-input{
width:280px;
margin-left: 11px;
height: 40px !important;
}
.newcourses .ant-select-selection--single{ .newcourses .ant-select-selection--single{
width: 280px; width: 280px;
/*margin-left: 11px;*/ /*margin-left: 11px;*/

@ -1,5 +1,5 @@
import React, {Component} from "React"; import React, {Component} from "React";
import {Form, Select, Input, Button, Checkbox, DatePicker,Spin,Icon} from "antd"; import {Form, Select, Input, Button, Checkbox, DatePicker,Spin,Icon,AutoComplete} from "antd";
import ApplyForAddOrgModal from '../../user/modal/ApplyForAddOrgModal'; import ApplyForAddOrgModal from '../../user/modal/ApplyForAddOrgModal';
import axios from 'axios'; import axios from 'axios';
import "../css/Courses.css"; import "../css/Courses.css";
@ -47,8 +47,8 @@ class CoursesNew extends Component {
let coursesId = this.props.match.params.coursesId; let coursesId = this.props.match.params.coursesId;
let user_school=this.props.current_user&&this.props.current_user.user_school; let user_school=this.props.current_user&&this.props.current_user.user_school;
this.getschool("") // this.getschool("")
this.Searchvalue("") // this.Searchvalue("")
if (coursesId != undefined) { if (coursesId != undefined) {
let url = "/courses/" + coursesId + "/settings.json" let url = "/courses/" + coursesId + "/settings.json"
axios.get(url).then((result) => { axios.get(url).then((result) => {
@ -286,7 +286,7 @@ class CoursesNew extends Component {
this.setState({ this.setState({
searchlist: result.data.course_lists, searchlist: result.data.course_lists,
// course:value, // course:value,
fetching: false
}) })
} }
// this.props.form.setFieldsValue({ // this.props.form.setFieldsValue({
@ -298,10 +298,11 @@ class CoursesNew extends Component {
} }
handleSearch=(value)=>{ handleSearch=(value)=>{
if(value!=""){ if(value!=""){
this.props.form.setFieldsValue({ this.props.form.setFieldsValue({
classroom:value, classroom:value,
// course:value course:value
}); });
this.Searchvalue(value) this.Searchvalue(value)
} }
@ -311,7 +312,7 @@ class CoursesNew extends Component {
handleChange=(value)=>{ handleChange=(value)=>{
this.props.form.setFieldsValue({ this.props.form.setFieldsValue({
// course:value, course:value,
classroom:value classroom:value
}) })
}; };
@ -319,21 +320,26 @@ class CoursesNew extends Component {
handleSearchschool=(value)=>{ handleSearchschool=(value)=>{
if(value!="") { if(value!="") {
this.props.form.setFieldsValue({ // this.props.form.setFieldsValue({
// school: value, // // school: value,
fetching: true, // fetching: true,
}); // });
this.setState({
fetching: true
})
this.getschool(value) this.getschool(value)
} }
}; };
handleChangeschools=(value)=>{ handleChangeschools=(value)=>{
this.props.form.setFieldsValue({ // this.props.form.setFieldsValue({
// school: value, // // school: value,
fetching: true, // fetching: true,
}); // });
// this.setState({
// fetching: true
// })
} }
handleChangeschool=(value)=>{ handleChangeschool=(value)=>{
@ -359,7 +365,7 @@ class CoursesNew extends Component {
if (result.data.status===0) { if (result.data.status===0) {
this.setState({ this.setState({
searchlistscholl: result.data.school_names, searchlistscholl: result.data.school_names,
// school: value fetching: false
}) })
} }
@ -420,8 +426,7 @@ class CoursesNew extends Component {
`} `}
</style> </style>
<Form onSubmit={this.handleSubmit} <Form onSubmit={this.handleSubmit} className={"edu-back-white newcourses"}>
className={"edu-back-white newcourses"}>
{/*内容*/} {/*内容*/}
<style> <style>
{` {`
@ -435,15 +440,16 @@ class CoursesNew extends Component {
width: 280px !important; width: 280px !important;
height: 160px; height: 160px;
} }
.construction{ .construction .ant-input{
width: 280px !important; width: 280px !important;
margin-left: 0px !important;
}
.construction {
width: 280px;
margin-left: 10px; margin-left: 10px;
} }
`} `}
</style> </style>
{/*<div className="stud-class-set bor-bottom-greyE padding10200">*/}
{/*</div>*/}
<div className="stud-class-set bor-bottom-greyE padding10200 "> <div className="stud-class-set bor-bottom-greyE padding10200 ">
<div className={"TabsWarpcourse"}> <div className={"TabsWarpcourse"}>
@ -451,18 +457,15 @@ class CoursesNew extends Component {
{getFieldDecorator('course', { {getFieldDecorator('course', {
rules: [{required: true, message: "不能为空"}], rules: [{required: true, message: "不能为空"}],
})( })(
<Select
showSearch <AutoComplete style={{ width: 280 }}
onSearch={this.handleSearch}
// onChange={this.handleChange}
className={"fl construction "} className={"fl construction "}
placeholder="例如:数据结构" placeholder="例如:数据结构"
// value={this.state.course}
onSearch={this.handleSearch}
onChange={this.handleChange}
onFocus={()=>this.Searchvalue("")}
allowClear={true}
> >
{options} {options}
</Select> </AutoComplete>
)} )}
<span className={"newcoursestitle fl"}> <span className={"newcoursestitle fl"}>
{/*错误示例数据结构2017本部数据结构2017秋季数据结构2017电子商务1班*/} {/*错误示例数据结构2017本部数据结构2017秋季数据结构2017电子商务1班*/}
@ -632,18 +635,14 @@ class CoursesNew extends Component {
{getFieldDecorator('school', { {getFieldDecorator('school', {
rules: [{required: true, message: "不能为空"}], rules: [{required: true, message: "不能为空"}],
})( })(
<Select <AutoComplete style={{ width: 280 }}
showSearch onSearch={this.handleSearchschool}
// onChange={this.handleChangeschools}
className={"fl construction mr10 "} className={"fl construction mr10 "}
placeholder="请输入并选择课本堂的所属单位" placeholder="请输入并选择课本堂的所属单位"
// value={this.state.school}
onSearch={this.handleSearchschool}
// notFoundContent={this.state.fetching ? <Spin size="small" /> : null}
onChange={this.handleChangeschools}
allowClear={true}
> >
{optionschool} {optionschool}
</Select> </AutoComplete>
)} )}
<span className={"newcoursestitle fl"}> <span className={"newcoursestitle fl"}>
{/*(输入内容出现匹配的下拉菜单←同账号管理的单位信息填写)*/} {/*(输入内容出现匹配的下拉菜单←同账号管理的单位信息填写)*/}
@ -651,7 +650,7 @@ class CoursesNew extends Component {
<div id='isschool'></div> <div id='isschool'></div>
</Form.Item> </Form.Item>
{searchlistscholl.length===0?<div style={{height:"20px",lineHeight:"20px"}} className="ml20"> {searchlistscholl.length===0&&this.state.fetching===true?<div style={{height:"20px",lineHeight:"20px"}} className="ml20">
<span> <span>
<span style={{color: '#CDCDCD'}}>未找到包含{school}的高校</span> <span style={{color: '#CDCDCD'}}>未找到包含{school}的高校</span>
<span style={{color: '#4CACFF', cursor: 'pointer'}} onClick={this.showApplyForAddOrgModal}>申请新增</span> <span style={{color: '#4CACFF', cursor: 'pointer'}} onClick={this.showApplyForAddOrgModal}>申请新增</span>

@ -217,7 +217,7 @@ class ShixunsHome extends Component {
<div className="square-Item" key={key} id={item.id} style={{width:'286px'}}> <div className="square-Item" key={key} id={item.id} style={{width:'286px'}}>
<div className="tag-green"> <div className="tag-green">
<span className="tag-name"> {item.name}</span> <span className="tag-name"> {item.tag_name}</span>
<img style={{display:item.tag_name===null?"none":'block'}} src={require(`./tag2.png`)}/> <img style={{display:item.tag_name===null?"none":'block'}} src={require(`./tag2.png`)}/>
</div> </div>

@ -1869,6 +1869,7 @@ export default class TPMsettings extends Component {
placeholder="请选择开启时间" placeholder="请选择开启时间"
value={opening_time===null||opening_time===""?"":moment(opening_time, dateFormat)} value={opening_time===null||opening_time===""?"":moment(opening_time, dateFormat)}
onChange={this.onChangeTimePicker} onChange={this.onChangeTimePicker}
dropdownClassName="hideDisable"
/> />
<label style={{top:'6px'}} className="color-grey-9 ml10" >为空则学员在实训发布后能随时开启实训挑战否则学员在开启时间后才能开启实训挑战</label> <label style={{top:'6px'}} className="color-grey-9 ml10" >为空则学员在实训发布后能随时开启实训挑战否则学员在开启时间后才能开启实训挑战</label>
</span> </span>

@ -1287,6 +1287,7 @@ class Newshixuns extends Component {
placeholder="请选择开启时间" placeholder="请选择开启时间"
onChange={this.onChangeTimePicker} onChange={this.onChangeTimePicker}
disabledTime={disabledDateTime} disabledTime={disabledDateTime}
dropdownClassName="hideDisable"
/> />
<label style={{top: '6px'}} className="color-grey-6 ml10"> <label style={{top: '6px'}} className="color-grey-6 ml10">
为空则学员在实训发布后能随时开启实训挑战否则学员在开启时间后才能开启实训挑战 为空则学员在实训发布后能随时开启实训挑战否则学员在开启时间后才能开启实训挑战

Loading…
Cancel
Save