fuzui
2021-12-16 43d76e599091dc6b79b51f89c79514b50e33ea35
ruoyi-ui/src/utils/ruoyi.js
@@ -1,9 +1,7 @@
/**
/**
 * 通用js方法封装处理
 * Copyright (c) 2019 ruoyi
 */
const baseURL = process.env.VUE_APP_BASE_API
// 日期格式化
export function parseTime(time, pattern) {
@@ -18,7 +16,7 @@
      if ((typeof time === 'string') && (/^[0-9]+$/.test(time))) {
         time = parseInt(time)
      } else if (typeof time === 'string') {
         time = time.replace(new RegExp(/-/gm), '/');
         time = time.replace(new RegExp(/-/gm), '/').replace('T', ' ').replace(new RegExp(/\.[\d]{3}/gm),'');
      }
      if ((typeof time === 'number') && (time.toString().length === 10)) {
         time = time * 1000
@@ -72,8 +70,8 @@
export function selectDictLabel(datas, value) {
   var actions = [];
   Object.keys(datas).some((key) => {
      if (datas[key].dictValue == ('' + value)) {
         actions.push(datas[key].dictLabel);
      if (datas[key].value == ('' + value)) {
         actions.push(datas[key].label);
         return true;
      }
   })
@@ -87,17 +85,12 @@
   var temp = value.split(currentSeparator);
   Object.keys(value.split(currentSeparator)).some((val) => {
      Object.keys(datas).some((key) => {
         if (datas[key].dictValue == ('' + temp[val])) {
            actions.push(datas[key].dictLabel + currentSeparator);
         if (datas[key].value == ('' + temp[val])) {
            actions.push(datas[key].label + currentSeparator);
         }
      })
   })
   return actions.join('').substring(0, actions.join('').length - 1);
}
// 通用下载方法
export function download(fileName) {
   window.location.href = baseURL + "/common/download?fileName=" + encodeURI(fileName) + "&delete=" + true;
}
// 字符串格式化(%s )
@@ -121,6 +114,22 @@
   }
   return str;
}
// 数据合并
export function mergeRecursive(source, target) {
    for (var p in target) {
        try {
            if (target[p].constructor == Object) {
                source[p] = mergeRecursive(source[p], target[p]);
            } else {
                source[p] = target[p];
            }
        } catch(e) {
            source[p] = target[p];
        }
    }
    return source;
};
/**
 * 构造树型结构数据
@@ -172,3 +181,40 @@
   }
   return tree;
}
/**
* 参数处理
* @param {*} params  参数
*/
export function tansParams(params) {
   let result = ''
   for (const propName of Object.keys(params)) {
      const value = params[propName];
      var part = encodeURIComponent(propName) + "=";
      if (value !== null && typeof (value) !== "undefined") {
         if (typeof value === 'object') {
            for (const key of Object.keys(value)) {
               if (value[key] !== null && typeof (value[key]) !== 'undefined') {
                  let params = propName + '[' + key + ']';
                  var subPart = encodeURIComponent(params) + "=";
                  result += subPart + encodeURIComponent(value[key]) + "&";
               }
            }
         } else {
            result += part + encodeURIComponent(value) + "&";
         }
      }
   }
   return result
}
// 验证是否为blob格式
export async function blobValidate(data) {
    try {
      const text = await data.text();
      JSON.parse(text);
      return false;
    } catch (error) {
      return true;
    }
}