table-wv.html 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <title>数据表格</title>
  8. <link rel="stylesheet" href="css/chartpage.css">
  9. <link rel="stylesheet" href="../dist/css/layui.css">
  10. <style>
  11. .title{
  12. font-size: 14px;
  13. color: #666666;
  14. font-weight: normal;
  15. margin-left: 10px;
  16. }
  17. </style>
  18. </head>
  19. <body>
  20. <!-- <div>
  21. <div id="moreTime" class="moreTime">
  22. </div>
  23. <div id="childTime" class="childTime">
  24. <div style="" data-type=0>
  25. <div class="box" onclick="childTimeOnClick(this,900000)">15分</div>
  26. <div class="" onclick="childTimeOnClick(this,1800000)">30分</div>
  27. <div class="" onclick="childTimeOnClick(this,2700000)">45分</div>
  28. </div>
  29. <div style="display: none;" data-type=1>
  30. <div class="" onclick="childTimeOnClick(this,3600000)">1小时</div>
  31. <div class="" onclick="childTimeOnClick(this,21600000)">6小时</div>
  32. <div class="" onclick="childTimeOnClick(this,43200000)">12小时</div>
  33. <div class="" onclick="childTimeOnClick(this,64800000)">18小时</div>
  34. </div>
  35. <div style="display: none;" data-type=2>
  36. <div class="" onclick="childTimeOnClick(this,86400000)">1日</div>
  37. <div class="" onclick="childTimeOnClick(this,259200000)">3日</div>
  38. <div class="" onclick="childTimeOnClick(this,432000000)">5日</div>
  39. </div>
  40. <div style="display: none;" data-type=3>
  41. <div class="" onclick="childTimeOnClick(this,604800000)">1周</div>
  42. <div class="" onclick="childTimeOnClick(this,1209600000)">2周</div>
  43. <div class="" onclick="childTimeOnClick(this,1814400000)">3周</div>
  44. <div class="" onclick="childTimeOnClick(this,2419200000)">4周</div>
  45. </div>
  46. </div>
  47. </div> -->
  48. <div id="main" style="width:100%;margin:auto">
  49. <div id="title" class="title"></div>
  50. <table id="item-list-table" lay-filter="item-list-table" class="layui-table" lay-skin="nob" lay-even></table>
  51. </div>
  52. <hr>
  53. <script src="./echarts.min.js"></script>
  54. <script src="./cqcyCode.js"></script>
  55. <script type="text/javascript" src="../luckysheet/dist/plugins/js/uni-webview-js0.0.3_index.js"></script>
  56. <script src="../jquery.min.js"></script>
  57. <script src="../date.js"></script>
  58. <script src="../dist/layui.js"></script>
  59. <script>
  60. layui.use('table', function(){
  61. var table = layui.table;
  62. var selTimeValue = 5000;
  63. //初始化时间选择区域
  64. window.initHeader=function(){
  65. var range = ["分", "时", "日", "周"];
  66. let html_moreTime = "";
  67. for(var i=0;i<range.length;i++){
  68. if(i==0){
  69. html_moreTime = html_moreTime + "<div class='bod' onclick=moreTimeOnClick(this,"+i+");>" + range[i] + "</div>"
  70. }else{
  71. html_moreTime = html_moreTime + "<div class='' onclick=moreTimeOnClick(this,"+i+");>" + range[i] + "</div>";
  72. }
  73. };
  74. $("#moreTime").html(html_moreTime);
  75. }
  76. initHeader();
  77. window.moreTimeOnClick = function(e,index){
  78. $("#childTime [data-type][data-type!="+index+"]").hide();
  79. $("#childTime [data-type][data-type="+index+"]").show();
  80. $(e).parent().children().removeClass("bod");
  81. $(e).addClass("bod");
  82. }
  83. window.childTimeOnClick= function(e,timeValue){
  84. $("#childTime").children().children().removeClass("box");
  85. $(e).addClass("box");
  86. //获得选择的时间间隔
  87. initData(timeValue)
  88. }
  89. window.GetQueryString=function(name) {
  90. var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
  91. var r = window.location.search.substr(1).match(reg); //获取url中"?"符后的字符串并正则匹配
  92. var context = "";
  93. if (r != null)
  94. context = decodeURIComponent(r[2]);
  95. reg = null;
  96. r = null;
  97. return context == null || context == "" || context == "undefined" ? "" : context;
  98. }
  99. window.initData=function(timeValue){
  100. const id = GetQueryString('id')
  101. const startTime = timeToDate(new Date().getTime()-timeValue);//GetQueryString('startTime')
  102. const endTime = nowDate()
  103. const token = GetQueryString('token') //window.localStorage.getItem('C_TOKEN')
  104. var echartsData
  105. let chartParams = {
  106. id: id
  107. }
  108. $.ajax({
  109. url: "",
  110. type: 'GET',
  111. beforeSend: function(xhr) {
  112. this.url = baseUrl +
  113. `/chart/getChartById?id=${id}&startTime=${startTime}&endTime=${endTime}`
  114. xhr.setRequestHeader("Authorization", "Bearer " +
  115. token);
  116. xhr.setRequestHeader("token", token);
  117. },
  118. success: function(res) {
  119. if (res.code === 200) {
  120. $("#title").html(res.data.chartName)
  121. echartsData = res.data.chartItemList
  122. //console.log(echartsData)
  123. getServerData(echartsData)
  124. //getEmit(res,token)
  125. }
  126. }
  127. })
  128. }
  129. window.getServerData=function(echartsData) {
  130. //初始表格
  131. let cols = [
  132. {field: 'itemName',title:'点位',align:'left'},
  133. {field: 'itemValue', title: '最新值', align: 'left'},
  134. {field: 'itemAlert', title: '报警文本', align: 'left'},
  135. ];
  136. let dataList = [];
  137. for(let dataItem of echartsData){
  138. let data = {
  139. itemName : dataItem.describe!=null ? dataItem.describe:dataItem.itemReadName,
  140. itemValue: dataItem.valueList[0],
  141. itemAlert: dataItem.valueTimeList[0],
  142. };
  143. dataList.push(data)
  144. }
  145. table.render({
  146. elem: '#item-list-table',
  147. height: 350,
  148. cols: [cols],
  149. data: dataList
  150. })
  151. }
  152. //定时更新
  153. window.updateData = function(){
  154. setInterval(function(){
  155. initData(selTimeValue);
  156. },3000);
  157. }
  158. initData(selTimeValue);
  159. updateData();
  160. // document.addEventListener('UniAppJSBridgeReady', function() {
  161. // console.log('UniAppJSBridgeReady');
  162. // uni.getEnv(function(res) {
  163. // initData(selTimeValue);
  164. // })
  165. // })
  166. });
  167. </script>
  168. </body>
  169. </html>