dev_jupyter
杨树林 5 years ago
parent 2dc893733a
commit edd4a3ea06

@ -37,7 +37,7 @@ class Paperreview extends Component {
myquestion_choicesco: [], myquestion_choicesco: [],
disciplinesdata: [], disciplinesdata: [],
knowledgepoints: [], knowledgepoints: [],
disciplmy:[] disciplmy: []
} }
} }
@ -46,13 +46,43 @@ class Paperreview extends Component {
componentDidMount() { componentDidMount() {
var data = {}
this.getdata(data);
} }
getdata = (data) => { getdata = (data) => {
const url = `/item_baskets.json`;
this.setState({
booljupyterurls: true,
})
axios.get((url), {params: data}).then((response) => {
setTimeout(() => {
this.setState({
booljupyterurls: false,
})
}, 1000);
if (response === null || response === undefined) {
return
}
if (response.data.status === 403 || response.data.status === 401 || response.data.status === 500) {
} else {
}
////console.log("item_banks");
////console.log(response);
this.setState({
Contentdata: response.data,
})
}).catch((error) => {
////console.log(error)
this.setState({
booljupyterurls: false,
})
});
} }
getcontentMdRef = (Ref) => { getcontentMdRef = (Ref) => {
@ -89,8 +119,6 @@ class Paperreview extends Component {
//保存试卷 //保存试卷
} }
@ -118,34 +146,27 @@ class Paperreview extends Component {
` `
} }
</style> </style>
<div className="w1200mss"> <div className="w1200ms">
<div className="w100s mt30"> <div className="w100s mt30">
<Breadcrumb separator=">"> <Breadcrumb separator=">">
<Breadcrumb.Item href="/question">试题库</Breadcrumb.Item> <Breadcrumb.Item href="/question">试题库</Breadcrumb.Item>
<Breadcrumb.Item className={"xiaoshou"} >人工组卷</Breadcrumb.Item> <Breadcrumb.Item className={"xiaoshou"}>人工组卷</Breadcrumb.Item>
<Breadcrumb.Item className={"xiaoshout"}>试卷预览</Breadcrumb.Item> <Breadcrumb.Item className={"xiaoshout"}>试卷预览</Breadcrumb.Item>
</Breadcrumb> </Breadcrumb>
</div> </div>
<Paperreview_item> <Paperreview_item>
</Paperreview_item>
</Paperreview_item>
</div> </div>
</div> </div>
{
item_type === null ? <Bottomsubmit {...this.props} {...this.state} bottomvalue={"保存组卷"}
"" onSubmits={() => this.preservation()} url={'/question'}></Bottomsubmit>
:
<Bottomsubmit {...this.props} {...this.state} bottomvalue={"保存组卷"}
onSubmits={() => this.preservation()} url={'/question'}></Bottomsubmit>
}
</div> </div>
) )

