// pages/order/placeOrder/placeOrder.js
Page({

    /**
     * 页面的初始数据
     */
    data: {
        activeKey: 0,
        navList: [
            {
                tit: "活动"
            },
            {
                tit: "套餐"
            },
            {
                tit: "洗衣"
            },
            {
                tit: "洗鞋"
            },
            {
                tit: "其他"
            },
            {
                tit: "其他"
            },
            {
                tit: "其他"
            },
            {
                tit: "其他"
            },
            {
                tit: "其他"
            },
        ],
        height: '',
        show: false,
        detailsShow: false,
        carList: [

        ],
        carNum: 0,
        carPrice: '',
        shoppingList: [
            {
                num: 0,
                id: 0,
                price: 20

            },
            {
                num: 0,
                id: 1,
                price: 39
            }
        ]
    },

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad: function (options) {
        this.getHeight()
        this.getCarAll()
    },

    shoppingMinus(e) {
        let items = e.currentTarget.dataset.item, list = this.data.shoppingList;
        list.map(item => {
            if (items.id == item.id) {
                item.num--
                console.log(item);

                this.changeCarList(item)

            }
        })
        this.setData({
            shoppingList: list
        })
        this.getCarAll()
    },

    shoppingPlus(e) {
        let items = e.currentTarget.dataset.item, list = this.data.shoppingList;
        list.map(item => {
            if (items.id == item.id) {
                item.num++
                this.changeCarList(item)
            }
        })
        this.setData({
            shoppingList: list
        })
        this.getCarAll()
    },

    changeCarList(item) {
        let carList = this.data.carList

        if (carList.length == 0) {
            carList.push(item)
            this.setData({
                carList
            })
            return
        }
        console.log(item);
        var type = false;
        carList.map((i, index) => {
            if (i.id === item.id) {
                i.num = item.num
                if (item.num == 0) {
                    carList.splice(index, 1)
                }
                this.setData({
                    carList
                })
                type = false
            } else {
                type = true
            }
        })
        if (type) {
            carList.push(item)
        }
        console.log(carList);
        this.setData({
            carList
        })

    },

    changeShoppingList(item) {
        console.log(item);
        let shoppingList = this.data.shoppingList;
        shoppingList.map(i => {
            if (item.id == i.id) {
                i.num = item.num
            }
        })
        this.setData({
            shoppingList
        })

    },

    getCarAll() {
        this.setData({
            carNum: 0,
            carPrice: 0
        })
        let carList = this.data.carList
        carList.map(item => {
            wx.nextTick(() => {
                this.setData({
                    carNum: this.data.carNum + item.num,
                    carPrice: this.data.carPrice + item.price * item.num
                })

            })
        })

    },
    getOrder() {
        wx.navigateTo({
            url: '/pages/order/serviceDetails/serviceDetails',
        })
    },
    carPlus(e) {
        let items = e.currentTarget.dataset.item, list = this.data.carList
        console.log(items);
        list.map((item, index) => {
            if (items.id == item.id) {
                item.num++
                this.changeShoppingList(item)
            }
        })
        this.setData({
            carList: list
        })
        this.getCarAll()
    },

    carMinus(e) {
        let items = e.currentTarget.dataset.item, list = this.data.carList
        list.map((item, index) => {
            if (items.id == item.id) {
                item.num--
                this.changeShoppingList(item)
                if (items.num - 1 <= 0) {
                    list.splice(index, 1)
                }
            }
        })
        this.setData({
            carList: list
        })

        this.getCarAll()

    },
    clearCarAll() {
        this.setData({
            carList: []
        })
        let shoppingList = this.data.shoppingList
        shoppingList.map(item => {
            item.num = 0
        })
        this.setData({
            shoppingList
        })
        this.getCarAll()
        this.btnShow()
        this.getHeight()

    },

    closeNews() {
        console.log(this.data.height);
        this.setData({
            height: this.data.height + 40
        })
    },
    changeActive(e) {
        let { activekey } = e.currentTarget.dataset
        this.setData({
            activeKey: activekey
        })
    },
    addressDetail() {
        this.setData({
            detailsShow: !this.data.detailsShow
        })
    },
    getHeight() {

        var clientHeight;
        wx.getSystemInfo({
            success: (res) => {
                clientHeight = res.windowHeight;
            }
        });
        var query1 = wx.createSelectorQuery()
        var query2 = wx.createSelectorQuery()
        var query3 = wx.createSelectorQuery()
        query1.select('#footerBar').boundingClientRect()
        query2.select('#topBox').boundingClientRect()
        query3.select('#scrollBox').boundingClientRect()
        query2.exec(result => {
            query3.exec(r => {

                query1.exec(res => {
                    if (res && res[0] != null) {
                        this.setData({
                            height: clientHeight - res[0].height - result[0].height - r[0].height - 40
                        })

                    } else {
                        this.setData({
                            height: clientHeight - result[0].height - r[0].height - 40
                        })
                    }
                    console.log(clientHeight, result[0].height, r[0].height);


                })
            })
        })
    },
    btnShow() {
        this.setData({
            show: !this.data.show
        })
    },



})