79 lines
3.1 KiB
JavaScript
79 lines
3.1 KiB
JavaScript
import React from 'react';
|
|
import { Tooltip } from 'antd';
|
|
import { getImageUrl } from 'educoder';
|
|
import issue from '../Img/issue.png';
|
|
import { Link } from "react-router-dom";
|
|
import Copy from '../Component/copy';
|
|
|
|
|
|
// issue列表显示
|
|
function Datas({checkbox ,item , projectsId,owner}){
|
|
|
|
function statusTag(name){
|
|
switch (name) {
|
|
case "低":
|
|
return "status low";
|
|
case "正常":
|
|
return "status normal";
|
|
case "高":
|
|
return "status hight";
|
|
default:
|
|
return "status urgent";
|
|
}
|
|
}
|
|
|
|
return(
|
|
<div>
|
|
<div className="issuedetail">
|
|
{checkbox}
|
|
<div className="ilog">
|
|
<span className={statusTag(item.priority_name)}>{item.priority_name}</span>
|
|
{ item.project_issues_index &&
|
|
<Copy value={`/${owner}/${projectsId}/issues/${item.project_issues_index}`}><span className="number">#{item.project_issues_index}</span></Copy>
|
|
}
|
|
</div>
|
|
<div style={{marginTop:"-2px"}}>
|
|
<div className="idetails mt2">
|
|
<img src={issue} alt="" width="16px" className="mr5" />
|
|
<Link to={`/${owner}/${projectsId}/issues/${item.project_issues_index}`}>{item.subject}</Link>
|
|
{
|
|
item.tags && item.tags.length>0?
|
|
item.tags.map((i,k)=>{
|
|
return(
|
|
<span style={{color: i.color}} className="ml8"><i className="iconfont icon-biaoji font-12"></i>{i.name}</span>
|
|
)
|
|
})
|
|
:""
|
|
}
|
|
</div>
|
|
<div className="infos">
|
|
<Link to={`/${item.author && item.author.login}`}><img src={`${getImageUrl(item.author && item.author.image_url)}`} alt="" /></Link>
|
|
<span className="mr20"><Link 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> }
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div className="issuecondition">
|
|
{
|
|
item.assigners && item.assigners.length > 0 ?
|
|
<div className={item.assigners.length > 1 ?"principal hovers":"principal"}>
|
|
{
|
|
item.assigners.map((i,k)=>{
|
|
return(
|
|
k<5 && <Link to={`/${i.login}`} style={{right:`${(item.assigners.length-k-1)*(20-7)}px`,zIndex:k+1}}><img src={getImageUrl(i.image_url)} alt="" /></Link>
|
|
)
|
|
})
|
|
}
|
|
{/* <span>...</span> */}
|
|
</div>
|
|
:""
|
|
}
|
|
<div>{item.status_name}</div>
|
|
<div className="commentnum"><i className="iconfont icon-a-xiaoxi1 mr5 font-15"></i>{item.comment_journals_count}</div>
|
|
</div>
|
|
</div>
|
|
)
|
|
}
|
|
export default Datas; |