index.js 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  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. },
  61. initDepAndUser() {
  62. this.setData({
  63. result: {},
  64. takeEffect: ""
  65. })
  66. return new Promise((resolve) => {
  67. _Http.basic({
  68. "id": 20230620102004,
  69. "content": {}
  70. }).then(res => {
  71. console.log("获取部门", res)
  72. if (this.data.isdep) this.setData({
  73. depGroud: [{
  74. label: "部门",
  75. list: res.data.dep,
  76. active: ""
  77. }]
  78. })
  79. if (this.data.isusers) {
  80. let active = ''
  81. if (this.data.defaultMy) {
  82. let user = res.data.hr.find(v => v.userid == wx.getStorageSync('userMsg').userid)
  83. if (user) {
  84. active = user.userid;
  85. resolve(user)
  86. this.setData({
  87. takeEffect: "user",
  88. result: user
  89. })
  90. }
  91. }
  92. this.setData({
  93. users: {
  94. label: "业务员",
  95. list: res.data.hr,
  96. copyList: res.data.hr,
  97. active
  98. }
  99. })
  100. }
  101. resolve({})
  102. })
  103. })
  104. },
  105. selectDep(e) {
  106. const {
  107. item,
  108. index
  109. } = e.currentTarget.dataset;
  110. let depGroud = this.data.depGroud.slice(0, index + 1);
  111. depGroud[index].active = item.departmentid;
  112. if (item.subdep.length) {
  113. item.subdep.unshift(JSON.parse(JSON.stringify(item)))
  114. item.subdep[0].depname = '全部';
  115. item.subdep[0].subdep = [];
  116. depGroud.push({
  117. label: item.depname + '下级部门',
  118. list: item.subdep,
  119. active: item.departmentid
  120. })
  121. }
  122. item.name = item.depname
  123. item.isleave = this.data.isleave;
  124. this.setData({
  125. depGroud,
  126. takeEffect: "dep",
  127. result: item
  128. })
  129. },
  130. selectUser(e) {
  131. const {
  132. item
  133. } = e.currentTarget.dataset;
  134. this.setData({
  135. 'users.active': item.userid,
  136. takeEffect: "user",
  137. result: item
  138. })
  139. },
  140. }
  141. })