<!DOCTYPE html>
<html lang="en">
<head>
<title>编辑医生排班</title>
<meta charset="UTF-8">
<!--引入layui组件-->
<link rel="stylesheet" href="../layui-v2.5.5/css/layui.css" media="all">
<script src="../layui-v2.5.5/layui.all.js" type="text/javascript" charset="utf-8"></script>
<script src="../js/jquery-3.4.1.js" type="text/javascript" charset="utf-8"></script>
<style>
body{
width:800px;
margin: 20px auto;
}
/**** overwrite layui style start ****/
.layui-form-label{
width: 200px;
}
.layui-input{
width: 80%;
}
/**** overwrite layui style end ****/
.date-box {
padding: 10px;
}
.date-box h2 {
margin-top: 20px;
padding-bottom: 20px;
}
table {
width: 100%;
border-collapse: collapse;
}
table tr {
display: -webkit-flex;
display: flex;
}
table tr th,
table tr td {
flex: 1;
padding: 8px 0;
text-align: center;
border: 1px solid #e1e8f6;
}
table tr th {
background-color: #dddddd;
}
table tr td.active {
background-color: #48969c;
color: #ffffff;
}
</style>
</head>
<body >
<form class="layui-form" action="">
<div class="layui-form-item">
<label class="layui-form-label">人员姓名</label>
<div class="layui-input-block">
<input type="text" name="title" lay-verify="title" autocomplete="off" placeholder="请输入人员姓名" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">月份</label>
<div class="layui-input-block">
<input type="text" class="layui-input" id="test1">
</div>
</div>
<div class="date-box">
<table id="schedue"></table>
</div>
<div class="layui-form-item">
<div class="layui-input-block">
<button type="button" class="layui-btn layui-btn-primary" lay-submit=""
onclick="javascript:window.location.href='pbMg.html'">提交</button>
<!--<button type="submit" class="layui-btn" lay-submit="" lay-filter="demo1">立即提交</button>-->
<button type="reset" class="layui-btn layui-btn-primary">重置</button>
</div>
</div>
</form>
<script>
$(document).ready(function() {
layuiInit()
//调用实例
schedueByMonth(currentMonth(),[])
})
//引入layui
function layuiInit() {
layui.use(['form','laydate'], function () {
var form = layui.form
,laydate = layui.laydate;
//成立时间
laydate.render({
elem: '#test1',
trigger: 'click',
type: 'month',
value: new Date(),
// min:formatDate(new Date()),
done: function(value, date, endDate){
schedueByMonth(date.month,zzrqDateArray)
}
});
//监听提交
form.on('submit(demo1)', function(data){
layer.alert(JSON.stringify(data.field), {
title: '最终的提交信息'
})
return false;
window.location.href='pbMg.html'
});
});
}
/**
*获取当前所处月份
*/
function currentMonth() {
var myDate = new Date()
var myMonth = myDate.getMonth()+1; //获取当前月份(0-11,0代表1月)
return myMonth;
}
var dateArray=[]
var zzrqDateArray=[]
/*
* 获取当天及之后的排班时间
* @param month:指定的月份
* @param dayCount:相对于今天的天数,形如:0,1,2.......
*/
function getDateData(month, dayCount) {
let yy, mm, dd;
let d = new Date();
let initDay = d.getFullYear() + '-' + month + '-01';
d = new Date(initDay);
d.setDate(d.getDate() + dayCount);
yy = d.getFullYear();
mm = (d.getMonth() + 1) > 9 ? d.getMonth() + 1 : '0' + (d.getMonth() + 1);
dd = d.getDate() > 9 ? d.getDate() : '0' + d.getDate();
return yy + "-" + mm + "-" + dd;
}
/*
* 获取日期对应的星期名称
* @param date:待转换日期,形如:'2018-04-11' 或 '2018-4-11'
*/
function schedueByMonth(month,zzrqArray) {
let dates = [],
weekData = [],
weekDataFinal = [],
d, m, w, weekNum, lastWeek, lastWeekDiff = [];
let formatMonth = month > 9 ? month : '0' + month;
for (let i = 0; i <= 31; i++) {
d = getDateData(formatMonth, i);
m = new Date(d).getMonth() + 1;
if (m === month) {
dates.push(d)
}
}
w = new Date(dates[0]).getDay();
if (w > 0) {
for (let j = 0; j < w - 1; j++) {
dates.unshift('')
}
} else if (w === 0) {
for (let j = 0; j < 6; j++) {
dates.unshift('')
}
}
//dates分组:每组7天
for (let i = 0; i < dates.length; i = i + 7) {
weekDataFinal.push(dates.slice(i, i + 7));
}
//最后一行不够7个,则补齐
lastWeek = weekDataFinal[weekDataFinal.length - 1];
if (lastWeek.length < 7) {
for (let k = 0; k < (7 - lastWeek.length); k++) {
lastWeekDiff.push('')
}
lastWeek = lastWeek.concat(lastWeekDiff)
weekDataFinal[weekDataFinal.length - 1] = lastWeek;
}
pendingWeekData(dates, weekDataFinal,zzrqArray)
}
function pendingWeekData(dates, weekDataFinal,zzrqArray) {
let weekTitles = '<tr><th>星期一</th><th>星期二</th><th>星期三</th><th>星期四</th><th>星期五</th><th>星期六</th><th>星期日</th></tr>';
let scheduDom = '',
weeksDom = '',
weekDom = '';
weekDataFinal.forEach(function(item) {
item.forEach(function(subItem) {
if(subItem==formatDate(new Date())){
weekDom += '<td attr-date="' + subItem + '">今天</td>';
}else {
weekDom += '<td attr-date="' + subItem + '">' + delWithDay(subItem) + '</td>';
}
})
weeksDom += '<tr>' + weekDom + '</tr>';
weekDom = '';
})
scheduDom = weekTitles + weeksDom;
$('#schedue').html(scheduDom);
delWithSchedue(dates,zzrqArray)
selectZzrqDate(zzrqArray)
}
/*
* 选择坐诊日期
* @zzrqArray 坐诊日期的数组
*/
function selectZzrqDate(zzrqArray) {
var weekDateEle = document.querySelector('#schedue');
var currentYearAndMonth = formatDate(new Date())
var currentArray = currentYearAndMonth.split('-')
console.log(currentYearAndMonth)
if(zzrqArray.length>0){
for(var i=0;i<zzrqArray.length;i++) {
var zzrq = zzrqArray[i].zzrq
var zzrqDateArray = zzrq.split("-")
if (zzrqDateArray[0] > currentArray[0] || (zzrqDateArray[0] === currentArray[0] && zzrqDateArray[1] >= currentArray[1])
|| (zzrqDateArray[0] === currentArray[0] && zzrqDateArray[1] === currentArray[1] && zzrqDateArray[2] >= currentArray[2])) {
var index = dateArray.indexOf(zzrq)
if(index > -1){
评论0
最新资源