// pages/card/cardlist.js
const app = getApp()
Page({

    /**
     * 页面的初始数据
     */
    data: {
        cardList: [],
        CustomBar: app.globalData.CustomBar,
        countTime: 2000, //延迟搜索 时间
        searchWaiting: false, //是否等待搜索倒计时中,
        searchKey: '',
        show: false,
        cardData: '', //当前显示的准考证
    },

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad: function (options) {
        // this.getMyExam()
    },
    getMyExam() {
        wx.showLoading({
            title: '加载中...',
        })
        var _self = this
        app.restAjax.get(app.restAjax.path(app.apis.getCardList, [app.baseUrls.cardUrl]), {}, {
            headers: {
                token: app.globalData.token
            }
        }, (code, data) => {
            wx.hideLoading({})
            if (code == 200) {
                _self.setData({
                    cardList: data
                })
            }
        }, (code, error) => {
            wx.hideLoading({})
            if (error) {
                wx.showToast({
                    title: error.msg,
                })
            } else {
                wx.showToast({
                    title: '网络错误',
                    icon: 'error'
                })
            }
        })
    },
    showDetail(e) {
        var item = e.currentTarget.dataset.item
        this.setData({
            cardData: item.distributionCardCode,
            show: true
        })
        // wx.navigateTo({
        //     url: './carddetail?data=' + item.distributionCardCode,
        // })
    },
    doSearch(e) {
        this.setData({
            countTime: 2000,
            searchKey: e.detail.value,
        })
        //是否处于搜索倒计时中
        if (!this.data.searchWaiting) {
            this.timer();
        }
    },
    getResultsList(key) {
        console.log('搜索中' + key)
    },
    /**
     *  延迟搜索  
     */
    timer() {
        var _self = this;
        this.setData({
            searchWaiting: true
        })
        let promise = new Promise((resolve, reject) => {
            let setTimer = setInterval(
                () => {
                    console.log('搜索倒计时: ' + _self.data.countTime);
                    _self.setData({
                        countTime: _self.data.countTime - 1000
                    })
                    if (_self.data.countTime <= 0) {
                        console.log('开始搜索: ' + _self.data.searchKey);
                        _self.setData({
                            countTime: 2000,
                            searchWaiting: false,
                        })
                        resolve(setTimer)
                    }
                }, 1000)
        })
        promise.then((setTimer) => {
            _self.getResultsList(_self.data.searchKey)
            clearInterval(setTimer) //清除计时器
        })
    },
    onClose(e) {
        this.setData({
            show: false
        })
    },
})