需求:通过类型确定哪种许可证,里面有有效期止时间,作业许可证时间区间不超过10天,其他不超过8小时 。
思路:把时间变为毫秒值在比较!!!!!!!!!!!!
里面有 startDate 开始时间
endDate 结束时间
如何获取呢?
经验:至于如何获取参数值每一种前端可能不同,甚至同一个框架不同页面获取startDate方式也不同,所以自己F12中去自己找去!!!
var startDate = me.getViewModel().data.permit.startDate;
var endTime = me.getViewModel().data.permit.endDate;
把任意时间变为毫秒值:
//extjs 前台Date.parse()把 2019-07-17 17:30 2019-07-25 17:30
//这类时间变为毫秒值
var beforeTime = Date.parse(startDate);
var afterTime = Date.parse(endTime);
具体代码:
//作业许可证不超过10天,其他许可证不超过8小时 通过F12 获取值直接 . 属性就行 没必要get("属性") 这是错误的方式!!!
var tt = me.getViewModel().data.permit.permitType;
var startDate = me.getViewModel().data.permit.startDate;
var endTime = me.getViewModel().data.permit.endDate;
//Date.parse 变为毫秒值
var beforeTime = Date.parse(startDate);
var afterTime = Date.parse(endTime);
//开始时间和结束时间毫秒值差
var minuxTime = afterTime-beforeTime;
//1天=86400000毫秒
var dayTime = 10 * 86400000;
//1小时=360000毫秒
var houreTime = 8 * 3600000;
if (tt != "SafeWork") {
if (minuxTime>houreTime){
MyUtil.Msg.alert('该许可证有效起止时间不能超过8小时!');
return;
}
}
//作业许可证
else if (tt == "SafeWork") {
if (minuxTime>dayTime){
MyUtil.Msg.alert('该许可证有效起止时间不能超过10天!');
return;
}
}