From 3b85567a1a47022611ec3938085bea2f775247c6 Mon Sep 17 00:00:00 2001 From: caishi <1149225589@qq.com> Date: Tue, 2 Feb 2021 09:31:15 +0800 Subject: [PATCH] new page --- src/forge/Component/MemberCards.jsx | 3 +- src/forge/Team/Box.jsx | 8 +-- src/forge/Team/Group/GroupDetailMember.jsx | 2 +- src/forge/Team/Group/GroupDetailProject.jsx | 64 ++++++--------------- src/forge/Team/Group/GroupDetails.jsx | 4 +- src/forge/Team/Index.jsx | 2 +- src/forge/Team/List.jsx | 2 +- src/forge/Team/RightBox.jsx | 10 ++-- src/forge/Team/Sub/SubDetail.jsx | 44 +++++++------- src/forge/Team/TeamMember.jsx | 62 ++++++++++++++------ 10 files changed, 102 insertions(+), 99 deletions(-) diff --git a/src/forge/Component/MemberCards.jsx b/src/forge/Component/MemberCards.jsx index 14299fab..06b1084c 100644 --- a/src/forge/Component/MemberCards.jsx +++ b/src/forge/Component/MemberCards.jsx @@ -3,6 +3,7 @@ import './Component.scss'; import { Button } from 'antd'; import styled from 'styled-components'; import FocusButton from "../UsersList/focus_button"; +import { getImageUrl } from 'educoder'; const Img = styled.img`{ border-radius:50%; @@ -61,7 +62,7 @@ const Div = styled.div`{ export default (({ img, name, time, focusStatus, is_current_user, login }) => { return (
- +
{name} diff --git a/src/forge/Team/Box.jsx b/src/forge/Team/Box.jsx index 7b4e2092..95fbefcc 100644 --- a/src/forge/Team/Box.jsx +++ b/src/forge/Team/Box.jsx @@ -1,12 +1,12 @@ import React from 'react'; +import { Link } from 'react-router-dom'; - -export default (({ name , count , bottom , children })=>{ +export default (({ name , count , bottom , children , url })=>{ return(
- {name} - {count} + {name} + {count}
{children} diff --git a/src/forge/Team/Group/GroupDetailMember.jsx b/src/forge/Team/Group/GroupDetailMember.jsx index 0c55e811..b7fafaff 100644 --- a/src/forge/Team/Group/GroupDetailMember.jsx +++ b/src/forge/Team/Group/GroupDetailMember.jsx @@ -42,7 +42,7 @@ export default ((props) => { data && data.length > 0 ? data.map((item, key) => { return ( { const [isSpin, setIsSpin] = useState(false); const [projects, setProjects] = useState(undefined); const [page, setPage] = useState(1); - const [limit, setLimit] = useState(15); const [total, setTotal] = useState(0); const { OIdentifier, groupId } = props.match.params; @@ -57,21 +37,17 @@ export default ((props) => { function get_project() { setIsSpin(true) const url = `/organizations/${OIdentifier}/teams/${groupId}/team_projects.json`; - axios - .get(url, { - params: { - page, - limit - }, - }) - .then((result) => { - if (result && result.data && result.data.team_projects.length > 0) { - setProjects(result.data.team_projects) - setTotal(result.data.total_count) - } else { - setProjects(faker_projects) - } - }).catch((error) => { }); + axios.get(url, { + params: { + page, + limit + }, + }).then((result) => { + if (result && result.data && result.data.team_projects.length > 0) { + setProjects(result.data.team_projects) + setTotal(result.data.total_count) + } + }).catch((error) => { }); setIsSpin(false) } @@ -81,15 +57,13 @@ export default ((props) => { { projects && projects.length > 0 ? projects.map((item, key) => { - return ( -
- - {item.project.name} -
- ) - }) - : - + return ( +
+ + {item.project.name} +
+ ) + }): }
diff --git a/src/forge/Team/Group/GroupDetails.jsx b/src/forge/Team/Group/GroupDetails.jsx index 2e601e3a..2d8a462b 100644 --- a/src/forge/Team/Group/GroupDetails.jsx +++ b/src/forge/Team/Group/GroupDetails.jsx @@ -48,8 +48,6 @@ export default ((props) => { .then((result) => { if (result && result.data) { setPage(1) - setQuery(undefined) - setIdentify(undefined) this.getMember(); } }) @@ -83,7 +81,7 @@ export default ((props) => {

管理员团队对 所有仓库 具有操作权限,且对组织具有 管理员权限

此外,该团队拥有了 创建仓库 的权限:成员可以在组织中创建新的仓库。

- {group.is_admin ? : ""} + {group.is_admin ? : ""}
: diff --git a/src/forge/Team/Index.jsx b/src/forge/Team/Index.jsx index 9b996936..197dbc66 100644 --- a/src/forge/Team/Index.jsx +++ b/src/forge/Team/Index.jsx @@ -30,7 +30,7 @@ export default withRouter(CNotificationHOC()(SnackbarHOC()(TPMIndexHOC( {/* 组织团队 */} { return }} diff --git a/src/forge/Team/List.jsx b/src/forge/Team/List.jsx index 7f85a7c5..1ef8e8bb 100644 --- a/src/forge/Team/List.jsx +++ b/src/forge/Team/List.jsx @@ -103,7 +103,7 @@ function List(props){
}
- +
) } diff --git a/src/forge/Team/RightBox.jsx b/src/forge/Team/RightBox.jsx index f535fa95..12445136 100644 --- a/src/forge/Team/RightBox.jsx +++ b/src/forge/Team/RightBox.jsx @@ -4,6 +4,7 @@ import styled from 'styled-components'; import Box from './Box'; import axios from 'axios'; import { getImageUrl } from 'educoder'; +import { Link } from 'react-router-dom'; const Span = styled.span`{ color:#888; @@ -34,7 +35,7 @@ const Img = styled.img`{ height:45px; margin-right:12px; }` -function RightBox({ OIdentifier }) { +function RightBox({ OIdentifier , history }) { const [ memberData, setMemberData ] = useState(undefined); const [ groupData, setGroupData ] = useState(undefined); @@ -65,7 +66,7 @@ function RightBox({ OIdentifier }) {
{ memberData && memberData.organization_users && memberData.organization_users.length>0 ? - + { memberData.organization_users.map((item,key)=>{ return( @@ -87,14 +88,15 @@ function RightBox({ OIdentifier }) { 新建团队} + bottom={} + url={`/organize/${OIdentifier}/group`} > { groupData.teams.map((item,key)=>{ return(
- {item.name} + {item.name} {item.num_users}名成员 {item.num_projects}个仓库 diff --git a/src/forge/Team/Sub/SubDetail.jsx b/src/forge/Team/Sub/SubDetail.jsx index ae886b64..d1bbbe13 100644 --- a/src/forge/Team/Sub/SubDetail.jsx +++ b/src/forge/Team/Sub/SubDetail.jsx @@ -71,8 +71,8 @@ export default ((props)=>{ title={detail.name} rightBtn={ flag && - 组织成员{detail.num_users && {detail.num_users}} - 组织团队{detail.num_teams &&{detail.num_teams}} + 组织成员{detail.num_users && {detail.num_users}} + 组织团队{detail.num_teams &&{detail.num_teams}} } img={detail.avatar_url} @@ -83,36 +83,36 @@ export default ((props)=>{ {/* 组织团队-设置 */} { - return - }} - > - {/* 组织团队-成员 */} - { - return - }} - > - {/* 组织成员 */} - { - return + render={(p) => { + return }} > {/* 组织-新建团队 */} { - return + render={(p) => { + return + }} + > + {/* 组织团队-成员 */} + { + return + }} + > + {/* 组织成员 */} + { + return }} > {/* 组织团队 */} { - return + render={(p) => { + return }} > diff --git a/src/forge/Team/TeamMember.jsx b/src/forge/Team/TeamMember.jsx index e2223c4f..fbb1dde1 100644 --- a/src/forge/Team/TeamMember.jsx +++ b/src/forge/Team/TeamMember.jsx @@ -1,25 +1,53 @@ -import React from 'react'; +import React ,{ useEffect , useState } from 'react'; import { Banner } from '../Component/layout'; import Cards from '../Component/MemberCards'; +import axios from 'axios'; +import Nodata from '../Nodata'; + +const limit = 15; +function TeamMember({organizeDetail,current_user}){ + const [ page , setPage ] = useState(1); + const [ total , setTotal ] = useState(0); + const [ list , setList ] = useState(undefined); + useEffect(()=>{ + if(organizeDetail){ + getData(); + } + },[organizeDetail]); + + function getData(){ + const url = `/organizations/${organizeDetail.id}/organization_users.json`; + axios.get(url).then(result=>{ + if(result && result.data){ + setList(result.data.organization_users); + setTotal(result.data.total_count); + } + }) + } -export default (()=>{ return(
组织成员 -
- - -
+ { + list && list.length > 0 ? +
+ { + list.map((item,key)=>{ + console.log(current_user); + return( + item.user && + ) + }) + } +
+ : + }
) -}) \ No newline at end of file +}export default TeamMember \ No newline at end of file