<template>
    <view class="bargain-code-container">
        <tabs :active="active" @change="onChange" :isScroll="false">
            <tab v-for="(item, index) in bargain" :key="item.type" :name="item.name" >
                <bargain-list :ref="item.ref_name" :bargainType="item.type" v-if="item.isShow" />
            </tab>
        </tabs>
    </view>
</template>

<script>
    import {bargainType} from "@/utils/type"
    export default {
        data() {
            return {
                active: 0,
                bargainCodeType: bargainType.ALL,
                bargain: [{
                    name: '全部',
                    type: bargainType.ALL,
                    ref_name: 'all',
                    isShow: true
                }, {
                    name: '砍价中',
                    type: bargainType.BARGINNING,
                    ref_name: 'barginning',
                    isShow: false
                }, {
                    name: "砍价成功",
                    type: bargainType.SUCCESS,
                    ref_name: 'success',
                    isShow: false
                }, {
                    name: '砍价失败',
                    type: bargainType.FAIL,
                    ref_name: 'fail',
                    isShow: false
                }]
            }
        },
        onLoad(options) {
        },
        onReachBottom: function () {
          const {
            active, bargain
          } = this;
          let type = bargain[active].ref_name;
          let myComponent = this.$refs[type][0];
          if (myComponent.$getBargainActivityList) {
            myComponent.$getBargainActivityList();
          }
        },
        methods: {
            onChange(active) {
                const {bargain} = this;
                console.log(active)
                let type = bargain[active].ref_name
                let index = bargain.findIndex(item => {
                  return item.ref_name == type;
                });
                
                if (index != -1) {
                    this.bargain[index].isShow = true;
                    this.active = index;
                }
                
                this.$nextTick(() => {
                    console.log(this.$refs, "refs", type)
                    console.log('this.$refs[all]', this.$refs['all'])
                    if(this.$refs[type] && this.$refs[type][0].$getBargainActivityList) {
                        this.$refs[type][0].$getBargainActivityList();
                    }
                })
            }
        }
    }
</script>