摘要:思路是通過將調(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
可以看到,一開始是有一個(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 += ""; if(data!=null && data.length>0){ for(var i=0;i 項(xiàng)目名稱 檢查人數(shù) 金額(元) "+title+"總計(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ù)...
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ù)...
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)被橫屏了,但...
基于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'); ...
發(fā)表評論
0條評論
GitCafe
男|高級講師
TA的文章
閱讀更多
#圣誕節(jié)#SugarHosts:美國/香港虛擬主機(jī)低至6折,云服務(wù)器每續(xù)費(fèi)一年送半年
閱讀 2126·2021-11-24 10:28
【C語言進(jìn)階】??浮點(diǎn)數(shù)在內(nèi)存中的存儲(chǔ)(IEEE754標(biāo)準(zhǔn))
閱讀 1150·2021-10-12 10:12
云主機(jī)怎么解析域名-云主機(jī)怎么綁定域名呢?
閱讀 3359·2021-09-22 15:21
#大硬盤#Servarica:2核/3G/2T HDD/100Mbps不限流量/加拿大/年付$72,
閱讀 698·2021-08-30 09:44
阿里云、騰訊云、UCloud年付百元機(jī)(上海機(jī)房1核2G內(nèi)存1Mbps帶寬云服務(wù)器)性能對比測評
閱讀 1914·2021-07-23 11:20
功能性組件和Classes有什么不同?
閱讀 1159·2019-08-30 15:56
瀏覽器滾動(dòng)條優(yōu)化
閱讀 1774·2019-08-30 15:44
HTML和CSS 入門系列(一):超鏈接、選擇器、顏色、盒模式、DIV布局、圖片
閱讀 1495·2019-08-30 13:55
閱讀需要支付1元查看