king
2023-08-17 c7aece35a62b6e91fd98a625bf0e53f64bfbd18d
src/templates/sharecomponent/actioncomponent/verifyexcelout/datasource/index.jsx
@@ -1,6 +1,6 @@
import React, {Component} from 'react'
import PropTypes from 'prop-types'
import { Form, Row, Col, Input, Radio, Tooltip, notification } from 'antd'
import { Form, Row, Col, Input, Radio, Tooltip, notification, InputNumber } from 'antd'
import { QuestionCircleOutlined } from '@ant-design/icons'
import Utils from '@/utils/utils.js'
@@ -76,6 +76,14 @@
              })
              reject()
              return
            } else if (/,,/ig.test(values.dataresource)) {
              notification.warning({
                top: 92,
                message: '数据源中,不可出现连续的英文逗号(,,)',
                duration: 5
              })
              reject()
              return
            }
            let error = Utils.verifySql(values.dataresource)
@@ -100,8 +108,18 @@
  }
  updateDataType = (e) => {
    this.setState({dataType: e.target.value})
    this.props.updateDataType(e.target.value)
    if (e.target.value === 'custom') {
      setTimeout(() => {
        this.setState({
          dataType: e.target.value,
          defaultSql: this.props.setting.defaultSql || 'true'
        })
      }, 10)
    } else {
      this.setState({dataType: e.target.value})
    }
  }
  render() {
@@ -198,6 +216,13 @@
                </Radio.Group>)}
              </Form.Item>
            </Col> : null}
            {/* {dataType === 'custom' && defaultSql === 'true' ? <Col className="short-label" span={8}>
              <Form.Item label="主键">
                {getFieldDecorator('primaryKey', {
                  initialValue: setting.primaryKey || 'ID',
                })(<Input placeholder={''} autoComplete="off" />)}
              </Form.Item>
            </Col> : null} */}
            {dataType === 'custom' && defaultSql === 'true' ? <Col className="short-label" span={8}>
              <Form.Item label="排序方式">
                {getFieldDecorator('order', {
@@ -227,6 +252,62 @@
                </Radio.Group>)}
              </Form.Item>
            </Col> : null}
            {btnType !== 'print' ? <Col span={8}>
              <Form.Item label={
                <Tooltip placement="topLeft" title="导出excel中工作表名称,默认为Sheet1。">
                  <QuestionCircleOutlined className="mk-form-tip" />
                  工作表
                </Tooltip>
              }>
                {getFieldDecorator('sheet', {
                  initialValue: setting.sheet || ''
                })(<Input placeholder="" autoComplete="off" />)}
              </Form.Item>
            </Col> : null}
            {btnType !== 'print' ? <Col span={8}>
              <Form.Item label={
                <Tooltip placement="topLeft" title="导出excel中的行高。">
                  <QuestionCircleOutlined className="mk-form-tip" />
                  行高
                </Tooltip>
              }>
                {getFieldDecorator('rowHeight', {
                  initialValue: setting.rowHeight || ''
                })(<InputNumber min={10} max={200} precision={0} />)}
              </Form.Item>
            </Col> : null}
            {btnType !== 'print' ? <Col span={8}>
              <Form.Item label={
                <Tooltip placement="topLeft" title="请将需要合并的表头使用中横线分隔(如:商品-数量、商品-单价),前部分将作为主表头,后部分将作为子表头。">
                  <QuestionCircleOutlined className="mk-form-tip" />
                  表头合并
                </Tooltip>
              }>
                {getFieldDecorator('merge', {
                  initialValue: setting.merge || 'false'
                })(
                <Radio.Group>
                  <Radio value="false">否</Radio>
                  <Radio value="true">是</Radio>
                </Radio.Group>)}
              </Form.Item>
            </Col> : null}
            {btnType !== 'print' ? <Col span={8}>
              <Form.Item label={
                <Tooltip placement="topLeft" title="Excel内容区是否自动换行。">
                  <QuestionCircleOutlined className="mk-form-tip" />
                  自动换行
                </Tooltip>
              }>
                {getFieldDecorator('wrapText', {
                  initialValue: setting.wrapText || 'false'
                })(
                <Radio.Group>
                  <Radio value="false">否</Radio>
                  <Radio value="true">是</Radio>
                </Radio.Group>)}
              </Form.Item>
            </Col> : null}
          </Row>
        </Form>
      </div>