index.js 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173
  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. defaultIsleave: {
  24. type: [Number, String],
  25. value: 0
  26. }
  27. },
  28. data: {
  29. takeEffect: "", //生效筛选项
  30. result: {
  31. name: ""
  32. },
  33. users: {
  34. active: {}
  35. },
  36. isleave: 1,
  37. tabs: [{
  38. value: 0,
  39. name: "全部"
  40. }, {
  41. value: 1,
  42. name: "在职"
  43. }, {
  44. value: 2,
  45. name: "离职"
  46. }],
  47. searchValue: "",
  48. depGroud: []
  49. },
  50. lifetimes: {
  51. attached: function () {
  52. getApp().globalData.Language.getLanguagePackage(this)
  53. }
  54. },
  55. methods: {
  56. searchChange({
  57. detail
  58. }) {
  59. if (detail.length == 0) return this.searchClear()
  60. let list = JSON.parse(JSON.stringify(this.data.users.copyList));
  61. this.setData({
  62. 'users.list': list.filter(v => v.name.includes(detail) || v.accountno.includes(detail))
  63. })
  64. },
  65. searchClear() {
  66. this.setData({
  67. 'users.list': JSON.parse(JSON.stringify(this.data.users.copyList))
  68. })
  69. },
  70. changLeave(e) {
  71. this.setData({
  72. isleave: e.currentTarget.dataset.value,
  73. 'result.isleave': e.currentTarget.dataset.value
  74. })
  75. console.log("result", this.data.result)
  76. this.initDepAndUser(false);
  77. },
  78. initDepAndUser(init = true) {
  79. if (init) this.setData({
  80. takeEffect: "", //生效筛选项
  81. result: {},
  82. })
  83. let content = {
  84. isleave: this.data.isleave
  85. }
  86. return new Promise((resolve) => {
  87. _Http.basic({
  88. "id": 20230620102004,
  89. content
  90. }).then(res => {
  91. console.log("获取部门", res)
  92. if (this.data.isdep && this.data.depGroud.length == 0) this.setData({
  93. depGroud: [{
  94. label: "部门",
  95. list: res.data.dep,
  96. active: ""
  97. }]
  98. })
  99. console.log("depGroud", this.data.depGroud)
  100. console.log("result", this.data.result)
  101. console.log("active", this.data.active)
  102. if (this.data.isusers) {
  103. let active = this.data.users.active;
  104. if (this.data.defaultMy && this.data.result.name == '') {
  105. let user = res.data.hr.find(v => v.userid == wx.getStorageSync('userMsg').userid)
  106. if (user) {
  107. active = user.userid;
  108. resolve(user)
  109. this.setData({
  110. takeEffect: "user",
  111. result: user
  112. })
  113. } else {
  114. this.setData({
  115. takeEffect: "",
  116. result: {}
  117. })
  118. }
  119. }
  120. this.setData({
  121. users: {
  122. label: "业务员",
  123. list: res.data.hr,
  124. copyList: res.data.hr,
  125. active
  126. }
  127. })
  128. }
  129. if (init) this.setData({
  130. isleave: this.data.defaultIsleave
  131. })
  132. resolve({})
  133. })
  134. })
  135. },
  136. selectDep(e) {
  137. const {
  138. item,
  139. index
  140. } = e.currentTarget.dataset;
  141. let depGroud = this.data.depGroud.slice(0, index + 1);
  142. depGroud[index].active = item.sa_saleareaid;
  143. if (item.subdep.length) {
  144. item.subdep.unshift(JSON.parse(JSON.stringify(item)))
  145. item.subdep[0].depname = getApp().globalData.Language.getMapText('全部');
  146. item.subdep[0].subdep = [];
  147. depGroud.push({
  148. label: item.depname + getApp().globalData.Language.getMapText('下级部门'),
  149. list: item.subdep,
  150. active: item.sa_saleareaid
  151. })
  152. }
  153. item.name = item.depname
  154. item.isleave = this.data.isleave;
  155. this.setData({
  156. depGroud,
  157. takeEffect: "dep",
  158. result: item
  159. })
  160. },
  161. selectUser(e) {
  162. const {
  163. item
  164. } = e.currentTarget.dataset;
  165. this.setData({
  166. 'users.active': item.userid,
  167. takeEffect: "user",
  168. result: item
  169. })
  170. },
  171. }
  172. })