-
-
- oweners
-
- 离开团队
- 团队设置
-
-
-
-
- 2 名成员
- 1 个项目
-
+ {
+ list && list.length > 0 ?
+
+ {
+ list.map((item,key)=>{
+ return(
+
+
+ {item.name}
+
+ { item.is_member && 离开团队 }
+ { item.isAdmin && 团队设置 }
+
+
+
+ {
+ item.user && item.user.map((i,k)=>{
+ return(
+
+ )
+ })
+ }
+
+
+ {item.num_users} 名成员
+ {item.num_projects} 个项目
+
+
+ )
+ })
+ }
-
-
- oweners
-
- 离开团队
- 团队设置
-
-
-
-
- 2 名成员
- 1 个项目
-
-
-
+ :""
+ }
)
-}
\ No newline at end of file
+}
+export default TeamSettingGroup;
\ No newline at end of file
diff --git a/src/forge/Team/Setting/TeamSettingIndex.jsx b/src/forge/Team/Setting/TeamSettingIndex.jsx
index 1fcac7d8..4717f2fe 100644
--- a/src/forge/Team/Setting/TeamSettingIndex.jsx
+++ b/src/forge/Team/Setting/TeamSettingIndex.jsx
@@ -44,7 +44,7 @@ export default (( props )=>{
{name:'基本设置',icon:"icon-base",href:`/organize/${OIdentifier}/setting`},
{name:'组织成员管理',icon:"icon-zuzhichengyuan",href:`/organize/${OIdentifier}/setting/member`},
{name:'组织团队管理',icon:"icon-zuzhixiangmu",href:`/organize/${OIdentifier}/setting/group`},
- {name:'管理web钩子',icon:"icon-zhongqingdianxinicon10",href:`/organize/${OIdentifier}/setting/hooks`}
+ // {name:'管理web钩子',icon:"icon-zhongqingdianxinicon10",href:`/organize/${OIdentifier}/setting/hooks`}
],
active
}
diff --git a/src/forge/Team/Setting/TeamSettingMember.jsx b/src/forge/Team/Setting/TeamSettingMember.jsx
index a8d7800b..4d1d332c 100644
--- a/src/forge/Team/Setting/TeamSettingMember.jsx
+++ b/src/forge/Team/Setting/TeamSettingMember.jsx
@@ -1,12 +1,11 @@
-import React, { useState } from 'react';
-import { WhiteBack , Blueline , AlignCenter , FlexAJ } from '../../Component/layout';
-import { Menu , Table , Pagination , Icon , Tooltip } from 'antd';
-import Sort from '../../Component/Sort';
+import React, { useEffect, useState } from 'react';
+import { WhiteBack , FlexAJ } from '../../Component/layout';
+import { Menu , Table , Pagination , Icon , Tooltip , Popconfirm } from 'antd';
import Title from '../../Component/Title';
import Search from '../../Component/Search';
-import SearchUser from '../../Component/SearchUser';
import styled from 'styled-components';
import { getImageUrl } from 'educoder';
+import axios from 'axios';
const Img = styled.img`{
width:30px;
@@ -24,25 +23,37 @@ const demoData = [
operation:"移除成员",
}
]
-export default ((props)=>{
+export default (({organizeDetail})=>{
const [ choiceId , serChoiceId ] = useState(undefined);
const [ page , setPage ] = useState(1);
const [ limit , setLimit ] = useState(15);
const [ total , setTotal ] = useState(0);
+ const [ search , setSearch ] = useState(undefined);
const [ data , setData ] = useState(demoData);
- function getData(){
- const url = `/organizations/:organization/organization_users.json`;
+ useEffect(()=>{
+ if(organizeDetail && organizeDetail.id){
+ getData(search);
+ }
+ },[organizeDetail,search])
+
+ function getData(search){
+ const url = `/organizations/${organizeDetail.id}/organization_users.json`;
+ axios.get(url,{
+ params:{
+ page,limit, search
+ }
+ }).then(result=>{
+ if(result && result.data){
+ setData(result.data.organization_users);
+ setTotal(result.data.total_count);
+ }
+ }).catch(error=>{})
}
// 获取搜索用户框里面选择的用户ID,方便添加组织成员
- function getUser(id){
- console.log(id);
- serChoiceId(id);
- }
- // 搜索
- function onSearch(value){
- console.log(value);
+ function getUser(login){
+ serChoiceId(login);
}
// 切换分页
function ChangePage(page){
@@ -75,67 +86,91 @@ export default ((props)=>{
const columns = [
{
title: '头像',
- dataIndex: 'Img',
- width:"7%",
+ dataIndex: 'image_url',
+ width:"5%",
render:(value,item)=>{
return(
-
})
+ item.user &&
})
)
}
},
{
title: '用户名',
dataIndex: 'name',
- width:"13%",
- align:"center"
+ width:"15%",
+ render:(value,item)=>{
+ return(
+ item.user && item.user.name
+ )
+ }
},
{
title: '邮箱',
- dataIndex: 'email',
+ dataIndex: 'mail',
width:"25%",
+ align:"left",
+ render:(value,item)=>{
+ return(
+ item.user && item.user.mail
+ )
+ }
},
{
title: '所属团队',
dataIndex: 'team',
width:"20%",
- },
- {
- title: roleTitle,
- dataIndex: 'role',
- width:"20%",
render:(value,item)=>{
- return(
- item.role
- )
+ return item.team_names && item.team_names.length > 0 && item.team_names[0]
}
},
+ // {
+ // title: roleTitle,
+ // dataIndex: 'role',
+ // width:"20%",
+ // render:(value,item)=>{
+ // return(
+ // item.role
+ // )
+ // }
+ // },
{
title: '操作',
dataIndex: 'operation',
width:"15%",
render:(value,item)=>{
- return
移除成员
+ return (organizeDetail && organizeDetail.is_admin ? "" :
+
deleteMember(item.login)}>移除成员
+ )
}
}
]
+
+ function deleteMember(login){
+ const url = `/organizations/${organizeDetail && organizeDetail.id}/organization_users/${login}.json`;
+ axios.delete(url).then(result=>{
+ if(result && result.data){
+
+ }
+ }).catch(error=>{})
+ }
return(
组织成员管理
-
+ {/*
+ 添加用户
-
+ */}
-
+ {setSearch(value)}}/>
-
+ {/*
角色筛选
-
+ */}
-
+
{
{
total > limit ?
:""
}