ring.vue 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. <template>
  2. <view class="charts-box">
  3. <qiun-data-charts type="ring" :opts="opts" :chartData="chartData" />
  4. </view>
  5. </template>
  6. <script>
  7. export default {
  8. data() {
  9. return {
  10. chartData: {},
  11. //您可以通过修改 config-ucharts.js 文件中下标为 ['ring'] 的节点来配置全局默认参数,如都是默认参数,此处可以不传 opts 。实际应用过程中 opts 只需传入与全局默认参数中不一致的【某一个属性】即可实现同类型的图表显示不同的样式,达到页面简洁的需求。
  12. opts: {
  13. rotate: false,
  14. rotateLock: false,
  15. color: ["#14B1FC", "#F5BC0A", "#FAC858", "#EE6666", "#73C0DE", "#3CA272", "#FC8452", "#9A60B4",
  16. "#ea7ccc"
  17. ],
  18. padding: [5, 5, 5, 5],
  19. dataLabel: true,
  20. enableScroll: false,
  21. dataLabel: false,
  22. legend: {
  23. show: false
  24. },
  25. title: {
  26. name: "",
  27. fontSize: 15,
  28. color: "#666666",
  29. offsetX: 0,
  30. offsetY: 0
  31. },
  32. subtitle: {
  33. name: "",
  34. fontSize: 20,
  35. color: "#7cb5ec",
  36. offsetX: 0,
  37. offsetY: 0
  38. },
  39. extra: {
  40. ring: {
  41. ringWidth: 12,
  42. activeOpacity: 0.5,
  43. activeRadius: 10,
  44. offsetAngle: 0,
  45. labelWidth: 15,
  46. border: true,
  47. borderWidth: 3,
  48. borderColor: "#031F42",
  49. centerColor: "#031F42",
  50. customRadius: 0,
  51. linearType: "none"
  52. }
  53. }
  54. }
  55. };
  56. },
  57. mounted() {
  58. this.getServerData();
  59. },
  60. methods: {
  61. getServerData() {
  62. //模拟从服务器获取数据时的延时
  63. setTimeout(() => {
  64. //模拟服务器返回数据,如果数据格式和标准格式不同,需自行按下面的格式拼接
  65. let res = {
  66. series: [{
  67. data: [{
  68. "name": "一班",
  69. "value": 50
  70. }, {
  71. "name": "二班",
  72. "value": 30
  73. }]
  74. }]
  75. };
  76. this.chartData = JSON.parse(JSON.stringify(res));
  77. }, 500);
  78. },
  79. }
  80. };
  81. </script>
  82. <style scoped>
  83. /* 请根据实际需求修改父元素尺寸,组件自动识别宽高 */
  84. .charts-box {
  85. width: 280rpx;
  86. height: 280rpx;
  87. }
  88. </style>