diff --git a/src/control/calendar/components/calendar-daily/calendar-daily.scss b/src/control/calendar/components/calendar-daily/calendar-daily.scss index 8b13c1879f57a18fe5f61c6bd4a9a2263856052e..de9500605d8e30a7a2ff3b224c49d0c40391cd13 100644 --- a/src/control/calendar/components/calendar-daily/calendar-daily.scss +++ b/src/control/calendar/components/calendar-daily/calendar-daily.scss @@ -66,7 +66,6 @@ text-align: left; border-radius: 4px; background: getCssVar(color, tertiary, light, hover); - border-radius: 4px; position: relative; cursor: pointer; &.is-selected-event { @@ -235,13 +234,17 @@ } // 面板项popper @include e(event-popover) { - position: relative; width: auto; height: auto; padding: 0; - &.el-popover.el-popper { - padding: 8px; + &.#{bem('popover')} { + position: absolute; + z-index: 110; + padding: getCssVar(spacing, tight); + background: getCssVar(color, bg, 1); + border: none; + box-shadow: getCssVar('shadow', 'elevated'); } // 当配置了 showdetail 参数,只有配置了布局面板时才会显示气泡 @@ -272,36 +275,5 @@ } } } - @include m(close) { - position: absolute; - top: 8px; - right: 8px; - display: none; - cursor: pointer; - - &:hover { - .el-icon { - background: getCssVar(color, primary); - border-radius: 50%; - - svg { - fill: getCssVar(color, white); - } - } - } - } - - .el-icon { - display: flex; - align-items: center; - justify-content: center; - min-width: 24px; - min-height: 24px; - font-size: 20px; - - svg { - fill: var(--el-text-color-secondary); - } - } } } \ No newline at end of file diff --git a/src/control/calendar/components/calendar-daily/calendar-daily.tsx b/src/control/calendar/components/calendar-daily/calendar-daily.tsx index 6494e53bbe0312517ed1eb628be716c96f54aadf..8067c07d7cb0dd4ac67de648c8a8bcf69abe3d81 100644 --- a/src/control/calendar/components/calendar-daily/calendar-daily.tsx +++ b/src/control/calendar/components/calendar-daily/calendar-daily.tsx @@ -3,7 +3,7 @@ import { defineComponent, onMounted, onUnmounted, watch } from 'vue'; import { useNamespace } from '@ibiz-template/vue3-util'; import { showTitle } from '@ibiz-template/core'; import { IUIEvent, calendarDailyEmits, calendarDailyProps } from '../interface'; -import { closeIcon, handlePopClose, isToday } from '../util'; +import { isToday } from '../util'; import { useCalendarDaily } from './use-calendar-daily'; import './calendar-daily.scss'; @@ -29,7 +29,10 @@ export const CalendarDaily = defineComponent({ handleCurTime, initDrawData, eventContextmenu, - } = useCalendarDaily(props, emit); + contentMousemove, + eventMouseenter, + eventMouseleave, + } = useCalendarDaily(props, emit, ns); watch( () => props.selectedData, @@ -61,6 +64,28 @@ export const CalendarDaily = defineComponent({ } }); + /** + * 绘制事件项popover内容 + * @param {IUIEvent} _event 事件项数据 + */ + const renderPopoverContent = (_event: IUIEvent) => { + // 适配弹框内详情不要背景色 + const _tempEvent = { ..._event, color: '', bkColor: '' }; + return ( +