king
2020-02-21 063b983daaf51a7f1e8677bde1e9c0e618866c91
src/templates/tableshare/verifycard/customscript/index.jsx
@@ -1,15 +1,15 @@
import React, {Component} from 'react'
import PropTypes from 'prop-types'
import { Form, Row, Col, Input, Button } from 'antd'
import { Form, Row, Col, Input, Button, notification } from 'antd'
import './index.scss'
const { TextArea } = Input
class CustomForm extends Component {
  static propTpyes = {
    dict: PropTypes.object,       // 字典项
    fields: PropTypes.array,      // 表单
    scriptsChange: PropTypes.func  // 表单
    dict: PropTypes.object,         // 字典项
    usefulfields: PropTypes.string, // 可用字段
    scriptsChange: PropTypes.func   // 表单
  }
  state = {
@@ -33,6 +33,37 @@
      if (!err) {
        values.uuid = this.state.editItem ? this.state.editItem.uuid : ''
        let _quot = values.sql.match(/'{1}/g)
        let _lparen = values.sql.match(/\({1}/g)
        let _rparen = values.sql.match(/\){1}/g)
        _quot = _quot ? _quot.length : 0
        _lparen = _lparen ? _lparen.length : 0
        _rparen = _rparen ? _rparen.length : 0
        if (_quot % 2 !== 0) {
          notification.warning({
            top: 92,
            message: 'sql中\'必须成对出现',
            duration: 10
          })
          return
        } else if (_lparen !== _rparen) {
          notification.warning({
            top: 92,
            message: 'sql中()必须成对出现',
            duration: 10
          })
          return
        } else if (/--/ig.test(values.sql)) {
          notification.warning({
            top: 92,
            message: '自定义sql语句中,不可出现字符 -- ,注释请用 /*内容*/',
            duration: 10
          })
          return
        }
        this.props.scriptsChange(values)
        this.setState({
          editItem: null
@@ -45,7 +76,7 @@
  }
  render() {
    const { fields } = this.props
    const { usefulfields } = this.props
    const { getFieldDecorator } = this.props.form
    const formItemLayout = {
      labelCol: {
@@ -57,14 +88,13 @@
        sm: { span: 16 }
      }
    }
    let _fields = fields.map(item => item.field)
    return (
      <Form {...formItemLayout} className="verify-form" id="verifycard2">
        <Row gutter={24}>
          {fields && fields.length > 0 ? <Col span={21} className="sqlfield">
            <Form.Item label={'表单字段'}>
              {_fields.join(', ')}
          {usefulfields ? <Col span={21} className="sqlfield">
            <Form.Item label={'可用字段'}>
              {usefulfields}
            </Form.Item>
          </Col> : null}
          <Col span={21} className="sql">