integralEventTwo.js 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193
  1. var app = getApp()
  2. var that;
  3. var typeArr = [];
  4. Page({
  5. data: {
  6. date: app.globalData.month,
  7. typesIndex: 0,//条件选择
  8. types: [
  9. { id: 0, name: '全部' },
  10. { id: 1, name: '积分奖扣' },
  11. { id: 2, name: '任务' },
  12. { id: 3, name: '积分系统分配' },
  13. { id: 4, name: '考勤系统分配' },
  14. { id: 5, name: '积分申请' },
  15. { id: 8, name: '积分导入' },
  16. { id: 9, name: 'A分转B分' },
  17. { id: 10, name: '钉钉汇报(日志)奖扣分' }
  18. ],
  19. showStaff: false,//显示员工选择
  20. staffVal: '员工',
  21. page: 1,
  22. popupCx: '',
  23. },
  24. onLoad(e) {
  25. that = this;
  26. typeArr = [{ id: 0, name: '全部' }];
  27. dd.setNavigationBar({ title: "积分事件" });
  28. if (e.month && e.id) {
  29. this.setData({
  30. date: e.month ? e.month : app.globalData.month,
  31. recorder_id: e.id
  32. })
  33. }
  34. this.getDataAccess();
  35. },
  36. onShow() {
  37. if (that.data.page == 1) {
  38. that.getData();
  39. }
  40. },
  41. getData(is) {
  42. var data = {
  43. page: that.data.page,
  44. page_size: 20,
  45. month: that.data.dateObj || that.data.date,
  46. recorder_id: that.data.recorder_id,
  47. employee_ids: that.data.employee_ids,
  48. pt_id:3,
  49. dc_status:JSON.stringify([1]),
  50. order_key:'update_time'
  51. }
  52. if (that.data.typesIndex != 0) {
  53. data.source_type = that.data.types.length > 0 ? that.data.types[that.data.typesIndex].id : ''
  54. }
  55. app.$get('api/integral/statistics/integral', data).then((res) => {
  56. var data = res.data.data.list;
  57. data.map((item) => {
  58. item.ptObj = app.getTypesItem(item.pt_id);
  59. })
  60. if (is) {
  61. if (data.length == 0) {
  62. this.setData({
  63. isData: true
  64. })
  65. return;
  66. }
  67. var list = that.data.list;
  68. this.setData({
  69. list: list.concat(data)
  70. })
  71. } else {
  72. this.setData({ list: [] });
  73. this.setData({
  74. list: data,
  75. isData: false
  76. })
  77. }
  78. })
  79. },
  80. // 获取数据范围权限
  81. getDataAccess() {
  82. app.$get('/api/integral/statistics/range_level').then(res => {
  83. let resData = res.data.data;
  84. if (resData == 1) {
  85. this.setData({ str: '仅查看自己的数据' })
  86. } else if (resData == 2) {
  87. this.setData({ str: '查看自己以及管理范围内用户的数据' })
  88. } else {
  89. this.setData({ str: '查看全员数据' })
  90. }
  91. })
  92. },
  93. //上啦加载
  94. onScrollToLower() {
  95. if (!that.data.isData) {
  96. this.setData({ page: ++that.data.page })
  97. this.getData(true);
  98. }
  99. },
  100. //打开兴趣
  101. openDetail(e) {
  102. var item = e.target.dataset.item;
  103. dd.navigateTo({
  104. url: '../prizeBuckleDetail/prizeBuckleDetail?id=' + item.id
  105. })
  106. },
  107. //显示规则组件
  108. selectRule() {
  109. this.setData({
  110. popupCx: 'container__mask',
  111. showRuleTwo: true
  112. })
  113. },
  114. //显示选择时间组件
  115. selectDate() {
  116. this.setData({
  117. popupCx: 'container__mask',
  118. showDate: true
  119. })
  120. },
  121. //显示选择员工
  122. selectStaff() {
  123. this.setData({
  124. popupCx: 'container__mask',
  125. showStaff: true
  126. })
  127. },
  128. //选择时间
  129. onConfirmDate(data) {
  130. that.setData({
  131. defaultDate: data,
  132. dateObj: data.date,
  133. date_type: data.type == 1 ? 3 : data.type,
  134. page: 1,
  135. selectDateVal: data.type == 1 ? (data.date == that.data.date ? '本月' : '月') : '日',
  136. })
  137. this.getData();
  138. },
  139. //关闭弹窗
  140. onClose() {
  141. this.setData({
  142. showDate: false,
  143. showStaff: false,
  144. showRuleTwo: false,
  145. popupCx: '',
  146. })
  147. },
  148. //选择事件来源
  149. bingIntegralType(e) {
  150. this.setData({
  151. typesIndex: e.detail.value,
  152. page: 1,
  153. });
  154. this.getData();
  155. },
  156. //选择员工
  157. onConfirmStaff(data) {
  158. if (!data) {
  159. this.setData({ staffVal: '员工', employee_ids: '', page: 1 })
  160. this.getData();
  161. return false;
  162. }
  163. if (data.length > 0) {
  164. if (data.length > 1) {
  165. var str = "";
  166. var arr = [];
  167. data.forEach((item) => {
  168. str += item.name + ','
  169. arr.push(item.id);
  170. })
  171. var employee_ids = arr.join(',');
  172. this.setData({ staffVal: str.substring(0, str.length - 1), employee_ids: employee_ids, page: 1, })
  173. } else {
  174. this.setData({ staffVal: data[0].name, employee_ids: [data[0].id], page: 1, })
  175. }
  176. } else {
  177. this.setData({ staffVal: '员工', employee_ids: [], page: 1, })
  178. }
  179. this.getData();
  180. },
  181. //选择规则
  182. onConfirmRule(e) {
  183. this.setData({
  184. rule_id: e.id ? e.id : '',
  185. page: 1,
  186. ruleVal: e.name,
  187. })
  188. this.getData();
  189. },
  190. });