代码片段名称:排班系统

前端开发语言:html + jquery + css3

选择这样的技术架构方案,目的是方便后续其他项目可以用到,不管是前端采用的vue、react、layui、微信小程序等等。都可以直接拷贝代码过来 直接插入系统当中使用。

排班整体效果如下:

1、按周显示UI效果

var m = new Date().getMonth(); var y = new Date().getFullYear(); var dd = new Date().getDate(); console.log(dd) var w = new Date().getDay(); var weekArr = ['日','一','二','三','四','五','六']; //初始化 按周 数据 var datehtml =''; for(var a=w; a>0;a--){ datehtml+='<ol>'+(m+1)+'月'+(dd-a)+'日/周'+weekArr[a-1]+'</ol>' datehtml+='<ol class="curdate">'+(m+1)+'月'+dd+'日/周'+weekArr[w]+'</ol>' for(var a=w; a<(7-w);a++){ datehtml+='<ol>'+(m+1)+'月'+(dd+a)+'日/周'+weekArr[a+1]+'</ol>' $('#dateW').html(datehtml) $('.date').html((m+1)+'月'+(dd-w)+'日 - '+ (m+1)+'月'+(dd+6-w)+'日'); // 计算上周的函数 function preweek(n){ var datehtml =''; var todaydate = new Date(); console.log(todaydate) var newDate = parseInt(todaydate.getTime()) + 7 * n * 24 * 3600 * 1000; var date = new Date(newDate); console.log(date) var years = date.getFullYear(); var month = date.getMonth() + 1; var strDate = date.getDate(); console.log('dangqian' + years +'-'+ month +'-'+ strDate ) for(var a=w; a>0;a--){ var newDates = parseInt(date.getTime()) - a * 24 * 3600 * 1000; var dates = new Date(newDates); var months = dates.getMonth() + 1; var onedate = dates.getDate(); console.log(onedate) datehtml+='<ol>'+months+'月'+onedate+'日/周'+weekArr[a-1]+'</ol>' datehtml+='<ol class="curdate">'+month+'月'+strDate+'日/周'+weekArr[w]+'</ol>' for(var a=w; a<(7-w);a++){ var newDatess = parseInt(date.getTime()) + a * 24 * 3600 * 1000; var datess = new Date(newDatess); var monthss = datess.getMonth() + 1; var onedates = datess.getDate(); console.log(onedates) datehtml+='<ol>'+monthss+'月'+onedates+'日/周'+weekArr[a+1]+'</ol>' $('#dateW').html(datehtml) $('.date').html(months+'月'+onedate+'日 - '+ monthss+'月'+onedates+'日');

2、日历的自动生成与数据的绑定

