主页

fastadmin自定义表格模板样式(商品订单)

汝命一休矣   IP属地: 青海
0 点赞 0阅读 1626

效果图:

第一步



define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'template'], function ($, undefined, Backend, Table, Form, Template) {

    var Controller = {
        index: function () {
            // 初始化表格参数配置
            Table.api.init({
                extend: {
                    index_url: 'wanlshop/order/index' + location.search,
                    add_url: '',
                    edit_url: '',
                    del_url: 'wanlshop/order/del',
                    multi_url: 'wanlshop/order/multi',
                    table: 'wanlshop_order',
                }
            });
			
            var table = $("#table");
			Template.helper("cdnurl", function(image) {
				return Fast.api.cdnurl(image); 
			}); 
			Template.helper("Moment", Moment);
			
            // 初始化表格
            table.bootstrapTable({
                url: $.fn.bootstrapTable.defaults.extend.index_url,
				templateView: true,
                pk: 'id',
                sortName: 'id',
                columns: [
                    [
                        {checkbox: true},
                        {field: 'id', title: __('Id')},
                        {field: 'user.nickname', title: __('User.nickname'), align: 'left', formatter: Table.api.formatter.search},
                        {field: 'shop.shopname', title: __('Shop_id'), align: 'left', formatter: Table.api.formatter.search},
                        {field: 'order_no', title: __('Order_no')},
                        {field: 'express_no', title: __('Express_no')},
                        {field: 'state', title: __('State'), searchList: {"1":__('State 1'),"2":__('State 2'),"3":__('State 3'),"4":__('State 4'),"6":__('State 6'),"7":__('State 7')}, formatter: Table.api.formatter.normal},
                        {field: 'createtime', title: __('Createtime'), operate:'RANGE', addclass:'datetimerange', formatter: Table.api.formatter.datetime},
                        {field: 'paymenttime', title: __('Paymenttime'), operate:'RANGE', addclass:'datetimerange', formatter: Table.api.formatter.datetime},
                        {field: 'delivertime', title: __('Delivertime'), operate:'RANGE', addclass:'datetimerange', formatter: Table.api.formatter.datetime},
                        {field: 'dealtime', title: __('Dealtime'), operate:'RANGE', addclass:'datetimerange', formatter: Table.api.formatter.datetime},
                        {field: 'status', title: __('Status'), searchList: {"normal":__('Normal'),"hidden":__('Hidden')}, formatter: Table.api.formatter.status},
                        {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
                    ]
                ]
            });

            // 为表格绑定事件
            Table.api.bindevent(table);
			//点击详情
			$(document).on("click", ".detail[data-id]", function () {
			    Backend.api.open('wanlshop/order/detail/id/' + $(this).data('id'), __('查看详情'),{area:['1200px', '780px']});
			});
			//点击详情
			$(document).on("click", ".comment[data-id]", function () {
			    Backend.api.open('wanlshop/comment/detail/order_id/' + $(this).data('id'), __('查看详情'));
			});
			$(document).on("click", ".kuaidisub[data-id]", function () {
			    Backend.api.open('wanlshop/order/relative/id/' + $(this).data('id'), __('快递查询'),{area:['800px', '600px']});
			});
        },
        recyclebin: function () {
            // 初始化表格参数配置
            Table.api.init({
                extend: {
                    'dragsort_url': ''
                }
            });

            var table = $("#table");

            // 初始化表格
            table.bootstrapTable({
                url: 'wanlshop/order/recyclebin' + location.search,
                pk: 'id',
                sortName: 'id',
                columns: [
                    [
                        {checkbox: true},
                        {field: 'id', title: __('Id')},
                        {
                            field: 'deletetime',
                            title: __('Deletetime'),
                            operate: 'RANGE',
                            addclass: 'datetimerange',
                            formatter: Table.api.formatter.datetime
                        },
                        {
                            field: 'operate',
                            width: '130px',
                            title: __('Operate'),
                            table: table,
                            events: Table.api.events.operate,
                            buttons: [
                                {
                                    name: 'Restore',
                                    text: __('Restore'),
                                    classname: 'btn btn-xs btn-info btn-ajax btn-restoreit',
                                    icon: 'fa fa-rotate-left',
                                    url: 'wanlshop/order/restore',
                                    refresh: true
                                },
                                {
                                    name: 'Destroy',
                                    text: __('Destroy'),
                                    classname: 'btn btn-xs btn-danger btn-ajax btn-destroyit',
                                    icon: 'fa fa-times',
                                    url: 'wanlshop/order/destroy',
                                    refresh: true
                                }
                            ],
                            formatter: Table.api.formatter.operate
                        }
                    ]
                ]
            });

            // 为表格绑定事件
            Table.api.bindevent(table);
        },
        add: function () {
            Controller.api.bindevent();
        },
		relative: function () {
        },
		detail: function () {
			// 查询物流状态
			$(document).on("click", ".kuaidisub[data-id]", function () {
			    Backend.api.open('wanlshop/order/relative/id/' + $(this).data('id'), __('快递查询'),{area:['800px', '600px']});
			});
		},
        edit: function () {
            Controller.api.bindevent();
        },
        api: {
            bindevent: function () {
                Form.api.bindevent($("form[role=form]"));
            }
        }
    };
    return Controller;
});


