dataItem-wv.html 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. <!DOCTYPE html>
  2. <html lang="zh">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>Document</title>
  7. </head>
  8. <body>
  9. <div id="main" style="width:100%;height:100%;margin:auto"></div>
  10. <script src="./echarts.min.js"></script>
  11. <script>
  12. function GetQueryString(name) {
  13. var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
  14. var r = window.location.search.substr(1).match(reg); //获取url中"?"符后的字符串并正则匹配
  15. var context = "";
  16. if (r != null)
  17. context = decodeURIComponent(r[2]);
  18. reg = null;
  19. r = null;
  20. return context == null || context == "" || context == "undefined" ? "" : context;
  21. }
  22. </script>
  23. <script>
  24. var option = {
  25. xAxis: {
  26. type: 'category',
  27. data: [],
  28. axisLabel: {
  29. formatter: function(value) {
  30. return value.substring(11, 19) + "\n" + value.substring(0, 10).split('-').join('')
  31. }
  32. }
  33. },
  34. yAxis: {
  35. type: 'value'
  36. },
  37. legend: {
  38. type: 'scroll',
  39. top: 0
  40. },
  41. tooltip: {
  42. trigger: 'axis',
  43. axisPointer: {
  44. type: 'cross',
  45. lineStyle: {
  46. type: 'dashed'
  47. },
  48. label: {
  49. show: false
  50. }
  51. },
  52. backgroundColor: 'rgba(255,255,255,0.1)', //通过设置rgba调节背景颜色与透明度
  53. position: 'inside',
  54. formatter: function(params) {
  55. let result = ''
  56. for (let i in params) {
  57. let value = '--'
  58. if (params[i].data !== null) {
  59. value = params[i].data
  60. }
  61. result += '<br>' + params[i].seriesName + ':' +
  62. value
  63. }
  64. return result
  65. }
  66. },
  67. dataZoom: [{
  68. type: 'inside',
  69. start: 90,
  70. end: 100
  71. },
  72. {
  73. type: 'slider',
  74. show: true,
  75. start: 90,
  76. end: 100,
  77. bottom: 10
  78. }
  79. ],
  80. series: []
  81. };
  82. </script>
  83. <script>
  84. document.addEventListener('UniAppJSBridgeReady', function() {
  85. uni.getEnv(function(res) {
  86. const id = GetQueryString('id')
  87. const startTime = GetQueryString('startTime')
  88. const endTime = GetQueryString('endTime')
  89. const valueType = GetQueryString('valueType')
  90. const itemName = GetQueryString('itemName')
  91. const token = window.localStorage.getItem('C_TOKEN')
  92. var service, serviceTime
  93. $.ajax({
  94. url: '',
  95. type: 'GET',
  96. beforeSend: function(xhr) {
  97. this.url =
  98. `http://192.168.0.40:8081/itemGroup/itemDataQuery?id=${id}&startTime=${startTime}&endTime=${endTime}&valueType=${valueType}`
  99. // this.url = window.location.origin +
  100. // `/itemGroup/itemDataQuery?id=${id}&startTime=${startTime}&endTime=${endTime}&valueType=${valueType}`
  101. xhr.setRequestHeader("Authorization", "Bearer " +
  102. token);
  103. xhr.setRequestHeader("token", token);
  104. },
  105. success: (res) => {
  106. console.log(res)
  107. if (res.code === 200) {
  108. const {
  109. valueList,
  110. valueTimeList
  111. } = res.data
  112. const service = [{
  113. name: itemName,
  114. data: valueList,
  115. type: 'line'
  116. }]
  117. option.xAxis.data = valueTimeList
  118. option.series = service
  119. var chart = echarts.init(document.getElementById('main'));
  120. var lastOption = chart.getOption();
  121. if (lastOption != undefined) {
  122. option.dataZoom[0].start = lastOption.dataZoom[0].start
  123. option.dataZoom[0].end = lastOption.dataZoom[0].end
  124. option.dataZoom[1].start = lastOption.dataZoom[1].start
  125. option.dataZoom[1].end = lastOption.dataZoom[1].end
  126. }
  127. console.log(option)
  128. chart.setOption(option)
  129. }
  130. }
  131. })
  132. })
  133. })
  134. </script>
  135. </body>
  136. </html>