king
2025-03-11 c0f61b1955b21968014dbb65e424436d4738eb06
src/utils/utils-custom.js
@@ -1936,8 +1936,12 @@
    if (['pop', 'prompt', 'exec'].includes(cell.OpenType) && cell.verify && !cell.output) {
      if (cell.verify.noteEnable === 'true') {
        errors.push({ level: 0, detail: `按钮“${cell.label}”未设置返回值短信发送无效!`})
      } else if (cell.verify.wxNote === 'true') {
        errors.push({ level: 0, detail: `按钮“${cell.label}”未设置返回值公众号消息无效!`})
      } else if (cell.verify.emailEnable === 'true') {
        errors.push({ level: 0, detail: `按钮“${cell.label}”未设置返回值邮件发送无效!`})
      } else if (cell.verify.DeepSeekable === 'true') {
        errors.push({ level: 0, detail: `按钮“${cell.label}”未设置返回值DeekSeek无效!`})
      }
    }
@@ -2125,11 +2129,18 @@
      if (item.subButton.intertype === 'system' && !item.subButton.sqlType) {
        errors.push({ level: 0, detail: `${item.subButton.label} 按钮请设置操作类型`})
      }
      if (item.subButton.Ot === 'requiredSgl' && card.wrap.datatype === 'static') {
        errors.push({ level: 0, detail: `${item.subButton.label} 按钮选行时不可使用静态数据源`})
      }
      if (item.subButton.verify && !item.subButton.output) {
        if (item.subButton.verify.noteEnable === 'true') {
          errors.push({ level: 0, detail: `${item.subButton.label} 按钮未设置返回值短信发送无效!`})
        } else if (item.subButton.verify.wxNote === 'true') {
          errors.push({ level: 0, detail: `${item.subButton.label} 按钮未设置返回值公众号消息无效!`})
        } else if (item.subButton.verify.emailEnable === 'true') {
          errors.push({ level: 0, detail: `${item.subButton.label} 按钮未设置返回值邮件发送无效!`})
        } else if (item.subButton.verify.DeepSeekable === 'true') {
          errors.push({ level: 0, detail: `${item.subButton.label} 按钮未设置返回值DeekSeek无效!`})
        }
      }
@@ -2192,6 +2203,7 @@
  let _ch_d = sql.match(/@check\$/ig)
  let _m_b = sql.match(/\$@/ig)
  let _m_d = sql.match(/@\$/ig)
  let caseErr = false
  _quot = _quot ? _quot.length : 0
  _lparen = _lparen ? _lparen.length : 0
@@ -2200,6 +2212,14 @@
  _ch_d = _ch_d ? _ch_d.length : 0
  _m_b = _m_b ? _m_b.length : 0
  _m_d = _m_d ? _m_d.length : 0
  if (/case\s+when\s+[\s\S]+\send(\s|\n|$)/ig.test(sql)) {
    sql.match(/case\s+when\s+[\s\S]+\send(\s|\n|$)/ig).forEach(line => {
      if (!/\selse\s/ig.test(line)) {
        caseErr = true
      }
    })
  }
  if (_quot % 2 !== 0) {
    notification.warning({
@@ -2322,9 +2342,23 @@
    })
    return false
  } else if (/\sdecimal\(8,/ig.test(sql)) {
    let lines = ''
    sql.split(/\n/).forEach((s, i) => {
      if (/(^|\s)decimal\(8,/ig.test(s)) {
        lines = '第' + (i + 1) + '行中'
      }
    })
    notification.warning({
      top: 92,
      message: `不可使用 decimal(8`,
      message: `${lines}不可使用 decimal(8`,
      duration: 5
    })
    return false
  } else if (caseErr) {
    notification.warning({
      top: 92,
      message: 'case when 语句需要有 else',
      duration: 5
    })
    return false