p-production-statistics-section-2.vue 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. <template>
  2. <view>
  3. <canvas canvas-id="canvasPie" id="canvasPie" @touchstart="touchPie" style="width: 700upx; height:700upx;"></canvas>
  4. </view>
  5. </template>
  6. <script>
  7. import uCharts from '@/components/u-charts/u-charts.js';
  8. var _self;
  9. var canvaPie=null;
  10. export default {
  11. data() {
  12. return {
  13. cWidth: '',
  14. cHeight: '',
  15. pixelRatio: 1,
  16. serverData: '',
  17. }
  18. },
  19. mounted() {
  20. _self = this;
  21. this.cWidth = uni.upx2px(700);
  22. this.cHeight = uni.upx2px(700);
  23. this.getServerData();
  24. },
  25. methods: {
  26. getServerData() {
  27. // let Pie = {
  28. // "series": [{
  29. // "name": "梅花井矿 0%",
  30. // "data": 0
  31. // }, {
  32. // "name": "枣泉矿 15.3%",
  33. // "data": 10493.3
  34. // }, {
  35. // "name": "红柳矿 11.21%",
  36. // "data": 7837
  37. // }, {
  38. // "name": "麦垛山矿 13.91%",
  39. // "data": 9711.1
  40. // }, {
  41. // "name": "金凤矿 5.27%",
  42. // "data": 3683.7
  43. // }, {
  44. // "name": "双马矿 4.29%",
  45. // "data": 2999.2
  46. // }, {
  47. // "name": "石槽村矿 7.35%",
  48. // "data": 5138.5
  49. // }, {
  50. // "name": "灵新矿 5.72%",
  51. // "data": 3994.7
  52. // }, {
  53. // "name": "任家庄矿 2.22%",
  54. // "data": 1556.5
  55. // }, {
  56. // "name": "红石湾矿 0%",
  57. // "data": 0
  58. // }, {
  59. // "name": "羊二矿 1.55%",
  60. // "data": 1085.6
  61. // }, {
  62. // "name": "羊一矿 28.79%",
  63. // "data": 20104
  64. // }, {
  65. // "name": "白芨沟井 4.59%",
  66. // "data": 3207.9
  67. // }, {
  68. // "name": "大峰矿 0%",
  69. // "data": 0
  70. // }]
  71. // };
  72. this.$p_api.coalmine_ratio({
  73. }).then((res)=>{
  74. console.log(res.data.data)
  75. let Pie = {
  76. "series": [{
  77. "name": "",
  78. "data": 0
  79. }]
  80. };
  81. res.data.data.forEach((item,index)=>{
  82. var sevm = {}
  83. sevm.name = item.name_s
  84. sevm.data = item.n1+item.n2+item.n3
  85. Pie.series[index] = sevm
  86. })
  87. console.log(Pie)
  88. _self.showPie("canvasPie", Pie);
  89. })
  90. },
  91. showPie(canvasId, chartData) {
  92. canvaPie = new uCharts({
  93. $this: _self,
  94. canvasId: canvasId,
  95. type: 'pie',
  96. fontSize: 11,
  97. legend: {
  98. show: true,
  99. position: 'bottom',
  100. lineHeight: 20,
  101. },
  102. background: '#FFFFFF',
  103. pixelRatio: _self.pixelRatio,
  104. series: chartData.series,
  105. animation: true,
  106. width: _self.cWidth * _self.pixelRatio,
  107. height: _self.cHeight * _self.pixelRatio,
  108. dataLabel: true,
  109. extra: {
  110. pie: {
  111. lableWidth: 15
  112. }
  113. },
  114. });
  115. },
  116. touchPie(e) {
  117. canvaPie.showToolTip(e, {
  118. format: function(item) {
  119. return item.name + ' : ' + item.data + ' 吨'
  120. }
  121. });
  122. },
  123. }
  124. }
  125. </script>
  126. <style>
  127. </style>