index.js 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148
  1. const _Http = getApp().globalData.http;
  2. Component({
  3. properties: {
  4. isdep: {
  5. type: Boolean,
  6. value: true
  7. },
  8. isusers: {
  9. type: Boolean,
  10. value: true
  11. },
  12. defaultMy: {
  13. type: Boolean,
  14. value: true
  15. },
  16. exclution: {
  17. type: Boolean,
  18. value: true
  19. },
  20. dimissionF: {
  21. type: Boolean
  22. }
  23. },
  24. data: {
  25. takeEffect: "", //生效筛选项
  26. result: {},
  27. isleave: 0,
  28. tabs: [{
  29. value: 0,
  30. name: "全部"
  31. }, {
  32. value: 1,
  33. name: "在职"
  34. }, {
  35. value: 2,
  36. name: "离职"
  37. }],
  38. searchValue: ""
  39. },
  40. methods: {
  41. searchChange({
  42. detail
  43. }) {
  44. if (detail.length == 0) return this.searchClear()
  45. let list = JSON.parse(JSON.stringify(this.data.users.copyList));
  46. this.setData({
  47. 'users.list': list.filter(v => v.name.includes(detail) || v.accountno.includes(detail))
  48. })
  49. },
  50. searchClear() {
  51. this.setData({
  52. 'users.list': JSON.parse(JSON.stringify(this.data.users.copyList))
  53. })
  54. },
  55. changLeave(e) {
  56. this.setData({
  57. isleave: e.currentTarget.dataset.value,
  58. 'result.isleave': e.currentTarget.dataset.value
  59. })
  60. this.initDepAndUser(false);
  61. },
  62. initDepAndUser(init = true) {
  63. if (init) this.setData({
  64. takeEffect: "", //生效筛选项
  65. result: {},
  66. })
  67. let content = {
  68. isleave: this.data.isleave
  69. }
  70. return new Promise((resolve) => {
  71. _Http.basic({
  72. "id": 20230620102004,
  73. content
  74. }).then(res => {
  75. console.log("获取部门", res)
  76. if (this.data.isdep) this.setData({
  77. depGroud: [{
  78. label: "部门",
  79. list: res.data.dep,
  80. active: ""
  81. }]
  82. })
  83. if (this.data.isusers) {
  84. let active = ''
  85. if (this.data.defaultMy) {
  86. let user = res.data.hr.find(v => v.userid == wx.getStorageSync('userMsg').userid)
  87. if (user) {
  88. active = user.userid;
  89. resolve(user)
  90. this.setData({
  91. takeEffect: "user",
  92. result: user
  93. })
  94. }
  95. }
  96. this.setData({
  97. users: {
  98. label: "业务员",
  99. list: res.data.hr,
  100. copyList: res.data.hr,
  101. active
  102. }
  103. })
  104. }
  105. if (init) this.setData({
  106. isleave: 0
  107. })
  108. resolve({})
  109. })
  110. })
  111. },
  112. selectDep(e) {
  113. const {
  114. item,
  115. index
  116. } = e.currentTarget.dataset;
  117. let depGroud = this.data.depGroud.slice(0, index + 1);
  118. depGroud[index].active = item.departmentid;
  119. if (item.subdep.length) {
  120. item.subdep.unshift(JSON.parse(JSON.stringify(item)))
  121. item.subdep[0].depname = '全部';
  122. item.subdep[0].subdep = [];
  123. depGroud.push({
  124. label: item.depname + '下级部门',
  125. list: item.subdep,
  126. active: item.departmentid
  127. })
  128. }
  129. item.name = item.depname
  130. item.isleave = this.data.isleave;
  131. this.setData({
  132. depGroud,
  133. takeEffect: "dep",
  134. result: item
  135. })
  136. },
  137. selectUser(e) {
  138. const {
  139. item
  140. } = e.currentTarget.dataset;
  141. this.setData({
  142. 'users.active': item.userid,
  143. takeEffect: "user",
  144. result: item
  145. })
  146. },
  147. }
  148. })