123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 |
- var app = getApp()
- var that;
- Component({
- mixins: [],
- data: {
- all_rule_list: {},
- rule_tree: {},
- terr: [
- { name: '全部', id: 0 }
- ],
- },
- props: {
- onClose: (data) => console.log(data),
- onConfirm: (data) => console.log(data),
- isGzType: '',
- defaultId: '',//默认选中
- },
- didMount() {
- that = this;
- this.setData({
- terr: [{ name: '全部', id: 0 }]
- })
- this.getData();
- },
- didUpdate() { },
- didUnmount() { },
- methods: {
- //点击导航栏
- activeItem(e) {
- this.setData({ rule_tree: [] });
- var item = e.target.dataset.item;
- var index = e.target.dataset.index;
- var terr = this.data.terr;
- if ((index + 1) == terr.length) { return false };
- if (index == 0) {
- this.setData({
- terr: [{ name: '全部', id: 0 }],
- rule_tree: this.data.all_rule_list
- })
- } else {
- var arr = terr.slice(0, index + 1);
- this.setData({
- rule_tree: item.child,
- terr: arr
- })
- }
- },
- // 点击下一级
- openDown(e) {
- this.setData({ rule_tree: [] });
- var item = e.target.dataset.item;
- var terr = this.data.terr;
- terr.push(item);
- if (item.child.length > 0) {
- that.setData({
- rule_tree: item.child,
- terr: terr
- })
- }
- },
- radioChange: function (e) {
- this.props.onConfirm(e.detail.value);
- this.plusOne();
- },
- recursion(data) {
- for (var i = 0; i < data.length; i++) {
- data[i].checked = false;
- if (data[i].child.length > 0) {
- this.recursion(data[i].child);
- }
- }
- return data;
- },
- getData() {
- var pt_id
- if (that.props.isGzType) {
- pt_id = app.getTypesItem(that.props.isGzType).id;
- }
- app.$get("api/integral/rule/trees", { pt_id: pt_id }).then((res) => {
- var rule_tree = res.data.data.rule_tree
- if (this.props.defaultId) {
- rule_tree.map(item => {
- if (this.props.defaultId == item.id) {
- item.checked = true;
- }
-
- item.child.map(item2 => {
- if (this.props.defaultId == item2.id) {
- item2.checked = true;
- }
- })
- })
- }
- that.setData({
- rule_tree: rule_tree,
- all_rule_list: rule_tree
- })
- })
- },
- //关闭
- plusOne(e) {
- this.props.onClose();
- },
- },
- });
|