layui table 表格上添加日期控件
方法一:
var tableInit = table.render({
elem: '#tbtxrz'
, method: 'post'
, data: jsonData
, height: "auto"
, id: "tbtxrz"
, text: {none: '暂无相关数据'}
, toolbar: toolbartxrz
, cols: [[
{
//设置表格中部分字体的颜色
field: "number", title: "序号", width: 60, align: "left", templet: function (data) {
return data.LAY_INDEX
}
}
, {field: "ID", title: "ID", align: "left", hide: true}
, {field: "sjbs", title: "sjbs", align: "left", hide: true}
, {field: "xh", title: "xh", align: "left", hide: true}
, {field: "action", title: "action", align: "left", hide: true}
, {field: "txmc", title: "<span style='color:#c00'></span>体系名称", width: 140, align: "left", edit: 'text'}
, {field: "rztxmc", title: "<span style='color:#c00'>*</span>认证体系名称", width: 140, align: 'left', edit: 'text'}
, {
field: "rzrq", title: "认证日期", width: 160, align: 'left',event: 'editStartDate',data_field:'rzrq'
/* templet: function (d) {
return ' <input type="text" name="rzrq" class="layui-input layui-input-date" value="' + d.rzrq + '" id="txrzrq'+d['LAY_TABLE_INDEX'] +'">'
}*/
}
, {field: "rzjg", title: "<span style='color:#c00'>*</span>认证机构", width: 140, align: 'left', edit: 'text'}
, {
field: "zsdqsj", title: "<span style='color:#c00'>*</span>证书到期时间", width: 160, align: 'left',event: 'editzsdqsj',data_field:'zsdqsj'
/* templet: function (d) {
return ' <input type="text" name="zsdqsj" class="layui-input layui-input-date" value="' + d.zsdqsj + '" id="test2">'
}*/ }
, {field: "rzfgcp", title: "认证覆盖产品", width: 140, align: 'left', edit: 'text'}
, {
field: "jhrzsj", title: "若无,计划认证时间", width: 160, align: 'left', edit: 'select', }
, {field: "ywjm", title: "原文件名", width: 140, align: 'left'}
, {
field: '操作', title: '操作', width: '10%', unresize: true, templet: function (res) {
return '<button type="button" class="layui-btn layui-btn-xs" data-type="' + res['LAY_TABLE_INDEX'] + '" id="uploadFile' + res['LAY_TABLE_INDEX'] + '" lay-event="upload"><i class="layui-icon layui-icon-upload-drag"></i></button> <button type="button" class="layui-btn layui-btn-xs layui-btn-danger" lay-event="del"><i class="layui-icon layui-icon-delete"></i></button>';
}
}
, {field: "pc", title: "批次", align: 'left', hide: true}
, {field: "cdmc", title: "cdmc", align: 'left', hide: true}
, {field: "scsj", title: "scsj", align: 'left', hide: true}
, {field: "ccm", title: "ccm", align: 'left', hide: true}
, {field: "xg", title: "xg", align: 'left', hide: true}
, {field: "fjm", title: "fjm", align: 'left', hide: true}
, {field: "fjID", title: "fjID", align: 'left', hide: true}
]]
, done: function (res, curr, count) {
//日期控件
// 上传文件
var data = res.data;
for (var i = 0; i < data.length; i++) {
var elem = '#uploadFile' + i;
//循环初始上传组件
var uploadInst = upload.render({
elem: elem //绑定元素
, url: $("#contextpath").val() + '/upload/uploadFile2.do' //上传接口
, field: 'files'
, auto: true
, accept: 'file'
// ,exts: 'xls|xlsx|csv'
//添加上传额外参数
, data: {
sjbs: function () {
var sjbs = $("#sjbs").val();
var logId = $("#logId").val();
if (sjbs !== null && sjbs.length > 0) {
sjbs = sjbs;
} else {
sjbs = $("#sjbs").attr('name') + new Date().getTime();//设置每次新增的批次
$("#sjbs").val($("#sjbs").attr('name') + new Date().getTime());//如果没有创建时间标识,就自己新增
}
mcs.setSjbs(sjbs);
return sjbs;
}
}
//文件上传前回调
, before: function (obj) {
//开启加载
layer.load(2, {time: 10 * 1000, offset: '200px'});
//从表格缓存中获取table指定行数据
updateRow = tableRowTool.data;
var files = this.files = obj.pushFile();
obj.preview(function (index, file, result) {
updateRow['scsj'] = new Date(new Date()).format("yyyy-MM-dd hh:mm:ss");
updateRow['ywjm'] = file.name;
updateRow['xg'] = 1;
// updateRow['wjdx'] = (file.size/1024).toFixed(1) +'kb';
})
}
//上传成功后回调
, done: function (res, index, upload) {
txrzxg = true;
layer.closeAll();
if (res.status === "Y") {
updateRow['ccm'] = res.fileName;
updateRow['sjbs'] = res.sjbs;
//文件上传成功,更新表格数据
tableRowTool.update(updateRow);
//文件上传成功后,去掉.layui-table-click Table选中行状态
tableRowTool.tr.prop("class", "");
layer.msg(res.msg, {
icon: 1
, time: 2000
, offset: '200px'
}, function () { })
} else {
layer.msg(res.msg, {
icon: 5
, time: 2000
, offset: '200px'
})
}
//删除文件队列已经上传成功的文件
return delete this.files[index];
}
//上传错误回调
, error: function () {
layer.closeAll();
//请求异常回调
}
});
}
layer.closeAll();
} })
处理方法:
//监听行工具事件
table.on('tool(tbtxrz)', function (obj) {
var data = obj.data;
if(obj.event === 'editStartDate'){
var field = $(this).data('field');
laydate.render({
elem: this.firstChild
, show: true //直接显示
, closeStop: this
, done: function (value, date) {
data[field] = value;
obj.update(data);
}
});
}
else if (obj.event='editzsdqsj'){
var field = $(this).data('field');
laydate.render({
elem: this.firstChild
, show: true //直接显示
, closeStop: this
, done: function (value, date) {
data[field] = value;
obj.update(data);
}});
} });
方法二:不建议使用,因为不够灵活
js代码:
var layer = layui.layer, form = layui.form, table = layui.table;
var $ = layui.$;
/*select gysmc,zyzw ,xm ,sjhm ,bgshm ,emilyx ,
zgsrgzwsj ,zggsgl ,cast(gysxxid as int) as gysxxid, pc,
gysryxxMdataID as ID,sjbs from gysryxxMdata*/
var tableInit = table.render({
elem: '#tbgysplay'
, method: 'post'
, data: jsonData
, height: "auto"
, id: "tbgysplay"
, text: {none: '暂无相关数据'}
, toolbar: "#toolbarplan"
, cols: [[
{type: "checkbox", fixed: "left", width: 50}
, {
field: "number", title: "序号", width: '10%', align: "left", templet: function (data) {
return data.LAY_INDEX
}
}
, {field: "ID", title: "ID", align: "left", hide: true}
, {field: "action", title: "action", align: "left", hide: true}
, {field: "sjbs", title: "sjbs", align: "left", hide: true}
, {field: "供应商名称", title: "供应商名称", width: '15%', align: "left"}
, {field: "主要产品类型", title: "主要产品类型", width: '15%', align: 'left'}
, {field: "所在省份", title: "所在省份", width: '15%', align: 'left'}
, {
field: "PSA计划时间", title: "PSA计划时间", width: '20%', align: 'left', templet:function (d) {
return ' <input type="text" class="layui-input layui-input-date" value="'+d.PSA计划时间+'" id="test1">'
}
}
, {field: "PSA计划负责人", title: "PSA计划负责人", align: 'left',edit:'text'} ]] , done: function (res) {//当数据渲染完后,执行的回调 //日期控件 $(".layui-input-date").each(function (i) { layui.laydate.render({ elem: this, format: "yyyy-MM-dd", done: function (value, date) { if (res && res.data[i]) { $.extend(res.data[i], {'PSA计划时间': value}) } } }); }); layer.closeAll(); } });
layui table 表格上添加日期控件的更多相关文章
- DataGrid的列上添加日期控件
今天的使用EasyUI datagrid的时候,遇到了如下问题,如下图:
- uniapp-uView表单中如何添加日期控件?
环境:uniapp,uview-ui,Picker 选择器, 本次我们用uview中的Picker 选择器来写一个日期功能 此选择器有四种弹出模式 一是时间模式,可以配置年,日,月,时,分,秒参数二是 ...
- 在wpf窗体上添加用户控件
1.引用用户控件的命名控件 xmlns:my="clr-namespace:WpfApplicationDemo.Control" 2.把用户控件添加到窗体中 <my:Use ...
- 日期控件My97 DatePicker 的使用
1.解压后添加My97DatePicker文件夹 2.引入WdatePicker.js文件 日期控件My97DatePicker的使用.html <!DOCTYPE html> <h ...
- Webdriver控制翻页控件,并实现向前向后翻页功能,附上代码,仅供参考,其他类似日期控件的功能可以自己封装
新增输入与选择页面的html源码: <div style="margin-top:-60px;" class="modal-content" id=&qu ...
- 介绍Web项目中用到的几款JS日历日期控件和JS文本编辑框插件
第一款日历日期控件:layDate 官方网站:http://laydate.layui.com/ 第二款日历日期控件:my97 官方网站:http://www.my97.net/ 第三款 文本编辑器控 ...
- 【SoDiaoEditor电子病历编辑器】阶段性更新--新增复选框、日期控件、表格排版支持等
转眼距离上一次v2正式发布已经过去一个半月了.github期间不定期push了二十几次,同时感谢分布在广州.福建.上海.北京的一众小伙伴,正是你们给出的建议,才让SoDiaoEditor不断完善. 我 ...
- UI自动化之特殊处理三(日期控件\表格\富文本)
日期控件\表格\富文本也是一些常遇到的需要特殊处理的定位 目录 1.日期控件 2.表格 3.富文本 1.日期控件 第一种:输入框属性为:readonly="readonly" # ...
- mui 时间日期控件(浏览器上无法查看,在手机端可以点击)
<head> <meta charset="utf-8"> <meta name="viewport" content=" ...
随机推荐
- ELK学习实验014:Nginx日志JSON格式收集
1 Kibana的显示配置 https://demo.elastic.co/app/kibana#/dashboard/welcome_dashboard 环境先处理干净 安装nginx和httpd- ...
- Jmeter(四十七) - 从入门到精通高级篇 - 分布式压测部署之负载机的设置(详解教程)
1.简介 千呼万唤始出来,这一篇感觉写了好久,总想写的清楚明白简洁,但是还是洋洋洒洒写了好多,希望大家喜欢吧!本来打算将这一篇文章是放在性能测试中讲解和分享的,但是有的童鞋或者小伙伴们私下问的太多了, ...
- 机器学习实战二:波士顿房价预测 Boston Housing
波士顿房价预测 Boston housing 这是一个波士顿房价预测的一个实战,上一次的Titantic是生存预测,其实本质上是一个分类问题,就是根据数据分为1或为0,这次的波士顿房价预测更像是预测一 ...
- 【Python】神器:Streamlit,仅使用Python开发一个运维管理后台(不需要编写html,js,css)
背景 作为SRE,我们有很多很多自动化的工具,大部分都是自动运行的,还有一部分是CLI,我们一直苦于没有一个自己的管理后台网站,受限于前端能力薄弱,开发出来的网页只能说凑活能用,但是不好用. 现在我们 ...
- React-setState的那些事儿
关于setState,使用过react的人应该再熟悉不过了,在hooks还不那么普及的时候,除了使用函数式组件,我们使用最多的应该就是类创建react的组件了,而在类组件中我们通常会使用state来管 ...
- OpenCV读写图像文件解析
OpenCV读写图像文件解析 imdecode 从内存中的缓冲区读取图像. C++:Mat imdecode(InputArray buf, int flags) C++:Mat imdecode(I ...
- 图像超分辨率算法:CVPR2020
图像超分辨率算法:CVPR2020 Unpaired Image Super-Resolution using Pseudo-Supervision 论文地址: http://openaccess.t ...
- CVPR2020:基于层次折叠的跳跃式注意网络点云完成
CVPR2020:基于层次折叠的跳跃式注意网络点云完成 Point Cloud Completion by Skip-Attention Network With Hierarchical Foldi ...
- 英特尔内存革新助平安云 Redis 云服务降本增效
英特尔内存革新助平安云 Redis 云服务降本增效 英特尔 傲腾 数据中心级持久内存的引入,为平安云的降本增效开启了一条新的道路.通过对平安云 Redis 数据库产品的支持,用户能享受到性能优异且价格 ...
- JUC 并发编程--07 阻塞队列版本的 生产者消费者(不使用synchronized和 lock),也有一些疑惑,最终解惑
直接上代码: 前提是你已经 熟悉了原子类,volatile,和阻塞队列 public class JucPCdemo03 { /** * 阻塞队列的应用: 这里实现的生产者消费者,生产一个消费一个 * ...