selectRule_two.js 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  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. },
  13. didMount() {
  14. that = this;
  15. this.setData({ isShow: this.props.isShow })
  16. this.getData();
  17. },
  18. didUpdate() { },
  19. didUnmount() { },
  20. methods: {
  21. //全
  22. ruleActiveAll(e) {
  23. var index = e.target.dataset.index;
  24. var items = this.data.rule_tree[index].child;
  25. var elem = `rule_tree[${index}].checked`;
  26. var elemChild = `rule_tree[${index}].child`;
  27. items.map((item) => {
  28. item.checked = e.detail.value
  29. })
  30. this.setData({
  31. [elem]: e.detail.value,
  32. [elemChild]:items
  33. });
  34. },
  35. //单
  36. ruleActive(e) {
  37. var index = e.target.dataset.index;
  38. var indexChild = e.target.dataset.indexChild;
  39. var isChecked = this.data.rule_tree[index].child[indexChild].checked;
  40. var elem = `rule_tree[${index}].child[${indexChild}].checked`;
  41. this.setData({
  42. [elem]: !isChecked
  43. })
  44. },
  45. onConfirm() {
  46. var rule_tree=this.data.rule_tree;
  47. var arr=[];
  48. rule_tree.forEach(item => {
  49. if(item.child.length>0){
  50. item.child.forEach((a)=>{
  51. if(a.checked==true){
  52. arr.push(a.id);
  53. }
  54. })
  55. }
  56. });
  57. this.props.onConfirm(arr);
  58. this.props.onClose();
  59. },
  60. radioChange: function (e) {
  61. if (e.detail.value) {
  62. var arr = e.detail.value;
  63. this.setData({
  64. selectUserId: e.detail.value
  65. })
  66. } else {
  67. this.setData({
  68. selectUserId: []
  69. })
  70. }
  71. },
  72. getData() {
  73. app.$get("api/integral/rule/trees", { pt_id: 3 }).then((res) => {
  74. var rule_tree = res.data.data.rule_tree;
  75. rule_tree.map((item) => {
  76. item.checked = false;
  77. item.disabled = false
  78. if (item.child.length > 0) {
  79. item.child.map((a) => {
  80. a.checked = false;
  81. })
  82. } else {
  83. // item.disabled = true;
  84. }
  85. })
  86. that.setData({
  87. rule_tree: rule_tree
  88. })
  89. }, (err) => {
  90. })
  91. },
  92. //关闭
  93. onClose(e) {
  94. this.props.onClose();
  95. },
  96. },
  97. });