F2.ts 3.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. namespace hangyezhanbi {
  2. let { formmaterValueZhou } = require("../../../../utils/util")
  3. const chartCatch: antvChart = {
  4. toufangfenxiChart: undefined
  5. }
  6. module.exports = {
  7. upLine() {
  8. if (chartCatch.toufangfenxiChart === undefined) return
  9. let key = this.data.select[this.data.select_act].proportionType;
  10. let unit = this.data.select[this.data.select_act].unit;
  11. chartCatch.toufangfenxiChart.clear()
  12. const data = (this.data.DayList.hardMdata || []).map((v: any) => {
  13. v[key] = Number(v[key] || 0)
  14. v.industryId = v.industryId.toString()
  15. return v
  16. });
  17. if (chartCatch.toufangfenxiChart === undefined) return;
  18. chartCatch.toufangfenxiChart.source(data);
  19. chartCatch.toufangfenxiChart.coord('polar', {
  20. transposed: true,
  21. radius: 0.75
  22. });
  23. chartCatch.toufangfenxiChart.legend(false);
  24. chartCatch.toufangfenxiChart.axis(false);
  25. chartCatch.toufangfenxiChart.tooltip(false);
  26. // 添加饼图文本
  27. chartCatch.toufangfenxiChart.pieLabel({
  28. sidePadding: 10,
  29. label1: function label1(data: any, color: string) {
  30. return {
  31. text: data.midIndustryName,
  32. fill: color
  33. };
  34. },
  35. label2: function label2(data: any) {
  36. return {
  37. text: formmaterValueZhou(data[key]) + unit,
  38. fill: '#808080',
  39. fontWeight: 'bold'
  40. };
  41. }
  42. });
  43. chartCatch.toufangfenxiChart.interval()
  44. .position('industryId*' + key)
  45. .color('midIndustryName').adjust('stack');
  46. chartCatch.toufangfenxiChart.render();
  47. },
  48. line(F2: any, config: any) {
  49. if (chartCatch.toufangfenxiChart !== undefined) chartCatch.toufangfenxiChart.destroy(), chartCatch.toufangfenxiChart = undefined;
  50. let sys = wx.getSystemInfoSync();
  51. let key = this.data.select[this.data.select_act].proportionType;
  52. let unit = this.data.select[this.data.select_act].unit;
  53. config.height = sys.windowWidth / 16 * 9;
  54. chartCatch.toufangfenxiChart = new F2.Chart(config);
  55. const data = (this.data.DayList.hardMdata || []).map((v: any) => {
  56. v[key] = Number(v[key] || 0)
  57. v.industryId = v.industryId.toString()
  58. return v
  59. });
  60. if (chartCatch.toufangfenxiChart === undefined) return;
  61. chartCatch.toufangfenxiChart.source(data);
  62. chartCatch.toufangfenxiChart.coord('polar', {
  63. transposed: true,
  64. radius: 0.75
  65. });
  66. chartCatch.toufangfenxiChart.legend(false);
  67. chartCatch.toufangfenxiChart.axis(false);
  68. chartCatch.toufangfenxiChart.tooltip(false);
  69. // 添加饼图文本
  70. chartCatch.toufangfenxiChart.pieLabel({
  71. sidePadding: 10,
  72. label1: function label1(data: any, color: string) {
  73. return {
  74. text: data.midIndustryName,
  75. fill: color
  76. };
  77. },
  78. label2: function label2(data: any) {
  79. return {
  80. text: formmaterValueZhou(data[key]) + unit,
  81. fill: '#808080',
  82. fontWeight: 'bold'
  83. };
  84. }
  85. });
  86. chartCatch.toufangfenxiChart.interval()
  87. .position('industryId*' + key)
  88. .color('midIndustryName').adjust('stack');
  89. chartCatch.toufangfenxiChart.render();
  90. return chartCatch.toufangfenxiChart;
  91. },
  92. clearchart(){
  93. if (chartCatch.toufangfenxiChart !== undefined) chartCatch.toufangfenxiChart.destroy(), chartCatch.toufangfenxiChart = undefined;
  94. }
  95. };
  96. }