king
2020-06-05 24f0ce147c8daef39ec437d5def9d089ea5b1839
src/utils/utils.js
@@ -2,8 +2,6 @@
import md5 from 'md5'
import options from '@/store/options.js'
const service = window.GLOB.service ? (/\/$/.test(window.GLOB.service) ? window.GLOB.service : window.GLOB.service + '/') : ''
export default class Utils {
  /**
   * @description 生成32位uuid string + 时间
@@ -67,10 +65,10 @@
      {key: 'alter', reg: /(^|\s)alter\s/ig},
      {key: 'truncate', reg: /(^|\s)truncate\s/ig},
      {key: 'if', reg: /(^|\s)if\s/ig},
      {key: 'exec', reg: /exec/ig},
      {key: 'OBJECT', reg: /object/ig},
      {key: 'sys.', reg: /sys\./ig},
      {key: 'kill', reg: /kill/ig}
      {key: 'exec', reg: /(^|\s)exec(\s|\()/ig},
      {key: 'OBJECT', reg: /(^|\s)object(\s|\()/ig},
      {key: 'sys.', reg: /(^|\s)sys\./ig},
      {key: 'kill', reg: /(^|\s)kill\s/ig}
    ]
    if (type === 'customscript') {
@@ -553,9 +551,9 @@
    let baseurl = ''
    if (process.env.NODE_ENV === 'production') {
      baseurl = document.location.origin + '/' + service
      baseurl = document.location.origin + '/' + window.GLOB.service
    } else {
      baseurl = 'http://qingqiumarket.cn/' + service
      baseurl = window.GLOB.location + window.GLOB.service
    }
    // if (!/Content\/images\/upload\//.test(url)) {
    //   baseurl = baseurl + 'Content/images/upload/'
@@ -576,7 +574,7 @@
    if (options.cloudServiceApi) {
      baseurl = options.cloudServiceApi.replace(/webapi(.*)$/, '')
    } else {
      baseurl = document.location.origin + '/' + service
      baseurl = document.location.origin + '/' + window.GLOB.service
    }
    return url.match(/^http/) || url.match(/^\/\//) ? url : baseurl + url
@@ -1051,10 +1049,15 @@
        datasource = '(' + datasource + ') tb'
      }
      let _ID = '=@ID@'
      if (btn.Ot === 'requiredOnce') {
        _ID = ' in (select ID from  dbo.SplitComma(@ID@))'
      }
      _sql += `
        /* 失效验证 */
        select @tbid='', @ErrorCode='',@retmsg=''
        select @tbid=${primaryKey} from ${datasource} where ${primaryKey} ='${primaryId}'
        select @tbid=${primaryKey} from ${datasource} where ${primaryKey} ${_ID}
        If @tbid=''
        Begin
          select @ErrorCode='E',@retmsg='数据已失效'
@@ -1130,18 +1133,20 @@
      }
      verify.uniques.forEach(item => {
        console.log(item)
        // `有同类数据验证:
        // 与唯一性验证一样,可以选几个字段
        // Set @tbid=’’
        let _primaryKey = item.field.split(',').includes(primaryKey) ? '' : ',' + primaryKey
        _sql += `
        /* 同类数据验证 */
        Set @tbid=''
        Select top 1 @tbid='X' from (select ${item.field}${_primaryKey},1 as n from ${datasource} ) tb  inner join (select ID from  dbo.SplitComma(@ID@)) sp on tb.${primaryKey}=sp.ID group by ${item.field} having sum(n)>1
        
        // Select top 1 @tbid=’X’ from (select 多个字段逗号分隔,主键,1 an n from 数据源 ) tb  inner join (select ID from  dbo.SplitComma(@ID@)) sp on tb.主键=sp.ID group by 多个字段逗号分隔 having sum(n)>1
        // If @tbid!=’’
        // Begin
        //     Set @errorcode=’E’ ,Set @remsg=’多个字段逗号分隔 值不唯一’ goto aaa
        // end
        // `
        If @tbid!=''
        Begin
          Set @ErrorCode='E' Set @retmsg='${item.fieldlabel} 值不唯一'
          goto aaa
        end
        `
      })
    }