diff --git a/src/forge/Settings/CollaboratorGroup.jsx b/src/forge/Settings/CollaboratorGroup.jsx index e3850e24..c6ab6ffb 100644 --- a/src/forge/Settings/CollaboratorGroup.jsx +++ b/src/forge/Settings/CollaboratorGroup.jsx @@ -1,107 +1,139 @@ -import React, { useEffect, useState } from 'react'; -import { Table , Button , Popconfirm , Pagination } from 'antd'; -import { Link } from 'react-router-dom'; -import axios from 'axios'; +import React, { useEffect, useState } from "react"; +import { Table, Button, Popconfirm, Pagination } from "antd"; +import { Link } from "react-router-dom"; +import axios from "axios"; const roles = { - owner:"所有者", - admin:"管理者", - write:"开发者", - read:"报告者" -} + owner: "所有者", + admin: "管理者", + write: "开发者", + read: "报告者", +}; const limit = 15; -function CollaboratorGroup({newGroupId,owner , projectsId}){ - const [ list , setList ] = useState(undefined); - const [ isSpin , setIsSpin ] = useState(false); - const [ page , setPage ] = useState(1); - const [ total , setTotal ] = useState(0); +function CollaboratorGroup({ newGroupId, owner, projectsId }) { + const [list, setList] = useState(undefined); + const [isSpin, setIsSpin] = useState(true); + const [page, setPage] = useState(1); + const [total, setTotal] = useState(0); - useEffect(()=>{ + useEffect(() => { getData(); - },[]) + }, []); - function getData(){ + function getData() { const url = `/${owner}/${projectsId}/teams.json`; - axios.get(url,{ - params:{ - page,limit - } - }).then(result=>{ - if(result && result.data){ - setList(result.data.teams); - setTotal(result.data.total_count); - } - }).catch(error=>{}) + axios + .get(url, { + params: { + page, + limit, + }, + }) + .then((result) => { + if (result && result.data) { + setList(result.data.teams); + setTotal(result.data.total_count); + setIsSpin(false); + } + }) + .catch((error) => {}); } - useEffect(()=>{ - if(newGroupId){ + useEffect(() => { + if (newGroupId) { addGroup(newGroupId); } - },[newGroupId]) + }, [newGroupId]); // 添加团队 - function addGroup(id){ + function addGroup(id) { const url = `/${owner}/${projectsId}/teams.json`; - axios.post(url,{ - team_id:id - }).then(result=>{ - if(result && result.data){ - getData(); - } - }).catch(error=>{}) + axios + .post(url, { + team_id: id, + }) + .then((result) => { + if (result && result.data) { + getData(); + } + }) + .catch((error) => {}); } // 删除团队 - function deleteGroup(id){ + function deleteGroup(id) { const url = `/${owner}/${projectsId}/teams/${id}.json`; - axios.delete(url).then(result=>{ - if(result && result.data){ - getData(); - } - }).catch(error=>{}) + axios + .delete(url) + .then((result) => { + if (result && result.data) { + getData(); + } + }) + .catch((error) => {}); } const columns = [ { - title:"团队名", - dataIndex:"name", - render:(value,item)=>{ - return {value} - } - },{ - title:"权限", - dataIndex:"authorize", - width:"20%", - render:(value,item)=>{ - return roles[value] - } - },{ - title:"操作", - dataIndex:"operation", - width:"25%", - render:(value,item)=>{ - return( - item.can_remove && {deleteGroup(item.id)}}> - ) - } - } - ] - return( -
+ title: "团队名", + dataIndex: "name", + render: (value, item) => { + return {value}; + }, + }, + { + title: "权限", + dataIndex: "authorize", + width: "20%", + render: (value, item) => { + return roles[value]; + }, + }, + { + title: "操作", + dataIndex: "operation", + width: "25%", + render: (value, item) => { + return ( + item.can_remove && ( + { + deleteGroup(item.id); + }} + > + + + ) + ); + }, + }, + ]; + return ( +
- { - total > limit ? + {total > limit ? (
- {setPage(page)}}/> + { + setPage(page); + }} + />
- :"" - } + ) : ( + "" + )}
- ) + ); } -export default CollaboratorGroup; \ No newline at end of file +export default CollaboratorGroup; diff --git a/src/forge/Settings/Setting.js b/src/forge/Settings/Setting.js index dda9a9f8..50a8c0af 100644 --- a/src/forge/Settings/Setting.js +++ b/src/forge/Settings/Setting.js @@ -24,7 +24,7 @@ class Setting extends Component { LanguageList: undefined, private_check: undefined, loading:true, - project_units:['home',"activity"] + project_units:['home',"activity","code"] }; } @@ -122,7 +122,7 @@ class Setting extends Component { const { projectsId , owner } = this.props.match.params; const navUrl = `/${owner}/${projectsId}/project_units.json`; - let unit = values.project_units.filter(item => (item !== "home" && item!== "activity")); + let unit = values.project_units.filter(item => (item !== "home" && item!== "activity" && item!== "code")); axios.post(navUrl, { unit_types:unit }).then((result) => { @@ -261,7 +261,7 @@ class Setting extends Component { {item.name} ) })