import vue from 'vue';
vue.filter("upcase", function (value) {
  var arr = ['一', '二', '三', '四', '五', '六', '七', '八', '九', '十']
  // value = arr[value];
  if (value <= 9) {
    value = arr[value];
  } else if (value == 19) {
    value = '二十'
  } else if (9 < value <= 18) {
    value = '十' + arr[value % 10]
  }
  // if (value >= 10) {
  //   if (value % 10 == 0) {
  //     value = arr[(value / 10) - 1] + '十'
  //   } else {
  //     value = arr[(value / 10) - 1] + '十' + arr[(value % 10) - 1]
  //   }
  // }
  return value;
});
vue.filter('week', function (value) { // 时间转星期
  if (!value) return ''
  let date = new Date(value).getDay();
  //let weeks = new Array("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday");
  let weeks = new Array("周日", "周一", "周二", "周三", "周四", "周五", "周六");
  return weeks[date];
})
//yyyy-MM-dd HH:mm:ss
vue.filter("dateFormat", function (value) {
  if (value == null || value == '') return '-';
  value = new Date(value);
  return value.getFullYear() + (value.getMonth() + 1 > 9 ? "-" : "-0") + (value.getMonth() + 1) + (value.getDate() > 9 ? "-" : "-0") + value.getDate() + " " + (value.getHours() > 9 ? "" : "0") + value.getHours() + (value.getMinutes() > 9 ? ":" : ":0") + value.getMinutes() + (value.getSeconds() > 9 ? ":" : ":0") + value.getSeconds();
});
//yyyyMMddHHmmss
vue.filter("dateFormat1", function (value) {
  if (value == null) return null;
  value = new Date(value);
  return value.getFullYear() + (value.getMonth() + 1 > 9 ? "" : "0") + (value.getMonth() + 1) + (value.getDate() > 9 ? "" : "0") + value.getDate() + "" + (value.getHours() > 9 ? "" : "0") + value.getHours() + (value.getMinutes() > 9 ? "" : "0") + value.getMinutes() + (value.getSeconds() > 9 ? "" : "0") + value.getSeconds();
});
//yyyy-MM-dd HH:mm
vue.filter("dateMinuteFormat", function (value) {
  if (value == null) return null;
  value = new Date(value);
  return value.getFullYear() + (value.getMonth() + 1 > 9 ? "-" : "-0") + (value.getMonth() + 1) + (value.getDate() > 9 ? "-" : "-0") + value.getDate() + " " + (value.getHours() > 9 ? "" : "0") + value.getHours() + (value.getMinutes() > 9 ? ":" : ":0") + value.getMinutes();
});
//yyyy-MM-dd
vue.filter("dateFormat2", function (value) {
  if (value == null) return null;
  value = new Date(value);
  return value.getFullYear() + (value.getMonth() + 1 > 9 ? "-" : "-0") + (value.getMonth() + 1) + (value.getDate() > 9 ? "-" : "-0") + value.getDate();
});
//yyyy-MM
vue.filter("dateFormat3", function (value) {
  if (value == null) return null;
  value = new Date(value);
  return value.getFullYear() + (value.getMonth() + 1 > 9 ? "-" : "-0") + (value.getMonth() + 1);
});
//yyyy年MM月dd日
vue.filter("dateFormat4", function (value) {
  if (value == null) return null;
  value = new Date(value);
  return value.getFullYear() + (value.getMonth() + 1 > 9 ? "年" : "年0") + (value.getMonth() + 1) + (value.getDate() > 9 ? "月" : "月0") + value.getDate() + "日";
});

//null??"-"
vue.filter("nullFormat", function (value) {
  return (value == null || value == undefined || value == '') ? "-" : value;
});
//0.00
vue.filter("roundFormat", function (value) {
  if (value == null || isNaN(value)) return null;
  return value.toFixed(2);
});
//yyyy-MM-dd
vue.filter("shortDateFormat", function (value) {
  if (value == null || value == '') return '-';
  value = new Date(value);
  return value.getFullYear() + (value.getMonth() + 1 > 9 ? "-" : "-0") + (value.getMonth() + 1) + (value.getDate() > 9 ? "-" : "-0") + value.getDate();
});

//00:00:00
vue.filter("shortTimeFormat", function (value) {
  if (value == null) return null;
  value = new Date(value);
  return (value.getHours() > 9 ? "" : "0") + value.getHours() + (value.getMinutes() > 9 ? ":" : ":0") + value.getMinutes() + (value.getSeconds() > 9 ? ":" : ":0") + value.getSeconds();
});

//字数太多显示不全...
vue.filter("partStringFormat", function (value, count = 10) {
  if (value == null) return null;
  if (value.length <= count) {
    return value;
  }
  if (value.length > count) {
    return value.substring(0, count) + '...'
  }
});

//判断是否初始化时间字段，若是则返回空串
vue.filter("iNitStringFormat", function (value) {
  if (value == "null") return null;
  if (value == "0001-01-01T00:00:00+08:00") {
    value = "";
  } else {
    value = new Date(value);
    value = value.getFullYear() + (value.getMonth() + 1 > 9 ? "-" : "-0") + (value.getMonth() + 1) + (value.getDate() > 9 ? "-" : "-0") + value.getDate() + " " + (value.getHours() > 9 ? "" : "0") + value.getHours() + (value.getMinutes() > 9 ? ":" : ":0") + value.getMinutes() + (value.getSeconds() > 9 ? ":" : ":0") + value.getSeconds();
  }
  return value;
});

vue.filter("phoneHide", function (value) {
  if (isNaN(Number(value))) return value;
  if (!value) return '-';
  var rega = new RegExp("(\\w{3})\\w{" + (value.trim().length - 7) + "}(\\w{4})", "ig");
  return value = value.replace(rega, '$1****$2');
});
