`

就今天!阿里黑科技来了:不排队结账_拿了东西就走人!

阅读更多
原文链接:http://click.aliyun.com/m/23848/
摘要: Bootstrap Table使用和扩展

一.使用
导包:
1.Jquery
2.bootstrap组件(js+css)
3.bootstrap table组件及中文包(js+css+js)
8a8f44c5ef9635e1b418427c6b993da7cdc95184
代码:
例一:                      
<table id="table"></table>
<script>
$(function () {

    //1.初始化Table
    var oTable = new TableInit();
    oTable.Init();

    //2.初始化Button的点击事件
    var oButtonInit = new ButtonInit();
    oButtonInit.Init();

});


var TableInit = function () {
    var oTableInit = new Object();
    //初始化Table
    oTableInit.Init = function () {
        $('#table').bootstrapTable({
url: '/Home/GetDepartment',         //请求后台的URL(*)
            method: 'get',                      //请求方式(*)
            toolbar: '#toolbar',                //工具按钮用哪个容器
            striped: true,                      //是否显示行间隔色
            cache: false,                       //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
            pagination: true,                   //是否显示分页(*)
            sortable: false,                     //是否启用排序
            sortOrder: "asc",                   //排序方式
            queryParams: oTableInit.queryParams,//传递参数(*)
            sidePagination: "server",           //分页方式:client客户端分页,server服务端分页(*)
            pageNumber:1,                       //初始化加载第一页,默认第一页
            pageSize: 10,                       //每页的记录行数(*)
            pageList: [10, 25, 50, 100],        //可供选择的每页的行数(*)
            search: true,                       //是否显示表格搜索,此搜索是客户端搜索,不会进服务端,所以,个人感觉意义不大
            strictSearch: true,
            showColumns: true,                  //是否显示所有的列
            showRefresh: true,                  //是否显示刷新按钮
            minimumCountColumns: 2,             //最少允许的列数
            clickToSelect: true,                //是否启用点击选中行
            height: 500,                        //行高,如果没有设置height属性,表格自动根据记录条数觉得表格高度
            uniqueId: "ID",                     //每一行的唯一标识,一般为主键列
            showToggle:true,                    //是否显示详细视图和列表视图的切换按钮
            cardView: false,                    //是否显示详细视图
            detailView: false,                  //是否显示父子表
            columns: [{
                checkbox: true
            }, {
                field: 'Name',
                title: '部门名称',
                align: 'center',
                  valign: 'middle',
                width: '100px',
            }, {
                field: 'ParentName',
                title: '上级部门',
            }, {
                field: 'Level',
                title: '部门级别'
            }, {
                field: 'Desc',
                title: '描述'
            }, ]
        });
    };

    //得到查询的参数
    oTableInit.queryParams = function (params) {
        var temp = {   //这里的键的名字和控制器的变量名必须一直,这边改动,控制器也需要改成一样的
            limit: params.limit,   //页面大小
            offset: params.offset,  //页码
            departmentname: $("#txt_search_departmentname").val(),
            statu: $("#txt_search_statu").val()
        };
        return temp;
    };
    return oTableInit;
};


var ButtonInit = function () {
    var oInit = new Object();
    var postdata = {};

    oInit.Init = function () {
        //初始化页面上面的按钮事件
    };

    return oInit;
};
</script>
例二:
<table id="table"></table>
<style>
#table{
table-layout: fixed;
}
</style>
<script type="text/javascript">
var $table = $("#table");
var selections = [];
window.lockEvents = {
        'click .lock':function (e, value, row, index) {
            $.ajax({
                type:"post",
                url:"/copartner/trade/supplier/lock.do",
                async:true,
                dataType:"json",
                data:{
                    id: row.id,
                    isEnable : row.isEnable
                },
                success: function(data) {
                if(data.msg != null) {
                alert(data.msg);
                }
                },
                error:function(jqXHR){
                    alert(jqXHR.status);
                }
            });
            initTable();
        }
    };
function initTable() {
    $table.bootstrapTable('destroy');
    $table.bootstrapTable({
        height: getHeight(),
        toolbar: "#toolbar",
        //search: true,
        //searchAlign: "left",
        //showRefresh: true,
        //showToggle: true,
        showColumns: true,
        //showExport: true,
        //exportDataType: "all",
        //detailView: true,
        //detailFormatter: detailFormatter,
        //minimumCountColumns: 2,
        idField: 'id',
        showFooter: false,
        /*与后台交互*/
        method: 'post',
        contentType: "application/x-www-form-urlencoded",
        dataType: "json",
        cache: false,
        striped: true,
        pagination: true,
        //showPaginationSwitch: true,
        pageNumber: 1,
        pageSize: 20,
        pageList: [10, 20, 50, 100],
        url: "/copartner/tradeOrderInfo/list.do",
        //dataField: "rows",
        clickToSelect: true,
        queryParamsType: '',
        queryParams: function queryParams(params) {
            var param = {
            pageNumber: params.pageNumber,
                pageSize: params.pageSize,
                vagueInfo: $(".vagueInput").val(),
            }
            return param;
        },
        sidePagination: "server",//client
        /* onLoadSuccess: function(data){  //加载成功时执行
            alert("加载成功"+data);
        },
        onLoadError: function(){  //加载失败时执行
        alert("加载失败"+data);
        }, */
        /*列*/
        columns: [
            {
            checkbox: true,
            align: 'center',
                valign: 'middle'
            }, {
                title: 'id',
                field: 'id',
                align: 'center',
                valign: 'middle',
                //sortable: true
                width: '100px'
            }, {
                title: '订单编号',
                field: 'alias',
                align: 'center',
                valign: 'middle',
                width: '100px',
                formatter: openFormatter
            }, {
                title: '电话',
                field: 'phone',
                align: 'center',
                valign: 'middle',
                width: '100px',
                formatter: function (value, row, index) {
                return "<a class=\"editPhone\" href=\"\" name=\"phone\" data-type=\"text\" data-pk=\""+row.Id+"\" data-title=\"电话\">" + value + "</a>";
                }
            }, {
                  title: '是否售后',
                  field: 'isAftersales',
                  align: 'center',
                  valign: 'middle',
                width: '100px',
                  formatter: afterSalesFormatter
              }, {
                title: '操作',
                field: 'detail',
                align: 'center',
                valign: 'middle',
                width: '100px',
                formatter: detailFormatter
            }, {
                title: '是否启用',
                field: 'isEnable',
                align: 'center',
                valign: 'middle',
                width: '100px',
events: lockEvents,
                formatter: lockFormatter
            }
        ],
        onClickRow: function (row, $element) {
                curRow = row;
            }
            onLoadSuccess: function (aa, bb, cc) {
            $("#table .rowEditable").editable({
                    url: function (params) {
                        var column = $(this).attr("name");
                        curRow[column] = params.value;
                    },
                    type: 'text'
                });
                $("#table .editPhone").editable({
                    url: function (params) {
                        var sPhone = $(this).attr("name");
                        curRow[sPhone] = params.value;
                        $.ajax({
                            type: 'POST',
                            url: "/copartner/trade/supplier/editPhone.do",
                            data: curRow,
                            dataType: 'JSON',
                            success: function (data, textStatus, jqXHR) {
                            initTable();
                            if(data.msg != null) {
                            alert(data.msg);
                            }
                        },
                        error:function(jqXHR){
                            alert(jqXHR.status);
                        }
                        });
                    },
                    type: 'text'
                });
            }
    });
    $table.bootstrapTable('hideColumn', 'id');
    function afterSalesFormatter(value, row, index) {
    var state = '';
    var color = '#000';
    var color_red = '#c00';
    var color_blue = '#0066ff';
    var color_green = '#5cb85c';
    if(value == 0) {
    state = '否';
    color = color;
    } else if(value == 1) {
    state = "是";
    color = color_green;
    }
            return [
'<span style="color: '+ color +'">' + state + '</span>'
            ].join('');
        }
    function openFormatter(value, row, index) {
            return value;
        }
        function detailFormatter(value, row, index) {
        return [
'<a class="aliasNum" href="orderDetailInfoNew.html?id=' + row.id + '" title="进入明细">',
'<span style="">详情</span>',
'</a>'
            ].join('');
        }
        function lockFormatter(value, row, index) {
    var state = '--';
    var color = '#000';
    var color_red = '#c00';
    var color_blue = '#0066ff';
    if(value == 0) {
    state = '已关闭';
    color = color_red;
    } else if(value == 1) {
    state = "已启用";
    color = color_blue;
    }
            return [
                '<a class="lock" href="javascript:void(0)" title="切换状态">',
                '<span style="color: '+ color +'">' + state + '</span>',
                '</a>'
            ].join('');
        }
        function editReturnCountFormatter(value, row, index) {
    return "<a class=\"rowEditable\" href=\"\" name=\"returnCount\" data-type=\"text\" data-pk=\""+row.Id+"\" data-title=\"投诉数量\">" + value + "</a>";
        }
    function editReturnPriceFormatter(value, row, index) {
    return "<a class=\"rowEditable\" href=\"\" name=\"returnPrice\" data-type=\"text\" data-pk=\""+row.Id+"\" data-title=\"投诉金额\">" + value + "</a>";
        }
    function editReturnReasonFormatter(value, row, index) {
    return "<a class=\"rowEditable\" href=\"\" name=\"returnReason\" data-type=\"text\" data-pk=\""+row.Id+"\" data-title=\"售后原因\">" + value + "</a>";
        }
    // sometimes footer render error
    /*setTimeout(function() {
     $table.bootstrapTable('resetView');
     }, 200);*/
    /*$table.on('check.bs.table uncheck.bs.table ' +
     'check-all.bs.table uncheck-all.bs.table', function () {
     $remove.prop('disabled', !$table.bootstrapTable('getSelections').length);
     // save your data, here just save the current page
     selections = getIdSelections();
     // push or splice the selections if you want to save all data selections
     });
     $table.on('expand-row.bs.table', function (e, index, row, $detail) {
     if (index % 2 == 1) {
     $detail.html('Loading from ajax request...');
     $.get('LICENSE', function (res) {
     $detail.html(res.replace(/\n/g, '<br>'));
     });
     }
     });
     $table.on('all.bs.table', function (e, name, args) {
     console.log(name, args);
     });*/
    $(window).resize(function(){
        $table.bootstrapTable('resetView',{
            height: getHeight()
        });
    });
}
function getIdSelections() {
        return $.map($table.bootstrapTable('getSelections'), function (row) {
            return row.id
        });
    }
function getData() {
    return $.map($table.bootstrapTable('getData'), function (row) {
            return row.id+"---"+row.returnCount+"---"+row.returnPrice+"---"+row.returnReason+"---"+row.saleCount;
        });
    }
function getHeight() {
        return document.body.clientHeight*0.88;
    }
    /*function detailFormatter(index, row) {
     var html = [];
     $.each(row, function (key, value) {
     html.push('<p><b>' + key + ':</b> ' + value + '</p>');
     });
     return html.join('');
     }*/
    $(document).ready(function() {
        initTable();
    });
</script>

二.扩展
        行内编辑 Table Editable
        表格导出 Table Export
原文链接:http://click.aliyun.com/m/23848/

分享到:
评论

相关推荐

    ERP信息化系统:最终用户培训材料_FICO_期末结账_20080509_v1.1.ppt

    ERP信息化系统:最终用户培训材料_FICO_期末结账_20080509_v1.1.ppt

    LGVR.rar_MMS排队_Windows编程_排队_排队论_排队论 仿真

    而“LGVR.rar_MMS排队_Windows编程_排队_排队论_排队论 仿真”这个项目,显然关注的是一个特定的应用场景,即使用Windows编程技术实现了一个基于排队论的模拟系统。这里的核心知识点包括: 1. **MMS排队模型**:MMS...

    RFID中间件关键技术研究

    4. **顾客体验**:通过智能货架和自助结账,提升购物便捷性,减少排队等待时间。 #### 四、结论 RFID中间件作为连接RFID硬件与企业软件系统的桥梁,其关键技术的研究与应用对于推动物联网发展、提升供应链管理水平...

    A系列课程(SAP-FICO):第2课_GL总账——入门版

    5. **期末处理**:包括对账、结账和转账。对账确保所有账户余额正确,结账关闭会计期间,转账则调整账户余额以准备新财年的开始。 6. **报表和分析**:SAP提供多种工具生成财务报表,如FI Report Painter和BW...

    ElendevCheckoutBundle:使用 paypal 结账的工具

    如果您不想使用贝宝结账服务,您可以删除贝宝配置。 其他可用配置如下所示: elendev_checkout: paypal: username: 'your_paypal_username' password: 'your_paypal_password' signature: 'your_paypal_...

    DrinkeryManage.rar_java 点菜_java 结账_结账

    &#61548 自动结账功能。 &#61548 按开台和商品实现的日结账功能。 &#61548 按日消费额汇总统计实现的月结账功能。 &#61548 按日营业额实现的年结账功能。 &#61548 系统运行稳定、安全可靠。

    酒店结账单模板.doc

    酒店结账单模板.doc 本资源是一份酒店结账单模板,包含了酒店客人的基本信息、房间信息、消费记录、结账信息等内容。同时,本模板还包含了酒店的安全管理规定、培训要求、责任书等内容。 知识点: 1. 安全管理:...

    acts_as_shopping_cart_app:act_as_shopping_cart_gem 的示例应用程序

    通过这个示例应用,你可以学习如何添加商品、处理数量调整、计算总价、以及模拟结账流程等关键的购物车功能。此外,这个应用可能还包含错误处理和测试用例,以便开发者了解在实际开发过程中如何确保代码的稳定性和...

    swing 酒店管理系统源码

    (3)在结账操作时,如果某一个菜单没有签单或取消签单,那么,先将此菜单进行签单或取消,然后再进行结账。 操作流程 使用本程序时,请按以下步骤操作: (1)用户登录后,进入酒店管理主界面,如图1.7所示。 图...

    2012会计职称初级会计实务辅导:对账及结账.docx

    在会计实务中,对账和结账是两个关键的环节,确保企业的财务数据准确无误。首先,我们来深入理解这两个概念。 对账,是指企业在一定时期内对各种账簿和记录进行核对,以确保会计信息的完整性和准确性。对账主要涉及...

    医院信息管理系统门诊挂号表结构及设计分析.doc

    gh_doctor_schedule(医生出诊计划):由医生自己确定在某时间段内不出诊,在生成挂号纪录时应判断医生是否在不出诊期内,若是则不生成此医生挂号纪录。 费用处理 费用处理是非常重要的功能,主要涉及三张表: * ...

    新版新目标英语七年级下册Unit复习PPT学习教案.pptx

    - 不可数名词指不能以**数目**来计算的名词,通常无复数形式,前面不能直接用"a/an",若要表示个体概念需搭配量词,如"a piece of paper"。 - 同一词在不同情境下可能为可数或不可数,例如"glass",作为"玻璃"是不...

    所有完善的数据表与接口.pdf

    - `b_status`:开单状态,1表示未结账,2表示已结账。 - `b_h_id`:所属分店ID,关联分店数据。 8. **结账单(Checkout)**: - `c_id`:结账单ID,记录结账信息。 - `c_b_num`:订单号,与开单关联。 - `c_...

    酒店客房管理系统源码java-HotelManagementSystem:USSTJavaWeb项目

    酒店客房管理系统源码java Hotel Management System 酒店管理系统 基本要求: 利用java web技术开发一个酒店管理系统 一、功能要求: ...退房管理:将房间设置为可用,显示结账账单。--前台接待员 【客

    spree_order_constraints:一种改变 checkout_allowed 行为的简单方法? 在客户进行结账时向他们添加一些限制

    在客户进行结账时向他们添加一些限制。 安装 将 spree_order_constraints 添加到您的 Gemfile 中: gem 'spree_order_constraints' 捆绑您的依赖项并运行安装生成器: bundle ./bin/rails g spree_order_...

    opencart3单页结账插件

    **OpenCart 3 单页结账插件详解** OpenCart 是一款流行的开源电子商务平台,以其易用性和灵活性深受小型到中型在线商家的喜爱。在OpenCart 3中,为了提高用户购物体验,开发了“quick checkout pro”单页结账插件。...

    Paypaldemo:PayPal Express Checkout 演示

    支付宝介绍我选择在网站上使用 ruby​​ on rails 并与 Paypal 的快速结账 API 集成。 整个过程包括3个API调用: SetExpressCheckout : 嵌套在 set_express_checkout 方法中GetExpressCheckout : 嵌套在 get_express...

    air_condition

    air_condition2015/05/20 :grinning_face_with_smiling_eyes: qmlClient 不能正确识别连续点击,待更正2015/05/21 :grinning_face_with_smiling_eyes: testInterval 正常工作2015/05/25 :grinning_face_with_smiling...

Global site tag (gtag.js) - Google Analytics