例如:后台返回的 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)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