index.js 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. let _Http = getApp().globalData.http,
  2. {
  3. formatTime
  4. } = require("../../../../../utils/getTime"),
  5. obj = {}
  6. Component({
  7. properties: {
  8. },
  9. lifetimes: {
  10. attached: function () {
  11. let date = formatTime().split(" ")[0].split("/");
  12. obj = {
  13. year: date[0],
  14. month: date[1],
  15. day: date[2],
  16. quarter: Math.ceil(date[1] / 3)
  17. };
  18. console.log(obj)
  19. this.getDetail()
  20. },
  21. },
  22. data: {
  23. },
  24. methods: {
  25. getDetail() {
  26. _Http.basic({
  27. "id": "20231018103203",
  28. "content": {
  29. date: Date.now()
  30. },
  31. }).then(res => {
  32. console.log("获取经销商统计", res)
  33. if (res.data.length == 0) return;
  34. let data = res.data[0],
  35. ar = [{
  36. fulfill: data.m1a + data.m2a + data.m3a,
  37. target: data.m3l + data.m3l + data.m3l,
  38. }, {
  39. fulfill: data.m4a + data.m5a + data.m6a,
  40. target: data.m4l + data.m5l + data.m6l,
  41. }, {
  42. fulfill: data.m7a + data.m8a + data.m9a,
  43. target: data.m7l + data.m8l + data.m9l,
  44. }, {
  45. fulfill: data.m10a + data.m11a + data.m12a,
  46. target: data.m10l + data.m11l + data.m12l,
  47. }].map(v => {
  48. v.achievingRate = (v.fulfill / v.target) * 100 + '%'
  49. return v
  50. });
  51. this.setData({
  52. areafullname: data.areafullname,
  53. statistics: [{
  54. label: "月度",
  55. fulfill: data[`m${obj.month}a`],
  56. target: data[`m${obj.month}l`],
  57. distance: Math.abs(data[`m${obj.month}a`] - data[`m${obj.month}l`]), //差额
  58. achievingRate: data[`m${obj.month}pl`] + "%", //达成
  59. color: "#FF9900"
  60. }, {
  61. label: "季度",
  62. ...ar[obj.quarter - 1],
  63. distance: Math.abs(ar[obj.quarter - 1].fulfill - ar[obj.quarter - 1].target), //差额
  64. color: "#2AB4A3"
  65. }, {
  66. fulfill: data.y1a,
  67. target: data.y1l,
  68. achievingRate: data.y1pl + '%',
  69. label: "年度",
  70. distance: Math.abs(data.y1a - data.y1l), //差额
  71. color: "#FF001F"
  72. }].map(v => {
  73. v.achievingRate = v.achievingRate.split("%")[0] - 0
  74. return v
  75. })
  76. })
  77. })
  78. }
  79. }
  80. })