Merge branch 'dev_aliyun' of https://bdgit.educoder.net/Hjqreturn/educoder into dev_aliyun

chromesetting
daiao 5 years ago
commit 4ad117afa3

@ -1883,9 +1883,8 @@ a:hover.task_icons_close{background: url(../images/popup/sy_icons_close.png) -40
.newupload_nav li:last-child{ border-right: none;} .newupload_nav li:last-child{ border-right: none;}
.newupload_nav li a{font-size:12px; color:#444;} .newupload_nav li a{font-size:12px; color:#444;}
.newupload_nav_hover{ background: #3498db; } .newupload_nav_hover{ background: #3498db; }
.newupload_nav_nomal { }
.newupload_nav_hover a{color: #fff !important; } .newupload_nav_hover a{color: #fff !important; }
.markdown-body { text-align: justify;word-break: break-all;}
.bor-reds{ .bor-reds{
border:1px solid #FF0000!important; border:1px solid #FF0000!important;
border-radius: 4px; border-radius: 4px;
@ -1894,6 +1893,7 @@ a:hover.task_icons_close{background: url(../images/popup/sy_icons_close.png) -40
border-bottom-right-radius: 4px; border-bottom-right-radius: 4px;
border-bottom-left-radius: 4px; border-bottom-left-radius: 4px;
} }
@charset "UTF-8"; @charset "UTF-8";
/*! /*!

@ -2934,7 +2934,7 @@ a.singlepublishtwo{
padding: 40px !important; padding: 40px !important;
} }
.editormd-html-preview{ .editormd-html-preview{
width: 94% !important; width: 100% !important;
color: #323232 !important; color: #323232 !important;
} }
#homework_editorMd_description hr{ #homework_editorMd_description hr{
@ -3478,3 +3478,9 @@ a.singlepublishtwo{
/*width: auto !important;*/ /*width: auto !important;*/
/*max-width: 600px !important;*/ /*max-width: 600px !important;*/
/*}*/ /*}*/
.markdown-body {
text-align: justify;
word-break: break-all;
}

@ -4,7 +4,7 @@
* @Github: * @Github:
* @Date: 2019-12-18 10:49:46 * @Date: 2019-12-18 10:49:46
* @LastEditors : tangjiang * @LastEditors : tangjiang
* @LastEditTime : 2019-12-24 17:05:14 * @LastEditTime : 2019-12-24 18:04:52
*/ */
import './index.scss'; import './index.scss';
import React from 'react'; import React from 'react';
@ -26,7 +26,11 @@ function CommentIcon ({
const _className = [undefined, null, ''].includes(count) ? 'comment_count_none' : 'comment_count'; const _className = [undefined, null, ''].includes(count) ? 'comment_count_none' : 'comment_count';
return ( return (
<span className={`comment_icon_count ${props.className}`} onClick={ handleSpanClick }> <span
style={props.style}
className={`comment_icon_count ${props.className}`}
onClick={ handleSpanClick }
>
<Icon className="comment_icon" type={type} style={{ color: iconColor }} theme={theme}/> <Icon className="comment_icon" type={type} style={{ color: iconColor }} theme={theme}/>
<span className={_className}>{ count }</span> <span className={_className}>{ count }</span>
</span> </span>

@ -4,7 +4,7 @@
* @Github: * @Github:
* @Date: 2019-12-17 17:35:17 * @Date: 2019-12-17 17:35:17
* @LastEditors : tangjiang * @LastEditors : tangjiang
* @LastEditTime : 2019-12-24 17:11:59 * @LastEditTime : 2019-12-24 18:05:18
*/ */
import './index.scss'; import './index.scss';
import React, { useState } from 'react'; import React, { useState } from 'react';
@ -14,6 +14,7 @@ import { Icon } from 'antd';
import CommentForm from './CommentForm'; import CommentForm from './CommentForm';
function CommentItem ({ function CommentItem ({
isAdmin,
options, options,
confirm, confirm,
comment, comment,
@ -60,7 +61,7 @@ function CommentItem ({
const commentAvatar = (author) => ( const commentAvatar = (author) => (
<img <img
className="item-flex flex-image" className="item-flex flex-image"
src={author.image_url ? getImageUrl(`/images/${author.image_url}`) : 'https://b-ssl.duitang.com/uploads/item/201511/13/20151113110434_kyReJ.jpeg'} src={author.image_url ? getImageUrl(`images/${author.image_url}`) : 'https://b-ssl.duitang.com/uploads/item/201511/13/20151113110434_kyReJ.jpeg'}
alt="" alt=""
/> />
); );
@ -176,6 +177,7 @@ function CommentItem ({
<div className="comment_icon_area"> <div className="comment_icon_area">
<CommentIcon <CommentIcon
style={{ display: isAdmin ? 'inline-block' : 'none'}}
className='comment-icon-margin' className='comment-icon-margin'
type={!hidden ? "eye" : 'eye-invisible'} type={!hidden ? "eye" : 'eye-invisible'}
iconClick={() => handleShowOrHide(id, !hidden ? 1 : 0)} iconClick={() => handleShowOrHide(id, !hidden ? 1 : 0)}

@ -4,13 +4,15 @@
* @Github: * @Github:
* @Date: 2019-12-17 17:34:00 * @Date: 2019-12-17 17:34:00
* @LastEditors : tangjiang * @LastEditors : tangjiang
* @LastEditTime : 2019-12-24 11:30:14 * @LastEditTime : 2019-12-24 18:08:07
*/ */
import './index.scss'; import './index.scss';
import React from 'react'; import React from 'react';
import CommentItem from './CommentItem'; import CommentItem from './CommentItem';
import { Empty } from 'antd';
function CommentList (props) { function CommentList (props) {
const { const {
isAdmin,
commentLists, // 评论列表 commentLists, // 评论列表
submitChildComment, submitChildComment,
submitDeleteComment, submitDeleteComment,
@ -21,9 +23,11 @@ function CommentList (props) {
const {comments = []} = commentLists; const {comments = []} = commentLists;
const renderLi = () => { const renderLi = () => {
if (comments.length > 0) {
return comments.map((item, index) => { return comments.map((item, index) => {
return ( return (
<CommentItem <CommentItem
isAdmin={isAdmin}
key={`item_${index}`} key={`item_${index}`}
submitChildComment={submitChildComment} submitChildComment={submitChildComment}
submitDeleteComment={submitDeleteComment} submitDeleteComment={submitDeleteComment}
@ -33,6 +37,13 @@ function CommentList (props) {
/> />
); );
}); });
} else {
return (
<div className="empty_comment">
<Empty />
</div>
);
}
} }
return ( return (

@ -4,7 +4,7 @@
* @Github: * @Github:
* @Date: 2019-12-17 17:31:33 * @Date: 2019-12-17 17:31:33
* @LastEditors : tangjiang * @LastEditors : tangjiang
* @LastEditTime : 2019-12-24 15:47:07 * @LastEditTime : 2019-12-24 18:03:21
*/ */
import React from 'react'; import React from 'react';
// import CommentForm from './CommentForm'; // import CommentForm from './CommentForm';
@ -15,6 +15,7 @@ function Comment (props) {
commentLists, commentLists,
// addComment, // addComment,
// cancelComment, // cancelComment,
isAdmin,
addChildComment, addChildComment,
likeComment, likeComment,
showOrHideComment, showOrHideComment,
@ -31,6 +32,7 @@ function Comment (props) {
onSubmit={addComment} onSubmit={addComment}
/> */} /> */}
<CommentList <CommentList
isAdmin={isAdmin}
likeComment={likeComment} likeComment={likeComment}
showOrHideComment={showOrHideComment} showOrHideComment={showOrHideComment}
commentLists={commentLists} commentLists={commentLists}

@ -9,7 +9,13 @@ $ml: 20px;
.comment_list_wrapper{ .comment_list_wrapper{
box-sizing: border-box; box-sizing: border-box;
// border-top: 1px solid $bdColor; // border-top: 1px solid $bdColor;
.empty_comment{
display: flex;
height: calc(100vh - 200px);
width: 100%;
justify-content: center;
align-items: center;
}
.comment_item_show{ .comment_item_show{
display: block; display: block;
} }

@ -1,5 +1,5 @@
.editormd-html-preview, .editormd-preview-container { .editormd-html-preview, .editormd-preview-container {
width: 95% !important; width: 100% !important;
} }
.Finish_button{ .Finish_button{
height: 30px; height: 30px;

@ -1667,7 +1667,7 @@ class Listofworksstudentone extends Component {
], ],
yslpros: false, yslpros: false,
datajs: [], datajs: [],
homework_status: [], homework_status: undefined,
} }
} }
@ -3597,7 +3597,14 @@ class Listofworksstudentone extends Component {
starttimesend={this.state.starttimesend} starttimesend={this.state.starttimesend}
typs={this.state.typs} typs={this.state.typs}
/> : ""} /> : ""}
{ {homework_status===undefined?
<div className={"educontent "}>
<div className="edu-back-white">
<div className="edu-tab-con-box clearfix edu-txt-center" style={{ width:"100%",height:"200px" }}>
<Spin style={{ width:"100%","line-height":"200px" }}></Spin>
</div>
</div>
</div>:
homework_status && homework_status.length === 0 ? homework_status && homework_status.length === 0 ?
<div className="edu-back-white"> <div className="edu-back-white">
<NoneData></NoneData> <NoneData></NoneData>
@ -3609,11 +3616,7 @@ class Listofworksstudentone extends Component {
</div> </div>
: :
<div className={"educontent "}> <div className={"educontent "}>
<div className="edu-back-white"> <div className="edu-back-white">
<style> <style>
{` {`
.startbox{ .startbox{

@ -4,7 +4,7 @@
* @Github: * @Github:
* @Date: 2019-11-27 09:49:35 * @Date: 2019-11-27 09:49:35
* @LastEditors : tangjiang * @LastEditors : tangjiang
* @LastEditTime : 2019-12-24 17:10:14 * @LastEditTime : 2019-12-24 17:58:26
*/ */
import './index.scss'; import './index.scss';
import React, { useEffect } from 'react'; import React, { useEffect } from 'react';
@ -15,6 +15,7 @@ import actions from '../../../../../redux/actions';
const CommentTask = (props) => { const CommentTask = (props) => {
const { const {
isAdmin,
identifier, identifier,
commentLists, commentLists,
addComment, addComment,
@ -74,6 +75,7 @@ const CommentTask = (props) => {
return ( return (
<div className="task_comment_task"> <div className="task_comment_task">
<Comment <Comment
isAdmin={isAdmin}
commentLists={commentLists} commentLists={commentLists}
addComment={handleAddComment} addComment={handleAddComment}
addChildComment={handleAddChildComment} addChildComment={handleAddChildComment}
@ -92,8 +94,10 @@ const mapStateToProps = (state) => {
const { const {
comment_identifier comment_identifier
} = state.ojForUserReducer; } = state.ojForUserReducer;
const { userInfo } = state.userReducer;
return { return {
commentLists, commentLists,
isAdmin: userInfo.admin,
identifier: comment_identifier identifier: comment_identifier
} }
} }

@ -555,6 +555,9 @@ class PathDetailIndex extends Component{
.pathDetailIndex .markdown-body > p { .pathDetailIndex .markdown-body > p {
line-height: 28px; line-height: 28px;
} }
// #shixuns_propaedeutics{
// width: 100% !important;
// }
` `
} }
</style> </style>

@ -59,7 +59,8 @@ class TPMBanner extends Component {
openknow:false, openknow:false,
openshowpublictype:false, openshowpublictype:false,
Radiovalue:1, Radiovalue:1,
TextAreaintshow:false TextAreaintshow:false,
} }
} }
@ -112,6 +113,15 @@ class TPMBanner extends Component {
componentDidUpdate(prevProps, prevState) { componentDidUpdate(prevProps, prevState) {
if (prevProps != this.props) { if (prevProps != this.props) {
if(prevProps.user != this.props.user){
if(this.props.user&&this.props.user.admin===true||this.props.user&&this.props.user.business===true){
this.setState({
TextArea:"云上实验室使用"
})
}
}
let shixunopenprocess=window.localStorage.shixunopenprocess; let shixunopenprocess=window.localStorage.shixunopenprocess;
let openopenpublictype=window.localStorage.openopenpublictype; let openopenpublictype=window.localStorage.openopenpublictype;
if(this.props.status===0&&this.props.openknows===false){ if(this.props.status===0&&this.props.openknows===false){
@ -173,8 +183,12 @@ class TPMBanner extends Component {
}) })
} }
if (this.props.user && this.props.user.admin === true || this.props.user && this.props.user.business === true) {
this.setState({
TextArea: "云上实验室使用"
})
}
} }
/* /*
* Fork * Fork
* */ * */
@ -736,6 +750,11 @@ class TPMBanner extends Component {
this.setState({ this.setState({
Radiovalue:e.target.value Radiovalue:e.target.value
}) })
if(e.target.value!=4){
this.setState({
TextAreaintshow:false
})
}
} }
render() { render() {
@ -827,7 +846,7 @@ class TPMBanner extends Component {
}; };
// //
// console.log(this.props.shixunsDetails&&this.props.shixunsDetails.is_jupyter) // console.log(this.props.shixunsDetails&&this.props.shixunsDetails.is_jupyter)
// console.log(this.props)
// console.log(this.state) // console.log(this.state)
return ( return (
@ -1318,7 +1337,9 @@ class TPMBanner extends Component {
其它原因 其它原因
</Radio> </Radio>
{this.state.Radiovalue === 4 ? {this.state.Radiovalue === 4 ?
<TextArea className={this.state.TextAreaintshow===true?"bor-red mt10":"mt10"} rows={4} style={{ width: '85%', marginLeft: '30px' }} onInput={this.changeTextArea}/>: null} <TextArea className={this.state.TextAreaintshow===true?"bor-red mt10":"mt10"}
value={this.state.TextArea}
rows={4} style={{ width: '85%', marginLeft: '30px' }} onInput={this.changeTextArea}/>: null}
{this.state.TextAreaintshow===true?<div className={"color-red ml30"}>不能为空</div>:""} {this.state.TextAreaintshow===true?<div className={"color-red ml30"}>不能为空</div>:""}
</Radio.Group> </Radio.Group>
</div> </div>

@ -35,14 +35,14 @@ if (!window['indexHOCLoaded']) {
// $('head').append($('<link rel="stylesheet" type="text/css" />') // $('head').append($('<link rel="stylesheet" type="text/css" />')
// .attr('href', `${_url_origin}/stylesheets/educoder/antd.min.css?1525440977`)); // .attr('href', `${_url_origin}/stylesheets/educoder/antd.min.css?1525440977`));
$('head').append($('<link rel="stylesheet" type="text/css" />') $('head').append($('<link rel="stylesheet" type="text/css" />')
.attr('href', `${_url_origin}/stylesheets/css/edu-common.css?6`)); .attr('href', `${_url_origin}/stylesheets/css/edu-common.css?66`));
$('head').append($('<link rel="stylesheet" type="text/css" />') $('head').append($('<link rel="stylesheet" type="text/css" />')
.attr('href', `${_url_origin}/stylesheets/educoder/edu-main.css?6`)); .attr('href', `${_url_origin}/stylesheets/educoder/edu-main.css?66`));
// index.html有加载 // index.html有加载
$('head').append($('<link rel="stylesheet" type="text/css" />') $('head').append($('<link rel="stylesheet" type="text/css" />')
.attr('href', `${_url_origin}/stylesheets/educoder/edu-all.css?6`)); .attr('href', `${_url_origin}/stylesheets/educoder/edu-all.css?66`));
// $('head').append($('<link rel="stylesheet" type="text/css" />') // $('head').append($('<link rel="stylesheet" type="text/css" />')

@ -146,12 +146,12 @@ function JupyterTPI (props) {
title: '更新通知', title: '更新通知',
content: (<div className="update_notice"> content: (<div className="update_notice">
{stopposttpip(1)} {stopposttpip(1)}
<p className="update_txt">关卡任务的代码文件有更新啦</p> <p className="update_txt">该实训已更新更新后您编写的实训代码将会丢失</p>
<p className="update_txt">更新操作将保留已完成的评测记录和成绩</p> <p className="update_txt">如有需要请先导出代码再进行更新</p>
<p className="update_txt">还未完成评测的任务代码请自行保存</p> {/*<p className="update_txt">还未完成评测的任务代码,请自行保存</p>*/}
</div>), </div>),
okText: '确定', okText: '立即更新',
cancelText: '取消', cancelText: '稍后再说',
onOk () { onOk () {
syncJupyterCode(myshixun_identifier, '同步成功'); syncJupyterCode(myshixun_identifier, '同步成功');
},onCancel() { },onCancel() {

@ -1,5 +1,5 @@
.editormd-html-preview, .editormd-preview-container { .editormd-html-preview, .editormd-preview-container {
width: 95% !important; width: 100% !important;
} }
.Finish_button{ .Finish_button{
height: 30px; height: 30px;

@ -2939,7 +2939,7 @@ a.singlepublishtwo{
padding: 40px !important; padding: 40px !important;
} }
.editormd-html-preview{ .editormd-html-preview{
width: 94% !important; width:100% !important;
color: #323232 !important; color: #323232 !important;
} }
#homework_editorMd_description hr{ #homework_editorMd_description hr{
@ -3799,3 +3799,8 @@ a.singlepublishtwo{
.ant-drawer{ .ant-drawer{
z-index: 10000 !important; z-index: 10000 !important;
} }
.markdown-body {
text-align: justify;
word-break: break-all;
}

@ -821,3 +821,7 @@ html>body #ajax-indicator { position: fixed; }
.footer_con-p{ .footer_con-p{
color: #898989 !important; color: #898989 !important;
} }
.markdown-body {
text-align: justify;
word-break: break-all;
}
Loading…
Cancel
Save