selectRule_two.js 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  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. activeId:'',
  13. },
  14. props: {
  15. onConfirm: (data) => console.log(data),
  16. onClose: (data) => console.log(data),
  17. defaultSection: '',
  18. },
  19. didMount() {
  20. that = this;
  21. this.setData({
  22. isShow: this.props.isShow,
  23. activeId:this.props.defaultSection,
  24. terr: [{ name: '全部', id: 0 }],
  25. selectTissue: { name: '全部分类', id: '' }
  26. })
  27. this.getData();
  28. },
  29. didUpdate() { },
  30. didUnmount() { },
  31. methods: {
  32. onConfirm() {
  33. this.props.onConfirm(this.data.selectTissue);
  34. this.props.onClose();
  35. },
  36. //点击导航栏
  37. activeItem(e) {
  38. var item = e.target.dataset.item;
  39. var index = e.target.dataset.index;
  40. var terr = this.data.terr;
  41. if ((index + 1) == terr.length) { return false };
  42. this.setData({ rule_tree: [] });
  43. if (index == 0) {
  44. this.setData({
  45. terr: [{ name: '全部', id: 0 }],
  46. rule_tree: this.data.all_rule_list
  47. })
  48. } else {
  49. var arr = terr.slice(0, index + 1);
  50. this.setData({
  51. rule_tree: item.child,
  52. terr: arr
  53. })
  54. }
  55. },
  56. // 点击下一级
  57. openDown(e) {
  58. that.setData({ rule_tree:[]});
  59. var item = e.target.dataset.item;
  60. var terr = this.data.terr;
  61. terr.push(item);
  62. that.setData({
  63. rule_tree: item.child,
  64. terr: terr
  65. })
  66. },
  67. radioChange: function (e) {
  68. this.setData({
  69. selectTissue: e.target.dataset.item,
  70. activeId:e.target.dataset.item.id
  71. })
  72. },
  73. getData() {
  74. app.$get("api/integral/rule/trees", { pt_id: 3,cycle_type: 1 }).then((res) => {
  75. var rule_tree = res.data.data.rule_tree;
  76. rule_tree.unshift({
  77. name:'全部分类',
  78. id:'',
  79. child:[]
  80. })
  81. that.setData({
  82. rule_tree: rule_tree,
  83. all_rule_list:rule_tree
  84. })
  85. if(this.data.activeId){
  86. this.returnItem(rule_tree,this.data.activeId,(item)=>{
  87. if(item.id){
  88. this.radioChange({target:{dataset:{item:item}}})
  89. }
  90. })
  91. }
  92. })
  93. },
  94. returnItem(arr,id,fun){
  95. if(arr&&arr.length>0){
  96. arr.forEach(e=>{
  97. if(e.id==id){
  98. fun(e)
  99. }else{
  100. this.returnItem(e.child,id,fun);
  101. }
  102. })
  103. }
  104. },
  105. //关闭
  106. onClose(e) {
  107. this.props.onClose();
  108. },
  109. },
  110. });