@ -16,6 +16,10 @@ import Itembankstop from "./component/Itembankstop";
import NoneData from './component/NoneData'; import NoneData from './component/NoneData';
import './questioncss/questioncom.css'; import './questioncss/questioncom.css';
import '../tpm/newshixuns/css/Newshixuns.css'; import '../tpm/newshixuns/css/Newshixuns.css';
import Paperreview_single from './Paperreview_single';
import Paperreview_multlple from './Paperreview_multlple';
import Paperreview_judgment from "./Paperreview_judgment";
import Paperreview_program from "./Paperreview_program";
import Choicequestion from './component/Choicequestion'; import Choicequestion from './component/Choicequestion';
import SingleEditor from "./component/SingleEditor"; import SingleEditor from "./component/SingleEditor";
import ChoquesEditor from "./component/ChoquesEditor" import ChoquesEditor from "./component/ChoquesEditor"
@ -28,6 +32,7 @@ class Paperreview_item extends Component {
this.state = { this.state = {
questions:0, questions:0,
totalscore:0, totalscore:0,
total:0,
} }
@ -60,16 +65,70 @@ class Paperreview_item extends Component {
} }
render() { render() {
let {questions,totalscore} = this.state; let {questions,totalscore,total} = this.state;
// //console.log(params); // //console.log(params);
return ( return (
<div className=" clearfix educontent Contentquestionbankstyle w100s w1200fpx mt19"> <div className=" clearfix educontent Contentquestionbankstyle w100s w1200wuh mt19">
<div className="w100s mt20 mb20"> <div className="w100s mt20 mb20">
<div className="w100s sortinxdirection"> <div className="w100s sortinxdirection">
<p className="questionstishu">题数{questions}</p> <p className="questionstishu">题数{questions}</p>
<p className="ml58 questionstotal">总分{totalscore}</p> <p className="ml58 questionstotal">总分{totalscore}</p>
</div> </div>
<div className="questiontypeheng w100s mt19 mb19"></div>
<div className="w100s sortinxdirection">
<div className="pagertdstcolor w50s sortinxdirection">拖动试题可调整排序</div>
<div className="pagertdstcolor w50s xaxisreverseorder">{total}个试题</div>
</div>
{/*单选题*/}
<div className="w100s mt20 mb20 postitonrelati">
<div className="w100s sortinxdirection">
<p className="yldxtit">单选题</p> <p className="ml15 yldxtits">315</p>
</div>
<div className="postitonrelatis xaxisreverseorder">
<div className="scd">删除</div>
<div className="szdfd">设置得分</div>
</div>
<Paperreview_single></Paperreview_single>
</div>
<div className="w100s mt20 mb20 postitonrelati">
<div className="w100s sortinxdirection">
<p className="yldxtit">多选题</p> <p className="ml15 yldxtits">315</p>
</div>
<div className="postitonrelatis xaxisreverseorder">
<div className="scd">删除</div>
<div className="szdfd">设置得分</div>
</div>
<Paperreview_multlple></Paperreview_multlple>
</div>
<div className="w100s mt20 mb20 postitonrelati">
<div className="w100s sortinxdirection">
<p className="yldxtit">判断题</p> <p className="ml15 yldxtits">315</p>
</div>
<div className="postitonrelatis xaxisreverseorder">
<div className="scd">删除</div>
<div className="szdfd">设置得分</div>
</div>
<Paperreview_judgment></Paperreview_judgment>
</div>
<div className="w100s mt20 mb20 postitonrelati">
<div className="w100s sortinxdirection">
<p className="yldxtit">编程题</p> <p className="ml15 yldxtits">315</p>
</div>
<div className="postitonrelatis xaxisreverseorder">
<div className="scd">删除</div>
<div className="szdfd">设置得分</div>
</div>
<Paperreview_program></Paperreview_program>
</div>
</div> </div>
</div> </div>

@ -0,0 +1,110 @@
import React, {Component} from "react";
import {Link, NavLink} from 'react-router-dom';
import {WordsBtn, ActionBtn, getImageUrl,markdownToHTML} from 'educoder';
import axios from 'axios';
import {
notification,
Spin,
Table,
Pagination,
Drawer,
Input,
Button,
Breadcrumb
} from "antd";
import Itembankstop from "./component/Itembankstop";
import NoneData from './component/NoneData';
import './questioncss/questioncom.css';
import '../tpm/newshixuns/css/Newshixuns.css';
//判断题
class Paperreview_judgment extends Component {
constructor(props) {
super(props);
this.state = {
questions:0,
totalscore:0,
total:0,
}
}
//初始化
componentDidMount() {
}
getdata = (data) => {
}
preservation = () => {
}
setitem_type = (item_type) => {
}
render() {
let {questions,totalscore,total,items} = this.state;
// //console.log(params);
return (
<div className="w100s borderwdswuh mt25 mb20 ">
{/*顶部*/}
<div className="w100s sortinxdirection">
<div className=" listjihetixingstit markdown-body" style={{wordBreak: "break-word"}} dangerouslySetInnerHTML={{__html: markdownToHTML(items&&items.name).replace(/▁/g, "▁▁▁")}}>
</div>
</div>
{/*内容*/}
{/*<div className="w100s sortinxdirection">*/}
{/* <p className="w100s listjihetixingstits sortinxdirection ">*/}
{/* {*/}
{/* items.item_type==="JUDGMENT"?*/}
{/* items === undefined ||items === null? "" : items.choices.map((object, index) => {*/}
{/* return (*/}
{/* <p className={index===1? "sortinxdirection ml10":"sortinxdirection " } >*/}
{/* <Radio checked={object.is_answer}>*/}
{/* {object.choice_text}*/}
{/* </Radio>*/}
{/* </p>*/}
{/* )*/}
{/* })*/}
{/* :*/}
{/* items === undefined ||items === null? "" : items.choices.map((object, index) => {*/}
{/* return (*/}
{/* <p className="sortinxdirection ml10" >*/}
{/* {tagArray[index]}*/}
{/* <p style={{wordBreak: "break-word"}} dangerouslySetInnerHTML={{__html: markdownToHTML(object.choice_text).replace(/▁/g, "▁▁▁")}}></p>*/}
{/* </p>*/}
{/* )*/}
{/* })*/}
{/* }*/}
{/* </p>*/}
{/*</div>*/}
</div>
)
}
}
export default Paperreview_judgment

@ -0,0 +1,110 @@
import React, {Component} from "react";
import {Link, NavLink} from 'react-router-dom';
import {WordsBtn, ActionBtn, getImageUrl,markdownToHTML} from 'educoder';
import axios from 'axios';
import {
notification,
Spin,
Table,
Pagination,
Drawer,
Input,
Button,
Breadcrumb
} from "antd";
import Itembankstop from "./component/Itembankstop";
import NoneData from './component/NoneData';
import './questioncss/questioncom.css';
import '../tpm/newshixuns/css/Newshixuns.css';
//多选题
class Paperreview_multlple extends Component {
constructor(props) {
super(props);
this.state = {
questions:0,
totalscore:0,
total:0,
}
}
//初始化
componentDidMount() {
}
getdata = (data) => {
}
preservation = () => {
}
setitem_type = (item_type) => {
}
render() {
let {questions,totalscore,total,items} = this.state;
// //console.log(params);
return (
<div className="w100s borderwdswuh mt25 mb20 ">
{/*顶部*/}
<div className="w100s sortinxdirection">
<div className=" listjihetixingstit markdown-body" style={{wordBreak: "break-word"}} dangerouslySetInnerHTML={{__html: markdownToHTML(items&&items.name).replace(/▁/g, "▁▁▁")}}>
</div>
</div>
{/*内容*/}
{/*<div className="w100s sortinxdirection">*/}
{/* <p className="w100s listjihetixingstits sortinxdirection ">*/}
{/* {*/}
{/* items.item_type==="JUDGMENT"?*/}
{/* items === undefined ||items === null? "" : items.choices.map((object, index) => {*/}
{/* return (*/}
{/* <p className={index===1? "sortinxdirection ml10":"sortinxdirection " } >*/}
{/* <Radio checked={object.is_answer}>*/}
{/* {object.choice_text}*/}
{/* </Radio>*/}
{/* </p>*/}
{/* )*/}
{/* })*/}
{/* :*/}
{/* items === undefined ||items === null? "" : items.choices.map((object, index) => {*/}
{/* return (*/}
{/* <p className="sortinxdirection ml10" >*/}
{/* {tagArray[index]}*/}
{/* <p style={{wordBreak: "break-word"}} dangerouslySetInnerHTML={{__html: markdownToHTML(object.choice_text).replace(/▁/g, "▁▁▁")}}></p>*/}
{/* </p>*/}
{/* )*/}
{/* })*/}
{/* }*/}
{/* </p>*/}
{/*</div>*/}
</div>
)
}
}
export default Paperreview_multlple

@ -0,0 +1,110 @@
import React, {Component} from "react";
import {Link, NavLink} from 'react-router-dom';
import {WordsBtn, ActionBtn, getImageUrl,markdownToHTML} from 'educoder';
import axios from 'axios';
import {
notification,
Spin,
Table,
Pagination,
Drawer,
Input,
Button,
Breadcrumb
} from "antd";
import Itembankstop from "./component/Itembankstop";
import NoneData from './component/NoneData';
import './questioncss/questioncom.css';
import '../tpm/newshixuns/css/Newshixuns.css';
//编程题
class Paperreview_program extends Component {
constructor(props) {
super(props);
this.state = {
questions:0,
totalscore:0,
total:0,
}
}
//初始化
componentDidMount() {
}
getdata = (data) => {
}
preservation = () => {
}
setitem_type = (item_type) => {
}
render() {
let {questions,totalscore,total,items} = this.state;
// //console.log(params);
return (
<div className="w100s borderwdswuh mt25 mb20 ">
{/*顶部*/}
<div className="w100s sortinxdirection">
<div className=" listjihetixingstit markdown-body" style={{wordBreak: "break-word"}} dangerouslySetInnerHTML={{__html: markdownToHTML(items&&items.name).replace(/▁/g, "▁▁▁")}}>
</div>
</div>
{/*内容*/}
{/*<div className="w100s sortinxdirection">*/}
{/* <p className="w100s listjihetixingstits sortinxdirection ">*/}
{/* {*/}
{/* items.item_type==="JUDGMENT"?*/}
{/* items === undefined ||items === null? "" : items.choices.map((object, index) => {*/}
{/* return (*/}
{/* <p className={index===1? "sortinxdirection ml10":"sortinxdirection " } >*/}
{/* <Radio checked={object.is_answer}>*/}
{/* {object.choice_text}*/}
{/* </Radio>*/}
{/* </p>*/}
{/* )*/}
{/* })*/}
{/* :*/}
{/* items === undefined ||items === null? "" : items.choices.map((object, index) => {*/}
{/* return (*/}
{/* <p className="sortinxdirection ml10" >*/}
{/* {tagArray[index]}*/}
{/* <p style={{wordBreak: "break-word"}} dangerouslySetInnerHTML={{__html: markdownToHTML(object.choice_text).replace(/▁/g, "▁▁▁")}}></p>*/}
{/* </p>*/}
{/* )*/}
{/* })*/}
{/* }*/}
{/* </p>*/}
{/*</div>*/}
</div>
)
}
}
export default Paperreview_program

@ -0,0 +1,110 @@
import React, {Component} from "react";
import {Link, NavLink} from 'react-router-dom';
import {WordsBtn, ActionBtn, getImageUrl,markdownToHTML} from 'educoder';
import axios from 'axios';
import {
notification,
Spin,
Table,
Pagination,
Drawer,
Input,
Button,
Breadcrumb
} from "antd";
import Itembankstop from "./component/Itembankstop";
import NoneData from './component/NoneData';
import './questioncss/questioncom.css';
import '../tpm/newshixuns/css/Newshixuns.css';
//单选题
class Paperreview_single extends Component {
constructor(props) {
super(props);
this.state = {
questions:0,
totalscore:0,
total:0,
}
}
//初始化
componentDidMount() {
}
getdata = (data) => {
}
preservation = () => {
}
setitem_type = (item_type) => {
}
render() {
let {questions,totalscore,total,items} = this.state;
// //console.log(params);
return (
<div className="w100s borderwdswuh mt25 mb20 ">
{/*顶部*/}
<div className="w100s sortinxdirection">
<div className=" listjihetixingstit markdown-body" style={{wordBreak: "break-word"}} dangerouslySetInnerHTML={{__html: markdownToHTML(items&&items.name).replace(/▁/g, "▁▁▁")}}>
</div>
</div>
{/*内容*/}
{/*<div className="w100s sortinxdirection">*/}
{/* <p className="w100s listjihetixingstits sortinxdirection ">*/}
{/* {*/}
{/* items.item_type==="JUDGMENT"?*/}
{/* items === undefined ||items === null? "" : items.choices.map((object, index) => {*/}
{/* return (*/}
{/* <p className={index===1? "sortinxdirection ml10":"sortinxdirection " } >*/}
{/* <Radio checked={object.is_answer}>*/}
{/* {object.choice_text}*/}
{/* </Radio>*/}
{/* </p>*/}
{/* )*/}
{/* })*/}
{/* :*/}
{/* items === undefined ||items === null? "" : items.choices.map((object, index) => {*/}
{/* return (*/}
{/* <p className="sortinxdirection ml10" >*/}
{/* {tagArray[index]}*/}
{/* <p style={{wordBreak: "break-word"}} dangerouslySetInnerHTML={{__html: markdownToHTML(object.choice_text).replace(/▁/g, "▁▁▁")}}></p>*/}
{/* </p>*/}
{/* )*/}
{/* })*/}
{/* }*/}
{/* </p>*/}
{/*</div>*/}
</div>
)
}
}
export default Paperreview_single

@ -5,7 +5,12 @@
box-shadow:0px 6px 8px 0px rgba(0,0,0,0.03); box-shadow:0px 6px 8px 0px rgba(0,0,0,0.03);
border-radius:2px; border-radius:2px;
} }
.w1200wuh{
width:1062px;
background:rgba(255,255,255,1);
box-shadow:0px 6px 8px 0px rgba(0,0,0,0.03);
border-radius:2px;
}
.w1200dbl{ .w1200dbl{
width:1062px; width:1062px;
min-height:60px; min-height:60px;
@ -134,6 +139,12 @@
margin-left: 20px; margin-left: 20px;
min-height:150px; min-height:150px;
} }
.borderwdswuh{
width: 1020px !important;
background: #FFFFFF;
border: 1px solid #DDDDDD;
min-height:150px;
}
.borderwds283{ .borderwds283{
width: 1020px !important; width: 1020px !important;
min-height:283px; min-height:283px;
@ -628,3 +639,55 @@
font-size: 14px; font-size: 14px;
} }
.pagertdstcolor{
color: #888888;
font-size: 12px;
}
.mb19{
margin-bottom: 19px;
}
.yldxtit{
color: #333333;
font-size: 14px;
}
.yldxtits{
color: #888888;
font-size: 14px;
}
.mt25{
margin-top: 25px;
}
.postitonrelati{
position: relative;
}
.postitonrelatis{
position: absolute;
right: 2px;
top: 11px;
}
.szdfd{
width:88px;
height:34px;
background:rgba(51,189,140,1);
border-radius:4px 4px 0px 0px;
text-align: center;
color: #ffffff;
line-height: 32px;
margin-right: 27px;
}
.scd{
width:88px;
height:34px;
background:#4CACFF;
border-radius:4px 4px 0px 0px;
text-align: center;
color: #ffffff;
line-height: 32px;
}

Loading…
Cancel
Save