function calendar(y, m){
    var today = new Date().getDate();
    var w = new Date().getDay();
    console.log(y, m, w);
    var cellhtml = '数据1';                
    var allhtml = '数据2';
    var nohtml = '<div class="norow">本岗今天休息<br/> 不排班</div>';
    //拿到数据,生成日历
    var html = '<div class = "rilibox"><ul>';
    var max = new Date(y,m,0).getDate()
    for (var d = 1;d <= max;d++)
        var week = new Date(y,m,d).getDay();
        //如果该月的第一天不是星期日,则填充空白
        console.log('星期' + week)
        if(d==1 && week!=0){
            for(var ww=0; ww<week;ww++){
                html += '<li></li>';
        var riqitxt= '<bdo>' + (d<10?'0'+d:d) +'</bdo>';
        if(today==d){
          riqitxt= '<bdo class="curday">' + (d<10?'0'+d:d) +'</bdo>';
        if(d==3 || d==11 || d==15 || d==24){
            html += '<li class="nopaiban">'+ riqitxt + nohtml+'</li>';
        }else{
            if(d==1 || d==11 || d==21){
              html += '<li>' + riqitxt + allhtml +'</li>';
            }else{
              html += '<li>' + riqitxt + cellhtml +'</li>';
        //如果星期六不是该月的最后一天,则换行
        if (week == 6 && d != max){
            html += '</ul><ul>';
        }else if(d == max)  //该月的最后一天
            for(var v=0; v<6-week;v++){
                html += '<li></li>';
            html += '</ul>';
        week = (week + 1 > 6) ? 0 : week+1;
    html += '</ul></div>';
    return html;
 

这是纯html配合js来实现的日历。不是用table表格的方式。

如果你们的项目刚好用到了排班系统,不防来参考下,提高我们的工作效率,不用重复去造轮子,了解和掌握好基本技能和业务需求,即可高效的完成我们的项目任务。

选择这样的技术架构方案,目的是方便后续其他项目可以用到,不管是前端采用的vue、react、layui、微信小程序等等。如果你们的项目刚好用到了排班系统,不防来参考下,提高我们的工作效率,不用重复去造轮子,了解和掌握好基本技能和业务需求,即可高效的完成我们的项目任务。趁年假期间,回顾整理下最近几年做过的一些系统项目界面,把一些应用场景比较常见的功能代码片段分享出来记录一下。看到这样的界面,想必大家都会说一定用到了一些常用UI组件,其实并没有纯原生js开发。1、按照「周」或者「月」来显示排班的人员。
智能排班系统一款专门为广大的中小型零售业者提供智能排班系统,避免负责人因不了解业务,预估错销量等原因造成人员浪费或者人员短缺问题。 1.在排班系统中加入深度学习算法,预测下一阶段的交易量,并通过这个交易量计算劳动工时,并进行最终的排班 2.这套系统保证了劳动的合规性,输出的排班结果在不违反硬性规则的前提下尽量减少软性规则的违反。 3.自动化预测,通过配置排班周期等信息自动生成排版结果 4.可配置规则模型,包括排班合规性、员工匹配属性、组合规则、拆分规则等,使得最终的排班结果更加合理。 POS值预测模块 本模块主要使用了一种加权平均方法和三种时序预测模型prophet、LSTM、Seq2Seq模型对POS进行预测,从startDate到endDate每15分钟一个预测值。 劳动力工时预测模块 解析公司id、预测类型、开始结束时间、任务数组等参数,根据第一阶段输出(POS预测模块)预测出的POS数据和劳动力标准计算出所需的劳动力工时。 劳动力人数预测模块 1.解析参数获得预测需要的各项参数,比如公司id、预测类型、班次模板、预测开始结束日期、组合规则、拆分规则等; 2.处理各种规则等。
一个非常牛的jquery做的日历,排班,添加提醒功能一个非常牛的jquery做的日历,排班,添加提醒功能一个非常牛的jquery做的日历,排班,添加提醒功能一个非常牛的jquery做的日历,排班,添加提醒功能一个非常牛的jquery做的日历,排班,添加提醒功能一个非常牛的jquery做的日历,排班,添加提醒功能一个非常牛的jquery做的日历,排班,添加提醒功能一个非常牛的jquery做的日历,排班,添加提醒功能一个非常牛的jquery做的日历,排班,添加提醒功能一个非常牛的jquery做的日历,排班,添加提醒功能一个非常牛的jquery做的日历,排班,添加提醒功能一个非常牛的jquery做的日历,排班,添加提醒功能一个非常牛的jquery做的日历,排班,添加提醒功能一个非常牛的jquery做的日历,排班,添加提醒功能一个非常牛的jquery做的日历,排班,添加提醒功能一个非常牛的jquery做的日历,排班,添加提醒功能一个非常牛的jquery做的日历,排班,添加提醒功能一个非常牛的jquery做的日历,排班,添加提醒功能一个非常牛的jquery做的日历,排班,添加提醒功能一个非常牛的
最近项目上需要增加医生排班的功能,自己没有比较的思路,在强大的网络上找到了一篇文章Javascript:日期排班功能实现,比较接近我想要实现的效果,我的最终效果也是在此基础上进行了修改的。话不多说,上最终效果: 1.增加排班 2.展示排班结果 1.选择月份后,列表中日期更新为选中月份1号所在自然周。 2.点击今天按钮,跳转至当前日期所在自然周。 已上传到CSDN,如有需要可自取,希望能帮助到大家,传送门。 写在最后: 如有错误之处,望指正,大家可在在评论区留言,一起讨论,遨游...
1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。 2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA; 3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可 4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS; 5.是否Maven项目: 是;查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven项目 6.数据库:MySql 8.0版本; 7.Redis数据库,redis配置已设置好,勿修改; 1. 后端:Springboot+redis 2. 前端html+layui+thyme
本项目包含辅导员、管理员、教师、学生四种角色;辅导员包含以下功能: 辅导员角色登录,学生管理,密码修改,请假审批,签到列表等功能。管理员角色包含以下功能: 管理员登录,班级管理,辅导员管理,教师管理等功能。教师角色包含以下功能: 教师登录,签到管理,请假列表,密码修改等功能。学生角色包含以下功能: 学生角色登录,查看我的签到,修改密码,请假管理,开始签到等功能。1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。 2.IDE环境:IDEA,Eclipse,Myecli
<template> <div class="inspect_schedule_page repair_page spotCheck-page" v-cloak> <div class="content">
三层模式,包含一个自动排班的业务逻辑:按年份自动排班,值班员工轮流值班,周六,周日排两班;其余每天一班。 数据库脚本在app_data文件夹 ;三层核心在app_code文件夹。 新手可以看一看 Sql数据库文件,直接附加即可
智能排班系统是一个应用了Spring、Spring MVC、MyBatis、PageHelper等技术的系统。Spring是一个开源的Java开发框架,提供了依赖注入和面向切面编程等功能,可以简化应用程序开发的复杂性。Spring框架的主要特点是易于扩展和集成其他框架。 Spring MVC是Spring框架中的模块,用于开发基于Model-View-Controller模式的Web应用程序。它通过请求映射和视图解析等功能,将用户请求和响应进行有效地处理和分发。 MyBatis是一种Java持久层框架,通过XML或注解对数据库操作进行配置,提供了对SQL语句的执行和结果的映射功能。它简化了数据库访问的复杂性,提供了更好的SQL控制和性能优化。 PageHelper是一个开源的MyBatis物理分页插件,可以自动地对查询结果进行分页处理。它提供了简单的配置和使用方式,能够有效地减轻数据库的查询压力,提高系统性能。 GitHub是一个基于Git版本控制系统代码托管平台,开发人员可以在上面创建和管理项目的代码仓库。它提供了多人协同开发、版本控制、代码审查、问题追踪等功能,能够有效地提高开发效率和代码质量。 综上所述,智能排班系统应用了Spring、Spring MVC、MyBatis和PageHelper等技术,通过依赖注入、面向切面编程、模型-视图-控制器模式和物理分页等功能,实现了对数据库操作的简化、Web应用程序的高效处理和查询结果的分页处理。同时,利用GitHub进行代码托管,实现了多人协同开发和版本控制,提高了系统的可维护性和代码的质量。