glz_execute.js 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257
  1. var app = getApp()
  2. var that;
  3. Page({
  4. data: {
  5. month: app.globalData.month,
  6. activeIndex: 0,
  7. array: [{ name: '奖分次数最多', value: 1 }, { name: '扣分次数最多', value: 0 }],
  8. showTissue: false,
  9. page: 1,
  10. page2: 1,
  11. tissueValName: '全公司',
  12. popupCx: '',
  13. dataIndex: 1,
  14. listTwo: [],
  15. list: [],
  16. isAllChecked: false,
  17. },
  18. onLoad() {
  19. that = this;
  20. dd.setNavigationBar({ title: "管理者奖扣执行情况" });
  21. // this.getData();
  22. this.getData2();
  23. },
  24. onUnload() {
  25. // 页面被关闭
  26. app.globalData.socketApi.closewebsocket();
  27. },
  28. showText() {
  29. dd.alert({
  30. title: '温馨提示',
  31. content: '管理者奖扣任务均为B分,对A分不做要求',
  32. buttonText: '我知道了',
  33. success: (result) => {
  34. },
  35. });
  36. },
  37. ruleActiveAll(e) {
  38. this.setData({
  39. isAllChecked: e.detail.value,
  40. page2: 1,
  41. })
  42. this.getData2();
  43. },
  44. activeItem(e) {
  45. var index = e.target.dataset.index;
  46. this.setData({ dataIndex: index, page2: 1, page: 1, list: [], listTwo: [] })
  47. index == 1 ? this.getData2() : this.getData()
  48. },
  49. sotrs(str) {
  50. return function (a, b) {
  51. var val = a[str];
  52. var val2 = b[str];
  53. return val2 - val
  54. }
  55. },
  56. opneWebSocket(data, is) {
  57. app.globalData.socketApi.sendData(data, (res) => {
  58. if (res.code == 1&&res.type=='es') {
  59. var data = res.result.list || [];
  60. if (is) {
  61. if (data.length == 0) {
  62. this.setData({
  63. isData2: true
  64. })
  65. return;
  66. }
  67. var listTwo = that.data.listTwo;
  68. this.setData({
  69. listTwo: listTwo.concat(data)
  70. })
  71. } else {
  72. this.setData({ listTwo: [] });
  73. this.setData({
  74. listTwo: data,
  75. isData2: false
  76. })
  77. }
  78. }
  79. if (res.code == 1&&res.type=='es_avg') {
  80. var data = res.result.list || [];
  81. if (that.data.activeIndex == 0) {
  82. data.sort(that.sotrs('reward_count'));
  83. } else {
  84. data.sort(that.sotrs('deduct_count'));
  85. }
  86. if (is) {
  87. if (data.length == 0) {
  88. this.setData({
  89. isData: true
  90. })
  91. return;
  92. }
  93. var list = that.data.list;
  94. this.setData({
  95. list: list.concat(data)
  96. })
  97. } else {
  98. this.setData({ list: [] });
  99. this.setData({
  100. list: data,
  101. isData: false
  102. })
  103. }
  104. }
  105. }, true);
  106. },
  107. getData2(is) {
  108. var data;
  109. data = {
  110. type: "es",
  111. page: that.data.page2,
  112. page_size: 20,
  113. employee_id: app.globalData.userData.id,
  114. month: that.data.month,
  115. dept_id: that.data.tissueVal||0,
  116. complete: that.data.isAllChecked ? 1 : 0,
  117. }
  118. this.opneWebSocket(data, is);
  119. return false;
  120. app.$get('api/integral/statistics/prize/list', data, 'application/vnd.test.v4+json').then((res) => {
  121. var data = res.data.data.list || [];
  122. if (is) {
  123. if (data.length == 0) {
  124. this.setData({
  125. isData2: true
  126. })
  127. return;
  128. }
  129. var listTwo = that.data.listTwo;
  130. this.setData({
  131. listTwo: listTwo.concat(data)
  132. })
  133. } else {
  134. this.setData({ listTwo: [] });
  135. this.setData({
  136. listTwo: data,
  137. isData2: false
  138. })
  139. }
  140. })
  141. },
  142. getData(is) {
  143. var data;
  144. data = {
  145. type: "es_avg",
  146. page: that.data.page,
  147. page_size: 20,
  148. employee_id:app.globalData.userData.id,
  149. month: that.data.month,
  150. dept_id: that.data.tissueVal||0,
  151. }
  152. this.opneWebSocket(data, is);
  153. return false;
  154. app.$get('api/integral/statistics/prize/list', data, 'application/vnd.test.v3+json').then((res) => {
  155. var data = res.data.data.list || [];
  156. if (that.data.activeIndex == 0) {
  157. data.sort(that.sotrs('reward_count'));
  158. } else {
  159. data.sort(that.sotrs('deduct_count'));
  160. }
  161. if (is) {
  162. if (data.length == 0) {
  163. this.setData({
  164. isData: true
  165. })
  166. return;
  167. }
  168. var list = that.data.list;
  169. this.setData({
  170. list: list.concat(data)
  171. })
  172. } else {
  173. this.setData({ list: [] });
  174. this.setData({
  175. list: data,
  176. isData: false
  177. })
  178. }
  179. })
  180. },
  181. //上啦加载
  182. onScrollToLower() {
  183. if (!that.data.isData) {
  184. this.setData({ page: ++that.data.page })
  185. this.getData(true);
  186. }
  187. },
  188. onScrollToLower2() {
  189. if (!that.data.isData2) {
  190. this.setData({ page2: ++that.data.page2 })
  191. this.getData2(true);
  192. }
  193. },
  194. openDetail(e) {
  195. var item = e.target.dataset.item;
  196. dd.navigateTo({
  197. url: '../../workbench/prize_buckle/prize_buckle?id=' + item.id + '&month=' + that.data.month
  198. })
  199. },
  200. // showPicker(){
  201. // this.setData({
  202. // showPicker: true
  203. // });
  204. // },
  205. bindPickerChange(e) {
  206. var list = that.data.list;
  207. if (e.detail.value == 0) {
  208. list.sort(that.sotrs('reward_count'));
  209. } else {
  210. list.sort(that.sotrs('deduct_count'));
  211. }
  212. this.setData({
  213. activeIndex: e.detail.value,
  214. list: list,
  215. showPicker: false
  216. });
  217. },
  218. openDate() {
  219. this.setData({ showDate: true })
  220. dd.datePicker({
  221. format: 'yyyy-MM',
  222. currentDate: this.data.month,
  223. success: (res) => {
  224. if (res.date) {
  225. this.setData({
  226. month: res.date,
  227. page: 1,
  228. page2: 1
  229. })
  230. that.data.dataIndex == 1 ? that.getData2() : that.getData()
  231. }
  232. },
  233. complete: (res) => {
  234. that.setData({
  235. showDate: false,
  236. popupCx: 'container__mask'
  237. })
  238. }
  239. });
  240. },
  241. //显示部门选择组件
  242. selectTissue(item) {
  243. this.setData({ showTissue: !this.data.showTissue, popupCx: 'container__mask' })
  244. },
  245. //关闭弹窗
  246. onClose() {
  247. this.setData({ showDate: false, showTissue: false, popupCx: '' })
  248. },
  249. //选择部门
  250. onConfirmTissue(data) {
  251. this.setData({ tissueValName: data.name, tissueVal: data.id, page: 1, page2: 1 });
  252. this.data.dataIndex == 1 ? this.getData2() : this.getData()
  253. },
  254. });