综合干狼人综合首页,日本а中文在线天堂,中国av一区,日韩va亚洲va欧洲va国产

19
2019/12

layui如何合并數(shù)據(jù)表格

發(fā)布時間:2019-12-19 17:22:05
發(fā)布者:會飛的魚
瀏覽量:
0

layui作為一款現(xiàn)在非常流行的UI框架,相信很多的小伙伴們都用過吧。其中的數(shù)據(jù)表格在前端調(diào)用中,更是節(jié)省了不少重復(fù)書寫獲取設(shè)置接口數(shù)據(jù)的時間,但是有些情況單靠官方的檔案還是無法滿足我們的工作需求的,如何并單元格一類的操作,官方檔案中只有表頭合并的操作文檔,但是我們遇到更多的是表格內(nèi)部的合并,今天文匯軟件小編就來為大家分享下這方面的心得。

如下圖所示:

這是一份病人的手術(shù)用藥單,大部分的病人取藥可能到要好幾種,但是如果用官方文檔他原來的數(shù)據(jù)表格就會像下圖。即使是相同的病人也會用很多不同條數(shù)的信息,病人的信息很多在瀏覽時很不方便。

1.jpg

小編說實話一開始也很懵,后來在網(wǎng)上找到了關(guān)于layui的高手。他的大體思路應(yīng)該是:這個應(yīng)該先是獲取td中所有的數(shù)量,然后獲取每個td的值,然后再獲取下個tr中相同位置的td值如果值相同,時期合并并獲取父級tr的高度,同時除了他之外的其他td都隱藏,代碼如下:

 layui.use('table', function(){

        var table = layui.table;

        table.reload('test2', {

           url: '',//你的接口

           done: function(res, curr, count){

            console.log(res);

            layuiRowspan(['fname','PATIENT_NAME','PATIENT_MRN','PATIENT_SEX','age'],1);

            layuiRowspan(res.data,1);//支持?jǐn)?shù)組

            layuiRowspan(count,1,true);

          }

        });

    });

}


