forked from Gitlink/forgeplus-react
Merge pull request 'issue修改-merge 解决冲突' (#302) from caishi/forgeplus-react:gitlink_server into gitlink_server
This commit is contained in:
commit
82ac32d84f
|
@ -66,9 +66,10 @@ function AddMember({getID,login,showNotification}){
|
||||||
};
|
};
|
||||||
|
|
||||||
function addCollaborator(){
|
function addCollaborator(){
|
||||||
if(source && source.length>0){
|
if(source && source.length>0&&searchKey){
|
||||||
getID && getID(id);
|
getID && getID(id);
|
||||||
setSearchKey(undefined);
|
setSearchKey(undefined);
|
||||||
|
setID(undefined)
|
||||||
}else{
|
}else{
|
||||||
showNotification("请选择存在的用户!");
|
showNotification("请选择存在的用户!");
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,6 +17,7 @@ function AddProjectModal(props){
|
||||||
|
|
||||||
function onOk() {
|
function onOk() {
|
||||||
validateFields((error,values)=>{
|
validateFields((error,values)=>{
|
||||||
|
console.log(error)
|
||||||
if(!error){
|
if(!error){
|
||||||
const url = `/applied_projects.json`;
|
const url = `/applied_projects.json`;
|
||||||
Axios.post(url,{
|
Axios.post(url,{
|
||||||
|
@ -40,6 +41,7 @@ function AddProjectModal(props){
|
||||||
callback("请输入6位数的邀请码");
|
callback("请输入6位数的邀请码");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
callback();
|
||||||
}
|
}
|
||||||
|
|
||||||
return(
|
return(
|
||||||
|
|
|
@ -414,7 +414,7 @@ class merge extends Component {
|
||||||
) : (
|
) : (
|
||||||
""
|
""
|
||||||
)}
|
)}
|
||||||
{ data && data.issues && data.issues.length === 0 ? <NoneData _html="暂时还没有相关数据!" projectsId={projectsId} owner={owner} /> :""}
|
{ data && data.issues && data.issues.length === 0 ? <NoneData _html="暂时还没有相关数据!" user_admin_or_developer={data.user_admin_or_developer} projectsId={projectsId} owner={owner} /> :""}
|
||||||
</Spin>
|
</Spin>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -2,7 +2,7 @@ import React , { Component } from 'react';
|
||||||
import { Link } from "react-router-dom";
|
import { Link } from "react-router-dom";
|
||||||
class Nodata extends Component{
|
class Nodata extends Component{
|
||||||
render(){
|
render(){
|
||||||
const { _html, projectsId , owner , user_admin_or_member} = this.props;
|
const { _html, projectsId , owner , user_admin_or_developer} = this.props;
|
||||||
return(
|
return(
|
||||||
<div className="none_panels">
|
<div className="none_panels">
|
||||||
<div>
|
<div>
|
||||||
|
@ -12,7 +12,7 @@ class Nodata extends Component{
|
||||||
<h3>欢迎使用合并请求!</h3>
|
<h3>欢迎使用合并请求!</h3>
|
||||||
|
|
||||||
<div className="color-grey-8">
|
<div className="color-grey-8">
|
||||||
合并请求可以帮助您与他人协作编写代码。{ user_admin_or_member && <span>在使用之前,请先创建一个 <Link className="color-blue" to={`/${owner}/${projectsId}/compare/master...master`}>合并请求</Link></span> }
|
合并请求可以帮助您与他人协作编写代码。{ user_admin_or_developer && <span>在使用之前,请先创建一个 <Link className="color-blue" to={`/${owner}/${projectsId}/compare/master...master`}>合并请求</Link></span> }
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -49,7 +49,7 @@ class OrderItem extends Component {
|
||||||
return (
|
return (
|
||||||
item &&
|
item &&
|
||||||
<div className="issueItem">
|
<div className="issueItem">
|
||||||
{(current_user && current_user.login) && user_admin_or_member && checkbox}
|
{(current_user && current_user.login) && checkbox}
|
||||||
<div className="flex-1">
|
<div className="flex-1">
|
||||||
<p className="mb10 df" style={{alignItems:"center"}}>
|
<p className="mb10 df" style={{alignItems:"center"}}>
|
||||||
<Link to={`/${owner}/${projectsId}/issues/${item.id}`} title={item.name} className="hide-1 font-16 color-grey-3 lineh-30 mr10" style={{maxWidth:"370px"}}>{item.name}</Link>
|
<Link to={`/${owner}/${projectsId}/issues/${item.id}`} title={item.name} className="hide-1 font-16 color-grey-3 lineh-30 mr10" style={{maxWidth:"370px"}}>{item.name}</Link>
|
||||||
|
|
|
@ -578,7 +578,7 @@ class order extends Component {
|
||||||
<div className="f-wrap-between screenWrap">
|
<div className="f-wrap-between screenWrap">
|
||||||
<div className="df">
|
<div className="df">
|
||||||
{
|
{
|
||||||
((current_user && current_user.login) && (data && data.user_admin_or_member)) ?
|
((current_user && current_user.login) && (data && data.user_operate_issue)) ?
|
||||||
<Checkbox value="0" style={{ lineHeight: "50px", marginRight: "15px" }} checked={all} onChange={this.changeAll}></Checkbox>
|
<Checkbox value="0" style={{ lineHeight: "50px", marginRight: "15px" }} checked={all} onChange={this.changeAll}></Checkbox>
|
||||||
: ""
|
: ""
|
||||||
}
|
}
|
||||||
|
@ -823,14 +823,14 @@ class order extends Component {
|
||||||
<OrderItem
|
<OrderItem
|
||||||
key={key}
|
key={key}
|
||||||
item={item}
|
item={item}
|
||||||
checkbox={current_user &&(data && data.user_admin_or_member) ? <Checkbox value={item.id} key={item.id} style={{ margin: '4px 15px 0px 0px' }}></Checkbox> : ""}
|
checkbox={current_user &&(data && data.user_operate_issue) ? <Checkbox value={item.id} key={item.id} style={{ margin: '4px 15px 0px 0px' }}></Checkbox> : ""}
|
||||||
search_count={search_count}
|
search_count={search_count}
|
||||||
page={select_params.page}
|
page={select_params.page}
|
||||||
limit={select_params.limit}
|
limit={select_params.limit}
|
||||||
{...this.props}
|
{...this.props}
|
||||||
{...this.state}
|
{...this.state}
|
||||||
deletedetail={this.deletedetail}
|
deletedetail={this.deletedetail}
|
||||||
user_admin_or_member={data && data.user_admin_or_member}
|
user_admin_or_member={data && data.user_operate_issue}
|
||||||
></OrderItem>
|
></OrderItem>
|
||||||
)
|
)
|
||||||
})}
|
})}
|
||||||
|
|
|
@ -8,15 +8,16 @@ import Group from './CollaboratorGroup';
|
||||||
function Collaborator(props){
|
function Collaborator(props){
|
||||||
const [ nav , setNav] = useState("1");
|
const [ nav , setNav] = useState("1");
|
||||||
const [ newId , setNewId] = useState(undefined);
|
const [ newId , setNewId] = useState(undefined);
|
||||||
|
const [ newIdFlag , setNewIdFlag ] = useState(false);
|
||||||
const [ addOperation , setAddOperation] = useState(true);
|
const [ addOperation , setAddOperation] = useState(true);
|
||||||
const [ newGroupId , setNewGroupId] = useState(undefined);
|
const [ newGroupId , setNewGroupId] = useState(undefined);
|
||||||
const {projectsId ,owner} = props.match.params;
|
const {projectsId ,owner} = props.match.params;
|
||||||
|
|
||||||
|
|
||||||
const author = props && props.projectDetail && props.projectDetail.author;
|
const author = props && props.projectDetail && props.projectDetail.author;
|
||||||
|
|
||||||
function getID(id){
|
function getID(id){
|
||||||
setNewId(id);
|
setNewId(id);
|
||||||
|
setNewIdFlag(!newIdFlag);
|
||||||
}
|
}
|
||||||
function getGroupID(id){
|
function getGroupID(id){
|
||||||
setNewGroupId(id);
|
setNewGroupId(id);
|
||||||
|
@ -47,7 +48,7 @@ function Collaborator(props){
|
||||||
<div>
|
<div>
|
||||||
{
|
{
|
||||||
nav === "1" ?
|
nav === "1" ?
|
||||||
<Member newId={newId} projectsId={projectsId} owner={owner} project_id={props.project_id} author={props.projectDetail && props.projectDetail.author} showNotification={props.showNotification}/>
|
<Member newId={newId} flag={newIdFlag} projectsId={projectsId} owner={owner} project_id={props.project_id} author={props.projectDetail && props.projectDetail.author} showNotification={props.showNotification}/>
|
||||||
:
|
:
|
||||||
<Group setAddOperation={setAddOperation} owner={owner} projectsId={projectsId} newGroupId={newGroupId}/>
|
<Group setAddOperation={setAddOperation} owner={owner} projectsId={projectsId} newGroupId={newGroupId}/>
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import React, { useEffect, useState } from 'react';
|
import React, { useEffect, useState , useImperativeHandle , forwardRef } from 'react';
|
||||||
import { Dropdown, Menu, Icon , Input , Spin , Table , Tooltip , Pagination , Popconfirm } from "antd";
|
import { Dropdown, Menu, Icon , Input , Spin , Table , Tooltip , Pagination , Popconfirm } from "antd";
|
||||||
import axios from 'axios';
|
import axios from 'axios';
|
||||||
import NoneData from "../Nodata";
|
import NoneData from "../Nodata";
|
||||||
|
@ -12,7 +12,7 @@ const MENU_LIST = [
|
||||||
{id: "Developer",name: "开发者"},
|
{id: "Developer",name: "开发者"},
|
||||||
{id: "Reporter",name: "报告者"}
|
{id: "Reporter",name: "报告者"}
|
||||||
];
|
];
|
||||||
function CollaboratorMember({projectsId,owner,project_id,author,showNotification,newId}){
|
function CollaboratorMember({projectsId,owner,project_id,author,showNotification,newId,flag}){
|
||||||
const [ roleName , setRoleName ] = useState(undefined);
|
const [ roleName , setRoleName ] = useState(undefined);
|
||||||
const [ search , setSearch ] = useState(undefined);
|
const [ search , setSearch ] = useState(undefined);
|
||||||
const [ page , setPage ] = useState(1);
|
const [ page , setPage ] = useState(1);
|
||||||
|
@ -20,11 +20,12 @@ function CollaboratorMember({projectsId,owner,project_id,author,showNotification
|
||||||
const [ role , setRole ] = useState(undefined);
|
const [ role , setRole ] = useState(undefined);
|
||||||
const [ listData , setListData ] = useState(undefined);
|
const [ listData , setListData ] = useState(undefined);
|
||||||
const [ total , setTotal ] = useState(0);
|
const [ total , setTotal ] = useState(0);
|
||||||
|
|
||||||
useEffect(()=>{
|
useEffect(()=>{
|
||||||
if(newId){
|
if(newId){
|
||||||
addCollaborator(newId);
|
addCollaborator(newId);
|
||||||
}
|
}
|
||||||
},[newId])
|
},[flag])
|
||||||
// 增加协作者
|
// 增加协作者
|
||||||
function addCollaborator(id){
|
function addCollaborator(id){
|
||||||
if(id){
|
if(id){
|
||||||
|
@ -276,4 +277,4 @@ function CollaboratorMember({projectsId,owner,project_id,author,showNotification
|
||||||
</React.Fragment>
|
</React.Fragment>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
export default CollaboratorMember;
|
export default forwardRef(CollaboratorMember);
|
|
@ -310,7 +310,7 @@ class NewTags extends Component {
|
||||||
const columns = [
|
const columns = [
|
||||||
{
|
{
|
||||||
title: "颜色代码",
|
title: "颜色代码",
|
||||||
width: "20%",
|
width: "25%",
|
||||||
dataIndex: "color",
|
dataIndex: "color",
|
||||||
render: (text, item) => (
|
render: (text, item) => (
|
||||||
<span className="grid-item">
|
<span className="grid-item">
|
||||||
|
@ -507,8 +507,8 @@ class NewTags extends Component {
|
||||||
>
|
>
|
||||||
<div className="dialogdiv">
|
<div className="dialogdiv">
|
||||||
<Input
|
<Input
|
||||||
placeholder="名称,10字以内"
|
placeholder="名称,15字以内"
|
||||||
maxLength="10"
|
maxLength={15}
|
||||||
className="inptwidth"
|
className="inptwidth"
|
||||||
value={this.state.name}
|
value={this.state.name}
|
||||||
onChange={this.changmodelname}
|
onChange={this.changmodelname}
|
||||||
|
|
|
@ -9,7 +9,7 @@ function ConcentrateBox({ visible , onCancel , onSure , username , choosed , his
|
||||||
const [ page , setPage ]= useState(1);
|
const [ page , setPage ]= useState(1);
|
||||||
const [ total , setTotal ]= useState(0);
|
const [ total , setTotal ]= useState(0);
|
||||||
const [ pageSize , setPageSize ] = useState(false);
|
const [ pageSize , setPageSize ] = useState(false);
|
||||||
const [ search , setSearch ] = useState(undefined);
|
const [ search , setSearch ] = useState("");
|
||||||
|
|
||||||
const [ list , setList ]= useState([]);
|
const [ list , setList ]= useState([]);
|
||||||
const [ value , setValue ]= useState([]);
|
const [ value , setValue ]= useState([]);
|
||||||
|
@ -24,7 +24,7 @@ function ConcentrateBox({ visible , onCancel , onSure , username , choosed , his
|
||||||
setIsSpin(true);
|
setIsSpin(true);
|
||||||
getProjectList();
|
getProjectList();
|
||||||
}else{
|
}else{
|
||||||
setSearch(undefined);
|
setSearch("");
|
||||||
setCopyAllList([]);
|
setCopyAllList([]);
|
||||||
setCopyList([]);
|
setCopyList([]);
|
||||||
setList([]);
|
setList([]);
|
||||||
|
|
Loading…
Reference in New Issue