From 2cc888a9722306bb23e9436d5cc495873cc710f4 Mon Sep 17 00:00:00 2001 From: qyzh Date: Tue, 1 Dec 2020 14:52:23 +0800 Subject: [PATCH] fix bugs --- src/forge/Version/UpdateVersion.js | 191 ++++++++++++++++++++++++ src/forge/sponsor/sponsor_tier_item.js | 10 +- src/forge/users/sponsor/sponsor_list.js | 2 +- 3 files changed, 198 insertions(+), 5 deletions(-) create mode 100644 src/forge/Version/UpdateVersion.js diff --git a/src/forge/Version/UpdateVersion.js b/src/forge/Version/UpdateVersion.js new file mode 100644 index 000000000..d9eebeddd --- /dev/null +++ b/src/forge/Version/UpdateVersion.js @@ -0,0 +1,191 @@ +import React , { Component } from "react"; +import { Form , Input , Select,Divider,Button,Checkbox,Dropdown,Menu} from 'antd'; +import {Link} from 'react-router-dom'; + +import UploadComponent from '../Upload/Index'; +import '../Order/order.css'; +import './version.css'; + +import axios from 'axios'; + +const Option = Select.Option; +const TextArea = Input.TextArea; +class NewVersion extends Component{ + constructor(props){ + super(props); + this.state={ + branch_name:"", + issue_tag_ids:"", + fixed_version_id:"", + issue_chosen:undefined, + fileList:undefined, + ischeck:undefined, + pull:undefined, + tag_name:'', + data:undefined + } + } + + componentDidMount=()=>{ + this.getSelectList(); + } + + getSelectList=()=>{ + const { projectsId,versionId} = this.props.match.params; + const url = `/projects/${projectsId}/version_releases/${versionId}/edit.json`; + axios.get(url).then((result)=>{ + if(result){ + this.setState({ + data:result.data, + pull:result.data.target_commitish + }) + } + }).catch((error)=>{ + console.log(error); + }) + } + + + //delete + deleteversion=()=>{ + const { projectsId , versionId} = this.props.match.params; + const url = `/projects/${projectsId}/version_releases/${versionId}.json`; + axios.delete(url,{ data: { + project_id: projectsId, + id:versionId + } + }).then((result)=>{ + if(result){ + this.props.history.push(`/projects/${projectsId}/version`); + + } + }).catch((error)=>{ + console.log(error); + }) + } + + // 创建 + handleSubmit=()=>{ + this.props.form.validateFieldsAndScroll((err, values) => { + if(!err){ + const { projectsId,versionId} = this.props.match.params; + const { pull,ischeck } = this.state; + const url = `/projects/${projectsId}/version_releases/${versionId}.json`; + // if(values.issue_type==="普通"){ + // values.issue_type="1" + // } + axios.put(url,{ + ...values, + tag_name:this.state.data&&this.state.data.tag_name, + draft:false, + prerelease:ischeck, + target_commitish:pull + }).then(result=>{ + if(result){ + this.props.history.push(`/projects/${projectsId}/version`); + } + }).catch(error=>{ + console.log(error); + }) + + } + }) + } + + RedieonChange=(e)=>{ + this.setState({ + ischeck:e.target.checked + }) + } + Preservation=()=>{ + alert(this.state.data.tag_name) + } + + renderMenu =(array,id)=>{ + return( + + { + array && array.length > 0 && array.map((item,key)=>{ + return( + this.getOption(item)}>{item} + ) + }) + } + + ) + } + + getOption=(name)=>{ + this.setState({ + pull:name + }) + + } + + changmodelname=(e)=>{ + this.setState({ + tag_name:e.target.value + }) + } + + render(){ + const { getFieldDecorator } = this.props.form; + const { projectsId } = this.props.match.params; + return( +
+
+

发布新版

+
版本发布组织项目的版本。
+ +
+ {this.state.data&&this.state.data.tag_name}@{this.state.data&&this.state.data.target_commitish} +
+
+
+

标题

+
+ + {getFieldDecorator('name', { + rules: [{ + required: true, message: '请输入标题' + }], + initialValue:this.state.data&&this.state.data.name + + })( + + )} + +
+

内容

+ + {getFieldDecorator('body', { + rules: [{ + required: true, message: '请输入描述内容' + }], + initialValue:this.state.data&&this.state.data.body + })( +