From c30e229f730f20bcd10a2d0bc849a485740e1b41 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B0=A2=E6=80=9D?= Date: Thu, 16 Jun 2022 17:32:47 +0800 Subject: [PATCH 01/31] =?UTF-8?q?=E6=88=90=E5=91=98=E9=82=80=E8=AF=B7?= =?UTF-8?q?=E9=9D=99=E6=80=81=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/AppConfig.js | 2 +- src/forge/Settings/Collaborator.js | 24 +++++++----- .../Settings/CollaboratorMemberByLink.jsx | 38 +++++++++++++++++++ src/forge/Settings/Index.js | 10 ++--- src/forge/Settings/setting.scss | 29 +++++++++++++- src/forge/css/index.scss | 14 +++---- 6 files changed, 92 insertions(+), 25 deletions(-) create mode 100644 src/forge/Settings/CollaboratorMemberByLink.jsx diff --git a/src/AppConfig.js b/src/AppConfig.js index cd3aca3d4..b4107e460 100644 --- a/src/AppConfig.js +++ b/src/AppConfig.js @@ -25,7 +25,7 @@ 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 ? 'admin' : parsed.debug || 'student' + window.location.search.indexOf('debug=a') !== -1 ? 'admin' : parsed.debug || 'admin' } window._debugType = debugType; export function initAxiosInterceptors(props) { diff --git a/src/forge/Settings/Collaborator.js b/src/forge/Settings/Collaborator.js index cca2520ae..bc8b01cea 100644 --- a/src/forge/Settings/Collaborator.js +++ b/src/forge/Settings/Collaborator.js @@ -4,9 +4,10 @@ import AddMember from '../Component/AddMember'; import AddGroup from '../Component/AddGroup'; import Member from './CollaboratorMember'; import Group from './CollaboratorGroup'; +import MemberByLink from './CollaboratorMemberByLink'; function Collaborator(props){ - const [ nav , setNav] = useState("1"); + const [ nav , setNav] = useState("3"); const [ newId , setNewId] = useState(undefined); const [ newIdFlag , setNewIdFlag ] = useState(false); const [ addOperation , setAddOperation] = useState(true); @@ -23,11 +24,10 @@ function Collaborator(props){ setNewGroupId(id); } - return (
- { + {/* { author && author.type === "Organization" ? {setNav("1");setNewId(undefined)}}>协作者管理 @@ -35,22 +35,26 @@ function Collaborator(props){ : 协作者管理 - } + } */} + + {setNav("1");setNewId(undefined)}}>协作者管理 + {setNav("3");}}>邀请成员 + {author && author.type === "Organization" && {setNav("2");setNewId(undefined);setNewGroupId(undefined)}}>团队管理} + { - nav === "1" && + (nav === "1" || nav === "3") && } { - (nav !== "1" && addOperation) && + (nav === "2" && addOperation) && }
{ - nav === "1" ? - - : - + nav === "1" ? + : nav === "2" ? + : }
diff --git a/src/forge/Settings/CollaboratorMemberByLink.jsx b/src/forge/Settings/CollaboratorMemberByLink.jsx new file mode 100644 index 000000000..0670a3c18 --- /dev/null +++ b/src/forge/Settings/CollaboratorMemberByLink.jsx @@ -0,0 +1,38 @@ +import React, { useEffect, useState , useImperativeHandle , forwardRef } from 'react'; +import { Select, Checkbox, Button , Input , Spin , Table , Tooltip , Pagination , Popconfirm } from "antd"; +import axios from 'axios'; +import NoneData from "../Nodata"; +import { Link } from "react-router-dom"; +import { getImageUrl } from "educoder"; + +const { Search } = Input; +const LIMIT = 15; +const optionList = [ + {value: "manager",name: "管理员 - 拥有仓库设置功能、代码库读、写操作权限"}, + {value: "developer",name: "开发人员 - 拥有代码库读、写操作权限"}, + {value: "reporter",name: "报告者 - 拥有代码库读操作权限"} +]; +function CollaboratorMemberByLink({projectsId,owner,project_id,author,showNotification,newId,flag}){ + + return( +
+
请选择邀请用户权限
+ + 是否需要管理员审核 +
邀请链接
+ 复制链接} className='linkBox'/> +
+
注:
+
+ 1、管理员可通过分享邀请链接的方式,邀请其他成员加入项目
+ 2、若已勾选管理员审核选项,用户接收邀请后管理员可在个人主页中“待办事项”窗口审核成员审核信息,若不需要管理员审核,成员接收邀请后,将直接加入项目 +
+
+
+ ) +} +export default forwardRef(CollaboratorMemberByLink); \ No newline at end of file diff --git a/src/forge/Settings/Index.js b/src/forge/Settings/Index.js index a22f55abc..6efc93386 100644 --- a/src/forge/Settings/Index.js +++ b/src/forge/Settings/Index.js @@ -57,7 +57,7 @@ class Index extends Component {
  • - 基本设置 + 基本设置

  • @@ -68,7 +68,7 @@ class Index extends Component { >

    - + 协作者管理

    @@ -80,7 +80,7 @@ class Index extends Component { >

    - + 网络钩子

    @@ -92,7 +92,7 @@ class Index extends Component { >

    - + 分支设置

    @@ -102,7 +102,7 @@ class Index extends Component { >

    - + 项目标记

    diff --git a/src/forge/Settings/setting.scss b/src/forge/Settings/setting.scss index 27a9f0630..0547cc4fd 100644 --- a/src/forge/Settings/setting.scss +++ b/src/forge/Settings/setting.scss @@ -23,7 +23,7 @@ content: ''; } .baseForm{ - padding:15px 30px!important; + padding:15px 0!important; } .collaboratorList{ min-height: 400px; @@ -243,4 +243,31 @@ &>div:last-child{ border-bottom: none; } +} +.addMemByLinkBox{ + color:#202d40; + .selectBox { + width: 55%; + display: block; + margin-bottom: 8px; + } + .checkBox{ + color:#151d40; + } + .tipBox{ + background-color:rgba(199, 209, 255, 0.17); + color:#7e849e; + padding: 20px 150px 20px 25px; + display: flex; + } + .linkBox{ + width: 55%; + .ant-input-group-addon{ + padding: 0; + } + .ant-btn{ + border-top-left-radius: 0; + border-bottom-left-radius: 0; + } + } } \ No newline at end of file diff --git a/src/forge/css/index.scss b/src/forge/css/index.scss index 49ab596bb..9990769e7 100644 --- a/src/forge/css/index.scss +++ b/src/forge/css/index.scss @@ -225,21 +225,20 @@ form{ margin-bottom: 12px; border-radius:2px; background-color: #fff; - // box-shadow: 0px 0px 2px rgba(0,0,0,0.2); + padding: 20px 0; border:1px solid rgba(79, 108, 188, 0.21); &>li{ - font-size: 1rem; - padding:0px 0px 0px 20px; + font-size: 15px; + padding:0px 0px 0px 25px; box-sizing: border-box; color: #333; position: relative; & > p{ - height: 62px; - line-height: 62px; + height: 49px; width: 100%; - border-bottom: 1px solid #eee; display: flex; justify-content: space-between; + align-items: center; cursor: pointer; padding-right: 20px; margin:0px; @@ -264,10 +263,9 @@ form{ & li.active::before{ position: absolute; left: 0px; - top: 15px; width: 6px; content: ''; - height: 33px; + height: 100%; // background: #4CACFF; background: $primary-color; } From cb241bece3b8bf33984f650a914df6704307227b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BD=95=E7=AB=A5=E5=B4=87?= Date: Fri, 17 Jun 2022 11:08:33 +0800 Subject: [PATCH 02/31] =?UTF-8?q?=E9=82=80=E8=AF=B7=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E9=93=BE=E6=8E=A5=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/forge/Component/AddMember.jsx | 2 +- src/forge/Invite/Index.js | 42 ++++++++++ src/forge/Invite/index.scss | 31 ++++++++ src/forge/Main/Detail.js | 54 +++++++------ .../Settings/CollaboratorMemberByLink.jsx | 79 ++++++++++++++----- src/forge/Settings/setting.scss | 2 +- src/forge/css/index.scss | 1 + 7 files changed, 169 insertions(+), 42 deletions(-) create mode 100644 src/forge/Invite/Index.js create mode 100644 src/forge/Invite/index.scss diff --git a/src/forge/Component/AddMember.jsx b/src/forge/Component/AddMember.jsx index f453be054..62b87cbdf 100644 --- a/src/forge/Component/AddMember.jsx +++ b/src/forge/Component/AddMember.jsx @@ -80,7 +80,7 @@ function AddMember({getID,login,showNotification}){ + setVisible(false)} + centered + okText={'接受'} + cancelText={'拒绝'} + onOk={accept} + > +
    + {/* */} +
    +
    + + ) +} + + +export default Invite; \ No newline at end of file diff --git a/src/forge/Invite/index.scss b/src/forge/Invite/index.scss new file mode 100644 index 000000000..016e6090d --- /dev/null +++ b/src/forge/Invite/index.scss @@ -0,0 +1,31 @@ +.invite_development { + height: 366px; + background-image: linear-gradient( + 359.37deg, + #ebf3ff 0%, + #eff5ff 55.01%, + #cfdeff 100% + ); + border: 1.5px solid #ffffff; + border-radius: 4px; + + .ant-modal-content{ + background-color: inherit; + } + .ant-modal-header{ + background: inherit; + border:0; + } + .ant-modal-footer { + text-align: center; + border: 0; + padding-bottom: 55px; + button { + width: 150px; + height: 42px; + & + button { + margin-left: 30px; + } + } + } +} diff --git a/src/forge/Main/Detail.js b/src/forge/Main/Detail.js index b20b98be8..b91c53946 100644 --- a/src/forge/Main/Detail.js +++ b/src/forge/Main/Detail.js @@ -145,6 +145,10 @@ const WikiEdit = Loadable({ loader: () => import('../Wiki/EditWiki'), loading: Loading, }); +const Invite = Loadable({ + loader: () => import('../Invite/Index'), + loading: Loading, +}); /** * permission:Manager:管理员,Reporter:报告人员(只有读取权限),Developer:开发人员(除不能设置仓库信息外) */ @@ -174,7 +178,7 @@ function checkPathname(projectsId, owner, pathname) { name = "wiki" } else if (url.indexOf(`/server`) > -1) { name = "server" - } + } } return name; } @@ -227,12 +231,12 @@ class Detail extends Component { }) } - clearIssueCookies=(history)=>{ + clearIssueCookies = (history) => { const { pathname } = history; - const { projectsId , owner } = this.props.match.params; + const { projectsId, owner } = this.props.match.params; let currentIssue = pathname.indexOf(`/${owner}/${projectsId}/issues`) === -1; if (currentIssue) { - cookie.save('states', undefined,{ expires: 0,path:`/` }); + cookie.save('states', undefined, { expires: 0, path: `/` }); } } @@ -304,15 +308,15 @@ class Detail extends Component { }, disconnected: () => { console.log("###### cannot connected! ######"); - }, + }, received: data => { console.log(`###### ---received data--- ######`); console.log(data); if (data) { - if(deleteFlag){ + if (deleteFlag) { this.props.showNotification("镜像同步成功!"); window.location.reload(); - }else{ + } else { if (data.project && data.project.mirror_status === 2) { this.deleteProjectBack(); } @@ -326,20 +330,20 @@ class Detail extends Component { cable.subscriptions.consumer.disconnect(); } }, - onerror:()=>{ + onerror: () => { console.log("###### cannot connected! ######"); } }); - this.timerChannel = setTimeout(this.reloadDetail,5000); + this.timerChannel = setTimeout(this.reloadDetail, 5000); } - reloadDetail=()=>{ - if(this.state.firstSync||this.state.secondSync){ + reloadDetail = () => { + if (this.state.firstSync || this.state.secondSync) { window.location.reload(); } } - + deleteProjectBack = () => { const { history } = this.props; @@ -464,7 +468,7 @@ class Detail extends Component { const url = `/${owner}/${projectsId}/forks.json`; axios.post(url).then(result => { if (result && result.data.status === 0) { - if(result.data.message === "fork失败,你已拥有了这个项目"){ + if (result.data.message === "fork失败,你已拥有了这个项目") { this.props.history.push(`/${current_user && current_user.login}/${projectsId}`); return; } @@ -490,7 +494,7 @@ class Detail extends Component { axios.post(url).then(result => { if (result && result.data && result.data.status === 0) { this.setState({ - secondSync:true + secondSync: true }) this.canvasChannel(true); } else { @@ -530,7 +534,7 @@ class Detail extends Component { const common = { getDetail: this.getDetail, - getBanner:this.getBanner, + getBanner: this.getBanner, changeOpenDevops: this.changeOpenDevops, defaultBranch } @@ -549,7 +553,7 @@ class Detail extends Component { {projectDetail && projectDetail.name} {projectDetail && projectDetail.private && 私有} - { !platform && 只读 } + {!platform && 只读}
    { @@ -718,7 +722,7 @@ class Detail extends Component { (props) => () } > - + {/*修改里程碑*/} () + (props) => () } > {/* 复制详情 copyetail*/} () + (props) => () } > - - {/* 任务详情 */} - () } @@ -861,6 +865,12 @@ class Detail extends Component { (props) => () } > + {/* 邀请 */} + () + } + > () diff --git a/src/forge/Settings/CollaboratorMemberByLink.jsx b/src/forge/Settings/CollaboratorMemberByLink.jsx index 0670a3c18..cb0c821cd 100644 --- a/src/forge/Settings/CollaboratorMemberByLink.jsx +++ b/src/forge/Settings/CollaboratorMemberByLink.jsx @@ -1,6 +1,7 @@ -import React, { useEffect, useState , useImperativeHandle , forwardRef } from 'react'; -import { Select, Checkbox, Button , Input , Spin , Table , Tooltip , Pagination , Popconfirm } from "antd"; -import axios from 'axios'; +import React, { useEffect, useState, useImperativeHandle, forwardRef } from 'react'; +import { Select, Checkbox, Button, Input, Spin, Table, Tooltip, Pagination, Popconfirm } from "antd"; +import axios from 'axios'; +import { Base64 } from 'js-base64'; import NoneData from "../Nodata"; import { Link } from "react-router-dom"; import { getImageUrl } from "educoder"; @@ -8,28 +9,70 @@ import { getImageUrl } from "educoder"; const { Search } = Input; const LIMIT = 15; const optionList = [ - {value: "manager",name: "管理员 - 拥有仓库设置功能、代码库读、写操作权限"}, - {value: "developer",name: "开发人员 - 拥有代码库读、写操作权限"}, - {value: "reporter",name: "报告者 - 拥有代码库读操作权限"} + { value: "manager", name: "管理员 - 拥有仓库设置功能、代码库读、写操作权限" }, + { value: "developer", name: "开发人员 - 拥有代码库读、写操作权限" }, + { value: "reporter", name: "报告者 - 拥有代码库读操作权限" } ]; -function CollaboratorMemberByLink({projectsId,owner,project_id,author,showNotification,newId,flag}){ +function CollaboratorMemberByLink({ projectsId, owner, project_id, author, showNotification, newId, flag }) { - return( + const [role, setRole] = useState('developer'); + const [is_apply, setIs_apply] = useState(true); + const [inviteUrl, setinviteUrl] = useState('dddd'); + const [copy,setCopy]=useState(false); + + useEffect(() => { + const url = `/${owner}/${projectsId}/project_invite_links/generate_link.json`; + axios.post(url, { + role, + is_apply + }).then(res => { + if (res&&res.data) { + console.log(res.data); + let urlParams=JSON.stringify(res.data); + let content=Base64.encode(urlParams); + + setinviteUrl(`${window.location.origin}/${owner}/${projectsId}/invite?invite=${content}`); + setCopy(false); + } + }).catch(error => { }) + }, [role,is_apply]); + + function inviteClick(){ + const copyEle = document.querySelector('#inviteUrl'); // 获取要复制的节点 + if (!copyEle) { + console.error("您的CopyTool未设置正确的inputId"); + return; + } + copyEle.select(); // 执行选中元素 + if (document.execCommand('copy')) { + document.execCommand('copy'); + setCopy(true); + } + } + + return (
    -
    请选择邀请用户权限
    - { setRole(v) }}> + {optionList.map(item => { + return {item.name} })} - 是否需要管理员审核 -
    邀请链接
    - 复制链接} className='linkBox'/> -
    + + { setIs_apply(e.target.checked) }}>是否需要管理员审核 + +
    邀请链接
    + {copy?'复制成功':'复制链接'}} className='linkBox' + /> +
    注:
    - 1、管理员可通过分享邀请链接的方式,邀请其他成员加入项目
    - 2、若已勾选管理员审核选项,用户接收邀请后管理员可在个人主页中“待办事项”窗口审核成员审核信息,若不需要管理员审核,成员接收邀请后,将直接加入项目 + 1、管理员可通过分享邀请链接的方式,邀请其他成员加入项目
    + 2、若已勾选管理员审核选项,用户接收邀请后管理员可在个人主页中“待办事项”窗口审核成员审核信息,若不需要管理员审核,成员接收邀请后,将直接加入项目
    diff --git a/src/forge/Settings/setting.scss b/src/forge/Settings/setting.scss index 0547cc4fd..74d3edf43 100644 --- a/src/forge/Settings/setting.scss +++ b/src/forge/Settings/setting.scss @@ -249,7 +249,7 @@ .selectBox { width: 55%; display: block; - margin-bottom: 8px; + margin-bottom: 18px; } .checkBox{ color:#151d40; diff --git a/src/forge/css/index.scss b/src/forge/css/index.scss index 9990769e7..9bcd0e243 100644 --- a/src/forge/css/index.scss +++ b/src/forge/css/index.scss @@ -242,6 +242,7 @@ form{ cursor: pointer; padding-right: 20px; margin:0px; + border-bottom: 1px solid #eee; a{ width:100%; color: #202d40; From 53869f95fa7cb9595c2323cf6e25ad522108a2c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BD=95=E7=AB=A5=E5=B4=87?= Date: Fri, 17 Jun 2022 17:50:30 +0800 Subject: [PATCH 03/31] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=82=80=E8=AF=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/AppConfig.js | 9 ++- src/forge/Invite/Index.js | 49 +++++++++--- src/forge/Invite/index.scss | 78 +++++++++++++++++-- src/forge/Main/Detail.js | 17 +++- .../Settings/CollaboratorMemberByLink.jsx | 34 +++++--- 5 files changed, 155 insertions(+), 32 deletions(-) diff --git a/src/AppConfig.js b/src/AppConfig.js index b4107e460..a55649ce0 100644 --- a/src/AppConfig.js +++ b/src/AppConfig.js @@ -25,7 +25,7 @@ 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 ? 'admin' : parsed.debug || 'admin' + window.location.search.indexOf('debug=a') !== -1 ? 'admin' : parsed.debug || 'student' } window._debugType = debugType; export function initAxiosInterceptors(props) { @@ -89,8 +89,13 @@ export function initAxiosInterceptors(props) { if (response.data.status === 404) { let responseURL = response.request ? response.request.responseURL:''; + // 组织和个人的拥有情况,404不跳转 if (responseURL.indexOf('/api/users/') === -1 && responseURL.indexOf('/api/organizations/') === -1 ) { - locationurl('/nopage'); + // 邀请页面不进行404跳转 + if( window.location.pathname.includes('/invite') && (responseURL.includes('/simple.json')||responseURL.includes('/detail.json')||responseURL.includes('/menu_list.json'))){ + }else{ + locationurl('/nopage'); + } } } diff --git a/src/forge/Invite/Index.js b/src/forge/Invite/Index.js index 818630965..24097e9f2 100644 --- a/src/forge/Invite/Index.js +++ b/src/forge/Invite/Index.js @@ -2,26 +2,47 @@ import React, { useState } from 'react'; import { Modal, Button } from 'antd'; import { Base64 } from 'js-base64'; import './index.scss'; +import { Link } from 'react-router-dom'; +import { getImageUrl } from 'educoder' +import axios from 'axios'; -function Invite({history,current_user}) { - if(!current_user.login){ - let {pathname,search}=window.location; - window.location.href=`/login?go_page=/${pathname}${search}`; +const identify = { + manager: "管理员", + developer: "开发人员", + reporter: "报告者" +} +function Invite({ history, current_user }) { + if (!current_user.login) { + let { pathname, search } = window.location; + window.location.href = `/login?go_page=${pathname}${search}`; } - let inviteString=window.location.search&&window.location.search.split('?invite=')[1]; - let inviteParams=inviteString&&JSON.parse(Base64.decode(inviteString)); - console.log(inviteParams) + let inviteString = window.location.search && window.location.search.split('?invite=')[1]; + let data = inviteString && JSON.parse(Base64.decode(inviteString)); const [visible, setVisible] = useState(true); function accept() { + const url = `/users/${current_user.login}/applied_projects/${data.id}/accept.json`; + axios.get(url).then(res => { + if (res && res.data) { + console.log(res) + } + }).catch(error => { }) + } + function refuse() { + const url = `/users/${current_user.login}/applied_projects/${data.id}/refuse.json`; + axios.get(url).then(res => { + if (res && res.data) { + console.log(res) + } + }).catch(error => { }) } return (
    -
    } width="548px" closable={true} onCancel={() => setVisible(false)} @@ -29,11 +50,15 @@ function Invite({history,current_user}) { okText={'接受'} cancelText={'拒绝'} onOk={accept} + onCancel={refuse} + // icon={} > -
    - {/* */} + {data.ownerName}/{data.projectName} +
    + {data.userName} 邀请您以{identify[data.role]}的身份加入此代码库 + 是否接受邀请?
    - + }
    ) } diff --git a/src/forge/Invite/index.scss b/src/forge/Invite/index.scss index 016e6090d..5735abb3d 100644 --- a/src/forge/Invite/index.scss +++ b/src/forge/Invite/index.scss @@ -1,4 +1,5 @@ .invite_development { + font-family: PingFang SC; height: 366px; background-image: linear-gradient( 359.37deg, @@ -9,12 +10,68 @@ border: 1.5px solid #ffffff; border-radius: 4px; - .ant-modal-content{ - background-color: inherit; + .ant-modal-close{ + top:0 !important; } - .ant-modal-header{ - background: inherit; - border:0; + .ant-modal-close-x{ + font-size: 30px; + color: #666; + width: 48px; + height: 48px; + line-height: 48px; + transform: scaleX(1.05); + } + .ant-modal-content { + background-color: inherit; + } + .ant-modal-header { + background: inherit; + border: 0; + padding-bottom: 0; + } + .ownerImage { + position: relative; + top:-66px; + width: 100px; + height: 100px; + background-color: #e9f1ff; + border: 1px solid #ffffff; + border-radius: 50%; + margin:0 auto; + display: flex; + justify-content: center; + align-items: center; + img{ + width: 100%; + } + } + .invite_project { + display: block; + margin: 0 auto; + font-weight: 500; + font-size: 20px; + line-height: 22px; + text-align: center; + margin-bottom: 30px; + } + .invite_content { + width: 422px; + padding: 24px 48px; + background-color: rgba(225, 231, 255, 0.71); + border-radius: 4px 4px 0px 0px; + margin: 10px auto; + font-weight: 500; + font-size: 17px; + line-height: 32px; + text-align: center; + color: #151d40; + } + .link { + cursor: pointer; + color: $primary-color; + &:hover { + color: $primary-color-hover; + } } .ant-modal-footer { text-align: center; @@ -23,6 +80,17 @@ button { width: 150px; height: 42px; + border-radius: 5px; + font-size: 15px; + &:first-child { + background-color: rgba(196, 0, 14, 0.07); + border: 1px solid; + border-color: #f60011; + color: #f60011; + &:hover { + opacity: 0.75; + } + } & + button { margin-left: 30px; } diff --git a/src/forge/Main/Detail.js b/src/forge/Main/Detail.js index b91c53946..5e76a1c17 100644 --- a/src/forge/Main/Detail.js +++ b/src/forge/Main/Detail.js @@ -178,7 +178,7 @@ function checkPathname(projectsId, owner, pathname) { name = "wiki" } else if (url.indexOf(`/server`) > -1) { name = "server" - } + } } return name; } @@ -368,7 +368,20 @@ class Detail extends Component { axios.get(url).then((result) => { if (result && result.data) { if (result.data.status === 404) { - this.props.history.push('/nopage'); + if (window.location.pathname.includes('/invite')) { + let inviteString = window.location.search && window.location.search.split('?invite=')[1]; + let data = inviteString && JSON.parse(Base64.decode(inviteString)); + // this.setState({ + // project: { author: { login:data. } } + // }); + // {project && project.author && + // {project.author.name} + // } + // / + // {projectDetail && projectDetail.name} + } else { + this.props.history.push('/nopage'); + } } this.setState({ projectDetail: result.data, diff --git a/src/forge/Settings/CollaboratorMemberByLink.jsx b/src/forge/Settings/CollaboratorMemberByLink.jsx index cb0c821cd..e231e3bba 100644 --- a/src/forge/Settings/CollaboratorMemberByLink.jsx +++ b/src/forge/Settings/CollaboratorMemberByLink.jsx @@ -18,26 +18,38 @@ function CollaboratorMemberByLink({ projectsId, owner, project_id, author, showN const [role, setRole] = useState('developer'); const [is_apply, setIs_apply] = useState(true); const [inviteUrl, setinviteUrl] = useState('dddd'); - const [copy,setCopy]=useState(false); + const [copy, setCopy] = useState(false); useEffect(() => { const url = `/${owner}/${projectsId}/project_invite_links/generate_link.json`; axios.post(url, { - role, - is_apply + role, + is_apply }).then(res => { - if (res&&res.data) { - console.log(res.data); - let urlParams=JSON.stringify(res.data); - let content=Base64.encode(urlParams); - + if (res && res.data) { + let params = { + id:res.data.id, + projectName: res.data.project.name, + projectId: res.data.project.identifier, + is_apply: res.data.is_apply, + role: res.data.role, + is_public: res.data.project.is_public, + ownerImage: res.data.project.owner.image_url, + ownerLogin: res.data.project.owner.login, + ownerName: res.data.project.owner.name, + userName: res.data.user.name, + userLogin:res.data.user.login, + }; + let urlParams = JSON.stringify(params); + let content = Base64.encode(urlParams); + setinviteUrl(`${window.location.origin}/${owner}/${projectsId}/invite?invite=${content}`); setCopy(false); } }).catch(error => { }) - }, [role,is_apply]); + }, [role, is_apply]); - function inviteClick(){ + function inviteClick() { const copyEle = document.querySelector('#inviteUrl'); // 获取要复制的节点 if (!copyEle) { console.error("您的CopyTool未设置正确的inputId"); @@ -66,7 +78,7 @@ function CollaboratorMemberByLink({ projectsId, owner, project_id, author, showN id="inviteUrl" value={inviteUrl} readOnly - addonAfter={} className='linkBox' + addonAfter={} className='linkBox' />
    注:
    From 90c626feb7254fb7dee02a5d60abf799b19eb0d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BD=95=E7=AB=A5=E5=B4=87?= Date: Tue, 21 Jun 2022 14:56:56 +0800 Subject: [PATCH 04/31] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=82=80=E8=AF=B7?= =?UTF-8?q?=E9=93=BE=E6=8E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/common/UrlTool.js | 1 + src/forge/Invite/Index.js | 69 +++++++++++++------ src/forge/Invite/index.scss | 1 + src/forge/Main/Detail.js | 44 ++++++------ src/forge/Settings/Collaborator.js | 4 +- .../Settings/CollaboratorMemberByLink.jsx | 25 ++++--- src/forge/users/InfosUser.js | 2 +- 7 files changed, 85 insertions(+), 61 deletions(-) diff --git a/src/common/UrlTool.js b/src/common/UrlTool.js index 53540e384..24512d67d 100644 --- a/src/common/UrlTool.js +++ b/src/common/UrlTool.js @@ -11,6 +11,7 @@ export function getImageUrl(path) { // https://www.educoder.net // https://testbdweb.trustie.net // const local = 'http://localhost:3000' + path && !path.startsWith('/') && !path.startsWith('http') && (path = '/'.concat(path)); const local = 'https://testforgeplus.trustie.net'; if (isDev) { return `${local}/${path}` diff --git a/src/forge/Invite/Index.js b/src/forge/Invite/Index.js index 24097e9f2..71272b275 100644 --- a/src/forge/Invite/Index.js +++ b/src/forge/Invite/Index.js @@ -1,5 +1,5 @@ -import React, { useState } from 'react'; -import { Modal, Button } from 'antd'; +import React, { useState, useEffect } from 'react'; +import { Modal, Button, } from 'antd'; import { Base64 } from 'js-base64'; import './index.scss'; import { Link } from 'react-router-dom'; @@ -8,54 +8,79 @@ import axios from 'axios'; const identify = { manager: "管理员", - developer: "开发人员", - reporter: "报告者" + developer: "开发者", + reporter: "报告者", + owner: "所有者", } -function Invite({ history, current_user }) { +function Invite({ history, current_user, match, projectDetail, showNotification }) { + if (!current_user.login) { let { pathname, search } = window.location; window.location.href = `/login?go_page=${pathname}${search}`; } + let permission = projectDetail && projectDetail.permission; + const { projectsId, owner } = match.params; let inviteString = window.location.search && window.location.search.split('?invite=')[1]; let data = inviteString && JSON.parse(Base64.decode(inviteString)); + const [detail, setDetail] = useState({}); const [visible, setVisible] = useState(true); - function accept() { - const url = `/users/${current_user.login}/applied_projects/${data.id}/accept.json`; + useEffect(() => { + if (permission && detail.role && detail.role == permission.toLocaleLowerCase() || permission == 'Owner') { + showNotification(`您已经是${identify[detail.role]}了`) + setTimeout(() => { + history.push(`/${owner}/${projectsId}`); + }, 2000) + } else { + setVisible(true) + } + }, [permission, detail.role]); + + useEffect(() => { + const url = `/${owner}/${projectsId}/project_invite_links/show_link.json?invite_sign=${data.sign}`; axios.get(url).then(res => { if (res && res.data) { - console.log(res) + setDetail(res.data); + } else { + showNotification('查询邀请链接失败'); + } + }) + }, []) + + function accept() { + const url = `/${owner}/${projectsId}/project_invite_links/redirect_link.json?invite_sign=${data.sign}`; + axios.post(url).then(res => { + if (res && res.data.message == 'success') { + if (detail.is_apply) { + setVisible(false); + Modal.success({ content: '提交申请成功,请等待该仓库管理员审核' }); + } else { + history.push(`/${owner}/${projectsId}`); + } } }).catch(error => { }) + } - function refuse() { - const url = `/users/${current_user.login}/applied_projects/${data.id}/refuse.json`; - axios.get(url).then(res => { - if (res && res.data) { - console.log(res) - } - }).catch(error => { }) - } + return (
    {data &&
    } + title={
    } width="548px" closable={true} - onCancel={() => setVisible(false)} + onCancel={() => { setVisible(false); history.push(`/${current_user.login}`) }} centered okText={'接受'} cancelText={'拒绝'} onOk={accept} - onCancel={refuse} - // icon={} + maskClosable={false} > - {data.ownerName}/{data.projectName} + {detail.project && detail.project.owner.name}/{detail.project && detail.project.name}
    - {data.userName} 邀请您以{identify[data.role]}的身份加入此代码库 + {detail.user && detail.user.name} 邀请您以{identify[detail.role]}的身份加入此代码库 是否接受邀请?
    } diff --git a/src/forge/Invite/index.scss b/src/forge/Invite/index.scss index 5735abb3d..87912b65e 100644 --- a/src/forge/Invite/index.scss +++ b/src/forge/Invite/index.scss @@ -41,6 +41,7 @@ display: flex; justify-content: center; align-items: center; + overflow: hidden; img{ width: 100%; } diff --git a/src/forge/Main/Detail.js b/src/forge/Main/Detail.js index 5e76a1c17..b6b90b9bf 100644 --- a/src/forge/Main/Detail.js +++ b/src/forge/Main/Detail.js @@ -4,6 +4,7 @@ import { Link, Route, Switch } from 'react-router-dom'; import { Content, AlignTop } from '../Component/layout'; import DetailBanner from './sub/DetailBanner'; import cookie from 'react-cookies'; +import { Base64 } from 'js-base64'; import '../css/index.scss' import './list.scss'; @@ -371,32 +372,30 @@ class Detail extends Component { if (window.location.pathname.includes('/invite')) { let inviteString = window.location.search && window.location.search.split('?invite=')[1]; let data = inviteString && JSON.parse(Base64.decode(inviteString)); - // this.setState({ - // project: { author: { login:data. } } - // }); - // {project && project.author && - // {project.author.name} - // } - // / - // {projectDetail && projectDetail.name} + const { project = {}, projectDetail = {} } = this.state + this.setState({ + project: Object.assign(project, { author: { name: data.ownerName } }), + projectDetail: Object.assign(projectDetail, { name: data.projectName }) + }); } else { this.props.history.push('/nopage'); } + } else { + this.setState({ + projectDetail: result.data, + project_id: result.data.project_id, + isManager: result.data.permission && (result.data.permission === "Manager" || result.data.permission === "Admin" || result.data.permission === "Owner"), + isReporter: result.data.permission && result.data.permission === "Reporter", + isDeveloper: result.data.permission && result.data.permission === "Developer", + http_url: result.data.clone_url, + praised: result.data.praised, + watched: result.data.watched, + watchers_count: result.data.watchers_count, + praises_count: result.data.praises_count, + forked_count: result.data.forked_count, + defaultBranch: result.data.default_branch + }) } - this.setState({ - projectDetail: result.data, - project_id: result.data.project_id, - isManager: result.data.permission && (result.data.permission === "Manager" || result.data.permission === "Admin" || result.data.permission === "Owner"), - isReporter: result.data.permission && result.data.permission === "Reporter", - isDeveloper: result.data.permission && result.data.permission === "Developer", - http_url: result.data.clone_url, - praised: result.data.praised, - watched: result.data.watched, - watchers_count: result.data.watchers_count, - praises_count: result.data.praises_count, - forked_count: result.data.forked_count, - defaultBranch: result.data.default_branch - }) } }).catch((error) => { }) } @@ -544,7 +543,6 @@ class Detail extends Component { let pathname = checkPathname(projectsId, owner, url); const { state } = this.props.history.location; - const common = { getDetail: this.getDetail, getBanner: this.getBanner, diff --git a/src/forge/Settings/Collaborator.js b/src/forge/Settings/Collaborator.js index bc8b01cea..d22862aaa 100644 --- a/src/forge/Settings/Collaborator.js +++ b/src/forge/Settings/Collaborator.js @@ -7,7 +7,7 @@ import Group from './CollaboratorGroup'; import MemberByLink from './CollaboratorMemberByLink'; function Collaborator(props){ - const [ nav , setNav] = useState("3"); + const [ nav , setNav] = useState("1"); const [ newId , setNewId] = useState(undefined); const [ newIdFlag , setNewIdFlag ] = useState(false); const [ addOperation , setAddOperation] = useState(true); @@ -42,7 +42,7 @@ function Collaborator(props){ {author && author.type === "Organization" && {setNav("2");setNewId(undefined);setNewGroupId(undefined)}}>团队管理} { - (nav === "1" || nav === "3") && + nav === "1" && } { diff --git a/src/forge/Settings/CollaboratorMemberByLink.jsx b/src/forge/Settings/CollaboratorMemberByLink.jsx index e231e3bba..ea34ec8fd 100644 --- a/src/forge/Settings/CollaboratorMemberByLink.jsx +++ b/src/forge/Settings/CollaboratorMemberByLink.jsx @@ -17,28 +17,27 @@ function CollaboratorMemberByLink({ projectsId, owner, project_id, author, showN const [role, setRole] = useState('developer'); const [is_apply, setIs_apply] = useState(true); - const [inviteUrl, setinviteUrl] = useState('dddd'); + const [inviteUrl, setinviteUrl] = useState(''); const [copy, setCopy] = useState(false); useEffect(() => { - const url = `/${owner}/${projectsId}/project_invite_links/generate_link.json`; - axios.post(url, { - role, - is_apply + const url = `/${owner}/${projectsId}/project_invite_links/current_link.json`; + axios.get(url, { + params: { + role, + is_apply + } }).then(res => { if (res && res.data) { let params = { - id:res.data.id, projectName: res.data.project.name, projectId: res.data.project.identifier, - is_apply: res.data.is_apply, - role: res.data.role, - is_public: res.data.project.is_public, - ownerImage: res.data.project.owner.image_url, + // role: res.data.role, ownerLogin: res.data.project.owner.login, ownerName: res.data.project.owner.name, - userName: res.data.user.name, - userLogin:res.data.user.login, + // userName: res.data.user.name, + // userLogin: res.data.user.login, + sign:res.data.sign, }; let urlParams = JSON.stringify(params); let content = Base64.encode(urlParams); @@ -71,7 +70,7 @@ function CollaboratorMemberByLink({ projectsId, owner, project_id, author, showN })} - { setIs_apply(e.target.checked) }}>是否需要管理员审核 + { setIs_apply(e.target.checked) }}>需要管理员审核
    邀请链接
    {this.get_projects()}} className="list-r-Search" value={search} onChange={this.changeSearchValue} From f3c6fdf397883a04bfb64345de3dd3605e4f3f65 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B0=A2=E6=80=9D?= Date: Thu, 23 Jun 2022 16:20:02 +0800 Subject: [PATCH 05/31] =?UTF-8?q?=E6=8A=A5=E5=90=8D=E7=BB=93=E6=9E=9C?= =?UTF-8?q?=E5=85=AC=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/AppConfig.js | 2 +- src/glcc/api.js | 9 + src/glcc/check/index.jsx | 3 + src/glcc/checkResult/index.jsx | 169 +++++++++++++++++++ src/glcc/checkResult/index.scss | 84 +++++++++ src/glcc/home/index.jsx | 22 ++- src/glcc/home/index.scss | 2 +- src/glcc/img/resultBanner.png | Bin 0 -> 206822 bytes src/glcc/img/resultBanner2.png | Bin 0 -> 207051 bytes src/glcc/index.jsx | 14 +- src/glcc/project/component/projectDetail.jsx | 12 +- src/glcc/project/index.scss | 4 + src/glcc/project/taskDetail/index.jsx | 3 +- src/glcc/project/taskList/index.jsx | 5 +- src/glcc/student/index.jsx | 4 +- 15 files changed, 316 insertions(+), 17 deletions(-) create mode 100644 src/glcc/checkResult/index.jsx create mode 100644 src/glcc/checkResult/index.scss create mode 100644 src/glcc/img/resultBanner.png create mode 100644 src/glcc/img/resultBanner2.png diff --git a/src/AppConfig.js b/src/AppConfig.js index cd3aca3d4..b4107e460 100644 --- a/src/AppConfig.js +++ b/src/AppConfig.js @@ -25,7 +25,7 @@ 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 ? 'admin' : parsed.debug || 'student' + window.location.search.indexOf('debug=a') !== -1 ? 'admin' : parsed.debug || 'admin' } window._debugType = debugType; export function initAxiosInterceptors(props) { diff --git a/src/glcc/api.js b/src/glcc/api.js index 8c1a13fd6..61a02bab9 100644 --- a/src/glcc/api.js +++ b/src/glcc/api.js @@ -132,4 +132,13 @@ export function auditPassTask(data) { method: 'post', data }); +} + +// 导师审核结果 +export function getPassList(params) { + return fetch({ + url: '/api/studentApply/passList', + method: 'get', + params, + }); } \ No newline at end of file diff --git a/src/glcc/check/index.jsx b/src/glcc/check/index.jsx index 5b66e8036..2eeea2623 100644 --- a/src/glcc/check/index.jsx +++ b/src/glcc/check/index.jsx @@ -140,6 +140,9 @@ function Check({ current_user, showNotification, history }) { ]; useEffect(() => { + if(new Date().getTime() > new Date('2022-07-01').getTime()){ + history.push('/403'); + } if (!current_user.user_id) { history.push('/403'); } diff --git a/src/glcc/checkResult/index.jsx b/src/glcc/checkResult/index.jsx new file mode 100644 index 000000000..1108a8bcd --- /dev/null +++ b/src/glcc/checkResult/index.jsx @@ -0,0 +1,169 @@ +import React, { useEffect, useState } from 'react'; +import { Input, message, Modal, Table, Tooltip } from 'antd'; +import { cancelTaskApply, getPassList } from '../api'; +import ProjectDetail from '../project/component/projectDetail'; +// 预公示banner +import resultBanner from "../img/resultBanner.png"; +// 公示banner +import resultBanner2 from "../img/resultBanner2.png"; +import bgPng from "../img/bgPng.png"; +import './index.scss'; +import '../project/index.scss'; +const { Search } = Input; + +// 课题列表 +function CheckResult({applyTaskId, setStudentInfoReset, current_user, showLoginDialog, isStudentApplyDate, studentApplyEnd,cancelCount,showNotification}) { + const [visible, setVisible] = useState(false); + const [deleteTaskId, setDeleteTaskId] = useState(undefined); + // 输入搜索框 + const [keyword, setKeyword] = useState(undefined); + const [data, setData] = useState([]); + // table + const [current, setCurrent] = useState(1); + const [total, setTotal] = useState(0); + const [pageSize, setPageSize] = useState(20); + const [loading, setLoading] = useState(false); + const [expandedRowKeys, setExpandedRowKeys] = useState([]); + const time = new Date().getTime() > new Date('2022-06-28').getTime() && new Date().getTime() < new Date('2022-07-01').getTime(); + + useEffect(() => { + setLoading(true); + setExpandedRowKeys([]); + const params = { + curPage: current, + keyword, + pageSize, + } + getPassList(params).then(response => { + if (response && response.message === "success") { + setData(response.data.rows); + setTotal(response.data.total); + } + setLoading(false); + }) + }, [keyword, current, pageSize]) + + const columns = [ + { title: '序号', dataIndex: 'index', align: 'center', className:"columnsResult", width: '6%', render: (text, item, index) => {(current-1)*pageSize+index + 1} }, + { title: '入选学生', dataIndex: 'studentName', className:"columnsResult taskName", width: '10%', ellipsis: true}, + { title: '课题导师', dataIndex: 'tutorName', className:"columnsResult", width: '10%', ellipsis: true}, + { title: '课题名称', dataIndex: 'taskName', className:"columnsResult", width: '26%', ellipsis: true, render: (text, item) => {window.open(`/glcc/subjects/detail/${item.id}`)}}>{text} }, + { title: '项目名称', dataIndex: 'projectName', className:"columnsResult", ellipsis: true, width: '26%', render: (text) => {text} }, + { title: '操作', dataIndex: 'action', align: 'center', className:"columnsResult actionBox"}, + ] + + const customExpandIcon = (props) => { + if (props.expanded) { + return { + props.onExpand(props.record, e); + }}>项目简介 + } else { + return { + props.onExpand(props.record, e); + }}>项目简介 + } + } + + const expandRow = (record) => { + return + } + + // 展开收起行回调 + function onExpand(expanded, record){ + const keys = new Set(expandedRowKeys); + if(expanded){ + keys.add(record.id); + }else{ + keys.delete(record.id); + } + setExpandedRowKeys(Array.from(keys)); + } + + // 申请课题按钮点击函数 + function applyTask(id){ + // 判断用户是否已经登录 + if(current_user && current_user.login){ + // 判断用户是否已经报名两个课题 + if(applyTaskId && Object.keys(applyTaskId).length >= 2){ + message.error('最多只能同时报名两个课题'); + }else{ + // 跳转到学生报名页 + window.location.href=`/glcc/student/apply/${id}`; + } + }else{ + showLoginDialog(); + } + } + + // 取消课题按钮点击函数 + function cancelApply(){ + const id = []; + id.push(applyTaskId[deleteTaskId]); + const params = { + ids: id + } + cancelTaskApply(params).then(response=>{ + if(response && response.message === "success"){ + setVisible(false); + setStudentInfoReset(Math.random()); + message.success('取消成功'); + } + }) + } + + // 改变pagesize + function onShowSizeChange(current, pageSize){ + window.scrollTo(0, 0); + setCurrent(1); + setPageSize(pageSize); + } + + // 切换页数 + function changePage(page, pageSize){ + window.scrollTo(0, 0); + setCurrent(page); + } + + return ( +
    + {time && } + {new Date().getTime() > new Date('2022-07-01').getTime() && } +
    +
    +
    开源夏令营 / 入选学生名单{time && '预'}公示
    + { setCurrent(1); setKeyword(value) }} /> + + + + + + {setVisible(false)}} + onOk={cancelApply} + wrapClassName='cancelApplyTask' + > +
    !确定取消申请此课题?
    +

    取消申请后将删除此条申请记录。你仅有 {2-cancelCount} 次取消申请的机会

    +
    + + ) +} +export default CheckResult; \ No newline at end of file diff --git a/src/glcc/checkResult/index.scss b/src/glcc/checkResult/index.scss new file mode 100644 index 000000000..2b404a157 --- /dev/null +++ b/src/glcc/checkResult/index.scss @@ -0,0 +1,84 @@ +.resultListBox{ + background-image:linear-gradient(180deg,#e9f0ff 0%,#dee8ff 51.87%,#f3f4f8 100%); + .bgBox{ + padding-bottom: 115px; + position: relative; + .bgPng3, .bgPng4{ + width: 146px; + position: absolute; + z-index: 0; + top: 210px; + left: 150px; + } + .bgPng4{ + top: 450px; + left: auto; + right: 310px; + } + } + .resultBanner{ + width: 100%; + } + .resultList{ + width: 1200px; + margin: 0 auto; + position: relative; + z-index: 1; + } + .goBackBox{ + padding: 25px 0 8px; + color: #202d40; + font-size: 16px; + border-bottom: 1px dashed #bec5d5; + margin-bottom: 20px; + a{ + color:#a4aabb; + } + } + .search{ + width:509px; + height:48px; + display: block; + margin: 0 auto; + .ant-input-search-button{ + height:48px; + } + } + .resultListTable{ + margin-top: 20px; + background-color:rgba(255, 255, 255, 0.27); + border: 1px solid white; + th.columnsResult{ + background-color:#DFE8FF; + .ant-table-column-title{ + font-weight:700; + color:#273778; + font-size:16px; + } + &.actionBox .ant-table-column-title{ + visibility: hidden; + } + } + td.columnsResult{ + background-color: #ECF2FF; + border-bottom: 1px dashed #bec5d5; + font-size: 15px; + color:#353f5e; + } + tr:hover td.columnsResult{ + background-color:#fbfbfc; + } + .ant-pagination{ + margin: 26px 20px 0 0; + } + } + .toolTipSpan{ + cursor: default; + &.link{ + color: #2545c9; + cursor: pointer; + &:hover{color:#5d7cff;} + &:active{color: #1140ff;} + } + } +} \ No newline at end of file diff --git a/src/glcc/home/index.jsx b/src/glcc/home/index.jsx index 91e5ac8e0..dba2cb42d 100644 --- a/src/glcc/home/index.jsx +++ b/src/glcc/home/index.jsx @@ -32,6 +32,8 @@ export default (props) => { // } const [hasRole, setHhasRole] = useState(false); + const resultTime1 = new Date().getTime() > new Date('2022-06-28').getTime() && new Date().getTime() < new Date('2022-07-01').getTime(); + const resultTime2 = new Date().getTime() > new Date('2022-07-01').getTime(); useEffect(() => { if (!current_user.user_id) { @@ -57,6 +59,10 @@ export default (props) => { history.push("/glcc/mentoradmin"); } + function goToCheckResult(){ + history.push("/glcc/result"); + } + return (
    {/* */} @@ -78,16 +84,24 @@ export default (props) => {
    查看夏令营各项目,掌握项目课题详细信息
    - {/* 学生报名 */} -
    + {/* 学生报名6.24结束 */} + {/*
    学生报名
    选择感兴趣的课题,开启您的开源之旅
    -
    +
    */} + {/* 6.28.-7.1 审核结果仅对导师可见,7.1之后对所有用户可见*/} + {((resultTime1 && hasRole) || resultTime2) &&
    +
    + + 名单{resultTime1 && '预'}公示 +
    +
    查看各课题入选学生名单
    +
    } {/* 导师审核 */} - {hasRole &&
    + {hasRole && new Date().getTime() < new Date('2022-07-01').getTime() &&
    导师审核 diff --git a/src/glcc/home/index.scss b/src/glcc/home/index.scss index 3b70fbd81..a23775abc 100644 --- a/src/glcc/home/index.scss +++ b/src/glcc/home/index.scss @@ -42,7 +42,7 @@ flex-direction: column; justify-content: center; width: 355px; - + height: 118px; &:not(:first-child){ margin-left: 35px; } diff --git a/src/glcc/img/resultBanner.png b/src/glcc/img/resultBanner.png new file mode 100644 index 0000000000000000000000000000000000000000..e589b239ae406e5107250e0d4899ed2da225a9da GIT binary patch literal 206822 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 z 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 literal 0 HcmV?d00001 diff --git a/src/glcc/img/resultBanner2.png b/src/glcc/img/resultBanner2.png new file mode 100644 index 0000000000000000000000000000000000000000..e3f598e1e7bc6d3bd0499e895c20471c78e907af GIT binary patch literal 207051 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 z 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%0A@HMS7#15=5^QqUkf+5a0+Hh?oO22 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 import("./openmmlab"), loading: Loading, }); - +// 开源夏令营审核结果页面 +const Result = Loadable({ + loader: () => import("./checkResult"), + loading: Loading, +}); const Glcc = (propsF) => { const {current_user} = propsF; // 判断时间是否在开源夏令营报名时间内(4月15日~5月20日) @@ -150,6 +154,14 @@ const Glcc = (propsF) => { )} > + {/* 审核结果页面 */} + ( + + )} + > + {/* 首页 */} { +export default ({ detail, projectId, applyTaskId, current_user, showLoginDialog, isStudentApplyDate, studentApplyEnd, showTask=true }) => { const [info, setInfo] = useState(detail); // 申请课题按钮点击函数 @@ -36,13 +36,14 @@ export default ({ detail, projectId, applyTaskId, current_user, showLoginDialog, return ( info ?

    -
    +
    {info.projectName} {info.projectType && {info.projectType}}

    GitLink项目地址:  {info.gitlinkUrl}

    项目简介:  {info.projectIntro}
    - {info.registrationTaskList && info.registrationTaskList.length > 0 ? info.registrationTaskList.map((item, index)=>{ + {/* 从项目、课题列表展开的显示课题列表,结果公示页展开的不显示课题列表 */} + {showTask && (info.registrationTaskList && info.registrationTaskList.length > 0 ? info.registrationTaskList.map((item, index)=>{ return
    {window.location.href=`/glcc/subjects/detail/${item.id}`}}>{item.taskName}
    @@ -53,13 +54,14 @@ export default ({ detail, projectId, applyTaskId, current_user, showLoginDialog,
    {item.taskDesc}
    {item.taskUrl &&
    课题链接:   {item.taskUrl}
    }
    - {(isStudentApplyDate || studentApplyEnd) && (applyTaskId && item.id && Object.keys(applyTaskId).includes(item.id.toString()) ? : isStudentApplyDate && )} + {/* {(isStudentApplyDate || studentApplyEnd) && (applyTaskId && item.id && Object.keys(applyTaskId).includes(item.id.toString()) ? : isStudentApplyDate && )} */} + {applyTaskId && item.id && Object.keys(applyTaskId).includes(item.id.toString()) && }
    ¥{item.taskReward}
    - }) : } + }) : )}
    :
    ) } \ No newline at end of file diff --git a/src/glcc/project/index.scss b/src/glcc/project/index.scss index 7bb5ca0fa..8f07e342b 100644 --- a/src/glcc/project/index.scss +++ b/src/glcc/project/index.scss @@ -108,6 +108,10 @@ padding-bottom: 12px; border-bottom: 1px dashed #bec5d5; line-height: 36px; + &.byResult{ + margin: -15px -10px -40px; + border-bottom: none; + } .name{ font-weight:700; color:#3753c5; diff --git a/src/glcc/project/taskDetail/index.jsx b/src/glcc/project/taskDetail/index.jsx index 39222459f..607c7abc0 100644 --- a/src/glcc/project/taskDetail/index.jsx +++ b/src/glcc/project/taskDetail/index.jsx @@ -64,7 +64,8 @@ function TaskDetail(props) {
    课题简介
    {detail.taskDesc}
    - {(isStudentApplyDate || studentApplyEnd) && (applyTaskId && taskId && Object.keys(applyTaskId).includes(taskId.toString()) ? : isStudentApplyDate && )} + {/* {(isStudentApplyDate || studentApplyEnd) && (applyTaskId && taskId && Object.keys(applyTaskId).includes(taskId.toString()) ? : isStudentApplyDate && )} */} + {applyTaskId && taskId && Object.keys(applyTaskId).includes(taskId.toString()) && }
    diff --git a/src/glcc/project/taskList/index.jsx b/src/glcc/project/taskList/index.jsx index d3b66f994..ed72ba40c 100644 --- a/src/glcc/project/taskList/index.jsx +++ b/src/glcc/project/taskList/index.jsx @@ -32,11 +32,12 @@ function TaskList({applyTaskId, setStudentInfoReset, current_user, showLoginDial title: '操作', dataIndex: 'action', align: 'center', className:"actionColumns taskTableColumns", render: ((text, item, index) => { return (
    - {(isStudentApplyDate || studentApplyEnd) && (applyTaskId && Object.keys(applyTaskId).includes(item.id.toString()) ? + {applyTaskId && Object.keys(applyTaskId).includes(item.id.toString()) && {window.location.href=`/glcc/student/apply/${item.id}`}}>报名详情} + {/* {(isStudentApplyDate || studentApplyEnd) && (applyTaskId && Object.keys(applyTaskId).includes(item.id.toString()) ? {window.location.href=`/glcc/student/apply/${item.id}`}}>报名详情 {deleteItem(item.id)}}> :isStudentApplyDate && - {applyTask(item.id)}}>申请课题)} + {applyTask(item.id)}}>申请课题)} */}
    ) }) diff --git a/src/glcc/student/index.jsx b/src/glcc/student/index.jsx index fdb47d7c2..a548fce59 100644 --- a/src/glcc/student/index.jsx +++ b/src/glcc/student/index.jsx @@ -553,9 +553,9 @@ function Apply(props) { } - + {/* - + */}
    From ccc97628fe6625298462b1748cad210f683cec79 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B0=A2=E6=80=9D?= <2897217417@qq.com> Date: Sat, 25 Jun 2022 02:00:59 +0800 Subject: [PATCH 06/31] =?UTF-8?q?glcc=E6=8A=A5=E5=90=8D=E7=BB=93=E6=9D=9F?= =?UTF-8?q?=E6=97=B6=E9=97=B4=E6=8E=A7=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package-lock.json | 35 ++++++++++++++------ src/glcc/home/index.jsx | 6 ++-- src/glcc/index.jsx | 6 ++-- src/glcc/project/component/projectDetail.jsx | 6 ++-- src/glcc/project/projectList/index.jsx | 3 +- src/glcc/project/taskDetail/index.jsx | 6 ++-- src/glcc/project/taskList/index.jsx | 8 +++-- src/glcc/student/index.jsx | 14 ++++---- src/glcc/student/index.scss | 2 +- 9 files changed, 56 insertions(+), 30 deletions(-) diff --git a/package-lock.json b/package-lock.json index 391406a77..7c2d84144 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1284,7 +1284,7 @@ }, "axios": { "version": "0.24.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.24.0.tgz", + "resolved": "http://173.15.15.82:8081/repository/npm-all/axios/-/axios-0.24.0.tgz", "integrity": "sha512-Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA==", "requires": { "follow-redirects": "^1.14.4" @@ -7215,12 +7215,14 @@ "balanced-match": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "optional": true }, "brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "optional": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -7235,17 +7237,20 @@ "code-point-at": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "optional": true }, "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "optional": true }, "console-control-strings": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", + "optional": true }, "core-util-is": { "version": "1.0.2", @@ -7362,7 +7367,8 @@ "inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "optional": true }, "ini": { "version": "1.3.5", @@ -7374,6 +7380,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "optional": true, "requires": { "number-is-nan": "^1.0.0" } @@ -7388,6 +7395,7 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "optional": true, "requires": { "brace-expansion": "^1.1.7" } @@ -7395,12 +7403,14 @@ "minimist": { "version": "1.2.5", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "optional": true }, "minipass": { "version": "2.9.0", "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", + "optional": true, "requires": { "safe-buffer": "^5.1.2", "yallist": "^3.0.0" @@ -7419,6 +7429,7 @@ "version": "0.5.3", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.3.tgz", "integrity": "sha512-P+2gwrFqx8lhew375MQHHeTlY8AuOJSrGf0R5ddkEndUkmwpgUob/vQuBD1V22/Cw1/lJr4x+EjllSezBThzBg==", + "optional": true, "requires": { "minimist": "^1.2.5" } @@ -7480,7 +7491,8 @@ "npm-normalize-package-bin": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz", - "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==" + "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==", + "optional": true }, "npm-packlist": { "version": "1.4.8", @@ -7508,7 +7520,8 @@ "number-is-nan": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "optional": true }, "object-assign": { "version": "4.1.1", @@ -7520,6 +7533,7 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "optional": true, "requires": { "wrappy": "1" } @@ -7633,6 +7647,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "optional": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -15991,7 +16006,7 @@ }, "save-dev": { "version": "0.0.1-security", - "resolved": "https://registry.npmjs.org/save-dev/-/save-dev-0.0.1-security.tgz", + "resolved": "http://173.15.15.82:8081/repository/npm-all/save-dev/-/save-dev-0.0.1-security.tgz", "integrity": "sha512-k6knZTDNK8PKKbIqnvxiOveJinuw2LcQjqDoaorZWP9M5AR2EPsnpDeSbeoZZ0pHr5ze1uoaKdK8NBGQrJ34Uw==" }, "sax": { diff --git a/src/glcc/home/index.jsx b/src/glcc/home/index.jsx index 91e5ac8e0..fa7d78c7f 100644 --- a/src/glcc/home/index.jsx +++ b/src/glcc/home/index.jsx @@ -17,7 +17,7 @@ import { hasAuditRole } from '../api'; import './index.scss'; export default (props) => { - const { current_user, isGlccApplyDate, showNotification, studentApplyStart, history } = props; + const { current_user, isGlccApplyDate, showNotification, studentApplyStart, history, studentApplyEnd } = props; // function goToApply() { // if (isGlccApplyDate) { // if (current_user && current_user.login) { @@ -48,7 +48,9 @@ export default (props) => { // 学生报名时间 if (!studentApplyStart) { showNotification("不在报名时间,报名开始时间为5月26日"); - } else { + } else if(studentApplyEnd) { + showNotification("课题申请时间已截止"); + } else{ history.push("/glcc/subjects"); } } diff --git a/src/glcc/index.jsx b/src/glcc/index.jsx index e4e8fc325..fbc3d20fe 100644 --- a/src/glcc/index.jsx +++ b/src/glcc/index.jsx @@ -65,8 +65,8 @@ const Glcc = (propsF) => { // 学生报名时间new Date().getTime() > new Date('2022-05-26').getTime() const studentApplyStart = new Date().getTime() > new Date('2022-05-26').getTime(); - const isStudentApplyDate = new Date().getTime() > new Date('2022-05-26').getTime() && new Date().getTime() < new Date('2022-06-25').getTime(); - const studentApplyEnd = new Date().getTime() > new Date('2022-06-25').getTime(); + const isStudentApplyDate = new Date().getTime() > new Date('2022-05-26').getTime() && new Date().getTime() < new Date('2022-06-25 0:0').getTime(); + const studentApplyEnd = new Date().getTime() > new Date('2022-06-25 0:0').getTime(); // 用户已报名课题id数组 const [applyTaskId, setApplyTaskId] = useState({}); @@ -154,7 +154,7 @@ const Glcc = (propsF) => { ( - + )} > diff --git a/src/glcc/project/component/projectDetail.jsx b/src/glcc/project/component/projectDetail.jsx index f9745a0b7..a9d4beb66 100644 --- a/src/glcc/project/component/projectDetail.jsx +++ b/src/glcc/project/component/projectDetail.jsx @@ -4,7 +4,7 @@ import Nodata from '../../../forge/Nodata'; import { useEffect } from 'react'; import { getProjectById } from '../../api'; -export default ({ detail, projectId, applyTaskId, current_user, showLoginDialog, isStudentApplyDate, studentApplyEnd }) => { +export default ({ detail, projectId, applyTaskId, current_user, showLoginDialog, isStudentApplyDate, studentApplyEnd, showNotification }) => { const [info, setInfo] = useState(detail); // 申请课题按钮点击函数 @@ -12,7 +12,9 @@ export default ({ detail, projectId, applyTaskId, current_user, showLoginDialog, // 判断用户是否已经登录 if(current_user && current_user.login){ // 判断用户是否已经报名两个课题 - if(applyTaskId && Object.keys(applyTaskId).length >= 2){ + if(studentApplyEnd) { + showNotification("课题申请时间已截止"); + }else if(applyTaskId && Object.keys(applyTaskId).length >= 2){ message.error('最多只能同时报名两个课题'); }else{ // 跳转到学生报名页 diff --git a/src/glcc/project/projectList/index.jsx b/src/glcc/project/projectList/index.jsx index b11ee9f0e..19d9fd304 100644 --- a/src/glcc/project/projectList/index.jsx +++ b/src/glcc/project/projectList/index.jsx @@ -10,7 +10,7 @@ import star from "../../img/star.png"; const { Search } = Input; // 项目列表 -function ProjectList({ applyTaskId, current_user, showLoginDialog, isStudentApplyDate, studentApplyEnd, location, history, match }) { +function ProjectList({ applyTaskId, current_user, showLoginDialog, isStudentApplyDate, studentApplyEnd, location, showNotification, match }) { let gitlinkLastUrl = match.params.gitlinkLastUrl && match.params.gitlinkLastUrl.replace(/\./g, ''); let openmmlab = location.search && location.search.split('=')[1]; // 输入搜索框 @@ -87,6 +87,7 @@ function ProjectList({ applyTaskId, current_user, showLoginDialog, isStudentAppl showLoginDialog={showLoginDialog} isStudentApplyDate={isStudentApplyDate} studentApplyEnd={studentApplyEnd} + showNotification={showNotification} />} trigger='click' overlayClassName='projectItemPopover' diff --git a/src/glcc/project/taskDetail/index.jsx b/src/glcc/project/taskDetail/index.jsx index 39222459f..20d8b44d1 100644 --- a/src/glcc/project/taskDetail/index.jsx +++ b/src/glcc/project/taskDetail/index.jsx @@ -8,7 +8,7 @@ import bgPng from "../../img/bgPng.png"; // 课题列表 function TaskDetail(props) { - const {match, current_user, showLoginDialog, isStudentApplyDate, studentApplyEnd, applyTaskId} = props + const {match, current_user, showLoginDialog, isStudentApplyDate, studentApplyEnd, applyTaskId, showNotification} = props const taskId = Number(match.params.taskId); const [detail, setDetail] = useState(undefined); @@ -25,7 +25,9 @@ function TaskDetail(props) { // 判断用户是否已经登录 if(current_user && current_user.login){ // 判断用户是否已经报名两个课题 - if(applyTaskId && Object.keys(applyTaskId).length >= 2){ + if(studentApplyEnd) { + showNotification("课题申请时间已截止"); + } else if(applyTaskId && Object.keys(applyTaskId).length >= 2){ message.error('最多只能同时报名两个课题'); }else{ // 跳转到学生报名页 diff --git a/src/glcc/project/taskList/index.jsx b/src/glcc/project/taskList/index.jsx index d3b66f994..3a205e1ae 100644 --- a/src/glcc/project/taskList/index.jsx +++ b/src/glcc/project/taskList/index.jsx @@ -34,7 +34,7 @@ function TaskList({applyTaskId, setStudentInfoReset, current_user, showLoginDial
    {(isStudentApplyDate || studentApplyEnd) && (applyTaskId && Object.keys(applyTaskId).includes(item.id.toString()) ? {window.location.href=`/glcc/student/apply/${item.id}`}}>报名详情 - {deleteItem(item.id)}}> + {!studentApplyEnd && {deleteItem(item.id)}}>} :isStudentApplyDate && {applyTask(item.id)}}>申请课题)}
    @@ -65,7 +65,7 @@ function TaskList({applyTaskId, setStudentInfoReset, current_user, showLoginDial } const expandRow = (record) => { - return + return } // 展开收起行回调 @@ -84,7 +84,9 @@ function TaskList({applyTaskId, setStudentInfoReset, current_user, showLoginDial // 判断用户是否已经登录 if(current_user && current_user.login){ // 判断用户是否已经报名两个课题 - if(applyTaskId && Object.keys(applyTaskId).length >= 2){ + if(studentApplyEnd) { + showNotification("课题申请时间已截止"); + } else if(applyTaskId && Object.keys(applyTaskId).length >= 2){ message.error('最多只能同时报名两个课题'); }else{ // 跳转到学生报名页 diff --git a/src/glcc/student/index.jsx b/src/glcc/student/index.jsx index fdb47d7c2..d0b0ac145 100644 --- a/src/glcc/student/index.jsx +++ b/src/glcc/student/index.jsx @@ -28,8 +28,8 @@ function Apply(props) { // 可用于开发时不同账号报名 // current_user && (current_user.user_id = 6) // current_user && (current_user.userName = "创新使者") - const isStudentApplyDate = new Date().getTime() > new Date('2022-05-26').getTime() && new Date().getTime() < new Date('2022-06-25').getTime(); - + const isStudentApplyDate = new Date().getTime() > new Date('2022-05-26').getTime() && new Date().getTime() < new Date('2022-06-25 0:0').getTime(); + const studentApplyEnd = new Date().getTime() > new Date('2022-06-25 0:0').getTime(); const { getFieldDecorator, validateFields, setFieldsValue, validateFieldsAndScroll } = form; const [imageUrl, setImageUrl] = useState(undefined); const [loading, setLoading] = useState(false); @@ -456,6 +456,7 @@ function Apply(props) { accept=".png,.jpg,.jpeg" beforeUpload={beforeUpload} onChange={handleChange} + disabled={studentApplyEnd} > {imageUrl ? avatar : userApplyInfo && userApplyInfo.proveAttachmentId ?
    :
    @@ -506,7 +507,7 @@ function Apply(props) { 4、课题实施规划:课题实施拆解、工作规划以及时间安排; 5、个人简介:编程技能、过往经验; 6、提示:文本框表达内容有限,建议您提供内容的pdf或url链接方式展示更精彩的陈述" - onBlur={(e) => { verify("memo" + i); changeTaskItem("memo", e.currentTarget.value, i) }} rows={7} className={editable ? "memoText" : "memoText disabledInput"} /> + onBlur={(e) => { verify("memo" + i); changeTaskItem("memo", e.currentTarget.value, i) }} rows={7} className={editable ? "memoText disabledInput" : "memoText disabledInput"} disabled={studentApplyEnd} /> )}
    {helper('附件', @@ -525,6 +526,7 @@ function Apply(props) { downloadIcon: , showRemoveIcon: true }} + disabled={studentApplyEnd} >
    上传自荐书
    @@ -545,7 +547,7 @@ function Apply(props) { {getFieldDecorator("enrollFirst", { rules: [{ required: true, message: "请选择课题优先级" },] })( - + 课题一 课题二 @@ -553,9 +555,9 @@ function Apply(props) { } - + {!studentApplyEnd && - + }
    diff --git a/src/glcc/student/index.scss b/src/glcc/student/index.scss index 41fa70c0b..4054a05ae 100644 --- a/src/glcc/student/index.scss +++ b/src/glcc/student/index.scss @@ -249,7 +249,7 @@ font-size: 14px; line-height: 30px; text-align: center; - cursor: pointer; + cursor: not-allowed; &:hover { opacity: 0.8; } From be8c9734fc5c07fc6bfcf571039c8d200d06fcbf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B0=A2=E6=80=9D?= <2897217417@qq.com> Date: Sat, 25 Jun 2022 08:36:37 +0800 Subject: [PATCH 07/31] =?UTF-8?q?glcc=E5=AD=A6=E7=94=9F=E6=8A=A5=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/glcc/home/index.jsx | 2 +- src/glcc/home/lightspot/index.jsx | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/glcc/home/index.jsx b/src/glcc/home/index.jsx index fa7d78c7f..656548beb 100644 --- a/src/glcc/home/index.jsx +++ b/src/glcc/home/index.jsx @@ -118,7 +118,7 @@ export default (props) => { - + diff --git a/src/glcc/home/lightspot/index.jsx b/src/glcc/home/lightspot/index.jsx index ca240cdf8..aa2daec05 100644 --- a/src/glcc/home/lightspot/index.jsx +++ b/src/glcc/home/lightspot/index.jsx @@ -12,7 +12,7 @@ import { Link } from 'react-router-dom'; function Lightspot(props) { - const {current_user, isGlccApplyDate, showNotification, studentApplyStart} = props; + const {current_user, isGlccApplyDate, showNotification, studentApplyStart, studentApplyEnd} = props; function goToApply(){ if(isGlccApplyDate){ @@ -31,6 +31,8 @@ function Lightspot(props) { // 学生报名时间 if(!studentApplyStart){ showNotification("不在报名时间,报名开始时间为5月26日"); + } else if(studentApplyEnd) { + showNotification("课题申请时间已截止"); }else{ window.location.href="/glcc/subjects"; } From aa64908ef27a943df7d5c345bdac3ab7f58950a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B0=A2=E6=80=9D?= <2897217417@qq.com> Date: Mon, 27 Jun 2022 09:37:27 +0800 Subject: [PATCH 08/31] =?UTF-8?q?=E5=85=AC=E7=A4=BA=E7=BB=93=E6=9E=9C?= =?UTF-8?q?=E9=A1=B5+glcc=E5=AD=A6=E7=94=9F=E6=8A=A5=E5=90=8D=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/glcc/check/index.jsx | 4 +- src/glcc/checkResult/index.jsx | 72 ++++++++--------------------- src/glcc/checkResult/index.scss | 4 ++ src/glcc/home/index.jsx | 6 +-- src/glcc/index.jsx | 2 +- src/glcc/project/taskList/index.jsx | 7 +-- src/glcc/student/index.jsx | 5 +- 7 files changed, 36 insertions(+), 64 deletions(-) diff --git a/src/glcc/check/index.jsx b/src/glcc/check/index.jsx index 2eeea2623..3d9ab90ed 100644 --- a/src/glcc/check/index.jsx +++ b/src/glcc/check/index.jsx @@ -31,7 +31,7 @@ function Check({ current_user, showNotification, history }) { className: "taskTableColumns", dataIndex: 'studentName', key: 'studentName', - width: '9%', + width: '12%', ellipsis: true, render: (text, record) => { return ( @@ -46,7 +46,7 @@ function Check({ current_user, showNotification, history }) { key: 'createdOn', dataIndex: 'createdOn', className: "taskTableColumns", - width: '10%', + width: '12%', render: (text, record) => { return ( text && moment(text).format('YYYY-MM-DD') diff --git a/src/glcc/checkResult/index.jsx b/src/glcc/checkResult/index.jsx index 1108a8bcd..2bf33a41f 100644 --- a/src/glcc/checkResult/index.jsx +++ b/src/glcc/checkResult/index.jsx @@ -1,6 +1,6 @@ import React, { useEffect, useState } from 'react'; -import { Input, message, Modal, Table, Tooltip } from 'antd'; -import { cancelTaskApply, getPassList } from '../api'; +import { Input, Table, Tooltip } from 'antd'; +import { getPassList, hasAuditRole } from '../api'; import ProjectDetail from '../project/component/projectDetail'; // 预公示banner import resultBanner from "../img/resultBanner.png"; @@ -12,9 +12,7 @@ import '../project/index.scss'; const { Search } = Input; // 课题列表 -function CheckResult({applyTaskId, setStudentInfoReset, current_user, showLoginDialog, isStudentApplyDate, studentApplyEnd,cancelCount,showNotification}) { - const [visible, setVisible] = useState(false); - const [deleteTaskId, setDeleteTaskId] = useState(undefined); +function CheckResult({current_user, history}) { // 输入搜索框 const [keyword, setKeyword] = useState(undefined); const [data, setData] = useState([]); @@ -26,6 +24,19 @@ function CheckResult({applyTaskId, setStudentInfoReset, current_user, showLoginD const [expandedRowKeys, setExpandedRowKeys] = useState([]); const time = new Date().getTime() > new Date('2022-06-28').getTime() && new Date().getTime() < new Date('2022-07-01').getTime(); + useEffect(()=>{ + // 未到时间 + if(new Date().getTime() < new Date('2022-06-28').getTime()){ + history.push('/glcc'); + } + hasAuditRole({ userId: current_user.user_id }).then(res => { + // 7.1之前 普通用户不可以进入此页面 + if (!(res && res.message == 'success' && res.data.hasRole) && new Date().getTime() < new Date('2022-07-01').getTime()) { + history.push('/glcc'); + } + }) + },[]) + useEffect(() => { setLoading(true); setExpandedRowKeys([]); @@ -45,8 +56,8 @@ function CheckResult({applyTaskId, setStudentInfoReset, current_user, showLoginD const columns = [ { title: '序号', dataIndex: 'index', align: 'center', className:"columnsResult", width: '6%', render: (text, item, index) => {(current-1)*pageSize+index + 1} }, - { title: '入选学生', dataIndex: 'studentName', className:"columnsResult taskName", width: '10%', ellipsis: true}, - { title: '课题导师', dataIndex: 'tutorName', className:"columnsResult", width: '10%', ellipsis: true}, + { title: '入选学生', dataIndex: 'studentName', className:"columnsResult taskName", width: '12%', ellipsis: true}, + { title: '课题导师', dataIndex: 'tutorName', className:"columnsResult", width: '12%', ellipsis: true}, { title: '课题名称', dataIndex: 'taskName', className:"columnsResult", width: '26%', ellipsis: true, render: (text, item) => {window.open(`/glcc/subjects/detail/${item.id}`)}}>{text} }, { title: '项目名称', dataIndex: 'projectName', className:"columnsResult", ellipsis: true, width: '26%', render: (text) => {text} }, { title: '操作', dataIndex: 'action', align: 'center', className:"columnsResult actionBox"}, @@ -65,7 +76,7 @@ function CheckResult({applyTaskId, setStudentInfoReset, current_user, showLoginD } const expandRow = (record) => { - return + return } // 展开收起行回调 @@ -79,38 +90,6 @@ function CheckResult({applyTaskId, setStudentInfoReset, current_user, showLoginD setExpandedRowKeys(Array.from(keys)); } - // 申请课题按钮点击函数 - function applyTask(id){ - // 判断用户是否已经登录 - if(current_user && current_user.login){ - // 判断用户是否已经报名两个课题 - if(applyTaskId && Object.keys(applyTaskId).length >= 2){ - message.error('最多只能同时报名两个课题'); - }else{ - // 跳转到学生报名页 - window.location.href=`/glcc/student/apply/${id}`; - } - }else{ - showLoginDialog(); - } - } - - // 取消课题按钮点击函数 - function cancelApply(){ - const id = []; - id.push(applyTaskId[deleteTaskId]); - const params = { - ids: id - } - cancelTaskApply(params).then(response=>{ - if(response && response.message === "success"){ - setVisible(false); - setStudentInfoReset(Math.random()); - message.success('取消成功'); - } - }) - } - // 改变pagesize function onShowSizeChange(current, pageSize){ window.scrollTo(0, 0); @@ -150,19 +129,6 @@ function CheckResult({applyTaskId, setStudentInfoReset, current_user, showLoginD - {setVisible(false)}} - onOk={cancelApply} - wrapClassName='cancelApplyTask' - > -
    !确定取消申请此课题?
    -

    取消申请后将删除此条申请记录。你仅有 {2-cancelCount} 次取消申请的机会

    -
    ) } diff --git a/src/glcc/checkResult/index.scss b/src/glcc/checkResult/index.scss index 2b404a157..1824f859a 100644 --- a/src/glcc/checkResult/index.scss +++ b/src/glcc/checkResult/index.scss @@ -48,6 +48,10 @@ margin-top: 20px; background-color:rgba(255, 255, 255, 0.27); border: 1px solid white; + .ant-table-placeholder{ + background-color: rgba(255, 255, 255, 0.27); + border-bottom: none; + } th.columnsResult{ background-color:#DFE8FF; .ant-table-column-title{ diff --git a/src/glcc/home/index.jsx b/src/glcc/home/index.jsx index c67418401..4ea730cd8 100644 --- a/src/glcc/home/index.jsx +++ b/src/glcc/home/index.jsx @@ -86,14 +86,14 @@ export default (props) => {
    查看夏令营各项目,掌握项目课题详细信息
    - {/* 学生报名6.24结束 */} - {/*
    + {/* 学生报名6.24结束记得注释 */} +
    学生报名
    选择感兴趣的课题,开启您的开源之旅
    -
    */} +
    {/* 6.28.-7.1 审核结果仅对导师可见,7.1之后对所有用户可见*/} {((resultTime1 && hasRole) || resultTime2) &&
    diff --git a/src/glcc/index.jsx b/src/glcc/index.jsx index b4526114e..6ffabac64 100644 --- a/src/glcc/index.jsx +++ b/src/glcc/index.jsx @@ -158,7 +158,7 @@ const Glcc = (propsF) => { ( - + )} > diff --git a/src/glcc/project/taskList/index.jsx b/src/glcc/project/taskList/index.jsx index 0ed2be08c..71898e3c1 100644 --- a/src/glcc/project/taskList/index.jsx +++ b/src/glcc/project/taskList/index.jsx @@ -32,12 +32,13 @@ function TaskList({applyTaskId, setStudentInfoReset, current_user, showLoginDial title: '操作', dataIndex: 'action', align: 'center', className:"actionColumns taskTableColumns", render: ((text, item, index) => { return (
    - {applyTaskId && Object.keys(applyTaskId).includes(item.id.toString()) && {window.location.href=`/glcc/student/apply/${item.id}`}}>报名详情} - {/* {(isStudentApplyDate || studentApplyEnd) && (applyTaskId && Object.keys(applyTaskId).includes(item.id.toString()) ? + {/* {applyTaskId && Object.keys(applyTaskId).includes(item.id.toString()) && {window.location.href=`/glcc/student/apply/${item.id}`}}>报名详情} */} + {/* 记得注释 放开上一行 */} + {(isStudentApplyDate || studentApplyEnd) && (applyTaskId && Object.keys(applyTaskId).includes(item.id.toString()) ? {window.location.href=`/glcc/student/apply/${item.id}`}}>报名详情 {!studentApplyEnd && {deleteItem(item.id)}}>} :isStudentApplyDate && - {applyTask(item.id)}}>申请课题)} */} + {applyTask(item.id)}}>申请课题)}
    ) }) diff --git a/src/glcc/student/index.jsx b/src/glcc/student/index.jsx index d0b0ac145..5b79caf5d 100644 --- a/src/glcc/student/index.jsx +++ b/src/glcc/student/index.jsx @@ -555,9 +555,10 @@ function Apply(props) { } - {!studentApplyEnd && + {/* 记得注释 */} + - } +
    From ac8d4d54dd5d8d0658aec0a55633f3ae8836d508 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BD=95=E7=AB=A5=E5=B4=87?= Date: Mon, 27 Jun 2022 09:53:18 +0800 Subject: [PATCH 09/31] =?UTF-8?q?=E5=85=B3=E9=97=ADglcc=E5=BC=B9=E6=A1=86?= =?UTF-8?q?=E5=8F=8A=E5=BE=AE=E8=B0=83=E9=82=80=E8=AF=B7=E6=A0=B7=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/App.js | 4 ++-- src/forge/Component/AddMember.jsx | 3 ++- src/forge/Settings/CollaboratorMemberByLink.jsx | 9 ++++++--- src/forge/Settings/setting.scss | 17 +++++++++++++++-- 4 files changed, 25 insertions(+), 8 deletions(-) diff --git a/src/App.js b/src/App.js index 9f794a180..2d17a1864 100644 --- a/src/App.js +++ b/src/App.js @@ -18,7 +18,7 @@ import moment from 'moment' import { MuiThemeProvider, createMuiTheme } from 'material-ui/styles'; import SiderBar from './forge/Component/SiderBar'; import SiderBarHelp from './glcc/siderBarHelp'; -import GlccModal from './modules/glccModal'; +// import GlccModal from './modules/glccModal'; import { SnackbarHOC } from 'educoder'; import { initAxiosInterceptors } from './AppConfig' @@ -293,7 +293,7 @@ class App extends Component { this.Modifyloginvalue()}> - + {/* */} {!pathName || (pathName && pathName.indexOf("glcc") === -1) ? : } {/* */} diff --git a/src/forge/Component/AddMember.jsx b/src/forge/Component/AddMember.jsx index 62b87cbdf..adbbabdda 100644 --- a/src/forge/Component/AddMember.jsx +++ b/src/forge/Component/AddMember.jsx @@ -92,7 +92,8 @@ function AddMember({getID,login,showNotification}){ onClick={addCollaborator} className="ml15" > - + {/* */} + 添加成员 diff --git a/src/forge/Settings/CollaboratorMemberByLink.jsx b/src/forge/Settings/CollaboratorMemberByLink.jsx index ea34ec8fd..4d6f9c7bd 100644 --- a/src/forge/Settings/CollaboratorMemberByLink.jsx +++ b/src/forge/Settings/CollaboratorMemberByLink.jsx @@ -58,6 +58,8 @@ function CollaboratorMemberByLink({ projectsId, owner, project_id, author, showN if (document.execCommand('copy')) { document.execCommand('copy'); setCopy(true); + // copyEle.blur(); + document.getSelection().removeAllRanges(); } } @@ -77,13 +79,14 @@ function CollaboratorMemberByLink({ projectsId, owner, project_id, author, showN id="inviteUrl" value={inviteUrl} readOnly - addonAfter={} className='linkBox' + addonAfter={} className='linkBox' />
    -
    注:
    + {/*
    注:
    */}
    1、管理员可通过分享邀请链接的方式,邀请其他成员加入项目
    - 2、若已勾选管理员审核选项,用户接收邀请后管理员可在个人主页中“待办事项”窗口审核成员审核信息,若不需要管理员审核,成员接收邀请后,将直接加入项目 + 2、若已勾选管理员审核选项,用户接收邀请后管理员可在个人主页中“待办事项”窗口审核成员审核信息,若不需要管理员审核,成员接收邀请后,将直接加入项目
    + 3、当前邀请链接有效期为三天
    diff --git a/src/forge/Settings/setting.scss b/src/forge/Settings/setting.scss index 74d3edf43..b859fd661 100644 --- a/src/forge/Settings/setting.scss +++ b/src/forge/Settings/setting.scss @@ -65,6 +65,15 @@ } .addPanel{ display: flex; + + .icon-tianjiafangda{ + font-size: 16px !important; + font-weight: bold; + &+span{ + position: relative; + top:-1px; + } + } } .red_btn{ display: block; @@ -255,11 +264,15 @@ color:#151d40; } .tipBox{ - background-color:rgba(199, 209, 255, 0.17); + // background-color:rgba(199, 209, 255, 0.17); color:#7e849e; - padding: 20px 150px 20px 25px; + // padding: 20px 150px 20px 25px; display: flex; } + .success{ + background-color: #36cacf; + border-color: #36cacf; + } .linkBox{ width: 55%; .ant-input-group-addon{ From b23720e41d59d3e99a12ed433e9a8dca9e768133 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B0=A2=E6=80=9D?= <2897217417@qq.com> Date: Mon, 27 Jun 2022 17:39:26 +0800 Subject: [PATCH 10/31] =?UTF-8?q?glcc=E7=BB=93=E6=9E=9C=E5=85=AC=E7=A4=BA?= =?UTF-8?q?=E9=A1=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/glcc/check/index.jsx | 29 +++++++----- src/glcc/checkResult/index.jsx | 18 ++++---- src/glcc/home/index.jsx | 12 ++--- src/glcc/home/lightspot/index.jsx | 13 +----- src/glcc/index.jsx | 43 +++++++++++++----- src/glcc/openmmlab/projectTab/index.jsx | 4 +- .../openmmlab/projectTab/projectDetail.jsx | 33 ++++++-------- src/glcc/project/component/projectDetail.jsx | 36 ++++++--------- src/glcc/project/index.jsx | 2 +- src/glcc/project/projectList/index.jsx | 11 ++--- src/glcc/project/taskDetail/index.jsx | 38 ++++++---------- src/glcc/project/taskList/index.jsx | 44 +++++++------------ src/glcc/project/taskList/index.scss | 5 +++ 13 files changed, 131 insertions(+), 157 deletions(-) diff --git a/src/glcc/check/index.jsx b/src/glcc/check/index.jsx index 3d9ab90ed..c62891dd2 100644 --- a/src/glcc/check/index.jsx +++ b/src/glcc/check/index.jsx @@ -46,7 +46,7 @@ function Check({ current_user, showNotification, history }) { key: 'createdOn', dataIndex: 'createdOn', className: "taskTableColumns", - width: '12%', + width: '10%', render: (text, record) => { return ( text && moment(text).format('YYYY-MM-DD') @@ -104,7 +104,7 @@ function Check({ current_user, showNotification, history }) { dataIndex: 'memo', className: 'taskTableColumns', ellipsis: true, - width: '20%', + width: '18%', render: (text, record) => { return ( @@ -124,15 +124,18 @@ function Check({ current_user, showNotification, history }) { title: '操作', dataIndex: 'passStatus', align: 'center', - width: '9%', + width: '11%', className: "actionColumns taskTableColumns", render: ((text, record, index) => { return (
    - { - text ? : - - } + {/* 学生已入选并且锁定 */} + {text && record.locked && } + {/* 学生已经被其他导师锁定 */} + {!text && record.locked && } + {/* 学生未被锁定 */} + {!record.locked && (text ? : + )}
    ) }) @@ -184,11 +187,11 @@ function Check({ current_user, showNotification, history }) { if (props.expanded) { return { props.onExpand(props.record, e); - }}>更多详情 + }}>更多详情 } else { return { props.onExpand(props.record, e); - }}>更多详情 + }}>更多详情 } } @@ -224,6 +227,7 @@ function Check({ current_user, showNotification, history }) {
    学生证明 { setVisible(true); setPicture(record.proveAttachmentId) }} src={`${window.location.href.indexOf('test') > -1 || window.location.href.indexOf('localhost') > -1 @@ -279,8 +283,9 @@ function Check({ current_user, showNotification, history }) {

    审核说明:

    1、欢迎进入导师审核页!各位导师可查看到您发布课题的全部学生报名信息
    2、您可根据学生报名信息与学生进行邮箱或电话沟通了解学生详细情况,选择满意的学生
    -
    3、每个课题仅允许审核通过一个学生,在审核过程中,您可以随时调整各学生的审核状态
    -
    4、请各位导师在7.1日前完成课题申请的审核,7.1日将根据各导师审核信息,公布各课题学生入选名单
    +
    3、每个课题仅允许审核通过一个学生,在审核过程中,您可以随时调整各学生的审核状态,直到与学生匹配成功
    +
    4、6月28日后,各导师可访问 https://www.gitlink.org.cn/glcc/result 查询匹配结果(需使用导师账号登录)
    +
    5、请各位导师在7月1日前完成课题申请的审核,7月1日凌晨1点平台将根据各导师审核信息,正式公布各课题学生入选名单
    { setTaskId(e) }} activeKey={taskId + ''}> @@ -313,7 +318,6 @@ function Check({ current_user, showNotification, history }) { { setVisible(false) }} onOk={() => { setVisible(false) }} className="picture-modal" @@ -321,6 +325,7 @@ function Check({ current_user, showNotification, history }) { footer={null} > -1 || window.location.href.indexOf('localhost') > -1 ? 'https://testforgeplus.trustie.net' diff --git a/src/glcc/checkResult/index.jsx b/src/glcc/checkResult/index.jsx index 2bf33a41f..8ca925da1 100644 --- a/src/glcc/checkResult/index.jsx +++ b/src/glcc/checkResult/index.jsx @@ -22,16 +22,16 @@ function CheckResult({current_user, history}) { const [pageSize, setPageSize] = useState(20); const [loading, setLoading] = useState(false); const [expandedRowKeys, setExpandedRowKeys] = useState([]); - const time = new Date().getTime() > new Date('2022-06-28').getTime() && new Date().getTime() < new Date('2022-07-01').getTime(); + const time = new Date().getTime() > new Date('2022-06-28 1:0').getTime() && new Date().getTime() < new Date('2022-07-01 0:0').getTime(); useEffect(()=>{ // 未到时间 - if(new Date().getTime() < new Date('2022-06-28').getTime()){ + if(new Date().getTime() < new Date('2022-06-28 1:0').getTime()){ history.push('/glcc'); } hasAuditRole({ userId: current_user.user_id }).then(res => { // 7.1之前 普通用户不可以进入此页面 - if (!(res && res.message == 'success' && res.data.hasRole) && new Date().getTime() < new Date('2022-07-01').getTime()) { + if (!(res && res.message == 'success' && res.data.hasRole) && new Date().getTime() < new Date('2022-07-01 1:0').getTime()) { history.push('/glcc'); } }) @@ -57,9 +57,11 @@ function CheckResult({current_user, history}) { const columns = [ { title: '序号', dataIndex: 'index', align: 'center', className:"columnsResult", width: '6%', render: (text, item, index) => {(current-1)*pageSize+index + 1} }, { title: '入选学生', dataIndex: 'studentName', className:"columnsResult taskName", width: '12%', ellipsis: true}, - { title: '课题导师', dataIndex: 'tutorName', className:"columnsResult", width: '12%', ellipsis: true}, - { title: '课题名称', dataIndex: 'taskName', className:"columnsResult", width: '26%', ellipsis: true, render: (text, item) => {window.open(`/glcc/subjects/detail/${item.id}`)}}>{text} }, - { title: '项目名称', dataIndex: 'projectName', className:"columnsResult", ellipsis: true, width: '26%', render: (text) => {text} }, + { title: '学生专业', dataIndex: 'profession', className:"columnsResult taskName", width: '12%', ellipsis: true, render: (text) => {text}}, + { title: '学生年级', dataIndex: 'grade', className:"columnsResult taskName", width: '10%', ellipsis: true}, + { title: '课题导师', dataIndex: 'tutorName', className:"columnsResult", width: '10%', ellipsis: true}, + { title: '课题名称', dataIndex: 'taskName', className:"columnsResult", width: '20%', ellipsis: true, render: (text, item) => {window.open(`/glcc/subjects/detail/${item.id}?locked=${item.locked}`)}}>{text} }, + { title: '项目名称', dataIndex: 'projectName', className:"columnsResult", ellipsis: true, width: '14%', render: (text) => {text} }, { title: '操作', dataIndex: 'action', align: 'center', className:"columnsResult actionBox"}, ] @@ -106,7 +108,7 @@ function CheckResult({current_user, history}) { return (
    {time && } - {new Date().getTime() > new Date('2022-07-01').getTime() && } + {new Date().getTime() > new Date('2022-07-01 1:0').getTime() && }
    开源夏令营 / 入选学生名单{time && '预'}公示
    @@ -116,7 +118,7 @@ function CheckResult({current_user, history}) { columns={columns} dataSource={data} expandedRowRender={expandRow} - expandIconColumnIndex={5} + expandIconColumnIndex={7} expandIconAsCell={false} expandIcon={customExpandIcon} rowKey={'id'} diff --git a/src/glcc/home/index.jsx b/src/glcc/home/index.jsx index 4ea730cd8..8f9972a87 100644 --- a/src/glcc/home/index.jsx +++ b/src/glcc/home/index.jsx @@ -17,7 +17,7 @@ import { hasAuditRole } from '../api'; import './index.scss'; export default (props) => { - const { current_user, isGlccApplyDate, showNotification, studentApplyStart, history, studentApplyEnd } = props; + const { current_user, isGlccApplyDate, showNotification, studentApplyStart, history, secondStudentApplyDate, isStudentApplyDate } = props; // function goToApply() { // if (isGlccApplyDate) { // if (current_user && current_user.login) { @@ -32,8 +32,8 @@ export default (props) => { // } const [hasRole, setHhasRole] = useState(false); - const resultTime1 = new Date().getTime() > new Date('2022-06-28').getTime() && new Date().getTime() < new Date('2022-07-01').getTime(); - const resultTime2 = new Date().getTime() > new Date('2022-07-01').getTime(); + const resultTime1 = new Date().getTime() > new Date('2022-06-28 1:0').getTime() && new Date().getTime() < new Date('2022-07-01 0:0').getTime(); + const resultTime2 = new Date().getTime() > new Date('2022-07-01 1:0').getTime(); useEffect(() => { if (!current_user.user_id) { @@ -50,7 +50,7 @@ export default (props) => { // 学生报名时间 if (!studentApplyStart) { showNotification("不在报名时间,报名开始时间为5月26日"); - } else if(studentApplyEnd) { + } else if(!isStudentApplyDate && !secondStudentApplyDate) { showNotification("课题申请时间已截止"); } else{ history.push("/glcc/subjects"); @@ -86,7 +86,7 @@ export default (props) => {
    查看夏令营各项目,掌握项目课题详细信息
    - {/* 学生报名6.24结束记得注释 */} + {/* 学生报名6.24结束第一次报名,6.29 1:00 - 6.30 24:00第二次报名 */}
    @@ -132,7 +132,7 @@ export default (props) => {
    - + diff --git a/src/glcc/home/lightspot/index.jsx b/src/glcc/home/lightspot/index.jsx index aa2daec05..1b52769e1 100644 --- a/src/glcc/home/lightspot/index.jsx +++ b/src/glcc/home/lightspot/index.jsx @@ -12,7 +12,7 @@ import { Link } from 'react-router-dom'; function Lightspot(props) { - const {current_user, isGlccApplyDate, showNotification, studentApplyStart, studentApplyEnd} = props; + const {current_user, isGlccApplyDate, showNotification, goToStudent} = props; function goToApply(){ if(isGlccApplyDate){ @@ -27,17 +27,6 @@ function Lightspot(props) { } } - function goToStudent(){ - // 学生报名时间 - if(!studentApplyStart){ - showNotification("不在报名时间,报名开始时间为5月26日"); - } else if(studentApplyEnd) { - showNotification("课题申请时间已截止"); - }else{ - window.location.href="/glcc/subjects"; - } - } - return (
    diff --git a/src/glcc/index.jsx b/src/glcc/index.jsx index 6ffabac64..b5db40032 100644 --- a/src/glcc/index.jsx +++ b/src/glcc/index.jsx @@ -1,4 +1,4 @@ -import React from "react"; +import React, {useState, useEffect} from "react"; import { Route, Switch } from "react-router-dom"; import { withRouter } from "react-router"; @@ -11,9 +11,8 @@ import "./index.scss"; import Loadable from "react-loadable"; import Loading from "../Loading"; import { ImageLayerOfCommentHOC } from "../modules/page/layers/ImageLayerOfCommentHOC"; -import { useState } from "react"; -import { useEffect } from "react"; import { getStudentApplyInfo } from "./api"; +import { message } from "antd"; // 任务管理审核 @@ -63,20 +62,22 @@ const Result = Loadable({ loading: Loading, }); const Glcc = (propsF) => { - const {current_user} = propsF; + const {current_user, showLoginDialog} = propsF; // 判断时间是否在开源夏令营报名时间内(4月15日~5月20日) const isGlccApplyDate = Date.parse(new Date()) < 1653062400000; - // 学生报名时间new Date().getTime() > new Date('2022-05-26').getTime() + // 学生报名时间 const studentApplyStart = new Date().getTime() > new Date('2022-05-26').getTime(); const isStudentApplyDate = new Date().getTime() > new Date('2022-05-26').getTime() && new Date().getTime() < new Date('2022-06-25 0:0').getTime(); - const studentApplyEnd = new Date().getTime() > new Date('2022-06-25 0:0').getTime(); + const secondStudentApplyDate = new Date().getTime() > new Date('2022-06-29 1:0').getTime() && new Date().getTime() < new Date('2022-07-01 0:0').getTime(); // 用户已报名课题id数组 const [applyTaskId, setApplyTaskId] = useState({}); // 刷新用户课题报名信息 const [studentInfoReset, setStudentInfoReset] = useState(undefined); const [cancelCount,setCancelCount]=useState(0); + // 用户是否已经被导师选中 + const [lockedTaskName, setLockedTaskName] = useState(undefined); useEffect(()=>{ // 获取用户课题报名信息current_user user_id @@ -86,6 +87,7 @@ const Glcc = (propsF) => { const data = {}; response.data && response.data.registrationStudentTaskList.map(item=>{ data[item.taskId] = item.id; + item.locked && setLockedTaskName(item.taskName); }) setApplyTaskId(data); response.data&&setCancelCount(Number(response.data.cancelCount)); @@ -93,6 +95,25 @@ const Glcc = (propsF) => { }) },[studentInfoReset, current_user]) + // 申请课题按钮点击函数 + function applyTask(id){ + // 判断用户是否已经登录 + if(current_user && current_user.login){ + // 判断该学生是否已经被某位导师选中 + if(lockedTaskName){ + message.error(`由于你已入选 ${lockedTaskName} 课题,无法申请其他课题`); + }else if(applyTaskId && Object.keys(applyTaskId).length >= 3){ + // 判断用户是否已经报名三个课题 + message.error('最多只能同时报名三个课题'); + }else{ + // 跳转到学生报名页 + window.location.href=`/glcc/student/apply/${id}`; + } + }else{ + showLoginDialog(); + } + } + return (
    @@ -127,14 +148,14 @@ const Glcc = (propsF) => { ( - + )} > {/* 项目/课题列表 */} ( - + )} > @@ -142,7 +163,7 @@ const Glcc = (propsF) => { ( - + )} > @@ -150,7 +171,7 @@ const Glcc = (propsF) => { ( - + )} > @@ -166,7 +187,7 @@ const Glcc = (propsF) => { ( - + )} > diff --git a/src/glcc/openmmlab/projectTab/index.jsx b/src/glcc/openmmlab/projectTab/index.jsx index c707ed8fa..ba493833f 100644 --- a/src/glcc/openmmlab/projectTab/index.jsx +++ b/src/glcc/openmmlab/projectTab/index.jsx @@ -7,7 +7,7 @@ const $ = window.$; const { TabPane } = Tabs; -function ProjectTabs({ list, applyTaskId, history, current_user, showLoginDialog, isStudentApplyDate, studentApplyEnd }) { +function ProjectTabs({ list, applyTaskId, history, current_user, showLoginDialog, isStudentApplyDate, secondStudentApplyDate, applyTask }) { useEffect(()=>{ setTimeout(()=>{ @@ -34,7 +34,7 @@ function ProjectTabs({ list, applyTaskId, history, current_user, showLoginDialog key={i + ''} >
    - +
    diff --git a/src/glcc/openmmlab/projectTab/projectDetail.jsx b/src/glcc/openmmlab/projectTab/projectDetail.jsx index 206bef698..bea1eefb4 100644 --- a/src/glcc/openmmlab/projectTab/projectDetail.jsx +++ b/src/glcc/openmmlab/projectTab/projectDetail.jsx @@ -3,25 +3,9 @@ import { Button, message, Tooltip } from 'antd'; import Nodata from '../../../forge/Nodata'; import { getProjectById } from '../../api'; -export default ({ detail, projectId, applyTaskId, current_user, showLoginDialog, isStudentApplyDate, studentApplyEnd }) => { +export default ({ detail, projectId, applyTaskId, isStudentApplyDate, secondStudentApplyDate, applyTask }) => { const [info, setInfo] = useState(detail); - // 申请课题按钮点击函数 - function applyTask(id){ - // 判断用户是否已经登录 - if(current_user && current_user.login){ - // 判断用户是否已经报名两个课题 - if(applyTaskId && Object.keys(applyTaskId).length >= 2){ - message.error('最多只能同时报名两个课题'); - }else{ - // 跳转到学生报名页 - window.location.href=`/glcc/student/apply/${id}`; - } - }else{ - showLoginDialog(); - } - } - useEffect(()=>{ if(!detail && projectId){ // 通过项目Id查询项目详情 @@ -42,7 +26,7 @@ export default ({ detail, projectId, applyTaskId, current_user, showLoginDialog, {info.registrationTaskList && info.registrationTaskList.length > 0 ? info.registrationTaskList.map((item, index)=>{ return
    -
    {window.location.href=`/glcc/subjects/detail/${item.id}`}}>{item.taskName}
    +
    {window.location.href=`/glcc/subjects/detail/${item.id}?locked=${item.locked}`}}>{item.taskName}
    导师姓名:   {item.tutorName}
    {item.tutorMail &&
    邮箱地址:   {item.tutorMail}
    }
    @@ -50,8 +34,17 @@ export default ({ detail, projectId, applyTaskId, current_user, showLoginDialog,
    {item.taskDesc}
    {item.taskUrl &&
    课题链接:   {item.taskUrl}
    }
    - {(isStudentApplyDate || studentApplyEnd) && (applyTaskId && item.id && Object.keys(applyTaskId).includes(item.id.toString()) ? : isStudentApplyDate && )} - + {/* 报名详情按钮 */} + {applyTaskId && Object.keys(applyTaskId).includes(item.id.toString()) && } + + {/* 课题申请时间范围内: 申请课题 */} + {/* 第一次报名 */} + {isStudentApplyDate && !(applyTaskId && Object.keys(applyTaskId).includes(item.id.toString())) && } + {/* 第二次报名 锁定状态 */} + {secondStudentApplyDate && !(applyTaskId && Object.keys(applyTaskId).includes(item.id.toString())) && (item.locked ? : )} + + {/* 查看课题详情按钮 */} +
    ¥{item.taskReward}
    diff --git a/src/glcc/project/component/projectDetail.jsx b/src/glcc/project/component/projectDetail.jsx index c2a4efc09..9ecf11b54 100644 --- a/src/glcc/project/component/projectDetail.jsx +++ b/src/glcc/project/component/projectDetail.jsx @@ -4,27 +4,9 @@ import Nodata from '../../../forge/Nodata'; import { useEffect } from 'react'; import { getProjectById } from '../../api'; -export default ({ detail, projectId, applyTaskId, current_user, showLoginDialog, isStudentApplyDate, studentApplyEnd, showNotification, showTask=true }) => { +export default ({ detail, projectId, applyTaskId, isStudentApplyDate, secondStudentApplyDate, showTask=true, applyTask }) => { const [info, setInfo] = useState(detail); - // 申请课题按钮点击函数 - function applyTask(id){ - // 判断用户是否已经登录 - if(current_user && current_user.login){ - // 判断用户是否已经报名两个课题 - if(studentApplyEnd) { - showNotification("课题申请时间已截止"); - }else if(applyTaskId && Object.keys(applyTaskId).length >= 2){ - message.error('最多只能同时报名两个课题'); - }else{ - // 跳转到学生报名页 - window.location.href=`/glcc/student/apply/${id}`; - } - }else{ - showLoginDialog(); - } - } - useEffect(()=>{ if(!detail && projectId){ // 通过项目Id查询项目详情 @@ -48,7 +30,7 @@ export default ({ detail, projectId, applyTaskId, current_user, showLoginDialog, {showTask && (info.registrationTaskList && info.registrationTaskList.length > 0 ? info.registrationTaskList.map((item, index)=>{ return
    -
    {window.location.href=`/glcc/subjects/detail/${item.id}`}}>{item.taskName}
    +
    {window.location.href=`/glcc/subjects/detail/${item.id}?locked=${item.locked}`}}>{item.taskName}
    导师姓名:   {item.tutorName}
    {item.tutorMail &&
    邮箱地址:   {item.tutorMail}
    }
    @@ -56,9 +38,17 @@ export default ({ detail, projectId, applyTaskId, current_user, showLoginDialog,
    {item.taskDesc}
    {item.taskUrl &&
    课题链接:   {item.taskUrl}
    }
    - {/* {(isStudentApplyDate || studentApplyEnd) && (applyTaskId && item.id && Object.keys(applyTaskId).includes(item.id.toString()) ? : isStudentApplyDate && )} */} - {applyTaskId && item.id && Object.keys(applyTaskId).includes(item.id.toString()) && } - + {/* 报名详情按钮 */} + {applyTaskId && Object.keys(applyTaskId).includes(item.id.toString()) && } + + {/* 课题申请时间范围内: 申请课题 */} + {/* 第一次报名 */} + {isStudentApplyDate && !(applyTaskId && Object.keys(applyTaskId).includes(item.id.toString())) && } + {/* 第二次报名 锁定状态 */} + {secondStudentApplyDate && !(applyTaskId && Object.keys(applyTaskId).includes(item.id.toString())) && (item.locked ? : )} + + {/* 查看课题详情按钮 */} +
    ¥{item.taskReward}
    diff --git a/src/glcc/project/index.jsx b/src/glcc/project/index.jsx index 9e54f84f5..fab73ba1a 100644 --- a/src/glcc/project/index.jsx +++ b/src/glcc/project/index.jsx @@ -20,7 +20,7 @@ const TaskList = Loadable({ }); function Project(propsF) { - const {location, current_user, showLoginDialog, isStudentApplyDate, studentApplyEnd, applyTaskId, setStudentInfoReset, cancelCount} = propsF; + const {location} = propsF; const {pathname} = location; useEffect(()=>{ window.scrollTo(0, 0); diff --git a/src/glcc/project/projectList/index.jsx b/src/glcc/project/projectList/index.jsx index 19d9fd304..e3c6dcf90 100644 --- a/src/glcc/project/projectList/index.jsx +++ b/src/glcc/project/projectList/index.jsx @@ -10,7 +10,7 @@ import star from "../../img/star.png"; const { Search } = Input; // 项目列表 -function ProjectList({ applyTaskId, current_user, showLoginDialog, isStudentApplyDate, studentApplyEnd, location, showNotification, match }) { +function ProjectList({ applyTaskId, isStudentApplyDate, location, match, secondStudentApplyDate, applyTask }) { let gitlinkLastUrl = match.params.gitlinkLastUrl && match.params.gitlinkLastUrl.replace(/\./g, ''); let openmmlab = location.search && location.search.split('=')[1]; // 输入搜索框 @@ -83,19 +83,14 @@ function ProjectList({ applyTaskId, current_user, showLoginDialog, isStudentAppl onVisibleChange={(visible) => { changeVisible(visible, item) }} key={index} placement={(index + 1) % 3 === 0 ? 'bottomRight' : (index + 1) % 3 % 2 === 0 ? 'bottom' : 'bottomLeft'} - content={} + content={} trigger='click' overlayClassName='projectItemPopover' autoAdjustOverflow={false} >
    - {!gitlinkLastUrl && !openmmlab && item.recommendFlag ? : ''} + {!gitlinkLastUrl && !openmmlab && item.recommendFlag ? : ''}
    diff --git a/src/glcc/project/taskDetail/index.jsx b/src/glcc/project/taskDetail/index.jsx index a1b04cbaa..9f86363a8 100644 --- a/src/glcc/project/taskDetail/index.jsx +++ b/src/glcc/project/taskDetail/index.jsx @@ -1,15 +1,15 @@ import React, {useEffect, useState } from 'react'; -import { Button, message, Spin} from 'antd'; +import { Button, Spin, Tooltip} from 'antd'; +import { getTaskById } from '../../api'; +import bgPng from "../../img/bgPng.png"; import '../index.scss'; import './index.scss'; -import { getTaskById } from '../../api'; -import banner from "../../img/studentProject.png"; -import bgPng from "../../img/bgPng.png"; // 课题列表 function TaskDetail(props) { - const {match, current_user, showLoginDialog, isStudentApplyDate, studentApplyEnd, applyTaskId, showNotification} = props + const {match, location, isStudentApplyDate, secondStudentApplyDate, applyTaskId, applyTask} = props const taskId = Number(match.params.taskId); + const locked = location.search && location.search.split('=')[1] === 'true'; const [detail, setDetail] = useState(undefined); useEffect(()=>{ @@ -20,24 +20,6 @@ function TaskDetail(props) { }) },[]) - // 申请课题按钮点击函数 - function applyTask(id){ - // 判断用户是否已经登录 - if(current_user && current_user.login){ - // 判断用户是否已经报名两个课题 - if(studentApplyEnd) { - showNotification("课题申请时间已截止"); - } else if(applyTaskId && Object.keys(applyTaskId).length >= 2){ - message.error('最多只能同时报名两个课题'); - }else{ - // 跳转到学生报名页 - window.location.href=`/glcc/student/apply/${id}`; - } - }else{ - showLoginDialog(); - } - } - return (
    {/* */} @@ -66,8 +48,14 @@ function TaskDetail(props) {
    课题简介
    {detail.taskDesc}
    - {/* {(isStudentApplyDate || studentApplyEnd) && (applyTaskId && taskId && Object.keys(applyTaskId).includes(taskId.toString()) ? : isStudentApplyDate && )} */} - {applyTaskId && taskId && Object.keys(applyTaskId).includes(taskId.toString()) && } + {/* 报名详情按钮 */} + {applyTaskId && Object.keys(applyTaskId).includes(taskId.toString()) && } + + {/* 课题申请时间范围内: 申请课题 */} + {/* 第一次报名 */} + {isStudentApplyDate && !(applyTaskId && Object.keys(applyTaskId).includes(taskId.toString())) && } + {/* 第二次报名 锁定状态 */} + {secondStudentApplyDate && !(applyTaskId && Object.keys(applyTaskId).includes(taskId.toString())) && (locked ? : )}
    diff --git a/src/glcc/project/taskList/index.jsx b/src/glcc/project/taskList/index.jsx index 71898e3c1..c9ed00923 100644 --- a/src/glcc/project/taskList/index.jsx +++ b/src/glcc/project/taskList/index.jsx @@ -7,7 +7,7 @@ import bgPng from "../../img/bgPng.png"; const { Search } = Input; // 课题列表 -function TaskList({applyTaskId, setStudentInfoReset, current_user, showLoginDialog, isStudentApplyDate, studentApplyEnd,cancelCount,showNotification}) { +function TaskList({applyTaskId, setStudentInfoReset, current_user, showLoginDialog, isStudentApplyDate, secondStudentApplyDate,cancelCount,showNotification, applyTask}) { const [visible, setVisible] = useState(false); const [deleteTaskId, setDeleteTaskId] = useState(undefined); // 输入搜索框 @@ -24,21 +24,25 @@ function TaskList({applyTaskId, setStudentInfoReset, current_user, showLoginDial const columns = [ { title: '序号', dataIndex: 'index', align: 'center', className:"taskTableColumns", width: '6%', render: (text, item, index) => {(current-1)*pageSize+index + 1} }, - { title: '课题名称', dataIndex: 'taskName', className:"taskTableColumns taskName", width: '24%', ellipsis: true, render: (text, item) => {window.open(`/glcc/subjects/detail/${item.id}`)}}>{text} }, + { title: '课题名称', dataIndex: 'taskName', className:"taskTableColumns taskName", width: '24%', ellipsis: true, render: (text, item) => {window.open(`/glcc/subjects/detail/${item.id}?locked=${item.locked}`)}}>{text} }, { title: '课题类型', dataIndex: 'projectType', className:"taskTableColumns", width: '12%', ellipsis: true, }, { title: '项目名称', dataIndex: 'projectName', className:"taskTableColumns", width: '24%', ellipsis: true, render: (text) => {text} }, - { title: '课题奖金', dataIndex: 'taskReward', className:"taskTableColumns", ellipsis: true, width: `${isStudentApplyDate || studentApplyEnd ? '10%' : ''}`, render: (text) => {text} }, + { title: '课题奖金', dataIndex: 'taskReward', className:"taskTableColumns", ellipsis: true, width: '10%', render: (text) => {text} }, { title: '操作', dataIndex: 'action', align: 'center', className:"actionColumns taskTableColumns", render: ((text, item, index) => { return (
    - {/* {applyTaskId && Object.keys(applyTaskId).includes(item.id.toString()) && {window.location.href=`/glcc/student/apply/${item.id}`}}>报名详情} */} - {/* 记得注释 放开上一行 */} - {(isStudentApplyDate || studentApplyEnd) && (applyTaskId && Object.keys(applyTaskId).includes(item.id.toString()) ? - {window.location.href=`/glcc/student/apply/${item.id}`}}>报名详情 - {!studentApplyEnd && {deleteItem(item.id)}}>} - :isStudentApplyDate && - {applyTask(item.id)}}>申请课题)} + {/* 报名详情按钮 */} + {applyTaskId && Object.keys(applyTaskId).includes(item.id.toString()) && {window.location.href=`/glcc/student/apply/${item.id}`}}>报名详情} + + {/* 取消按钮5.26-6.25 */} + {applyTaskId && Object.keys(applyTaskId).includes(item.id.toString()) && isStudentApplyDate && {deleteItem(item.id)}}>} + + {/* 课题申请时间范围内: 申请课题 */} + {/* 第一次报名 */} + {isStudentApplyDate && !(applyTaskId && Object.keys(applyTaskId).includes(item.id.toString())) && {applyTask(item.id)}}>申请课题} + {/* 第二次报名 锁定状态 */} + {secondStudentApplyDate && !(applyTaskId && Object.keys(applyTaskId).includes(item.id.toString())) && (item.locked ? 申请课题 : {applyTask(item.id, item.locked)}}>申请课题)}
    ) }) @@ -67,7 +71,7 @@ function TaskList({applyTaskId, setStudentInfoReset, current_user, showLoginDial } const expandRow = (record) => { - return + return } // 展开收起行回调 @@ -81,24 +85,6 @@ function TaskList({applyTaskId, setStudentInfoReset, current_user, showLoginDial setExpandedRowKeys(Array.from(keys)); } - // 申请课题按钮点击函数 - function applyTask(id){ - // 判断用户是否已经登录 - if(current_user && current_user.login){ - // 判断用户是否已经报名两个课题 - if(studentApplyEnd) { - showNotification("课题申请时间已截止"); - } else if(applyTaskId && Object.keys(applyTaskId).length >= 2){ - message.error('最多只能同时报名两个课题'); - }else{ - // 跳转到学生报名页 - window.location.href=`/glcc/student/apply/${id}`; - } - }else{ - showLoginDialog(); - } - } - // 取消课题按钮点击函数 function cancelApply(){ const id = []; diff --git a/src/glcc/project/taskList/index.scss b/src/glcc/project/taskList/index.scss index 058caf895..3ee4811cf 100644 --- a/src/glcc/project/taskList/index.scss +++ b/src/glcc/project/taskList/index.scss @@ -38,6 +38,11 @@ color: #466aff; &:hover{color:#5d7cff !important;} &:active{color:#1140ff !important;} + &.disabled .disabled{ + &:hover, &:active{color:#a4aabb !important;} + color:#a4aabb; + cursor: not-allowed; + } } .applyTask, span.applyTask{ color:#eb9350; From 47f3c33ae28380e5fa8e2bc4d0bf347098d807fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BD=95=E7=AB=A5=E5=B4=87?= Date: Mon, 27 Jun 2022 18:31:52 +0800 Subject: [PATCH 11/31] =?UTF-8?q?=E4=BF=AE=E6=94=B9glcc=E5=AD=A6=E7=94=9F?= =?UTF-8?q?=E6=8A=A5=E5=90=8D=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/glcc/student/index.jsx | 172 ++++++++++++++++++++---------------- src/glcc/student/index.scss | 56 ++++++------ 2 files changed, 127 insertions(+), 101 deletions(-) diff --git a/src/glcc/student/index.jsx b/src/glcc/student/index.jsx index d0b0ac145..dcb217281 100644 --- a/src/glcc/student/index.jsx +++ b/src/glcc/student/index.jsx @@ -28,16 +28,19 @@ function Apply(props) { // 可用于开发时不同账号报名 // current_user && (current_user.user_id = 6) // current_user && (current_user.userName = "创新使者") - const isStudentApplyDate = new Date().getTime() > new Date('2022-05-26').getTime() && new Date().getTime() < new Date('2022-06-25 0:0').getTime(); - const studentApplyEnd = new Date().getTime() > new Date('2022-06-25 0:0').getTime(); + const isStudentApplyDate = new Date().getTime() > new Date('2022-06-29 01:00:00').getTime() && new Date().getTime() < new Date('2022-07-01 01:00:00').getTime(); + const studentApplyEnd = new Date().getTime() > new Date('2022-07-01 01:00:00').getTime(); const { getFieldDecorator, validateFields, setFieldsValue, validateFieldsAndScroll } = form; const [imageUrl, setImageUrl] = useState(undefined); const [loading, setLoading] = useState(false); const [reload, setReload] = useState(); + const [locked, setLocked] = useState(false); const [userApplyInfo, setUserApplyInfo] = useState(undefined); const [editable, setEditable] = useState(isStudentApplyDate); const [files, setFiles] = useState([]); const [files1, setFiles1] = useState([]); + const [files2, setFiles2] = useState([]); + console.log('isStudentApplyDate:' + isStudentApplyDate) const initTask = { taskId, memo: '', @@ -102,31 +105,40 @@ function Apply(props) { if (Array.isArray(data.registrationStudentTaskList)) { if (data.registrationStudentTaskList.length) { let initTaskList = []; + let lockedCurrent = false; for (const [i, item] of data.registrationStudentTaskList.entries()) { applyInfo['memo' + i] = item.memo; applyInfo['taskId' + i] = item.taskId; applyInfo['memoAttachmentId' + i] = item.memoAttachmentId; - + if (item.locked) { + lockedCurrent = item.locked; + } if (i == 0) { item.memoAttachment && setFiles([{ name: item.memoAttachment && item.memoAttachment.fileName || '已上传文件', id: item.memoAttachmentId, uid: item.memoAttachmentId }]); - } else { + } else if(i==1) { item.memoAttachment && setFiles1([{ name: item.memoAttachment && item.memoAttachment.fileName || '已上传文件', id: item.memoAttachmentId, uid: item.memoAttachmentId, }]); + } else { + item.memoAttachment && setFiles2([{ + name: item.memoAttachment && item.memoAttachment.fileName || '已上传文件', + id: item.memoAttachmentId, + uid: item.memoAttachmentId, + }]); } - if(item.enrollFirst){ - applyInfo.enrollFirst=i; - } + // if (item.enrollFirst) { + // applyInfo.enrollFirst = i; + // } - if(item.status==2){ - item.status==2 + if (item.status == 2) { + item.status == 2 } initTaskList.push(item); @@ -138,9 +150,9 @@ function Apply(props) { // }); } setMyTaskList(initTaskList); - - // 如果只有一条报名数据,且课题id与当前id不一致,那么新增一条默认数据 - if (data.registrationStudentTaskList.length === 1 && data.registrationStudentTaskList[0].taskId != taskId) { + setLocked(lockedCurrent); + // 如果未被锁定,且小于3条报名数据,且课题id与当前id不一致,那么新增一条默认数据 + if (!lockedCurrent && data.registrationStudentTaskList.length < 3 && data.registrationStudentTaskList[0].taskId != taskId) { addTask(data.registrationStudentTaskList); } } else { @@ -183,15 +195,15 @@ function Apply(props) { validateFieldsAndScroll((err, values) => { if (!err) { setLoading(true); - if (myTaskList.length === 2) { - if(values.enrollFirst==1){ - myTaskList[1].enrollFirst = true; - myTaskList[0].enrollFirst = false; - }else{ - myTaskList[1].enrollFirst = false; - myTaskList[0].enrollFirst = true; - } - } + // if (myTaskList.length === 2) { + // if (values.enrollFirst == 1) { + // myTaskList[1].enrollFirst = true; + // myTaskList[0].enrollFirst = false; + // } else { + // myTaskList[1].enrollFirst = false; + // myTaskList[0].enrollFirst = true; + // } + // } const params = { grade: values.grade, location: Array.isArray(values.location) && values.location.join(), @@ -205,6 +217,7 @@ function Apply(props) { registrationStudentTaskList: myTaskList } + if (userApplyInfo) { params.id = userApplyInfo.id; studentApplyEdit(params).then(response => { @@ -293,8 +306,10 @@ function Apply(props) { changeTaskItem('memoAttachmentId', '', i); } console.log(info.fileList); - if (i) { + if (i==1) { setFiles1(appendFileSizeToUploadFileAll(info.fileList).slice(-1)); + }else if (i==2) { + setFiles2(appendFileSizeToUploadFileAll(info.fileList).slice(-1)); } else { setFiles(appendFileSizeToUploadFileAll(info.fileList).slice(-1)); } @@ -315,46 +330,47 @@ function Apply(props) { let taskListNew = List ? [...List] : [...myTaskList]; if (taskId != taskListNew[0].taskId) { taskListNew.push(initTask); + let newTask = 'taskId' + (taskListNew.length - 1); // 先增加数据再给选择框赋默认值,否则不生效 new Promise((resove) => { setMyTaskList(() => { resove(); return taskListNew }); - }).then(res => setFieldsValue({ 'taskId1': taskId })) + }).then(res => setFieldsValue({ [newTask]: taskId })) } else { taskListNew.push({ ...initTask, taskId: '' }); setMyTaskList(taskListNew); } } - function deleteTask(i) { - let taskListNew = myTaskList.slice(); - let reWriteInfo; - if (i) { - reWriteInfo = { - taskId1: '', - memo1: '', - memoAttachmentId1: '' - } - setFiles1([]); - } else { - reWriteInfo = { - taskId0: taskListNew[1].taskId, - memo0: taskListNew[1].memo, - memoAttachmentId0: taskListNew[1].memoAttachmentId, - taskId1: '', - memo1: '', - memoAttachmentId1: '' - } - setFiles(files1); - setFiles1([]); - } + // function deleteTask(i) { + // let taskListNew = myTaskList.slice(); + // let reWriteInfo; + // if (i) { + // reWriteInfo = { + // taskId1: '', + // memo1: '', + // memoAttachmentId1: '' + // } + // setFiles1([]); + // } else { + // reWriteInfo = { + // taskId0: taskListNew[1].taskId, + // memo0: taskListNew[1].memo, + // memoAttachmentId0: taskListNew[1].memoAttachmentId, + // taskId1: '', + // memo1: '', + // memoAttachmentId1: '' + // } + // setFiles(files1); + // setFiles1([]); + // } - taskListNew.splice(i, 1); - setMyTaskList(taskListNew); - setFieldsValue(reWriteInfo); - } + // taskListNew.splice(i, 1); + // setMyTaskList(taskListNew); + // setFieldsValue(reWriteInfo); + // } function changeTaskItem(field, val, i) { let taskListNew = [...myTaskList]; @@ -390,31 +406,32 @@ function Apply(props) {
    申请课题

    基本信息

    + {/* className={editable ? "" : "disabledInput"} disabled={editable ?false : true} */} {helper('学生姓名', '', 'studentName', [{ required: true, message: "请正确输入学生姓名" }, { max: 32, message: '超出限制长度32位字符,请重新编辑' }], - { verify("studentName") }} className={editable ? "" : "disabledInput"} disabled={editable ? false : true} /> + { verify("studentName") }} className={"disabledInput"} disabled /> )} {helper('所在高校', '', 'school', [{ required: true, message: "请正确输入所在高校" }, { max: 32, message: '超出限制长度32位字符,请重新编辑' }], - { verify("school") }} className={editable ? "" : "disabledInput"} disabled={editable ? false : true} /> + { verify("school") }} className={"disabledInput"} disabled /> )} {helper('所学专业', '', 'profession', [{ max: 32, message: '超出限制长度32位字符,请重新编辑' }], - { verify("profession") }} className={editable ? "" : "disabledInput"} disabled={editable ? false : true} /> + { verify("profession") }} className={"disabledInput"} disabled /> )} {getFieldDecorator("location", { rules: [] })( - + )} {helper('所在年级', @@ -431,7 +448,7 @@ function Apply(props) { [{ required: true, message: "请正确输入联系电话" }, { max: 14, message: '超出限制长度14位字符,请重新编辑' }, { pattern: /(^(\d{3,4}-)?\d{7,8})$|([1][3,4,5,6,7,8,9][0-9]{9})/, message: '请正确输入联系电话' }], - { verify("phone") }} className={editable ? "" : "disabledInput"} disabled={editable ? false : true} /> + { verify("phone") }} className={"disabledInput"} disabled /> )} {helper('邮箱地址', '', @@ -441,7 +458,7 @@ function Apply(props) { { required: true, message: "请输入邮箱地址" }, { max: 50, message: '超出限制长度50位字符,请重新编辑' }, ], - { verify("mail") }} className={editable ? "" : "disabledInput"} disabled={editable ? false : true} /> + { verify("mail") }} className={"disabledInput"} disabled /> )}
    {helper('学生证明', @@ -456,7 +473,7 @@ function Apply(props) { accept=".png,.jpg,.jpeg" beforeUpload={beforeUpload} onChange={handleChange} - disabled={studentApplyEnd} + disabled > {imageUrl ? avatar : userApplyInfo && userApplyInfo.proveAttachmentId ?
    :
    @@ -470,12 +487,12 @@ function Apply(props) { myTaskList.map((item, i) => { return ( -

    课题信息({i + 1}/2) +

    课题信息({i + 1}/3) {/* {myTaskList.length > 1 && { deleteTask(i) }}>删除} */}

    {item.status == 1 && item.auditRemark &&
    欢迎您报名CCF GitLink开源编程夏令营,感谢您对GLCC项目及课题的关注和支持!本次您的报名信息未通过初审,原因如下:
    -
    +
    希望您尽快修改并重新提交报名信息,我们将再次审核,万分感谢!
    } {helper('课题名称', @@ -495,6 +512,7 @@ function Apply(props) { {allTaskList.map(item => { return })} )} + {item.locked && item.passStatus &&
    您已通过审核,成功入选该课题
    }
    {helper('自荐书', , 'memo' + i, @@ -507,7 +525,10 @@ function Apply(props) { 4、课题实施规划:课题实施拆解、工作规划以及时间安排; 5、个人简介:编程技能、过往经验; 6、提示:文本框表达内容有限,建议您提供内容的pdf或url链接方式展示更精彩的陈述" - onBlur={(e) => { verify("memo" + i); changeTaskItem("memo", e.currentTarget.value, i) }} rows={7} className={editable ? "memoText disabledInput" : "memoText disabledInput"} disabled={studentApplyEnd} /> + onBlur={(e) => { verify("memo" + i); changeTaskItem("memo", e.currentTarget.value, i) }} + rows={7} + className={editable ? "memoText disabledInput" : "memoText disabledInput"} + disabled={!(isStudentApplyDate && !item.id)} /> )}
    {helper('附件', @@ -517,7 +538,7 @@ function Apply(props) { { bookChange(info, i) }} onDownload={download} beforeUpload={beforeUpload2} @@ -526,9 +547,9 @@ function Apply(props) { downloadIcon: , showRemoveIcon: true }} - disabled={studentApplyEnd} + disabled={!(isStudentApplyDate && !item.id)} > -
    上传自荐书
    +
    上传自荐书
    )}
    @@ -541,22 +562,23 @@ function Apply(props) { } { - myTaskList.length === 2 && 对您而言,哪个课题的优先级更高?注:优先级将决定您申请课题的入选顺序,若申请的2个课题同时通过审核,将以高优先级的课题作为入选标准} - > - {getFieldDecorator("enrollFirst", { - rules: [{ required: true, message: "请选择课题优先级" },] - })( - - 课题一 - 课题二 - - )} - + // myTaskList.length >= 2 && 对您而言,哪个课题的优先级更高?注:优先级将决定您申请课题的入选顺序,若申请的2个课题同时通过审核,将以高优先级的课题作为入选标准} + // > + // {getFieldDecorator("enrollFirst", { + // rules: [{ required: true, message: "请选择课题优先级" },] + // })( + // + // 课题一 + // 课题二 + // 课题三 + // + // )} + // } {!studentApplyEnd && - + }
    diff --git a/src/glcc/student/index.scss b/src/glcc/student/index.scss index 4054a05ae..8724fa2f3 100644 --- a/src/glcc/student/index.scss +++ b/src/glcc/student/index.scss @@ -12,18 +12,6 @@ .has-error .ant-form-split { position: absolute; } - .ant-btn-primary { - background-color: #466aff; - border-color: #466aff; - &:hover { - background-color: #5d7cff; - border-color: #5d7cff; - } - &:active { - background-color: #1140ff; - border-color: #1140ff; - } - } .apply { width: 1200px; margin: 0 auto; @@ -196,16 +184,6 @@ .sub { width: 200px; height: 36px; - background-color: #466aff; - border-color: #466aff; - &:hover { - background-color: #5d7cff; - border-color: #5d7cff; - } - &:active { - background-color: #1140ff; - border-color: #1140ff; - } } } .explain { @@ -249,12 +227,19 @@ font-size: 14px; line-height: 30px; text-align: center; - cursor: not-allowed; + // cursor: not-allowed; + cursor: pointer; &:hover { opacity: 0.8; } } + .ant-upload-disabled { + .glcc_btn { + cursor: not-allowed; + } + } + .add_task { margin-left: 90px; } @@ -317,6 +302,25 @@ background-color: #466aff; } } + + .task-checked { + display: inline-block; + width: 287px; + height: 32px; + margin-left: 32px; + background-color: rgba(0, 223, 185, 0.1); + border: 1px solid #00be4c; + border-radius: 4px; + color: #00be4c; + font-size: 16px; + font-weight: 500; + line-height: 28px; + margin-top: 4px; + + .iconfont { + margin: 0 9px 0 18px; + } + } } .reject-reason { width: 100%; @@ -326,12 +330,12 @@ border: 1px solid #df4c4c; color: #595e82; font-size: 15px; - padding-left:22px; + padding-left: 22px; margin-bottom: 30px; - .icon-shanchudiao{ + .icon-shanchudiao { position: relative; - top:1px; + top: 1px; color: #e21b1b; margin-right: 5px; font-weight: 600; From 4ae8337379cc907d5e3b074d84ab0fb2ecf19dd4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BD=95=E7=AB=A5=E5=B4=87?= Date: Mon, 27 Jun 2022 19:50:32 +0800 Subject: [PATCH 12/31] =?UTF-8?q?=E5=9B=9E=E5=BD=92issue?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/forge/Head/NoticeContent.jsx | 4 ++-- src/glcc/student/index.jsx | 5 +++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/forge/Head/NoticeContent.jsx b/src/forge/Head/NoticeContent.jsx index d29dfb72f..666e4a0df 100644 --- a/src/forge/Head/NoticeContent.jsx +++ b/src/forge/Head/NoticeContent.jsx @@ -190,11 +190,11 @@ function NoticeContent({ visible, showNotification, resetUserInfo, current_user: className='hoverNotice-body' // 外部添加className加以区分 onPullRefresh={() => { setNoticePage(noticePage + 1); }} //触发加载ajax的function // type={2} // 传送加载组件的状态 - count={noticeUnreadList.length} // 数据当前的总数量 + count={noticeUnreadList&¬iceUnreadList.length} // 数据当前的总数量 pageSize={10} // > { - noticeUnreadList.map(item => { + Array.isArray(noticeUnreadList)&& noticeUnreadList.map(item => { return (
    { readItem(item) }}>
    diff --git a/src/glcc/student/index.jsx b/src/glcc/student/index.jsx index dcb217281..3077a7fd5 100644 --- a/src/glcc/student/index.jsx +++ b/src/glcc/student/index.jsx @@ -152,7 +152,8 @@ function Apply(props) { setMyTaskList(initTaskList); setLocked(lockedCurrent); // 如果未被锁定,且小于3条报名数据,且课题id与当前id不一致,那么新增一条默认数据 - if (!lockedCurrent && data.registrationStudentTaskList.length < 3 && data.registrationStudentTaskList[0].taskId != taskId) { + let taskIdArr=data.registrationStudentTaskList.map(i=>{return i.taskId}); + if (!lockedCurrent && data.registrationStudentTaskList.length < 3 && !taskIdArr.includes(taskId)) { addTask(data.registrationStudentTaskList); } } else { @@ -487,7 +488,7 @@ function Apply(props) { myTaskList.map((item, i) => { return ( -

    课题信息({i + 1}/3) +

    课题信息({i + 1}) {/* {myTaskList.length > 1 && { deleteTask(i) }}>删除} */}

    {item.status == 1 && item.auditRemark &&
    From 70e3b2287347a7be52738ae8de70412f5529df9c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B0=A2=E6=80=9D?= <2897217417@qq.com> Date: Mon, 27 Jun 2022 20:25:12 +0800 Subject: [PATCH 13/31] issue --- src/glcc/check/index.jsx | 23 ++++++++++++++++++----- src/glcc/check/index.scss | 8 ++++++++ src/glcc/home/index.jsx | 4 ++-- src/glcc/home/index.scss | 1 + 4 files changed, 29 insertions(+), 7 deletions(-) diff --git a/src/glcc/check/index.jsx b/src/glcc/check/index.jsx index c62891dd2..cf5388ab8 100644 --- a/src/glcc/check/index.jsx +++ b/src/glcc/check/index.jsx @@ -1,5 +1,5 @@ -import React, { Fragment, useEffect, useState } from 'react'; -import { Checkbox, Input, message, Modal, Table, Tooltip, Breadcrumb, Tabs, Button } from 'antd'; +import React, { useEffect, useState } from 'react'; +import { Modal, Table, Tooltip, Breadcrumb, Tabs, Button } from 'antd'; import { Link } from 'react-router-dom'; import moment from 'moment'; import './index.scss'; @@ -130,9 +130,9 @@ function Check({ current_user, showNotification, history }) { return (
    {/* 学生已入选并且锁定 */} - {text && record.locked && } + {text && record.locked && } {/* 学生已经被其他导师锁定 */} - {!text && record.locked && } + {!text && record.locked && } {/* 学生未被锁定 */} {!record.locked && (text ? : )} @@ -182,6 +182,12 @@ function Check({ current_user, showNotification, history }) { }) } + // 数组元素置顶方法 + function toFirst(data, index){ + if(index != 0){ + data.unshift(data.splice(index,1)[0]); + } + } const customExpandIcon = (props) => { if (props.expanded) { @@ -264,7 +270,14 @@ function Check({ current_user, showNotification, history }) { } taskId && getStudentList(params).then(res => { if (res.data && Array.isArray(res.data.rows)) { - setData(res.data.rows); + const data = res.data.rows; + // 已入选数据置顶 + data.map((item, index)=>{ + if(item.passStatus && item.locked){ + toFirst(data, index); + } + }) + setData(data); let isPass = res.data.rows.some((item) => { return item.passStatus }); setHavePass(isPass); } diff --git a/src/glcc/check/index.scss b/src/glcc/check/index.scss index e3dfee7fe..8f12dc295 100644 --- a/src/glcc/check/index.scss +++ b/src/glcc/check/index.scss @@ -178,6 +178,14 @@ } } } + .redColBor .ant-btn-primary[disabled]{ + border-color: #e44141; + span{color: #e44141;} + } + .greenColBor .ant-btn-primary[disabled]{ + border-color: rgb(40, 190, 108); + span{color: rgb(40, 190, 108);} + } } tr:hover .actionColumns .cancelApply { visibility: visible; diff --git a/src/glcc/home/index.jsx b/src/glcc/home/index.jsx index 8f9972a87..a8b3e8311 100644 --- a/src/glcc/home/index.jsx +++ b/src/glcc/home/index.jsx @@ -84,7 +84,7 @@ export default (props) => { 查看项目 {/* 项目报名已截止 */}
    -
    查看夏令营各项目,掌握项目课题详细信息
    +
    掌握项目课题详细信息
    {/* 学生报名6.24结束第一次报名,6.29 1:00 - 6.30 24:00第二次报名 */}
    @@ -92,7 +92,7 @@ export default (props) => { 学生报名
    -
    选择感兴趣的课题,开启您的开源之旅
    +
    选择课题,开启您的开源之旅
    {/* 6.28.-7.1 审核结果仅对导师可见,7.1之后对所有用户可见*/} {((resultTime1 && hasRole) || resultTime2) &&
    diff --git a/src/glcc/home/index.scss b/src/glcc/home/index.scss index a23775abc..2734a0f70 100644 --- a/src/glcc/home/index.scss +++ b/src/glcc/home/index.scss @@ -24,6 +24,7 @@ } .applyBox { + width: 1200px; position: absolute; top: 21vw; left: 17.5vw; From 432b21bf32d78b56145d439d7d5f118860f8568a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B0=A2=E6=80=9D?= <2897217417@qq.com> Date: Mon, 27 Jun 2022 22:48:53 +0800 Subject: [PATCH 14/31] issue --- src/glcc/check/index.jsx | 18 +++++++++--------- src/glcc/home/index.jsx | 4 ++-- src/glcc/index.jsx | 2 +- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/glcc/check/index.jsx b/src/glcc/check/index.jsx index cf5388ab8..b0583ec3c 100644 --- a/src/glcc/check/index.jsx +++ b/src/glcc/check/index.jsx @@ -23,7 +23,7 @@ function Check({ current_user, showNotification, history }) { const [taskId, setTaskId] = useState(); const [havePass, setHavePass] = useState(false); - const disabledCheck = new Date().getTime() > new Date('2022-07-01').getTime(); + const disabledCheck = new Date().getTime() > new Date('2022-07-01 00:00:00').getTime(); const columns = [ { @@ -130,11 +130,11 @@ function Check({ current_user, showNotification, history }) { return (
    {/* 学生已入选并且锁定 */} - {text && record.locked && } + {record.locked && !record.used && } {/* 学生已经被其他导师锁定 */} - {!text && record.locked && } + {record.locked && record.used && } {/* 学生未被锁定 */} - {!record.locked && (text ? : + {!record.locked && !record.used && (text ? : )}
    ) @@ -143,7 +143,7 @@ function Check({ current_user, showNotification, history }) { ]; useEffect(() => { - if(new Date().getTime() > new Date('2022-07-01').getTime()){ + if(new Date().getTime() > new Date('2022-07-01 0:0').getTime()){ history.push('/403'); } if (!current_user.user_id) { @@ -273,12 +273,12 @@ function Check({ current_user, showNotification, history }) { const data = res.data.rows; // 已入选数据置顶 data.map((item, index)=>{ - if(item.passStatus && item.locked){ + if(item.locked && !item.used){ toFirst(data, index); } }) setData(data); - let isPass = res.data.rows.some((item) => { return item.passStatus }); + let isPass = res.data.rows.some((item) => { return (item.passStatus && !(item.locked&&item.used)) || (item.locked && !item.used) }); setHavePass(isPass); } setLoading(false); @@ -297,8 +297,8 @@ function Check({ current_user, showNotification, history }) {
    1、欢迎进入导师审核页!各位导师可查看到您发布课题的全部学生报名信息
    2、您可根据学生报名信息与学生进行邮箱或电话沟通了解学生详细情况,选择满意的学生
    3、每个课题仅允许审核通过一个学生,在审核过程中,您可以随时调整各学生的审核状态,直到与学生匹配成功
    -
    4、6月28日后,各导师可访问 https://www.gitlink.org.cn/glcc/result 查询匹配结果(需使用导师账号登录)
    -
    5、请各位导师在7月1日前完成课题申请的审核,7月1日凌晨1点平台将根据各导师审核信息,正式公布各课题学生入选名单
    + {/*
    4、6月28日后,各导师可访问 https://www.gitlink.org.cn/glcc/result 查询匹配结果(需使用导师账号登录)
    */} +
    4、请各位导师在7月1日前完成课题申请的审核,7月1日凌晨1点平台将根据各导师审核信息,正式公布各课题学生入选名单
    { setTaskId(e) }} activeKey={taskId + ''}> diff --git a/src/glcc/home/index.jsx b/src/glcc/home/index.jsx index a8b3e8311..a66a1a5d7 100644 --- a/src/glcc/home/index.jsx +++ b/src/glcc/home/index.jsx @@ -95,7 +95,7 @@ export default (props) => {
    选择课题,开启您的开源之旅
    {/* 6.28.-7.1 审核结果仅对导师可见,7.1之后对所有用户可见*/} - {((resultTime1 && hasRole) || resultTime2) &&
    + {resultTime2 &&
    名单{resultTime1 && '预'}公示 @@ -103,7 +103,7 @@ export default (props) => {
    查看各课题入选学生名单
    } {/* 导师审核 */} - {hasRole && new Date().getTime() < new Date('2022-07-01').getTime() &&
    + {hasRole && new Date().getTime() < new Date('2022-07-01 0:0').getTime() &&
    导师审核 diff --git a/src/glcc/index.jsx b/src/glcc/index.jsx index b5db40032..f5908e001 100644 --- a/src/glcc/index.jsx +++ b/src/glcc/index.jsx @@ -69,7 +69,7 @@ const Glcc = (propsF) => { // 学生报名时间 const studentApplyStart = new Date().getTime() > new Date('2022-05-26').getTime(); const isStudentApplyDate = new Date().getTime() > new Date('2022-05-26').getTime() && new Date().getTime() < new Date('2022-06-25 0:0').getTime(); - const secondStudentApplyDate = new Date().getTime() > new Date('2022-06-29 1:0').getTime() && new Date().getTime() < new Date('2022-07-01 0:0').getTime(); + const secondStudentApplyDate = new Date().getTime() > new Date('2022-06-29 1:0').getTime() && new Date().getTime() < new Date('2022-06-30 0:0').getTime(); // 用户已报名课题id数组 const [applyTaskId, setApplyTaskId] = useState({}); From 95328d2c60a0494f293519b02b38e88eca40e1cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BD=95=E7=AB=A5=E5=B4=87?= Date: Wed, 29 Jun 2022 15:56:56 +0800 Subject: [PATCH 15/31] =?UTF-8?q?=E4=BF=AE=E6=94=B9glcc=E6=8A=A5=E5=90=8D?= =?UTF-8?q?=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/ModalFun/index.jsx | 117 ++++++++++++++++++++++++++++ src/components/ModalFun/index.scss | 63 +++++++++++++++ src/forge/Wiki/EditWiki.jsx | 3 +- src/glcc/student/index.jsx | 118 ++++++++++++++++------------- 4 files changed, 248 insertions(+), 53 deletions(-) create mode 100644 src/components/ModalFun/index.jsx create mode 100644 src/components/ModalFun/index.scss diff --git a/src/components/ModalFun/index.jsx b/src/components/ModalFun/index.jsx new file mode 100644 index 000000000..d9a62e8fd --- /dev/null +++ b/src/components/ModalFun/index.jsx @@ -0,0 +1,117 @@ +/* eslint-disable react/jsx-no-duplicate-props */ +import React, { useState } from 'react'; +import * as ReactDOM from 'react-dom'; +import { Modal, Button } from 'antd'; +import './index.scss'; + +InitModal.defaultProps = { + okText: '确认', //确定按钮的文字 + cancelText: '取消', //取消按钮的文字 + className: '', // + inputId: 'copyText', //要复制的文本的ID +}; + +// 使用函数调用删除组件 +export default function DelModal(props) { + renderModal({ ...props, type: 'delete' }) +} + +// 使用函数调用选择模态框组件 +export function Confirm(props) { + renderModal({ ...props, type: 'confirm' }) +} + +function renderModal(props) { + const { type, afterClose } = props; + const div = document.createElement('div'); + document.body.appendChild(div); + + function destroy() { + afterClose && afterClose(); + const unmountResult = ReactDOM.unmountComponentAtNode(div); + if (unmountResult && div.parentNode) { + div.parentNode.removeChild(div); + } + } + + function modalType(type) { + if (type === 'delete') { + return + + {props.contentTitle} + } + /> + } else if (type === 'confirm') { + return + } else { + return + } + } + + function render() { + setTimeout(() => { + ReactDOM.render( + modalType(type), + div, + ); + }); + } + render(); +} + +// 选择模态框组件 +function InitModal({ + onCancel, + onOk, + title, + contentTitle, + content, + okText, + cancelText, + afterClose, + className, +}) { + + const [visible, setVisible] = useState(true); + + function onCancelModal() { + setVisible(false); + onCancel && onCancel() + } + + function onSuccess() { + setVisible(false); + onOk && onOk(); + } + + return ( + + {cancelText} + , + , + ]} + > +
    + {contentTitle &&

    {contentTitle}

    } +

    {content}

    +
    +
    + ) +} diff --git a/src/components/ModalFun/index.scss b/src/components/ModalFun/index.scss new file mode 100644 index 000000000..24f7b0219 --- /dev/null +++ b/src/components/ModalFun/index.scss @@ -0,0 +1,63 @@ +.myself-modal { + .ant-modal-header { + padding: 9px 24px; + background: #f8f8f8; + border-bottom: 1px solid #eee; + } + .ant-modal-title { + text-align: left; + } + .ant-modal-close { + top: 0px !important; + } + .ant-modal-close-x { + font-size: 24px; + } + .ant-modal-body { + text-align: center; + } + .content-title { + display: flex; + justify-content: center; + align-items: center; + margin: 2rem 0 1rem !important; + font-size: 16px; + color: #333; + letter-spacing: 0; + line-height: 29px; + font-weight: 400; + } + .red-circle { + align-self: flex-start; + color: #ca0002; + font-size: 1.5rem !important; + } + .content-descibe { + font-size: 14px; + color: #666; + line-height: 33px; + font-weight: 400; + } + .ant-modal-footer { + padding: 2rem 0; + text-align: center; + border: 0; + .ant-btn { + width: 6rem; + } + } + .foot-submit { + margin-left: 3rem; + color: #df0002; + &:hover { + border-color: #df0002; + } + } + .ant-btn-default:hover, + .ant-btn-default:active, + .ant-btn-default:focus { + background: #f3f4f6; + color: #333; + border-color: #d0d0d0; + } +} \ No newline at end of file diff --git a/src/forge/Wiki/EditWiki.jsx b/src/forge/Wiki/EditWiki.jsx index e605fface..de01ddc48 100644 --- a/src/forge/Wiki/EditWiki.jsx +++ b/src/forge/Wiki/EditWiki.jsx @@ -126,7 +126,8 @@ export default Form.create()(({ form, history, showNotification, projectDetail, } function goBack() { - history.push(`/${owner}/${projectsId}/wiki`); + // history.push(`/${owner}/${projectsId}/wiki`); + history.go(-1); } function changeModal(e) { diff --git a/src/glcc/student/index.jsx b/src/glcc/student/index.jsx index 3077a7fd5..b9c6613d2 100644 --- a/src/glcc/student/index.jsx +++ b/src/glcc/student/index.jsx @@ -4,8 +4,9 @@ import { getUploadActionUrl, getUrl, appendFileSizeToUploadFileAll } from 'educo import { locData } from '../../forge/Utils/locData'; import { getStudentApplyInfo, taskList, studentApply, studentApplyEdit } from '../api'; import TextArea from 'antd/lib/input/TextArea'; +import {Confirm} from '../../components/ModalFun'; import { httpUrl } from '../fetch'; -import banner from "../img/banner.png"; +// import banner from "../img/banner.png"; import studentSvg from "../img/student.png"; import './index.scss'; import { Link } from 'react-router-dom'; @@ -34,12 +35,13 @@ function Apply(props) { const [imageUrl, setImageUrl] = useState(undefined); const [loading, setLoading] = useState(false); const [reload, setReload] = useState(); - const [locked, setLocked] = useState(false); + const [locked, setLocked] = useState(true); const [userApplyInfo, setUserApplyInfo] = useState(undefined); const [editable, setEditable] = useState(isStudentApplyDate); const [files, setFiles] = useState([]); const [files1, setFiles1] = useState([]); const [files2, setFiles2] = useState([]); + console.log( new Date()); console.log('isStudentApplyDate:' + isStudentApplyDate) const initTask = { taskId, @@ -110,7 +112,7 @@ function Apply(props) { applyInfo['memo' + i] = item.memo; applyInfo['taskId' + i] = item.taskId; applyInfo['memoAttachmentId' + i] = item.memoAttachmentId; - if (item.locked) { + if (item.locked && item.passStatus) { lockedCurrent = item.locked; } if (i == 0) { @@ -150,11 +152,15 @@ function Apply(props) { // }); } setMyTaskList(initTaskList); - setLocked(lockedCurrent); + + // let idArr= data.registrationStudentTaskList.map(i=>{return i.id}); + // if(idArr.length===3){lockedCurrent=true;} + // setLocked(lockedCurrent); // 如果未被锁定,且小于3条报名数据,且课题id与当前id不一致,那么新增一条默认数据 let taskIdArr=data.registrationStudentTaskList.map(i=>{return i.taskId}); if (!lockedCurrent && data.registrationStudentTaskList.length < 3 && !taskIdArr.includes(taskId)) { addTask(data.registrationStudentTaskList); + setLocked(false); } } else { // 先增加数据再给选择框赋默认值,否则不生效 @@ -192,57 +198,65 @@ function Apply(props) { // 学生报名夏令营 function handleSubmit(e) { + e.preventDefault(); - validateFieldsAndScroll((err, values) => { - if (!err) { - setLoading(true); - // if (myTaskList.length === 2) { - // if (values.enrollFirst == 1) { - // myTaskList[1].enrollFirst = true; - // myTaskList[0].enrollFirst = false; - // } else { - // myTaskList[1].enrollFirst = false; - // myTaskList[0].enrollFirst = true; - // } - // } - const params = { - grade: values.grade, - location: Array.isArray(values.location) && values.location.join(), - mail: values.mail, - phone: values.phone, - proveAttachmentId: values.proveAttachmentId.file ? values.proveAttachmentId.file.response.id : userApplyInfo.proveAttachmentId, - school: values.school, - profession: values.profession, - studentName: values.studentName, - userId: current_user.user_id, - registrationStudentTaskList: myTaskList - } - - - if (userApplyInfo) { - params.id = userApplyInfo.id; - studentApplyEdit(params).then(response => { - if (response && response.message === "success") { - showNotification("修改信息成功"); - setStudentInfoReset(Math.random()); - setReload(Math.random()); - setLoading(false); - history.push(`/glcc/subjects`) + Confirm({ + title:'提示', + content:'提交后将不允许修改报名信息,确认提交?', + onOk:()=>{ + validateFieldsAndScroll((err, values) => { + if (!err) { + setLoading(true); + // if (myTaskList.length === 2) { + // if (values.enrollFirst == 1) { + // myTaskList[1].enrollFirst = true; + // myTaskList[0].enrollFirst = false; + // } else { + // myTaskList[1].enrollFirst = false; + // myTaskList[0].enrollFirst = true; + // } + // } + const params = { + grade: values.grade, + location: Array.isArray(values.location) && values.location.join(), + mail: values.mail, + phone: values.phone, + proveAttachmentId: values.proveAttachmentId.file ? values.proveAttachmentId.file.response.id : userApplyInfo.proveAttachmentId, + school: values.school, + profession: values.profession, + studentName: values.studentName, + userId: current_user.user_id, + registrationStudentTaskList: myTaskList } - }); - } else { - studentApply(params).then(response => { - if (response && response.message === "success") { - showNotification("报名成功"); - setStudentInfoReset(Math.random()); - setReload(Math.random()); - setLoading(false); - history.push(`/glcc/subjects`) + + + if (userApplyInfo) { + params.id = userApplyInfo.id; + studentApplyEdit(params).then(response => { + if (response && response.message === "success") { + showNotification("修改信息成功"); + setStudentInfoReset(Math.random()); + setReload(Math.random()); + setLoading(false); + history.push(`/glcc/subjects`) + } + }); + } else { + studentApply(params).then(response => { + if (response && response.message === "success") { + showNotification("报名成功"); + setStudentInfoReset(Math.random()); + setReload(Math.random()); + setLoading(false); + history.push(`/glcc/subjects`) + } + }); } - }); - } + } + }); } }); + }; const helper = useCallback( @@ -439,7 +453,7 @@ function Apply(props) { '', 'grade', [], - {gradeList.map(item => { return })} )} @@ -528,7 +542,7 @@ function Apply(props) { 6、提示:文本框表达内容有限,建议您提供内容的pdf或url链接方式展示更精彩的陈述" onBlur={(e) => { verify("memo" + i); changeTaskItem("memo", e.currentTarget.value, i) }} rows={7} - className={editable ? "memoText disabledInput" : "memoText disabledInput"} + className={!(isStudentApplyDate && !item.id) ? "memoText disabledInput" : "memoText"} disabled={!(isStudentApplyDate && !item.id)} /> )}
    From 23914dd777ed366e4723f65c4d870e6b1734711a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B0=A2=E6=80=9D?= <2897217417@qq.com> Date: Wed, 29 Jun 2022 14:23:43 +0800 Subject: [PATCH 16/31] =?UTF-8?q?glcc=E5=9C=B0=E5=9D=80=E6=A0=8F=E4=BC=98?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/glcc/checkResult/index.jsx | 2 +- src/glcc/openmmlab/projectTab/projectDetail.jsx | 4 ++-- src/glcc/project/component/projectDetail.jsx | 4 ++-- src/glcc/project/taskDetail/index.jsx | 3 +-- src/glcc/project/taskList/index.jsx | 2 +- 5 files changed, 7 insertions(+), 8 deletions(-) diff --git a/src/glcc/checkResult/index.jsx b/src/glcc/checkResult/index.jsx index 8ca925da1..78ac165d3 100644 --- a/src/glcc/checkResult/index.jsx +++ b/src/glcc/checkResult/index.jsx @@ -60,7 +60,7 @@ function CheckResult({current_user, history}) { { title: '学生专业', dataIndex: 'profession', className:"columnsResult taskName", width: '12%', ellipsis: true, render: (text) => {text}}, { title: '学生年级', dataIndex: 'grade', className:"columnsResult taskName", width: '10%', ellipsis: true}, { title: '课题导师', dataIndex: 'tutorName', className:"columnsResult", width: '10%', ellipsis: true}, - { title: '课题名称', dataIndex: 'taskName', className:"columnsResult", width: '20%', ellipsis: true, render: (text, item) => {window.open(`/glcc/subjects/detail/${item.id}?locked=${item.locked}`)}}>{text} }, + { title: '课题名称', dataIndex: 'taskName', className:"columnsResult", width: '20%', ellipsis: true, render: (text, item) => {window.open(`/glcc/subjects/detail/${item.id}`)}}>{text} }, { title: '项目名称', dataIndex: 'projectName', className:"columnsResult", ellipsis: true, width: '14%', render: (text) => {text} }, { title: '操作', dataIndex: 'action', align: 'center', className:"columnsResult actionBox"}, ] diff --git a/src/glcc/openmmlab/projectTab/projectDetail.jsx b/src/glcc/openmmlab/projectTab/projectDetail.jsx index bea1eefb4..7178c81d4 100644 --- a/src/glcc/openmmlab/projectTab/projectDetail.jsx +++ b/src/glcc/openmmlab/projectTab/projectDetail.jsx @@ -26,7 +26,7 @@ export default ({ detail, projectId, applyTaskId, isStudentApplyDate, secondStud {info.registrationTaskList && info.registrationTaskList.length > 0 ? info.registrationTaskList.map((item, index)=>{ return
    -
    {window.location.href=`/glcc/subjects/detail/${item.id}?locked=${item.locked}`}}>{item.taskName}
    +
    {window.location.href=`/glcc/subjects/detail/${item.id}`}}>{item.taskName}
    导师姓名:   {item.tutorName}
    {item.tutorMail &&
    邮箱地址:   {item.tutorMail}
    }
    @@ -44,7 +44,7 @@ export default ({ detail, projectId, applyTaskId, isStudentApplyDate, secondStud {secondStudentApplyDate && !(applyTaskId && Object.keys(applyTaskId).includes(item.id.toString())) && (item.locked ? : )} {/* 查看课题详情按钮 */} - +
    ¥{item.taskReward}
    diff --git a/src/glcc/project/component/projectDetail.jsx b/src/glcc/project/component/projectDetail.jsx index 9ecf11b54..0963c1270 100644 --- a/src/glcc/project/component/projectDetail.jsx +++ b/src/glcc/project/component/projectDetail.jsx @@ -30,7 +30,7 @@ export default ({ detail, projectId, applyTaskId, isStudentApplyDate, secondStud {showTask && (info.registrationTaskList && info.registrationTaskList.length > 0 ? info.registrationTaskList.map((item, index)=>{ return
    -
    {window.location.href=`/glcc/subjects/detail/${item.id}?locked=${item.locked}`}}>{item.taskName}
    +
    {window.location.href=`/glcc/subjects/detail/${item.id}`}}>{item.taskName}
    导师姓名:   {item.tutorName}
    {item.tutorMail &&
    邮箱地址:   {item.tutorMail}
    }
    @@ -48,7 +48,7 @@ export default ({ detail, projectId, applyTaskId, isStudentApplyDate, secondStud {secondStudentApplyDate && !(applyTaskId && Object.keys(applyTaskId).includes(item.id.toString())) && (item.locked ? : )} {/* 查看课题详情按钮 */} - +
    ¥{item.taskReward}
    diff --git a/src/glcc/project/taskDetail/index.jsx b/src/glcc/project/taskDetail/index.jsx index 9f86363a8..1dac4ff55 100644 --- a/src/glcc/project/taskDetail/index.jsx +++ b/src/glcc/project/taskDetail/index.jsx @@ -9,7 +9,6 @@ import './index.scss'; function TaskDetail(props) { const {match, location, isStudentApplyDate, secondStudentApplyDate, applyTaskId, applyTask} = props const taskId = Number(match.params.taskId); - const locked = location.search && location.search.split('=')[1] === 'true'; const [detail, setDetail] = useState(undefined); useEffect(()=>{ @@ -55,7 +54,7 @@ function TaskDetail(props) { {/* 第一次报名 */} {isStudentApplyDate && !(applyTaskId && Object.keys(applyTaskId).includes(taskId.toString())) && } {/* 第二次报名 锁定状态 */} - {secondStudentApplyDate && !(applyTaskId && Object.keys(applyTaskId).includes(taskId.toString())) && (locked ? : )} + {secondStudentApplyDate && !(applyTaskId && Object.keys(applyTaskId).includes(taskId.toString())) && (detail.locked ? : )}
    diff --git a/src/glcc/project/taskList/index.jsx b/src/glcc/project/taskList/index.jsx index c9ed00923..c38161de6 100644 --- a/src/glcc/project/taskList/index.jsx +++ b/src/glcc/project/taskList/index.jsx @@ -24,7 +24,7 @@ function TaskList({applyTaskId, setStudentInfoReset, current_user, showLoginDial const columns = [ { title: '序号', dataIndex: 'index', align: 'center', className:"taskTableColumns", width: '6%', render: (text, item, index) => {(current-1)*pageSize+index + 1} }, - { title: '课题名称', dataIndex: 'taskName', className:"taskTableColumns taskName", width: '24%', ellipsis: true, render: (text, item) => {window.open(`/glcc/subjects/detail/${item.id}?locked=${item.locked}`)}}>{text} }, + { title: '课题名称', dataIndex: 'taskName', className:"taskTableColumns taskName", width: '24%', ellipsis: true, render: (text, item) => {window.open(`/glcc/subjects/detail/${item.id}`)}}>{text} }, { title: '课题类型', dataIndex: 'projectType', className:"taskTableColumns", width: '12%', ellipsis: true, }, { title: '项目名称', dataIndex: 'projectName', className:"taskTableColumns", width: '24%', ellipsis: true, render: (text) => {text} }, { title: '课题奖金', dataIndex: 'taskReward', className:"taskTableColumns", ellipsis: true, width: '10%', render: (text) => {text} }, From c05f9ff8580b86ef93ab45408db739cc72645596 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B0=A2=E6=80=9D?= <2897217417@qq.com> Date: Thu, 30 Jun 2022 10:55:33 +0800 Subject: [PATCH 17/31] =?UTF-8?q?glcc=E7=BB=93=E6=9E=9C=E5=85=AC=E7=A4=BA?= =?UTF-8?q?=E6=97=B6=E9=97=B4=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/glcc/checkResult/index.jsx | 4 ++-- src/glcc/home/index.jsx | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/glcc/checkResult/index.jsx b/src/glcc/checkResult/index.jsx index 78ac165d3..df66cff30 100644 --- a/src/glcc/checkResult/index.jsx +++ b/src/glcc/checkResult/index.jsx @@ -31,7 +31,7 @@ function CheckResult({current_user, history}) { } hasAuditRole({ userId: current_user.user_id }).then(res => { // 7.1之前 普通用户不可以进入此页面 - if (!(res && res.message == 'success' && res.data.hasRole) && new Date().getTime() < new Date('2022-07-01 1:0').getTime()) { + if (!(res && res.message == 'success' && res.data.hasRole) && new Date().getTime() < new Date('2022-07-01 12:0').getTime()) { history.push('/glcc'); } }) @@ -108,7 +108,7 @@ function CheckResult({current_user, history}) { return (
    {time && } - {new Date().getTime() > new Date('2022-07-01 1:0').getTime() && } + {new Date().getTime() > new Date('2022-07-01 12:0').getTime() && }
    开源夏令营 / 入选学生名单{time && '预'}公示
    diff --git a/src/glcc/home/index.jsx b/src/glcc/home/index.jsx index a66a1a5d7..a13b7d7e6 100644 --- a/src/glcc/home/index.jsx +++ b/src/glcc/home/index.jsx @@ -33,7 +33,7 @@ export default (props) => { const [hasRole, setHhasRole] = useState(false); const resultTime1 = new Date().getTime() > new Date('2022-06-28 1:0').getTime() && new Date().getTime() < new Date('2022-07-01 0:0').getTime(); - const resultTime2 = new Date().getTime() > new Date('2022-07-01 1:0').getTime(); + const resultTime2 = new Date().getTime() > new Date('2022-07-01 12:0').getTime(); useEffect(() => { if (!current_user.user_id) { @@ -98,7 +98,7 @@ export default (props) => { {resultTime2 &&
    - 名单{resultTime1 && '预'}公示 + 名单{resultTime1 ? '预' : ''}公示
    查看各课题入选学生名单
    } From dba6c37f18d325cb1390fdb379c9565746f647de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BD=95=E7=AB=A5=E5=B4=87?= Date: Fri, 1 Jul 2022 14:19:39 +0800 Subject: [PATCH 18/31] =?UTF-8?q?=E4=BF=AE=E6=94=B9glcc=E4=BC=A0=E5=8F=82?= =?UTF-8?q?=E7=AD=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/glcc/checkResult/index.jsx | 6 +++--- src/glcc/home/index.jsx | 25 +++++++++++++------------ src/glcc/student/index.jsx | 4 ++-- 3 files changed, 18 insertions(+), 17 deletions(-) diff --git a/src/glcc/checkResult/index.jsx b/src/glcc/checkResult/index.jsx index df66cff30..e6cd4f575 100644 --- a/src/glcc/checkResult/index.jsx +++ b/src/glcc/checkResult/index.jsx @@ -56,11 +56,11 @@ function CheckResult({current_user, history}) { const columns = [ { title: '序号', dataIndex: 'index', align: 'center', className:"columnsResult", width: '6%', render: (text, item, index) => {(current-1)*pageSize+index + 1} }, - { title: '入选学生', dataIndex: 'studentName', className:"columnsResult taskName", width: '12%', ellipsis: true}, + { title: '入选学生', dataIndex: 'studentName', className:"columnsResult taskName", width: '10%', ellipsis: true}, + { title: '学生院校', dataIndex: 'school', className:"columnsResult taskName", width: '12%', ellipsis: true,render: (text) => {text}}, { title: '学生专业', dataIndex: 'profession', className:"columnsResult taskName", width: '12%', ellipsis: true, render: (text) => {text}}, - { title: '学生年级', dataIndex: 'grade', className:"columnsResult taskName", width: '10%', ellipsis: true}, { title: '课题导师', dataIndex: 'tutorName', className:"columnsResult", width: '10%', ellipsis: true}, - { title: '课题名称', dataIndex: 'taskName', className:"columnsResult", width: '20%', ellipsis: true, render: (text, item) => {window.open(`/glcc/subjects/detail/${item.id}`)}}>{text} }, + { title: '课题名称', dataIndex: 'taskName', className:"columnsResult", width: '20%', ellipsis: true, render: (text, item) => {window.open(`/glcc/subjects/detail/${item.taskId}`)}}>{text} }, { title: '项目名称', dataIndex: 'projectName', className:"columnsResult", ellipsis: true, width: '14%', render: (text) => {text} }, { title: '操作', dataIndex: 'action', align: 'center', className:"columnsResult actionBox"}, ] diff --git a/src/glcc/home/index.jsx b/src/glcc/home/index.jsx index a13b7d7e6..35c85a917 100644 --- a/src/glcc/home/index.jsx +++ b/src/glcc/home/index.jsx @@ -77,6 +77,14 @@ export default (props) => {
    */} {/* 报名入口 */}
    + {/* 6.28.-7.1 审核结果仅对导师可见,7.1之后对所有用户可见*/} + {resultTime2 &&
    +
    + + 名单{resultTime1 ? '预' : ''}公示 +
    +
    查看各课题入选学生名单
    +
    } {/* 项目报名 */}
    @@ -87,29 +95,22 @@ export default (props) => {
    掌握项目课题详细信息
    {/* 学生报名6.24结束第一次报名,6.29 1:00 - 6.30 24:00第二次报名 */} -
    + {/*
    学生报名
    选择课题,开启您的开源之旅
    -
    - {/* 6.28.-7.1 审核结果仅对导师可见,7.1之后对所有用户可见*/} - {resultTime2 &&
    -
    - - 名单{resultTime1 ? '预' : ''}公示 -
    -
    查看各课题入选学生名单
    -
    } +
    */} + {/* 导师审核 */} - {hasRole && new Date().getTime() < new Date('2022-07-01 0:0').getTime() &&
    + {/* {hasRole && new Date().getTime() < new Date('2022-07-01 0:0').getTime() &&
    导师审核
    以赛代筛,挖掘高潜力人才
    -
    } +
    } */}
    {/*
    */}
    diff --git a/src/glcc/student/index.jsx b/src/glcc/student/index.jsx index b9c6613d2..92fc1680a 100644 --- a/src/glcc/student/index.jsx +++ b/src/glcc/student/index.jsx @@ -41,8 +41,8 @@ function Apply(props) { const [files, setFiles] = useState([]); const [files1, setFiles1] = useState([]); const [files2, setFiles2] = useState([]); - console.log( new Date()); - console.log('isStudentApplyDate:' + isStudentApplyDate) + // console.log( new Date()); + // console.log('isStudentApplyDate:' + isStudentApplyDate) const initTask = { taskId, memo: '', From f4f8bea77dcb0f4e268e2103ca9d26ffcaf81ac7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B0=A2=E6=80=9D?= <2897217417@qq.com> Date: Mon, 4 Jul 2022 17:10:49 +0800 Subject: [PATCH 19/31] install --- package-lock.json | 54 +++++++++++++++++++++++++++++++++++------------ package.json | 2 +- 2 files changed, 42 insertions(+), 14 deletions(-) diff --git a/package-lock.json b/package-lock.json index 391406a77..3a67482ad 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3815,6 +3815,21 @@ "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" }, + "copy-anything": { + "version": "2.0.6", + "resolved": "http://173.15.15.82:8081/repository/npm-all/copy-anything/-/copy-anything-2.0.6.tgz", + "integrity": "sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==", + "requires": { + "is-what": "^3.14.1" + }, + "dependencies": { + "is-what": { + "version": "3.14.1", + "resolved": "http://173.15.15.82:8081/repository/npm-all/is-what/-/is-what-3.14.1.tgz", + "integrity": "sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==" + } + } + }, "copy-concurrently": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", @@ -10252,29 +10267,36 @@ } }, "less": { - "version": "3.9.0", - "resolved": "http://173.15.15.82:8081/repository/npm-all/less/-/less-3.9.0.tgz", - "integrity": "sha512-31CmtPEZraNUtuUREYjSqRkeETFdyEHSEPAGq4erDlUXtda7pzNmctdljdIagSb589d/qXGWiiP31R5JVf+v0w==", + "version": "3.13.1", + "resolved": "http://173.15.15.82:8081/repository/npm-all/less/-/less-3.13.1.tgz", + "integrity": "sha512-SwA1aQXGUvp+P5XdZslUOhhLnClSLIjWvJhmd+Vgib5BFIr9lMNlQwmwUNOjXThF/A0x+MCYYPeWEfeWiLRnTw==", "requires": { - "clone": "^2.1.2", + "copy-anything": "^2.0.1", "errno": "^0.1.1", "graceful-fs": "^4.1.2", "image-size": "~0.5.0", + "make-dir": "^2.1.0", "mime": "^1.4.1", - "mkdirp": "^0.5.0", - "promise": "^7.1.1", - "request": "^2.83.0", - "source-map": "~0.6.0" + "native-request": "^1.0.5", + "source-map": "~0.6.0", + "tslib": "^1.10.0" }, "dependencies": { - "promise": { - "version": "7.3.1", - "resolved": "http://173.15.15.82:8081/repository/npm-all/promise/-/promise-7.3.1.tgz", - "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", + "make-dir": { + "version": "2.1.0", + "resolved": "http://173.15.15.82:8081/repository/npm-all/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", "optional": true, "requires": { - "asap": "~2.0.3" + "pify": "^4.0.1", + "semver": "^5.6.0" } + }, + "pify": { + "version": "4.0.1", + "resolved": "http://173.15.15.82:8081/repository/npm-all/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "optional": true } } }, @@ -11072,6 +11094,12 @@ } } }, + "native-request": { + "version": "1.1.0", + "resolved": "http://173.15.15.82:8081/repository/npm-all/native-request/-/native-request-1.1.0.tgz", + "integrity": "sha512-uZ5rQaeRn15XmpgE0xoPL8YWqcX90VtCFglYwAgkvKM5e8fog+vePLAhHxuuv/gRkrQxIeh5U3q9sMNUrENqWw==", + "optional": true + }, "natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", diff --git a/package.json b/package.json index 30dcc9b1c..63df3ffbc 100644 --- a/package.json +++ b/package.json @@ -51,7 +51,7 @@ "js-base64": "^2.5.2", "js2wordcloud": "^1.1.12", "katex": "^0.11.1", - "less": "^3.9.0", + "less": "^3.13.1", "less-loader": "^4.1.0", "lodash": "^4.17.21", "loglevel": "^1.6.8", From 35348567865fd29d34d2ec0d4caee5d476b27c87 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BD=95=E7=AB=A5=E5=B4=87?= Date: Fri, 8 Jul 2022 13:56:11 +0800 Subject: [PATCH 20/31] =?UTF-8?q?20220708=E9=87=8C=E7=A8=8B=E7=A2=91issue?= =?UTF-8?q?=E5=9B=9E=E5=BD=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/App.css | 6 ++++-- src/forge/Component/LanguagePower.jsx | 4 ++-- src/forge/Main/CoderDepot.jsx | 1 + src/forge/Main/CoderDepotCatalogue.jsx | 2 +- src/forge/Main/list.scss | 8 ++++++++ src/forge/Main/sub/DetailBanner.jsx | 2 +- src/forge/Order/Milepost.js | 2 +- src/forge/Order/Tags.js | 1 - src/forge/Order/newMilepost.js | 1 - src/forge/Settings/new_tags.js | 1 - src/forge/Wiki/Index.jsx | 4 +++- 11 files changed, 21 insertions(+), 11 deletions(-) diff --git a/src/App.css b/src/App.css index 55bdd7f46..bea43bd9b 100644 --- a/src/App.css +++ b/src/App.css @@ -60,8 +60,10 @@ body { .ant-progress-textno { color: #f5222d; } -.CodeMirror pre.CodeMirror-line{ - font-size: 16px!important; +.CodeMirror .CodeMirror-lines pre.CodeMirror-line{ + font-size: 12px; + line-height: 20px; + font-family:"PingFang SC", "Segoe UI", Helvetica, Arial, "Apple Color Emoji", SimHei, SimSun, sans-serif, "Microsoft YaHei"; } /* md多空格 */ .markdown-body p { diff --git a/src/forge/Component/LanguagePower.jsx b/src/forge/Component/LanguagePower.jsx index b2fb174b1..ca7019b3b 100644 --- a/src/forge/Component/LanguagePower.jsx +++ b/src/forge/Component/LanguagePower.jsx @@ -55,7 +55,7 @@ function LanguagePower({owner,projectsId}){ { array && array.map((item,key)=>{ return( - + ) }) } @@ -66,7 +66,7 @@ function LanguagePower({owner,projectsId}){ { array.map((item,key)=>{ return( - {item.name}{item.percent} + {item.name}{item.percent} ) }) } diff --git a/src/forge/Main/CoderDepot.jsx b/src/forge/Main/CoderDepot.jsx index 711463631..d79d0f1f6 100644 --- a/src/forge/Main/CoderDepot.jsx +++ b/src/forge/Main/CoderDepot.jsx @@ -493,6 +493,7 @@ function CoderDepot(props){ dirInfo.map((item,key)=>{ return( {item.name} : - goToSubRoot(item.path,item.type,item.name)} className={item.type === "submodule" && "submoduleStyle"}> + goToSubRoot(item.path,item.type,item.name)} className={item.type === "submodule" ? "submoduleStyle":''}> {item.name} } diff --git a/src/forge/Main/list.scss b/src/forge/Main/list.scss index 6f07aadb4..fcaba3ac6 100644 --- a/src/forge/Main/list.scss +++ b/src/forge/Main/list.scss @@ -306,6 +306,14 @@ } .files-md{ padding:20px; + h1,h2, h3, h4, h5, h6{ + margin-bottom: .5em !important; + } +} +.readBox{ + h1,h2, h3, h4, h5, h6{ + margin-bottom: .5em !important; + } } /* 详情-代码 */ .branch-wrapper{ diff --git a/src/forge/Main/sub/DetailBanner.jsx b/src/forge/Main/sub/DetailBanner.jsx index 15633f3be..de3008f26 100644 --- a/src/forge/Main/sub/DetailBanner.jsx +++ b/src/forge/Main/sub/DetailBanner.jsx @@ -32,7 +32,7 @@ function DetailBanner({ history,list , owner , projectsId ,showNotification , ur } }).catch(error=>{}) } -console.log("detail:",open_devops); + return(
    setVisible(false)} name={projectDetail && projectDetail.name} onSuccess={onSuccess}/> diff --git a/src/forge/Order/Milepost.js b/src/forge/Order/Milepost.js index 3e636332c..de4378408 100644 --- a/src/forge/Order/Milepost.js +++ b/src/forge/Order/Milepost.js @@ -37,7 +37,7 @@ class Milepost extends Component { const url = `/${owner}/${projectsId}/milestones.json`; axios.get(url, { params: { - projectsId, page, limit, status, order_type, order_name + page, limit, status, order_type, order_name } }).then((result) => { if (result) { diff --git a/src/forge/Order/Tags.js b/src/forge/Order/Tags.js index eeff8db28..4082c022a 100644 --- a/src/forge/Order/Tags.js +++ b/src/forge/Order/Tags.js @@ -105,7 +105,6 @@ class Tags extends Component { const url = `/projects/${owner}/${projectsId}/labels.json`; axios.post(url, { ...values, - project_id: projectsId, color: this.state.textcolor }).then(result => { if (result) { diff --git a/src/forge/Order/newMilepost.js b/src/forge/Order/newMilepost.js index f11b9abd7..7b7c184e2 100644 --- a/src/forge/Order/newMilepost.js +++ b/src/forge/Order/newMilepost.js @@ -57,7 +57,6 @@ class NewMilepost extends Component { } axios.post(url, { ...values, - project_id: projectsId, effective_date: time, status: 'open' }).then(result => { diff --git a/src/forge/Settings/new_tags.js b/src/forge/Settings/new_tags.js index ca3eb265e..b39d0ca75 100644 --- a/src/forge/Settings/new_tags.js +++ b/src/forge/Settings/new_tags.js @@ -96,7 +96,6 @@ class NewTags extends Component { axios .post(url, { ...values, - project_id: projectsId, color: this.state.textcolor, }) .then((result) => { diff --git a/src/forge/Wiki/Index.jsx b/src/forge/Wiki/Index.jsx index 1a8b08832..2e91df164 100644 --- a/src/forge/Wiki/Index.jsx +++ b/src/forge/Wiki/Index.jsx @@ -5,6 +5,8 @@ import cookie from 'react-cookies'; import CopyTool from '../Component/CopyTool'; import DelModal from './components/ModalFun'; import Welcome from './Welcome'; +import RenderHtml from "../../components/render-html"; + import { wikiPages, getWiki, deleteWiki } from './api'; import { httpUrl, TokenKey } from './fetch'; import './Index.scss'; @@ -281,7 +283,7 @@ export default (props) => { {permission && }
    -
    + {itemDetail&&itemDetail.simple_content&&}
    From 469f05a3c87b5a56fd30205b31d19f7dc305cc15 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BD=95=E7=AB=A5=E5=B4=87?= Date: Mon, 11 Jul 2022 14:28:54 +0800 Subject: [PATCH 21/31] =?UTF-8?q?=E4=BF=AE=E6=94=B9md=E6=A0=B7=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/App.css | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/App.css b/src/App.css index bea43bd9b..52fe45441 100644 --- a/src/App.css +++ b/src/App.css @@ -61,10 +61,13 @@ body { color: #f5222d; } .CodeMirror .CodeMirror-lines pre.CodeMirror-line{ - font-size: 12px; + font-size: 16px; line-height: 20px; font-family:"PingFang SC", "Segoe UI", Helvetica, Arial, "Apple Color Emoji", SimHei, SimSun, sans-serif, "Microsoft YaHei"; } +.react-codemirror2 .CodeMirror .CodeMirror-lines pre.CodeMirror-line{ + font-size: 12px; +} /* md多空格 */ .markdown-body p { margin:10px 0px!important; From 0b1893d7d624546562fd42a67bdf2787446f6411 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B0=A2=E6=80=9D?= <2897217417@qq.com> Date: Wed, 13 Jul 2022 15:15:27 +0800 Subject: [PATCH 22/31] =?UTF-8?q?=E7=BC=96=E8=BE=91wiki=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E5=BA=93=E6=A0=B7=E5=BC=8F=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package-lock.json | 313 ++++++++++++++++++++++-------------- package.json | 2 +- src/forge/Wiki/EditWiki.jsx | 2 +- src/forge/Wiki/Index.scss | 3 + 4 files changed, 200 insertions(+), 120 deletions(-) diff --git a/package-lock.json b/package-lock.json index 3df9ef571..df1a719b6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -705,7 +705,7 @@ }, "abbrev": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "resolved": "http://173.15.15.82:8081/repository/npm-all/abbrev/-/abbrev-1.1.1.tgz", "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", "dev": true }, @@ -1057,9 +1057,9 @@ "dev": true }, "are-we-there-yet": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", - "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", + "version": "1.1.7", + "resolved": "http://173.15.15.82:8081/repository/npm-all/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz", + "integrity": "sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==", "dev": true, "requires": { "delegates": "^1.0.0", @@ -1235,8 +1235,8 @@ }, "async-foreach": { "version": "0.1.3", - "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz", - "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=", + "resolved": "http://173.15.15.82:8081/repository/npm-all/async-foreach/-/async-foreach-0.1.3.tgz", + "integrity": "sha512-VUeSMD8nEGBWaZK4lizI1sf3yEC7pnAQ/mrI7pC2fBz2s/tq5jWWEngTwaf0Gruu/OoXRGLGg1XFqpYBiGTYJA==", "dev": true }, "async-limiter": { @@ -1284,7 +1284,7 @@ }, "axios": { "version": "0.24.0", - "resolved": "http://173.15.15.82:8081/repository/npm-all/axios/-/axios-0.24.0.tgz", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.24.0.tgz", "integrity": "sha512-Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA==", "requires": { "follow-redirects": "^1.14.4" @@ -2506,8 +2506,8 @@ }, "block-stream": { "version": "0.0.9", - "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", - "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", + "resolved": "http://173.15.15.82:8081/repository/npm-all/block-stream/-/block-stream-0.0.9.tgz", + "integrity": "sha512-OorbnJVPII4DuUKbjARAe8u8EfqOmkEEaSFIyoQ7OjTHn6kafxWl0wLgoZ2rXaYd7MyLcDaU4TmhfxtwgcccMQ==", "dev": true, "requires": { "inherits": "~2.0.0" @@ -3759,8 +3759,8 @@ }, "console-control-strings": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", + "resolved": "http://173.15.15.82:8081/repository/npm-all/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", "dev": true }, "constants-browserify": { @@ -4716,8 +4716,8 @@ }, "delegates": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", + "resolved": "http://173.15.15.82:8081/repository/npm-all/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", "dev": true }, "depd": { @@ -7230,14 +7230,12 @@ "balanced-match": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", - "optional": true + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" }, "brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "optional": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -7258,14 +7256,12 @@ "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "optional": true + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, "console-control-strings": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", - "optional": true + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" }, "core-util-is": { "version": "1.0.2", @@ -7382,8 +7378,7 @@ "inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "optional": true + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, "ini": { "version": "1.3.5", @@ -7410,7 +7405,6 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "optional": true, "requires": { "brace-expansion": "^1.1.7" } @@ -7418,14 +7412,12 @@ "minimist": { "version": "1.2.5", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "optional": true + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" }, "minipass": { "version": "2.9.0", "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", - "optional": true, "requires": { "safe-buffer": "^5.1.2", "yallist": "^3.0.0" @@ -7444,7 +7436,6 @@ "version": "0.5.3", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.3.tgz", "integrity": "sha512-P+2gwrFqx8lhew375MQHHeTlY8AuOJSrGf0R5ddkEndUkmwpgUob/vQuBD1V22/Cw1/lJr4x+EjllSezBThzBg==", - "optional": true, "requires": { "minimist": "^1.2.5" } @@ -7506,8 +7497,7 @@ "npm-normalize-package-bin": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz", - "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==", - "optional": true + "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==" }, "npm-packlist": { "version": "1.4.8", @@ -7548,7 +7538,6 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "optional": true, "requires": { "wrappy": "1" } @@ -7662,7 +7651,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "optional": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -7736,7 +7724,7 @@ }, "fstream": { "version": "1.0.12", - "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz", + "resolved": "http://173.15.15.82:8081/repository/npm-all/fstream/-/fstream-1.0.12.tgz", "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==", "dev": true, "requires": { @@ -7758,8 +7746,8 @@ }, "gauge": { "version": "2.7.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", - "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "resolved": "http://173.15.15.82:8081/repository/npm-all/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha512-14x4kjc6lkD3ltw589k0NrPD6cCNTD6CWoVUNpB85+DrtONoZn+Rug6xZU5RvSC4+TZPxA5AnBibQYAvZn41Hg==", "dev": true, "requires": { "aproba": "^1.0.3", @@ -7774,8 +7762,8 @@ "dependencies": { "is-fullwidth-code-point": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "resolved": "http://173.15.15.82:8081/repository/npm-all/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==", "dev": true, "requires": { "number-is-nan": "^1.0.0" @@ -7783,8 +7771,8 @@ }, "string-width": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "resolved": "http://173.15.15.82:8081/repository/npm-all/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==", "dev": true, "requires": { "code-point-at": "^1.0.0", @@ -7796,7 +7784,7 @@ }, "gaze": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz", + "resolved": "http://173.15.15.82:8081/repository/npm-all/gaze/-/gaze-1.1.3.tgz", "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==", "dev": true, "requires": { @@ -7935,13 +7923,13 @@ } }, "globule": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/globule/-/globule-1.3.1.tgz", - "integrity": "sha512-OVyWOHgw29yosRHCHo7NncwR1hW5ew0W/UrvtwvjefVJeQ26q4/8r8FmPsSF1hJ93IgWkyv16pCTz6WblMzm/g==", + "version": "1.3.4", + "resolved": "http://173.15.15.82:8081/repository/npm-all/globule/-/globule-1.3.4.tgz", + "integrity": "sha512-OPTIfhMBh7JbBYDpa5b+Q5ptmMWKwcNcFSR/0c6t8V4f3ZAVBEsKNY37QdVqmLRYSMhOUGYrY0QhSoEpzGr/Eg==", "dev": true, "requires": { "glob": "~7.1.1", - "lodash": "~4.17.12", + "lodash": "^4.17.21", "minimatch": "~3.0.2" } }, @@ -8122,8 +8110,8 @@ }, "has-unicode": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", + "resolved": "http://173.15.15.82:8081/repository/npm-all/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", "dev": true }, "has-value": { @@ -8936,7 +8924,7 @@ }, "in-publish": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.1.tgz", + "resolved": "http://173.15.15.82:8081/repository/npm-all/in-publish/-/in-publish-2.0.1.tgz", "integrity": "sha512-oDM0kUSNFC31ShNxHKUyfZKy8ZeXZBWMjMdZHKLOk13uvT27VTL/QzRGfRUcevJhpkZAvlhPYuXkF7eNWrtyxQ==", "dev": true }, @@ -11155,7 +11143,7 @@ }, "node-gyp": { "version": "3.8.0", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz", + "resolved": "http://173.15.15.82:8081/repository/npm-all/node-gyp/-/node-gyp-3.8.0.tgz", "integrity": "sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==", "dev": true, "requires": { @@ -11175,8 +11163,8 @@ "dependencies": { "semver": { "version": "5.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", - "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", + "resolved": "http://173.15.15.82:8081/repository/npm-all/semver/-/semver-5.3.0.tgz", + "integrity": "sha512-mfmm3/H9+67MCVix1h+IXTpDwL6710LyHuk7+cWC9T1mE0qz4iHhh6r4hU2wrIT9iTsAAC2XQRvfblL028cpLw==", "dev": true } } @@ -11249,9 +11237,9 @@ "integrity": "sha512-wp8zyQVwef2hpZ/dJH7SfSrIPD6YoJz6BDQDpGEkcA0s3LpAQoxBIYmfIq6QAhC1DhwsyCgTaTTcONwX8qzCuQ==" }, "node-sass": { - "version": "4.14.0", - "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.14.0.tgz", - "integrity": "sha512-AxqU+DFpk0lEz95sI6jO0hU0Rwyw7BXVEv6o9OItoXLyeygPeaSpiV4rwQb10JiTghHaa0gZeD21sz+OsQluaw==", + "version": "4.14.1", + "resolved": "http://173.15.15.82:8081/repository/npm-all/node-sass/-/node-sass-4.14.1.tgz", + "integrity": "sha512-sjCuOlvGyCJS40R8BscF5vhVlQjNN069NtQ1gSxyK1u9iqvn6tf7O1R4GNowVZfiZUCRt5MmMs1xd+4V/7Yr0g==", "dev": true, "requires": { "async-foreach": "^0.1.3", @@ -11268,15 +11256,15 @@ "node-gyp": "^3.8.0", "npmlog": "^4.0.0", "request": "^2.88.0", - "sass-graph": "^2.2.4", + "sass-graph": "2.2.5", "stdout-stream": "^1.4.0", "true-case-path": "^1.0.2" }, "dependencies": { "cross-spawn": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-3.0.1.tgz", - "integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=", + "resolved": "http://173.15.15.82:8081/repository/npm-all/cross-spawn/-/cross-spawn-3.0.1.tgz", + "integrity": "sha512-eZ+m1WNhSZutOa/uRblAc9Ut5MQfukFrFMtPSm3bZCA888NmMd5AWXWdgRZ80zd+pTk1P2JrGjg9pUPTvl2PWQ==", "dev": true, "requires": { "lru-cache": "^4.0.1", @@ -11287,8 +11275,8 @@ }, "nopt": { "version": "3.0.6", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", - "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", + "resolved": "http://173.15.15.82:8081/repository/npm-all/nopt/-/nopt-3.0.6.tgz", + "integrity": "sha512-4GUt3kSEYmk4ITxzB/b9vaIDfUVWN/Ml1Fwl11IlnIG2iaJ9O6WXZ9SrYM9NLI8OCBieN2Y8SWC2oJV0RQ7qYg==", "dev": true, "requires": { "abbrev": "1" @@ -11344,7 +11332,7 @@ }, "npmlog": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", + "resolved": "http://173.15.15.82:8081/repository/npm-all/npmlog/-/npmlog-4.1.2.tgz", "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", "dev": true, "requires": { @@ -11653,7 +11641,7 @@ }, "osenv": { "version": "0.1.5", - "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", + "resolved": "http://173.15.15.82:8081/repository/npm-all/osenv/-/osenv-0.1.5.tgz", "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", "dev": true, "requires": { @@ -15843,81 +15831,170 @@ } }, "sass-graph": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.4.tgz", - "integrity": "sha1-E/vWPNHK8JCLn9k0dq1DpR0eC0k=", + "version": "2.2.5", + "resolved": "http://173.15.15.82:8081/repository/npm-all/sass-graph/-/sass-graph-2.2.5.tgz", + "integrity": "sha512-VFWDAHOe6mRuT4mZRd4eKE+d8Uedrk6Xnh7Sh9b4NGufQLQjOrvf/MQoOdx+0s92L89FeyUUNfU597j/3uNpag==", "dev": true, "requires": { "glob": "^7.0.0", "lodash": "^4.0.0", "scss-tokenizer": "^0.2.3", - "yargs": "^7.0.0" + "yargs": "^13.3.2" }, "dependencies": { + "ansi-regex": { + "version": "4.1.1", + "resolved": "http://173.15.15.82:8081/repository/npm-all/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "dev": true + }, "camelcase": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", + "version": "5.3.1", + "resolved": "http://173.15.15.82:8081/repository/npm-all/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", "dev": true }, "cliui": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", - "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "version": "5.0.0", + "resolved": "http://173.15.15.82:8081/repository/npm-all/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", "dev": true, "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" } }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "emoji-regex": { + "version": "7.0.3", + "resolved": "http://173.15.15.82:8081/repository/npm-all/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "find-up": { + "version": "3.0.0", + "resolved": "http://173.15.15.82:8081/repository/npm-all/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", "dev": true, "requires": { - "number-is-nan": "^1.0.0" + "locate-path": "^3.0.0" } }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "http://173.15.15.82:8081/repository/npm-all/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true + }, + "locate-path": { + "version": "3.0.0", + "resolved": "http://173.15.15.82:8081/repository/npm-all/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "http://173.15.15.82:8081/repository/npm-all/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "http://173.15.15.82:8081/repository/npm-all/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "http://173.15.15.82:8081/repository/npm-all/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "require-main-filename": { + "version": "2.0.0", + "resolved": "http://173.15.15.82:8081/repository/npm-all/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true + }, "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "version": "3.1.0", + "resolved": "http://173.15.15.82:8081/repository/npm-all/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", "dev": true, "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" } }, - "yargs": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz", - "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=", + "strip-ansi": { + "version": "5.2.0", + "resolved": "http://173.15.15.82:8081/repository/npm-all/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", "dev": true, "requires": { - "camelcase": "^3.0.0", - "cliui": "^3.2.0", - "decamelize": "^1.1.1", - "get-caller-file": "^1.0.1", - "os-locale": "^1.4.0", - "read-pkg-up": "^1.0.1", + "ansi-regex": "^4.1.0" + } + }, + "which-module": { + "version": "2.0.0", + "resolved": "http://173.15.15.82:8081/repository/npm-all/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==", + "dev": true + }, + "wrap-ansi": { + "version": "5.1.0", + "resolved": "http://173.15.15.82:8081/repository/npm-all/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + } + }, + "y18n": { + "version": "4.0.3", + "resolved": "http://173.15.15.82:8081/repository/npm-all/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "dev": true + }, + "yargs": { + "version": "13.3.2", + "resolved": "http://173.15.15.82:8081/repository/npm-all/yargs/-/yargs-13.3.2.tgz", + "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", + "dev": true, + "requires": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", + "require-main-filename": "^2.0.0", "set-blocking": "^2.0.0", - "string-width": "^1.0.2", - "which-module": "^1.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^5.0.0" - }, - "dependencies": { - "y18n": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz", - "integrity": "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==", - "dev": true - } + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.2" + } + }, + "yargs-parser": { + "version": "13.1.2", + "resolved": "http://173.15.15.82:8081/repository/npm-all/yargs-parser/-/yargs-parser-13.1.2.tgz", + "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" } } } @@ -16034,7 +16111,7 @@ }, "save-dev": { "version": "0.0.1-security", - "resolved": "http://173.15.15.82:8081/repository/npm-all/save-dev/-/save-dev-0.0.1-security.tgz", + "resolved": "https://registry.npmjs.org/save-dev/-/save-dev-0.0.1-security.tgz", "integrity": "sha512-k6knZTDNK8PKKbIqnvxiOveJinuw2LcQjqDoaorZWP9M5AR2EPsnpDeSbeoZZ0pHr5ze1uoaKdK8NBGQrJ34Uw==" }, "sax": { @@ -16088,8 +16165,8 @@ }, "scss-tokenizer": { "version": "0.2.3", - "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz", - "integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=", + "resolved": "http://173.15.15.82:8081/repository/npm-all/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz", + "integrity": "sha512-dYE8LhncfBUar6POCxMTm0Ln+erjeczqEvCJib5/7XNkdw1FkUGgwMPY360FY0FgPWQxHWCx29Jl3oejyGLM9Q==", "dev": true, "requires": { "js-base64": "^2.1.8", @@ -16098,8 +16175,8 @@ "dependencies": { "source-map": { "version": "0.4.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", - "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", + "resolved": "http://173.15.15.82:8081/repository/npm-all/source-map/-/source-map-0.4.4.tgz", + "integrity": "sha512-Y8nIfcb1s/7DcobUz1yOO1GSp7gyL+D9zLHDehT7iRESqGSxjJ448Sg7rvfgsRJCnKLdSl11uGf0s9X80cH0/A==", "dev": true, "requires": { "amdefine": ">=0.0.4" @@ -17096,7 +17173,7 @@ }, "stdout-stream": { "version": "1.4.1", - "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.1.tgz", + "resolved": "http://173.15.15.82:8081/repository/npm-all/stdout-stream/-/stdout-stream-1.4.1.tgz", "integrity": "sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==", "dev": true, "requires": { @@ -17634,7 +17711,7 @@ }, "tar": { "version": "2.2.2", - "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.2.tgz", + "resolved": "http://173.15.15.82:8081/repository/npm-all/tar/-/tar-2.2.2.tgz", "integrity": "sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA==", "dev": true, "requires": { @@ -18044,7 +18121,7 @@ }, "true-case-path": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.3.tgz", + "resolved": "http://173.15.15.82:8081/repository/npm-all/true-case-path/-/true-case-path-1.0.3.tgz", "integrity": "sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew==", "dev": true, "requires": { @@ -20068,12 +20145,12 @@ "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=" }, "wide-align": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", - "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", + "version": "1.1.5", + "resolved": "http://173.15.15.82:8081/repository/npm-all/wide-align/-/wide-align-1.1.5.tgz", + "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", "dev": true, "requires": { - "string-width": "^1.0.2 || 2" + "string-width": "^1.0.2 || 2 || 3 || 4" } }, "widest-line": { diff --git a/package.json b/package.json index 63df3ffbc..e58bbd5ef 100644 --- a/package.json +++ b/package.json @@ -207,7 +207,7 @@ "concat": "^1.0.3", "happypack": "^5.0.1", "mockjs": "^1.1.0", - "node-sass": "^4.12.0", + "node-sass": "^4.14.1", "optimize-css-assets-webpack-plugin": "^5.0.3", "purgecss": "^2.1.2", "react-json-view": "^1.21.3", diff --git a/src/forge/Wiki/EditWiki.jsx b/src/forge/Wiki/EditWiki.jsx index de01ddc48..e1be70585 100644 --- a/src/forge/Wiki/EditWiki.jsx +++ b/src/forge/Wiki/EditWiki.jsx @@ -200,7 +200,7 @@ export default Form.create()(({ form, history, showNotification, projectDetail, mdID={"order-new-description"} initValue={content} onChange={onContentChange} - className="mt20" + className="mt20 wikiMEDEditor" > {getFieldDecorator('content', { rules: [{ required: true, message: "请输入wiki内容" }], diff --git a/src/forge/Wiki/Index.scss b/src/forge/Wiki/Index.scss index 9be209a28..ac17f9cc9 100644 --- a/src/forge/Wiki/Index.scss +++ b/src/forge/Wiki/Index.scss @@ -382,3 +382,6 @@ body { border-color: #d0d0d0; } } +.wikiMEDEditor .editormd-dialog-footer{ + padding: 0; +} \ No newline at end of file From a287d7677d1136664449c18007c5bf119c47fc55 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B0=A2=E6=80=9D?= <2897217417@qq.com> Date: Wed, 20 Jul 2022 09:57:59 +0800 Subject: [PATCH 23/31] =?UTF-8?q?=E6=B3=A8=E5=86=8C=E9=82=AE=E7=AE=B1?= =?UTF-8?q?=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package-lock.json | 24 ++++++++++++++++++------ src/modules/loginRegister/Register.jsx | 2 +- 2 files changed, 19 insertions(+), 7 deletions(-) diff --git a/package-lock.json b/package-lock.json index df1a719b6..227fdf8a7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -7230,12 +7230,14 @@ "balanced-match": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "optional": true }, "brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "optional": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -7256,12 +7258,14 @@ "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "optional": true }, "console-control-strings": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", + "optional": true }, "core-util-is": { "version": "1.0.2", @@ -7378,7 +7382,8 @@ "inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "optional": true }, "ini": { "version": "1.3.5", @@ -7405,6 +7410,7 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "optional": true, "requires": { "brace-expansion": "^1.1.7" } @@ -7412,12 +7418,14 @@ "minimist": { "version": "1.2.5", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "optional": true }, "minipass": { "version": "2.9.0", "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", + "optional": true, "requires": { "safe-buffer": "^5.1.2", "yallist": "^3.0.0" @@ -7436,6 +7444,7 @@ "version": "0.5.3", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.3.tgz", "integrity": "sha512-P+2gwrFqx8lhew375MQHHeTlY8AuOJSrGf0R5ddkEndUkmwpgUob/vQuBD1V22/Cw1/lJr4x+EjllSezBThzBg==", + "optional": true, "requires": { "minimist": "^1.2.5" } @@ -7497,7 +7506,8 @@ "npm-normalize-package-bin": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz", - "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==" + "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==", + "optional": true }, "npm-packlist": { "version": "1.4.8", @@ -7538,6 +7548,7 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "optional": true, "requires": { "wrappy": "1" } @@ -7651,6 +7662,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "optional": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", diff --git a/src/modules/loginRegister/Register.jsx b/src/modules/loginRegister/Register.jsx index 1ff6d9e19..32d853585 100644 --- a/src/modules/loginRegister/Register.jsx +++ b/src/modules/loginRegister/Register.jsx @@ -79,7 +79,7 @@ function Register(props){ }).then(response => { if (response.data.status === -1) { setGetCaptchaBut(false); - callback('该邮箱已被注册'); + callback(response.data.message); } else { setEmailStr(value); setGetCaptchaBut(true); From b464d2395539f58297b387bef9afb5ae778a1146 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B0=A2=E6=80=9D?= <2897217417@qq.com> Date: Fri, 22 Jul 2022 14:25:20 +0800 Subject: [PATCH 24/31] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E6=BA=AF=E6=BA=90?= =?UTF-8?q?=E7=BB=93=E6=9E=9C=E6=9F=A5=E7=9C=8B=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package-lock.json | 13 +++++++++---- src/forge/Server/data.jsx | 21 ++++++++++++++++----- 2 files changed, 25 insertions(+), 9 deletions(-) diff --git a/package-lock.json b/package-lock.json index 227fdf8a7..8165d720b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -7209,7 +7209,8 @@ "ansi-regex": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "optional": true }, "aproba": { "version": "1.2.0", @@ -7626,7 +7627,8 @@ "safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "optional": true }, "safer-buffer": { "version": "2.1.2", @@ -7682,6 +7684,7 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "optional": true, "requires": { "ansi-regex": "^2.0.0" } @@ -7725,12 +7728,14 @@ "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "optional": true }, "yallist": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "optional": true } } }, diff --git a/src/forge/Server/data.jsx b/src/forge/Server/data.jsx index cb4ec4978..0bdb979f8 100644 --- a/src/forge/Server/data.jsx +++ b/src/forge/Server/data.jsx @@ -13,6 +13,8 @@ function Data(props){ const [ relayCount , setRelayCount ] = useState(5); const [ repeatId , setRepeatId ] = useState(undefined); const [ repeatBranch , setRepeatBranch ] = useState(undefined); + const [ lookResultUrl, setLookResultUrl] = useState(undefined); + const [ openResultTaskId, setOpenResultTaskId] = useState(undefined); const { owner , projectsId } = props.match.params; const { current_user , isManager } = props; @@ -36,6 +38,7 @@ function Data(props){ if(result){ setDataSource(result.data.data); setRelayCount(result.data.left_tasks_count); + setLookResultUrl(result.data.view_base); setSpining(false); } }).catch(error=>{}) @@ -88,6 +91,14 @@ function Data(props){ console.log("spining"); } + function lookResult(taskId){ + if(!openResultTaskId || (openResultTaskId && openResultTaskId !== taskId)){ + setOpenResultTaskId(taskId); + }else{ + setOpenResultTaskId(undefined); + } + } + return(
    { - e.detect_status ==="detecting" ? + e.detect_status ==="detecting" ? 重新扫描 : repeatCheck(e.project_id,e.branch_tag)}>重新扫描 } - {/* { + { (e.detect_status ==="fail" || e.detect_status ==="detecting") ? 查看 : - 查看 - } */} + {lookResult(e.task_id)}}>查看 + } { (e.detect_status ==="fail" || e.detect_status ==="detecting") ? 下载报告 @@ -164,7 +175,7 @@ function Data(props){ } - {false && } + {openResultTaskId && }
    ) }) From 047ee8fae9aec233d36e70d1a53b75a3f1d95f5a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B0=A2=E6=80=9D?= <2897217417@qq.com> Date: Fri, 22 Jul 2022 15:30:02 +0800 Subject: [PATCH 25/31] =?UTF-8?q?=E6=A0=B7=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/forge/Server/data.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/forge/Server/data.jsx b/src/forge/Server/data.jsx index 0bdb979f8..2ce0bb62d 100644 --- a/src/forge/Server/data.jsx +++ b/src/forge/Server/data.jsx @@ -175,7 +175,7 @@ function Data(props){ } - {openResultTaskId && } + {openResultTaskId && openResultTaskId === e.task_id && }
    ) }) From 8c3d227d0238432d4f2e6e9e3bfec6afef0adce5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B0=A2=E6=80=9D?= <2897217417@qq.com> Date: Fri, 29 Jul 2022 14:17:01 +0800 Subject: [PATCH 26/31] =?UTF-8?q?iframe=E9=AB=98=E5=BA=A6=E8=87=AA?= =?UTF-8?q?=E9=80=82=E5=BA=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/forge/Server/data.jsx | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/src/forge/Server/data.jsx b/src/forge/Server/data.jsx index 2ce0bb62d..14b12f284 100644 --- a/src/forge/Server/data.jsx +++ b/src/forge/Server/data.jsx @@ -88,7 +88,6 @@ function Data(props){ setSpining(false); } x.send(); - console.log("spining"); } function lookResult(taskId){ @@ -99,6 +98,19 @@ function Data(props){ } } + function iframeLoad() { + try { + let myIframe = document.getElementById("htmlIframe"); + console.log('myIframe', myIframe, myIframe.contentDocument); + if (myIframe.contentDocument) { + console.log(myIframe.contentDocument.querySelector('.el-main')); + myIframe.height = myIframe.contentDocument.querySelector('.el-main').clientHeight + 260; + // myIframe.contentDocument.querySelector('.admin-body-container').style.overflow = 'hidden'; + } + } catch (err) { + console.error(err); + } + } return(
    } - {openResultTaskId && openResultTaskId === e.task_id && } + {/* lookResultUrl+e.task_id */} + {openResultTaskId && openResultTaskId === e.task_id && }
    ) }) From f37810e95595a366dbf5ecbac13028a238034a02 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BD=95=E7=AB=A5=E5=B4=87?= <1261960504@qq.com> Date: Fri, 29 Jul 2022 17:37:05 +0800 Subject: [PATCH 27/31] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E6=BA=AF=E6=BA=90?= =?UTF-8?q?=E8=BD=AE=E8=AF=A2=E5=8F=8Aiframe=E8=87=AA=E9=80=82=E5=BA=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/forge/Server/data.jsx | 172 +++++++++++++++++----------- src/forge/Server/detectionModal.jsx | 2 +- 2 files changed, 105 insertions(+), 69 deletions(-) diff --git a/src/forge/Server/data.jsx b/src/forge/Server/data.jsx index 14b12f284..bb40cc503 100644 --- a/src/forge/Server/data.jsx +++ b/src/forge/Server/data.jsx @@ -1,58 +1,94 @@ -import React, { useEffect, useState } from 'react'; +import React, { useCallback, useEffect, useState } from 'react'; import DataEmpty from './dataEmpty'; import DetectionModal from './detectionModal'; -import { Table , Spin, message } from 'antd'; +import { Table, Spin, message } from 'antd'; import axios from 'axios'; -function Data(props){ - const [ detectionVisible , setDetectionVisible ] = useState(false); - const [ dataSource , setDataSource ] = useState(undefined); - const [ page , setPage ] = useState(1); - const [ spining , setSpining ] = useState(true); - const [ relayCount , setRelayCount ] = useState(5); - const [ repeatId , setRepeatId ] = useState(undefined); - const [ repeatBranch , setRepeatBranch ] = useState(undefined); - const [ lookResultUrl, setLookResultUrl] = useState(undefined); - const [ openResultTaskId, setOpenResultTaskId] = useState(undefined); +function Data(props) { + const [detectionVisible, setDetectionVisible] = useState(false); + const [dataSource, setDataSource] = useState(undefined); + const [page, setPage] = useState(1); + const [spining, setSpining] = useState(true); + const [relayCount, setRelayCount] = useState(5); + const [repeatId, setRepeatId] = useState(undefined); + const [repeatBranch, setRepeatBranch] = useState(undefined); + const [lookResultUrl, setLookResultUrl] = useState(undefined); + const [openResultTaskId, setOpenResultTaskId] = useState(undefined); + const [viewBase, setViewBase] = useState('https://cjntest.trustie.net/'); - const { owner , projectsId } = props.match.params; - const { current_user , isManager } = props; + const { owner, projectsId } = props.match.params; + const { current_user, isManager } = props; const limit = 15; - function onDetectionOk(){ + function onDetectionOk() { props.showNotification("新建分析成功,可在“检测状态”处查看扫描检测进度"); setDetectionVisible(false); setSpining(true); Init(); } - function Init(){ + function Init() { const url = `/traces/${owner}/${projectsId}/task_results.json`; - axios.get(url,{ - params:{ - page,limit + axios.get(url, { + params: { + page, limit } - }).then(result=>{ - if(result){ - setDataSource(result.data.data); - setRelayCount(result.data.left_tasks_count); - setLookResultUrl(result.data.view_base); + }).then(result => { + if (result) { + + if (Array.isArray(result.data.data)) { + setDataSource(result.data.data); + setRelayCount(result.data.left_tasks_count); + setLookResultUrl(result.data.view_base); + setViewBase(result.data.view_base); + for (const item of result.data.data) { + if (item.detect_status === "detecting") { + setTimeout(Init, 2000); + break; + } else if (item.detect_status === "waiting") { + Init(); + break; + } + } + } else { + result && result.data.message && props.showNotification(result.data.message); + } + setSpining(false); } - }).catch(error=>{}) + }).catch(error => { }) } - useEffect(()=>{ + useEffect(() => { setSpining(true); Init(); - },[]) + }, []) + + useEffect(() => { + window.addEventListener("message", iframeHeight, false); + return () => { + window.removeEventListener("message", iframeHeight, false); + } + }) + + + function iframeHeight(e){ + console.log('iframeHeight'); + console.log(e.data); + if (e && e.data && viewBase && e.origin && viewBase.indexOf(e.origin)>-1) { + let myHeight = JSON.parse(e.data); + if (document.querySelector("#htmlIframe")) { + document.querySelector("#htmlIframe").height = myHeight.height; + } + } + } // 重新扫描 - function repeatCheck(project_id,branch){ - if(relayCount <= 0){ + function repeatCheck(project_id, branch) { + if (relayCount <= 0) { message.error("无可用检测次数"); return; } @@ -61,8 +97,8 @@ function Data(props){ setDetectionVisible(true); } - function createCheck(){ - if(relayCount <= 0){ + function createCheck() { + if (relayCount <= 0) { message.error("无可用检测次数"); return; } @@ -71,7 +107,7 @@ function Data(props){ setDetectionVisible(true); } - function handleDownExcel(task_id){ + function handleDownExcel(task_id) { setSpining(true); const url = `/api/traces/${owner}/${projectsId}/task_pdf.json?task_id=${task_id}`; // window.open(`/api/traces/${owner}/${projectsId}/task_pdf.json?task_id=${task_id}`); @@ -90,10 +126,10 @@ function Data(props){ x.send(); } - function lookResult(taskId){ - if(!openResultTaskId || (openResultTaskId && openResultTaskId !== taskId)){ + function lookResult(taskId) { + if (!openResultTaskId || (openResultTaskId && openResultTaskId !== taskId)) { setOpenResultTaskId(taskId); - }else{ + } else { setOpenResultTaskId(undefined); } } @@ -111,12 +147,12 @@ function Data(props){ console.error(err); } } - return( + return (
    - setDetectionVisible(false)} - onOk={onDetectionOk} + setDetectionVisible(false)} + onOk={onDetectionOk} owner={owner} projectsId={projectsId} relayCount={relayCount} @@ -125,12 +161,12 @@ function Data(props){ />
    重晴鸟代码溯源系统 - { isManager && 新建分析 } + {isManager && 新建分析}
    -
    +
    { - dataSource && dataSource.length >0 && + dataSource && dataSource.length > 0 &&
    • @@ -138,26 +174,26 @@ function Data(props){ 分支名称 检测状态 检测时间 - { isManager && 操作 } + {isManager && 操作}
    • { - dataSource.map((e,key)=>{ - return( + dataSource.map((e, key) => { + return (
    • - {key + 1 } + {key + 1} {e.branch_tag} { e.detect_status === "fail" ? - 失败 - : e.detect_status==="detecting" ? -
      - - {e.detect_process}% -
      - : - 成功 + 失败 + : e.detect_status === "detecting" ? +
      + + {e.detect_process}% +
      + : e.detect_status === "detected" ? + 成功 : 等待中 }
      {e.detect_startdate} @@ -166,29 +202,29 @@ function Data(props){
      { - e.detect_status ==="detecting" ? - 重新扫描 - : - repeatCheck(e.project_id,e.branch_tag)}>重新扫描 + e.detect_status === "detecting" ? + 重新扫描 + : + repeatCheck(e.project_id, e.branch_tag)}>重新扫描 } { - (e.detect_status ==="fail" || e.detect_status ==="detecting") ? - 查看 - : - {lookResult(e.task_id)}}>查看 + (e.detect_status === "fail" || e.detect_status === "detecting") ? + 查看 + : + { lookResult(e.task_id) }}>查看 } { - (e.detect_status ==="fail" || e.detect_status ==="detecting") ? - 下载报告 - : - handleDownExcel(e.task_id)}>下载报告 + (e.detect_status === "fail" || e.detect_status === "detecting") ? + 下载报告 + : + handleDownExcel(e.task_id)}>下载报告 }
      }
    • {/* lookResultUrl+e.task_id */} - {openResultTaskId && openResultTaskId === e.task_id && } + {openResultTaskId && openResultTaskId === e.task_id && }
      ) }) diff --git a/src/forge/Server/detectionModal.jsx b/src/forge/Server/detectionModal.jsx index 5e9acef29..b3fbe7b97 100644 --- a/src/forge/Server/detectionModal.jsx +++ b/src/forge/Server/detectionModal.jsx @@ -137,7 +137,7 @@ function DetectionModal({form , visible , onCancel , onOk , projectsId, owner , }
      检测类型 -

      快速-组件级

      +

      深度-文件代码级

      检测参数 From 145e58959fc6f220525ab2aa786e208ce0527f07 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BD=95=E7=AB=A5=E5=B4=87?= <1261960504@qq.com> Date: Fri, 29 Jul 2022 18:22:01 +0800 Subject: [PATCH 28/31] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E6=BA=AF=E6=BA=90=E6=8C=89=E9=92=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/forge/Server/data.jsx | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/forge/Server/data.jsx b/src/forge/Server/data.jsx index bb40cc503..2887a4222 100644 --- a/src/forge/Server/data.jsx +++ b/src/forge/Server/data.jsx @@ -44,13 +44,10 @@ function Data(props) { setLookResultUrl(result.data.view_base); setViewBase(result.data.view_base); for (const item of result.data.data) { - if (item.detect_status === "detecting") { + if (item.detect_status === "detecting" || item.detect_status === "waiting") { setTimeout(Init, 2000); break; - } else if (item.detect_status === "waiting") { - Init(); - break; - } + } } } else { result && result.data.message && props.showNotification(result.data.message); @@ -193,7 +190,10 @@ function Data(props) { {e.detect_process}%
      : e.detect_status === "detected" ? - 成功 : 等待中 + 成功 :
      + + 0% +
      } {e.detect_startdate} @@ -202,19 +202,19 @@ function Data(props) {
      { - e.detect_status === "detecting" ? + e.detect_status === "detecting" || e.detect_status === "waiting" ? 重新扫描 : repeatCheck(e.project_id, e.branch_tag)}>重新扫描 } { - (e.detect_status === "fail" || e.detect_status === "detecting") ? + (e.detect_status === "fail" || e.detect_status === "detecting" || e.detect_status === "waiting") ? 查看 : { lookResult(e.task_id) }}>查看 } { - (e.detect_status === "fail" || e.detect_status === "detecting") ? + (e.detect_status === "fail" || e.detect_status === "detecting" || e.detect_status === "waiting") ? 下载报告 : handleDownExcel(e.task_id)}>下载报告 From 85f99fbc8c38fc006d04c9270e05588ed911c88d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BD=95=E7=AB=A5=E5=B4=87?= <1261960504@qq.com> Date: Fri, 29 Jul 2022 18:54:48 +0800 Subject: [PATCH 29/31] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E6=BA=AF=E6=BA=90=E4=B8=8B=E8=BD=BD=E6=9D=A1=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/forge/Server/data.jsx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/forge/Server/data.jsx b/src/forge/Server/data.jsx index 2887a4222..d3385df58 100644 --- a/src/forge/Server/data.jsx +++ b/src/forge/Server/data.jsx @@ -44,7 +44,7 @@ function Data(props) { setLookResultUrl(result.data.view_base); setViewBase(result.data.view_base); for (const item of result.data.data) { - if (item.detect_status === "detecting" || item.detect_status === "waiting") { + if (item.detect_status === "detecting" || item.detect_status === "waiting" || (item.detect_status=="detected"&& item.is_reported=="0")) { setTimeout(Init, 2000); break; } @@ -202,19 +202,19 @@ function Data(props) {
      { - e.detect_status === "detecting" || e.detect_status === "waiting" ? + e.detect_status === "detecting" || e.detect_status === "waiting"? 重新扫描 : repeatCheck(e.project_id, e.branch_tag)}>重新扫描 } { - (e.detect_status === "fail" || e.detect_status === "detecting" || e.detect_status === "waiting") ? + (e.detect_status === "fail" || e.detect_status === "detecting" || e.detect_status === "waiting" || (e.detect_status=="detected"&& e.is_reported=="0")) ? 查看 : { lookResult(e.task_id) }}>查看 } { - (e.detect_status === "fail" || e.detect_status === "detecting" || e.detect_status === "waiting") ? + (e.detect_status === "fail" || e.detect_status === "detecting" || e.detect_status === "waiting" || (e.detect_status=="detected"&& e.is_reported=="0")) ? 下载报告 : handleDownExcel(e.task_id)}>下载报告 From 212447905c3527d9c6326303dd5b2ba04151882f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BD=95=E7=AB=A5=E5=B4=87?= <1261960504@qq.com> Date: Fri, 29 Jul 2022 22:08:27 +0800 Subject: [PATCH 30/31] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E6=BA=AF=E6=BA=90=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/forge/Settings/Setting.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/forge/Settings/Setting.js b/src/forge/Settings/Setting.js index e44d9b49a..db6263b6b 100644 --- a/src/forge/Settings/Setting.js +++ b/src/forge/Settings/Setting.js @@ -18,7 +18,7 @@ const menu = [ // {name:"资源库",index:"resources"}, {name:"里程碑",index:"versions"}, {name:"维基 (Wiki)",index:"wiki"}, - // {name:"服务",index:"services"}, + {name:"服务",index:"services"}, {name:"动态",index:"activity"}, ] class Setting extends Component { From 4e9237d8128301a77e24c81739661af2e7e57469 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B0=A2=E6=80=9D?= <2897217417@qq.com> Date: Mon, 1 Aug 2022 10:24:14 +0800 Subject: [PATCH 31/31] =?UTF-8?q?webhook=20url=E5=AF=86=E9=92=A5=E9=95=BF?= =?UTF-8?q?=E5=BA=A6=E6=A0=A1=E9=AA=8C=E6=94=B9=E6=88=90200?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/forge/Settings/Webhooks/New.jsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/forge/Settings/Webhooks/New.jsx b/src/forge/Settings/Webhooks/New.jsx index 2fee3bf0e..abdf8ce63 100644 --- a/src/forge/Settings/Webhooks/New.jsx +++ b/src/forge/Settings/Webhooks/New.jsx @@ -199,14 +199,14 @@ function New({ form , match , showNotification , history }) { } ] })( - + )} {getFieldDecorator("secret",{ rules:[] })( - + )}