第二步:


<div class="panel panel-default panel-intro">
    
    <div class="panel-heading">
        {:build_heading(null,FALSE)}
        <ul class="nav nav-tabs" data-field="status">
            <li class="{:$Think.get.status === null ? 'active' : ''}"><a href="#t-all" data-value="" data-toggle="tab">{:__('All')}</a></li>
            {foreach name="deliverTypeList" item="vo"}
            <li class="{:$Think.get.status === (string)$key ? 'active' : ''}"><a href="#t-{$key}" data-value="{$key}" data-toggle="tab">{$vo}</a></li>
            {/foreach}
        </ul>
    </div>


    <div class="panel-body">
        <div id="myTabContent" class="tab-content">
            <div class="tab-pane fade active in" id="one">
                <div class="widget-body no-padding">
                    <div id="toolbar" class="toolbar">
                        <a href="javascript:;" class="btn btn-primary btn-refresh" title="{:__('Refresh')}" ><i class="fa fa-refresh"></i> </a>
                        <!--<a href="javascript:;" class="btn btn-success btn-add {:$auth->check('order/order/add')?'':'hide'}" title="{:__('Add')}" ><i class="fa fa-plus"></i> {:__('Add')}</a>-->
                        <a href="javascript:;" class="btn btn-success btn-edit btn-disabled disabled {:$auth->check('order/order/edit')?'':'hide'}" title="{:__('Edit')}" ><i class="fa fa-pencil"></i> {:__('Edit')}</a>
                        <!--<a href="javascript:;" class="btn btn-danger btn-del btn-disabled disabled {:$auth->check('order/order/del')?'':'hide'}" title="{:__('Delete')}" ><i class="fa fa-trash"></i> {:__('Delete')}</a>-->
                        

                        <!--<div class="dropdown btn-group {:$auth->check('order/order/multi')?'':'hide'}">-->
                        <!--    <a class="btn btn-primary btn-more dropdown-toggle btn-disabled disabled" data-toggle="dropdown"><i class="fa fa-cog"></i> {:__('More')}</a>-->
                        <!--    <ul class="dropdown-menu text-left" role="menu">-->
                        <!--        {foreach name="deliverTypeList" item="vo"}-->
                        <!--        <li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:" data-params="status={$key}">{:__('Set status to ' . $key)}</a></li>-->
                        <!--        {/foreach}-->
                        <!--    </ul>-->
                        <!--</div>-->

                        <a class="btn btn-success btn-recyclebin btn-dialog {:$auth->check('order/order/recyclebin')?'':'hide'}" href="order/order/recyclebin" title="{:__('Recycle bin')}"><i class="fa fa-recycle"></i> {:__('Recycle bin')}</a>
                    </div>
                    <table id="table" class="table table-striped table-bordered table-hover table-nowrap"
                           data-operate-edit="{:$auth->check('order/order/edit')}"
                           data-operate-del="{:$auth->check('order/order/del')}"
                           width="100%">
                    </table>
                </div>
            </div>

        </div>
    </div>
