diff --git a/public/css/edu-purge.css b/public/css/edu-purge.css index 80fb12a64..ac97837fc 100644 --- a/public/css/edu-purge.css +++ b/public/css/edu-purge.css @@ -2346,7 +2346,6 @@ input::-ms-clear { /*中间部分宽度固定为1200*/ .newMain { margin: 0 auto; - padding-bottom: 110px; min-width: 1200px; } @@ -4108,21 +4107,6 @@ em.vertical-line { /* 右侧内容宽度变化的话,需要调整posi-search right的值*/ -/*底部*/ -.newFooter { - max-height: 110px; -} - -.newFooter { - position: absolute; - bottom: 0; - width: 100%; - background: #323232; - clear: both; - min-width: 1200px; - z-index: 8; - left: 0px; -} .footercon { border-bottom: 1px solid #47494d; diff --git a/src/forge/Component/Contributors.jsx b/src/forge/Component/Contributors.jsx index d64e0d42a..7215c735a 100644 --- a/src/forge/Component/Contributors.jsx +++ b/src/forge/Component/Contributors.jsx @@ -1,9 +1,30 @@ -import React from 'react'; +import React, { useEffect, useState } from 'react'; import { AlignCenter , FlexAJ } from '../Component/layout'; import { Link } from 'react-router-dom'; +import { Dropdown , Spin } from 'antd'; import { getImageUrl } from 'educoder'; +import Axios from 'axios'; function Contributors({contributors,owner,projectsId}){ + + // function menuFunc(login){ + // let data = undefined; + // const url = `/users/${login}.json`; + // Axios.get(url).then(result=>{ + // if(result && result.data){ + // data = result.data; + // } + // }).catch(error=>{}) + + // if(data){ + // return( + //
111
+ // ) + // }else{ + // return + // } + // } + return(
@@ -15,7 +36,9 @@ function Contributors({contributors,owner,projectsId}){ contributors && contributors.total_count > 0 ? contributors.list.map((item,key)=>{ return( - + // menuFunc(item.login)}> + + // ) }) :"" diff --git a/src/forge/Head/Footer.jsx b/src/forge/Head/Footer.jsx new file mode 100644 index 000000000..8a69c2ad1 --- /dev/null +++ b/src/forge/Head/Footer.jsx @@ -0,0 +1,66 @@ +import React, { useEffect , useState } from 'react'; +import './header.scss'; + +function Footer(){ + const [ value , setValue ] = useState(undefined); + + useEffect(()=>{ + try { + var chromesettingArray = JSON.parse(localStorage.getItem('chromesetting')); + setValue(chromesettingArray.footer); + } catch (e) { + } + },[]) + + function showhtml(htmlString){ + var html = {__html:htmlString}; + return
; + } + + return( +
+
+
+ {value && showhtml(value)} + {/* +

© Copyright 2007~2021 国防科技大学Trustie团队 & IntelliDE 湘ICP备 17009477号

*/} +
+
+ ) +} +export default Footer; diff --git a/src/forge/Head/header.scss b/src/forge/Head/header.scss index 3cde4d8fc..130df4ca8 100644 --- a/src/forge/Head/header.scss +++ b/src/forge/Head/header.scss @@ -7,4 +7,56 @@ .ant-menu-vertical > .ant-menu-item{ border:none } +} + +.newFooter { + position: absolute; + bottom: 0; + width: 100%; + background: #323232; + clear: both; + min-width: 1200px; + z-index: 8; + left: 0px; + p { + margin-top: 0; + margin-bottom:0px !important; + } + .footerInfos{ + display: flex; + max-width: 1200px; + margin:0px auto; + justify-content: space-around; + padding:60px 0px; + & >ul{ + padding:0px 40px; + box-sizing: border-box; + max-width: 25%; + text-align: left; + li{ + color: #fff; + font-weight: 300; + &:first-child{ + font-size: 17px; + } + &>a,&>span{ + color: #bbb; + } + &>a:hover{ + color: #4cacff; + } + } + } + } + .footerCopy{ + color: #bbb; + border-top: 1px solid #4e4e4e; + padding:10px 0px; + a{ + color: #bbb; + &:hover{ + color: #4cacff; + } + } + } } \ No newline at end of file diff --git a/src/forge/Main/CoderRootFileDetail.js b/src/forge/Main/CoderRootFileDetail.js index 13939981d..deb555a82 100644 --- a/src/forge/Main/CoderRootFileDetail.js +++ b/src/forge/Main/CoderRootFileDetail.js @@ -262,11 +262,7 @@ class CoderRootFileDetail extends Component {
{detail.image_type ? (
- +
) : detail.direct_download ? (
diff --git a/src/forge/Main/Index.scss b/src/forge/Main/Index.scss index 631d52c99..3bec062f0 100644 --- a/src/forge/Main/Index.scss +++ b/src/forge/Main/Index.scss @@ -286,6 +286,9 @@ .downMenu{ box-shadow: 0px 0px 9px rgba(134, 134, 134,0.4); background-color: #fff; + .ant-menu-vertical .ant-menu-item:hover{ + background-color: #e6f7ff; + } } .menuslist{ diff --git a/src/forge/Newfile/UserSubmitComponent.js b/src/forge/Newfile/UserSubmitComponent.js index 9883ce8f3..6c921c9fc 100644 --- a/src/forge/Newfile/UserSubmitComponent.js +++ b/src/forge/Newfile/UserSubmitComponent.js @@ -117,7 +117,7 @@ class UserSubmitComponent extends Component { diff --git a/src/forge/Newfile/m_editor.js b/src/forge/Newfile/m_editor.js index 4e2e68516..7f773d98c 100644 --- a/src/forge/Newfile/m_editor.js +++ b/src/forge/Newfile/m_editor.js @@ -51,7 +51,7 @@ class m_editor extends Component { return (
-
+
{!readOnly && ( -
+
+

新建组织

diff --git a/src/forge/comments/comments.js b/src/forge/comments/comments.js index 8b9f6c584..93925da65 100644 --- a/src/forge/comments/comments.js +++ b/src/forge/comments/comments.js @@ -310,7 +310,7 @@ class comments extends Component { { ` - .newFooter{ - display:none; - } .newshixunbottombtn { position: fixed; z-index: 1000; diff --git a/src/modules/question/Paperreview.js b/src/modules/question/Paperreview.js index 3c2030f8d..202c9f15c 100644 --- a/src/modules/question/Paperreview.js +++ b/src/modules/question/Paperreview.js @@ -379,16 +379,6 @@ class Paperreview extends Component { "" } -
{ diff --git a/src/modules/question/Questionitem_banks.js b/src/modules/question/Questionitem_banks.js index 4ba33f555..704c840d9 100644 --- a/src/modules/question/Questionitem_banks.js +++ b/src/modules/question/Questionitem_banks.js @@ -534,9 +534,6 @@ class Questionitem_banks extends Component { width: 100%!important; } - .newFooter{ - display: none; - } ` } diff --git a/src/modules/testpaper/Intecomponents.js b/src/modules/testpaper/Intecomponents.js index 3b4f78581..c49cce805 100644 --- a/src/modules/testpaper/Intecomponents.js +++ b/src/modules/testpaper/Intecomponents.js @@ -379,16 +379,6 @@ class Intecomponents extends Component {
-
diff --git a/src/modules/testpaper/Paperlibraryeditid.js b/src/modules/testpaper/Paperlibraryeditid.js index 831e84e69..0980f4cb1 100644 --- a/src/modules/testpaper/Paperlibraryeditid.js +++ b/src/modules/testpaper/Paperlibraryeditid.js @@ -241,17 +241,6 @@ class Paperlibraryeditid extends Component { : "" } - -
diff --git a/src/modules/testpaper/Paperlibraryseeid.js b/src/modules/testpaper/Paperlibraryseeid.js index bfecf0ccc..691215467 100644 --- a/src/modules/testpaper/Paperlibraryseeid.js +++ b/src/modules/testpaper/Paperlibraryseeid.js @@ -131,16 +131,6 @@ class Paperlibraryseeid extends Component {
-
diff --git a/src/modules/tpm/NewFooter.js b/src/modules/tpm/NewFooter.js index 65f89eeb5..331ff57c5 100644 --- a/src/modules/tpm/NewFooter.js +++ b/src/modules/tpm/NewFooter.js @@ -1,8 +1,4 @@ import React, { Component } from 'react'; -import moment from 'moment'; -import { Link } from 'react-router-dom'; - - class NewFooter extends Component { constructor(props) { super(props) @@ -11,7 +7,6 @@ class NewFooter extends Component { } } componentDidMount() { - //获取游览器地址 try { var chromesettingArray = JSON.parse(localStorage.getItem('chromesetting')); @@ -30,47 +25,9 @@ class NewFooter extends Component { const {forge_footer} = this.state; return (
- { forge_footer && this.showhtml(forge_footer) } - - {/*
*/} - {/*
    */} - {/*
  • 网站首页
  • */} - {/*
  • 关于我们
  • */} - {/*
  • 联系我们
  • */} - {/*
  • 合作伙伴
  • */} - {/*
  • 服务协议
  • */} - {/*
  • 帮助中心
  • */} - {/*
  • 意见反馈
  • */} - {/*
*/} - {/*
*/} - {/*
*/} - {/*

*/} - {/*© {moment().year()} EduCoder*/} - {/*湘ICP备17009477号*/} - {/**/} - {/*湘公网安备43019002000962号*/} - {/**/} - {/*Trustie   &   IntelliDE inside. 版权所有 湖南智擎科技有限公司*/} - {/*

*/} - {/*
*/} - {/*
*/}
); } diff --git a/src/modules/tpm/TPMIndex.css b/src/modules/tpm/TPMIndex.css index 7b4d15a74..82dcfa242 100644 --- a/src/modules/tpm/TPMIndex.css +++ b/src/modules/tpm/TPMIndex.css @@ -95,7 +95,7 @@ body>.-task-title { } .newContainer { - background: #f5f5f5; + background: #fff; } .ant-modal-title { diff --git a/src/modules/tpm/TPMIndexHOC.js b/src/modules/tpm/TPMIndexHOC.js index 7eecccc79..773c07ca3 100644 --- a/src/modules/tpm/TPMIndexHOC.js +++ b/src/modules/tpm/TPMIndexHOC.js @@ -1,30 +1,24 @@ import React from 'react'; import Header from '../../forge/Head/Header' -import NewFooter from './NewFooter' -import { downloadFile } from 'educoder' +import NewFooter from '../../forge/Head/Footer'; import axios from 'axios'; import { Spin } from 'antd'; import './TPMIndex.css'; import LoginDialog from '../login/LoginDialog'; -import AccountProfile from '../user/AccountProfile'; -import AccountPhoneemail from '../user/AccountPhoneemail'; import EducoderAccount from '../../forge/Component/EducoderAccount'; export function TPMIndexHOC(WrappedComponent) { return class II extends React.Component { constructor(props) { super(props); - window.$('#root').css('position', 'relative') + window.$('#root').css('position', 'relative'); this.state = { tpmLoading: true, resLoading: true, Headertop: undefined, - Footerdown: undefined, isRender: false, - AccountProfiletype: false, - AccountPhoneemailtype: false, globalLoading: false, dataquerys: {}, isloginCancel: undefined, @@ -66,12 +60,6 @@ export function TPMIndexHOC(WrappedComponent) { document.title = "你没有权限访问"; } else if (this.props.match.path === "/nopage") { document.title = "没有找到该页面"; - } else if (this.props.match.path === "/shixuns") { - document.title = "实训项目"; - } else if (this.props.match.path === "/paths") { - document.title = "实践课程"; - } else if (this.props.match.path === "/classrooms") { - document.title = "教学课堂"; } ///请求定制化的信息 @@ -181,25 +169,6 @@ export function TPMIndexHOC(WrappedComponent) { console.log(error) }) }; - //截取url 数据的 - foo = (url) => { - var json = {}; - var regExp = /[\?\&](\w+)(=?)(\w*)/g; - var arr; - do { - arr = regExp.exec(url); - if (arr) { - var key = arr[1]; - var value = arr[3]; - if (!arr[2]) - value = undefined; - - json[key] = value; - } - } while (arr); - return json; - }; - hideLoginDialog = () => { this.setState({ isRender: false, @@ -218,144 +187,6 @@ export function TPMIndexHOC(WrappedComponent) { return this.state.current_user && this.state.current_user.login != '' } - hideAccountProfile = () => { - this.setState({ - AccountProfiletype: false - }) - } - - showProfileCompleteDialog = () => { - this.dialogObj = {} - this.setState({ - AccountProfiletype: true - }) - } - showhideAccountPhoneemailDialog = () => { - this.dialogObj = {} - this.setState({ - AccountPhoneemailtype: true - }) - } - hideAccountPhoneemailtype = () => { - this.setState({ - AccountPhoneemailtype: false - }) - } - //验证是否完善资料 - checkIfProfileCompleted = () => { - return this.state.current_user && this.state.current_user.profile_completed - } - - showaccountprofileDialog = () => { - this.dialogObj = { - content: '您需要去完成您的个人资料,才能使用此功能', - okText: '立即完成', - okHref: '/account/profile' - } - this.setState({ - AccountProfiletype: true, - }) - } - showProfessionalCertificationDialog = () => { - this.dialogObj = { - content: '您需要去完成您的职业认证,才能使用此功能', - okText: '立即完成', - okHref: '/account/certification' - } - this.setState({ - AccountProfiletype: true, - }) - } - checkIfProfessionalCertification = () => { - return this.state.current_user && this.state.current_user.professional_certification - } - - - ShowOnlinePdf = (url) => { - return axios({ - method: 'get', - url: url, - responseType: 'arraybuffer', - }).then((result) => { - var binaryData = []; - binaryData.push(result.data); - this.url = window.URL.createObjectURL(new Blob(binaryData, { type: "application/pdf" })); - window.open(this.url); - }) - } - DownloadFileA = (title, url) => { - let link = document.createElement('a'); - document.body.appendChild(link); - link.href = url; - link.download = title; - //兼容火狐浏览器 - let evt = document.createEvent("MouseEvents"); - evt.initEvent("click", false, false); - link.dispatchEvent(evt); - document.body.removeChild(link); - } - - DownloadOpenPdf = (type, url) => { - type === true ? window.open(url) : window.location.href = url; - } - slowDownload = (url, tip) => { - this._gLoadingTip = tip || '正在生成文件,请稍后...'; - this.setState({ globalLoading: true }) - const fileUrl = url; - downloadFile({ - url: fileUrl, - successCallback: (url) => { - this.setState({ globalLoading: false }) - console.log('successCallback') - }, - failCallback: (responseHtml, url) => { - this.setState({ globalLoading: false }) - console.log('failCallback') - } - }) - } - yslslowCheckresults = (tip) => { - this._gLoadingTip = tip || '成绩计算中,请稍候...'; - this.setState({ globalLoading: true }) - } - yslslowCheckresultsNo = () => { - this.setState({ globalLoading: false }) - } - - showGlobalLoading = (tip) => { - this._gLoadingTip = tip || '加载中,请稍后...'; - this.setState({ globalLoading: true }) - } - hideGlobalLoading = () => { - this.setState({ globalLoading: false }) - } - - MdifHasAnchorJustScorll = () => { - //mdhash滚动 - let anchor = decodeURI(this.props.location.hash).replace('#', ''); - // 对应id的话, 滚动到相应位置 - if (!!anchor) { - let anchorElement = document.getElementsByName(anchor); - if (anchorElement) { - if (anchorElement.length > 0) { - anchorElement[anchorElement.length - 1].scrollIntoView(); - } - } - } - } - - //跳转道描点的地方 - scrollToAnchor = (anchorName) => { - if (anchorName) { - // 找到锚点 - let anchorElement = document.getElementById(anchorName); - // 如果对应id的锚点存在,就跳转到锚点 - if (anchorElement) { - anchorElement.scrollIntoView(); - } - } - } - onOk =(values)=>{ let url = `/users/sync_user_info.json`; const { current_user } = this.state; @@ -375,29 +206,10 @@ export function TPMIndexHOC(WrappedComponent) { render() { - let { Footerdown, isRender, AccountProfiletype, AccountPhoneemailtype, current_user , giteaVisible , email } = this.state; + let { isRender , current_user , giteaVisible , email } = this.state; const common = { - showLoginDialog: this.showLoginDialog, checkIfLogin: this.checkIfLogin, - showProfileCompleteDialog: this.showProfileCompleteDialog, - showhideAccountPhoneemailDialog: this.showhideAccountPhoneemailDialog, - checkIfProfileCompleted: this.checkIfProfileCompleted, - showaccountprofileDialog: this.showaccountprofileDialog, - checkIfProfessionalCertification: this.checkIfProfessionalCertification, - showProfessionalCertificationDialog: this.showProfessionalCertificationDialog, - - ShowOnlinePdf: (url) => this.ShowOnlinePdf(url), - DownloadFileA: (title, url) => this.DownloadFileA(title, url), - DownloadOpenPdf: (type, url) => this.DownloadOpenPdf(type, url), - - slowDownload: this.slowDownload, - showGlobalLoading: this.showGlobalLoading, - hideGlobalLoading: this.hideGlobalLoading, - yslslowCheckresults: this.yslslowCheckresults, - yslslowCheckresultsNo: this.yslslowCheckresultsNo, - MdifHasAnchorJustScorll: this.MdifHasAnchorJustScorll, - scrollToAnchor: this.scrollToAnchor }; return (
@@ -407,42 +219,21 @@ export function TPMIndexHOC(WrappedComponent) { {...this.props} {...this.state} /> : ""} - {/* AccountProfile 也用作职业认证 */} - {AccountProfiletype === true ? this.hideAccountProfile()} - {...this.props} - {...this.state} - {...this.dialogObj} - /> : ""} - {/*验证是否注册手机邮箱*/} - {AccountPhoneemailtype === true ? this.hideAccountPhoneemailtype()} - {...this.props} - {...this.state} - {...this.dialogObj} - /> : ""}
{ current_user && this.initCommonState(user)} - {...this.props} {...this.state} - {...common} - > + {...this.props} {...this.state} {...common} > } -
- +
); }