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

dev_aliyun_beta
杨树林 6 years ago
commit 7be3e9708f

@ -15,17 +15,10 @@ class AttachmentsList extends Component{
<p key={key} className="clearfix mb3">
<a className="color-grey fl">
<i className="font-14 color-green iconfont icon-fujian mr8"></i>
</a>
{
item.is_pdf && item.is_pdf == true ?
<ConditionToolTip title={item.title} condition={item.title && item.title.length > 30 }>
<a href={item.url} className="mr12 fl task-hide" length="58" target="_blank" style={{"maxWidth":"432px"}}>{item.title}</a>
</ConditionToolTip>
:
<ConditionToolTip title={item.title} condition={item.title && item.title.length > 30 }>
<a href={item.url} className="mr12 fl task-hide" length="58" style={{"maxWidth":"432px"}}>{item.title}</a>
</ConditionToolTip>
}
</a>
<ConditionToolTip title={item.title} condition={item.title && item.title.length > 30 }>
<a href={item.url} className="mr12 fl task-hide" length="58" target={ item.is_pdf && item.is_pdf == true ? "_blank" : "_self" } style={{"maxWidth":"432px"}}>{item.title}</a>
</ConditionToolTip>
<span className="color-grey mt2 color-grey-6 font-12">{item.filesize}</span>
</p>
)

