king
2024-09-11 bfbd5a28cacbde2c5d69df79c817c1218da41dde
src/utils/utils-custom.js
@@ -3129,7 +3129,7 @@
  
          if (item.subtype === 'editable' && item.submit.intertype === 'system') {
            item.submit.logLabel = item.$menuname + '-提交'
            let msg = getEditTableSql(item.submit, item.cols, item.columns)
            let msg = getEditTableSql(item.submit, item.cols, item.columns, item.setting)
            sqls.push({uuid: 'submit_' + item.uuid, type: 'editable', ...msg})
          }
@@ -5149,7 +5149,7 @@
    return {LText: sql, md5: md5(sql), reps}
  }
  let getEditTableSql = (btn, cols, columns) => {
  let getEditTableSql = (btn, cols, columns, setting) => {
    let sheet = btn.sheet.replace(/@db@/ig, '')
    let database = ''
    if (/@db@/ig.test(btn.sheet)) {
@@ -5157,28 +5157,42 @@
    }
  
    let forms = []
    let _fields = {}
    columns.forEach(col => {
      _fields[col.field] = col.datatype
    })
    let _forms = {}
    let index = 0
    let getColumns = (cols) => {
      cols.forEach(item => {
        if (item.type === 'colspan') {
          getColumns(item.subcols)
        } else if (item.editable === 'true') {
          forms.push({
            field: item.field,
            type: item.type,
            datatype: _fields[item.field] || 'nvarchar(50)'
          })
          item.$sort = index
          _forms[item.field] = item
          index++
        }
      })
    }
    getColumns(cols)
  
    columns.forEach(item => {
      if (item.field === setting.primaryKey) return
      if (_forms[item.field]) {
        let _item = {..._forms[item.field]}
        if (_item.editType === 'date') {
          _item.datatype = _item.declareType || 'datetime'
        } else {
          _item.datatype = item.datatype
        }
        forms.push(_item)
      } else {
        forms.push({...item, $sort: 999})
      }
    })
    forms.sort((a, b) => a.$sort - b.$sort)
    let sql = ''
  
    let _initCustomScript = '' // 初始化脚本