From 40918bf1d788b21fdec6e285dae6502844d7dc89 Mon Sep 17 00:00:00 2001
From: caishi <1149225589@qq.com>
Date: Wed, 21 Apr 2021 16:54:47 +0800
Subject: [PATCH] merge develop
---
public/css/edu-purge.css | 68 ++++--
src/forge/Head/Footer.jsx | 63 ++++++
src/forge/Head/header.scss | 52 +++++
src/forge/Main/CoderRootFileDetail.js | 6 +-
src/forge/Main/Index.scss | 3 +
src/index.css | 10 -
src/modules/modals/Bottomsubmit.js | 3 -
src/modules/question/Paperreview.js | 10 -
src/modules/question/Questionitem_banks.js | 3 -
src/modules/testpaper/Intecomponents.js | 10 -
src/modules/testpaper/Paperlibraryeditid.js | 11 -
src/modules/testpaper/Paperlibraryseeid.js | 10 -
src/modules/tpm/NewFooter.js | 1 -
src/modules/tpm/TPMIndexHOC.js | 236 +-------------------
14 files changed, 175 insertions(+), 311 deletions(-)
create mode 100644 src/forge/Head/Footer.jsx
diff --git a/public/css/edu-purge.css b/public/css/edu-purge.css
index d5998251..ac97837f 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;
}
@@ -3978,28 +3977,62 @@ html>body #ajax-indicator {
display: block;
height: 100%;
width: 100%;
- color: #fff;
+ color: #333;
font-size: 16px;
- position: relative;
}
.head-nav ul#header-nav li a:hover,.head-nav ul#header-nav li.active a {
color: #5091FF;
}
-.head-nav ul#header-nav li.active a::after{
- content: "";
- width: 18px;
- height: 2px;
- background-color: #4cacff;
- position: absolute;
- bottom: 14px;
- left: 0;
-}
.head-nav ul#header-nav li:last-child {
margin-right: 0px
}
+.head-nav ul#header-nav li.active{
+ /* background-color: #3B3B3B; */
+}
+
+
+.head-nav ul#header-nav li p:hover {
+ color: #cccccc;
+}
+
+.head-nav ul#header-nav li p {
+ display: block;
+ height: 100%;
+ width: 100%;
+ color: #fff
+}
+
+/* .head-nav ul#header-nav li.active div ul li a {
+ color: #000 !important;
+} */
+
+/* .head-nav ul#header-nav li.active div ul li a:hover {
+ color: #FFF !important;
+}
+
+.head-nav ul#header-nav li.active ul li a {
+ color: #000 !important;
+} */
+
+/* .head-nav ul#header-nav li.active ul li a:hover {
+ color: #FFF !important;
+} */
+
+/* .head-nav ul#header-nav li.active:after {
+ content: '';
+ position: absolute;
+ left: 0px;
+ top: auto;
+ bottom: 10px;
+ right: auto;
+ height: 2px;
+ width: 32px;
+ background-color: #459be5;
+} */
+
.head-right {
box-sizing: border-box;
height: 60px;
@@ -4075,17 +4108,6 @@ em.vertical-line {
/* 右侧内容宽度变化的话,需要调整posi-search right的值*/
-.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 00000000..840d919b
--- /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 3cde4d8f..130df4ca 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 3fc19f21..87e527db 100644
--- a/src/forge/Main/CoderRootFileDetail.js
+++ b/src/forge/Main/CoderRootFileDetail.js
@@ -257,11 +257,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 64792680..eab8975e 100644
--- a/src/forge/Main/Index.scss
+++ b/src/forge/Main/Index.scss
@@ -283,6 +283,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 8f035dfb..f42b05f2 100644
--- a/src/index.css
+++ b/src/index.css
@@ -67,16 +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;
-}
.markdown-body {
text-align: justify;
diff --git a/src/modules/modals/Bottomsubmit.js b/src/modules/modals/Bottomsubmit.js
index 09038aa9..970e106e 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 4ba33f55..704c840d 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 3b4f7858..c49cce80 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 831e84e6..0980f4cb 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 bfecf0cc..69121546 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 5909a39a..331ff57c 100644
--- a/src/modules/tpm/NewFooter.js
+++ b/src/modules/tpm/NewFooter.js
@@ -7,7 +7,6 @@ class NewFooter extends Component {
}
}
componentDidMount() {
-
//获取游览器地址
try {
var chromesettingArray = JSON.parse(localStorage.getItem('chromesetting'));
diff --git a/src/modules/tpm/TPMIndexHOC.js b/src/modules/tpm/TPMIndexHOC.js
index 60e36d6a..773c07ca 100644
--- a/src/modules/tpm/TPMIndexHOC.js
+++ b/src/modules/tpm/TPMIndexHOC.js
@@ -1,38 +1,30 @@
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,
mygetHelmetapi: null,
giteaVisible:false,
- email:undefined,
- is_sync_pwd:undefined
+ email:undefined
}
}
@@ -68,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 = "教学课堂";
}
///请求定制化的信息
@@ -171,11 +157,10 @@ export function TPMIndexHOC(WrappedComponent) {
this.props.history.push(`/users/${response.data.login}`);
}
if(response.data && response.data.login){
- if(!response.data.has_gitea_user || (response.data.has_gitea_user && !response.data.is_sync_pwd)){
+ if(response.data.need_edit_info){
this.setState({
giteaVisible:true,
- email:response.data.email,
- is_sync_pwd:response.data.is_sync_pwd
+ email:response.data.email
})
}
}
@@ -184,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,
@@ -221,137 +187,9 @@ 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();
- }
- }
- }
- }
onOk =(values)=>{
- let url = `/accounts/gitea_register.json`;
- const { email , current_user , is_sync_pwd } = this.state;
- if(email && !is_sync_pwd){
- url = `/users/change_password.json`;
- }
+ let url = `/users/sync_user_info.json`;
+ const { current_user } = this.state;
axios.post(url,{
login:current_user && current_user.login,
...values
@@ -367,42 +205,11 @@ export function TPMIndexHOC(WrappedComponent) {
}
- //跳转道描点的地方
- scrollToAnchor = (anchorName) => {
- if (anchorName) {
- // 找到锚点
- let anchorElement = document.getElementById(anchorName);
- // 如果对应id的锚点存在,就跳转到锚点
- if (anchorElement) {
- anchorElement.scrollIntoView();
- }
- }
- }
-
render() {
- let { email , giteaVisible , Footerdown, isRender, AccountProfiletype, AccountPhoneemailtype, current_user } = 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 (
@@ -412,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} >
}
-
-
+
);
}