杨树林 6 years ago
commit 99dfd46d34

@ -9,7 +9,7 @@ const InterpolateHtmlPlugin = require('react-dev-utils/InterpolateHtmlPlugin');
const WatchMissingNodeModulesPlugin = require('react-dev-utils/WatchMissingNodeModulesPlugin');
const eslintFormatter = require('react-dev-utils/eslintFormatter');
const ModuleScopePlugin = require('react-dev-utils/ModuleScopePlugin');
// const MonacoWebpackPlugin = require('monaco-editor-webpack-plugin');
const MonacoWebpackPlugin = require('monaco-editor-webpack-plugin');
const getClientEnvironment = require('./env');
const paths = require('./paths');
@ -249,6 +249,7 @@ module.exports = {
// https://github.com/jmblog/how-to-optimize-momentjs-with-webpack
// You can remove this if you don't use Moment.js:
new webpack.IgnorePlugin(/^\.\/locale$/, /moment$/),
new MonacoWebpackPlugin(),
],
// Some libraries import Node modules but don't use them in the browser.
// Tell Webpack to provide empty mocks for them so importing them works.

@ -116,7 +116,7 @@
},
"@types/anymatch": {
"version": "1.3.1",
"resolved": "http://registry.npm.taobao.org/@types/anymatch/download/@types/anymatch-1.3.1.tgz",
"resolved": "https://registry.npm.taobao.org/@types/anymatch/download/@types/anymatch-1.3.1.tgz?cache=0&sync_timestamp=1563089138491&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fanymatch%2Fdownload%2F%40types%2Fanymatch-1.3.1.tgz",
"integrity": "sha1-M2utwb7sudrMOL6izzKt9ieoQho="
},
"@types/jss": {
@ -129,9 +129,9 @@
}
},
"@types/node": {
"version": "11.13.4",
"resolved": "http://registry.npm.taobao.org/@types/node/download/@types/node-11.13.4.tgz",
"integrity": "sha1-+D7Dw+BbF0tyQfretmiCZ/5bIso="
"version": "12.6.3",
"resolved": "https://registry.npm.taobao.org/@types/node/download/@types/node-12.6.3.tgz",
"integrity": "sha1-RNUHxWNPhecWRwfKNruiG1IT1Ic="
},
"@types/prop-types": {
"version": "15.7.0",
@ -165,21 +165,21 @@
},
"@types/tapable": {
"version": "1.0.4",
"resolved": "http://registry.npm.taobao.org/@types/tapable/download/@types/tapable-1.0.4.tgz",
"resolved": "https://registry.npm.taobao.org/@types/tapable/download/@types/tapable-1.0.4.tgz",
"integrity": "sha1-tP/H3Je0mMlps2CkHu4kf4JhY3A="
},
"@types/uglify-js": {
"version": "3.0.4",
"resolved": "http://registry.npm.taobao.org/@types/uglify-js/download/@types/uglify-js-3.0.4.tgz",
"resolved": "https://registry.npm.taobao.org/@types/uglify-js/download/@types/uglify-js-3.0.4.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fuglify-js%2Fdownload%2F%40types%2Fuglify-js-3.0.4.tgz",
"integrity": "sha1-lr6uI99vVhhiqDC0KIpJ6GuqwII=",
"requires": {
"source-map": "^0.6.1"
}
},
"@types/webpack": {
"version": "4.4.27",
"resolved": "http://registry.npm.taobao.org/@types/webpack/download/@types/webpack-4.4.27.tgz",
"integrity": "sha1-i7lCkYWXems7nm5hMvVhBmqn58I=",
"version": "4.4.35",
"resolved": "https://registry.npm.taobao.org/@types/webpack/download/@types/webpack-4.4.35.tgz",
"integrity": "sha1-twiOstRx1WReVQPScng8r6dTWDs=",
"requires": {
"@types/anymatch": "*",
"@types/node": "*",
@ -271,15 +271,6 @@
"resolved": "http://registry.npm.taobao.org/address/download/address-1.0.3.tgz",
"integrity": "sha1-tfUGMfjWzsi9IMljljr7VeBsvOk="
},
"aes-decrypter": {
"version": "1.0.3",
"resolved": "http://registry.npm.taobao.org/aes-decrypter/download/aes-decrypter-1.0.3.tgz",
"integrity": "sha1-nAa4pUNaWtCduTP4oBSvzxhMw04=",
"dev": true,
"requires": {
"pkcs7": "^0.2.3"
}
},
"ajv": {
"version": "5.5.2",
"resolved": "http://registry.npm.taobao.org/ajv/download/ajv-5.5.2.tgz",
@ -351,7 +342,7 @@
}
},
"antd": {
"version": "3.6.5",
"version": "3.16.2",
"resolved": "http://registry.npm.taobao.org/antd/download/antd-3.16.2.tgz",
"integrity": "sha1-o7SoRKbegubIfJb4jdojF/TYkHU=",
"requires": {
@ -3786,12 +3777,6 @@
"next-tick": "^1.0.0"
}
},
"es5-shim": {
"version": "4.5.13",
"resolved": "http://registry.npm.taobao.org/es5-shim/download/es5-shim-4.5.13.tgz",
"integrity": "sha1-XYgGLeBJ+Jafg3g/SkiEOV8h0os=",
"dev": true
},
"es6-iterator": {
"version": "2.0.3",
"resolved": "http://registry.npm.taobao.org/es6-iterator/download/es6-iterator-2.0.3.tgz",
@ -4626,15 +4611,6 @@
"debug": "^3.2.6"
}
},
"for-each": {
"version": "0.3.3",
"resolved": "http://registry.npm.taobao.org/for-each/download/for-each-0.3.3.tgz",
"integrity": "sha1-abRH6IoKXTLD5whPPxcQA0shN24=",
"dev": true,
"requires": {
"is-callable": "^1.1.3"
}
},
"for-in": {
"version": "1.0.2",
"resolved": "http://registry.npm.taobao.org/for-in/download/for-in-1.0.2.tgz",
@ -5850,12 +5826,6 @@
"resolved": "http://registry.npm.taobao.org/indexof/download/indexof-0.0.1.tgz",
"integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10="
},
"individual": {
"version": "2.0.0",
"resolved": "http://registry.npm.taobao.org/individual/download/individual-2.0.0.tgz",
"integrity": "sha1-gzsJfa0jKU52EXqY+zjg2a1hu5c=",
"dev": true
},
"inflight": {
"version": "1.0.6",
"resolved": "http://registry.npm.taobao.org/inflight/download/inflight-1.0.6.tgz",
@ -7186,12 +7156,6 @@
"yallist": "^2.1.2"
}
},
"m3u8-parser": {
"version": "2.1.0",
"resolved": "http://registry.npm.taobao.org/m3u8-parser/download/m3u8-parser-2.1.0.tgz",
"integrity": "sha1-yBcDKewc1RXQ1Yu4t2LamJbLA2g=",
"dev": true
},
"make-dir": {
"version": "1.3.0",
"resolved": "http://registry.npm.taobao.org/make-dir/download/make-dir-1.3.0.tgz",
@ -7547,12 +7511,6 @@
"resolved": "http://registry.npm.taobao.org/mute-stream/download/mute-stream-0.0.7.tgz",
"integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s="
},
"mux.js": {
"version": "4.3.2",
"resolved": "http://registry.npm.taobao.org/mux.js/download/mux.js-4.3.2.tgz",
"integrity": "sha1-V21TffA33F7DXsExa5SNgV01whA=",
"dev": true
},
"nan": {
"version": "2.13.2",
"resolved": "http://registry.npm.taobao.org/nan/download/nan-2.13.2.tgz",
@ -8040,16 +7998,6 @@
"is-glob": "^2.0.0"
}
},
"parse-headers": {
"version": "2.0.2",
"resolved": "http://registry.npm.taobao.org/parse-headers/download/parse-headers-2.0.2.tgz",
"integrity": "sha1-lUXopMGuXq6n0kmSvKiQKB7SbjQ=",
"dev": true,
"requires": {
"for-each": "^0.3.3",
"string.prototype.trim": "^1.1.2"
}
},
"parse-json": {
"version": "2.2.0",
"resolved": "http://registry.npm.taobao.org/parse-json/download/parse-json-2.2.0.tgz",
@ -8173,12 +8121,6 @@
"pinkie": "^2.0.0"
}
},
"pkcs7": {
"version": "0.2.3",
"resolved": "http://registry.npm.taobao.org/pkcs7/download/pkcs7-0.2.3.tgz",
"integrity": "sha1-ItYGZtAQZcXyRDkJjkpIMEUic74=",
"dev": true
},
"pkg-dir": {
"version": "2.0.0",
"resolved": "http://registry.npm.taobao.org/pkg-dir/download/pkg-dir-2.0.0.tgz",
@ -10181,17 +10123,6 @@
}
}
},
"react": {
"version": "^16.3.0",
"resolved": "http://registry.npm.taobao.org/react/download/react-16.8.6.tgz",
"integrity": "sha1-rWw6lhT9Ok6e9REX9U2IjaAfK74=",
"requires": {
"loose-envify": "^1.1.0",
"object-assign": "^4.1.1",
"prop-types": "^15.6.2",
"scheduler": "^0.13.6"
}
},
"react-beautiful-dnd": {
"version": "10.1.1",
"resolved": "http://registry.npm.taobao.org/react-beautiful-dnd/download/react-beautiful-dnd-10.1.1.tgz",
@ -11221,15 +11152,6 @@
"is-promise": "^2.1.0"
}
},
"rust-result": {
"version": "1.0.0",
"resolved": "http://registry.npm.taobao.org/rust-result/download/rust-result-1.0.0.tgz",
"integrity": "sha1-NMdbLm3Dn+WHXlveyFteD5FTb3I=",
"dev": true,
"requires": {
"individual": "^2.0.0"
}
},
"rx-lite": {
"version": "4.0.8",
"resolved": "http://registry.npm.taobao.org/rx-lite/download/rx-lite-4.0.8.tgz",
@ -11248,15 +11170,6 @@
"resolved": "http://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.2.tgz",
"integrity": "sha1-mR7GnSluAxN0fVm9/St0XDX4go0="
},
"safe-json-parse": {
"version": "4.0.0",
"resolved": "http://registry.npm.taobao.org/safe-json-parse/download/safe-json-parse-4.0.0.tgz",
"integrity": "sha1-fA9XjPzNEtM6ccDgVBPi7KFx6qw=",
"dev": true,
"requires": {
"rust-result": "^1.0.0"
}
},
"safe-regex": {
"version": "1.1.0",
"resolved": "http://registry.npm.taobao.org/safe-regex/download/safe-regex-1.1.0.tgz",
@ -12058,17 +11971,6 @@
}
}
},
"string.prototype.trim": {
"version": "1.1.2",
"resolved": "http://registry.npm.taobao.org/string.prototype.trim/download/string.prototype.trim-1.1.2.tgz",
"integrity": "sha1-0E3iyJ4Tf019IG8Ia17S+ua+jOo=",
"dev": true,
"requires": {
"define-properties": "^1.1.2",
"es-abstract": "^1.5.0",
"function-bind": "^1.0.2"
}
},
"string_decoder": {
"version": "1.1.1",
"resolved": "http://registry.npm.taobao.org/string_decoder/download/string_decoder-1.1.1.tgz",
@ -12452,12 +12354,6 @@
"integrity": "sha1-8shUBoALmw90yfdGW4HqrSQSUvg=",
"dev": true
},
"tsml": {
"version": "1.0.1",
"resolved": "http://registry.npm.taobao.org/tsml/download/tsml-1.0.1.tgz",
"integrity": "sha1-ifghi52eJX9H1/a1bQHFpNLGj8M=",
"dev": true
},
"tty-browserify": {
"version": "0.0.0",
"resolved": "http://registry.npm.taobao.org/tty-browserify/download/tty-browserify-0.0.0.tgz",
@ -12789,12 +12685,6 @@
"prepend-http": "^1.0.1"
}
},
"url-toolkit": {
"version": "2.1.6",
"resolved": "http://registry.npm.taobao.org/url-toolkit/download/url-toolkit-2.1.6.tgz",
"integrity": "sha1-bQMkZJnlGarSJMRARKSuIFRBVPI=",
"dev": true
},
"use": {
"version": "3.1.1",
"resolved": "http://registry.npm.taobao.org/use/download/use-3.1.1.tgz",
@ -12862,87 +12752,6 @@
"extsprintf": "^1.2.0"
}
},
"video.js": {
"version": "6.13.0",
"resolved": "http://registry.npm.taobao.org/video.js/download/video.js-6.13.0.tgz",
"integrity": "sha1-+Uh9RjJzQPpI7NUTcqKYHbts3kw=",
"dev": true,
"requires": {
"babel-runtime": "^6.9.2",
"global": "4.3.2",
"safe-json-parse": "4.0.0",
"tsml": "1.0.1",
"videojs-font": "2.1.0",
"videojs-ie8": "1.1.2",
"videojs-vtt.js": "0.12.6",
"xhr": "2.4.0"
}
},
"videojs-contrib-hls": {
"version": "5.15.0",
"resolved": "http://registry.npm.taobao.org/videojs-contrib-hls/download/videojs-contrib-hls-5.15.0.tgz",
"integrity": "sha1-/klXNn5daLfSP3jtMuN6ndiSoKg=",
"dev": true,
"requires": {
"aes-decrypter": "1.0.3",
"global": "^4.3.0",
"m3u8-parser": "2.1.0",
"mux.js": "4.3.2",
"url-toolkit": "^2.1.3",
"video.js": "^5.19.1 || ^6.2.0",
"videojs-contrib-media-sources": "4.7.2",
"webwackify": "0.1.6"
}
},
"videojs-contrib-media-sources": {
"version": "4.7.2",
"resolved": "http://registry.npm.taobao.org/videojs-contrib-media-sources/download/videojs-contrib-media-sources-4.7.2.tgz",
"integrity": "sha1-Ct+SkQfVt0zyyKuygkyCF35DhY4=",
"dev": true,
"requires": {
"global": "^4.3.0",
"mux.js": "4.3.2",
"video.js": "^5.17.0 || ^6.2.0",
"webwackify": "0.1.6"
}
},
"videojs-font": {
"version": "2.1.0",
"resolved": "http://registry.npm.taobao.org/videojs-font/download/videojs-font-2.1.0.tgz",
"integrity": "sha1-olkwpn9snPvyu4jay4xrRR8JM3k=",
"dev": true
},
"videojs-for-react": {
"version": "0.0.3",
"resolved": "http://registry.npm.taobao.org/videojs-for-react/download/videojs-for-react-0.0.3.tgz",
"integrity": "sha1-xruVr5+/UhsUKtfSUKpfCj2jamg=",
"dev": true,
"requires": {
"prop-types": "^15.6.1",
"react": "^16.3.2",
"react-dom": "^16.3.2",
"video.js": "^6.9.0",
"videojs-contrib-hls": "^5.14.1"
}
},
"videojs-ie8": {
"version": "1.1.2",
"resolved": "http://registry.npm.taobao.org/videojs-ie8/download/videojs-ie8-1.1.2.tgz",
"integrity": "sha1-oj09hgitcZK2nGB3/E64SJmNNdk=",
"dev": true,
"requires": {
"es5-shim": "^4.5.1"
}
},
"videojs-vtt.js": {
"version": "0.12.6",
"resolved": "http://registry.npm.taobao.org/videojs-vtt.js/download/videojs-vtt.js-0.12.6.tgz",
"integrity": "sha1-4HhgC9qJnqpvnDMHE0zQyBGUe44=",
"dev": true,
"requires": {
"global": "^4.3.1"
}
},
"vm-browserify": {
"version": "0.0.4",
"resolved": "http://registry.npm.taobao.org/vm-browserify/download/vm-browserify-0.0.4.tgz",
@ -13444,12 +13253,6 @@
"resolved": "http://registry.npm.taobao.org/websocket-extensions/download/websocket-extensions-0.1.3.tgz",
"integrity": "sha1-XS/yKXcAPsaHpLhwc9+7rBRszyk="
},
"webwackify": {
"version": "0.1.6",
"resolved": "http://registry.npm.taobao.org/webwackify/download/webwackify-0.1.6.tgz",
"integrity": "sha1-HUKhKsYYI9fjRaveCE6qpipKles=",
"dev": true
},
"whatwg-encoding": {
"version": "1.0.5",
"resolved": "http://registry.npm.taobao.org/whatwg-encoding/download/whatwg-encoding-1.0.5.tgz",
@ -13597,18 +13400,6 @@
"resolved": "http://registry.npm.taobao.org/xdg-basedir/download/xdg-basedir-3.0.0.tgz",
"integrity": "sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ="
},
"xhr": {
"version": "2.4.0",
"resolved": "http://registry.npm.taobao.org/xhr/download/xhr-2.4.0.tgz",
"integrity": "sha1-4W5mpF+GmGHu76tBbV7/ci3ECZM=",
"dev": true,
"requires": {
"global": "~4.3.0",
"is-function": "^1.0.1",
"parse-headers": "^2.0.0",
"xtend": "^4.0.0"
}
},
"xml-name-validator": {
"version": "2.0.1",
"resolved": "http://registry.npm.taobao.org/xml-name-validator/download/xml-name-validator-2.0.1.tgz",

@ -3,7 +3,6 @@
"version": "0.1.0",
"private": true,
"dependencies": {
"@flatten/array": "^1.1.7",
"@icedesign/base": "^0.2.5",
"@novnc/novnc": "^1.1.0",
"antd": "^3.20.1",
@ -48,6 +47,7 @@
"moment": "^2.23.0",
"monaco-editor": "^0.15.6",
"monaco-editor-webpack-plugin": "^1.7.0",
"npm": "^6.10.1",
"object-assign": "4.1.1",
"postcss-flexbugs-fixes": "3.2.0",
"postcss-loader": "2.0.8",
@ -159,7 +159,6 @@
"port": "3007",
"devDependencies": {
"@babel/runtime": "7.0.0-beta.51",
"antd": "^3.6.5",
"babel-plugin-import": "^1.11.0",
"concat": "^1.0.3",
"happypack": "^5.0.1",

@ -152,8 +152,8 @@ class UseBank extends Component{
)
.then((response) => {
if (response.data.status == 0) {
this.props.showNotification('题库选用成功')
this.props.useBankSuccess && this.props.useBankSuccess(checkBoxValues,response.data.object_ids);
this.props.showNotification('题库选用成功')
this.closeSelectBank();
this.props.updataleftNavfun()
this.setState({

@ -1,10 +1,11 @@
import React, { Component } from 'react';
import {getImageUrl} from 'educoder';
import CoursesHomeCard from "./coursesHomeCard.js"
import axios from 'axios';
import {Input,Pagination,Tooltip} from 'antd';
import {Input,Tooltip} from 'antd';
import './css/CoursesHome.css';
import Pagination from '@icedesign/base/lib/pagination';
import '@icedesign/base/lib/pagination/style.js';
const Search = Input.Search;
class coursesHome extends Component{
@ -38,13 +39,14 @@ class coursesHome extends Component{
}
//搜索
searchValue=(e)=>{
let { search }=this.state;
let { search ,order}=this.state;
this.setState({
order:'all',
order:order,
page:1
})
this.searchcourses(16,1,'all',search)
this.searchcourses(16,1,order,search)
}
@ -89,7 +91,7 @@ class coursesHome extends Component{
render() {
let { order,search,page,coursesHomelist }=this.state;
console.log(coursesHomelist)
return (
<div>
@ -126,10 +128,16 @@ class coursesHome extends Component{
<CoursesHomeCard {...this.props} {...this.state}
coursesHomelist={coursesHomelist}></CoursesHomeCard>
{coursesHomelist===undefined?"":coursesHomelist.courses.length===0?<div className="edu-tab-con-box clearfix edu-txt-center mb50">
<img className="edu-nodata-img mb20" src={getImageUrl("images/educoder/nodata.png")}/>
<p className="edu-nodata-p mb20">暂无数据哦~</p>
</div>:""}
{
coursesHomelist===undefined?"":coursesHomelist.courses_count > 16?
<div className="educontent mb80 edu-txt-center mt10">
<Pagination showQuickJumper current={page} pageSize={16} total={coursesHomelist.courses_count} onChange={this.onChange} />
<Pagination current={page} total={ coursesHomelist.courses_count || 1299 } type="mini" pageSize={16} onChange={this.onChange} />
</div>:""
}
</div>
@ -139,3 +147,6 @@ class coursesHome extends Component{
}
}
export default coursesHome;
// {/*<Pagination showQuickJumper current={page} pageSize={16} total={coursesHomelist.courses_count} onChange={this.onChange} />*/}

@ -42,7 +42,7 @@ class Exercisetablesmubus extends Component {
key: 'commit_percent',
render: (text, record) => (
<span style={{color:text.type===true? "#29BD8B":'#333333'}}>
{text.value!="有效填写量"&&text.value!="wrong"?text.num +"."+ text.value:false}
{text.value!="有效填写量"&&text.value!="wrong"?text.value:false}
{text.value==="wrong"?"填写了错误答案":false}
{text.value==="有效填写量"?"有效填写量":false}
</span>

@ -5,9 +5,9 @@ import {DMDEditor,markdownToHTML } from 'educoder'
import axios from 'axios'
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'
// '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 fillEmpty extends Component{
constructor(props){

@ -4,9 +4,9 @@ import {markdownToHTML} from 'educoder'
import axios from 'axios'
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'
// '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 Multiple extends Component{
constructor(props){
@ -48,7 +48,7 @@ class Multiple extends Component{
return(
<p className="clearfix mb15 df">
<Checkbox className="fl lineh-20 " value={item.choice_id}></Checkbox>
<span class="fl lineh-20 mt1">{tagArray[key]}.</span><span style={{display:"inline-block"}} className="markdown-body mt1" dangerouslySetInnerHTML={{__html: markdownToHTML(item.choice_text)}}></span>
<span class="fl lineh-20 mt1"></span><span style={{display:"inline-block"}} className="markdown-body mt1" dangerouslySetInnerHTML={{__html: markdownToHTML(item.choice_text)}}></span>
</p>
)
})

@ -4,9 +4,9 @@ import {Checkbox,Radio, Input} from "antd";
import {markdownToHTML} from 'educoder'
import axios from 'axios'
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'
// '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 single extends Component{
constructor(props){
@ -43,7 +43,7 @@ class single extends Component{
return(
<p className={parseInt(questionType.question_type) == 0 ? "clearfix mb15 df" : "fl mr40"}>
<Radio className="fl lineh-20" value={item.choice_id}></Radio>
<span className="fl lineh-20 mr3 mt1">{tagArray[key]}.</span><span style={{display:"inline-block"}} className="markdown-body fl mt1" dangerouslySetInnerHTML={{__html: markdownToHTML(item.choice_text)}}></span>
<span className="fl lineh-20 mr3 mt1"></span><span style={{display:"inline-block"}} className="markdown-body fl mt1" dangerouslySetInnerHTML={{__html: markdownToHTML(item.choice_text)}}></span>
</p>
)
})

@ -388,11 +388,12 @@ class GraduationTasksSubmitedit extends Component{
}
this.props.form.validateFields((err, values) => {
if (!err) {
console.log(values.description);
// console.log(fileList);
if(values.description===undefined||values.description===""){
this.scrollToAnchor("valuestypes");
debugger
return
}
if(workslist.task_type===2){
@ -418,12 +419,12 @@ class GraduationTasksSubmitedit extends Component{
})
let workId=this.props.match.params.work_Id;
if(fileList.length===0){
this.setState({
shixunsreplace:true,
})
return
}
// if(fileList.length===0){
// this.setState({
// shixunsreplace:true,
// })
// return
// }
let url="/graduation_works/"+workId+".json";
axios.put(url, {
@ -456,7 +457,7 @@ class GraduationTasksSubmitedit extends Component{
console.log(error)
})
}
});
}
@ -472,10 +473,18 @@ class GraduationTasksSubmitedit extends Component{
hidestartshixunsreplacetwo= ()=>{
this.setState({
shixunsreplace:false,
spinnings:false
})
}
scrollToAnchor = (anchorName) => {
if (anchorName) {
// 找到锚点
let anchorElement = document.getElementById(anchorName);
// 如果对应id的锚点存在就跳转到锚点
if(anchorElement) { anchorElement.scrollIntoView({block: 'start', behavior: 'smooth'}); }
}
}
render(){
const { getFieldDecorator } = this.props.form;
let {search,fileList, workslist,setvalue,minvalue,minmaxtype,Loadtype,description,attachments,
@ -573,7 +582,7 @@ class GraduationTasksSubmitedit extends Component{
{description&&description?
<div>
{/*<Form onSubmit={this.handleSubmit} >*/}
<div className="stud-class-set pd20 coursenavbox edu-back-white">
<div className="stud-class-set pd20 coursenavbox edu-back-white" id={"valuestypes"}>
<style>{`
.uploadBtn.ant-btn {
border: none;

@ -358,6 +358,7 @@ class GraduationTasksSubmitnew extends Component{
//公用数据
Commoninterface = (fileList,selectmemberslist,workslist)=>{
debugger
let userids=[];
for(var list of selectmemberslist){
@ -379,11 +380,11 @@ class GraduationTasksSubmitnew extends Component{
}
// if( GraduationTasksnewtype===true){
this.props.form.validateFields((err, values) => {
if (!err) {
console.log(values.description);
// console.log(fileList);
if(values.description===undefined||values.description===""){
this.scrollToAnchor("valuestypes");
debugger
return
}
if(workslist&&workslist.task_type===2){
@ -414,13 +415,12 @@ class GraduationTasksSubmitnew extends Component{
let id=this.props.match.params.task_Id;
if(fileList.length === 0){
this.setState({
shixunsreplace:true,
})
return
}
debugger
// if(fileList.length === 0){
// this.setState({
// shixunsreplace:true,
// })
// return
// }
let url="/graduation_tasks/"+id+"/graduation_works.json";
axios.post(url, {
description:values.description,
@ -452,7 +452,7 @@ debugger
console.log(error)
})
}
});
// }
@ -460,6 +460,7 @@ debugger
//确认
hidestartshixunsreplace=()=>{
debugger
let {fileList,selectmemberslist,workslist}=this.state;
this.Commoninterface(fileList,selectmemberslist,workslist);
@ -468,9 +469,17 @@ debugger
hidestartshixunsreplacetwo=()=>{
this.setState({
shixunsreplace:false,
spinnings:false
})
}
scrollToAnchor = (anchorName) => {
if (anchorName) {
// 找到锚点
let anchorElement = document.getElementById(anchorName);
// 如果对应id的锚点存在就跳转到锚点
if(anchorElement) { anchorElement.scrollIntoView({block: 'start', behavior: 'smooth'}); }
}
}
render(){
const { getFieldDecorator } = this.props.form;
let {search,fileList, workslist,setvalue,minvalue,minmaxtype,Loadtype,
@ -570,7 +579,7 @@ render(){
{/*<Form onSubmit={GraduationTasksnewtype===true?this.handleSubmit:"return false"}*/}
{/*>*/}
<div className="stud-class-set pd20 coursenavbox edu-back-white">
<div className="stud-class-set pd20 coursenavbox edu-back-white" id={"valuestypes"}>
<style>{`
.uploadBtn.ant-btn {
border: none;

@ -65,12 +65,12 @@ class GraduationTasksappraise extends Component{
}
goback=()=>{
let {datalist}=this.state;
let courseId=this.props.match.params.coursesId;
let category_id=this.props.match.params.category_id;
window.location.href="/courses/"+courseId+"/graduation_tasks/"+datalist.graduation_id;
// let {datalist}=this.state;
// let courseId=this.props.match.params.coursesId;
// let category_id=this.props.match.params.category_id;
//
// window.location.href="/courses/"+courseId+"/graduation_tasks/"+datalist.graduation_id;
window.history.go(-1)
}
Cancelvisible=()=>{

@ -459,15 +459,15 @@ class GraduationTaskssettingapp extends Component{
})
}
//跳转道描点的地方
scrollToAnchor = (anchorName) => {
if (anchorName) {
// 找到锚点
let anchorElement = document.getElementById(anchorName);
// 如果对应id的锚点存在就跳转到锚点
if(anchorElement) { anchorElement.scrollIntoView(); }
}
}
// //跳转道描点的地方
// scrollToAnchor = (anchorName) => {
// if (anchorName) {
// // 找到锚点
// let anchorElement = document.getElementById(anchorName);
// // 如果对应id的锚点存在就跳转到锚点
// if(anchorElement) { anchorElement.scrollIntoView(); }
// }
// }
saveTaskssetting=()=>{

@ -143,13 +143,22 @@ class GraduationTaskssettinglist extends Component{
// console.log(e.target.value)
let {teacher_comment, task_status, course_group, cross_comment, order, b_order, search} = this.state;
let listype =list instanceof Array;
if(listype===false||list.length===key){
this.setState({
teacher_comment:list.length===key?undefined:list[0],
teacher_comment:null,
loadingstate:true
})
}else{
this.setState({
teacher_comment:list,
loadingstate:true
})
}
if(list.length===key){
if(list.length===key){
this.seacthdata(undefined, task_status, course_group, cross_comment, order, b_order, search,this.state.page);
}else{
this.seacthdata(list[0], task_status, course_group, cross_comment, order, b_order, search,this.state.page);
@ -783,16 +792,30 @@ class GraduationTaskssettinglist extends Component{
{this.props.isAdmin()?operation.map((tag,key) => {
return(
<div key={key}>
{/*<Tooltip placement="bottom" title={tag.name==="分配"?"指定该作品的交叉评阅人":tag.name==="调分"?<pre>调整学生最终成绩<br/>*/}
{/*其它历史评分将全部失效</pre>:""}>*/}
{/*{tag.name==="评阅"?tag.status===0?"--":<a style={{color:'#4CACFF'}} href={"/courses/"+courseId+"/graduation_tasks/"+tag.id+"/appraise"} >*/}
{/*{tag.name}*/}
{/*</a>*/}
{/*:*/}
{/*<a style={{color:tag.name==="调分"?"#000":'#4CACFF'}}*/}
{/*onClick={tag.name==="调分"?()=>this.showModulationtype(tag.id):tag.name==="分配"?()=>this.showAllocationModal(tag.id):""}>*/}
{/*{tag.status===0?"":tag.name}*/}
{/*</a>*/}
{/*}*/}
{/*</Tooltip>*/}
<Tooltip placement="bottom" title={tag.name==="分配"?"指定该作品的交叉评阅人":tag.name==="调分"?<pre>调整学生最终成绩<br/>
其它历史评分将全部失效</pre>:""}>
{tag.name==="评阅"?tag.status===0?"--":<a style={{color:'#4CACFF'}} href={"/courses/"+courseId+"/graduation_tasks/"+tag.id+"/appraise"} >
{tag.name==="评阅"?<a style={{color:'#4CACFF'}} href={"/courses/"+courseId+"/graduation_tasks/"+tag.id+"/appraise"} >
{tag.name}
</a>
:
<a style={{color:tag.name==="调分"?"#000":'#4CACFF'}}
onClick={tag.name==="调分"?()=>this.showModulationtype(tag.id):tag.name==="分配"?()=>this.showAllocationModal(tag.id):""}>
{tag.status===0?"":tag.name}
{tag.name}
</a>
}
@ -855,8 +878,7 @@ class GraduationTaskssettinglist extends Component{
)
}
if(taskslistdata&&taskslistdata.have_grouping===false){
if(taskslistdata&&taskslistdata.have_project===false){
columns.some((item,key)=> {
if (item.title === "关联项目") {
@ -866,6 +888,10 @@ class GraduationTaskssettinglist extends Component{
}
)
}
if(taskslistdata&&taskslistdata.have_grouping===false){
columns.some((item,key)=> {
if (item.title === "分组") {
@ -1087,7 +1113,7 @@ class GraduationTaskssettinglist extends Component{
{taskslistdata.search_assistants && taskslistdata.search_assistants.teacher_comment && taskslistdata.search_assistants.teacher_comment.map((item,key)=>{
return(
<span key={key}>
<Checkbox value={item.id} key={item.id} onClick={this.funteachercomment} className="fl ">{item.name}
<Checkbox value={item.id} key={item.id} className="fl ">{item.name}
<span>({item.count})</span>
</Checkbox>
</span>
@ -1354,7 +1380,7 @@ class GraduationTaskssettinglist extends Component{
{taskslistdata.search_assistants&&taskslistdata.search_assistants.teacher_comment.map((item,key)=>{
return(
<span key={key}>
<Checkbox value={item.id} onClick={this.funteachercomment} className="fl ">{item.name}
<Checkbox value={item.id} className="fl ">{item.name}
<span>({item.count})</span>
</Checkbox>
</span>

@ -50,9 +50,10 @@ class GraduationTasksquestions extends Component{
}
goback=()=>{
let courseId=this.props.match.params.coursesId;
let category_id=this.props.match.params.category_id;
window.location.href="/courses/"+courseId+"/graduation_tasks/"+category_id;
// let courseId=this.props.match.params.coursesId;
// let category_id=this.props.match.params.category_id;
// window.location.href="/courses/"+courseId+"/graduation_tasks/"+category_id;
window.history.go(-1)
}
end=()=>{

@ -37,7 +37,7 @@ class GraduationTasks extends Component{
}
}
fetchAll = (search,page,order,count) => {
debugger
const cid = this.props.match.params.coursesId
@ -553,7 +553,8 @@ class GraduationTasks extends Component{
})
}
// 题库选用成功后刷新页面
useBankSuccess=()=>{
useBankSuccess=(checkBoxValues,object_ids)=>{
debugger
let {search,page,order,all_count} = this.state;
this.fetchAll(search,page,order,all_count)
}
@ -650,7 +651,7 @@ class GraduationTasks extends Component{
</Link>
</WordsBtn> : ""}
{this.props.isAdmin() ?<UseBank {...this.props} {...this.state} object_type={"gtask"} useBankSuccess={this.useBankSuccess}></UseBank>:""}
{this.props.isAdmin() ?<UseBank {...this.props} {...this.state} object_type={"gtask"} useBankSuccess={()=>this.useBankSuccess()}></UseBank>:""}
</React.Fragment>
}

@ -66,7 +66,7 @@ class ShixunPathCard extends Component{
}
</div>
):(
<div className="edu-tab-con-box clearfix edu-txt-center">
<div className="edu-tab-con-box clearfix edu-txt-center mb50">
<img className="edu-nodata-img mb20" src={getImageUrl("images/educoder/nodata.png")}/>
<p className="edu-nodata-p mb20">暂无数据哦~</p>
</div>

@ -1,7 +1,9 @@
import React, { Component } from 'react';
import PathCard from "./ShixunPathCard.js"
import axios from 'axios';
import {Input,Pagination} from 'antd';
import {Input} from 'antd';
import Pagination from '@icedesign/base/lib/pagination';
import '@icedesign/base/lib/pagination/style.js';
import './ShixunPaths.css'
@ -129,7 +131,7 @@ class ShixunPathSearch extends Component{
{
total_count > 16 &&
<div className="educontent mb80 edu-txt-center mt10">
<Pagination showQuickJumper defaultCurrent={page} current={page} pageSize={16} total={total_count} onChange={this.onChange} />
<Pagination current={page} total={ total_count || 1299 } type="mini" pageSize={16} onChange={this.onChange} />
</div>
}
@ -138,3 +140,6 @@ class ShixunPathSearch extends Component{
}
}
export default ShixunPathSearch;
// <Pagination showQuickJumper defaultCurrent={page} current={page} pageSize={16} total={total_count} onChange={this.onChange} />
Loading…
Cancel
Save