成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

layui動(dòng)態(tài)表頭

GitCafe / 1172人閱讀

摘要:思路是通過將調(diào)用接口返回出來的數(shù)據(jù),動(dòng)態(tài)的部分放到一個(gè)鍵值對數(shù)組下。動(dòng)態(tài)表頭就是動(dòng)態(tài)數(shù)組的鍵。當(dāng)時(shí)拼接的是分兩步,先是表頭,然后是數(shù)據(jù)。元這塊就是動(dòng)態(tài)的數(shù)據(jù),表頭,總計(jì),具體數(shù)據(jù),加到下就行。

又get到一種思路,不光是layui。

外面這層table,就是用原生拼接的。

@Override
    public List> distribution(String begin,String end,String name,String hospitalCode) {
        HashMap params = new HashMap();
        StringBuffer buf = new StringBuffer();
        
        List hRateAllotDepartment = rateAllotDepartmentDao.getRateDepartment(hospitalCode);
        String str1 = "";
        String str2 = "";
        for(int i=0;i=:begin  and g.createDate<=:end and b.name like :name and a.state ="02"  group by b.`id`,d.`id` ) d group by d.productId_ WITH ROLLUP  ");
        if(begin == null || begin.length() == 0){
            begin = "1970-01-01";
        }
        if(end == null || end.length() == 0){
            end = "2099-01-01";
        }
        params.put("begin",begin);
        params.put("end",end);
        params.put("name","%"+name+"%");
        return this.getMapListByMap(buf.toString(), params); 
        
        
    }

可以看到,一開始是有一個(gè)list,這個(gè)list是醫(yī)院醫(yī)生可以配置的科室,這些科室就是動(dòng)態(tài)的。這樣一來后臺即可得到動(dòng)態(tài)數(shù)據(jù)。同理,如果在layui時(shí)用到page,在這里返回成page類型即可。接下來再看js

function toList(begin,end,name){
        
        console.log(begin);
        console.log(end);
        
        $.ajax({
            url: basePath + "/biz/hospital/rate/allot/list.do",
            data: {
                begin:begin,
                end:end,
                name:name
            },
            type : "post",
            dataType : "json",
            success : function(data) {
                    
                var arrayPrice = new Array();

                for(var i=0;i"+key+"(元)";
                        }
                        if(i==(arrayPrice.length-1)&&(arrayPrice[arrayPrice.length-1][key]!=0)){
                            sumCols+=""+arrayPrice[i][key]+"";
                        }
                        if(i!=(arrayPrice.length-1)&&(arrayPrice[arrayPrice.length-1][key]!=0)){
                            partColsStr += ""+arrayPrice[i][key]+"";
                            
                        }
                     
                    }
                    
                    partCols.push(partColsStr);
                    
                }

                var sRenshu = 0;
                var stotal = 0;
                
                var tablex = "";
                
                tablex += "項(xiàng)目名稱檢查人數(shù)金額(元)"+title+"";
                
                if(data!=null && data.length>0){
                    for(var i=0;i總計(jì)"+sRenshu+""+stotal+""+sumCols+"";
                    
                    for(var i=0;i"+data[i].name+"" +
                                    "" +
                                        ""+
                                                                                            data[i].renshu+"" +
                                    ""+data[i].total+ partCols[i] +
                                    "";
                        }
                    }
                    
                }
                $("#table_status").empty();
                $("#table_status").append(tablex);
                    
                },
            error : function() {
                layer.msg("系統(tǒng)異常,請聯(lián)系管理員!",{icon:2,time:2000});
            }
        });
        
        
    }

可以在最上方圖看到,有些字段是固定的,但是有些字段是動(dòng)態(tài)的。思路是通過將調(diào)用接口返回出來的數(shù)據(jù),動(dòng)態(tài)的部分放到一個(gè)鍵值對數(shù)組下。這樣一來,固定的部分,依然可以用返回的data得到,而動(dòng)態(tài)的部分,用處理的數(shù)組循環(huán)賦值即可。動(dòng)態(tài)表頭就是動(dòng)態(tài)數(shù)組的鍵。數(shù)據(jù)就是值。

if(key!="name"&&key!="productId_"&&key!="renshu"&&key!="total"){
                        arrayPrice1[key]=data[i][key];
                    }    

