var i = require("../../../utils/util.js") const com = require("../../giftpack/public/buy_com.js"); var e = getApp(), a = e.globalData.setting, os = a, t = e.request, d = e.globalData; Page({ data: { url: a.url, //接口网址 iurl: a.imghost, //图片前缀网址 itemShow: false, //项目栏目是否显示 cardShow: false, //代金券栏目是否显示 packShow: false, //福利栏目是否显示 textShow: false, //规则是否显示 integralShow: true, //积分领取是否显示 growUpShow: true, //成长值领取是否显示 itemButton: '', cardButton: '', getActId: '', getActType: '', giftID: '', receiveState: 0, textTitle: '', getUrl: '', noShow: false, cards: [], //礼包内容--礼券 itemWare: [], //礼包内容--服务项目 integralTitle: "", growUpTitle: "", is_sub: 0, //是否重复领取 //门店相关 ismend: 0, is_sec_mend: 0, sto_sele_name: "", //选中的门店名称 sto_sele_id: "", //选中的门店id sto_sele_distr: "", //选择的门店的配送方式 is_show_sto_cat: 1, //是否显示门店分类 only_pk: null, all_sto: null, sec_sto: null, //选择了的门店分类 pickpu_list: null, //读出的所有门店list def_pickpu_list: null, //一开始5个门店list sec_pick_index: 0, //第二级门店选择ID fir_pick_index: 0, //第一级门店选择ID all_pick_list: null,//所有的门店先记录起来 select_store: 0, //选择更多 index: 1, more_store: 0, //选择门店 sort_store: 0, //门店分类 choice_sort_store: 0, //选择分类门店 new_user: 0, //新用户 def_pick_store: null, // 默认的门店 fir_def_store: null, //客户默认的门店的 lat: null, //维度 lon: null, //经度 is_get_local_ok: 0, //获取坐标是否完成 region_name: "门店分类", //区域的名字 is_gps: 1, open_ind_store: 0, //哪里打开的门店列表的控制属性 default_store: {}, //创建添加默认门店地址的对象 store: 0, openSpecModal: 0, }, GetList:function() { var th = this; var url = "/api/weshop/marketing/giftbag/bound/get"; getApp().request.promiseGet(url, { isShowLoading: true, data: { "actId": th.data.getActId, //活动id "actType": 4, //活动类型 1新人礼 2评价有礼 3节日营销 4生日营销 "storeId": a.stoid, //商家ID "userId": d.user_id //用户ID } }).then(res => { if (res.data.code == 0) { th.setData({ giftID: res.data.data.id, }) if(th.data.pickup_list && res.data.data.lbType.indexOf(',1,')>-1){ th.data.is_nd_pk=1; //-- 检测一下有没有门店 -- th.check_guide(function (){ com.wait_for_store_config(th); com.set_user_mo_store(th, os, function () { if (th.data.def_pick_store) { com.check_def_pk(th); } }); com.get_sto(th, os); }) } if (res.data.data.lbCoupons.length > 0 && res.data.data.lbCoupons != null) { //礼包内容--礼券 th.setData({ cardShow: true, cards: res.data.data.lbCoupons }) } if (res.data.data.lbSM.length > 0 && res.data.data.lbSM != null) { //礼包内容--服务项目 th.setData({ itemShow: true, itemWare: res.data.data.lbSM }) } //礼包积分 if (res.data.data.lbIntegral <= 0) { if (res.data.data.lbGrowthValue <= 0) { th.setData({ packShow: false }) } else { th.setData({ packShow: false, integralShow: false, growUpShow: true }) } } else { if (res.data.data.lbGrowthValue > 0) { th.setData({ packShow: true }) } else { th.setData({ packShow: true, integralShow: true, growUpShow: false }) } } th.setData({ integralTitle: '价值' + res.data.data.lbIntegral + '积分', growUpTitle: '价值' + res.data.data.lbGrowthValue + '成长值' }) if (res.data.data.receiveState == 0) { th.setData({ receiveState: 0 }) } else { th.setData({ receiveState: 1 }) } if (res.data.data.actIntro != '') { th.setData({ textShow: true, textTitle: res.data.data.actIntro.replace(/\ { console.log(res,20000); if (res.data.code == 0) { var sele_g=res.data.data; sele_g.giftTitle=sele_g.actName; sele_g.lbUrl=sele_g.actImg; let birthdayStyle=` --bg-color:${res.data.data.actBgColor}; --color:${res.data.data.actFontColor}; ` if(res.data.data.is_pickup){ th.data.pickup_list=res.data.data.pickup_list; sele_g.pickup_list=res.data.data.pickup_list; sele_g.is_pickup=1; } th.setData({ bimg: res.data.data.actBoundImg, birthdayStyle, sele_g // actFontColor: res.data.actFontColor, //字体颜色 // actBgColor: res.data.actBgColor, //背景颜色 }) func(); } }) }, //界面跳转 goto: function(e) { var url = e.currentTarget.dataset.url; getApp().goto(url); }, //图片失败,默认图片 bind_bnerr1: function(e) { var th = this; var _errImg = e.target.dataset.errorimg; var _Img = e.target.dataset.img; if (_Img != undefined) { var _errObj = {}; _errObj[_errImg] = "/miniapp/images/giftbag/gift02.png"; th.setData(_errObj) //注意这里的赋值方式,只是将数据列表中的此项图片路径值替换掉 ; } }, buy_libao: function () { com.buy_libao(this) }, //-- 选择门店 -- choice_store: function (ee) { this.setData({ keyword:'' }) //--先判断会员状态-- var user_info = getApp().globalData.userInfo; if (user_info == null || user_info.mobile == undefined || user_info.mobile == "" || user_info.mobile == null) { wx.navigateTo({ url: '/packageE/pages/togoin/togoin', }) return false; } var th = this; var ind = ee.currentTarget.dataset.ind; var bconfig = th.data.bconfig; //如果开启了,则不在选择门店 // if (this.data.sys_switch.is_pricing_open_store && getApp().globalData.pk_store) { // return false; // } // if (!th.data.only_pk && !th.data.def_pickpu_list) { // getApp().confirmBox("门店库存不足", null, 25000, !1); // return false; // } if (th.data.only_pk && !th.data.only_pk.length) { getApp().confirmBox("门店库存不足", null, 25000, !1); return false; } if (th.data.def_pickpu_list && !th.data.def_pickpu_list.length) { getApp().confirmBox("门店库存不足", null, 25000, !1); return false; } if (bconfig && bconfig.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; th.setData({ is_gps: 1 }); //th.onShow(); com.get_sto(th, os); }, fail: function (res) { //th.onShow(); th.data.is_get_local_ok = 1; com.get_sto(th, os); if (res.errCode == 2) { th.setData({ is_gps: 0 }); if (th.data.is_gps == 0) { getApp().confirmBox("请开启GPS定位", null, 25000, !1); } } else { th.setData({ is_gps: "3" }); } } }) } else { th.data.is_get_local_ok = 1; com.get_sto(th, os); } if (ind != undefined && ind != null) { this.setData({ open_ind_store: ind, store: 1, openSpecModal: !1, openSpecModal_pt: !1, openSpecModal_flash_normal: !1, }) } else { this.setData({ store: 1, openSpecModal: !1, openSpecModal_pt: !1, openSpecModal_flash_normal: !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 }) var openindstore = this.data.open_ind_store; if (openindstore == 1) { th.setData({ openSpecModal: !0, openSpecModal_ind: openindstore, }); } else if (openindstore == 2) { th.setData({ openSpecModal: !0, openSpecModal_ind: openindstore, }); } else if (openindstore == 4) { //4就是拼团 th.setData({ openSpecModal_pt: 1, //打开拼团购买界面 store: 0, //关闭门店 choice_sort_store: 0, //关闭门店2级 sort_store: 0, //关闭门店2级 }); } else { th.setData({ store: 0, choice_sort_store: 0, sort_store: 0 }) } }, //选择更多门店 more_store: function () { this.setData({ sort_store: 1 }); }, // 返回按钮 returns: function () { this.setData({ sort_store: 0, choice_sort_store: 0 }); }, //---选择分类门店--- 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_i:index, 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; if (!th.data.sele_g) 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, openSpecModal: !0, }); }, //---点击二级之后的选择--- 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; 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, openSpecModal: !0, }); 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 { getApp().my_warnning("设置默认门店地址失败", 0, th) } } }); }, closeSpecModal: function () { this.setData({openSpecModal: 0}); }, //获取搜索门店输入的值 input_store: function(e) { this.setData({ keyword: e.detail.value }) }, //-- 搜索门店 -- searchfn(){ let choice_sort_store = this.data.choice_sort_store if (choice_sort_store==0) { //全局搜索 let all_pick_list = this.data.all_pick_list let def_pickpu_list = this.data.def_pickpu_list let keyword = this.data.keyword if (keyword) { let arr=all_pick_list.filter( item =>{ let i = item.pickup_name.indexOf(keyword) if (i > -1) { return true }else{ return false } }) if (arr && arr.length>0) { if(this.data.is_show_sto_cat==1){ this.setData({ def_pickpu_list:arr }) }else{ this.setData({ only_pk:arr }) } }else{ wx.showToast({ title: '没有搜索到门店', icon: 'none', duration: 2000 }) } }else{ if (this.data.is_show_sto_cat==1) { this.setData({ def_pickpu_list:all_pick_list.slice(0,10) }) }else{ this.setData({ only_pk:all_pick_list }) } } }else{ //分类下搜索 let sec_i=this.data.sec_i let all_sto = this.data.all_sto let old_all_sto = this.data.old_all_sto if (!old_all_sto) { this.setData({ old_all_sto:JSON.parse(JSON.stringify(all_sto)) }) } let sec_sto= this.data.sec_sto let sec_arr = this.data.old_all_sto[sec_i].s_arr let keyword = this.data.keyword let text='sec_sto.s_arr' if (keyword) { let arr=sec_arr.filter( item =>{ let i = item.pickup_name.indexOf(keyword) if (i > -1) { return true }else{ return false } }) if (arr && arr.length>0) { this.setData({ [text]:arr }) }else{ wx.showToast({ title: '没有搜索到门店', icon: 'none', duration: 2000 }) } }else{ if(this.data.old_all_sto){ this.setData({ [text]: this.data.old_all_sto[sec_i].s_arr }) }else{ this.setData({ [text]: all_sto[sec_i].s_arr }) } } } }, check_guide(func){ var first_leader=this.data.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(); }) }, });