From 72bb222e95a639ddd9690fe4eefe311bc339194a Mon Sep 17 00:00:00 2001 From: caishi <1149225589@qq.com> Date: Fri, 17 Jul 2020 17:36:36 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BD=BF=E7=94=A8=E6=89=8B=E5=86=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/forge/Component/Component.scss | 31 ++++++ src/forge/Component/Handbook.jsx | 13 +++ src/forge/Images/handbook.png | Bin 0 -> 3674 bytes src/forge/Index.js | 3 +- src/forge/Order/OrderItem.js | 2 +- src/forge/Order/order.css | 2 +- src/forge/Order/order.js | 25 +++-- src/forge/Order/order_form.js | 4 +- src/forge/users/Index.jsx | 20 ++-- src/modules/tpm/NewHeader.js | 152 ++++++++++------------------- 10 files changed, 130 insertions(+), 122 deletions(-) create mode 100644 src/forge/Component/Handbook.jsx create mode 100644 src/forge/Images/handbook.png diff --git a/src/forge/Component/Component.scss b/src/forge/Component/Component.scss index d81ede3c3..9a58f5a25 100644 --- a/src/forge/Component/Component.scss +++ b/src/forge/Component/Component.scss @@ -88,4 +88,35 @@ li.ant-menu-item{ background:#F73030; color:#FCEEEE ; } +} +.handleBox{ + position: fixed; + top:45%; + right:240px; + z-index: 10000; +} +@media screen and (max-width: 1800px){ + .handleBox{ + right:190px; + } +} +@media screen and (max-width: 1700px){ + .handleBox{ + right:140px; + } +} +@media screen and (max-width: 1600px){ + .handleBox{ + right:90px; + } +} +@media screen and (max-width: 1450px){ + .handleBox{ + right:10px; + } +} +@media screen and (max-width: 1380px){ + .handleBox{ + right:0px; + } } \ No newline at end of file diff --git a/src/forge/Component/Handbook.jsx b/src/forge/Component/Handbook.jsx new file mode 100644 index 000000000..bcb381873 --- /dev/null +++ b/src/forge/Component/Handbook.jsx @@ -0,0 +1,13 @@ +import React from 'react'; +import Handbook from '../Images/handbook.png'; +import './Component.scss'; + +export default (()=>{ + return( +
+ + + +
+ ) +}) \ No newline at end of file diff --git a/src/forge/Images/handbook.png b/src/forge/Images/handbook.png new file mode 100644 index 0000000000000000000000000000000000000000..39f24c3d844b9dd21c458383a1e08fd834c5a380 GIT binary patch literal 3674 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 +

- {item.name} + {item.name} {TagInfo(item.priority,"mr10")}

diff --git a/src/forge/Order/order.css b/src/forge/Order/order.css index 24f10d349..d7be6537e 100644 --- a/src/forge/Order/order.css +++ b/src/forge/Order/order.css @@ -193,7 +193,7 @@ text-align: center; cursor: pointer; color: #666; - width: 90px; + width: 86px; text-align: center; display: inline-block; overflow: hidden; diff --git a/src/forge/Order/order.js b/src/forge/Order/order.js index 53e314e5b..21d91cc08 100644 --- a/src/forge/Order/order.js +++ b/src/forge/Order/order.js @@ -1,5 +1,6 @@ import React, { Component } from "react"; import { Input, Dropdown, Menu, Icon, Pagination, Spin, DatePicker, Checkbox } from "antd"; +import { Link } from 'react-router-dom'; import "./order.css"; import './index.scss'; import moment from 'moment'; @@ -336,12 +337,22 @@ class order extends Component { }; islogin() { + this.props.showLoginDialog(); + } + renderNew =()=>{ const { projectsId } = this.props.match.params; - if (this.props.checkIfLogin() === false) { - this.props.showLoginDialog(); - return; - } else { - this.props.history.push(`/projects/${projectsId}/orders/new`); + if (this.props.checkIfLogin()) { + return( + + + 创建任务 + + ) + }else{ + return( + + + 创建任务 + + ) } } @@ -530,9 +541,7 @@ class order extends Component { onClick={() => this.openorder("2")}>{data && data.close_count} - this.islogin()}> - + 创建任务 - + {this.renderNew()}

