最近接到一项工作任务,需要展示并打印一周内24小时的排班信息,便想到使用jquery周历插件实现,下面是效果图尚未经过美工打磨。

下面说下,实现过程。

一、依赖的js文件

<link rel='stylesheet' type='text/css' href='<%=basePath%>/plugins/jquery-week-calendar-master/full_demo/reset.css' />
<link rel='stylesheet' type='text/css' href='<%=basePath%>/plugins/jquery-week-calendar-master/libs/css/smoothness/jquery-ui-1.8rc3.custom.css' />
<link rel='stylesheet' type='text/css' href='<%=basePath%>/plugins/jquery-week-calendar-master/jquery.weekcalendar.css?time=2' />
<link rel='stylesheet' type='text/css' href='<%=basePath%>/plugins/jquery-week-calendar-master/full_demo/demo.css' />
<script type='text/javascript' src='<%=basePath%>/plugins/jquery-week-calendar-master/jquery.weekcalendar.js'></script>

二、jsp代码

<div id='calendar'></div>

三、重写插件中的部分代码

$(function() {$(".datepicker").datepicker({format : 'yyyy-mm-dd',autoclose: true,language :"cn",todayHighlight: true}).on("changeDate",changeasdDate);var $calendar = $('#calendar');//设置定时器,防止插件未计算完单元格高度加载页面导致页面显示有问题setTimeout(function() {$calendar.weekCalendar({timeslotsPerHour : 1,timeslotHeight: 100,allowCalEventOverlap : true,overlapEventsSeparate: true,timeFormat : "h:i",dateFormat : "Y-m-d",use24Hour: true,readonly : false,firstDayOfWeek : 0,businessHours :{start: 0, end: 24, limitDisplay: true },daysToShow : 7,buttonText : {today : "本周",lastWeek : " < ",nextWeek : " > "},height : function($calendar) {return $(window).height() - $("h1").outerHeight() - 1;},calendarAfterLoad : function(calEvent) {},eventClick : function(calEvent, $event) {Date.prototype.Format = function (fmt) { //author: meizz var o = {"M+": this.getMonth() + 1, //月份 "d+": this.getDate(), //日 "h+": this.getHours(), //小时 "m+": this.getMinutes(), //分 "s+": this.getSeconds(), //秒 "q+": Math.floor((this.getMonth() + 3) / 3), //季度 "S": this.getMilliseconds() //毫秒 };if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));for (var k in o)if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));return fmt;}if(calEvent==null || calEvent.title=='' || calEvent.title =="New Event") {calEvent.readOnly = true;}if (calEvent.readOnly) {return;}if(calEvent.title!=undefined &&calEvent.title!=null && calEvent.title!='' && calEvent.title !="New Event") {var nowDateStr = calEvent.start.Format("yyyy-MM-dd hh:mm:ss");$('.danyuangeTableTh').html("时间"+ nowDateStr);$('#danyuangeTitle').html('<font style="font-size:15px;">'+calEvent.title+'</font>');$('#event_edit_container').modal('show');}},draggable : function(calEvent, $event) {return calEvent.readOnly != true;},resizable : function(calEvent, $event) {return calEvent.readOnly != true;},eventDrop : function(calEvent, $event) {},eventResize : function(calEvent, $event) {},eventMouseover : function(calEvent, $event) {},eventMouseout : function(calEvent, $event) {},noEvents : function() {},data : function(start, end, callback) {callback(getEventData(start));}    });}, 200);/*$(".wc-time-slot-wrapper .wc-time-slot").height(100);$(".wc-day-column-inner .wc-cal-event").css("display","block");*/
}); 

四、获取后台数据代码,通过调用getEventData(start)方法实现

function getEventData(start) {/*var year = start.getFullYear();var month = start.getMonth();var day =  start.getDate();var dataArr111 = new Array();var dataObj111 = new Object();dataObj111.id =1;dataObj111.start = new Date(year, month, day, 15);dataObj111.end =  new Date(year, month, day, 16);;dataObj111.title =  "今天1111值班";var dataObj2 = new Object();dataObj2.id =1;dataObj2.start = new Date(year, month, day+1, 15);dataObj2.end =  new Date(year, month, day+1, 16);;dataObj2.title =  "今天2222值班";var dataObj3 = new Object();dataObj3.id =1;dataObj3.start = new Date(year, month, day+2, 15);dataObj3.end =  new Date(year, month, day+2, 16);;dataObj3.title =  "今天3333值班";dataArr111.push(dataObj111);dataArr111.push(dataObj2);dataArr111.push(dataObj3);var  weekObj = new Object();weekObj.events = dataArr111;alert(JSON.stringify(weekObj));return weekObj;*/var time1 = start.Format("yyyy-MM-dd");var year = start.getFullYear();var month = start.getMonth();var day =  start.getDate();var  weekObj = new Object();$('#staffWorkListToolbar input[name="scheduleDay"]').val(time1);$.ajax({type: "post",dataType: 'json',async: false,data : {"scheduleDay":time1,"shopCode":shopCode,"yearTime":year,"monthTime":month,"dayTime":day},url: contextPath + '/shopWorker/queryWorkerBatchFlex',success:function(json){var dataRecords = json.data;if(dataRecords!=null && dataRecords.length>=1) {weekObj.events = dataRecords;}else{var initArr = new Array();var count = 1;for(var i=1;i<=1;i++) {var initObj = new Object();initObj.id = count;initObj.start = new Date(year,month,day,10);initObj.end= new Date(year,month,day,11);initObj.title = null;initArr.push(initObj);}weekObj.events = initArr;}    },error: function () {alert('根据门店编码查询人员上班表错误!');}});return   weekObj;
}

