workList.js 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187
  1. var app = getApp();
  2. var that;
  3. Page({
  4. data: {
  5. id: '',
  6. minuteIndex: 0,//条件选择
  7. minuteArray: [
  8. { value: 0, text: '全部' },
  9. { value: 1, text: '目标制定' },
  10. { value: 2, text: '目标确认' },
  11. { value: 3, text: '执行中' },
  12. { value: 4, text: '结果值录入' },
  13. { value: 5, text: '评分' },
  14. { value: 9, text: '审批' },
  15. { value: 11, text: '结束' }
  16. ],
  17. popupCx: '',
  18. showStaff: false,//显示员工选择
  19. staffVal: '全部员工',
  20. showTissue: false,//显示部门组件
  21. TissueVal: '全公司',
  22. employee_list: [{ id: 0, name: '全部员工' }],
  23. employee_index: 0,
  24. },
  25. onLoad(e) {
  26. that = this;
  27. this.setData({
  28. id: e.id,
  29. e:e,
  30. })
  31. dd.setNavigationBar({ title: e.tel });
  32. this.getInitData();
  33. this.getList();
  34. },
  35. getStr(type) {
  36. let is = '';
  37. switch (type) {
  38. case 1:
  39. is = '目标制定';
  40. break;
  41. case 2:
  42. is = '目标确认';
  43. break;
  44. case 3:
  45. is = '执行中';
  46. break;
  47. case 4:
  48. is = '结果值录入';
  49. break;
  50. case 5:
  51. is = '评分';
  52. break;
  53. case 9:
  54. is = '审批';
  55. break;
  56. case 11:
  57. is = '结束';
  58. break;
  59. }
  60. return is;
  61. },
  62. getInitData() {
  63. app.$get('api/per/package/info_v3_aid', { package_id: this.data.id }).then(res => {
  64. this.setData({
  65. employee_list:[{ id: 0, name: '全部员工' }]
  66. })
  67. let employee_list = this.data.employee_list;
  68. employee_list.push(...res.data.data.employees);
  69. this.setData({
  70. employee_list: employee_list
  71. })
  72. })
  73. },
  74. getList(is) {
  75. if (!is) { this.setData({ page: 1 }) };
  76. this.setData({ list: [] })
  77. let data = {
  78. package_id: this.data.id,
  79. doing_id: this.data.minuteArray[this.data.minuteIndex].value,
  80. page: this.data.page,
  81. page_size: 20,
  82. }
  83. if (this.data.dept_id) {
  84. data.dept_ids = JSON.stringify([this.data.dept_id]);
  85. }
  86. if (this.data.employee_index != 0) {
  87. data.employee_ids = JSON.stringify([this.data.employee_list[this.data.employee_index].id])
  88. }
  89. app.$get('api/per/package/info_v3', data).then((res) => {
  90. var list = res.data.data.list;
  91. list.forEach(item => {
  92. item.str=this.getStr(item.doing_id);
  93. if (item.employee_id&&app.globalData.usersList[item.employee_id]) {
  94. //当是导入导出时,显示登录者
  95. item.userInfo = app.globalData.usersList[item.employee_id];
  96. item.dept_list = app.globalData.usersList[item.employee_id].dept_list
  97. }
  98. });
  99. if (this.data.page !== 1) {
  100. list = this.data.list.concat(list);
  101. }
  102. this.setData({
  103. list: list,
  104. isData: list.length == res.data.data.total
  105. })
  106. })
  107. },
  108. openDetail(e){
  109. let item=e.target.dataset.item
  110. let str=`../performanceDetails/performanceDetails?assId=${this.data.id}&staffId=${item.employee_id}&tel=${this.data.e.tel}`
  111. dd.navigateTo({
  112. url: str
  113. })
  114. },
  115. activeItem(e) {
  116. console.log(e.detail.value)
  117. this.setData({ employee_index: e.detail.value, })
  118. this.getList();
  119. },
  120. activeItem2(e) {
  121. this.setData({ minuteIndex: e.detail.value, })
  122. this.getList();
  123. },
  124. //上啦加载
  125. onScrollToLower() {
  126. if (!that.data.isData) {
  127. this.setData({
  128. page: ++this.data.page
  129. })
  130. this.getList(true);
  131. }
  132. },
  133. //显示部门选择组件
  134. selectTissue() {
  135. this.setData({ showTissue: !this.data.showTissue, popupCx: 'container__mask', })
  136. },
  137. //选择部门
  138. onConfirmTissue(data) {
  139. console.log(data);
  140. this.setData({ dept_id: data.dept_id, TissueVal: data.name })
  141. this.getList();
  142. },
  143. //显示选择员工
  144. selectStaff() {
  145. this.setData({
  146. popupCx: 'container__mask',
  147. showStaff: true
  148. })
  149. },
  150. //关闭弹窗
  151. onClose() {
  152. this.setData({
  153. showTissue: false,
  154. showStaff: false,
  155. popupCx: '',
  156. rule_item_id: ''
  157. })
  158. },
  159. //选择员工
  160. onConfirmStaff(data) {
  161. if (!data) {
  162. this.setData({ staffVal: '全部员工', employee_ids: '', page: 1, rule_item_id: '' })
  163. this.getData();
  164. return false;
  165. }
  166. if (data.length > 0) {
  167. if (data.length > 1) {
  168. var str = "";
  169. var arr = [];
  170. data.forEach((item) => {
  171. str += item.name + ','
  172. arr.push(item.id);
  173. })
  174. var employee_ids = arr.join(',');
  175. this.setData({ staffVal: str.substring(0, str.length - 1), employee_ids: employee_ids, page: 1, rule_item_id: '' })
  176. } else {
  177. this.setData({ staffVal: data[0].name, employee_ids: [data[0].id], page: 1, rule_item_id: '' })
  178. }
  179. } else {
  180. this.setData({ staffVal: '全部员工', employee_ids: [], page: 1, rule_item_id: '' })
  181. }
  182. this.getData();
  183. },
  184. });