Merge branches 'dev_item_bank' and 'yslnewtiku' of https://bdgit.educoder.net/Hjqreturn/educoder into dev_item_bank
Conflicts: public/react/src/AppConfig.jsyslnewtiku
commit
33c857c971
File diff suppressed because one or more lines are too long
Binary file not shown.
File diff suppressed because one or more lines are too long
Before Width: | Height: | Size: 362 KiB After Width: | Height: | Size: 373 KiB |
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -0,0 +1,51 @@
|
||||
import React, {Component} from "react";
|
||||
import {Link, NavLink} from 'react-router-dom';
|
||||
import {WordsBtn, ActionBtn,SnackbarHOC,getImageUrl} from 'educoder';
|
||||
import axios from 'axios';
|
||||
import {
|
||||
notification,
|
||||
Spin,
|
||||
Table,
|
||||
Pagination,
|
||||
Radio,
|
||||
Checkbox,
|
||||
Form,
|
||||
Input,
|
||||
Select,
|
||||
Cascader,
|
||||
Col, Row, InputNumber, DatePicker, AutoComplete,Button,Tag
|
||||
} from "antd";
|
||||
import './../questioncss/questioncom.css';
|
||||
import SingleEditor from './../component/SingleEditor';
|
||||
class Choicequestion extends Component {
|
||||
constructor(props) {
|
||||
super(props);
|
||||
this.state = {
|
||||
page:1,
|
||||
Knowpoints:[]
|
||||
}
|
||||
}
|
||||
//初始化
|
||||
componentDidMount(){
|
||||
|
||||
}
|
||||
|
||||
render() {
|
||||
let {page}=this.state;
|
||||
const { getFieldDecorator } = this.props.form;
|
||||
|
||||
return (
|
||||
<div className=" clearfix educontent Contentquestionbankstyle w100s w1200fpx mt19" >
|
||||
<SingleEditor>
|
||||
|
||||
</SingleEditor>
|
||||
</div>
|
||||
)
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
const Choicequestions = Form.create({ name: 'Choicequestions' })(Choicequestion);
|
||||
export default Choicequestions;
|
@ -0,0 +1,237 @@
|
||||
import React, {Component} from "react";
|
||||
import {Link, NavLink} from 'react-router-dom';
|
||||
import {WordsBtn, ActionBtn,SnackbarHOC,getImageUrl} from 'educoder';
|
||||
import axios from 'axios';
|
||||
import {
|
||||
notification,
|
||||
Spin,
|
||||
Table,
|
||||
Pagination,
|
||||
Tabs,
|
||||
Input,
|
||||
Popover
|
||||
} from "antd";
|
||||
import './../questioncss/questioncom.css';
|
||||
import NoneDatas from '../component/NoneDatas';
|
||||
import LoadingSpin from '../../../common/LoadingSpin';
|
||||
import Contentquestionbank from "./Contentquestionbank";
|
||||
import Listjihe from "./Listjihe";
|
||||
const { TabPane } = Tabs;
|
||||
const Search = Input.Search;
|
||||
class Contentpart extends Component {
|
||||
constructor(props) {
|
||||
super(props);
|
||||
this.state = {
|
||||
page:1,
|
||||
|
||||
}
|
||||
}
|
||||
//初始化
|
||||
componentDidMount(){
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
render() {
|
||||
let {page}=this.state;
|
||||
let {defaultActiveKey}=this.props;
|
||||
const content = (
|
||||
<div className="questiontypes" style={{
|
||||
width:'93px',
|
||||
height:'161px',
|
||||
}}>
|
||||
<p className="questiontype " onClick={()=>this.props.setitem_types("SINGLE")}>单选题</p>
|
||||
<p className="questiontypeheng" ></p>
|
||||
<p className="questiontype " onClick={()=>this.props.setitem_types("MULTIPLE")}>多选题</p>
|
||||
<p className="questiontypeheng"></p>
|
||||
<p className="questiontype " onClick={()=>this.props.setitem_types("JUDGMENT")}>判断题</p>
|
||||
<p className="questiontypeheng"></p>
|
||||
<p className="questiontype " onClick={()=>this.props.setitem_types("PROGRAM")}>编程题</p>
|
||||
<p className="questiontypeheng"></p>
|
||||
|
||||
</div>
|
||||
);
|
||||
const contents = (
|
||||
<div className="questiontypes" style={{
|
||||
width:'93px',
|
||||
height:'120px',
|
||||
}}>
|
||||
<p className="questiontype " onClick={()=>this.props.setdifficulty(1)}>简单</p>
|
||||
<p className="questiontypeheng"></p>
|
||||
<p className="questiontype " onClick={()=>this.props.setdifficulty(2)}>适中</p>
|
||||
<p className="questiontypeheng"></p>
|
||||
<p className="questiontype " onClick={()=>this.props.setdifficulty(3)}>困难</p>
|
||||
<p className="questiontypeheng"></p>
|
||||
</div>
|
||||
);
|
||||
|
||||
const buttonWidth = 70;
|
||||
//console.log("Contentpart");
|
||||
//console.log(this.props);
|
||||
return (
|
||||
<div className=" clearfix mt40">
|
||||
<div className="educontent mt10 pb20 w1200s">
|
||||
<div className="w1200ms contentparttit" style={{
|
||||
position: "relative",
|
||||
}}>
|
||||
<style>
|
||||
{
|
||||
`
|
||||
.contentparttit .ant-tabs-nav .ant-tabs-tab{
|
||||
margin: 10px 10px 10px 0 !important;
|
||||
}
|
||||
.contentparttit .ant-tabs-nav .ant-tabs-ink-bar{
|
||||
width: 31px !important;
|
||||
left: 14px;
|
||||
}
|
||||
`
|
||||
}
|
||||
</style>
|
||||
<Tabs defaultActiveKey={defaultActiveKey} onChange={(e)=>this.props.callback(e)}>
|
||||
<TabPane tab="公共" key="1">
|
||||
</TabPane>
|
||||
<TabPane tab="我的" key="0">
|
||||
</TabPane>
|
||||
</Tabs>
|
||||
|
||||
<div className=" mt19" style={{
|
||||
position:"absolute",
|
||||
top: "0px",
|
||||
right:" 0px",
|
||||
paddingRight: "20px",
|
||||
}}>
|
||||
<style>
|
||||
{
|
||||
`
|
||||
.xaxisreverseorder .ant-input-group-addon{
|
||||
width: 60px !important;
|
||||
|
||||
}
|
||||
|
||||
.xaxisreverseorder .ant-input-lg {
|
||||
height: 41px;}
|
||||
|
||||
.xaxisreverseorder .ant-popover{
|
||||
top: 348px !important;
|
||||
}
|
||||
|
||||
|
||||
.ant-popover-inner-content {
|
||||
padding:0px !important;
|
||||
}
|
||||
|
||||
`
|
||||
}
|
||||
</style>
|
||||
<div className="xaxisreverseorder">
|
||||
{
|
||||
defaultActiveKey===0||defaultActiveKey==="0"?
|
||||
<a href={'/question/newitem'}>
|
||||
<div className="newbutoon">
|
||||
<p className="newbutoontes" >新增</p>
|
||||
</div>
|
||||
</a>
|
||||
:""
|
||||
}
|
||||
<Popover placement="bottom" content={contents} trigger="click" visible={this.props.visiblemys} onVisibleChange={()=>this.props.handleVisibleChange(true)}>
|
||||
<div className=" sortinxdirection mr10">
|
||||
|
||||
<div className="subjecttit">
|
||||
难度
|
||||
</div>
|
||||
<i className="iconfont icon-sanjiaoxing-down font-12 lg ml7 icondowncolor"></i>
|
||||
</div>
|
||||
</Popover>
|
||||
|
||||
|
||||
|
||||
<Popover placement="bottom" content={content} trigger="click" visible={this.props.visiblemyss} onVisibleChange={()=>this.props.handleVisibleChanges(true)}>
|
||||
<div className="sortinxdirection mr40">
|
||||
<div className="subjecttit">
|
||||
题型
|
||||
</div>
|
||||
<i className="iconfont icon-sanjiaoxing-down font-12 lg ml7 icondowncolor"></i>
|
||||
</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>
|
||||
|
||||
</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.items === undefined ||this.props.Contentdata.items === null||this.props.Contentdata.items.length===0?
|
||||
<NoneDatas></NoneDatas>
|
||||
|
||||
|
||||
: this.props.Contentdata.items.map((object, index) => {
|
||||
return (
|
||||
<Listjihe {...this.state} {...this.props} items={object}
|
||||
getitem_basketss={(id)=>this.props.getitem_basketss(id)}
|
||||
getitem_baskets={(e)=>this.props.getitem_baskets(e)}
|
||||
showmodels={(e)=>this.props.showmodels(e)}
|
||||
showmodelysl={(e)=>this.props.showmodelysl(e)}>
|
||||
|
||||
</Listjihe>
|
||||
)
|
||||
})}
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
)
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
export default Contentpart
|
@ -0,0 +1,70 @@
|
||||
import React, {Component} from "react";
|
||||
import {Link, NavLink} from 'react-router-dom';
|
||||
import {WordsBtn, ActionBtn,SnackbarHOC,getImageUrl} from 'educoder';
|
||||
import axios from 'axios';
|
||||
import {
|
||||
notification,
|
||||
Spin,
|
||||
Table,
|
||||
Pagination,
|
||||
Radio,
|
||||
Checkbox
|
||||
} from "antd";
|
||||
import './../questioncss/questioncom.css';
|
||||
class Contentquestionbank extends Component {
|
||||
constructor(props) {
|
||||
super(props);
|
||||
this.state = {
|
||||
page:1,
|
||||
}
|
||||
}
|
||||
//初始化
|
||||
componentDidMount(){
|
||||
////console.log("componentDidMount");
|
||||
////console.log(this.state);
|
||||
////console.log(this.props);
|
||||
// let homeworkid = this.props.match.params.homeworkid;
|
||||
// let url = "/homework_commons/" + homeworkid + "/end_groups.json";
|
||||
// axios.get(url).then((response) => {
|
||||
// if (response.status === 200) {
|
||||
// this.setState({})
|
||||
// }
|
||||
// }).catch((error) => {
|
||||
// ////console.log(error)
|
||||
// });
|
||||
|
||||
}
|
||||
onChange=(e)=> {
|
||||
////console.log(`checked = ${e.target.checked}`);
|
||||
}
|
||||
|
||||
render() {
|
||||
let {page}=this.state;
|
||||
|
||||
return (
|
||||
|
||||
<div className=" clearfix mt5 Contentquestionbankstyle">
|
||||
<div className="educontent mt10 w100s">
|
||||
<div className="sortinxdirection w100s" >
|
||||
<div className="sortinxdirection w50s">
|
||||
<Checkbox onChange={()=>this.props.selectallquestionsonthispage()}></Checkbox>
|
||||
<p className="setequesbank ml20">选用本页全部试题</p>
|
||||
</div>
|
||||
<div className="xaxisreverseorder testpaper w50s">
|
||||
共{this.props.items_count?this.props.items_count:0}个试题
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
export default Contentquestionbank ;
|
@ -0,0 +1,604 @@
|
||||
import React, {Component} from "react";
|
||||
import {Link, NavLink} from 'react-router-dom';
|
||||
import {WordsBtn, ActionBtn, SnackbarHOC, getImageUrl} from 'educoder';
|
||||
import axios from 'axios';
|
||||
import {
|
||||
notification,
|
||||
Spin,
|
||||
Table,
|
||||
Pagination,
|
||||
Radio,
|
||||
Checkbox,
|
||||
Form,
|
||||
Input,
|
||||
Select,
|
||||
Cascader,
|
||||
Col, Row, InputNumber, DatePicker, AutoComplete, Button, Tag
|
||||
} from "antd";
|
||||
import './../questioncss/questioncom.css';
|
||||
|
||||
const InputGroup = Input.Group;
|
||||
const {Option} = Select;
|
||||
const options = [
|
||||
{
|
||||
value: '方向',
|
||||
label: '方向',
|
||||
children: [
|
||||
{
|
||||
value: '课程',
|
||||
label: '课程',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
value: 'jiangsu',
|
||||
label: 'Jiangsu',
|
||||
children: [
|
||||
{
|
||||
value: 'nanjing',
|
||||
label: 'Nanjing',
|
||||
},
|
||||
],
|
||||
},
|
||||
];
|
||||
|
||||
class Itembankstop extends Component {
|
||||
constructor(props) {
|
||||
super(props);
|
||||
this.contentMdRef = React.createRef()
|
||||
this.state = {
|
||||
page: 1,
|
||||
Knowpoints: [],
|
||||
rbtx: undefined,
|
||||
rbkc: undefined,
|
||||
knowledgepoints: [],
|
||||
options: [],
|
||||
}
|
||||
}
|
||||
|
||||
//初始化
|
||||
componentDidMount() {
|
||||
try {
|
||||
this.props.getcontentMdRef(this);
|
||||
} catch (e) {
|
||||
|
||||
}
|
||||
this.setState({
|
||||
options: this.props.disciplmy
|
||||
})
|
||||
// knowledgepoints:this.props.knowledgepoints,
|
||||
|
||||
////console.log("componentDidMount");
|
||||
////console.log(this.state);
|
||||
////console.log(this.props);
|
||||
// let homeworkid = this.props.match.params.homeworkid;
|
||||
// let url = "/homework_commons/" + homeworkid + "/end_groups.json";
|
||||
// axios.get(url).then((response) => {
|
||||
// if (response.status === 200) {
|
||||
// this.setState({})
|
||||
// }
|
||||
// }).catch((error) => {
|
||||
// ////console.log(error)
|
||||
// });()
|
||||
// 题型
|
||||
|
||||
|
||||
}
|
||||
|
||||
componentDidUpdate(prevProps) {
|
||||
|
||||
if (prevProps.item_banksedit !== this.props.item_banksedit) {
|
||||
if (this.props.item_banksedit.item_type) {
|
||||
this.handleFormtixing(this.props.item_banksedit.item_type);
|
||||
}
|
||||
if (this.props.item_banksedit.difficulty) {
|
||||
this.handleFormLayoutChange(this.props.item_banksedit.difficulty);
|
||||
}
|
||||
if (this.props.item_banksedit.tag_disciplines) {
|
||||
this.handletag_disciplinesChange(this.props.item_banksedit.tag_disciplines);
|
||||
}
|
||||
|
||||
if (this.props.item_banksedit.discipline &&this.props.item_banksedit.sub_discipline) {
|
||||
this.handdisciplinesChange(this.props.item_banksedit.discipline,this.props.item_banksedit.sub_discipline);
|
||||
}
|
||||
}
|
||||
if (prevProps.disciplmy !== this.props.disciplmy) {
|
||||
this.setState({
|
||||
options: this.props.disciplmy
|
||||
})
|
||||
}
|
||||
|
||||
}
|
||||
handdisciplinesChange =(name,title)=>{
|
||||
this.setState({
|
||||
rbkc:[name.id,title.id]
|
||||
})
|
||||
this.props.form.setFieldsValue({
|
||||
rbkc: [name.id,title.id],
|
||||
});
|
||||
|
||||
if(this.props.item_banksedit.tag_disciplines.length===0){
|
||||
const didata = this.props.disciplinesdata;
|
||||
const knowledgepointsdata = [];
|
||||
|
||||
for (var i = 0; i < didata.length; i++) {
|
||||
//方向
|
||||
if (name.id === didata[i].id) {
|
||||
const fxdidata = didata[i].sub_disciplines;
|
||||
for (var j = 0; j < fxdidata.length; j++) {
|
||||
//课程
|
||||
if (title.id === fxdidata[j].id) {
|
||||
const zsddata = fxdidata[j].tag_disciplines;
|
||||
for (var k = 0; k < zsddata.length; k++) {
|
||||
//知识点
|
||||
knowledgepointsdata.push(zsddata[k]);
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
this.setState({
|
||||
Knowpoints: [],
|
||||
knowledgepoints: knowledgepointsdata,
|
||||
})
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
handletag_disciplinesChange = (data) => {
|
||||
try {
|
||||
var sju=data[data.length-1].name;
|
||||
this.setState({
|
||||
rbzsd:sju,
|
||||
Knowpoints:data,
|
||||
})
|
||||
this.props.form.setFieldsValue({
|
||||
rbzsd: sju,
|
||||
});
|
||||
}catch (e) {
|
||||
|
||||
}
|
||||
}
|
||||
onChange = (e) => {
|
||||
|
||||
}
|
||||
Getdatas = () => {
|
||||
return this.handleSubmits();
|
||||
}
|
||||
handleSubmits = () => {
|
||||
var data = [];
|
||||
this.props.form.validateFields((err, values) => {
|
||||
data = []
|
||||
if (!err) {
|
||||
// ////console.log("获取的form 数据");
|
||||
// ////console.log(values);
|
||||
data.push({
|
||||
rbnd: parseInt(values.rbnd)
|
||||
})
|
||||
data.push({
|
||||
rbtx: values.rbtx
|
||||
})
|
||||
data.push({
|
||||
rbzsd: this.state.Knowpoints
|
||||
})
|
||||
data.push({
|
||||
rbkc: values.rbkc
|
||||
})
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
return data;
|
||||
|
||||
}
|
||||
handleSubmit = (e) => {
|
||||
e.preventDefault();
|
||||
this.props.form.validateFields((err, values) => {
|
||||
if (!err) {
|
||||
////console.log("获取的form 数据");
|
||||
////console.log(values);
|
||||
|
||||
}
|
||||
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
handleFormLayoutChange = (value) => {
|
||||
//难度塞选
|
||||
////console.log("难度塞选");
|
||||
////console.log(value);
|
||||
this.props.form.setFieldsValue({
|
||||
rbnd: value + "",
|
||||
});
|
||||
this.setState({
|
||||
rbnd: value + "",
|
||||
})
|
||||
|
||||
}
|
||||
handleFormkechen = (value) => {
|
||||
//课程
|
||||
////console.log("课程");
|
||||
////console.log(value);
|
||||
var valuename = undefined;
|
||||
this.props.form.setFieldsValue({
|
||||
rbzsd: value,
|
||||
});
|
||||
|
||||
var arr = this.state.knowledgepoints;
|
||||
for (let data of arr) {
|
||||
if (data.id === value) {
|
||||
this.state.Knowpoints.push(data);
|
||||
valuename = data.name;
|
||||
}
|
||||
}
|
||||
|
||||
var tmp = JSON.parse(JSON.stringify(this.state.knowledgepoints));
|
||||
for (var i = 0; i < tmp.length; i++) {
|
||||
if (tmp[i].id === value) {
|
||||
this.state.knowledgepoints.splice(i, 1);
|
||||
}
|
||||
}
|
||||
|
||||
this.setState({
|
||||
rbzsd: valuename,
|
||||
Knowpoints: this.state.Knowpoints,
|
||||
knowledgepoints: this.state.knowledgepoints,
|
||||
})
|
||||
|
||||
}
|
||||
|
||||
handleFormzhishidian = (value) => {
|
||||
console.log("handleFormzhishidian 课程");
|
||||
console.log(value);
|
||||
|
||||
//课程
|
||||
this.props.form.setFieldsValue({
|
||||
rbkc: value,
|
||||
});
|
||||
this.setState({
|
||||
rbkc:value,
|
||||
})
|
||||
// console.log("handleFormzhishidian");
|
||||
// console.log(this.props.disciplinesdata);
|
||||
|
||||
const didata = this.props.disciplinesdata;
|
||||
const knowledgepointsdata = [];
|
||||
|
||||
for (var i = 0; i < didata.length; i++) {
|
||||
//方向
|
||||
if (value[0] === didata[i].id) {
|
||||
const fxdidata = didata[i].sub_disciplines;
|
||||
for (var j = 0; j < fxdidata.length; j++) {
|
||||
//课程
|
||||
if (value[1] === fxdidata[j].id) {
|
||||
const zsddata = fxdidata[j].tag_disciplines;
|
||||
for (var k = 0; k < zsddata.length; k++) {
|
||||
//知识点
|
||||
knowledgepointsdata.push(zsddata[k]);
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
this.setState({
|
||||
Knowpoints: [],
|
||||
knowledgepoints: knowledgepointsdata,
|
||||
})
|
||||
|
||||
this.props.form.setFieldsValue({
|
||||
rbzsd: undefined,
|
||||
});
|
||||
this.setState({
|
||||
rbzsd: undefined,
|
||||
})
|
||||
}
|
||||
|
||||
handleFormtixing = (value) => {
|
||||
//题型
|
||||
//console.log("题型");
|
||||
//console.log(value);
|
||||
this.setState({
|
||||
rbtx: value + "",
|
||||
})
|
||||
this.props.form.setFieldsValue({
|
||||
rbtx: value + "",
|
||||
});
|
||||
this.props.setitem_type(value);
|
||||
}
|
||||
preventDefault = (e) => {
|
||||
e.preventDefault();
|
||||
////console.log('Clicked! But prevent default.');
|
||||
}
|
||||
deletesobject = (item, index) => {
|
||||
var arr = this.state.Knowpoints;
|
||||
for (let data of arr) {
|
||||
if (data.id === item.id) {
|
||||
this.state.knowledgepoints.push(data);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
var tmp = JSON.parse(JSON.stringify(this.state.Knowpoints));
|
||||
for (var i = 0; i < tmp.length; i++) {
|
||||
if (i >= index) {
|
||||
var pos = this.state.Knowpoints.indexOf(tmp[i]);
|
||||
this.state.Knowpoints.splice(pos, 1);
|
||||
}
|
||||
}
|
||||
|
||||
this.props.form.setFieldsValue({
|
||||
rbzsd: this.state.Knowpoints,
|
||||
});
|
||||
|
||||
|
||||
this.setState({
|
||||
Knowpoints: this.state.Knowpoints,
|
||||
})
|
||||
|
||||
if (this.state.Knowpoints.length === 0) {
|
||||
this.setState({
|
||||
rbzsd: undefined,
|
||||
})
|
||||
} else if (this.state.Knowpoints.length > 0) {
|
||||
try {
|
||||
const myknowda = this.state.Knowpoints;
|
||||
this.setState({
|
||||
rbzsd: myknowda[this.state.Knowpoints.length - 1].name,
|
||||
})
|
||||
} catch (e) {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
render() {
|
||||
let {page, options} = this.state;
|
||||
const {getFieldDecorator} = this.props.form;
|
||||
//console.log("renderrenderrender");
|
||||
//console.log(this.props.item_banksedit);
|
||||
//console.log("renderrenderrendersssss");
|
||||
//console.log(this.state.rbtx);
|
||||
return (
|
||||
|
||||
<div className=" clearfix educontent Contentquestionbankstyle w100s w1200fpx mt19">
|
||||
<style>
|
||||
{
|
||||
`
|
||||
.ant-form-item{
|
||||
margin-bottom: 0px !important;
|
||||
|
||||
|
||||
}
|
||||
.ant-form-explain{
|
||||
padding-left:0px !important;
|
||||
margin-top: 3px !important;
|
||||
}
|
||||
.ant-select-selection{
|
||||
height: 33px !important;
|
||||
}
|
||||
.ant-input-group{
|
||||
width:258px !important;
|
||||
}
|
||||
.ant-input {
|
||||
height: 33px !important;
|
||||
}
|
||||
|
||||
.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):focus-within {
|
||||
outline: 0px solid rgba(24, 144, 255, 0.06) !important;
|
||||
}
|
||||
|
||||
`
|
||||
}
|
||||
</style>
|
||||
<div className="h12"></div>
|
||||
|
||||
<Form.Item
|
||||
label="课程"
|
||||
>
|
||||
{getFieldDecorator("rbkc",
|
||||
{
|
||||
rules: [{required: true, message: '请选择课程'}],
|
||||
}
|
||||
)(
|
||||
<div className="sortinxdirection">
|
||||
<InputGroup compact>
|
||||
<Cascader style={{width: '258px'}} value={this.state.rbkc} options={options} onChange={this.handleFormzhishidian}
|
||||
placeholder="请选择..."/>
|
||||
</InputGroup>
|
||||
|
||||
|
||||
{/*<div className="sortinxdirection" style={{*/}
|
||||
{/* height: "33px",*/}
|
||||
{/* lineHeight: "28px",*/}
|
||||
|
||||
{/*}}>*/}
|
||||
|
||||
{/* {this.state.Knowpoints === undefined ? "" : this.state.Knowpoints.map((object, index) => {*/}
|
||||
{/* return (*/}
|
||||
{/* <div className="mytags" style={{*/}
|
||||
{/* position: "relative",*/}
|
||||
{/* }}>*/}
|
||||
{/* <p className="w100s stestcen lh32">{object}</p>*/}
|
||||
{/* <i className="iconfont icon-roundclose font-25 lg ml7 icondowncolorss" onClick={()=>this.deletesobject(object,index)}></i>*/}
|
||||
{/* </div>*/}
|
||||
{/* )*/}
|
||||
{/* })}*/}
|
||||
|
||||
{/*</div>*/}
|
||||
</div>
|
||||
)}
|
||||
</Form.Item>
|
||||
<Form onSubmit={this.handleSubmit}>
|
||||
<Form.Item
|
||||
label="知识点"
|
||||
>
|
||||
{getFieldDecorator("rbzsd"
|
||||
)(
|
||||
<div className="sortinxdirection">
|
||||
<InputGroup compact>
|
||||
<Select style={{width: '258px'}} value={this.state.rbzsd} onChange={this.handleFormkechen}
|
||||
placeholder="请选择...">
|
||||
{this.state.knowledgepoints && this.state.knowledgepoints.map((object, index) => {
|
||||
return (
|
||||
<Option value={object.id}>{object.name}</Option>
|
||||
)
|
||||
})}
|
||||
</Select>
|
||||
</InputGroup>
|
||||
<div className="sortinxdirection" style={{
|
||||
height: "33px",
|
||||
lineHeight: "28px",
|
||||
|
||||
}}>
|
||||
|
||||
{this.state.Knowpoints === undefined ? "" : this.state.Knowpoints.map((object, index) => {
|
||||
return (
|
||||
<div className="mytags" style={{
|
||||
position: "relative",
|
||||
}}>
|
||||
<p className="w100s stestcen lh32">{object.name}</p>
|
||||
<i className="iconfont icon-roundclose font-25 lg ml7 icondowncolorss"
|
||||
onClick={() => this.deletesobject(object, index)}></i>
|
||||
</div>
|
||||
)
|
||||
})}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
</Form.Item>
|
||||
|
||||
<Form.Item
|
||||
label="题型"
|
||||
>
|
||||
{getFieldDecorator("rbtx",
|
||||
{
|
||||
rules: [{required: true, message: '请选择题型'}],
|
||||
}
|
||||
)(
|
||||
<InputGroup compact>
|
||||
<Select style={{width: '258px'}} value={this.state.rbtx} onChange={this.handleFormtixing}
|
||||
placeholder="请选择...">
|
||||
<Option value="SINGLE">单选题</Option>
|
||||
<Option value="MULTIPLE">多选题</Option>
|
||||
<Option value="JUDGMENT">判断题</Option>
|
||||
<Option value="PROGRAM">编程题</Option>
|
||||
</Select>
|
||||
</InputGroup>
|
||||
)}
|
||||
</Form.Item>
|
||||
|
||||
|
||||
<style>
|
||||
{
|
||||
`
|
||||
.rbndclass .ant-radio-button-wrapper{
|
||||
width:106px !important;
|
||||
height:33px !important;
|
||||
background:#EEEEEE;
|
||||
border-radius:17px !important;
|
||||
color:#333333;
|
||||
text-align: center !important;
|
||||
border:0px !important;
|
||||
margin-right: 27px !important;
|
||||
margin-top: 6px !important;
|
||||
|
||||
}
|
||||
.rbndclass .ant-radio-button-wrapper-checked {
|
||||
width: 106px !important;
|
||||
height: 33px !important;
|
||||
background: #4CACFF !important;
|
||||
border-radius: 17px !important;
|
||||
text-align: center !important;
|
||||
border:0px !important;
|
||||
color: #ffffff !important;
|
||||
margin-right: 27px !important;
|
||||
margin-top: 6px!important;
|
||||
|
||||
}
|
||||
.rbndclass .ant-radio-button-wrapper:not(:first-child)::before{
|
||||
border:0px !important;
|
||||
width:0px !important;
|
||||
}
|
||||
|
||||
.rbndclass .ant-radio-button-wrapper{
|
||||
border:0px !important;
|
||||
}
|
||||
.rbndclass .ant-radio-group{
|
||||
border:0px !important;
|
||||
}
|
||||
.rbndclass .ant-radio-group label{
|
||||
border:0px !important;
|
||||
}
|
||||
|
||||
.rbndclass .ant-radio-group span{
|
||||
border:0px !important;
|
||||
}
|
||||
|
||||
ant-radio-button-wrapper:focus-within {
|
||||
outline: 0px solid #ffffff;
|
||||
}
|
||||
|
||||
`
|
||||
}
|
||||
</style>
|
||||
<div className="rbndclass">
|
||||
<Form.Item label="难度">
|
||||
{getFieldDecorator('rbnd',
|
||||
{
|
||||
rules: [{required: true, message: '请选择难度'}],
|
||||
}
|
||||
)(
|
||||
<Radio.Group value={this.state.rbnd} onChange={this.handleFormLayoutChange}>
|
||||
<Radio.Button value="1">简单</Radio.Button>
|
||||
<Radio.Button value="2">适中</Radio.Button>
|
||||
<Radio.Button value="3">困难</Radio.Button>
|
||||
</Radio.Group>,
|
||||
)}
|
||||
</Form.Item>
|
||||
</div>
|
||||
{/*<Form.Item>*/}
|
||||
{/* <Button type="primary" htmlType="submit" className="login-form-button">*/}
|
||||
{/* 提交*/}
|
||||
{/* </Button>*/}
|
||||
{/*</Form.Item>*/}
|
||||
|
||||
</Form>
|
||||
<div className="h20"></div>
|
||||
</div>
|
||||
)
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
const Itembankstops = Form.create({name: 'Itembankstops'})(Itembankstop);
|
||||
export default Itembankstops;
|
@ -0,0 +1,37 @@
|
||||
import React, { Component } from 'react';
|
||||
import { getImageUrl , getUrl } from 'educoder';
|
||||
|
||||
class NoneData extends Component{
|
||||
constructor(props) {
|
||||
super(props)
|
||||
}
|
||||
render(){
|
||||
const { style } = this.props;
|
||||
return(
|
||||
<div className="edu-tab-con-box clearfix edu-txt-center intermediatecenter" style={ style || { width:"100%",height:"100%"}}>
|
||||
<style>
|
||||
{`
|
||||
.edu-tab-con-box{
|
||||
padding:100px 0px;
|
||||
}
|
||||
.ant-modal-body .edu-tab-con-box{
|
||||
padding:0px!important;
|
||||
}
|
||||
img.edu-nodata-img{
|
||||
margin: 40px auto 20px;
|
||||
}
|
||||
.zenwuxgsj{
|
||||
font-size:17px;
|
||||
font-family:MicrosoftYaHei;
|
||||
color:rgba(136,136,136,1);
|
||||
}
|
||||
`}
|
||||
</style>
|
||||
<img className="edu-nodata-img mb20" src={getUrl("/images/educoder/nodata.png")}/>
|
||||
<p className="edu-nodata-p mb10 zenwuxgsj">暂无相关数据</p>
|
||||
<p className="edu-nodata-p mb20 mt4 zenwuxgsj">请选择试题进行组卷</p>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
}
|
||||
export default NoneData;
|
@ -0,0 +1,36 @@
|
||||
import React, { Component } from 'react';
|
||||
import { getImageUrl , getUrl } from 'educoder';
|
||||
|
||||
class NoneDatas extends Component{
|
||||
constructor(props) {
|
||||
super(props)
|
||||
}
|
||||
render(){
|
||||
const { style } = this.props;
|
||||
return(
|
||||
<div className="edu-tab-con-box clearfix edu-txt-center intermediatecenter" style={ style || { width:"100%",height:"100%"}}>
|
||||
<style>
|
||||
{`
|
||||
.edu-tab-con-box{
|
||||
padding:100px 0px;
|
||||
}
|
||||
.ant-modal-body .edu-tab-con-box{
|
||||
padding:0px!important;
|
||||
}
|
||||
img.edu-nodata-img{
|
||||
margin: 40px auto 20px;
|
||||
}
|
||||
.zenwuxgsj{
|
||||
font-size:17px;
|
||||
font-family:MicrosoftYaHei;
|
||||
color:rgba(136,136,136,1);
|
||||
}
|
||||
`}
|
||||
</style>
|
||||
<img className="edu-nodata-img mb20" src={getUrl("/images/educoder/nodata.png")}/>
|
||||
<p className="edu-nodata-p mb10 zenwuxgsj">暂无相关数据</p>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
}
|
||||
export default NoneDatas;
|
@ -0,0 +1,43 @@
|
||||
import React, { Component } from 'react';
|
||||
import {getImageUrl} from 'educoder';
|
||||
import { Modal} from 'antd';
|
||||
import axios from 'axios';
|
||||
import './../questioncss/questioncom.css'
|
||||
//立即申请试用
|
||||
class QuestionModal extends Component {
|
||||
|
||||
constructor(props) {
|
||||
super(props);
|
||||
this.state={
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
render() {
|
||||
|
||||
return(
|
||||
<Modal
|
||||
keyboard={false}
|
||||
closable={false}
|
||||
footer={null}
|
||||
destroyOnClose={true}
|
||||
title="提示"
|
||||
centered={true}
|
||||
visible={this.props.modalsType===undefined?false:this.props.modalsType}
|
||||
width="442px"
|
||||
>
|
||||
<div className="educouddiv">
|
||||
<div className={"tabeltext-alignleft mt10"}><p className="titiles">{this.props.titilesm}</p></div>
|
||||
<div className={"tabeltext-alignleft mt10"}><p className="titiles">{this.props.titiless}</p></div>
|
||||
<div className="clearfix mt30 edu-txt-center">
|
||||
<a className="task-btn mr30 w80" onClick={()=>this.props.modalCancel()}>取消</a>
|
||||
<a className="task-btn task-btn-orange w80" onClick={()=>this.props.setDownload()}>确定</a>
|
||||
</div>
|
||||
</div>
|
||||
</Modal>
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
export default QuestionModal;
|
@ -0,0 +1,66 @@
|
||||
import React, { Component } from 'react';
|
||||
import {getImageUrl} from 'educoder';
|
||||
import { Modal} from 'antd';
|
||||
import axios from 'axios';
|
||||
import './../questioncss/questioncom.css'
|
||||
//立即申请试用
|
||||
class QuestionModals extends Component {
|
||||
|
||||
constructor(props) {
|
||||
super(props);
|
||||
this.state={
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
render() {
|
||||
|
||||
return(
|
||||
<Modal
|
||||
keyboard={false}
|
||||
closable={false}
|
||||
footer={null}
|
||||
destroyOnClose={true}
|
||||
title="提示"
|
||||
centered={true}
|
||||
visible={this.props.modalsTypes===undefined?false:this.props.modalsTypes}
|
||||
width="442px"
|
||||
>
|
||||
<div className="educouddiv">
|
||||
<div className={"tabeltext-alignleft mt10"}><p className="titiles">是否删除试题栏中{
|
||||
|
||||
this.props.titilesms&&this.props.titilesms==="SINGLE"?
|
||||
"单选题"
|
||||
:
|
||||
this.props.titilesms&&this.props.titilesms==="MULTIPLE"?
|
||||
"多选题"
|
||||
:
|
||||
this.props.titilesms&&this.props.titilesms==="JUDGMENT"?
|
||||
"判断题"
|
||||
:
|
||||
this.props.titilesms&&this.props.titilesms==="COMPLETION"?
|
||||
"填空题"
|
||||
:
|
||||
this.props.titilesms&&this.props.titilesms==="SUBJECTIVE"?
|
||||
"简答题"
|
||||
:
|
||||
this.props.titilesms&&this.props.titilesms==="PROGRAM"?
|
||||
"编程题"
|
||||
:
|
||||
this.props.titilesms&&this.props.titilesms==="PRACTICAL"?
|
||||
"实训题"
|
||||
:""
|
||||
|
||||
}</p></div>
|
||||
<div className="clearfix mt30 edu-txt-center">
|
||||
<a className="task-btn mr30 w80" onClick={()=>this.props.modalCancels()}>取消</a>
|
||||
<a className="task-btn task-btn-orange w80" onClick={()=>this.props.setDownloads(this.props.titilesms)}>确定</a>
|
||||
</div>
|
||||
</div>
|
||||
</Modal>
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
export default QuestionModals;
|
@ -0,0 +1,611 @@
|
||||
.w1200{
|
||||
width:1062px;
|
||||
height:177px;
|
||||
background:rgba(255,255,255,1);
|
||||
box-shadow:0px 6px 8px 0px rgba(0,0,0,0.03);
|
||||
border-radius:2px;
|
||||
}
|
||||
|
||||
.w1200dbl{
|
||||
width:1062px;
|
||||
min-height:60px;
|
||||
background:rgba(255,255,255,1);
|
||||
box-shadow:0px 6px 8px 0px rgba(0,0,0,0.03);
|
||||
border-radius:2px;
|
||||
}
|
||||
.w1200fpx{
|
||||
width:1200px;
|
||||
background:rgba(255,255,255,1);
|
||||
box-shadow:0px 6px 8px 0px rgba(0,0,0,0.03);
|
||||
border-radius:2px;
|
||||
}
|
||||
.w1200mss{
|
||||
width:1200px;
|
||||
}
|
||||
.w1200ms{
|
||||
width:1062px;
|
||||
}
|
||||
.w1200s{
|
||||
width:1062px;
|
||||
background:rgba(255,255,255,1);
|
||||
box-shadow:0px 6px 8px 0px rgba(0,0,0,0.03);
|
||||
border-radius:2px;
|
||||
}
|
||||
.h177{
|
||||
height: 177px;
|
||||
}
|
||||
/* 中间居中 */
|
||||
.intermediatecenter{
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
/* 简单居中 */
|
||||
.intermediatecenterysls{
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
.spacearound{
|
||||
display: flex;
|
||||
justify-content: space-around;
|
||||
|
||||
}
|
||||
.spacebetween{
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
}
|
||||
/* 头顶部居中 */
|
||||
.topcenter{
|
||||
display: -webkit-flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
|
||||
}
|
||||
|
||||
|
||||
/* x轴正方向排序 */
|
||||
/* 一 二 三 四 五 六 七 八 */
|
||||
.sortinxdirection{
|
||||
display: flex;
|
||||
flex-direction:row;
|
||||
}
|
||||
/* x轴反方向排序 */
|
||||
/* 八 七 六 五 四 三 二 一 */
|
||||
.xaxisreverseorder{
|
||||
display: flex;
|
||||
flex-direction:row-reverse;
|
||||
}
|
||||
/* 垂直布局 正方向*/
|
||||
/* 一
|
||||
二
|
||||
三
|
||||
四
|
||||
五
|
||||
六
|
||||
七
|
||||
八 */
|
||||
.verticallayout{
|
||||
display: flex;
|
||||
flex-direction:column;
|
||||
}
|
||||
/* 垂直布局 反方向*/
|
||||
.reversedirection{
|
||||
display: flex;
|
||||
flex-direction:column-reverse;
|
||||
}
|
||||
.w100{
|
||||
width: 100px;
|
||||
}
|
||||
.mt21{
|
||||
margin-top: 21px;
|
||||
}
|
||||
.mt23{
|
||||
margin-top: 23px;
|
||||
}
|
||||
.mt19{
|
||||
margin-top: 19px;
|
||||
}
|
||||
.mt15{
|
||||
margin-top: 10px;
|
||||
}
|
||||
.h40{
|
||||
height: 40px;
|
||||
}
|
||||
|
||||
.tophom{
|
||||
padding-top: 33px;
|
||||
padding-bottom: 40px;
|
||||
padding-left: 26px;
|
||||
padding-right: 26px;
|
||||
}
|
||||
.tophoms{
|
||||
padding-top: 15px;
|
||||
padding-left: 26px;
|
||||
padding-right: 26px;
|
||||
}
|
||||
.borderwd{
|
||||
border: 1px solid #000000;
|
||||
}
|
||||
.borderwds{
|
||||
width: 1020px !important;
|
||||
background: #FFFFFF;
|
||||
border: 1px solid #DDDDDD;
|
||||
margin-left: 20px;
|
||||
min-height:150px;
|
||||
}
|
||||
.borderwds283{
|
||||
width: 1020px !important;
|
||||
min-height:283px;
|
||||
background:#F9F9F9;
|
||||
border:1px solid #DDDDDD;
|
||||
margin-left: 20px;
|
||||
}
|
||||
.w64{
|
||||
width: 64px;
|
||||
}
|
||||
.w70{
|
||||
width: 70px !important;
|
||||
}
|
||||
|
||||
.tophomsembold{
|
||||
height:21px;
|
||||
font-size:16px;
|
||||
color:#333333;
|
||||
line-height:21px;
|
||||
}
|
||||
|
||||
.tophomsembolds{
|
||||
width:42px;
|
||||
height:19px;
|
||||
font-size:14px;
|
||||
font-family:MicrosoftYaHeiSemibold;
|
||||
color:rgba(51,51,51,1);
|
||||
line-height:31px;
|
||||
}
|
||||
/*Contentpart*/
|
||||
.contentparttit{
|
||||
padding-top: 10px;
|
||||
padding-left: 20px;
|
||||
padding-right: 20px;
|
||||
}
|
||||
|
||||
.subjecttit{
|
||||
width:28px;
|
||||
height:19px;
|
||||
font-size:14px;
|
||||
color:rgba(51,51,51,1);
|
||||
line-height: 42px;
|
||||
cursor:pointer;
|
||||
|
||||
}
|
||||
.ml55{
|
||||
margin-right: 55px;
|
||||
|
||||
}
|
||||
|
||||
.lg{
|
||||
line-height: 42px;
|
||||
}
|
||||
.ml7{
|
||||
margin-left: 7px;
|
||||
}
|
||||
|
||||
.icondowncolor{
|
||||
color:#9E9E9E;
|
||||
|
||||
}
|
||||
.icondowncolorss{
|
||||
color: #9E9E9E;
|
||||
position: absolute;
|
||||
top: -20px;
|
||||
right: -16px;
|
||||
}
|
||||
|
||||
.questiontype{
|
||||
width: 100%;
|
||||
font-size: 12px;
|
||||
color: #333333;
|
||||
line-height: 17px;
|
||||
text-align: center;
|
||||
padding: 11px;
|
||||
cursor:pointer;
|
||||
|
||||
}
|
||||
.questiontypes{
|
||||
width:37px;
|
||||
height:17px;
|
||||
font-size:12px;
|
||||
color:rgba(51,51,51,1);
|
||||
line-height:17px;
|
||||
cursor:pointer;
|
||||
|
||||
}
|
||||
.questiontypeheng{
|
||||
width:100%;
|
||||
height:1px;
|
||||
background: #EEEEEE;
|
||||
}
|
||||
.questiontype:hover{
|
||||
color: #4CACFF;
|
||||
}
|
||||
.questiontype:active{
|
||||
color: #4CACFF;
|
||||
}
|
||||
|
||||
.w100s{
|
||||
width:100%;
|
||||
}
|
||||
.stestcen{
|
||||
text-align: center;
|
||||
}
|
||||
.w70s{
|
||||
width:70%;
|
||||
}
|
||||
.w30s{
|
||||
width:70%;
|
||||
}
|
||||
.w50s{
|
||||
width: 50%;
|
||||
}
|
||||
.testpaper{
|
||||
font-size:12px;
|
||||
color:#888888;
|
||||
line-height:28px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.setequesbank{
|
||||
font-size:14px;
|
||||
color:#333333;
|
||||
line-height:28px;
|
||||
}
|
||||
|
||||
.Contentquestionbankstyle{
|
||||
padding-left: 20px;
|
||||
padding-right: 20px;
|
||||
}
|
||||
|
||||
.pd20{
|
||||
padding-top: 20px;
|
||||
padding-bottom: 20px;
|
||||
padding-left: 30px;
|
||||
padding-right: 30px;
|
||||
}
|
||||
|
||||
/*listjihe*/
|
||||
.listjihetixing{
|
||||
color: #888888;
|
||||
font-size: 12px;
|
||||
line-height: 17px;
|
||||
}
|
||||
|
||||
.listjihetixings{
|
||||
color: #333333;
|
||||
font-size: 12px;
|
||||
line-height: 17px;
|
||||
}
|
||||
.listjihetixingstit{
|
||||
color: #333333;
|
||||
font-size: 14px;
|
||||
line-height: 17px;
|
||||
|
||||
}
|
||||
.listjihetixingstits{
|
||||
color: #333333;
|
||||
font-size: 14px;
|
||||
line-height:19px;
|
||||
margin-top: 19px;
|
||||
}
|
||||
|
||||
.updatetimes{
|
||||
color: #BBBBBB;
|
||||
font-size: 12px;
|
||||
}
|
||||
.mt22{
|
||||
margin-top: 22px;
|
||||
}
|
||||
.viewparsings{
|
||||
color:#4CACFF;
|
||||
font-size:12px;
|
||||
line-height: 30px;
|
||||
}
|
||||
|
||||
.selection{
|
||||
width:88px;
|
||||
height:30px;
|
||||
background:#33BD8C;
|
||||
border-radius:4px;
|
||||
text-align: center;
|
||||
line-height: 30px;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
.selectionss{
|
||||
width:88px;
|
||||
height:30px;
|
||||
background:#eeeeee;
|
||||
border-radius:4px;
|
||||
text-align: center;
|
||||
line-height: 30px;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
.lh30{
|
||||
line-height: 30px;
|
||||
|
||||
|
||||
}
|
||||
|
||||
.analysis{
|
||||
height:19px;
|
||||
font-size:14px;
|
||||
color:#333333;
|
||||
line-height:19px;
|
||||
}
|
||||
|
||||
.testfondex{
|
||||
color: #808080;
|
||||
font-size: 14px;
|
||||
}
|
||||
.pb20{
|
||||
padding-bottom: 20px;
|
||||
}
|
||||
.icontianjiadaohangcolor{
|
||||
color: #FFFFFF;
|
||||
}
|
||||
|
||||
.icontianjiadaohangcolors{
|
||||
color: #4CACFF;
|
||||
}
|
||||
.xiaoshou{
|
||||
cursor:pointer
|
||||
}
|
||||
.mt40{
|
||||
margin-top: 40px;
|
||||
}
|
||||
.mt42{
|
||||
margin-top: 42px;
|
||||
}
|
||||
.drawerbutton{
|
||||
width:88px;
|
||||
height:30px;
|
||||
background:#4CACFF;
|
||||
border-radius:4px;
|
||||
font-size:14px;
|
||||
color:#ffffff;
|
||||
line-height:30px;
|
||||
text-align: center;
|
||||
}
|
||||
.icondrawercolor{
|
||||
color: #979797;
|
||||
}
|
||||
|
||||
.mt25{
|
||||
margin-top: 25px;
|
||||
}
|
||||
.mb26{
|
||||
margin-bottom: 26px;
|
||||
}
|
||||
.drawernonedatadiv{
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.font-17{
|
||||
font-size: 17px;
|
||||
}
|
||||
.ml30{
|
||||
margin-right: 30px;
|
||||
}
|
||||
.mr25{
|
||||
margin-right: 25px;
|
||||
}
|
||||
.newbutoon{
|
||||
width:88px;
|
||||
height:42px;
|
||||
background:#33BD8C;
|
||||
line-height: 42px;
|
||||
border-radius:4px;
|
||||
|
||||
}
|
||||
|
||||
.newbutoontes{
|
||||
width:100%;
|
||||
height:42px;
|
||||
font-size:14px;
|
||||
color:#ffffff;
|
||||
line-height:42px;
|
||||
text-align: center;
|
||||
}
|
||||
.educouddiv {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.tabeltext-alignleftysl{
|
||||
font-size:14px;
|
||||
color:#000000;
|
||||
line-height:19px;
|
||||
|
||||
}
|
||||
.tabeltext-alignleftysltwo{
|
||||
font-size:14px;
|
||||
color:#848282;
|
||||
line-height:19px;
|
||||
|
||||
}
|
||||
|
||||
.publictask-btn{
|
||||
width:80px;
|
||||
height:34px;
|
||||
background:#CCCCCC;
|
||||
border-radius:4px;
|
||||
color: #ffffff;
|
||||
|
||||
}
|
||||
.publictask-btns{
|
||||
width:80px;
|
||||
height:34px;
|
||||
background:#4CACFF;
|
||||
border-radius:4px;
|
||||
color: #ffffff;
|
||||
}
|
||||
.w80{
|
||||
width: 80px;
|
||||
}
|
||||
|
||||
.titiles{
|
||||
color: #333333;
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.h12{
|
||||
height: 12px;
|
||||
min-height: 12px;
|
||||
}
|
||||
|
||||
.mt19{
|
||||
margin-top: 19px;
|
||||
}
|
||||
.mytags{
|
||||
width:106px;
|
||||
height:32px;
|
||||
border-radius:2px;
|
||||
border:1px solid #DDDDDD;
|
||||
margin-left: 20px;
|
||||
}
|
||||
.lh32{
|
||||
line-height: 32px;
|
||||
}
|
||||
|
||||
.h20{
|
||||
height: 20px;
|
||||
min-height: 20px;
|
||||
line-height: 20px;
|
||||
}
|
||||
.xingcolor{
|
||||
color: rgba(224, 64, 64, 1);
|
||||
}
|
||||
.xingtigan{
|
||||
font-size:14px;
|
||||
color:rgba(51, 51, 51, 1);
|
||||
}
|
||||
.mr4{
|
||||
margin-right: 4px;
|
||||
}
|
||||
|
||||
.xingtigans{
|
||||
width:100%;
|
||||
font-size:14px;
|
||||
color:rgba(136,136,136,1);
|
||||
}
|
||||
|
||||
.bottomdivs{
|
||||
width:100%;
|
||||
height:55px;
|
||||
background:rgba(255,255,255,1);
|
||||
box-shadow:0px -2px 7px 0px rgba(1,6,22,0.04);
|
||||
}
|
||||
.mt50{
|
||||
margin-top: 50px;
|
||||
}
|
||||
|
||||
.divquxiao{
|
||||
width:88px;
|
||||
height:32px;
|
||||
background:rgba(255,255,255,1);
|
||||
border-radius:4px;
|
||||
border:1px solid rgba(204,204,204,1);
|
||||
}
|
||||
.divquxiaotest{
|
||||
width:100%;
|
||||
height:32px;
|
||||
font-size:12px;
|
||||
color:rgba(136,136,136,1);
|
||||
line-height:32px;
|
||||
text-align: center;
|
||||
}
|
||||
.divbaocuntests{
|
||||
width:100%;
|
||||
height:32px;
|
||||
font-size:12px;
|
||||
color:#ffffff;
|
||||
line-height:32px;
|
||||
text-align: center;
|
||||
}
|
||||
.divbaocun{
|
||||
width:88px;
|
||||
height:32px;
|
||||
background:rgba(76,172,255,1);
|
||||
border-radius:4px;
|
||||
}
|
||||
.sortzhenque{
|
||||
width:49px;
|
||||
height:33px;
|
||||
border-radius:2px;
|
||||
border:1px solid rgba(221,221,221,1);
|
||||
}
|
||||
|
||||
.sortzhenquetest{
|
||||
width:100%;
|
||||
height:33px;
|
||||
font-size:14px;
|
||||
color:rgba(51,51,51,1);
|
||||
line-height:33px;
|
||||
|
||||
}
|
||||
|
||||
.sortquxiao{
|
||||
|
||||
width:49px;
|
||||
height:33px;
|
||||
border-radius:2px;
|
||||
border:1px solid rgba(221,221,221,1);
|
||||
}
|
||||
.sortquxiaotest{
|
||||
width:100%;
|
||||
height:33px;
|
||||
font-size:14px;
|
||||
color:rgba(51,51,51,1);
|
||||
line-height:33px;
|
||||
}
|
||||
|
||||
.ml45{
|
||||
margin-left: 45px;
|
||||
}
|
||||
|
||||
.programcss{
|
||||
height: 251px;
|
||||
min-height: 100%;
|
||||
}
|
||||
|
||||
.titlesttingcss{
|
||||
min-width: 100px;
|
||||
height:32px;
|
||||
line-height: 32px;
|
||||
background:rgba(76,172,255,1);
|
||||
border-radius:16px;
|
||||
text-align: center;
|
||||
color: #fff;
|
||||
}
|
||||
.titlesttingcssmy{
|
||||
min-width: 100px;
|
||||
height:32px;
|
||||
line-height: 32px;
|
||||
font-size:14px;
|
||||
color:rgba(51,51,51,1);
|
||||
text-align: center;
|
||||
}
|
||||
.minleng40{
|
||||
min-height: 40px;
|
||||
}
|
||||
|
||||
.w60{
|
||||
width: 60px !important;
|
||||
}
|
||||
|
||||
.h30{
|
||||
min-height: 30px !important;
|
||||
}
|
||||
|
||||
.minheight{
|
||||
min-height: 500px !important;
|
||||
}
|
File diff suppressed because one or more lines are too long
Binary file not shown.
File diff suppressed because one or more lines are too long
Before Width: | Height: | Size: 362 KiB After Width: | Height: | Size: 373 KiB |
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
Reference in new issue