chen.cheng 2 hete
szülő
commit
4b2b10bc1f
2 módosított fájl, 260 hozzáadás és 259 törlés
  1. 257 256
      ems-ui-cloud/src/utils/index.js
  2. 3 3
      ems-ui-cloud/src/views/index.vue

+ 257 - 256
ems-ui-cloud/src/utils/index.js

@@ -2,27 +2,27 @@ import {UUID} from 'uuidjs';
 import {parseTime} from './ruoyi';
 
 export function dateFormat(date, format = 'yyyy-MM-dd HH:mm:ss') {
-    const o = {
-        'M+': date.getMonth() + 1, // 月份
-        'd+': date.getDate(), // 日
-        'h+': date.getHours() % 12 === 0 ? 12 : date.getHours() % 12, // 小时
-        'H+': date.getHours(), // 小时
-        'm+': date.getMinutes(), // 分
-        's+': date.getSeconds(), // 秒
-        'q+': Math.floor((date.getMonth() + 3) / 3), // 季度
-        S: date.getMilliseconds(), // 毫秒
-        a: date.getHours() < 12 ? '上午' : '下午', // 上午/下午
-        A: date.getHours() < 12 ? 'AM' : 'PM' // AM/PM
-    };
-    if (/(y+)/.test(format)) {
-        format = format.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length));
+  const o = {
+    'M+': date.getMonth() + 1, // 月份
+    'd+': date.getDate(), // 日
+    'h+': date.getHours() % 12 === 0 ? 12 : date.getHours() % 12, // 小时
+    'H+': date.getHours(), // 小时
+    'm+': date.getMinutes(), // 分
+    's+': date.getSeconds(), // 秒
+    'q+': Math.floor((date.getMonth() + 3) / 3), // 季度
+    S: date.getMilliseconds(), // 毫秒
+    a: date.getHours() < 12 ? '上午' : '下午', // 上午/下午
+    A: date.getHours() < 12 ? 'AM' : 'PM' // AM/PM
+  };
+  if (/(y+)/.test(format)) {
+    format = format.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length));
+  }
+  for (let k in o) {
+    if (new RegExp('(' + k + ')').test(format)) {
+      format = format.replace(RegExp.$1, RegExp.$1.length === 1 ? o[k] : ('00' + o[k]).substr(('' + o[k]).length));
     }
-    for (let k in o) {
-        if (new RegExp('(' + k + ')').test(format)) {
-            format = format.replace(RegExp.$1, RegExp.$1.length === 1 ? o[k] : ('00' + o[k]).substr(('' + o[k]).length));
-        }
-    }
-    return format;
+  }
+  return format;
 }
 
 /**
@@ -30,24 +30,24 @@ export function dateFormat(date, format = 'yyyy-MM-dd HH:mm:ss') {
  * @param {*} n
  */
 export const getDayAgoDate = (n = 0) => {
-    let curDate = new Date();
-    let newDate = new Date(curDate - 1000 * 60 * 60 * 24 * n);
-    return newDate
+  let curDate = new Date();
+  let newDate = new Date(curDate - 1000 * 60 * 60 * 24 * n);
+  return newDate
 }
 
 /**
  * 表格时间格式化
  */
 export function formatDate(cellValue) {
-    if (cellValue == null || cellValue == '') return '';
-    var date = new Date(cellValue);
-    var year = date.getFullYear();
-    var month = date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1;
-    var day = date.getDate() < 10 ? '0' + date.getDate() : date.getDate();
-    var hours = date.getHours() < 10 ? '0' + date.getHours() : date.getHours();
-    var minutes = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes();
-    var seconds = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds();
-    return year + '-' + month + '-' + day + ' ' + hours + ':' + minutes + ':' + seconds;
+  if (cellValue == null || cellValue == '') return '';
+  var date = new Date(cellValue);
+  var year = date.getFullYear();
+  var month = date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1;
+  var day = date.getDate() < 10 ? '0' + date.getDate() : date.getDate();
+  var hours = date.getHours() < 10 ? '0' + date.getHours() : date.getHours();
+  var minutes = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes();
+  var seconds = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds();
+  return year + '-' + month + '-' + day + ' ' + hours + ':' + minutes + ':' + seconds;
 }
 
 /**
@@ -56,31 +56,31 @@ export function formatDate(cellValue) {
  * @returns {string}
  */
 export function formatTime(time, option) {
-    if (('' + time).length === 10) {
-        time = parseInt(time) * 1000;
-    } else {
-        time = +time;
-    }
-    const d = new Date(time);
-    const now = Date.now();
-
-    const diff = (now - d) / 1000;
-
-    if (diff < 30) {
-        return '刚刚';
-    } else if (diff < 3600) {
-        // less 1 hour
-        return Math.ceil(diff / 60) + '分钟前';
-    } else if (diff < 3600 * 24) {
-        return Math.ceil(diff / 3600) + '小时前';
-    } else if (diff < 3600 * 24 * 2) {
-        return '1天前';
-    }
-    if (option) {
-        return parseTime(time, option);
-    } else {
-        return d.getMonth() + 1 + '月' + d.getDate() + '日' + d.getHours() + '时' + d.getMinutes() + '分';
-    }
+  if (('' + time).length === 10) {
+    time = parseInt(time) * 1000;
+  } else {
+    time = +time;
+  }
+  const d = new Date(time);
+  const now = Date.now();
+
+  const diff = (now - d) / 1000;
+
+  if (diff < 30) {
+    return '刚刚';
+  } else if (diff < 3600) {
+    // less 1 hour
+    return Math.ceil(diff / 60) + '分钟前';
+  } else if (diff < 3600 * 24) {
+    return Math.ceil(diff / 3600) + '小时前';
+  } else if (diff < 3600 * 24 * 2) {
+    return '1天前';
+  }
+  if (option) {
+    return parseTime(time, option);
+  } else {
+    return d.getMonth() + 1 + '月' + d.getDate() + '日' + d.getHours() + '时' + d.getMinutes() + '分';
+  }
 }
 
 /**
@@ -88,18 +88,18 @@ export function formatTime(time, option) {
  * @returns {Object}
  */
 export function getQueryObject(url) {
-    url = url == null ? window.location.href : url;
-    const search = url.substring(url.lastIndexOf('?') + 1);
-    const obj = {};
-    const reg = /([^?&=]+)=([^?&=]*)/g;
-    search.replace(reg, (rs, $1, $2) => {
-        const name = decodeURIComponent($1);
-        let val = decodeURIComponent($2);
-        val = String(val);
-        obj[name] = val;
-        return rs;
-    });
-    return obj;
+  url = url == null ? window.location.href : url;
+  const search = url.substring(url.lastIndexOf('?') + 1);
+  const obj = {};
+  const reg = /([^?&=]+)=([^?&=]*)/g;
+  search.replace(reg, (rs, $1, $2) => {
+    const name = decodeURIComponent($1);
+    let val = decodeURIComponent($2);
+    val = String(val);
+    obj[name] = val;
+    return rs;
+  });
+  return obj;
 }
 
 /**
@@ -107,15 +107,15 @@ export function getQueryObject(url) {
  * @returns {number} output value
  */
 export function byteLength(str) {
-    // returns the byte length of an utf8 string
-    let s = str.length;
-    for (var i = str.length - 1; i >= 0; i--) {
-        const code = str.charCodeAt(i);
-        if (code > 0x7f && code <= 0x7ff) s++;
-        else if (code > 0x7ff && code <= 0xffff) s += 2;
-        if (code >= 0xdc00 && code <= 0xdfff) i--;
-    }
-    return s;
+  // returns the byte length of an utf8 string
+  let s = str.length;
+  for (var i = str.length - 1; i >= 0; i--) {
+    const code = str.charCodeAt(i);
+    if (code > 0x7f && code <= 0x7ff) s++;
+    else if (code > 0x7ff && code <= 0xffff) s += 2;
+    if (code >= 0xdc00 && code <= 0xdfff) i--;
+  }
+  return s;
 }
 
 /**
@@ -123,13 +123,13 @@ export function byteLength(str) {
  * @returns {Array}
  */
 export function cleanArray(actual) {
-    const newArray = [];
-    for (let i = 0; i < actual.length; i++) {
-        if (actual[i]) {
-            newArray.push(actual[i]);
-        }
+  const newArray = [];
+  for (let i = 0; i < actual.length; i++) {
+    if (actual[i]) {
+      newArray.push(actual[i]);
     }
-    return newArray;
+  }
+  return newArray;
 }
 
 /**
@@ -137,13 +137,13 @@ export function cleanArray(actual) {
  * @returns {Array}
  */
 export function param(json) {
-    if (!json) return '';
-    return cleanArray(
-        Object.keys(json).map(key => {
-            if (json[key] === undefined) return '';
-            return encodeURIComponent(key) + '=' + encodeURIComponent(json[key]);
-        })
-    ).join('&');
+  if (!json) return '';
+  return cleanArray(
+    Object.keys(json).map(key => {
+      if (json[key] === undefined) return '';
+      return encodeURIComponent(key) + '=' + encodeURIComponent(json[key]);
+    })
+  ).join('&');
 }
 
 /**
@@ -151,21 +151,21 @@ export function param(json) {
  * @returns {Object}
  */
 export function param2Obj(url) {
-    const search = decodeURIComponent(url.split('?')[1]).replace(/\+/g, ' ');
-    if (!search) {
-        return {};
+  const search = decodeURIComponent(url.split('?')[1]).replace(/\+/g, ' ');
+  if (!search) {
+    return {};
+  }
+  const obj = {};
+  const searchArr = search.split('&');
+  searchArr.forEach(v => {
+    const index = v.indexOf('=');
+    if (index !== -1) {
+      const name = v.substring(0, index);
+      const val = v.substring(index + 1, v.length);
+      obj[name] = val;
     }
-    const obj = {};
-    const searchArr = search.split('&');
-    searchArr.forEach(v => {
-        const index = v.indexOf('=');
-        if (index !== -1) {
-            const name = v.substring(0, index);
-            const val = v.substring(index + 1, v.length);
-            obj[name] = val;
-        }
-    });
-    return obj;
+  });
+  return obj;
 }
 
 /**
@@ -173,9 +173,9 @@ export function param2Obj(url) {
  * @returns {string}
  */
 export function html2Text(val) {
-    const div = document.createElement('div');
-    div.innerHTML = val;
-    return div.textContent || div.innerText;
+  const div = document.createElement('div');
+  div.innerHTML = val;
+  return div.textContent || div.innerText;
 }
 
 /**
@@ -185,21 +185,21 @@ export function html2Text(val) {
  * @returns {Object}
  */
 export function objectMerge(target, source) {
-    if (typeof target !== 'object') {
-        target = {};
-    }
-    if (Array.isArray(source)) {
-        return source.slice();
+  if (typeof target !== 'object') {
+    target = {};
+  }
+  if (Array.isArray(source)) {
+    return source.slice();
+  }
+  Object.keys(source).forEach(property => {
+    const sourceProperty = source[property];
+    if (typeof sourceProperty === 'object') {
+      target[property] = objectMerge(target[property], sourceProperty);
+    } else {
+      target[property] = sourceProperty;
     }
-    Object.keys(source).forEach(property => {
-        const sourceProperty = source[property];
-        if (typeof sourceProperty === 'object') {
-            target[property] = objectMerge(target[property], sourceProperty);
-        } else {
-            target[property] = sourceProperty;
-        }
-    });
-    return target;
+  });
+  return target;
 }
 
 /**
@@ -207,17 +207,17 @@ export function objectMerge(target, source) {
  * @param {string} className
  */
 export function toggleClass(element, className) {
-    if (!element || !className) {
-        return;
-    }
-    let classString = element.className;
-    const nameIndex = classString.indexOf(className);
-    if (nameIndex === -1) {
-        classString += '' + className;
-    } else {
-        classString = classString.substr(0, nameIndex) + classString.substr(nameIndex + className.length);
-    }
-    element.className = classString;
+  if (!element || !className) {
+    return;
+  }
+  let classString = element.className;
+  const nameIndex = classString.indexOf(className);
+  if (nameIndex === -1) {
+    classString += '' + className;
+  } else {
+    classString = classString.substr(0, nameIndex) + classString.substr(nameIndex + className.length);
+  }
+  element.className = classString;
 }
 
 /**
@@ -225,11 +225,11 @@ export function toggleClass(element, className) {
  * @returns {Date}
  */
 export function getTime(type) {
-    if (type === 'start') {
-        return new Date().getTime() - 3600 * 1000 * 24 * 90;
-    } else {
-        return new Date(new Date().toDateString());
-    }
+  if (type === 'start') {
+    return new Date().getTime() - 3600 * 1000 * 24 * 90;
+  } else {
+    return new Date(new Date().toDateString());
+  }
 }
 
 /**
@@ -239,38 +239,38 @@ export function getTime(type) {
  * @return {*}
  */
 export function debounce(func, wait, immediate) {
-    let timeout, args, context, timestamp, result;
-
-    const later = function () {
-        // 据上一次触发时间间隔
-        const last = +new Date() - timestamp;
-
-        // 上次被包装函数被调用时间间隔 last 小于设定时间间隔 wait
-        if (last < wait && last > 0) {
-            timeout = setTimeout(later, wait - last);
-        } else {
-            timeout = null;
-            // 如果设定为immediate===true,因为开始边界已经调用过了此处无需调用
-            if (!immediate) {
-                result = func.apply(context, args);
-                if (!timeout) context = args = null;
-            }
-        }
-    };
-
-    return function (...args) {
-        context = this;
-        timestamp = +new Date();
-        const callNow = immediate && !timeout;
-        // 如果延时不存在,重新设定延时
-        if (!timeout) timeout = setTimeout(later, wait);
-        if (callNow) {
-            result = func.apply(context, args);
-            context = args = null;
-        }
-
-        return result;
-    };
+  let timeout, args, context, timestamp, result;
+
+  const later = function () {
+    // 据上一次触发时间间隔
+    const last = +new Date() - timestamp;
+
+    // 上次被包装函数被调用时间间隔 last 小于设定时间间隔 wait
+    if (last < wait && last > 0) {
+      timeout = setTimeout(later, wait - last);
+    } else {
+      timeout = null;
+      // 如果设定为immediate===true,因为开始边界已经调用过了此处无需调用
+      if (!immediate) {
+        result = func.apply(context, args);
+        if (!timeout) context = args = null;
+      }
+    }
+  };
+
+  return function (...args) {
+    context = this;
+    timestamp = +new Date();
+    const callNow = immediate && !timeout;
+    // 如果延时不存在,重新设定延时
+    if (!timeout) timeout = setTimeout(later, wait);
+    if (callNow) {
+      result = func.apply(context, args);
+      context = args = null;
+    }
+
+    return result;
+  };
 }
 
 /**
@@ -281,18 +281,18 @@ export function debounce(func, wait, immediate) {
  * @returns {Object}
  */
 export function deepClone(source) {
-    if (!source && typeof source !== 'object') {
-        throw new Error('error arguments', 'deepClone');
+  if (!source && typeof source !== 'object') {
+    throw new Error('error arguments', 'deepClone');
+  }
+  const targetObj = source.constructor === Array ? [] : {};
+  Object.keys(source).forEach(keys => {
+    if (source[keys] && typeof source[keys] === 'object') {
+      targetObj[keys] = deepClone(source[keys]);
+    } else {
+      targetObj[keys] = source[keys];
     }
-    const targetObj = source.constructor === Array ? [] : {};
-    Object.keys(source).forEach(keys => {
-        if (source[keys] && typeof source[keys] === 'object') {
-            targetObj[keys] = deepClone(source[keys]);
-        } else {
-            targetObj[keys] = source[keys];
-        }
-    });
-    return targetObj;
+  });
+  return targetObj;
 }
 
 /**
@@ -300,16 +300,16 @@ export function deepClone(source) {
  * @returns {Array}
  */
 export function uniqueArr(arr) {
-    return Array.from(new Set(arr));
+  return Array.from(new Set(arr));
 }
 
 /**
  * @returns {string}
  */
 export function createUniqueString() {
-    const timestamp = +new Date() + '';
-    const randomNum = parseInt((1 + Math.random()) * 65536) + '';
-    return (+(randomNum + timestamp)).toString(32);
+  const timestamp = +new Date() + '';
+  const randomNum = parseInt((1 + Math.random()) * 65536) + '';
+  return (+(randomNum + timestamp)).toString(32);
 }
 
 /**
@@ -319,7 +319,7 @@ export function createUniqueString() {
  * @returns {boolean}
  */
 export function hasClass(ele, cls) {
-    return !!ele.className.match(new RegExp('(\\s|^)' + cls + '(\\s|$)'));
+  return !!ele.className.match(new RegExp('(\\s|^)' + cls + '(\\s|$)'));
 }
 
 /**
@@ -328,7 +328,7 @@ export function hasClass(ele, cls) {
  * @param {string} cls
  */
 export function addClass(ele, cls) {
-    if (!hasClass(ele, cls)) ele.className += ' ' + cls;
+  if (!hasClass(ele, cls)) ele.className += ' ' + cls;
 }
 
 /**
@@ -337,95 +337,96 @@ export function addClass(ele, cls) {
  * @param {string} cls
  */
 export function removeClass(ele, cls) {
-    if (hasClass(ele, cls)) {
-        const reg = new RegExp('(\\s|^)' + cls + '(\\s|$)');
-        ele.className = ele.className.replace(reg, ' ');
-    }
+  if (hasClass(ele, cls)) {
+    const reg = new RegExp('(\\s|^)' + cls + '(\\s|$)');
+    ele.className = ele.className.replace(reg, ' ');
+  }
 }
 
 export function makeMap(str, expectsLowerCase) {
-    const map = Object.create(null);
-    const list = str.split(',');
-    for (let i = 0; i < list.length; i++) {
-        map[list[i]] = true;
-    }
-    return expectsLowerCase ? val => map[val.toLowerCase()] : val => map[val];
+  const map = Object.create(null);
+  const list = str.split(',');
+  for (let i = 0; i < list.length; i++) {
+    map[list[i]] = true;
+  }
+  return expectsLowerCase ? val => map[val.toLowerCase()] : val => map[val];
 }
 
 export const exportDefault = 'export default ';
 
 export const beautifierConf = {
-    html: {
-        indent_size: '2',
-        indent_char: ' ',
-        max_preserve_newlines: '-1',
-        preserve_newlines: false,
-        keep_array_indentation: false,
-        break_chained_methods: false,
-        indent_scripts: 'separate',
-        brace_style: 'end-expand',
-        space_before_conditional: true,
-        unescape_strings: false,
-        jslint_happy: false,
-        end_with_newline: true,
-        wrap_line_length: '110',
-        indent_inner_html: true,
-        comma_first: false,
-        e4x: true,
-        indent_empty_lines: true
-    },
-    js: {
-        indent_size: '2',
-        indent_char: ' ',
-        max_preserve_newlines: '-1',
-        preserve_newlines: false,
-        keep_array_indentation: false,
-        break_chained_methods: false,
-        indent_scripts: 'normal',
-        brace_style: 'end-expand',
-        space_before_conditional: true,
-        unescape_strings: false,
-        jslint_happy: true,
-        end_with_newline: true,
-        wrap_line_length: '110',
-        indent_inner_html: true,
-        comma_first: false,
-        e4x: true,
-        indent_empty_lines: true
-    }
+  html: {
+    indent_size: '2',
+    indent_char: ' ',
+    max_preserve_newlines: '-1',
+    preserve_newlines: false,
+    keep_array_indentation: false,
+    break_chained_methods: false,
+    indent_scripts: 'separate',
+    brace_style: 'end-expand',
+    space_before_conditional: true,
+    unescape_strings: false,
+    jslint_happy: false,
+    end_with_newline: true,
+    wrap_line_length: '110',
+    indent_inner_html: true,
+    comma_first: false,
+    e4x: true,
+    indent_empty_lines: true
+  },
+  js: {
+    indent_size: '2',
+    indent_char: ' ',
+    max_preserve_newlines: '-1',
+    preserve_newlines: false,
+    keep_array_indentation: false,
+    break_chained_methods: false,
+    indent_scripts: 'normal',
+    brace_style: 'end-expand',
+    space_before_conditional: true,
+    unescape_strings: false,
+    jslint_happy: true,
+    end_with_newline: true,
+    wrap_line_length: '110',
+    indent_inner_html: true,
+    comma_first: false,
+    e4x: true,
+    indent_empty_lines: true
+  }
 };
 
 // 首字母大小
 export function titleCase(str) {
-    return str.replace(/( |^)[a-z]/g, L => L.toUpperCase());
+  return str.replace(/( |^)[a-z]/g, L => L.toUpperCase());
 }
 
 // 下划转驼峰
 export function camelCase(str) {
-    return str.replace(/_[a-z]/g, str1 => str1.substr(-1).toUpperCase());
+  return str.replace(/_[a-z]/g, str1 => str1.substr(-1).toUpperCase());
 }
 
 export function isNumberStr(str) {
-    return /^[+-]?(0|([1-9]\d*))(\.\d+)?$/g.test(str);
+  return /^[+-]?(0|([1-9]\d*))(\.\d+)?$/g.test(str);
 }
 
 export const uuid = () => {
-    return UUID.generate();
+  return UUID.generate();
 };
 
 export const numToStr = (num, fixed = 2) => {
-    const million = 10000; // 一万
-    const billion = 100000000; // 一亿
-    let unit = "";
-    let result = Number(num);
-    if (num >= billion) {
-        unit = "亿";
-        result = num / billion;
-    } else if (num >= million) {
-        unit = "万";
-        result = num / million;
-    }
-    return result.toFixed(fixed) + unit;
+  if (!num) return '--';
+  const million = 10000; // 一万
+  const billion = 100000000; // 一亿
+  let unit = "";
+  let result = Number(num);
+  if (num >= billion) {
+    unit = "亿";
+    result = num / billion;
+  } else if (num >= million) {
+    unit = "万";
+    result = num / million;
+  }
+  return result.toFixed(fixed) + unit;
 }
 
 /**
@@ -434,13 +435,13 @@ export const numToStr = (num, fixed = 2) => {
  * @returns {any}
  */
 export const copyObj = obj => {
-    return JSON.parse(JSON.stringify(obj));
+  return JSON.parse(JSON.stringify(obj));
 };
 
 
 export const array2Map = (arr = [], key = 'date') => {
-    return arr.reduce((acc, cur) => {
-        acc[cur[key]] = cur;
-        return acc;
-    }, {});
+  return arr.reduce((acc, cur) => {
+    acc[cur[key]] = cur;
+    return acc;
+  }, {});
 };

+ 3 - 3
ems-ui-cloud/src/views/index.vue

@@ -301,7 +301,7 @@ export default {
   },
   components: {BaseChart, SubTitle},
   mounted() {
-    this.sumWaterElecMeter(DateTool.lastMonth())
+    this.sumWaterElecMeter(this.dateList[1].date())
     this.getWaterElecMeterTrend(this.dimensionList[0])
   },
   methods: {
@@ -365,8 +365,8 @@ export default {
         const {data: timeWaterIndex} = await qryDateWaterMeterByYear(day)
         options.xAxis[0].data = days;
         const indexMap = {
-          elec:{},
-          water:{}
+          elec: {},
+          water: {}
         }
         timeElecIndex.map((item, index) => {
           indexMap.elec[item.startRecTime] = item.useElecCost