layui table 表格上添加日期控件的两种方法
作者:班班的小书包 发布时间:2024-02-25 10:05:14
标签: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(); } });
来源:https://www.cnblogs.com/luo1240465012/p/11424130.html
0
投稿
猜你喜欢
- 简介这篇宏哥就带着小伙伴们分享一下如何连接模拟器(电脑版的虚拟手机),然后再安装一款APP-淘宝为例。一、appium+pycharm+连接
- tensorflow官方提供了3种方法来读取数据:预加载数据(preloaded data):在TensorFlow图中定义常量或变量来保存
- 为什么使用生产者消费者模式在线程世界里,生产者就是生产数据的线程,消费者就是消费数据的线程。在多线程开发中,如果生产者处理速度很快,而消费者
- 你不可能随时备份数据,但你的数据丢失时,或者数据库目录中的文件损坏时, 你只能恢复已经备份的文件,而在这之后的插入或更新的数据,就无能为力了
- 本文实例讲述了Python实现判断给定列表是否有重复元素的方法。分享给大家供大家参考,具体如下:题目很简单,只是简单温习一个方法,most_
- 正在学习javascript 的朋友可以把它当作小练习动手做一做。加强自己的动手编码能力。参考代码:<!DOCTYPE HTML PU
- Varchar 对每个英文(ASCII)字符都占用2个字节,对一个汉字也只占用两个字节char 对英文(ASCII)字符占用1个字节,对一个
- 在有些情况下,利用try…except来捕捉异常可以起到代替if…else的作用。比如在判断一个链表是否存在环的leetcode题目中,初始
- 听说 FaceBook 开放其网站的代码了,期前也算是了解过 FaceBook 的架构,所以重点就是看其代码的质量。可以毫不夸张的说,Fac
- MySQL select into临时表最近在编写sql语句时,遇到两次将数据放temp表,然后将两次的temp表进行inner join,
- 来蓝色一直都在潜水,很少写帖子,太对不起大家了.下面和大家探讨一个话题,希望能引起大家的兴趣.关于H1,一直都想和大家讨论H1用法的问题,可
- 本文的主要内容是向大家分享几个Python面试中的T题目,同时给出了答案并对其进行分析,具体如下。本文的原文是5 Great Python
- 在机器学习领域,支持向量机SVM(Support Vector Machine)是一个有监督的学习模型,通常用来进行模式识别、分类(异常值检
- 因时间问题不可能一次写的很多,但我们会经常更新,方便大家。希望学习编程的朋友不要因为从网站复制了代码,而不能正常的运行而放弃。其实老鸟也是经
- Dmitry这篇设计评论表单很有启发意义,尤其提到关键的评论内容、评论者信息录入顺序问题。好比我们在日常沟通时,对信息的反馈都是第一诉求,写
- 【OpenCV】⚠️高手勿入!⚠️ 半小时学会基本操作 ⚠️ 直方图概述OpenCV 是一个跨平台的计算机视觉库, 支持多语言, 功能强大.
- Django配合python进行requests请求前言在我们写代码的时候,经常会用到前后端分离开发的方法,例如微信小程序,安卓,网站等等&
- browsercookie 知识铺垫第一个要了解的知识点是使用 browsercookie 获取浏览器 cookie ,该库使用命令 pip
- 后续代码更新和功能添加会提交到个人github主页,有兴趣可以一起来完善!如果只是拿过去运行看结果,请注意平台相关性以及python版本号,
- 示意图:python双向链表实现代码:#!/usr/bin/python# -*- coding: utf-8 -*-class Node(