update
This commit is contained in:
parent
43c2b86d05
commit
a850b61ed9
@ -82,7 +82,11 @@
|
|||||||
<!-- 配送时段 -->
|
<!-- 配送时段 -->
|
||||||
<el-table-column label="配送时段" min-width="120">
|
<el-table-column label="配送时段" min-width="120">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<div v-if="scope.row.delivery_date && scope.row.time_period_name">
|
<div v-if="scope.row.delivery_date && scope.row.time_period_name"
|
||||||
|
:class="{
|
||||||
|
'time-in-progress': getDeliveryTimeStatus(scope.row.delivery_date, scope.row.time_period_name) === 'in-progress',
|
||||||
|
'time-expired': getDeliveryTimeStatus(scope.row.delivery_date, scope.row.time_period_name) === 'expired'
|
||||||
|
}">
|
||||||
<div>{{ scope.row.delivery_date }}</div>
|
<div>{{ scope.row.delivery_date }}</div>
|
||||||
<div>{{ scope.row.time_period_name }}</div>
|
<div>{{ scope.row.time_period_name }}</div>
|
||||||
</div>
|
</div>
|
||||||
@ -240,6 +244,36 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 判断配送时段与当前时间的关系
|
||||||
|
const getDeliveryTimeStatus = (deliveryDate, timePeriodName) => {
|
||||||
|
if (!deliveryDate || !timePeriodName) return 'normal';
|
||||||
|
|
||||||
|
// 解析配送日期
|
||||||
|
const [year, month, day] = deliveryDate.split('-').map(Number);
|
||||||
|
|
||||||
|
// 解析时间段 (假设格式为 "12:00-14:00")
|
||||||
|
const timeRange = timePeriodName.match(/(\d{1,2}):(\d{2})-(\d{1,2}):(\d{2})/);
|
||||||
|
if (!timeRange) return 'normal';
|
||||||
|
|
||||||
|
const [_, startHour, startMinute, endHour, endMinute] = timeRange.map(Number);
|
||||||
|
|
||||||
|
// 创建配送时段的开始和结束时间
|
||||||
|
const startTime = new Date(year, month - 1, day, startHour, startMinute);
|
||||||
|
const endTime = new Date(year, month - 1, day, endHour, endMinute);
|
||||||
|
|
||||||
|
// 获取当前时间
|
||||||
|
const now = new Date();
|
||||||
|
|
||||||
|
// 判断当前时间是否在配送时段内
|
||||||
|
if (now >= startTime && now <= endTime) {
|
||||||
|
return 'in-progress'; // 当前时间在配送时段内
|
||||||
|
} else if (now > endTime) {
|
||||||
|
return 'expired'; // 当前时间已超过配送时段
|
||||||
|
} else {
|
||||||
|
return 'upcoming'; // 配送时段还未开始
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
// 添加窗口大小变化事件监听
|
// 添加窗口大小变化事件监听
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
window.addEventListener('resize', handleResize)
|
window.addEventListener('resize', handleResize)
|
||||||
@ -373,7 +407,8 @@ export default {
|
|||||||
handleReset,
|
handleReset,
|
||||||
handleStatusChange,
|
handleStatusChange,
|
||||||
handleSizeChange,
|
handleSizeChange,
|
||||||
handleCurrentChange
|
handleCurrentChange,
|
||||||
|
getDeliveryTimeStatus
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -386,6 +421,17 @@ export default {
|
|||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* 配送时段状态样式 */
|
||||||
|
.time-in-progress {
|
||||||
|
color: #e6a23c;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.time-expired {
|
||||||
|
color: #f56c6c;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
.page-header {
|
.page-header {
|
||||||
margin-bottom: 20px;
|
margin-bottom: 20px;
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user