statementDetails.js 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161
  1. var app = getApp();
  2. var that;
  3. import { _debounce, getCache } from '../../../utils/util'
  4. Page({
  5. data: {
  6. smdsins: 0,
  7. page: 1,
  8. smdsHead: [
  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: 9, name: '审批' },
  16. { id: 11, name: '考核结束' }
  17. ],
  18. employee_list: [],
  19. list: [],
  20. selectUser: []
  21. },
  22. onLoad() {
  23. that = this;
  24. let obj = getCache('statementDetails')
  25. if (obj.paths == 'statdeEcharts') {
  26. dd.setNavigationBar({ title: '考核人数列表' });
  27. this.setData({
  28. id: obj.asslist.id,
  29. moduleshow:false,
  30. itemparams:{
  31. name:obj.dept_o.name,
  32. val:obj.dept_o.tak
  33. },
  34. dept_ids:JSON.stringify(obj.dept_o.id),
  35. nowAssList:obj.asslist,
  36. })
  37. } else if (obj.paths == 'personnelDetail') {
  38. dd.setNavigationBar({ title: '人员明细' });
  39. this.setData({
  40. id: obj.asslist.id,
  41. moduleshow:true,
  42. smdsins:obj.index||0,
  43. nowAssList:obj.asslist,
  44. })
  45. }
  46. },
  47. onShow(){
  48. this.getInitData();
  49. this.getList();
  50. },
  51. bindKeyInput: _debounce(function (e) { //防抖
  52. let value = e.detail.value
  53. let arr = []
  54. if (value == '') {
  55. arr = []
  56. } else {
  57. this.data.employee_list.forEach(item => {
  58. if (item.name.indexOf(value) != -1) {
  59. arr.push(item.id)
  60. }
  61. })
  62. this.setData({
  63. page: ++this.data.page
  64. })
  65. arr = arr.length == 0 ? [0] : arr
  66. }
  67. this.setData({
  68. selectUser: arr
  69. })
  70. this.getList()
  71. }, 1000),
  72. openDetail(e){
  73. let item=e.target.dataset.item
  74. let str=`../performanceDetails/performanceDetails?assId=${this.data.nowAssList.id}&staffId=${item.employee_id}&tel=${this.data.nowAssList.name}`
  75. dd.navigateTo({
  76. url: str
  77. })
  78. },
  79. getStr(type) {
  80. let is = '';
  81. switch (type) {
  82. case 1:
  83. is = '目标制定';
  84. break;
  85. case 2:
  86. is = '目标确认';
  87. break;
  88. case 3:
  89. is = '执行中';
  90. break;
  91. case 4:
  92. is = '结果值录入';
  93. break;
  94. case 5:
  95. is = '评分';
  96. break;
  97. case 9:
  98. is = '审批';
  99. break;
  100. case 11:
  101. is = '结束';
  102. break;
  103. }
  104. return is;
  105. },
  106. //上啦加载
  107. onScrollToLower() {
  108. if (!that.data.isData) {
  109. this.setData({
  110. page: ++this.data.page
  111. })
  112. this.getList(true);
  113. }
  114. },
  115. activeItem(e) {
  116. this.setData({
  117. smdsins: e.target.dataset.id
  118. })
  119. this.getList();
  120. },
  121. getList(is) {
  122. if (!is) { this.setData({ page: 1 }) };
  123. let data = {
  124. package_id: this.data.id,
  125. doing_id: this.data.smdsins,
  126. page: this.data.page,
  127. page_size: 2000,
  128. }
  129. if(this.data.dept_ids){
  130. data.dept_ids=this.data.dept_ids
  131. }
  132. if (this.data.selectUser.length > 0) {
  133. data.employee_ids = JSON.stringify(this.data.selectUser)
  134. }
  135. app.$get('api/per/package/info_v3', data).then((res) => {
  136. var list = res.data.data.list;
  137. list.forEach(item => {
  138. item.str = this.getStr(item.doing_id);
  139. if (item.employee_id && app.globalData.usersList[item.employee_id]) {
  140. //当是导入导出时,显示登录者
  141. item.userInfo = app.globalData.usersList[item.employee_id];
  142. item.dept_list = app.globalData.usersList[item.employee_id].dept_list
  143. }
  144. })
  145. if (this.data.page !== 1) {
  146. list = this.data.list.concat(list);
  147. }
  148. this.setData({
  149. list: list,
  150. isData: list.length == res.data.data.total
  151. })
  152. })
  153. },
  154. getInitData() {
  155. app.$get('api/per/package/info_v3_aid', { package_id: this.data.id }).then(res => {
  156. this.setData({
  157. employee_list: res.data.data.employees
  158. })
  159. })
  160. },
  161. });