import React from 'react' import { Layout, Button, Table, Form, Row, Col, Input, InputNumber, Select, Icon, Menu, Dropdown, Divider, Upload, message, Card } from 'antd' const { Header, Content } = Layout const CardGrid = Card.Grid const FormItem = Form.Item const SelectOption = Select.Option const OptionGroup = Select.OptGroup const InputGroup = Input.Group const SubMenu = Menu.SubMenu const MenuItem = Menu.Item const MenuItemGroup = Menu.ItemGroup const UploadDragger = Upload.Dragger const Search = Input.Search import { connect } from 'dva' import DataConnectBox from './dataConnectBox' import '../../models/dataSource' import '../../models/dataConnect' class DataConnectConfig extends React.Component { constructor(props) { super(props); this.state = { visibleBox: false, operation: 'modify', selected: null }; } render() { const { dataSource, dataConnect, dispatch } = this.props; const { visibleBox, operation, selected } = this.state; const formItemLayout = { labelCol: { span: 4 }, wrapperCol: { span: 20 }, }; const generateCard = () => { const operationMenu = ( { dispatch({ type: 'dataConnect/setNewModel', model: selected }); this.setState({ visibleBox: true, operation: 'modify' }) }}> 编辑 { dispatch({ type: 'chart/remoteDelete', code: this.state.selectedCode }); }}> 删除 ) let cards = dataConnect.list.map( (l, i) => ( {l.name}
} onClick={() => { this.setState({ selected: l }, () => { let s = this.state.selected; console.log(s); dispatch({ type: 'dataSource/setNewModelFields', fields: [ { name: 'dbType', value: s.dbType }, { name: 'address', value: s.address }, { name: 'port', value: s.port }, { name: 'dbName', value: s.dbName }, { name: 'userName', value: s.userName }, { name: 'password', value: s.password }, ] }); }); }} >
{`说明 :${l.description}`} {l.dbType}
)) cards.unshift( { dispatch({ type: 'dataConnect/setNewModel', model: {} }); this.setState({ operation: 'create', visibleBox: true }) }}> ); return cards; } return (
{ dataSource.newOne.type=='file'?(
选择文件 { const trueType = file.type === 'application/vnd.ms-excel'; if (!trueType) { message.error('选择文件格式错误!'); } const trueSize = file.size / 1024 / 1024 < 30; if (!trueSize) { message.error('选择文件过大!'); } return trueType && trueSize; }} onChange={(info) => { const file = info.file; let fileList = info.fileList; fileList = fileList.slice(-1); // 只保留最后一个 if (info.file.status !== 'uploading') { console.log(file, info.fileList); const trueType = file.type === 'application/vnd.ms-excel'; const trueSize = file.size / 1024 / 1024 < 30; if(!trueType || !trueSize) { fileList = []; } } if (file.status === 'done') { message.success(`${file.name} 文件上传成功`); } else if (file.status === 'error') { fileList = []; message.error(`${file.name} 文件上传失败.`); } dispatch({ type: 'dataSource/setNewModelField', name: 'fileList', value: fileList }) }} >

点击选择或拖动文件到该区域

仅支持上传单个30MB以内EXCEL/CSV格式文件

):( console.log(value)} /> }>
{ generateCard() }
{this.setState({visibleBox: false})}} operation={operation} />
) }
); } } function mapStateToProps({ present: {dataSource, dataConnect} }) { return { dataSource, dataConnect } } export default connect(mapStateToProps)(DataConnectConfig);