index.js 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170
  1. const _Http = getApp().globalData.http,
  2. {
  3. formatTime
  4. } = require("../../utils/getTime");
  5. let obj = {};
  6. Page({
  7. data: {
  8. },
  9. onLoad(options) {
  10. this.getDetail()
  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. },
  20. getDetail() {
  21. _Http.basic({
  22. "id": "20230110151902",
  23. "version": 1,
  24. "content": {
  25. "where": {
  26. "year": obj.year
  27. }
  28. }
  29. }).then(res => {
  30. console.log("业绩目标", res)
  31. if (res.msg != '成功') return wx.showToast({
  32. title: res.msg,
  33. icon: "none"
  34. })
  35. if (res.data.length == 0) {
  36. wx.showToast({
  37. title: '未查询到内容',
  38. icon: "none",
  39. mask: true
  40. });
  41. setTimeout(() => {
  42. wx.navigateBack()
  43. }, 1000)
  44. };
  45. //l基本 h挑战 a实际 pl基础目标实际完成率 ph挑战目标实际完成率
  46. let data = res.data[0];
  47. let ar = [{
  48. fulfill: data.m1a + data.m2a + data.m3a,
  49. target: data.m3l + data.m3l + data.m3l,
  50. }, {
  51. fulfill: data.m4a + data.m5a + data.m6a,
  52. target: data.m4l + data.m5l + data.m6l,
  53. }, {
  54. fulfill: data.m7a + data.m8a + data.m9a,
  55. target: data.m7l + data.m8l + data.m9l,
  56. }, {
  57. fulfill: data.m10a + data.m11a + data.m12a,
  58. target: data.m10l + data.m11l + data.m12l,
  59. }].map(v => {
  60. v.achievingRate = (v.fulfill / v.target) * 100 + '%'
  61. return v
  62. }),
  63. table = [{
  64. label: "年",
  65. fulfill: data.y1a,
  66. target: data.y1l,
  67. achievingRate: data.y1pl + '%'
  68. }, {
  69. label: "第一季度",
  70. ...ar[0]
  71. }, {
  72. label: "1月",
  73. fulfill: data.m1a,
  74. target: data.m1l,
  75. achievingRate: data.m1pl + '%'
  76. }, {
  77. label: "2月",
  78. fulfill: data.m2a,
  79. target: data.m2l,
  80. achievingRate: data.m2pl + '%'
  81. }, {
  82. label: "3月",
  83. fulfill: data.m3a,
  84. target: data.m3l,
  85. achievingRate: data.m3pl + '%'
  86. }, {
  87. label: "第二季度",
  88. ...ar[1]
  89. }, {
  90. label: "4月",
  91. fulfill: data.m4a,
  92. target: data.m4l,
  93. achievingRate: data.m4pl + '%'
  94. }, {
  95. label: "5月",
  96. fulfill: data.m5a,
  97. target: data.m5l,
  98. achievingRate: data.m5pl + '%'
  99. }, {
  100. label: "6月",
  101. fulfill: data.m6a,
  102. target: data.m6l,
  103. achievingRate: data.m6pl + '%'
  104. }, {
  105. label: "第三季度",
  106. ...ar[2]
  107. }, {
  108. label: "7月",
  109. fulfill: data.m7a,
  110. target: data.m7l,
  111. achievingRate: data.m7pl + '%'
  112. }, {
  113. label: "8月",
  114. fulfill: data.m8a,
  115. target: data.m8l,
  116. achievingRate: data.m8pl + '%'
  117. }, {
  118. label: "9月",
  119. fulfill: data.m9a,
  120. target: data.m9l,
  121. achievingRate: data.m9pl + '%'
  122. }, {
  123. label: "第四季度",
  124. ...ar[3]
  125. }, {
  126. label: "10月",
  127. fulfill: data.m10a,
  128. target: data.m10l,
  129. achievingRate: data.m10pl + '%'
  130. }, {
  131. label: "11月",
  132. fulfill: data.m11a,
  133. target: data.m11l,
  134. achievingRate: data.m11pl + '%'
  135. }, {
  136. label: "12月",
  137. fulfill: data.m12a,
  138. target: data.m12l,
  139. achievingRate: data.m12pl + '%'
  140. }],
  141. statistics = [{
  142. label: "月度",
  143. fulfill: data[`m${obj.month}a`],
  144. target: data[`m${obj.month}l`],
  145. distance: Math.abs(data[`m${obj.month}a`] - data[`m${obj.month}l`]), //差额
  146. achievingRate: data[`m${obj.month}pl`] + "%", //达成
  147. color: "#FF9900"
  148. }, {
  149. label: "季度",
  150. ...ar[obj.quarter - 1],
  151. distance: Math.abs(ar[obj.quarter - 1].fulfill - ar[obj.quarter - 1].target), //差额
  152. color: "#2AB4A3"
  153. }, {
  154. ...table[0],
  155. label: "年度",
  156. distance: Math.abs(data.y1a - data.y1l), //差额
  157. color: "#FF001F"
  158. }].map(v => {
  159. v.achievingRate = v.achievingRate.split("%")[0] - 0
  160. return v
  161. })
  162. this.setData({
  163. table,
  164. statistics
  165. })
  166. console.log(statistics)
  167. })
  168. }
  169. })