king
2020-09-08 d3e3e32f62955e7ac7983bde70924daaacab5dc1
src/templates/sharecomponent/settingcomponent/settingform/customscript/index.jsx
@@ -1,5 +1,6 @@
import React, {Component} from 'react'
import PropTypes from 'prop-types'
import { fromJS } from 'immutable'
import { Form, Row, Col, Button, notification, Modal, Select } from 'antd'
import moment from 'moment'
@@ -16,6 +17,7 @@
    setting: PropTypes.object,      // 设置
    searches: PropTypes.array,      // 搜索条件
    swhere: PropTypes.string,       // where条件
    defaultSql: PropTypes.string,   // 默认sql
    arr_field: PropTypes.string,    // 列字段
    regoptions: PropTypes.array,    // 正则替换
    systemScripts: PropTypes.array, // 系统脚本
@@ -123,36 +125,23 @@
          return
        }
        let _customScript = ''
        setting.scripts && setting.scripts.forEach(script => {
          if (this.state.editItem && this.state.editItem.uuid === script.uuid) {
            _customScript += `
            ${values.sql}
            `
          } else if (script.status !== 'false') {
            _customScript += `
            ${script.sql}
            `
          }
        })
        let scripts = fromJS(this.props.scripts).toJS()
        if (!this.state.editItem) {
          _customScript += `
            ${values.sql}
            `
        if (values.uuid) {
          scripts = scripts.map(item => {
            if (item.uuid === values.uuid) {
              return values
            } else {
              return item
            }
          })
        } else {
          scripts.push(values)
        }
        if (_customScript) {
          _customScript = `declare @ErrorCode nvarchar(50),@retmsg nvarchar(4000) select @ErrorCode='',@retmsg =''
            ${_customScript}
          `
        }
        let _setting = {...setting, customScript: _customScript}
        let param = {
          func: 's_debug_sql',
          LText: SettingUtils.getDebugSql(_setting, arr_field, regoptions, swhere)
          LText: SettingUtils.getDebugSql(setting, scripts, arr_field, regoptions, swhere)
        }
        param.LText = Utils.formatOptions(param.LText)
@@ -203,7 +192,7 @@
  }
  render() {
    const { systemScripts, setting, type } = this.props
    const { systemScripts, setting, type, defaultSql } = this.props
    const { getFieldDecorator } = this.props.form
    const { usefulFields } = this.state
    const formItemLayout = {
@@ -242,6 +231,7 @@
                filterOption={(input, option) => option.props.children.toLowerCase().indexOf(input.toLowerCase()) >= 0}
                onChange={this.selectScript}
              >
                <Select.Option key="default" value={defaultSql}>默认sql</Select.Option>
                {systemScripts.map((option, i) =>
                  <Select.Option style={{whiteSpace: 'normal'}} key={i} value={option.value}>{option.name}</Select.Option>
                )}