king
2023-08-27 da64ab0923bf8817fc8599a6e37b953ce38f64c8
src/templates/zshare/createinterface/index.jsx
@@ -6,13 +6,12 @@
import MutilForm from './mutilform'
import Utils from '@/utils/utils.js'
import options from '@/store/options.js'
import { updateForm } from '@/utils/utils-update.js'
import Api from '@/api'
import './index.scss'
class CreateFunc extends Component {
class CreateInterface extends Component {
  static propTypes = {
    dict: PropTypes.object,  // 字典项
    trigger: PropTypes.func
  }
@@ -170,10 +169,10 @@
        required: true,
        options: [{
          value: 'Y',
          text: this.props.dict['model.true']
          text: '是'
        }, {
          value: 'N',
          text: this.props.dict['model.false']
          text: '否'
        }]
      }, {
        type: 'radio',
@@ -183,10 +182,10 @@
        required: true,
        options: [{
          value: 'Y',
          text: this.props.dict['model.true']
          text: '是'
        }, {
          value: 'N',
          text: this.props.dict['model.false']
          text: '否'
        }]
      }]
    })
@@ -261,7 +260,7 @@
    new Promise(resolve => {
      // 获取云端存储过程信息
      Api.getLocalConfig(param).then(result => {
      Api.genericInterface(param).then(result => {
        if (!result.status) {
          notification.warning({
            top: 92,
@@ -335,7 +334,7 @@
      Ltexttableparam: '',
      Ltext: '',
      menuType: menu.type,
      systemType: options.sysType
      systemType: window.GLOB.sysType
    }
    this.setState({
@@ -406,7 +405,7 @@
    new Promise(resolve => {
      if (btn.OpenType === 'pop') {
        Api.getSystemConfig({
        Api.getCloudConfig({
          func: 'sPC_Get_LongParam',
          MenuID: btn.uuid
        }).then(result => {
@@ -422,20 +421,14 @@
                _LongParam = ''
              }
            }
            let fields = []
            if (_LongParam && _LongParam.type === 'Modal') {
              if (_LongParam.groups.length > 0) {
                _LongParam.groups.forEach(group => {
                  fields = [...fields, ...group.sublist]
                })
              } else {
                fields = _LongParam.fields
              }
              _LongParam = updateForm(_LongParam)
            }
            if (fields && fields.length > 0) {
              formlist = fields.map(cell => {
            if (_LongParam && _LongParam.fields.length > 0) {
              _LongParam.fields.forEach(cell => {
                if (!cell.field) return
                let _fieldlen = cell.fieldlength || 50
                if (cell.type === 'textarea' || cell.type === 'fileupload' || cell.type === 'multiselect') {
@@ -452,7 +445,7 @@
                  fieldlen: _fieldlen,
                  key: cell.field,
                  required: cell.required === 'true' ? 'required' : '',
                  writein: cell.required !== 'false',
                  writein: cell.writein !== 'false',
                  value: cell.initval || ''
                }
@@ -462,6 +455,8 @@
                  _fieldtype = 'datetime'
                } else if (_field.type === 'number') {
                  _fieldtype = `decimal(18,${_fieldlen})`
                } else if (_field.type === 'rate') {
                  _fieldtype = `decimal(18,2)`
                }
                _field.fieldtype = _fieldtype
@@ -471,7 +466,7 @@
                  _field.value = ''
                }
                return _field
                formlist.push(_field)
              })
            }
            resolve(true)
@@ -561,7 +556,7 @@
      _mainParam = fromJS(param).toJS()
      return Api.getLocalConfig(param)
      return Api.genericInterface(param)
    }).then(res => {
      if (res === false) return res
@@ -668,6 +663,8 @@
          _type = 'datetime'
        } else if (form.type === 'number') {
          _type = `decimal(18,${form.fieldlen})`
        } else if (form.type === 'rate') {
          _type = `decimal(18,2)`
        }
        _declarefields.push(`@${_key} ${_type}`)
@@ -720,10 +717,10 @@
        `
    }
    if (_initcolumnfields.length > 0) {
      _sql += `select ${_initcolumnfields.join(',')} from ${setting.dataresource} where ${primaryKey}=@ID@
        `
    }
    // if (_initcolumnfields.length > 0) {
    //   _sql += `select ${_initcolumnfields.join(',')} from (${setting.dataresource})tb where ${primaryKey}=@ID@
    //     `
    // }
    
    // 去除禁用的验证
    if (verify.contrasts) {
@@ -955,8 +952,10 @@
      receiptKeys.push('bid')
    }
    let _insertsql = ''
    let _updatesql = ''
    // 添加、修改、逻辑删除、物理删除
    if (_actionType === 'insert') {
    if (_actionType === 'insert' || _actionType === 'insertOrUpdate') {
      let keys = []
      let values = []
@@ -964,7 +963,7 @@
        if (item.writein === false) return
        keys.push(item.key.toLowerCase())
        values.push('@' + item.key + '@')
        values.push('@' + item.key)
      })
      if (!keys.includes(primaryKey.toLowerCase())) {
@@ -991,10 +990,12 @@
      keys = keys.join(',')
      values = values.join(',')
      _sql += `
      _insertsql = `
        /* 默认sql */
        insert into ${btn.sql} (${keys}) select ${values};`
    } else if (_actionType === 'update') {
    }
    if (_actionType === 'update' || _actionType === 'audit' || _actionType === 'insertOrUpdate') {
      let _form = []
      let _arr = []
@@ -1002,7 +1003,7 @@
        if (item.writein === false) return
        _arr.push(item.key.toLowerCase())
        _form.push(item.key + `=@${item.key}@`)
        _form.push(item.key + `=@${item.key}`)
      })
      
      if (!_arr.includes('modifydate')) {
@@ -1010,6 +1011,9 @@
      }
      if (!_arr.includes('modifyuserid')) {
        _form.push('modifyuserid=@userid@')
      }
      if (!_arr.includes('modifyuser')) {
        _form.push('modifyuser=@username')
      }
      if (hasvoucher) {
        if (!_arr.includes('bvoucher')) {
@@ -1034,13 +1038,32 @@
      }
      _form = _form.join(',')
      _sql += `
      _updatesql = `
        /* 默认sql */
        update ${btn.sql} set ${_form} where ${primaryKey}=@${primaryKey}@;`
    }
    if (_actionType === 'insert') {
      _sql += _insertsql
    } else if (_actionType === 'update' || _actionType === 'audit') {
      _sql += _updatesql
    } else if (_actionType === 'insertOrUpdate') {
      _sql += `
        select @tbid=''
        select @tbid='X' from ${btn.sql} where ${primaryKey}=@ID@
        if @tbid=''
          begin
          ${_insertsql}
          end
        else
          begin
          ${_updatesql}
          end
      `
    } else if (_actionType === 'LogicDelete') { // 逻辑删除
      _sql += `
        /* 默认sql */
        update ${btn.sql} set deleted=1,modifydate=getdate(),modifyuserid=@userid@ where ${primaryKey}=@${primaryKey}@;`
        update ${btn.sql} set deleted=1,modifydate=getdate(),modifyuser=@username,modifystaff=@fullname,modifyuserid=@userid@ where ${primaryKey}=@${primaryKey}@;`
      
    } else if (_actionType === 'delete') {      // 物理删除
      let _msg = ''
@@ -1087,11 +1110,11 @@
          onClick={this.props.trigger}
          loading={this.state.loading}
        >
          {this.props.dict['header.menu.interface.create']}
          创建接口
        </Button>
        {/* 接口选项 */}
        <Modal
          title={this.props.dict['header.menu.interface.create']}
          title="创建接口"
          visible={this.state.visible}
          width={500}
          maskClosable={false}
@@ -1100,7 +1123,6 @@
          destroyOnClose
        >
          <MutilForm
            dict={this.props.dict}
            formlist={this.state.formlist}
            wrappedComponentRef={(inst) => this.FormRef = inst}
          />
@@ -1110,4 +1132,4 @@
  }
}
export default CreateFunc
export default CreateInterface