task_rank.js 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200
  1. var app = getApp()
  2. var that;
  3. var typeArr = [];
  4. Page({
  5. data: {
  6. date: app.globalData.month,
  7. minuteIndex: 0,//条件选择
  8. minuteArray: [
  9. { id: 0, name: '总分' },
  10. { id: 1, name: '加班' },
  11. { id: 2, name: '迟到' },
  12. ],
  13. showDate: false,//是否显示时间组件
  14. selectDateVal: app.globalData.month,
  15. showSx: false,//显示sx选择
  16. sxVal: '筛选',
  17. showRuleTwo: false,//显示规则组件
  18. ruleVal: "规则分类",
  19. showTissue: false,//显示部门组件
  20. TissueVal: '全公司',
  21. sort: 'DESC',
  22. position: 'all',
  23. year: app.globalData.year,
  24. page: 1,
  25. dateIndex: '3',
  26. popupCx: '',
  27. pt_id: '3',
  28. types: [{id: '3', name: 'B分'},{ id: '2', name: 'A分' }],//积分分类
  29. typesIndex: '0',
  30. },
  31. onLoad() {
  32. that = this;
  33. dd.setNavigationBar({ title: "任务分" });
  34. },
  35. onShow() {
  36. this.getData();
  37. },
  38. getData(is) {
  39. var data = {
  40. pt_id: that.data.types.length > 0 ? that.data.types[that.data.typesIndex].id : '2',
  41. dept_id: that.data.dept_id,
  42. page: that.data.page,
  43. rule_id: that.data.rule_id,
  44. sort: that.data.sort,
  45. position: that.data.position,
  46. page_size: 20,
  47. source_type: '2',
  48. }
  49. if (that.data.dateIndex == '1') {
  50. data.year = that.data.year;
  51. } else if (that.data.dateIndex == '2') {
  52. data.quarter = that.data.quarter
  53. } else if (that.data.dateIndex == '4') {
  54. data.start_date = that.data.custom.start_date
  55. data.end_date = that.data.custom.end_date
  56. } else {
  57. data.month = that.data.month || app.globalData.month;
  58. }
  59. app.$get('api/integral/statistics/ranking', data, 'application/vnd.test.v2+json').then((res) => {
  60. var data = res.data.data.list;
  61. if (is) {
  62. if (data.length == 0) {
  63. this.setData({
  64. isData: true
  65. })
  66. return;
  67. }
  68. var list = that.data.list;
  69. this.setData({
  70. list: list.concat(data)
  71. })
  72. } else {
  73. this.setData({ list: [] });
  74. this.setData({
  75. list: data,
  76. isData: false
  77. })
  78. }
  79. })
  80. },
  81. //上啦加载
  82. onScrollToLower() {
  83. if (!that.data.isData) {
  84. this.setData({ page: ++that.data.page })
  85. this.getData(true);
  86. }
  87. },
  88. //选择积分分类
  89. bingIntegralType(e) {
  90. this.setData({
  91. typesIndex: e.detail.value,
  92. page: 1
  93. });
  94. this.getData();
  95. },
  96. //显示规则组件
  97. selectRule() {
  98. this.setData({
  99. popupCx: 'container__mask',
  100. showRuleTwo: true
  101. })
  102. },
  103. //显示选择时间组件
  104. selectDate() {
  105. this.setData({
  106. popupCx: 'container__mask',
  107. showDate: true
  108. })
  109. },
  110. //显示选择员工
  111. selectSx() {
  112. this.setData({
  113. popupCx: 'container__mask',
  114. showSx: true
  115. })
  116. },
  117. //选择时间
  118. onConfirmDate(data) {
  119. console.log(data)
  120. this.setData({
  121. dateObj: data,
  122. })
  123. if (data.type == '1') {
  124. this.setData({
  125. selectDateVal: data.date,
  126. year: data.date,
  127. dateIndex: data.type
  128. })
  129. } else if (data.type == '2') {
  130. let num=data.date.toString()
  131. let numArr=['一','二','三','四']
  132. this.setData({
  133. selectDateVal: num.slice(0,4)+'-'+ numArr[num[4]-1] + '季度',
  134. quarter: data.date,
  135. dateIndex: data.type
  136. })
  137. } else if (data.type == '4') {
  138. this.setData({
  139. selectDateVal: data.date.start_date + '--' + data.date.end_date,
  140. custom: data.date,
  141. dateIndex: data.type
  142. })
  143. } else {
  144. this.setData({
  145. selectDateVal: data.date,
  146. month: data.date,
  147. dateIndex: data.type
  148. })
  149. }
  150. this.setData({ page: 1 })
  151. this.getData();
  152. },
  153. returnNum(){
  154. },
  155. //关闭弹窗
  156. onClose() {
  157. this.setData({
  158. showDate: false,
  159. showSx: false,
  160. showRuleTwo: false,
  161. showTissue: false,
  162. popupCx: ''
  163. })
  164. },
  165. //选择筛选
  166. onConfirmSx(data) {
  167. console.log(data)
  168. this.setData({ sxObj: data, sort: data[1], position: data[0], pt_id: data[2], page: 1 })
  169. this.getData();
  170. },
  171. //选择规则
  172. onConfirmRule(data) {
  173. this.setData({
  174. rule_id: data.id ? data.id : '',
  175. page: 1,
  176. ruleVal: data.name
  177. })
  178. this.getData();
  179. },
  180. //显示部门选择组件
  181. selectTissue() {
  182. this.setData({ showTissue: !this.data.showTissue, popupCx: 'container__mask', })
  183. },
  184. //选择部门
  185. onConfirmTissue(data) {
  186. this.setData({ dept_id: data.id, page: 1, TissueVal: data.name })
  187. this.getData();
  188. },
  189. });