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

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  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. _self.showPie("canvasPie", Pie);
  73. },
  74. showPie(canvasId, chartData) {
  75. canvaPie = new uCharts({
  76. $this: _self,
  77. canvasId: canvasId,
  78. type: 'pie',
  79. fontSize: 11,
  80. legend: {
  81. show: true,
  82. position: 'right',
  83. lineHeight: 20,
  84. },
  85. background: '#FFFFFF',
  86. pixelRatio: _self.pixelRatio,
  87. series: chartData.series,
  88. animation: true,
  89. width: _self.cWidth * _self.pixelRatio,
  90. height: _self.cHeight * _self.pixelRatio,
  91. dataLabel: false,
  92. extra: {
  93. pie: {
  94. lableWidth: 15
  95. }
  96. },
  97. });
  98. },
  99. touchPie(e) {
  100. canvaPie.showToolTip(e, {
  101. format: function(item) {
  102. return item.name + ' : ' + item.data + ' 吨'
  103. }
  104. });
  105. },
  106. }
  107. }
  108. </script>
  109. <style>
  110. </style>