</div>
<style type="text/css">
	.wanl_order_list{
		margin-bottom: 15px;
	}
	.wanl_order_list .detail{
		
	}
	.fix-108{
		width: 108px;
		text-align: center;
	}
	.text-left{
		text-align: left;
	}
	.text-right{
		text-align: right;
	}
	.wanl_order_list .table>thead{
		background: #f1f4f6;
	}
	.bootstrap-table .table,
	.bootstrap-table .table>thead>tr>th{
		border-bottom: 1px solid #f1f1f1;
	}
	.table-bordered{
		border: 1px solid #f1f1f1;
	}
	.table-bordered > thead > tr > th, 
	.table-bordered > tbody > tr > td {
		border: 1px solid #f1f1f1;
		border-bottom: 0;
	}
	.table-bordered > thead > tr > th, label{
		margin-bottom: 0;
		font-weight: normal;
	}
	.table-bordered > tbody td.empty{
		border-top: 0;
	}
	.table-bordered > tbody td.conceal{
		border-left: 0 ;
		border-right: 0 ;
	}
	.table-bordered > tbody td.conceal.fix-108{
	}
	/* 产品 */
	.wanl_order_list p{
		margin-bottom: 4px;
	}
	.wanl_order_list .item {
		display: flex;
		margin: 10px;
	}
	
	.wanl_order_list .item .order_img {
		flex-shrink: 0;
	}
	.wanl_order_list .item .order_info {
		width: 90%;
		margin-left: 10px;
		margin-top: 2px;
	}
	.wanl_order_list .item .order_info .sku {
		color: #9e9e9e;
	}
	.wanl_order_list .operation a{
		color: #565656;
	}
