index.js 2.8 KB

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