国产欧美另类,亚洲精品乱码,免费在线观看视频一区,日本午夜精品视频在线观看

咨詢電話:
15628812133
19
2019/12

layui如何合并數據表格

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

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

如下圖所示:

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

1.jpg

小編說實話一開始也很懵,后來在網上找到了關于layui的高手。他的大體思路應該是:這個應該先是獲取td中所有的數量,然后獲取每個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);//支持數組

            layuiRowspan(count,1,true);

          }

        });

    });

}


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

  // 1為不凍結的情況,左側列為凍結的情況

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

  // 左側導航欄不凍結的情況

  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的個數和種類

  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;//以前列單元格為基礎獲取的最大合并數

  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){//設置td內的div.rowspan高度適應合并后的高度

        $(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;

    }

  }

}

//合并數據表格行

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);

  }

}

結果如下圖所示:

1.jpg

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

返回列表
国产欧美另类,亚洲精品乱码,免费在线观看视频一区,日本午夜精品视频在线观看
男女性色大片免费观看一区二区| 波多野结衣久久精品| 亚洲成人不卡| 91精品啪在线观看国产爱臀| 免播放器亚洲| 三级在线观看一区二区| 人人草在线视频| 日韩欧美三级| 日韩久久电影| 日韩中文在线播放| 久久久9色精品国产一区二区三区| 中文字幕系列一区| 久久久久网站| 日韩视频一区| 国产欧美日韩一区二区三区四区 | 激情自拍一区| 欧美日一区二区在线观看| 91日韩欧美| 99国产精品久久久久久久| 亚洲少妇诱惑| 日韩va亚洲va欧美va久久| 国产精品免费不| 91精品韩国| 黑丝美女一区二区| 国产区精品区| 日韩高清中文字幕一区二区| 自由日本语亚洲人高潮| 三级在线观看一区二区 | 开心激情综合| 亚洲自拍另类| 国产精品一国产精品k频道56| 久久久久99| 国产精品一区亚洲| 在线视频亚洲| 精品72久久久久中文字幕| 欧美专区18| 欧美黄色一区| 亚洲欧美久久久| 欧美精品中文| 蜜臀91精品国产高清在线观看| 欧美中文一区二区| 日韩欧美三级| 久久国产人妖系列| 99精品在线| 国产精品一区二区三区av| 精品国产一区二区三区av片| 一区二区自拍| 久久爱www.| 亚洲色图综合| 国产精品嫩草99av在线| 欧美黄色一区二区| 国产精品任我爽爆在线播放| 在线亚洲观看| 久久超碰99| 水野朝阳av一区二区三区| 国产精品久久久久9999高清| 蜜桃av一区二区三区电影| 国产精品色在线网站| 激情婷婷久久| 国产日韩欧美在线播放不卡| 亚洲欧洲另类| 色老板在线视频一区二区| 国产精品久久国产愉拍| 欧美视频一区| 日本高清久久| 天使萌一区二区三区免费观看| 久久av资源| 国产福利资源一区| 亚洲精品高潮| 久久av在线| 99精品小视频| 亚洲风情在线资源| 日韩欧美午夜| 婷婷综合五月| 亚洲欧洲国产精品一区| 日本不卡视频在线| 日本不卡视频一二三区| 日本va欧美va精品发布| 欧美aⅴ一区二区三区视频| 久久精品三级| 日韩成人亚洲| 午夜久久tv| 婷婷综合福利| 成人午夜网址| 夜夜嗨一区二区| 91精品美女| 国产激情精品一区二区三区| av免费不卡国产观看| 中文亚洲欧美| 久久中文精品| 999在线观看精品免费不卡网站| 色狠狠一区二区三区| 国产va免费精品观看精品视频| 欧美日韩在线网站| 亚洲三区欧美一区国产二区| 亚洲精品系列| 久久国产视频网| 国产精品麻豆久久| 亚洲永久精品唐人导航网址| 国产精品a级| 欧美va天堂在线| 天堂va蜜桃一区二区三区| 国产精品亚洲欧美一级在线| 久久精品国产99久久| 亚洲一区二区三区无吗| 捆绑调教美女网站视频一区| 香蕉视频亚洲一级| 欧美日韩1区| 美女亚洲一区| 欧美综合社区国产| 韩国精品主播一区二区在线观看| 日本一区二区中文字幕| 日韩在线视频精品| 日本色综合中文字幕| 久久精品青草| 91亚洲国产| 日本不卡一区二区三区| 久久精品一区二区不卡| 欧美成a人片免费观看久久五月天| 99久久精品网| 精品网站999| 日韩精品一区二区三区免费视频| 蜜桃av在线播放| 国产精品久av福利在线观看| 亚洲精品激情| 1024精品一区二区三区| 国内精品伊人| 国产极品一区| 亚洲我射av| 国产精品伊人| 黄色在线网站噜噜噜| 国产精品资源| 久久精品国产www456c0m| 另类综合日韩欧美亚洲| 久久激情五月激情| 亚洲另类视频| 国产精品中文字幕制服诱惑| 视频一区国产视频| 蜜臀av性久久久久蜜臀aⅴ四虎| 久久一区二区中文字幕| 国产一区二区三区免费在线 | 久久国产成人午夜av影院宅| 精品一区二区三区四区五区| 久久精品 人人爱| 日韩免费精品| 国产午夜久久av| 日韩高清电影一区| 亚洲精品黄色| 国产精品久一| 精品一区二区男人吃奶| 国产在线不卡一区二区三区| 国产91在线精品| 久久天堂av| 蜜臀av一区二区三区| 日韩在线电影| 国产精品亚洲综合色区韩国| 久久伊人国产| 成人日韩在线观看| 亚洲一区二区小说| 国产午夜一区| 日韩成人三级| 亚洲欧洲午夜| 日本欧美一区二区在线观看| 国产精品草草| 国产精品av久久久久久麻豆网| 综合激情视频| 人在线成免费视频| 麻豆精品视频在线| 国产亚洲精品美女久久| 婷婷精品在线| 另类激情亚洲| 国产亚洲欧洲| 99香蕉国产精品偷在线观看| 在线日韩中文| 日韩欧美1区| 精品国产亚洲一区二区三区大结局| 久久高清国产| 国产高清一区二区| 色欧美自拍视频| 日本一区福利在线| 亚洲久久在线| 国产精品巨作av| 丰满少妇一区| 91成人小视频| 日韩av午夜在线观看| 久久久久久久久99精品大| 91精品国产福利在线观看麻豆| 久久久久午夜电影| 99久久婷婷| 国产99久久| 性欧美长视频| 日韩精品a在线观看91| 日韩精品欧美大片| 欧美一区二区三区免费看| 国产精品地址| 久久精品成人| 亚洲欧美网站在线观看| 国产欧美啪啪| 欧美精品二区| 欧美jjzz|