selectSection.js 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. var app = getApp()
  2. var that;
  3. Component({
  4. mixins: [],
  5. data: {
  6. all_rule_list: {},
  7. isShow:false,
  8. terr:[
  9. {name: '全部', id:0}
  10. ],
  11. rule_tree: []
  12. },
  13. props: {
  14. onConfirm: (data) => console.log(data),
  15. onClose:(data) => console.log(data),
  16. },
  17. didMount() {
  18. that = this;
  19. this.setData({
  20. isShow:this.props.isShow
  21. })
  22. this.getBmData();
  23. },
  24. didUpdate() { },
  25. didUnmount() { },
  26. methods: {
  27. onConfirm(){
  28. if(!this.data.selectTissue){
  29. app.globalData.showToast("请选择部门");
  30. return;
  31. }
  32. this.props.onConfirm(this.data.selectTissue);
  33. this.props.onClose();
  34. },
  35. //点击导航栏
  36. activeItem(e){
  37. var item=e.target.dataset.item;
  38. var index=e.target.dataset.index;
  39. var terr=this.data.terr;
  40. if((index+1)==terr.length){return false};
  41. this.setData({ rule_tree:[]});
  42. if(index==0){
  43. this.setData({
  44. terr:[{name: '全部', id:0}],
  45. rule_tree:this.data.all_rule_list
  46. })
  47. }else{
  48. var arr=terr.slice(0,index+1);
  49. this.setData({
  50. rule_tree:item._child,
  51. terr:arr
  52. })
  53. }
  54. },
  55. // 点击下一级
  56. openDown(e){
  57. this.setData({ rule_tree:[]});
  58. var item=e.target.dataset.item;
  59. var terr=this.data.terr;
  60. terr.push(item);
  61. if(item._child.length>0){
  62. that.setData({
  63. rule_tree:item._child,
  64. terr:terr
  65. })
  66. }
  67. },
  68. radioChange: function(e) {
  69. this.setData({
  70. selectTissue:e.detail.value
  71. })
  72. },
  73. //获取部门列表
  74. getBmData() {
  75. app.$get("api/department/tree", {}).then((res) => {
  76. var list = res.data.data.list;
  77. list.unshift({
  78. name:'全公司',
  79. id:''
  80. })
  81. this.setData({
  82. rule_tree: list,
  83. all_rule_list:list,
  84. })
  85. })
  86. },
  87. //关闭
  88. onClose(e) {
  89. this.props.onClose();
  90. },
  91. },
  92. });