baseConfigForm.jsx 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. import React from 'react';
  2. import { Form, Select } from 'antd';
  3. const FormItem = Form.Item;
  4. const { Option } = Select;
  5. import { connect } from 'dva';
  6. import chartDesigner from '../../../models/chartDesigner';
  7. class baseConfigForm extends React.Component {
  8. render() {
  9. const props = this.props;
  10. const allDataSource = props.chartDesigner.allDataSource;
  11. const { formItemLayout } = props
  12. return (
  13. <Form hideRequiredMark={true}>
  14. <FormItem label='数据源' {...formItemLayout}>
  15. <Select
  16. value={props.chartDesigner.baseConfig.dataSource}
  17. labelInValue={true}
  18. onChange={(value) => {
  19. props.dispatch({ type: 'chartDesigner/baseConfig/setDataSource', dataSource: value});
  20. }}
  21. >
  22. {allDataSource.map((dataSource, i)=>{
  23. return (<Option key={`dataSource-${i}`} value={dataSource.id}>{dataSource.name}</Option>)
  24. })}
  25. </Select>
  26. </FormItem>
  27. <FormItem label='可视化模式' {...formItemLayout}>
  28. <Select
  29. value={props.chartDesigner.baseConfig.viewType}
  30. labelInValue={true}
  31. onChange={(value) => {
  32. props.dispatch({ type: 'chartDesigner/baseConfig/setViewType', viewType: value});
  33. }}
  34. >
  35. <Option value='aggregateTable'>总体统计数据表</Option>
  36. <Option value='dataView'>个体统计数据表</Option>
  37. <Option value='line'>折线图</Option>
  38. <Option value='bar'>柱状图</Option>
  39. <Option value='pie'>饼状图</Option>
  40. <Option value='scatter'>散点图</Option>
  41. </Select>
  42. </FormItem>
  43. </Form>
  44. );
  45. }
  46. }
  47. function mapStateToProps({ present: { chartDesigner } }) {
  48. return { chartDesigner: chartDesigner }
  49. }
  50. export default Form.create()(connect(mapStateToProps)(baseConfigForm));