這塊是name這些的是固定的,就排除掉,然后將數(shù)據(jù)放到arrayPrice1下再push到數(shù)組下。tablex就是表格的html。當(dāng)時(shí)拼接的是分兩步,先是表頭,然后是數(shù)據(jù)。有個(gè)總計(jì),后來在sql下加了WITH ROLLUP就得到了。

for(var key in arrayPrice[i]){

        
                if(i==0&&(arrayPrice[arrayPrice.length-1][key]!=0)){
                     title+=""+key+"(元)";
                }
                if(i==(arrayPrice.length-1)&&(arrayPrice[arrayPrice.length-1][key]!=0)){
                    sumCols+=""+arrayPrice[i][key]+"";
                }
                if(i!=(arrayPrice.length-1)&&(arrayPrice[arrayPrice.length-1][key]!=0)){
                    partColsStr += ""+arrayPrice[i][key]+"";
                    
                }
             
            }
            
           

這塊就是動(dòng)態(tài)的數(shù)據(jù),title表頭,sumCols總計(jì),partColsStr具體數(shù)據(jù),加到tablex下就行。以上就是原生的思路。

這塊table用到了layui,當(dāng)時(shí)也是看著這個(gè)layui動(dòng)態(tài)設(shè)置的思路去寫的原生。主要思路是:cols是一個(gè)數(shù)組,通過ajax得到數(shù)據(jù)后放到數(shù)組下,再放到cols下即可。

$.ajax({
    url: basePath + "/biz/hospital/rate/allot/department/getDepartment.do",
    data: {
    
    },
    type : "post",
    dataType : "json",
    success : function(data) {
        mycols[0] =  {field : "nameTrue", title:"姓名", align:"center",width:"120"};
        mycols[1] =  {field : "telephoneTrue", title:"支付手機(jī)號", align:"center",width:"120"};
        mycols[2] =  {field : "orderNO", title:"訂單號", align:"center",width:"120"};
        mycols[3] =  {field : "createDate", title:"訂單創(chuàng)建時(shí)間", align:"center",width:"120"};
        mycols[4] =  {field : "modifyDate", title:"訂單使用時(shí)間", align:"center",width:"120"};
        mycols[5] =  {field : "price", title:"支付金額(元)", align:"center",width:"120"};
        
        for (var i = 0;i < data.length; i++){ 
            var obj = data[i].departmentName;
            if(obj!=0){
                mycols[i+6] = {field : obj, title:obj+"(元)", align:"center",width:"120"};
            }
            
            }
        
    console.log(mycols);
    
    reload();
    
    },
    error : function() {
        layer.msg("系統(tǒng)異常,請聯(lián)系管理員!",{icon:2,time:2000});
    }
});


以上是ajax調(diào)用后處理的數(shù)組。下面這些就是table。reload();就是重新渲染。

var options = {
            url: basePath + "/biz/hospital/rate/allot/list_mx.do",
            method: "post",
            where:{
                begin:$("#startDate").val().toString(),
                end:end,
                productId_:$("#productId_").val().toString(),
                orderNO:$("#qorderNO").val().toString(),
                name:$("#qname").val().toString()
            },
            //分頁請求參數(shù)
            request:{
                pageName: "pageIndex", //頁碼
                limitName: "limit" //每頁多少數(shù)據(jù)
            },
            //返回的數(shù)據(jù)格式
            response:{
                 statusName: "status", //數(shù)據(jù)狀態(tài)的字段名稱,默認(rèn):code
                 statusCode: 200, //成功的狀態(tài)碼,默認(rèn):0
                 msgName: "message", //狀態(tài)信息的字段名稱,默認(rèn):msg
                 countName: "total", //數(shù)據(jù)總數(shù)的字段名稱,默認(rèn):count
                 dataName: "data" //數(shù)據(jù)列表的字段名稱,默認(rèn):data
            },
            //每頁10條數(shù)據(jù)
            limit: 10,
            
            //加載時(shí)出現(xiàn)加載條
            loading: true,
            elem: "#data_table",
            cols: [
                mycols
              ],
              

              
            id: "dataTable",
            page: true,
            };
    
    //方法級渲染
    table.render(options);

