美文网首页
layUi学习笔记

layUi学习笔记

作者: YoungChen_ | 来源:发表于2018-06-01 15:48 被阅读0次

    layui网址:http://www.layui.com/

    引入文件

    <link rel="stylesheet" href="<%=basePath%>static/css/layui.css">
    <script type="text/javascript" src="<%=basePath%>static/js/jquery-2.1.4.js"></script>
    <script src="<%=basePath%>static/js/layui.js"></script>
    //先jquery 后 layui
    

    静态页面

    <body>
        <form class="layui-form" action="">
            <!-- 发票代码 -->
            <div class="layui-form-item" style="display: inline-block;">
                <label class="layui-form-label">发票代码:</label>
                <div class="layui-input-inline">
                    <input type="text" name="fpdm" placeholder="请输入发票代码" autocomplete="off" class="layui-input">
                </div>
            </div>
            <!-- 发票号码 -->
            <div class="layui-form-item" style="display: inline-block;">
                <label class="layui-form-label">发票号码:</label>
                <div class="layui-input-inline">
                    <input type="text" name="fphm" placeholder="请输入发票号码" autocomplete="off" class="layui-input">
                </div>
            </div>
            
            <!-- 时间范围选择器 -->
            <div class="layui-form-item" style="display: inline-block;">
                <label class="layui-form-label">开票日期:</label>
                <div class="layui-input-inline">
                    <input type="text" name="dateCheck" class="layui-input" id="dateCheck" placeholder="请选择开票日期" autocomplete="off">
                </div>
            </div>
            
            <!-- 销方税号 -->
            <div class="layui-form-item" style="display: inline-block;">
                <label class="layui-form-label">销方税号:</label>
                <div class="layui-input-inline">
                    <input type="text" name="xfsh" placeholder="请输入销方税号" autocomplete="off" class="layui-input">
                </div>
            </div>
            
            <!-- 是否预勾选 -->
            <div class="layui-form-item">
                <label class="layui-form-label" style="width:100px;">是否预勾选:</label>
                <div class="layui-input-block">
                    <input type="radio" name="sfgx" value="1" title="全部" checked>
                    <input type="radio" name="sfgx" value="2" title="已勾选">
                    <input type="radio" name="sfgx" value="3" title="未勾选">
                </div>
            </div>
            
            <!-- 提交按钮 -->
            <div class="layui-form-item">
                <div class="layui-input-block">
                    <button class="layui-btn" lay-submit lay-filter="formSearch" id="formSearchBtn">搜索</button>
                    <button type="reset" class="layui-btn layui-btn-primary" onclick="resetSearch()" id="resetSearchBtn">重置</button>
                </div>
            </div>
        </form>
        
        <!-- 列表 -->
        <table class="layui-hide" id="fpList"  lay-filter="test"></table>
        
        <!-- 按钮 -->
        <button class="layui-btn layui-btn-lg" id="baocunYgx">保存预勾选</button>
        <button data-method="notice" class="layui-btn layui-btn-lg" id="qudingGx">确定勾选</button>
    </body>
    

    弹出框

    加载完成就弹出

    <script> 
    layui.use('layer',
    function() {
    var $ = layui.jquery,
    layer = layui.layer;
    layer.ready(function() {
        type: 1,
        title: ['标题', 'font-size:18px;'], //标题栏
        closeBtn: false,
        area: '400px' ,//宽度
        offset: '30vh', //高度
        id: 'selectGs' ,//设定一个id,防止重复弹出
        btn: ['确定'] ,//按钮
        btnAlign: 'c',
        moveType: 1, //拖拽模式,0或者1
        content: '', //弹出内容
        success: function(layero) {
            var btn = layero.find('.layui-layer-btn');
            btn.find('.layui-layer-btn0').click(function() {
                //点击确定
            });
          }
       });
      });
    });
    </script> 
    

    普通弹出框

    layer.open({
    type: 1,
    title: ['自动确认勾选提示', 'font-size:18px;'] //标题栏
    ,
    closeBtn: false,
    area: '400px;',
    shade: 0.3,
    id: 'Ts' //设定一个id,防止重复弹出
    ,
    btn: ['确定'],
    offset: '30vh',
    btnAlign: 'c',
    moveType: 1 //拖拽模式,0或者1,
    content: '',//弹出内容
    success: function(layero) {
        var btn = layero.find('.layui-layer-btn');
        btn.find('.layui-layer-btn0').click(function() {
            //点击确定
        });
    }
    });
    

    列表

    列表的渲染

    前台HTML代码

    <!-- 列表 -->
        <table class="layui-hide" id="fpList"  lay-filter="test"></table>
    

    前台Js代码

    //通过返回值进行判断,修改列表显示数据
    <script type="text/html" id="SLtemp">  
          {{#  if(d.SL == null || d.SL === ''){ }}  
            0.00
          {{#  }else { }}  
            {{ d.SL }}
          {{#  } }}  
    </script>
    
    <script type="text/html" id="SPBMtemp">  
          {{#  if(d.SPBM == null || d.SPBM === ''){ }}  
                非ETC电子发票
          {{#  }else{ }}  
            {{#  if(d.GXZT == null || d.GXZT === ''){ }}  
                 <span style="color:green">ETC发票</span>【<span style="color:red">请到省国税局网站认证</span>】
            {{#  }else{ }}  
                 <span style="color:green">ETC发票</span>【<span style="color:blue">已到省国税局网站认证</span>】
            {{#  } }}  
          {{#  } }}  
    </script> 
    //*******************渲染列表********************
    <script> 
    var table = null;
    var laydate = null;
    var tableIns = null;
    layui.use('table',
    function() {
    table = layui.table;
    tableIns = table.render({
        text: {
            none: '暂无相关数据' //默认:无数据。注:该属性为 layui 2.2.5 开始新增
        },
        skin: 'line',  //行边框风格
        even: true, //开启隔行背景
        elem: '#fpList',
        url: '<%=basePath%>/pc/gouxuanList.do',//数据来源请求
        cols: [[{//列
            type: 'checkbox'//开启复选框
        },
        { field: 'FPHM',width: 140,title: '发票号码', align: 'center',sort: true},
        { field: 'FPDM',width: 180,title: '发票代码',align: 'center'},
        { field: 'SPBM',width: 280,title: '是否为ETC/是否认证',align: 'center',templet: '#SPBMtemp'},
        { field: 'XFSH',width: 200,title: '销方税号',align: 'center'},
        { field: 'XFMC',width: 280,title: '销方名称',align: 'center'},
        { field: 'GFSH',width: 200,title: '购方税号',align: 'center'},
        { field: 'JE',width: 120,title: '金额',align: 'center',sort: true},
        { field: 'SL',width: 120,title: '税率',align: 'center',templet: '#SLtemp',sort: true},
        { field: 'KPRQ',width: 120,title: '开票日期',align: 'center',sort: true},
        ]],
        //*******************回调函数********************
        done: function(res, curr, count) {
            //*********************获取原本复选框选中的数据*******************
            checkStatus1 = table.checkStatus('fpList');
            console.log(checkStatus1.data);
            //*********************隐藏列************************
            /* var tables = $("#fpList").next().find(".layui-table-box"); 
                    tables.find("[data-field='fieldName']").css("display","none");  */
        },
        page: true,//开启分页
        limits: [10, 20, 30, 40, 50]//分页的每页条数选择
      });
    });
    </script> 
    

    后台代码

        //查询数据
        List<HashMap<String, Object>> fpList = fpService.getFpListFirst(pd);
        //添加一个key 前台框架判断是不是选中
        for(int i = 0;i<fpList.size();i++){
            if(fpList.get(i).get("GXZT") != null && Integer.parseInt(fpList.get(i).get("GXZT").toString()) == 1){
                fpList.get(i).put("LAY_CHECKED", true);
            }else{
                fpList.get(i).put("LAY_CHECKED", false);
            }
        }
        //分页信息
        PageInfo<HashMap<String, Object>> pageInfo = new PageInfo<>(fpList);
        
        //传递参数
        JsonJ jsonj = new JsonJ();
        jsonj.setCount(pageInfo.getTotal());//前端需要的数据总条数
        jsonj.setData(fpList);//前端需要的列表数据
        return jsonj;
    
    JsonJ Javabeen
    public class JsonJ implements Serializable{
    private static final long serialVersionUID = 189432980496211347L;
      String code = "0"; //状态码 成功0 失败其他
      String msg = ""; //返回信息
      Long count = 0L;//数据条数
      Object data = null;//列表数据
    
    JsonJ属性解释

    列表重载

    //----------只有一个列表 不需要指定Id
    tableIns.reload({
    url: '<%=basePath%>/pc/gouxuanList.do',//重载数据请求路径
    where: { //设定异步数据接口的额外参数,任意设
    aaaaaa: 'xxx'
    ,bbb: 'yyy'
      },
        page: {
        curr: 1 //重新从第 1 页开始
      }
    });
    
    //----------多个列表 需要指定Id
    table.reload('idTest', {
    where: { //设定异步数据接口的额外参数,任意设
        aaaaaa: 'xxx',
        bbb: 'yyy'
    },
    page: {
        curr: 1 //重新从第 1 页开始
      }
    });
    

    隐藏一列

    //*******************回调函数********************
    done: function(res, curr, count){
    //*********************获取原本选中的数据*******************
    heckStatus1 = table.checkStatus('fpList');
    console.log(checkStatus1.data);
    //*********************隐藏列************************
    var tables = $("#fpList").next().find(".layui-table-box"); 
    tables.find("[data-field='etc']").css("display","none"); 
    },
    

    表单提交

    //*******************提交搜索***********************
        layui.use('form', function(){
              var form = layui.form;
              //监听提交
              form.on('submit(formSearch)', function(data){
                var data = JSON.stringify(data.field);
                tableIns.reload({
                     url:'<%=basePath%>/pc/searchForm.do',
                     where: { //设定异步数据接口的额外参数,任意设
                         search: data
                    }
                  ,page: {
                    curr: 1 //重新从第 1 页开始
                  }
                });
                 layer.msg('加载中', {
                       time: 1500, //1s后自动关闭
                    });
                return false;
            });
        });
    

    相关文章

      网友评论

          本文标题:layUi学习笔记

          本文链接:https://www.haomeiwen.com/subject/vvlksftx.html