selectRule_two.js 2.4 KB

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