function reload(){
        
        date = new Date($("#endDate").val());
        
        date=date.setDate(date.getDate()+1);
        date=new Date(date);
    
        datemonth=date.getMonth()+1;      //獲取當(dāng)前月份(0-11,0代表1月)

        end=date.getFullYear()+"-"+datemonth+"-"+date.getDate();
        
        //options.where.departmentId = $("#departmentId").val();
        options.where.begin = $("#startDate").val();
        options.where.end = end;
        options.where.orderNO =  $("#qorderNO").val();;
        options.where.name =  $("#qname").val();;
         
        table.reload("dataTable",options);
        
    }
    

可以看到

cols: [
                mycols
              ],
              

這個(gè)就是動(dòng)態(tài)數(shù)據(jù)。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/106849.html

相關(guān)文章

  • layui實(shí)現(xiàn)動(dòng)態(tài)和靜態(tài)數(shù)據(jù)表分頁

    開發(fā)管理后臺是每一個(gè)開發(fā)人員都要熟悉的一個(gè)環(huán)節(jié),作為后端程序員,公司的所有機(jī)密數(shù)據(jù)都掌握在我們手上,所以這個(gè)時(shí)候,如果不是公司的核心成員,是不能接觸到某些數(shù)據(jù)的,這個(gè)時(shí)候所有的工作都落到了我們的手上,從PS到Linux都需要我們親歷親為,還好發(fā)現(xiàn)了layui這個(gè)前端框架,很大程度上減輕了我們的壓力. 今天我們先來學(xué)習(xí)一下layui實(shí)現(xiàn)動(dòng)態(tài)數(shù)據(jù)表,靜態(tài)數(shù)據(jù)表,以及表格的分頁,其中還涉及到動(dòng)態(tài)刷新數(shù)據(jù)...

    caige 評論0 收藏0
  • layui實(shí)現(xiàn)動(dòng)態(tài)和靜態(tài)數(shù)據(jù)表分頁

    開發(fā)管理后臺是每一個(gè)開發(fā)人員都要熟悉的一個(gè)環(huán)節(jié),作為后端程序員,公司的所有機(jī)密數(shù)據(jù)都掌握在我們手上,所以這個(gè)時(shí)候,如果不是公司的核心成員,是不能接觸到某些數(shù)據(jù)的,這個(gè)時(shí)候所有的工作都落到了我們的手上,從PS到Linux都需要我們親歷親為,還好發(fā)現(xiàn)了layui這個(gè)前端框架,很大程度上減輕了我們的壓力. 今天我們先來學(xué)習(xí)一下layui實(shí)現(xiàn)動(dòng)態(tài)數(shù)據(jù)表,靜態(tài)數(shù)據(jù)表,以及表格的分頁,其中還涉及到動(dòng)態(tài)刷新數(shù)據(jù)...

    Songlcy 評論0 收藏0
  • layUI做固定表頭和左側(cè)一列的

    摘要:最近在寫一個(gè)復(fù)雜表頭項(xiàng)目可以上下左右滑動(dòng)表頭和左側(cè)固定的表格。此時(shí)需要獲取設(shè)備的寬度作為橫屏?xí)r的高度。代碼如下獲取設(shè)備信息定義空變量記錄屏幕寬高判斷是否是設(shè)備,則獲取其寬度獲取設(shè)備高度修改之后測試安卓和下都正常了。 最近在寫一個(gè)復(fù)雜表頭項(xiàng)目可以上下左右滑動(dòng)表頭和左側(cè)固定的表格。此時(shí)頁面要求是要在橫屏下查看。在IOS系統(tǒng)下上下是不能滑動(dòng)的,查其原因是因?yàn)樵贗OS下頁面雖然已經(jīng)被橫屏了,但...

    haitiancoder 評論0 收藏0
  • 基于javaweb+jsp的學(xué)生成績管理系統(tǒng)

    基于javaweb+jsp的學(xué)生成績管理系統(tǒng) JavaWeb JavaBean JSP MVC MySQL Tomcat JavaScript idea eclipse MyEclipse Servlet SSM Maven … 部分代碼實(shí)現(xiàn)JSP let editIndex = layedit.build('LAY_demo_editor'); ...

    番茄西紅柿 評論0 收藏2637

發(fā)表評論

0條評論

閱讀需要支付1元查看
<