提交 94a49477 编写于 作者: WodahsOrez's avatar WodahsOrez

lxm--日历右键菜单

上级 34093dde
...@@ -28,10 +28,12 @@ ...@@ -28,10 +28,12 @@
:color="item.color" :color="item.color"
:timestamp="item.start" :timestamp="item.start"
placement="top"> placement="top">
<el-card @click.native="onEventClick(item,true,$event)" :class="item.className"> <context-menu :contextMenuStyle="{width: '100%'}" :data="item" :renderContent="renderContextMenu">
<h4>{{item.title}}</h4> <el-card @click.native="onEventClick(item,true,$event)" :class="item.className">
<p>从 {{item.start}} 至 {{item.end}}</p> <h4>{{item.title}}</h4>
</el-card> <p>从 {{item.start}} 至 {{item.end}}</p>
</el-card>
</context-menu>
</el-timeline-item> </el-timeline-item>
</el-timeline> </el-timeline>
<#else> <#else>
...@@ -59,6 +61,7 @@ ...@@ -59,6 +61,7 @@
:customButtons="customButtons" :customButtons="customButtons"
:validRange="validRange" :validRange="validRange"
:defaultDate="defaultDate" :defaultDate="defaultDate"
:eventRender="eventRender"
@dateClick="onDateClick" @dateClick="onDateClick"
@eventClick="onEventClick" @eventClick="onEventClick"
@eventDrop="onEventDrop" @eventDrop="onEventDrop"
...@@ -76,6 +79,7 @@ import dayGridPlugin from '@fullcalendar/daygrid' ...@@ -76,6 +79,7 @@ import dayGridPlugin from '@fullcalendar/daygrid'
import timeGridPlugin from '@fullcalendar/timegrid'; import timeGridPlugin from '@fullcalendar/timegrid';
import listPlugin from '@fullcalendar/list'; import listPlugin from '@fullcalendar/list';
import interactionPlugin from '@fullcalendar/interaction' import interactionPlugin from '@fullcalendar/interaction'
import ContextMenu from '@components/context-menu/context-menu'
</#assign> </#assign>
<#assign component_block> <#assign component_block>
...@@ -679,8 +683,30 @@ FullCalendar, ...@@ -679,8 +683,30 @@ FullCalendar,
<#assign batchToolbar = ctrl.getBatchPSDEToolbar()/> <#assign batchToolbar = ctrl.getBatchPSDEToolbar()/>
${P.getCtrlCode(batchToolbar, 'CONTROL.vue').code} ${P.getCtrlCode(batchToolbar, 'CONTROL.vue').code}
</#if> </#if>
/**
* 事件绘制回调
*
* @param {*} info 信息
* @memberof ${srfclassname('${ctrl.codeName}')}
*/
public eventRender(info?:any,) {
let data = Object.assign({title: info.event.title, start: info.event.start, end: info.event.end}, info.event.extendedProps);
info.el.addEventListener('contextmenu', (event: MouseEvent) => {
event.preventDefault();
let props = { data: data, renderContent: this.renderContextMenu };
let component = ContextMenu;
const vm:any = new Vue({
render(h) {
return h(component, { props });
}
}).$mount();
document.body.appendChild(vm.$el);
const comp: any = vm.$children[0];
comp.showContextMenu(event.clientX, event.clientY);
});
}
/** /**
* 绘制右键菜单 * 绘制右键菜单
* *
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册