dev_jupyter
杨树林 5 years ago
parent c154447119
commit e947930ad8

@ -755,6 +755,10 @@ class App extends Component {
(props) => (<RecordDetail {...this.props} {...props} {...this.state} />)
}
/>
<Route path="/myproblems/:id/:tab?"
render={
(props) => (<StudentStudy {...this.props} {...props} {...this.state} />)
} />
<Route path="/question/edit/:id"
render={
(props) => (<Questionitem_banks {...this.props} {...props} {...this.state} />)
@ -768,15 +772,6 @@ class App extends Component {
render={
(props) => (<Headplugselection {...this.props} {...props} {...this.state} />)
} />
<Route path="/myproblems/:id/:tab?"
render={
(props) => (<StudentStudy {...this.props} {...props} {...this.state} />)
} />
<Route path="/problems"
render={
(props) => (<Developer {...this.props} {...props} {...this.state} />)
}/>
<Route path="/paperreview"
render={
@ -786,6 +781,11 @@ class App extends Component {
render={
(props) => (<Testpaperlibrary {...this.props} {...props} {...this.state} />)
}/>
<Route path="/problems"
render={
(props) => (<Developer {...this.props} {...props} {...this.state} />)
}/>
<Route path="/question"
render={
(props) => (<Headplugselection {...this.props} {...props} {...this.state} />)

@ -215,10 +215,16 @@ class Testpaperlibrary extends Component {
></Headplugselection>
{/*头部*/}
<Contentpart
{...this.props}
{...this.state}
setdifficulty={(bool)=>this.setdifficulty(bool)}
>
</Contentpart>
{/*内容*/}
{
items_count&&items_count>10?
<div className="mb30 clearfix educontent mt40 intermediatecenter">

@ -14,8 +14,9 @@ import {
import './../testioncss/testioncss.css';
import NoneDatas from '../component/NoneDatas';
import LoadingSpin from '../../../common/LoadingSpin';
import Contentquestionbank from "./Contentquestionbank";
import LoadingSpin from '../../../common/LoadingSpin';
import Listjihe from "./Listjihe";
const { TabPane } = Tabs;
const Search = Input.Search;
class Contentpart extends Component {
@ -30,6 +31,10 @@ class Contentpart extends Component {
componentDidMount(){
}
//跳转人工组卷
Mantegeneration=()=>{
this.props.history.push('/question');
}
render() {
@ -40,7 +45,7 @@ class Contentpart extends Component {
width:'93px',
height:'120px',
}}>
<p className="questiontype " >简单</p>
<p className="questiontype ">简单</p>
<p className="questiontypeheng"></p>
<p className="questiontype " >适中</p>
<p className="questiontypeheng"></p>
@ -78,19 +83,20 @@ class Contentpart extends Component {
position:"absolute",
top: "0px",
paddingLeft: "170px",
width: "100%",
}}>
<style>
{
`
.xaxisreverseorder .ant-input-group-addon{
.sortinxdirection .ant-input-group-addon{
width: 60px !important;
}
.xaxisreverseorder .ant-input-lg {
.sortinxdirection .ant-input-lg {
height: 41px;}
.xaxisreverseorder .ant-popover{
.sortinxdirection .ant-popover{
top: 348px !important;
}
@ -102,17 +108,16 @@ class Contentpart extends Component {
`
}
</style>
<div className="xaxisreverseorder">
{
defaultActiveKey===0||defaultActiveKey==="0"?
<a href={'/question/newitem'}>
<div className="newbutoon">
<p className="newbutoontes" >新增</p>
</div>
</a>
:""
}
<Popover getPopupContainer={trigger => trigger.parentNode} placement="bottom" trigger="hover" content={contents} >
<div className="sortinxdirection">
<Search
style={{ width: "347px",marginRight:"60px",}}
placeholder="请输入题目名称、内容"
enterButton
size="large"
onInput={(e)=>this.props.setdatafunsval(e)}
onSearch={ (value)=>this.props.setdatafuns(value)} />
<Popover placement="bottom" trigger="hover" content={contents} >
<div className=" sortinxdirection mr10">
<div className="subjecttit">
@ -122,19 +127,76 @@ class Contentpart extends Component {
</div>
</Popover>
<Search
style={{ width: "347px",marginRight:"60px",}}
placeholder="请输入题目名称、内容"
enterButton
size="large"
onInput={(e)=>this.props.setdatafunsval(e)}
onSearch={ (value)=>this.props.setdatafuns(value)} />
<div className="xaxisreverseorder" style={{
width:"388px"
}}>
<a href={'/question/newitem'}>
<div className="newbutoonss">
<p className="newbutoontess" >智能组卷</p>
</div>
</a>
<a href={'/question'} >
<div className="newbutoons mr39">
<p className="newbutoontess" >人工组卷</p>
</div>
</a>
</div>
</div>
</div>
</div>
{/*内容*/}
{
this.props.Contentdata.items === undefined ||this.props.Contentdata.items === null||this.props.Contentdata.items.length===0 ?
<div className=" w100s mb10"></div>
:
<div className=" w100s mb10">
{
defaultActiveKey===1||defaultActiveKey==="1"?
<Contentquestionbank {...this.props} {...this.state} selectallquestionsonthispage={()=>this.props.selectallquestionsonthispage()} ></Contentquestionbank>
:""
}
{
defaultActiveKey===0||defaultActiveKey==="0"?
<Contentquestionbank {...this.props} {...this.state} selectallquestionsonthispage={()=>this.props.selectallquestionsonthispage()}></Contentquestionbank>
:""
}
</div>
}
<div className="minheight">
{/*列表集合*/}
<div className=" w100s">
{
this.props.booljupyterurls===true?
<LoadingSpin></LoadingSpin>
:
this.props.Contentdata.exams === undefined ||this.props.Contentdata.exams === null||this.props.Contentdata.exams.length===0?
<NoneDatas></NoneDatas>
: this.props.Contentdata.exams.map((object, index) => {
return (
<Listjihe {...this.state} {...this.props} items={object}>
</Listjihe>
)
})}
</div>
</div>
</div>

@ -0,0 +1,130 @@
import React, {Component} from "react";
import {Link, NavLink} from 'react-router-dom';
import {WordsBtn, ActionBtn,SnackbarHOC,getImageUrl,markdownToHTML} from 'educoder';
import axios from 'axios';
import {
notification,
Spin,
Table,
Pagination,
Radio
} from "antd";
import './../testioncss/testioncss.css';
const tagArray = [
'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I',
'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R',
'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'
]
class Listjihe extends Component {
constructor(props) {
super(props);
this.state = {
page:1,
name:"单选题",
nd:"简单",
chakanjiexibool:false,
}
}
//初始化
componentDidMount(){
}
chakanjiexibool=()=>{
if(this.state.chakanjiexibool===true){
this.setState({
chakanjiexibool:false
})
}else{
this.setState({
chakanjiexibool:true
})
}
}
//选用
Selectingpracticaltraining=(id)=>{
let data={
item_ids:[id]
}
this.props.getitem_baskets(data);
}
//撤销
Selectingpracticaltrainings=(id)=>{
this.props.getitem_basketss(id);
}
render() {
let {page,name,nd,chakanjiexibool}=this.state;
let {defaultActiveKey,items}=this.props;
////console.log("Listjihe");
////console.log(this.props);
return (
<div className={chakanjiexibool===true?"w100s borderwds283 pd20 mb20":"w100s borderwds pd20 mb20 intermediatecenter"}>
<div className="sortinxdirection w100s">
<div className="sjimg borderwd">
</div>
<div className="w100s verticallayout ml37" >
<div className="w100s"> <p className="sjtitle">前端开发评测试题1</p></div>
<div className="w100s sortinxdirection mt9">
<p className="sjtitles">试题数<span >35</span></p>
<p className="sjtitles ml48">总分<span >100</span></p>
<p className="sjtitles ml48">难度<span >适中</span></p>
</div>
<div className="w100s sortinxdirection mt11">
<div className="w50s sortinxdirection">
<p className='sjtitlesysl'>
更新时间<span>2019-12-09</span>
</p>
<p className='sjtitlesysl'>
使用次数<span>1245</span>
</p>
<p className='sjtitlesysl'>
创建者<span>王老师</span>
</p>
</div>
<div className="w50s xaxisreverseorder">
<p className="viewparsings xiaoshou mr25">
<i className="iconfont icon-shanchu1 font-17 lg ml7 lh30 icontianjiadaohangcolors mr5"></i>
<span>删除</span>
</p>
<a >
<p className="viewparsings xiaoshou mr25" >
<i className="iconfont icon-bianji2 font-17 lg ml7 lh30 icontianjiadaohangcolors mr5"></i>
<span>编辑</span>
</p>
</a>
<p className="viewparsings xiaoshou mr25" >
<i className="iconfont icon-gongkai font-17 lg ml7 lh30 icontianjiadaohangcolors mr5"></i>
<span>公开</span>
</p>
</div>
</div>
</div>
<div className="sjfqks reversedirection">
<div className="newbutoonss">
<p className="newbutoontess" >发起考试</p>
</div>
</div>
</div>
</div>
)
}
}
export default Listjihe;

@ -249,7 +249,7 @@
}
.w100s{
width:100%;
width:100% !important;
}
.stestcen{
text-align: center;
@ -425,6 +425,35 @@
}
.newbutoons{
width:106px;
height:34px;
background:rgba(76,172,255,1);
border-radius:4px;
line-height: 34px;
color:#ffffff;
}
.newbutoonss{
width:106px;
height:34px;
background:rgba(51,189,140,1);
border-radius:4px;
line-height: 34px;
color:#ffffff;
}
.newbutoontess{
width:100%;
height:34px;
font-size:14px;
color:#ffffff;
line-height:34px;
text-align: center;
}
.newbutoontes{
width:100%;
height:42px;
@ -739,3 +768,50 @@
.lh35{
line-height: 35px;
}
.mr39{
margin-right: 30px;
}
.sjimg{
width: 104px;
}
.sjfqks{
width: 100px;
}
.sjtitle{
width:100%;
height:21px;
font-size:16px;
color:#333333;
line-height:21px;
}
.sjtitles{
width:64px;
height:17px;
font-size:12px;
color:#888888;
line-height:17px;
}
.sjtitles span{
color: #333333 !important;
}
.ml48{
margin-left: 48px;
}
.sjtitlesysl{
height:17px;
font-size:12px;
color:#BBBBBB;
line-height:30px;
}
.mt11{
margin-top: 11px;
}
.ml37{
margin-left: 37px;
}

Loading…
Cancel
Save