selectStaff.js 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  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. if(typeof(arr)=='string'){
  55. // arr=arr.substr(1, arr.length-2);
  56. arr= arr.split(',');
  57. }
  58. var ids=[],userList=list;
  59. // list.forEach(item=>{
  60. // if(item.is_official==1){
  61. // userList.push(item)
  62. // }
  63. // })
  64. userList.map(item=>{
  65. item.checked = false;
  66. if (arr.length > 0) {
  67. arr.forEach(item2 => {
  68. if (item.id == item2) {
  69. item.checked = true;
  70. ids.push(item);
  71. }
  72. })
  73. }
  74. })
  75. this.setData({
  76. userList: userList,
  77. all_user_list: userList,
  78. selectUserId:ids.length>0? ids:[]
  79. })
  80. })
  81. },
  82. //关闭
  83. onClose(e) {
  84. this.props.onClose();
  85. }
  86. },
  87. });