const app = getApp();
let self = null;
var os = app.globalData.setting;
var ut = require("../../../../utils/util.js");
var regeneratorRuntime = require('../../../../utils/runtime.js');
var oo = app.globalData;


let imgDraw = {
    "width": "650px",
    "height": "843px",
    "background": "https://mshopimg.yolipai.net/miniapp/images/zhg/bg-zuhegou.jpg",
    "views": [{ // 头像
        "type": "image",
        "url": "https://desk-fd.zol-img.com.cn/t_s960x600c5/g5/M00/0F/08/ChMkJlauzXWIDrXBAAdCg2xP7oYAAH9FQOpVAIAB0Kb342.jpg",
        "css": {
            "width": "100px",
            "height": "100px",
            "top": "20px",
            "left": "275px",
            "borderRadius": "100px",
            "mode": "scaleToFill",
            "borderWidth": "2px",
            "borderColor": "#fff",
        }
    },
    { //昵称
        "type": "text",
        "text": "我是店铺名",
        "css": {
            "width": "650px",
            "color": "#fff",
            "top": "136px",
            // "left": "137px",
            "textAlign": "center",
            "fontSize": "26px",
            "maxLines": "1",
        }
    },
    { //10元任选3件
        "type": "text",
        "text": "10元任选3件",
        "css": {
            "color": "#fff",
            "width": "650px",
            "top": "270px",
            "fontSize": "70px",
            "maxLines": "1",
            "textAlign": "center",
            "fontWeight": "bold",
        }
    },
    { //活动时间
        "type": "text",
        "text": "活动时间：2021.07.06 - 2021.07.08",
        "css": {
            "color": "#333",
            "width": "650px",
            "top": "440px",
            "fontSize": "26px",
            "fontWeight": "normal",
            "maxLines": "1",
            "textAlign": "center"
        }
    },
    { // 码
        "type": "image",
        "url": "https://desk-fd.zol-img.com.cn/t_s960x600c5/g5/M00/0F/08/ChMkJlauzXWIDrXBAAdCg2xP7oYAAH9FQOpVAIAB0Kb342.jpg",
        "css": {
            "color": "#000",
            "width": "200px",
            "height": "200px",
            "top": "525px",
            "left": "225px",
        }
    },
    { // 扫码提示
        "type": "text",
        "text": "长按扫码即可参与活动",
        "css": {
            "color": "#666",
            "width": "650px",
            "top": "750px",
            "fontSize": "26px",
            "textAlign": "center"
        }
    },
    ]
};


