selectStaff.js 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. var app = getApp()
  2. var that;
  3. Component({
  4. mixins: [],
  5. data: {
  6. all_user_list: {},
  7. isShow: false,
  8. },
  9. props: {
  10. onConfirm: (data) => console.log(data),
  11. onClose: (data) => console.log(data),
  12. defaultUser: '',
  13. },
  14. didMount() {
  15. that = this;
  16. this.setData({ isShow: this.props.isShow })
  17. this.getData();
  18. },
  19. didUpdate() { },
  20. didUnmount() { },
  21. methods: {
  22. //搜索
  23. bindKeyInput(e) {
  24. if (e.detail.value) {
  25. var all_user_list = this.data.all_user_list;
  26. var items = all_user_list.filter((item) => {
  27. return item.name.indexOf(e.detail.value) >= 0
  28. });
  29. this.setData({ userList: items });
  30. } else {
  31. this.setData({ userList: this.data.all_user_list });
  32. }
  33. },
  34. onConfirm() {
  35. this.props.onConfirm(this.data.selectUserId);
  36. this.props.onClose();
  37. },
  38. radioChange: function (e) {
  39. if (e.detail.value) {
  40. var arr = e.detail.value;
  41. this.setData({
  42. selectUserId: e.detail.value
  43. })
  44. } else {
  45. this.setData({
  46. selectUserId:[]
  47. })
  48. }
  49. },
  50. getData(keywords) {
  51. app.$get("api/employee/list", { dept_id: 0, keywords: keywords }).then((res) => {
  52. var list = res.data.data.list;
  53. var arr = this.props.defaultUser;
  54. var defaultUser=arr.length>1? arr.split(","):arr;
  55. var ids=[];
  56. list.map(item=>{
  57. item.checked = false;
  58. if (defaultUser.length > 0) {
  59. defaultUser.forEach(item2 => {
  60. if (item.id == item2) {
  61. item.checked = true;
  62. ids.push(item);
  63. }
  64. })
  65. }
  66. })
  67. this.setData({
  68. userList: list,
  69. all_user_list: res.data.data.list,
  70. selectUserId:ids.length>0? ids:[]
  71. })
  72. })
  73. },
  74. //关闭
  75. onClose(e) {
  76. this.props.onClose();
  77. }
  78. },
  79. });