diff --git a/app/models/user.rb b/app/models/user.rb index 54aa8d85e..f1b8c3d23 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -723,8 +723,8 @@ class User < ApplicationRecord end def validate_sensitive_string - raise("真实姓名包含敏感词汇,请重新输入") unless HarmoniousDictionary.clean?(lastname) - raise("昵称包含敏感词汇,请重新输入") unless HarmoniousDictionary.clean?(nickname) + raise("真实姓名包含敏感词汇,请重新输入") if lastname && !HarmoniousDictionary.clean?(lastname) + raise("昵称包含敏感词汇,请重新输入") if nickname && !HarmoniousDictionary.clean?(nickname) end def set_laboratory diff --git a/config/harmonious_dictionary/chinese_dictionary.txt b/config/harmonious_dictionary/chinese_dictionary.txt index 3040d9d0e..ce247eb45 100644 --- a/config/harmonious_dictionary/chinese_dictionary.txt +++ b/config/harmonious_dictionary/chinese_dictionary.txt @@ -10,26 +10,21 @@ 李源潮 李干成 戴秉国 -黄镇 刘延东 刘瑞龙 俞正声 -黄敬 薄熙来 薄一波 周小川 周建南 温云松 -徐明 江绵康 李小鹏 李小琳 朱云来 让国人愤怒的第二代身份证 -第二代身份证 文化大革命 胡海峰 -六四 陈良宇 老丁 莱仕德事件 @@ -68,11 +63,9 @@ PK黑社会 反华 官商勾结 升达毕业证 -手机复制 戴海静 自杀指南 自杀手册 -张小平 佳静安定片 蒙汗药粉 古方迷香 @@ -105,7 +98,6 @@ PK黑社会 反政府 禁书 特码 -成人 国民党 贪污 骚妇 @@ -154,7 +146,6 @@ PK黑社会 AV 十八禁 性虐待 -激情 耽美 金瓶梅 藏春阁 @@ -181,15 +172,13 @@ AV 政府无能 九评 十七大代表 -办证 暴力拆迁 轮暴致死 -人民报 暴力镇压 高干子弟名单 性免费电影 全裸 -偷 拍 +偷拍 中共十七大 徐和柴学友 修炼之歌 @@ -250,7 +239,6 @@ A集中营 中共特务 乙醚 党内分裂 -新生网 圆明网 和平修炼 放下生死 @@ -303,10 +291,6 @@ A集中营 明慧周刊 九评共产党 江泽民其人 -秘密文件 -机密文件 -红头文件 -政府文件 破网软件 无界浏览 亲共来源 @@ -341,7 +325,6 @@ H漫画 香港GHB水 色空寺 周容重 -朱蒙 汕頭頻傳擄童割器官 法輪功 六决不 @@ -371,15 +354,12 @@ H漫画 敢坐飞机吗 韩国身份证 台湾身份证 -广电总局 学生暴动 镇压学生 广安第二人民医院 -山不过来 胡新宇 趙紫陽 自由亚州 -明慧 践踏中国女性 拉凳 南京大学法学院 @@ -389,7 +369,6 @@ H漫画 崔英杰 松花江污染 火药制作 -江氏 第十六次代表 仁寿警方 愈快乐愈堕落 @@ -433,7 +412,6 @@ H漫画 二奶 2奶 纪股票市场五卅惨案 -这年头就这样 代开普通发票 代开商品发票 代开国税发票 @@ -487,7 +465,6 @@ H漫画 死刑过程 学生与警察 鬼村 -周容 重题工 先烈的电电 身份证生成 @@ -509,17 +486,14 @@ H漫画 生成身份证 华国锋 叶剑英 -陈云 李先念 汪东兴 韦国清 乌兰夫 -方毅 刘伯承 许世友 纪登奎 苏振华 -吴德 余秋里 张廷发 陈永贵 @@ -528,15 +502,12 @@ H漫画 聂荣臻 倪志福 徐向前 -彭冲 -王震 邓颖超 杨尚昆 杨得志 宋任穷 胡乔木 胡耀邦 -彭真 廖承志 秦基伟 陈慕华 @@ -549,21 +520,16 @@ H漫画 芮杏文 杨白冰 邹家华 -谢非 谭绍文 王汉斌 任建新 于永波 傅全有 -吴仪 -王克 王乐泉 王兆国 -刘淇 刘云山 张立昌 张德江 -王刚 隐形耳机 隐形摄像头 裸聊 @@ -629,11 +595,7 @@ a级情片 藏独 曹长青 曹刚川 -柴玲 -常劲 陈炳基 -陈军 -陈蒙 陈破空 陈希同 陈小同 @@ -641,17 +603,13 @@ a级情片 陈一谘 陈总统 程铁军 -程真 迟浩田 持不同政见 赤匪 赤化 达赖 大参考 -大法 大纪园 -大家论坛 -大史记 大史纪 戴相龙 弹劾 @@ -663,7 +621,6 @@ a级情片 电视流氓 钓鱼岛 丁关根 -丁元 丁子霖 东北独立 东社 @@ -702,7 +659,6 @@ a级情片 炼功 李总统 李登辉 -李鹏 李瑞环 吐血 18禁 @@ -828,7 +784,6 @@ A片 薄格 調教 乱伦 -偷拍 更衣 無修正 虐待 @@ -854,16 +809,12 @@ A片 伊東 武藤蘭 叶子楣 -舒淇 -麻衣 櫻井 風花 星野桃 -宝来 桜田 藤井彩 小森美王 -平井 桃井望 榊彩弥 桜井 @@ -876,7 +827,6 @@ A片 長瀬愛 中野千夏 春菜 -望月 岡崎美女 宮下杏奈 加藤 @@ -884,24 +834,12 @@ A片 北島優 一本道 夜勤病栋 -三个代表 -一党 -多党 -民主 -专政 避孕套 你妈逼 大鸡巴 政治 -洪志 -红志 -洪智 -红智 -民运 -王丹 卖春 买春 -天安门 朱容基 朱镕基 温家宝 @@ -915,14 +853,12 @@ A片 黑社会 夜总会 妈个 -公款 坐台 腐败 城管 暴动 李远哲 司法警官 -高干 尉健行 李岚清 黄丽满 @@ -938,19 +874,10 @@ A片 吴邦国 曾庆红 黄菊 -罗干 吴官正 贾庆林 专制 -三個代表 -一黨 -多黨 -專政 大紀元 -紅志 -紅智 -李鵬 -天安門 江澤民 朱鎔基 李長春 @@ -963,9 +890,7 @@ A片 溫家寶 吳邦國 曾慶紅 -黃菊 賈慶林 -專制 反人类 反社会 方励之 @@ -984,12 +909,10 @@ A片 付申奇 傅申奇 傅志寰 -高官 高文谦 高薪养廉 高瞻 高自联 -戈扬 鸽派 个人崇拜 工自联 @@ -1000,10 +923,8 @@ A片 共军 关卓中 贯通两极法 -广闻 郭伯雄 郭罗基 -郭平 郭岩华 国家安全 国家机密 @@ -1017,13 +938,11 @@ A片 红色恐怖 宏法 洪传 -洪吟 洪哲胜 胡紧掏 胡锦滔 胡锦淘 胡景涛 -胡平 胡总书记 护法 花花公子 @@ -1046,9 +965,7 @@ A片 江core 江八点 江流氓 -江罗 江绵恒 -江青 江戏子 江则民 江泽慧 @@ -1064,9 +981,7 @@ A片 教养院 揭批书 金尧如 -锦涛 禁看 -经文 开放杂志 抗议 邝锦文 @@ -1079,8 +994,6 @@ A片 李洪宽 李继耐 李兰菊 -李录 -李禄 李少民 李淑娴 李旺阳 @@ -1099,16 +1012,13 @@ A片 林长盛 林樵清 林慎立 -凌锋 刘宾深 刘宾雁 -刘刚 刘国凯 刘华清 刘俊国 刘凯中 刘千石 -刘青 刘山青 刘士贤 刘文胜 @@ -1153,17 +1063,12 @@ A片 潘国平 泡沫经济 迫害 -祁建 -齐墨 -钱达 钱国梁 钱其琛 抢粮记 -乔石 亲美 钦本立 情妇 -庆红 热比娅 热站政论网 人民内情真相 @@ -1174,11 +1079,8 @@ A片 上海帮 邵家健 神通加持法 -沈彤 升天 盛华仁 -盛雪 -石戈 时代论坛 时事论坛 世界经济导报 @@ -1191,7 +1093,6 @@ A片 司徒华 斯诺 四川独立 -宋平 宋书元 苏绍智 苏晓康 @@ -1204,11 +1105,9 @@ A片 太子党 汤光中 唐柏桥 -唐捷 滕文生 天怒 天葬 -童屹 统独 统独论坛 统战 @@ -1216,10 +1115,8 @@ A片 外交与方略 万润南 万晓东 -汪岷 王宝森 王炳章 -王策 王超华 王辅臣 王涵万 @@ -1246,11 +1143,9 @@ A片 吴学璨 吾尔开希 五不 -伍凡 洗脑 项怀诚 项小吉 -肖强 邪恶 谢长廷 谢选骏 @@ -1269,10 +1164,7 @@ A片 徐匡迪 徐水良 许家屯 -薛伟 学潮 -学联 -学运 学自联 雪山狮子 严家其 @@ -1282,13 +1174,9 @@ A片 央视内部晚会 杨怀安 杨建利 -杨巍 杨月清 -杨周 姚月谦 一中一台 -义解 -亦凡 异见人士 异议人士 易丹轩 @@ -1296,38 +1184,27 @@ A片 尹庆民 由喜贵 游行 -幼齿 于大海 于浩成 余英时 舆论反制 宇明网 远志明 -岳武 -则民 -择民 -泽民 贼民 曾培炎 张伯笠 -张钢 张宏堡 -张健 -张林 张万年 张伟国 张昭富 张志清 赵海青 -赵南 赵品潞 赵晓微 赵紫阳 -哲民 镇压 争鸣论坛 正见网 -郑义 正义党论坛 换妻 真木加美 @@ -1350,12 +1227,9 @@ A片 东京热 菅野亚梨沙 吉岡美穗 -红音 原千寻 熟女 轮奸 -朱琳 -朱毛 朱溶剂 猪聋畸 猪毛 @@ -1373,7 +1247,6 @@ A片 fa轮 亲日 汉奸 -政权 政治反对派 政治犯 支那 @@ -1392,9 +1265,7 @@ fa轮 周锋锁 周天法 陈水扁 -周旋 朱嘉明 -阿扁 二逼 小鸡鸡 卖逼 @@ -1436,7 +1307,6 @@ fa轮 喷你 操逼 淫水 -他妈 操比 杂种 他母亲 @@ -1499,13 +1369,11 @@ B样 北美自由论坛 博讯 蔡崇国 -程凯 大纪元新闻网 大众真人真事 东南西北论谈 封杀 -何勇 江猪媳 酱猪媳 枪支 -毒品 +毒品 \ No newline at end of file diff --git a/config/harmonious_dictionary/harmonious.hash b/config/harmonious_dictionary/harmonious.hash index 9ce3b2f93..456a8254b 100644 Binary files a/config/harmonious_dictionary/harmonious.hash and b/config/harmonious_dictionary/harmonious.hash differ diff --git a/public/react/config/webpack.config.dev.js b/public/react/config/webpack.config.dev.js index d1092894a..b3c1cea5b 100644 --- a/public/react/config/webpack.config.dev.js +++ b/public/react/config/webpack.config.dev.js @@ -30,7 +30,7 @@ const env = getClientEnvironment(publicUrl); module.exports = { // You may want 'eval' instead if you prefer to see the compiled output in DevTools. // See the discussion in https://github.com/facebookincubator/create-react-app/issues/343.s - //devtool: "cheap-module-eval-source-map", + //devtool: "cheap-module-eval-source-map", // 开启调试 //devtool: "source-map", // 开启调试 // These are the "entry points" to our application. diff --git a/public/react/public/css/edu-all.css b/public/react/public/css/edu-all.css index 061cee521..1c3e635db 100644 --- a/public/react/public/css/edu-all.css +++ b/public/react/public/css/edu-all.css @@ -386,7 +386,7 @@ label.infolabel{display: block;float: left;width: 56px;text-align: right;margin- .task-item{margin-top: 30px;padding-bottom: 30px;border-bottom: 1px solid #eee} .task-item:last-child{border-bottom: none;} .challengeNav a.active{color: #4CACFF;} -.recomments{margin-bottom: 30px;padding-bottom:30px;margin-top: 30px;border-bottom: 1px solid #eee} +.recomments{ margin-bottom: 20px;} .recomments:first-child{margin-top: 0px;} .recomments:last-child{margin-bottom: 0px;border:none;padding-bottom: 0px;} .url-input{border: none;padding: 0px;font-size: 12px;color:#999;outline: none} @@ -3474,10 +3474,7 @@ a.singlepublishtwo{ margin-bottom: 0 !important; } -/*.ant-notification{*/ - /*width: auto !important;*/ - /*max-width: 600px !important;*/ -/*}*/ + .markdown-body { @@ -3496,4 +3493,13 @@ a.singlepublishtwo{ .RightPaneDrawer .jupyter_data_list{ max-height: 340px; +} + +.ant-btn-primary{ + text-shadow: none !important; + box-shadow: none !important; +} + +.ant-notification{ + z-index: 10001 !important; } \ No newline at end of file diff --git a/public/react/src/AppConfig.js b/public/react/src/AppConfig.js index 177328dfa..d8f642db3 100644 --- a/public/react/src/AppConfig.js +++ b/public/react/src/AppConfig.js @@ -42,7 +42,7 @@ if (isDev) { // 老师 //debugType="teacher"; // 学生 -//debugType="student"; +debugType="student"; function railsgettimes(proxy) { @@ -149,15 +149,15 @@ export function initAxiosInterceptors(props) { } // // console.log(config); - // if (config.method === "post") { - // if (requestMap[config.url] === true) { // 避免重复的请求 导致页面f5刷新 也会被阻止 显示这个方法会影响到定制信息 - // // console.log(config); - // // console.log(JSON.parse(config)); - // // console.log(config.url); - // // console.log("被阻止了是重复请求================================="); - // return false; - // } - // } + if (config.method === "post") { + if (requestMap[config.url] === true) { // 避免重复的请求 导致页面f5刷新 也会被阻止 显示这个方法会影响到定制信息 + // console.log(config); + // console.log(JSON.parse(config)); + // console.log(config.url); + // console.log("被阻止了是重复请求================================="); + return false; + } + } // 非file_update请求 if (config.url.indexOf('update_file') === -1) { requestMap[config.url] = true; diff --git a/public/react/src/common/quillForEditor/README.md b/public/react/src/common/quillForEditor/README.md index 0369164c7..75b403590 100644 --- a/public/react/src/common/quillForEditor/README.md +++ b/public/react/src/common/quillForEditor/README.md @@ -4,7 +4,7 @@ * @Github: * @Date: 2020-01-06 16:20:03 * @LastEditors : tangjiang - * @LastEditTime : 2020-01-06 17:13:19 + * @LastEditTime : 2020-01-09 09:45:29 --> ## QuillForEditor 使用 [https://quilljs.com/] @@ -21,7 +21,7 @@ | autoFocus | 自动获得焦点 | | options | 配置参数, 指定工具栏内容 | | value | 文本编辑器内容 | - | imgAttrs | 指定上传图片的尺寸 | + | imgAttrs | 指定上传图片的尺寸 { width: 'xxpx}, height: 'xxpx'| | style | 指定quill容器样式 | | wrapStyle | 指定包裹quill容器的样式| | onContentChange | 当编辑器内容变化时调用此回调函数(注: 此时返回的内容为对象,提交到后台时需要格式成 JSON 字符串: JSON.stringify(xx)) | diff --git a/public/react/src/common/quillForEditor/index.js b/public/react/src/common/quillForEditor/index.js index 326ca21ae..2cded3fc3 100644 --- a/public/react/src/common/quillForEditor/index.js +++ b/public/react/src/common/quillForEditor/index.js @@ -4,7 +4,7 @@ * @Github: * @Date: 2019-12-18 08:49:30 * @LastEditors : tangjiang - * @LastEditTime : 2020-01-06 16:45:50 + * @LastEditTime : 2020-01-09 11:01:51 */ import './index.scss'; import 'quill/dist/quill.core.css'; // 核心样式 @@ -18,11 +18,12 @@ import deepEqual from './deepEqual.js' import { fetchUploadImage } from '../../services/ojService.js'; import { getImageUrl } from 'educoder' import ImageBlot from './ImageBlot'; +import { Modal } from 'antd'; // import Toolbar from 'quill/modules/toolbar'; import FillBlot from './FillBlot'; const Size = Quill.import('attributors/style/size'); const Font = Quill.import('formats/font'); - +const { confirm } = Modal; // const Color = Quill.import('attributes/style/color'); Size.whitelist = ['12px', '14px', '16px', '18px', '20px', false]; Font.whitelist = ['SimSun', 'SimHei','Microsoft-YaHei','KaiTi','FangSong','Arial','Times-New-Roman','sans-serif']; @@ -36,6 +37,7 @@ Quill.register(Font, true); Quill.register(FillBlot); // Quill.register(Color); + function QuillForEditor ({ placeholder, readOnly, @@ -79,10 +81,44 @@ function QuillForEditor ({ const renderOptions = options || defaultConfig; + const bindings = { + tab: { + key: 9, + handler: function () { + console.log('调用了tab=====>>>>'); + } + }, + enter: { + key: 'Enter', + handler: function () { + console.log('enter====>>>>>>'); + } + }, + backspace: { + key: 'Backspace', + handler: function (range, context) { + console.log('调用了删除按钮', range, context); + // 1. 获取删除的文件 + // 2. 判断删除的文件中包含空格的个数 + // 3. 循环调用删除方法 + const r = window.confirm('确定要删除吗?') + console.log('+++++', quill); + if (r) { + // 调用传入的删除事件 + return true + } else { + return false; + } + } + } + }; // quill 配置信息 const quillOption = { modules: { - toolbar: renderOptions + toolbar: renderOptions, + keyboard: { + bindings: bindings + } // toolbar: { // container: renderOptions // } @@ -98,8 +134,14 @@ function QuillForEditor ({ const quillNode = document.createElement('div'); editorRef.current.appendChild(quillNode); const _quill = new Quill(editorRef.current, quillOption); - setQuill(_quill); + // _quill.keyboard.addBinding({ + // key: 'tab' + // }, function (range, context) { + // console.log('点击了键盘的删除按钮: ', range, context); + // }); + + setQuill(_quill); // 处理图片上传功能 _quill.getModule('toolbar').addHandler('image', (e) => { const input = document.createElement('input'); @@ -142,6 +184,12 @@ function QuillForEditor ({ // 点击填空图标时,插入一个下划线 // 1. 获取编辑器内容 }); + + // TODO + /** + * 1.获取键盘删除事件 + * 2.点击时获取删除的叶子节点 getLeaf(range.index) + */ }, []); // 设置值 @@ -232,6 +280,7 @@ function QuillForEditor ({ }, [quill, handleOnChange]); useEffect(() => { + if (!quill) return; if (autoFocus) { quill.focus(); } diff --git a/public/react/src/modules/courses/boards/BoardsListItem.js b/public/react/src/modules/courses/boards/BoardsListItem.js index 0df7675a3..78f3aec38 100644 --- a/public/react/src/modules/courses/boards/BoardsListItem.js +++ b/public/react/src/modules/courses/boards/BoardsListItem.js @@ -75,16 +75,21 @@ class BoardsListItem extends Component{ ) : "" } +
- {(isAdmin || discussMessage.author.login == current_user.login) && - { this.props.toEditPage(this.props.match.params.coursesId, this.props.match.params.boardId, discussMessage.id )} }>编辑 } - { isAdmin && { debugger; onSticky(discussMessage); e.cancelBubble = true; e.stopPropagation();}}> - { discussMessage.sticky ? '取消置顶' : '置顶' } } + {(isAdmin || discussMessage.author.login == current_user.login) && + { this.props.toEditPage(this.props.match.params.coursesId, this.props.match.params.boardId, discussMessage.id )} }>编辑 } + + { isAdmin && { debugger; onSticky(discussMessage); e.cancelBubble = true; e.stopPropagation();}}> + { discussMessage.sticky ? '取消置顶' : '置顶' } } + + {canNotLink?"": {} : () => this.onTitleClick(discussMessage)}>查看详情} +
@@ -112,14 +117,14 @@ class BoardsListItem extends Component{ } - - {/* { (isAdmin || discussMessage.author.login == current_user.login) && + + {/* { (isAdmin || discussMessage.author.login == current_user.login) &&
diff --git a/public/react/src/modules/page/Index.js b/public/react/src/modules/page/Index.js index aa395e5cf..1e31449c6 100644 --- a/public/react/src/modules/page/Index.js +++ b/public/react/src/modules/page/Index.js @@ -104,7 +104,6 @@ class Index extends Component { // withCredentials: true, }) .then((response) => { - console.log(response); if (response.data.status == -1) { console.error('获取任务列表失败!') @@ -146,7 +145,7 @@ class Index extends Component { // } ) .then((response) => { - console.log(response); + // {"reward_code":86} TODO 金币数量变化 if (response.data.reward_code === -1) { this.props.showSnackbar('该任务已评过星了!') diff --git a/public/react/src/modules/projectPackages/PackageIndexNewandEdit/PackageIndexNEIBannerConcent.js b/public/react/src/modules/projectPackages/PackageIndexNewandEdit/PackageIndexNEIBannerConcent.js index ae4983b33..ac82e9ca0 100644 --- a/public/react/src/modules/projectPackages/PackageIndexNewandEdit/PackageIndexNEIBannerConcent.js +++ b/public/react/src/modules/projectPackages/PackageIndexNewandEdit/PackageIndexNEIBannerConcent.js @@ -80,7 +80,7 @@ class PackageIndexNEIBannerConcent extends Component { let url=`/project_packages/${this.props.match.params.id}.json` axios.get((url)).then((response) => { - console.log(response) + let data=response.data this.setState({ category:data.category_id, diff --git a/public/react/src/modules/tpm/NewFooter.js b/public/react/src/modules/tpm/NewFooter.js index 1b4ed2c00..9a69d522b 100644 --- a/public/react/src/modules/tpm/NewFooter.js +++ b/public/react/src/modules/tpm/NewFooter.js @@ -1,8 +1,7 @@ import React, { Component } from 'react'; -import { Redirect } from 'react-router'; +import moment from 'moment'; import { Link } from 'react-router-dom'; -import { getImageUrl, toPath } from 'educoder' -import PropTypes from 'prop-types'; + class NewFooter extends Component { constructor(props) { @@ -58,7 +57,7 @@ class NewFooter extends Component { {this.props.mygetHelmetapi === null ? "" : this.props.mygetHelmetapi===undefined|| this.props.mygetHelmetapi.footer===null||this.props.mygetHelmetapi.footer===undefined?

- © 2019 EduCoder + © {moment().year()} EduCoder 湘ICP备17009477号 湘公网安备43019002000962号 diff --git a/public/react/src/modules/tpm/challengesnew/TPMchallengesnew.js b/public/react/src/modules/tpm/challengesnew/TPMchallengesnew.js index 70fb5d306..b0deafd95 100644 --- a/public/react/src/modules/tpm/challengesnew/TPMchallengesnew.js +++ b/public/react/src/modules/tpm/challengesnew/TPMchallengesnew.js @@ -719,7 +719,7 @@ export default class TPMchallengesnew extends Component { shixunsskillvaluelist===undefined?"":shixunsskillvaluelist.length === 0 ? "" : shixunsskillvaluelist.map((itme, key) => { return (

  • - this.delshixunsskilllist(key)}> + this.delshixunsskilllist(key)}> diff --git a/public/react/src/modules/tpm/component/TPMRightSection.js b/public/react/src/modules/tpm/component/TPMRightSection.js index 70bec797a..e6dc1da98 100644 --- a/public/react/src/modules/tpm/component/TPMRightSection.js +++ b/public/react/src/modules/tpm/component/TPMRightSection.js @@ -67,6 +67,18 @@ class TPMRightSection extends Component { return (
    + { TPMRightSectionData === undefined ? "" :
    @@ -86,7 +98,7 @@ class TPMRightSection extends Component { {TPMRightSectionData === undefined ? "" : TPMRightSectionData.creator === undefined ? "" : TPMRightSectionData.creator.name}
    - 共发布实训 {TPMRightSectionData.user_shixuns_count} + 共发布实训 {TPMRightSectionData.user_shixuns_count}
    {/*
    */} @@ -103,7 +115,7 @@ class TPMRightSection extends Component {
    学习统计 - 已完成 {TPMRightSectionData&&TPMRightSectionData.complete_count===null?0:TPMRightSectionData&&TPMRightSectionData.complete_count} 个 / 共 {TPMRightSectionData&&TPMRightSectionData.challenge_count} 关 + 已完成 {TPMRightSectionData&&TPMRightSectionData.complete_count===null?0:TPMRightSectionData&&TPMRightSectionData.complete_count} 个 / 共 {TPMRightSectionData&&TPMRightSectionData.challenge_count} 关
    @@ -119,7 +131,7 @@ class TPMRightSection extends Component {

    技能标签 - 已获得 {TPMRightSectionData&&TPMRightSectionData.user_tag_count} 个 / 共 {TPMRightSectionData&&TPMRightSectionData.tag_count} 个 + 已获得 {TPMRightSectionData&&TPMRightSectionData.user_tag_count} 个 / 共 {TPMRightSectionData&&TPMRightSectionData.tag_count} 个

    @@ -180,7 +192,8 @@ class TPMRightSection extends Component {
    - 实训 + + 实训
    @@ -232,7 +245,7 @@ class TPMRightSection extends Component { return (
    - 69?1526971094 + 69?1526971094
    @@ -240,9 +253,10 @@ class TPMRightSection extends Component { className="color-grey-6 task-hide mb12 recomment-name">{item.name}

    - {item.stu_num} 人学习 + {item.stu_num} 人学习 + {item.level}

    -

    {item.level}

    +
    ) diff --git a/public/react/src/modules/tpm/shixunchild/Challenges/Challenges.js b/public/react/src/modules/tpm/shixunchild/Challenges/Challenges.js index d84817fe8..0e701c00c 100644 --- a/public/react/src/modules/tpm/shixunchild/Challenges/Challenges.js +++ b/public/react/src/modules/tpm/shixunchild/Challenges/Challenges.js @@ -498,7 +498,18 @@ class Challenges extends Component {

    }
    - + {this.state.isopentitletype==="Less"?"":this.state.opentitletype===true?this.opentitle()} className={"pointer Breadcrumbfont color-grey-9 "}> 阅读全文 :this.opentitle()} className={"pointer Breadcrumbfont color-grey-9 "}> @@ -508,9 +519,9 @@ class Challenges extends Component {

    -
    +
    全部任务 - + {/* */} {/**/} @@ -718,7 +729,7 @@ class Challenges extends Component { { ` .task-colspan { - min-width: 20% !important; + min-width: 18% !important; } ` } diff --git a/public/react/src/modules/tpm/shixunchild/Challenges/Challengesjupyter.js b/public/react/src/modules/tpm/shixunchild/Challenges/Challengesjupyter.js index 3f2aa68a9..c76530d00 100644 --- a/public/react/src/modules/tpm/shixunchild/Challenges/Challengesjupyter.js +++ b/public/react/src/modules/tpm/shixunchild/Challenges/Challengesjupyter.js @@ -623,7 +623,18 @@ class Challengesjupyter extends Component {

    - + {this.state.isopentitletype==="Less"?"":this.state.opentitletype===true?this.opentitle()} className={"pointer Breadcrumbfont color-grey-9 "}> 阅读全文 :this.opentitle()} className={"pointer Breadcrumbfont color-grey-9 "}> diff --git a/public/react/src/modules/tpm/shixunchild/shixunchildCss/Challenges.css b/public/react/src/modules/tpm/shixunchild/shixunchildCss/Challenges.css index 652f77201..abfafc46a 100644 --- a/public/react/src/modules/tpm/shixunchild/shixunchildCss/Challenges.css +++ b/public/react/src/modules/tpm/shixunchild/shixunchildCss/Challenges.css @@ -258,4 +258,8 @@ .Countdownfonttpm .ant-statistic-content-value{ font-size: 14px; +} + +.boreee{ + border-bottom: 1px solid #F4F4F4; } \ No newline at end of file diff --git a/public/react/src/modules/user/usersInfo/banks/banksMenu.js b/public/react/src/modules/user/usersInfo/banks/banksMenu.js index aa2491ae8..571af8b64 100644 --- a/public/react/src/modules/user/usersInfo/banks/banksMenu.js +++ b/public/react/src/modules/user/usersInfo/banks/banksMenu.js @@ -92,7 +92,7 @@ class BanksMenu extends Component{ object_type:type }}) .then((response) => { - console.log(response); + if(response){ if(response.data){ if(response.data.status===0){ diff --git a/public/stylesheets/educoder/edu-all.css b/public/stylesheets/educoder/edu-all.css index b596b6c15..529ab871e 100644 --- a/public/stylesheets/educoder/edu-all.css +++ b/public/stylesheets/educoder/edu-all.css @@ -390,7 +390,7 @@ label.infolabel{display: block;float: left;width: 56px;text-align: right;margin- .task-item{margin-top: 30px;padding-bottom: 30px;border-bottom: 1px solid #eee} .task-item:last-child{border-bottom: none;} .challengeNav a.active{color: #4CACFF;} -.recomments{margin-bottom: 30px;padding-bottom:30px;margin-top: 30px;border-bottom: 1px solid #eee} +.recomments{ margin-bottom: 20px;} .recomments:first-child{margin-top: 0px;} .recomments:last-child{margin-bottom: 0px;border:none;padding-bottom: 0px;} .url-input{border: none;padding: 0px;font-size: 12px;color:#999;outline: none} @@ -3784,10 +3784,7 @@ a.singlepublishtwo{ .has-error .ant-input:focus{ border-color: #ff4d4f !important; } -/*.ant-notification{*/ - /*width: auto !important;*/ - /*max-width: 600px !important;*/ -/*}*/ + .fontweight400{ font-weight: 400 !important; } @@ -3800,6 +3797,10 @@ a.singlepublishtwo{ z-index: 10000 !important; } +.ant-notification{ + z-index: 10001 !important; +} + .markdown-body { text-align: justify; word-break: break-all; @@ -3816,4 +3817,9 @@ a.singlepublishtwo{ .RightPaneDrawer .jupyter_data_list{ max-height: 340px; - } \ No newline at end of file + } + +.ant-btn-primary{ + text-shadow: none !important; + box-shadow: none !important; +}