jquery周历插件jqueryweekcalendar汉化实现【带节日】相关推荐

  1. PS动效插件imagemotion汉化版

    为大家分享最新汉化的PS动感映像插件Imagemotion for mac,适用于最新版本的photoshop 2019,imagemotion mac版可以将静态图像转换为动态的效果,轻松制作烟雾. ...

  2. 对于英语小白,运行Pycharm后要做的第一件事,下载一个官方插件,汉化Pycharm

    1.前言 对于第一次使用Pycharm的新手来说,特别对于我这种英语渣渣,对Pycharm是又爱又恨,因为下载安装打开的是英文界面,在日常使用上多有不便. 但是其实Pycharm有中文汉化官方插件的, ...

  3. voukoder插件|voukoder汉化版

    voukoder插件是专门为after effects和premiere pro软件提供的一款体积小巧.功能强大的加速渲染插件,是由国外团队开发并且完全开源免费推出的,只要用户将该插件安装到adobe ...

  4. js实现周历插件方法

    1.兼容IE8-11.360浏览器.chrome.firefox等主流浏览器:手机端也可使用. 2.添加点击前一周.后一周和高亮等功能. 实现原理概述 1.初始化周历原理: 首先获取表示当前星期几的数 ...

  5. Atom使用方法(快捷键,插件,汉化)

    Atom文本编辑软件 使用方法 常用快捷键 Ctrl + Shift + M :打开markdown调试窗口 Crtl + m:相应括号之间,html tag之间等跳转 Crtl + Alt + B: ...

  6. 除雾霾去朦胧增强色彩对比清晰画面调色插件 ClearPlus v2.1 Win/Mac AE/PR插件中文汉化版安装与使用

    插件介绍 ClearPlus是一款功能强大的AE超级色彩去雾插件,旨在增强包括模糊,水下和弱光视频在内的素材,它也是增强天空的理想选择.轻松灵活地使颜色变得时尚.阴影/高光使您可以在保持自然外观的同时 ...

  7. Atom编译器64位win版本下载汉化及前端必备插件

    下载方式: 1.官网下载 2.Github下载 3.Atom编译器64位win版本下载 汉化: 安装插件:simplified-chinese-menu 刚安装好的Atom打开是英文版本,可以通过安装 ...

  8. vscode (Visual Studio Code)安装汉化以及前端常用插件推荐

    个人IDE软件使用经过 DW => HBulider => sublime => vscode,感觉还是 vscode 用着更爽一些. vscode 全称 Visual Studio ...

  9. Cacti中文版安装汉化插件管理支持Plugin Architecture

    Cacti默认安装后不支持插件,需打一个补丁PA,即:Plugin Architecture, 因为我的cacti是中文版的,之前安装了pa补丁是英文的,看着别扭. 于是自己汉化了一个. 注意:此补丁 ...

最新文章

  1. ASP.NET中利用DataGrid的自定义分页功能和存储过程结合实现高效分页
  2. 浏览器的渲染原理简介
  3. sizeof 计算struct大小
  4. 电路中滤波电容和退耦电容_电子电路中电容的作用,滤波消抖,充放电,耦合,退耦...
  5. 简单安装ELK分析日志及使用心得
  6. oracle 数据库日期定义,Oracle数据库实现日期遍历功能
  7. 经典编程问题之:选择排序、冒泡排序、汉诺塔游戏,均用js代码实现
  8. python面试题之Fibonacci数列
  9. 根据导出的查询结果拼接字符串,生成sql语句并保存到txt文件中
  10. shiro-cas------实现单点登出并自定义登出starter
  11. 第2节:支持向量机SVM即numpy
  12. WebAssembly:系统编程语言的逆袭
  13. Android 9.0 flash播放器播放swf源码讲解
  14. 微信群发软件哪个好?好用的群发软件选择
  15. 修改Github仓库中项目语言类型
  16. 【机友会选手机攻略】合约机是什么?和裸机有什么区别?0元购机和购机入网送话费区别?...
  17. E融汇移动端灰度发布功能演进
  18. DICOM:dcm4che工具包如何压缩dcm文件探讨(续篇)
  19. 健康闹钟+颈椎操,保护你的颈椎
  20. (转)cin cin.get cin.getline cin

热门文章

  1. HTML文件发到群里,怎么将文件分享到百度云群中?百度云群组分享文件的教程
  2. 优秀案例:25个伟大的企业 LOGO 设计
  3. 启动谷歌浏览器chrome,提示”没有注册类”
  4. 自动控制原理6.4---前馈校正
  5. Python基础入门:从0完成一个宝可梦数据分析实战-Task4-阿里云天池
  6. 聚氯乙烯含汞废水处理工艺
  7. jzxx1087歌德巴赫猜想
  8. Java二进制文件读写与bmp位图格式学习
  9. react解析md文件
  10. 2021-9-7 破防了!!!崩溃瞬间,欲哭无泪