import React , {Component} from 'react'; import {Link} from 'react-router-dom'; import axios from 'axios'; import Nav from '../Order/Nav'; import UploadComponent from '../Upload/Index'; import{ Modal,Col,Form,Input,Tooltip,Popconfirm } from 'antd' import NoneData from '../../modules/courses/coursesPublic/NoneData'; const TextArea = Input.TextArea; class MergeDetail extends Component{ constructor(props){ super(props); this.state={ data:undefined, isShow:false, imgsrc:'', journalsdata:undefined, //图片区域是否显示 none 隐藏 block 显示 display:'none', titledisplay:'none', countvalue:'', //是否需要编辑 isedit:'block', showFiles: true } } componentDidMount=()=>{ this.getDetail(); } getDetail=()=>{ const { projectsId , mergeid} = this.props.match.params; const url = `/projects/${projectsId}/pull_requests/${mergeid}.json`; axios.get(url).then((result)=>{ if(result){ this.setState({ data:result.data, }) this.getjournalslist(); } }).catch((error)=>{ console.log(error); }) } handleok=() => { this.setState({ isShow:false }); }; handleCancel=()=>{ this.setState({ isShow:false }); } imgshow=()=>{ this.setState({ isShow:true }); }; //添加评论 addjournals=()=>{ this.props.form.validateFieldsAndScroll((err, values) => { if(!err){ const { data } = this.state; const url = `/issues/${data.pull_request.id}/journals.json`; axios.post(url,{ ...values, issue_id:data.id, }).then(result=>{ if(result){ this.setState({ showFiles: false }) this.getjournalslist(); } }).catch(error=>{ console.log(error); }) } }) } //获取评论信息 getjournalslist=()=>{ const { data } = this.state; const url = `/issues/${data.pull_request.id}/journals.json`; let id=data.id; axios.get(url,{ params:{ id } }).then(result=>{ if(result){ this.setState({ journalsdata:result.data }) } }).catch(error=>{ console.log(error); }) } //关闭工单 closedetail=(id)=>{ const {projectsId,orderId} = this.props.match.params; const url = `/projects/${projectsId}/issues/${orderId}/close_issue.json`; axios.post(url,{ project_id:projectsId, id:orderId, status_id:id, }).then(result=>{ if(result){ this.getDetail(); } }).catch(error=>{ console.log(error); }) } //修改评论 updatedetail=(id)=>{ const {mergeid} = this.props.match.params; const url = `/issues/${mergeid}/journals/${id}.json`; axios.put(url,{ issue_id:mergeid, id:id, content:this.state.countvalue }).then(result=>{ if(result){ this.setState({ isedit:'block' }) this.getjournalslist(); } }).catch(error=>{ console.log(error); }) } changmodelname=(e)=>{ this.setState({ countvalue:e.target.value }) } editdetail=(count,status)=>{ this.setState({ countvalue:count, isedit:status }) } // 判断是否重新上传文件 changeIsComplete=(flag)=>{ this.setState({ showFiles:flag }) } render(){ const { projectsId,mergeid} = this.props.match.params; const { data,journalsdata, showFiles } = this.state; const { getFieldDecorator } = this.props.form; const url = this.props.history.location.pathname; const renderList =()=>{ if(journalsdata && journalsdata.issue_journals && journalsdata.issue_journals.length>0 ){ return(
{item.user_name}
{item.content}
{ data && data.issue.subject}
{ data && data.issue.description}
评论 this.closedetail(data&&data.issue_status==="关闭"?2:5)}>{data&&data.issue_status==="关闭"?"开启":"关闭"}
当前状态 {data && data.issue.issue_status}
优先级 {data && data.issue.priority}
指派给 {data && data.issue.assign_user_name}
里程碑 {data&&data.issue.version===null?"未添加里程碑":data&&data.issue.version.length===0?data.issue.version:'未添加里程碑'}