From 4bca18627ee754e3094e403a6f2214f0c5053d0c Mon Sep 17 00:00:00 2001 From: kevin Date: Sat, 4 Apr 2026 18:25:08 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=B8=80=E4=B8=AA=E9=A2=9C?= =?UTF-8?q?=E8=89=B2=E6=98=BE=E7=A4=BAbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../datatimePickerForFullCalendar.vue | 8 +++- .../ops_vue_js/src/views/scheduleView.vue | 46 +++++++++++++++++-- 2 files changed, 47 insertions(+), 7 deletions(-) diff --git a/frontend/ops_vue_js/src/components/datatimePickerForFullCalendar.vue b/frontend/ops_vue_js/src/components/datatimePickerForFullCalendar.vue index 973b1d7..1b8647e 100644 --- a/frontend/ops_vue_js/src/components/datatimePickerForFullCalendar.vue +++ b/frontend/ops_vue_js/src/components/datatimePickerForFullCalendar.vue @@ -63,7 +63,8 @@ const eventData = ref({ title: props.title, start: props.startDate, end: props.endDate, - Color: props.color, + backgroundColor: props.color, + borderColor: props.color, allDay: true, editable: true, }); @@ -118,7 +119,8 @@ watch( watch( () => props.color, (newVal) => { - eventData.value.color = newVal; + eventData.value.backgroundColor = newVal; + eventData.value.borderColor = newVal; }, ); @@ -302,6 +304,7 @@ const calendarOptions = ref({ }); function switchShow() { + if(props.isEditable){ if (isShow.value) { isShow.value = false; @@ -317,6 +320,7 @@ function splicingDataWeek(data) { } onMounted(() => { + console.log(eventData.value) calendarOptions.value.events.push(eventData.value); }); diff --git a/frontend/ops_vue_js/src/views/scheduleView.vue b/frontend/ops_vue_js/src/views/scheduleView.vue index cbee8f5..252e75f 100644 --- a/frontend/ops_vue_js/src/views/scheduleView.vue +++ b/frontend/ops_vue_js/src/views/scheduleView.vue @@ -92,7 +92,10 @@ const pageData = reactive({//本页全局变量 submitChecked: false, - editMode: false, + isCopy:false, + copyTitle:"", + copyColor:"", + }) @@ -254,6 +257,8 @@ const calendarOptions = ref({ const nowTime = new Date().getTime(); const timeDifference = nowTime - pageData.lastClickTime; + + unseleEventAll();//点击了日期就取消event的选择 //判断和上次点击的是不是同一天 @@ -296,6 +301,8 @@ const calendarOptions = ref({ const nowTime = new Date().getTime(); const timeDifference = nowTime - pageData.lastEventClickTime; + console.log(info) + //判断event的title是否过长,如果是被截断的 就toast.info弹窗显示 // const titleEl = info.el.querySelector('.fc-event-title'); // if (titleEl && titleEl.scrollWidth > titleEl.clientWidth) { @@ -539,6 +546,26 @@ const selectColor = (colorValue) => { }; +function copyEvent(){ + pageData.copyTitle=eventData.value.title; + pageData.copyColor=eventData.value.color; + pageData.isCopy=true; + toast.info("已复制"); +} + +function pastEvent(){ + if (pageData.isCopy){ + if(eventData.value.isEditable){ + eventData.value.color=pageData.copyColor; + eventData.value.title=pageData.copyTitle; + toast.info("已粘贴"); + }else{ + toast.warning("这不是你的日程"); + } + } + +} + // 监听语言变化,更新日历的本地化和按钮文字 watch(locale, () => { // 更新日历语言 @@ -631,8 +658,12 @@ onMounted(() => {