移除流式日历多天日程右边缘调整时长功能

This commit is contained in:
2026-08-13 15:56:19 +08:00
parent e9d7d3f903
commit 091fd28ba6
1 file changed
+1 -79
@@ -103,8 +103,6 @@ const clipboard = ref(null)
const dragState = ref({ eventId: 0, originalStart: '', originalEnd: '', dragging: false })
const dragOverDate = ref('')
const resizeState = ref({ eventId: 0, originalStart: '', originalEnd: '', dragging: false, targetDate: '' })
const weekdayShort = computed(() => {
if (locale.value === 'zh-CN') return ['一', '二', '三', '四', '五', '六', '日']
return ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
@@ -454,10 +452,6 @@ function getEventBarClass(seg) {
}
}
function canResize(seg) {
return seg.event.canEdit && seg.event.startDate !== seg.event.endDate && !seg.continuesAfter
}
function getUserIdFromEventID(eventID) {
const target = eventBindUserID.value.find(item => item.eventID === eventID)
return target ? target.userID : 0
@@ -839,58 +833,6 @@ function handleDragEnd() {
dragOverDate.value = ''
}
function handleResizeStart(event, e) {
if (!event.canEdit) return
resizeState.value = {
eventId: event.id,
originalStart: event.startDate,
originalEnd: event.endDate,
dragging: true,
targetDate: '',
}
const onMouseMove = (ev) => {
const el = document.elementFromPoint(ev.clientX, ev.clientY)
const dayCell = el?.closest('.day-cell')
if (dayCell) {
resizeState.value.targetDate = dayCell.dataset.date
}
}
const onMouseUp = () => {
document.removeEventListener('mousemove', onMouseMove)
document.removeEventListener('mouseup', onMouseUp)
if (resizeState.value.dragging && resizeState.value.targetDate) {
const targetDate = resizeState.value.targetDate
const event = allEvents.value.find(ev => ev.id === resizeState.value.eventId)
if (event && targetDate >= event.startDate) {
calendarApi.updateEvent({
id: event.id,
title: event.title,
start: toDatetime(event.startDate),
end: toDatetime(targetDate),
schedule_type: event.scheduleType,
}).then(r => {
if (r.errCode === 0) {
toast.success(t('calendar.event_save_success'))
refreshVisibleEvents()
} else {
toast.error(t('message.server_error'))
}
})
}
}
resizeState.value.dragging = false
resizeState.value.targetDate = ''
}
document.addEventListener('mousemove', onMouseMove)
document.addEventListener('mouseup', onMouseUp)
}
function goToToday() {
generateInitialWeeks()
lastEventsSnapshot = null
@@ -1299,7 +1241,7 @@ watch(locale, () => {
class="day-cell border-r border-gray-100 p-1 dark:border-dk-muted relative"
:class="{
'bg-gray-50 dark:bg-dk-base/50': isWeekend(day),
'bg-blue-50 dark:bg-blue-900/30': dragOverDate === dateToStr(day) || resizeState.targetDate === dateToStr(day),
'bg-blue-50 dark:bg-blue-900/30': dragOverDate === dateToStr(day),
}"
:data-date="dateToStr(day)"
@click="handleDateClick(dateToStr(day))"
@@ -1341,11 +1283,6 @@ watch(locale, () => {
<span v-if="seg.continuesBefore" class="event-continue-left">«</span>
<span class="event-title" :class="{ 'pl-3': seg.continuesBefore, 'pr-3': seg.continuesAfter }">{{ seg.event.title }}</span>
<span v-if="seg.continuesAfter" class="event-continue-right">»</span>
<span
v-if="canResize(seg)"
class="resize-handle"
@mousedown.stop.prevent="handleResizeStart(seg.event, $event)"
></span>
</div>
<!-- +N more links -->
@@ -1478,21 +1415,6 @@ watch(locale, () => {
100% { transform: translateX(0); }
}
.resize-handle {
position: absolute;
right: 0;
top: 0;
bottom: 0;
width: 6px;
cursor: ew-resize;
background-color: rgba(0, 0, 0, 0.2);
border-radius: 0 4px 4px 0;
}
.resize-handle:hover {
background-color: rgba(0, 0, 0, 0.4);
}
.event-continue-left,
.event-continue-right {
position: absolute;