king
2020-02-04 fbe8b1adf4b50323b7ea6ad09c810cb3e07a69b9
src/utils/utils.js
@@ -166,25 +166,11 @@
    value = value.replace(/%/ig, 'mpercent')
    value = value.replace(/(^\s|\s$)/ig, '')
    // value = value.replace(/>/ig, 'greateror')
    //   .replace(/</ig, 'lessor')
    //   .replace(/!=/ig, 'noequal')
    //   .replace(/=/ig, 'equal')
    //   .replace(/,/ig, 'comma')
    //   .replace(/>=/ig, 'greaterorequal')
    //   .replace(/<=/ig, 'lessorequal')
    //   .replace(/@/ig, 'matk')
    //   .replace(/\(/ig, 'mlbrktsk')
    //   .replace(/\)/ig, 'mrbrktsk')
    //   .replace(/\*/ig, 'mastrsk')
    //   .replace(/'/ig, 'mqotek')
    //   .replace(/\s/ig, 'mspace')
    // 1、encode编码(中文字符超出base64加密范围),2、base64加密
    value = window.btoa(window.encodeURIComponent(value))
    // 随机插入字符
    let index = Math.floor(Math.random() * value.length)
    // 插入字符
    let index = Math.floor(value.length / 2)
    value = value.slice(0, index) + salt + value.slice(index)
    // base64加密
@@ -419,37 +405,39 @@
  }
  /**
   * @description 获取下拉搜索查询sql
   * @description 获取下拉搜索查询条件
   * @return {String} item   搜索条件信息
   */
  static getSelectQuerySql (item) {
  static getSelectQueryOptions (item) {
    let arrfield = [item.valueField, item.valueText]
    if (item.type === 'link') {
      arrfield.push(item.linkField)
    } else if (item.type === 'select' && item.linkSubField && item.linkSubField.length > 0) {
      arrfield.push(...item.linkSubField)
    }
    arrfield = Array.from(new Set(arrfield))
    let _datasource = item.dataSource
    let sql = ''
    let _field = item.valueField + ',' + item.valueText
    if (item.valueField === item.valueText) {
      _field = item.valueField
    }
    if (/\s/.test(_datasource)) { // 拼接别名
      _datasource = '(' + _datasource + ') tb'
    }
    if (item.type === 'link') {
      sql = 'select ' + _field + ',' + item.linkField + ' from ' + _datasource
    } else {
      let _linkSubField = '' // 下拉菜单关联表单
      if (item.linkSubField && item.linkSubField.length > 0) {
        _linkSubField = ',' + item.linkSubField.join(',')
      }
      sql = 'select ' + _field + _linkSubField + ' from ' + _datasource
    }
    arrfield = arrfield.join(',')
    if (item.orderBy) {
      sql = sql + ' order by ' + item.orderBy + ' ' + item.orderType
      sql = 'select distinct ' + arrfield + ',' + item.orderBy + ' as orderfield from ' + _datasource + ' order by orderfield ' + item.orderType
    } else {
      sql = 'select distinct ' + arrfield + ' from ' + _datasource
    }
    return sql
    return {
      sql: sql,
      field: arrfield
    }
  }
  /**
@@ -560,14 +548,21 @@
      })
    }
    if (verify && verify.billcodes.length > 0) {
    if (verify && verify.billcodes.length > 0) { // 单号生成
      verify.billcodes.forEach(item => {
        let _ModularDetailCode = ''
        if (item.TypeCharOne === 'Lp' || item.TypeCharOne === 'BN') {
          _ModularDetailCode = item.TypeCharOne + item.linkField
          let _val = ''
          if (item.linkField === 'BID' && BID) { // 替换bid
            _val = BID
          } else if (data.hasOwnProperty(item.linkField)) {
            _val = data[item.linkField]
          }
          _ModularDetailCode = item.TypeCharOne + _val
        } else {
          _ModularDetailCode = item.ModularDetailCode
        }
        _sql += `Declare @${item.field} nvarchar(50)
          select @BillCode='', @${item.field}=''
          exec s_get_BillCode
@@ -612,7 +607,10 @@
      let keys = []
      let values = []
      formdata.forEach(item => {
        if (item.type === 'number') {
        if (item.type === 'funcvar') {
          keys.push(item.key)
          values.push('@' + item.key)
        } else if (item.type === 'number') {
          keys.push(item.key)
          values.push(item.value)
        } else {
@@ -620,16 +618,19 @@
          values.push('\'' + item.value + '\'')
        }
      })
      keys = keys.join(',')
      values = values.join(',')
      _sql += `declare @UserName  nvarchar(50),@FullName nvarchar(50)
        select @UserName=UserName,@FullName=FullName from SUsers where UID=@UserID 
        `
      _sql += `insert into ${btn.sql} (${keys},createuserid,CreateUser,CreateStaff,BID) select ${values},@BID,@userid,@username,@fullname`
      _sql += `insert into ${btn.sql} (${keys},createuserid,CreateUser,CreateStaff,BID) select ${values},@userid,@username,@fullname,@BID`
    } else if (btn.OpenType === 'pop' && btn.sqlType === 'update') {
      let _form = []
      formdata.forEach(item => {
        if (item.type === 'number') {
        if (item.type === 'funcvar') {
          _form.push(item.key + '=@' + item.key)
        } else if (item.type === 'number') {
          _form.push(item.key + '=' + item.value)
        } else {
          _form.push(item.key + '=\'' + item.value + '\'')