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

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

简介

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

wKioL1k_RiLje47nAACxpLh4Mng990.jpg


官网

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

wKiom1k_VF2j-uR2AACAkECahAg426.jpg

目录
相关文章
基于若依的ruoyi-nbcio流程管理系统增加仿钉钉流程设计(七)
基于若依的ruoyi-nbcio流程管理系统增加仿钉钉流程设计(七)
231 1
基于若依的ruoyi-nbcio流程管理系统增加仿钉钉流程设计(七)
|
存储 弹性计算 安全
使用OSS上传下载文件
阿里云对象存储OSS(Object Storage Service)是一款海量、安全、低成本、高可靠的云存储服务,可以提供多种用途,最简单的使用方式是做文件存储,用来上传下载文件啊
4205 0
使用OSS上传下载文件
|
缓存 NoSQL fastjson
Shiro Session集群共享存入Redis中SimpleSession的transient 属性不能序列化
Shiro Session集群共享存入Redis中SimpleSession的transient 属性不能序列化
319 0
|
缓存 JavaScript 安全
vue3对比vue2优化项简要概述
【8月更文挑战第9天】Vue 3 相较 Vue 2 有多项优化:一是性能提升,采用高效编译策略如静态提升与事件监听缓存减少不必要计算;二是响应式系统改用 Proxy 提升性能并改善对象及数组变化侦测;三是开发体验优化,引入组合式 API 便于逻辑复用,增强 TypeScript 支持,提供自定义渲染 API;四是体积更小,支持按需引入与树摇优化减少打包体积;五是其他改进如更好的错误处理和多根节点模板支持。综上,Vue 3 在多方面显著提升了开发效率和应用性能。
393 3
|
内存技术
Mac nvm 切换为淘宝镜像
Mac nvm 切换为淘宝镜像
1498 0
|
存储 弹性计算 缓存
阿里云服务器如何选择配置? 阿里云服务器配置推荐及活动价格参考
阿里云服务器配置应该怎么选?个人和企业分别选择什么配置的比较好,这是很多首次购买阿里云服务器的用户在选择配置时比较纠结的问题,下面小编针对目前个人和企业用户在购买云服务器时常用的配置做一个推荐,新手用户如果不知道如何选择自己的阿里云服务器配置,可以参考以下推荐购买:
阿里云服务器如何选择配置? 阿里云服务器配置推荐及活动价格参考
|
自然语言处理 机器人
chatGPT提示邮箱不支持的解决办法汇总!
一些用户在创建过程中遇到了提示“Oops! The email you provided is not supported”。中文的意思是“糟糕,邮箱不支持”。该如何解决呢?
2861 0
|
JavaScript UED
vue里使用虚拟列表处理element-ui的el-select选择器组件数据量大时卡顿问题
vue里使用虚拟列表处理element-ui的el-select选择器组件数据量大时卡顿问题
797 0
vue里使用虚拟列表处理element-ui的el-select选择器组件数据量大时卡顿问题
|
定位技术 API 容器
百度地图API开发:map.getDistance计算两点之间的距离(直线距离)
百度地图API开发:map.getDistance计算两点之间的距离(直线距离)
1343 0