Vue 整合 full-calendar 周视图的使用案例

vue使用FullCalendar插件实现日历会议预约功能 此案例是用FullCalendar插件做一个会议日程预约功能,此功能可查看自己的日程安排会议信息等...... 阅读详情

在这里插入图片描述
引入依赖

import { FullCalendar } from 'vue-full-calendar'
import "fullcalendar/dist/fullcalendar.css";

模板代码

<template>
	<full-calendar
      ref="calendar"
      :config="config"
      :events="events"
    ></full-calendar>
</template>

属性配置

export default {
  name: "test",
  components:{
    FullCalendar
  },
  data() {
  	return {
  		events: [],
  		config: {
  			header: {
  				left: 'prev,next today',
          		center: 'title',
          		right: 'basicWeek'
  			},
  			views:{
	          week: {
	            titleFormat: 'yyyy/MM/DD'
	          }
        	},
        	buttonText: {today: "本周", month: "月", week: "周", day: "日",list: "日程" },
        	locale: "zh-cn",
        	defaultView: "basicWeek", //显示默认视图 basicWeek/agendaWeek
        	hiddenDays: [1],  // 隐藏周一
        	allDaySlot: false,    // 在agenda视图模式下,是否在日历上方显示all-day(全天)
        	eventRender:this.eventRender, // 当日程事件渲染时触发
        	displayEventEnd: true,//所有视图显示结束时间
        	eventBackgroundColor: '#faf9f9',    // 设置日程事件的背景色
        	eventColor:'#C19AE7', // 设置日程事件的文本背景颜色
        	eventBorderColor: '#1890ff', // 设置日程事件的边框色
        	eventTextColor: '#8662af', // 设置日程事件的文本文字颜色
  		},
  	}
  },
  created() {
  	this.thisWeekClick();
  },
  mounted() {
  	this.$nextTick(() =>{
      const prevBtn = document.querySelector('.fc-prev-button');
      prevBtn.addEventListener('click', () => {
        this.prevWeekClick();
      });
      const nextBtn = document.querySelector('.fc-next-button');
      nextBtn.addEventListener('click', () => {
        this.nextWeekClick();
      })
      const todayBtn = document.querySelector('.fc-today-button');
      todayBtn.addEventListener('click', () => {
        this.thisWeekClick();
      })
    });
  },
  methods:{
  	eventRender(calEvent, jsEvent, view){
      let html = '';
      let data = calEvent.title;
      html += '<div class="fc-time">'+data.startTime+'-'+data.endTime+'</div>';
      html += '<div class="fc-title">';
      html += '<p>' + '班级代码:' +  data.classCode +'</p>';
      html += '<p>' + '班级项目:' +  data.courseTitle +'</p>';
      html += '<p>' + '上课老师:' +  data.courseTeacher +'</p>';
      html += '<p>' + '上课人数:' +  data.studentNum +'</p>';
      html += '<p>' + '班主任:' +  data.classHeadName +'</p>';
      html += '</div>';
      jsEvent.find('div.fc-content').html(html);
    },
    //获取数据
    getCalendarLessonList() {
      this.rerenderEvents();
      calendarLessonList(this.queryParams).then(response => {
        // console.log(response.rows)

        let eventList = response.rows;

        eventList.map(item =>{
          let json = {};
          json.editable = false; //是否可编辑,可编辑是指可以移动, 改变大小等。
          json.start = item.date +" "+ item.startTime;
          json.end = item.date +" "+ item.endTime;
          json.title = item;
          // 背景颜色
          if(item.teachType == 1){
            // 预开班
            json.backgroundColor = '#f6ff03';
          }else if(item.teachType == 2){
            // 测评班
            json.backgroundColor = '#46a6ff';
          }else if(item.teachType == 3){
            // 活动课
            json.backgroundColor = '#ffba00';
          }else {
            // 正常课
            json.backgroundColor = '#f5f7fa';
          }
          this.events.push('renderEvent', json);
        })
      });
    },
    // 上周点击
    prevWeekClick(){
      const text = document.querySelector('.fc-center h2').innerText;
      let splitWeek = text.split("–");
      let startWeekDay = new Date(splitWeek[0]).toLocaleString();
      let endWeekDay = new Date(splitWeek[1]).toLocaleString();
      this.queryParams.startWeekDay = startWeekDay;
      this.queryParams.endWeekDay = endWeekDay;
      this.getCalendarLessonList();
    },
    // 下周点击
    nextWeekClick(){
      const text = document.querySelector('.fc-center h2').innerText;
      let splitWeek = text.split("–");
      let startWeekDay = new Date(splitWeek[0]).toLocaleString();
      let endWeekDay = new Date(splitWeek[1]).toLocaleString();
      this.queryParams.startWeekDay = startWeekDay;
      this.queryParams.endWeekDay = endWeekDay;
      this.getCalendarLessonList();
    },
    // 本周点击
    thisWeekClick() {
      let startWeekDay = new Date(new Date().getTime()-(3600*1000*24* (new Date().getDay()-1))).toLocaleString();
      this.queryParams.startWeekDay = startWeekDay;
      let endWeekDay = new Date(new Date().getTime()+(3600*1000*24* (7- new Date().getDay()))).toLocaleString();
      this.queryParams.endWeekDay = endWeekDay;
      this.getCalendarLessonList();
    },
    rerenderEvents(){
      // console.log("重新渲染");
      this.events = [];
    },
    handleQuery(){
      this.getCalendarLessonList();
    },
    resetQuery(){
      this.resetForm("queryForm");
      this.handleQuery();
    },
  },
}

