king
2024-08-03 c547c75fce3c2d9badcb496da7d8e5443e22dbfc
src/utils/utils-custom.js
@@ -703,10 +703,6 @@
  * @return {String}  item 组件信息
  */
  static resetComponentConfig = (item, appType, commonId) => {
    if (item.type === 'navbar') {
      return item
    }
    if (item.subtype === 'tablecard') { // 兼容
      item.type = 'card'
    }
@@ -724,7 +720,22 @@
      item.name = item.setting.name
    }
    if (item.type === 'menubar') {
    if (item.columns) {
      item.columns = item.columns.map(cell => {
        cell.uuid = this.getuuid()
        return cell
      })
    }
    if (item.type === 'navbar') {
      if (appType === 'mob') {
        item.menus.forEach(menu => {
          menu.MenuID = this.getuuid()
        })
        item.wrap.MenuNo = item.wrap.MenuNo + sign
      }
      return item
    } else if (item.type === 'menubar') {
      item.subMenus = item.subMenus.map(cell => {
        cell.uuid = this.getuuid()
        return cell
@@ -923,12 +934,6 @@
      }
    } else if (item.search) {
      item.search = item.search.map(cell => {
        cell.uuid = this.getuuid()
        return cell
      })
    }
    if (item.columns) {
      item.columns = item.columns.map(cell => {
        cell.uuid = this.getuuid()
        return cell
      })
@@ -1842,21 +1847,27 @@
          errors.push({ level: 0, detail: `按钮“${cell.label}”使用了创建凭证函数,需要选择行!`})
        }
      } else if (cell.intertype === 'custom' || cell.intertype === 'outer') {
        if (cell.callbackType === 'script' && (!cell.verify || !cell.verify.cbScripts || !cell.verify.cbScripts.filter(item => item.status !== 'false').length === 0)) {
        if (cell.callbackType === 'script' && (!cell.verify || !cell.verify.cbScripts || cell.verify.cbScripts.filter(item => item.status !== 'false').length === 0)) {
          errors.push({ level: 0, detail: `按钮“${cell.label}”使用了自定义脚本回调,回调脚本不可为空!`})
        } else if (cell.procMode === 'system' && cell.Ot === 'notRequired' && cell.verify && cell.verify.voucher && cell.verify.voucher.enabled) {
          errors.push({ level: 0, detail: `按钮“${cell.label}”使用了创建凭证函数,需要选择行!`})
        }
      }
    } else if (cell.OpenType === 'funcbutton' && cell.funcType === 'print') {
      if (!cell.verify || !cell.verify.printMode) {
        errors.push({ level: 0, detail: `按钮“${cell.label}”请完善验证信息!`})
      } else if (cell.intertype === 'system' && cell.verify.dataType === 'custom' && (!cell.verify.setting || cell.verify.columns.length === 0)) {
        errors.push({ level: 0, detail: `按钮“${cell.label}”使用了自定义打印数据,请设置数据源!`})
    } else if (cell.OpenType === 'funcbutton') {
      if (cell.funcType === 'print') {
        if (!cell.verify || !cell.verify.printMode) {
          errors.push({ level: 0, detail: `按钮“${cell.label}”请完善验证信息!`})
        } else if (cell.intertype === 'system' && cell.verify.dataType === 'custom' && (!cell.verify.setting || cell.verify.columns.length === 0)) {
          errors.push({ level: 0, detail: `按钮“${cell.label}”使用了自定义打印数据,请设置数据源!`})
        }
      } else if ((cell.funcType === 'refund' || cell.funcType === 'pay') && cell.payMode === 'system' && (!cell.verify || !cell.verify.scripts || cell.verify.scripts.filter(item => item.status !== 'false').length === 0)) {
        errors.push({ level: 0, detail: `按钮“${cell.label}”需添加自定义脚本!`})
      }
    } else if (cell.OpenType === 'innerpage' || cell.OpenType === 'outerpage') {
      if (!cell.pageTemplate) {
        errors.push({ level: 0, detail: `按钮“${cell.label}”页面类型设置错误!`})
      } else if (cell.pageTemplate === 'pay' && cell.payMode === 'system' && (!cell.verify || !cell.verify.scripts || cell.verify.scripts.filter(item => item.status !== 'false').length === 0)) {
        errors.push({ level: 0, detail: `按钮“${cell.label}”需添加自定义脚本!`})
      }
    }
  }
@@ -2050,6 +2061,13 @@
      duration: 5
    })
    return false
  } else if (/\sdecimal\(8,/ig.test(sql)) {
    notification.warning({
      top: 92,
      message: `不可使用 decimal(8`,
      duration: 5
    })
    return false
  } else if (type === 'customscript' && /\son\s+[a-z0-9_]+\.[a-z0-9_]+\s*=\s*[a-z0-9_]+\.[a-z0-9_]+/ig.test(sql)) {
    let list = sql.match(/\son\s+[a-z0-9_]+\.[a-z0-9_]+\s*=\s*[a-z0-9_]+\.[a-z0-9_]+/ig)
    let errors = []