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/Head/Footer.jsx b/src/forge/Head/Footer.jsx
new file mode 100644
index 000000000..840d919b0
--- /dev/null
+++ b/src/forge/Head/Footer.jsx
@@ -0,0 +1,63 @@
+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)}
+ {/*
+
+
+
+
+ - 合作伙伴
+ - 热线:
+ - QQ群:1071514693
+
+
+
© 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/index.css b/src/index.css
index cd6f30b9f..f42b05f2a 100644
--- a/src/index.css
+++ b/src/index.css
@@ -67,17 +67,6 @@ li {
font-size: 25px !important;
}
-.newFooter {
- position: absolute;
- bottom: 0;
- width: 100%;
- background: #323232;
- clear: both;
- min-width: 1200px;
- z-index: 8;
- left: 0px;
- max-height: 110px;
-}
.markdown-body {
text-align: justify;
diff --git a/src/modules/modals/Bottomsubmit.js b/src/modules/modals/Bottomsubmit.js
index 09038aa93..970e106ed 100644
--- a/src/modules/modals/Bottomsubmit.js
+++ b/src/modules/modals/Bottomsubmit.js
@@ -32,9 +32,6 @@ class Bottomsubmit 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)
}
-
- {/*
*/}
- {/*
*/}
- {/*- 网站首页
*/}
- {/*- 关于我们
*/}
- {/*- 联系我们
*/}
- {/*- 合作伙伴
*/}
- {/*- 服务协议
*/}
- {/*- 帮助中心
*/}
- {/*- 意见反馈
*/}
- {/*
*/}
- {/*
*/}
- {/*
*/}
- {/*
*/}
);
}
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} >
}
-
-
+
);
}