标题不知道该如何取,大概就是用Lay UI的Table,制作一个日历,在日历上可以添加每天的工作简记录。记录下LayUI Table的一些用法,一些值得探索的地方在于日历生成后,给周末加背景色,当天加背景色。先上一个效果图:

下面直接上代码,代码中有注释,也会做一些简单解释。

 function QueryWorkLog(year, month) {
table.render({
elem: '#WorkLogTable'
, url: '/Home/QueryMyWorkLog'
, where: { year: year, month: month}
, page: false
, cols: [[
{ type:'radio', width:'5%' }
, { field: 'recorddate', width: '10%', title: '日期', align: 'center' }
, { field: 'workcontent', width: '60%', title: '工作内容', align: 'center' }
, { field: 'workmarks', title: '备注', width: '25%', align: 'center' }
]]
, done: function (res, curr, count) {
var that = this.elem.next();
res.data.forEach(function (item, index) {
if (IsWeekend(item.recorddate)) {
var tr = that.find(".layui-table-box tbody tr[data-index='" + index + "']");
tr.css("background-color", "yellow");
}
if (IsToday(item.recorddate)) {
var tr = that.find(".layui-table-box tbody tr[data-index='" + index + "']");
tr.css("background-color", "lightgreen");
}
});
}
});
}

这里是去后端查询一下指定年月的工作记录,如果没有记录,则生成一个空的记录在这里。这样整个表格就像一个日历一样,至于如何去制作这个工作记录项,可以自由发挥。我重点在研究LayUI这个Table的渲染上,所以控制器和Repository的代码就不上了。接下来两个函数来判断是否为周末以及判断当天日期,根据这个来给表格的行添加背景色。

        //判断当前日期,设置当日背景绿色
function IsToday(curdate) {
var date = curdate.replace('年', '-').replace('月', '-').replace('日', '');
if ((new Date(date)).toDateString() == (new Date()).toDateString()) {
return true;
}
return false;
} //判断是否为周末,设置周末背景色
function IsWeekend(currentdate) {
var date = currentdate.replace('年', '-').replace('月', '-').replace('日', '');
var day = new Date(date).getDay();
if (day == 0 || day == 6) {
return true;
}
return false;
}

LayUI制作日历工作记录簿的更多相关文章

  1. CSS3制作日历

    目标是制作如下面DEMO显示的一个日历效果: HTML Markup 先来看看其结构: <div class="calendar"> <span class=&q ...

  2. 【PHP】制作日历

    本期本博主将讲述两种利用PHP制作日历的方法,由于PHP日期函数的便捷性,使得我们制作日历这一过程变得相当简单 问题描述: 1.取到当前日期,并着色显示:2.根据当前日期,判断本月有多少天,一号是周几 ...

  3. 基于jQuery日历插件制作日历

    这篇文章主要介绍了基于jQuery日历插件制作日历的相关资料,需要的朋友可以参考下 来看下最终效果图吧: 是长得丑了一点,不要吐槽我-.- 首先来说说这个日历主要的制作逻辑吧: ·一个月份最多有31天 ...

  4. 二十八、layui的日历组件使用

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  5. vue+layui制作列表页

    优点: 1.选用layui国产. 2.layui有一套完整的前端框架,基本哪来就可以用. 3.选用vue去掉了很多页面元素js拼接的繁琐,及不易修改. 4.vue里面还有一些过滤器等,用起来很方便. ...

  6. 用java制作日历,想休息的时候看一看离周末还有几天!

    呀!忙碌的每一天,都忘记了明天就是我们愉快周末了.今天没有朋友的闲聊的话,明天处在绷紧的状态呢!还有朋友提到,所有今天来跟大家分享一下用java来编写日历表,累了想休息了的时候,打开看看,还有几天到周 ...

  7. Word2010制作日历

    原文: https://www.toutiao.com/i6494876164157342222/ 最终效果: 设置页面纸张为"横向". 选择"页面布局"选项卡 ...

  8. swift 日历的制作

    制作日历步骤 1.日期数据的处理,这个可以 添加 extension 解决 extension NSDate{ /*几年几月 这个月的多少天*/ class func getDaysInMonth( ...

  9. 合金装备V 幻痛 制作技术特辑

    合金装备V:幻痛 制作特辑 资料原文出自日版CGWORLD2015年10月号   在[合金装备4(Metal Gear Solid IV)]7年后,序章作品[合金装备5 :原爆点 (Metal Gea ...

随机推荐

  1. 分享到微信,QQ等各大网络媒体网站代码

    http://www.jiathis.com/ 打开此网站,如果没有账号,请注册一下,然后登陆账号,进入网页以后直接可以复制代码到页面的标签,进行css样式布局,直接可以在页面测试,如果方便的话直接百 ...

  2. 对于页面适配,你应该使用px还是rem

    css中的单位很多,%.px.em.rem,以及比较新的vw.vh等.每个单位都有特定的用途,比如当需要设置一个矩形的宽高比为16:9,并且随屏幕宽度自适应时,除了用%,其他单位是很难做到的.所以不存 ...

  3. Java 八种基本类型和基本类型封装类

    1.首先,八种基本数据类型分别是:int.short.float.double.long.boolean.byte.char:   它们的封装类分别是:Integer.Short.Float.Doub ...

  4. Asp.Net Core IdentityServer4 中的基本概念

    一.前言 这篇文章可能大家会觉得很空洞,没有实际的实战东西,主要是自己整理出来的IdentityServer4 的一些概念性的东西:如果你对IdentityServer4有过一定的实战经验,可以跳过不 ...

  5. springboot1.5.9整合websocket实现实时显示的小demo

    最近由于项目需要实时显示数据库更新的数据变化情况,一开始想过在前端使用ajax异步轮询方法实现,但后面考虑到性能和流量等要求,就放弃该方法而选择使用websocket(毕竟现在springboot整合 ...

  6. Lucene查询语法汇总

    目录 一.单词查询 二.通配符查询 三.模糊查询 四.近似查询 五.范围查询 六.优先级查询 七.逻辑操作 八.括号分组 九.转义特殊字符 Lucene是目前最为流行的开源全文搜索引擎工具包,提供了完 ...

  7. c++第一周测验

    本次得分为:14.00/14.00, 本次测试的提交时间为:2020-03-08, 如果你认为本次测试成绩不理想,你可以选择再做一次. 1 单选(1分) 下面程序片段哪个没错? 得分/总分 A. in ...

  8. Tries前缀树

    Trie,来源于(retrieval,取回,数据检索),是一种多叉树,用来存储字母表上的单词非常有用. Trie经常用来存储动态集合(dynamic set)或者关联数组(associative ar ...

  9. JavaScript中的内存释放

    C.C++语言需要手动管理内存的分配与释放(常用方法:malloc(), calloc(), realloc()和free()等).而JavaScript与Java.C#相似,内置了垃圾回收器,能自动 ...

  10. jQuery万能放大镜插件(普通矩形放大镜)

    插件链接:http://files.cnblogs.com/files/whosMeya/magnifier.js 1.在jquery下插入. 2.格式:magnifier("需要插入的位置 ...