RuoYi
2020-04-01 441da7ecd798f8b51cdefc7d0f5cde54399a4ca3
ruoyi-ui/src/utils/ruoyi.js
@@ -3,18 +3,52 @@
 * Copyright (c) 2019 ruoyi
 */
const baseURL = process.env.VUE_APP_BASE_API
// 日期格式化
export function dateFormat(date, pattern) {
   var d = new Date(date).Format("yyyy-MM-dd hh:mm:ss");
   if (pattern) {
      d = new Date(date).Format(pattern);
export function parseTime(time, pattern) {
   if (arguments.length === 0 || !time) {
      return null
   }
   return d.toLocaleString();
   const format = pattern || '{y}-{m}-{d} {h}:{i}:{s}'
   let date
   if (typeof time === 'object') {
      date = time
   } else {
      if ((typeof time === 'string') && (/^[0-9]+$/.test(time))) {
         time = parseInt(time)
      } else if (typeof time === 'string') {
         time = time.replace(new RegExp(/-/gm), '/');
      }
      if ((typeof time === 'number') && (time.toString().length === 10)) {
         time = time * 1000
      }
      date = new Date(time)
   }
   const formatObj = {
      y: date.getFullYear(),
      m: date.getMonth() + 1,
      d: date.getDate(),
      h: date.getHours(),
      i: date.getMinutes(),
      s: date.getSeconds(),
      a: date.getDay()
   }
   const time_str = format.replace(/{(y|m|d|h|i|s|a)+}/g, (result, key) => {
      let value = formatObj[key]
      // Note: getDay() returns 0 on Sunday
      if (key === 'a') { return ['日', '一', '二', '三', '四', '五', '六'][value] }
      if (result.length > 0 && value < 10) {
         value = '0' + value
      }
      return value || 0
   })
   return time_str
}
// 表单重置
export function resetForm(refName) {
   if (this.$refs[refName] !== undefined) {
   if (this.$refs[refName]) {
      this.$refs[refName].resetFields();
   }
}
@@ -22,11 +56,11 @@
// 添加日期范围
export function addDateRange(params, dateRange) {
   var search = params;
   if (null != dateRange) {
      search.params = {
         beginTime: this.dateRange[0],
         endTime: this.dateRange[1]
      };
   search.beginTime = "";
   search.endTime = "";
   if (null != dateRange && '' != dateRange) {
      search.beginTime = this.dateRange[0];
      search.endTime = this.dateRange[1];
   }
   return search;
}
@@ -43,6 +77,11 @@
   return actions.join('');
}
// 通用下载方法
export function download(fileName) {
   window.location.href = baseURL + "/common/download?fileName=" + encodeURI(fileName) + "&delete=" + true;
}
// 字符串格式化(%s )
export function sprintf(str) {
   var args = arguments, flag = true, i = 1;
@@ -57,20 +96,39 @@
   return flag ? str : '';
}
Date.prototype.Format = function (fmt) {
   var o = {
      "M+": this.getMonth() + 1,                   // 月份
      "d+": this.getDate(),                        // 日
      "h+": this.getHours(),                       // 小时
      "m+": this.getMinutes(),                     // 分
      "s+": this.getSeconds(),                     // 秒
      "q+": Math.floor((this.getMonth() + 3) / 3), // 季度
      "S": this.getMilliseconds()                  // 毫秒
   };
   if (/(y+)/.test(fmt))
      fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
   for (var k in o)
      if (new RegExp("(" + k + ")").test(fmt))
         fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
   return fmt;
}
// 转换字符串,undefined,null等转化为""
export function praseStrEmpty(str) {
    if (!str || str == "undefined" || str == "null") {
        return "";
    }
    return str;
}
/**
 * 构造树型结构数据
 * @param {*} data 数据源
 * @param {*} id id字段 默认 'id'
 * @param {*} parentId 父节点字段 默认 'parentId'
 * @param {*} children 孩子节点字段 默认 'children'
 * @param {*} rootId 根Id 默认 0
 */
export function handleTree(data, id, parentId, children, rootId) {
   id = id || 'id'
   parentId = parentId || 'parentId'
   children = children || 'children'
   rootId = rootId || 0
   //对源数据深度克隆
   const cloneData = JSON.parse(JSON.stringify(data))
   //循环所有项
   const treeData =  cloneData.filter(father => {
     let branchArr = cloneData.filter(child => {
      //返回每一项的子级数组
      return father[id] === child[parentId]
     });
     branchArr.length > 0 ? father.children = branchArr : '';
     //返回第一层
     return father[parentId] === rootId;
   });
   return treeData != '' ? treeData : data;
  }