import Vue from 'vue';

// 保留两位小数
Vue.filter('keepTwoNum', function (val) {
  let value = Number(val);
  return value.toFixed(2);
});

// 格式化数字三位加一逗号
Vue.filter('NumFormat', function (value) {
  if (!value) return '';
  /*原来用的是Number(value).toFixed(0)，这样取整时有问题，例如0.51取整之后为1 */
  /*后来改成了 Number(value)|0,但是输入超过十一位就为负数了 */
  var intPart = Number(value) - (Number(value) % 1); // 获取整数部分
  var intPartFormat = intPart.toString().replace(/(\d)(?=(?:\d{3})+$)/g, '$1,'); //将整数部分逢三一断
  return intPartFormat;
});

//链接加时间戳
Vue.filter('timestamp', function (link) {
  return link + '?t=' + new Date().getTime();
});

//截取第一张照片且判断是否有图片，没有图片输入默认图片
Vue.filter('firstImg', function (arr, sizeType, imgType) {
  //图片类型判断
  if (arr) {
    if (arr instanceof Array) {
      img = arr[0];
    } else {
      img = arr.split(',')[0];
    }
  }
  return img;
});

//七牛云压缩图片
Vue.filter('miniImg', function (img, quality) {
  return img + '?imageMogr2/quality/' + quality;
});

//单位米m转换为单位千米km,提醒：传递参数不要带引号，如kmUnit('100')会返回0m。
Vue.filter('kmUnit', function (m) {
  var v;
  if (typeof m === 'number' && !isNaN(m)) {
    if (m >= 1000) {
      v = (m / 1000).toFixed(2) + 'km';
    } else {
      v = m + 'm';
    }
  } else {
    v = '0m';
  }
  return v;
});

// 订单状态
Vue.filter('filterOrderStatus', function (status) {
  status = Number(status);
  switch (status) {
    case 1:
      return '停放中';
      break;
    case 2:
      return '欠费未缴';
      break;
    case 3:
      return '欠费';
      break;
    case 4:
      return '已完成';
      break;
    default:
      return '未知';
      break;
  }
});

// 支付状态
Vue.filter('filterPayStatus', function (status) {
  status = Number(status);
  switch (status) {
    case 0:
      return '未支付';
      break;
    case 1:
      return '已支付';
      break;
    case 2:
      return '支付中';
      break;
    case 3:
      return '支付失败';
      break;
    default:
      return '未知';
      break;
  }
});

// 汽车类型
Vue.filter('energyTpye', function (value) {
  status = Number(value);
  switch (status) {
    case 1:
      return '汽油车';
    case 2:
      return '新能源';
    default:
      return '汽油车';
  }
});

// 免费时长
Vue.filter('freeDuration', function (value) {
  let createTime = new Date(value).valueOf(),
    freeTime = new Date('2022-06-20 00:00:00').valueOf(),
    freeTxt = '0天0时15分0秒';
  if (createTime > freeTime) {
    freeTxt = '0天0时15分0秒';
  }
  return freeTxt;
});
