forked from Gitlink/forgeplus-react
96 lines
3.4 KiB
JavaScript
96 lines
3.4 KiB
JavaScript
import React ,{ forwardRef, useEffect, useState } from 'react';
|
||
import { Modal , Form , Input , Radio , Select } from 'antd';
|
||
import './Index.scss';
|
||
|
||
const { Option } = Select;
|
||
function DivertModal({form , visible , onSuccess , onCancel}){
|
||
const { getFieldDecorator, validateFields , setFieldsValue } = form;
|
||
const [ cate , setCate ] = useState(0);
|
||
|
||
useEffect(()=>{
|
||
setFieldsValue({goal:cate})
|
||
},[])
|
||
|
||
function onOk(){
|
||
validateFields((error,values)=>{
|
||
if(!error){
|
||
onSuccess();
|
||
}
|
||
})
|
||
|
||
}
|
||
function changeType(e){
|
||
setCate(e.target.value);
|
||
}
|
||
const layout = {
|
||
labelCol: { span: 5 },
|
||
wrapperCol: { span: 18 },
|
||
};
|
||
return(
|
||
<Modal
|
||
width="620px"
|
||
visible={visible}
|
||
title="转移仓库"
|
||
onCancel={onCancel}
|
||
onOk={onOk}
|
||
okText="转移"
|
||
cancelText={"取消"}
|
||
centered
|
||
>
|
||
<div className="diverModal">
|
||
{
|
||
cate === 0 ?
|
||
<ul className="descUl">
|
||
<li>转移需对方确认接受,转移成功后你将被移出仓库,其他已有成员权限不变</li>
|
||
<li>转移成功后,仓库的地址将变更至目标用户的命名空间下</li>
|
||
<li>已有成员如需继续操作仓库,需更新本地仓库的remote,使之指向新的地址</li>
|
||
</ul>
|
||
:
|
||
<ul className="descUl">
|
||
<li>仓库仅可以转移到您已经加入的组织中,不可以转移到未加入的组织中</li>
|
||
<li>涉及到仓库改名操作,请提前做好仓库备份并且在转移后对本地仓库的remote进行修改</li>
|
||
<li>转移仓库到组织后,你和组织创建者/管理员同时拥有对该仓库的管理操作</li>
|
||
</ul>
|
||
}
|
||
<Form {...layout} colon={false} layout={"horizontal"}>
|
||
<Form.Item label="转移给:" style={{marginBottom:"0px"}}>
|
||
{getFieldDecorator("goal",{
|
||
rules:[]
|
||
})(
|
||
<Radio.Group onChange={changeType}>
|
||
<Radio value={0}>个人</Radio>
|
||
<Radio value={1}>组织</Radio>
|
||
</Radio.Group>
|
||
)}
|
||
</Form.Item>
|
||
<Form.Item label=" " style={{display:cate === 0 ? "block":"none"}}>
|
||
{getFieldDecorator("username",{
|
||
rules:[{required:true,message:"请输入目标用户名"}]
|
||
})(
|
||
<Input placeholder="请输入要转移的目标用户名" autoComplete={"off"}/>
|
||
)}
|
||
</Form.Item>
|
||
<Form.Item label=" " style={{display:cate ===1 ? "block" : "none"}}>
|
||
{getFieldDecorator("identitfy",
|
||
{rules:[{required:true,message:"请输入目标组织"}]}
|
||
)(
|
||
<Select placeholder="请选择要转移的目标组织" >
|
||
<Option value="组织kkk">组织kkk</Option>
|
||
<Option value="组织kkk1">组织kkk1</Option>
|
||
<Option value="组织kkk2">组织kkk2</Option>
|
||
</Select>
|
||
)}
|
||
</Form.Item>
|
||
<Form.Item label="仓库标识:">
|
||
{getFieldDecorator("username",
|
||
{rules:[{required:true,message:"请输入仓库标识"}]}
|
||
)(
|
||
<Input placeholder="请输入仓库标识" autoComplete={"off"}/>
|
||
)}
|
||
</Form.Item>
|
||
</Form>
|
||
</div>
|
||
</Modal>
|
||
)
|
||
}
|
||
export default Form.create()(forwardRef(DivertModal)); |