diff --git a/package.json b/package.json index 25fb0155..93615bff 100644 --- a/package.json +++ b/package.json @@ -26,6 +26,7 @@ "code-prettify": "^0.1.0", "codemirror": "^5.64.0", "connected-react-router": "4.4.1", + "cross-port-killer": "^1.0.1", "css-loader": "^3.5.2", "dompurify": "^2.3.3", "dotenv": "4.0.0", @@ -204,7 +205,7 @@ "babel-preset-stage-2": "^6.24.1", "compression-webpack-plugin": "^1.1.12", "concat": "^1.0.3", - "cross-env": "^7.0.3", + "cross-env": "^5.1.1", "happypack": "^5.0.1", "less": "^3.9.0", "less-loader": "^4.1.0", diff --git a/public/css/iconfont.css b/public/css/iconfont.css index 1c5f7663..5cfa1e4c 100644 --- a/public/css/iconfont.css +++ b/public/css/iconfont.css @@ -1,8 +1,8 @@ @font-face { font-family: "iconfont"; /* Project id 2340181 */ - src: url('iconfont.woff2?t=1642391410353') format('woff2'), - url('iconfont.woff?t=1642391410353') format('woff'), - url('iconfont.ttf?t=1642391410353') format('truetype'); + src: url('iconfont.woff2?t=1644907653340') format('woff2'), + url('iconfont.woff?t=1644907653340') format('woff'), + url('iconfont.ttf?t=1644907653340') format('truetype'); } .iconfont { @@ -13,6 +13,14 @@ -moz-osx-font-smoothing: grayscale; } +.icon-icon2:before { + content: "\e912"; +} + +.icon-a-21:before { + content: "\e913"; +} + .icon-a-2:before { content: "\e90f"; } diff --git a/public/css/iconfont.js b/public/css/iconfont.js index 521c1c84..af5776af 100644 --- a/public/css/iconfont.js +++ b/public/css/iconfont.js @@ -1 +1 @@ -!function(a){var c,l,h,i,o,z='',t=(t=document.getElementsByTagName("script"))[t.length-1].getAttribute("data-injectcss"),p=function(a,c){c.parentNode.insertBefore(a,c)};if(t&&!a.__iconfont__svg__cssinject__){a.__iconfont__svg__cssinject__=!0;try{document.write("")}catch(a){console&&console.log(a)}}function v(){o||(o=!0,h())}function m(){try{i.documentElement.doScroll("left")}catch(a){return void setTimeout(m,50)}v()}c=function(){var a,c;(c=document.createElement("div")).innerHTML=z,z=null,(a=c.getElementsByTagName("svg")[0])&&(a.setAttribute("aria-hidden","true"),a.style.position="absolute",a.style.width=0,a.style.height=0,a.style.overflow="hidden",c=a,(a=document.body).firstChild?p(c,a.firstChild):a.appendChild(c))},document.addEventListener?~["complete","loaded","interactive"].indexOf(document.readyState)?setTimeout(c,0):(l=function(){document.removeEventListener("DOMContentLoaded",l,!1),c()},document.addEventListener("DOMContentLoaded",l,!1)):document.attachEvent&&(h=c,i=a.document,o=!1,m(),i.onreadystatechange=function(){"complete"==i.readyState&&(i.onreadystatechange=null,v())})}(window); +!function(a){var c,l,h,i,o,z='',t=(t=document.getElementsByTagName("script"))[t.length-1].getAttribute("data-injectcss"),v=function(a,c){c.parentNode.insertBefore(a,c)};if(t&&!a.__iconfont__svg__cssinject__){a.__iconfont__svg__cssinject__=!0;try{document.write("")}catch(a){console&&console.log(a)}}function p(){o||(o=!0,h())}function m(){try{i.documentElement.doScroll("left")}catch(a){return void setTimeout(m,50)}p()}c=function(){var a,c=document.createElement("div");c.innerHTML=z,z=null,(c=c.getElementsByTagName("svg")[0])&&(c.setAttribute("aria-hidden","true"),c.style.position="absolute",c.style.width=0,c.style.height=0,c.style.overflow="hidden",c=c,(a=document.body).firstChild?v(c,a.firstChild):a.appendChild(c))},document.addEventListener?~["complete","loaded","interactive"].indexOf(document.readyState)?setTimeout(c,0):(l=function(){document.removeEventListener("DOMContentLoaded",l,!1),c()},document.addEventListener("DOMContentLoaded",l,!1)):document.attachEvent&&(h=c,i=a.document,o=!1,m(),i.onreadystatechange=function(){"complete"==i.readyState&&(i.onreadystatechange=null,p())})}(window); \ No newline at end of file diff --git a/public/css/iconfont.json b/public/css/iconfont.json index 6b490b07..4977de9f 100644 --- a/public/css/iconfont.json +++ b/public/css/iconfont.json @@ -5,6 +5,20 @@ "css_prefix_text": "icon-", "description": "", "glyphs": [ + { + "icon_id": "27299393", + "name": "icon", + "font_class": "icon2", + "unicode": "e912", + "unicode_decimal": 59666 + }, + { + "icon_id": "27299394", + "name": "2", + "font_class": "a-21", + "unicode": "e913", + "unicode_decimal": 59667 + }, { "icon_id": "27200759", "name": "2", diff --git a/public/css/iconfont.ttf b/public/css/iconfont.ttf index e4b21c0b..2505060c 100644 Binary files a/public/css/iconfont.ttf and b/public/css/iconfont.ttf differ diff --git a/public/css/iconfont.woff b/public/css/iconfont.woff index 2fb7db94..561a134c 100644 Binary files a/public/css/iconfont.woff and b/public/css/iconfont.woff differ diff --git a/public/css/iconfont.woff2 b/public/css/iconfont.woff2 index 228840c6..494b00b3 100644 Binary files a/public/css/iconfont.woff2 and b/public/css/iconfont.woff2 differ diff --git a/src/App.js b/src/App.js index e3b02f52..8675a955 100644 --- a/src/App.js +++ b/src/App.js @@ -300,7 +300,8 @@ class App extends Component { this.Modifyloginvalue()}> - + {/* 红山开源项目暂无右下方便捷按钮 */} + {/* */} {/* */} {/* wiki预览 */} diff --git a/src/AppConfig.js b/src/AppConfig.js index ccc12e49..8e89543b 100644 --- a/src/AppConfig.js +++ b/src/AppConfig.js @@ -25,13 +25,14 @@ if (isDev) { } debugType = window.location.search.indexOf('debug=t') !== -1 ? 'teacher' : window.location.search.indexOf('debug=s') !== -1 ? 'student' : - window.location.search.indexOf('debug=a') !== -1 ? 'a' : parsed.debug || 'a' + window.location.search.indexOf('debug=a') !== -1 ? 'a' : parsed.debug || 'admin' } window._debugType = debugType; export function initAxiosInterceptors(props) { // 判断网络是否连接 initOnlineOfflineListener(); + // var proxy = "http://192.168.1.40:3000"; var proxy = "http://111.8.36.180:8000"; //响应前的设置 axios.interceptors.request.use( diff --git a/src/Loading.js b/src/Loading.js index 8175b7df..f9905747 100644 --- a/src/Loading.js +++ b/src/Loading.js @@ -9,7 +9,20 @@ class Loading extends Component { } render() { - return "" + return ( +
+ + +
+ ); } } diff --git a/src/common/UrlTool.js b/src/common/UrlTool.js index ca1d1754..10823825 100644 --- a/src/common/UrlTool.js +++ b/src/common/UrlTool.js @@ -6,18 +6,17 @@ const { Search } = Input; const $ = window.$; const isDev = window.location.port == 3007; const isdev2= window.location.hostname ==='www.educoder.net' -// export const TEST_HOST = "http://39.105.176.215:49999" -export const TEST_HOST = "http://117.50.100.12:49999"; +export const TEST_HOST = "http://111.8.36.180:8000"; export function getImageUrl(path) { // https://www.educoder.net // https://testbdweb.trustie.net - // const local = 'http://localhost:3000' + // const local = 'http://localhost:3000' // const local = 'http://39.105.176.215:49999'; - const local = 'http://117.50.100.12:49999'; - + const local = 'http://111.8.36.180:8000'; if (isDev) { return `${local}/${path}` } + !path.startsWith('/') && (path = '/'.concat(path)); return `${path}`; } @@ -39,10 +38,7 @@ export function numFormat(num, digits){ } export function getImage(path) { - // https://www.educoder.net - // https://testbdweb.trustie.net - // const local = 'http://localhost:3000' - const local = 'http://39.105.176.215:49999'; + const local = 'http://111.8.36.180:8000'; if (path&&path.indexOf("http://") === -1) { if (isDev) { return `${local}/images/${path}` @@ -54,10 +50,7 @@ export function getImage(path) { } export function getTestImage(path) { - // https://www.educoder.net - // https://testbdweb.trustie.net - // const local = 'http://localhost:3000' - const local = 'http://117.50.100.12:49999'; + const local = 'http://111.8.36.180:8000'; if (path && path.indexOf("http://") === -1) { if (isDev) { return `${local}${path}` @@ -69,7 +62,7 @@ export function getTestImage(path) { } export function getLogoImageUrl(path) { - const local = 'http://117.50.100.12:49999'; + const local = 'http://111.8.36.180:8000'; if (isDev) { return `${local}/${path}` @@ -78,9 +71,6 @@ export function getLogoImageUrl(path) { } export function getcdnImageUrl(path) { - // https://www.educoder.net - // https://testbdweb.trustie.net - // const local = 'http://localhost:3000' const testlocal = 'https://testali-cdn.educoder.net' const local = 'https://ali-cdn.educoder.net' let firstStr = path.substr(0, 1); diff --git a/src/forge/Head/header.scss b/src/forge/Head/header.scss index 7878f20b..b6c8e221 100644 --- a/src/forge/Head/header.scss +++ b/src/forge/Head/header.scss @@ -135,6 +135,7 @@ // 右上角小铃铛单独样式 .notice-popover{ + z-index: 1000001; //popover小尖尖 .ant-popover-arrow{ display: none; @@ -184,7 +185,7 @@ .message-icon{ position: relative; .ant-scroll-number{ - right:12px; + // right:12px; padding: 0 0px; } } diff --git a/src/forge/Index.js b/src/forge/Index.js index dc4bb870..062a03dd 100644 --- a/src/forge/Index.js +++ b/src/forge/Index.js @@ -11,6 +11,7 @@ import "./css/index.scss"; import Loadable from "react-loadable"; import Loading from "../Loading"; import { ImageLayerOfCommentHOC } from "../modules/page/layers/ImageLayerOfCommentHOC"; +import Handbook from "./Component/Handbook"; const ProjectNew = Loadable({ @@ -40,6 +41,7 @@ class Index extends Component { return (
+ -
+
diff --git a/src/forge/Main/Index.js b/src/forge/Main/Index.js index ea1a51a0..c9419b83 100644 --- a/src/forge/Main/Index.js +++ b/src/forge/Main/Index.js @@ -10,6 +10,7 @@ import ListItem from './IndexItem'; import axios from 'axios'; import img_new from '../Images/new.png'; import img_array from '../Images/array.png'; +import banner from '../Images/banner_list.png'; import CheckProfile from '../Component/ProfileModal/Profile'; const Search = Input.Search; @@ -131,7 +132,7 @@ class Index extends Component { name:'全部语言', id:0, }); - this.setTypeList(result.data, undefined) + this.setTypeList(result.data, 0) } }).catch((error) => { }) } @@ -140,7 +141,7 @@ class Index extends Component { this.setState({ typeList: list.map((item, key) => { return ( -
  • this.changeType(`${item.id}`, list)}> +
  • this.changeType(`${item.id}`, list)}>

    {item.name} {item.projects_count} @@ -174,7 +175,7 @@ class Index extends Component { name:'全部类别', id:0, }); - this.setCategoryList(result.data, undefined); + this.setCategoryList(result.data, 0); } }).catch((error) => { }) } @@ -183,7 +184,7 @@ class Index extends Component { this.setState({ categoryList: list.map((item, key) => { return ( -

  • this.changeCategory(`${item.id}`, list)}> +
  • this.changeCategory(`${item.id}`, list)}>

    {item.name} {item.projects_count} @@ -291,9 +292,9 @@ class Index extends Component { return (

    - {/*

    +

    -

    */} +

    {/* { recommendOriList && recommendOriList.length>0? diff --git a/src/forge/Main/IndexItem.js b/src/forge/Main/IndexItem.js index a5792d97..632f5556 100644 --- a/src/forge/Main/IndexItem.js +++ b/src/forge/Main/IndexItem.js @@ -102,18 +102,12 @@ class IndexItem extends Component { } - { - item.praises_count && item.praises_count>0 ? - - 赞 {item.praises_count} - :"" - } - { - item.forked_count && item.forked_count>0 ? - - fork {item.forked_count} - :"" - } + + 赞 {item.praises_count} + + + fork {item.forked_count} +

    {item.description}

    diff --git a/src/forge/Main/list.scss b/src/forge/Main/list.scss index 67ee90b0..69732aa6 100644 --- a/src/forge/Main/list.scss +++ b/src/forge/Main/list.scss @@ -66,6 +66,9 @@ } .list-r-Search{ width: 400px; + .ant-input:hover{ + border-color: #4154f1; + } } .padding0-25{ padding:0px 25px; @@ -229,6 +232,9 @@ background-color:#FBFCFF; border-bottom:1px solid #e2e2e2; } +.open-sourse + .ant-spin-nested-loading{ + margin-bottom: 130px; +} .headerMenu-wrapper{ display: flex; flex-direction: row; diff --git a/src/forge/Order/order.js b/src/forge/Order/order.js index 19babaab..6b9611f2 100644 --- a/src/forge/Order/order.js +++ b/src/forge/Order/order.js @@ -886,7 +886,7 @@ class order extends Component { {search_count === 0 ? ( ) : ( -
    +
    {issues && issues.length > 0 && issues.map((item, key) => { return ( diff --git a/src/forge/SecuritySetting/Index.jsx b/src/forge/SecuritySetting/Index.jsx index 1cfef0c3..c010befe 100644 --- a/src/forge/SecuritySetting/Index.jsx +++ b/src/forge/SecuritySetting/Index.jsx @@ -83,11 +83,11 @@ function Index(props){
    - setAvatarVisible(true)}>修改头像 + {/* setAvatarVisible(true)}>修改头像 */}
    {current_user && current_user.username}
    -
      + {/*
      • 个人信息
      • -1 ?"active":""}>基本资料
      • -1 ?"active":""}>密码管理
      • @@ -100,6 +100,10 @@ function Index(props){
        • 安全设置
        • -1 ?"active":""}>SSH密钥
        • +
        */} +
          +
        • 消息通知
        • +
        • -1 && pathname.indexOf("/settings/notice/config") == -1) || pathname.indexOf("/settings/notice/privateLetter")>-1 ?"active":""}>我的通知
    diff --git a/src/forge/SecuritySetting/Index.scss b/src/forge/SecuritySetting/Index.scss index 7d299876..ec32e9d2 100644 --- a/src/forge/SecuritySetting/Index.scss +++ b/src/forge/SecuritySetting/Index.scss @@ -6,6 +6,7 @@ padding:30px 0px 10px; .shortW{ width: 198px; + height: 300px; border: 1px solid rgba(153, 153, 153, 0.22); border-radius: 4px; // min-height: 400px; @@ -77,7 +78,7 @@ } } .ul-border-buttom{ - border-bottom: 1px solid rgba(153, 153, 153, 0.22); + // border-bottom: 1px solid rgba(153, 153, 153, 0.22); padding-bottom: 5px; } } diff --git a/src/forge/SecuritySetting/notice/myNotice/Index.jsx b/src/forge/SecuritySetting/notice/myNotice/Index.jsx index 1a8ddf9d..bd8c10f4 100644 --- a/src/forge/SecuritySetting/notice/myNotice/Index.jsx +++ b/src/forge/SecuritySetting/notice/myNotice/Index.jsx @@ -32,11 +32,11 @@ function MyNotice(props) { useEffect(()=>{ let notice = mygetHelmetapi && mygetHelmetapi.common && mygetHelmetapi.common.notice; let login = current_user && current_user.login; - if(!login){ - history.push(`/explore`); - }else if(!notice){ - history.push(`/settings/profile`); - } + // if(!login){ + // history.push(`/explore`); + // }else if(!notice){ + // history.push(`/settings/profile`); + // } },[mygetHelmetapi]) useEffect(()=>{ diff --git a/src/forge/Settings/Index.js b/src/forge/Settings/Index.js index ae957911..78c4636d 100644 --- a/src/forge/Settings/Index.js +++ b/src/forge/Settings/Index.js @@ -113,7 +113,7 @@ class Index extends Component {

  • { - projectDetail && projectDetail.permission && (projectDetail.permission === "Owner" || projectDetail.permission === "Admin") ? + false && projectDetail && projectDetail.permission && (projectDetail.permission === "Owner" || projectDetail.permission === "Admin") ?
  • -1 ? "active" : ""} > diff --git a/src/forge/Settings/Setting.js b/src/forge/Settings/Setting.js index 878ac19f..0763d78f 100644 --- a/src/forge/Settings/Setting.js +++ b/src/forge/Settings/Setting.js @@ -14,7 +14,7 @@ const menu = [ {name:"代码库",index:"code"}, {name:"疑修 (Issue)",index:"issues"}, {name:"合并请求 (PR)",index:"pulls"}, - {name:"引擎 (Engine)",index:"devops"}, + // {name:"引擎 (Engine)",index:"devops"}, // {name:"资源库",index:"resources"}, {name:"里程碑",index:"versions"}, {name:"维基 (Wiki)",index:"wiki"}, diff --git a/src/forge/css/index.scss b/src/forge/css/index.scss index 0084e8db..4bde40a9 100644 --- a/src/forge/css/index.scss +++ b/src/forge/css/index.scss @@ -2,7 +2,8 @@ ul,ol,dl{ margin-bottom: 0px; } .newMain{ - background-color: #fff; + padding-bottom: 110px; + background-color: #f5f5f5; } .newTable{ background-color: #F0F5FF; @@ -272,7 +273,7 @@ form{ width: 6px; content: ''; height: 33px; - background: #1484EF; + background: #4154f1; } .MenuTitle{ font-size: 16px; @@ -290,10 +291,10 @@ form{ cursor: pointer; } span:hover{ - color: #1484EF; + color: #4154f1; .iconfont{ - color: #1484EF !important; + color: #4154f1 !important; } } } diff --git a/src/forge/users/Infos.js b/src/forge/users/Infos.js index df709b35..cae6e5c9 100644 --- a/src/forge/users/Infos.js +++ b/src/forge/users/Infos.js @@ -218,7 +218,7 @@ class Infos extends Component { const { username } = this.props.match.params; const { user, isSpin, route_type , undo_events , menuKey , avatarVisible } = this.state; return ( -
    +
    { avatarVisible && - { + {/* { current_user && current_user.login && current_user.login === username ? {this.setState({avatarVisible:true})}}>修改头像 :"" - } + } */}
    {user && user.username} @@ -328,11 +328,11 @@ class Infos extends Component { :"" } - { + {/* { current_user && current_user.login && current_user.login === username ? DevOps引擎 :"" - } + } */} 组织 diff --git a/src/forge/users/new_user.css b/src/forge/users/new_user.css index 2eb10912..ac97b3e4 100644 --- a/src/forge/users/new_user.css +++ b/src/forge/users/new_user.css @@ -54,3 +54,6 @@ a.text-button-grey{ } .text-right{text-align: right;} .bbt{border-bottom: 1px solid #e0e0e0;} +.whiteMain{ + background-color: #fff; +} \ No newline at end of file diff --git a/src/military/expert/api.js b/src/military/expert/api.js index 183956b4..54b3a6be 100644 --- a/src/military/expert/api.js +++ b/src/military/expert/api.js @@ -221,7 +221,6 @@ export async function assignExperts(data){ //删除指派专家 export function deleteExperts(taskExpertId,isDelete) { - console.log('taskExpertId',taskExpertId,'isDelete',isDelete); return fetch({ url: `/api/taskExpert/${taskExpertId}?isDelete=${isDelete}`, method: 'delete' diff --git a/src/military/expert/expertList/index.jsx b/src/military/expert/expertList/index.jsx index 21666b5f..69baf73a 100644 --- a/src/military/expert/expertList/index.jsx +++ b/src/military/expert/expertList/index.jsx @@ -393,7 +393,7 @@ function RegisterList({ showNotification }) { > -

    { window.open(httpUrl + '/busiAttachments/download/883') }}>专家注册表模板.xlsx

    +

    { window.open(httpUrl + '/busiAttachments/download/134') }}>专家注册表模板.xlsx

    提示:只能在导入模版上增减数据,才能导入成功!

    ) diff --git a/src/military/expert/expertUser/taskDetail/index.jsx b/src/military/expert/expertUser/taskDetail/index.jsx index 04e020b1..2bf39d60 100644 --- a/src/military/expert/expertUser/taskDetail/index.jsx +++ b/src/military/expert/expertUser/taskDetail/index.jsx @@ -222,12 +222,13 @@ function ReviewTasks({ showNotification, match, history, current_user }) { gradesTwo: '', opsContent: item.works_remark, opsFiles: item.work_file.id, - opsFilesAttachments: item.work_file, + opsFilesAttachments: new Array(item.work_file), opsId: item.id, opsParentId: containerId, opsParentType: containerType, opsType: containerType, - status: 2 + status: 2, + competitionTeamName: item.name }); } } diff --git a/src/military/expert/fetch.js b/src/military/expert/fetch.js index e6d22ff3..9cb95bd5 100644 --- a/src/military/expert/fetch.js +++ b/src/military/expert/fetch.js @@ -3,8 +3,7 @@ import javaFetch from '../javaFetch'; let settings = localStorage.chromesetting && JSON.parse(localStorage.chromesetting); -let actionUrl = settings && settings.api_urls && settings.api_urls.expert ? settings.api_urls.expert : 'http://117.50.100.12:8066'; -// http://117.50.100.12:8067/ +let actionUrl = settings && settings.api_urls && settings.api_urls.expert ? settings.api_urls.expert : 'http://111.8.36.180:8094'; const service = javaFetch(actionUrl); export const httpUrl = actionUrl; export const main_web_site_url = settings && settings.main_web_site_url; diff --git a/src/military/expert/reviewResult/gradesModal/index.jsx b/src/military/expert/reviewResult/gradesModal/index.jsx index 53f0d2b5..91fbcfcf 100644 --- a/src/military/expert/reviewResult/gradesModal/index.jsx +++ b/src/military/expert/reviewResult/gradesModal/index.jsx @@ -145,7 +145,9 @@ function GradesModal({ setVisible, visible, taskId, opsDetail, containerType }) >
    综合排名: {opsDetail && opsDetail.id} - 应征者:   {opsDetail && (opsDetail.applicantInfo.nickname == null ? opsDetail.applicantInfo.login : opsDetail.applicantInfo.nickname)} + {containerType == 1 ? '应征者': '战队名称'}:   + {containerType == 1 && opsDetail && (opsDetail.applicantInfo.nickname == null ? opsDetail.applicantInfo.login : opsDetail.applicantInfo.nickname)} + {containerType == 2 && opsDetail && opsDetail.competitionTeamName} 平均得分:   {opsDetail && opsDetail.finalGrades || `--`} 是否胜出:   {opsDetail && opsDetail.isWin ?
    胜出
    : '未胜出'}
    diff --git a/src/military/expert/reviewResult/index.jsx b/src/military/expert/reviewResult/index.jsx index 7aa7e084..501ee07a 100644 --- a/src/military/expert/reviewResult/index.jsx +++ b/src/military/expert/reviewResult/index.jsx @@ -38,11 +38,11 @@ function ReviewResult({ history, match, mygetHelmetapi}) { dataIndex: 'applicantInfo.nickname', key: 'expertName', render: (text, record) => { - return text === null ? record.applicantInfo.login : text + return containerType ==1 ? text === null ? record.applicantInfo.login : text : record.competitionTeamName || '--'; } }, { - title: '平均得分', + title: '最终得分', dataIndex: 'finalGrades', key: 'phone', }, @@ -65,6 +65,8 @@ function ReviewResult({ history, match, mygetHelmetapi}) { return record.isWin ?
    胜出
    : status == 4 ? {changeIsWin(record.applicantInfo.id, e.target.checked)}}>胜出 : '未胜出'; } }); + }else{ + columns[1].title = "战队名称"; } useEffect(()=>{ @@ -197,16 +199,17 @@ function ReviewResult({ history, match, mygetHelmetapi}) {

    {status > 3 ? -

    应征者排名

    +

    {containerType ==1 ? '应征者':'战队'}排名

    - {status == 4 && } + {/* 公示结果仅保留给创客使用 */} + {containerType == 1 && status == 4 && }
    -
    :
    暂无数据,此任务暂未进入成果评选阶段。
    } + :
    暂无数据,此任务暂未进入{containerType ==1 ? '成果':'竞赛'}评选阶段。
    } { if (data && Array.isArray(data.rows)) { - let index = 1; - for (const item of data.rows) { - item.reviewAreas = `${item.reviewAreaOne} ${item.reviewAreaTwo ? `、${item.reviewAreaTwo}`:''} ${item.reviewAreaThree ? `、${item.reviewAreaThree}`:''}`; - item.index = (index++) + (curPage > 1 ? (curPage - 1) * 10 : 0); + if(data.rows.length === 0 && curPage > 1 && activeKey == 1){ + // 当前页数据为空跳转到前一页 + setCurPage(curPage-1); + }else{ + let index = 1; + for (const item of data.rows) { + item.reviewAreas = `${item.reviewAreaOne} ${item.reviewAreaTwo ? `、${item.reviewAreaTwo}`:''} ${item.reviewAreaThree ? `、${item.reviewAreaThree}`:''}`; + item.index = (index++) + (curPage > 1 ? (curPage - 1) * 10 : 0); + } } + } setDataList(data && data.rows); setLoading(false); @@ -210,13 +216,18 @@ function SelectExpert(props) { } selectExpertList(params).then(response=>{ if (response && response.data && Array.isArray(response.data.rows)) { - let index = 1; - for (const item of response.data.rows) { - item.reviewAreas = `${item.reviewAreaOne} ${item.reviewAreaTwo ? `、${item.reviewAreaTwo}`:''} ${item.reviewAreaThree ? `、${item.reviewAreaThree}`:''}`; - item.index = (index++) + (curPage > 1 ? (curPage - 1) * 10 : 0); + if(response.data.rows.length === 0 && curPage > 1 && activeKey == 0){ + // 当前页数据为空跳转到前一页 + setCurPage(curPage-1); + }else{ + let index = 1; + for (const item of response.data.rows) { + item.reviewAreas = `${item.reviewAreaOne} ${item.reviewAreaTwo ? `、${item.reviewAreaTwo}`:''} ${item.reviewAreaThree ? `、${item.reviewAreaThree}`:''}`; + item.index = (index++) + (curPage > 1 ? (curPage - 1) * 10 : 0); + } + setSelectExperts(response && response.data.rows); + setSelectedExpertTotal(response && response.data.total); } - setSelectExperts(response && response.data.rows); - setSelectedExpertTotal(response && response.data.total); } }).finally(()=>{ setLoading(false); diff --git a/src/military/index.scss b/src/military/index.scss index d698d19b..8ba0cfb8 100644 --- a/src/military/index.scss +++ b/src/military/index.scss @@ -123,11 +123,11 @@ max-width: 500px; } -.link { - color: #0089ff; +.link, .link:hover { + color: #4154f1; cursor: pointer; &:hover { - color: #509eff; + opacity: 0.8; } } diff --git a/src/military/notice/noticeList/index.scss b/src/military/notice/noticeList/index.scss index d4b58f5f..2c2eabe9 100644 --- a/src/military/notice/noticeList/index.scss +++ b/src/military/notice/noticeList/index.scss @@ -41,9 +41,16 @@ justify-content: space-between; padding: .3rem 2rem 1.5rem; margin: 0px -1.25rem; - // border: 1px solid; border-bottom: 1px solid #E0E0E0; - // background: #f5f5f5; + .ant-input:hover{ + border-color: #4154f1; + } + .ant-btn-primary{ + background-color: #4154f1; + &:hover{ + opacity: 0.8; + } + } } .notice-center-content{ @@ -66,7 +73,7 @@ } i{ margin-right: .25em; - color: #1890FF; + color: #4154f1; } } } @@ -91,10 +98,10 @@ color: #333; cursor: pointer; &:hover{ - color: #1890FF; + color: #4154f1; } &.active{ - color: #1890FF; + color: #4154f1; } } } @@ -108,6 +115,9 @@ margin-right: 20px; width: 20.8em; caret-color: rgba(0, 0, 0, 0); + .menu-ul:last-child{ + margin-top: 12px; + } } .none_p_title{ @@ -135,9 +145,9 @@ } span:hover{ - color: #1484EF; + color: #4154f1; .iconfont{ - color: #1484EF !important; + color: #4154f1 !important; } } } @@ -174,7 +184,7 @@ width: 6px; content: ''; height: 30px; - background: #1484EF; + background: #4154f1; } } @@ -185,4 +195,21 @@ .ant-input-group-addon .ant-btn-lg { height: 40px; +} + +.edu-txt-center .ant-pagination { + margin: 2rem auto; + text-align: center; + .ant-pagination-item:focus, .ant-pagination-item:hover, .ant-pagination-item-active, .ant-pagination-prev:hover a, .ant-pagination-next:hover a, .ant-pagination-options-quick-jumper input:focus, .ant-pagination-options-quick-jumper input:hover{ + border-color: #4154f1; + } + .ant-pagination-disabled{ + & a, & :hover a, & :focus a, & .ant-pagination-item-link, &:hover .ant-pagination-item-link , &:focus .ant-pagination-item-link { + color: rgba(0, 0, 0, 0.25) !important; + border-color: #d9d9d9; + } + } + .ant-pagination-item-active a{ + color: #4154f1 + } } \ No newline at end of file diff --git a/src/military/task/fetch.js b/src/military/task/fetch.js index 520f5352..b5773130 100644 --- a/src/military/task/fetch.js +++ b/src/military/task/fetch.js @@ -4,7 +4,7 @@ import javaFetch from '../javaFetch'; let settings=localStorage.chromesetting&&JSON.parse(localStorage.chromesetting); let actionUrl = settings && settings.api_urls? settings.api_urls.task :'https://task.osredm.com'; -// let actionUrl = 'http://117.50.100.12:8066' +// let actionUrl = 'http://111.8.36.180:8094' const service = javaFetch(actionUrl); export const httpUrl = actionUrl; diff --git a/src/military/task/index.scss b/src/military/task/index.scss index 107587d2..fe484d80 100644 --- a/src/military/task/index.scss +++ b/src/military/task/index.scss @@ -90,6 +90,15 @@ span.list-gray { .center-content .ant-pagination { margin: 2rem auto; text-align: center; + .ant-pagination-item:focus, .ant-pagination-item:hover, .ant-pagination-item-active, .ant-pagination-prev:hover a, .ant-pagination-next:hover a, .ant-pagination-options-quick-jumper input:focus, .ant-pagination-options-quick-jumper input:hover{ + border-color: #4154f1; + } + .ant-pagination-disabled{ + & a, & :hover a, & :focus a, & .ant-pagination-item-link, &:hover .ant-pagination-item-link , &:focus .ant-pagination-item-link { + color: rgba(0, 0, 0, 0.25) !important; + border-color: #d9d9d9; + } + } } .text-ellipsis { @@ -105,3 +114,18 @@ span.list-gray { max-width: 80%; } } + +.demand_submission,.demand_submission:focus,.failByPression .ant-modal-body .ant-btn-primary{ + background-color: #4154f1; + border: none; + &:hover{ + background-color: #4154f1; + opacity: 0.8; + } +} +.center-right-but .ant-input:hover, .center-content .ant-pagination-prev:hover{ + border-color: #4154f1 !important; +} +.failByPression .ant-modal-body .anticon, .center-right-but .ant-input-search-icon:hover, .center-content .ant-pagination-item-active a{ + color: #4154f1; +} \ No newline at end of file diff --git a/src/military/task/taskDetail/index.jsx b/src/military/task/taskDetail/index.jsx index b390dff5..46fc2935 100644 --- a/src/military/task/taskDetail/index.jsx +++ b/src/military/task/taskDetail/index.jsx @@ -470,7 +470,7 @@ export default Form.create()(
  • {!current_user.enterpriseCertification && } {current_user.enterpriseCertification && detailData.status === 3 && (!detailData.exceptClosedBoolean) && signContent()} diff --git a/src/military/task/taskDetail/index.scss b/src/military/task/taskDetail/index.scss index 9f7a0549..2f12465d 100644 --- a/src/military/task/taskDetail/index.scss +++ b/src/military/task/taskDetail/index.scss @@ -21,7 +21,7 @@ background: #f1f8ff; border-radius: 4px; float: left; - color: #459be6; + color: #4154f1; height: 1.25rem; line-height: 1.25rem; } @@ -61,7 +61,7 @@ } .tasks_status li.active { - background: #4cacff; + background: #4154f1; color: #fff; } @@ -92,7 +92,7 @@ } .tasks_status li.active:after { - border-color: transparent transparent #4cacff transparent; + border-color: transparent transparent #4154f1 transparent; transform: rotate(90deg); } @@ -167,4 +167,8 @@ li.except-close{ background: #fa6400; color: #fff; +} + +.color-blue_41{ + color: #4154f1; } \ No newline at end of file diff --git a/src/military/task/taskList/index.jsx b/src/military/task/taskList/index.jsx index f4fedc06..5e5dc6d9 100644 --- a/src/military/task/taskList/index.jsx +++ b/src/military/task/taskList/index.jsx @@ -163,7 +163,8 @@ export default ({ history, current_user, showLoginDialog, location }) => { }); } else { Modal.info({ - content: '您没有权限需求提报' + content: '您没有权限需求提报', + className:'failByPression' }); } } @@ -227,7 +228,7 @@ export default ({ history, current_user, showLoginDialog, location }) => { onSearch={(value) => { setSearchInput(value); setCurPage(1); }} /> - +
    diff --git a/src/modules/404/Shixunnopage.js b/src/modules/404/Shixunnopage.js index e5e2e21c..7ed53a25 100644 --- a/src/modules/404/Shixunnopage.js +++ b/src/modules/404/Shixunnopage.js @@ -1,6 +1,8 @@ import React, { Component } from 'react'; import { TPMIndexHOC } from '../tpm/TPMIndexHOC'; import { SnackbarHOC, getImageUrl } from 'educoder'; +import Loading from "../../Loading"; + class http500 extends Component { constructor(props) { diff --git a/src/modules/courses/css/Courses.css b/src/modules/courses/css/Courses.css index 06466b07..70e2e59e 100644 --- a/src/modules/courses/css/Courses.css +++ b/src/modules/courses/css/Courses.css @@ -580,7 +580,7 @@ span.CodeMirror-selectedtext { body #root { - background: #fff; + background: #f5f5f5; } .newedu-class-leftnav { @@ -1531,7 +1531,7 @@ samp { } .ant-input-search-icon:hover { - color: #4CACFF !important; + /* color: #4CACFF !important; */ } .coursehomework:hover .activity-title { diff --git a/src/modules/login/LoginDialog.js b/src/modules/login/LoginDialog.js index 56d569d3..06a0efbf 100644 --- a/src/modules/login/LoginDialog.js +++ b/src/modules/login/LoginDialog.js @@ -521,7 +521,7 @@ class LoginDialog extends Component { } value={this.state.loginValue} name="username" - placeholder="请输入邮箱地址/用户名" > + placeholder="请输入有效的手机号/邮箱号" >

    {Phonenumberisnotco}

    diff --git a/src/modules/tpm/NewFooter.js b/src/modules/tpm/NewFooter.js index 331ff57c..ccd9ebf1 100644 --- a/src/modules/tpm/NewFooter.js +++ b/src/modules/tpm/NewFooter.js @@ -24,11 +24,12 @@ class NewFooter extends Component { render() { const {forge_footer} = this.state; return ( -
    - { - forge_footer && this.showhtml(forge_footer) - } -
    + //
    + // { + // forge_footer && this.showhtml(forge_footer) + // } + //
    + this.showhtml(forge_footer) ); } } diff --git a/src/modules/tpm/NewHeader.js b/src/modules/tpm/NewHeader.js index 3ba0e044..b635dfb5 100644 --- a/src/modules/tpm/NewHeader.js +++ b/src/modules/tpm/NewHeader.js @@ -4,7 +4,7 @@ import AccountProfile from "../user/AccountProfile"; import { getImageUrl,getLogoImageUrl } from 'educoder'; import { getUserInfo } from 'src/military/expert/api'; import axios from 'axios'; -import { Modal, Input, message, notification, Button } from 'antd'; +import { Modal, Input, message, notification, Button, Popover, Badge } from 'antd'; import LoginDialog from '../login/LoginDialog'; import GotoQQgroup from '../../modal/GotoQQgroup' @@ -16,6 +16,7 @@ import './TPMIndex.css'; import './css/headerExcess.css'; import logo from './images/hskylogo.png'; import AddProjectModal from '../../forge/Head/AddProjectModal'; +import NoticeContent from 'src/forge/Head/NoticeContent'; const $ = window.$ // TODO 这部分脚本从公共脚本中直接调用 @@ -50,11 +51,11 @@ class NewHeader extends Component { mydisplay: false, headtypesonClickbool: false, headtypess: "/", - mygetHelmetapi2: null, settings: null, goshowqqgtounp: false, visiblemyss: false, isExpert: false, + visible:false, //浮动消息框展示控制 } } componentDidMount() { @@ -127,7 +128,7 @@ class NewHeader extends Component { } onLogout = () => { const url = `/accounts/logout.json` - this.delCookie("autologin_trustie") + this.delCookie("autologin_forge_military") axios.get(url, { }).then((response) => { if (response.data.status === 1) { @@ -590,6 +591,9 @@ class NewHeader extends Component { } } + handleVisibleChange = visible => { + this.setState({ visible }); + }; // 处理弹框 setgoshowqqgtounp = (bool) => { @@ -598,7 +602,7 @@ class NewHeader extends Component { }) } render() { - const { match,current_user } = this.props; + const { resetUserInfo , showNotification, match, current_user } = this.props; let { Addcoursestypes, tojoinitemtype, @@ -615,7 +619,7 @@ class NewHeader extends Component { headtypess, settings, goshowqqgtounp, - mygetHelmetapi2, + visible, } = this.state; let activeIndex =match.path === '/'?true: ''; let headtypes = '/'; @@ -741,7 +745,7 @@ class NewHeader extends Component {
    } {this.props.user && this.props.user.login && -
    +
    @@ -751,7 +755,7 @@ class NewHeader extends Component { { settings && settings.add && settings.add.map((item,key)=>{ return( -
  • {item.name}
  • +
  • {item.name}
  • ) }) } @@ -763,16 +767,23 @@ class NewHeader extends Component {
    } - {this.props.user && this.props.user.login && -
    - {user && user.login && - - - - - - } -
    + { (settings && settings.common && settings.common.notice) && (current_user && current_user.login)? + } + visible={visible} + onVisibleChange={this.handleVisibleChange} + destroyTooltipOnHide + > + + {current_user && + {/* */} + + } + + + : "" } this.educoderlogin()} className={`mr5 ${activeIndex ? 'color-home' : 'color-grey-6'}`}>登录 { - mygetHelmetapi2 && mygetHelmetapi2.new_course && mygetHelmetapi2.new_course.register_url && ( + settings && settings.new_course && settings.new_course.register_url && ( activeIndex ? - : - 注册 + : + 注册 ) } :
    - + {/* */} + src={getImageUrl(user.image_url)} width="34"> - + {/* */}
    • {this.props.current_user.username}
    • { diff --git a/src/modules/tpm/NewHeader_backup.js b/src/modules/tpm/NewHeader_backup.js index ebbd9e70..0473ce27 100644 --- a/src/modules/tpm/NewHeader_backup.js +++ b/src/modules/tpm/NewHeader_backup.js @@ -119,7 +119,7 @@ class NewHeader extends Component { }; onLogout = () => { const url = `/accounts/logout.json`; - this.delCookie("autologin_trustie"); + this.delCookie("autologin_forge_military"); axios.get(url, {}).then((response) => { if (response.data.status === 1) { this.setState({ diff --git a/src/modules/tpm/TPMIndex.css b/src/modules/tpm/TPMIndex.css index 6ba5a974..61ef44b6 100644 --- a/src/modules/tpm/TPMIndex.css +++ b/src/modules/tpm/TPMIndex.css @@ -32,7 +32,7 @@ body>.-task-title { position: fixed; background: #fff; color: #333; - box-shadow: 0 0 12px rgb(0 ,0 ,0,10%); + /* box-shadow: 0 0 12px rgb(0 ,0 ,0,10%); */ } .newHeaders.publicNav{ position: absolute; @@ -42,7 +42,6 @@ body>.-task-title { width:100%; padding:0px 70px; margin:0px auto; - padding:0px 30px; display: flex; align-items: center; height: 100%; @@ -103,7 +102,7 @@ body>.-task-title { } .newContainer { - background: #fff; + background: #fafafa; } .ant-modal-title { diff --git a/src/modules/tpm/TPMIndexHOC.js b/src/modules/tpm/TPMIndexHOC.js index 3b2bfe48..015dce88 100644 --- a/src/modules/tpm/TPMIndexHOC.js +++ b/src/modules/tpm/TPMIndexHOC.js @@ -301,7 +301,7 @@ export function TPMIndexHOC(WrappedComponent, headFoot) { {...this.state} /> : ""} {/*
      */} - +