all-appointment.js 3.8 KB
// pages/my/all-appointment/all-appointment.js
const app =getApp();
Page({

    /**
     * 页面的初始数据
     */
    data: {
        tab: ['全部', '待确认', '已预约', '已取消', '已结束'],
        currentTab: 0,
        orderList: [],
        page_number: 1,
        has_more: true,
    },
    changeTab(e) {
        const current = e.currentTarget.dataset.index;
        this.setData({currentTab: current,page_number:1,orderList:[],has_more:true});
        wx.setNavigationBarTitle({
            title: this.data.tab[current]
        });
        this.getAppointmentList(current)
    },
    //获取预约列表
    getAppointmentList() {
        const self = this;
        if(!self.data.has_more) return;
        self.setData({has_more: false});
        let url = '/user/Reservation/reservation_list';
        let header = {
            "XX-token": wx.getStorageSync('token')
        };
        let params = {
            status: self.data.currentTab,
            page: self.data.page_number,
        };
        app.post(url, params,header).then((res) => {
            console.log('获取预约列表',res);
            if(res.this_page < res.total_page) {
                self.setData({has_more: true});
            }
            self.setData({orderList: self.data.orderList.concat(res.list)})
            // self.setData({orderList: res.list})
            console.log(self.data.orderList);
        })
    },
    //查看预约详情
    goDetail(e) {
        const current = e.currentTarget.dataset.index;
        wx.navigateTo({url: '../order-detail/order-detail?currentTab=' + this.data.currentTab
            + '&reservation_id=' + this.data.orderList[current].id
        })
    },
    //取消
    clickCancel(e) {
        console.log('取消',e);
        const current = e.currentTarget.dataset.index;
        wx.navigateTo({url: '../order-detail/order-detail?currentTab=' + this.data.currentTab
                + '&reservation_id=' + this.data.orderList[current].id
        })
        // let url = '/user/Reservation/reservation_cancel';
        // let header = {
        //     "XX-token": wx.getStorageSync('token')
        // };
        // let params = {
        //     reservation_id: this.data.orderList[e.detail.target.dataset.index].id,
        //     formId: e.detail.formId,
        // };
        // app.post(url, params,header).then((res) => {
        //     console.log('取消',res);
        //     // this.setData({orderList: res.list})
        // })
    },
    /**
     * 生命周期函数--监听页面加载
     */
    onLoad: function (options) {
        console.log('options', options);
        const self = this;
        self.setData({currentTab: +options.currentTab});
        self.getAppointmentList();
    },

    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady: function () {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow: function () {
        console.log('show', this.data.currentTab)
    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide: function () {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload: function () {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh: function () {
    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom: function () {
        const self = this;
        if(self.data.has_more) {
            self.data.page_number ++;
            self.getAppointmentList();
        }else {
            wx.showToast({
                title: '没有更多数据了~',
                icon: 'none'
            });
        }
        console.log('上拉加载');

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage: function () {

    }
})