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] } }else if(!arr){ //如果没有图片则随机输出一张 // if(imgType === 'farmer'){ // const farmerList = ['carbon2/farmer/1.png','carbon2/farmer/2.png'] // img = farmerList[Math.floor(Math.random() * farmerList.length)]; // } // img = '/static/img/inbuild.png' } // return config.imgUrl + img; 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){ let status = Number(value); switch (status){ case 1: return '汽油车' break; case 2: return '新能源' break; default: return '汽油车' break; } }); // 设配类型 Vue.filter("deviceType",function(value){ let status = Number(value); switch (status){ case 1: return '地磁' break; case 2: return '车位锁' break; case 3: return '栏杆道闸' break; default: return '未知' break; } }); // 设配状态 Vue.filter("deviceStatus",function(value){ let status = Number(value); switch (status){ case 0: return '异常' break; case 1: return '正常' break; default: return '未知' break; } }); // 车位锁设配状态 Vue.filter("device2Status",function(value){ let status = Number(value); switch (status){ case 0: return '降板' break; case 1: return '升板' break; case 2: return '心跳' break; case 5: return '车辆入位' break; case 6: return '车辆出位' break; case 7: return '复位' break; case 8: return '逃费' break; case 10: return '状态上报' break; default: return '未知' break; } }); // 查看设备事件信息事件类型 Vue.filter("deviceLogMsgType",function(value){ let status = Number(value); switch (status){ case 0: return '事件帧' break; case 1: return '心跳帧' break; default: return '未知' break; } }); // 消息类型 Vue.filter("filterMsgType",function(value){ let status = Number(value); switch (status){ case 0: return '欠费车入场通知' break; case 1: return '异常上报评价通知' break; default: return '未知' break; } }); // 处理状态 Vue.filter("filterIsProcess",function(value){ let status = Number(value); switch (status){ case 0: return '未处理' break; case 1: return '已处理' break; case 2: return '部分处理' break; default: return '请选择' break; } });