| | |
| | | class CustomForm extends Component { |
| | | static propTpyes = { |
| | | dict: PropTypes.object, // 字典项 |
| | | btn: PropTypes.object, // 按钮信息 |
| | | scripts: PropTypes.array, // 自定义脚本列表 |
| | | isdefault: PropTypes.any, // 是否使用默认sql |
| | | usefulfields: PropTypes.string, // 可用字段 |
| | | scriptsChange: PropTypes.func // 表单 |
| | | } |
| | | |
| | | state = { |
| | | editItem: null |
| | | editItem: null, |
| | | usefulfields: null |
| | | } |
| | | |
| | | UNSAFE_componentWillMount () { |
| | | const {usefulfields} = this.props |
| | | |
| | | let fields = usefulfields.map(item => item.Column) |
| | | fields = ['BID', 'ID', ...fields] |
| | | fields = Array.from(new Set(fields)) |
| | | |
| | | this.setState({ |
| | | usefulfields: fields.join(', ') |
| | | }) |
| | | } |
| | | |
| | | componentDidMount () { |
| | | const { btn, isdefault, usefulfields, scripts } = this.props |
| | | |
| | | if (isdefault === 'false' && scripts.length === 0) { |
| | | let fields = usefulfields.map(col => col.Column).join(',') |
| | | |
| | | this.props.form.setFieldsValue({ |
| | | sql: `Insert into ${btn.sheet} (${fields},createuserid,createuser,createstaff,bid) |
| | | Select ${fields},@userid,@username,@fullname,@BID From @${btn.sheet}` |
| | | }) |
| | | } |
| | | } |
| | | |
| | | edit = (record) => { |
| | |
| | | this.props.form.setFieldsValue({ |
| | | sql: record.sql |
| | | }) |
| | | } |
| | | |
| | | UNSAFE_componentWillReceiveProps (nextProps) { |
| | | const { btn, usefulfields, scripts } = this.props |
| | | |
| | | if (nextProps.isdefault ==='false' && this.props.isdefault !== nextProps.isdefault && scripts.length === 0) { |
| | | let fields = usefulfields.map(col => col.Column).join(',') |
| | | |
| | | this.props.form.setFieldsValue({ |
| | | sql: `Insert into ${btn.sheet} (${fields},createuserid,createuser,createstaff,bid) |
| | | Select ${fields},@userid,@username,@fullname,@BID From @${btn.sheet}` |
| | | }) |
| | | } |
| | | } |
| | | |
| | | |
| | |
| | | } |
| | | |
| | | render() { |
| | | const { usefulfields } = this.props |
| | | const { usefulfields } = this.state |
| | | const { getFieldDecorator } = this.props.form |
| | | const formItemLayout = { |
| | | labelCol: { |
| | |
| | | } |
| | | } |
| | | |
| | | let _fields = usefulfields.map(item => item.Column).join(', ') |
| | | |
| | | return ( |
| | | <Form {...formItemLayout} className="verify-form" id="verifycard2"> |
| | | <Row gutter={24}> |
| | | {_fields ? <Col span={21} className="sqlfield"> |
| | | {usefulfields ? <Col span={21} className="sqlfield"> |
| | | <Form.Item label={'可用字段'}> |
| | | {_fields} |
| | | {usefulfields} |
| | | </Form.Item> |
| | | </Col> : null} |
| | | <Col span={21} className="sql"> |