integralEventTwo.js 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233
  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. onUnload() {
  42. // 页面被关闭
  43. app.globalData.socketApi.closewebsocket();
  44. },
  45. opneWebSocket(data, is) {
  46. app.globalData.socketApi.sendData(data, (res) => {
  47. if (res.code == 1&&res.type=='esi') {
  48. console.log(res.result)
  49. var data = res.result.list;
  50. data.map((item) => {
  51. item.ptObj = app.getTypesItem(item.pt_id);
  52. })
  53. if (is) {
  54. if (data.length == 0) {
  55. this.setData({
  56. isData: true
  57. })
  58. return;
  59. }
  60. var list = that.data.list;
  61. this.setData({
  62. list: list.concat(data)
  63. })
  64. } else {
  65. this.setData({ list: [] });
  66. this.setData({
  67. list: data,
  68. isData: false
  69. })
  70. }
  71. }
  72. }, true);
  73. },
  74. getData(is) {
  75. var data = {
  76. type: "esi",
  77. page: that.data.page,
  78. page_size: 20,
  79. month: that.data.dateObj || that.data.date,
  80. recorder_id: that.data.recorder_id,
  81. // employee_id: that.data.employee_ids,
  82. pt_id:3,
  83. dc_status:JSON.stringify([1]),
  84. order_key:'update_time'
  85. }
  86. if (that.data.typesIndex != 0) {
  87. data.source_type = that.data.types.length > 0 ? that.data.types[that.data.typesIndex].id : ''
  88. }
  89. if(that.data.employee_ids){
  90. data.employee_id=that.data.employee_ids;
  91. }
  92. this.opneWebSocket(data, is);
  93. return false;
  94. app.$get('api/integral/statistics/integral', data).then((res) => {
  95. var data = res.data.data.list;
  96. data.map((item) => {
  97. item.ptObj = app.getTypesItem(item.pt_id);
  98. })
  99. if (is) {
  100. if (data.length == 0) {
  101. this.setData({
  102. isData: true
  103. })
  104. return;
  105. }
  106. var list = that.data.list;
  107. this.setData({
  108. list: list.concat(data)
  109. })
  110. } else {
  111. this.setData({ list: [] });
  112. this.setData({
  113. list: data,
  114. isData: false
  115. })
  116. }
  117. })
  118. },
  119. // 获取数据范围权限
  120. getDataAccess() {
  121. app.$get('/api/integral/statistics/range_level').then(res => {
  122. let resData = res.data.data;
  123. if (resData == 1) {
  124. this.setData({ str: '仅查看自己的数据' })
  125. } else if (resData == 2) {
  126. this.setData({ str: '查看自己以及管理范围内用户的数据' })
  127. } else {
  128. this.setData({ str: '查看全员数据' })
  129. }
  130. })
  131. },
  132. //上啦加载
  133. onScrollToLower() {
  134. if (!that.data.isData) {
  135. this.setData({ page: ++that.data.page })
  136. this.getData(true);
  137. }
  138. },
  139. //打开兴趣
  140. openDetail(e) {
  141. var item = e.target.dataset.item;
  142. dd.navigateTo({
  143. url: '../prizeBuckleDetail/prizeBuckleDetail?id=' + item.id
  144. })
  145. },
  146. //显示规则组件
  147. selectRule() {
  148. this.setData({
  149. popupCx: 'container__mask',
  150. showRuleTwo: true
  151. })
  152. },
  153. //显示选择时间组件
  154. selectDate() {
  155. this.setData({
  156. popupCx: 'container__mask',
  157. showDate: true
  158. })
  159. },
  160. //显示选择员工
  161. selectStaff() {
  162. this.setData({
  163. popupCx: 'container__mask',
  164. showStaff: true
  165. })
  166. },
  167. //选择时间
  168. onConfirmDate(data) {
  169. that.setData({
  170. defaultDate: data,
  171. dateObj: data.date,
  172. date_type: data.type == 1 ? 3 : data.type,
  173. page: 1,
  174. selectDateVal: data.type == 1 ? (data.date == that.data.date ? '本月' : '月') : '日',
  175. })
  176. this.getData();
  177. },
  178. //关闭弹窗
  179. onClose() {
  180. this.setData({
  181. showDate: false,
  182. showStaff: false,
  183. showRuleTwo: false,
  184. popupCx: '',
  185. })
  186. },
  187. //选择事件来源
  188. bingIntegralType(e) {
  189. this.setData({
  190. typesIndex: e.detail.value,
  191. page: 1,
  192. });
  193. this.getData();
  194. },
  195. //选择员工
  196. onConfirmStaff(data) {
  197. if (!data) {
  198. this.setData({ staffVal: '员工', employee_ids: '', page: 1 })
  199. this.getData();
  200. return false;
  201. }
  202. if (data.length > 0) {
  203. if (data.length > 1) {
  204. var str = "";
  205. var arr = [];
  206. data.forEach((item) => {
  207. str += item.name + ','
  208. arr.push(item.id);
  209. })
  210. var employee_ids = arr.join(',');
  211. this.setData({ staffVal: str.substring(0, str.length - 1), employee_ids: employee_ids, page: 1, })
  212. } else {
  213. this.setData({ staffVal: data[0].name, employee_ids: data[0].id.toString(), page: 1, })
  214. }
  215. } else {
  216. this.setData({ staffVal: '员工', employee_ids: '', page: 1, })
  217. }
  218. this.getData();
  219. },
  220. //选择规则
  221. onConfirmRule(e) {
  222. this.setData({
  223. rule_id: e.id ? e.id : '',
  224. page: 1,
  225. ruleVal: e.name,
  226. })
  227. this.getData();
  228. },
  229. });