123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 |
- /*
- * <<
- * Davinci
- * ==
- * Copyright (C) 2016 - 2017 EDP
- * ==
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * >>
- */
- import React from 'react'
- import { Form, Row, Col, Input, Button } from 'antd'
- import { FormComponentProps } from 'antd/lib/form/Form'
- const FormItem = Form.Item
- const TextArea = Input.TextArea
- const styles = require('../Organization.less')
- const utilStyles = require('assets/less/util.less')
- interface IProjectsFormProps {
- form: any
- modalLoading: boolean
- onModalOk: () => any
- onCheckUniqueName: (pathname: any, data: any, resolve: () => any, reject: (error: string) => any) => any
- }
- export class OrganizationForm extends React.PureComponent<IProjectsFormProps & FormComponentProps, {}> {
- public render () {
- const { getFieldDecorator } = this.props.form
- const { modalLoading } = this.props
- const commonFormItemStyle = {
- labelCol: { span: 3 },
- wrapperCol: { span: 24}
- }
- const modalButtons = [(
- <Button
- key="submit"
- type="primary"
- loading={modalLoading}
- disabled={modalLoading}
- onClick={this.props.onModalOk}
- >
- 保 存
- </Button>
- )]
- return (
- <div className={styles.formWrapper}>
- <div className={styles.header}>
- <div className={styles.title}>
- 创建组织
- </div>
- <div className={styles.desc}>
- {/* 用户创建组织,邀请成员加入,创建团队 */}
- </div>
- </div>
- <div className={styles.body}>
- <Form>
- <Row gutter={8}>
- <Col span={24}>
- <FormItem label="名称" {...commonFormItemStyle}>
- {getFieldDecorator('name', {
- rules: [{
- required: true,
- message: '名称 不能为空'
- }, {
- validator: this.props.onCheckUniqueName
- }],
- validateFirst: true
- })(
- <Input placeholder="名称" />
- )}
- </FormItem>
- </Col>
- <Col span={24}>
- <FormItem label="描述" {...commonFormItemStyle}>
- {getFieldDecorator('description', {
- initialValue: ''
- })(
- <TextArea
- placeholder="描述"
- autosize={{minRows: 2, maxRows: 6}}
- />
- )}
- </FormItem>
- </Col>
- </Row>
- </Form>
- </div>
- <div className={styles.footer}>
- {modalButtons}
- </div>
- </div>
- )
- }
- }
- export default Form.create<IProjectsFormProps & FormComponentProps>()((OrganizationForm))
|