总结

以上就是 Vue 整合 full-calendar 周视图的基础内容,如果你觉得有帮助,请o( ̄▽ ̄)d点赞收藏!多多支持!!!

FullCalendar 日历插件排班表排课表保姆级详解(可拖动排班排课) 闲来无事搞个排班排课表,之前貌似遇到过这类的需求,只不过没做上。主要用的就是FullCalendar插件。基于vue框架写法。基本的功能可以新建个日程看看样式,可以拖拽日程进去。提示:以下是本篇文章正文内容,下面案例可供参考以上就是实现简易排班排课表的雏形啦,复杂的功能还是要基于数据啦,静态只是看看大概。先说这么多,后面有坑我再写;以及后面看看能不能再加上些好玩的功能。 阅读详情

相关推荐

Vue2 - 使用Vue FullCalendar实现日历日程管理控件的案例详解(全)

在vue2项目开发中,使用FullCalendar控件实现日历日程管理

前端充电宝 2675

vue日历插件vue-full-calendar

解说:简单聊一聊vue日历插件vue-full-calendar - 掘金vue中如何使用vue-full-calendar(完整版)-优快云博客vue-full-calendar 用法详解 (vue 2.5.2的日历插件)-优快云博客管网:Demos | FullCalendar

killerdoubie的博客 1623

Meta DINOv3实战指南:如何用7B参数ViT模型提升你的视觉任务性能(附Hugging Face部署教程)

本文提供了Meta DINOv3 7B参数ViT模型的实战部署指南。文章详细解析了该自监督视觉模型的优势,并重点演示了如何在Hugging Face平台上高效加载这一大规模模型,同时给出了图像分类、语义分割等下游任务的性能提升技巧与代码示例,帮助开发者在实际视觉任务中应用这一前沿技术。

pz89012345的博客 325

vue中如何使用vue-full-calendar(完整版)

vue中如何使用vue-full-calendar(完整版) 1、npm下载 npm install vue-full-calendar --save 2、哪个页面要使用直接引入 import { FullCalendar } from 'vue-full-calendar' import 'vue-full-calendar/node_modules/fullcalendar/dist/fullcalendar.css' 页面使用了组件,所以必须在components中注册一下 components:

一只琪琪子的博客 4844

小案例:利用图床自动化批量上传图片并获取图片链接

用python爬虫写了一个小脚本,用来自动上传图片到图床,然后返回链接,我们只需直接复制链接就可以。(需要安装Requests库) 因为不同图床需要提交的POST表单不一致,所以在这里我用ImgURL图床做示范,如果大家有需求,可自行修改代码。使用脚本的时候,我们只需把需要上传的图片和这个脚本放在同一个文件夹中,然后运行脚本,稍作等待,看到提示时就可以在脚本运行文件夹中发现一个名为“图片链接地址.txt”的文件,里面就是图片链接啦! 四、图片链接地址.txt(单张图片):...

