index.js 4.0 KB

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