mirror of
https://gitee.com/layui/layui.git
synced 2025-11-24 08:33:12 +08:00
* style: 统一代码格式,修复ESLint错误 - 为所有模块添加尾随逗号 - 修复缺少分号的语句 - 统一对象字面量格式 - 添加ESLint配置文件和文档 - 更新package.json中的脚本和依赖项 * build: 添加 ESLint 配置文件以支持 IE9+ 兼容性 * refactor(upload): 使用已缓存的hint实例替换直接调用 优化代码性能,避免重复实例化hint对象,直接使用模块顶部已缓存的实例 * chore: 更新.gitignore文件以包含更多忽略规则 添加了更多常见的临时文件、编辑器文件、构建输出目录和运行时数据的忽略规则,使项目更加整洁并避免不必要的文件被提交到版本控制中 * fix(lay.js): 修复passive事件监听器选项的返回值 确保getter函数返回true以正确支持passive事件监听 * refactor(form): 移除表单模块中的冗余代码 删除表单模块中无实际作用的冗余代码行,这些代码只是将属性重新赋值为自身,没有实际功能意义 * fix(form): 修复复选框状态处理逻辑 确保复选框的 indeterminate 和 checked 状态被正确转换为布尔值,并优化事件调用时的空格格式 * feat(eslint): 完善 ESLint 配置并添加 VSCode 支持 添加 VSCode 配置文件以支持 ESLint 自动修复和格式化 更新 ESLint 配置,增强代码风格和兼容性规则 修复 package.json 中的脚本拼写错误并添加 format 脚本 调整 .gitignore 以允许特定 VSCode 配置文件 * style: 统一代码中的引号格式并修复缩进问题 统一将双引号改为单引号,修复部分代码缩进不一致的问题,提升代码风格一致性 * docs: 删除过时的ESLint配置文档文件 * build: 采用 prettier 作为代码格式化工具,剔除 ESLint 格式化部分 * chore: 剔除 .vscode/ 配置,保持编辑器中立 * build: 修改 ESLint 为「扁平化配置」方式,避免大量参数堆砌 * chore: 格式化代码 * ci: 添加 git hooks 和 CI 环节把关代码风格 * ci: update * ci: update * test: 测试 ci format * ci: 改用 husky 作为 git hooks,与 Layui 3 保持一致 经测试,simple-git-hooks 生成的 pre-commit 默认为 sh,在 Windows 不兼容(必须用 git bash 执行 commits) * build: 新增 CI 和生产环境跳过 husky 安装的判断 * build: 剔除重复配置 * build: 优化 eslint 配置 --------- Co-authored-by: 贤心 <3277200+sentsim@users.noreply.github.com>
559 lines
14 KiB
HTML
559 lines
14 KiB
HTML
<!doctype html>
|
||
<html>
|
||
<head>
|
||
<meta charset="utf-8" />
|
||
<meta name="renderer" content="webkit" />
|
||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
|
||
<meta
|
||
name="viewport"
|
||
content="width=device-width, initial-scale=1, maximum-scale=1"
|
||
/>
|
||
<title>日期模块 - layui</title>
|
||
|
||
<link rel="stylesheet" href="../src/css/layui.css" />
|
||
|
||
<style>
|
||
body {
|
||
padding: 50px 100px;
|
||
}
|
||
.layui-inline {
|
||
margin-right: 15px;
|
||
}
|
||
</style>
|
||
</head>
|
||
<body>
|
||
<div class="layui-inline">
|
||
<input
|
||
type="text"
|
||
class="layui-input"
|
||
id="test-first"
|
||
placeholder="带遮罩"
|
||
/>
|
||
</div>
|
||
|
||
<br />
|
||
<hr />
|
||
|
||
范围选择1:
|
||
<div class="layui-inline">
|
||
<input type="text" class="layui-input" id="test1" />
|
||
</div>
|
||
|
||
<br />
|
||
<hr />
|
||
|
||
<div class="layui-form">
|
||
<div class="layui-form-item">
|
||
<div class="layui-inline">
|
||
<label class="layui-form-label">范围选择2</label>
|
||
<div class="layui-inline" id="test1-2">
|
||
<div class="layui-input-inline">
|
||
<input
|
||
type="text"
|
||
autocomplete="off"
|
||
id="test-startDate-1"
|
||
class="layui-input"
|
||
placeholder="开始日期"
|
||
/>
|
||
</div>
|
||
<div class="layui-form-mid">-</div>
|
||
<div class="layui-input-inline">
|
||
<input
|
||
type="text"
|
||
autocomplete="off"
|
||
id="test-endDate-1"
|
||
class="layui-input"
|
||
placeholder="结束日期"
|
||
/>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<br />
|
||
<hr />
|
||
|
||
日期选择器:
|
||
<div class="layui-inline">
|
||
<input type="text" class="layui-input" id="test2" />
|
||
</div>
|
||
|
||
开启快捷面板:
|
||
<div class="layui-inline">
|
||
<input type="text" class="layui-input" id="test2-1" />
|
||
</div>
|
||
|
||
<br /><br />
|
||
<hr />
|
||
<br />
|
||
|
||
年选择器:
|
||
<div class="layui-inline">
|
||
<input type="text" class="layui-input" id="test3" />
|
||
</div>
|
||
|
||
年月选择器:
|
||
<div class="layui-inline">
|
||
<input type="text" class="layui-input" id="test4" />
|
||
</div>
|
||
|
||
时间时间器:
|
||
<div class="layui-inline">
|
||
<input type="text" class="layui-input" id="test5" />
|
||
</div>
|
||
|
||
<br /><br />
|
||
<hr />
|
||
<br />
|
||
|
||
时间范围选择
|
||
<div class="layui-inline">
|
||
<input type="text" class="layui-input" id="test55" />
|
||
</div>
|
||
|
||
自定义重要日:
|
||
<div class="layui-inline">
|
||
<input type="text" class="layui-input" id="test555" />
|
||
</div>
|
||
|
||
标注法定节假日及补班:
|
||
<div class="layui-inline">
|
||
<input type="text" class="layui-input" id="test5555" />
|
||
</div>
|
||
|
||
<br /><br />
|
||
<hr />
|
||
<br />
|
||
|
||
同时绑定多个:
|
||
<div class="layui-inline">
|
||
<input type="text" class="layui-input test-item" />
|
||
</div>
|
||
<div class="layui-inline">
|
||
<input type="text" class="layui-input test-item" />
|
||
</div>
|
||
<div class="layui-inline">
|
||
<input type="text" class="layui-input test-item" />
|
||
</div>
|
||
|
||
<br /><br />
|
||
<hr />
|
||
<br />
|
||
|
||
墨绿主题:
|
||
<div class="layui-inline">
|
||
<input type="text" class="layui-input" id="test6-1" />
|
||
</div>
|
||
|
||
自定义头部背景色:
|
||
<div class="layui-inline">
|
||
<input type="text" class="layui-input" id="test6-2" />
|
||
</div>
|
||
|
||
格子主题:
|
||
<div class="layui-inline">
|
||
<input type="text" class="layui-input" id="test6-3" />
|
||
</div>
|
||
|
||
<br /><br />
|
||
<hr />
|
||
<br />
|
||
|
||
<button class="layui-btn" id="test7">其它元素触发</button>
|
||
<div class="layui-inline">
|
||
<input type="text" class="layui-input" id="test6" />
|
||
</div>
|
||
<textarea></textarea>
|
||
<button class="layui-btn" id="test9">外部事件触发</button>
|
||
<div class="layui-inline">
|
||
<input type="text" class="layui-input" id="test8" />
|
||
</div>
|
||
|
||
<br /><br />
|
||
<hr />
|
||
<br />
|
||
直接嵌套在指定容器中:<br /><br />
|
||
<div class="layui-inline" id="test10"></div>
|
||
<div class="layui-inline" id="test11" style="margin-left: 30px"></div>
|
||
|
||
<script
|
||
src="../src/layui.js"
|
||
src1="http://local.res.layui.com/layui/release/laydate/dist/laydate.js"
|
||
charset="utf-8"
|
||
></script>
|
||
<script>
|
||
layui.use('laydate', function (laydate) {
|
||
//全局配置
|
||
laydate.set({
|
||
//trigger: 'focus'
|
||
});
|
||
|
||
// 第一个任意示例
|
||
laydate.render({
|
||
elem: '#test-first',
|
||
min: 0,
|
||
shade: [0.1, '#000'],
|
||
//max: '2016-12-30',
|
||
done: function () {
|
||
console.log('done', arguments);
|
||
},
|
||
onConfirm: function () {
|
||
console.log('confirm', arguments);
|
||
},
|
||
onNow: function () {
|
||
console.log('now', arguments);
|
||
},
|
||
onClear: function () {
|
||
console.log('clear', arguments);
|
||
}
|
||
});
|
||
|
||
// 范围选择1
|
||
laydate.render({
|
||
elem: '#test1', // 指定元素
|
||
type: 'datetime',
|
||
trigger: 'click',
|
||
// lang: 'en',
|
||
// theme: 'grid',
|
||
range: true, // 开启日期范围,默认使用“-”分割
|
||
// rangeLinked: true,
|
||
// min: '1970-1-1',
|
||
// max: '2021-5-9',
|
||
// value: '2021-05-09 12:06:09',
|
||
// value: '2021-05-08 - 2021-03-27',
|
||
done: function (value, date, endDate) {
|
||
console.log(value, date, endDate);
|
||
|
||
//this.elem.val(123);
|
||
},
|
||
change: function (value, date, endDate) {
|
||
console.log(value, date, endDate);
|
||
}
|
||
});
|
||
|
||
// return;
|
||
|
||
// 范围选择2
|
||
laydate.render({
|
||
elem: '#test1-2',
|
||
type: 'datetime',
|
||
range: ['#test-startDate-1', '#test-endDate-1'],
|
||
rangeLinked: true, // 是否开启日期范围选择时的区间联动标注模式
|
||
// value: ['2022-05-01', '2022-10-01'],
|
||
// value: '2022-05-01 - 2022-06-01',
|
||
done: function (value, date, endDate) {
|
||
console.log(value);
|
||
console.log(date);
|
||
console.log(endDate);
|
||
}
|
||
});
|
||
|
||
// 日期选择器(单面板)
|
||
laydate.render({
|
||
elem: '#test2',
|
||
//,format: 'yyyy年MM月dd日'
|
||
value: new Date(1534766888000),
|
||
//,isInitValue: false
|
||
format: 'yyyy/MM/dd',
|
||
min: 7,
|
||
//,max: 0
|
||
//,min: '2016-10-14'
|
||
//,max: -1
|
||
//,value: '1989年10月14日'
|
||
ready: function (date) {
|
||
console.log(date);
|
||
},
|
||
done: function (value, date, endDate) {
|
||
console.log(value, date, endDate);
|
||
//this.elem.val(111111);
|
||
},
|
||
change: function (value) {
|
||
console.log(value);
|
||
}
|
||
});
|
||
|
||
// 开启快捷面板
|
||
laydate.render({
|
||
elem: '#test2-1',
|
||
shortcuts: [
|
||
{
|
||
text: '昨天',
|
||
value: (function () {
|
||
var now = new Date();
|
||
now.setDate(now.getDate() - 1);
|
||
return now;
|
||
})()
|
||
},
|
||
{ text: '今天', value: Date.now() },
|
||
{
|
||
text: '明天',
|
||
value: (function () {
|
||
var now = new Date();
|
||
now.setDate(now.getDate() + 1);
|
||
return now;
|
||
})()
|
||
},
|
||
{
|
||
text: '上个月',
|
||
value: (function () {
|
||
var now = new Date();
|
||
// now.setDate(now.getDate() - 1);
|
||
now.setMonth(now.getMonth() - 1);
|
||
return [now];
|
||
})()
|
||
},
|
||
{
|
||
text: '上个月的前一天',
|
||
value: (function () {
|
||
var now = new Date();
|
||
now.setMonth(now.getMonth() - 1);
|
||
now.setDate(now.getDate() - 1);
|
||
return [now];
|
||
})()
|
||
},
|
||
{
|
||
text: '某一天',
|
||
value: '2020-12-12'
|
||
}
|
||
]
|
||
});
|
||
|
||
//年选择器
|
||
laydate.render({
|
||
elem: '#test3',
|
||
type: 'year',
|
||
//,range: true
|
||
//,trigger: 'click'
|
||
//,min:'2021-01-01'
|
||
//,max:'2022-12-31'
|
||
done: function (value, date, endDate) {
|
||
console.log(value, date, endDate);
|
||
},
|
||
change: function (value, date, endDate) {
|
||
//this.elem.val(value)
|
||
}
|
||
});
|
||
|
||
//年月选择器
|
||
laydate.render({
|
||
elem: '#test4',
|
||
type: 'month',
|
||
range: true,
|
||
trigger: 'click',
|
||
min: '2022-03-01',
|
||
max: '2022-05-31',
|
||
done: function (value, date, endDate) {
|
||
console.log(value, date, endDate);
|
||
},
|
||
change: function (value, date, endDate) {
|
||
this.elem.val(value);
|
||
}
|
||
});
|
||
|
||
//时间选择器
|
||
laydate.render({
|
||
elem: '#test5',
|
||
type: 'time',
|
||
//,range: true
|
||
//,trigger: 'click'
|
||
min: '09:30:00',
|
||
max: '17:30:00',
|
||
done: function (value, date, endDate) {
|
||
console.log(value, date, endDate);
|
||
},
|
||
change: function (value, date, endDate) {
|
||
//this.elem.val(value)
|
||
}
|
||
});
|
||
|
||
//时间范围选择器
|
||
laydate.render({
|
||
elem: '#test55',
|
||
type: 'time',
|
||
range: true,
|
||
//,trigger: 'click'
|
||
done: function (value, date, endDate) {
|
||
console.log(value, date, endDate);
|
||
}
|
||
});
|
||
|
||
// 同时绑定多个
|
||
laydate.render({
|
||
elem: '.test-item',
|
||
trigger: 'click'
|
||
});
|
||
/*
|
||
lay('.test-item').each(function(){
|
||
laydate.render({
|
||
elem: this
|
||
,trigger: 'click'
|
||
});
|
||
});
|
||
*/
|
||
|
||
//自定义重要日
|
||
var ins555 = laydate.render({
|
||
elem: '#test555',
|
||
//,calendar: true //是否开启公历重要节日
|
||
mark: {
|
||
//标记重要日子
|
||
'0-10-14': '生日', //0代表:每年
|
||
'0-0-15': '中旬',
|
||
'2017-8-20': 'v2',
|
||
'2017-8-31': '月底'
|
||
},
|
||
done: function (value, date, endDate) {
|
||
if (date.year == 2016 && date.month == 10 && date.date == 14) {
|
||
//console.log('Layui 诞生日');
|
||
}
|
||
},
|
||
change: function (value, date, endDate) {
|
||
console.log(value);
|
||
}
|
||
});
|
||
|
||
// 标注法定节假日及补班
|
||
laydate.render({
|
||
elem: '#test5555',
|
||
value: '2022-5-21',
|
||
holidays: [
|
||
[
|
||
'2022-1-1',
|
||
'2022-1-2',
|
||
'2022-1-3',
|
||
'2022-1-31',
|
||
'2022-2-1',
|
||
'2022-2-2',
|
||
'2022-2-3',
|
||
'2022-2-4',
|
||
'2022-2-5',
|
||
'2022-2-6',
|
||
'2022-4-3',
|
||
'2022-4-4',
|
||
'2022-4-5',
|
||
'2022-4-30',
|
||
'2022-5-1',
|
||
'2022-5-2',
|
||
'2022-5-3',
|
||
'2022-5-4',
|
||
'2022-6-3',
|
||
'2022-6-4',
|
||
'2022-6-5',
|
||
'2022-9-10',
|
||
'2022-9-11',
|
||
'2022-9-12',
|
||
'2022-10-1',
|
||
'2022-10-2',
|
||
'2022-10-3',
|
||
'2022-10-4',
|
||
'2022-10-5',
|
||
'2022-10-6',
|
||
'2022-10-7'
|
||
],
|
||
|
||
[
|
||
'2022-1-29',
|
||
'2022-1-30',
|
||
'2022-4-2',
|
||
'2022-4-24',
|
||
'2022-5-7',
|
||
'2022-10-8',
|
||
'2022-10-9'
|
||
]
|
||
]
|
||
});
|
||
|
||
//墨绿主题
|
||
laydate.render({
|
||
elem: '#test6-1', //指定元素
|
||
type: 'datetime',
|
||
theme: 'molv',
|
||
value: 20180115,
|
||
isInitValue: true,
|
||
lang: 'en',
|
||
//,range: true
|
||
trigger: 'click'
|
||
});
|
||
|
||
//自定义背景色主题
|
||
laydate.render({
|
||
elem: '#test6-2', //指定元素
|
||
type: 'datetime',
|
||
theme: '#393D49',
|
||
//,range: true
|
||
trigger: 'click'
|
||
});
|
||
|
||
//格子主题
|
||
laydate.render({
|
||
elem: '#test6-3', //指定元素
|
||
//,type: 'datetime'
|
||
theme: 'grid',
|
||
//,range: true
|
||
trigger: 'click'
|
||
});
|
||
|
||
//其它元素触发
|
||
laydate.render({
|
||
elem: '#test6', //指定元素
|
||
eventElem: '#test7', //绑定执行事件的元素
|
||
lang: 'en'
|
||
});
|
||
|
||
//外部事件
|
||
lay('#test9').on('click', function (e) {
|
||
laydate.render({
|
||
elem: '#test8',
|
||
type: 'datetime',
|
||
show: true,
|
||
//,min: '2017-08-12 00:10:00'
|
||
//,max: '2017-08-12 23:10:10'
|
||
closeStop: '#test9', //点击 #test6 所在元素区域不关闭控件
|
||
change: function (value, date) {
|
||
console.log(value, date);
|
||
},
|
||
done: function (value, date) {
|
||
console.log(value, date);
|
||
}
|
||
});
|
||
});
|
||
|
||
//直接嵌套在指定容器中
|
||
var ins10 = laydate.render({
|
||
elem: '#test10',
|
||
position: 'static',
|
||
calendar: true, //是否开启公历重要节日
|
||
mark: {
|
||
//标记重要日子
|
||
'2021-8-20': '',
|
||
'2021-8-21': ''
|
||
},
|
||
done: function (value, date, endDate) {
|
||
if (date.year == 2021 && date.month == 8 && date.date == 20) {
|
||
ins10.hint(value + ',活动日');
|
||
}
|
||
},
|
||
change: function (value, date, endDate) {
|
||
console.log(value, date);
|
||
}
|
||
});
|
||
|
||
laydate.render({
|
||
elem: '#test11',
|
||
position: 'static',
|
||
lang: 'en',
|
||
type: 'datetime',
|
||
calendar: true, //是否开启公历重要节日
|
||
done: function (value, date, endDate) {
|
||
//console.log(value, date, endDate);
|
||
},
|
||
change: function (value, date, endDate) {
|
||
console.log(value);
|
||
}
|
||
});
|
||
});
|
||
</script>
|
||
</body>
|
||
</html>
|