king
2023-03-02 d1f19b794216b37417e114b71c1cd7a2ac3d7748
src/utils/utils.js
@@ -78,20 +78,6 @@
  }
  /**
   * @description 数据源名称,用于统一查询
   * @return {String}  name
   */
  static getdataName () {
    let name = []
    let _options = 'abcdefghigklmnopqrstuvwxyz'
    for (let i = 0; i < 6; i++) {
      name.push(_options.substr(Math.floor(Math.random() * 26), 1))
    }
    name.splice(3, 0, new Date().getTime())
    return name.join('')
  }
  /**
   * @description 生成32位uuid string + 时间
   * @return {String}  uuid
   */
@@ -219,6 +205,35 @@
    return value
  }
  // /**
  //  * @description sql解密
  //  * @return {String}   value
  //  */
  // static unFormatOptions (value) {
  //   if (!value) return ''
  //   value = window.atob(value)
  //   value = value.replace('minKe', '')
  //   value = window.decodeURIComponent(window.atob(value))
  //   // 外联数据库替换
  //   if (window.GLOB.externalDatabase !== null && window.GLOB.externalDatabase) {
  //     value = value.replace(window.GLOB.externalDatabase, '@db@')
  //   }
  //   value = value.replace(/ mpercent /ig, '%')
  //   // 替换关键字
  //   formatKeys.forEach(item => {
  //     let reg = new RegExp('(\\s)?' + item.value.replace(/\s/g, '') + '(\\s)?', 'ig')
  //     value = value.replace(reg, ' ' + item.key + ' ')
  //   })
  //   // value = value.replace(/\n/ig, ' \n ')
  //   return value
  // }
  /**
   * @description sPC_TableData_InUpDe sql加密
@@ -844,7 +859,7 @@
 * @return {Object} dict   字典项
 * @return {String} BID    上级Id
 */
export function getExcelInSql (item, data, dict, BID) {
export function getExcelInSql (item, data, dict, BID, primaryId) {
  let btn = item.verify
  let keys = ['delete', 'drop', 'insert', 'truncate', 'update']
  let userName = sessionStorage.getItem('User_Name') || ''
@@ -897,20 +912,30 @@
    btn.scripts.forEach(script => {
      if (script.status === 'false') return
      let _sql = script.sql
      _sql = _sql.replace(/@ID@/ig, `'${primaryId || ''}'`)
      _sql = _sql.replace(/@BID@/ig, `'${BID}'`)
      _sql = _sql.replace(/@LoginUID@/ig, `'${sessionStorage.getItem('LoginUID') || ''}'`)
      _sql = _sql.replace(/@SessionUid@/ig, `'${localStorage.getItem('SessionUid') || ''}'`)
      _sql = _sql.replace(/@UserID@/ig, `'${sessionStorage.getItem('UserID') || ''}'`)
      _sql = _sql.replace(/@Appkey@/ig, `'${window.GLOB.appkey || ''}'`)
      _sql = _sql.replace(/@typename@/ig, `'admin'`)
      if (script.position === 'init') {
        _initCustomScript += `
      /* 自定义脚本 */
      ${script.sql}
      ${_sql}
      `
      } else if (script.position === 'front') {
        _prevCustomScript += `
      /* 自定义脚本 */
      ${script.sql}
      ${_sql}
      `
      } else {
        _backCustomScript += `
      /* 自定义脚本 */
      ${script.sql}
      ${_sql}
      `
      }
    })
@@ -1487,7 +1512,7 @@
  }
  // 添加数据中字段,表单值优先(按钮不选行或多行拼接时跳过)
  if (data && btn.Ot !== 'notRequired' && btn.Ot !== 'requiredOnce' && columns && columns.length > 0) {
  if (data && btn.Ot !== 'notRequired' && columns && columns.length > 0) {
    datavars = {...data, ...datavars}
    const setField = (col) => {
@@ -2046,13 +2071,12 @@
  
  } else if (_actionType === 'delete') {      // 物理删除
    let _msg = ''
    if (data && columns && columns.length > 0) {
    if (data && columns && columns.length > 0 && btn.Ot !== 'notRequired') {
      let _index = 0
      columns.forEach(col => {
        if (col.Hide !== 'true' && col.type !== 'colspan' && col.type !== 'old_colspan' && _index < 4) {
          _msg += col.label + '=' + data[col.field] + ','
          _index++
        }
        if (!col.field || col.Hide === 'true' || _index >= 4) return
        _msg += col.label + '=' + data[col.field] + ','
        _index++
      })
    }
@@ -2132,6 +2156,7 @@
    _callbacksql = _callbacksql.replace(/@SessionUid@/ig, `'${localStorage.getItem('SessionUid') || ''}'`)
    _callbacksql = _callbacksql.replace(/@UserID@/ig, `'${sessionStorage.getItem('UserID') || ''}'`)
    _callbacksql = _callbacksql.replace(/@Appkey@/ig, `'${window.GLOB.appkey || ''}'`)
    _callbacksql = _callbacksql.replace(/@typename@/ig, `'admin'`)
    
    return {
      sql: _sql,