Merge pull request 'issue上线' (#57) from caishi/forgeplus-react:pre_develop_dev into pre_develop_dev
This commit is contained in:
commit
baf9a3f4a8
|
@ -256,11 +256,11 @@ class Index extends Component {
|
||||||
newItem = ()=>{
|
newItem = ()=>{
|
||||||
return(
|
return(
|
||||||
<Menu>
|
<Menu>
|
||||||
<Menu.Item key="created_mirror">
|
|
||||||
<CheckProfile {...this.props} sureFunc={()=>{this.props.history.push('/projects/mirror/new')}}>新建镜像项目</CheckProfile>
|
|
||||||
</Menu.Item>
|
|
||||||
<Menu.Item key="created_deposit">
|
<Menu.Item key="created_deposit">
|
||||||
<CheckProfile {...this.props} sureFunc={()=>{this.props.history.push('/projects/deposit/new')}}>新建托管项目</CheckProfile>
|
<CheckProfile {...this.props} sureFunc={()=>{this.props.history.push('/projects/deposit/new')}}>新建项目</CheckProfile>
|
||||||
|
</Menu.Item>
|
||||||
|
<Menu.Item key="created_mirror">
|
||||||
|
<CheckProfile {...this.props} sureFunc={()=>{this.props.history.push('/projects/mirror/new')}}>导入项目</CheckProfile>
|
||||||
</Menu.Item>
|
</Menu.Item>
|
||||||
</Menu>
|
</Menu>
|
||||||
)
|
)
|
||||||
|
|
|
@ -41,22 +41,22 @@ class IndexItem extends Component {
|
||||||
{ !item.is_public && <span className="privateTag">私有</span> }
|
{ !item.is_public && <span className="privateTag">私有</span> }
|
||||||
{
|
{
|
||||||
item.forked_from_project_id ?
|
item.forked_from_project_id ?
|
||||||
<span className="ml5">
|
<Tooltip title="该项目是一个fork仓库" className="ml5">
|
||||||
<i className="iconfont icon-fork font-18 color-orange" />
|
<i className="iconfont icon-fork font-18 color-orange" />
|
||||||
</span>
|
</Tooltip>
|
||||||
: ""
|
: ""
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
item.type && item.type === 2 ?
|
item.type && item.type === 2 ?
|
||||||
<Tooltip title="该项目是一个镜像" className="ml5">
|
<Tooltip title="该项目是一个同步镜像仓库" className="ml5">
|
||||||
<i className="iconfont icon-banbenku font-18 color-green" />
|
<i className="iconfont icon-banbenku font-18 color-green" />
|
||||||
</Tooltip>:""
|
</Tooltip>:""
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
item.type && item.type === 1 ?
|
item.type && item.type === 1 ?
|
||||||
<span className="ml5">
|
<Tooltip title="该项目是一个导入于其他网站的仓库" className="ml5">
|
||||||
<i className="iconfont icon-jingxiang font-18 color-green" />
|
<i className="iconfont icon-jingxiang font-18 color-green" />
|
||||||
</span>:""
|
</Tooltip>:""
|
||||||
}
|
}
|
||||||
</AlignCenter>
|
</AlignCenter>
|
||||||
<span className="p-r-tags">
|
<span className="p-r-tags">
|
||||||
|
|
|
@ -2,9 +2,10 @@ import React, { Component } from 'react';
|
||||||
import { Link } from 'react-router-dom';
|
import { Link } from 'react-router-dom';
|
||||||
import { Input , Form , Select , Checkbox , Button , Spin , AutoComplete, Modal } from 'antd';
|
import { Input , Form , Select , Checkbox , Button , Spin , AutoComplete, Modal } from 'antd';
|
||||||
import { Base64 } from 'js-base64';
|
import { Base64 } from 'js-base64';
|
||||||
|
import { AlignCenter } from '../Component/layout';
|
||||||
|
|
||||||
import '../css/index.scss';
|
import '../css/index.scss';
|
||||||
import './new.css'
|
import './new.scss'
|
||||||
|
|
||||||
import axios from 'axios';
|
import axios from 'axios';
|
||||||
const Option = Select.Option;
|
const Option = Select.Option;
|
||||||
|
@ -44,7 +45,12 @@ class Index extends Component {
|
||||||
project_category_name: undefined,
|
project_category_name: undefined,
|
||||||
license_name: undefined,
|
license_name: undefined,
|
||||||
ignore_name: undefined,
|
ignore_name: undefined,
|
||||||
descNum:0
|
descNum:0,
|
||||||
|
|
||||||
|
categoreFlag:false,
|
||||||
|
languageFlag:false,
|
||||||
|
ignoreFlag:false,
|
||||||
|
licenseFlag:false,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
componentDidMount = () => {
|
componentDidMount = () => {
|
||||||
|
@ -189,6 +195,7 @@ class Index extends Component {
|
||||||
|
|
||||||
subMitFrom = () => {
|
subMitFrom = () => {
|
||||||
this.props.form.validateFieldsAndScroll((err, values) => {
|
this.props.form.validateFieldsAndScroll((err, values) => {
|
||||||
|
console.log(err);
|
||||||
if (!err) {
|
if (!err) {
|
||||||
this.setState({
|
this.setState({
|
||||||
isSpin: true
|
isSpin: true
|
||||||
|
@ -313,41 +320,28 @@ class Index extends Component {
|
||||||
|
|
||||||
mirrorCheck,
|
mirrorCheck,
|
||||||
|
|
||||||
descNum
|
descNum,
|
||||||
|
|
||||||
|
ignoreFlag,
|
||||||
|
licenseFlag,
|
||||||
|
languageFlag,
|
||||||
|
categoreFlag
|
||||||
} = this.state;
|
} = this.state;
|
||||||
return (
|
return (
|
||||||
<div className="main back-white" style={{padding:"0px",border:"none"}}>
|
<div className="main back-white" style={{padding:"0px",border:"none"}}>
|
||||||
<div className="newPanel">
|
<div className="newPanel">
|
||||||
<div className="newPanel_title">创建{projectsType && projectsType === "mirror" ? "镜像" : "托管"}项目</div>
|
<div className="newPanel_title">{projectsType && projectsType === "mirror" ? "导入" : "新建"}项目</div>
|
||||||
<Spin spinning={isSpin}>
|
<Spin spinning={isSpin}>
|
||||||
<Form>
|
<Form>
|
||||||
<div className="newPanel_content">
|
<div className="newPanel_content">
|
||||||
<Form.Item
|
|
||||||
label="拥有者"
|
{
|
||||||
>
|
|
||||||
{getFieldDecorator('user_id', {
|
|
||||||
rules: [{
|
|
||||||
required: true, message: '请选择拥有者'
|
|
||||||
},{
|
|
||||||
validator:(rule, value, callback) => this.checkId(rule, value, callback, OwnerList, '拥有者')
|
|
||||||
}],
|
|
||||||
})(
|
|
||||||
<AutoComplete
|
|
||||||
placeholder="请选择拥有者"
|
|
||||||
onChange={(value, e) => this.ChangePlatform(value, e, 'owners', OwnerList)}
|
|
||||||
className="plateAutoComplete"
|
|
||||||
onBlur={(value) => this.blurCategory(value, OwnerList, "owners")}
|
|
||||||
>
|
|
||||||
{owners_list}
|
|
||||||
</AutoComplete>
|
|
||||||
)}
|
|
||||||
</Form.Item>
|
|
||||||
{
|
|
||||||
projectsType && projectsType === "mirror" &&
|
projectsType && projectsType === "mirror" &&
|
||||||
<React.Fragment>
|
<React.Fragment>
|
||||||
<Form.Item
|
<Form.Item
|
||||||
label="镜像版本库地址"
|
label="镜像版本库地址"
|
||||||
style={{ marginBottom: "0px" }}
|
style={{ marginBottom: "0px" }}
|
||||||
|
colon={false}
|
||||||
>
|
>
|
||||||
{getFieldDecorator('clone_addr', {
|
{getFieldDecorator('clone_addr', {
|
||||||
rules: [{
|
rules: [{
|
||||||
|
@ -362,13 +356,13 @@ class Index extends Component {
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
projectsType && projectsType === "mirror" &&
|
projectsType && projectsType === "mirror" &&
|
||||||
<React.Fragment>
|
<div className="pb10">
|
||||||
<p className="mt10 mb10 color-grey-3 pointer" onClick={this.changeMirrorCheck}>
|
<p className="mt10 mb10 color-grey-3 pointer" onClick={this.changeMirrorCheck}>
|
||||||
需要授权验证<i className={mirrorCheck?"iconfont icon-xiajiantou font-13 ml10 color-grey-8":"iconfont icon-youjiantou font-13 ml10 color-grey-8"}></i>
|
需要授权验证<i className={mirrorCheck?"iconfont icon-xiajiantou font-13 ml10 color-grey-8":"iconfont icon-youjiantou font-13 ml10 color-grey-8"}></i>
|
||||||
<span className="ml20 font-12 color-red">如果源项目为公有仓库,禁止填写用户名密码。如果源项目为私有仓库,则必须填写正确的用户名和密码!</span></p>
|
<span className="ml20 font-12 color-red">如果导入项目为私有仓库,则必须填写相应平台正确的用户名和密码</span></p>
|
||||||
{
|
{
|
||||||
mirrorCheck &&
|
mirrorCheck &&
|
||||||
<div className="df mb20" style={{alignItems:'center'}}>
|
<div className="df mb10" style={{alignItems:'center'}}>
|
||||||
<span className="mr10">用户名</span>
|
<span className="mr10">用户名</span>
|
||||||
<Form.Item
|
<Form.Item
|
||||||
style={{ marginBottom: "0px" }}
|
style={{ marginBottom: "0px" }}
|
||||||
|
@ -383,7 +377,6 @@ class Index extends Component {
|
||||||
<span className="mr10">密码</span>
|
<span className="mr10">密码</span>
|
||||||
<Form.Item
|
<Form.Item
|
||||||
style={{ marginBottom: "0px" }}
|
style={{ marginBottom: "0px" }}
|
||||||
label=""
|
|
||||||
>
|
>
|
||||||
{getFieldDecorator('password', {
|
{getFieldDecorator('password', {
|
||||||
rules: [],
|
rules: [],
|
||||||
|
@ -393,143 +386,144 @@ class Index extends Component {
|
||||||
</Form.Item>
|
</Form.Item>
|
||||||
</div>
|
</div>
|
||||||
}
|
}
|
||||||
</React.Fragment>
|
</div>
|
||||||
}
|
}
|
||||||
|
<AlignCenter>
|
||||||
|
<Form.Item
|
||||||
|
label="拥有者"
|
||||||
|
style={{width:"260px"}}
|
||||||
|
colon={false}
|
||||||
|
className="explainPos"
|
||||||
|
>
|
||||||
|
{getFieldDecorator('user_id', {
|
||||||
|
rules: [{
|
||||||
|
required: true, message: '请选择拥有者'
|
||||||
|
},{
|
||||||
|
validator:(rule, value, callback) => this.checkId(rule, value, callback, OwnerList, '拥有者')
|
||||||
|
}],
|
||||||
|
})(
|
||||||
|
<AutoComplete
|
||||||
|
style={{width:"260px",height:"35px"}}
|
||||||
|
placeholder="请选择拥有者"
|
||||||
|
onChange={(value, e) => this.ChangePlatform(value, e, 'owners', OwnerList)}
|
||||||
|
className="plateAutoComplete"
|
||||||
|
onBlur={(value) => this.blurCategory(value, OwnerList, "owners")}
|
||||||
|
>
|
||||||
|
{owners_list}
|
||||||
|
</AutoComplete>
|
||||||
|
)}
|
||||||
|
</Form.Item>
|
||||||
|
<span className="ml10 mr10 mt10 font-18">/</span>
|
||||||
|
<Form.Item
|
||||||
|
label="项目名称"
|
||||||
|
className="flex1 explainPos"
|
||||||
|
colon={false}
|
||||||
|
>
|
||||||
|
{getFieldDecorator('name', {
|
||||||
|
rules: [{
|
||||||
|
required: true, message: '请填写项目名称'
|
||||||
|
}],
|
||||||
|
})(
|
||||||
|
<Input placeholder="例如:团队协作方法与研究" maxLength={50}/>
|
||||||
|
)}
|
||||||
|
</Form.Item>
|
||||||
|
</AlignCenter>
|
||||||
<Form.Item
|
<Form.Item
|
||||||
label="项目名称"
|
label={<span>项目标识 <span className="color-grey-9">(项目url标识部分)</span></span>}
|
||||||
|
colon={false}
|
||||||
>
|
>
|
||||||
{getFieldDecorator('name', {
|
{getFieldDecorator('repository_name', {
|
||||||
rules: [{
|
rules: [{
|
||||||
required: true, message: '请填写项目名称'
|
required: true, message: '请填写项目标识'
|
||||||
}],
|
}],
|
||||||
})(
|
})(
|
||||||
<Input placeholder="例如:团队协作方法与研究" maxLength={50}/>
|
<Input placeholder="项目标识请使用与项目相关的英文关键字" maxLength={100} />
|
||||||
)}
|
)}
|
||||||
</Form.Item>
|
</Form.Item>
|
||||||
<div className="pr">
|
<div className="pr">
|
||||||
<span className="toprightNum">{descNum}/200</span>
|
<span className="toprightNum">{descNum}/200</span>
|
||||||
<Form.Item
|
<Form.Item
|
||||||
label="项目简介"
|
label="项目简介"
|
||||||
|
colon={false}
|
||||||
|
style={{marginBottom:"0px"}}
|
||||||
>
|
>
|
||||||
{getFieldDecorator('description', {
|
{getFieldDecorator('description', {
|
||||||
rules: [{
|
rules: [],
|
||||||
required: true, message: '请填写项目简介'
|
|
||||||
}],
|
|
||||||
})(
|
})(
|
||||||
<Input.TextArea maxLength={200} placeholder="项目的介绍" autoSize={{ minRows: 2, maxRows: 6 }} onChange={this.changeDesc}/>
|
<Input.TextArea maxLength={200} placeholder="项目的介绍" autoSize={{ minRows: 2, maxRows: 6 }} onChange={this.changeDesc}/>
|
||||||
)}
|
)}
|
||||||
</Form.Item>
|
</Form.Item>
|
||||||
</div>
|
</div>
|
||||||
<Form.Item
|
|
||||||
label="仓库名称"
|
|
||||||
>
|
|
||||||
{getFieldDecorator('repository_name', {
|
|
||||||
rules: [{
|
|
||||||
required: true, message: '请填写仓库名称'
|
|
||||||
}],
|
|
||||||
})(
|
|
||||||
<Input placeholder="仓库名称请使用与项目相关的英文关键字" maxLength={100} />
|
|
||||||
)}
|
|
||||||
</Form.Item>
|
|
||||||
<Form.Item
|
|
||||||
label="项目类别"
|
|
||||||
>
|
|
||||||
{getFieldDecorator('project_category', {
|
|
||||||
rules: [{
|
|
||||||
required: true, message: '请选择大类别',
|
|
||||||
}, {
|
|
||||||
validator: (rule, value, callback) => this.checkId(rule, value, callback, CategoryList, '项目类别')
|
|
||||||
}],
|
|
||||||
})(
|
|
||||||
<AutoComplete
|
|
||||||
placeholder="请选择项目类别"
|
|
||||||
onChange={(value, e) => this.ChangePlatform(value, e, 'project_category', CategoryList)}
|
|
||||||
className="plateAutoComplete"
|
|
||||||
onBlur={(value) => this.blurCategory(value, CategoryList, "project_category")}
|
|
||||||
>
|
|
||||||
{project_category_list}
|
|
||||||
</AutoComplete>
|
|
||||||
)}
|
|
||||||
</Form.Item>
|
|
||||||
<Form.Item
|
|
||||||
label="项目语言"
|
|
||||||
>
|
|
||||||
{getFieldDecorator('project_language', {
|
|
||||||
rules: [{
|
|
||||||
required: true, message: '请选择项目语言'
|
|
||||||
}, {
|
|
||||||
validator: (rule, value, callback) => this.checkId(rule, value, callback, LanguageList, '项目语言')
|
|
||||||
}],
|
|
||||||
})(
|
|
||||||
<AutoComplete
|
|
||||||
placeholder="请选择项目语言"
|
|
||||||
onChange={(value, e) => this.ChangePlatform(value, e, 'project_language', LanguageList)}
|
|
||||||
className="plateAutoComplete"
|
|
||||||
onBlur={(value) => this.blurCategory(value, LanguageList, "project_language")}
|
|
||||||
>
|
|
||||||
{project_language_list}
|
|
||||||
</AutoComplete>
|
|
||||||
)}
|
|
||||||
</Form.Item>
|
|
||||||
{
|
{
|
||||||
(projectsType === "deposit" || !projectsType) &&
|
(projectsType === "deposit" || !projectsType) &&
|
||||||
<React.Fragment>
|
<React.Fragment>
|
||||||
<Form.Item
|
<Form.Item
|
||||||
label=".gitignore"
|
className="privatePart"
|
||||||
>
|
>
|
||||||
{getFieldDecorator('ignore', {
|
{getFieldDecorator('ignoreFlag')(
|
||||||
rules: [{
|
<Checkbox checked={ignoreFlag} onChange={(e)=>this.setState({ignoreFlag:e.target.checked})}>.gitignore</Checkbox>
|
||||||
required: true, message: '请选择gitignore'
|
|
||||||
}, {
|
|
||||||
validator: (rule, value, callback) => this.checkId(rule, value, callback, GitignoreList, 'gitignore')
|
|
||||||
}],
|
|
||||||
})(
|
|
||||||
<AutoComplete
|
|
||||||
placeholder="请选择gitignore,用来定义哪些文件不需要添加到版本管理中"
|
|
||||||
onChange={(value, e) => this.ChangePlatform(value, e, 'ignore', GitignoreList)}
|
|
||||||
className="plateAutoComplete"
|
|
||||||
onBlur={(value) => this.blurCategory(value, GitignoreList, "ignore")}
|
|
||||||
>
|
|
||||||
{ignore_list}
|
|
||||||
</AutoComplete>
|
|
||||||
)}
|
)}
|
||||||
</Form.Item>
|
</Form.Item>
|
||||||
|
{ ignoreFlag &&
|
||||||
|
<Form.Item>
|
||||||
|
{getFieldDecorator('ignore', {
|
||||||
|
rules: [{
|
||||||
|
required: ignoreFlag, message: '请选择gitignore'
|
||||||
|
}, {
|
||||||
|
validator: (rule, value, callback) => this.checkId(rule, value, callback, GitignoreList, 'gitignore')
|
||||||
|
}],
|
||||||
|
})(
|
||||||
|
<AutoComplete
|
||||||
|
placeholder="请选择gitignore,用来定义哪些文件不需要添加到版本管理中"
|
||||||
|
onChange={(value, e) => this.ChangePlatform(value, e, 'ignore', GitignoreList)}
|
||||||
|
className="plateAutoComplete"
|
||||||
|
onBlur={(value) => this.blurCategory(value, GitignoreList, "ignore")}
|
||||||
|
>
|
||||||
|
{ignore_list}
|
||||||
|
</AutoComplete>
|
||||||
|
)}
|
||||||
|
</Form.Item>
|
||||||
|
}
|
||||||
<Form.Item
|
<Form.Item
|
||||||
label="开源许可证"
|
className="privatePart"
|
||||||
>
|
>
|
||||||
{getFieldDecorator('license', {
|
{getFieldDecorator('licenseFlag')(
|
||||||
rules: [{
|
<Checkbox checked={licenseFlag} onChange={(e)=>this.setState({licenseFlag:e.target.checked})}>开源许可证</Checkbox>
|
||||||
required: true, message: '请选择开源许可证'
|
|
||||||
}, {
|
|
||||||
validator: (rule, value, callback) => this.checkId(rule, value, callback, LicensesList, '开源许可证')
|
|
||||||
}],
|
|
||||||
})(
|
|
||||||
<AutoComplete
|
|
||||||
placeholder="请选择开源许可证"
|
|
||||||
onChange={(value, e) => this.ChangePlatform(value, e, 'license', LicensesList)}
|
|
||||||
className="plateAutoComplete"
|
|
||||||
onBlur={(value) => this.blurCategory(value, LicensesList, "license")}
|
|
||||||
>
|
|
||||||
{license_list}
|
|
||||||
</AutoComplete>
|
|
||||||
)}
|
)}
|
||||||
</Form.Item>
|
</Form.Item>
|
||||||
|
{ licenseFlag &&
|
||||||
|
<Form.Item>
|
||||||
|
{getFieldDecorator('license', {
|
||||||
|
rules: [{
|
||||||
|
required: licenseFlag, message: '请选择开源许可证'
|
||||||
|
}, {
|
||||||
|
validator: (rule, value, callback) => this.checkId(rule, value, callback, LicensesList, '开源许可证')
|
||||||
|
}],
|
||||||
|
})(
|
||||||
|
<AutoComplete
|
||||||
|
placeholder="请选择开源许可证"
|
||||||
|
onChange={(value, e) => this.ChangePlatform(value, e, 'license', LicensesList)}
|
||||||
|
className="plateAutoComplete"
|
||||||
|
onBlur={(value) => this.blurCategory(value, LicensesList, "license")}
|
||||||
|
>
|
||||||
|
{license_list}
|
||||||
|
</AutoComplete>
|
||||||
|
)}
|
||||||
|
</Form.Item>
|
||||||
|
}
|
||||||
</React.Fragment>
|
</React.Fragment>
|
||||||
}
|
}
|
||||||
<Form.Item
|
<Form.Item
|
||||||
label="可见性"
|
|
||||||
style={{ margin: "0px" }}
|
|
||||||
className="privatePart"
|
className="privatePart"
|
||||||
>
|
>
|
||||||
{getFieldDecorator('private')(
|
{getFieldDecorator('private')(
|
||||||
<Checkbox value="limit">将项目设为私有<span className="ml15 font-13 color-grey-9">(只有项目所有人或拥有权限的项目成员才能看到)</span></Checkbox>
|
<Checkbox value="limit">将项目设为私有<span className="font-13 color-grey-9">(只有项目所有人或拥有权限的项目成员才能看到)</span></Checkbox>
|
||||||
)}
|
)}
|
||||||
</Form.Item >
|
</Form.Item >
|
||||||
{
|
{
|
||||||
projectsType && projectsType === "mirror" &&
|
projectsType && projectsType === "mirror" &&
|
||||||
<Form.Item
|
<Form.Item
|
||||||
label="迁移类型:"
|
|
||||||
style={{ margin: "0px" }}
|
|
||||||
className="privatePart"
|
className="privatePart"
|
||||||
>
|
>
|
||||||
{getFieldDecorator('is_mirror')(
|
{getFieldDecorator('is_mirror')(
|
||||||
|
@ -537,7 +531,64 @@ class Index extends Component {
|
||||||
)}
|
)}
|
||||||
</Form.Item >
|
</Form.Item >
|
||||||
}
|
}
|
||||||
<div>
|
<Form.Item
|
||||||
|
style={{ margin: "0px" }}
|
||||||
|
className="privatePart"
|
||||||
|
>
|
||||||
|
{getFieldDecorator('categoreFlag')(
|
||||||
|
<Checkbox checked={categoreFlag} onChange={(e)=>this.setState({categoreFlag:e.target.checked})}>项目类别</Checkbox>
|
||||||
|
)}
|
||||||
|
</Form.Item>
|
||||||
|
{categoreFlag &&
|
||||||
|
<Form.Item
|
||||||
|
className="privatePart"
|
||||||
|
>
|
||||||
|
{getFieldDecorator('project_category', {
|
||||||
|
rules: [{
|
||||||
|
required: categoreFlag, message: '请选择大类别',
|
||||||
|
}, {
|
||||||
|
validator: (rule, value, callback) => this.checkId(rule, value, callback, CategoryList, '项目类别')
|
||||||
|
}],
|
||||||
|
})(
|
||||||
|
<AutoComplete
|
||||||
|
placeholder="请选择项目类别"
|
||||||
|
onChange={(value, e) => this.ChangePlatform(value, e, 'project_category', CategoryList)}
|
||||||
|
className="plateAutoComplete"
|
||||||
|
onBlur={(value) => this.blurCategory(value, CategoryList, "project_category")}
|
||||||
|
>
|
||||||
|
{project_category_list}
|
||||||
|
</AutoComplete>
|
||||||
|
)}
|
||||||
|
</Form.Item>
|
||||||
|
}
|
||||||
|
<Form.Item
|
||||||
|
className="privatePart"
|
||||||
|
>
|
||||||
|
{getFieldDecorator('languageFlag')(
|
||||||
|
<Checkbox checked={languageFlag} onChange={(e)=>this.setState({languageFlag:e.target.checked})}>项目语言</Checkbox>
|
||||||
|
)}
|
||||||
|
</Form.Item>
|
||||||
|
{languageFlag &&
|
||||||
|
<Form.Item>
|
||||||
|
{getFieldDecorator('project_language', {
|
||||||
|
rules: [{
|
||||||
|
required: languageFlag, message: '请选择项目语言'
|
||||||
|
}, {
|
||||||
|
validator: (rule, value, callback) => this.checkId(rule, value, callback, LanguageList, '项目语言')
|
||||||
|
}],
|
||||||
|
})(
|
||||||
|
<AutoComplete
|
||||||
|
placeholder="请选择项目语言"
|
||||||
|
onChange={(value, e) => this.ChangePlatform(value, e, 'project_language', LanguageList)}
|
||||||
|
className="plateAutoComplete"
|
||||||
|
onBlur={(value) => this.blurCategory(value, LanguageList, "project_language")}
|
||||||
|
>
|
||||||
|
{project_language_list}
|
||||||
|
</AutoComplete>
|
||||||
|
)}
|
||||||
|
</Form.Item>
|
||||||
|
}
|
||||||
|
<div className="mt20">
|
||||||
注:<span className="ant-form-item-required"></span> 为必填项,否则为选填
|
注:<span className="ant-form-item-required"></span> 为必填项,否则为选填
|
||||||
</div>
|
</div>
|
||||||
<Form.Item className="formTip mt20">
|
<Form.Item className="formTip mt20">
|
||||||
|
|
|
@ -12,7 +12,13 @@
|
||||||
border-bottom: 1px solid #f0f0f0
|
border-bottom: 1px solid #f0f0f0
|
||||||
}
|
}
|
||||||
.newPanel_content{
|
.newPanel_content{
|
||||||
padding:1rem 2rem;
|
padding:2rem;
|
||||||
|
}
|
||||||
|
.newPanel_content form .ant-row.ant-form-item{
|
||||||
|
margin-bottom: 25px;
|
||||||
|
}
|
||||||
|
.newPanel_content .ant-form-item-label label{
|
||||||
|
font-size: 16px;
|
||||||
}
|
}
|
||||||
.newPanel_content .ant-form-item-control-wrapper{
|
.newPanel_content .ant-form-item-control-wrapper{
|
||||||
flex: 1;
|
flex: 1;
|
||||||
|
@ -25,24 +31,35 @@
|
||||||
height: 35px;
|
height: 35px;
|
||||||
line-height: 35px;
|
line-height: 35px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.newContent_inline{
|
.newContent_inline{
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
align-items:flex-end
|
align-items:flex-end
|
||||||
}
|
}
|
||||||
|
.explainPos{
|
||||||
|
.ant-form-explain{
|
||||||
|
position: absolute;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.newContent_inline > .ant-form-item:nth-child(2){
|
.newContent_inline > .ant-form-item:nth-child(2){
|
||||||
margin-left: 20px;
|
margin-left: 20px;
|
||||||
}
|
}
|
||||||
.newPanel_content .privatePart .ant-form-item-label{
|
.privatePart{
|
||||||
margin-left: 0px;
|
margin-bottom: 0px!important;
|
||||||
|
.ant-form-item-label{
|
||||||
|
margin-left: 0px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
.newPanel_content .ant-form-item-label{
|
.newPanel_content .ant-form-item-label{
|
||||||
line-height: 25px;
|
line-height: 25px;
|
||||||
height: 25px;
|
height: 25px;
|
||||||
margin-left: -0.8rem;
|
}
|
||||||
|
.plateAutoComplete{
|
||||||
|
.ant-input{
|
||||||
|
height: 34px!important;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@media screen and (max-width: 750px){
|
@media screen and (max-width: 750px){
|
||||||
.newPanel_content{
|
.newPanel_content{
|
|
@ -63,10 +63,10 @@ function List(props){
|
||||||
const menu_new=(
|
const menu_new=(
|
||||||
<Menu>
|
<Menu>
|
||||||
<Menu.Item key="updated_on">
|
<Menu.Item key="updated_on">
|
||||||
<CheckProfile {...props} sureFunc={()=>{props.history.push(`/projects/deposit/new/${OIdentifier}`)}}>新建托管项目</CheckProfile>
|
<CheckProfile {...props} sureFunc={()=>{props.history.push(`/projects/deposit/new/${OIdentifier}`)}}>新建项目</CheckProfile>
|
||||||
</Menu.Item>
|
</Menu.Item>
|
||||||
<Menu.Item key="created_on">
|
<Menu.Item key="created_on">
|
||||||
<CheckProfile {...props} sureFunc={()=>{props.history.push(`/projects/mirror/new/${OIdentifier}`)}}>新建镜像项目</CheckProfile>
|
<CheckProfile {...props} sureFunc={()=>{props.history.push(`/projects/mirror/new/${OIdentifier}`)}}>导入项目</CheckProfile>
|
||||||
</Menu.Item>
|
</Menu.Item>
|
||||||
</Menu>
|
</Menu>
|
||||||
)
|
)
|
||||||
|
|
|
@ -108,7 +108,7 @@ function RightBox({ OIdentifier , history , admin , showCompeleteDialog ,complet
|
||||||
<div>
|
<div>
|
||||||
{
|
{
|
||||||
(item.is_admin || item.is_member) ?
|
(item.is_admin || item.is_member) ?
|
||||||
<Link to={`/${OIdentifier}/teams/${item.id}`}><ColorListName>{item.name}</ColorListName></Link>
|
<Link to={`/${OIdentifier}/teams/${item.id}`}><ColorListName>{item.nickname}</ColorListName></Link>
|
||||||
:
|
:
|
||||||
<ColorListName>{item.name}</ColorListName>
|
<ColorListName>{item.name}</ColorListName>
|
||||||
}
|
}
|
||||||
|
|
|
@ -115,11 +115,11 @@ class InfosUser extends Component {
|
||||||
|
|
||||||
newItem =()=> (
|
newItem =()=> (
|
||||||
<Menu>
|
<Menu>
|
||||||
<Menu.Item key="created_mirror">
|
|
||||||
<CheckProfile {...this.props} sureFunc={()=>{this.props.history.push('/projects/mirror/new')}}>新建镜像项目</CheckProfile>
|
|
||||||
</Menu.Item>
|
|
||||||
<Menu.Item key="created_deposit">
|
<Menu.Item key="created_deposit">
|
||||||
<CheckProfile {...this.props} sureFunc={()=>{this.props.history.push('/projects/deposit/new')}} >新建托管项目</CheckProfile>
|
<CheckProfile {...this.props} sureFunc={()=>{this.props.history.push('/projects/deposit/new')}} >新建项目</CheckProfile>
|
||||||
|
</Menu.Item>
|
||||||
|
<Menu.Item key="created_mirror">
|
||||||
|
<CheckProfile {...this.props} sureFunc={()=>{this.props.history.push('/projects/mirror/new')}}>导入项目</CheckProfile>
|
||||||
</Menu.Item>
|
</Menu.Item>
|
||||||
</Menu>
|
</Menu>
|
||||||
);
|
);
|
||||||
|
|
Loading…
Reference in New Issue