From 19f678e5972b581d7899f337b3a698ccc7b38de9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E6=A0=91=E6=9E=97?= <904079904@qq.com> Date: Tue, 25 Jun 2019 09:32:58 +0800 Subject: [PATCH 01/18] =?UTF-8?q?=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/modules/login/Trialapplication.js | 332 +++++++++--------- public/react/src/modules/tpm/NewHeader.js | 28 +- 2 files changed, 179 insertions(+), 181 deletions(-) diff --git a/public/react/src/modules/login/Trialapplication.js b/public/react/src/modules/login/Trialapplication.js index 283574938..8b93fe88c 100644 --- a/public/react/src/modules/login/Trialapplication.js +++ b/public/react/src/modules/login/Trialapplication.js @@ -32,6 +32,7 @@ class Trialapplication extends Component { readonlyInput: true, user_phone_binded: false, showTrial: false, + user: undefined, } //user_phone_binded 判断是否手机号验证 // console.log("Trialapplication"); @@ -43,15 +44,32 @@ class Trialapplication extends Component { } componentWillReceiveProps(nextProps) { + // console.log("46"); + // console.log(nextProps); + // console.log(this.props); + if (nextProps.user != this.props.user) { + // console.log("50"); + // console.log(nextProps.user); + if (nextProps.user !== undefined) { + // console.log("53"); + // console.log(nextProps.user); + this.setState({ + user_phone_binded: nextProps.user.user_phone_binded, + }) + } + + + } } + //初始化数据 componentDidMount() { - console.log("53"); - - console.log(this.props.isRenders); + // console.log("53"); + // + // console.log(this.props.isRenders); if (this.props.isRenders != undefined) { this.setState({ @@ -77,21 +95,6 @@ class Trialapplication extends Component { //TODO 这里如果样式变了会出现css不加载的情况 }); - console.log(this.props.isRenders); - console.log("89"); - console.log(this.state.props.user_phone_binded ); - try { - if (this.state.props.user_phone_binded !== undefined) { - console.log(this.state.props.user_phone_binded); - this.setState({ - user_phone_binded: this.state.props.user_phone_binded, - }) - } - - } catch (e) { - console.log(e); - - } } @@ -384,154 +387,151 @@ class Trialapplication extends Component { diff --git a/public/react/src/modules/tpm/NewHeader.js b/public/react/src/modules/tpm/NewHeader.js index 6ea5360b4..294339b54 100644 --- a/public/react/src/modules/tpm/NewHeader.js +++ b/public/react/src/modules/tpm/NewHeader.js @@ -170,7 +170,6 @@ class NewHeader extends Component { submitapplications:false, isRender:false, isRenders:false, - user_phone_binded:false, showTrial:false, } // console.log("176") @@ -209,18 +208,18 @@ class NewHeader extends Component { } componentDidUpdate = (prevProps) => { - if(prevProps.user!=this.props.user){ - // console.log("216") - // console.log(prevProps.user); - // console.log(this.props.user); - if(this.props.user !== undefined){ - this.setState({ - user_phone_binded :this.props.user.user_phone_binded, - }) - } - - - } + // if(prevProps.user!=this.props.user){ + // // console.log("216") + // // console.log(prevProps.user); + // // console.log(this.props.user); + // if(this.props.user !== undefined){ + // this.setState({ + // user_phone_binded :this.props.user.user_phone_binded, + // }) + // } + // + // + // } } componentWillReceiveProps(newProps, oldProps) { this.setState({ @@ -581,7 +580,6 @@ submittojoinclass=(value)=>{ user, isRender, isRenders, - user_phone_binded, }=this.state; /* 用户名称 用户头像url @@ -627,7 +625,7 @@ submittojoinclass=(value)=>{ {/* />*/} {/* :""*/} {/*}*/} - +
{/*<%= link_to image_tag("/images/educoder/logo.png", alt:"高校智能化教学与实训平台", className:"logoimg"), home_path %>*/} From 2a320fa7dbd6838819311315c6c1fd296462439d Mon Sep 17 00:00:00 2001 From: hjm <63528605@qq.com> Date: Tue, 25 Jun 2019 10:18:26 +0800 Subject: [PATCH 02/18] user --- .../react/src/modules/courses/members/studentsList.js | 10 ++++++++++ .../react/src/modules/courses/members/teacherList.js | 1 + 2 files changed, 11 insertions(+) diff --git a/public/react/src/modules/courses/members/studentsList.js b/public/react/src/modules/courses/members/studentsList.js index 3cb9bff77..cd97c6cfa 100644 --- a/public/react/src/modules/courses/members/studentsList.js +++ b/public/react/src/modules/courses/members/studentsList.js @@ -40,6 +40,15 @@ const buildColumns = (that) => { render: (id, student, index) => { return (that.state.page - 1) * 20 + index + 1 } + }, { + title: '用户id', + dataIndex: 'login', + key: 'login', + align:'center', + className:"color-grey-6", + // render: (name, record) => { + // return {name} + // } }, { title: '姓名', dataIndex: 'name', @@ -316,6 +325,7 @@ class studentsList extends Component{ }).then((result)=>{ if (result.data.status == 0) { this.props.showNotification('移动成功') + this.setState({checkBoxValues: []}) this.fetchAll() this.props.updataleftNavfun() diff --git a/public/react/src/modules/courses/members/teacherList.js b/public/react/src/modules/courses/members/teacherList.js index c9637f1f8..500665119 100644 --- a/public/react/src/modules/courses/members/teacherList.js +++ b/public/react/src/modules/courses/members/teacherList.js @@ -122,6 +122,7 @@ function buildColumns(that) { columns.push({ title: '操作', key: 'action', + align:'center', render: (text, record) => { if (record.application_id) { return ( From 30b735dc83b06caca717ac7ac9d68fd523f48ecc Mon Sep 17 00:00:00 2001 From: hjm <63528605@qq.com> Date: Tue, 25 Jun 2019 10:36:42 +0800 Subject: [PATCH 03/18] =?UTF-8?q?=E6=9C=AA=E7=99=BB=E5=BD=95=E7=A9=BA?= =?UTF-8?q?=E6=8C=87=E9=92=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/courses/graduation/tasks/GraduationTasksappraise.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/public/react/src/modules/courses/graduation/tasks/GraduationTasksappraise.js b/public/react/src/modules/courses/graduation/tasks/GraduationTasksappraise.js index 18b51365e..f7f843feb 100644 --- a/public/react/src/modules/courses/graduation/tasks/GraduationTasksappraise.js +++ b/public/react/src/modules/courses/graduation/tasks/GraduationTasksappraise.js @@ -213,7 +213,7 @@ class GraduationTasksappraise extends Component{ {/*15M*/} {/*
*/} - {datalist&&datalist.attachments.map((item,key)=>{ + {datalist&& datalist.attachments && datalist.attachments.map((item,key)=>{ return(
From 9f7f7483a811b4d25f168259d81fa9ae1f60753a Mon Sep 17 00:00:00 2001 From: hjm <63528605@qq.com> Date: Tue, 25 Jun 2019 10:44:43 +0800 Subject: [PATCH 04/18] score --- .../src/modules/courses/graduation/tasks/Graduationtaskitem.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/public/react/src/modules/courses/graduation/tasks/Graduationtaskitem.js b/public/react/src/modules/courses/graduation/tasks/Graduationtaskitem.js index 98d80d042..28864521c 100644 --- a/public/react/src/modules/courses/graduation/tasks/Graduationtaskitem.js +++ b/public/react/src/modules/courses/graduation/tasks/Graduationtaskitem.js @@ -36,7 +36,7 @@ class Graduationtaskitem extends Component{ {item.time} {/* 分数 */} - {item.score}分 + {item.score && {item.score}分} { !item.is_invalid && item.delete && Date: Tue, 25 Jun 2019 11:07:06 +0800 Subject: [PATCH 05/18] vnc --- public/react/src/modules/page/MainContent.js | 11 +- public/react/src/modules/page/VNCDisplay.js | 288 +++++++++---------- 2 files changed, 152 insertions(+), 147 deletions(-) diff --git a/public/react/src/modules/page/MainContent.js b/public/react/src/modules/page/MainContent.js index bb1cd11fc..3fcaa55fd 100644 --- a/public/react/src/modules/page/MainContent.js +++ b/public/react/src/modules/page/MainContent.js @@ -33,7 +33,7 @@ class MainContent extends Component { } render() { const { challenge, output_sets, onRunCodeTest, latest_output, record, st, readRepoTimeout, - onTestSetHeaderClick, loading, codeLoading, shixun} = this.props + onTestSetHeaderClick, loading, codeLoading, shixun, vnc_url} = this.props // if (output_sets && output_sets.test_sets) { // const test_sets_array = JSON.parse("[" + output_sets.test_sets + "]"); @@ -86,9 +86,11 @@ class MainContent extends Component {
*/} - {/* { showIframeContent && vnc_url ? */} + > + : +
@@ -143,6 +145,9 @@ class MainContent extends Component {
+ + + }
diff --git a/public/react/src/modules/page/VNCDisplay.js b/public/react/src/modules/page/VNCDisplay.js index b8840fe02..1e443ed1d 100644 --- a/public/react/src/modules/page/VNCDisplay.js +++ b/public/react/src/modules/page/VNCDisplay.js @@ -1,154 +1,154 @@ -// import React, { Component } from 'react'; +import React, { Component } from 'react'; -// import RFB from '@novnc/novnc/lib/rfb.js'; +import RFB from '@novnc/novnc/lib/rfb.js'; -// const $ = window.$; -// // const showIframeContent = window.location.search.indexOf('vnc=1') != -1; -// class VNCDisplay extends Component { -// componentDidMount() { -// console.log(RFB) +const $ = window.$; +// const showIframeContent = window.location.search.indexOf('vnc=1') != -1; +class VNCDisplay extends Component { + componentDidMount() { + console.log(RFB) -// let rfb; -// let desktopName; -// // When this function is called we have -// // successfully connected to a server -// function connectedToServer(e) { -// status("Connected to " + desktopName); -// } -// // This function is called when we are disconnected -// function disconnectedFromServer(e) { -// if (e.detail.clean) { -// status("Disconnected"); -// } else { -// status("Something went wrong, connection is closed"); -// } -// } -// // When this function is called, the server requires -// // credentials to authenticate -// function credentialsAreRequired(e) { -// const password = prompt("Password Required:"); -// rfb.sendCredentials({ password: password }); -// } -// // When this function is called we have received -// // a desktop name from the server -// function updateDesktopName(e) { -// desktopName = e.detail.name; -// } -// // Since most operating systems will catch Ctrl+Alt+Del -// // before they get a chance to be intercepted by the browser, -// // we provide a way to emulate this key sequence. -// function sendCtrlAltDel() { -// rfb.sendCtrlAltDel(); -// return false; -// } -// // Show a status text in the top bar -// function status(text) { -// document.getElementById('status').textContent = text; -// } -// // This function extracts the value of one variable from the -// // query string. If the variable isn't defined in the URL -// // it returns the default value instead. -// function readQueryVariable(name, defaultValue) { -// // A URL with a query parameter can look like this: -// // https://www.example.com?myqueryparam=myvalue -// // -// // Note that we use location.href instead of location.search -// // because Firefox < 53 has a bug w.r.t location.search -// const re = new RegExp('.*[?&]' + name + '=([^&#]*)'), -// match = document.location.href.match(re); -// if (typeof defaultValue === 'undefined') { defaultValue = null; } -// if (match) { -// // We have to decode the URL since want the cleartext value -// return decodeURIComponent(match[1]); -// } -// return defaultValue; -// } -// document.getElementById('sendCtrlAltDelButton') -// .onclick = sendCtrlAltDel; -// // Read parameters specified in the URL query string -// // By default, use the host and port of server that served this file + let rfb; + let desktopName; + // When this function is called we have + // successfully connected to a server + function connectedToServer(e) { + status("Connected to " + desktopName); + } + // This function is called when we are disconnected + function disconnectedFromServer(e) { + if (e.detail.clean) { + status("Disconnected"); + } else { + status("Something went wrong, connection is closed"); + } + } + // When this function is called, the server requires + // credentials to authenticate + function credentialsAreRequired(e) { + const password = prompt("Password Required:"); + rfb.sendCredentials({ password: password }); + } + // When this function is called we have received + // a desktop name from the server + function updateDesktopName(e) { + desktopName = e.detail.name; + } + // Since most operating systems will catch Ctrl+Alt+Del + // before they get a chance to be intercepted by the browser, + // we provide a way to emulate this key sequence. + function sendCtrlAltDel() { + rfb.sendCtrlAltDel(); + return false; + } + // Show a status text in the top bar + function status(text) { + document.getElementById('status').textContent = text; + } + // This function extracts the value of one variable from the + // query string. If the variable isn't defined in the URL + // it returns the default value instead. + function readQueryVariable(name, defaultValue) { + // A URL with a query parameter can look like this: + // https://www.example.com?myqueryparam=myvalue + // + // Note that we use location.href instead of location.search + // because Firefox < 53 has a bug w.r.t location.search + const re = new RegExp('.*[?&]' + name + '=([^&#]*)'), + match = document.location.href.match(re); + if (typeof defaultValue === 'undefined') { defaultValue = null; } + if (match) { + // We have to decode the URL since want the cleartext value + return decodeURIComponent(match[1]); + } + return defaultValue; + } + document.getElementById('sendCtrlAltDelButton') + .onclick = sendCtrlAltDel; + // Read parameters specified in the URL query string + // By default, use the host and port of server that served this file -// // const host = readQueryVariable('host', window.location.hostname); -// // let port = readQueryVariable('port', window.location.port); -// // const password = readQueryVariable('password', ''); + // const host = readQueryVariable('host', window.location.hostname); + // let port = readQueryVariable('port', window.location.port); + // const password = readQueryVariable('password', ''); -// const { vnc_url } = this.props; -// // http://117.50.12.63:43149/vnc_lite.html?password=headless -// let _ar1 = vnc_url.split('/'); -// let ipAndPort = _ar1[2].split(':') -// let passwordAr = _ar1[3].split('password=') -// const host = ipAndPort[0] -// let port = ipAndPort[1] -// const password = passwordAr[1].split('&')[0] + const { vnc_url } = this.props; + // http://117.50.12.63:43149/vnc_lite.html?password=headless + let _ar1 = vnc_url.split('/'); + let ipAndPort = _ar1[2].split(':') + let passwordAr = _ar1[3].split('password=') + const host = ipAndPort[0] + let port = ipAndPort[1] + const password = passwordAr[1].split('&')[0] -// const path = readQueryVariable('path', 'websockify'); -// // | | | | | | -// // | | | Connect | | | -// // v v v v v v -// status("Connecting"); -// // Build the websocket URL used to connect -// let url; -// if (vnc_url.indexOf("https:") != -1) { -// url = 'wss'; -// } else { -// url = 'ws'; -// } -// url += '://' + host; -// if(port) { -// url += ':' + port; -// } -// url += '/' + path; -// // Creating a new RFB object will start a new connection -// rfb = new RFB(document.getElementById('screen'), url, -// { credentials: { password: password } }); -// // Add listeners to important events from the RFB module -// rfb.addEventListener("connect", connectedToServer); -// rfb.addEventListener("disconnect", disconnectedFromServer); -// rfb.addEventListener("credentialsrequired", credentialsAreRequired); -// rfb.addEventListener("desktopname", updateDesktopName); -// // Set parameters that can be changed on an active connection -// rfb.viewOnly = readQueryVariable('view_only', false); -// rfb.scaleViewport = readQueryVariable('scale', false); -// } + const path = readQueryVariable('path', 'websockify'); + // | | | | | | + // | | | Connect | | | + // v v v v v v + status("Connecting"); + // Build the websocket URL used to connect + let url; + if (vnc_url.indexOf("https:") != -1) { + url = 'wss'; + } else { + url = 'ws'; + } + url += '://' + host; + if(port) { + url += ':' + port; + } + url += '/' + path; + // Creating a new RFB object will start a new connection + rfb = new RFB(document.getElementById('screen'), url, + { credentials: { password: password } }); + // Add listeners to important events from the RFB module + rfb.addEventListener("connect", connectedToServer); + rfb.addEventListener("disconnect", disconnectedFromServer); + rfb.addEventListener("credentialsrequired", credentialsAreRequired); + rfb.addEventListener("desktopname", updateDesktopName); + // Set parameters that can be changed on an active connection + rfb.viewOnly = readQueryVariable('view_only', false); + rfb.scaleViewport = readQueryVariable('scale', false); + } -// render() { -// const { challenge, vnc_url } = this.props + render() { + const { challenge, vnc_url } = this.props -// return ( -//
-// -//
-//
Loading
-//
Send CtrlAltDel
-//
-//
-//
-// ); -// } -// } + return ( +
+ +
+
Loading
+
Send CtrlAltDel
+
+
+
+ ); + } +} -// export default VNCDisplay; +export default VNCDisplay; From 618efb6df1ad1118eb9a5c6cb867d25c13f6664a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E6=A0=91=E6=9E=97?= <904079904@qq.com> Date: Tue, 25 Jun 2019 11:10:49 +0800 Subject: [PATCH 06/18] =?UTF-8?q?=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../courses/shixunHomework/Listofworks.js | 21 +- .../shixunHomework/Listofworksstudentone.js | 6 +- .../TraineetraininginformationModal.js | 198 ++- public/react/src/modules/forums/Post.css | 439 ++--- .../react/src/modules/forums/RightSection.css | 5 + public/react/src/modules/login/LoginDialog.js | 2 +- public/stylesheets/educoder/edu-main.css | 1569 +++++++++-------- 7 files changed, 1132 insertions(+), 1108 deletions(-) diff --git a/public/react/src/modules/courses/shixunHomework/Listofworks.js b/public/react/src/modules/courses/shixunHomework/Listofworks.js index 62953fedb..2a636aa70 100644 --- a/public/react/src/modules/courses/shixunHomework/Listofworks.js +++ b/public/react/src/modules/courses/shixunHomework/Listofworks.js @@ -91,6 +91,7 @@ class Listofworks extends Component { unlimited: 0, unlimitedtwo: 1, code_review: false, + boolgalist:false, columns: [ { title: '序号', @@ -778,7 +779,7 @@ class Listofworks extends Component { // console.log(JSON.stringify(result)) let datalist = []; var game_list = result.data.game_list - + var boolgalist=false; for (var i = 0; i < game_list.length; i++) { datalist.push({ @@ -789,6 +790,10 @@ class Listofworks extends Component { complete_status: game_list[i].complete_status, }) + if(game_list[i].complete_status === 1){ + boolgalist=true; + } + } // console.log("viewtraining"); // console.log(datalist); @@ -796,7 +801,8 @@ class Listofworks extends Component { this.setState({ viewtrainingdata: result.data, visibles: true, - game_list: datalist + game_list: datalist, + boolgalist:boolgalist, }) } }).catch((error) => { @@ -1001,7 +1007,7 @@ class Listofworks extends Component { render() { // console.log("Listofworks.js000") - let {columns, page, limit, course_groupysls, course_groupyslstwo, unlimited, unlimitedtwo, loadingstate, viewtrainingdata, game_list, data, course_group_info, order, teacherdata, task_status, checkedValuesine, searchtext, teacherlist, visible, visibles, jobsettingsdata} = this.state; + let {columns, page, boolgalist,limit, course_groupysls, course_groupyslstwo, unlimited, unlimitedtwo, loadingstate, viewtrainingdata, game_list, data, course_group_info, order, teacherdata, task_status, checkedValuesine, searchtext, teacherlist, visible, visibles, jobsettingsdata} = this.state; // // console.log(teacherdata&&teacherdata.shixun_identifier) // console.log(course_group_info) @@ -1045,6 +1051,7 @@ class Listofworks extends Component { viewtrainingdata={viewtrainingdata} game_list={game_list} visible={visibles} + boolgalist={boolgalist} Cancel={() => this.cancelModulationModels()} /> @@ -1080,12 +1087,12 @@ class Listofworks extends Component { > {jobsettingsdata === undefined ? "" : jobsettingsdata.data.category.category_name} + to={`/courses/${this.props.match.params.coursesId}/${this.state.shixuntypes}/${jobsettingsdata === undefined ? "" : jobsettingsdata.data.category.category_id===undefined?"":jobsettingsdata.data.category.category_id}`}>{jobsettingsdata === undefined ? "" : jobsettingsdata.data.category.category_name} > 作业详情

-
+

{teacherdata === undefined ? "" : teacherdata.homework_name}

@@ -1101,7 +1108,7 @@ class Listofworks extends Component {
-
+
{/*请输入姓名或学号搜索*/} -
+
作业详情

-
+

{teacherdata === undefined ? "" : teacherdata.homework_name}

@@ -696,11 +696,11 @@ class Listofworksstudentone extends Component { typelist={teacherdata === undefined ? [""] : teacherdata.homework_status} /> 返回 + href={`/courses/${this.state.props.match.params.coursesId}/${this.state.shixuntypes}/${jobsettingsdata === undefined ? "" :jobsettingsdata.data.category.category_id===undefined?"":jobsettingsdata.data.category.category_id}`}>返回

-
+
{ -// -// console.log(datalist) -// } + LimitNumber=(txt)=> { + var str = txt; + if(str.length>25){ + str = str.substring(0,25)+"......" + } + return str; + } render() { - const columns = [ + var columns; + if(this.props.boolgalist === true) { + columns = [ { title: '关卡', dataIndex: 'number', key: 'number', + width: 92, align: "center", render: (text, record) => ( - - {record.number} + + {record.number} ), }, - { - title: '完成时间', - dataIndex: 'name', - key: 'name', - width: 178, - align: "center", - render: (text, record) => ( - - {record.name==='Invalid date'?"--":record.name} + { + title: '完成时间', + dataIndex: 'name', + key: 'name', + width: 178, + align: "center", + render: (text, record) => ( + + {record.name === 'Invalid date' ? "--" : record.name} - ), - }, - { - title: '耗时', - dataIndex: 'stduynumber', - key: 'stduynumber', - align: "center", - render: (text, record) => ( - - {record.stduynumber} + ), + }, + { + title: '', + dataIndex: 'complete_status', + key: 'complete_status', + width: 100, + align: "center", + render: (text, record) => ( + + {record.complete_status === 2 ? : record.complete_status === 3 ? + : ""} + - ), - }, - { - title: '经验值', - key: 'classroom', - dataIndex: 'classroom', - align: "center", - render: (text, record) => ( - - {record.classroom} + ), + }, + { + title: '耗时', + dataIndex: 'stduynumber', + key: 'stduynumber', + width: 92, + align: "center", + render: (text, record) => ( + + {record.stduynumber} - ), - } - ]; - const columnss = [ + ), + }, { - title: '关卡', - dataIndex: 'number', - key: 'number', + title: '经验值', + key: 'classroom', width: 92, + dataIndex: 'classroom', align: "center", render: (text, record) => ( - + + {record.classroom} + + ), + } + ] + } + else { + columns = [ + { + title: '关卡', + dataIndex: 'number', + key: 'number', + align: "center", + render: (text, record) => ( + {record.number} - ), - }, - { - title: '完成时间', - dataIndex: 'name', - key: 'name', - width: 178, - align: "center", - render: (text, record) => ( - + ), + }, + { + title: '完成时间', + dataIndex: 'name', + key: 'name', + width: 178, + align: "center", + render: (text, record) => ( + {record.name==='Invalid date'?"--":record.name} - ), - }, - { - title: '', - dataIndex: 'complete_status', - key: 'complete_status', - width: 100, - align: "center", - render: (text, record) => ( - - {record.complete_status===2?:record.complete_status===3?:""} - - - ), - }, - { - title: '耗时', - dataIndex: 'stduynumber', - key: 'stduynumber', - width: 92, - align: "center", - render: (text, record) => ( - + ), + }, + { + title: '耗时', + dataIndex: 'stduynumber', + key: 'stduynumber', + align: "center", + render: (text, record) => ( + {record.stduynumber} - ), - }, - { - title: '经验值', - key: 'classroom', - width: 92, - dataIndex: 'classroom', - align: "center", - render: (text, record) => ( - + ), + }, + { + title: '经验值', + key: 'classroom', + dataIndex: 'classroom', + align: "center", + render: (text, record) => ( + {record.classroom} - ), + ), + } + ] } - ]; - return (
- {this.props.viewtrainingdata === undefined ? "" : this.props.viewtrainingdata.shixun_name} + {this.props.viewtrainingdata === undefined ? "" : this.LimitNumber(this.props.viewtrainingdata.shixun_name)} 经验值: {this.props.viewtrainingdata === undefined ? "" : this.props.viewtrainingdata.shixun_score}
{/**/} diff --git a/public/react/src/modules/forums/Post.css b/public/react/src/modules/forums/Post.css index 51d88dfe1..d10857a60 100644 --- a/public/react/src/modules/forums/Post.css +++ b/public/react/src/modules/forums/Post.css @@ -1,220 +1,221 @@ -/*MemoDetail --------------------------------- START */ -.educontent { - margin-bottom: 20px; -} -/* 左侧区域最小高度*/ -#forum_index_list { - min-height: 400px; - position: relative; -} - .noMemosTip { - position: absolute; - right: 10px; - top: 58px; - z-index: 999; - } -#forum_list { - background: #f9f9f9; -} - #forum_list .return_btn { - line-height: 38px; - /* margin-right: 15px; */ - font-size: 14px; - cursor: pointer; - } - #forum_list .return_btn.no_mr { - margin-right: -16px; - } - div#forum_list>div { - background: #fff; - } -.memoContent img { - max-width: 815px; -} -.memoReplies { - position: relative; - margin-top: 8px; -} - .memoReplies .-fit { - position: static; - } - .replies_count { - margin-left: 12px; - } - .replies_count .label { - color: #666666; - } - .replies_count .count { - color: #999999; - margin-left: 10px; - } - - .memoMore { - padding-top: 10px; - height: 50px; - line-height: 50px; - text-align: center; - color: rgba(69,155,230,1); - cursor: pointer; - position: relative; - } - .memoMore .writeCommentBtn{ - position: absolute; - right: 0px; - color: #666666; - top: 15px; - } - .memoMore .writeCommentBtn:hover { - color: #4DACFF; - } -/*使用md編輯器用为子回复时,宽度会变*/ -.panel-comment_item .comment_orig_content { - width: 705px; -} - -.iconfont.icon-xiazai { - font-size: 22px!important; - margin-right: 6px; -} -/* MemoDetail --------------------------------- END */ - -/* PostItem --------------------------------- START */ -.forum_table_item { - padding-left: 20px; -} - /* 置顶 */ - .forum_table_item .btn-top { - border-radius: 11px; - padding: 0px 6px; - background: #FF4343; - - } - -/* 管理员操作 */ -.edu-position-hide { - position: absolute; - top: 15px; - left: -20px; - box-shadow: 0px 2px 8px rgba(146, 153, 169, 0.5); - background: #fff; - z-index: 1001; - padding: 5px 0; - z-index: 999999; -} - .edu-position-hide li a:hover { - background: #4CACFF; - color: #fff; - } -.edu-position-hidebox>a:link{ - color: #4CACFF; -} - .edu-position-hidebox:hover .edu-position-hide { - display: block; - } - .edu-position-hide li a { - display: inline-block; - height: 30px; - width: 100px; - line-height: 30px; - text-align: center; - font-size: 12px!important; - } -/* PostItem --------------------------------- END */ - - -/* MemoNew --------------------------------- START */ - -#attachments_fields div.ui-progressbar { - width: 120px; - height: 10px; - margin: 2px 0 -2px 8px; - display: inline-block; -} -.ui-widget-header { - border: 1px solid #4CACFF; - background: #4CACFF; -} -.iconfont.icon-fujian { - color: #29BD8B -} - -/* rc-select样式覆写*/ -.ecSelect { - width: 300px; -} -.ecSelect .rc-select-selection { - height: 40px; -} - .ecSelect .rc-select-search--inline .rc-select-search__field { - padding-top: 6px; - } - .ecSelect .rc-select-selection--single .rc-select-selection-selected-value - , .ecSelect .rc-select-selection__placeholder { - top: 6px; - - } - .ecSelect .rc-select-arrow { - top: 6px; - } -.defalutCancelbtn { - cursor: pointer; -} -.defalutSubmitbtnysl{ - display: block;border: 1px solid #4CACFF;background-color: #4CACFF;color: #fff!important;width: 120px;text-align: center;line-height: 40px;border-radius: 2px; - width: 130px; - height: 40px; - background: rgba(76,172,255,1); - border-radius: 4px; - font-size: 16px; - font-family: MicrosoftYaHei; - font-weight: 400; - color: rgba(255,255,255,1); -} -#attachments_fields { - margin-left: -77px; - display: flex; - flex-direction: column; -} -.uploadBtn { - /* margin-left: 46px; */ -} -#memoMD.show_content_grey { - padding: 0; -} -.newForm .attachments_fields { - /*margin-left: -39px !important*/ -} -#attachments_fields div.ui-progressbar { - width: 120px; - height: 10px; - margin: 2px 0 -2px 8px; - display: inline-block; -} -.ui-progressbar-value.ui-widget-header { - border: 1px solid #4CACFF; - background: #4CACFF; -} -/* MemoNew --------------------------------- END */ - - -/*RightMyPublish*/ -.publishMemoSection { - padding-bottom: 0px !important; -} -.advertisement { - margin-top: 10px; - height: 155px; -} -.advertisement img{ - width: 100%; -} - -/* MyPublish*/ -.returnBtn { - font-size:16px; - color:rgba(153,153,153,1); - float: right; - margin-right: 50px; - position: relative; - bottom: 12px; +/*MemoDetail --------------------------------- START */ +.educontent { + margin-bottom: 20px; +} + +/* 左侧区域最小高度*/ +#forum_index_list { + min-height: 400px; + position: relative; +} + .noMemosTip { + position: absolute; + right: 10px; + top: 58px; + z-index: 999; + } +#forum_list { + background: #f9f9f9; +} + #forum_list .return_btn { + line-height: 38px; + /* margin-right: 15px; */ + font-size: 14px; + cursor: pointer; + } + #forum_list .return_btn.no_mr { + margin-right: -16px; + } + div#forum_list>div { + background: #fff; + } +.memoContent img { + max-width: 815px; +} +.memoReplies { + position: relative; + margin-top: 8px; +} + .memoReplies .-fit { + position: static; + } + .replies_count { + margin-left: 12px; + } + .replies_count .label { + color: #666666; + } + .replies_count .count { + color: #999999; + margin-left: 10px; + } + + .memoMore { + padding-top: 10px; + height: 50px; + line-height: 50px; + text-align: center; + color: rgba(69,155,230,1); + cursor: pointer; + position: relative; + } + .memoMore .writeCommentBtn{ + position: absolute; + right: 0px; + color: #666666; + top: 15px; + } + .memoMore .writeCommentBtn:hover { + color: #4DACFF; + } +/*使用md編輯器用为子回复时,宽度会变*/ +.panel-comment_item .comment_orig_content { + width: 705px; +} + +.iconfont.icon-xiazai { + font-size: 22px!important; + margin-right: 6px; +} +/* MemoDetail --------------------------------- END */ + +/* PostItem --------------------------------- START */ +.forum_table_item { + padding-left: 20px; +} + /* 置顶 */ + .forum_table_item .btn-top { + border-radius: 11px; + padding: 0px 6px; + background: #FF4343; + + } + +/* 管理员操作 */ +.edu-position-hide { + position: absolute; + top: 15px; + left: -20px; + box-shadow: 0px 2px 8px rgba(146, 153, 169, 0.5); + background: #fff; + z-index: 1001; + padding: 5px 0; + z-index: 999999; +} + .edu-position-hide li a:hover { + background: #4CACFF; + color: #fff; + } +.edu-position-hidebox>a:link{ + color: #4CACFF; +} + .edu-position-hidebox:hover .edu-position-hide { + display: block; + } + .edu-position-hide li a { + display: inline-block; + height: 30px; + width: 100px; + line-height: 30px; + text-align: center; + font-size: 12px!important; + } +/* PostItem --------------------------------- END */ + + +/* MemoNew --------------------------------- START */ + +#attachments_fields div.ui-progressbar { + width: 120px; + height: 10px; + margin: 2px 0 -2px 8px; + display: inline-block; +} +.ui-widget-header { + border: 1px solid #4CACFF; + background: #4CACFF; +} +.iconfont.icon-fujian { + color: #29BD8B +} + +/* rc-select样式覆写*/ +.ecSelect { + width: 300px; +} +.ecSelect .rc-select-selection { + height: 40px; +} + .ecSelect .rc-select-search--inline .rc-select-search__field { + padding-top: 6px; + } + .ecSelect .rc-select-selection--single .rc-select-selection-selected-value + , .ecSelect .rc-select-selection__placeholder { + top: 6px; + + } + .ecSelect .rc-select-arrow { + top: 6px; + } +.defalutCancelbtn { + cursor: pointer; +} +.defalutSubmitbtnysl{ + display: block;border: 1px solid #4CACFF;background-color: #4CACFF;color: #fff!important;width: 120px;text-align: center;line-height: 40px;border-radius: 2px; + width: 130px; + height: 40px; + background: rgba(76,172,255,1); + border-radius: 4px; + font-size: 16px; + font-family: MicrosoftYaHei; + font-weight: 400; + color: rgba(255,255,255,1); +} +#attachments_fields { + margin-left: -77px; + display: flex; + flex-direction: column; +} +.uploadBtn { + /* margin-left: 46px; */ +} +#memoMD.show_content_grey { + padding: 0; +} +.newForm .attachments_fields { + /*margin-left: -39px !important*/ +} +#attachments_fields div.ui-progressbar { + width: 120px; + height: 10px; + margin: 2px 0 -2px 8px; + display: inline-block; +} +.ui-progressbar-value.ui-widget-header { + border: 1px solid #4CACFF; + background: #4CACFF; +} +/* MemoNew --------------------------------- END */ + + +/*RightMyPublish*/ +.publishMemoSection { + padding-bottom: 0px !important; +} +.advertisement { + margin-top: 10px; + height: 155px; +} +.advertisement img{ + width: 100%; +} + +/* MyPublish*/ +.returnBtn { + font-size:16px; + color:rgba(153,153,153,1); + float: right; + margin-right: 50px; + position: relative; + bottom: 12px; } \ No newline at end of file diff --git a/public/react/src/modules/forums/RightSection.css b/public/react/src/modules/forums/RightSection.css index 73994ae24..bce57c68a 100644 --- a/public/react/src/modules/forums/RightSection.css +++ b/public/react/src/modules/forums/RightSection.css @@ -8,6 +8,11 @@ height: 30px; margin-bottom: 30px; margin-right: 35px; +} +.search-newysl { + width:237px!important; + height: 30px; + margin-bottom: 30px; } .search-new-input { padding-left: 16px; diff --git a/public/react/src/modules/login/LoginDialog.js b/public/react/src/modules/login/LoginDialog.js index 1dcfd1386..82d3406ad 100644 --- a/public/react/src/modules/login/LoginDialog.js +++ b/public/react/src/modules/login/LoginDialog.js @@ -319,7 +319,7 @@ class LoginDialog extends Component { this.setState({ isRender: false }) - window.location.href="/"; + // window.location.href="/"; } loginEDU=()=>{ diff --git a/public/stylesheets/educoder/edu-main.css b/public/stylesheets/educoder/edu-main.css index 314c17417..074c4ed89 100644 --- a/public/stylesheets/educoder/edu-main.css +++ b/public/stylesheets/educoder/edu-main.css @@ -1,784 +1,785 @@ -/*整体公用样式--------------主题颜色为蓝色#459be5,字体颜色为#05101a*/ -@charset "utf-8"; -body{font-size:14px; line-height:2.0;background:#fafafa!important;font-family: "微软雅黑","宋体"; color:#05101a;height: 100%;position: relative; -} -html,body{height:100%;} -body,h1,h2,h3,h4,h5,h6,hr,p,blockquote,dl,dt,dd,ul,ol,li,pre,form,fieldset,legend,button,input,textarea,th,td,span{ margin:0; padding:0;} -table,input,textarea,select,button {outline: none;border-radius: 3px; font-family: "微软雅黑","宋体"; font-size:14px;line-height:1.9;border:1px solid #eaeaea;background: #FFFFff; color:#05101A;} -textarea{resize: none;} -/*设置input框的placehoder的字体颜色*/ -input::-webkit-input-placeholder,textarea::-webkit-input-placeholder{color: #cccccc} -input::-moz-placeholder,textarea::-moz-placeholder { color:#cccccc;} -input::-moz-placeholder,textarea::-moz-placeholder { color:#cccccc;} -input::-ms-input-placeholder,textarea::-ms-input-placeholder {color:#cccccc;} - -div,img,tr,td,table{ border:0;} -a:link,a:visited{text-decoration:none; color:#05101a;} -a:hover {color:#459be5;} -ol, ul, li {list-style-type: none;} -select:disabled,input:disabled{background-color: #EEEEEE;} -/*万能清除浮动*/ -.clearfix:after{clear:both;content:".";display:block;font-size:0;height:0;line-height:0;visibility:hidden;} -.clearfix{clear:both;zoom:1} -.cl{ clear: both; overflow: hidden;} -/*通用浮动*/ -.fl{ float: left!important;} -.fr{ float: right!important;} -/*pre标签换行*/ -.break-word{word-break: break-all;word-wrap: break-word;} -.break-word-firefox{white-space: pre-wrap !important;word-break: break-all;} -/*文字左右两端对齐*/ -.justify{text-align: justify} -.indent{text-indent: 2em;} - -.edu-name-dark{ max-width:100px; display: block; } -.edu-info-dark{ max-width:345px; display: block; } -.edu-max-h200{ height:200px; overflow: auto;} -.edu-h260{ height:260px;} -.edu-h270{ height:270px;} -.edu-h310{ height:310px;} -.edu-position{ position: relative;} -.edu-h200-auto{ max-height:200px; overflow:auto;} -.edu-h300-auto{ max-height:300px; overflow:auto;} -.edu-h350-auto{ max-height:350px; overflow:auto;} -.edu-h280-auto{ height:280px; overflow:auto;} -.edu-txt-w240{ width:240px; display: block;} -.edu-txt-w280{ width:280px; display: block;} -.edu-txt-w320{ width:320px; display: block;} -.edu-txt-w200{ width:200px; display: block;} -a.edu-txt-w280,.edu-txt-w280{ width:280px; display: inline-block;text-align: center} -a.edu-txt-w190,.edu-txt-w190{ width:190px; display: inline-block;text-align: center} -a.edu-txt-w160,.edu-txt-w160{ width:160px; display: inline-block;text-align: center} -a.edu-txt-w140,.edu-txt-w140{ width:141px; display: inline-block;text-align: center} -a.edu-txt-w130,.edu-txt-w130{ width:130px; display: inline-block;text-align: center} -a.edu-txt-w120,.edu-txt-w120{ width:120px; display: inline-block;text-align: center} -a.edu-txt-w100,.edu-txt-w100{ width:100px; display: inline-block;text-align: center} -a.edu-txt-w90,.edu-txt-w90{ width:90px; display: inline-block;text-align: center} -a.edu-txt-w80,.edu-txt-w80{ width:80px; display: inline-block;text-align: center} - -/*超过隐藏*/ -.overellipsis{overflow: hidden;white-space: nowrap;text-overflow: ellipsis;} -.task-hide{overflow:hidden; white-space: nowrap; text-overflow:ellipsis;} -.task-hide-2{overflow: hidden;text-overflow: ellipsis;display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 2;} -/*隐藏*/ -.none{display: none} -.block{ display:block;} - -.boxsizing{box-sizing: border-box} - - -/*字体icon均为18px*/ -.iconfont{font-size: 18px!important;} -/*通用文字大小样式*/ -.font-n{font-weight: normal!important;} -.font-bd{font-weight: bold;} -.font-n{font-weight: normal;} -.font-12{ font-size: 12px!important;} -.font-13{ font-size: 13px!important;} -.font-14{ font-size: 14px!important;} -.font-15{ font-size: 15px!important;} -.font-16{ font-size: 16px!important;} -.font-17{ font-size: 17px!important;} -.font-18{ font-size: 18px!important;} -.font-20{ font-size: 20px!important;} -.font-22{ font-size: 22px!important;} -.font-24{ font-size: 24px!important;} -.font-26{ font-size: 26px!important;} -.font-28{ font-size: 28px!important;} -.font-30{ font-size: 30px!important;} -.font-32{ font-size: 32px!important;} -.font-36{ font-size: 36px!important;} -.font-50{ font-size: 50px!important;} -.font-60{ font-size: 60px!important;} -.font-70{ font-size: 70px!important;} - -/*a标签的下划线*/ -a.decoration{text-decoration: underline} - -/*表单*/ -.panel-form-label{ display:inline-block; width:10%; min-width:90px; text-align:right; line-height:40px; font-weight: normal; } - -/*通用内外边距*/ -.mt-10{ margin-top:-10px;}.mt-3{ margin-top:-3px;}.mt0{ margin-top:0px!important;} .mt1{ margin-top:1px;}.mt2{ margin-top:2px;}.mt3{ margin-top:3px;}.mt4{ margin-top:4px;}.mt5{ margin-top:5px!important;}.mt6{ margin-top:6px;}.mt7{ margin-top:7px!important;}.mt8{ margin-top:8px;}.mt9{ margin-top:9px;}.mt10{ margin-top:10px!important;}.mt12{ margin-top:12px;}.mt13{ margin-top:13px;}.mt14{ margin-top:14px;}.mt15{ margin-top:15px!important;}.mt16{ margin-top:16px;}.mt17{ margin-top:17px;}.mt18{ margin-top:18px;}.mt20{ margin-top:20px!important;}.mt22{ margin-top:22px!important;}.mt23{ margin-top:23px!important;}.mt24{ margin-top:24px!important;}.mt25{ margin-top:25px;}.mt28{ margin-top:28px;}.mt30{ margin-top:30px!important;}.mt34{ margin-top:34px!important;}.mt35{ margin-top:35px!important;}.mt36{ margin-top:36px!important;}.mt40{ margin-top:40px;}.mt45{ margin-top:45px;}.mt46{ margin-top:46px;}.mt50{ margin-top:50px;!important;}.mt56{ margin-top:56px;!important;}.mt60{ margin-top:60px;}.mt70{ margin-top:70px;}.mt80{ margin-top:80px;}.mt95{ margin-top:95px;}.mt100{ margin-top:100px;}.mt110{ margin-top:110px;}.mt120{ margin-top:120px;}.mt130{ margin-top:130px;}.mt140{ margin-top:140px;}.mt150{ margin-top:150px;}.mt160{ margin-top:160px;} -.mb0{margin-bottom: 0px!important;}.mb3{ margin-bottom: 3px;}.mb5{ margin-bottom: 5px;}.mb7{ margin-bottom: 7px;}.mb10{ margin-bottom: 10px;}.mb11{ margin-bottom: 11px;}.mb14{ margin-bottom: 14px;}.mb15{ margin-bottom: 15px;}.mb16{ margin-bottom: 16px;}.mb20{ margin-bottom: 20px!important;}.mb25{ margin-bottom: 25px;}.mb26{ margin-bottom: 26px;}.mb28{ margin-bottom: 28px;}.mb30{ margin-bottom: 30px!important;}.mb40{ margin-bottom: 40px!important;}.mb50{ margin-bottom: 50px!important;}.mb60{ margin-bottom: 60px!important;}.mb70{ margin-bottom: 70px!important;}.mb80{ margin-bottom: 80px!important;}.mb90{ margin-bottom: 90px!important;}.mb100{ margin-bottom: 100px!important;}.mb110{ margin-bottom: 110px;} -.ml-3{ margin-left: -3px;}.ml1{margin-left: 1px;}.ml2{margin-left: 2px;}.ml3{margin-left: 3px;}.ml4{margin-left: 4px;}.ml5{ margin-left: 5px;}.ml6{ margin-left: 6px;}.ml10{ margin-left: 10px;}.ml12{ margin-left:12px!important;}.ml13{ margin-left:13px!important;}.ml15{ margin-left: 15px;}.ml18{ margin-left: 18px;}.ml20{ margin-left: 20px;}.ml22{ margin-left: 22px;}.ml25{ margin-left: 25px;}.ml30{ margin-left: 30px;}.ml33{ margin-left: 33px;}.ml35{ margin-left:35px;}.ml40{margin-left:40px;}.ml42{margin-left:42px;}.ml45{ margin-left: 45px;}.ml50{ margin-left: 50px;}.ml55{ margin-left: 55px;}.ml60{ margin-left: 60px;}.ml72{ margin-left: 72px;}.ml73{ margin-left: 73px;}.ml75{ margin-left: 75px;}.ml80{ margin-left: 80px;}.ml85{margin-left:85px;}.ml95{ margin-left: 95px;}.ml115{margin-left: 115px}.ml123{ margin-left: 123px;}.ml150{ margin-left: 150px;}.ml180{ margin-left: 180px;}.ml230{ margin-left: 230px;}.ml240{margin-left: 240px;}.ml250{ margin-left: 250px;}.ml290{ margin-left: 290px;} -.mr3{margin-right: 3px}.mr4{margin-right: 4px}.mr5{ margin-right: 5px;}.mr8{ margin-right: 8px;}.mr10{ margin-right: 10px;}.mr12{ margin-right:12px!important;}.mr15{ margin-right: 15px;}.mr18{ margin-right: 18px;}.mr20{ margin-right: 20px;}.mr24{ margin-right: 24px;}.mr25{ margin-right: 25px;}.mr30{ margin-right:30px;}.mr35{margin-right:35px;}.mr40{margin-right:40px;}.mr45{margin-right:45px;}.mr50{ margin-right: 50px;}.mr60{ margin-right:60px;}.mr70{ margin-right: 70px;}.mr75{ margin-right: 75px;}.mr80{ margin-right:80px;}.mr90{ margin-right:90px;}.mr100{ margin-right: 100px;}.mr110{ margin-right:110px;}.mr350{ margin-right:350px;} - -.pt1{ padding-top:1px;}.pt3{ padding-top:3px!important;}.pt5{ padding-top:5px!important;}.pt10{ padding-top:10px;}.pt15{ padding-top:15px;}.pt17{ padding-top:17px;}.pt20{ padding-top:20px!important;}.pt25{ padding-top:25px;}.pt30{ padding-top:30px;}.pt35{ padding-top:35px;}.pt37{ padding-top:37px;}.pt40{ padding-top:40px;}.pt47{ padding-top:47px;}.pt49{ padding-top:49px;}.pt50{ padding-top:50px;}.pt60{ padding-top:60px;}.pt70{ padding-top:70px;}.pt80{ padding-top:80px;}.pt90{ padding-top:90px;}.pt100{padding-top:100px;}.pt110{ padding-top:110px;}.pt120{ padding-top:120px;}.pt130{padding-top:130px;} -.pb3{ padding-bottom:3px!important;}.pb5{ padding-bottom:5px!important;}.pb10{ padding-bottom:10px;}.pb15{ padding-bottom:15px;}.pb20{ padding-bottom:20px;}.pb25{ padding-bottom:20px;}.pb25{ padding-bottom:20px;}.pb30{ padding-bottom:30px;}.pb35{ padding-bottom:35px;}.pb40{ padding-bottom:40px;}.pb47{ padding-bottom:47px;}.pb50{ padding-bottom:50px;}.pb60{ padding-bottom:60px;}.pb70{ padding-bottom:70px;}.pb80{ padding-bottom:80px;}.pb90{ padding-bottom:90px;}.pb100{ padding-bottom:100px;}.pb110{ padding-bottom:110px;}.pb155{ padding-bottom:155px;} -.pr2{ paddding-right:2px;}.pr5{ padding-right:5px;}.pr10{ padding-right:10px;}.pr15{ padding-right:15px;}.pr20{ padding-right:20px!important;}.pr30{ padding-right:30px!important;}.pr35{ padding-right:35px!important;}.pr42{ padding-right:42px;}.pr45{ padding-right:45px;}.pr48{ padding-right:48px;}.pr57{ padding-right:57px;}.pr60{ padding-right:60px;}.pr70{ padding-right:70px;}.pr72{ padding-right:72px;}.pr75{ padding-right:75px;}.pr88{ padding-right:88px;} - -.pl0{ padding-left:0px!important;}.pl2{ padding-left:2px;}.pl5{ padding-left:5px;}.pl7{ padding-left:7px;}.pl8{ padding-left:8px;}.pl10{ padding-left:10px;}.pl15{ padding-left:15px;}.pl20{ padding-left:20px;}.pl22{ padding-left:22px;}.pl25{ padding-left:25px;}.pl28{ padding-left:28px;}.pl30{ padding-left:30px !important;}.pl33{padding-left: 33px}.pl35{ padding-left:35px;}.pl40{ padding-left:40px;}.pl42{ padding-left:42px;}.pl45{ padding-left:45px;}.pl50{ padding-left:50px;}.pl60{ padding-left:60px;}.pl70{padding-left:70px;}.pl75{padding-left:75px;}.pl80{padding-left:80px;}.pl88{ padding-left:88px;}.pl92{padding-left:92px;}.pl100{ padding-left:100px;} -.pr2{ paddding-right:2px;}.pr5{ padding-right:5px;}.pr7{ padding-right:7px;}.pr10{ padding-right:10px;}.pr15{ padding-right:15px;}.pr20{ padding-right:20px!important;}.pr25{ padding-right:25px!important;}.pr30{ padding-right:30px!important;}.pr40{ padding-right:40px;}.pr42{ padding-right:42px;}.pr45{ padding-right:45px;}.pr60{padding-right:60px;}.pr75{padding-right:75px;} - - -.padding5-10{padding:5px 10px;box-sizing: border-box} -.padding5-20{padding:5px 20px;box-sizing: border-box} -.padding10{padding: 10px;box-sizing: border-box} -.padding15{padding: 15px;box-sizing: border-box} -.padding20{padding: 20px;box-sizing: border-box} -.padding10-20{padding: 10px 20px;box-sizing: border-box} -.padding10-15{padding: 10px 15px;box-sizing: border-box} -.padding10-25{padding: 10px 25px;box-sizing: border-box} -.padding10-30{padding: 10px 30px;box-sizing: border-box} - -.padding15-20{padding: 15px 20px;box-sizing: border-box} -.padding15-25{padding: 15px 25px;box-sizing: border-box} - -.padding20-40{padding: 20px 40px;box-sizing: border-box} -.padding20-30{padding: 20px 30px;box-sizing: border-box} -.padding20-15{padding: 20px 15px;box-sizing: border-box} -.padding20-10{padding: 20px 10px;box-sizing: border-box} - -.padding30{padding: 30px;box-sizing: border-box} -.padding30-20{padding: 30px 20px;box-sizing: border-box} -.padding30-40{padding: 30px 40px;box-sizing: border-box} - -.padding40{padding: 40px;box-sizing: border-box} -.padding40-30{padding: 40px 30px;box-sizing: border-box} -.padding40-20{padding: 40px 20px;box-sizing: border-box} - -.margin10{margin:10px;} -.margin15{margin:15px;} -.margin20{margin:20px;} - -/*行高*/ -.lineh-12{line-height: 12px} -.lineh-15{line-height: 15px} -.lineh-17{line-height: 17px} -.lineh-20{line-height: 20px} -.lineh-25{line-height: 25px} -.lineh-30{line-height: 30px} -.lineh-35{line-height: 35px} -.lineh-40{line-height: 40px} - -/*pre标签换行*/ -.break_word{word-break: break-all;word-wrap: break-word;} -.break_word_firefox{white-space: pre-wrap !important;word-break: break-all;} -/*定位*/ -.pr{position: relative} -.df {display:flex;display: -webkit-flex;display: -ms-flex;} -.flex1{flex: 1;} -/*去掉IE input框输入时自带的清除按钮*/ -input::-ms-clear{display:none;} -/*自定义滚动条宽度*/ -::-webkit-scrollbar {width:7px;height:10px;background-color: #F5F5F5; } -::-webkit-scrollbar-track {-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);background-color: #F5F5F5;} -::-webkit-scrollbar-thumb {-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,.3);background-color: #dadada;} - - -.newContainer{ min-height:100%; height: auto !important; height: 100%; /*IE6不识别min-height*/position: relative;} -.educontent{width: 1200px;margin:0px auto;box-sizing: border-box}/*中间部分宽度固定为1200*/ -.newMain{ margin: 0 auto; padding-bottom: 235px; min-width:1200px;padding-top: 60px}/*padding-bottom根据底部的高度而定*/ - -/*高度*/ -.height-100{height: 100%;} -/*文本位置*/ -.edu-txt-center{ text-align: center!important;} -.edu-txt-left{ text-align: left!important;} -.edu-txt-right{ text-align: right!important;} - -/*背景颜色*/ -.edu-back-white{background-color:#FFFFff; } -.edu-back-greyf5{background-color: #f5f5f5!important;} -.edu-back-skyblue{background: #F4FAFF;} -.edu-back-blue{background-color:#459be6!important; } -.edu-back-blue-txt{background-color:#F7FBFF!important; } -.edu-bg-light-blue{ background:#f7f9fd; padding:5px;}/*发送实训弹框*/ -/*常用字体*/ -/*红色*/ -.color-red{color: #FF0000!important;} -/*白色*/ -.color-white{color: #ffffff!important;} -/*黑色*/ -.color-dark{color: #05101a!important;} -/*灰色*/ -.color-grey-name{color: #1A0B00!important;} -.color-grey-fa{color: #FAFAFA!important;} -.color-grey-3{color: #333!important;} -.color-grey-eb{color: #EBEBEB!important;} -.color-grey-c{color: #ccc!important;} -.color-grey-cd{color: #cdcdcd!important;} -.color-grey-9{color: #999999!important;} -.color-grey-98{color: #989898!important;} -.color-grey-8{color: #888!important;} -.color-grey-6{color: #666!important;} -.color-grey-4d{color: #4d4d4d!important;} -.color-grey-B2{color: #B2B2B2!important;} -.color-grey-B3{color: #B3B3B3!important;} -.color-grey-B4{color: #B4B4B4!important;} -.color-grey-74{color: #747A7F!important;} - - -a.color-grey-name:hover,a.color-dark:hover,a.color-grey-6:hover,a.color-grey-3:hover{color: #4cacff!important;} -a.color-grey-9:hover,a.color-grey-8:hover,a.color-grey-c:hover{color: #111C24!important;} -/*蓝色*/ -.color-blue{color: #4CACFF!important;}/*主*/ -.color-blue_4C{color: #4CACFF!important;} -a.color-blue:hover,a.color-blue_4C:hover{color: #459BE6!important;} -/*橙色*/ -.color-orange{color: #ff6800!important;}/*辅助文字*/ -.color-orange-tip{color: #FF954C!important;}/*提示文字*/ -a.color-orange:hover,a.color-orange-tip:hover{color: #F06200!important;} -/*黄色*/ -.color-yellow{color: #EFC003!important;} -.color-yellow-ff{color: #FFA800!important} -/*绿色*/ -.color-green{color: #29BD8B!important;} -a.color-green:hover{color: #28AC7F!important;} -/*红色*/ -.color-red-dd{color: #DD1717!important;} -a.color-red-dd:hover{color: #C61616!important;} -/*圆角*/ -.radius{border-radius: 50%;} -.radius4{border-radius: 4px;} -.radius2{border-radius: 2px;} - - -/*绿色圆形--例如:实训路径详情的编辑icon的背景*/ -.ring-green{width: 18px;height: 18px;display: block;border-radius: 50%;background-color: #29BD8B;text-align: center;} -.ring-op-green{width: 18px;height: 18px;display: block;border-radius: 50%;background-color: rgba(41,189,139,0.6);text-align: center;} -.ring-grey{width: 18px;height: 18px;line-height: 18px;display: block;border-radius: 50%;background-color:rgba(204,204,204,0.5);text-align: center;} -.ring-blue{width: 18px;height: 18px;display: block;border-radius: 50%;background-color: #4CACFF;text-align: center;} - -.ring-orange{background-color: #FF6800;display: block;padding: 0px 3px;height: 18px;box-sizing: border-box;min-width: 18px;text-align: center;line-height: 18px;border-radius: 50%;color:#fff;font-size: 12px;} - -/*左侧label内容右对齐*/ -.label-right{min-width:75px;text-align: right;height: 35px;line-height: 35px;float: left; } - - -/*输入框样式---------宽度为百分比*/ -.input-flex-30{flex: 1;height: 30px;padding: 5px;box-sizing: border-box;} -.input-flex-35{flex: 1;height: 35px;padding: 5px;box-sizing: border-box;} -.input-flex-40{flex: 1;height: 40px;padding: 5px;box-sizing: border-box;} -.input-100-35{width: 100%;height: 35px;padding: 5px;box-sizing: border-box;} -.input-100-40{width: 100%;height: 40px;padding: 5px;box-sizing: border-box;} -.input-100-45{width: 100%;height: 45px;padding: 5px;box-sizing: border-box;} -.input-90-35{width: 90%;height: 35px;padding: 5px;box-sizing: border-box;} -.input-60-40{width: 60%;height: 40px;padding: 5px;box-sizing: border-box;} -.input-60-35{width: 60%;height: 35px;padding: 5px;box-sizing: border-box;} -.input-50-35{width: 50%;height: 35px;padding: 5px;box-sizing: border-box;} -.input-50-40{width: 50%;height: 40px;padding: 5px;box-sizing: border-box;} -.input-50-45{width: 50%;height: 45px;padding: 5px;box-sizing: border-box;} -.input-48-45{width: 48%;height: 45px;padding: 5px;box-sizing: border-box;} -/*输入框为灰色背景,获取焦点时背景变白色*/ -.greyInput{background-color: #F5F5F5;outline: none} -.greyInput:focus{background-color: #fff; border: 1px solid #ddd;} - -/*输入框样式---------宽度为固定长度*/ -.winput-240-45{width: 240px;height: 45px;padding: 5px;box-sizing: border-box;} -.winput-240-40{width: 240px;height: 40px;padding: 5px;box-sizing: border-box;} -.winput-240-35{width: 240px;height: 35px;padding: 5px;box-sizing: border-box;} -.winput-240-30{width: 240px;height: 30px;padding: 5px;box-sizing: border-box;} -.winput-190-45{width: 190px;height: 45px;padding: 5px;box-sizing: border-box;} -.winput-200-35{width: 200px;height: 35px;padding: 5px;box-sizing: border-box;} -.winput-120-40{width: 120px;height: 40px;padding: 5px;box-sizing: border-box;} -.winput-120-35{width: 120px;height: 35px;padding: 5px;box-sizing: border-box;} -.winput-120-30{width: 120px;height: 30px;padding: 5px;box-sizing: border-box;} -.winput-115-40{width: 115px;height: 40px;padding: 5px;box-sizing: border-box;} -.winput-90-40{width: 90px;height: 40px;padding: 5px;box-sizing: border-box;} -.winput-90-35{width: 90px;height: 35px;padding: 5px;box-sizing: border-box;} -.winput-240-100{width: 240px;height: 100px;padding: 5px;box-sizing: border-box;} -/*输入框样式---------高度固定*/ -.winput-90-100{width: 90%;height: 100px;padding: 5px;box-sizing: border-box;} -.winput-100-130{width: 100%;height: 130px;padding: 5px;box-sizing: border-box;} -.winput-100-150{width: 100%;height: 150px;padding: 5px;box-sizing: border-box;} -.winput-100-200{width: 100%;height: 200px;padding: 5px;box-sizing: border-box;} -.winput-90-100{width: 90%;height: 100px;padding: 5px;box-sizing: border-box;} -/*百分比宽度*/ -.width100{width: 100%;} -.width90{width: 90%;} -.width89{width: 89%;} -.width80{width: 80%;} -.width70{width: 70%;} -.width60{width: 60%;} -.width50{width: 50%;} -.width40{width: 40%;} -.width30{width: 30%;} -.width20{width: 20%;} -.width15{width: 15%;} -.width10{width: 10%;} - -/*固定大小的宽度*/ -.wid100{width: 100px;display: block} -.wid120{width: 120px;display: block} -.wid90{min-width: 90px!important;display: block} -a.edu-txt-w280,.edu-txt-w280{ width:280px; display: inline-block;text-align: center} -a.edu-txt-w200,.edu-txt-w200{ width:200px; display: inline-block;text-align: center} -a.edu-txt-w190,.edu-txt-w190{ width:190px; display: inline-block;text-align: center} -a.edu-txt-w160,.edu-txt-w160{ width:160px; display: inline-block;text-align: center} -a.edu-txt-w140,.edu-txt-w140{ width:141px; display: inline-block;text-align: center} -a.edu-txt-w130,.edu-txt-w130{ width:130px; display: inline-block;text-align: center} -a.edu-txt-w120,.edu-txt-w120{ width:120px; display: inline-block;text-align: center} -a.edu-txt-w100,.edu-txt-w100{ width:100px; display: inline-block;text-align: center} -a.edu-txt-w90,.edu-txt-w90{ width:90px; display: inline-block;text-align: center} -a.edu-txt-w80,.edu-txt-w80{ width:80px; display: inline-block;text-align: center} -a.edu-txt-w40,.edu-txt-w40{ width:40px; display: inline-block;text-align: center} - -/*最小高度*/ -.minH-40{min-height: 490px;} -.minH-280{min-height: 280px;} -.minH-400{min-height: 400px;} -.minH-440{min-height: 440px;} -.minH-500{min-height: 500px;} -.minH-560{min-height: 560px;} -/*超出高度出现滚动条--纵向*/ -.over260{max-height: 260px;overflow-y: auto} -.over210{height: 210px;overflow-y: auto} -.over280{height: 280px;overflow-y: auto} -.over170{min-height: 170px;max-height: 170px;overflow-y: auto} - -/*---------------tab公用边框-----------------*/ -.border-bottom-orange{border-bottom: 2px solid #FC7033!important;} -.bor-bottom-orange{border-bottom: 1px solid #FF9e6a!important;} -.bor-bottom-greyE{border-bottom: 1px solid #EEEEEE!important;} -.bor-left-greyE{border-left: 1px solid #EEEEEE!important;} -.bor-top-greyE{border-top: 1px solid #EEEEEE!important;} -.bor-right-greyE{border-right: 1px solid #EEEEEE!important;} -.bor-left-greyC{border-left: 1px solid #CCC!important;} -.bor-top-greyC{border-top: 1px solid #CCC!important;} -/*---------------边框-----------------*/ -.bor-gray-c{border:1px solid #ccc;} -.bor-grey-e{border:1px solid #eee;} -.bor-grey-d{border:1px solid #ddd;} -.bor-grey01{border:1px solid #E6EAEB;} -.bor-orange{border:1px solid #FF7500;} -.bor-blue{border:1px solid #5faee3;} -.bor-red{border:1px solid #db0505;} -.bor-none{border:none;} -.bor-outnone{outline:none; border:0px;} - -a.decoration{text-decoration: underline!important;} - -/*下拉菜单*/ -.edu-menu-panel{position: relative;cursor: pointer} -.edu-menu-list{position: absolute;padding: 5px 0px;box-shadow: 0 2px 8px 0 rgba(0,0,0,.2);display: none;width: 120px;background: #FFFFff;right: -5px;border-radius:0px 0px 4px 4px;color: #05101a; font-size: 14px;z-index: 9} -.edu-menu-list li{width: 100%;padding:0px 15px;box-sizing: border-box;height: 35px;line-height: 35px;cursor: pointer;} - -.edu-menuSmall-list{position: absolute;padding: 5px 0px;box-shadow: 0 2px 8px 0 rgba(0,0,0,.2);display: none;width: 100px;background: #FFFFff;right: -5px;border-radius:0px 0px 4px 4px;color: #05101a; font-size: 14px;z-index: 9} -.edu-menuSmall-list li{width: 100%;padding:0px 10px;box-sizing: border-box;height: 30px;line-height: 30px;cursor: pointer;font-size: 12px;} - -.edu-menu-list li a,.edu-menuSmall-list li a{width: 100%;height: 100%;display: block;color: #323232;} -.edu-menu-panel:hover i,.edu-menu-panel:hover{color: #4cacff;} -.edu-menu-panel:hover .edu-menu-list,.edu-menu-panel:hover .edu-menuSmall-list{display: block} -.edu-menu-list li:hover,.edu-menuSmall-list li:hover{background: #4CACFF;} -.edu-menu-list li:hover a,.edu-menuSmall-list li:hover a{color: #fff!important;} -.currentName{display: block;width: 100%;padding:0px 15px;height: 40px;line-height: 40px;font-size: 16px;box-sizing: border-box;cursor: default} -.ul-leftline:after{position: absolute;top:0px;content: "";width: 1px;background-color: #eee;height: 100%;right: 0px;} -.overPart{width: 240px;height: 30px;position: absolute;right: 0;top: -27px;background: transparent;} -/*滑块验证*/ -.drag_slider{ position: relative; background-color: #e8e8e8; width:100%; height: 45px;color: #999999; line-height: 45px; text-align: center;border-radius: 4px;} -.drag_slider .handler{ border-radius: 4px 0px 0px 4px;position: absolute; top: 0px; left: 0px; width: 50px; height: 43px; border: 1px solid #eee; cursor: move;} -.handler_bg{ background: #fff url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA3hpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDIxIDc5LjE1NTc3MiwgMjAxNC8wMS8xMy0xOTo0NDowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo0ZDhlNWY5My05NmI0LTRlNWQtOGFjYi03ZTY4OGYyMTU2ZTYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NTEyNTVEMURGMkVFMTFFNEI5NDBCMjQ2M0ExMDQ1OUYiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NTEyNTVEMUNGMkVFMTFFNEI5NDBCMjQ2M0ExMDQ1OUYiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTQgKE1hY2ludG9zaCkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo2MTc5NzNmZS02OTQxLTQyOTYtYTIwNi02NDI2YTNkOWU5YmUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NGQ4ZTVmOTMtOTZiNC00ZTVkLThhY2ItN2U2ODhmMjE1NmU2Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+YiRG4AAAALFJREFUeNpi/P//PwMlgImBQkA9A+bOnfsIiBOxKcInh+yCaCDuByoswaIOpxwjciACFegBqZ1AvBSIS5OTk/8TkmNEjwWgQiUgtQuIjwAxUF3yX3xyGIEIFLwHpKyAWB+I1xGSwxULIGf9A7mQkBwTlhBXAFLHgPgqEAcTkmNCU6AL9d8WII4HOvk3ITkWJAXWUMlOoGQHmsE45ViQ2KuBuASoYC4Wf+OUYxz6mQkgwAAN9mIrUReCXgAAAABJRU5ErkJggg==") no-repeat center;} -.handler_ok_bg{ background: #fff url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA3hpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDIxIDc5LjE1NTc3MiwgMjAxNC8wMS8xMy0xOTo0NDowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo0ZDhlNWY5My05NmI0LTRlNWQtOGFjYi03ZTY4OGYyMTU2ZTYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDlBRDI3NjVGMkQ2MTFFNEI5NDBCMjQ2M0ExMDQ1OUYiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDlBRDI3NjRGMkQ2MTFFNEI5NDBCMjQ2M0ExMDQ1OUYiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTQgKE1hY2ludG9zaCkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDphNWEzMWNhMC1hYmViLTQxNWEtYTEwZS04Y2U5NzRlN2Q4YTEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NGQ4ZTVmOTMtOTZiNC00ZTVkLThhY2ItN2U2ODhmMjE1NmU2Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+k+sHwwAAASZJREFUeNpi/P//PwMyKD8uZw+kUoDYEYgloMIvgHg/EM/ptHx0EFk9I8wAoEZ+IDUPiIMY8IN1QJwENOgj3ACo5gNAbMBAHLgAxA4gQ5igAnNJ0MwAVTsX7IKyY7L2UNuJAf+AmAmJ78AEDTBiwGYg5gbifCSxFCZoaBMCy4A4GOjnH0D6DpK4IxNSVIHAfSDOAeLraJrjgJp/AwPbHMhejiQnwYRmUzNQ4VQgDQqXK0ia/0I17wJiPmQNTNBEAgMlQIWiQA2vgWw7QppBekGxsAjIiEUSBNnsBDWEAY9mEFgMMgBk00E0iZtA7AHEctDQ58MRuA6wlLgGFMoMpIG1QFeGwAIxGZo8GUhIysmwQGSAZgwHaEZhICIzOaBkJkqyM0CAAQDGx279Jf50AAAAAABJRU5ErkJggg==") no-repeat center;} -.drag_slider .drag_bg{ background-color: #29bd8b; height: 45px; width: 0px;} -.drag_slider .drag_text{border-radius: 4px 0px 0px 4px;position: absolute; top: 0px; width: 100%; -moz-user-select: none; -webkit-user-select: none; user-select: none; -o-user-select:none; -ms-user-select:none;} - -/*tip公共样式的设置:*/ -.-task-title{opacity:0;position:absolute;left:0;top:0;display:none;z-index:100000;} /*1*/ -.data-tip-down,.data-tip-left,.data-tip-right,.data-tip-top{ position:relative; box-shadow:0px 0px 8px #000; background:#000; color:#fff; max-width:300px;/*2*/ - word-wrap: break-word; text-align:center; border-radius:4px; padding:0 10px; border:1px solid #000; display:none; }/*3*/ -.data-tip-down:after,.data-tip-down:before,.data-tip-left:before,.data-tip-right:before,.data-tip-left:after,.data-tip-right:after,.data-tip-top:after,.data-tip-top:before{/*4*/ - position: absolute;content:''; width:0; height:0;}/*5*/ -.data-tip-down:after,.data-tip-down:before{left: 45%;top:-10px;/*6*/ - border-left: 5px solid transparent; border-right: 5px solid transparent; border-bottom: 10px solid #000; }/*7*/ -.data-tip-down:before{top:-11px;border-bottom:10px solid #000;}/*8*/ -.data-tip-left:after,.data-tip-left:before{left: -10px;top:50%; margin-top:-5px;/*9*/ - border-top: 5px solid transparent; border-bottom: 5px solid transparent; border-right: 10px solid #000; }/*10*/ -.data-tip-left:before{ left: -12px;border-right: 10px solid #000; }/*11*/ -.data-tip-right:after,.data-tip-right:before{right: -10px; top:50%; margin-top:-5px;/*12*/ - border-top: 5px solid transparent;border-bottom: 5px solid transparent; border-left: 10px solid #000; }/*13*/ -.data-tip-right:before{ right: -10px;border-left: 10px solid #000; }/*14*/ -.data-tip-top:after,.data-tip-top:before{left: 45%;bottom:-10px;border-left: 5px solid transparent; - border-right: 5px solid transparent;border-top: 10px solid #000;} -.data-tip-top:before{bottom:-11px;} - - -/*左右两栏排列、固定左右宽度----------ul*/ -ul.abouttable{margin: 0px auto;width: 440px;} -ul.abouttable li{width: 100%;} -ul.abouttable li .rz-label{min-width: 150px;height: 45px;line-height: 45px;text-align: right;color: #adadad;} -ul.abouttable li .second-label{min-width: 150px;height: 40px;line-height: 40px;text-align: right;color: #adadad;} -ul.abouttable li .minh-label{min-width: 150px;height: 28px;line-height: 28px;text-align: right;color: #adadad;} - - - -/* table--------------------------------*/ - -/* table-1底部边框 */ -.edu-pop-table{ width: 100%; border:1px solid #eee; border-bottom:none; background:#fff; color:#888;cursor: default} -.edu-pop-table tr{ height:40px; } -.edu-pop-table tr.edu-bg-grey{ background:#f5f5f5;} -.edu-txt-center{ text-align: center;}.edu-txt-left{ text-align: left;}.edu-txt-right{ text-align: right;} -.edu-pop-table tr th{ color:#333;border-bottom:1px solid #eee; } -.edu-pop-table tr td{border-bottom:1px solid #eee;} -.edu-pop-table.table-line tr td,.edu-pop-table.table-line tr th{ border-right:1px solid #eee;} -.edu-pop-table.table-line tr td:last-child,.edu-pop-table.table-line tr th:last-child{border-right:none;} -/*th行有背景颜色且table无边框*/ -.edu-pop-table.head-color thead tr{background: #fafbfb} -.edu-pop-table.head-color{border: none} -.edu-pop-table.head-color tr:last-child td {border: none} -/*--表格行间隔背景颜色-*/ -.edu-pop-table.interval-td{border-bottom: 1px solid #eee;} -.edu-pop-table.interval-td thead tr{background: #fafbfb} -.edu-pop-table.interval-td tbody tr:nth-child(even){background: #fafbfb} -.edu-pop-table.interval-td tbody tr td{border: none} -/*--表格行间隔背景颜色(th也没有边框)-*/ -.edu-pop-table.interval-all{border:none;border-bottom: 1px solid #eee;} -.edu-pop-table.interval-all thead th{border: none} -.edu-pop-table.interval-all thead tr{background: #fafbfb} -.edu-pop-table.interval-all tbody tr:nth-child(even){background: #fafbfb} -.edu-pop-table.interval-all tbody tr td{border: none;padding:5px 0px} -/*--表格行移入背景颜色-*/ -.edu-pop-table.hover-td tbody tr:hover{background: #EFF9FD}/*悬浮颜色为天蓝色*/ -.edu-pop-table.hover-td_1 tbody tr:hover{background:#FCF2EC}/*悬浮颜色为浅橙色*/ -/* table-2全边框 */ -.edu-pop-table-all{ width: 100%; border:1px solid #eee; background:#fff; color:#888;border-collapse: collapse} -.edu-pop-table-all tr{ height:30px; } -.edu-pop-table-all tr.edu-bg-grey{ background:#f5f5f5;} -.edu-pop-table-all tr th{ color:#333;border:1px solid #eee; } -.edu-pop-table-all tr td{border:1px solid #eee;padding: 5px} -/*table无边框、无背景颜色*/ -.allNone{background: none!important;cursor: default;border-bottom:none!important;} -.allNone tr{height: 30px!important;} - -/*数据为空公共页面*/ -img.edu-nodata-img{ width:300px; margin:50px auto 20px; display: block;} -.edu-nodata-p{ font-size: 20px; text-align: center; color:#999;border-bottom:none!important;padding-left: 18px;box-sizing: border-box;} - -/*输入为空或者错误的提示*/ -.input-none{box-shadow: 0px 0px 2px rgba(0,0,0,0.1);} -.notice{height: 25px;margin-left: 150px;} -.input-none + .notice span{display: block} - -/*列表里菜单icon移入*/ -.edu-position-hide{ position: absolute; top:15px; left:-20px; box-shadow: 0px 2px 8px rgba(146, 153, 169, 0.5); background:#fff;z-index:1001; padding:5px 0;z-index: 999999;} -.edu-position-hide li a{ display:inline-block; height: 30px; width: 100px; line-height: 30px; text-align: center; font-size:12px!important; } -.edu-position-hide li a:hover{ background:#F1F1F1; color:#05101A;} -.edu-position-hidebox i{ color:#bcbcbc;} -.edu-position-hidebox i:hover{ color:#4CACFF;} -.edu-position-hidebox a{ color:#05101A;} -.edu-position-hidebox:hover .edu-position-hide{ display: block;} - -/*搜索(灰色背景、点击变白色)*/ -.seekPanel > input{width: 100%;height: 30px;line-height: 30px;background-color: #f4f4f4;border:1px solid #eaeaea;padding: 0px 30px 0px 5px ;box-sizing: border-box;outline: none;} -.seekPanel > input:focus{background-color: #fff;} -.seekPanel > i{position: absolute;right: 7px;top: -1px;} -/*-------------------------------------------公用按钮:以white-btn(或者edu-default-btn无padding)为基础,宽度和高度可以用padding填充,颜色用edu-color-btn,begin-----------------------------------------*/ -/*按钮*/ -/*默认按钮*/ -/*长条形按钮*/ -.default_btn{display: block;border-radius: 5px ;background: #f4f4f4;color: #cfcfcf!important;text-align: center;width: 102px;box-sizing: border-box} -/*正常按钮*/ -.white-btn{text-align:center;cursor: pointer;display: inline-block;padding: 0px 8px;border: 1px solid #ccc;color: #666;letter-spacing: 1px;font-size: 14px;height: 26px;line-height: 26px;border-radius: 3px;} -a.white-btn.orange-btn{border: 1px solid #FF7500;color: #FF7500!important;} -a.white-btn.orange-btn:hover{border: 1px solid #F06200;color: #F06200!important;} - -.defalutGreyBorder{display: block;padding: 0px 10px;border:1px solid #ccc;height: 30px;line-height: 30px;border-radius: 4px;} -a.task-btn{cursor: pointer;display: inline-block;border: none;padding: 0 12px;color: #fff;background: #CDCDCD !important;letter-spacing: 1px;text-align: center;font-size: 14px;height: 30px;line-height: 30px;border-radius: 2px; font-weight: 400;} -/*最新按钮:以个人主页为例-------------因高度和宽度都已经固定,后续不再支持使用,*/ -.user_default_btn{cursor: pointer;font-size: 14px;display: block;width: 120px;text-align: center;height: 40px;line-height: 40px!important;border-radius: 4px;box-sizing: border-box} -.user_orange_btn{color: #fff!important;background-color: #FF6800;}/*橙色签到按钮*/ -.user_orange_btn:hover{background-color:#F06200;} -.user_grey_btn{color: #fff!important;background-color: #CCCCCC;cursor: default}/*灰色已经签到按钮*/ -.user_private_btn{color:#646464!important;background-color: #fff;border: 1px solid #989898}/*灰色私信、互相关注按钮*/ -.user_private_btn:hover{color: #B2B2B2!important;border: 1px solid #B2B2B2;} -.btn_auto{border-radius: 5px ;background: #fff;padding: 0px 18px;} - -/*可共用按钮,需添加padding或者边框*/ -.edu-default-btn{display: block;border-radius: 4px;} -a.edu-focus-btn{padding: 0px 10px;height: 30px;line-height: 30px;border: 1px solid #b2b2b2;color: #b2b2b2!important;} -a.edu-focus-btn:hover{border: 1px solid #666;color: #666!important;} - -a.edu-greenback-btn{padding: 0px 10px;background: #29BD8B;color: #fff!important;border: 1px solid #29BD8B;} -a.edu-greenline-btn{padding: 0px 10px;color: #29BD8B!important;border: 1px solid #29BD8B;} -a.edu-greenback-btn:hover{background-color: #28AC7F;} -a.edu-greenline-btn:hover{border:1px solid #28AC7F;color: #28AC7F!important;} - -a.edu-blueback-btn{padding: 0px 10px;background: #4CACFF;color: #fff!important;border: 1px solid #4CACFF;} -a.edu-blueline-btn{padding: 0px 10px;color: #4CACFF!important;border: 1px solid #4CACFF;} -a.edu-blueback-btn:hover{background-color: #459BE6;} -a.edu-blueline-btn:hover{border:1px solid #459BE6;color: #459BE6!important;} - -a.edu-orangeback-btn{background-color: #ff7500;color: #fff!important;border:1px solid #FF7500} -a.edu-orangeback-btn:hover{background-color: #F06200;} -a.edu-orangeline-btn{color: #FF7500!important;border:1px solid #FF7500} -a.edu-orangeline-btn:hover{color: #F06200!important;border:1px solid #F06200} - -a.edu-greyback-btn{padding: 0px 10px;background: #CCCCCC;color: #fff!important;border: 1px solid #CCCCCC;} -a.edu-greyback-btn:hover{background-color: #B2B2B2;} -a.edu-greyshallowline-btn{padding: 0px 10px;color: #999!important;border:1px solid #CFCFCF} -a.edu-greyline-btn{padding: 0px 10px;background: #fff;color: #666!important;border: 1px solid #eaeaea;line-height: 33px;height: 33px;} -a.edu-greyline-btn:hover,a.edu-greyshallowline-btn:hover{border:1px solid #B2B2B2;color:#B2B2B2!important;} - -/*新建页面的提交和取消按钮*/ -.defalutCancelbtn{display: block;border: 1px solid #CDCDCD;background-color: #fafafa;color: #999!important;width: 120px;text-align: center;height: 30px;line-height: 30px;border-radius: 2px; - width: 130px; - height: 40px; - background: rgba(77,124,254,0); - border: 1px solid rgba(76, 172, 255, 1); - border-radius: 4px; - line-height: 40px; - font-size: 16px; - font-family: MicrosoftYaHei; - font-weight: 400; - color: rgba(76,172,255,1) !important; -} -.defalutCancelbtn:hover{border:1px solid #B2B2B2;color: #B2B2B2!important;} -.defalutSubmitbtn{ - display: block;border: 1px solid #4CACFF;background-color: #4CACFF;color: #fff!important;width: 120px;text-align: center;line-height: 40px;border-radius: 2px; - width: 130px; - height: 40px; - background: rgba(76,172,255,1); - border-radius: 4px; - font-size: 16px; - font-family: MicrosoftYaHei; - font-weight: 400; - color: rgba(255,255,255,1); -} -.defalutSubmitbtn:hover{background-color: #459BE6;border: 1px solid #459BE6;} -/*-------------------------------------------公用按钮:以white-btn(或者edu-default-btn无padding)为基础,宽度和高度可以用padding填充,颜色用edu-color-btn,end-----------------------------------------*/ - -/*可点击按钮---蓝色*/ -.use_btn{background: #4cacff;color:#fff!important;} -a.task-btn-orange{background: #4CACFF!important; color:#fff!important;} -a:hover.task-btn-orange{background: #459BE6;} -/*可点击按钮---蓝色---蓝色边框*/ -.user_blue_btn{border: 1px solid #4CACFF;color: #4CACFF!important;} -/*可点击按钮---蓝色---蓝色背景*/ -a.user_bluebg_btn{background-color:#4CACFF;color: #fff;} -a.user_orangebg_btn{background-color:#FF6800;color: #fff;} -a.user_greybg_btn{background-color:#747A7F;color: #fff;} - - -.pointer{cursor: pointer} -.cdefault{cursor: default} - - -/*md编辑器恢复被覆盖样式*/ -.new_li li{ list-style-type: disc!important; } -.new_li ol li{ list-style-type: decimal!important; } -.new_li li{ margin-bottom: 0!important; } - -/*搜索框*/ -#pollingPanel{position: relative;width: 248px;height: 32px;} -#pollingPanel > input{width: 100%;height: 100%;border:1px solid #eaeaea;border-radius: 4px;padding: 0px 30px 0px 5px;box-sizing: border-box;background-color: #F4F4F4;} -#pollingPanel > input:focus{background-color: #fff;outline: none;} -#pollingPanel > a{position: absolute;right: 10px;top:0px;} - -/* 弹框 */ -.popupAll{width: 100%;height: 100%;position: fixed;z-index: 99998;background-color: rgba(5,16,26,0.6);left: 0;top:0;} -.task-popup{ width: 30%;background: #fff; border:1px solid #e8e8e8; border-radius:10px;} -.task-popup-text-center{ text-align: center; color: #333;} -.task-popup-title{ border-bottom: 1px solid #eee; padding:0px 15px;text-align: center;box-sizing: border-box;line-height: 70px;height: 70px; border-radius: 10px 10px 0px 0px;font-size: 16px;font-weight: bold; } -.task-popup-content{ padding:15px;} -.task-popup-submit{ margin:0px auto 15px; width: 160px;} -.task-popup-sure{ margin:0px auto 15px; width: 54px;} -.task-popup-right-sure{margin:0px auto 15px;text-align: center} -.task-popup-OK{ margin:15px auto; text-align: center} -.task-popup-bggrey{ background:#fff; color:#333;} -#closeIcon{position: absolute;color:#fefefe} -/* 模板弹框 20170407byLB */ -#task_popup_box{ background:#fff;padding-bottom:15px;-webkit-border-radius:5px;-moz-border-radius:5px;-o-border-radius:5px;border-radius:5px;box-shadow: 0px 2px 8px rgba(146, 153, 169, 0.5);} -.task_popup_top{background:#ccc;height:40px;-webkit-border-radius: 5px 5px 0px 0px;-moz-border-radius: 5px 5px 0px 0px;-o-border-radius: 5px 5px 0px 0px;border-radius: 5px 5px 0px 0px;} -.task_popup_top h3{ font-size:14px; color:#333; line-height:40px; padding-left:10px; } -a.task_icons_close{width:20px; height:20px;display:block;background: url(../images/popup/sy_icons_close.png) 0 0px no-repeat; margin:8px 10px 0 0;} -a:hover.task_icons_close{background: url(../images/popup/sy_icons_close.png) -40px 0px no-repeat;} -.task_popup_con{ padding:20px;} -/* 模板弹框 20161013byLB */ -#muban_popup_box{ background:#fff;padding-bottom:15px;-webkit-border-radius:5px;-moz-border-radius:5px;-o-border-radius:5px;border-radius:5px;box-shadow: 0px 2px 8px rgba(146, 153, 169, 0.5);} -.muban_popup_top{background:#3b94d6;height:40px;-webkit-border-radius: 5px 5px 0px 0px;-moz-border-radius: 5px 5px 0px 0px;-o-border-radius: 5px 5px 0px 0px;border-radius: 5px 5px 0px 0px;} -.muban_popup_top h3{ font-size:16px; color:#fff; font-weight:normal; line-height:40px; padding-left:10px; } -a.muban_icons_close{width:20px; height:20px;display:block;background: url(/images/sy/sy_icons_close.png) 0 0px no-repeat; margin:8px 10px 0 0;} -a:hover.muban_icons_close{background: url(/images/sy/sy_icons_close.png) -40px 0px no-repeat;} -#muban_popup_box input,#muban_pwopup_box select{ border:1px solid #c8c8c8; height: 28px; color: #888;} -#muban_popup_box label.pop_box_label{width: 100px; text-align: right; display: inline-block;} -input.radio-width90{ width: 90px; } -#muban_popup_box label.pop_box_label_l {width: 100px; text-align: left; display: inline-block;} - - -/*提示条*/ -.alert{ padding:10px;border: 1px solid transparent; text-align: center;} -.alert-blue{ background-color: #d9edf7;border-color: #bce8f1; color: #3a87ad;} -.alert-orange{ background-color: #fff9e9;border-color: #f6d0b1; color:#ee4a20;} -.task-close{padding: 0;cursor: pointer; background: transparent; border: 0; -webkit-appearance: none; font-size: 21px; font-weight: bold;line-height: 1; color: #000000; text-shadow: 0 1px 0 #ffffff; opacity: 0.3;} -.taskclose:hover{opacity: 0.5;} -.alert-red{background-color: #f2dede;border-color: #eed3d7; color: #d14f4d; text-align: left!important;} - -/*搜索的下拉列表*/ -.search_down_list a{display: block;height: 28px;line-height: 28px;padding: 0px 5px;overflow: hidden;white-space: nowrap;text-overflow: ellipsis;} -.search_down_list a:hover{background: #fafafa;} - -/*白色色块--类似个人主页-学习-里面的tab*/ -.white-panel{border-radius: 2px;width: 100%;margin: 0px auto;box-sizing: border-box;padding-left: 25px;} -.white-panel li{width: 118px;height: 48px;line-height: 48px;text-align: center;color: #05101A;float: left;cursor: pointer;border:1px solid #fff;} -.white-panel li a{display: block;width: 100%;} -.white-panel li.active{border-radius: 24px;border:1px solid #4CACFF;color:#4CACFF; } -.white-panel li.active a{color:#4CACFF; } - - -/* 个人主页翻页 */ -.pages_user_show a:hover,.pages_user_show li.active a{ background-color:#4CACFF; color:#fff;border: 1px solid #4CACFF;} -.pages_user_show a{border-radius: 2px; display: inline-block;border:1px solid #d1d1d1;background-color:#fff; color:#888; float:left;text-align:center; padding:2px 10px; line-height:1.9; margin: 0 5px;} -.pages_user_show li{float: left; list-style-type: none;} -.pages_user_show ul li{list-style-type: none !important;} -.pages_user_show ul li a{color:#888} -.page_GO{text-align:center;width: 80px;border-radius: 2px;margin-left: 5px;height: 33px;padding: 0px 5px;box-sizing: border-box;float: left;border:1px solid #d1d1d1;} -/* 小翻页 */ -.pages_little_show a:hover,.pages_little_show li.active a{ background-color:#4CACFF;; color:#fff!important;border:1px solid #4CACFF} -.pages_little_show a{ display: inline-block;border:1px solid #d1d1d1; color:#888!important; float:left;text-align:center; padding:3px 3px; line-height:1.9; margin: 0 2px; font-size: 12px;} -.pages_little_show li{float: left;} - -/*左右排版结构:参考个人主页的经验值和金币等页面*/ -.leftPanel{width: 22%;float: left;} -.leftPanel li.nav{padding:10px 0px;box-sizing: border-box;} -.leftPanel li.nav a{padding-left: 40px;display: block;width: 100%;box-sizing: border-box;border-left: 2px solid #fff;height: 24px;line-height: 24px;} -.leftPanel li.nav.active a{border-left: 2px solid #4CACFF;} -.rightPanel{width:78%;float: right;} - -/*个人主页,认证的圆圈*/ -.ringauto{width: 20px;height: 20px;line-height: 20px;text-align: center;border-radius: 50%;background-color: #F4FAFF;margin-right:5px;} - -/*-------------------个人主页:右侧提示区域--------------------------*/ -.-task-sidebar{position:fixed;width:40px;height:180px;right:0;bottom:30px;z-index: 10;} -.-task-sidebar div{height: 40px;line-height: 40px;box-sizing: border-box;width:40px;background:#4CACFF;color:#fff;font-size:20px;text-align:center;margin-bottom:5px;border-radius: 4px;} -.-task-sidebar div i{ color:#fff;} -.-task-sidebar div i:hover{color: #fff!important;} -.gotop{background-color: rgba(208,207,207,0.5)!important;padding: 0px!important;} -.-task-desc{background:#494949;width:90px;line-height: 36px;text-align: center; - position: absolute;color: #fff;font-size: 13px;z-index: 999999;opacity: 0;} -.-task-desc div{position: absolute;top:10px;right: -7px;height: 13px;} -.-task-desc div img{float: left} - - -/***** loading ******/ -/*****载入中******/ -#ajax-indicator { - position: absolute; /* fixed not supported by IE*/ - background-color:#eee; - border: 1px solid #bbb; - top:35%; - left:40%; - width:20%; - /*height:5%;*/ - font-weight:bold; - text-align:center; - padding:0.6em; - z-index:100000; - opacity: 0.5; -} - -html>body #ajax-indicator { position: fixed; } - -#ajax-indicator span{ - color:#fff; - color: #333333; - background-position: 0% 40%; - background-repeat: no-repeat; - background-image: url(/images/loading.gif); - padding-left: 26px; - vertical-align: bottom; - z-index:100000; -} -/*最新、最热*/ -.bestChoose.active{color: #4CACFF;} - - -/*实训路径选择实训*/ -.edu-filter-cir-grey{color: #666!important;width: auto;padding:0px 15px; font-size:14px !important; text-align: center;background: #f3f3f3;border-radius: 10px;display: block; height:25px; line-height:25px;} -.edu-filter-cir-grey:hover{background: #4cacff; color: #ffffff!important;} -.edu-filter-cir-grey.active{background: #4cacff; color: #ffffff!important; font-size: 14px !important;} - - -.with10{ width: 10%;box-sizing: border-box}.with12{ width: 12%;box-sizing: border-box}.with13{ width: 13%;box-sizing: border-box}.with14{ width: 14%;box-sizing: border-box}.with15{ width: 15%;box-sizing: border-box} -.with20{ width: 20%;box-sizing: border-box}.with22{ width: 22%;box-sizing: border-box}.with23{ width: 23%;box-sizing: border-box}.with25{ width: 25%;box-sizing: border-box} -.with30{ width: 30%;box-sizing: border-box}.with35{ width: 35%;box-sizing: border-box} -.with40{ width: 40%;box-sizing: border-box}.with45{ width: 45%;box-sizing: border-box}.with49{ width: 49%;box-sizing: border-box} -.with50{ width: 50%;box-sizing: border-box}.with55{ width: 55%;box-sizing: border-box} -.with52{ width: 52%;box-sizing: border-box}.with48{ width: 48%;box-sizing: border-box} -.with60{ width: 60%;box-sizing: border-box}.with65{ width: 65%;box-sizing: border-box} -.with70{ width: 70%;box-sizing: border-box}.with73{ width: 73%;box-sizing: border-box}.with75{ width: 75%;box-sizing: border-box}.with77{ width: 77%;box-sizing: border-box}.with78{ width: 78%;box-sizing: border-box} -.with80{ width: 80%;box-sizing: border-box}.with85{ width: 85%;box-sizing: border-box} -.with87{ width: 87%;box-sizing: border-box}.with90{ width: 90%;box-sizing: border-box}.with95{ width: 95%;box-sizing: border-box} -.with100{ width: 100%;} - -.transform-90{ - transform:rotate(-90deg); - -ms-transform:rotate(-90deg); /* IE 9 */ - -moz-transform:rotate(-90deg); /* Firefox */ - -webkit-transform:rotate(-90deg); /* Safari 和 Chrome */ - -o-transform:rotate(-90deg); -} - -.newplayVedio{ - font-size: 86px !important; -} -.icon-qizhi{ - font-size:30px !important; -} -.icon-31{ - font-size: 68px !important; -} - -/*置顶*/ -.btn-cir {display: inline-block;padding: 0px 5px;border-radius: 25px;line-height: 20px;font-size: 12px;} -.btn-cir-red{background:red;color: #fff; font-weight: normal;cursor: default} -.btn-cir-red:hover{background:red;color: #fff!important;} -.btn-cir-grey{background: #e1e1e1;color: #8c8c8c;font-weight: normal;border: 1px solid #e1e1e1} - -/*动态标签*/ -.edu-filter-btn{cursor: default;display: inline-block; padding:0px 9px; color:#666; background:#fff; text-align: center; border-radius:10px; font-size:12px; height:18px; line-height:18px;} -.edu-filter-btn-blue{border:1px solid #3498db; color:#3498db;} -.edu-filter-btn-orange{border:1px solid #ff6800; color:#ff6800!important;}/*提交中、评阅中*/ -.edu-filter-btn-red{border:1px solid #DD1717; color:#DD1717;}/*已截止、未开启补交*/ -.edu-filter-btn-green{border:1px solid #29BD8B; color:#29BD8B!important;}/*申诉中、已开启补交*/ -.edu-filter-btn-appeal{border:1px solid #FF4343; color:#FF4343!important;}/*申诉中*/ -.edu-filter-btn-yellow{border:1px solid #ef9324; color:#ef9324;} -.edu-filter-btn-danger{background:#d72e36; color:#fff;} -.edu-filter-btn-late{border:1px solid #3fbcff; color: #3fbcff;} -.edu-filter-btn-no-late{border:1px solid #747A7F;color: #747A7F;}/*未发布*/ -.edu-filter-btn-end{border: 1px solid #999999;color: #999999;}/*已结束*/ -/*动态按钮*/ -.edu-activity-orange{background-color:#FF6800;color:#fff!important;cursor: pointer;border: 1px solid #ff6800;}/*修改作品、补交作品、立即补交、补交附件*/ -.edu-activity-blue{background-color:#4CACFF;color:#fff!important;cursor: pointer;border: 1px solid #4CACFF;}/*开始实战、开始答题、继续答题、继续实战、提交作品*/ -.edu-activity-grey{background-color:#747A7F;color:#fff!important;cursor: pointer;border: 1px solid #747A7F;}/*匿评作品*/ -.edu-activity-green{background-color:#29BD8B;color:#fff!important;cursor: pointer;border: 1px solid #29BD8B;}/*查看作品、查看实战、查看答题*/ -.edu-activity-light-grey{background-color:#cbcbcb;color:#fff!important;cursor: pointer;border: 1px solid #cbcbcb;}/*取消关联*/ -/*课堂设置页面*/ -.course-ul-nav{width: 100%;border-bottom: 1px solid #EBEBEB;} -.course-ul-nav a{display: inline-block;padding: 20px;font-size: 18px;text-align: center;width: 94px;position: relative} -.course-ul-nav a.active,.course-ul-nav a:hover{color: #4CACFF;} -.course-ul-nav a.active:after{content: '';width: 94px;left: 20px;bottom: 0px;height: 2px;background-color: #4CACFF;position: absolute} - -/*-----下拉框--------*/ -.down-select{display:none;position: absolute;z-index: 10;left: 0px;width: 100%;overflow-y: auto;background: #fff;max-height: 200px;border:1px solid #eee;} -.down-select p{height: 35px;line-height: 35px;padding-left: 5px;cursor: pointer} -.down-select p:hover{background: #f3f4f6} - - - -.paddingLeft28{padding-left:28px;} - -.ant-modal-header{ - border-radius: 10px; -} - -.color656565{ - color:#656565; -} - -.colorC8161D{ - color:#C8161D; -} - -.bor-reds{ - border:1px solid #FF0000!important; - border-radius: 4px; - border-top-left-radius: 4px; - border-top-right-radius: 4px; - border-bottom-right-radius: 4px; - border-bottom-left-radius: 4px; -} -.editormd-dialog-footer{ - padding: 0px; -} \ No newline at end of file +/*整体公用样式--------------主题颜色为蓝色#459be5,字体颜色为#05101a*/ +@charset "utf-8"; +body{font-size:14px; line-height:2.0;background:#fafafa!important;font-family: "微软雅黑","宋体"; color:#05101a;height: 100%;position: relative; +} +html,body{height:100%;} +body,h1,h2,h3,h4,h5,h6,hr,p,blockquote,dl,dt,dd,ul,ol,li,pre,form,fieldset,legend,button,input,textarea,th,td,span{ margin:0; padding:0;} +table,input,textarea,select,button {outline: none;border-radius: 3px; font-family: "微软雅黑","宋体"; font-size:14px;line-height:1.9;border:1px solid #eaeaea;background: #FFFFff; color:#05101A;} +textarea{resize: none;} +/*设置input框的placehoder的字体颜色*/ +input::-webkit-input-placeholder,textarea::-webkit-input-placeholder{color: #cccccc} +input::-moz-placeholder,textarea::-moz-placeholder { color:#cccccc;} +input::-moz-placeholder,textarea::-moz-placeholder { color:#cccccc;} +input::-ms-input-placeholder,textarea::-ms-input-placeholder {color:#cccccc;} + +div,img,tr,td,table{ border:0;} +a:link,a:visited{text-decoration:none; color:#05101a;} +a:hover {color:#459be5;} +ol, ul, li {list-style-type: none;} +select:disabled,input:disabled{background-color: #EEEEEE;} +/*万能清除浮动*/ +.clearfix:after{clear:both;content:".";display:block;font-size:0;height:0;line-height:0;visibility:hidden;} +.clearfix{clear:both;zoom:1} +.cl{ clear: both; overflow: hidden;} +/*通用浮动*/ +.fl{ float: left!important;} +.fr{ float: right!important;} +/*pre标签换行*/ +.break-word{word-break: break-all;word-wrap: break-word;} +.break-word-firefox{white-space: pre-wrap !important;word-break: break-all;} +/*文字左右两端对齐*/ +.justify{text-align: justify} +.indent{text-indent: 2em;} + +.edu-name-dark{ max-width:100px; display: block; } +.edu-info-dark{ max-width:345px; display: block; } +.edu-max-h200{ height:200px; overflow: auto;} +.edu-h260{ height:260px;} +.edu-h270{ height:270px;} +.edu-h310{ height:310px;} +.edu-position{ position: relative;} +.edu-h200-auto{ max-height:200px; overflow:auto;} +.edu-h300-auto{ max-height:300px; overflow:auto;} +.edu-h350-auto{ max-height:350px; overflow:auto;} +.edu-h280-auto{ height:280px; overflow:auto;} +.edu-txt-w240{ width:240px; display: block;} +.edu-txt-w280{ width:280px; display: block;} +.edu-txt-w320{ width:320px; display: block;} +.edu-txt-w200{ width:200px; display: block;} +a.edu-txt-w280,.edu-txt-w280{ width:280px; display: inline-block;text-align: center} +a.edu-txt-w190,.edu-txt-w190{ width:190px; display: inline-block;text-align: center} +a.edu-txt-w160,.edu-txt-w160{ width:160px; display: inline-block;text-align: center} +a.edu-txt-w140,.edu-txt-w140{ width:141px; display: inline-block;text-align: center} +a.edu-txt-w130,.edu-txt-w130{ width:130px; display: inline-block;text-align: center} +a.edu-txt-w120,.edu-txt-w120{ width:120px; display: inline-block;text-align: center} +a.edu-txt-w100,.edu-txt-w100{ width:100px; display: inline-block;text-align: center} +a.edu-txt-w90,.edu-txt-w90{ width:90px; display: inline-block;text-align: center} +a.edu-txt-w80,.edu-txt-w80{ width:80px; display: inline-block;text-align: center} + +/*超过隐藏*/ +.overellipsis{overflow: hidden;white-space: nowrap;text-overflow: ellipsis;} +.task-hide{overflow:hidden; white-space: nowrap; text-overflow:ellipsis;} +.task-hide-2{overflow: hidden;text-overflow: ellipsis;display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 2;} +/*隐藏*/ +.none{display: none} +.block{ display:block;} + +.boxsizing{box-sizing: border-box} + + +/*字体icon均为18px*/ +.iconfont{font-size: 18px!important;} +/*通用文字大小样式*/ +.font-n{font-weight: normal!important;} +.font-bd{font-weight: bold;} +.font-n{font-weight: normal;} +.font-12{ font-size: 12px!important;} +.font-13{ font-size: 13px!important;} +.font-14{ font-size: 14px!important;} +.font-15{ font-size: 15px!important;} +.font-16{ font-size: 16px!important;} +.font-17{ font-size: 17px!important;} +.font-18{ font-size: 18px!important;} +.font-20{ font-size: 20px!important;} +.font-22{ font-size: 22px!important;} +.font-24{ font-size: 24px!important;} +.font-26{ font-size: 26px!important;} +.font-28{ font-size: 28px!important;} +.font-30{ font-size: 30px!important;} +.font-32{ font-size: 32px!important;} +.font-36{ font-size: 36px!important;} +.font-50{ font-size: 50px!important;} +.font-60{ font-size: 60px!important;} +.font-70{ font-size: 70px!important;} + +/*a标签的下划线*/ +a.decoration{text-decoration: underline} + +/*表单*/ +.panel-form-label{ display:inline-block; width:10%; min-width:90px; text-align:right; line-height:40px; font-weight: normal; } + +/*通用内外边距*/ +.mt-10{ margin-top:-10px;}.mt-3{ margin-top:-3px;}.mt0{ margin-top:0px!important;} .mt1{ margin-top:1px;}.mt2{ margin-top:2px;}.mt3{ margin-top:3px;}.mt4{ margin-top:4px;}.mt5{ margin-top:5px!important;}.mt6{ margin-top:6px;}.mt7{ margin-top:7px!important;}.mt8{ margin-top:8px;}.mt9{ margin-top:9px;}.mt10{ margin-top:10px!important;}.mt12{ margin-top:12px;}.mt13{ margin-top:13px;}.mt14{ margin-top:14px;}.mt15{ margin-top:15px!important;}.mt16{ margin-top:16px;}.mt17{ margin-top:17px;}.mt18{ margin-top:18px;}.mt20{ margin-top:20px!important;}.mt22{ margin-top:22px!important;}.mt23{ margin-top:23px!important;}.mt24{ margin-top:24px!important;}.mt25{ margin-top:25px;}.mt28{ margin-top:28px;}.mt30{ margin-top:30px!important;}.mt34{ margin-top:34px!important;}.mt35{ margin-top:35px!important;}.mt36{ margin-top:36px!important;}.mt40{ margin-top:40px;}.mt45{ margin-top:45px;}.mt46{ margin-top:46px;}.mt50{ margin-top:50px;!important;}.mt56{ margin-top:56px;!important;}.mt60{ margin-top:60px;}.mt70{ margin-top:70px;}.mt80{ margin-top:80px;}.mt95{ margin-top:95px;}.mt100{ margin-top:100px;}.mt110{ margin-top:110px;}.mt120{ margin-top:120px;}.mt130{ margin-top:130px;}.mt140{ margin-top:140px;}.mt150{ margin-top:150px;}.mt160{ margin-top:160px;} +.mb0{margin-bottom: 0px!important;}.mb3{ margin-bottom: 3px;}.mb5{ margin-bottom: 5px;}.mb7{ margin-bottom: 7px;}.mb10{ margin-bottom: 10px;}.mb11{ margin-bottom: 11px;}.mb14{ margin-bottom: 14px;}.mb15{ margin-bottom: 15px;}.mb16{ margin-bottom: 16px;}.mb20{ margin-bottom: 20px!important;}.mb25{ margin-bottom: 25px;}.mb26{ margin-bottom: 26px;}.mb28{ margin-bottom: 28px;}.mb30{ margin-bottom: 30px!important;}.mb40{ margin-bottom: 40px!important;}.mb50{ margin-bottom: 50px!important;}.mb60{ margin-bottom: 60px!important;}.mb70{ margin-bottom: 70px!important;}.mb80{ margin-bottom: 80px!important;}.mb90{ margin-bottom: 90px!important;}.mb100{ margin-bottom: 100px!important;}.mb110{ margin-bottom: 110px;} +.ml-3{ margin-left: -3px;}.ml1{margin-left: 1px;}.ml2{margin-left: 2px;}.ml3{margin-left: 3px;}.ml4{margin-left: 4px;}.ml5{ margin-left: 5px;}.ml6{ margin-left: 6px;}.ml10{ margin-left: 10px;}.ml12{ margin-left:12px!important;}.ml13{ margin-left:13px!important;}.ml15{ margin-left: 15px;}.ml18{ margin-left: 18px;}.ml20{ margin-left: 20px;}.ml22{ margin-left: 22px;}.ml25{ margin-left: 25px;}.ml30{ margin-left: 30px;}.ml33{ margin-left: 33px;}.ml35{ margin-left:35px;}.ml40{margin-left:40px;}.ml42{margin-left:42px;}.ml45{ margin-left: 45px;}.ml50{ margin-left: 50px;}.ml55{ margin-left: 55px;}.ml60{ margin-left: 60px;}.ml72{ margin-left: 72px;}.ml73{ margin-left: 73px;}.ml75{ margin-left: 75px;}.ml80{ margin-left: 80px;}.ml85{margin-left:85px;}.ml95{ margin-left: 95px;}.ml115{margin-left: 115px}.ml123{ margin-left: 123px;}.ml150{ margin-left: 150px;}.ml180{ margin-left: 180px;}.ml230{ margin-left: 230px;}.ml240{margin-left: 240px;}.ml250{ margin-left: 250px;}.ml290{ margin-left: 290px;} +.mr3{margin-right: 3px}.mr4{margin-right: 4px}.mr5{ margin-right: 5px;}.mr8{ margin-right: 8px;}.mr10{ margin-right: 10px;}.mr12{ margin-right:12px!important;}.mr15{ margin-right: 15px;}.mr18{ margin-right: 18px;}.mr20{ margin-right: 20px;}.mr24{ margin-right: 24px;}.mr25{ margin-right: 25px;}.mr30{ margin-right:30px;}.mr35{margin-right:35px;}.mr40{margin-right:40px;}.mr45{margin-right:45px;}.mr50{ margin-right: 50px;}.mr60{ margin-right:60px;}.mr70{ margin-right: 70px;}.mr75{ margin-right: 75px;}.mr80{ margin-right:80px;}.mr90{ margin-right:90px;}.mr100{ margin-right: 100px;}.mr110{ margin-right:110px;}.mr350{ margin-right:350px;} + +.pt1{ padding-top:1px;}.pt3{ padding-top:3px!important;}.pt5{ padding-top:5px!important;}.pt10{ padding-top:10px;}.pt15{ padding-top:15px;}.pt17{ padding-top:17px;}.pt20{ padding-top:20px!important;}.pt25{ padding-top:25px;}.pt30{ padding-top:30px;}.pt35{ padding-top:35px;}.pt37{ padding-top:37px;}.pt40{ padding-top:40px;}.pt47{ padding-top:47px;}.pt49{ padding-top:49px;}.pt50{ padding-top:50px;}.pt60{ padding-top:60px;}.pt70{ padding-top:70px;}.pt80{ padding-top:80px;}.pt90{ padding-top:90px;}.pt100{padding-top:100px;}.pt110{ padding-top:110px;}.pt120{ padding-top:120px;}.pt130{padding-top:130px;} +.pb3{ padding-bottom:3px!important;}.pb5{ padding-bottom:5px!important;}.pb10{ padding-bottom:10px;}.pb15{ padding-bottom:15px;}.pb20{ padding-bottom:20px;}.pb25{ padding-bottom:20px;}.pb25{ padding-bottom:20px;}.pb30{ padding-bottom:30px;}.pb35{ padding-bottom:35px;}.pb40{ padding-bottom:40px;}.pb47{ padding-bottom:47px;}.pb50{ padding-bottom:50px;}.pb60{ padding-bottom:60px;}.pb70{ padding-bottom:70px;}.pb80{ padding-bottom:80px;}.pb90{ padding-bottom:90px;}.pb100{ padding-bottom:100px;}.pb110{ padding-bottom:110px;}.pb155{ padding-bottom:155px;} +.pr2{ paddding-right:2px;}.pr5{ padding-right:5px;}.pr10{ padding-right:10px;}.pr15{ padding-right:15px;}.pr20{ padding-right:20px!important;}.pr30{ padding-right:30px!important;}.pr35{ padding-right:35px!important;}.pr42{ padding-right:42px;}.pr45{ padding-right:45px;}.pr48{ padding-right:48px;}.pr57{ padding-right:57px;}.pr60{ padding-right:60px;}.pr70{ padding-right:70px;}.pr72{ padding-right:72px;}.pr75{ padding-right:75px;}.pr88{ padding-right:88px;} + +.pl0{ padding-left:0px!important;}.pl2{ padding-left:2px;}.pl5{ padding-left:5px;}.pl7{ padding-left:7px;}.pl8{ padding-left:8px;}.pl10{ padding-left:10px;}.pl15{ padding-left:15px;}.pl20{ padding-left:20px;}.pl22{ padding-left:22px;}.pl25{ padding-left:25px;}.pl28{ padding-left:28px;}.pl30{ padding-left:30px !important;}.pl33{padding-left: 33px}.pl35{ padding-left:35px;}.pl40{ padding-left:40px;}.pl42{ padding-left:42px;}.pl45{ padding-left:45px;}.pl50{ padding-left:50px;}.pl60{ padding-left:60px;}.pl70{padding-left:70px;}.pl75{padding-left:75px;}.pl80{padding-left:80px;}.pl88{ padding-left:88px;}.pl92{padding-left:92px;}.pl100{ padding-left:100px;} +.pr2{ paddding-right:2px;}.pr5{ padding-right:5px;}.pr7{ padding-right:7px;}.pr10{ padding-right:10px;}.pr15{ padding-right:15px;}.pr20{ padding-right:20px!important;}.pr25{ padding-right:25px!important;}.pr30{ padding-right:30px!important;}.pr40{ padding-right:40px;}.pr42{ padding-right:42px;}.pr45{ padding-right:45px;}.pr60{padding-right:60px;}.pr75{padding-right:75px;} + + +.padding5-10{padding:5px 10px;box-sizing: border-box} +.padding5-20{padding:5px 20px;box-sizing: border-box} +.padding10{padding: 10px;box-sizing: border-box} +.padding15{padding: 15px;box-sizing: border-box} +.padding20{padding: 20px;box-sizing: border-box} +.padding10-20{padding: 10px 20px;box-sizing: border-box} +.padding10-15{padding: 10px 15px;box-sizing: border-box} +.padding10-25{padding: 10px 25px;box-sizing: border-box} +.padding10-30{padding: 10px 30px;box-sizing: border-box} + +.padding15-20{padding: 15px 20px;box-sizing: border-box} +.padding15-25{padding: 15px 25px;box-sizing: border-box} + +.padding20-40{padding: 20px 40px;box-sizing: border-box} +.padding20-30{padding: 20px 30px;box-sizing: border-box} +.padding20-15{padding: 20px 15px;box-sizing: border-box} +.padding20-10{padding: 20px 10px;box-sizing: border-box} + +.padding30{padding: 30px;box-sizing: border-box} +.padding30-20{padding: 30px 20px;box-sizing: border-box} +.padding30-40{padding: 30px 40px;box-sizing: border-box} + +.padding40{padding: 40px;box-sizing: border-box} +.padding40-30{padding: 40px 30px;box-sizing: border-box} +.padding40-20{padding: 40px 20px;box-sizing: border-box} + +.margin10{margin:10px;} +.margin15{margin:15px;} +.margin20{margin:20px;} + +/*行高*/ +.lineh-12{line-height: 12px} +.lineh-15{line-height: 15px} +.lineh-17{line-height: 17px} +.lineh-20{line-height: 20px} +.lineh-25{line-height: 25px} +.lineh-30{line-height: 30px} +.lineh-35{line-height: 35px} +.lineh-40{line-height: 40px} + +/*pre标签换行*/ +.break_word{word-break: break-all;word-wrap: break-word;} +.break_word_firefox{white-space: pre-wrap !important;word-break: break-all;} +/*定位*/ +.pr{position: relative} +.df {display:flex;display: -webkit-flex;display: -ms-flex;} +.flex1{flex: 1;} +/*去掉IE input框输入时自带的清除按钮*/ +input::-ms-clear{display:none;} +/*自定义滚动条宽度*/ +::-webkit-scrollbar {width:7px;height:10px;background-color: #F5F5F5; } +::-webkit-scrollbar-track {-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);background-color: #F5F5F5;} +::-webkit-scrollbar-thumb {-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,.3);background-color: #dadada;} + + +.newContainer{ min-height:100%; height: auto !important; height: 100%; /*IE6不识别min-height*/position: relative;} +.educontent{width: 1200px;margin:0px auto;box-sizing: border-box}/*中间部分宽度固定为1200*/ +.newMain{ margin: 0 auto; padding-bottom: 235px; min-width:1200px;padding-top: 60px}/*padding-bottom根据底部的高度而定*/ + +/*高度*/ +.height-100{height: 100%;} +/*文本位置*/ +.edu-txt-center{ text-align: center!important;} +.edu-txt-left{ text-align: left!important;} +.edu-txt-right{ text-align: right!important;} + +/*背景颜色*/ +.edu-back-white{background-color:#FFFFff; } +.edu-back-greyf5{background-color: #f5f5f5!important;} +.edu-back-skyblue{background: #F4FAFF;} +.edu-back-blue{background-color:#459be6!important; } +.edu-back-blue-txt{background-color:#F7FBFF!important; } +.edu-bg-light-blue{ background:#f7f9fd; padding:5px;}/*发送实训弹框*/ +/*常用字体*/ +/*红色*/ +.color-red{color: #FF0000!important;} +/*白色*/ +.color-white{color: #ffffff!important;} +/*黑色*/ +.color-dark{color: #05101a!important;} +/*灰色*/ +.color-grey-name{color: #1A0B00!important;} +.color-grey-fa{color: #FAFAFA!important;} +.color-grey-3{color: #333!important;} +.color-grey-eb{color: #EBEBEB!important;} +.color-grey-c{color: #ccc!important;} +.color-grey-cd{color: #cdcdcd!important;} +.color-grey-9{color: #999999!important;} +.color-grey-98{color: #989898!important;} +.color-grey-8{color: #888!important;} +.color-grey-6{color: #666!important;} +.color-grey-4d{color: #4d4d4d!important;} +.color-grey-B2{color: #B2B2B2!important;} +.color-grey-B3{color: #B3B3B3!important;} +.color-grey-B4{color: #B4B4B4!important;} +.color-grey-74{color: #747A7F!important;} + + +a.color-grey-name:hover,a.color-dark:hover,a.color-grey-6:hover,a.color-grey-3:hover{color: #4cacff!important;} +a.color-grey-9:hover,a.color-grey-8:hover,a.color-grey-c:hover{color: #111C24!important;} +/*蓝色*/ +.color-blue{color: #4CACFF!important;}/*主*/ +.color-blue_4C{color: #4CACFF!important;} +a.color-blue:hover,a.color-blue_4C:hover{color: #459BE6!important;} +/*橙色*/ +.color-orange{color: #ff6800!important;}/*辅助文字*/ +.color-orange-tip{color: #FF954C!important;}/*提示文字*/ +a.color-orange:hover,a.color-orange-tip:hover{color: #F06200!important;} +/*黄色*/ +.color-yellow{color: #EFC003!important;} +.color-yellow-ff{color: #FFA800!important} +/*绿色*/ +.color-green{color: #29BD8B!important;} +a.color-green:hover{color: #28AC7F!important;} +/*红色*/ +.color-red-dd{color: #DD1717!important;} +a.color-red-dd:hover{color: #C61616!important;} +/*圆角*/ +.radius{border-radius: 50%;} +.radius4{border-radius: 4px;} +.radius2{border-radius: 2px;} + + +/*绿色圆形--例如:实训路径详情的编辑icon的背景*/ +.ring-green{width: 18px;height: 18px;display: block;border-radius: 50%;background-color: #29BD8B;text-align: center;} +.ring-op-green{width: 18px;height: 18px;display: block;border-radius: 50%;background-color: rgba(41,189,139,0.6);text-align: center;} +.ring-grey{width: 18px;height: 18px;line-height: 18px;display: block;border-radius: 50%;background-color:rgba(204,204,204,0.5);text-align: center;} +.ring-blue{width: 18px;height: 18px;display: block;border-radius: 50%;background-color: #4CACFF;text-align: center;} + +.ring-orange{background-color: #FF6800;display: block;padding: 0px 3px;height: 18px;box-sizing: border-box;min-width: 18px;text-align: center;line-height: 18px;border-radius: 50%;color:#fff;font-size: 12px;} + +/*左侧label内容右对齐*/ +.label-right{min-width:75px;text-align: right;height: 35px;line-height: 35px;float: left; } + + +/*输入框样式---------宽度为百分比*/ +.input-flex-30{flex: 1;height: 30px;padding: 5px;box-sizing: border-box;} +.input-flex-35{flex: 1;height: 35px;padding: 5px;box-sizing: border-box;} +.input-flex-40{flex: 1;height: 40px;padding: 5px;box-sizing: border-box;} +.input-100-35{width: 100%;height: 35px;padding: 5px;box-sizing: border-box;} +.input-100-40{width: 100%;height: 40px;padding: 5px;box-sizing: border-box;} +.input-100-45{width: 100%;height: 45px;padding: 5px;box-sizing: border-box;} +.input-90-35{width: 90%;height: 35px;padding: 5px;box-sizing: border-box;} +.input-60-40{width: 60%;height: 40px;padding: 5px;box-sizing: border-box;} +.input-60-35{width: 60%;height: 35px;padding: 5px;box-sizing: border-box;} +.input-50-35{width: 50%;height: 35px;padding: 5px;box-sizing: border-box;} +.input-50-40{width: 50%;height: 40px;padding: 5px;box-sizing: border-box;} +.input-50-45{width: 50%;height: 45px;padding: 5px;box-sizing: border-box;} +.input-48-45{width: 48%;height: 45px;padding: 5px;box-sizing: border-box;} +/*输入框为灰色背景,获取焦点时背景变白色*/ +.greyInput{background-color: #F5F5F5;outline: none} +.greyInput:focus{background-color: #fff; border: 1px solid #ddd;} + +/*输入框样式---------宽度为固定长度*/ +.winput-240-45{width: 240px;height: 45px;padding: 5px;box-sizing: border-box;} +.winput-240-40{width: 240px;height: 40px;padding: 5px;box-sizing: border-box;} +.winput-240-35{width: 240px;height: 35px;padding: 5px;box-sizing: border-box;} +.winput-240-30{width: 240px;height: 30px;padding: 5px;box-sizing: border-box;} +.winput-190-45{width: 190px;height: 45px;padding: 5px;box-sizing: border-box;} +.winput-200-35{width: 200px;height: 35px;padding: 5px;box-sizing: border-box;} +.winput-120-40{width: 120px;height: 40px;padding: 5px;box-sizing: border-box;} +.winput-120-35{width: 120px;height: 35px;padding: 5px;box-sizing: border-box;} +.winput-120-30{width: 120px;height: 30px;padding: 5px;box-sizing: border-box;} +.winput-115-40{width: 115px;height: 40px;padding: 5px;box-sizing: border-box;} +.winput-90-40{width: 90px;height: 40px;padding: 5px;box-sizing: border-box;} +.winput-90-35{width: 90px;height: 35px;padding: 5px;box-sizing: border-box;} +.winput-240-100{width: 240px;height: 100px;padding: 5px;box-sizing: border-box;} +/*输入框样式---------高度固定*/ +.winput-90-100{width: 90%;height: 100px;padding: 5px;box-sizing: border-box;} +.winput-100-130{width: 100%;height: 130px;padding: 5px;box-sizing: border-box;} +.winput-100-150{width: 100%;height: 150px;padding: 5px;box-sizing: border-box;} +.winput-100-200{width: 100%;height: 200px;padding: 5px;box-sizing: border-box;} +.winput-90-100{width: 90%;height: 100px;padding: 5px;box-sizing: border-box;} +/*百分比宽度*/ +.width100{width: 100%;} +.width90{width: 90%;} +.width89{width: 89%;} +.width80{width: 80%;} +.width70{width: 70%;} +.width60{width: 60%;} +.width50{width: 50%;} +.width40{width: 40%;} +.width30{width: 30%;} +.width20{width: 20%;} +.width15{width: 15%;} +.width10{width: 10%;} + +/*固定大小的宽度*/ +.wid100{width: 100px;display: block} +.wid120{width: 120px;display: block} +.wid90{min-width: 90px!important;display: block} +a.edu-txt-w280,.edu-txt-w280{ width:280px; display: inline-block;text-align: center} +a.edu-txt-w200,.edu-txt-w200{ width:200px; display: inline-block;text-align: center} +a.edu-txt-w190,.edu-txt-w190{ width:190px; display: inline-block;text-align: center} +a.edu-txt-w160,.edu-txt-w160{ width:160px; display: inline-block;text-align: center} +a.edu-txt-w140,.edu-txt-w140{ width:141px; display: inline-block;text-align: center} +a.edu-txt-w130,.edu-txt-w130{ width:130px; display: inline-block;text-align: center} +a.edu-txt-w120,.edu-txt-w120{ width:120px; display: inline-block;text-align: center} +a.edu-txt-w100,.edu-txt-w100{ width:100px; display: inline-block;text-align: center} +a.edu-txt-w90,.edu-txt-w90{ width:90px; display: inline-block;text-align: center} +a.edu-txt-w80,.edu-txt-w80{ width:80px; display: inline-block;text-align: center} +a.edu-txt-w40,.edu-txt-w40{ width:40px; display: inline-block;text-align: center} + +/*最小高度*/ +.minH-40{min-height: 490px;} +.minH-280{min-height: 280px;} +.minH-400{min-height: 400px;} +.minH-440{min-height: 440px;} +.minH-500{min-height: 500px;} +.minH-560{min-height: 560px;} +/*超出高度出现滚动条--纵向*/ +.over260{max-height: 260px;overflow-y: auto} +.over210{height: 210px;overflow-y: auto} +.over280{height: 280px;overflow-y: auto} +.over170{min-height: 170px;max-height: 170px;overflow-y: auto} + +/*---------------tab公用边框-----------------*/ +.border-bottom-orange{border-bottom: 2px solid #FC7033!important;} +.bor-bottom-orange{border-bottom: 1px solid #FF9e6a!important;} +.bor-bottom-greyE{border-bottom: 1px solid #EEEEEE!important;} +.bor-left-greyE{border-left: 1px solid #EEEEEE!important;} +.bor-top-greyE{border-top: 1px solid #EEEEEE!important;} +.bor-right-greyE{border-right: 1px solid #EEEEEE!important;} +.bor-left-greyC{border-left: 1px solid #CCC!important;} +.bor-top-greyC{border-top: 1px solid #CCC!important;} +/*---------------边框-----------------*/ +.bor-gray-c{border:1px solid #ccc;} +.bor-grey-e{border:1px solid #eee;} +.bor-grey-d{border:1px solid #ddd;} +.bor-grey01{border:1px solid #E6EAEB;} +.bor-orange{border:1px solid #FF7500;} +.bor-blue{border:1px solid #5faee3;} +.bor-red{border:1px solid #db0505;} +.bor-none{border:none;} +.bor-outnone{outline:none; border:0px;} + +a.decoration{text-decoration: underline!important;} + +/*下拉菜单*/ +.edu-menu-panel{position: relative;cursor: pointer} +.edu-menu-list{position: absolute;padding: 5px 0px;box-shadow: 0 2px 8px 0 rgba(0,0,0,.2);display: none;width: 120px;background: #FFFFff;right: -5px;border-radius:0px 0px 4px 4px;color: #05101a; font-size: 14px;z-index: 9} +.edu-menu-list li{width: 100%;padding:0px 15px;box-sizing: border-box;height: 35px;line-height: 35px;cursor: pointer;} + +.edu-menuSmall-list{position: absolute;padding: 5px 0px;box-shadow: 0 2px 8px 0 rgba(0,0,0,.2);display: none;width: 100px;background: #FFFFff;right: -5px;border-radius:0px 0px 4px 4px;color: #05101a; font-size: 14px;z-index: 9} +.edu-menuSmall-list li{width: 100%;padding:0px 10px;box-sizing: border-box;height: 30px;line-height: 30px;cursor: pointer;font-size: 12px;} + +.edu-menu-list li a,.edu-menuSmall-list li a{width: 100%;height: 100%;display: block;color: #323232;} +.edu-menu-panel:hover i,.edu-menu-panel:hover{color: #4cacff;} +.edu-menu-panel:hover .edu-menu-list,.edu-menu-panel:hover .edu-menuSmall-list{display: block} +.edu-menu-list li:hover,.edu-menuSmall-list li:hover{background: #4CACFF;} +.edu-menu-list li:hover a,.edu-menuSmall-list li:hover a{color: #fff!important;} +.currentName{display: block;width: 100%;padding:0px 15px;height: 40px;line-height: 40px;font-size: 16px;box-sizing: border-box;cursor: default} +.ul-leftline:after{position: absolute;top:0px;content: "";width: 1px;background-color: #eee;height: 100%;right: 0px;} +.overPart{width: 240px;height: 30px;position: absolute;right: 0;top: -27px;background: transparent;} +/*滑块验证*/ +.drag_slider{ position: relative; background-color: #e8e8e8; width:100%; height: 45px;color: #999999; line-height: 45px; text-align: center;border-radius: 4px;} +.drag_slider .handler{ border-radius: 4px 0px 0px 4px;position: absolute; top: 0px; left: 0px; width: 50px; height: 43px; border: 1px solid #eee; cursor: move;} +.handler_bg{ background: #fff url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA3hpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDIxIDc5LjE1NTc3MiwgMjAxNC8wMS8xMy0xOTo0NDowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo0ZDhlNWY5My05NmI0LTRlNWQtOGFjYi03ZTY4OGYyMTU2ZTYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NTEyNTVEMURGMkVFMTFFNEI5NDBCMjQ2M0ExMDQ1OUYiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NTEyNTVEMUNGMkVFMTFFNEI5NDBCMjQ2M0ExMDQ1OUYiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTQgKE1hY2ludG9zaCkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo2MTc5NzNmZS02OTQxLTQyOTYtYTIwNi02NDI2YTNkOWU5YmUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NGQ4ZTVmOTMtOTZiNC00ZTVkLThhY2ItN2U2ODhmMjE1NmU2Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+YiRG4AAAALFJREFUeNpi/P//PwMlgImBQkA9A+bOnfsIiBOxKcInh+yCaCDuByoswaIOpxwjciACFegBqZ1AvBSIS5OTk/8TkmNEjwWgQiUgtQuIjwAxUF3yX3xyGIEIFLwHpKyAWB+I1xGSwxULIGf9A7mQkBwTlhBXAFLHgPgqEAcTkmNCU6AL9d8WII4HOvk3ITkWJAXWUMlOoGQHmsE45ViQ2KuBuASoYC4Wf+OUYxz6mQkgwAAN9mIrUReCXgAAAABJRU5ErkJggg==") no-repeat center;} +.handler_ok_bg{ background: #fff url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA3hpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDIxIDc5LjE1NTc3MiwgMjAxNC8wMS8xMy0xOTo0NDowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo0ZDhlNWY5My05NmI0LTRlNWQtOGFjYi03ZTY4OGYyMTU2ZTYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDlBRDI3NjVGMkQ2MTFFNEI5NDBCMjQ2M0ExMDQ1OUYiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDlBRDI3NjRGMkQ2MTFFNEI5NDBCMjQ2M0ExMDQ1OUYiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTQgKE1hY2ludG9zaCkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDphNWEzMWNhMC1hYmViLTQxNWEtYTEwZS04Y2U5NzRlN2Q4YTEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NGQ4ZTVmOTMtOTZiNC00ZTVkLThhY2ItN2U2ODhmMjE1NmU2Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+k+sHwwAAASZJREFUeNpi/P//PwMyKD8uZw+kUoDYEYgloMIvgHg/EM/ptHx0EFk9I8wAoEZ+IDUPiIMY8IN1QJwENOgj3ACo5gNAbMBAHLgAxA4gQ5igAnNJ0MwAVTsX7IKyY7L2UNuJAf+AmAmJ78AEDTBiwGYg5gbifCSxFCZoaBMCy4A4GOjnH0D6DpK4IxNSVIHAfSDOAeLraJrjgJp/AwPbHMhejiQnwYRmUzNQ4VQgDQqXK0ia/0I17wJiPmQNTNBEAgMlQIWiQA2vgWw7QppBekGxsAjIiEUSBNnsBDWEAY9mEFgMMgBk00E0iZtA7AHEctDQ58MRuA6wlLgGFMoMpIG1QFeGwAIxGZo8GUhIysmwQGSAZgwHaEZhICIzOaBkJkqyM0CAAQDGx279Jf50AAAAAABJRU5ErkJggg==") no-repeat center;} +.drag_slider .drag_bg{ background-color: #29bd8b; height: 45px; width: 0px;} +.drag_slider .drag_text{border-radius: 4px 0px 0px 4px;position: absolute; top: 0px; width: 100%; -moz-user-select: none; -webkit-user-select: none; user-select: none; -o-user-select:none; -ms-user-select:none;} + +/*tip公共样式的设置:*/ +.-task-title{opacity:0;position:absolute;left:0;top:0;display:none;z-index:100000;} /*1*/ +.data-tip-down,.data-tip-left,.data-tip-right,.data-tip-top{ position:relative; box-shadow:0px 0px 8px #000; background:#000; color:#fff; max-width:300px;/*2*/ + word-wrap: break-word; text-align:center; border-radius:4px; padding:0 10px; border:1px solid #000; display:none; }/*3*/ +.data-tip-down:after,.data-tip-down:before,.data-tip-left:before,.data-tip-right:before,.data-tip-left:after,.data-tip-right:after,.data-tip-top:after,.data-tip-top:before{/*4*/ + position: absolute;content:''; width:0; height:0;}/*5*/ +.data-tip-down:after,.data-tip-down:before{left: 45%;top:-10px;/*6*/ + border-left: 5px solid transparent; border-right: 5px solid transparent; border-bottom: 10px solid #000; }/*7*/ +.data-tip-down:before{top:-11px;border-bottom:10px solid #000;}/*8*/ +.data-tip-left:after,.data-tip-left:before{left: -10px;top:50%; margin-top:-5px;/*9*/ + border-top: 5px solid transparent; border-bottom: 5px solid transparent; border-right: 10px solid #000; }/*10*/ +.data-tip-left:before{ left: -12px;border-right: 10px solid #000; }/*11*/ +.data-tip-right:after,.data-tip-right:before{right: -10px; top:50%; margin-top:-5px;/*12*/ + border-top: 5px solid transparent;border-bottom: 5px solid transparent; border-left: 10px solid #000; }/*13*/ +.data-tip-right:before{ right: -10px;border-left: 10px solid #000; }/*14*/ +.data-tip-top:after,.data-tip-top:before{left: 45%;bottom:-10px;border-left: 5px solid transparent; + border-right: 5px solid transparent;border-top: 10px solid #000;} +.data-tip-top:before{bottom:-11px;} + + +/*左右两栏排列、固定左右宽度----------ul*/ +ul.abouttable{margin: 0px auto;width: 440px;} +ul.abouttable li{width: 100%;} +ul.abouttable li .rz-label{min-width: 150px;height: 45px;line-height: 45px;text-align: right;color: #adadad;} +ul.abouttable li .second-label{min-width: 150px;height: 40px;line-height: 40px;text-align: right;color: #adadad;} +ul.abouttable li .minh-label{min-width: 150px;height: 28px;line-height: 28px;text-align: right;color: #adadad;} + + + +/* table--------------------------------*/ + +/* table-1底部边框 */ +.edu-pop-table{ width: 100%; border:1px solid #eee; border-bottom:none; background:#fff; color:#888;cursor: default} +.edu-pop-table tr{ height:40px; } +.edu-pop-table tr.edu-bg-grey{ background:#f5f5f5;} +.edu-txt-center{ text-align: center;}.edu-txt-left{ text-align: left;}.edu-txt-right{ text-align: right;} +.edu-pop-table tr th{ color:#333;border-bottom:1px solid #eee; } +.edu-pop-table tr td{border-bottom:1px solid #eee;} +.edu-pop-table.table-line tr td,.edu-pop-table.table-line tr th{ border-right:1px solid #eee;} +.edu-pop-table.table-line tr td:last-child,.edu-pop-table.table-line tr th:last-child{border-right:none;} +/*th行有背景颜色且table无边框*/ +.edu-pop-table.head-color thead tr{background: #fafbfb} +.edu-pop-table.head-color{border: none} +.edu-pop-table.head-color tr:last-child td {border: none} +/*--表格行间隔背景颜色-*/ +.edu-pop-table.interval-td{border-bottom: 1px solid #eee;} +.edu-pop-table.interval-td thead tr{background: #fafbfb} +.edu-pop-table.interval-td tbody tr:nth-child(even){background: #fafbfb} +.edu-pop-table.interval-td tbody tr td{border: none} +/*--表格行间隔背景颜色(th也没有边框)-*/ +.edu-pop-table.interval-all{border:none;border-bottom: 1px solid #eee;} +.edu-pop-table.interval-all thead th{border: none} +.edu-pop-table.interval-all thead tr{background: #fafbfb} +.edu-pop-table.interval-all tbody tr:nth-child(even){background: #fafbfb} +.edu-pop-table.interval-all tbody tr td{border: none;padding:5px 0px} +/*--表格行移入背景颜色-*/ +.edu-pop-table.hover-td tbody tr:hover{background: #EFF9FD}/*悬浮颜色为天蓝色*/ +.edu-pop-table.hover-td_1 tbody tr:hover{background:#FCF2EC}/*悬浮颜色为浅橙色*/ +/* table-2全边框 */ +.edu-pop-table-all{ width: 100%; border:1px solid #eee; background:#fff; color:#888;border-collapse: collapse} +.edu-pop-table-all tr{ height:30px; } +.edu-pop-table-all tr.edu-bg-grey{ background:#f5f5f5;} +.edu-pop-table-all tr th{ color:#333;border:1px solid #eee; } +.edu-pop-table-all tr td{border:1px solid #eee;padding: 5px} +/*table无边框、无背景颜色*/ +.allNone{background: none!important;cursor: default;border-bottom:none!important;} +.allNone tr{height: 30px!important;} + +/*数据为空公共页面*/ +img.edu-nodata-img{ width:300px; margin:50px auto 20px; display: block;} +.edu-nodata-p{ font-size: 20px; text-align: center; color:#999;border-bottom:none!important;padding-left: 18px;box-sizing: border-box;} + +/*输入为空或者错误的提示*/ +.input-none{box-shadow: 0px 0px 2px rgba(0,0,0,0.1);} +.notice{height: 25px;margin-left: 150px;} +.input-none + .notice span{display: block} + +/*列表里菜单icon移入*/ +.edu-position-hide{ position: absolute; top:15px; left:-20px; box-shadow: 0px 2px 8px rgba(146, 153, 169, 0.5); background:#fff;z-index:1001; padding:5px 0;z-index: 999999;} +.edu-position-hide li a{ display:inline-block; height: 30px; width: 100px; line-height: 30px; text-align: center; font-size:12px!important; } +.edu-position-hide li a:hover{ background:#F1F1F1; color:#05101A;} +.edu-position-hidebox i{ color:#bcbcbc;} +.edu-position-hidebox i:hover{ color:#4CACFF;} +.edu-position-hidebox a{ color:#05101A;} +.edu-position-hidebox:hover .edu-position-hide{ display: block;} + +/*搜索(灰色背景、点击变白色)*/ +.seekPanel > input{width: 100%;height: 30px;line-height: 30px;background-color: #f4f4f4;border:1px solid #eaeaea;padding: 0px 30px 0px 5px ;box-sizing: border-box;outline: none;} +.seekPanel > input:focus{background-color: #fff;} +.seekPanel > i{position: absolute;right: 7px;top: -1px;} +/*-------------------------------------------公用按钮:以white-btn(或者edu-default-btn无padding)为基础,宽度和高度可以用padding填充,颜色用edu-color-btn,begin-----------------------------------------*/ +/*按钮*/ +/*默认按钮*/ +/*长条形按钮*/ +.default_btn{display: block;border-radius: 5px ;background: #f4f4f4;color: #cfcfcf!important;text-align: center;width: 102px;box-sizing: border-box} +/*正常按钮*/ +.white-btn{text-align:center;cursor: pointer;display: inline-block;padding: 0px 8px;border: 1px solid #ccc;color: #666;letter-spacing: 1px;font-size: 14px;height: 26px;line-height: 26px;border-radius: 3px;} +a.white-btn.orange-btn{border: 1px solid #FF7500;color: #FF7500!important;} +a.white-btn.orange-btn:hover{border: 1px solid #F06200;color: #F06200!important;} + +.defalutGreyBorder{display: block;padding: 0px 10px;border:1px solid #ccc;height: 30px;line-height: 30px;border-radius: 4px;} +a.task-btn{cursor: pointer;display: inline-block;border: none;padding: 0 12px;color: #fff;background: #CDCDCD !important;letter-spacing: 1px;text-align: center;font-size: 14px;height: 30px;line-height: 30px;border-radius: 2px; font-weight: 400;} +/*最新按钮:以个人主页为例-------------因高度和宽度都已经固定,后续不再支持使用,*/ +.user_default_btn{cursor: pointer;font-size: 14px;display: block;width: 120px;text-align: center;height: 40px;line-height: 40px!important;border-radius: 4px;box-sizing: border-box} +.user_orange_btn{color: #fff!important;background-color: #FF6800;}/*橙色签到按钮*/ +.user_orange_btn:hover{background-color:#F06200;} +.user_grey_btn{color: #fff!important;background-color: #CCCCCC;cursor: default}/*灰色已经签到按钮*/ +.user_private_btn{color:#646464!important;background-color: #fff;border: 1px solid #989898}/*灰色私信、互相关注按钮*/ +.user_private_btn:hover{color: #B2B2B2!important;border: 1px solid #B2B2B2;} +.btn_auto{border-radius: 5px ;background: #fff;padding: 0px 18px;} + +/*可共用按钮,需添加padding或者边框*/ +.edu-default-btn{display: block;border-radius: 4px;} +a.edu-focus-btn{padding: 0px 10px;height: 30px;line-height: 30px;border: 1px solid #b2b2b2;color: #b2b2b2!important;} +a.edu-focus-btn:hover{border: 1px solid #666;color: #666!important;} + +a.edu-greenback-btn{padding: 0px 10px;background: #29BD8B;color: #fff!important;border: 1px solid #29BD8B;} +a.edu-greenline-btn{padding: 0px 10px;color: #29BD8B!important;border: 1px solid #29BD8B;} +a.edu-greenback-btn:hover{background-color: #28AC7F;} +a.edu-greenline-btn:hover{border:1px solid #28AC7F;color: #28AC7F!important;} + +a.edu-blueback-btn{padding: 0px 10px;background: #4CACFF;color: #fff!important;border: 1px solid #4CACFF;} +a.edu-blueline-btn{padding: 0px 10px;color: #4CACFF!important;border: 1px solid #4CACFF;} +a.edu-blueback-btn:hover{background-color: #459BE6;} +a.edu-blueline-btn:hover{border:1px solid #459BE6;color: #459BE6!important;} + +a.edu-orangeback-btn{background-color: #ff7500;color: #fff!important;border:1px solid #FF7500} +a.edu-orangeback-btn:hover{background-color: #F06200;} +a.edu-orangeline-btn{color: #FF7500!important;border:1px solid #FF7500} +a.edu-orangeline-btn:hover{color: #F06200!important;border:1px solid #F06200} + +a.edu-greyback-btn{padding: 0px 10px;background: #CCCCCC;color: #fff!important;border: 1px solid #CCCCCC;} +a.edu-greyback-btn:hover{background-color: #B2B2B2;} +a.edu-greyshallowline-btn{padding: 0px 10px;color: #999!important;border:1px solid #CFCFCF} +a.edu-greyline-btn{padding: 0px 10px;background: #fff;color: #666!important;border: 1px solid #eaeaea;line-height: 33px;height: 33px;} +a.edu-greyline-btn:hover,a.edu-greyshallowline-btn:hover{border:1px solid #B2B2B2;color:#B2B2B2!important;} + +/*新建页面的提交和取消按钮*/ +.defalutCancelbtn{display: block;border: 1px solid #CDCDCD;background-color: #fafafa;color: #999!important;width: 120px;text-align: center;height: 30px;line-height: 30px;border-radius: 2px; + width: 130px; + height: 40px; + background: rgba(77,124,254,0); + border: 1px solid rgba(76, 172, 255, 1); + border-radius: 4px; + line-height: 40px; + font-size: 16px; + font-family: MicrosoftYaHei; + font-weight: 400; + color: rgba(76,172,255,1) !important; +} +.defalutCancelbtn:hover{border:1px solid #B2B2B2;color: #B2B2B2!important;} +.defalutSubmitbtn{ + display: block;border: 1px solid #4CACFF;background-color: #4CACFF;color: #fff!important;width: 120px;text-align: center;line-height: 40px;border-radius: 2px; + width: 130px; + height: 40px; + background: rgba(76,172,255,1); + border-radius: 4px; + font-size: 16px; + font-family: MicrosoftYaHei; + font-weight: 400; + color: rgba(255,255,255,1); +} +.defalutSubmitbtn:hover{background-color: #459BE6;border: 1px solid #459BE6;} +/*-------------------------------------------公用按钮:以white-btn(或者edu-default-btn无padding)为基础,宽度和高度可以用padding填充,颜色用edu-color-btn,end-----------------------------------------*/ + +/*可点击按钮---蓝色*/ +.use_btn{background: #4cacff;color:#fff!important;} +a.task-btn-orange{background: #4CACFF!important; color:#fff!important;} +a:hover.task-btn-orange{background: #459BE6;} +/*可点击按钮---蓝色---蓝色边框*/ +.user_blue_btn{border: 1px solid #4CACFF;color: #4CACFF!important;} +/*可点击按钮---蓝色---蓝色背景*/ +a.user_bluebg_btn{background-color:#4CACFF;color: #fff;} +a.user_orangebg_btn{background-color:#FF6800;color: #fff;} +a.user_greybg_btn{background-color:#747A7F;color: #fff;} + + +.pointer{cursor: pointer} +.cdefault{cursor: default} + + +/*md编辑器恢复被覆盖样式*/ +.new_li li{ list-style-type: disc!important; } +.new_li ol li{ list-style-type: decimal!important; } +.new_li li{ margin-bottom: 0!important; } + +/*搜索框*/ +#pollingPanel{position: relative;width: 248px;height: 32px;} +#pollingPanel > input{width: 100%;height: 100%;border:1px solid #eaeaea;border-radius: 4px;padding: 0px 30px 0px 5px;box-sizing: border-box;background-color: #F4F4F4;} +#pollingPanel > input:focus{background-color: #fff;outline: none;} +#pollingPanel > a{position: absolute;right: 10px;top:0px;} + +/* 弹框 */ +.popupAll{width: 100%;height: 100%;position: fixed;z-index: 99998;background-color: rgba(5,16,26,0.6);left: 0;top:0;} +.task-popup{ width: 30%;background: #fff; border:1px solid #e8e8e8; border-radius:10px;} +.task-popup-text-center{ text-align: center; color: #333;} +.task-popup-title{ border-bottom: 1px solid #eee; padding:0px 15px;text-align: center;box-sizing: border-box;line-height: 70px;height: 70px; border-radius: 10px 10px 0px 0px;font-size: 16px;font-weight: bold; } +.task-popup-content{ padding:15px;} +.task-popup-submit{ margin:0px auto 15px; width: 160px;} +.task-popup-sure{ margin:0px auto 15px; width: 54px;} +.task-popup-right-sure{margin:0px auto 15px;text-align: center} +.task-popup-OK{ margin:15px auto; text-align: center} +.task-popup-bggrey{ background:#fff; color:#333;} +#closeIcon{position: absolute;color:#fefefe} +/* 模板弹框 20170407byLB */ +#task_popup_box{ background:#fff;padding-bottom:15px;-webkit-border-radius:5px;-moz-border-radius:5px;-o-border-radius:5px;border-radius:5px;box-shadow: 0px 2px 8px rgba(146, 153, 169, 0.5);} +.task_popup_top{background:#ccc;height:40px;-webkit-border-radius: 5px 5px 0px 0px;-moz-border-radius: 5px 5px 0px 0px;-o-border-radius: 5px 5px 0px 0px;border-radius: 5px 5px 0px 0px;} +.task_popup_top h3{ font-size:14px; color:#333; line-height:40px; padding-left:10px; } +a.task_icons_close{width:20px; height:20px;display:block;background: url(../images/popup/sy_icons_close.png) 0 0px no-repeat; margin:8px 10px 0 0;} +a:hover.task_icons_close{background: url(../images/popup/sy_icons_close.png) -40px 0px no-repeat;} +.task_popup_con{ padding:20px;} +/* 模板弹框 20161013byLB */ +#muban_popup_box{ background:#fff;padding-bottom:15px;-webkit-border-radius:5px;-moz-border-radius:5px;-o-border-radius:5px;border-radius:5px;box-shadow: 0px 2px 8px rgba(146, 153, 169, 0.5);} +.muban_popup_top{background:#3b94d6;height:40px;-webkit-border-radius: 5px 5px 0px 0px;-moz-border-radius: 5px 5px 0px 0px;-o-border-radius: 5px 5px 0px 0px;border-radius: 5px 5px 0px 0px;} +.muban_popup_top h3{ font-size:16px; color:#fff; font-weight:normal; line-height:40px; padding-left:10px; } +a.muban_icons_close{width:20px; height:20px;display:block;background: url(/images/sy/sy_icons_close.png) 0 0px no-repeat; margin:8px 10px 0 0;} +a:hover.muban_icons_close{background: url(/images/sy/sy_icons_close.png) -40px 0px no-repeat;} +#muban_popup_box input,#muban_pwopup_box select{ border:1px solid #c8c8c8; height: 28px; color: #888;} +#muban_popup_box label.pop_box_label{width: 100px; text-align: right; display: inline-block;} +input.radio-width90{ width: 90px; } +#muban_popup_box label.pop_box_label_l {width: 100px; text-align: left; display: inline-block;} + + +/*提示条*/ +.alert{ padding:10px;border: 1px solid transparent; text-align: center;} +.alert-blue{ background-color: #d9edf7;border-color: #bce8f1; color: #3a87ad;} +.alert-orange{ background-color: #fff9e9;border-color: #f6d0b1; color:#ee4a20;} +.task-close{padding: 0;cursor: pointer; background: transparent; border: 0; -webkit-appearance: none; font-size: 21px; font-weight: bold;line-height: 1; color: #000000; text-shadow: 0 1px 0 #ffffff; opacity: 0.3;} +.taskclose:hover{opacity: 0.5;} +.alert-red{background-color: #f2dede;border-color: #eed3d7; color: #d14f4d; text-align: left!important;} + +/*搜索的下拉列表*/ +.search_down_list a{display: block;height: 28px;line-height: 28px;padding: 0px 5px;overflow: hidden;white-space: nowrap;text-overflow: ellipsis;} +.search_down_list a:hover{background: #fafafa;} + +/*白色色块--类似个人主页-学习-里面的tab*/ +.white-panel{border-radius: 2px;width: 100%;margin: 0px auto;box-sizing: border-box;padding-left: 25px;} +.white-panel li{width: 118px;height: 48px;line-height: 48px;text-align: center;color: #05101A;float: left;cursor: pointer;border:1px solid #fff;} +.white-panel li a{display: block;width: 100%;} +.white-panel li.active{border-radius: 24px;border:1px solid #4CACFF;color:#4CACFF; } +.white-panel li.active a{color:#4CACFF; } + + +/* 个人主页翻页 */ +.pages_user_show a:hover,.pages_user_show li.active a{ background-color:#4CACFF; color:#fff;border: 1px solid #4CACFF;} +.pages_user_show a{border-radius: 2px; display: inline-block;border:1px solid #d1d1d1;background-color:#fff; color:#888; float:left;text-align:center; padding:2px 10px; line-height:1.9; margin: 0 5px;} +.pages_user_show li{float: left; list-style-type: none;} +.pages_user_show ul li{list-style-type: none !important;} +.pages_user_show ul li a{color:#888} +.page_GO{text-align:center;width: 80px;border-radius: 2px;margin-left: 5px;height: 33px;padding: 0px 5px;box-sizing: border-box;float: left;border:1px solid #d1d1d1;} +/* 小翻页 */ +.pages_little_show a:hover,.pages_little_show li.active a{ background-color:#4CACFF;; color:#fff!important;border:1px solid #4CACFF} +.pages_little_show a{ display: inline-block;border:1px solid #d1d1d1; color:#888!important; float:left;text-align:center; padding:3px 3px; line-height:1.9; margin: 0 2px; font-size: 12px;} +.pages_little_show li{float: left;} + +/*左右排版结构:参考个人主页的经验值和金币等页面*/ +.leftPanel{width: 22%;float: left;} +.leftPanel li.nav{padding:10px 0px;box-sizing: border-box;} +.leftPanel li.nav a{padding-left: 40px;display: block;width: 100%;box-sizing: border-box;border-left: 2px solid #fff;height: 24px;line-height: 24px;} +.leftPanel li.nav.active a{border-left: 2px solid #4CACFF;} +.rightPanel{width:78%;float: right;} + +/*个人主页,认证的圆圈*/ +.ringauto{width: 20px;height: 20px;line-height: 20px;text-align: center;border-radius: 50%;background-color: #F4FAFF;margin-right:5px;} + +/*-------------------个人主页:右侧提示区域--------------------------*/ +.-task-sidebar{position:fixed;width:40px;height:180px;right:0;bottom:30px;z-index: 10;} +.-task-sidebar div{height: 40px;line-height: 40px;box-sizing: border-box;width:40px;background:#4CACFF;color:#fff;font-size:20px;text-align:center;margin-bottom:5px;border-radius: 4px;} +.-task-sidebar div i{ color:#fff;} +.-task-sidebar div i:hover{color: #fff!important;} +.gotop{background-color: rgba(208,207,207,0.5)!important;padding: 0px!important;} +.-task-desc{background:#494949;width:90px;line-height: 36px;text-align: center; + position: absolute;color: #fff;font-size: 13px;z-index: 999999;opacity: 0;} +.-task-desc div{position: absolute;top:10px;right: -7px;height: 13px;} +.-task-desc div img{float: left} + + +/***** loading ******/ +/*****载入中******/ +#ajax-indicator { + position: absolute; /* fixed not supported by IE*/ + background-color:#eee; + border: 1px solid #bbb; + top:35%; + left:40%; + width:20%; + /*height:5%;*/ + font-weight:bold; + text-align:center; + padding:0.6em; + z-index:100000; + opacity: 0.5; +} + +html>body #ajax-indicator { position: fixed; } + +#ajax-indicator span{ + color:#fff; + color: #333333; + background-position: 0% 40%; + background-repeat: no-repeat; + background-image: url(/images/loading.gif); + padding-left: 26px; + vertical-align: bottom; + z-index:100000; +} +/*最新、最热*/ +.bestChoose.active{color: #4CACFF;} + + +/*实训路径选择实训*/ +.edu-filter-cir-grey{color: #666!important;width: auto;padding:0px 15px; font-size:14px !important; text-align: center;background: #f3f3f3;border-radius: 10px;display: block; height:25px; line-height:25px;} +.edu-filter-cir-grey:hover{background: #4cacff; color: #ffffff!important;} +.edu-filter-cir-grey.active{background: #4cacff; color: #ffffff!important; font-size: 14px !important;} + + +.with10{ width: 10%;box-sizing: border-box}.with12{ width: 12%;box-sizing: border-box}.with13{ width: 13%;box-sizing: border-box}.with14{ width: 14%;box-sizing: border-box}.with15{ width: 15%;box-sizing: border-box} +.with20{ width: 20%;box-sizing: border-box}.with22{ width: 22%;box-sizing: border-box}.with23{ width: 23%;box-sizing: border-box}.with25{ width: 25%;box-sizing: border-box} +.with30{ width: 30%;box-sizing: border-box}.with35{ width: 35%;box-sizing: border-box} +.with40{ width: 40%;box-sizing: border-box}.with45{ width: 45%;box-sizing: border-box}.with49{ width: 49%;box-sizing: border-box} +.with50{ width: 50%;box-sizing: border-box}.with55{ width: 55%;box-sizing: border-box} +.with52{ width: 52%;box-sizing: border-box}.with48{ width: 48%;box-sizing: border-box} +.with60{ width: 60%;box-sizing: border-box}.with65{ width: 65%;box-sizing: border-box} +.with70{ width: 70%;box-sizing: border-box}.with73{ width: 73%;box-sizing: border-box}.with75{ width: 75%;box-sizing: border-box}.with77{ width: 77%;box-sizing: border-box}.with78{ width: 78%;box-sizing: border-box} +.with80{ width: 80%;box-sizing: border-box}.with85{ width: 85%;box-sizing: border-box} +.with87{ width: 87%;box-sizing: border-box}.with90{ width: 90%;box-sizing: border-box}.with95{ width: 95%;box-sizing: border-box} +.with100{ width: 100%;} + +.transform-90{ + transform:rotate(-90deg); + -ms-transform:rotate(-90deg); /* IE 9 */ + -moz-transform:rotate(-90deg); /* Firefox */ + -webkit-transform:rotate(-90deg); /* Safari 和 Chrome */ + -o-transform:rotate(-90deg); +} + +.newplayVedio{ + font-size: 86px !important; +} +.icon-qizhi{ + font-size:30px !important; +} +.icon-31{ + font-size: 68px !important; +} + +/*置顶*/ +.btn-cir {display: inline-block;padding: 0px 5px;border-radius: 25px;line-height: 20px;font-size: 12px;} +.btn-cir-red{background:red;color: #fff; font-weight: normal;cursor: default} +.btn-cir-red:hover{background:red;color: #fff!important;} +.btn-cir-grey{background: #e1e1e1;color: #8c8c8c;font-weight: normal;border: 1px solid #e1e1e1} + +/*动态标签*/ +.edu-filter-btn{cursor: default;display: inline-block; padding:0px 9px; color:#666; background:#fff; text-align: center; border-radius:10px; font-size:12px; height:18px; line-height:18px;} +.edu-filter-btn-blue{border:1px solid #3498db; color:#3498db;} +.edu-filter-btn-orange{border:1px solid #ff6800; color:#ff6800!important;}/*提交中、评阅中*/ +.edu-filter-btn-red{border:1px solid #DD1717; color:#DD1717;}/*已截止、未开启补交*/ +.edu-filter-btn-green{border:1px solid #29BD8B; color:#29BD8B!important;}/*申诉中、已开启补交*/ +.edu-filter-btn-appeal{border:1px solid #FF4343; color:#FF4343!important;}/*申诉中*/ +.edu-filter-btn-yellow{border:1px solid #ef9324; color:#ef9324;} +.edu-filter-btn-danger{background:#d72e36; color:#fff;} +.edu-filter-btn-late{border:1px solid #3fbcff; color: #3fbcff;} +.edu-filter-btn-no-late{border:1px solid #747A7F;color: #747A7F;}/*未发布*/ +.edu-filter-btn-end{border: 1px solid #999999;color: #999999;}/*已结束*/ +/*动态按钮*/ +.edu-activity-orange{background-color:#FF6800;color:#fff!important;cursor: pointer;border: 1px solid #ff6800;}/*修改作品、补交作品、立即补交、补交附件*/ +.edu-activity-blue{background-color:#4CACFF;color:#fff!important;cursor: pointer;border: 1px solid #4CACFF;}/*开始实战、开始答题、继续答题、继续实战、提交作品*/ +.edu-activity-grey{background-color:#747A7F;color:#fff!important;cursor: pointer;border: 1px solid #747A7F;}/*匿评作品*/ +.edu-activity-green{background-color:#29BD8B;color:#fff!important;cursor: pointer;border: 1px solid #29BD8B;}/*查看作品、查看实战、查看答题*/ +.edu-activity-light-grey{background-color:#cbcbcb;color:#fff!important;cursor: pointer;border: 1px solid #cbcbcb;}/*取消关联*/ +/*课堂设置页面*/ +.course-ul-nav{width: 100%;border-bottom: 1px solid #EBEBEB;} +.course-ul-nav a{display: inline-block;padding: 20px;font-size: 18px;text-align: center;width: 94px;position: relative} +.course-ul-nav a.active,.course-ul-nav a:hover{color: #4CACFF;} +.course-ul-nav a.active:after{content: '';width: 94px;left: 20px;bottom: 0px;height: 2px;background-color: #4CACFF;position: absolute} + +/*-----下拉框--------*/ +.down-select{display:none;position: absolute;z-index: 10;left: 0px;width: 100%;overflow-y: auto;background: #fff;max-height: 200px;border:1px solid #eee;} +.down-select p{height: 35px;line-height: 35px;padding-left: 5px;cursor: pointer} +.down-select p:hover{background: #f3f4f6} + + + +.paddingLeft28{padding-left:28px;} + +.ant-modal-header{ + border-radius: 10px; +} + +.color656565{ + color:#656565; +} + +.colorC8161D{ + color:#C8161D; +} + +.bor-reds{ + border:1px solid #FF0000!important; + border-radius: 4px; + border-top-left-radius: 4px; + border-top-right-radius: 4px; + border-bottom-right-radius: 4px; + border-bottom-left-radius: 4px; +} +.editormd-dialog-footer{ + padding: 0px; +} +.educontentysl{width: 1250px;margin:0px auto;box-sizing: border-box}/*中间部分宽度固定为1200*/ From 8782c4b15d9f1e207fa864ddf77755e127c429e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E6=A0=91=E6=98=8E?= <775174143@qq.com> Date: Tue, 25 Jun 2019 11:33:35 +0800 Subject: [PATCH 07/18] =?UTF-8?q?=20=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../courses/coursesPublic/Associationmodel.js | 83 ++++++++++++------- .../react/src/modules/courses/css/Courses.css | 4 +- .../tasks/GraduationTasksSubmitedit.js | 20 ++--- .../tasks/GraduationTasksSubmitnew.js | 15 ++-- .../graduation/tasks/GraduationTasksnew.js | 8 +- .../tasks/GraduationTaskssettinglist.js | 21 ++--- 6 files changed, 85 insertions(+), 66 deletions(-) diff --git a/public/react/src/modules/courses/coursesPublic/Associationmodel.js b/public/react/src/modules/courses/coursesPublic/Associationmodel.js index 1f10caa5f..9af795931 100644 --- a/public/react/src/modules/courses/coursesPublic/Associationmodel.js +++ b/public/react/src/modules/courses/coursesPublic/Associationmodel.js @@ -22,6 +22,7 @@ class Associationmodel extends Component{ projects:undefined, projectvalue:undefined, projectvaluetype:false, + searchtypes:false } } @@ -38,10 +39,10 @@ class Associationmodel extends Component{ search: search } }).then((result)=>{ - console.log(result) if(result.status===200){ this.setState({ - projects:result.data.projects + projects:result.data.projects, + searchtypes:search===undefined&&result.data.projects.length==0?true:false }) } @@ -58,13 +59,11 @@ class Associationmodel extends Component{ goback=()=>{ - this.props.funlist() - this.props.Cancel() - console.log(this.props) this.setState({ Modalstype:false, - }) + this.props.funlist() + this.props.Cancel() } @@ -80,13 +79,13 @@ class Associationmodel extends Component{ if(result.status===200){ if(result.data.status===0){ - this.setState({ - Modalstype:true, - Modalstopval:result.data.message, - ModalSave:this.goback, - loadtype:true - }) - this.props.funlist() + // this.setState({ + // Modalstype:true, + // Modalstopval:result.data.message, + // ModalSave:this.goback, + // loadtype:true + // }) + this.goback } } @@ -96,7 +95,9 @@ class Associationmodel extends Component{ }) } Saves=()=>{ - let {projectvalue}=this.state; + let {projectvalue,searchtypes}=this.state + if(searchtypes===false){ + if(projectvalue===undefined||projectvalue===""){ this.setState({ projectvaluetype:true, @@ -114,30 +115,26 @@ class Associationmodel extends Component{ project_id: projectvalue } }).then((result)=>{ - if(result.status===200){ - if(result.data.is_relate===false){ - this.setSaves() - }else{ - this.setState({ Modalstype:true, Modalstopval:"该项目已被"+result.data.relate_user+"关联", ModalSave:this.ModalSave, loadtype:true }) - } - } - }).catch((error)=>{ console.log(error) }) - } + }else{ + this.goback() + } + + } onChange = (e) => { @@ -190,7 +187,7 @@ class Associationmodel extends Component{ destroyOnClose={true} >
-

+ {this.state.searchtypes===false?

-

- -
+

:""} + + {this.state.searchtypes===false?
{projects&&projects.map((item,key)=>{ return(
-
{item.project_name}
+
{item.project_name}
) })}
-
+
: + +
+ +
+ 你当前尚未管理任何项目,请先 创建项目 再关联 +
+
} {projectvaluetype===true?请先选择项目:""} -
+ diff --git a/public/react/src/modules/courses/css/Courses.css b/public/react/src/modules/courses/css/Courses.css index a5c42cd69..eca0c53d5 100644 --- a/public/react/src/modules/courses/css/Courses.css +++ b/public/react/src/modules/courses/css/Courses.css @@ -1314,8 +1314,8 @@ a.white-btn.use_scope-btn:hover{ .Association{ width: 100%; - height: 400px; - padding: 20px; + height: 240px; + margin-top: 14px; overflow: auto; } diff --git a/public/react/src/modules/courses/graduation/tasks/GraduationTasksSubmitedit.js b/public/react/src/modules/courses/graduation/tasks/GraduationTasksSubmitedit.js index a36917df2..a4202b6da 100644 --- a/public/react/src/modules/courses/graduation/tasks/GraduationTasksSubmitedit.js +++ b/public/react/src/modules/courses/graduation/tasks/GraduationTasksSubmitedit.js @@ -80,7 +80,8 @@ class GraduationTasksSubmitedit extends Component{ let workId=this.props.match.params.work_Id; let {workslist}=this.state let task_id=workslist&&workslist.task_id; - window.location.href="/courses/"+coursesId+"/graduation_tasks/"+task_id+"/"+workId+"/works/edit"; + // window.location.href="/courses/"+coursesId+"/graduation_tasks/"+task_id+"/"+workId+"/works/edit"; + window.location.href="/courses/"+coursesId+"/graduation_tasks/"+workId+"/appraise"; } handleSubmit=(e) => { @@ -248,7 +249,7 @@ class GraduationTasksSubmitedit extends Component{ onAttachmentRemove = (file) => { let {attachments,fileList}=this.state; - const url = `/attachments/${file.uid===undefined?file.id:file.uid}.json` + const url = `/attachments/${file}.json` axios.delete(url, { }) .then((response) => { @@ -592,7 +593,9 @@ class GraduationTasksSubmitedit extends Component{ {workslist&&workslist.task_type===1?"": -
+
@@ -653,9 +657,7 @@ class GraduationTasksSubmitedit extends Component{ }) } disabled={item.commit_status===true?true:false} className="fl "> - -
{item.user_name}
-
+
{item.user_name}
{item.group_name}
{item.student_id}
{item.commit_status===false?已提交 :""}
@@ -680,12 +682,10 @@ class GraduationTasksSubmitedit extends Component{ height: '30px', display:item.user_name===undefined?"none":"" }}> - -
{item.user_name}
-
+
{item.user_name}
{item.group_name}
{item.student_id}
- {key>0?
this.delecttask_status(item.user_id)}>
:""} + {key>0?
this.delecttask_status(item.user_id)}>
:""}
) })} diff --git a/public/react/src/modules/courses/graduation/tasks/GraduationTasksSubmitnew.js b/public/react/src/modules/courses/graduation/tasks/GraduationTasksSubmitnew.js index b68458e3f..52ac6ae61 100644 --- a/public/react/src/modules/courses/graduation/tasks/GraduationTasksSubmitnew.js +++ b/public/react/src/modules/courses/graduation/tasks/GraduationTasksSubmitnew.js @@ -550,7 +550,9 @@ render(){ {workslist&&workslist.task_type===1?"": -
+
{memberslist===undefined?"":memberslist.members.length===0? @@ -626,9 +629,7 @@ render(){ }) } disabled={item.commit_status===true?true:false} className="fl "> - -
{item.user_name}
-
+
{item.user_name}
{item.group_name}
{item.student_id}
{item.commit_status===true?已提交 :""}
@@ -657,12 +658,10 @@ render(){ height: '30px', display:item.user_name===undefined?"none":"" }}> - -
{item.user_name}
-
+
{item.user_name}
{item.group_name}
{item.student_id}
- {key>0?
this.delecttask_status(item.user_id)}>
:""} + {key>0?
this.delecttask_status(item.user_id)}>
:""}
) diff --git a/public/react/src/modules/courses/graduation/tasks/GraduationTasksnew.js b/public/react/src/modules/courses/graduation/tasks/GraduationTasksnew.js index ccbaa8646..fec4248df 100644 --- a/public/react/src/modules/courses/graduation/tasks/GraduationTasksnew.js +++ b/public/react/src/modules/courses/graduation/tasks/GraduationTasksnew.js @@ -309,12 +309,10 @@ class GraduationTasksnew extends Component { (选择确认后,无法修改)
- + {getFieldDecorator('name', { - rules: [{required: true, message: "不能为空"}], - })()} + rules: [{ required: true, message: "请输入标题" }], + })()}
diff --git a/public/react/src/modules/courses/graduation/tasks/GraduationTaskssettinglist.js b/public/react/src/modules/courses/graduation/tasks/GraduationTaskssettinglist.js index 0d932cc40..5bf89a3ce 100644 --- a/public/react/src/modules/courses/graduation/tasks/GraduationTaskssettinglist.js +++ b/public/react/src/modules/courses/graduation/tasks/GraduationTaskssettinglist.js @@ -560,6 +560,7 @@ class GraduationTaskssettinglist extends Component{ AssociationItems=()=>{ + this.setState({ visibles:true }) @@ -1264,8 +1265,6 @@ class GraduationTaskssettinglist extends Component{ } } - - console.log(columns) return( @@ -1346,13 +1345,15 @@ class GraduationTaskssettinglist extends Component{ />:""} {/*关联项目*/} - {visibles===true?this.Cancel()} taskid={taskslistdata&&taskslistdata.task_id} - funlist={this.searchValue()} - />:""} + funlist={()=>this.searchValue()} + /> + :""} {taskslistdata&&taskslistdata? // 教师列表 @@ -1572,13 +1573,13 @@ class GraduationTaskssettinglist extends Component{ {taskslistdata&&taskslistdata.uncommit_count} 未交 - + {taskslistdata&&taskslistdata.left_time.status===null?"": {taskslistdata&&taskslistdata.left_time.status} : {taskslistdata&&taskslistdata.left_time.time} - + }
:""} @@ -1833,13 +1834,13 @@ class GraduationTaskssettinglist extends Component{ {taskslistdata&&taskslistdata.uncommit_count} 未交 - + {taskslistdata&&taskslistdata.left_time.status===null?"": {taskslistdata&&taskslistdata.left_time.status} : {taskslistdata&&taskslistdata.left_time.time} - + }
:""} From 7645300243db26eb3e5653e0a4e20beb9aed40fc Mon Sep 17 00:00:00 2001 From: hjm <63528605@qq.com> Date: Tue, 25 Jun 2019 14:06:13 +0800 Subject: [PATCH 08/18] =?UTF-8?q?=E7=AB=8B=E5=8D=B3=E8=AE=A4=E8=AF=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/react/src/context/TPIContextProvider.js | 9 +++++++-- .../src/modules/page/main/CodeEvaluateView.js | 16 ++++++++++------ 2 files changed, 17 insertions(+), 8 deletions(-) diff --git a/public/react/src/context/TPIContextProvider.js b/public/react/src/context/TPIContextProvider.js index 60d63a1bd..da8ddc724 100644 --- a/public/react/src/context/TPIContextProvider.js +++ b/public/react/src/context/TPIContextProvider.js @@ -462,7 +462,7 @@ pop_box_new(htmlvalue, 480, 182); // myshixun_manager power is_teacher resData.power = 0 resData.myshixun_manager = false - resData.is_teacher = false + // resData.is_teacher = false if (resData.user.identity === EDU_ADMIN) { resData.power = 1 @@ -514,6 +514,10 @@ pop_box_new(htmlvalue, 480, 182); currentGamePassed: false, // 切换game时重置passed字段 }) + var data = {"st":0,"discusses_count":12,"game_count":6,"record_onsume_time":5.303,"prev_game":"q67plhfjaogy","next_game":"lfrwm2ohiate","praise_count":0,"user_praise":false,"time_limit":180,"tomcat_url":"http://47.98.226.234","is_teacher":true,"myshixun_manager":false,"game":{"id":1964918,"myshixun_id":510423,"user_id":73892,"created_at":"2019-06-24T11:22:58.000+08:00","updated_at":"2019-06-25T11:15:48.000+08:00","status":0,"final_score":0,"challenge_id":573,"open_time":"2019-06-24T11:22:58.000+08:00","identifier":"yrsxolqk6zcp","answer_open":0,"end_time":null,"retry_status":0,"resubmit_identifier":null,"test_sets_view":false,"picture_path":null,"accuracy":null,"modify_time":null,"star":0,"cost_time":3966,"evaluate_count":1,"answer_deduction":0},"challenge":{"id":573,"shixun_id":186,"subject":"应用模型做预测","position":4,"task_pass":"####本关任务\r\n本关卡学习如何应用机器学习模型来做预测。\r\n\r\n####相关知识\r\n在前一关卡中,我们一起探讨了机器学习的一般原理,并建立了一个非常简单的电影评分模型Model 0:\r\n\r\n评分 = **大众对电影的平均评分** + **用户个人的给分偏好** + **电影的评分偏好**\r\n\r\n针对这个模型,我们设计了一个非常朴素的预测模型Baseline,直接从数据集中统计得到上述三个参数的值。\r\n\r\n在本关卡中,我们将应用这个模型对用户和电影的评分做出预测。\r\n\r\n####编程要求\r\n回顾Model 0的预测评分公式:\r\n```latex\r\nf(u,m)=g+\\alpha(u)+\\beta(m)\r\n```\r\n\r\n我们的Baseline模型得到了$$g$$、$$\\alpha$$和$$\\beta$$三种参数,下面我们实现predict函数,来对测试数据集中未知的用户电影评分进行预测,需要填充的代码块如下:\r\n```python\r\n# -*- coding:utf-8 -*-\r\n\r\ndef predict(g, alpha, beta, test_data):\r\n\t\"\"\"预测用户对电影的评分\r\n\t参数:\r\n\t\tg - 浮点数,模型参数平均电影评分\r\n\t\talpha - 浮点数组,用户评分偏差参数数组\r\n\t\tbeta - 浮点数组,电影评分偏差参数数组\r\n\t\ttest_data - Pandas的DataFrame对象,有两列'user','movie',是测试数据集\r\n\t返回值:\r\n\t\tret - 浮点数数组,预测的评分数组,举例ret[10],表示第10组用户和电影对的评分值\r\n\t\"\"\"\t\r\n\tret = []\r\n\tN = len(alpha)\r\n\tM = len(beta)\r\n\t\r\n\t# 请在此添加实现代码\r\n\t#********** Begin *********#\r\n\t\r\n\t#********** End *********#\r\n\t\r\n\treturn ret\r\n```\r\n\r\n####本关任务\r\n本关卡的测试数据来自内置测试文件,平台将比对您所编写函数的预测评分与正确评分,只有所有数据全部计算正确才能进入下一关。","score":500,"path":"src/step4/doprediction.py","st":0,"web_route":null,"modify_time":null},"shixun":{"id":186,"name":"理解机器学习基本概念:从电影评分预测讲起","user_id":24758,"gpid":3676,"visits":622,"created_at":"2017-08-25T18:07:41.000+08:00","updated_at":"2019-06-02T11:05:20.000+08:00","status":2,"language":"MachineLearning","authentication":false,"identifier":"58DRWG63","trainee":3,"major_id":635,"webssh":0,"homepage_show":false,"hidden":false,"fork_from":null,"can_copy":true,"modify_time":"2017-09-29T21:42:16.000+08:00","reset_time":"2017-09-29T21:42:16.000+08:00","publish_time":"2017-09-29T10:58:13.000+08:00","closer_id":null,"end_time":null,"git_url":"educoder/58drwg63","vnc":false,"myshixuns_count":318,"challenges_count":6,"use_scope":0,"mirror_script_id":0,"image_text":null,"code_hidden":false,"task_pass":false,"exec_time":180,"test_set_permission":true,"sigle_training":false,"hide_code":false,"multi_webssh":false,"excute_time":null,"repo_name":"educoder/58drwg63","averge_star":4.9,"opening_time":null,"users_count":10,"forbid_copy":false,"pod_life":0},"myshixun":{"id":510423,"shixun_id":186,"is_public":true,"user_id":73892,"gpid":null,"created_at":"2019-06-24T11:22:55.000+08:00","updated_at":"2019-06-24T13:56:40.000+08:00","status":0,"identifier":"7pkwxim9eh","commit_id":"ff7c6652fdfdf62eaa1316d39400ebdbd6cb81fb","modify_time":"2017-09-29T21:42:16.000+08:00","reset_time":"2017-09-29T21:42:16.000+08:00","system_tip":false,"git_url":null,"onclick_time":"2019-06-24T11:22:55.000+08:00","repo_name":"p35840769/7pkwxim9eh20190624112255"},"user":{"user_id":73892,"login":"p35840769","name":"韩半安","grade":6895,"image_url":"avatars/User/b","school":"国防科技大学","identity":6},"tpm_modified":false,"tpm_cases_modified":false,"mirror_name":["MachineLearning"],"has_answer":true,"test_sets":[{"is_public":true,"result":false,"input":"771 253 360 99 8 759 976 387 873 829 437 53 854 148 447 179 246 810 158 653 583 929 691 892 263 230 637 221 7 652 127 965 767","output":"3.577 -0.329 2.648 4.727 4.351 2.616 3.496 3.059 3.470 3.166 3.064 2.716 3.712 4.003 3.064 3.462 4.004 2.067 3.860 0.121 3.807 3.735 4.230 3.137 4.431 2.468 4.018 5.218 4.351 4.121 4.050 4.587 3.777","actual_output":"Traceback (most recent call last):\r\n File \"src/step4/main.py\", line 3, in \u003cmodule\u003e\r\n from doprediction import predict\r\nImportError: cannot import name 'predict'\r\n","compile_success":1},{"is_public":false,"result":false,"compile_success":1}],"allowed_unlock":true,"last_compile_output":"共有2组测试集,其中有2组测试结果不匹配。详情如下:","test_sets_count":2,"sets_error_count":2} + this._handleResponseData(data) + return + axios.get(url, { // https://stackoverflow.com/questions/48861290/the-value-of-the-access-control-allow-origin-header-in-the-response-must-not-b // withCredentials: true, @@ -835,7 +839,8 @@ pop_box_new(htmlvalue, 480, 182); {this.state.gDialogContentText} - + {/* mb20 加了有样式问题 */} + { this.isSingleButton ?
{`已经过职业认证的教师可以免金币查看隐藏测试集。`}
{`解锁本关所有测试集需要扣除${challenge.score*5}金币,确定要解锁吗?`}
+
this.goToCertification()} style={{color: '#4CACFF', cursor: 'pointer', 'text-decoration': 'underline' + , 'margin-top': '12px'}}>立即认证
: `解锁本关所有测试集需要扣除${challenge.score*5}金币,确定要解锁吗?` const moreButtonsRender = () => { - return (power === 0 && user.is_teacher) ? ( - - ) : '' + return '' + // ${this.props.classes.button} + // return (power === 0 && user.is_teacher) ? ( + // + // ) : '' } testSetsComponentArray.push(
From 24fe9413f8d963f19f6365394d83b7afc4c32431 Mon Sep 17 00:00:00 2001 From: hjm <63528605@qq.com> Date: Tue, 25 Jun 2019 14:11:02 +0800 Subject: [PATCH 09/18] test --- public/react/src/context/TPIContextProvider.js | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/public/react/src/context/TPIContextProvider.js b/public/react/src/context/TPIContextProvider.js index da8ddc724..6db04f1b8 100644 --- a/public/react/src/context/TPIContextProvider.js +++ b/public/react/src/context/TPIContextProvider.js @@ -513,10 +513,11 @@ pop_box_new(htmlvalue, 480, 182); loading: true, currentGamePassed: false, // 切换game时重置passed字段 }) - - var data = {"st":0,"discusses_count":12,"game_count":6,"record_onsume_time":5.303,"prev_game":"q67plhfjaogy","next_game":"lfrwm2ohiate","praise_count":0,"user_praise":false,"time_limit":180,"tomcat_url":"http://47.98.226.234","is_teacher":true,"myshixun_manager":false,"game":{"id":1964918,"myshixun_id":510423,"user_id":73892,"created_at":"2019-06-24T11:22:58.000+08:00","updated_at":"2019-06-25T11:15:48.000+08:00","status":0,"final_score":0,"challenge_id":573,"open_time":"2019-06-24T11:22:58.000+08:00","identifier":"yrsxolqk6zcp","answer_open":0,"end_time":null,"retry_status":0,"resubmit_identifier":null,"test_sets_view":false,"picture_path":null,"accuracy":null,"modify_time":null,"star":0,"cost_time":3966,"evaluate_count":1,"answer_deduction":0},"challenge":{"id":573,"shixun_id":186,"subject":"应用模型做预测","position":4,"task_pass":"####本关任务\r\n本关卡学习如何应用机器学习模型来做预测。\r\n\r\n####相关知识\r\n在前一关卡中,我们一起探讨了机器学习的一般原理,并建立了一个非常简单的电影评分模型Model 0:\r\n\r\n评分 = **大众对电影的平均评分** + **用户个人的给分偏好** + **电影的评分偏好**\r\n\r\n针对这个模型,我们设计了一个非常朴素的预测模型Baseline,直接从数据集中统计得到上述三个参数的值。\r\n\r\n在本关卡中,我们将应用这个模型对用户和电影的评分做出预测。\r\n\r\n####编程要求\r\n回顾Model 0的预测评分公式:\r\n```latex\r\nf(u,m)=g+\\alpha(u)+\\beta(m)\r\n```\r\n\r\n我们的Baseline模型得到了$$g$$、$$\\alpha$$和$$\\beta$$三种参数,下面我们实现predict函数,来对测试数据集中未知的用户电影评分进行预测,需要填充的代码块如下:\r\n```python\r\n# -*- coding:utf-8 -*-\r\n\r\ndef predict(g, alpha, beta, test_data):\r\n\t\"\"\"预测用户对电影的评分\r\n\t参数:\r\n\t\tg - 浮点数,模型参数平均电影评分\r\n\t\talpha - 浮点数组,用户评分偏差参数数组\r\n\t\tbeta - 浮点数组,电影评分偏差参数数组\r\n\t\ttest_data - Pandas的DataFrame对象,有两列'user','movie',是测试数据集\r\n\t返回值:\r\n\t\tret - 浮点数数组,预测的评分数组,举例ret[10],表示第10组用户和电影对的评分值\r\n\t\"\"\"\t\r\n\tret = []\r\n\tN = len(alpha)\r\n\tM = len(beta)\r\n\t\r\n\t# 请在此添加实现代码\r\n\t#********** Begin *********#\r\n\t\r\n\t#********** End *********#\r\n\t\r\n\treturn ret\r\n```\r\n\r\n####本关任务\r\n本关卡的测试数据来自内置测试文件,平台将比对您所编写函数的预测评分与正确评分,只有所有数据全部计算正确才能进入下一关。","score":500,"path":"src/step4/doprediction.py","st":0,"web_route":null,"modify_time":null},"shixun":{"id":186,"name":"理解机器学习基本概念:从电影评分预测讲起","user_id":24758,"gpid":3676,"visits":622,"created_at":"2017-08-25T18:07:41.000+08:00","updated_at":"2019-06-02T11:05:20.000+08:00","status":2,"language":"MachineLearning","authentication":false,"identifier":"58DRWG63","trainee":3,"major_id":635,"webssh":0,"homepage_show":false,"hidden":false,"fork_from":null,"can_copy":true,"modify_time":"2017-09-29T21:42:16.000+08:00","reset_time":"2017-09-29T21:42:16.000+08:00","publish_time":"2017-09-29T10:58:13.000+08:00","closer_id":null,"end_time":null,"git_url":"educoder/58drwg63","vnc":false,"myshixuns_count":318,"challenges_count":6,"use_scope":0,"mirror_script_id":0,"image_text":null,"code_hidden":false,"task_pass":false,"exec_time":180,"test_set_permission":true,"sigle_training":false,"hide_code":false,"multi_webssh":false,"excute_time":null,"repo_name":"educoder/58drwg63","averge_star":4.9,"opening_time":null,"users_count":10,"forbid_copy":false,"pod_life":0},"myshixun":{"id":510423,"shixun_id":186,"is_public":true,"user_id":73892,"gpid":null,"created_at":"2019-06-24T11:22:55.000+08:00","updated_at":"2019-06-24T13:56:40.000+08:00","status":0,"identifier":"7pkwxim9eh","commit_id":"ff7c6652fdfdf62eaa1316d39400ebdbd6cb81fb","modify_time":"2017-09-29T21:42:16.000+08:00","reset_time":"2017-09-29T21:42:16.000+08:00","system_tip":false,"git_url":null,"onclick_time":"2019-06-24T11:22:55.000+08:00","repo_name":"p35840769/7pkwxim9eh20190624112255"},"user":{"user_id":73892,"login":"p35840769","name":"韩半安","grade":6895,"image_url":"avatars/User/b","school":"国防科技大学","identity":6},"tpm_modified":false,"tpm_cases_modified":false,"mirror_name":["MachineLearning"],"has_answer":true,"test_sets":[{"is_public":true,"result":false,"input":"771 253 360 99 8 759 976 387 873 829 437 53 854 148 447 179 246 810 158 653 583 929 691 892 263 230 637 221 7 652 127 965 767","output":"3.577 -0.329 2.648 4.727 4.351 2.616 3.496 3.059 3.470 3.166 3.064 2.716 3.712 4.003 3.064 3.462 4.004 2.067 3.860 0.121 3.807 3.735 4.230 3.137 4.431 2.468 4.018 5.218 4.351 4.121 4.050 4.587 3.777","actual_output":"Traceback (most recent call last):\r\n File \"src/step4/main.py\", line 3, in \u003cmodule\u003e\r\n from doprediction import predict\r\nImportError: cannot import name 'predict'\r\n","compile_success":1},{"is_public":false,"result":false,"compile_success":1}],"allowed_unlock":true,"last_compile_output":"共有2组测试集,其中有2组测试结果不匹配。详情如下:","test_sets_count":2,"sets_error_count":2} - this._handleResponseData(data) - return + + // test + // var data = {"st":0,"discusses_count":12,"game_count":6,"record_onsume_time":5.303,"prev_game":"q67plhfjaogy","next_game":"lfrwm2ohiate","praise_count":0,"user_praise":false,"time_limit":180,"tomcat_url":"http://47.98.226.234","is_teacher":true,"myshixun_manager":false,"game":{"id":1964918,"myshixun_id":510423,"user_id":73892,"created_at":"2019-06-24T11:22:58.000+08:00","updated_at":"2019-06-25T11:15:48.000+08:00","status":0,"final_score":0,"challenge_id":573,"open_time":"2019-06-24T11:22:58.000+08:00","identifier":"yrsxolqk6zcp","answer_open":0,"end_time":null,"retry_status":0,"resubmit_identifier":null,"test_sets_view":false,"picture_path":null,"accuracy":null,"modify_time":null,"star":0,"cost_time":3966,"evaluate_count":1,"answer_deduction":0},"challenge":{"id":573,"shixun_id":186,"subject":"应用模型做预测","position":4,"task_pass":"####本关任务\r\n本关卡学习如何应用机器学习模型来做预测。\r\n\r\n####相关知识\r\n在前一关卡中,我们一起探讨了机器学习的一般原理,并建立了一个非常简单的电影评分模型Model 0:\r\n\r\n评分 = **大众对电影的平均评分** + **用户个人的给分偏好** + **电影的评分偏好**\r\n\r\n针对这个模型,我们设计了一个非常朴素的预测模型Baseline,直接从数据集中统计得到上述三个参数的值。\r\n\r\n在本关卡中,我们将应用这个模型对用户和电影的评分做出预测。\r\n\r\n####编程要求\r\n回顾Model 0的预测评分公式:\r\n```latex\r\nf(u,m)=g+\\alpha(u)+\\beta(m)\r\n```\r\n\r\n我们的Baseline模型得到了$$g$$、$$\\alpha$$和$$\\beta$$三种参数,下面我们实现predict函数,来对测试数据集中未知的用户电影评分进行预测,需要填充的代码块如下:\r\n```python\r\n# -*- coding:utf-8 -*-\r\n\r\ndef predict(g, alpha, beta, test_data):\r\n\t\"\"\"预测用户对电影的评分\r\n\t参数:\r\n\t\tg - 浮点数,模型参数平均电影评分\r\n\t\talpha - 浮点数组,用户评分偏差参数数组\r\n\t\tbeta - 浮点数组,电影评分偏差参数数组\r\n\t\ttest_data - Pandas的DataFrame对象,有两列'user','movie',是测试数据集\r\n\t返回值:\r\n\t\tret - 浮点数数组,预测的评分数组,举例ret[10],表示第10组用户和电影对的评分值\r\n\t\"\"\"\t\r\n\tret = []\r\n\tN = len(alpha)\r\n\tM = len(beta)\r\n\t\r\n\t# 请在此添加实现代码\r\n\t#********** Begin *********#\r\n\t\r\n\t#********** End *********#\r\n\t\r\n\treturn ret\r\n```\r\n\r\n####本关任务\r\n本关卡的测试数据来自内置测试文件,平台将比对您所编写函数的预测评分与正确评分,只有所有数据全部计算正确才能进入下一关。","score":500,"path":"src/step4/doprediction.py","st":0,"web_route":null,"modify_time":null},"shixun":{"id":186,"name":"理解机器学习基本概念:从电影评分预测讲起","user_id":24758,"gpid":3676,"visits":622,"created_at":"2017-08-25T18:07:41.000+08:00","updated_at":"2019-06-02T11:05:20.000+08:00","status":2,"language":"MachineLearning","authentication":false,"identifier":"58DRWG63","trainee":3,"major_id":635,"webssh":0,"homepage_show":false,"hidden":false,"fork_from":null,"can_copy":true,"modify_time":"2017-09-29T21:42:16.000+08:00","reset_time":"2017-09-29T21:42:16.000+08:00","publish_time":"2017-09-29T10:58:13.000+08:00","closer_id":null,"end_time":null,"git_url":"educoder/58drwg63","vnc":false,"myshixuns_count":318,"challenges_count":6,"use_scope":0,"mirror_script_id":0,"image_text":null,"code_hidden":false,"task_pass":false,"exec_time":180,"test_set_permission":true,"sigle_training":false,"hide_code":false,"multi_webssh":false,"excute_time":null,"repo_name":"educoder/58drwg63","averge_star":4.9,"opening_time":null,"users_count":10,"forbid_copy":false,"pod_life":0},"myshixun":{"id":510423,"shixun_id":186,"is_public":true,"user_id":73892,"gpid":null,"created_at":"2019-06-24T11:22:55.000+08:00","updated_at":"2019-06-24T13:56:40.000+08:00","status":0,"identifier":"7pkwxim9eh","commit_id":"ff7c6652fdfdf62eaa1316d39400ebdbd6cb81fb","modify_time":"2017-09-29T21:42:16.000+08:00","reset_time":"2017-09-29T21:42:16.000+08:00","system_tip":false,"git_url":null,"onclick_time":"2019-06-24T11:22:55.000+08:00","repo_name":"p35840769/7pkwxim9eh20190624112255"},"user":{"user_id":73892,"login":"p35840769","name":"韩半安","grade":6895,"image_url":"avatars/User/b","school":"国防科技大学","identity":6},"tpm_modified":false,"tpm_cases_modified":false,"mirror_name":["MachineLearning"],"has_answer":true,"test_sets":[{"is_public":true,"result":false,"input":"771 253 360 99 8 759 976 387 873 829 437 53 854 148 447 179 246 810 158 653 583 929 691 892 263 230 637 221 7 652 127 965 767","output":"3.577 -0.329 2.648 4.727 4.351 2.616 3.496 3.059 3.470 3.166 3.064 2.716 3.712 4.003 3.064 3.462 4.004 2.067 3.860 0.121 3.807 3.735 4.230 3.137 4.431 2.468 4.018 5.218 4.351 4.121 4.050 4.587 3.777","actual_output":"Traceback (most recent call last):\r\n File \"src/step4/main.py\", line 3, in \u003cmodule\u003e\r\n from doprediction import predict\r\nImportError: cannot import name 'predict'\r\n","compile_success":1},{"is_public":false,"result":false,"compile_success":1}],"allowed_unlock":true,"last_compile_output":"共有2组测试集,其中有2组测试结果不匹配。详情如下:","test_sets_count":2,"sets_error_count":2} + // this._handleResponseData(data) + // return axios.get(url, { // https://stackoverflow.com/questions/48861290/the-value-of-the-access-control-allow-origin-header-in-the-response-must-not-b From c584a3385b491eedf17b88e3228341bc208fb79f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E6=A0=91=E6=9E=97?= <904079904@qq.com> Date: Tue, 25 Jun 2019 14:13:30 +0800 Subject: [PATCH 10/18] =?UTF-8?q?=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/modules/courses/shixunHomework/Listofworks.js | 10 +++++----- .../shixunHomework/TraineetraininginformationModal.js | 8 ++++---- .../courses/shixunHomework/Trainingjobsetting.js | 10 ++++++---- public/react/src/modules/login/Trialapplication.js | 2 +- public/react/src/modules/tpm/NewHeader.js | 2 +- 5 files changed, 17 insertions(+), 15 deletions(-) diff --git a/public/react/src/modules/courses/shixunHomework/Listofworks.js b/public/react/src/modules/courses/shixunHomework/Listofworks.js index 2a636aa70..2200c8e77 100644 --- a/public/react/src/modules/courses/shixunHomework/Listofworks.js +++ b/public/react/src/modules/courses/shixunHomework/Listofworks.js @@ -91,7 +91,7 @@ class Listofworks extends Component { unlimited: 0, unlimitedtwo: 1, code_review: false, - boolgalist:false, + boolgalist:true, columns: [ { title: '序号', @@ -556,7 +556,7 @@ class Listofworks extends Component { align: 'center', width:'96px', render: (text, record) => ( - record.submitstate === "未提交" ? "--" : + record.submitstate === "未提交" ? --: this.Viewstudenttraininginformations(record)}>调分 @@ -779,7 +779,7 @@ class Listofworks extends Component { // console.log(JSON.stringify(result)) let datalist = []; var game_list = result.data.game_list - var boolgalist=false; + var boolgalist=true; for (var i = 0; i < game_list.length; i++) { datalist.push({ @@ -790,8 +790,8 @@ class Listofworks extends Component { complete_status: game_list[i].complete_status, }) - if(game_list[i].complete_status === 1){ - boolgalist=true; + if(game_list[i].complete_status === 2 || game_list[i].complete_status===3){ + boolgalist=false; } } diff --git a/public/react/src/modules/courses/shixunHomework/TraineetraininginformationModal.js b/public/react/src/modules/courses/shixunHomework/TraineetraininginformationModal.js index 89cc35470..8c7ad059e 100644 --- a/public/react/src/modules/courses/shixunHomework/TraineetraininginformationModal.js +++ b/public/react/src/modules/courses/shixunHomework/TraineetraininginformationModal.js @@ -210,12 +210,12 @@ class TraineetraininginformationModal extends Component { src={this.props.viewtrainingdata === undefined ? "" : "https://www.educoder.net/images/" + `${this.props.viewtrainingdata.image_url}`} width="70"/>
-
+
  • {this.props.viewtrainingdata === undefined ? "" :this.props.viewtrainingdata.username} 通关:{this.props.viewtrainingdata === undefined ? "" :this.props.viewtrainingdata.complete_count}/{this.props.viewtrainingdata === undefined ? "" :this.props.viewtrainingdata.challenges_count}
  • 完成效率:{this.props.viewtrainingdata === undefined ? "" :this.props.viewtrainingdata.efficiency}
  • 通关时间: {this.props.viewtrainingdata === undefined ? "":moment(this.props.viewtrainingdata.passed_time).format('YYYY-MM-DD HH:mm')==="Invalid date"?"--":moment(this.props.viewtrainingdata.passed_time).format('YYYY-MM-DD HH:mm')}
  • -
    +
  • 课堂最高完成效率: {this.props.viewtrainingdata === undefined ? "" :this.props.viewtrainingdata.max_efficiency}
  • 总耗时: {this.props.viewtrainingdata === undefined ? "" :this.props.viewtrainingdata.total_spend_time}
  • @@ -223,7 +223,7 @@ class TraineetraininginformationModal extends Component {
    { this.props.game_list === undefined?"" : this.props.game_list.length<4? -
    +
    {getFieldDecorator('description', { rules: [{ diff --git a/public/react/src/modules/courses/graduation/tasks/GraduationTasksnew.js b/public/react/src/modules/courses/graduation/tasks/GraduationTasksnew.js index fec4248df..be85e5087 100644 --- a/public/react/src/modules/courses/graduation/tasks/GraduationTasksnew.js +++ b/public/react/src/modules/courses/graduation/tasks/GraduationTasksnew.js @@ -294,7 +294,7 @@ class GraduationTasksnew extends Component { } {/*内容*/} -
    +
    {getFieldDecorator('tasktype', { @@ -309,12 +309,14 @@ class GraduationTasksnew extends Component { (选择确认后,无法修改) - + {getFieldDecorator('name', { - rules: [{ required: true, message: "请输入标题" }], - })()} + rules: [{required: true, message: "不能为空"}], + })()} - +
    From d6496418b2994cefc0e75bae63aa26bfdb5f7ef5 Mon Sep 17 00:00:00 2001 From: hjm <63528605@qq.com> Date: Tue, 25 Jun 2019 14:19:05 +0800 Subject: [PATCH 12/18] radius --- public/react/src/modules/page/main/CodeEvaluateView.js | 5 ++++- public/react/src/modules/page/tpiPage.css | 3 +++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/public/react/src/modules/page/main/CodeEvaluateView.js b/public/react/src/modules/page/main/CodeEvaluateView.js index 8466b63c7..8f28a8c63 100644 --- a/public/react/src/modules/page/main/CodeEvaluateView.js +++ b/public/react/src/modules/page/main/CodeEvaluateView.js @@ -195,7 +195,10 @@ class CodeEvaluateView extends Component {
    this.goToCertification()} style={{color: '#4CACFF', cursor: 'pointer', 'text-decoration': 'underline' , 'margin-top': '12px'}}>立即认证
    : - `解锁本关所有测试集需要扣除${challenge.score*5}金币,确定要解锁吗?` + +
    {`解锁本关所有测试集需要扣除${challenge.score*5}金币`}
    +
    {`确定要解锁吗?`}
    +
    const moreButtonsRender = () => { return '' diff --git a/public/react/src/modules/page/tpiPage.css b/public/react/src/modules/page/tpiPage.css index 34274907e..4fc4e3062 100644 --- a/public/react/src/modules/page/tpiPage.css +++ b/public/react/src/modules/page/tpiPage.css @@ -229,6 +229,9 @@ body>div[role=dialog]>div { /* padding-bottom: 10px; */ } /* tpi 窗口宽度*/ +#tpi-dialog>div[role=document] { + border-radius: 10px; +} body>div[role=dialog] div[role=document] { min-width: 400px; } From 3ddcabf116fe0c96c202209997cf406094f77b73 Mon Sep 17 00:00:00 2001 From: hjm <63528605@qq.com> Date: Tue, 25 Jun 2019 14:59:07 +0800 Subject: [PATCH 13/18] 24px --- public/react/src/modules/comment/Comment.css | 1 + 1 file changed, 1 insertion(+) diff --git a/public/react/src/modules/comment/Comment.css b/public/react/src/modules/comment/Comment.css index f7b52366d..2f85846b6 100644 --- a/public/react/src/modules/comment/Comment.css +++ b/public/react/src/modules/comment/Comment.css @@ -106,6 +106,7 @@ position: absolute; top: -30px; left: -30px; + left: -24px; z-index: 999; } From 66ea00a7def21d437ae62ea85259d5881e46574e Mon Sep 17 00:00:00 2001 From: hjm <63528605@qq.com> Date: Tue, 25 Jun 2019 15:02:45 +0800 Subject: [PATCH 14/18] test --- public/react/src/context/TPIContextProvider.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/public/react/src/context/TPIContextProvider.js b/public/react/src/context/TPIContextProvider.js index 6db04f1b8..0b764202f 100644 --- a/public/react/src/context/TPIContextProvider.js +++ b/public/react/src/context/TPIContextProvider.js @@ -516,6 +516,9 @@ pop_box_new(htmlvalue, 480, 182); // test // var data = {"st":0,"discusses_count":12,"game_count":6,"record_onsume_time":5.303,"prev_game":"q67plhfjaogy","next_game":"lfrwm2ohiate","praise_count":0,"user_praise":false,"time_limit":180,"tomcat_url":"http://47.98.226.234","is_teacher":true,"myshixun_manager":false,"game":{"id":1964918,"myshixun_id":510423,"user_id":73892,"created_at":"2019-06-24T11:22:58.000+08:00","updated_at":"2019-06-25T11:15:48.000+08:00","status":0,"final_score":0,"challenge_id":573,"open_time":"2019-06-24T11:22:58.000+08:00","identifier":"yrsxolqk6zcp","answer_open":0,"end_time":null,"retry_status":0,"resubmit_identifier":null,"test_sets_view":false,"picture_path":null,"accuracy":null,"modify_time":null,"star":0,"cost_time":3966,"evaluate_count":1,"answer_deduction":0},"challenge":{"id":573,"shixun_id":186,"subject":"应用模型做预测","position":4,"task_pass":"####本关任务\r\n本关卡学习如何应用机器学习模型来做预测。\r\n\r\n####相关知识\r\n在前一关卡中,我们一起探讨了机器学习的一般原理,并建立了一个非常简单的电影评分模型Model 0:\r\n\r\n评分 = **大众对电影的平均评分** + **用户个人的给分偏好** + **电影的评分偏好**\r\n\r\n针对这个模型,我们设计了一个非常朴素的预测模型Baseline,直接从数据集中统计得到上述三个参数的值。\r\n\r\n在本关卡中,我们将应用这个模型对用户和电影的评分做出预测。\r\n\r\n####编程要求\r\n回顾Model 0的预测评分公式:\r\n```latex\r\nf(u,m)=g+\\alpha(u)+\\beta(m)\r\n```\r\n\r\n我们的Baseline模型得到了$$g$$、$$\\alpha$$和$$\\beta$$三种参数,下面我们实现predict函数,来对测试数据集中未知的用户电影评分进行预测,需要填充的代码块如下:\r\n```python\r\n# -*- coding:utf-8 -*-\r\n\r\ndef predict(g, alpha, beta, test_data):\r\n\t\"\"\"预测用户对电影的评分\r\n\t参数:\r\n\t\tg - 浮点数,模型参数平均电影评分\r\n\t\talpha - 浮点数组,用户评分偏差参数数组\r\n\t\tbeta - 浮点数组,电影评分偏差参数数组\r\n\t\ttest_data - Pandas的DataFrame对象,有两列'user','movie',是测试数据集\r\n\t返回值:\r\n\t\tret - 浮点数数组,预测的评分数组,举例ret[10],表示第10组用户和电影对的评分值\r\n\t\"\"\"\t\r\n\tret = []\r\n\tN = len(alpha)\r\n\tM = len(beta)\r\n\t\r\n\t# 请在此添加实现代码\r\n\t#********** Begin *********#\r\n\t\r\n\t#********** End *********#\r\n\t\r\n\treturn ret\r\n```\r\n\r\n####本关任务\r\n本关卡的测试数据来自内置测试文件,平台将比对您所编写函数的预测评分与正确评分,只有所有数据全部计算正确才能进入下一关。","score":500,"path":"src/step4/doprediction.py","st":0,"web_route":null,"modify_time":null},"shixun":{"id":186,"name":"理解机器学习基本概念:从电影评分预测讲起","user_id":24758,"gpid":3676,"visits":622,"created_at":"2017-08-25T18:07:41.000+08:00","updated_at":"2019-06-02T11:05:20.000+08:00","status":2,"language":"MachineLearning","authentication":false,"identifier":"58DRWG63","trainee":3,"major_id":635,"webssh":0,"homepage_show":false,"hidden":false,"fork_from":null,"can_copy":true,"modify_time":"2017-09-29T21:42:16.000+08:00","reset_time":"2017-09-29T21:42:16.000+08:00","publish_time":"2017-09-29T10:58:13.000+08:00","closer_id":null,"end_time":null,"git_url":"educoder/58drwg63","vnc":false,"myshixuns_count":318,"challenges_count":6,"use_scope":0,"mirror_script_id":0,"image_text":null,"code_hidden":false,"task_pass":false,"exec_time":180,"test_set_permission":true,"sigle_training":false,"hide_code":false,"multi_webssh":false,"excute_time":null,"repo_name":"educoder/58drwg63","averge_star":4.9,"opening_time":null,"users_count":10,"forbid_copy":false,"pod_life":0},"myshixun":{"id":510423,"shixun_id":186,"is_public":true,"user_id":73892,"gpid":null,"created_at":"2019-06-24T11:22:55.000+08:00","updated_at":"2019-06-24T13:56:40.000+08:00","status":0,"identifier":"7pkwxim9eh","commit_id":"ff7c6652fdfdf62eaa1316d39400ebdbd6cb81fb","modify_time":"2017-09-29T21:42:16.000+08:00","reset_time":"2017-09-29T21:42:16.000+08:00","system_tip":false,"git_url":null,"onclick_time":"2019-06-24T11:22:55.000+08:00","repo_name":"p35840769/7pkwxim9eh20190624112255"},"user":{"user_id":73892,"login":"p35840769","name":"韩半安","grade":6895,"image_url":"avatars/User/b","school":"国防科技大学","identity":6},"tpm_modified":false,"tpm_cases_modified":false,"mirror_name":["MachineLearning"],"has_answer":true,"test_sets":[{"is_public":true,"result":false,"input":"771 253 360 99 8 759 976 387 873 829 437 53 854 148 447 179 246 810 158 653 583 929 691 892 263 230 637 221 7 652 127 965 767","output":"3.577 -0.329 2.648 4.727 4.351 2.616 3.496 3.059 3.470 3.166 3.064 2.716 3.712 4.003 3.064 3.462 4.004 2.067 3.860 0.121 3.807 3.735 4.230 3.137 4.431 2.468 4.018 5.218 4.351 4.121 4.050 4.587 3.777","actual_output":"Traceback (most recent call last):\r\n File \"src/step4/main.py\", line 3, in \u003cmodule\u003e\r\n from doprediction import predict\r\nImportError: cannot import name 'predict'\r\n","compile_success":1},{"is_public":false,"result":false,"compile_success":1}],"allowed_unlock":true,"last_compile_output":"共有2组测试集,其中有2组测试结果不匹配。详情如下:","test_sets_count":2,"sets_error_count":2} + // data.shixun.vnc = true + // data.vnc_url= "http://47.96.157.89:54144/vnc_lite.html?password=headless" + // this._handleResponseData(data) // return From 321e902baf12ed84acd2f0a23951cea5297f64a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E6=A0=91=E6=98=8E?= <775174143@qq.com> Date: Tue, 25 Jun 2019 16:22:36 +0800 Subject: [PATCH 15/18] =?UTF-8?q?=20=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../courses/coursesPublic/SelectSetting.js | 2 +- .../tasks/GraduationTasksSubmitedit.js | 4 +- .../tasks/GraduationTasksSubmitnew.js | 40 ++++++- .../tasks/GraduationTasksappraise.js | 2 +- .../tasks/GraduationTaskssetting.js | 113 ++++++++---------- .../react/src/modules/forums/RightSection.css | 2 +- 6 files changed, 90 insertions(+), 73 deletions(-) diff --git a/public/react/src/modules/courses/coursesPublic/SelectSetting.js b/public/react/src/modules/courses/coursesPublic/SelectSetting.js index 0bb06fccb..2b4b935ba 100644 --- a/public/react/src/modules/courses/coursesPublic/SelectSetting.js +++ b/public/react/src/modules/courses/coursesPublic/SelectSetting.js @@ -613,7 +613,7 @@ class Selectsetting extends Component{ {item.name} - {item.response===undefined?"":isNaN(this.props.bytesToSize(item.response.filesize))?"":this.props.bytesToSize(item.response.filesize)} + {item.response===undefined?"":isNaN(this.props.bytesToSize(item.response.filesize))?"123":this.props.bytesToSize(item.response.filesize)} - {item.response===undefined?"":isNaN(this.props.bytesToSize(item.response.filesize))?"":this.props.bytesToSize(item.response.filesize)} + {item.response===undefined?"":bytesToSize(item.size)} { - const url = `/attachments/${file.response ? file.response.id : file.uid}.json` + const url = `/attachments/${file}.json` axios.delete(url, { }) .then((response) => { @@ -446,7 +446,7 @@ render(){ multiple: true, // https://github.com/ant-design/ant-design/issues/15505 // showUploadList={false},然后外部拿到 fileList 数组自行渲染列表。 - // showUploadList: false, + showUploadList: false, action: `${getUrl()}/api/attachments.json`, onChange: this.handleChange, onRemove: this.onAttachmentRemove, @@ -545,7 +545,39 @@ render(){ (单个文件150M以内) -
    + + {this.state.fileList.length===0?"":this.state.fileList.map((item,key)=>{ + return( +

    + + + + + {item.name} + + + {item.response===undefined?"":bytesToSize(item.size)} + + +

    + ) + })} + +
    diff --git a/public/react/src/modules/courses/graduation/tasks/GraduationTasksappraise.js b/public/react/src/modules/courses/graduation/tasks/GraduationTasksappraise.js index f7f843feb..28955e268 100644 --- a/public/react/src/modules/courses/graduation/tasks/GraduationTasksappraise.js +++ b/public/react/src/modules/courses/graduation/tasks/GraduationTasksappraise.js @@ -258,7 +258,7 @@ class GraduationTasksappraise extends Component{
    -
    +
    {firelistdata===undefined?"":firelistdata.length===0?"":firelistdata.revise_attachments.map((item,key)=>{ return( diff --git a/public/react/src/modules/courses/graduation/tasks/GraduationTaskssetting.js b/public/react/src/modules/courses/graduation/tasks/GraduationTaskssetting.js index 24da98576..b4aec1355 100644 --- a/public/react/src/modules/courses/graduation/tasks/GraduationTaskssetting.js +++ b/public/react/src/modules/courses/graduation/tasks/GraduationTaskssetting.js @@ -317,73 +317,59 @@ class GraduationTaskssettingapp extends Component{ } funcrosscomment=(e)=>{ - let {latetime,end_time}=this.state; + + let {latetime,end_time,allowlate}=this.state; let newtime; - if(latetime!=null&&end_time!=null){ - if(e.target.checked===true){ - if(moment(latetime)>moment(end_time)){ - newtime=moment(latetime)+604800000; - newtime=new Date(newtime) - }else if(moment(latetime) Date: Tue, 25 Jun 2019 16:32:36 +0800 Subject: [PATCH 16/18] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=9B=AE=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/modules/courses/boards/AddDirModal.js | 78 +++++++++++++++++++ .../src/modules/courses/boards/BoardsNew.js | 45 ++++++++--- .../modules/courses/members/teacherList.js | 8 +- 3 files changed, 119 insertions(+), 12 deletions(-) create mode 100644 public/react/src/modules/courses/boards/AddDirModal.js diff --git a/public/react/src/modules/courses/boards/AddDirModal.js b/public/react/src/modules/courses/boards/AddDirModal.js new file mode 100644 index 000000000..89ff6dfeb --- /dev/null +++ b/public/react/src/modules/courses/boards/AddDirModal.js @@ -0,0 +1,78 @@ +import React,{ Component } from "react"; +import {Tooltip, Modal, Input } from 'antd' +import moment from 'moment' +import { getUrl, WordsBtn } from 'educoder' +import axios from 'axios' +class AddDirModal extends Component{ + constructor(props){ + super(props); + this.state = { + + } + } + onInput = (e) => { + this.setState({ + inputValue: e.target.value + }) + } + open = () => { + this.setState({ visible: true, inputValue: '' }) + } + onSave = () => { + let coursesId = this.props.match.params.coursesId; + const url = `/courses/${coursesId}/boards.json` + let { inputValue } = this.state; + + axios.post(url,{ + name: inputValue + }).then((response)=>{ + if (response.data.status == 0) { + this.onCancel() + this.props.showNotification('添加成功') + this.props.addSuccess && this.props.addSuccess() + } + }).catch((error)=>{ + console.log(error) + }) + } + onCancel = () => { + this.setState({ visible: false, inputValue: '' }) + } + render(){ + let { inputValue, visible } = this.state; + const { title } = this.props; + return( + +
    +
    {this.props.label}:
    + +
    + + {/* {this.state.NavmodalValuetype===true? + {this.state.NavmodalValues} + :""} */} + + {/* this.state.NavmodalValuetype===true?"clearfix mt20 edu-txt-center": */} +
    + 取消 + 确定 +
    +
    + ) + } +} +export default AddDirModal; \ No newline at end of file diff --git a/public/react/src/modules/courses/boards/BoardsNew.js b/public/react/src/modules/courses/boards/BoardsNew.js index cf530aba5..97d9436a6 100644 --- a/public/react/src/modules/courses/boards/BoardsNew.js +++ b/public/react/src/modules/courses/boards/BoardsNew.js @@ -3,13 +3,13 @@ import React,{ Component } from "react"; import { Form, Input, InputNumber, Switch, Radio, Slider, Button, Upload, Icon, Rate, Checkbox, message, - Row, Col, Select, Modal + Row, Col, Select, Modal, Divider } from 'antd'; import TPMMDEditor from '../../tpm/challengesnew/TPMMDEditor'; import axios from 'axios' import './board.css' import "../common/formCommon.css" - +import AddDirModal from './AddDirModal' import { RouteHOC } from './common.js' import CBreadcrumb from '../common/CBreadcrumb' import {getUploadActionUrl, bytesToSize, uploadNameSizeSeperator, appendFileSizeToUploadFile, appendFileSizeToUploadFileAll} from 'educoder'; @@ -29,14 +29,14 @@ class BoardsNew extends Component{ boards: [] } } - componentDidMount = () => { - - const topicId = this.props.match.params.topicId - + addSuccess = () => { + this.fetchBoards() + } + fetchBoards = () => { + const isEdit = this.isEdit const boardId = this.props.match.params.boardId - const boardsUrl = `/courses/board_list.json?board_id=${boardId}` - const isEdit = !!topicId + const boardsUrl = `/courses/board_list.json?board_id=${boardId}` axios.get(boardsUrl, { }) .then((response) => { if (response.data.status == 0) { @@ -57,8 +57,17 @@ class BoardsNew extends Component{ .catch(function (error) { console.log(error); }); - + } + componentDidMount = () => { + + const topicId = this.props.match.params.topicId + const isEdit = !!topicId this.isEdit = isEdit + + const boardId = this.props.match.params.boardId + + this.fetchBoards() + if (isEdit) { const url = `/messages/${topicId}.json` axios.get(url, { @@ -260,6 +269,12 @@ class BoardsNew extends Component{ return(
    + {/* bor-bottom-greyE */}
    -
    +