update style and add claim

This commit is contained in:
caishi 2023-03-02 15:15:58 +08:00
parent 3b25249b24
commit 71bbcb406e
6 changed files with 106 additions and 101 deletions

View File

@ -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>

View File

@ -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>

View File

@ -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>
:

View File

@ -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>

View File

@ -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]}

View File

@ -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;
}