index.js 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216
  1. // pages/project-user/index.js
  2. import http from '../../utils/http'
  3. import util from '../../utils/util'
  4. import Dialog from '../../miniprogram_npm/@vant/weapp/dialog/dialog';
  5. Page({
  6. /**
  7. * 页面的初始数据
  8. */
  9. data: {
  10. id: -1,
  11. list: [],
  12. keyword: '',
  13. project: null,
  14. showAction: false
  15. },
  16. /**
  17. * 生命周期函数--监听页面加载
  18. */
  19. onLoad: function (options) {
  20. var id = options.id ? options.id : 1
  21. this.setData({
  22. id: id
  23. })
  24. },
  25. change: function() {
  26. var user = this.getUser()
  27. var id = user.id ? user.id : -1
  28. wx.navigateTo({
  29. url: '/pages/create-project-role/index?id=' + user.id,
  30. })
  31. },
  32. getUser() {
  33. var list = this.data.list
  34. for(var i = 0; i < list.length; ++i) {
  35. if(list[i].selected) {
  36. return list[i]
  37. }
  38. }
  39. return null
  40. },
  41. deleteUser: function() {
  42. var user = this.getUser()
  43. var id = user ? user.id : -1
  44. var that = this
  45. http({
  46. url: 'projects/deleteUser',
  47. data: {
  48. id: id
  49. },
  50. success: function (res) {
  51. if (res.code == 0) {
  52. util.success('操作成功')
  53. setTimeout(function() {
  54. that.getList()
  55. }, 300)
  56. } else {
  57. util.error('操作失败')
  58. }
  59. }
  60. })
  61. },
  62. delete: function () {
  63. var that = this
  64. Dialog.confirm({
  65. title: '确认删除该成员吗',
  66. message: '删除该成员后,该成员将不再显示在该项目中,请再次确定是否需要删除该成员',
  67. })
  68. .then(() => {
  69. that.deleteUser()
  70. })
  71. .catch(() => {
  72. // on cancel
  73. });
  74. },
  75. selectUser: function (e) {
  76. var index = e.currentTarget.dataset.index
  77. var list = this.data.list
  78. for (var i = 0; i < list.length; ++i) {
  79. if (i != index) list[i].selected = false
  80. }
  81. list[index].selected = !list[index].selected
  82. this.setData({
  83. list,
  84. showAction: list[index].selected
  85. })
  86. // this.updateShowAction()
  87. },
  88. updateShowAction: function () {
  89. var list = this.data.list
  90. for (var i = 0; i < list.length; ++i) {
  91. if (list[i].selected) {
  92. this.setData({
  93. showAction: true
  94. })
  95. return false;
  96. }
  97. }
  98. this.setData({
  99. showAction: false
  100. })
  101. },
  102. getList: function () {
  103. var that = this
  104. http({
  105. url: 'projects/getUsers',
  106. data: {
  107. id: this.data.id,
  108. keyword: this.data.keyword
  109. },
  110. success: function (res) {
  111. if (res.code == 0) {
  112. that.setData({
  113. list: res.data
  114. })
  115. that.updateShowAction()
  116. }
  117. }
  118. })
  119. },
  120. getProject() {
  121. var that = this
  122. http({
  123. url: 'projects/detail',
  124. data: {
  125. id: this.data.id
  126. },
  127. success: function (res) {
  128. if (res.code == 0) {
  129. that.setData({
  130. project: res.data
  131. })
  132. }
  133. }
  134. })
  135. },
  136. clear: function () {
  137. this.setData({
  138. keyword: ''
  139. })
  140. },
  141. blur: function () {
  142. var that = this
  143. setTimeout(function () {
  144. that.getList()
  145. }, 300)
  146. },
  147. updateInput: function (e) {
  148. var name = e.currentTarget.dataset.name
  149. this.setData({
  150. [name]: e.detail.value
  151. })
  152. },
  153. /**
  154. * 生命周期函数--监听页面初次渲染完成
  155. */
  156. onReady: function () {
  157. },
  158. /**
  159. * 生命周期函数--监听页面显示
  160. */
  161. onShow: function () {
  162. this.getProject()
  163. this.getList();
  164. },
  165. /**
  166. * 生命周期函数--监听页面隐藏
  167. */
  168. onHide: function () {
  169. },
  170. /**
  171. * 生命周期函数--监听页面卸载
  172. */
  173. onUnload: function () {
  174. },
  175. /**
  176. * 页面相关事件处理函数--监听用户下拉动作
  177. */
  178. onPullDownRefresh: function () {
  179. },
  180. /**
  181. * 页面上拉触底事件的处理函数
  182. */
  183. onReachBottom: function () {
  184. },
  185. /**
  186. * 用户点击右上角分享
  187. */
  188. onShareAppMessage: function () {
  189. }
  190. })