@ -7,7 +7,6 @@ import axios from 'axios';
import { TPMIndexHOC } from '../tpm/TPMIndexHOC';
import { CNotificationHOC } from './common/CNotificationHOC'
import {ImageLayerOfCommentHOC} from '../page/layers/ImageLayerOfCommentHOC'
import "./css/Courses.css"
//引入对应跳转的组件
@ -265,7 +264,10 @@ const GraduationTasksSubmiteditApp=Loadable({
loading: Loading,
})
const Generaljobbankdetails =Loadable({
loader: () => import('../../modules/courses/questionbank/Generaljobbankdetails'),
loading: Loading,
})
class CoursesIndex extends Component{
constructor(props) {
@ -445,7 +447,13 @@ class CoursesIndex extends Component{
// console.log(commons)
return (
<Switch {...this.props}>
{/*Generaljobbankdetails*/}
{/* 普通作业题库详情*/}
<Route path="/courses/questionbank" exact
render={
(props) => (<Generaljobbankdetails {...this.props} {...props} {...this.state} />)
}
></Route>
{/* 资源列表页 */}
<Route path="/courses/:coursesId/file/:Id" exact
render={

@ -177,6 +177,7 @@ class CommonWorkItem extends Component{
} */}
</p>
<p className="color-grey-9 clearfix">
{ item.author && <span className="mr20 fl">{item.author}</span> }
{item.commit_count===undefined?"":<span className="mr20 fl">{item.commit_count} 已交</span>}
{item.uncommit_count===undefined?"":<span className="mr20 fl">{item.uncommit_count} 未交</span>}
{

@ -1061,7 +1061,7 @@ samp {
.newcoursestitle{
font-size: 12px;
color: #989898;
margin-left: 10px;
margin-left: 40px;
}
.coursenavbox .ant-form-item-label{

@ -134,6 +134,7 @@ class ExerciseListItem extends Component{
{/*</li>*/}
</p>
<p className="color-grey-9 clearfix">
{ item.author && <span className="mr20 fl">{item.author}</span> }
{item.exercise_status===1?"":<span className="mr20 fl">{item.exercise_answer} 已答</span>}
{item.exercise_status===1?"":<span className="mr20 fl">{item.exercise_unanswer} 未答</span>}
{item.unreview_count===null||item.exercise_status===1?"":<span className="mr20 fl">{item.unreview_count} 未评数</span> }

@ -553,6 +553,9 @@ class ExerciseReviewAndAnswer extends Component{
height:16px;
margin-top:2px;
}
.standardAnswer.editormd-html-preview,.answerStyle.editormd-html-preview{
width:100%!important
}
`}</style>
{/*<p style={{height:"60px"}}></p>*/}
<Modals
@ -716,7 +719,7 @@ class ExerciseReviewAndAnswer extends Component{
<span className="fr">
{
// 填空(一直都有调分),和简答题调分:老师身份 已经评分的才能出现调分按钮
isAdmin && ((parseInt(item.answer_status) == 1 && item.question_type == 4) || item.question_type == 3) ?
isAdmin && ((parseInt(item.answer_status) != 0 && item.question_type == 4) || item.question_type == 3) ?
<WordsBtn style="blue" className="mr20 font-16 fl" onClick={()=>this.showSetScore(key,item.setScore,item.q_position+"_"+item.question_type)}>调分</WordsBtn>:""
}
{
@ -724,11 +727,17 @@ class ExerciseReviewAndAnswer extends Component{
isAdmin && parseInt(item.answer_status) == 0 && item.question_type == 4 ?
<span className="color-red fl mr20">未批</span>:""
}
{
// 客观题:老师||学生(试卷已截止且答案公开)显示正确答案
item.question_type < 3 && item.standard_answer_show ?
<span className="font-16 ml20">
正确答案{ item.standard_answer_show }
</span>:""
}
{
//(老师身份且除实训题外) || (学生身份且试卷已经截止)就显示用户当前题目所得分数
( isAdmin || (isStudent && exercise.exercise_status == 3)) && item.question_type != 5 && item.user_score ?
<span className="font-16 ml20">
<i className={parseInt(item.answer_status) ==0 ? "iconfont icon-htmal5icon19 color-red font-20 fl":parseInt(item.answer_status) ==1 ? "fl iconfont icon-wancheng font-20 color-green" :"iconfont icon-htmal5icon19 color-orange-tip font-20 fl"}></i>
<span><span className={parseInt(item.answer_status) == 0 ?"color-red":parseInt(item.answer_status) == 1 ?"color-green":"color-orange-tip"}>{item.user_score}</span> </span>
</span> : ""
}

@ -195,8 +195,8 @@ class SingleEditor extends Component{
<div>
<RadioGroup onChange={this.onOptionClick} value={standard_answers[0]}>
{/* disabled={exerciseIsPublish} */}
<Radio value={true} ></Radio>
<Radio value={false} ></Radio>
<Radio value={true} >正确</Radio>
<Radio value={false} ></Radio>
</RadioGroup>
{/* not work */}
{/* <Radio value={standard_answers[0]} onClick={() => this.onOptionClick(0)} disabled={exerciseIsPublish}></Radio>

@ -108,7 +108,7 @@ class fillEmpty extends Component{
array.map((item,key)=>{
return(
<li className="df mb10 emptyPanel">
<span className="mr10 lineh-35 font-16">答案(填空{key+1})</span>
<span className="mr10 lineh-35 font-16">答案填空{key+1}:</span>
<div className="flex1" style={{width:"0"}}>
{
user_exercise_status == 1 ?
@ -135,7 +135,7 @@ class fillEmpty extends Component{
{ questionType.standard_answer && questionType.standard_answer.map((item,k)=>{
return(
<ul className="df font-16">
<span className="mr10">填空{k+1}:</span>
<span className="mr10">答案填空{k+1}:</span>
<li className="flex1">
{
item.answer_text && item.answer_text.map((i,index)=>{

@ -364,14 +364,16 @@ class CoursesNew extends Component {
search:value
}).then((result)=>{
// console.log(result.data)
if (result.data.message===undefined) {
if(result){
if (result.data.message===undefined) {
this.setState({
searchlist: result.data.course_lists,
// course:value,
this.setState({
searchlist: result.data.course_lists,
// course:value,
})
}
})
}
}
// this.props.form.setFieldsValue({
// course:value
// })
@ -489,6 +491,7 @@ class CoursesNew extends Component {
if(addonAftertwo){
addonAfteronelens=String(addonAftertwo).length;
}
console.log(options);
return (
<React.Fragment>
@ -585,8 +588,9 @@ class CoursesNew extends Component {
onChange={this.handleChange}
className={"fl construction "}
placeholder="例如:数据结构"
dataSource={options}
>
{options}
</AutoComplete>
)}
<span className={"newcoursestitle fl"}>
@ -698,7 +702,7 @@ class CoursesNew extends Component {
}
]}
)(
<Input id="credit" className="yslzxueshi" placeholder="例如3" addonAfter={String(addonAfteronelen)+"/5"} maxLength={5}/>
<Input id="credit" className="yslzxueshi" placeholder="例如3" addonAfter={String(addonAfteronelens)+"/5"} maxLength={5}/>
)}
</Form.Item>
<Form.Item

@ -626,6 +626,7 @@ class Goldsubject extends Component {
}
console.log(addonAfteronelenone);
console.log(addonAfteronelentwo);
console.log(options);
return (
<React.Fragment>

@ -103,11 +103,11 @@ class Poll extends Component{
this.InitList(e.key,StudentList_value,page);
}
// 获取列表数据
InitList=(type,search,page)=>{
InitList=(type,search,page,bank_checkValue)=>{
this.setState({
isSpin:true
})
let {pageSize}=this.state
let { pageSize,checkBoxValues }=this.state
let coursesId=this.props.match.params.coursesId;
let url='/courses/'+coursesId+'/polls.json?limit='+pageSize+'&page='+page
if(type!="0"){
@ -123,7 +123,7 @@ class Poll extends Component{
course_types:result.data.course_types,
polls_counts:result.data.polls_counts,
isSpin:false,
checkBoxValues:[]
checkBoxValues: bank_checkValue ? bank_checkValue : []
})
}
}).catch((error)=>{
@ -209,12 +209,6 @@ class Poll extends Component{
//判断是否有选中数据
if(this.state.checkBoxValues.length==0){
this.props.showNotification("请先在列表中选择数据");
// this.setState({
// modalsType:true,
// modalsTopval:"请先在列表中选择数据",
// modalsBottomval:'',
// loadtype:true
// })
}else{
if(value != "bank"){
this.setState({
@ -325,15 +319,13 @@ class Poll extends Component{
}
// 题库选用成功后,立即发布,刷新页面
useBankSuccess=(checkValue,value)=>{
debugger;
this.setState({
isSpin:true
})
let{type,StudentList_value,page}=this.state
this.InitList(type,StudentList_value,page);
this.InitList(type,StudentList_value,page,value);
this.setState({
checkBoxValues:[]
})
let coursesId=this.props.match.params.coursesId;
let url=`/courses/${coursesId}/polls/publish_modal.json`;
axios.get(url,{
@ -351,10 +343,6 @@ class Poll extends Component{
})
}
}
this.setState({
course_groups:list,
checkBoxValues:value
})
this.setState({
modalname:"立即发布",
modaltype:response.data.un_publish > 0 ? 1 : 2,
@ -369,6 +357,8 @@ class Poll extends Component{
Savesname:"立即发布",
Cancel:this.homeworkhide,
Saves:this.homeworkstartend,
course_groups:list,
checkBoxValues:value
})
}
}).catch((error) => {
@ -425,7 +415,7 @@ class Poll extends Component{
addname:undefined,
addnametype:false,
addnametab:undefined,
checkBoxValues:[]
// checkBoxValues:[]
})
}

@ -54,6 +54,7 @@ class PollListItem extends Component{
}
</p>
<p className="color-grey-9 clearfix">
{ item.author && <span className="mr20 fl">{item.author}</span> }
{
item.polls_status !=1 &&
<span className="fl mt3">

@ -0,0 +1,143 @@
import React, {Component} from "react";
import {Link, NavLink} from 'react-router-dom';
import {WordsBtn, ActionBtn} from 'educoder';
import axios from 'axios';
import {
notification
} from "antd";
import CoursesListType from '../coursesPublic/CoursesListType';
import '../css/members.css';
import "../common/formCommon.css";
import '../css/Courses.css';
import '../css/busyWork.css';
import '../poll/pollStyle.css';
class Generaljobbankdetails extends Component {
constructor(props) {
super(props);
// this.answerMdRef = React.createRef();
this.state = {
tab: ["0"],
}
}
//切换tab
ChangeTab = (e) => {
// console.log(e);
this.setState({
tab: e
})
try {
var currenturl = window.location.href;
var newUrl = (currenturl.split("?"))[0];
window.history.pushState('','',newUrl+'?tab='+e);
}catch (e) {
console.log(e);
console.log("44");
}
}
componentDidMount() {
// console.log("父组件加载框");
const query = this.props.location.search;
const type = query.split('?tab=');
// let sum = []
// sum.push(type[1])
// console.log("componentDidMountcomponentDidMount");
// console.log(type);
this.setState({
tab: type[1],
})
let querys = this.props.location.pathname;
const types = querys.split('/');
// console.log(types);
this.setState({
shixuntypes: types[3]
})
}
confirmysl(child,i) {
if(i===1){
child.daochushixunbaogao();
}
if(i===2){
child.daochuzuoye();
}
}
homeworkendss(child){
// child.homeworkends();
}
homeworkstarts(child){
// child.homeworkstart();
}
workshowmodels(child){
// child.workshowmodel();
}
/// 确认是否下载
bindRef = ref => { this.child = ref }
///////////////教师截止
render() {
let {tab, teacherdatapage, jobsettingsdatapage} = this.state;
const isAdmin = this.props.isAdmin();
// console.log(119)
console.log(jobsettingsdatapage);
return (
<div className="newMain clearfix ">
<div className={"educontent mt10 mb20"} style={{width: "1200px"}}>
<div className="educontent mb20">
<p className="clearfix mb20 mt10">
<a className="btn colorgrey fl hovercolorblue ">题库</a>
<span className="color-grey-9 fl ml3 mr3">&gt;</span>
<a
className=" btn colorgrey fl hovercolorblue "
>详情</a>
<span className="color-grey-9 fl ml3 mr3">&gt;</span>
<WordsBtn className="fl">作业详情</WordsBtn>
</p>
</div>
<div className="educontent mb20">
<p className=" fl color-black summaryname" style={{heigth: "33px"}}>
MySQL数据库编程开发实训基础篇
</p>
<CoursesListType
typelist={["公开"]}
/>
</div>
<div className="edu-back-white ">
<div className="stud-class-set bor-bottom-greyE ">
<div className=" clearfix edu-back-white poll_list">
<a className={parseInt(tab) === 0 ? "active" : ""} onClick={(e) => this.ChangeTab(0)}>内容详情</a>
<a className={parseInt(tab) === 1 ? "active" : ""} onClick={(e) => this.ChangeTab(1)}>参考答案</a>
<a className="fr color-blue font-16" >发送</a>
<a className="fr color-blue font-16" >编辑</a>
<a className="fr color-blue font-16" >删除</a>
</div>
</div>
</div>
</div>
</div>
)
}
}
export default Generaljobbankdetails;

@ -333,7 +333,7 @@ class ShixunhomeWorkItem extends Component{
<p className="color-grey panel-lightgrey mt16 fl">
<span className="mr50">
{/* <a href="/users/innov" className="panel-name-small hide fl mr15 mr30 color-grey3">{discussMessage.author.name}</a> */}
{ discussMessage.author && <span className="mr15 color-grey-3">{discussMessage.author}</span> }
{discussMessage.commit_count===undefined?"":<span className="mr15 color-grey9">{discussMessage.commit_count} 已交</span>}
{discussMessage.uncommit_count===undefined?"":<span className="mr15 color-grey9">{discussMessage.uncommit_count} 未交</span>}
{/*<span className="mr15 color-grey9">{discussMessage.replies_count} 3 未评</span>*/}

Loading…
Cancel
Save