采菊东篱下,Python满乾坤! 4413

未隔离电源设备使用usb转串口调试导致串口模块爆炸烧坏事故记录

这个事就发生在前两天,我们公司的wifi模块被客户用到了咖啡机上,客户寄了一台整机给我们协助调试,还送了几包咖啡豆,本想着还能打个咖啡喝一喝的,但就在咖啡机刚寄过来第一天,就出事了。而这个事故的发生,竟然仅仅是因为同事接了个串口模块到电脑调试打印导致的。谁也想不到,这个3.3V的供电的wifi模块居然还有这么大的威力。直接将usb转TTL串口模块的转换芯片给爆开了,咖啡机也给弄坏了,据同事描述当时情况就只见到一片火光和一声巨响,状况比较惨烈,所幸的是笔记本电脑没有烧坏,但是直接给崩蓝屏了。 ...

fangye945a的博客 6195

vue-full-calendar 用法详解 (vue 2.5.2的日历插件)

vue-full-calendar版本: "2.7.0"1.效果图2.上代码(1).安装依赖(2).文件中导入依赖(3).开发(3). 开始运行 1.效果图 具体demo,下方连接,下载即可运行。 fullcalendar_demo 零外还可以加入日程列表 2.上代码 需要创建一个vue脚手架,不会的可以百度下,这里就不说了,直接上主题。 (1).安装依赖 npm install vue-f...

weixin_44254243的博客 8742

锐捷交换机配置SSH

锐捷交换机配置ssh 一、组网需求 通过ssh功能可以远程登录管理设备 二、配置步骤 全局开启ssh服务,并且指定ssh版本 Ruijie>enable Ruijie#configure terminal Ruijie(config)#enable service ssh-server ------>开启SSH服务,默认关闭 Ruijie(config)#ip ssh version 2 ------>默认1.99版本,设置为版本2 添加登

Loners_fan的博客 1万+

【免费下载】 Vue全历组件:Vue-FullCalendar安装配置完全指南

Vue-FullCalendar是CroudTech团队开发的一款用于Vue.js的FullCalendar封装库,致力于简化在Vue应用中集成日历功能的过程。本项目基于JavaScript,并且主要采用Vue.js作为编程语言,支持Vue 2.x版本及更高。通过这个插件,开发者可以轻松地在他们的应用中添加事件管理与日历视图。 ## 关键技术和框架 - **FullCalendar**: 核心日...

gitblog_01241的博客 1807

让Claude连续写代码24小时会发生什么?揭秘长时运行”架构背后的工程逻辑与未来

AI长时运行实验揭示软件开发新范式 Claude Opus通过Harness框架24小时独立开发全栈应用的成功实验,展示了AI从辅助工具向异步协作者的进化。实验采用"上下文轮转"机制解决记忆管理难题,将任务拆解为微周期并通过文件系统同步进度。核心突破在于:1)TDD成为AI自治基石,200+测试用例确保开发不偏航;2)文件取代对话成为AI间高效沟通介质;3)开发者角色重构为需求定义和框架设计者。该实验证明,通过严谨的架构约束和验收标准,AI可完成复杂长周期任务,预示着软件开发将从手工作坊

老孙 | Ethan Sun 的博客:AI 智能体与 AI 原生软件的工程实践 1094

卡诺图化简法注意事项+竞争冒险知识点总结

今天反思以下卡诺图化简法中的注意事项。 卡诺图看起来简单,但如果不熟悉的话很容易出错,因此要对画圈的规则比较熟悉。

weixin_42415266的博客 1万+

简单聊一聊vue日历插件vue-full-calendar

版本选择 目前大约有三种不同版本的引用方式,本篇文章讲的是第一种,如果下文中讲的方法不生效,请检查一下版本是否一致 vue-full-calendar vue-fullcalendar fullcalendar/vue 安装 npm install --save vue-full-calendar 引用–局部引用 // index.vue import { FullCalendar } from 'vue-full-calendar' import 'fullcalendar/dist/fullc.

zero77ld的博客 3184

GIS数据处理-使用PostGIS+QGIS