var execRowspan = function(fieldName,index,flag){

  // 1為不凍結(jié)的情況,左側(cè)列為凍結(jié)的情況

  let fixedNode = index=="1"?$(".layui-table-body")[index - 1]:(index=="3"?$(".layui-table-fixed-r"):$(".layui-table-fixed-l"));

  // 左側(cè)導(dǎo)航欄不凍結(jié)的情況

  let child = $(fixedNode).find("td");

  let childFilterArr = [];

  // 獲取data-field屬性為fieldName的td

  for(let i = 0; i < child.length; i++){

    if(child[i].getAttribute("data-field") == fieldName){

      childFilterArr.push(child[i]);

    }

  }

  // 獲取td的個數(shù)和種類

  let childFilterTextObj = {};

  for(let i = 0; i < childFilterArr.length; i++){

    let childText = flag?childFilterArr[i].innerHTML:childFilterArr[i].textContent;

    if(childFilterTextObj[childText] == undefined){

      childFilterTextObj[childText] = 1;

    }else{

      let num = childFilterTextObj[childText];

      childFilterTextObj[childText] = num*1 + 1;

    }

  }

  let canRowspan = true;

  let maxNum;//以前列單元格為基礎(chǔ)獲取的最大合并數(shù)

  let finalNextIndex;//獲取其下第一個不合并單元格的index

  let finalNextKey;//獲取其下第一個不合并單元格的值

  for(let i = 0; i < childFilterArr.length; i++){

    (maxNum>9000||!maxNum)&&(maxNum = $(childFilterArr[i]).prev().attr("rowspan")&&fieldName!="8"?$(childFilterArr[i]).prev().attr("rowspan"):9999);

    let key = flag?childFilterArr[i].innerHTML:childFilterArr[i].textContent;//獲取下一個單元格的值

    let nextIndex = i+1;

    let tdNum = childFilterTextObj[key];

    let curNum = maxNum

    if(canRowspan){

      for(let j =1;j<=curNum&&(i+j

        finalNextKey = flag?childFilterArr[i+j].innerHTML:childFilterArr[i+j].textContent;

        finalNextIndex = i+j;

        if((key!=finalNextKey&&curNum>1)||maxNum == j){

          canRowspan = true;

          curNum = j;

          break;

        }

        j++;

        if((i+j)==childFilterArr.length){

          finalNextKey=undefined;

          finalNextIndex=i+j;

          break;

        }

      }

      childFilterArr[i].setAttribute("rowspan",curNum);

      if($(childFilterArr[i]).find("div.rowspan").length>0){//設(shè)置td內(nèi)的div.rowspan高度適應(yīng)合并后的高度

        $(childFilterArr[i]).find("div.rowspan").parent("div.layui-table-cell").addClass("rowspanParent");

        $(childFilterArr[i]).find("div.layui-table-cell")[0].style.height= curNum*38-10 +"px";

      }

      canRowspan = false;

    }else{

      childFilterArr[i].style.display = "none";

    }

    if(--childFilterTextObj[key]==0|--maxNum==0|--curNum==0|(finalNextKey!=undefined&&nextIndex==finalNextIndex)){//||(finalNextKey!=undefined&&key!=finalNextKey)

      canRowspan = true;

    }

  }

}

//合并數(shù)據(jù)表格行

var layuiRowspan = function(fieldNameTmp,index,flag){

  let fieldName = [];

  console.log(fieldNameTmp,index,flag);

  if(typeof fieldNameTmp == "string"){

    fieldName.push(fieldNameTmp);

  }else{

    fieldName = fieldName.concat(fieldNameTmp);

  }

  for(let i = 0;i

    execRowspan(fieldName[i],index,flag);

  }

}

結(jié)果如下圖所示:

1.jpg

這里只需要在數(shù)據(jù)表格渲染的時候改成自己的東西即可,其他的內(nèi)容說實話有些復(fù)雜,有能開發(fā)出更多用法的小伙伴歡迎聯(lián)系文匯軟件小編,小編在這里等你哦???

返回列表
综合干狼人综合首页,日本а中文在线天堂,中国av一区,日韩va亚洲va欧洲va国产
日韩精品自拍偷拍| 蜜臀va亚洲va欧美va天堂| 日本女优在线视频一区二区| 国产女同互慰高潮91漫画| 97久久超碰精品国产| 欧美自拍偷拍午夜视频| 亚洲国产精品久久一线不卡| 欧美丝袜自拍制服另类| 亚洲天天做日日做天天谢日日欢| 欧美色视频一区| 久久99国产精品久久99果冻传媒| 欧美日韩国产首页| 亚洲一卡二卡三卡四卡无卡久久| 亚洲激情五月婷婷| 国产精品久久久久久久久搜平片| 亚洲免费伊人电影| 国产白丝网站精品污在线入口| 菠萝蜜视频在线观看一区| 悠悠色在线精品| 欧美一区二区三区在线电影| 婷婷国产v国产偷v亚洲高清| 天天色天天操综合| 精品久久久久久久久久久久久久久久久| 亚洲成av人片观看| 美女视频一区二区三区| eeuss鲁片一区二区三区在线观看| 色噜噜狠狠色综合欧洲selulu| 国产乱国产乱300精品| 久久噜噜亚洲综合| 一二三区精品视频| 一区二区三区日韩在线观看| 国产日韩欧美高清在线| 欧美老女人第四色| 北岛玲一区二区三区四区| 国产女人aaa级久久久级| 日韩电影免费在线看| 成人精品小蝌蚪| 久久久国产精华| 91免费观看视频在线| 人妖欧美一区二区| 成人av手机在线观看| 在线视频你懂得一区二区三区| 麻豆精品视频在线观看视频| 亚洲女厕所小便bbb| 日韩美女久久久| 亚洲精品在线一区二区| 亚洲第一精品在线| 成人激情电影免费在线观看| 精品一区二区三区视频在线观看| 亚洲成人三级小说| 制服视频三区第一页精品| 欧美xxxx老人做受| 国产精品人成在线观看免费| 久久先锋资源网| 日韩激情中文字幕| 亚洲成人在线免费| 男人的天堂亚洲一区| 国产亚洲污的网站| 青青草原综合久久大伊人精品| 日韩国产欧美在线观看| 亚洲观看高清完整版在线观看| 国产精品美女一区二区三区| 日日噜噜夜夜狠狠视频欧美人| 欧洲另类一二三四区| 伊人性伊人情综合网| 亚洲国产人成综合网站| 久久综合久久鬼色中文字| 97久久人人超碰| 欧洲精品中文字幕| 欧美激情综合五月色丁香| 久久久精品国产99久久精品芒果| 麻豆精品精品国产自在97香蕉| 久久99国内精品| 国产一区二区福利| 成人福利视频在线看| 蜜桃传媒麻豆第一区在线观看| 亚洲成人av中文| 久久不见久久见免费视频7| 一区二区三区蜜桃网| 91在线观看免费视频| 欧美日韩在线播放三区| 亚洲视频免费在线观看| 国产精品亚洲综合一区在线观看| 91麻豆精品国产自产在线| 欧美不卡在线视频| 国产成人av电影免费在线观看| 自拍视频在线观看一区二区| 国产一区二区美女诱惑| 91免费看视频| 91精品国产免费久久综合| 国产精品第四页| 国产欧美一区二区精品性色超碰| 久久精品人人做人人爽97| 欧美日韩在线播放| 亚洲欧美国产77777| 免费在线观看一区| 麻豆视频一区二区| 国产精品久久久久久久蜜臀| 日韩三级视频在线观看| 亚洲欧美综合另类在线卡通| www.欧美日韩| 国产乱码字幕精品高清av| 天堂在线一区二区| 国产美女一区二区| 欧美色老头old∨ideo| 亚洲精品在线免费播放| 国产欧美一区二区三区沐欲| 日韩精品一区二区三区视频播放| 欧美一级生活片| 国产电影一区在线| 欧美性猛交xxxx乱大交退制版| 国产精品第一页第二页第三页| 国产成人精品三级| 国产福利一区二区| 成人av网站免费| 99精品视频在线免费观看| 亚洲欧洲日本在线| wwwwxxxxx欧美| 韩国精品久久久| 欧美男男青年gay1069videost| 亚洲视频精选在线| 久久精品一二三| 国产黑丝在线一区二区三区| 亚洲一区二区三区四区中文字幕| 精品国产a毛片| 国产婷婷色一区二区三区| 亚洲美女屁股眼交3| 欧美三级韩国三级日本三斤| 久久久国产一区二区三区四区小说| 久久精品这里都是精品| 欧美日韩国产一二三| 国产成人av一区二区三区在线观看| 亚洲男人的天堂在线观看| jlzzjlzz国产精品久久| 国产精品久久看| 国产精品亚洲专一区二区三区| 精品sm捆绑视频| 日韩av中文字幕一区二区三区| 色婷婷综合视频在线观看| 日韩一级二级三级| 国产jizzjizz一区二区| 久久久久久久性| 亚洲一区二区三区视频在线| 国产欧美日韩在线观看| 亚洲激情一二三区| 洋洋av久久久久久久一区| 精品国产不卡一区二区三区| 欧美一级一区二区| 国产精品高潮呻吟久久| 欧美午夜免费电影| 日韩国产欧美在线观看| 91浏览器入口在线观看| 日本不卡在线视频| 91免费看`日韩一区二区| 欧美中文字幕亚洲一区二区va在线| 欧美激情中文字幕| 国内成人精品2018免费看| 欧美精品自拍偷拍动漫精品| 国产精品一二三区在线| 另类小说一区二区三区| 中文字幕不卡的av| 日本美女一区二区| 日韩欧美一卡二卡| 91同城在线观看| 91精品久久久久久久99蜜桃| 欧美videos中文字幕| 欧美精品自拍偷拍| 亚洲成人高清在线| 日韩精品视频网| 日韩一二在线观看| 亚洲精品菠萝久久久久久久| 亚洲综合一二三区| 国产日韩精品视频一区| 99麻豆久久久国产精品免费| 日韩小视频在线观看专区| 99久久久精品| 日本高清视频一区二区| 色视频欧美一区二区三区| 色94色欧美sute亚洲线路一久| 国产精品对白交换视频| av影院午夜一区| 精品国产亚洲在线| 在线观看日韩高清av| 色婷婷国产精品综合在线观看| 午夜视频在线观看一区| 欧美另类videos死尸| 国产麻豆成人传媒免费观看| 一区二区三区四区在线| 欧美色中文字幕| 99久久夜色精品国产网站| 久久久久久久久伊人| 国产91精品一区二区麻豆网站| 免费高清不卡av| www.亚洲色图| 久久精品国产免费| 欧美日韩一卡二卡三卡| 精品综合免费视频观看| 国产成人精品1024| av高清不卡在线| 亚洲欧洲日产国产综合网|