var filters = { toFix: function (val, count) { if(!val){ return parseFloat(0).toFixed(count); } val = parseFloat(val); return val.toFixed(count) }, replace_time: function (val) { if (!val) return "不限"; return val.replace("00:00:00", ""); }, replace_time2: function (val) { if (val == null || val == undefined || val == '') return ""; var a = val.split(" "); return a[0]; }, format_time: function (ts, isFull) { // 如果数值位数为1,则补0 function appendZero(obj) { if (obj < 10) { return "0" + "" + obj; } else { return obj; } }; if (ts == null || ts == undefined || ts == '') return ""; var d = getDate(ts * 1000) var fm = [appendZero(d.getFullYear()), appendZero(d.getMonth() + 1), appendZero(d.getDate())].join('-'); var md = appendZero(d.getMonth() + 1) + '月' + appendZero(d.getDate()) + '日'; if (isFull == 1) fm = fm + ' ' + [appendZero(d.getHours()), appendZero(d.getMinutes()), appendZero(d.getSeconds())].join(':'); if (isFull == 2) { fm = md + ' ' + [appendZero(d.getHours()), appendZero(d.getMinutes())].join(':'); } return fm; }, format_time2: function (ts, isFull) { // 如果数值位数为1,则补0 function appendZero(obj) { if (obj < 10) { return "0" + "" + obj; } else { return obj; } }; if (ts == null || ts == undefined || ts == '') return ""; var d = getDate(ts) var fm = [appendZero(d.getFullYear()), appendZero(d.getMonth() + 1), appendZero(d.getDate())].join('-'); var md = appendZero(d.getMonth() + 1) + '月' + appendZero(d.getDate()) + '日'; if (isFull == 1) fm = fm + ' ' + [appendZero(d.getHours()), appendZero(d.getMinutes()), appendZero(d.getSeconds())].join(':'); if (isFull == 2) { fm = md + ' ' + [appendZero(d.getHours()), appendZero(d.getMinutes())].join(':'); } return fm; }, pInt: function (t) { var d = parseInt(t); return d; }, show_gui_ge: function (spec, color) { if ((spec == "" || spec == null || spec == "null")) { if ((color == "" || color == null || color == "null")) { return "规格1"; } else { return color; } } else { if ((color == "" || color == null || color == "null")) { return spec; } else { return spec + "/" + color; } } }, // show_default: function (value, placeholder, multiple) { // if(typeof value === 'number') { // if(isNaN(value) || value === 0) { // return placeholder || '0'; // } else { // if(multiple) { // return value / multiple; // } else { // return value; // } // }; // } else if(value === '' || value === undefined || value === null) { // return placeholder || '-'; // } else { // return value; // } // }, show_default: function (value, placeholder, multiple) { if(typeof value === 'number') { if(isNaN(value)) { return placeholder || '-'; } else if(value === 0) { return placeholder || '0'; } else { if(multiple) { return value / multiple; } else { return value; } }; } else if(value === '' || value === undefined || value === null) { return placeholder || '-'; } else { return value; } }, // 根据状态值返回相应的状态文字 // num:状态数值, // arr: 状态文字数组, // 文字顺序必须跟状态数值对应 status: function(num, arr) { // var text = ''; // if(num == 0) { // text = '未付款'; // } else if(num == 1) { // text = '已付款'; // } else if(num == 2) { // text = '等待分成(已收货)'; // } else if(num == 3) { // text = '已完成'; // }; return arr[num]; }, in_arr: function(index, arr) { if(arr.indexOf(index) != -1) { return true; } else { return false; }; }, showByType: function(typeStr) { var index; var newTypeArr = []; var typeStrArr = typeStr.split(','); typeStrArr.forEach(function(item) { index = parseInt(item); newTypeArr.push(index); }); // console.log('newTypeArr', newTypeArr); return newTypeArr; }, // 价格除以100 price: function(val) { return val / 100; }, div100: function(val) { return val / 100; }, // 计算百分比, 不带百分号 percent: function(num1, num2) { // console.log('百分比',Math.round(num1/num2 * 10000) / 100); return Math.round(num1/num2 * 10000) / 100; }, // 计算差数 difference: function(num1, num2) { if(!num1) num1 = 0; if(!num2) num2 = 0; if(num1 >= num2) { return num1 - num2; } else { return num2 - num1; }; }, // 计算乘积 multiply: function(num1, num2) { return num1 * 10000 * num2 / 10000; }, JSONStringify: function(val) { return JSON.stringify(val); }, // 循环列表计算数量 count: function(list) { var sum = 0; if(list && list.length != 0) { list.forEach(function(item) { sum += item.qty; }); return sum; }; }, // 判断时间是否过期 isExpired: function(date) { var mydate = getDate(date).getTime(); var currentDate = getDate().getTime(); if(currentDate >= mydate) { return true; } else { return false; }; }, // 显示开始和结束日期 showStartAndEndDate: function(o, val) { var dateType = o.date_type; var currentDate = getDate().getTime(); var startDate, endDate, days, begin_days; if(dateType === 0) { if(o.effective_days !== 0) { days = (o.effective_days - 1) * 24 * 60 * 60 * 1000; endDate = filters.format_time2(currentDate + days); currentDate = filters.format_time2(currentDate); return currentDate + '至' + endDate; } else { if(val) { days = (val - 1) * 24 * 60 * 60 * 1000; endDate = filters.format_time2(currentDate + days); currentDate = filters.format_time2(currentDate); return currentDate + '至' + endDate; } else { currentDate = filters.format_time2(currentDate); return currentDate + '至不限'; } } }; if(dateType === 1) { currentDate = filters.format_time2(currentDate); if(o.begin_date && o.effective_date) { return o.begin_date + '至' + o.effective_date; }; if(o.begin_date && !o.effective_date) { return o.begin_date + '至不限'; }; if(!o.begin_date && o.effective_date) { return currentDate + '至' + o.effective_date; }; if(!o.begin_date && !o.effective_date) { return currentDate + '至不限'; }; }; if(dateType === 2) { // N天后开始 begin_days = o.begin_days * 24 * 60 * 60 * 1000; // 有效天数 days = (o.effective_days - 1) * 24 * 60 * 60 * 1000; startDate = filters.format_time2(currentDate + begin_days); endDate = filters.format_time2(getDate(startDate).getTime() + days); return startDate + '至' + endDate; }; }, }; module.exports = { toFix: filters.toFix, replace_time: filters.replace_time, replace_time2: filters.replace_time2, format_time: filters.format_time, pInt: filters.pInt, show_gui_ge: filters.show_gui_ge, show_default: filters.show_default, status: filters.status, in_arr: filters.in_arr, percent: filters.percent, showByType: filters.showByType, difference: filters.difference, multiply: filters.multiply, price: filters.price, div100: filters.div100, JSONStringify: filters.JSONStringify, count: filters.count, isExpired: filters.isExpired, showStartAndEndDate: filters.showStartAndEndDate, }