king
2024-10-06 338a4dd6bda832e0c4764eefb5c608ac3328422e
2024-10-06
1个文件已修改
57 ■■■■ 已修改文件
src/menu/debug/index.jsx 57 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/menu/debug/index.jsx
@@ -385,7 +385,7 @@
          getCols(item.cols)
  
          if (item.subtype === 'editable' && item.submit.intertype === 'system') {
            let sql = this.getEditTableSql(item.submit, item.cols, item.columns)
            let sql = this.getEditTableSql(item.submit, item.cols, item.columns, item.setting)
            children.push({label: '提交', sql: sql})
          }
        } else if (item.type === 'card' || item.type === 'carousel' || item.type === 'timeline') {
@@ -1131,6 +1131,17 @@
  
    // 唯一性验证,必须存在表单(表单存在时,主键均为单值),必须填写数据源,多行拼接时不可用
    if (formdata && verify.uniques && verify.uniques.length > 0 && btn.Ot !== 'requiredOnce') {
      let dateForms = []
      let numForms = []
      formdata.forEach(form => {
        let _key = form.key.toLowerCase()
        if (form.type === 'date') {
          dateForms.push(_key)
        } else if (form.type === 'number' || form.type === 'rate') {
          numForms.push(_key)
        }
      })
      verify.uniques.forEach(item => {
        let _fieldValue = []                     // 表单键值对field=value
        let _value = []                          // 表单值,用于错误提示
@@ -1144,6 +1155,10 @@
          arr.push(_key)
          if (_key === 'bid') { // 表单中没有bid则使用系统bid变量
            _val = BID
          } else if (numForms.includes(_key)) {
            _val = '1'
          } else if (dateForms.includes(_key)) {
            _val = '1949-10-01'
          }
          _fieldValue.push(`${_key}='${_val}'`)
@@ -1759,7 +1774,7 @@
    return sql
  }
  getEditTableSql = (verify, cols, columns) => {
  getEditTableSql = (verify, cols, columns, setting) => {
    let btn = verify
    let userName = sessionStorage.getItem('User_Name') || ''
    let fullName = sessionStorage.getItem('Full_Name') || ''
@@ -1787,30 +1802,46 @@
  
    let vals = []
    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)
    forms.forEach(col => {
      if (col.type === 'number') {
      if (/date/.test(col.datatype)) {
        vals.push(`'1949-10-01'`)
      } else if (col.type === 'number') {
        vals.push(`1`)
      } else {
        vals.push(`'mk'`)