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

咨詢電話:
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

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

返回列表
国产欧美另类,亚洲精品乱码,免费在线观看视频一区,日本午夜精品视频在线观看
一本一道久久a久久精品蜜桃| 尹人成人综合网| 国产在线不卡| 国产精选在线| 国产午夜久久av| 免费在线观看视频一区| 久久久久久婷| 99久久99视频只有精品| 国产一区二区三区探花| 免费日韩一区二区三区| 国产精品jk白丝蜜臀av小说| 国产极品嫩模在线观看91精品| 91成人精品观看| 国产伦精品一区二区三区在线播放 | 久久国产电影| 999视频精品| 日韩中文欧美在线| 日本成人在线一区| 亚洲男人在线| 久久精品欧洲| 日韩av在线播放网址| 四虎成人av| 国产乱码精品一区二区三区四区 | 国产激情综合| 欧美日韩中文一区二区| 亚洲一区日韩在线| 国产欧美日韩一区二区三区在线| 精品资源在线| 99在线精品视频在线观看| 综合在线一区| 午夜影院一区| 青草久久视频| 中文字幕在线看片| 深夜福利一区| 婷婷成人综合| 国产精品欧美三级在线观看| 国产91精品对白在线播放| 日本精品一区二区三区在线观看视频| 亚洲一级大片| 高清精品久久| 蜜臀91精品一区二区三区| 国产亚洲久久| 亚洲一区二区av| 超碰超碰人人人人精品| 激情五月色综合国产精品| 亚洲免费影院| 国语精品一区| 国产日韩欧美一区二区三区在线观看| 免费视频一区三区| 福利视频一区| 在线成人直播| 正在播放日韩精品| 欧美国产美女| 国产欧美日韩视频在线| 香蕉久久夜色精品国产| 亚洲91精品| 日韩欧美在线中字| 岛国精品一区| 国产精品久久久免费| 蜜桃av一区二区在线观看| 亚洲午夜电影| 99精品视频在线| 91精品国产调教在线观看| 久久超级碰碰| 精品一级视频| 激情久久一区二区| 美女久久久精品| 国产一区精品福利| 国产精品观看| 日本va欧美va精品发布| 久久国产99| 亚洲毛片一区| 国产精品一页| 激情久久99| 欧美日韩一二三四| 蜜桃av一区二区三区电影| 久久xxxx| 国产精品高清一区二区| 久久只有精品| 98精品视频| 亚洲在线免费| 日韩av不卡一区二区| 精品资源在线| 高潮一区二区| 欧美日韩色图| 亚洲人成精品久久久| 中文字幕一区二区精品区| 国产欧美丝祙| 久久久国产亚洲精品| 亚洲影院天堂中文av色| 国产欧美在线| 久久久久久婷| 亚洲欧洲日韩| 成人自拍av| 日韩精品久久理论片| 三上亚洲一区二区| 免费看欧美美女黄的网站| 国产精品天堂蜜av在线播放| 视频福利一区| 久久xxxx精品视频| 日韩av有码| 国产视频一区二| 日韩1区2区日韩1区2区| 亚洲精品在线影院| 日韩精品国产精品| 特黄毛片在线观看| 欧美日韩亚洲一区在线观看| 五月天久久777| 免费在线观看一区| 91伊人久久| 欧美 日韩 国产精品免费观看| 欧美/亚洲一区| 日韩精品视频网| 91精品推荐| 国产日韩一区二区三区在线 | 国产一区二区三区四区五区传媒| 999精品一区| 福利视频一区| 国产成人精品亚洲线观看| 亚洲专区视频| 最新日韩av| 怡红院精品视频在线观看极品| 美女视频免费精品| 日本aⅴ精品一区二区三区 | 精品国产三区在线| 7777精品| 日本不卡的三区四区五区| 香蕉久久夜色精品国产| 成人av二区| 久久精品欧美一区| 韩国三级一区| 国产精品原创| 日韩在线第七页| 国产一区二区三区视频在线| 国产美女视频一区二区| 免费在线观看成人| 免费在线观看日韩欧美| 中文字幕成人| 综合激情视频| 日本中文字幕不卡| 亚洲1区在线观看| 日日夜夜免费精品视频| 亚洲18在线| 日韩精品久久理论片| 国产精品天堂蜜av在线播放| 国产精品hd| 国产第一亚洲| 天堂网在线观看国产精品| 狠狠爱成人网| 综合色就爱涩涩涩综合婷婷| 老鸭窝毛片一区二区三区| 亚洲一区区二区| 久久精品凹凸全集| av中文资源在线资源免费观看| 色在线中文字幕| 欧美精品一线| 日本不卡一二三区黄网| 国产极品一区| 99久久99久久精品国产片果冰| 综合激情在线| 黄色网一区二区| 日韩午夜av| 国产精品伊人| 91国语精品自产拍| 国产精品调教视频| 电影亚洲精品噜噜在线观看| 五月精品视频| 欧美激情视频一区二区三区在线播放| 麻豆成人91精品二区三区| 激情丁香综合| 麻豆免费精品视频| 亚洲激情黄色| 国产不卡一区| 亚久久调教视频| 亚洲爱爱视频| 国产精品资源| 天堂va欧美ⅴa亚洲va一国产| 国产精品sm| 妖精视频成人观看www| 国产精品一级在线观看| 麻豆视频在线观看免费网站黄| 视频一区二区三区入口| 91日韩欧美| 日韩精品免费视频人成| 2023国产精品久久久精品双| 亚洲一区网站| 欧美一区久久久| 欧美日韩夜夜| 国产精品外国| 九九九精品视频| 国产精品久久免费视频| 青青草国产成人99久久| 欧美专区一区二区三区| 成人羞羞在线观看网站| 欧美久久一区二区三区| 中国女人久久久| 美女视频网站久久| 国产精品麻豆成人av电影艾秋| 免费看日韩精品| 久久成人精品|