Mock模拟时间数据,表单传开始时间和结束时间和mock中的时间比较获取时间范围内的数据
import Mock from 'mockjs'
let Random = Mock.Random;
let maints = new Map();
//mock随机获取时间
let maint = {
id: idGenerator(),
fTime: Random.date('yyyy-MM-dd'),
}
maints.set(main.id, main);
}
function CompareDate (d1, d2) {
/* d1 = "2019-11-16"
d2 = "2019-12-16" */
//将所有的短横线替换为斜杠
return ((new Date(d1.replace(/-/, "/"))) > (new Date(d2.replace(/-/, "/"))));
}
首先判断默认不为空,然后判断时间范围,因为数据都是在mock中的,就逐条遍历判断
body.fTime是表单传过来的一个时间数组
function getTable () {
Mock.mock('/table', 'get', (options) => {
let body = JSON.parse(options.body);
let result = [];
for (let maint of mains.values()) {
if (!body.fTime || CompareDate(main.fTime, body.fTime[0]) && CompareDate(body.fTime[1], main.fTime)) {
result.push(maint);
}
}
})
}