GIS数据处理1-使用PostGIS+QGIS 介绍 这里我遇到了一个需求,需要将SQLite的.db数据库中GIS数据导出成shapefile文件 数据库的表结构如下所示,这里存储的是wkt格式的矢量数据 WKT与WKB格式介绍 OpenGIS 规范定义了两种表示空间对象的标准方式:Well-Know Text (WKT) 形式和Well-Known Binary(WKB) 形式。WKT 和 WKB 都包含矢量几何要素的对象类型和构成对象的坐标的信息。WKT可读性强,更方便阅读识别,而在实际数据传输和存

孙霸天的专栏 2528

用vue-full-calendar实现酒店预定管理展示

近些天有位做酒店业务朋友问到我,有没有前端比较好用的预定日历查看插件,实际上我也没有研究过,毕竟我的专长还是后端,不过迫与多年好友关系,帮他研究了一把,现在前端发展的真的是非常快,今天分享一款比较好用的预定日历展示插件,并给出主要的使用演示。大概实现的思路是,展示完整的月预定日历,并且实现点击每一个预定,弹窗展示一下具体的预定信息。

黑夜开发者的博客 2081

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

vue-full-calendar的使用方法【亲测】

由于项目需要,所以要用到一个vue-full-calendar的这个插件,今天弄了一天,测试了很多,踩了不少的坑。做个简单的记录。 首先要注意插件的使用,需要安装的插件是:vue-full-calendar 而不是 vue-fullcalendar 也不是 calendar,因为我以为vue-fullcalendar和vue-full-calendar是一样的,虽然也能显示,但是具体的配置和vue...

昆明网站建设制作 1万+

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Vue中使用FullCalendar技术

1、Fullcalendar安装 npm install --save @fullcalendar/vue 下面包是日历的周视图、日视图等插件包: npm install --save @fullcalendar/core @fullcalendar/daygrid @fullcalendar/interaction @fullcalendar/list @fullcalendar/timegrid 安装后的fullcalendar源码和其它插件都会在@fullcalendar 2、html文件

飞翔的小白 8225

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

vue FullCalendar使用案例及详解

先看下效果图 需求:实现预约功能,设置过不可预约的时间段置灰不可选中,比如上图中周六周天不可预约,晚上23:00到24:00不可预约;当前天在第一个,往后排7天;点击上一周下一周时切换数据重新渲染后台返回的数据;待审核已预约的数据后台返回根据状态展示不同的颜色;在FullCalendar中拖拽或者点击时填充开始时间结束时间,时长到右侧的表单中; 首先要安装完引用插件: import '@fullcalendar/core/vdom' // solves problem with Vite....

m0_51501174的博客 2万+

vue-full-calendar

今天做了一个dome,是关于vue-full-calendar的,在公司用的是angluar,自己在家自学vue,遇到了个问题,上网查了好久,都没有遇到的问题,后来找了一个大神的demo,对比了一下,发现了个特别低级的错误,记录一下

weixin_43839718的博客 715

了解Vue中日历插件Fullcalendar

了解Vue中日历插件Fullcalendar

强者惜字如金,弱者废话连篇! 5808

Fullcalendar V5踩坑 (周视图篇)

fullcalendar周视图实现

Holly31的博客 2456

fullcalendar日历控件基础使用

1.选择年份,根据年份生成月份数据列2.点击月份,生成对应月份视图3.选择日期,打开弹窗。

weixin_46155697的博客 1260

Vue3中使用FullCalendae日历,实现鼠标悬浮日程上出现提示框

Vue3中使用FullCalendae日历,实现鼠标悬浮日程上出现提示框

qq_48701993的博客 411

vuefullcalendar 知识总结

vuecalendar的总结介绍

m0_66571906的博客 1万+

Vue使用FullCalendar实现日历/周历/月历

需求背景:项目上遇到新需求,要求实现工单以日/周/月历形式展示。而且要求不同工单根据状态显示不同颜色,一个工单内部,需要以不同颜色显示三个阶段。

_小郑有点困了的博客 3420

vue框架学习 -- 日历控件 FullCalendar 使用总结

最近在项目中要实现日期排班的功能,正好要用到日历视图的控件,经过对比发现,vue 中 使用可以实现相关需求,下面对使用过程做一个总结。

dazhong2012的专栏 3099
上一篇: SpringBoot 整合 MyBatis
下一篇: 我的第一个腾讯云服务器
perfei焓
博客等级 码龄8年 32粉丝 28原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值