Page({

    /**
     * 页面的初始数据
     */
    data: {
        iurl: os.imghost,
        showRule: false,
        showMask: false,
        showNum: false,
        haveAdded: false,
        //imgDraw: imgDraw, 分享内容
        id: 0, //获得活动id
        page: 1, //第一页
        no_more: 0, //没有更多
        loading: 0, //加载中
        list: null, //商品列表的显示
        act: null, //组合活动
        all_price: 0, //合计价格
        all_num: 0, //全部数量
        sele_pick_id: 0, //默认选择门店，当用户什么商品都没有选，sele_pick_id=0
        def_store: null, //用户默认的门店
        sele_store: 0, //是不是选择了门店
        more_store: 0, //选择门店
        sort_store: 0, //门店分类
        choice_sort_store: 0, //选择分类门店
        fir_pick_index: 0, //门店选择的下标
        sec_pick_index: 0 //门店选择的下标，地区选择之后的内页
    },

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad: function (options) {
        console.log(options, 111);
        self = this;
        var the_id = options.id;
        if (options.title) {
            wx.setNavigationBarTitle({
                title: options.title,
            });
        };
        var first_leader = options.first_leader;

        //--如果tg_id是空的话，分享回来--
        if (the_id == undefined || the_id == null || the_id == "") {
            var gid_str = decodeURIComponent(options.scene);
            gid_str = gid_str.split("_");
            the_id = gid_str[0];
            if (gid_str.length > 1) {
                first_leader = gid_str[1];
            }
        }

        this.data.id = the_id;
        if (first_leader) {
            getApp().globalData.first_leader = first_leader;
            //调用接口判断是不是会员
            getApp().request.promiseGet("/api/weshop/shoppingGuide/get/" + os.stoid + "/" + first_leader, {}).then(res => {
                if (res.data.code == 0) {
                    getApp().globalData.guide_id = res.data.data.id;
                    getApp().globalData.guide_pick_id= res.data.data.pickup_id
                }
            })
        }
    },


    //检测有没有导购分享的门店
    check_guide(func){
        var first_leader=getApp().globalData.first_leader;
        if(!first_leader){
            func();
            return false;
        }
        if(this.data.is_geted_guide_pick){
            func();
            return false;
        }

        if(getApp().globalData.guide_pick_id){
            func();
            return false;
        }
        var th=this;
        getApp().request.promiseGet("/api/weshop/shoppingGuide/get/" + os.stoid + "/" + first_leader, {}).then(res => {
            if (res.data.code == 0) {
                getApp().globalData.guide_pick_id= res.data.data.pickup_id;
            }
            th.data.is_geted_guide_pick=1;
            func();
        })
    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow: function () {
        getApp().check_can_share();

        getApp().is_Single_page(this, function () {
            var th = this,
                that = this,
                ee = this;
            this.data.is_timer = 1;
            if (this.data.act) this.countDown();
            //如果有会员的时候
            var userInfo = getApp().globalData.userInfo;
            if (userInfo) {
                if (!th.data.is_get_act) {
                    //获取活动信息
                    var url = "/api/weshop/prom/zhbuy/get/" + os.stoid + "/" + th.data.id + "/" + userInfo.user_id;
                    getApp().request.get(url, {
                        success: function (e) {

                            th.data.is_get_act = 1;
                            if (e.data.code == 0 && e.data.data) {
                                self.setData({
                                    act: e.data.data
                                });
                                if (e.data.data.is_show != 1) {
                                    th.setData({
                                        error: '活动未开启'
                                    });
                                    return false;
                                }
                                // if (ut.gettimestamp() < e.data.data.start_time) {
                                //     th.setData({
                                //         error: '活动还未开始'
                                //     });
                                //     return false;
                                // }
                                if (e.data.data.is_end == 0 && ut.gettimestamp() < e.data.data.end_time) {
                                    //-- 获取商品列表 --
                                    self.get_list();
                                    self.countDown();
                                } else {
                                    th.setData({
                                        error: '活动已经过期'
                                    });
                                    return false;
                                }
                            } else {
                                th.data.is_get_act = 0;
                                th.setData({
                                    error: e.data.msg
                                });
                                return false;
                            }
                        }
                    });
                }

                //等待活动值
                this.waitfor2(10, 'list', function () {
                    if (!th.data.list) return false;
                    if (ut.gettimestamp() < th.data.act.start_time) {
                        return false;
                    }
                    if (th.data.act.is_end == 10 || ut.gettimestamp() >= th.data.act.end_time) {
                        return false;
                    }
                    //获取头像的分享
                    th.get_head_temp(function () {
                        var txt = th.data.act.zhprice + "元任选" + th.data.act.zhbuyqty + "件";
                        imgDraw.views[0].url = th.data.share_head;
                        imgDraw.views[1].text = userInfo.nickname;
                        imgDraw.views[2].text = txt;

                        var start = ut.formar_no_full(th.data.act.start_time, '.');
                        var end = ut.formar_no_full(th.data.act.end_time, '.');
                        txt = "活动时间:" + start + " - " + end;
                        imgDraw.views[3].text = txt;

                        var scene = th.data.id + "";
                        var user_id = getApp().globalData.user_id;
                        scene += "_" + user_id;
                        ///二微码
                        var path3 = os.url + "/api/wx/open/app/user/getWeAppEwm/" +
                            os.stoid + "?sceneValue=" + scene + "&pageValue=packageB/pages/zuhegou/index/index";
                        wx.getImageInfo({
                            src: path3,
                            success: function (res) {
                                var vpath = res.path;
                                imgDraw.views[4].url = vpath;
                                th.setData({
                                    imgDraw: imgDraw
                                })
                            }
                        })
                    })

                    //先获取一下导购的门店
                    th.check_guide(()=> {
                        //获取用户的默认门店
                        getApp().get_user_store(function (e) {
                            if (!e) {
                                th.data.fir_def_store = {}; //赋值空对象
                                return false;
                            }

                            if (getApp().globalData.is_dj_pk) th.setData({has_def: 1})

                            var ee = JSON.parse(JSON.stringify(e));
                            var appd = getApp().globalData;
                            //-- 等待定位系统的开启 --
                            th.waitfor2(15, 'is_get_local_ok', function () {

                                if (!th.data.is_get_local_ok) return false;

                                var e = JSON.parse(JSON.stringify(ee));
                                //如果有开启近距离的话,同时距离优不一样了
                                if (that.data.lat != null) {
                                    //如果经纬度有变化的话
                                    if (e && appd.lat == that.data.lat && appd.lon == that.data.lon && e.distance > 0) {
                                        that.set_def_storage(e);
                                    } else {
                                        //要用接口是获取距离，js的计算不准
                                        getApp().request.promiseGet("/api/weshop/pickup/list", {
                                            data: {
                                                store_id: os.stoid,
                                                pickup_id: e.pickup_id,
                                                is_pos: 1,
                                                lat: th.data.lat,
                                                lon: th.data.lon
                                            },
                                        }).then(res => {
                                            if (res.data.code == 0) {
                                                e = res.data.data.pageData[0];
                                                if (e) {
                                                    e.is_no_dis = ee.is_no_dis;
                                                    appd.pk_store = e;
                                                    that.set_def_storage(e);
                                                }

                                            }
                                        })
                                    }
                                    appd.lat = that.data.lat;
                                    appd.lon = that.data.lon;
                                } else {
                                    if (e) {
                                        e.distance = null;
                                        that.set_def_storage(e);
                                    }
                                }
                            })
                        });
                    })

                    //----获取系统参数-----
                    getApp().getConfig2(function (e) {
                        ee.setData({
                            bconfig: e,
                            sales_rules: e.sales_rules,
                        });
                        //设置基本参数
                        th.wait_for_store_config(e);

                        var json_d = JSON.parse(e.switch_list);
                        ee.setData({
                            store_config: e,
                            sys_switch: json_d,
                            is_closecoupon: json_d.is_closecoupon,
                            is_newsales_rules: json_d.is_newsales_rules,
                            is_open_offline: json_d.is_pricing_open,
                            sales_rules: e.sales_rules
                        });

                        //-- 计算等级价相关 --
                        var swithc_list = e.switch_list;
                        var sw_arr = JSON.parse(swithc_list);
                        //---如果后台又开等级卡的开关---
                        if (sw_arr.rank_switch && sw_arr.rank_switch == "2") {
                            th.setData({
                                rank_switch: true
                            });
                            //---回调卡的列表---
                            th.getPlusCardType(function (ob) {
                                th.setData({
                                    card_list: ob.card_list
                                });
                                var user = getApp().globalData.userInfo;
                                if (!user) return false;
                                if (user.card_field && user['card_expiredate']) {
                                    var str = user['card_expiredate'].replace(/-/g, '/');
                                    var end = new Date(str);
                                    end = Date.parse(end) / 1000;
                                    var now = ut.gettimestamp();
                                    //--- 判断是等级会员，且在有效期范围内 ---
                                    if (user.card_field && now < end) {
                                        var card_name = ob.name_map.get(user.card_field);
                                        th.setData({
                                            card_field: user.card_field,
                                            card_name: card_name,
                                            card_list: ob.card_list
                                        });
                                    }
                                }
                                //获取购物车的内容
                                th.get_cart_val(e);

                            })
                        } else {
                            //获取购物车的内容
                            th.get_cart_val(e);
                        }
                    }, 1);

                })

            } else {
                getApp().goto("/packageE/pages/togoin/togoin");
                return false;
            }
        })

    },

    onHide: function () {
        this.data.is_timer = 0;
    },

    //-- 调用接口的LIST,获取商品 --
    get_list: function () {
        var th = this;
        if (this.data.loading) return false;
        if (this.data.no_more) return false;
        this.data.loading = 1;
        var url = "/api/weshop/prom/zhbuyGoods/page";
        var req_data = {
            page: this.data.page,
            pageSize: 10,
            store_id: os.stoid,
            zh_id: this.data.id
        }
        //开始调用接口
        getApp().request.get(url, {
            data: req_data,
            success: function (res) {
                th.data.loading = 0;
                th.setData({
                    is_get: 1
                })
                if (ut.ajax_ok(res)) {
                    th.data.page++;
                    var list = th.data.list;
                    if (!list) list = [];

                    //当是下拉刷新的时候
                    if (th.data.page > 1 && th.data.cart_list) {
                        //下拉之后也要重新计算一下金额
                        th.calc_more(res.data.data.pageData, function (list1) {
                            for (var i in list1) {
                                list.push(list1[i]);
                            }
                            th.setData({
                                list: list
                            });
                            th.re_sum_price();
                        })
                    } else {
                        for (var i in res.data.data.pageData) {
                            list.push(res.data.data.pageData[i]);
                        }
                        th.setData({
                            list: list
                        });
                        if (res.data.data.total <= 10) {
                            th.setData({
                                no_more: 1
                            });
                        }
                    }
                } else {
                    th.setData({
                        no_more: 1
                    });
                }
            }
        })
    },

    //-- 滚动到底部触发 --
    get_more_list: function () {
        this.get_list();
    },

    /**
     * 用户点击右上角分享
     */
     onShareAppMessage: function () {   	  getApp().globalData.no_clear=1;
        var title = this.data.act.name;
        var url = "/packageB/pages/zuhegou/index/index?id=" + this.data.act.id;
        if (getApp().globalData.user_id) {
            url += "&first_leader=" + getApp().globalData.user_id;
        }
        var ob = {
            title: title,
            path: url,
        };
        if (this.data.act.img_url)
            ob.imageUrl = this.data.iurl + this.data.act.img_url;
        return ob;
    },

    /**
     * 用户分享朋友圈
     */
    onShareTimeline() {
        getApp().globalData.no_clear=1;
        var title = this.data.act.name;

        var user_id=getApp().globalData.user_id;
        if(!user_id) user_id=0;

        var ob = {
            title: title,
            query: 'first_leader='+user_id+"&id=" + this.data.act.id
        };
        if (this.data.act.img_url)
            ob.imageUrl = this.data.iurl + this.data.act.img_url;
        return ob;
    },

    /**
     * 点击规则详情,弹出规则
     */
    showRule() {
        this.setData({
            type: 0, //控制显示规则详情还是提示信息，0规则详情，1提示信息
            showRule: true,
            showMask: true,
        });
    },

    /**
     * 点击关闭按钮关闭规则详情弹窗
     */
    closeRule() {
        this.setData({
            showRule: false,
            showMask: false,
        });
    },

    /**
     * 点击提示信息
     */
    showInfo() {
        this.setData({
            type: 1,
            showRule: true,
            showMask: true,
        });
    },

    /**
     * 加入购物车
     */
    addToCart(e) {
        var th = this;
        var index = e.currentTarget.dataset.index;
        var userInfo = getApp().globalData.userInfo;
        if (!userInfo) {
            getApp().goto("/packageE/pages/togoin/togoin");
            return false;
        }
        let haveAdded = this.data.list[index].haveAdded;
        this.data.sele_index = index;
        let title = '';
        self = this;
        th.data.s_cart_num = 0;

        //说明是加入购物车是时候
        this.data.is_zuhe_addcart = 1;
        if (!haveAdded) {
            th.data.sele_g = this.data.list[index];
            if (!th.data.sele_g.num) th.data.goodsInputNum = 1;

            //如果没有门店，活动商品的配送方式和门店的配送方式不一样
            if (!th.data.def_pick_store ||
                (th.data.sele_g.distr_type != 0 && th.data.def_pick_store.distr_type != 0 && th.data.sele_g.distr_type != th.data.def_pick_store.distr_type)) {
                //选择了门店
                if (th.data.sele_store) {
                    wx.showToast({
                        title: "该商品的物流配送方式和默认门店不匹配!",
                        icon: 'none',
                        duration: 2000
                    })
                } else {
                    wx.showModal({
                        title: '温馨提示',
                        content: '该商品的物流配送方式和默认门店不匹配，是否要切换门店?',
                        success(res) {
                            if (res.confirm) {
                                //物流的配送方式不一样
                                th.get_sto();
                                var set_data = {
                                    store: 1
                                };
                                if (th.data.def_pick_store) {
                                    set_data.is_no_pipei = th.data.def_pick_store.pickup_id;
                                }
                                th.setData(set_data);
                            }
                        }
                    })
                }
                return false;
            } else {
                th.setData({
                    is_no_pipei: 0
                });
                th.check_is_in_cart(function () {
                    th.add_cart_func();
                })
            }
        } else {

            var txt = "list[" + index + "].haveAdded";
            var txt1 = "list[" + index + "].num";
            var txt2 = "list[" + index + "].showNum";
            th.data.sele_g = this.data.list[index];

            wx.showModal({
                title: '温馨提示',
                content: "确定取消该商品参与活动？",
                success(res) {
                    if (res.confirm) {
                        console.log('用户点击确定');
                        if (th.data.sele_g.cart_num && th.data.sele_g.cart_num - th.data.sele_g.num > 0) {

                            var updata = {
                                id: th.data.sele_g.cart_id,
                                goods_num: th.data.sele_g.cart_num - th.data.sele_g.num,
                                store_id: os.stoid
                            }
                            getApp().request.put("/api/weshop/cart/update", {
                                data: updata,
                                success: function (rs) {
                                    if (rs.data.code == 0) {
                                        title = '取消成功';
                                        th.setData({
                                            [txt1]: 0,
                                            [txt2]: false,
                                            [txt]: false,
                                        });
                                        wx.showToast({
                                            title: title,
                                            icon: 'success',
                                        });
                                        th.re_sum_price();
                                    }
                                }
                            })

                        } else {
                            var url = '/api/weshop/cart/del/' + os.stoid + '/' + th.data.sele_g.cart_id;
                            getApp().request.delete(url, {
                                success: function (res) {

                                    if (res.data.code == 0) {
                                        title = '取消成功';
                                        th.setData({
                                            [txt1]: 0,
                                            [txt2]: false,
                                            [txt]: false,
                                        });
                                        wx.showToast({
                                            title: title,
                                            icon: 'success',
                                        });

                                        th.re_sum_price();
                                    }
                                }
                            });
                        }

                    } else if (res.cancel) {
                        console.log('用户点击取消')
                        self.setData({
                            haveAdded: true,
                        });
                    }
                }
            })
        }

    },

    /**
     * 增加数量
     */
    add(e) {

        var th = this;
        var userInfo = getApp().globalData.userInfo;
        if (!userInfo) {
            getApp().goto("/packageE/pages/togoin/togoin");
            return false;
        }

        if (this.data.changing) return false;
        this.data.changing = 1;

        var index = e.currentTarget.dataset.index;
        this.data.sele_g = this.data.list[index];
        this.data.sele_index = index;
        th.data.goodsInputNum = this.data.sele_g.num + 1;
        if (this.data.sele_g.cart_num) {
            th.data.s_cart_num = this.data.sele_g.cart_num + 1;
        }
        th.add_cart_func();
    },

    /**
     * 减少数量
     */
    sub(e) {
        var userInfo = getApp().globalData.userInfo;
        if (!userInfo) {
            getApp().goto("/packageE/pages/togoin/togoin");
            return false;
        }

        var th = this;
        var index = e.currentTarget.dataset.index;
        var item = this.data.list[index];
        this.data.sele_g = item;
        let num = item.num;
        th.data.s_cart_num = item.cart_num - 1;

        if (num >= 2) {
            var check_num = num - 1;
            //小于起购数
            if (check_num < item.zhqty) {
                wx.showToast({
                    title: "该商品至少要购买" + item.zhqty + "件",
                    icon: 'none',
                    duration: 2000
                })
                return false;
            }

            if (th.data.changing) return false;
            th.data.changing = 1;
            th.data.sele_g = item;
            th.data.sele_index = index;
            th.data.goodsInputNum = check_num;

            th.sub_updata_cart();
            return false;
        }

        var txt = "list[" + index + "].haveAdded";
        var txt1 = "list[" + index + "].num";
        var txt2 = "list[" + index + "].showNum";

        wx.showModal({
            title: '温馨提示',
            content: '确定取消该商品参与活动?',
            success(res) {
                if (res.confirm) {

                    if (th.data.s_cart_num) {
                        var updata = {
                            id: th.data.sele_g.cart_id,
                            goods_num: th.data.s_cart_num,
                            store_id: os.stoid
                        }
                        getApp().request.put("/api/weshop/cart/update", {
                            data: updata,
                            success: function (rs) {
                                if (rs.data.code == 0) {
                                    var title = '取消成功';
                                    th.setData({
                                        [txt1]: 0,
                                        [txt2]: false,
                                        [txt]: false,
                                    });
                                    wx.showToast({
                                        title: title,
                                        icon: 'success',
                                    });
                                    th.re_sum_price();
                                }
                            }
                        })
                    } else {
                        var url = '/api/weshop/cart/del/' + os.stoid + '/' + item.cart_id;
                        getApp().request.delete(url, {
                            success: function (res) {
                                if (res.data.code == 0) {
                                    var title = '移除购物车成功';
                                    th.setData({
                                        [txt1]: 0,
                                        [txt2]: false,
                                        [txt]: false,
                                    });
                                    wx.showToast({
                                        title: title,
                                        icon: 'success',
                                    });
                                    th.re_sum_price(); //重新统计数量和总金额
                                }
                            }
                        });
                    }

                } else if (res.cancel) {
                    console.log('用户点击取消')
                    self.setData({
                        haveAdded: true,
                    });
                }
            }
        })
        return false;

    },

    /** 分享 **/
    share() {
        var th = this;
        var userInfo = getApp().globalData.userInfo;
        if (!userInfo) {
            getApp().goto("/packageE/pages/togoin/togoin");
            return false;
        }
        wx.showLoading();
        setTimeout(function () {
            th.setData({
                showMask: true,
                showPoster: true,
            });
            wx.hideLoading();
        }, 1000);
    },

    /**
     * 关闭海报
     */
    closePoster() {
        this.setData({
            showMask: false,
            showPoster: false,
        });
    },

    onImgOK(e) {
        console.log(e.detail.path);
        this.setData({
            myimg: e.detail.path,
        });

    },

    //---小于10的格式化函数----
    timeFormat(param) {
        return param < 10 ? '0' + param : param;
    },

    //----倒计时函数-----
    countDown() {
        if (!this.data.is_timer) return false;
        var th = this;
        // 获取当前时间，同时得到活动结束时间数组
        var endTime = this.data.act.start_time;
        var newTime = ut.gettimestamp();
        // 对结束时间进行处理渲染到页面
        var obj = null;
        // 如果活动未结束，对时间进行处理
        if (endTime - newTime > 0) {
            var time = (endTime - newTime);
            // 获取天、时、分、秒
            var day = parseInt(time / (60 * 60 * 24));
            var hou = parseInt(time % (60 * 60 * 24) / 3600);
            var min = parseInt(time % (60 * 60 * 24) % 3600 / 60);
            var sec = parseInt(time % (60 * 60 * 24) % 3600 % 60);
            obj = {
                hou: this.timeFormat(hou),
                min: this.timeFormat(min),
                sec: this.timeFormat(sec)
            }
            if (day > 0) {
                obj.day = this.timeFormat(day);
            }
        } else {
            //活动已结束，全部设置为'00'
            obj = {
                day: '00',
                hou: '00',
                min: '00',
                sec: '00'
            }
            th.setData({
                prom_time_text: '活动已经结束:',
                prom_st: 3
            })
            th.setData({
                djs: obj
            });
            return false;
        }

        th.setData({
            djs: obj
        });
        setTimeout(function () {
            th.countDown()
        }, 1000);
    },

    close_all: function () {
        this.setData({
            showMask: false,
            showPoster: false,
            showRule: false
        });
    },


    //------定时等待某个值,有值才进行运算--------
    waitfor2: function (n, pop_value, func) {
        var th = this;
        if (n <= 0) {
            func()
            return false
        }
        if (th.data[pop_value]) {
            func();
            return false;
        }
        setTimeout(function () {
            --n;
            th.waitfor2(n, pop_value, func)
        }, 1000);
    },

    //--获取头像的本地缓存,回调写法--
    get_head_temp: function (tt) {
        var ee = this;
        if (ee.data.share_head) {
            tt();
            return false;
        }
        //---获取分享图片的本地地址,头像和商品图片----
        var path2 = getApp().globalData.userInfo.head_pic;
        if (path2 == "") {
            ee.data.share_head = "../../../../images/share/hui_hear_pic.png";
            tt();
        } else {
            path2 = path2.replace("http://thirdwx.qlogo.cn", "https://wx.qlogo.cn");
            path2 = path2.replace("https://thirdwx.qlogo.cn", "https://wx.qlogo.cn");
            wx.getImageInfo({
                src: path2,
                success: function (res) {
                    //res.path是网络图片的本地地址
                    console.log(res);
                    ee.data.share_head = res.path;
                    tt();
                },
                fail: function () {
                    ee.data.share_head = "../../../../images/share/hui_hear_pic.png"; //分享的图片不能用网络的
                    tt();
                }
            });
        }
    },

    go_url: function (e) {
        var url = e.currentTarget.dataset.url;
        getApp().goto(url);
    },

    //-- 加入购物的函数 --
    add_cart_func: function () {
        if (oo.user_id == null) {
            this.data.changing = 0;
            return getApp().my_warnning("还未登录！", 0, this);
        }
        if (!getApp().globalData.userInfo) {
            this.data.changing = 0;
            return getApp().my_warnning("还未登录！", 0, this);
        }

        var e = this,
            th = e,
            o = this.data.sele_g,
            a = o.goods_id;

        //----------添加到购物车时，要判断限购数量，--------
        e.get_buy_num(o, function (ee) {
            //---判断商品是否超出限购---
            if (th.data.g_buy_num != null && th.data.sele_g.viplimited > 0) {
                if (th.data.goodsInputNum + th.data.g_buy_num.get(th.data.sele_g.goods_id).gd_buynum > th.data.sele_g.viplimited) {
                    wx.showModal({
                        title: '提示',
                        content: '超出商品限购'
                    });
                    th.data.changing = 0;
                    return false;
                }
                if (th.data.s_cart_num) {
                    if (th.data.s_cart_num + th.data.g_buy_num.get(th.data.sele_g.goods_id).gd_buynum > th.data.sele_g.viplimited) {
                        wx.showModal({
                            title: '提示',
                            content: '超出商品限购'
                        });
                        th.data.changing = 0;
                        return false;
                    }
                }

            }
            //---判断商品是否超出活动限购---
            if (th.data.sele_g.buyqty > 0) {
                if (th.data.goodsInputNum + th.data.g_buy_num.get(th.data.sele_g.goods_id).prom_buybum > th.data.sele_g.buyqty) {
                    wx.showModal({
                        title: '提示',
                        content: '超出商品活动限购'
                    });
                    th.data.changing = 0;
                    return false;
                }
            }

            if (th.data.goodsInputNum <= 0) {
                this.data.changing = 0;
                return s.my_warnning("商品数量不能为0", 0, th);
            }
            if (th.data.sto_sele_name == null || th.data.sto_sele_name == undefined)
                th.setData({
                    sto_sele_name: ""
                });
            if (th.data.sto_sele_name == "") {
                th.data.changing = 0;
                return s.my_warnning("请选择门店", 0, th);
            }

            //--------------此时操作的数据------------
            var newd = {
                goods_id: o.goods_id,
                goods_num: th.data.goodsInputNum,
                pick_id: th.data.sto_sele_id,
                user_id: oo.user_id,
                store_id: os.stoid,
                goods_price: o.shop_price,
                member_goods_price: o.shop_price,
                goods_name: o.goods_name,
                goods_sn: o.goods_sn,
            };

            if (th.data.s_cart_num) {
                newd.goods_num = th.data.s_cart_num;
            }

            //---是不是从收藏夹出来的---
            if (th.data.c_guide_id) {
                newd['guide_id'] = th.data.c_guide_id;
                newd['guide_type'] = 2;
                if ("add" == t.currentTarget.dataset.action) newd['guide_type'] = 3;
            } else {
                if (getApp().globalData.guide_id) {
                    newd['guide_id'] = getApp().globalData.guide_id;
                    newd['guide_type'] = 0;
                    if ("add" == t.currentTarget.dataset.action) newd['guide_type'] = 1;
                }
            }

            //让商品带上房间号
            if (th.data.sys_switch.is_skuroom_id == 1) {
                if (th.data.sele_g.goods_id == getApp().globalData.room_goods_id) {
                    newd.room_id = getApp().globalData.room_id;
                }
            } else {
                if (newd.goods_id == getApp().globalData.room_goods_id) newd.room_id = getApp().globalData.room_id;
            }

            if (o.store_count <= 0) {
                th.data.changing = 0;
                return getApp().my_warnning("库存已为空！", 0, th);
            }
            if (o.store_count < e.data.goodsInputNum) {
                th.data.changing = 0;
                return getApp().my_warnning("库存不足！", 0, th);
            }
            th.add_cart_next(o, newd); //加入购物车下一步

        })
    },

    //---加入购物车的最后一步---
    add_cart_next(o, newd) {
        var th = this;
        //如果会员有等级价
        if (th.data.card_field) {
            var card_price = o[th.data.card_field];
            if (card_price > 0) {
                newd.goods_price = card_price;
                newd.member_goods_price = card_price;
            }
        }

        var index = this.data.sele_index;
        var txt = "list[" + index + "].haveAdded";
        var txt1 = "list[" + index + "].num";
        var txt2 = "list[" + index + "].showNum";
        var txt3 = "list[" + index + "].current_price";


        newd.prom_type = 7;
        newd.prom_id = th.data.act.id;

        if (th.data.adding) return false;
        th.data.adding = 1;
        //-------如果购物车中有相关的数据---------
        if (th.data.goodsInputNum > 1) {
            var item = th.data.sele_g;
            if (th.data.goodsInputNum > o.store_count) {
                th.data.adding = 0;
                return getApp().my_warnning("库存不足！", 0, th);
            }
            if (th.data.goodsInputNum + th.data.g_buy_num.get(th.data.sele_g.goods_id).prom_buybum > o.buyqty && o.buyqty > 0) {
                th.data.adding = 0;
                return getApp().my_warnning("超出商品活动限购！", 0, th);
            }
            if (th.data.goodsInputNum + th.data.g_buy_num.get(th.data.sele_g.goods_id).prom_buybum > th.data.sele_g.viplimited &&
                th.data.sele_g.viplimited > 0
            ) {
                th.data.adding = 0;
                return getApp().my_warnning("超出商品限购！", 0, th);
            }

            //如果商品没有其他活动,要取一下线下价格
            var updata = {
                id: item.cart_id,
                goods_num: th.data.goodsInputNum,
                goods_price: newd.goods_price,
                member_goods_price: newd.goods_price,
                store_id: os.stoid,
            };
            if (th.data.s_cart_num) {
                updata.goods_num = th.data.s_cart_num;
            }
            //---是不是从收藏夹出来的---
            if (th.data.c_guide_id) {
                updata['guide_id'] = th.data.c_guide_id;
                updata['guide_type'] = 3; //加入购物车之后就变成了3
            } else {
                if (getApp().globalData.guide_id) {
                    updata['guide_id'] = getApp().globalData.guide_id;
                    updata['guide_type'] = 0;
                }
            }
            getApp().request.put("/api/weshop/cart/update", {
                data: updata,
                success: function (t) {
                    th.setData({
                        [txt1]: th.data.goodsInputNum,
                        [txt2]: true,
                        [txt]: true,
                        [txt3]: newd.goods_price,
                    });
                    th.data.adding = 0;
                    th.data.sele_store = 1;

                    if (th.data.s_cart_num) {
                        var txt_temp = "list[" + index + "].cart_num";
                        th.setData({
                            [txt_temp]: th.data.s_cart_num
                        })
                    }

                    th.re_sum_price(); //重新统计数量和总金额
                }
            });
        } else {

            getApp().request.post("/api/weshop/cart/save", {
                data: newd,
                success: function (t) {
                    if (t.data.code == 0) {
                        var txt4 = "list[" + th.data.sele_index + "].cart_id";
                        th.setData({
                            [txt1]: newd.goods_num,
                            [txt2]: true,
                            [txt3]: newd.goods_price,
                            [txt]: true,
                            [txt4]: t.data.data.id,
                        });

                        th.data.adding = 0;
                        th.data.sele_store = 1;
                        th.re_sum_price(); //重新统计数量和总金额
                    }
                }
            });
        }
    },

    //等待获取配置
    wait_for_store_config: function (bconfig) {
        var th = this;
        var e = bconfig;
        if (e && e.is_sort_storage) {
            wx.getLocation({
                type: 'gcj02',
                success: function (res) {
                    th.data.lat = res.latitude;
                    th.data.lon = res.longitude;
                    th.data.is_get_local_ok = 1;
                },
                fail: function (res) {
                    if (res.errCode == 2) {
                        th.setData({
                            is_gps: 0
                        });
                        if (th.data.is_gps == 0) {
                            getApp().confirmBox("请开启GPS定位", null, 10000, !1);
                        }

                    } else {
                        th.setData({
                            is_gps: "3"
                        });
                    }

                    th.data.is_get_local_ok = 1;
                }
            })
        } else {
            th.data.is_get_local_ok = 1;
        }
    },

    //---  获取卡类列表 ---
    getPlusCardType: function (func) {
        var storid = os.stoid;
        var user = getApp().globalData.userInfo;
        if (!user) return false;
        getApp().request.promiseGet("/api/weshop/plus/vip/mem/bership/list?" + "storeId=" + storid, {}).then(res => {
            var plusCard = res.data.data;
            var arr = [1219, 2089, 3031];
            var new_arr = new Array();
            var card_name_map = new Map();

            var list = [];
            for (var i = 0; i < plusCard.length; i++) {
                if ((!user || user.card_field == null || user.card_field == "") && plusCard[i].IsStopBuy == true) continue;
                var name = "card" + plusCard[i].CorrPrice.toLowerCase();
                card_name_map.set(name, plusCard[i].CardName);
                list.push(plusCard[i]);
            }

            var ob = {
                "card_list": list,
                "name_map": card_name_map
            };
            func(ob);
        })
    },


    //--- 设置一下默认库存的数量 ----
    set_def_storage(ee) {
        var that = this;
        that.data.fir_def_store = ee;
        that.setData({
            def_pick_store: ee,
            sto_sele_name: ee.pickup_name,
            sto_sele_id: ee.pickup_id,
            sto_sele_distr: ee.distr_type
        })
    },

    //---------拿出门店分类和门店------------
    get_sto(e) {
        var th = this;
        this.waitfor2(15, 'is_get_local_ok', function () {
            //if (!th.data.sele_g) return false;
            var dd = null;
            var g_distr_type = 0;
            if (th.data.sele_g) g_distr_type = th.data.sele_g.distr_type;
            if (g_distr_type != 0) {
                dd = {
                    store_id: os.stoid,
                    distr_type: g_distr_type,
                    isstop: 0,
                    is_pos: 1,
                    pageSize: 2000
                }
            } else {
                dd = {
                    store_id: os.stoid,
                    isstop: 0,
                    is_pos: 1,
                    pageSize: 2000
                }
            }

            //如果有距离的话
            if (th.data.lat != null) {
                dd.lat = th.data.lat;
                dd.lon = th.data.lon;
            }

            //如果会员是有默认的门店话
            if (!th.data.def_pick_store && th.data.fir_def_store) {
                th.setData({
                    def_pick_store: th.data.fir_def_store
                });
            }

            wx.showLoading({
                title: '加载中.'
            });
            //----------获取门店----------------
            getApp().request.promiseGet("/api/weshop/pickup/list", {
                data: dd,
            }).then(res => {
                var e = res;
                if (e.data.code == 0 && e.data.data && e.data.data.pageData && e.data.data.pageData.length > 0) {

                    var his_cate_num = 0;
                    for (let i in e.data.data.pageData) {
                        let item = e.data.data.pageData[i];
                        if (item.category_id > 0) {
                            his_cate_num = 1;
                            break;
                        }
                    }
                    e.his_cate_num = his_cate_num;

                    //如果有开启距离的功能，没有设置默认门店，要用最近的门店作为默认门店
                    if (dd.lat && (!th.data.def_pick_store || JSON.stringify(th.data.def_pick_store) == '{}') && th.data.bconfig && th.data.bconfig.is_sort_storage) {
                        th.setData({
                            def_pick_store: e.data.data.pageData[0],
                            sto_sele_name: e.data.data.pageData[0].pickup_name,
                            sto_sele_id: e.data.data.pageData[0].pickup_id,
                            sto_sele_distr: e.data.data.pageData[0].distr_type
                        });
                        th.data.fir_def_store = e.data.data.pageData[0];
                    }

                    //-- 如果有默认选择门店的时候，要把默认门店放在第一位，修改不要配送方式的判断 --
                    if (th.data.def_pick_store && JSON.stringify(th.data.def_pick_store) != '{}') {
                        for (var k = 0; k < e.data.data.pageData.length; k++) {
                            if (e.data.data.pageData[k].pickup_id == th.data.def_pick_store.pickup_id) {
                                e.data.data.pageData.splice(k, 1); //删除
                                break;
                            }
                        }
                        e.data.data.pageData.splice(0, 0, th.data.def_pick_store); //添加
                    }

                    th.setData({
                        all_pick_list: e.data.data.pageData
                    });
                    th.deal_pickup(e);
                }
            })
        })
    },
    //------------处理门店---------------
    deal_pickup(e) {
        var th = this;
        wx.hideLoading();
        //单总量超出5个的时候
        if (e.data.data.total > 10 && e.his_cate_num) {
            getApp().request.get("/api/weshop/storagecategory/page", {
                data: {
                    store_id: os.stoid,
                    pageSize: 1000,
                    orderField: "sort",
                    orderType: 'asc',
                },
                success: function (ee) {
                    if (ee.data.code == 0) {

                        var check_all_cate = 0;
                        if (ee.data.data && ee.data.data.pageData && ee.data.data.pageData.length > 0) {
                            for (let i in ee.data.data.pageData) {
                                let item = ee.data.data.pageData[i];
                                if (item.is_show == 1) {
                                    check_all_cate = 1;
                                    break
                                }
                            }
                        }

                        if (check_all_cate) {

                            var sto_cate = ee.data.data.pageData;
                            var sto_arr = e.data.data.pageData;
                            var newarr = new Array();
                            var qita = new Array();

                            var is_del_pk = 0;
                            //----要进行门店分组--------
                            for (var i = 0; i < sto_arr.length; i++) {
                                //找一下这个门店有没有在分类数组内
                                var find2 = 0,
                                    find2name = "",
                                    sort = 0;
                                is_del_pk = 0;
                                for (var m = 0; m < sto_cate.length; m++) {
                                    if (sto_arr[i].category_id == sto_cate[m].cat_id) {
                                        if (sto_cate[m].is_show != 1) {
                                            is_del_pk = 1;
                                            sto_arr.splice(i, 1);
                                            i--;
                                        } else {
                                            find2 = sto_cate[m].cat_id;
                                            find2name = sto_cate[m].cat_name;
                                            sort = sto_cate[m].sort;
                                            is_del_pk = 0;
                                        }
                                        break;
                                    }
                                }
                                if (is_del_pk) continue;

                                if (newarr.length > 0) {
                                    var find = 0;
                                    //如果有找到，那门店就在这个分组内，否则，分类就要排在其他
                                    if (find2 != 0) {
                                        for (var ii = 0; ii < newarr.length; ii++) {
                                            if (sto_arr[i].category_id == newarr[ii].cat_id) {
                                                newarr[ii].s_arr.push(sto_arr[i]);
                                                find = 1;
                                                break;
                                            }
                                        }
                                        if (find == 0) {
                                            var arr0 = new Array();
                                            arr0.push(sto_arr[i]);
                                            var item = {
                                                cat_id: find2,
                                                name: find2name,
                                                sort: sort,
                                                s_arr: arr0
                                            };
                                            newarr.push(item);
                                        }
                                    } else {
                                        qita.push(sto_arr[i]);
                                    }
                                } else {
                                    //如果有找到，那门店就在这个分组内，否则，分类就要排在其他
                                    if (find2 != 0) {
                                        var arr0 = new Array();
                                        arr0.push(sto_arr[i]);
                                        var item = {
                                            cat_id: find2,
                                            name: find2name,
                                            sort: sort,
                                            s_arr: arr0
                                        };
                                        newarr.push(item);
                                    } else {
                                        qita.push(sto_arr[i]);
                                    }
                                }
                            }

                            var def_arr = new Array();
                            //-- 开始就看10个门店 --
                            for (var k = 0; k < 10; k++) {
                                if (k == sto_arr.length) break;
                                def_arr.push(sto_arr[k]);
                            }

                            th.setData({
                                def_pickpu_list: def_arr,
                                pickpu_list: ee.data.data.pageData
                            });

                            //门店分类要排序下
                            function compare(property) {
                                return function (a, b) {
                                    var value1 = a[property];
                                    var value2 = b[property];
                                    return value1 - value2;
                                }
                            }

                            if (newarr.length > 0)
                                newarr.sort(compare("sort"));
                            //----安排其他的分类-----
                            if (qita.length > 0) {
                                var item = {
                                    cat_id: -1,
                                    name: "其他",
                                    s_arr: qita
                                };
                                newarr.push(item);
                            }


                            var sd = {
                                all_sto: newarr,
                                is_show_sto_cat: 1
                            }
                            if (!sto_arr || sto_arr.length <= 10) {
                                sd.is_show_sto_cat = -1;
                                sd.only_pk = sto_arr;
                            }
                            th.setData(sd);

                        } else {
                            th.setData({
                                is_show_sto_cat: -1,
                                only_pk: e.data.data.pageData
                            });
                            //-----如果没有默认门店，要取第一个门店作为默认店.此时没有门店分类的情况------
                            if (!th.data.def_pick_store) {
                                th.setData({
                                    def_pick_store: e.data.data.pageData[0]
                                })
                            }
                        }
                    } else {
                        th.setData({
                            is_show_sto_cat: -1,
                            only_pk: e.data.data.pageData
                        });
                        //-----如果没有默认门店，要取第一个门店作为默认店.此时没有门店分类的情况------
                        if (!th.data.def_pick_store) {
                            th.setData({
                                def_pick_store: e.data.data.pageData[0]
                            })
                        }
                    }
                }
            });
        } else {
            th.setData({
                is_show_sto_cat: 0,
                only_pk: e.data.data.pageData
            });
            //-----如果没有默认门店，要取第一个门店作为默认店------
            if (!th.data.def_pick_store && th.data.bconfig && th.data.bconfig.is_sort_storage) {
                if (e.data.data && e.data.data.pageData && e.data.data.pageData.length > 0) {
                    th.setData({
                        def_pick_store: e.data.data.pageData[0],
                        sto_sele_name: e.data.data.pageData[0].pickup_name,
                        sto_sele_id: e.data.data.pageData[0].pickup_id,
                        sto_sele_distr: e.data.data.pageData[0].distr_type
                    })
                }
            }
        }
    },

    //---选择分类门店---
    choice_sort_store: function (e) {
        var index = e.currentTarget.dataset.index;
        var region_name = e.currentTarget.dataset.region;
        var item = this.data.all_sto[index];
        this.setData({
            region_name: region_name,
            sort_store: 0,
            choice_sort_store: 1,
            sec_sto: item,
            sec_pick_index: 0
        });
    },

    choose_for_store_fir: function (e) {
        var index_c = e.currentTarget.dataset.ind;
        var th = this;
        th.setData({
            fir_pick_index: index_c
        })
    },

    //确定def_pick为选择的门店
    sure_pick: function (e) {
        var th = this;
        var item = null;
        var openindstore = th.data.open_ind_store;

        if (th.data.choice_sort_store == 0) {
            var index = th.data.fir_pick_index;
            if (th.data.is_show_sto_cat == 1) {
                item = th.data.def_pickpu_list[index];
            } else {
                item = th.data.only_pk?th.data.only_pk[index]:null; //当没有门店分类的时候
            }
        } else {
            var index = th.data.sec_pick_index;
            item = th.data.sec_sto.s_arr[index];
        }

        if(!item) return false;

        //判断门店的配送方式是不是匹配
        var g_distr_type = 0;
        if (th.data.sele_g)
            g_distr_type = th.data.sele_g.distr_type;
        if (item.distr_type != 0 && g_distr_type != 0 && item.distr_type != g_distr_type) {
            wx.showToast({
                title: "门店配送方式不匹配",
                icon: 'none',
                duration: 2000
            });
            return false;
        }

        th.setData({
            def_pick_store: item,
            sto_sele_name: item.pickup_name,
            sto_sele_id: item.pickup_id,
            sto_sele_distr: item.distr_type,
            store: 0,
            choice_sort_store: 0,
            fir_pick_index: 0,
            sort_store: 0
        });

        //只是单纯的选择门店
        if (this.data.only) {
            this.data.only = 0;
            return false;
        }
        th.check_is_in_cart(function () {
            th.add_cart_func();
        })
    },


    //---点击二级之后的选择---
    choose_for_store: function (e) {
        var index_c = e.currentTarget.dataset.ind;
        var th = this;
        th.setData({
            sec_pick_index: index_c,
            fir_pick_index: index_c
        })

    },
    //把选择的门店设置成默认的门店def_pick
    set_def_pick: function (e) {
        var th = this;
        var item = null;
        if (th.data.choice_sort_store == 0) {
            var index = th.data.fir_pick_index;
            if (th.data.is_show_sto_cat == 1) {
                item = th.data.def_pickpu_list[index];
            } else {
                item = th.data.only_pk?th.data.only_pk[index]:null; //当没有门店分类的时候
            }
        } else {
            var index = th.data.sec_pick_index;
            item = th.data.sec_sto.s_arr[index];
        }

        if(!item) return false;

        //判断门店的配送方式是不是匹配
        var g_distr_type = th.data.sele_g.distr_type;
        if (item.distr_type != 0 && g_distr_type != 0 && item.distr_type != g_distr_type) {
            wx.showToast({
                title: "门店配送方式不匹配",
                icon: 'none',
                duration: 2000
            });
            return false;
        }

        //先设置之前,要判断是不是有库存
        var user_id = getApp().globalData.user_id;
        var def_pickup_id = item.pickup_id;

        getApp().request.put('/api/weshop/users/update', {
            data: {
                user_id: user_id,
                def_pickup_id: def_pickup_id
            },
            success: function (res) {
                if (res.data.code == 0) {
                    if (th.data.choice_sort_store == 0) th.setData({
                        fir_pick_index: 0
                    });
                    getApp().globalData.pk_store = item;
                } else {
                    //s.showWarning("设置默认门店地址失败", null, 500, !1);
                    getApp().my_warnning("设置默认门店地址失败", 0, th)
                }

            }
        });

        th.setData({
            def_pick_store: item,
            sto_sele_name: item.pickup_name,
            sto_sele_id: item.pickup_id,
            sto_sele_distr: item.distr_type,
            store: 0,
            choice_sort_store: 0,
            sort_store: 0, //关闭门店2级
        });

        th.add_cart_func();
    },

    // 返回按钮
    returns: function () {
        this.setData({
            sort_store: 0,
            choice_sort_store: 0
        });
    },
    //选择更多门店
    more_store: function () {
        this.setData({
            sort_store: 1
        });
    },
    //关闭选择门店
    close_popup: function (e) {
        var th = this;
        this.setData({
            store: 0,
            choice_sort_store: 0,
            sort_store: 0,
            fir_pick_index: 0,
            sec_pick_index: 0
        })
    },

    //-------------获取购买数量的总函数----------------
    get_buy_num: function (gd, func) {
        var map = this.data.g_buy_num,
            th = this,
            user_id = getApp().globalData.user_id;

        if (user_id == null) {
            getApp().goto("/packageE/pages/togoin/togoin");
            return false;
        }
        if (map && map.has(gd.goods_id)) {
            "function" == typeof func && func();
        } else {
            var res1 = null;
            //----获取商品购买数----
            getApp().request.promiseGet("/api/weshop/ordergoods/getUserBuyGoodsNum", {
                data: {
                    store_id: os.stoid,
                    user_id: user_id,
                    goods_id: gd.goods_id,
                    prom_type: 7,
                    prom_id: th.data.act.id,
                    isnew:1,
                    timetype:gd.viplimited_timetype
                },
            }).then(res2 => {
                var g_buy_num = 0;
                var promgoodsbuynum = 0;
                if (res2.data.code == 0) {
                    var buy_num_data = res2.data.data;
                    if (buy_num_data.promgoodsbuynum) promgoodsbuynum = buy_num_data.promgoodsbuynum;
                    g_buy_num = buy_num_data.goodsbuynum;
                }

                if (!map) map = new Map();
                var ob = {
                    gd_buynum: g_buy_num,
                    prom_buybum: promgoodsbuynum,
                }
                map.set(gd.goods_id, ob);
                th.setData({
                    g_buy_num: map
                });
                "function" == typeof func && func();
            })
        }
    },

    //-- 当是减数量的调用 --
    sub_updata_cart() {
        var th = this;
        var index = this.data.sele_index;
        var txt = "list[" + index + "].haveAdded";
        var txt1 = "list[" + index + "].num";
        var txt2 = "list[" + index + "].showNum";

        var cur_price = this.data.sele_g.shop_price;
        if (th.data.card_field && this.data.sele_g[th.data.card_field]) {
            cur_price = this.data.sele_g[th.data.card_field];
        }
        var updata = {
            id: th.data.sele_g.cart_id,
            goods_num: th.data.goodsInputNum,
            goods_price: cur_price,
            store_id: os.stoid,
        };

        if (th.data.s_cart_num) {
            updata.goods_num = th.data.s_cart_num;
        }

        //---是不是从收藏夹出来的---
        if (th.data.c_guide_id) {
            updata['guide_id'] = th.data.c_guide_id;
            updata['guide_type'] = 3; //加入购物车之后就变成了3
        } else {
            if (getApp().globalData.guide_id) {
                updata['guide_id'] = getApp().globalData.guide_id;
                updata['guide_type'] = 0;
            }
        }
        //调用接口，更新购物车
        getApp().request.put("/api/weshop/cart/update", {
            data: updata,
            success: function (t) {
                th.setData({
                    [txt1]: th.data.goodsInputNum,
                    [txt2]: true,
                    [txt]: true,
                });
                th.data.adding = 0;
                th.data.sele_store = 1;
                if (th.data.s_cart_num) {
                    var txt_temp = "list[" + index + "].cart_num";
                    th.setData({
                        [txt_temp]: th.data.s_cart_num
                    })
                }

                th.re_sum_price(); //重新统计数量和总金额
            }
        });
    },
    //一 开始的选择门店 --
    choose_store: function (e) {
        var userInfo = getApp().globalData.userInfo;
        if (!userInfo) {
            getApp().goto("/packageE/pages/togoin/togoin");
            return false;
        }
        this.data.only = 1;
        this.setData({
            store: 1
        })


        this.get_sto()
    },

    // -- 加入之前，先判断有没有在购物车中,没有商品就添加 --
    check_is_in_cart: function (func) {
        var th = this;
        var index = th.data.sele_index;
        var txt = "list[" + index + "].haveAdded";
        var txt1 = "list[" + index + "].num";
        var txt2 = "list[" + index + "].showNum";
        var txt3 = "list[" + index + "].cart_id";
        var txt4 = "list[" + index + "].current_price";
        var txt5 = "list[" + index + "].cart_num";

        //----先看会员在购物车中是否加入了该商品-----
        getApp().request.get("/api/weshop/cart/page", {
            data: {
                store_id: os.stoid,
                user_id: oo.user_id,
                goods_id: th.data.sele_g.goods_id,
                pick_id: th.data.sto_sele_id,
            },
            success: function (re) {
                if (re.data.data.total > 0) {
                    var item = re.data.data.pageData[0];
                    th.get_buy_num(th.data.sele_g, function () {
                        //当前的价格要更新进去
                        var cur_price = th.data.sele_g.shop_price;
                        if (th.data.card_field && th.data.sele_g[th.data.card_field]) {
                            cur_price = th.data.sele_g[th.data.card_field];
                        }

                        var prom_buybum = 0;
                        var gd_buynum = 0;
                        //加入也要控制一下限购
                        var check_obj = th.data.g_buy_num.get(th.data.sele_g.goods_id);
                        if (check_obj.gd_buynum && check_obj.gd_buynum > 0) gd_buynum = check_obj.gd_buynum;
                        if (check_obj.prom_buybum && check_obj.prom_buybum > 0) prom_buybum = check_obj.prom_buybum;

                        if (check_obj) {
                            if (check_obj.prom_buybum && check_obj.prom_buybum >= th.data.sele_g.buyqty &&
                                th.data.sele_g.buyqty > 0
                            ) {
                                wx.showToast({
                                    title: "您的已购数量超出活动的限购",
                                    icon: 'none',
                                    duration: 2000
                                });
                                return false;
                            }
                            if (check_obj.gd_buynum && check_obj.gd_buynum >= th.data.sele_g.viplimited &&
                                th.data.sele_g.viplimited > 0
                            ) {
                                wx.showToast({
                                    title: "您的已购数量超出商品的限购",
                                    icon: 'none',
                                    duration: 2000
                                });
                                return false;
                            }
                        }

                        item.cbuy = 'no';
                        var cbuy = th.data.sele_g.viplimited > 0 ? th.data.sele_g.viplimited - gd_buynum : 'no';
                        if (cbuy != 'no') item.cbuy = cbuy;
                        var cbuy2 = th.data.sele_g.buyqty > 0 ? th.data.sele_g.buyqty - prom_buybum : 'no';
                        if (cbuy2 != 'no') {
                            if (item.cbuy == 'no' || item.cbuy > cbuy2) item.cbuy = cbuy2;
                        }

                        var num = item.goods_num;
                        if (item.cbuy > -1 && item.cbuy < item.goods_num) {
                            num = item.cbuy;
                        }
                        th.setData({
                            [txt1]: num,
                            [txt2]: true,
                            [txt]: true,
                            [txt3]: item.id,
                            [txt4]: cur_price,
                            [txt5]: item.goods_num,
                        });

                        var updata = {
                            id: item.id,
                            prom_type: 7,
                            goods_price: cur_price,
                            prom_id: th.data.act.id,
                            store_id: os.stoid,
                        };
                        if (getApp().globalData.guide_id) {
                            updata['guide_id'] = getApp().globalData.guide_id;
                            updata['guide_type'] = 0;
                        }

                        getApp().request.put("/api/weshop/cart/update", {
                            data: updata,
                            success: function (t) { }
                        });
                        th.re_sum_price();
                    })

                } else {
                    func();
                }
            }
        })
    },

    //-- 计算统计之后的金额 --
    re_sum_price: function () {
        var all_num = 0; //商品数量之和
        var all_price = 0;
        var need_to_buy = 0;
        var data = this.data.list;
        var all_zhqty = 0; //所有商品要求起购数之后
        var zhqty_bz = []; //超量
        var no_in_arr = [];
        for (var i in data) {
            var item = data[i];
            if (item.num) {
                all_num += item.num;
                all_price += item.num * item.current_price;
                //当有起购数的控制的时候
                if (item.zhqty) {
                    zhqty_bz.push(item);
                    all_zhqty += item.zhqty;
                    if (item.num < item.zhqty) {
                        need_to_buy += item.zhqty - item.num;
                    }
                    if (item.num > item.zhqty) {
                        for (var i = 0; i < item.num - item.zhqty; i++) {
                            no_in_arr.push({
                                price: item.current_price,
                                goods_id: item.goods_id
                            });
                        }
                    }
                } else {
                    for (var j = 0; j < item.num; j++) {
                        no_in_arr.push({
                            price: item.current_price,
                            goods_id: item.goods_id
                        });
                    }
                }
            } else {
                if (item.zhqty) need_to_buy += item.zhqty;
            }
        }

        //当满足组合的要求：总数要满足，起购数要满足
        if (all_num >= this.data.act.zhbuyqty && !need_to_buy) {
            function sortData(a, b) {
                return a.price - b.price
            }
            if (no_in_arr.length) no_in_arr.sort(sortData);

            var aprice = this.data.act.zhprice;
            if (this.data.act.zhbuyqty > all_zhqty) {
                for (var n = 0; n < this.data.act.zhbuyqty - all_zhqty; n++) {
                    no_in_arr.pop();
                }
            }

            //看一下剩下的数量有没有满足组合购的要求，以及要不要倍增
            if (this.data.act.is_bz && no_in_arr.length >= this.data.act.zhbuyqty) {
                let zhqty_map = new map();
                //看一下是几倍
                var be = parseInt(no_in_arr.length / this.data.act.zhbuyqty);
                if (this.data.act.is_bzyh && zhqty_bz.length > 0) {
                    for (let i = 0; i < zhqty_bz.length; i++) {
                        let vv = zhqty_bz[i];
                        let num = 0;
                        let bz_num = be * vv.zhqty;
                        for (let j = 0; j < no_in_arr.length; j++) {
                            let ii = no_in_arr[j];
                            if (vv.goods_id === ii.goods_id) {
                                num++;
                                zhqty_map.set('num', num);
                                zhqty_map.set('price', ii.price);
                            }

                        }
                    }
                }
                if (bz_num <= num) {
                    aprice += be * aprice;
                    let pop_num = (be * this.data.act.zhbuyqty) - bz_num;
                    console.log(pop_num);
                    for (var m = 0; m < pop_num; m++) {
                        no_in_arr.pop();
                    }
                }
                // var be = parseInt(no_in_arr.length / this.data.act.zhbuyqty);
                // aprice += be * aprice;
                // for (var m = 0; m < be * this.data.act.zhbuyqty; m++) {
                //     no_in_arr.pop();
                // }
            }

            //算一下剩余的钱
            if (no_in_arr.length) {
                for (var ii in no_in_arr) {
                    var item = no_in_arr[ii];
                    aprice += item.price;
                }
            }
            all_price = aprice;
        }
        this.data.changing = 0;
        this.setData({
            all_price: all_price,
            need_to_buy: need_to_buy,
            all_num: all_num
        })

        if (all_num <= 0) {
            this.data.sele_store = 0; //什么都没有选，就没有选择了门店
        }

    },

    go_cart: function () {
        getApp().goto("/pages/cart/cart/cart");
    },

    //获取购物车中，相应的门店已购买的商品
    get_cart_val: function (e) {
        var th = this;
        var user_id = getApp().globalData.user_id;
        var req = {
            user_id: user_id,
            store_id: os.stoid,
            pageSize: 600,
            state: 0,
            prom_type: 7,
            prom_id: this.data.act.id
        };
        //获取购物车列表
        getApp().request.get("/api/weshop/cart/list", {
            data: req,
            success: async function (e) {
                if (e.data.code == 0 && e.data.data && e.data.data.pageData && e.data.data.pageData.length) {
                    var map = {};
                    var mlist = e.data.data.pageData;
                    th.data.cart_list = mlist;

                    for (let i in mlist) {
                        let item = mlist[i];
                        if (item.prom_type != 7) continue;
                        if (item.prom_id != th.data.act.id) continue;
                        map[item.goods_id] = item;
                    }
                    for (let j in th.data.list) {
                        let item_j = th.data.list[j];
                        item_j.current_price = item_j.shop_price;

                        var card_price = 0;
                        //如果会员有等级价
                        if (th.data.card_field) {
                            card_price = item_j[th.data.card_field];
                            if (card_price > 0) {
                                item_j.current_price = card_price;
                            }
                        }


                        if (map[item_j.goods_id]) {
                            var cart_num = map[item_j.goods_id].goods_num;
                            item_j.num = cart_num;
                            item_j.cart_num = cart_num;
                            item_j.cart_id = map[item_j.goods_id].id;
                            if (item_j.buyqty > 0) {
                                var g_buy_num = 0;
                                var promgoodsbuynum = 0;
                                //----获取商品购买数----
                                await getApp().request.promiseGet("/api/weshop/ordergoods/getUserBuyGoodsNum", {
                                    data: {
                                        store_id: os.stoid,
                                        user_id: user_id,
                                        goods_id: item_j.goods_id,
                                        prom_type: 7,
                                        prom_id: th.data.act.id,
                                        isnew:1,
                                        timetype:item_j.viplimited_timetype
                                    },
                                }).then(res2 => {
                                    if (res2.data.code == 0) {
                                        var buy_num_data = res2.data.data;
                                        if (buy_num_data.promgoodsbuynum) promgoodsbuynum = buy_num_data.promgoodsbuynum;
                                        g_buy_num = buy_num_data.goodsbuynum;
                                    }
                                })

                                if (item_j.viplimited > 0) {
                                    var cby = item_j.viplimited - g_buy_num;
                                    if (cby <= 0) continue; //不能买就continue下一个
                                    item_j.num = cby > item_j.num ? item_j.num : cby;
                                }
                                if (item_j.buyqty > 0) {
                                    var cby = item_j.buyqty - promgoodsbuynum;
                                    if (cby <= 0) continue; //不能买就continue下一个
                                    item_j.num = cby > item_j.num ? item_j.num : cby;
                                }
                            }

                            item_j.haveAdded = 1;
                            item_j.showNum = true;
                        }
                    }
                    th.setData({
                        list: th.data.list
                    });
                    th.re_sum_price();
                }
            }
        });
    },

    //滚动加载跟多的时候的计算
    async calc_more(list, func) {
        var th = this;
        var map = {};
        var mlist = this.data.cart_list;
        for (let i in mlist) {
            let item = mlist[i];
            if (item.prom_type != 7) continue;
            if (item.prom_id != th.data.act.id) continue;
            map[item.goods_id] = item;
        }

        for (let j in list) {
            let item_j = list[j];
            item_j.current_price = item_j.shop_price;

            var card_price = 0;
            //如果会员有等级价
            if (th.data.card_field) {
                card_price = item_j[th.data.card_field];
                if (card_price > 0) {
                    item_j.current_price = card_price;
                }
            }


            if (map[item_j.goods_id]) {
                var cart_num = map[item_j.goods_id].goods_num;
                item_j.num = cart_num;
                item_j.cart_num = cart_num;
                item_j.cart_id = map[item_j.goods_id].id;
                if (item_j.buyqty > 0) {
                    var g_buy_num = 0;
                    var promgoodsbuynum = 0;
                    //----获取商品购买数----
                    await getApp().request.promiseGet("/api/weshop/ordergoods/getUserBuyGoodsNum", {
                        data: {
                            store_id: os.stoid,
                            user_id: oo.user_id,
                            goods_id: item_j.goods_id,
                            prom_type: 7,
                            prom_id: th.data.act.id,
                            isnew:1,
                            timetype:item_j.viplimited_timetype
                        },
                    }).then(res2 => {
                        if (res2.data.code == 0) {
                            var buy_num_data = res2.data.data;
                            if (buy_num_data.promgoodsbuynum) promgoodsbuynum = buy_num_data.promgoodsbuynum;
                            g_buy_num = buy_num_data.goodsbuynum;
                        }
                    })

                    if (item_j.viplimited > 0) {
                        var cby = item_j.viplimited - g_buy_num;
                        if (cby <= 0) continue; //不能买就continue下一个
                        item_j.num = cby > item_j.num ? item_j.num : cby;
                    }
                    if (item_j.buyqty > 0) {
                        var cby = item_j.buyqty - promgoodsbuynum;
                        if (cby <= 0) continue; //不能买就continue下一个
                        item_j.num = cby > item_j.num ? item_j.num : cby;
                    }
                }

                item_j.haveAdded = 1;
                item_j.showNum = true;
            }
        }
        if (func) func(list)

    }

})