/**
 *
 * @param {date} date
 * @param {string} fmt
 */
export var date = function date(_date, fmt) {
  if (fmt === void 0) {
    fmt = 'YYYY-MM-DD HH:mm:ss';
  }

  var 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()
  };
  var week = {
    '0': "\u65E5",
    '1': "\u4E00",
    '2': "\u4E8C",
    '3': "\u4E09",
    '4': "\u56DB",
    '5': "\u4E94",
    '6': "\u516D"
  };

  if (/(Y+)/.test(fmt)) {
    fmt = fmt.replace(RegExp.$1, (_date.getFullYear() + '').substr(4 - RegExp.$1.length));
  }

  if (/(E+)/.test(fmt)) {
    fmt = fmt.replace(RegExp.$1, (RegExp.$1.length > 1 ? RegExp.$1.length > 2 ? "\u661F\u671F" : "\u5468" : '') + week[_date.getDay() + '']);
  }

  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;
}; // 102000 -> 10万2千

export var numberSplit = function numberSplit(val) {
  if (!val) return val;
  var toNumberVal = Number(val);

  if (isNaN(toNumberVal)) {
    return val;
  }

  var flag = '';

  if (toNumberVal < 0) {
    flag = '-';
    toNumberVal = Math.abs(toNumberVal);
  }

  if (toNumberVal >= 10000) {
    // 大于等于10000的数据要去掉小数位
    var numStr = Math.floor(toNumberVal) + '';
    var len = numStr.length;
    var numArr = []; // 每4位截取一次，截取小于10000部分的数据

    var itemLast = Number(numStr.substring(len - 4, len)); // 只有个位数前面要加0 等于0则去掉，不加入数组拼接

    if (itemLast < 10 && itemLast > 0) {
      numArr.unshift('0' + itemLast);
    } else if (itemLast >= 10) {
      numArr.unshift(itemLast);
    }

    var itemCenter = 0;
    var itemFirst = 0;

    if (len <= 8) {
      // 长度小于等于8， 没有亿位，这个时候万位可以从index = 0 开始截取
      itemCenter = Number(numStr.substring(0, len - 4));
    } else {
      // 长度大于8才有亿， 万位不能再从index = 0开始截取
      itemCenter = Number(numStr.substring(len - 8, len - 4));
      itemFirst = Number(numStr.substring(0, len - 8));
    } // 万位和亿位如果大于0才加入数组拼接


    if (itemCenter > 0) numArr.unshift(itemCenter + '万');
    if (itemFirst > 0) numArr.unshift(itemFirst + '亿');
    return flag + numArr.join('');
  }

  return flag + toNumberVal;
};