king
2020-02-25 0c86e5e2eaf907dfcb63aea13e6efac3ccc52cce
src/templates/tableshare/verifycardexcelin/customscript/index.jsx
@@ -8,12 +8,41 @@
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) => {
@@ -24,6 +53,19 @@
    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}`
      })
    }
  }
@@ -76,7 +118,7 @@
  }
  render() {
    const { usefulfields } = this.props
    const { usefulfields } = this.state
    const { getFieldDecorator } = this.props.form
    const formItemLayout = {
      labelCol: {
@@ -89,14 +131,12 @@
      }
    }
    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">