vxe-table.html 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189
  1. <!DOCTYPE html>
  2. <html>
  3. <meta charset="utf-8">
  4. <link rel="stylesheet" href="assets/libs/layui/css/layui.css"/>
  5. <head>
  6. <style>
  7. .layui-panel {
  8. height: 400px;
  9. }
  10. </style>
  11. </head>
  12. <body>
  13. <div class="layui-row" id="app">
  14. <div class="layui-col-xs6">
  15. <div class="grid-demo grid-demo-bg1">
  16. <div class="layui-panel">
  17. <button @click="reverseOption">bar</button>
  18. <v-chart autoresize :option="option"/>
  19. </div>
  20. </div>
  21. </div>
  22. <div class="layui-col-xs6">
  23. <div class="grid-demo">
  24. <div class="layui-panel">
  25. <v-chart autoresize :option="orgOptions"/>
  26. </div>
  27. </div>
  28. </div>
  29. <div class="layui-col-xs6">
  30. <div class="grid-demo grid-demo-bg1">
  31. <div class="layui-panel">
  32. <v-chart autoresize :option="option1"/>
  33. </div>
  34. </div>
  35. </div>
  36. <div class="layui-col-xs6">
  37. <div class="grid-demo">
  38. <var-row>
  39. <var-col :span="8">span: 8</var-col>
  40. <var-col :span="8">span: 8</var-col>
  41. <var-col :span="8">span: 8</var-col>
  42. <var-col :span="8">span: 8</var-col>
  43. <var-col :span="8">span: 8</var-col>
  44. <var-col :span="8">span: 8</var-col>
  45. </var-row>
  46. </div>
  47. </div>
  48. </div>
  49. <script src="https://cdn.jsdelivr.net/npm/vue@3.0.11"></script>
  50. <script src="https://cdn.jsdelivr.net/npm/echarts@5.0.2"></script>
  51. <script src="https://cdn.jsdelivr.net/npm/vue-echarts@6.0.0-rc.5"></script>
  52. <script src="https://cdn.jsdelivr.net/npm/@varlet/ui/umd/varlet.js"></script>
  53. <script src="assets/libs/echarts/plus/echarts-util.js"></script>
  54. <script>
  55. var data = {
  56. line: {
  57. title: {
  58. text: '折线图堆叠'
  59. },
  60. tooltip: {
  61. trigger: 'axis'
  62. },
  63. legend: {
  64. data: ['邮件营销', '联盟广告', '视频广告', '直接访问', '搜索引擎']
  65. },
  66. grid: {
  67. left: '3%',
  68. right: '4%',
  69. bottom: '3%',
  70. containLabel: true
  71. },
  72. toolbox: {
  73. feature: {
  74. saveAsImage: {}
  75. }
  76. },
  77. xAxis: {
  78. type: 'category',
  79. boundaryGap: false,
  80. data: ['周一', '周二', '周三', '周四', '周五', '周六', '周日']
  81. },
  82. yAxis: {
  83. type: 'value'
  84. },
  85. series: [
  86. {
  87. name: '邮件营销',
  88. type: 'line',
  89. stack: '总量',
  90. data: [120, 132, 101, 134, 90, 230, 210]
  91. },
  92. {
  93. name: '联盟广告',
  94. type: 'line',
  95. stack: '总量',
  96. data: [220, 182, 191, 234, 290, 330, 310]
  97. },
  98. {
  99. name: '视频广告',
  100. type: 'line',
  101. stack: '总量',
  102. data: [150, 232, 201, 154, 190, 330, 410]
  103. },
  104. {
  105. name: '直接访问',
  106. type: 'line',
  107. stack: '总量',
  108. data: [320, 332, 301, 334, 390, 330, 320]
  109. },
  110. {
  111. name: '搜索引擎',
  112. type: 'line',
  113. stack: '总量',
  114. data: [820, 932, 901, 934, 1290, 1330, 1320]
  115. }
  116. ]
  117. }, bar: {
  118. title: {
  119. text: 'ECharts 入门示例'
  120. },
  121. tooltip: {},
  122. legend: {
  123. data: ['销量']
  124. },
  125. xAxis: {
  126. data: ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
  127. },
  128. yAxis: {},
  129. series: [{
  130. name: '销量',
  131. type: 'bar',
  132. data: [5, 20, 36, 10, 10, 20]
  133. }]
  134. }, pie: {
  135. title: {
  136. text: '某站点用户访问来源',
  137. subtext: '纯属虚构',
  138. left: 'center'
  139. },
  140. tooltip: {
  141. trigger: 'item'
  142. },
  143. legend: {
  144. orient: 'vertical',
  145. left: 'left',
  146. },
  147. series: [
  148. {
  149. name: '访问来源',
  150. type: 'pie',
  151. radius: '50%',
  152. data: [
  153. {value: 1048, name: '搜索引擎'},
  154. {value: 735, name: '直接访问'},
  155. {value: 580, name: '邮件营销'},
  156. {value: 484, name: '联盟广告'},
  157. {value: 300, name: '视频广告'}
  158. ],
  159. emphasis: {
  160. itemStyle: {
  161. shadowBlur: 10,
  162. shadowOffsetX: 0,
  163. shadowColor: 'rgba(0, 0, 0, 0.5)'
  164. }
  165. }
  166. }
  167. ]
  168. }
  169. }
  170. const optionApp = {
  171. data() {
  172. return {
  173. option: data.bar,
  174. orgOptions: data.line,
  175. option1: data.pie
  176. }
  177. }, methods: {
  178. reverseOption() {
  179. this.option = data.bar
  180. this.orgOptions = data.line
  181. this.option1 = data.pie
  182. }
  183. }
  184. }
  185. Vue.createApp(optionApp).use(Varlet).component("v-chart", VueECharts).mount("#app");
  186. </script>
  187. </body>
  188. </html>