index.js 4.3 KB

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