【layui】switch开关修改&&导出xIs [table.exportFile]

一、switch开关修改

layui.use(['admin', 'table', 'view', 'form', 'layer','ourJs'], function () {
    var table = layui.table
        ,admin = layui.admin
        ,form = layui.form
        ,layer = layui.layer
        ,ourJs = layui.ourJs
        ,view = layui.view;
        
	form.on('switch(checkbox_ishot)', function (e) {
	   	var _this=this,status=e.elem.checked;
	    admin.req({
	        url: '你的接口'
	        ,data: { id: e.value }
	        ,type: 'post'
	        ,success: function (res) {
	            if (res.code == 1) {
	                ourJs.status_tong(table,_this,status,'is_hot');
	            } else {
	                layer.msg(res.msg, { icon: 5, anim: 6, shade: 0.5, time: 1000 });
	            }
	        }
	    });
	});
});

public_html\static\admin\src\controller\ourJs.js

layui.define(['jquery'],function(exports) {
    var $ = layui.jquery;
    var obj={
        status_tong:function(table,_this,status,type)
        {
            type=type==undefined?'status':type;
            var arr=table.cache;
            var data='';
            for(var i in arr){
                data=arr[i];
            }           
            var td=$(_this).parent().parent();
            var tr=td.parent().attr('data-index');
            if (status === true) {
                status = 1;
            } else {
                status = 0;
            }
            for(var i in data[tr]){
                if(i==type){
                    data[tr][i]=status;
                    break;
                }
            }
            
        }
    }
    exports("ourJs", obj);
});

二、导出xIs [table.exportFile]

当导出xIs时,table的switch开关表现为 0或者1。
在这里插入图片描述
如下修改:
先将 is_seach=0 的值改为 是/否;
if(obj.event==‘LAYTABLE_EXPORT’) 判断只给【导出】按钮加事件;
item.field==‘is_seach’ 判断等于is_seach,删除templet

,parseData: function (res) { //res 即为原始返回的数据
    res.data.list.forEach(item=>{
        item.is_seach==0? item.is_seach='否': item.is_seach='是';
    })
}

// 导出表格
table.on('toolbar(test)', function(obj){
    if(obj.event=='LAYTABLE_EXPORT'){
        obj.config.cols[0].forEach(item=>{
            if(item.field=='is_seach'){
                delete item.templet
            }
        })
        tableData = table.cache['test'];
    }
    switch(obj.event){
        case 'LAYTABLE_EXPORT':
			table.exportFile('test',tableData,'xls');
        break;
    };
});

结果如下

<table class="layui-hide" id="test" lay-filter="test"></table>
<script type="text/html" id="test_table_ss">
    <input type="checkbox" name="status" data-name="is_seach" lay-skin="switch" lay-text="是|否" 
    class="layui-input" {{ d.is_seach === '是' ? 'checked' : '' }} lay-filter="checkbox_status">
</script>
        
<script>
layui.use(['admin', 'table', 'view', 'form', 'layer', 'setter'], function () {
    var $ = layui.$
        ,admin = layui.admin
        ,form = layui.form
        ,view = layui.view
        ,layer = layui.layer
        ,setter = layui.setter
        ,table = layui.table
        ,router = layui.router();
        
     table.render({
	    elem: '#test'
	    ,url:'../../test/table/demo1.json.js'/*tpa=http://www.layui.com/test/table/demo1.json*/
	    ,toolbar: '#toolbarDemo' //开启头部工具栏,并为其绑定左侧模板
        ,parseData: function (res) { //res 即为原始返回的数据
            res.data.list.forEach(item=>{
                item.is_seach==0? item.is_seach='否': item.is_seach='是';
            })
            return {
                "code": res.code, //解析接口状态
                "msg": res.msg, //解析提示文本
                "count": res.data.count, //解析数据长度
                "data": res.data.list //解析数据列表
            };
        }
	    ,cols: [[
	       {type: 'checkbox', fixed: 'left'}
	      ,{field:'sex', title:'性别', align:'center'}
          ,{ field:'is_seach',title: '搜索', templet: '#test_table_ss', align:'center'}
	    ]]
	    ,page: true
	  });

    // 导出表格
    table.on('toolbar(test)', function(obj){
        if(obj.event=='LAYTABLE_EXPORT'){
            obj.config.cols[0].forEach(item=>{
				if(item.field=='is_seach'){
                    delete item.templet
                }
            })
            tableData = table.cache['alipay_autho'];
        }
        switch(obj.event){
            case 'LAYTABLE_EXPORT':
				table.exportFile('test',tableData,'xls');
            break;
        };
    });
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值