king
2021-02-02 316877c1d9e5b6d92334f30b03d97d7e833cd934
src/utils/utils.js
@@ -183,45 +183,6 @@
  }
  /**
   * @description 解密
   * @return {String}   value
   */
  static UnformatOptions (value) {
    if (!value) return ''
    let salt = 'minKe' // 盐值
    let _value = ''
    try {
      try {
        _value = JSON.parse(window.decodeURIComponent(window.atob(value)))
      } catch {
        _value = ''
      }
      if (!_value) {
        _value = window.atob(value)
        _value = _value.replace(salt, '')
        _value = window.decodeURIComponent(window.atob(_value))
        _value = _value.replace(/\smpercent\s/g, '%')
        formatKeys.forEach(item => {
          let reg = new RegExp(item.value, 'g')
          _value = _value.replace(reg, ' ' + item.key + ' ')
        })
        _value = _value.replace(/\s\n\s/ig, '\n')
        _value = _value.replace(/(^\s+|\s+$)/ig, '')
      }
    } catch {
      console.warn('UnFormat Failure')
      _value = ''
    }
    return _value
  }
  /**
   * @description sPC_TableData_InUpDe sql加密
   * @return {String}  value
   */
@@ -762,13 +723,14 @@
      field: arrfield
    }
  }
}
  /**
   * @description 获取excel导入参数
   * @return {String} btn   按钮
   * @return {String} data  excel数据
   */
  static getExcelInSql (item, data, dict, BID) {
export function getExcelInSql (item, data, dict, BID) {
    let btn = item.verify
    let keys = ['delete', 'drop', 'insert', 'truncate', 'update']
    let userName = sessionStorage.getItem('User_Name') || ''
@@ -782,9 +744,20 @@
    let database = item.sheet.match(/(.*)\.(.*)\./ig) || ''
    let sheet = item.sheet.replace(/(.*)\.(.*)\./ig, '')
  let getuuid = () => {
    let uuid = []
    let timestamp = new Date().getTime()
    let _options = '0123456789abcdefghigklmnopqrstuv'
    for (let i = 0; i < 19; i++) {
      uuid.push(_options.substr(Math.floor(Math.random() * 0x20), 1))
    }
    uuid = timestamp + uuid.join('')
    return uuid
  }
    let errors = []
    let _topline = btn.range || 0
    let upId = this.getuuid()
  let upId = getuuid()
    let _initCustomScript = '' // 初始化脚本
    let _prevCustomScript = '' // 默认sql前执行脚本
@@ -1055,14 +1028,13 @@
   * @return {String} type   执行类型
   * @return {String} table  表名
   */
  static getSysDefaultSql (btn, setting, formdata, param, data, columns, tab) {
export function getSysDefaultSql (btn, setting, formdata, param, data, columns, tab, retmsg = false) {
    let primaryId = param.ID
    let BID = param.BID
    let verify = btn.verify || {}
    let datavars = {}                 // 声明的变量,表单及显示列
    let _actionType = null
    let appkey = window.GLOB.appkey || ''
    let sessionUid = localStorage.getItem('SessionUid') || ''
  let _callbacksql = ''
    if (verify.default !== 'false') { // 判断是否使用默认sql
      _actionType = btn.sqlType
@@ -1109,12 +1081,6 @@
    // 获取字段键值对
    formdata && formdata.forEach(form => {
      if (form.type === 'text') { // 特殊字段替换
        form.value = form.value.replace(/^(\s*)@appkey@(\s*)$/ig, appkey)
        form.value = form.value.replace(/^(\s*)@SessionUid@(\s*)$/ig, sessionUid)
        form.value = form.value.replace(/^(\s*)@bid@(\s*)$/ig, BID)
      }
      let _key = form.key.toLowerCase()
      datavars[_key] = form.value
@@ -1263,6 +1229,10 @@
        /* 凭证及用户信息初始化赋值 */
        select @BVoucher='',@FIBVoucherDate='',@FiYear='',@ErrorCode='',@retmsg='',@UserName='${userName}', @FullName='${fullName}', @BillCode='', @ModularDetailCode=''
        `
  if (retmsg) {
    _callbacksql = _sql
  }
    if (_initCustomScript) {
      _sql += _initCustomScript
@@ -1689,14 +1659,26 @@
      _sql += _backCustomScript
    }
  if (retmsg) {
    _sql += `
      aaa: if @ErrorCode!=''
      insert into tmp_err_retmsg (ID, ErrorCode, retmsg, CreateUserID) select @time_id@,@ErrorCode, @retmsg,@UserID@`
  } else {
    _sql += `
        aaa: select @ErrorCode as ErrorCode,@retmsg as retmsg`
  }
    if ((window.GLOB.systemType !== 'production' && options.sysType !== 'cloud') || window.debugger === true) {
      _sql = _sql.replace(/\n\s{8}/ig, '\n')
    // _sql = _sql.replace(/\n\s{8}/ig, '\n')
      console.info(_sql)
    }
  if (retmsg) {
    return {
      sql: _sql,
      callbacksql: _callbacksql
    }
  } else {
    return _sql
  }
}