日程日历系统,顶级插件FullCalendar使用说明

简介

日程系统,繁琐的月日期开始结束计算、当前页面开始的天数(跨月)。。。等等,麻烦的事情都交给FullCalendar,世界安静了。

官网

https://fullcalendar.io/

使用

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全程自动化

时间: 2025-01-22 03:39:11

日程日历系统,顶级插件FullCalendar使用说明的相关文章

64位WIN7系统的SSL VPN使用说明

XP换为win7-64位,安装vpn提示错误: SSL VPN客户端启动失败,请确认您有足够的权限. 尝试各种办法,连bing都用上了,修改各种IE设置,关闭各种防火墙,均无效. 无意中发现解决方法: WIN7-64中有两个IE浏览器,一定要用32位的那个,图中红圈标注 参考链接:http://blog.sina.com.cn/s/blog_7cb116600100r3od.html 64位WIN7系统的SSL VPN使用说明

大数据云计算系统顶级架构培训视频教程

38套大数据,云计算,架构,数据分析师,Hadoop,Spark,Storm,Kafka,人工智能,机器学习,深度学习,项目实战视频教程 视频课程包含: 38套大数据和人工智能精品高级课包含:大数据,云计算,架构,数据挖掘实战,实时推荐系统实战,电视收视率项目实战,实时流统计项目实战,离线电商分析项目实战,Spark大型项目实战用户分析,智能客户系统项目实战,Linux基础,Hadoop,Spark,Storm,Docker,Mapreduce,Kafka,Flume,OpenStack,Hiv

python相关软件安装流程图解——MySQL 8.0.13安装教程(windows 64位)——MYSQL依赖的软件——MYSQL必须的系统DLL插件——MYSQL真正的安装

https://www.mysql.com/https://www.mysql.com/downloads/https://dev.mysql.com/downloads/windows/https://dev.mysql.com/downloads/windows/installer/https://dev.mysql.com/downloads/file/?id=480824 http://www.wmzhe.com/soft-4036.html 注意:如果不先装DLL 有可能会报以下错误

jquery日历插件FullCalendar使用技巧

原文链接:http://blog.csdn.net/u013493957/article/details/44920341 FullCalendar是一款基于jquery的日历控件,它有着很强大的功能,下面我来给大家介绍一下FullCalendar使用技巧吧,希望此方法对各位有帮助呀. 简介 官方网站:http://arshaw.com/fullcalendar/英文文档:http://arshaw.com/fullcalendar/docs/ 使用方法 1. 下载压缩包fullcalendar

对点聚weboffice插件的使用说明

对于weboffice这个active插件的使用上提供点说明. 首先在官网上下载weboffice7,下载地址在http://forum.dianju.cn/viewtopic.php?f=9&t=82 下载weboffice7-exe.rar,weboffice7-x86.rar..解压后有个weboffice.exe和weboffice.cab 1.要使用这个插件,首先你得先在电脑安装weboffice.exe 由于这是activex插件,只支持ie,所以chrome,firefox是不支持

jira系统与插件agile管理维护

Jira6系列进行插件式管理,基本结构为Jira server+各种插件. lincense管理也对应地分为Jira server的 license和上面各种插件单独的license. 我们最常用于Scrum项目管理的功能实际上是由插件Jira Agile提供的. 所以要完整破解Jira完成Scrum项目管理,就分为Jira Server 破解和插件Jira Agile破解两部分. 此操作步骤是在前人提供的破解方法和安装包基础之上进行实际操作破解成功之后总结的,主要进行了语言的重新组织和梳理,旨

阅读项目:微信日历小程序插件

韩颖 1759110 软工一班 我在网上找到了一段别人写的微信小程序代码,主题是日历以及签到.由于市面上的小程序鲜少有签到及积分功能,此款程序内容完备且观点新颖,因此值得我们学习与借鉴. ----------------------------------------------------------- 以下是小程序插件的代码链接 https://www.cnblogs.com/zengxuelan/p/10030598.html -------------------------------

基于Vue2-Calendar改进的日历组件(含中文使用说明)

一,前言 我是刚学Vue的菜鸟,在使用过程中需要用到日历控件,由于项目中原来是用jQuery写的,因此用了bootstarp的日历控件,但是配合Vue实在有点蛋疼,不够优雅…… 于是网上搜了好久找到了Vue2-Calendar,不用说,挺好用的,但是同时也发现这个组件有些问题,有些功能挺不符合我们的要求,于是着手改了一版 二,改进的功能 在Vue2-Calendar v2.2.4 版基础上作了优化. 改进原控件无法切换语言的BUG,支持 lang='zh-CN'和'en'. 日历面板增加一个位置

jQuery Mobile 移动开发中的日期插件Mobiscroll使用说明

近期在移动方面的开发,使用jQuery Mobile ,移动方面的插件不如Web 方面的插件多,选择的更少,有一些需要自己去封装,但功力尚不足啊. 日期插件JQM也提供了内置的,但样式方面不好看,只好百度.Google啦,找到了两款 jquery-mobile-datebox 和 mobiscroll-2.3 jqueryMobileDatebox 这个在板上的表现不好,性能方面有点卡 mobiscroll 性能方面比前者要好一些,效果更简洁 ,划动更流畅 放在一起对比下 各位看官,你们觉得哪个