</style>
<script type="text/html" id="itemtpl">
	<% if(i == 0){ %>
		<div class="col-sm-12" style="margin-bottom: 15px;">
			<table class="table table-bordered table-striped table-hover table-nowrap">
			   <thead>
				   <tr>
						<th class="text-center"><div class="th-inner">商品</div></th>
						<th class="fix-108"><div class="th-inner">单价</div></th>
						<th class="fix-108"><div class="th-inner">数量</div></th>
						<th class="fix-108"><div class="th-inner">买家</div></th>
						<th class="fix-108"><div class="th-inner">实际支付</div></th>
						<th class="fix-108"><div class="th-inner">状态</div></th>
						<!-- <th class="fix-108"><div class="th-inner">操作</div></th> -->
				   </tr>
			   </thead>
			</table>
		</div>
	<% } %>
	<div class="wanl_order_list col-sm-12">
		<table class="table table-bordered table-hover ">
			<thead>
				<tr>
					<th colspan="7">
						<div class="th-inner">
							<input name="checkbox" data-id="<%=item.id%>" id="order_<%=item.id%>" type="checkbox" /> 
							<label for="order_<%=item.id%>">订单号:<%=item.order_no%></label>
							<label style="margin-left:60px;" for="order_<%=item.id%>">创建时间:<%=Moment(item.createtime*1000).format("YYYY-MM-DD HH:mm:ss")%></label>
							<a href="javascript:;" style="margin-left:60px;" class="searchit text-primary" data-toggle="tooltip" title="" data-field="shop.shopname" data-value="<%=item.shop.shopname%>" data-original-title="点击搜索 <%=item.shop.shopname%>"> <i class="fa fa-shopping-cart"></i> <%=item.shop.shopname%> </a>
						</div>
					</th>
				</tr>			   
			</thead>
			<tbody>
				<% for(var k = 0 ; k < item.ordergoods.length ; k ++){ %>
				    <% var goods = item.ordergoods[k]; %>
					<% var labelarr = ['primary', 'success', 'info', 'danger', 'warning', 'muted']; %>
				    <tr>
				    	<td class="conceal">
							<div class="item">
								<div class="order_img">
									<a href="javascript:"><img class="img-md img-center" src="<%=cdnurl(goods.image)%>" alt="<%=goods.title%>"></a>
								</div>
								<div class="order_info">
									<p><%=goods.title%></p>
									<p class="sku"><%=goods.difference%></p>
								</div>
							</div>
				    	</td>
				    	<td class="conceal fix-108">
				    		<p> <del>¥<%=goods.price%></del> </p>
				    		<p>¥<%=goods.actual_payment%></p>
				    	</td>
				    	<td class="conceal fix-108"> <%=goods.number%> </td>
						<% if(k == 0){ %>
				    	<td class="fix-108">
				    		<p style="margin-bottom:5px;">
				    			<a href="javascript:;" class="searchit" data-toggle="tooltip" title="" data-field="user.nickname" data-value="<%=item.user.nickname%>" data-original-title="点击搜索 <%=item.user.nickname%>"><%=item.user.nickname%></a>
				    		</p>
				    	</td>
						<td class="fix-108">
							<p><strong>¥<%= item.pay.price %></strong> </p>
							<p style="color:#6c6c6c;font-family:verdana;margin-bottom:3px;"> (含运费:¥<%= item.pay.freight_price %>) </p>
						</td>
						<td class="fix-108 operation">
							<% if(item.state == 1){ %>
							<p>
								<a href="javascript:;" class="searchit" data-toggle="tooltip" title="" data-field="state" data-value="<%=item.state%>" data-original-title="点击搜索 <%=item.state_text%>">
									<span class="text-<%=labelarr[4]%>"><i class="fa fa-circle"></i> <%=item.state_text%> </span>
								</a>
							</p>
							<p><a href="javascript:;" class="detail" data-id="<%=item.id%>">订单详情</a> </p>
							<% }else if(item.state == 2){ %>
							<p>
								<a href="javascript:;" class="searchit" data-toggle="tooltip" title="" data-field="state" data-value="<%=item.state%>" data-original-title="点击搜索 <%=item.state_text%>">
									<span class="text-<%=labelarr[0]%>"><i class="fa fa-circle"></i> <%=item.state_text%></span>
								</a>
							</p>
							<p><a href="javascript:;" class="detail" data-id="<%=item.id%>">订单详情</a> </p>
							<% }else if(item.state == 3){ %>
							<p>
								<a href="javascript:;" class="searchit" data-toggle="tooltip" title="" data-field="state" data-value="<%=item.state%>" data-original-title="点击搜索 <%=item.state_text%>">
									<span class="text-<%=labelarr[2]%>"><i class="fa fa-circle"></i> <%=item.state_text%></span>
								</a>
							</p>
							<p><a href="javascript:;" class="detail" data-id="<%=item.id%>">订单详情</a> </p>
							<p><a href="javascript:;" class="kuaidisub" data-id="<%=item.id%>">查看物流</a> </p>
							<% }else if(item.state == 4){ %>
							<p>
								<a href="javascript:;" class="searchit" data-toggle="tooltip" title="" data-field="state" data-value="<%=item.state%>" data-original-title="点击搜索 <%=item.state_text%>">
									<span class="text-<%=labelarr[1]%>"><i class="fa fa-circle"></i> <%=item.state_text%></span>
								</a>
							</p>
							<p><a href="javascript:;" class="detail" data-id="<%=item.id%>">订单详情</a> </p>
							<p><a href="javascript:;" class="kuaidisub" data-id="<%=item.id%>">查看物流</a> </p>
							<% }else if(item.state == 5){ %>
							<p>
								<a href="javascript:;" class="searchit" data-toggle="tooltip" title="" data-field="state" data-value="<%=item.state%>" data-original-title="点击搜索 <%=item.state_text%>">
									<span class="text-<%=labelarr[0]%>"><i class="fa fa-circle"></i> <%=item.state_text%></span>
								</a>
							</p>
							<p><a href="javascript:;" class="detail" data-id="<%=item.id%>">订单详情</a> </p>
							<p><a href="javascript:;" class="kuaidisub" data-id="<%=item.id%>">查看物流</a> </p>
							<% }else if(item.state == 6){ %>
							<p>
								<a href="javascript:;" class="searchit" data-toggle="tooltip" title="" data-field="state" data-value="<%=item.state%>" data-original-title="点击搜索 <%=item.state_text%>">
									<span class="text-<%=labelarr[3]%>"><i class="fa fa-circle"></i> <%=item.state_text%></span>
								</a>
							</p>
							<p><a href="javascript:;" class="detail" data-id="<%=item.id%>">订单详情</a> </p>
							<p><a href="javascript:;" class="kuaidisub" data-id="<%=item.id%>">查看物流</a> </p>
							<p><a href="javascript:;" class="comment" data-id="<%=item.id%>">查看评论</a> </p>
							<% }else if(item.state == 7){ %>
							<p>
								<a href="javascript:;" class="searchit" data-toggle="tooltip" title="" data-field="state" data-value="<%=item.state%>" data-original-title="点击搜索 <%=item.state_text%>">
									<span class="text-<%=labelarr[5]%>"><i class="fa fa-circle"></i> <%=item.state_text%></span>
								</a>
							</p>
							<p><a href="javascript:;" class="detail" data-id="<%=item.id%>">订单详情</a> </p>
							<p><a href="javascript:;" class="kuaidisub" data-id="<%=item.id%>">查看物流</a> </p>
							<% } %>
						</td>
						
						<% }else{ %>
						<td class="empty"> </td>
						<td class="empty"> </td>
						<td class="empty"> </td>
						<% } %>
				    </tr>
				<% } %>
			</tbody>
		</table>
	</div>
</script>

效果


© 著作权归作者所有,转载或内容合作请联系作者