index.js 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. import {
  2. createElement
  3. } from '@antv/f2';
  4. import Chart from './chart';
  5. import {
  6. jsx as _jsx
  7. } from "@antv/f2/jsx-runtime";
  8. const _Http = getApp().globalData.http;
  9. Component({
  10. data: {
  11. onRenderChart: () => {},
  12. show: true,
  13. hidden: true
  14. },
  15. lifetimes: {
  16. attached: function () {
  17. // this.render()
  18. },
  19. },
  20. methods: {
  21. render() {
  22. console.log('render')
  23. _Http.basic({
  24. id: "20230729142603",
  25. "content": {
  26. "datatype": "订货额",
  27. date: Date.now()
  28. },
  29. }).then(res => {
  30. console.log("柱状图数据", res)
  31. if (res.msg != '成功' || res.data.length == 0) return;
  32. this.setData({
  33. hidden: false
  34. })
  35. let data = [];
  36. ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'].forEach(v => {
  37. let list2 = res.data.filter(s => s.month == v);
  38. let lastYear = list2[0].year > list2[1].year ? list2[1] : list2[0],
  39. thisYear = list2[0].year > list2[1].year ? list2[0] : list2[1];
  40. lastYear.name = 'London';
  41. thisYear.name = 'Berlin';
  42. data.push(lastYear)
  43. data.push(thisYear)
  44. })
  45. this.setData({
  46. onRenderChart: () => {
  47. return this.renderChart(data.map(v => {
  48. v.month = v.month
  49. return v
  50. }));
  51. }
  52. });
  53. setTimeout(() => {
  54. this.setData({
  55. show: false
  56. })
  57. setTimeout(() => {
  58. this.setData({
  59. show: true
  60. })
  61. }, 100);
  62. }, 100);
  63. })
  64. },
  65. renderChart(data) {
  66. return createElement(Chart, {
  67. data
  68. });
  69. },
  70. }
  71. })