participation.js 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193
  1. var app = getApp();
  2. var that;
  3. var animation;
  4. import { returnStr,setCache,getCache,_debounce } from '../../../utils/util'
  5. Page({
  6. data: {
  7. tabIndex: 1,//条件选择
  8. list: [],
  9. minuteIndex: 0,//条件选择
  10. minuteArray: [
  11. { value: 0, name: '全部' },
  12. { value: 1, name: '我的团队' },
  13. { value: 2, name: '我协助的' },
  14. ],
  15. selectGlData: {}, // 当前选中项
  16. keyword: '',
  17. page: 1,
  18. defaultRuleId: '',
  19. isData: false,
  20. },
  21. onLoad() {
  22. that = this;
  23. dd.setNavigationBar({ title: "我参与的" });
  24. this.getRange();
  25. },
  26. onShow() {
  27. animation = dd.createAnimation({
  28. duration: 200,
  29. timeFunction: "linear",
  30. });
  31. if(this.data.page==1&&this.data.defaultRuleId){
  32. this.data.tabIndex==1 ? this.getManagement():this.getScorerRecord()
  33. }
  34. },
  35. openDetail(e) {
  36. let item=e.target.dataset.item
  37. dd.navigateTo({
  38. url: `../performanceDetails/performanceDetails?id=${item.record_id}&tel=${item.package_name}`
  39. })
  40. },
  41. //选择弹窗
  42. openSelect(e) {
  43. animation.translateY(0).step();
  44. that.setData({
  45. isShowType: true,
  46. animationInfo: animation.export(),
  47. popupCx: 'container__mask',
  48. });
  49. },
  50. //关闭规则
  51. onClose() {
  52. animation.translateY(1200).step();
  53. that.setData({
  54. isShowType: false,
  55. animationInfo: animation.export(),
  56. popupCx: '',
  57. });
  58. },
  59. onSelectItem(e) {
  60. that.setData({
  61. defaultRuleId: e.id,
  62. jxName: e.name,
  63. });
  64. if (that.data.tabIndex == 1) {
  65. this.getManagement();
  66. } else {
  67. this.getScorerRecord();
  68. }
  69. },
  70. onScrollToLower() {
  71. if (!that.data.isData) {
  72. this.setData({ page: ++that.data.page })
  73. if (that.data.tabIndex == 1) {
  74. this.getManagement(true);
  75. } else {
  76. this.getScorerRecord(true);
  77. }
  78. }
  79. },
  80. //管理记录列表
  81. getManagement(e) {
  82. if (!e) {
  83. this.setData({ page: 1 })
  84. }
  85. if (!this.data.defaultRuleId) {
  86. return false
  87. }
  88. let range = this.data.minuteArray[this.data.minuteIndex].value;
  89. this.setData({ list: [] })
  90. app.$get('api/per/package/management_record', { package_id: this.data.defaultRuleId, range: range, name: this.data.keyword, page: this.data.page, page_size: 20 }).then(res => {
  91. let list = res.data.data.list;
  92. list.forEach(item => {
  93. item.returnStr = returnStr(item.action_update)
  94. if (item.employee_id&&app.globalData.usersList[item.employee_id]) {
  95. //当是导入导出时,显示登录者
  96. item.userInfo = app.globalData.usersList[item.employee_id];
  97. item.dept_list = app.globalData.usersList[item.employee_id].dept_list
  98. }
  99. });
  100. if (this.data.page !== 1) {
  101. list = this.data.list.concat(list);
  102. }
  103. this.setData({
  104. list: list,
  105. isData: list.length == res.data.data.total
  106. })
  107. })
  108. },
  109. //我评分的
  110. getScorerRecord(e) {
  111. if (!e) {
  112. this.setData({ page: 1 })
  113. }
  114. this.setData({ list: [] })
  115. let range = this.data.minuteArray[this.data.minuteIndex].value;
  116. app.$get('api/per/package/score_record', { package_id: this.data.defaultRuleId, range: range, name: this.data.keyword, page: this.data.page, page_size: 20 }).then(res => {
  117. let list = res.data.data.list;
  118. list.forEach(item => {
  119. item.returnStr = returnStr(item.action_update)
  120. if (item.employee_id&&app.globalData.usersList[item.employee_id]) {
  121. //当是导入导出时,显示登录者
  122. item.userInfo = app.globalData.usersList[item.employee_id];
  123. item.dept_list = app.globalData.usersList[item.employee_id].dept_list
  124. }
  125. });
  126. if (this.data.page !== 1) {
  127. list = this.data.list.concat(list);
  128. }
  129. this.setData({
  130. list: list,
  131. isData: list.length == res.data.data.total
  132. })
  133. })
  134. },
  135. onReset() {
  136. this.setData({
  137. isVal: false,
  138. keyword: ''
  139. })
  140. if (that.data.tabIndex == 1) {
  141. this.getManagement();
  142. } else {
  143. this.getScorerRecord();
  144. }
  145. },
  146. bindKeyInput:_debounce(function(e){
  147. this.setData({
  148. isVal: e.detail.value ? true : false,
  149. keyword: e.detail.value ? e.detail.value : '',
  150. })
  151. if (that.data.tabIndex == 1) {
  152. this.getManagement();
  153. } else {
  154. this.getScorerRecord();
  155. }
  156. }),
  157. activeItem(e) {
  158. this.setData({ minuteIndex: e.detail.value, })
  159. if (that.data.tabIndex == 1) {
  160. this.getManagement();
  161. } else {
  162. this.getScorerRecord();
  163. }
  164. },
  165. tabAction(e) {
  166. let index = e.target.dataset.index
  167. this.setData({
  168. tabIndex: index
  169. })
  170. if (that.data.tabIndex == 1) {
  171. this.getManagement();
  172. } else {
  173. this.getScorerRecord();
  174. }
  175. },
  176. getRange() {
  177. app.$get("api/per/package/tree").then((res) => {
  178. var list = res.data.data
  179. let obj;
  180. list.some(item => {
  181. if (item.list.length > 0) {
  182. obj = item.list
  183. return true;
  184. }
  185. });
  186. that.setData({
  187. defaultRuleId:obj? obj[0].id:'',
  188. jxName:obj? obj[0].name:'',
  189. })
  190. this.getManagement();
  191. })
  192. },
  193. });