forgeplus-react/src/forge/Issues/Component/datas.jsx

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;