Layui使用技巧实例

Layui-admin代码实例探寻Layui使用的点滴:

             

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>列表</title>
    <meta name="renderer" content="webkit">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport"
          content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
    <meta http-equiv="expires" content="0">
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <link rel="stylesheet" href="/payplatform-admin/templates/static/layui/css/layui.css"
          media="all">
    <link rel="stylesheet" href="/payplatform-admin/templates/static/style/admin.css" media="all">
</head>
<body>

<div class="layui-card layadmin-header">
    <div class="layui-breadcrumb" lay-filter="breadcrumb">
    </div>
</div>

<div class="layui-fluid">
    <div class="layui-row layui-col-space15">
        <div class="layui-col-md12">
            <div class="layui-card">

                <div class="layui-card-header"
                     style="border-bottom: 0px solid #f6f6f6; padding-top: 10px;height: 100px">
                    <form class="layui-form" action="" lay-filter="component-form-group">
                        <div class="test-table-reload-btn" style="margin-bottom: 10px;">
                            <div class="layui-inline" style="width: 120px">
                                <input class="layui-input" lay-verify="walletNumberCode"
                                       name="walletNumberCode"
                                       placeholder="账户编码" autocomplete="off">
                            </div>
                            <div class="layui-inline" style="width: 120px">
                                <input class="layui-input" lay-verify="numberCode" name="numberCode"
                                       placeholder="支付单号" autocomplete="off">
                            </div>
                            <div class="layui-inline" style="width: 120px">
                                <input class="layui-input" lay-verify="externalNo" name="externalNo"
                                       placeholder="交易单号" autocomplete="off">
                            </div>
                            <div class="layui-inline" style="width: 120px">
                                <input class="layui-input" lay-verify="payChannel" name="payChannel"
                                       placeholder="支付通道" autocomplete="off">
                            </div>
                            <div class="layui-inline" style="width: 120px">
                                <input class="layui-input" lay-verify="amount" name="amount"
                                       placeholder="支付金额"
                                       autocomplete="off">
                            </div>
                            <div class="layui-inline" style="width: 120px">
                                <input class="layui-input" lay-verify="requestNo" name="requestNo"
                                       placeholder="请求流水号" autocomplete="off">
                            </div>

                            <div class="layui-inline" style="width:120px">
                                <select name="platform" id="platform">
                                    <option value="">请选择平台</option>
                                    <option value="小商城">小商城</option>
                                    <option value="拼团">拼团</option>
                                    <option value="服务商">服务商</option>
                                    <option value="语文小商城">语文小商城</option>
                                    <option value="语文服务商">语文服务商</option>
                                    <option value="语文拼团">语文拼团</option>
                                    <option value="周边商城">周边商城</option>
                                </select>
                            </div>
                            <div class="layui-inline" style="width: 120px">
                                <select name="status" id="orderStatus">
                                    <option value="">请选择状态</option>
                                    <option value="INIT">未支付</option>
                                    <option value="SUCCESS">已支付</option>
                                </select>
                            </div>
                            <div class="layui-inline" style="width: 120px">
                                <select name="ifDivision" id="ifDivision">
                                    <option value="">请选择分账</option>
                                    <option value="true">是</option>
                                    <option value="false">否</option>
                                </select>
                            </div>


                            <button class="layui-btn" data-type="reload" lay-submit lay-filter="*"
                                    style="float: right">搜索
                            </button>
                            <button type="reset" class="layui-btn layui-btn-primary"
                                    style="float: right; margin-right: 15px;">重置
                            </button>


                            <br>
                            <div class="layui-inline">
                                <input type="text" class="layui-input" lay-verify="startTime"
                                       name="startTime"
                                       id="startTime" placeholder="创建开始时间" style="width: 120px"
                                       autocomplete="off">
                            </div>
                            <div class="layui-inline">
                                <input type="text" class="layui-input" lay-verify="endTime"
                                       name="endTime"
                                       id="endTime" placeholder="创建结束时间" style="width: 120px"
                                       autocomplete="off">
                            </div>

                            <div class="layui-inline">
                                <input type="text" class="layui-input" lay-verify="startPayTime"
                                       name="startPayTime" id="startPayTime" placeholder="支付开始时间"
                                       style="width: 120px" autocomplete="off">
                            </div>
                            <div class="layui-inline">
                                <input type="text" class="layui-input" lay-verify="endPayTime"
                                       name="endPayTime"
                                       id="endPayTime" placeholder="支付结束时间" style="width: 120px"
                                       autocomplete="off">
                            </div>
                    </form>
                </div>

            </div>
            <div class="layui-card-body">
                <table class="layui-hide" id="menuTable" lay-filter="menuTable"></table>
            </div>
        </div>
    </div>
