king
2022-10-22 03a22ec6f9ad7303d10b4c65bb5bc6fa5cbd448a
src/menu/datasource/index.jsx
@@ -4,9 +4,8 @@
import { Modal } from 'antd'
import { SettingOutlined } from '@ant-design/icons'
import zhCN from '@/locales/zh-CN/model.js'
import enUS from '@/locales/en-US/model.js'
import VerifyCard from './verifycard'
import MKEmitter from '@/utils/events.js'
import './index.scss'
class DataSource extends Component {
@@ -16,7 +15,6 @@
  }
  state = {
    dict: sessionStorage.getItem('lang') !== 'en-US' ? zhCN : enUS,
    appType: sessionStorage.getItem('appType'),
    sourcelist: [],
    mainSearch: [],
@@ -38,6 +36,11 @@
  editDataSource = () => {
    const { config } = this.props
    const { appType } = this.state
    if (config.type === 'interface') { // 公共数据源不使用搜索
      this.setState({visible: true})
      return
    }
    let search = []
    let menu = fromJS(window.GLOB.customMenu).toJS()
@@ -137,6 +140,8 @@
      visible: true,
      mainSearch: search
    })
    MKEmitter.emit('modalStatus', '数据源')
  }
  verifySubmit = () => {
@@ -182,12 +187,24 @@
            }
          })
        })
      } else {
        res.scripts.forEach(item => {
          if (item.status === 'false') return
          if (/exec\s/ig.test(item.sql)) {
            maxScript = 1000
          } else if (item.sql.length > maxScript) {
            maxScript = item.sql.length
          }
        })
      }
      res.setting.maxScript = maxScript
      this.setState({loading: false, visible: false})
      this.props.updateConfig({...config, ...res})
      MKEmitter.emit('modalStatus', false)
    }, () => {
      this.setState({loading: false})
    })
@@ -195,25 +212,24 @@
  render () {
    const { config } = this.props
    const { visible, dict, loading, mainSearch } = this.state
    const { visible, loading, mainSearch } = this.state
    return (
      <div className="model-datasource">
        <SettingOutlined title="数据源" onClick={() => this.editDataSource()} />
        <Modal
          wrapClassName="popview-modal"
          title={'数据源配置'}
          wrapClassName="mk-pop-modal"
          title=""
          visible={visible}
          width={'75vw'}
          maskClosable={false}
          okText={dict['model.submit']}
          okText="提交"
          onOk={this.verifySubmit}
          confirmLoading={loading}
          onCancel={() => { this.setState({ visible: false }) }}
          onCancel={() => { MKEmitter.emit('modalStatus', false);this.setState({ visible: false }) }}
          destroyOnClose
        >
          <VerifyCard
            dict={dict}
            mainSearch={mainSearch}
            config={config}
            wrappedComponentRef={(inst) => this.verifyRef = inst}