Layui数据表格/搜索重加载/分条件操作/工具条监听

<div class="layui-layout layui-layout-admin" style="padding-left: 20px;">
    <div class="layui-row" style="margin-top: 20px;">

        //搜索开始
        <form class="layui-form" action="" onsubmit="return false;" >
            <div class="demoTable">
                <div class="layui-form-item">

                    <div class="layui-input-inline">
                        <input type="number" id="merchant_id" name="merchant_id" placeholder="商铺ID" autocomplete="off" class="layui-input">
                    </div>

                    <div class="layui-input-inline">
                        <select name="status" id="status" lay-verify="">
                            <option value=-1>审核状态</option>
                            <option value=1>已同意</option>
                            <option value=2>已拒绝</option>
                        </select>
                    </div>

                    <div class="layui-col-xs1 search_text">
                        <button class="layui-btn" data-type="reload"><i class="layui-icon">查询</i></button>
                    </div>
                    //搜索结束,点击查询使用reload重加载表格

                </div>
            </div>
        </form>
    </div>
    <table class="layui-hide" id="table_list" lay-filter="table_filter"></table>
</div>

<script>
    layui.use([‘table‘, ‘form‘, ‘element‘,‘layer‘], function () {
        var table = layui.table;
        var form = layui.form;
        var element = layui.element;
        var layer = layui.layer;

        //渲染表格数据
        table.render({
            elem: ‘#table_list‘,
            url: ‘/withdrawal/checklogtable‘,
            cols: [[
                {field: ‘id‘, title: ‘编号‘, sort: true},
                {title: ‘申请商铺名(ID)‘,templet:function (d) {
                        return d.merchant_name+‘(‘+d.merchant_id+‘)‘;
                    }},
                {field: ‘balance‘, title: ‘账户余额‘},
                {field: ‘already_withdraw‘, title: ‘账户已提现金额‘},
                {field: ‘amount‘, title: ‘本次申请提现金额‘},
                {field: ‘name‘,title: ‘提现名‘},
                {field: ‘bank‘,title: ‘提现银行‘},
                {field: ‘bank_card‘, title: ‘提现卡号‘},
                {field: ‘status‘,title: ‘审核结果‘},
                {title: ‘审核管理员‘,templet:function (d) {
                        return d.admin_name+‘(‘+d.admin_id+‘)‘
                    }},
                {field: ‘update_time‘ ,title: ‘审核时间‘},
                {title: ‘操作‘,width:200,templet:function (d) {
                        var button;
                        var earndetail = ‘<a class="layui-btn layui-btn-xs" lay-event="earndetail">查看收益明细</a>‘;
                        var transfer= ‘<a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="transfer">打款</a>‘;
                        var reason= ‘<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="reason">拒绝理由</a>‘;
                        if(d.status==="已同意") {
                            button = earndetail+transfer;
                        }else{
                            button = earndetail+reason;
                        }
                        return button;
                    }}
            ]]
            , id: ‘listReload‘
            , page: true
            , limit: 10
            , height: "full-130"
        });

        //根据搜索条件重加载表格
        var $ = layui.$, active = {
            reload: function () {
                table.reload(‘listReload‘, {
                    where: {
                        merchant_id : $(‘#merchant_id‘).val(),
                        status : $(‘#status‘).val()
                    }
                });
            }
        };

        //监听工具条(操作中的lay-event属性)
        table.on(‘tool(table_filter)‘, function (obj) {
            var data = obj.data;
            if (obj.event === ‘earndetail‘) {
                x_admin_show(‘收益详情‘, "/withdrawal/earndetaillist?merchant_id=" + data.merchant_id,1500,800)
            }else if (obj.event === ‘transfer‘) {
                layer.prompt({
                    formType: 1,
                    value: ‘‘,
                    title: ‘请手动打款并输入管理员密码确认‘,
                }, function(value, index, elem){
                    var formData = new FormData();
                    formData.append("id",obj.data.id);
                    formData.append("admin_password",value);
                    $.ajax(
                        {
                            type:‘post‘,
                            url: "/withdrawal/transfer",
                            data: formData,
                            contentType: false,
                            cache:false,
                            processData : false,
                            beforeSend: function () {
                            },
                            success: function(returndata){
                                if(returndata.code==200)
                                    layer.alert(returndata.msg, {icon: 6},function (thiswindow) {
                                        location.reload();
                                        layer.close(thiswindow);
                                    });
                                else
                                    layer.alert(returndata.msg, {icon: 5},function (thiswindow) {
                                        layer.close(thiswindow);
                                    });
                            },
                            error: function () {
                                layer.alert(‘请求错误.请稍后再试‘, {icon: 5},function (thiswindow) {
                                    layer.close(thiswindow);
                                });
                            }
                        }
                    )
                });
            }else if (obj.event === ‘reason‘) {
                layer.alert(obj.data.refuse_reason);
            } else{
                layer.msg(‘操作不存在‘);
            }
        });

        $(‘.demoTable .layui-btn‘).on(‘click‘, function () {
            var type = $(this).data(‘type‘);
            active[type] ? active[type].call(this) : ‘‘;
        });
    });

</script>

效果图:

原文地址:https://www.cnblogs.com/yehuisir/p/11909377.html

时间: 2024-10-13 19:46:43

Layui数据表格/搜索重加载/分条件操作/工具条监听的相关文章

Qt实现小功能之列表无限加载(创意很不错:监听滚动条事件,到底部的时候再new QListWidgetItem)

概念介绍 无限加载与瀑布流的结合在Web前端开发中的效果非常新颖,对于网页内容具备较好的表现形式.无限加载并没有一次性将内容全部加载进来,而是通过监听滚动条事件来刷新内容的.当用户往下拖动滚动条或使用鼠标滚轮的时候,页面会自动加载剩余的内容.如下: 简约而不简单,正是这种别出心裁,突破常规的设计才能得到用户的青睐…… 实现思路 在前端开发可以使用一些jQuery插件实现这种效果,后台只需要准备好数据就行了.在Qt中如何给列表组件(QListWidget,QTreeWidget, QTableWi

Android项目:使用pulltorefresh开源项目扩展为下拉刷新上拉加载更多的处理方法,监听listview滚动方向

很多android应用的下拉刷新都是使用的pulltorefresh这个开源项目,但是它的扩展性在下拉刷新同时又上拉加载更多时会有一定的局限性.查了很多地方,发现这个开源项目并不能很好的同时支持下拉刷新和上拉加载更多.这个组件有个mode的属性,可以设置为both,即上下同时都可拉动.但是只设置这个属性的话,上拉与下拉产生的效果是完全一致的.所以要使用这个开源项目做到下拉刷新并同时可上拉加载更多,就需要在代码中进行一些处理. ==========================pulltoref

layui数据表格监听按钮问题

layui官网文档源码 原始容器 <table id="demo" lay-filter="test"></table> 工具栏模板: <script type="text/html" id="toolbarDemo"> <div class="layui-btn-container"> <button class="layui-btn lay

用shell编写nginx脚本的启动,关闭,重加载

#!/bin/bash                 ----默认执行shell方式 #chkconfig: 2345 10 80        ----加入到开机执行的方式 path="/usr/local/nginx/sbin/nginx"        ----源代码安装nginx之后的启动路径 name="nginxd"    test=0 log=/tmp/nginxd.log                ----nginx的日志 DATE=`date

[Nginx] 在Linux下的启动、停止和重加载

Nginx的启动 /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf 其中-c参数指定配置文件路径. Nginx的停止Nginx支持以下几种信号控制:- TERM, INT 快速关闭- QUIT 从容关闭- HUP 平滑重启- USR1 重新打开日志文件,在切割文件时用处大- USR2 平滑升级- WINCH 从容关闭工作进程我们可以通过信号停止Nginx主进程,首先,我们需要通过ps -ef|grep命令获得maste

Listview滑动时不加载数据,停下来时加载数据,让App更优

数据源配置(Adapter) package com.zhengsonglan.listview_loading.adapter; import android.content.Context; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.Im

Tomcat:自动部署、自动重加载、自动编译

麻雀虽小,五脏俱全,Tomcat 提供的自动部署.自动重加载.自动编译功能,可谓是让人又爱又恨.接下来就对这三者做一个介绍,文章中会Copy一些官方文档中的说法. If you are using the standard Host implementation, the following actions take place automatically when Catalina is first started, if the deployOnStartup property is set

Ajax中主页加载分页面后,分页面js脚本不执行的解决办法

没看懂,稍后再看 Ajax中主页加载分页面后,分页面js脚本不执行的解决办法 最近捣鼓JQuery,其中强大的Ajax系列函数令人印象深刻,所以做项目时毫不犹豫地采用了一下该技术,在主页中动态加载分页面进来,咋看效果 不错,都能实现了第一层次的加载,但深入下去问题就出来了:动态加载进来的页面中外联了js文件,其中的脚本却没有在加载后运行! (脚本在单独浏览该分页面时运行是正常的) 我郁闷了,打开Firefox中的Firebug查看了加载后的主页面中的DOM,所有元素的加载都是正常的啊~ 自己改来

清空FORM表单的几种方式 Reset 重加载

1. form中定义name <form name = "sbform" action="sb_add.php" method="post"> 用Reset清空 <input type="button" value="清空" onclick="sbform.reset()" /> 2.重加载 <input type="button" va