</div>
</div>


<script type="text/html" id="toolbar">
    <div class="layui-btn-container">
        <button class="layui-btn layui-btn-sm" lay-event="deposit">对公充值</button>
        <button class="layui-btn layui-btn-sm" lay-event="transfor_04">转营销账户</button>
    </div>
</script>

<!-- 
<script type="text/html" id="op">
    {
   
   {#  if(d.status === 'INIT' && d.payProduct === '转账支付' ){ }}
    <a class="layui-btn layui-btn-xs" lay-event="confirm">人工确认支付</a>
    {
   
   {#  } }}
    {
   
   {#  if(d.payChannel === '分账通分账版' && ( d.ifDivision == '' || d.ifDivision == null || !d.ifDivision) && d.platform == '拼团'){ }}
    <a class="layui-btn layui-btn-xs" lay-event="division">分账</a>
    {
   
   {#  } }}
</script>
 -->

<script type="text/html" id="ifDivisionRender">
    {
   
   {#  if( d.ifDivision){ }}
    是
    {
   
   {#  } }}
    {
   
   {#  if( !d.ifDivision ){ }}
    否
    {
   
   {#  } }}
</script>


<script type="text/html" id="processFee">
    {
   
   {#  if( d.paymethod == '微信小程序支付'){ }}
    {
   
   { d.paymentFee * 0.0035 }}
    {
   
   {#  } }}
    {
   
   {#  if( d.paymethod == '支付宝'){ }}
    {
   
   { d.paymentFee * 0.006 }}
    {
   
   {#  } }}
    {
   
   {#  if( d.paymethod == '分账通余额支付'){ }}
    0
    {
   
   {#  } }}
</script>


<script type="text/html" id="statusRender">
    {
   
   {#  if(d.status === 'INIT' ){ }}
    未支付
    {
   
   {#  } }}
    {
   
   {#  if(d.status === 'SUCCESS' ){ }}
    已支付
    {
   
   {#  } }}
</script>

<script type="text/javascript"
        src="/payplatform-admin/templates/static/javascripts/jquery.min.js"></script>
<script type="text/javascript"
        src="/payplatform-admin/templates/static/javascripts/jquery.base64.js"></script>
<script type="text/javascript"
        src="/payplatform-admin/templates/static/javascripts/inside.js"></script>
<script src="/payplatform-admin/templates/static/layui/layui.js"></script>


<script type="text/javascript">
            var _count = 0
            var isOpen = 0;
        	layui.config({
            base: '/payplatform-admin/templates/static/' //静态资源所在路径
          }).use([ 'table', 'upload','laytpl','laydate'], function () {
                var table = layui.table, form = layui.form, upload = layui.upload;
                var $ = layui.$;
                var laydate = layui.laydate;

                table.render({
                    elem: '#menuTable'
                    , url: '/payplatform-admin/pay_order/list'
                    	  , toolbar: '#toolbar',
                    		  defaultToolbar: [ 'exports']
                    , title: '列表'
                   	,height: 'full-150'
                    , cols: [[
                    	  {field: 'platform', title: '交易平台'},
                    	  {field: 'ifDivision', title: '是否分账', templet: "#ifDivisionRender"},
                        {field: 'walletNumberCode', title: '账户编码'}
                        ,{field: 'number', title: '支付单编号'}
                        ,{field: 'externalNo', title: '交易单号'}
                        ,{field: 'paymentFee', title: '支付金额'}
                        ,{field: 'processFee', title: '支付手续费', templet: "#processFee"}
                        ,{field: 'payChannel', title: '支付通道'}
                        ,{field: 'paymethod', title: '支付方法'}
                        ,{field: 'status', title: '状态', templet: "#statusRender"}
                        ,{field: 'returnUrl', title: '客户端返回地址',width:'10%'}
                        ,{field: 'createTime', title: '创建时间',  templet: "<div class='each{
   
   {d.id}}'>{
   
   { layui.util.toDateString(d.createTime,'yyyy-MM-dd HH:mm:ss') }}</div>"}
                        ,{field: 'paymentTime', title: '付款时间',  templet: "<div> {
   
   {#  if(d.paymentTime!= null ){ }} {
   
   { layui.util.toDateString(d.paymentTime,'yyyy-MM-dd HH:mm:ss') }} {
   
   {#  } }}  </div>"}
                        ,{field: 'requestNo', title: '支付流水号',width:'10%'}
                        //, {fixed: 'right', title: '操作', toolbar: '#op'}
                    ]]
                    , id: 'menuTable'
                    , page: true
                    ,limits:[10,50,100,200,500,1000]
                });
                
                //监听行工具事件
                table.on('tool(menuTable)', function(obj){
                  var data = obj.data;
	                  if(obj.event === 'confirm'){
	                    layer.confirm('真的要确认付款吗?', function(index){
	                    	$.ajax({
	                    		url: "/payplatform-admin/pay_order/confirmPayment",
	                    		data:{'id':data.id},
	                    		beforeSend: function(){
	            					$(".layui-layer-btn0").text('提交中...');
	            					$(".layui-layer-btn0").attr({ disabled: "disabled" });
	            			    },
	            			    complete: function(){
	            			    	$(".layui-layer-btn0").removeAttr("disabled");
	            			    },
	                    		success: function (res) {
	                    			if (res.error_code  == '1') {
	                    				layer.msg('操作成功', {icon: 6});
		          					} else {
		          						layer.msg(res.message, {icon: 5});
		          					}
	                    		}
	                    	});
	                    });
	                  } 
	                  if(obj.event === 'division'){
		                    layer.confirm('真的要分账吗?', function(index){
		                    	$.ajax({
		                    		url: "/payplatform-admin/tfs/division",
		                    		data:{'payOrderNo':data.number,'modulerName':'收银台','pageActionName':'支付订单-手动分账','remark':'收银台->支付订单->手动分账'},
		                    		beforeSend: function(){
		            					$(".layui-layer-btn0").text('提交中...');
		            					$(".layui-layer-btn0").attr({ disabled: "disabled" });
		            			    },
		            			    complete: function(){
		            			    	$(".layui-layer-btn0").removeAttr("disabled");
		            			    },
		                    		success: function (res) {
		                    			if (res.error_code  == '1') {
		                    				layer.msg('操作成功', {icon: 6});
		                    				obj.del();
		                                    layer.close(index);
			          					} else {
			          						layer.msg(res.message, {icon: 5});
			          					}
		                    		}
		                    	});
		                    });
		                  }
                });
                
                //头工具栏事件
                table.on('toolbar(menuTable)', function(obj){
                  var checkStatus = table.checkStatus(obj.config.id);
                  var datas  = table.cache.menuTable;

                  switch(obj.event){
                      case 'deposit':
                    	 layer.open({
                             type: 2,
                             area: ['50%', '90%'],
                             skin: 'layui-layer-rim',
                             content: ['/payplatform-admin/templates/rms_sys/pay_order/deposit.html', 'no']
                           });break;
                      case 'transfor_04':
                   	     layer.open({
                            type: 2,
                            area: ['50%', '90%'],
                            skin: 'layui-layer-rim',
                            content: ['/payplatform-admin/templates/rms_sys/pay_order/transfor_04.html', 'no']
                          });break;
                      case 'more_division':
                         layer.confirm('真的要批量分账吗?', function(index){
                             _count = 0
                             isOpen = 0;
                             sendDivision(datas,index);
                         });break;

                  };
                });
              
                /* 监听提交 */
                form.on('submit(*)', function (data) {
                     var $startTime=$("#startTime").val();
                	 var $endTime=$("#endTime").val();
                	 var $startPayTime=$("#startPayTime").val();
                	 var $endPayTime=$("#endPayTime").val();
                	 if($startTime.length > 0){
                	     $startTime  = $startTime + " 00:00:00";
                		 var start  = new Date($startTime.replace(/-/g,"/")).getTime();
                		 var end = new Date().getTime(); // 当前时间
                		 if(start  > end){
                			 layer.msg('开始时间不能大于当前时间', {icon: 5});
                			 return false;
                		 }
                	 }
                     if($endTime.length > 0){
                	    $endTime  = $endTime + " 23:59:59";
                	 }
                	 if($startPayTime.length > 0){
                	     $startPayTime  = $startPayTime + " 00:00:00";
                		 var startPayTime  = new Date($startPayTime.replace(/-/g,"/")).getTime();
                		 var end = new Date().getTime(); // 当前时间
                		 if(startPayTime  > end){
                			 layer.msg('开始支付时间不能大于当前时间', {icon: 5});
                			 return false;
                		 }
                	 }
                     if($endPayTime.length > 0){
                	    $endPayTime  = $endPayTime + " 23:59:59";
                	 }
                	  if($startTime.length > 0 && $endTime.length > 0){
                	     var start  = new Date($startTime.replace(/-/g,"/")).getTime();
                	     var end  = new Date($endTime.replace(/-/g,"/")).getTime();
                	      if(start  > end){
                			 layer.msg('开始时间不能大于结束时间', {icon: 5});
                			 return false;
                		 }
                	 }
                	  if($startPayTime.length > 0 && $endPayTime.length > 0){
                	     var startPayTime  = new Date($startPayTime.replace(/-/g,"/")).getTime();
                	     var endPayTime  = new Date($endPayTime.replace(/-/g,"/")).getTime();
                	      if(startPayTime  > endPayTime){
                			 layer.msg('开始支付时间不能大于支付结束时间', {icon: 5});
                			 return false;
                		 }
                	 }
                     data.field.startTime = $startTime ;
                     data.field.endTime = $endTime ;
                     data.field.startPayTime = $startPayTime ;
                     data.field.endPayTime = $endPayTime ;
                	 layui.table.reload('menuTable', {
                         page: {
                           curr: 1 //重新从第 1 页开始
                         }
                         ,where: data.field
                       }, 'data');
                    return false;
                });
                
                laydate.render({
                    elem: '#startTime'
                  });
                
                laydate.render({
                    elem: '#endTime'
                  });
                
                laydate.render({
                    elem: '#startPayTime'
                  });
                
                laydate.render({
                    elem: '#endPayTime'
                  });
                
        	 });

            function sendDivision(datas,index) {
                if (isOpen == 1){
                    layer.close(index)
                    return false;
                }
                $.ajax({
                    url: "/payplatform-admin/tfs/division",
                    data: {'payOrderNo': datas[_count].number,'modulerName':'收银台','pageActionName':'支付订单-批量分账','remark':'收银台->支付订单->批量分账'},
                    beforeSend: function () {
                        $(".layui-layer-btn0").text('提交中...');
                        $(".layui-layer-btn0").attr({disabled: "disabled"});
                    },
                    complete: function () {
                        $(".layui-layer-btn0").removeAttr("disabled");
                    },
                    success: function (res) {
                        if (res.error_code == '1' || res.error_code=='分账成功') {
                        	 $("tr[data-index='"+_count+"']" ).css({
                                 "background-color": "#00FF00",
                                 'color': 'white'
                             });
                        } else {
                        	 $("tr[data-index='"+_count+"']" ).css({
                                 "background-color": "#FF0000",
                                 'color': 'white'
                             });
                        	 $("tr[data-index='"+_count+"']" ).find('.laytable-cell-1-0-13').text(res.message);
                        }
                        var dumper = datas.length-1;
                        if (_count >= dumper){
                            isOpen = 1;layer.close(index)
                        }else{
                            _count++;
                            sendDivision(datas,index);
                        }
                    }
                });

            }


</script>
</body>
</html>

猜你喜欢

转载自blog.csdn.net/u014635374/article/details/115406537