|
|
@ -115,7 +115,18 @@ function getDuration(warningTime) { |
|
|
|
|
|
|
|
return `${padZero(hours)}:${padZero(minutes)}:${padZero(seconds)}`; |
|
|
|
} |
|
|
|
|
|
|
|
function getDurationEndTime(warningTime,endTime){ |
|
|
|
const momentStartTime = moment(warningTime, 'YYYY-MM-DD HH:mm:ss'); |
|
|
|
const momentEndTime = moment(endTime, 'YYYY-MM-DD HH:mm:ss'); |
|
|
|
const duration = moment.duration(momentEndTime.diff(momentStartTime)); |
|
|
|
const hours = Math.floor(duration.asHours()); |
|
|
|
const minutes = Math.floor(duration.minutes()); // 使用 .minutes() 直接获取分钟数 |
|
|
|
const seconds = Math.floor(duration.seconds()); // 使用 .seconds() 直接获取秒数 |
|
|
|
// 注意:这里不再需要 Math.abs(),因为时间差可以是负数(表示结束时间在开始时间之前) |
|
|
|
// 如果你总是想要正数的时间差,可以添加 Math.abs() 到小时、分钟和秒的计算中 |
|
|
|
return `${padZero(Math.abs(hours))}:${padZero(Math.abs(minutes))}:${padZero(Math.abs(seconds))}`; |
|
|
|
// 如果不需要绝对值,则去掉 Math.abs() 调用 |
|
|
|
} |
|
|
|
function padZero(num) { |
|
|
|
num = num.toString(); |
|
|
|
while (num.length < 2) { |
|
|
@ -191,8 +202,11 @@ export default { |
|
|
|
let _data = _.cloneDeep(this.formData) |
|
|
|
_data.direction=DirectionTypes[_data.direction] |
|
|
|
_data.roadName = '济菏高速' |
|
|
|
_data.duration = getDuration(_data.warningTime); |
|
|
|
|
|
|
|
if(_data.warningState==4&&_data.endTime!=null&&_data.endTime!=''&&_data.warningTime!=null){ |
|
|
|
_data.duration =getDurationEndTime(_data.warningTime,_data.endTime) |
|
|
|
}else{ |
|
|
|
_data.duration = getDuration(_data.warningTime); |
|
|
|
} |
|
|
|
if(_data.lane){ |
|
|
|
_data.lane =_data.lane.toString().split(",") || [] |
|
|
|
} else if(_data.lang){ |
|
|
|