diff --git a/src/forge/Order/order_form.js b/src/forge/Order/order_form.js index d2b1c1850..230b5cf78 100644 --- a/src/forge/Order/order_form.js +++ b/src/forge/Order/order_form.js @@ -189,9 +189,9 @@ class order_form extends Component { issue_type: issue_type, }) .then((result) => { - if (result) { + if (result && result.data.id) { this.props.showNotification("任务创建成功!"); - this.props.history.push(`/projects/${projectsId}/orders`); + this.props.history.push(`/projects/${projectsId}/orders/${result.data.id}/detail`); this.setState({ description: "", isSpin: false, diff --git a/src/forge/users/Index.jsx b/src/forge/users/Index.jsx index 561cf3c9f..e92e5429c 100644 --- a/src/forge/users/Index.jsx +++ b/src/forge/users/Index.jsx @@ -6,6 +6,7 @@ import { withRouter } from "react-router"; import { SnackbarHOC } from "educoder"; import { CNotificationHOC } from "../../modules/courses/common/CNotificationHOC"; import { TPMIndexHOC } from "../../modules/tpm/TPMIndexHOC"; +import Handbook from '../Component/Handbook'; const Infos = Loadable({ loader: () => import("./Infos"), loading: Loading, @@ -13,14 +14,17 @@ const Infos = Loadable({ export default withRouter( (CNotificationHOC()(SnackbarHOC()(TPMIndexHOC((props)=>{ return( - - ( - - )} - > - +
+ + + ( + + )} + > + +
) })))) ) \ No newline at end of file diff --git a/src/modules/tpm/NewHeader.js b/src/modules/tpm/NewHeader.js index 237bdb928..1b9e0e054 100644 --- a/src/modules/tpm/NewHeader.js +++ b/src/modules/tpm/NewHeader.js @@ -57,7 +57,6 @@ class NewHeader extends Component { componentDidMount() { this.getAppdata(); window._header_componentHandler = this; - //下拉框的显示隐藏 var hoverTimeout; var hoveredPanel; @@ -79,13 +78,10 @@ class NewHeader extends Component { }, 800) }); - //获取游览器地址 try { window.sessionStorage.setItem("yslgeturls", JSON.stringify(window.location.href)) - } catch (e) { - - } + } catch (e) {} } openNotification = (messge) => { @@ -125,16 +121,15 @@ class NewHeader extends Component { const url = `/accounts/logout.json` this.delCookie("autologin_trustie") axios.get(url, { - }) - .then((response) => { - if (response.data.status === 1) { - this.setState({ - user: undefined - }) - window.location.href = "/login" - message.success('退出成功'); - } - }); + }).then((response) => { + if (response.data.status === 1) { + this.setState({ + user: undefined + }) + window.location.href = "/login" + message.success('退出成功'); + } + }); } tojoinclass = () => { @@ -151,14 +146,12 @@ class NewHeader extends Component { }) return; } - if (user && user.profile_completed === false) { this.setState({ AccountProfiletype: true }) return; } - this.setState({ Addcoursestypes: true, }) @@ -345,7 +338,7 @@ class NewHeader extends Component { let pamst = []; let num = 0; for (var i = 0; i < newrolearr.length; i++) { - if (newrolearr[i] != "") { + if (newrolearr[i] !== "") { pamst.push(newrolearr[i]) } else { num = num + 1 @@ -416,7 +409,6 @@ class NewHeader extends Component { this.setState({ showSearchOpentype: true }) - } hideshowSearchOpen = (e) => { @@ -426,7 +418,6 @@ class NewHeader extends Component { showSearchOpentype: false, setevaluatinghides: false }) - } } @@ -436,19 +427,15 @@ class NewHeader extends Component { } onKeywordSearchKeyDowns = () => { - this.setState( - { - setevaluatinghides: false - } - ) + this.setState({ + setevaluatinghides: false + }) } setevaluatinghides = () => { - this.setState( - { - setevaluatinghides: true - } - ) + this.setState({ + setevaluatinghides: true + }) } //头部获取是否已经登录了 getUser = (url, type) => { @@ -538,15 +525,12 @@ class NewHeader extends Component { document.head.appendChild(link); } - handleVisibleChanges = (boll) => { this.setState({ visiblemyss: boll, }) - } - getAppdata = () => { try { var chromesettingArray = JSON.parse(localStorage.getItem('chromesetting')); @@ -583,19 +567,12 @@ class NewHeader extends Component { } catch (e) { this.gettablogourlnull(); } - - } else { - this.gettablogourlnull(); - } - } else { this.gettablogourlnull(); - } - }).catch((error) => { this.gettablogourlnull(); @@ -683,7 +660,6 @@ class NewHeader extends Component { } let headtypes = '/'; - if (mygetHelmetapi2) { if (mygetHelmetapi2.navbar) { if (mygetHelmetapi2.navbar.length > 0) { @@ -747,78 +723,52 @@ class NewHeader extends Component { {...this.props} {...this.state} /> : ""} - { goshowqqgtounp === true ? - this.setgoshowqqgtounp(bool)}> - : - "" + this.setgoshowqqgtounp(bool)}> + : + "" } - this.headtypesonClick("/", false)} className={"fl mr30"}> { mygetHelmetapi2 && mygetHelmetapi2.nav_logo_url && mygetHelmetapi2.nav_logo_url ? - 高校智能化教学与实训平台 - : - 高校智能化教学与实训平台 + 高校智能化教学与实训平台 + : + 高校智能化教学与实训平台 } { mygetHelmetapi2 && mygetHelmetapi2.navbar && mygetHelmetapi2.navbar.length > 0 ? -
-
    - { - mygetHelmetapi2.navbar && mygetHelmetapi2.navbar.map((item, key) => { - var new_link = item.link; - var user_login = this.props.user && this.props.user.login; - var is_hidden = item.hidden +
    +
      + { + mygetHelmetapi2.navbar && mygetHelmetapi2.navbar.map((item, key) => { + var new_link = item.link; + var user_login = this.props.user && this.props.user.login; + var is_hidden = item.hidden - if (new_link.indexOf("courses") > -1 || new_link.indexOf("contests") > -1) { - if (user_login) { - if (new_link.indexOf("courses") > -1) { - new_link = new_link.replace(/courses/g, "users/" + user_login + "/courses") - } else if (new_link.indexOf("contests") > -1) { - new_link = new_link.replace(/contests/g, "users/" + user_login + "/contests") - } - - } else { - is_hidden = true + if (new_link.indexOf("courses") > -1 || new_link.indexOf("contests") > -1) { + if (user_login) { + if (new_link.indexOf("courses") > -1) { + new_link = new_link.replace(/courses/g, "users/" + user_login + "/courses") + } else if (new_link.indexOf("contests") > -1) { + new_link = new_link.replace(/contests/g, "users/" + user_login + "/contests") } - } - // var str = new RegExp("projects"); - // var strbool = false; - // if (item.link) { - // if (str.test(item.link) === true) { - // strbool = true - // } else { - // strbool = false - // } - // } - return ( -
    • this.headtypesonClick(item.link, true)} className={`${this.matchpaths(item.link) === true ? 'pr active' : 'pr'}`} style={!is_hidden ? { display: 'flex' } : { display: 'none' }}> - {item.name} - {/* { - strbool ? - - {item.name} - - : - {item.name} - } */} -
    • - ) - }) - } - {/* { - this.props.current_user && this.props.current_user.login && -
    • this.headtypesonClick(`/users/${this.props.current_user.login}`, true)} className={`${this.matchpaths(`/users/${this.props.current_user.login}`) === true ? 'pr active' : 'pr'}`} style={true ? { display: 'flex' } : { display: 'none' }}> - 项目 -
    • - } */} -
    -
    - : "" + } else { + is_hidden = true + } + } + return ( +
  • this.headtypesonClick(item.link, true)} className={`${this.matchpaths(item.link) === true ? 'pr active' : 'pr'}`} style={!is_hidden ? { display: 'flex' } : { display: 'none' }}> + {item.name} +
  • + ) + }) + } +
+
+ : "" }
@@ -914,7 +864,7 @@ class NewHeader extends Component {
  • - 个人中心 + 个人中心
  • { mygetHelmetapi2 && mygetHelmetapi2.new_course && mygetHelmetapi2.new_course.my_courses &&