js中utils.js处理后台返回数据
例如:后台返回的 data
var obj = { cashAmount: 236700,// 金额(分)
cashDate: "2018-05-26 10:25:28",// 时间
cashStatus: 0,// 回款状态
createTime: "2018-05-23 10:26:25",// 创建时间
payChannel: null,// 支付方式
remark: "",// 备注
userMobile: "13226452474",// 联系人电话
}
需要对数据进行以下处理,再渲染到页面
SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。1.cashAmount 转换成元,并保留两位小数
2.cashStatus 进行解析(0-未回款 1-已回款)
3.payChannel 进行解析 ('zfb'-支付宝,'wx'-微信支付,'cash'-现金支付,'bankTransfer'-银行转账)
4.所有值为 '' , null , undefined 的字段,全部设置为:'--'
一顿猛如虎操作,提供如下函数。。。
var handleData={ setDefault(obj) { let _obj=JSON.parse(JSON.stringify(obj)); for (let key in _obj){ if(_obj[key]===''||_obj[key]===null||_obj[key]===undefined){ _obj[key]='--' } } return _obj; }, setFormatMobile(obj) { let _obj=JSON.parse(JSON.stringify(obj)); let _formatType="xxx xxx xxxx",i = 0; _obj.userMobile= _formatType.replace(/x/g, function(){ return _obj.userMobile[i++] }); return _obj; }, setPayChannelLabel(obj) { let _obj=JSON.parse(JSON.stringify(obj)); let payChannelLabel = { 'zfb': '支付宝', 'wx': '微信支付', 'cash': '现金支付', 'bankTransfer': '银行转账' } _obj.payChannel = payChannelLabel[_obj.payChannel]; return _obj; }, setCashAmount(obj) { let _obj=JSON.parse(JSON.stringify(obj)); _obj.cashAmount = (_obj.cashAmount / 100).toFixed(2); return _obj; }, setCashStatus(obj) { let _obj=JSON.parse(JSON.stringify(obj)); _obj.cashStatus = _obj.cashStatus === 0 ? '未回款' : '已回款'; return _obj; }, result(obj, fns='setFormatMobile, setCashStatus, setCashAmount, setPayChannelLabel, setDefault'){ let _obj=JSON.parse(JSON.stringify(obj)); let _fns=fns.split(','); _fns.forEach(item => { _obj=this[item](_obj); }); return _obj; } }
obj=handleData.result(obj,'setCashStatus,setCashAmount,setPayChannelLabel,setDefault,setFormatMobile');
console.log('666------', obj)

更多精彩