日程日历系统,顶级插件FullCalendar使用说明
简介
日程系统,繁琐的月日期开始结束计算、当前页面开始的天数(跨月)。。。等等,麻烦的事情都交给FullCalendar,世界安静了。
官网
使用
1、页面引用
<link href='/contrast/assets/global/plugins/fullcalendar-3.2.0/fullcalendar.min.css' rel='stylesheet' /> <link href='/contrast/assets/global/plugins/fullcalendar-3.2.0/fullcalendar.print.min.css' rel='stylesheet' media='print' /> <script src='/contrast/assets/global/plugins/fullcalendar-3.2.0/lib/moment.min.js'></script> <script src='/contrast/assets/global/plugins/fullcalendar-3.2.0/lib/jquery.min.js'></script> <script src='/contrast/assets/global/plugins/fullcalendar-3.2.0/fullcalendar.min.js'></script> <script src='/contrast/assets/global/plugins/fullcalendar-3.2.0/locale-all.js'></script>
2、页面代码
<!-- 页面容器 --> <div id='calendar'></div> <!-- 隐藏按钮,ajax自动请求触发验证 --> <button id="zhibiao-btn" type="button" class="btn btn-primary" style="display:none;" data-toggle="modal" data-target=".bs-example-modal-lg">Large modal</button> <script> /** * 业务约束(预警颜色说明) * #指标符合率# * 红色(#FF3333):<95% * ×××(#FFCC66):>95% * 绿色(#CCFFCC):=100% * 灰色(#CCCCCC):数据未上传 */ $(document).ready(function() { var initialLocaleCode = 'zh-cn'; $('#calendar').fullCalendar({ header: { left: 'prev,next today', center: 'title', right: 'month,listMonth' }, firstDay:0, defaultDate: new Date(), locale: initialLocaleCode, buttonIcons: false, // show the prev/next text navLinks: true, // can click day/week names to navigate views editable: false, eventLimit: true, // allow "more" link when too many events events: 'warningcalendar/fhl_json', eventClick: function(calEvent, jsEvent, view) { seeDate = calEvent.start.format('YYYY-MM-DD'); req_zhibiaodetail(""); $("#zhibiao-btn").click(); } }); }); /** * 获取符合率明细 */ var seeDate = ""; function req_zhibiaodetail(JGDM,JGMC){ if(seeDate==""){alert("查看日期不能为空。");return;} if(JGDM==""){ if($("#jgList").html()!=undefined){ JGDM = $("#jgList li:eq(0)").attr("jgdm"); JGMC = $("#jgList li:eq(0)").text(); } } $.ajax({ type : "get", url : 'warningcalendar/show_fhl_detail_json', dataType : "json", data : {seeDate:seeDate,JGDM:JGDM}, success : function(data) { $('#zhibiaoDetail').html(data.ERRORCENTENT); }, error : function(reslt) { alert("您好,"+JGMC+"暂无符合率请查看其它机构"); } }); } </script>
3、后台代码
/** * 机构符合率 */ @SuppressWarnings("unchecked") @RequestMapping(value = "/fhl_json") @ResponseBody public List<HashMap<String, Object>> fhlJson(HttpServletRequest request, HttpServletResponse response){ String sql = "select t1.d \"start\", nvl(t2.\"title\", '数据未上传' ) \"title\", nvl (t2.\"color\", '#CCCCCC') \"color\" from ( select to_char ( to_date (#{startDate}, 'yyyy-MM-dd') + rownum - 1, 'yyyy-mm-dd' ) d from user_objects where to_date (#{startDate}, 'yyyy-MM-dd') + rownum - 1 <= to_date (#{endDate}, 'yyyy-MM-dd')) t1 left join ( select to_char (ERRORDATE, 'yyyy-MM-dd') \"start\", '符合率:' || trunc (sum(total) / count(total), 2) || '%' \"title\", case when trunc (sum(total) / count(total), 2) < 95 then '#FF3333' when trunc (sum(total) / count(total), 2) between 95 and 100 then '#FFCC66' when trunc (sum(total) / count(total), 2) = 100 then '#FFCC66' end as \"color\" from SYS_TONG_QUOTA_ERROR t where t .ERRORDATE >= to_date (#{startDate}, 'yyyy-MM-dd') and t .ERRORDATE <= to_date (#{endDate}, 'yyyy-MM-dd')"; HashMap<String, Object> prm = new HashMap<String, Object>(); //设置当前日历起止时间 prm.put("startDate", request.getParameter("start")); prm.put("endDate", request.getParameter("end")); //获取当前用户 HashMap<String, Object> user = (HashMap<String, Object>) request.getSession().getAttribute(SessionUtils.SESSION_USER_KEY); //非管理只看本院 if(null!=user&&user.get("ISADMIN").equals("yiyuan")){ sql+=" and JGDM=#{jgdm}"; prm.put("jgdm", user.get("YLJGDM")); } sql+=" group by to_char (ERRORDATE, 'yyyy-MM-dd')) t2 on t1. d = t2.\"start\" where to_date(t1.d,'yyyy-mm-dd')<sysdate "; return curdManager.findList(sql, prm); }
FullCalendar默认提交日期开始结束:“start”“end”
返回的格式如上Sql展示
以上,Ok!
使用ajax全程不用处理,扔给FullCalendar全程自动化
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
高并发业务接口开发思路(实战)
高并发业务除了需要有支撑高并发的服务器架构,还需要根据业务需求和架构体系。.设计出合理的开发方案,这里根据一个实践过业务场景分析开发思路,罗列出高并发接口需要注意的点,以及设计上的巧思,共勉之,望共鸣 . 业务场景 业务:今日好货. 交互端:IOS/Andorid.需求点:(实际业务会复杂些,为了容易理解,这里简化需求点)提供最新的好货商品信息列表,支持分页.需要时时获取最新的商品数据列表,以下情况商品信息会发生变化● 品数据字段更新(人为编辑,热度字段更新,等)● 不定时上新,在固定时段会有大量商品更新(目前 10点/20点上新量大)● 商品在会在规律时间里重新排序(根据:销量,曝光量,点击量 等计算排序).商品加载过程中不能出现重复商品.客户端和服务端需要考虑加载商品的交互体验. 终极目标:支持高并发下业务稳定. 设计思路 . 前提: 【商品服务API】:通过商品服务提供的API获取商品数据,当商品有上新、字段更新、排序有更新时,通过API都可以获取到最新的数据(db查询,支持获取未来时间里的商品数据).缓存使用 Redis . 缓存更新分析: ● 商品数据缓存到Redis:支撑高...
- 下一篇
jquery.fileDownload.js插件导出excel
因为使用ajax导出excel会出现问题,所以现在使用jQuery.fileDownload.js插件来解决导出excel的问题 http://johnculviner.com/jquery-file-download-plugin-for-ajax-like-feature-rich-file-downloads/ 在页面引入jquery.fileDownload.js插件 1、如下所示 <scripttype="text/JavaScript"src="${resource}/js/jquery.fileDownload.js"/></script> <scripttype="text/javascript"> $("#export_confirm").on("click",function(){ varurl="${path}/admin/information/student/export"; $.fileDownload(url,{ data:{semesterId:$("#misSemester").val()}, prepareCall...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS关闭SELinux安全模块
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS7设置SWAP分区,小内存服务器的救世主
- SpringBoot2全家桶,快速入门学习开发网站教程
- SpringBoot2配置默认Tomcat设置,开启更多高级功能