selectType.js 2.0 KB

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