forked from Gitlink/forgeplus-react
update style and add claim
This commit is contained in:
parent
3b25249b24
commit
71bbcb406e
|
@ -32,15 +32,15 @@ function Datas({checkbox ,item , projectsId,owner}){
|
|||
<div className="issuedetail">
|
||||
{checkbox}
|
||||
<div style={{flex:1}}>
|
||||
<div className="idetails mt2">
|
||||
<div className="idetails">
|
||||
<span className={statusTag(item.priority_name)}>{item.priority_name}</span>
|
||||
{/* <img src={issue} alt="" width="16px" className="mr5" /> */}
|
||||
<Link to={`/${owner}/${projectsId}/issues/${item.project_issues_index}`} title={item.subject}>{item.subject}</Link>
|
||||
<Link to={`/${owner}/${projectsId}/issues/${item.project_issues_index}`} style={{maxWidth:`${item.tags ? 735 - item.tags.length*120 : 735}px`}} title={item.subject}>{item.subject}</Link>
|
||||
{
|
||||
item.tags && item.tags.length>0?
|
||||
item.tags.map((i,k)=>{
|
||||
return(
|
||||
<span style={{borderColor: `${i.color}`,color: `${i.color}`}} className="ml12 tagscolor task-hide" title={i.name}>{i.name}</span>
|
||||
<span style={{backgroundColor: `${i.color}`}} className="ml12 tagscolor task-hide" title={i.name}>{i.name}</span>
|
||||
)
|
||||
})
|
||||
:""
|
||||
|
@ -53,11 +53,11 @@ function Datas({checkbox ,item , projectsId,owner}){
|
|||
<Copy value={`/${owner}/${projectsId}/issues/${item.project_issues_index}`}><span className="number">#{item.project_issues_index}</span></Copy>
|
||||
}
|
||||
</div>
|
||||
<Link to={`/${item.author && item.author.login}`}><img src={`${getImageUrl(item.author && item.author.image_url)}`} alt="" /></Link>
|
||||
<Link to={`/${item.author && item.author.login}`}><i className="iconfont icon-chengyuan2 mr3 font-12" style={{color:'#898d9d'}}></i></Link>
|
||||
<span className="mr20"><Link style={{color:"#898d9d"}} to={`/${item.author && item.author.login}`}>{item.author && item.author.name}</Link></span>
|
||||
<span className="mr25">{item.created_at} 发布</span>
|
||||
<span className="mr50">{item.updated_at}更新</span>
|
||||
{item.milestone_name && <span style={{maxWidth:"120px"}} title={item.milestone_name} className="task-hide"><i className="iconfont icon-lichengbeiicon1 font-12 mr3"></i>{item.milestone_name}</span> }
|
||||
{item.milestone_name && <span style={{maxWidth:"310px"}} title={item.milestone_name} className="task-hide"><i className="iconfont icon-lichengbeiicon1 font-12 mr3"></i>{item.milestone_name}</span> }
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -136,7 +136,7 @@ function DropMenu({
|
|||
{
|
||||
colorFlag ?
|
||||
(
|
||||
colorFlag === "1" ?
|
||||
colorFlag === "2" ?
|
||||
<span className={"colorsquare task-hide"} style={{backgroundColor:`${i.color}`}}>{i.name}</span>
|
||||
:
|
||||
<span className={"colorsborder task-hide"} style={{borderColor:`${i.color}`,color:`${i.color}`}}>{i.name}</span>
|
||||
|
|
|
@ -15,6 +15,7 @@ import moment from 'moment';
|
|||
import Copy from '../Component/copy';
|
||||
import axios from 'axios';
|
||||
import CommentList from '../Component/comments/list';
|
||||
import Claims from '../../claims/claims';
|
||||
|
||||
function Details(props){
|
||||
const [ details , setDetails ] = useState(undefined);
|
||||
|
@ -33,14 +34,7 @@ function Details(props){
|
|||
const [ branchList , setBranchList ] = useState(undefined);
|
||||
const [ branch , setBranch ] = useState(undefined);
|
||||
|
||||
const [ charegeId , setCharegeId ] = useState([]);
|
||||
const [ statusId , setStatusId ] = useState([`1`]);
|
||||
const [ prioritiesId , setPrioritiesId ] = useState([`2`]);
|
||||
const [ tagId , setTagId ] = useState([]);
|
||||
const [ millstoneId , setMillstoneId ] = useState([]);
|
||||
const [ branchId , setBranchId ] = useState([]);
|
||||
|
||||
const [ names , setNames ] = useState({author_name:undefined,issue_priorities_name:undefined,issue_tag_name:undefined,milestone_name:undefined,sortby_name:undefined,status_name:undefined,assigner_name:undefined});
|
||||
const [ orderId , setOrderId ] = useState(undefined);
|
||||
|
||||
const [ visible , setVisible ] = useState(false);
|
||||
const [ delVisible , setDelVisible] = useState(false);
|
||||
|
@ -59,7 +53,7 @@ function Details(props){
|
|||
const [ branch_choose , setBranch_choose ] = useState([]);
|
||||
const pathname = props.history.location.pathname;
|
||||
const permission = props && props.projectDetail && props.projectDetail.permission;
|
||||
let colors = ["#1abcb1","#28be6c","#db3d1d","#db3d1d"];
|
||||
let colors = ["#1abcb1","#28be6c","#e67e22","#db3d1d"];
|
||||
|
||||
useEffect(()=>{
|
||||
if(pathname === `/${owner}/${projectsId}/issues/${index}/copy`){
|
||||
|
@ -98,6 +92,7 @@ function Details(props){
|
|||
data.start_date && setStartDate(moment(data.start_date).format('YYYY-MM-DD'));
|
||||
data.due_date && setDueDate(moment(data.due_date).format('YYYY-MM-DD'));
|
||||
|
||||
setOrderId(data.id);
|
||||
const {projectDetail} = props;
|
||||
if(projectDetail){
|
||||
const { author, name} = projectDetail;
|
||||
|
@ -312,6 +307,11 @@ function Details(props){
|
|||
setEdit(false);
|
||||
}
|
||||
}
|
||||
|
||||
function refreshFunc(){
|
||||
// 更新操作日志
|
||||
setCommentReload(Math.random());
|
||||
}
|
||||
return(
|
||||
details ?
|
||||
<Box>
|
||||
|
@ -392,74 +392,64 @@ function Details(props){
|
|||
}
|
||||
</LongWidth>
|
||||
<div className="shortwidth mt25">
|
||||
<DropMenu
|
||||
placeholder="负责人"
|
||||
menus={chargeList}
|
||||
searchFunc={(value)=>{setCharge(value)}}
|
||||
headImg
|
||||
selectValueList={assigner_choose}
|
||||
editFlag={details && !details.user_permission}
|
||||
chooseFunc={(list)=>{setAssigner_choose(list);let l = list && list.length>0 ?list.map(i=>{return i.id || i.name}):[];saveForeach(l);}}
|
||||
double={5}
|
||||
removeFlag
|
||||
/>
|
||||
|
||||
{/* <EditMenus name="负责人" names={names && names.assigner_name} imgFlag onChange={(ids,name)=>{saveForeach(ids);let copyname = { ...names,assigner_name:name};setNames(copyname);setCharegeId(ids);}} list={chargeList} value={charegeId} searchFlag searchFunc={(value)=>{setCharge(value)}} double={5} editFlag={details && !details.user_permission}/> */}
|
||||
{/* <EditMenus name="状态" names={names && names.status_name} onChange={(ids,name)=>{setStatusId(ids);saveForeach(undefined,ids);let copyname = { ...names,status_name:name};setNames(copyname);}} list={statusList} value={statusId} editFlag={details && !details.user_permission}/> */}
|
||||
|
||||
<DropMenu
|
||||
placeholder="状态"
|
||||
menus={statusList}
|
||||
selectValueList={status_choose}
|
||||
mustFlag
|
||||
editFlag={details && !details.user_permission}
|
||||
chooseFunc={(list)=>{setStatus_choose(list);let l = list && list.length>0 ?list.map(i=>{return i.id || i.name}):[];saveForeach(undefined,l);}}
|
||||
/>
|
||||
|
||||
<DropMenu
|
||||
placeholder="优先级"
|
||||
menus={prioritiesList}
|
||||
selectValueList={prioritie_choose}
|
||||
colorFlag="1"
|
||||
mustFlag
|
||||
editFlag={details && !details.user_permission}
|
||||
chooseFunc={(list)=>{setPrioritie_choose(list);let l = list && list.length>0 ?list.map(i=>{return i.id || i.name}):[];saveForeach(undefined,undefined,l);}}
|
||||
/>
|
||||
{/* <EditMenus name="优先级" names={names && names.issue_priorities_name} onChange={(ids,name)=>{setPrioritiesId(ids);saveForeach(undefined,undefined,ids);let copyname = { ...names,issue_priorities_name:name};setNames(copyname);}} list={prioritiesList} value={prioritiesId} editFlag={details && !details.user_permission}/> */}
|
||||
|
||||
<DropMenu
|
||||
placeholder="标记"
|
||||
menus={tagList}
|
||||
searchFunc={(value)=>{setTag(value)}}
|
||||
selectValueList={tag_choose}
|
||||
chooseFunc={(list)=>{setTag_choose(list);let l = list && list.length>0 ?list.map(i=>{return i.id || i.name}):[];saveForeach(undefined,undefined,undefined,l);}}
|
||||
double={3}
|
||||
colorFlag="2"
|
||||
editFlag={details && !details.user_permission}
|
||||
onAdd={permission && permission !== "Reporter" ? ()=>setVisible(true) :false}
|
||||
/>
|
||||
{/* <EditMenus name="标记" names={names && names.issue_tag_name} onChange={(ids,name)=>{setTagId(ids);saveForeach(undefined,undefined,undefined,ids);let copyname = { ...names,issue_tag_name:name};setNames(copyname);}} list={tagList} value={tagId} onAdd={()=>setVisible(true)} searchFlag double={3} searchFunc={(value)=>setTag(value)} editFlag={details && !details.user_permission}/> */}
|
||||
{/* <EditMenus name="里程碑" names={names && names.milestone_name} emptyName="未关联" onChange={(ids,name)=>{setMillstoneId(ids);saveForeach(undefined,undefined,undefined,undefined,ids);let copyname = { ...names,milestone_name:name};setNames(copyname);}} value={millstoneId} list={millstoneList} searchFlag searchFunc={(value)=>setMillstone(value)} editFlag={details && !details.user_permission}/> */}
|
||||
|
||||
<DropMenu
|
||||
placeholder="里程碑"
|
||||
menus={millstoneList}
|
||||
searchFunc={(value)=>{setMillstone(value)}}
|
||||
selectValueList={millstone_choose}
|
||||
editFlag={details && !details.user_permission}
|
||||
chooseFunc={(list)=>{setMillstone_choose(list);let l = list && list.length>0 ?list.map(i=>{return i.id || i.name}):[];saveForeach(undefined,undefined,undefined,undefined,l);}}
|
||||
/>
|
||||
<DropMenu
|
||||
placeholder="关联分支"
|
||||
menus={branchList}
|
||||
searchFunc={(value)=>{setBranch(value)}}
|
||||
selectValueList={branch_choose}
|
||||
editFlag={details && !details.user_permission}
|
||||
chooseFunc={(list)=>{setBranch_choose(list);let l = list && list.length>0 ?list.map(i=>{return i.id || i.name}):[];saveForeach(undefined,undefined,undefined,undefined,undefined,l);}}
|
||||
/>
|
||||
{/* <EditMenus name="关联分支" names={branchId} emptyName="未关联" onChange={(ids)=>{setBranchId(ids);saveForeach(undefined,undefined,undefined,undefined,undefined,ids);}} value={branchId} list={branchList} searchFlag searchFunc={(value)=>setBranch(value)} editFlag={details && !details.user_permission}/> */}
|
||||
<Date name="开始日期" today={start_date} setDate={(date)=>{setStartDate(date);saveForeach(undefined,undefined,undefined,undefined,undefined,undefined,date)}} editFlag={details && !details.user_permission}/>
|
||||
<Date name="结束日期" today={due_date} setDate={(date)=>{setDueDate(date);saveForeach(undefined,undefined,undefined,undefined,undefined,undefined,undefined,date)}} editFlag={details && !details.user_permission}/>
|
||||
{orderId && <div className="claimpart"><Claims issue_id={orderId} {...props} refreshFunc={refreshFunc}/></div>}
|
||||
<DropMenu
|
||||
placeholder="负责人"
|
||||
menus={chargeList}
|
||||
searchFunc={(value)=>{setCharge(value)}}
|
||||
headImg
|
||||
selectValueList={assigner_choose}
|
||||
editFlag={details && !details.user_permission}
|
||||
chooseFunc={(list)=>{setAssigner_choose(list);let l = list && list.length>0 ?list.map(i=>{return i.id || i.name}):[];saveForeach(l);}}
|
||||
double={5}
|
||||
removeFlag
|
||||
/>
|
||||
<DropMenu
|
||||
placeholder="状态"
|
||||
menus={statusList}
|
||||
selectValueList={status_choose}
|
||||
mustFlag
|
||||
editFlag={details && !details.user_permission}
|
||||
chooseFunc={(list)=>{setStatus_choose(list);let l = list && list.length>0 ?list.map(i=>{return i.id || i.name}):[];saveForeach(undefined,l);}}
|
||||
/>
|
||||
<DropMenu
|
||||
placeholder="优先级"
|
||||
menus={prioritiesList}
|
||||
selectValueList={prioritie_choose}
|
||||
colorFlag="1"
|
||||
mustFlag
|
||||
editFlag={details && !details.user_permission}
|
||||
chooseFunc={(list)=>{setPrioritie_choose(list);let l = list && list.length>0 ?list.map(i=>{return i.id || i.name}):[];saveForeach(undefined,undefined,l);}}
|
||||
/>
|
||||
<DropMenu
|
||||
placeholder="标记"
|
||||
menus={tagList}
|
||||
searchFunc={(value)=>{setTag(value)}}
|
||||
selectValueList={tag_choose}
|
||||
chooseFunc={(list)=>{setTag_choose(list);let l = list && list.length>0 ?list.map(i=>{return i.id || i.name}):[];saveForeach(undefined,undefined,undefined,l);}}
|
||||
double={3}
|
||||
colorFlag="2"
|
||||
editFlag={details && !details.user_permission}
|
||||
onAdd={permission && permission !== "Reporter" ? ()=>setVisible(true) :false}
|
||||
/>
|
||||
<DropMenu
|
||||
placeholder="里程碑"
|
||||
menus={millstoneList}
|
||||
searchFunc={(value)=>{setMillstone(value)}}
|
||||
selectValueList={millstone_choose}
|
||||
editFlag={details && !details.user_permission}
|
||||
chooseFunc={(list)=>{setMillstone_choose(list);let l = list && list.length>0 ?list.map(i=>{return i.id || i.name}):[];saveForeach(undefined,undefined,undefined,undefined,l);}}
|
||||
/>
|
||||
<DropMenu
|
||||
placeholder="关联分支"
|
||||
menus={branchList}
|
||||
searchFunc={(value)=>{setBranch(value)}}
|
||||
selectValueList={branch_choose}
|
||||
editFlag={details && !details.user_permission}
|
||||
chooseFunc={(list)=>{setBranch_choose(list);let l = list && list.length>0 ?list.map(i=>{return i.id || i.name}):[];saveForeach(undefined,undefined,undefined,undefined,undefined,l);}}
|
||||
/>
|
||||
<Date name="开始日期" today={start_date} setDate={(date)=>{setStartDate(date);saveForeach(undefined,undefined,undefined,undefined,undefined,undefined,date)}} editFlag={details && !details.user_permission}/>
|
||||
<Date name="结束日期" today={due_date} setDate={(date)=>{setDueDate(date);saveForeach(undefined,undefined,undefined,undefined,undefined,undefined,undefined,date)}} editFlag={details && !details.user_permission}/>
|
||||
</div>
|
||||
</Box>
|
||||
:
|
||||
|
|
|
@ -12,7 +12,7 @@ import axios from 'axios';
|
|||
import cookie from 'react-cookies';
|
||||
import emp from '../Img/emp.png';
|
||||
const { Search } = Input;
|
||||
const defaultLimit = 10;
|
||||
const defaultLimit = 15;
|
||||
|
||||
function List(props){
|
||||
const [ visible , setVisible ] = useState(false);
|
||||
|
@ -34,7 +34,7 @@ function List(props){
|
|||
const [ updateIds , setUpdateIds ] = useState(undefined);
|
||||
|
||||
const [ page , setPage ] = useState(1);
|
||||
const [ limit , setLimit ] = useState(10);
|
||||
const [ limit , setLimit ] = useState(15);
|
||||
const [ total , setTotal ] = useState(undefined);
|
||||
const [ issueTotal , setIssueTotal ] = useState(0);
|
||||
|
||||
|
@ -61,10 +61,10 @@ function List(props){
|
|||
setAboutMe(states.participant_category);
|
||||
setCategory(states.category);
|
||||
setPage(states.page);
|
||||
setLimit(states.limit || 10);
|
||||
setLimit(states.limit || defaultLimit);
|
||||
setUpdateIds({...states});
|
||||
setNames(states.names);
|
||||
if(states.participant_category ==="all" && states.category === "opened" && states.page === 1 && states.limit===10)
|
||||
if(states.participant_category ==="all" && states.category === "opened" && states.page === 1 && states.limit===defaultLimit)
|
||||
Init({...states},states.page,states.names);
|
||||
}else{
|
||||
Init();
|
||||
|
@ -404,7 +404,7 @@ function List(props){
|
|||
</div>
|
||||
</Checkbox.Group>
|
||||
{
|
||||
total > 10 &&
|
||||
total > defaultLimit &&
|
||||
<div className="pt25 pb30" style={{textAlign:"right"}}>
|
||||
<Pagination total={total} onShowSizeChange={chageLimit} current={page} pageSize={limit} onChange={changepage} showSizeChanger showQuickJumper />
|
||||
</div>
|
||||
|
|
|
@ -88,7 +88,7 @@ function New(props){
|
|||
if(result && result.data){
|
||||
let priorities = result.data.priorities;
|
||||
let array =[];
|
||||
let colors = ["#1abcb1","#28be6c","#db3d1d","#db3d1d"];
|
||||
let colors = ["#1abcb1","#28be6c","#e67e22","#db3d1d"];
|
||||
if(priorities && priorities.length>0){
|
||||
array = priorities.map((i,k)=>{
|
||||
let arr = {...i,color:colors[k]}
|
||||
|
|
|
@ -226,11 +226,11 @@
|
|||
padding:0px 6px;
|
||||
border-radius: 3px;
|
||||
height: 20px;
|
||||
line-height: 18px;
|
||||
line-height: 20px;
|
||||
max-width: 108px;
|
||||
border:1px solid ;
|
||||
font-size: 13px;
|
||||
cursor: default;
|
||||
color: #fff;
|
||||
}
|
||||
}
|
||||
.infos{
|
||||
|
@ -293,24 +293,28 @@
|
|||
.status{
|
||||
display: block;
|
||||
height:22px;
|
||||
border-radius:6px;
|
||||
border-radius:3px;
|
||||
text-align: center;
|
||||
margin-right: 10px;
|
||||
line-height: 22px;
|
||||
color: #fff;
|
||||
line-height: 20px;
|
||||
width: 45px;
|
||||
font-size: 15px;
|
||||
border:1px solid #fff;
|
||||
&.normals{
|
||||
background-color:#28be6c;
|
||||
border-color:#28be6c;
|
||||
color:#28be6c;
|
||||
}
|
||||
&.hight{
|
||||
background-color: #db3d1d;
|
||||
border-color: #e67e22;
|
||||
color: #e67e22;
|
||||
}
|
||||
&.urgent{
|
||||
background-color: #db3d1d;
|
||||
border-color: #db3d1d;
|
||||
color: #db3d1d;
|
||||
}
|
||||
&.low{
|
||||
background-color: #1abcb1;
|
||||
border-color: #1abcb1;
|
||||
color: #1abcb1;
|
||||
}
|
||||
}
|
||||
.ilog{
|
||||
|
@ -449,13 +453,14 @@
|
|||
a{
|
||||
position: absolute;
|
||||
right: 0px;
|
||||
bottom: -12px;
|
||||
}
|
||||
}
|
||||
.operatevalue{
|
||||
line-height: 30px;
|
||||
color: #acb0bf;
|
||||
margin-top: 10px;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
.colorsborder{
|
||||
padding: 0px 8px;
|
||||
height: 20px;
|
||||
|
@ -478,12 +483,15 @@
|
|||
margin-top: 8px!important;
|
||||
height: 20px;
|
||||
line-height: 20px;
|
||||
position: relative;
|
||||
margin-right: 15px;
|
||||
&.removeFlag>span{
|
||||
width: 230px;
|
||||
margin-right: 8px;
|
||||
max-width: 230px;
|
||||
}
|
||||
.removeicon{
|
||||
display: none;
|
||||
position: absolute;
|
||||
right: -13px;
|
||||
}
|
||||
}
|
||||
.removeFlag:hover{
|
||||
|
@ -714,4 +722,11 @@
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 声明
|
||||
.claimpart{
|
||||
padding-bottom: 10px;
|
||||
border-bottom: 1px solid #eee;
|
||||
margin-bottom: 20px;
|
||||
}
|
Loading…
Reference in New Issue