diff --git a/app.js b/app.js index 95a978e..a6a3d6b 100644 --- a/app.js +++ b/app.js @@ -101,6 +101,29 @@ App({ }, }) + var th=this; + var pages = getCurrentPages(); //获取加载的页面 + var currentPage = pages[pages.length - 1]; //获取当前页面的对象 + if(!currentPage || currentPage.route.indexOf('error/error')==-1){ + var tt=this.globalData.wxapp_buy_obj; + if (!tt){ + this.get_isbuy(function (){ + tt=th.globalData.wxapp_buy_obj; + if (tt.isout == 1){ + th.promiseGet('/api/weshop/store/get/'+t.stoid,{}).then(res=>{ + wx.reLaunch({ + url: "/pages/error/error?msg=该商城已到期,暂停浏览!\r\n可联系:"+res.data.data.store_tel, + }); + }) + } + else if (tt.isbuy == 0) + wx.reLaunch({ + url: "/pages/error/error?msg=还未购买小程序", + }); + }) + } + } + }, //---初始化第三方---- @@ -287,9 +310,11 @@ App({ }, //同步化,在调用的时候要await - async get_isbuy() { - var th=this; - await api.check_isbuy({ store_id: t.stoid, type: 5 }).then(res=>{ + async get_isbuy(func) { + var th=this + var stoid=os.stoid; + + await this.promiseGet("/store/storemoduleendtime/page?store_id=" +stoid + "&type=5",{}).then(res=>{ var o=res; if (o.data.code == 0) { var ob = { isout: 0, isbuy: 1 }; @@ -308,6 +333,9 @@ App({ } ob.isbuy = isbuy; th.globalData.wxapp_buy_obj=ob; + if(func){ + func(); + } } }) }, @@ -384,44 +412,61 @@ App({ } //---如果会员没有设置默认门店,同时也没有再注册的时候选择门店-- if(pick_id==0) return func(null); - //获取用户注册时候的门店,这个门店不能关闭,同时这个门店的分类不能关闭 - th.request.get("/api/weshop/pickup/get/"+os.stoid+"/"+pick_id,{ - data:{}, - success:function (res) { - th.globalData.pk_store=null; - if(res.data.code==0 && res.data.data && res.data.data.isstop==0){ - if(res.data.data.category_id){ - th.request.get( "/api/weshop/storagecategory/get/"+os.stoid+"/"+res.data.data.category_id, { - data: {}, - success: function (ee) { - if(ee.data.code==0 && ee.data.data ){ - if(ee.data.data.is_show==1){ - th.globalData.pk_store = res.data.data; - func(th.globalData.pk_store); - }else{ - func(null); - } - }else{ - func(null); - } - } - }) - }else{ - th.globalData.pk_store = res.data.data; - func(th.globalData.pk_store); - } - }else{ - func(null); - } - } - }) + + //返回门店的数量 + th.get_pk_num(function(num){ + //获取用户注册时候的门店,这个门店不能关闭,同时这个门店的分类不能关闭 + th.request.get("/api/weshop/pickup/get/"+os.stoid+"/"+pick_id,{ + data:{}, + success:function (res) { + th.globalData.pk_store=null; + if(res.data.code==0 && res.data.data && res.data.data.isstop==0){ + //--门店的数量大于5个才要关心门店的分类有没有关闭-- + if(res.data.data.category_id && num>5){ + th.request.get( "/api/weshop/storagecategory/get/"+os.stoid+"/"+res.data.data.category_id, { + data: {}, + success: function (ee) { + if(ee.data.code==0 && ee.data.data ){ + if(ee.data.data.is_show==1){ + th.globalData.pk_store = res.data.data; + func(th.globalData.pk_store); + }else{ + func(null); + } + }else{ + func(null); + } + } + }) + }else{ + th.globalData.pk_store = res.data.data; + func(th.globalData.pk_store); + } + }else{ + func(null); + } + } + }) + + }) + }else{ func(th.globalData.pk_store); } }) - }, - + + //-- 获取门店的数量 -- + get_pk_num:function(func){ + this.request.get("/api/weshop/pickup/page",{ + data:{page:1,pageSize:1,isstop:0,store_id:os.stoid}, + success:function (res) { + if(res.data.code==0){ + func(res.data.data.total); //门店数量 + } + } + }); + }, //-------获取购物车数量---------- requestCardNum: function(th) { if(!this.globalData.user_id) return false; @@ -538,7 +583,28 @@ App({ } return index; - } + }, + + //---promise的使用get---- + promiseGet:function(url,data){ + if(url.indexOf("http")==-1) url=this.globalData.setting.url +url; + return new Promise((resolve, reject) => { + data.isShowLoading && wx.showLoading(); + wx.request({ + url, + method: 'GET', + header: {"content-type": "application/x-www-form-urlencoded" }, + data:data.data, + success(res) { + data.isShowLoading && wx.hideLoading(); + resolve(res); + }, + fail(err) { data.isShowLoading && wx.hideLoading(); reject(err); } + }) + }) + }, + + }); diff --git a/components/diy_advertising/diy_advertising.wxml b/components/diy_advertising/diy_advertising.wxml index a8e1a3b..8a0396c 100644 --- a/components/diy_advertising/diy_advertising.wxml +++ b/components/diy_advertising/diy_advertising.wxml @@ -409,14 +409,14 @@ style="height:{{max_sw_height}}rpx" > - + {{item.title}} - + {{item.title}} diff --git a/components/diy_advertising/diy_advertising.wxss b/components/diy_advertising/diy_advertising.wxss index 5ca3b76..294d632 100644 --- a/components/diy_advertising/diy_advertising.wxss +++ b/components/diy_advertising/diy_advertising.wxss @@ -315,8 +315,6 @@ .swiper { height: auto; width: 100%; - padding-bottom: 7rpx; - padding-top: 7rpx; /* background-color: palevioletred; */ } @@ -324,6 +322,8 @@ height: auto; width: 100%; margin: 0; + padding: 0; + vertical-align: top; } .sw_con{ position: relative; diff --git a/components/diy_searchbox/diy_searchbox.wxml b/components/diy_searchbox/diy_searchbox.wxml index d3ddcc5..b0ddc1e 100644 --- a/components/diy_searchbox/diy_searchbox.wxml +++ b/components/diy_searchbox/diy_searchbox.wxml @@ -1,6 +1,5 @@ - @@ -15,24 +14,17 @@ - - - + - - - - - + - - + + - @@ -44,14 +36,10 @@ bindconfirm="sear" bindinput='set_input' focus="{{inputShowed}}" /> - - - + + - - - \ No newline at end of file diff --git a/components/diy_store_select/diy_store_select.js b/components/diy_store_select/diy_store_select.js new file mode 100644 index 0000000..fdc6784 --- /dev/null +++ b/components/diy_store_select/diy_store_select.js @@ -0,0 +1,376 @@ +const app = getApp() +const innerAudioContext = wx.createInnerAudioContext(); +var t = getApp(),o = t.globalData.setting; +Component({ + properties: { + object: { type: Object,value: null,}, + }, + options: { addGlobalClass: true }, + data: { + top_store:null, //会员默认的门店 + url: o.imghost, + store_config:null, + lat: null, //维度 + lon: null, //经度 + sort_store:0, + choice_sort_store:0, + + fir_pick_index:0, //5个门店显示选择的下标 + }, + ready: function() { + var th=this; + getApp().getConfig(function(e){ + th.setData({store_config:e,}); + th.init(); + }) + }, + pageLifetimes:{ + //要处理一下,游客登录后的界面的变化,主要还该是改变会员 + show: function () { + this.init(); + this.setData({fir_pick_index:0}) + } + }, + + methods: { + //-- 初始化顶部的门店显示 -- + init(){ + var th=this; + + var user_id=getApp().globalData.user_id; + if(!user_id){ + return false; + } + + //获取顶部的门店 + getApp().get_user_store(function(){ + var top_store=getApp().globalData.pk_store; + if(top_store){ + th.setData({top_store:top_store}); + }else{ + wx.getLocation({ + type: 'gcj02', + success: function(res) { + th.data.lat = res.latitude; + th.data.lon = res.longitude; + th.set_fir_store_to_def(); + }, + fail: function(res) { + if(res.errCode == 2) { + getApp().confirmBox("请开启GPS定位", null, 25000, !1); + } + } + }) + } + }) + }, + //-- 设置最近的店为默认的店,一开始加载的时候 -- + set_fir_store_to_def(){ + var th=this; + var dd = { + store_id: o.stoid, + isstop: 0, + pageSize: 1, + page:1, + }; + dd.lat = th.data.lat; + dd.lon = th.data.lon; + //----------获取门店,最近的门店---------------- + getApp().request.promiseGet("/api/weshop/pickup/list", { + data: dd, + }).then(res => { + if(res.data.code==0 && res.data.data && res.data.data.pageData && res.data.data.pageData.length>0){ + var top_store=res.data.data.pageData[0]; + th.setData({top_store:top_store}) + } + }) + }, + + //点击选择门店 + sele_top_store(){ + var user_id=getApp().globalData.user_id; + if(!user_id){ + wx.navigateTo({ + url: '/pages/togoin/togoin', + }); + return false; + } + var th=this; + this.get_top_sto(function(){ + th.setData({store:1}); + }); + }, + //选择更多门店 + more_store: function() { + this.setData({ + sort_store: 1 + }); + }, + + //确定def_pick为选择的门店 + sure_pick: function() { + var th = this,item = null,user_id=getApp().globalData.user_id; + if(!user_id) return false; + + //如果是第一层的时候 + 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[index]; //当没有门店分类的时候 + } + } + //如果是跳转到门店分类里面的时候 + else { + var index = th.data.sec_pick_index; + item = th.data.sec_sto.s_arr[index]; + } + + //--回调函数的用法-- + th.setData({ + top_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 + }); + //全局默认门店 + getApp().globalData.pk_store=item; + //还原基础属性 + th.setData({store: 0,choice_sort_store: 0,sort_store: 0}) + //更新会员的默认的门店 + getApp().request.put('/api/weshop/users/update', { + data: { + user_id:user_id, + def_pickup_id:item.pickup_id + }, + success: function(res) {} + }); + + }, + + //---点击二级之后的选择--- + choose_for_store: function(e) { + var index_c = e.currentTarget.dataset.ind; + this.setData({ + sec_pick_index: index_c, + fir_pick_index: index_c + }) + }, + + //关闭弹出框 + close_popup:function(){ + this.setData({store: 0, choice_sort_store: 0,sort_store: 0}) + }, + + //---------拿出门店分类和门店------------ + get_top_sto(func) { + //如果有就不重新调用接口了 + if(this.data.all_pick_list){ + this.deal_pickup(this.data.all_pick_list,func) + return false; + } + var th = this,that=this; + var i = getApp().request; + var dd = { + store_id: o.stoid, + isstop: 0, + pageSize: 2000 + } + + //如果有距离的话 + if (th.data.lat != null) { + dd.lat = th.data.lat; + dd.lon = th.data.lon; + } + + 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.pageData && e.data.data.pageData.length){ + th.setData({all_pick_list:e.data.data.pageData}); + th.deal_pickup(e.data.data.pageData,func); //--普通门店排版-- + } + }) + }, + + //------------处理门店--------------- + deal_pickup(e,func){ + var th=this; + wx.hideLoading(); + //-- 如果有默认选择门店的时候,要把默认门店放在第一位 -- + if (th.data.top_store){ + for (var k = 0; k < e.length; k++) { + if (e[k].pickup_id == th.data.top_store.pickup_id) { + e.splice(k, 1); //删除 + break; + } + } + e.splice(0, 0, th.data.top_store); //添加 + } + + + //单总量超出5个的时候 + if (e.length > 5) { + getApp().request.get("/api/weshop/storagecategory/page", { + data: { + store_id: o.stoid, + is_show: 1, + pageSize: 1000, + orderField:"sort", + orderType:'asc', + }, + success: function(ee) { + if (ee.data.code == 0) { + if (ee.data.data && ee.data.data.pageData && ee.data.data.pageData.length > 0) { + var def_arr = new Array(); + var ishas = 0; + //-- 开始就看5个门店 -- + for (var k = 0; k < 5; k++) { + if (k == e.length) break; + def_arr.push(e[k]); + } + + th.setData({ + def_pickpu_list: def_arr, + pickpu_list: ee.data.data.pageData + }); + var sto_cate = ee.data.data.pageData; + var sto_arr = e; + var newarr = new Array(); + var qita = new Array(); + + //----要进行门店分组-------- + for (var i = 0; i < sto_arr.length; i++) { + //找一下这个门店有没有在分类数组内 + var find2 = 0, find2name = "",sort=0; + for (var m = 0; m < sto_cate.length; m++) { + if (sto_arr[i].category_id == sto_cate[m].cat_id) { + find2 = sto_cate[m].cat_id; + find2name = sto_cate[m].cat_name; + sort = sto_cate[m].sort; + break; + } + } + + 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]); + } + } + } + + //门店分类要排序下 + 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); + } + + th.setData({ + is_show_sto_cat: 1, + all_sto: newarr + }); + + } else { + th.setData({is_show_sto_cat: -1,only_pk: e}); + } + } else { + th.setData({is_show_sto_cat: -1,only_pk: e}); + } + func(); //回调 + } + }); + } else { + th.setData({is_show_sto_cat: 0,only_pk: e}); + func(); //回调 + } + }, + + //---选择分类门店--- + 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 + }); + }, + //返回按钮 + returns: function() { + this.setData({ + sort_store: 0, + choice_sort_store: 0 + }); + }, + + //第一层选择门店的情况 + choose_for_store_fir: function(e) { + var index_c = e.currentTarget.dataset.ind; + var th=this; + th.setData({ fir_pick_index: index_c }) + }, + }, + + + +}) \ No newline at end of file diff --git a/components/diy_store_select/diy_store_select.json b/components/diy_store_select/diy_store_select.json new file mode 100644 index 0000000..e8cfaaf --- /dev/null +++ b/components/diy_store_select/diy_store_select.json @@ -0,0 +1,4 @@ +{ + "component": true, + "usingComponents": {} +} \ No newline at end of file diff --git a/components/diy_store_select/diy_store_select.wxml b/components/diy_store_select/diy_store_select.wxml new file mode 100644 index 0000000..8db133f --- /dev/null +++ b/components/diy_store_select/diy_store_select.wxml @@ -0,0 +1,152 @@ + + + + {{top_store?top_store.pickup_name+'[切换]':'请选择门店'}} + + + + + {{top_store?top_store.pickup_name+'[切换]':'请选择门店'}} + + + + + + + + + + + + {{choice_sort_store==0?'附近的门店':region_name}} + + + + + + {{choice_sort_store==0?'更多门店':'返回'}} + + + + + + + + + + + + + + + Г + + + + + + + + {{item.pickup_name}} + + + + 距离:{{item.distance>1000?filters.toFix(item.distance/1000,2)+'km':filters.toFix(item.distance,0)+"m"}} + + + 地址:{{item.fulladdress}} + + + + + + + + + + Г + + + + + + + + + {{item.pickup_name}} + + + 距离:{{item.distance>1000?filters.toFix(item.distance/1000,2)+"km":filters.toFix(item.distance,0)+"m"}} + + + + 地址:{{item.fulladdress}} + + + + + + + + + + + Г + + + + + + + + + {{item.pickup_name}} + + + + 距离:{{item.distance>1000?filters.toFix(item.distance/1000,2)+"km":filters.toFix(item.distance,0)+"m"}} + + + 地址:{{item.fulladdress}} + + + + + + + + + + + 确定 + + + + + + 门店分类选择 + + + + + + 返回 + + + + + + + + {{item.name}} + + + + + + + + + + \ No newline at end of file diff --git a/components/diy_store_select/diy_store_select.wxss b/components/diy_store_select/diy_store_select.wxss new file mode 100644 index 0000000..105ad22 --- /dev/null +++ b/components/diy_store_select/diy_store_select.wxss @@ -0,0 +1,163 @@ +.store_sele{width: 100%;z-index: 8; height: 88rpx; padding: 0 15rpx;position: fixed; color: white; + top: 0; left: 0; background-color: #ff7295; font-size: 30rpx; } + + .store_sele1{ height: 100rpx; padding: 0 15rpx; color: #666;background-color: #fff; font-size: 32rpx;} + + +.logo_box{ width: 64rpx; height:64rpx;margin-right: 15rpx; } +.pd-view { + height: 80rpx; +} + +.circle{ border-radius: 50%;} +/*-- 门店选择 --*/ +/* 选择门店的弹窗 */ +.mongolia-layer{ +position: fixed; +left: 0; +top: 0; +right: 0; +bottom: 0; +z-index: 11; +background: rgba(0,0,0,0.4); +width: 100%; +height: 91.9%; + +} + +.popup-frame{ +position: fixed; +bottom:110rpx; +z-index: 20; +background: white; +width: 100%; +border-radius: 20rpx 20rpx 0 0; +height: 72%; + +} +.popup-top{ + border-bottom: 1rpx solid #eee; + height: 155rpx; + width: 95%; + margin: auto; + line-height: 155rpx; + +} +.bg_rights{ + border-top: 2rpx solid ; + border-right: 2rpx solid ; + transform: rotate(45deg); + display:inline-block; + width:15rpx;height:15rpx; + border-color:#da0b31; +} +.modal-closes { + position: absolute; + right: 30rpx; + top: -15rpx; + height: 25rpx; + +} +.choose_more{ + margin-top: 40rpx; + margin-right: 20rpx; + +} +.choose_mores{ + margin-top: 30rpx; + margin-right: 15rpx; + +} +.store-list{ + width: 95%; + height: 72%; + overflow-y: scroll; + margin: auto; +} +.store-list .store_choose{ + width: 100%; + height: 120rpx; + line-height: 125rpx; + border-bottom: 1rpx solid #eee; + +} +.store-list .store_choose .store{ +width: 100%; +margin: auto; +line-height: 37rpx; +padding-left: 20rpx; + +} +.xc-hook{ + width: 35rpx; + height: 35rpx; + transform: rotate(-145deg); +line-height: 37rpx; +text-align: center; +} + .xc-hooks{ + width: 30rpx; + height: 30rpx; + border: 1rpx solid #999; + } + .address-frame{ + width: 93%; +margin-left: 7rpx; + + } + .nearby_store{ +margin-left: 17rpx; + } + .address_name{ + margin-right: 10rpx; + + } + .address-val{ + height: 38rpx; +line-height: 38rpx; + + } + .store-bottom{ + width: 85%; + margin: auto; + height: 70rpx; + } + .determine{ + width: 260rpx; + height: 55rpx; + border-radius: 50rpx; + line-height: 55rpx; + } + .default{ + width: 260rpx; + height: 55rpx; + border:3rpx solid #c8c8c8; + border-radius: 50rpx; + line-height: 55rpx; + } + .store-bottom-frame{ + width: 95%; + margin: auto; + } + + + /* 门店分类列表 */ + .sort_store_list{ + height: 82%; + overflow: hidden; + overflow-y: scroll; + width: 95%; + margin: auto; + } + .sort_store_list .sort-store-frame{ + width: 100%; + height: 100rpx; + line-height:100rpx; + border-bottom: 1rpx solid #eee; + + } + .sort_store_list .sort-store-frame .sort-store{ + width: 94.5%; + margin: auto; + } + .ai_center{ align-items: center;} \ No newline at end of file diff --git a/packageA/pages/activity_share/activity_share.js b/packageA/pages/activity_share/activity_share.js index fe8437d..b817b78 100644 --- a/packageA/pages/activity_share/activity_share.js +++ b/packageA/pages/activity_share/activity_share.js @@ -159,7 +159,7 @@ Page({ imageUrl: img, }; th.setData({share_hidden:1}); - th.insert_act_share(title,lbid,6); + th.insert_act_share(title,lbid,6,null,th.data.hui_active.payMoney); return ob; }else{ //---秒杀,拼团,促销--- @@ -193,9 +193,9 @@ Page({ //插入活动 if(item.prom_type==3){ var hui_active=this.data.hui_active; - th.insert_act_share(hui_active.name,hui_active.id,5); + th.insert_act_share(hui_active.name,hui_active.id,5,item.goods_sn,price); }else{ - th.insert_act_share(item.title,item.id,ind); + th.insert_act_share(item.title,item.id,ind,item.goods_sn,price); } return ob; @@ -220,7 +220,7 @@ Page({ if(th.data.currentIndex==2){ ind=5;} //插入活动 - th.insert_act_share(title,hui_active.id,ind); + th.insert_act_share(title,hui_active.id,ind,null,null); return ob; } } @@ -546,14 +546,17 @@ Page({ if(that.data.currentIndex==1){ ind=4; } - + + //-- 价格 -- + var pri0 = th.data.share_good.shop_price; + if (th.data.share_good.price) + pri0 = th.data.share_good.price; if(th.data.share_good.prom_type==3){ - th.insert_act_share(th.data.hui_active.name,th.data.hui_active.id,5); //插入分享 + th.insert_act_share(th.data.hui_active.name,th.data.hui_active.id,5,th.data.share_good.goods_sn,pri0); //插入分享 }else{ - th.insert_act_share(th.data.share_good.title,th.data.share_good.id,ind); //插入分享 + th.insert_act_share(th.data.share_good.title,th.data.share_good.id,ind,th.data.share_good.goods_sn,pri0); //插入分享 } - - + ///二微码 var path3 = os.url + "/api/wx/open/app/user/getWeAppEwm/" + os.stoid + "?sceneValue=" + scene + "&pageValue=pages/goods/goodsInfo/goodsInfo"; @@ -624,9 +627,7 @@ Page({ context.setFillStyle("red") context.fillText("¥", 416 * unit, 185 * unit); context.setFontSize(31 * unit) - var pri0 = th.data.share_good.shop_price; - if (th.data.share_good.price) - pri0 = th.data.share_good.price; + pri0 = parseFloat(pri0).toFixed(2); context.fillText(pri0, 438 * unit, 185 * unit); @@ -1136,7 +1137,7 @@ Page({ }, //-- 推送活动分享 -- - insert_act_share:function(title,actid,ind){ + insert_act_share:function(title,actid,ind,ShareActNo,ActMoney){ var th = this; var url="/api/weshop/sharetypeList/save"; var req_data={ @@ -1149,6 +1150,11 @@ Page({ shareTime:ut.gettimestamp(), storeId:os.stoid } + + if(!ShareActNo) ShareActNo=actid; //如果没有带编号就带活动id + if(ActMoney) req_data.ActMoney=ActMoney; //如果金额就要把参数带入 + req_data.ShareActNo=ShareActNo; + //插入数据 getApp().request.post(url,{ data:req_data, @@ -1164,8 +1170,8 @@ Page({ data:req_data, success:function(){} }) - - + + } diff --git a/packageA/pages/live_share/live_share.js b/packageA/pages/live_share/live_share.js index 7d3f742..8e15cf0 100644 --- a/packageA/pages/live_share/live_share.js +++ b/packageA/pages/live_share/live_share.js @@ -207,7 +207,8 @@ Page({ shareStaffId:th.data.StaffId, shareStorageId:th.data.StorageId, shareTime:ut.gettimestamp(), - storeId:os.stoid + storeId:os.stoid, + ShareActNo:actid } //插入数据 getApp().request.post(url,{ diff --git a/packageA/pages/prom_list/prom_list.js b/packageA/pages/prom_list/prom_list.js index 9ca84cc..b109c30 100644 --- a/packageA/pages/prom_list/prom_list.js +++ b/packageA/pages/prom_list/prom_list.js @@ -40,12 +40,16 @@ Page({ g_buy_num: null, sele_collocation:null, + room_id:0, //房间号 }, //------初始化加载---------- onLoad: function(t) { var goods_id=t.goods_id; + var room_id=t.room_id; this.setData({gid:goods_id}); + + if(room_id) this.data.room_id=room_id; //房间号要存起来 var ee=this,th=ee,that=ee; var first_leader=t.first_leader; if(first_leader){ @@ -89,9 +93,16 @@ Page({ var appd=getApp().globalData; var w_time = setInterval(function() { if (that.data.is_get_local_ok == 0) return false; + if (!that.data.data) return false; clearInterval(w_time); var distance = null; var e=JSON.parse(JSON.stringify(ee)); + + if(th.data.data) var g_distr_type=th.data.data.distr_type; + e.is_no_dis=0; + if(e.distr_type!=0 && g_distr_type!=0 && e.distr_type!=g_distr_type ){ + e.is_no_dis=1; + } //如果有开启近距离的话,同时距离优不一样了 if (that.data.lat != null) { @@ -405,7 +416,15 @@ Page({ th.data.sele_collocation[jj]['guide_type']=newd['guide_type']; } } - + + //-- 如果有房间号的时候 -- + if(th.data.room_id){ + newd['room_id']=th.data.room_id; + for(var nn in th.data.sele_collocation ){ + th.data.sele_collocation[nn]['room_id']=newd['room_id']; + } + } + //-----如果是秒杀,团购,积分购,拼团----- if (th.data.data.prom_type != 5) { @@ -624,6 +643,16 @@ Page({ collocationList[i].is_collocation=1; if(!th.data.sele_collocation) th.data.sele_collocation=new Array(); th.data.sele_collocation.push(collocationList[i]); + + var the_dis_t=collocationList[i].distr_type; + //如果有默认门店的判断门店匹配情况 + if(th.data.def_pick_store && th.data.def_pick_store.distr_type!=0 && the_dis_t!=0 && the_dis_t!=th.data.def_pick_store.distr_type ){ + th.data.def_pick_store.is_no_dis=1; + th.setData({def_pick_store:th.data.def_pick_store}); + }else{ + th.data.def_pick_store.is_no_dis=0; + th.setData({def_pick_store:th.data.def_pick_store}); + } } } if(!th.data.sele_collocation){ @@ -694,9 +723,21 @@ Page({ var th = this,that=this; var timer_get = setInterval(function() { if (th.data.is_get_local_ok == 0) return false; - var dd = null, + var dd = null, + c_list=th.data.collocationList, i = getApp().request; - var g_distr_type = th.data.data.distr_type; + var g_distr_type = th.data.data.distr_type; + var collocationList=th.data.collocationList; + + //获取所有的门店 + if(g_distr_type==0 && collocationList ){ + for(var i in collocationList){ + if(collocationList[i].sele && collocationList[i].distr_type>0){ + g_distr_type=collocationList[i].distr_type; + } + } + } + if (g_distr_type != 0) { dd = { store_id: o.stoid, @@ -1164,7 +1205,7 @@ Page({ is_gps: 1 }); //th.onShow(); - //th.get_sto(); + th.get_sto(); }, fail: function(res) { //th.onShow(); @@ -1187,6 +1228,7 @@ Page({ }) }else{ th.data.is_get_local_ok = 1; + th.get_sto(); } if(ind!=undefined && ind!=null ){ @@ -1574,11 +1616,49 @@ Page({ _errObj[_errImg] = "/public/images/default_goods_image_240.gif"; this.setData(_errObj) //注意这里的赋值方式,只是将数据列表中的此项图片路径值替换掉 ; }, + //判断来个商品的配送的方式是不是一致 + check_men_dian(g1,g2){ + if(g1.distr_type!=0 && g2.distr_type!=0 && g1.distr_type!=g2.distr_type){ + return 0; + } + return 1; + }, set_sele:function (e) { + var th=this; var index=e.currentTarget.dataset.ind; var set=e.currentTarget.dataset.set; var text="collocationList["+index+"].sele"; + + //判断门店匹配不匹配 + var click_item=this.data.collocationList[index]; + var c_list=this.data.collocationList; + if(set==1){ + //-- 选择的商品的门店配送方式和主商品比较 -- + if(!th.check_men_dian(click_item,th.data.data)){ + wx.showToast({ + title: "商品的配送方式不一致", + icon: 'none', + duration: 2000 + }) + return false; + } + //-- 判断从商品 -- + for(var ij in this.data.collocationList){ + if(this.data.collocationList[ij].sele){ + if(!th.check_men_dian(click_item,this.data.collocationList[ij])){ + wx.showToast({ + title: "商品的配送方式不一致", + icon: 'none', + duration: 2000 + }) + return false; + } + } + } + + } + var ob={}; ob[text]= parseInt(set); this.setData(ob); diff --git a/packageA/pages/prom_list/prom_list.wxml b/packageA/pages/prom_list/prom_list.wxml index 3ae62ef..ea700e8 100644 --- a/packageA/pages/prom_list/prom_list.wxml +++ b/packageA/pages/prom_list/prom_list.wxml @@ -115,7 +115,8 @@ (库存不足) - (库存不足) + (配送不匹配) + (库存不足) @@ -177,6 +178,11 @@ 库存不足 + + + 立即购买 + + 立即购买 diff --git a/packageA/pages/prom_list/prom_list.wxss b/packageA/pages/prom_list/prom_list.wxss index e1d5663..d7b4120 100644 --- a/packageA/pages/prom_list/prom_list.wxss +++ b/packageA/pages/prom_list/prom_list.wxss @@ -357,4 +357,9 @@ border-bottom: 1px solid #eee; padding-bottom: 15px; margin-bottom:40rpx; - } \ No newline at end of file + } + + .join-cart>view.no_store { + width: 58%; background-color: #adadad; + } +.no_store{color:#d60021; font-size: 26rpx;} \ No newline at end of file diff --git a/packageA/pages/quan/quan.js b/packageA/pages/quan/quan.js index 58460a6..8e36521 100644 --- a/packageA/pages/quan/quan.js +++ b/packageA/pages/quan/quan.js @@ -87,7 +87,7 @@ Page({ path:url, }; th.setData({share_hidden:1}); - th.insert_quan_share(title,th.data.hui_active.id); + th.insert_quan_share(title,th.data.hui_active.id,th.data.hui_active.money); return ob; }, @@ -179,7 +179,7 @@ Page({ }, //-- 推送活动分享 -- - insert_quan_share:function(title,actid){ + insert_quan_share:function(title,actid,price){ var th = this; var url="/api/weshop/sharetypeList/save"; var req_data={ @@ -190,8 +190,11 @@ Page({ shareStaffId:th.data.StaffId, shareStorageId:th.data.StorageId, shareTime:ut.gettimestamp(), - storeId:os.stoid + storeId:os.stoid, + ShareActNo:actid, + ActMoney:price } + //插入数据 getApp().request.post(url,{ data:req_data, diff --git a/packageA/pages/quan/quan.wxml b/packageA/pages/quan/quan.wxml index c344c6d..29dca2c 100644 --- a/packageA/pages/quan/quan.wxml +++ b/packageA/pages/quan/quan.wxml @@ -29,7 +29,12 @@ {{filters.format_time(getcurday+3600*24*item.startdays)}}至 {{filters.format_time(getcurday+3600*24*item.days)}}不限 - {{filters.toFix(item.money,2)}} + {{filters.toFix(item.money,2)}} + + + + + diff --git a/packageA/pages/quan_list/quan_list.wxml b/packageA/pages/quan_list/quan_list.wxml index 73ad493..1eb28bc 100644 --- a/packageA/pages/quan_list/quan_list.wxml +++ b/packageA/pages/quan_list/quan_list.wxml @@ -25,7 +25,13 @@ {{filters.format_time(item.use_start_time)}} {{filters.format_time(item.use_end_time)}}不限 - 有效期 {{filters.format_time(getcurday+3600*24*item.startdays)}}至 {{filters.format_time(getcurday+3600*24*item.days)}}不限 + 有效期 {{filters.format_time(getcurday+3600*24*item.startdays)}} + {{filters.format_time(getcurday)}} + 至 + {{filters.format_time(getcurday+3600*24*item.days)}} + 不限 + + 每人限领:{{item.everyone_num}}不限 diff --git a/packageA/pages/quan_pro/quan_pro.wxml b/packageA/pages/quan_pro/quan_pro.wxml index 1a84485..899be99 100644 --- a/packageA/pages/quan_pro/quan_pro.wxml +++ b/packageA/pages/quan_pro/quan_pro.wxml @@ -33,9 +33,9 @@ {{filters.format_time(q_data.use_start_time)}} {{filters.format_time(q_data.use_end_time)}}不限 - 有效期 - - {{filters.format_time(getcurday+3600*24*q_data.startdays)}}至 + 有效期 + {{filters.format_time(getcurday+3600*24*q_data.startdays)}} + {{filters.format_time(getcurday)}} {{filters.format_time(getcurday+3600*24*q_data.days)}}不限 diff --git a/pages/cart/cart/cart.js b/pages/cart/cart/cart.js index ab25a7e..ec343f7 100644 --- a/pages/cart/cart/cart.js +++ b/pages/cart/cart/cart.js @@ -1,1410 +1,1526 @@ var t = getApp(), - a = t.request, - oo = t.globalData.setting, - os=oo, - app = getApp(), - rq = t.request, - ut = require("../../../utils/util.js"); + a = t.request, + oo = t.globalData.setting, + os=oo, + app = getApp(), + rq = t.request, + ut = require("../../../utils/util.js"); var regeneratorRuntime = require('../../../utils/runtime.js'); Page({ - data: { - url: t.globalData.setting.url, - resourceUrl: t.globalData.setting.resourceUrl, - iurl: t.globalData.setting.imghost, - requestData: null, - checkAllToggle: 0, - total_fee: 0, //结算金额 - total_num: 0, //结算数量 - all_num: 0, //购物车中所有商品数量 - allsto: null, - imgUrl: t.globalData.setting.imghost, - is_has_flash: 0, //是否又秒杀活动 - is_edit: 0, //是否编辑 - is_load: 0, //是否已加载 - up_dating: 0, //更新中 - isreduce: 0, //商品数量是否可减 - isadd: 0, //是否可以加商品数量 - - card_field:"", - bconf:null, - btn_click:1, - }, - onLoad: function() { - var a = this,ee=a; - //----获取系统参数----- - getApp().getConfig2(function(e) { - ee.setData({ - bconfig: e, - sales_rules:e.sales_rules - }); - }) - - wx.setNavigationBarTitle({ - title: "购物车", - }) - - //判断是否有登录 - t.auth.hadAuth() && t.getUserInfo(function() { - a.getCardList(); - }); - - }, - onShow: function() { - - if (typeof this.getTabBar === 'function' && this.getTabBar()) { - var index=getApp().getPageIndex(this); - this.getTabBar().setData({ - active: index //数字是当前页面在tabbar的索引 - }) - - getApp().requestCardNum(this); - } - - var th = this; - this.setData({requestData:null,is_load:0}); - //调用底部导航 - //t.editTabBar(th,getApp().globalData.setting.stoid,getApp().globalData.url); - this.getCardList(); - - - //--获取是否又秒杀活动-- - getApp().request.promiseGet("/api/ms/flash_sale/spikepage", { - data: { - store_id: oo.stoid, - timetype: 2, - is_end: 0, - is_show: 1, - pageSize: 1 - }, - }).then(res => { - if (res.data.code == 0 && res.data.data && res.data.data.pageData.length > 0) { - th.setData({ - is_has_flash: 1 + data: { + url: t.globalData.setting.url, + resourceUrl: t.globalData.setting.resourceUrl, + iurl: t.globalData.setting.imghost, + requestData: null, + checkAllToggle: 0, + total_fee: 0, //结算金额 + total_num: 0, //结算数量 + all_num: 0, //购物车中所有商品数量 + allsto: null, + imgUrl: t.globalData.setting.imghost, + is_has_flash: 0, //是否又秒杀活动 + is_edit: 0, //是否编辑 + is_load: 0, //是否已加载 + up_dating: 0, //更新中 + isreduce: 0, //商品数量是否可减 + isadd: 0, //是否可以加商品数量 + + card_field:"", + bconf:null, + btn_click:1, + }, + onLoad: function() { + var a = this,ee=a; + //----获取系统参数----- + getApp().getConfig2(function(e) { + ee.setData({ + bconfig: e, + sales_rules:e.sales_rules + }); }) - } - }); - }, + wx.setNavigationBarTitle({ + title: "购物车", + }) - onHide(){ - for(var i = 1; i < 100; i++) { - clearInterval(i); - } - }, - - //-------------获取购物车列表,要安装门店进行分类订单----------- - getCardList: function() { - var th = this; - //如果门店还未读出来的时候 - if (th.data.allsto == null) { - //读取门店 - app.get_allsto(function(e) { - th.setData({ - allsto: e + //判断是否有登录 + t.auth.hadAuth() && t.getUserInfo(function() { + a.getCardList(); }); - th.get_cart(); - }) - } else { - th.get_cart(); - } - - //要获取会员是不是等级会员 - getApp().getConfig2(function(conf){ - //--- 看后台是不是有开通等级卡 --- - if(conf.switch_list){ - var s_list=JSON.parse(conf.switch_list); - var user=getApp().globalData.userInfo; - //如果后台有开启等级价的功能 - if(user && parseInt(s_list.rank_switch)==2 && 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 && now0) { - for (var i = 0; i < carr.length; i++) { - var item = carr[i]; - var good = null; - if(item.is_gift){ - var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id; - getApp().request.delete(url, { - success: function (t) { - } - }); - //商品已经下架 - continue; - } - - await getApp().request.promiseGet("/api/weshop/goods/get/" + os.stoid + "/" + item.goods_id, {}).then(res => { - good = res.data.data; + + }, + onShow: function() { + + if (typeof this.getTabBar === 'function' && this.getTabBar()) { + var index=getApp().getPageIndex(this); + this.getTabBar().setData({ + active: index //数字是当前页面在tabbar的索引 }) - if(!good){ - var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id; - getApp().request.delete(url, { - success: function (t) { - } - }); - continue; - } - - var tt = ut.gettimestamp(); - //如果商品下架了,或者商品是赠品,一开始都要清除 - if ((good.down_time > 0 && good.down_time < tt) || good.is_on_sale == 0) { - var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id; - getApp().request.delete(url, { - success: function (t) { - } - }); - //商品已经下架 - continue; + + getApp().requestCardNum(this); + } + + var th = this; + this.setData({requestData:null,is_load:0}); + //调用底部导航 + //t.editTabBar(th,getApp().globalData.setting.stoid,getApp().globalData.url); + //----获取系统参数----- + getApp().getConfig2(function(e) { + var json_d = JSON.parse(e.switch_list); + var is_open_offline=json_d.is_pricing_open; + th.setData({ + bconfig: e,sales_rules:e.sales_rules + }); + + getApp().request.promiseGet("/store/storemoduleendtime/page?store_id=" +os.stoid + "&type=6",{}).then(res=>{ + //未购买 + if(res.data.code!=0 || !res.data.data || !res.data.data.pageData || !res.data.data.pageData.length){ + is_open_offline=0; + }else{ + //已经过期 + var item=res.data.data.pageData[0]; + if(item.end_time { + if (res.data.code == 0 && res.data.data && res.data.data.pageData.length > 0) { + th.setData({ + is_has_flash: 1 + }) } - - //如果秒杀活动都去掉了,或者结束了,那么这个商品也没有必要留着 - if (item.prom_type == 1) { - var prom = null; - await getApp().request.promiseGet("/api/ms/flash_sale/get/" + os.stoid + "/" + item.prom_id, {}).then(res => { - if (res.data.code == 0) prom = res.data.data; - }) - //---如果有活动,不算在一起--- - if (!prom && prom.is_end == 0 && prom.end_time > now && prom.start_time < now) { - var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id; - a.delete(url, { - success: function (t) { - } + }); + + }, + + onHide(){ + for(var i = 1; i < 100; i++) { + clearInterval(i); + } + }, + + //-------------获取购物车列表,要安装门店进行分类订单----------- + getCardList: function() { + var th = this; + //如果门店还未读出来的时候 + if (th.data.allsto == null) { + //读取门店 + app.get_allsto(function(e) { + th.setData({ + allsto: e }); - //商品已经下架 - continue; - } - } - //--判断优惠活动有没有过期-- - else if (item.prom_type == 3) { - var isok = 1; - await getApp().request.promiseGet("/api/weshop/goods/getGoodsPromList/" + os.stoid + "/" + item.goods_id + "/1", {}).then(res => { - if (res.data.code == 0) { - var r_data = res.data.data; - if (!r_data.promGoodsLists) { - var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id; - getApp().request.delete(url, {}); - //商品已经下架 - isok = 0; - } - } else { - var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id; - getApp().request.delete(url, {}); - //商品已经下架 - isok = 0; + th.get_cart(); + }) + } else { + th.get_cart(); + } + + //要获取会员是不是等级会员 + getApp().getConfig2(function(conf){ + //--- 看后台是不是有开通等级卡 --- + if(conf.switch_list){ + var s_list=JSON.parse(conf.switch_list); + var user=getApp().globalData.userInfo; + //如果后台有开启等级价的功能 + if(user && parseInt(s_list.rank_switch)==2 && 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 && now0) { + for (var i = 0; i < carr.length; i++) { + var item = carr[i]; + var good = null; + if(item.is_gift){ + var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id; + getApp().request.delete(url, { + success: function (t) { + } + }); + //商品已经下架 + continue; + } + + await getApp().request.promiseGet("/api/weshop/goods/get/" + os.stoid + "/" + item.goods_id, {}).then(res => { + good = res.data.data; + }) + if(!good){ + var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id; + getApp().request.delete(url, { + success: function (t) { + } + }); + continue; + } + + var tt = ut.gettimestamp(); + //如果商品下架了,或者商品是赠品,一开始都要清除 + if ((good.down_time > 0 && good.down_time < tt) || good.is_on_sale == 0) { + var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id; + getApp().request.delete(url, { + success: function (t) { + } + }); + //商品已经下架 + continue; + } - var pcid = item.pick_id; - var find = 0; - //---------循环查找门店--- - if (arr.length > 0) { - for (var j = 0; j < arr.length; j++) { - if (arr[j].pid == pcid) { - arr[j].goods.push(item); - find = 1; - break; + //如果秒杀活动都去掉了,或者结束了,那么这个商品也没有必要留着 + if (item.prom_type == 1) { + var prom = null; + await getApp().request.promiseGet("/api/ms/flash_sale/get/" + os.stoid + "/" + item.prom_id, {}).then(res => { + if (res.data.code == 0) prom = res.data.data; + }) + //---如果有活动,不算在一起--- + if (!prom && prom.is_end == 0 && prom.end_time > now && prom.start_time < now) { + var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id; + a.delete(url, { + success: function (t) { + } + }); + //商品已经下架 + continue; + } + } + //--判断优惠活动有没有过期-- + else if (item.prom_type == 3) { + var isok = 1; + await getApp().request.promiseGet("/api/weshop/goods/getGoodsPromList/" + os.stoid + "/" + item.goods_id + "/1", {}).then(res => { + if (res.data.code == 0) { + var r_data = res.data.data; + if (!r_data.promGoodsLists) { + var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id; + getApp().request.delete(url, {}); + //商品已经下架 + isok = 0; + } + } else { + var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id; + getApp().request.delete(url, {}); + //商品已经下架 + isok = 0; + } + }) + if (!isok) continue; + } else if(item.prom_type == 0) { + //如果有优惠活动,要更新活动 + await getApp().request.promiseGet("/api/weshop/goods/getGoodsPromList/" + os.stoid + "/" + item.goods_id + "/1", {}).then(res => { + if (res.data.code == 0) { + var r_data = res.data.data; + if (r_data.promGoodsLists) { + var url = '/api/weshop/cart/update'; + getApp().request.put(url, { + data:{id:item.id,store_id:oo.stoid,prom_type:3,prom_id:r_data.promGoodsLists[0].prom_id} + }); + item.prom_type=3; + item.prom_id=r_data.promGoodsLists[0].prom_id; + } + } + }) + + } + + all_num += item.goods_num; + item.original_img = oo.imghost + item.original_img; + item.selected = 0; + item.erpwareid=good.erpwareid; //要同步下线商品的id + item.shop_price=good.shop_price; //要同步下线商品的id + + var pcid = item.pick_id; + var find = 0; + //---------循环查找门店--- + if (arr.length > 0) { + for (var j = 0; j < arr.length; j++) { + if (arr[j].pid == pcid) { + arr[j].goods.push(item); + find = 1; + break; + } + } + } + + //------如果没有找到----- + if (find == 0) { + var pikname = ''; + //找到门店名称 + for (var k = 0; k < th.data.allsto.length; k++) { + if (pcid == th.data.allsto[k].pickup_id) { + pikname = th.data.allsto[k].pickup_name; + break; + } + } + var narr = new Array(); + narr.push(item); + var ie = { + pid: pcid, + pname: pikname, + goods: narr, + selected: 0 + }; + arr.push(ie); + } + } } - } - } - //------如果没有找到----- - if (find == 0) { - var pikname = ''; - //找到门店名称 - for (var k = 0; k < th.data.allsto.length; k++) { - if (pcid == th.data.allsto[k].pickup_id) { - pikname = th.data.allsto[k].pickup_name; - break; + if(arr.length==0) { + setTimeout(function () { + var goods_list = th.selectComponent("#goods_list"); //组件的id + goods_list.init(); + goods_list.get_list(); + }, 800) } - } - var narr = new Array(); - narr.push(item); - var ie = { - pid: pcid, - pname: pikname, - goods: narr, - selected: 0 - }; - arr.push(ie); - } - } - } + if(th.data.is_open_offline && th.data.is_open_offline>0){ + //-- 此时要实时更新线下取价价格 -- + for(var i=0;i0) continue; + wlist+= encodeURIComponent(list.goods[i].erpwareid)+","; } + wlist=ut.sub_last(wlist); + //调用接口进行赋值 + await getApp().request.promiseGet("/api/weshop/goods/listWarePrice", { + data:{ + store_id:os.stoid, + PickupId:list.pid, + WareIds:wlist, + VIPId:encodeURIComponent(userInfo.erpvipid) + } + }).then(res => { + if(res.data.code==0 && res.data.data && res.data.data.length>0){ + for(var e in res.data.data){ + th.set_cart_offline_price(res.data.data[e],list.goods); + } + } + }) + }, - th.setData({ - requestData: arr, - all_num: all_num, - is_load: 1, - is_edit: 0 - }), - th.doCheckAll(), wx.stopPullDownRefresh(); - - } - }); - }, - //删除商品 - delete_th_item: function(t) { - var e = this; - var a = rq; - console.log(a); - wx.showModal({ - title: "确定删除?", - success: function(s) { - if (s.confirm) { - var r = t.currentTarget.dataset.cartid; - var url = '/api/weshop/cart/del/' + oo.stoid + '/' + r; - a.delete(url, { - success: function(t) { - e.getCardList(); + //-- 设置购物车线下 -- + set_cart_offline_price:function(data,glist) + { + for(var i in glist) { + if(glist[i].erpwareid==data.WareId && glist[i].prom_type==0){ + if(glist[i].goods_price>=data.WarePrice){ + glist[i].is_offline=1; + glist[i].offline_price=data.WarePrice; + glist[i].pricing_type=data.PriceType; + } } - }); } - } - }); - }, - - //-----------------点击输入修改商品数量--------------- - valueToNum: function(t) { - if(!this.data.is_load) return false; - //控制住,避免事件响应冲突,只有input有输入的时候,才刷新 - if(this.data.btn_click){ - return false; - } - this.data.btn_click=1; - - var a = t.currentTarget.dataset.item; - var b = t.currentTarget.dataset.pitems; - a = this.data.requestData[b].goods[a]; - var e = a; - var th=this; - - - - if (a = isNaN(t.detail.value) || t.detail.value < 1 ? 1 : parseInt(t.detail.value)) { - var s = { - goods_num: a, - goods_id: e.goods_id, - id: e.id, - store_id: oo.stoid - }; - th.postCardList(s, t.currentTarget.dataset.item, t.currentTarget.dataset.pitems); - } - - - - }, - - //-------------加数量--------------------- - addNum: function(t) { - if(!this.data.is_load) return false; - if (this.data.up_dating == 1) return false; - this.data.up_dating = 1; - - var a = t.currentTarget.dataset.item; - var b = t.currentTarget.dataset.pitems; - a = this.data.requestData[b].goods[a]; - - if (a.goods_num 0) { - for (var i = 0; i < iarr.length; i++) { - if(iarr[i].is_gift==1) continue; - if (iarr[i].distr_type != 0) { - if (fir == 0) { - fir = iarr[i].distr_type; - } else { - if (fir != iarr[i].distr_type && iarr[i].distr_type != 0) { - isok = 0; - break; + if (text_arr != "") { + wx.showModal({ + title: '提示', + content: text_arr + '不能与门店中其他商品一起结算,配送方式不一致' + }); + return false; + } else { + e.setData({ + checkAllToggle: !e.data.checkAllToggle, + total_fee: tfeel.toFixed(2), + total_num: t_num, + }); + + for(var i in e.data.requestData){ + e.check_prom_activity(i) + } + + } + }, + + //------门店全选按钮,要判断是否门店的匹配方式一致--------- + check_th_all_item:async function(ele) { + var e = this, + pitems = ele.currentTarget.dataset.pitems, + item = this.data.requestData[pitems].goods, + sele = this.data.requestData[pitems].selected; + this.data.btn_click=1; + + var isok = 1, + fir = 0, + iarr = item; + if (!sele && item.length > 0) { + for (var i = 0; i < iarr.length; i++) { + if(iarr[i].is_gift==1) continue; + if (iarr[i].distr_type != 0) { + if (fir == 0) { + fir = iarr[i].distr_type; + } else { + if (fir != iarr[i].distr_type && iarr[i].distr_type != 0) { + isok = 0; + break; + } + } + } } - } } - } - } - if (!isok) { - wx.showModal({ - title: '提示', - content: '同一门店自提和物流的商品不能同时结算' - }); - return false; - } + if (!isok) { + wx.showModal({ + title: '提示', + content: '同一门店自提和物流的商品不能同时结算' + }); + return false; + } - for (var i = 0; i < item.length; i++) { - var txt = "requestData[" + pitems + "].goods[" + i + "].selected"; - e.setData({ - [txt]: Number(!sele), - }); - } - var txt = "requestData[" + pitems + "].selected"; - e.setData({ - [txt]: Number(!sele), - }); - await e.check_prom_activity(pitems); - this.doCheckAll(); - }, - - //---------------单选,也要判断门店的配送方式是否一致-------------- - check_th_item: async function(t) { - var e = this, - item = t.currentTarget.dataset.item, - pitems = t.currentTarget.dataset.pitems; - a = this.data.requestData[pitems].goods[item]; - var isok = 1,fir = 0; - var iarr = e.data.requestData[pitems].goods; - this.data.btn_click=1; - - - //当数量大于1,且是选择的时候 - if (iarr.length > 1 && !a.selected) { - for (var i = 0; i < iarr.length; i++) { - if(iarr[i].is_gift==1) continue; - - //---当不是本身选择项目---- - var sel = iarr[i].selected; - if (iarr[i].distr_type != 0 && (sel || iarr[i].id == a.id)) { - if (fir == 0) { - fir = iarr[i].distr_type; - } else { - if (fir != iarr[i].distr_type && iarr[i].distr_type != 0) { - isok = 0; - break; + for (var i = 0; i < item.length; i++) { + var txt = "requestData[" + pitems + "].goods[" + i + "].selected"; + e.setData({ + [txt]: Number(!sele), + }); + } + var txt = "requestData[" + pitems + "].selected"; + e.setData({ + [txt]: Number(!sele), + }); + await e.check_prom_activity(pitems); + this.doCheckAll(); + }, + + //---------------单选,也要判断门店的配送方式是否一致-------------- + check_th_item: async function(t) { + var e = this, + item = t.currentTarget.dataset.item, + pitems = t.currentTarget.dataset.pitems; + a = this.data.requestData[pitems].goods[item]; + var isok = 1,fir = 0; + var iarr = e.data.requestData[pitems].goods; + this.data.btn_click=1; + + + //当数量大于1,且是选择的时候 + if (iarr.length > 1 && !a.selected) { + for (var i = 0; i < iarr.length; i++) { + if(iarr[i].is_gift==1) continue; + + //---当不是本身选择项目---- + var sel = iarr[i].selected; + if (iarr[i].distr_type != 0 && (sel || iarr[i].id == a.id)) { + if (fir == 0) { + fir = iarr[i].distr_type; + } else { + if (fir != iarr[i].distr_type && iarr[i].distr_type != 0) { + isok = 0; + break; + } + } + } } - } } - } - } - if (!isok) { - wx.showModal({ - title: '提示', - content: '同一门店自提和物流的商品不能同时结算' - }); - } else { - var txt = "requestData[" + pitems + "].goods[" + item + "].selected"; - e.setData({ - [txt]: Number(!a.selected), - }); - - if(a.prom_type==3){ - //判断商品是不是优惠活动 - await e.check_prom_activity(pitems); - } - - this.doCheckAll(); - } - }, - //----------检查是否全选--------- - doCheckAll: function() { - var th = this, - tfeel = 0, - t_num = 0, - ischeck = 1, - car = this.data.requestData, - all_num = 0; - - for (var a = 0; a < car.length; a++) { - var item = car[a].goods, - is_s_sele = 1; - for (var c = 0; c < item.length; c++) { - if(item[c].is_gift) continue; - all_num += item[c].goods_num; - if (item[c].selected == 0) { - ischeck = 0; - is_s_sele = 0; + if (!isok) { + wx.showModal({ + title: '提示', + content: '同一门店自提和物流的商品不能同时结算' + }); } else { - tfeel += item[c].goods_num * item[c].goods_price; - t_num += item[c].goods_num; + var txt = "requestData[" + pitems + "].goods[" + item + "].selected"; + e.setData({ + [txt]: Number(!a.selected), + }); + + if(a.prom_type==3){ + //判断商品是不是优惠活动 + await e.check_prom_activity(pitems); + } + + this.doCheckAll(); } - } + }, + //----------检查是否全选--------- + doCheckAll: function() { + var th = this, + tfeel = 0, + t_num = 0, + ischeck = 1, + car = this.data.requestData, + all_num = 0; + + for (var a = 0; a < car.length; a++) { + var c_item=car[a]; + var item = car[a].goods, + is_s_sele = 1; + var offline_price=0; + var offline_num=0; + for (var c = 0; c < item.length; c++) { + if(item[c].is_gift) continue; + all_num += item[c].goods_num; + if (item[c].selected == 0) { + ischeck = 0; + is_s_sele = 0; + } else { + tfeel += item[c].goods_num * item[c].goods_price; + t_num += item[c].goods_num; + } - var txt = "requestData[" + a + "].selected"; - th.setData({ - [txt]: Number(is_s_sele) - }); + //-- 如果这个商品是线下取价的时候 -- + if(item[c].is_offline){ + offline_price+= (item[c].goods_price-item[c].offline_price)*item[c].goods_num; + offline_num+=item[c].goods_num; + } + + } + + var txt = "requestData[" + a + "].selected"; + th.setData({ + [txt]: Number(is_s_sele) + }); + + //当有线下取价的时候 + if(offline_price){ + var txt1= "requestData[" + a + "].offline_price"; + var txt2= "requestData[" + a + "].offline_num"; + th.setData({ + [txt1]: offline_price.toFixed(2), + [txt2]: offline_num, + }); + } - } - this.setData({ - checkAllToggle: ischeck, - total_fee: tfeel.toFixed(2), - all_num: all_num, - total_num: t_num - }); - }, - - //----------------------更新购物数量,加减,调用接口--------------------- - postCardList: function(t, item, pitem) { - - var e = this,th=e; - var user_id = getApp().globalData.user_id; - console.log('update'); - console.log(t); - rq.get("/api/weshop/goods/get/" + oo.stoid + "/" + t.goods_id, { - isShowLoading: 0, - async success(d) { - var limit = d.data.data.viplimited; - var store_count = d.data.data.store_count; - var wareIds=d.data.data.erpwareid; - - var goodsinfo = e.data.requestData[pitem].goods[item]; - var promgoodsbuynum = 0; - var goodsbuynum = 0; - - //--要获得商品,该用户买了多少件,同步应用-- - await getApp().request.promiseGet("/api/weshop/ordergoods/getUserBuyGoodsNum", { - data: { - store_id: oo.stoid, - user_id: user_id, - goods_id: goodsinfo.goods_id, - prom_type: goodsinfo.prom_type, - prom_id: goodsinfo.prom_id - }, - }).then(res => { - var buy_num_data = res.data.data; - if (buy_num_data.promgoodsbuynum) promgoodsbuynum = buy_num_data.promgoodsbuynum; - goodsbuynum = buy_num_data.goodsbuynum; - }) - - - var buyed_mum2 = t.goods_num + goodsbuynum; - if (buyed_mum2 > limit && limit > 0) { - wx.showModal({ - title: '提示', - content: '购买数量超出商品限购' - }); - var txt = "requestData[" + pitem + "].goods[" + item + "].goods_num"; - var cbuy = limit - buyed_mum2; - e.setData({ - [txt]: cbuy > 0 ? cbuy : 0, - }); - e.doCheckAll(); - - t.goods_num=cbuy > 0 ? cbuy : 0, - e.update_cart(t, pitem, item); - return false; } + this.setData({ + checkAllToggle: ischeck, + total_fee: tfeel.toFixed(2), + all_num: all_num, + total_num: t_num + }); + }, - - if (goodsinfo.prom_type == 1) { - //读取秒杀 - rq.get("/api/ms/flash_sale/getFlashSaleOne/" + oo.stoid + "/" + goodsinfo.prom_id, { + //----------------------更新购物数量,加减,调用接口--------------------- + postCardList: function(t, item, pitem) { + + var e = this,th=e; + var user_id = getApp().globalData.user_id; + console.log('update'); + console.log(t); + rq.get("/api/weshop/goods/get/" + oo.stoid + "/" + t.goods_id, { isShowLoading: 0, - success: function(res_d) { - - if(res_d.data.code==0){ - if (t.goods_num > store_count) { - wx.showModal({ - title: '提示', - content: '购买数量超出商品库存' - }); - var txt = "requestData[" + pitem + "].goods[" + item + "].goods_num"; - e.setData({ - [txt]: store_count - }); - e.doCheckAll(); - - t.goods_num=store_count; - e.update_cart(t, pitem, item); - - return false; - } - - var false_data = res_d.data.data; - //--判断库存-- - if (t.goods_num > false_data.goods_num - false_data.buy_num) { - wx.showModal({ - title: '提示', - content: '购买数量超出活动库存' - }); - var txt = "requestData[" + pitem + "].goods[" + item + "].goods_num"; - e.setData({ - [txt]: false_data.goods_num - false_data.buy_num - }); - e.doCheckAll(); - - t.goods_num=false_data.goods_num - false_data.buy_num; - e.update_cart(t, pitem, item); - - return false; - } - - //--判断redis数量是否已经超出-- - if (t.goods_num > false_data.redisnum) { - wx.showModal({ - title: '提示', - content: '购买数量超出商品库存' - }); - var txt = "requestData[" + pitem + "].goods[" + item + "].goods_num"; - e.setData({ - [txt]: false_data.redisnum - }); - e.doCheckAll(); - - t.goods_num=false_data.redisnum; - e.update_cart(t, pitem, item); - - - return false; - } - - //--活动的限购是不是要判断-- - if (t.goods_num + promgoodsbuynum > false_data.buy_limit && false_data.buy_limit > 0) { - wx.showModal({ - title: '提示', - content: '购买数量超出秒杀限购' - }); - var txt = "requestData[" + pitem + "].goods[" + item + "].goods_num"; - e.setData({ - [txt]: false_data.false_data.buy_limit - }); - e.doCheckAll(); - - t.goods_num=false_data.false_data.buy_limit; - e.update_cart(t, pitem, item); - return false; - } - e.update_cart(t, pitem, item); - - }else{ - //--- 看一下是不是线下库存 --- - if(th.data.sales_rules==2){ - th.check_down_line(t, pitem, item,wareIds); - }else{ - if (t.goods_num > store_count) { - wx.showModal({ - title: '提示', - content: '购买数量超出商品库存' - }); - var txt = "requestData[" + pitem + "].goods[" + item + "].goods_num"; - e.setData({ - [txt]: store_count - }); - e.doCheckAll(); - return false; - } - e.update_cart(t, pitem, item); - } - } - + async success(d) { + var limit = d.data.data.viplimited; + var store_count = d.data.data.store_count; + var wareIds=d.data.data.erpwareid; + + var goodsinfo = e.data.requestData[pitem].goods[item]; + var promgoodsbuynum = 0; + var goodsbuynum = 0; + + //--要获得商品,该用户买了多少件,同步应用-- + await getApp().request.promiseGet("/api/weshop/ordergoods/getUserBuyGoodsNum", { + data: { + store_id: oo.stoid, + user_id: user_id, + goods_id: goodsinfo.goods_id, + prom_type: goodsinfo.prom_type, + prom_id: goodsinfo.prom_id + }, + }).then(res => { + var buy_num_data = res.data.data; + if (buy_num_data.promgoodsbuynum) promgoodsbuynum = buy_num_data.promgoodsbuynum; + goodsbuynum = buy_num_data.goodsbuynum; + }) + + + var buyed_mum2 = t.goods_num + goodsbuynum; + if (buyed_mum2 > limit && limit > 0) { + wx.showModal({ + title: '提示', + content: '购买数量超出商品限购' + }); + var txt = "requestData[" + pitem + "].goods[" + item + "].goods_num"; + var cbuy = limit - buyed_mum2; + e.setData({ + [txt]: cbuy > 0 ? cbuy : 0, + }); + e.doCheckAll(); + + t.goods_num=cbuy > 0 ? cbuy : 0, + e.update_cart(t, pitem, item); + return false; + } + + + if (goodsinfo.prom_type == 1) { + //读取秒杀 + rq.get("/api/ms/flash_sale/getFlashSaleOne/" + oo.stoid + "/" + goodsinfo.prom_id, { + isShowLoading: 0, + success: function(res_d) { + + if(res_d.data.code==0){ + if (t.goods_num > store_count) { + wx.showModal({ + title: '提示', + content: '购买数量超出商品库存' + }); + var txt = "requestData[" + pitem + "].goods[" + item + "].goods_num"; + e.setData({ + [txt]: store_count + }); + e.doCheckAll(); + + t.goods_num=store_count; + e.update_cart(t, pitem, item); + + return false; + } + + var false_data = res_d.data.data; + //--判断库存-- + if (t.goods_num > false_data.goods_num - false_data.buy_num) { + wx.showModal({ + title: '提示', + content: '购买数量超出活动库存' + }); + var txt = "requestData[" + pitem + "].goods[" + item + "].goods_num"; + e.setData({ + [txt]: false_data.goods_num - false_data.buy_num + }); + e.doCheckAll(); + + t.goods_num=false_data.goods_num - false_data.buy_num; + e.update_cart(t, pitem, item); + + return false; + } + + //--判断redis数量是否已经超出-- + if (t.goods_num > false_data.redisnum) { + wx.showModal({ + title: '提示', + content: '购买数量超出商品库存' + }); + var txt = "requestData[" + pitem + "].goods[" + item + "].goods_num"; + e.setData({ + [txt]: false_data.redisnum + }); + e.doCheckAll(); + + t.goods_num=false_data.redisnum; + e.update_cart(t, pitem, item); + + + return false; + } + + //--活动的限购是不是要判断-- + if (t.goods_num + promgoodsbuynum > false_data.buy_limit && false_data.buy_limit > 0) { + wx.showModal({ + title: '提示', + content: '购买数量超出秒杀限购' + }); + var txt = "requestData[" + pitem + "].goods[" + item + "].goods_num"; + e.setData({ + [txt]: false_data.false_data.buy_limit + }); + e.doCheckAll(); + + t.goods_num=false_data.false_data.buy_limit; + e.update_cart(t, pitem, item); + return false; + } + e.update_cart(t, pitem, item); + + }else{ + //--- 看一下是不是线下库存 --- + if(th.data.sales_rules==2){ + th.check_down_line(t, pitem, item,wareIds); + }else{ + if (t.goods_num > store_count) { + wx.showModal({ + title: '提示', + content: '购买数量超出商品库存' + }); + var txt = "requestData[" + pitem + "].goods[" + item + "].goods_num"; + e.setData({ + [txt]: store_count + }); + e.doCheckAll(); + return false; + } + e.update_cart(t, pitem, item); + } + } + + } + }) + } else { + //--- 看一下是不是线下库存 --- + if(th.data.sales_rules==2){ + th.check_down_line(t, pitem, item,wareIds); + }else{ + if (t.goods_num > store_count) { + wx.showModal({ + title: '提示', + content: '购买数量超出商品库存' + }); + var txt = "requestData[" + pitem + "].goods[" + item + "].goods_num"; + e.setData({ + [txt]: store_count + }); + e.doCheckAll(); + t.goods_num=store_count; + } + e.update_cart(t, pitem, item); + } + } } - }) - } else { - //--- 看一下是不是线下库存 --- - if(th.data.sales_rules==2){ - th.check_down_line(t, pitem, item,wareIds); - }else{ - if (t.goods_num > store_count) { - wx.showModal({ - title: '提示', - content: '购买数量超出商品库存' - }); - var txt = "requestData[" + pitem + "].goods[" + item + "].goods_num"; - e.setData({ - [txt]: store_count - }); - e.doCheckAll(); - t.goods_num=store_count; - } - e.update_cart(t, pitem, item); - } + }); + }, + + //---检验线下库存的数量--- + async check_down_line(t, pitem, item,erpwareid){ + var ob={},th=this; + await this.check_down_line_next(t, pitem, item,erpwareid,function(res){ + ob=res; + }); + var log=0; + if(ob.code==-1){ + wx.showModal({ + title: '提示', + content: '购买数量超出商品库存' + }); + var txt = "requestData[" + pitem + "].goods[" + item + "].goods_num"; + th.setData({ + [txt]: ob.CanOutQty + }); + th.doCheckAll(); + t.goods_num=ob.CanOutQty; } - } - }); - }, - - //---检验线下库存的数量--- - async check_down_line(t, pitem, item,erpwareid){ - var ob={},th=this; - await this.check_down_line_next(t, pitem, item,erpwareid,function(res){ - ob=res; - }); - var log=0; - if(ob.code==-1){ - wx.showModal({ - title: '提示', - content: '购买数量超出商品库存' - }); - var txt = "requestData[" + pitem + "].goods[" + item + "].goods_num"; - th.setData({ - [txt]: ob.CanOutQty - }); - th.doCheckAll(); - t.goods_num=ob.CanOutQty; - } - this.update_cart(t, pitem, item); - }, - - //---检验线下库存的数量的子函数--- - async check_down_line_next(t, pitem, item,erpwareid,func){ - var goodsinfo = this.data.requestData[pitem].goods[item]; - var lock=0,pick_no,plist; - //先读取门店的lock - await getApp().request.promiseGet("/api/weshop/order/ware/lock/page",{ - data:{store_id:os.stoid,wareId:t.goods_id,storageId:goodsinfo.pick_id,pageSize:1000} - }).then(res=>{ - if(res.data.code==0 && res.data.data.total>0){ - for(var i in res.data.data.pageData) - lock+=res.data.data.pageData[i].outQty; - } - }) - //先获取门店的编号 - await getApp().request.promiseGet("/api/weshop/pickup/get/"+os.stoid+"/"+goodsinfo.pick_id,{ - data:{storeId:os.stoid,goodsId:t.goods_id,pickupId:goodsinfo.pick_id} - }).then(res=>{ - if(res.data.code==0){ - pick_no=res.data.data.pickup_no; - } - }) - //读取线下的门店库存 - await getApp().request.promiseGet("/api/weshop/goods/getWareStorages",{ - data:{storageNos:pick_no,wareIds:encodeURIComponent(erpwareid),storeId:os.stoid} - }).then(res=>{ - if(res.data.code==0){ - plist=res.data.data.pageData[0]; - } - }) - var ob={}; ob.code=1; - - if(!plist){ - ob.code=-1;ob.CanOutQty=0;func(ob); return false; - } - - if( t.goods_num>plist.CanOutQty-lock){ - ob.code=-1; - ob.CanOutQty=plist.CanOutQty-lock - if(ob.CanOutQty<0) ob.CanOutQty=0; - } - func(ob) - }, - - - //--更新购物车--- - update_cart: function(t, pitem, item) { - var e = this; - - getApp().request.put("/api/weshop/cart/update", { - data: t, - success:async function(ee) { - var txt = "requestData[" + pitem + "].goods[" + item + "].goods_num"; - - e.setData({ - [txt]: t.goods_num, + this.update_cart(t, pitem, item); + }, + + //---检验线下库存的数量的子函数--- + async check_down_line_next(t, pitem, item,erpwareid,func){ + var goodsinfo = this.data.requestData[pitem].goods[item]; + var lock=0,pick_no,plist; + //先读取门店的lock + await getApp().request.promiseGet("/api/weshop/order/ware/lock/page",{ + data:{store_id:os.stoid,wareId:t.goods_id,storageId:goodsinfo.pick_id,pageSize:1000} + }).then(res=>{ + if(res.data.code==0 && res.data.data.total>0){ + for(var i in res.data.data.pageData) + lock+=res.data.data.pageData[i].outQty; + } + }) + //先获取门店的编号 + await getApp().request.promiseGet("/api/weshop/pickup/get/"+os.stoid+"/"+goodsinfo.pick_id,{ + data:{storeId:os.stoid,goodsId:t.goods_id,pickupId:goodsinfo.pick_id} + }).then(res=>{ + if(res.data.code==0){ + pick_no=res.data.data.pickup_no; + } + }) + //读取线下的门店库存 + await getApp().request.promiseGet("/api/weshop/goods/getWareStorages",{ + data:{storageNos:pick_no,wareIds:encodeURIComponent(erpwareid),storeId:os.stoid} + }).then(res=>{ + if(res.data.code==0){ + plist=res.data.data.pageData[0]; + } + }) + var ob={}; ob.code=1; + + if(!plist){ + ob.code=-1;ob.CanOutQty=0;func(ob); return false; + } + + if( t.goods_num>plist.CanOutQty-lock){ + ob.code=-1; + ob.CanOutQty=plist.CanOutQty-lock + if(ob.CanOutQty<0) ob.CanOutQty=0; + } + func(ob) + }, + + + //--更新购物车--- + update_cart: function(t, pitem, item) { + var e = this; + + getApp().request.put("/api/weshop/cart/update", { + data: t, + success:async function(ee) { + var txt = "requestData[" + pitem + "].goods[" + item + "].goods_num"; + + e.setData({ + [txt]: t.goods_num, + }); + //for(var i in e.data.requestData){ + await e.check_prom_activity(pitem) + //} + e.doCheckAll(); + getApp().requestCardNum(e); + } }); - //for(var i in e.data.requestData){ - await e.check_prom_activity(pitem) - //} - e.doCheckAll(); - getApp().requestCardNum(e); - } - }); - }, - - //-------下拉刷新--------- - onPullDownRefresh: function(t) { - this.getCardList(); - }, - - //--------------去结算------------ - async checkout() { - - if(!this.data.is_load) return false; - if(this.data.up_dating) { - wx.showLoading({ - title:"计算中" - }) - } - - var glist = ""; //用逗号隔开的 - var map = new Map(); //使用map值键进行运算 - var map_limit = new Map(); //使用map值键进行存储限购 - var g_arr = new Array(); //已选的商品列表 - var user_id = getApp().globalData.user_id; - var th = this; - //用于判断是不是积分购的普通购买 - var normal_arr={}; - var ab = 0; //选中 - wx.showLoading(); - for (var i = 0; i < this.data.requestData.length; i++) { - var i_arr = this.data.requestData[i].goods; - - - for (var j = 0; j < i_arr.length; j++) { - if (i_arr[j].selected && i_arr[j].is_gift!=1) { - - if(i_arr[j].is_pd_normal) { - normal_arr[i_arr[j].goods_id]=1; - } - - //map 的key是不会重复,会覆盖,, - var ie = { - goods_id: i_arr[j].goods_id, - id: i_arr[j].id, - goods_price: i_arr[j].goods_price - }; - g_arr.push(ie); - if (map.has(i_arr[j].goods_id + "")) { - var num11 = map.get(i_arr[j].goods_id + ""); - var num22 = parseInt(i_arr[j].goods_num) + parseInt(num11); - map.set(i_arr[j].goods_id + "", num22); - } else { - map.set(i_arr[j].goods_id + "", i_arr[j].goods_num); - } - glist += i_arr[j].goods_id + ","; - ab = 1; - //--普通商品,如果有开启线下库存的功能,要调用线下库存进行计算,赠品不要进行调用线下库存--- - if((i_arr[j].prom_type==0 || i_arr[j].prom_type==3 || i_arr[j].prom_type==5) && th.data.sales_rules==2 && i_arr[j].is_gift!=1){ - //--获取商品的线下商品ID-- - var gd=null; - await getApp().request.promiseGet("/api/weshop/goods/get/" + oo.stoid + "/" + i_arr[j].goods_id,{}).then(res=>{ - if(res.data.code==0) gd=res.data.data; - }) - //--判断商品是线下库存-- - var ob={} - await th.check_down_line_next(i_arr[j],i,j,gd.erpwareid,function(rs){ - ob=rs; - }); - if(ob.code==-1){ - t.my_warnning(gd.goods_name+"门店库存不足", 0, th); - wx.hideLoading(); - return false; - } - - var is_ok=1; - //如果是优惠活动话,要看活动有没有过期 - if(i_arr[j].prom_type==3){ - //判断有没有活动 - await getApp().request.promiseGet("/api/weshop/goods/getGoodsPromList/" + os.stoid+"/"+i_arr[j].goods_id+"/1", {}).then(res => { - if(res.data.code==0){ - if(!res.data.data.promGoodsLists){ - t.my_warnning(i_arr[j].goods_name+"优惠活动已经过期", 0, th); - wx.hideLoading(); - is_ok=0; + }, + + //-------下拉刷新--------- + onPullDownRefresh: function(t) { + this.getCardList(); + }, + + //--------------去结算------------ + async checkout() { + + if(!this.data.is_load) return false; + if(this.data.up_dating) { + wx.showLoading({ + title:"计算中" + }) + } + + var glist = ""; //用逗号隔开的 + var map = new Map(); //使用map值键进行运算 + var map_limit = new Map(); //使用map值键进行存储限购 + var g_arr = new Array(); //已选的商品列表 + var user_id = getApp().globalData.user_id; + var th = this; + //用于判断是不是积分购的普通购买 + var normal_arr={}; + var ab = 0; //选中 + wx.showLoading(); + for (var i = 0; i < this.data.requestData.length; i++) { + var i_arr = this.data.requestData[i].goods; + for (var j = 0; j < i_arr.length; j++) { + if (i_arr[j].selected && i_arr[j].is_gift!=1) { + + if(i_arr[j].is_pd_normal) { + normal_arr[i_arr[j].goods_id]=1; + } + //map 的key是不会重复,会覆盖,, + var ie = { + goods_id: i_arr[j].goods_id, + id: i_arr[j].id, + goods_price: i_arr[j].goods_price, + }; + //判断是不是线下取价 + if(i_arr[j].is_offline){ + ie.is_offline=i_arr[j].is_offline; + ie.offline_price=i_arr[j].offline_price; + ie.pricing_type=i_arr[j].pricing_type; + } + g_arr.push(ie); + + if (map.has(i_arr[j].goods_id + "")) { + var num11 = map.get(i_arr[j].goods_id + ""); + var num22 = parseInt(i_arr[j].goods_num) + parseInt(num11); + map.set(i_arr[j].goods_id + "", num22); + } else { + map.set(i_arr[j].goods_id + "", i_arr[j].goods_num); + } + glist += i_arr[j].goods_id + ","; + ab = 1; + //--普通商品,如果有开启线下库存的功能,要调用线下库存进行计算,赠品不要进行调用线下库存--- + if((i_arr[j].prom_type==0 || i_arr[j].prom_type==3 || i_arr[j].prom_type==5) && th.data.sales_rules==2 && i_arr[j].is_gift!=1){ + //--获取商品的线下商品ID-- + var gd=null; + await getApp().request.promiseGet("/api/weshop/goods/get/" + oo.stoid + "/" + i_arr[j].goods_id,{}).then(res=>{ + if(res.data.code==0) gd=res.data.data; + }) + //--判断商品是线下库存-- + var ob={} + await th.check_down_line_next(i_arr[j],i,j,gd.erpwareid,function(rs){ + ob=rs; + }); + if(ob.code==-1){ + t.my_warnning(gd.goods_name+"门店库存不足", 0, th); + wx.hideLoading(); + return false; } + + var is_ok=1; + //如果是优惠活动话,要看活动有没有过期 + if(i_arr[j].prom_type==3){ + //判断有没有活动 + await getApp().request.promiseGet("/api/weshop/goods/getGoodsPromList/" + os.stoid+"/"+i_arr[j].goods_id+"/1", {}).then(res => { + if(res.data.code==0){ + if(!res.data.data.promGoodsLists){ + t.my_warnning(i_arr[j].goods_name+"优惠活动已经过期", 0, th); + wx.hideLoading(); + is_ok=0; + } + } + }) + } + if(!is_ok){return false;} } - }) - } - if(!is_ok){return false;} - } - - } else { - if(i_arr[j].is_gift==1) continue; - rq.put("/api/weshop/cart/update", { + + } else { + if(i_arr[j].is_gift==1) continue; + rq.put("/api/weshop/cart/update", { + data: { + id: i_arr[j].id, + selected: 0, + store_id: oo.stoid + }, + success: function(ee) { + console.log(ee); + } + }); + } + } + } + if (ab == 0) { + t.my_warnning("未选择商品", 0, th); + wx.hideLoading(); + return false; + } + + glist = glist.substring(0, glist.length - 1); + //--取一下商品的限购 以及活动的限购,redis数量-- + rq.get("/api/weshop/goods/getGoodsListNum", { data: { - id: i_arr[j].id, - selected: 0, - store_id: oo.stoid + goodsidlist: glist, + store_id: oo.stoid }, - success: function(ee) { - console.log(ee); + async success(ee) { + console.log(ee); + if (ee.data.code == 0) { + var ddata = ee.data.data, + isok = 1, + gname = "", + err = ""; + //--组装-- + for (var ij = 0; ij < ddata.length; ij++) { + var val = ddata[ij]; + var obj = map_limit.get(val.goods_id + ""); + if (obj) continue; + + var promgoodsbuynum = 0; + var goodsbuynum = 0; + //--要获得商品,该用户买了多少件,同步应用-- + await getApp().request.promiseGet("/api/weshop/ordergoods/getUserBuyGoodsNum", { + data: { + store_id: oo.stoid, + user_id: user_id, + goods_id: val.goods_id, + prom_type: val.prom_type, + prom_id: val.prom_id + }, + }).then(res => { + var buy_num_data = res.data.data; + if (buy_num_data.promgoodsbuynum) promgoodsbuynum = buy_num_data.promgoodsbuynum; + goodsbuynum = buy_num_data.goodsbuynum; + }) + var ie= { + promgoodsbuynum: promgoodsbuynum, + goodsbuynum: goodsbuynum + }; + map_limit.set(val.goods_id + "", ie); + } + + try { + for(var ind in ddata) { + var val=ddata[ind]; + var num = map.get(val.goods_id + ""); + if (num <= 0) { + isok = 0; + gname = val.goods_name; + throw "购买数量不能为0"; + return false; + } + + if(val.prom_type==1 || val.prom_type==6){ + if (num > val.store_count) { + isok = 0; + gname = val.goods_name; + throw "超出库存"; + return false; + } + } + + if(th.data.sales_rules!=2){ + if (num > val.store_count) { + isok = 0; + gname = val.goods_name; + throw "超出库存"; + return false; + } + } + + if (num > val.redisnum && val.redisnum && !normal_arr[val.goods_id]) { + isok = 0; + gname = val.goods_name; + throw "超出活动库存"; + return false; + } + if (num > val.goods_num - val.buy_num && val.goods_num && !normal_arr[val.goods_id]) { + isok = 0; + gname = val.goods_name; + throw "超出活动库存"; + return false; + } + + var buyed = map_limit.get(val.goods_id + ""); + if (num + buyed.goodsbuynum > val.viplimited && val.viplimited > 0) { + isok = 0; + gname = val.goods_name; + throw "超出商品限购"; + return false; + } + + if (num + buyed.promgoodsbuynum > val.buy_limit && val.buy_limit > 0 && !normal_arr[val.goods_id]) { + isok = 0; + gname = val.goods_name; + throw "超出活动限购"; + return false; + } + + + var card_field=th.data.card_field; + for (var i = 0; i < g_arr.length; i++) { + if (g_arr[i].goods_id == val.goods_id) { + + //如果会员是等级会员,商品有等级价,且不是活动商品 + if(card_field && val[card_field]>0 && (val.prom_type==0 || val.prom_type==3 || val.prom_type==4 || val.prom_type==5 || normal_arr[val.goods_id]) ){ + if (g_arr[i].goods_price != val[card_field]){ + isok = 0; + gname = val.goods_name; + throw "商品价格已经变化"; + } + }else{ + if (g_arr[i].goods_price != val.shop_price && g_arr[i].goods_price != val.prom_price) { + isok = 0; + gname = val.goods_name; + throw "商品价格已经变化"; + } + } + + //-- 数据的更新 -- + var data={ + id: g_arr[i].id, + selected: 1, + store_id: oo.stoid + }; + //-- 如果有线下取价的时候 -- + if(g_arr[i].is_offline){ + data.pricing_type=g_arr[i].pricing_type; + data.offline_price=g_arr[i].offline_price; + } + rq.put("/api/weshop/cart/update", { + data: data, + success: function(ee) { + console.log(ee); + } + }); + } + } + + } + } catch (e) { + err = e; + } + if (isok == 0) { + t.confirmBox(gname + ":" + err); + wx.hideLoading(); + return false; + } + wx.hideLoading(); + wx.navigateTo({ + url: "/pages/cart/cart2/cart2" + }); + } } - }); + }); + }, + + //结算到最后一个商品 + set_last: function(ab, isok, gname) { + if (isok == 0) { + t.my_warnning(gname + "商品超出库存", 0, this); + } else { + ab ? wx.navigateTo({ + url: "/pages/cart/cart2/cart2" + }) : t.my_warnning("还没有选中商品", 0, this); } - } - } - if (ab == 0) { - t.my_warnning("未选择商品", 0, th); - wx.hideLoading(); - return false; - } + }, - glist = glist.substring(0, glist.length - 1); - //--取一下商品的限购 以及活动的限购,redis数量-- - rq.get("/api/weshop/goods/getGoodsListNum", { - data: { - goodsidlist: glist, - store_id: oo.stoid - }, - async success(ee) { - console.log(ee); - if (ee.data.code == 0) { - var ddata = ee.data.data, - isok = 1, - gname = "", - err = ""; - //--组装-- - for (var ij = 0; ij < ddata.length; ij++) { - var val = ddata[ij]; - var obj = map_limit.get(val.goods_id + ""); - if (obj) continue; - - var promgoodsbuynum = 0; - var goodsbuynum = 0; - //--要获得商品,该用户买了多少件,同步应用-- - await getApp().request.promiseGet("/api/weshop/ordergoods/getUserBuyGoodsNum", { - data: { - store_id: oo.stoid, - user_id: user_id, - goods_id: val.goods_id, - prom_type: val.prom_type, - prom_id: val.prom_id - }, - }).then(res => { - var buy_num_data = res.data.data; - if (buy_num_data.promgoodsbuynum) promgoodsbuynum = buy_num_data.promgoodsbuynum; - goodsbuynum = buy_num_data.goodsbuynum; + + //图片失败,默认图片 + bind_bnerr2: function(e) { + var _errImg = e.target.dataset.errorimg; + var _errurl = e.target.dataset.url; + var ii = _errurl.indexOf(oo.imghost); + if (ii != -1) { + this.setData({ + [_errImg]: oo.imghost + "/miniapp/images/default_g_img.gif", }) - var ie = { - promgoodsbuynum: promgoodsbuynum, - goodsbuynum: goodsbuynum - }; - map_limit.set(val.goods_id + "", ie); - } - - try { - for(var ind in ddata) { - var val=ddata[ind]; - var num = map.get(val.goods_id + ""); - if (num <= 0) { - isok = 0; - gname = val.goods_name; - throw "购买数量不能为0"; - return false; - } - - if(val.prom_type==1 || val.prom_type==6){ - if (num > val.store_count) { - isok = 0; - gname = val.goods_name; - throw "超出库存"; - return false; - } - } - - if(th.data.sales_rules!=2){ - if (num > val.store_count) { - isok = 0; - gname = val.goods_name; - throw "超出库存"; - return false; - } - } - - if (num > val.redisnum && val.redisnum && !normal_arr[val.goods_id]) { - isok = 0; - gname = val.goods_name; - throw "超出活动库存"; - return false; - } - if (num > val.goods_num - val.buy_num && val.goods_num && !normal_arr[val.goods_id]) { - isok = 0; - gname = val.goods_name; - throw "超出活动库存"; - return false; - } - - var buyed = map_limit.get(val.goods_id + ""); - if (num + buyed.goodsbuynum > val.viplimited && val.viplimited > 0) { - isok = 0; - gname = val.goods_name; - throw "超出商品限购"; - return false; - } - - if (num + buyed.promgoodsbuynum > val.buy_limit && val.buy_limit > 0 && !normal_arr[val.goods_id]) { - isok = 0; - gname = val.goods_name; - throw "超出活动限购"; - return false; - } - - - var card_field=th.data.card_field; - for (var i = 0; i < g_arr.length; i++) { - if (g_arr[i].goods_id == val.goods_id) { - - //如果会员是等级会员,商品有等级价,且不是活动商品 - if(card_field && val[card_field]>0 && (val.prom_type==0 || val.prom_type==3 || val.prom_type==4 || val.prom_type==5 || normal_arr[val.goods_id]) ){ - if (g_arr[i].goods_price != val[card_field]){ - isok = 0; - gname = val.goods_name; - throw "商品价格已经变化"; - } - }else{ - if (g_arr[i].goods_price != val.shop_price && g_arr[i].goods_price != val.prom_price) { - isok = 0; - gname = val.goods_name; - throw "商品价格已经变化"; - } - } - - - rq.put("/api/weshop/cart/update", { - data: { - id: g_arr[i].id, - selected: 1, - store_id: oo.stoid - }, - success: function(ee) { - console.log(ee); - } - }); - } - } + } + }, + //设置点击按钮为true或者false + radio_chick: function(checked, num) { + var th = this; + var requestData = th.data.requestData; + }, + //点击编辑后的效果 + edit_cart: function(e) { + var type = parseFloat(e.currentTarget.dataset.type); + this.setData({ + is_edit: type + }); + }, + + //--多个删除购物车商品--- + check_del: function() { + var glist = ""; //用逗号隔开的 + var user_id = getApp().globalData.user_id; + var th = this; + + var ab = 0; //选中 + for (var i = 0; i < this.data.requestData.length; i++) { + var i_arr = this.data.requestData[i].goods; + for (var j = 0; j < i_arr.length; j++) { + if (i_arr[j].selected) { + glist += i_arr[j].id + ","; + ab = 1; + } } - } catch (e) { - err = e; - } - if (isok == 0) { - t.confirmBox(gname + ":" + err); - wx.hideLoading(); - return false; - } - wx.hideLoading(); - wx.navigateTo({ - url: "/pages/cart/cart2/cart2" - }); } - } - }); - }, - - //结算到最后一个商品 - set_last: function(ab, isok, gname) { - if (isok == 0) { - t.my_warnning(gname + "商品超出库存", 0, this); - } else { - ab ? wx.navigateTo({ - url: "/pages/cart/cart2/cart2" - }) : t.my_warnning("还没有选中商品", 0, this); - } - }, - - - //图片失败,默认图片 - bind_bnerr2: function(e) { - var _errImg = e.target.dataset.errorimg; - var _errurl = e.target.dataset.url; - var ii = _errurl.indexOf(oo.imghost); - if (ii != -1) { - this.setData({ - [_errImg]: oo.imghost + "/miniapp/images/default_g_img.gif", - }) - } - }, - //设置点击按钮为true或者false - radio_chick: function(checked, num) { - var th = this; - var requestData = th.data.requestData; - }, - - //点击编辑后的效果 - edit_cart: function(e) { - var type = parseFloat(e.currentTarget.dataset.type); - this.setData({ - is_edit: type - }); - }, - - //--多个删除购物车商品--- - check_del: function() { - var glist = ""; //用逗号隔开的 - var user_id = getApp().globalData.user_id; - var th = this; - - var ab = 0; //选中 - for (var i = 0; i < this.data.requestData.length; i++) { - var i_arr = this.data.requestData[i].goods; - for (var j = 0; j < i_arr.length; j++) { - if (i_arr[j].selected) { - glist += i_arr[j].id + ","; - ab = 1; + + if (ab == 0) { + t.my_warnning("未选择商品", 0, th); + return false; } - } - } + glist = glist.substring(0, glist.length - 1); + //要删除购物车中的商品 + var url = '/api/weshop/cart/delIds/' + oo.stoid + '/' + user_id + "/" + glist; + getApp().request.delete(url, { + success: function(t) { + th.getCardList(); + } + }); + }, + //跳到首页 + goto: function(e) { + navigateTo({ + url: '/pages/index/index/index', + }) + }, - if (ab == 0) { - t.my_warnning("未选择商品", 0, th); - return false; - } - glist = glist.substring(0, glist.length - 1); - //要删除购物车中的商品 - var url = '/api/weshop/cart/delIds/' + oo.stoid + '/' + user_id + "/" + glist; - getApp().request.delete(url, { - success: function(t) { - th.getCardList(); - } - }); - }, - //跳到首页 - goto: function(e) { - navigateTo({ - url: '/pages/index/index/index', - }) - }, - - //---加载更多是靠这个函数---- - onReachBottom: function() { - if(this.data.requestData.length==0) { - var goods_list = this.selectComponent("#goods_list"); //组件的id - if (goods_list) goods_list.get_list(); - } - }, + //---加载更多是靠这个函数---- + onReachBottom: function() { + if(this.data.requestData.length==0) { + var goods_list = this.selectComponent("#goods_list"); //组件的id + if (goods_list) goods_list.get_list(); + } + }, - //检查莫个门店下的商品是不是优惠活动,有的话,看要不要送礼品,同时有没有倍增 - check_prom_activity:async function (cindex) { + //检查莫个门店下的商品是不是优惠活动,有的话,看要不要送礼品,同时有没有倍增 + check_prom_activity:async function (cindex) { var make_up_arr=new Array(); var th=this; var map=new Map(); var list= JSON.parse(JSON.stringify(this.data.requestData[cindex])); //循环处理活动,看活动商品的数量,用map来出来存储,key为活动id,值是数量 - - for(var i=0;i { - if(res.data.code==0){ - prom=res.data.data; - } + if(res.data.code==0){ + prom=res.data.data; + } }) //如果活动已经结束 if(!prom || prom.is_end || prom.end_time{ - if(res.data.code==0) discount=res.data.data; + if(res.data.code==0) discount=res.data.data; }) //---如果有打折的信息,赠送的信息,赠送的时候要判断是不是限购数量--- if(discount && discount['goods_id'] && discount.limit_num>=discount.bs && discount.gift_storecount>=discount.bs){ - var o=discount.goodsinfo; - var newd = { - goods_id: o.goods_id, - goods_num: discount.bs, - pick_id: list.pid, - user_id: app.globalData.user_id, - store_id: os.stoid, - goods_price: 0, - member_goods_price: 0, - goods_name: o.goods_name, - goods_sn: o.goods_sn, - sku: o.sku, - is_gift: 1, - prom_id:p_item[0], - prom_type:3, - selected:1, - gift_id:discount.gift_id, - original_img:th.data.imgUrl+o.original_img - }; - - - /*--- - if(map2.has(p_item[0]+"")){ - var index=map2.get(p_item[0]+""); - if( list.goods[index].goods_num!=discount.bs){ - list.goods[index].goods_num=discount.bs; - getApp().request.put("/api/weshop/cart/update", { - data: { - id: list.goods[index].id, - selected: 1, - store_id: oo.stoid, - goods_num:discount.bs - }, - success: function(ee) { - console.log(ee); - } - }); - } + var o=discount.goodsinfo; + var newd = { + goods_id: o.goods_id, + goods_num: discount.bs, + pick_id: list.pid, + user_id: app.globalData.user_id, + store_id: os.stoid, + goods_price: 0, + member_goods_price: 0, + goods_name: o.goods_name, + goods_sn: o.goods_sn, + sku: o.sku, + is_gift: 1, + prom_id:p_item[0], + prom_type:3, + selected:1, + gift_id:discount.gift_id, + original_img:th.data.imgUrl+o.original_img + }; + + + /*--- + if(map2.has(p_item[0]+"")){ + var index=map2.get(p_item[0]+""); + if( list.goods[index].goods_num!=discount.bs){ + list.goods[index].goods_num=discount.bs; + getApp().request.put("/api/weshop/cart/update", { + data: { + id: list.goods[index].id, + selected: 1, + store_id: oo.stoid, + goods_num:discount.bs + }, + success: function(ee) { + console.log(ee); + } + }); + } + + }else{---*/ + var url="/api/weshop/cart/delGift?store_id="+newd.store_id+"&user_id=" + +newd.user_id+"&goods_id="+newd.goods_id+"&is_gift=1&pick_id="+newd.pick_id; + await getApp().request.promiseDelete(url, {}) - }else{---*/ - var url="/api/weshop/cart/delGift?store_id="+newd.store_id+"&user_id=" - +newd.user_id+"&goods_id="+newd.goods_id+"&is_gift=1&pick_id="+newd.pick_id; - await getApp().request.promiseDelete(url, {}) - var add_data=null; await getApp().request.promisePost("/api/weshop/cart/save", { data: newd }).then(res=>{ - if(res.data.code==0){ - add_data=res.data.data; - } + if(res.data.code==0){ + add_data=res.data.data; + } }) if(add_data){ - newd.id=add_data.id; - list.goods.push(newd); + newd.id=add_data.id; + list.goods.push(newd); } - //} + //} } - + } //--更新购物车的前台渲染-- var rq_text="requestData["+cindex+"]"; this.setData({[rq_text]:list}); - - if(!t_prom_list || t_prom_list.length==0 ) return false; - - //-- 提示凑单的,放在最后显示 -- - for(let prid in t_prom_list){ - var prom=t_prom_list[prid]; - //-- 获取凑单提示 -- - await getApp().request.promiseGet("/api/weshop/promgoodslist/list",{ - data:{prom_id:prom.id} - }).then(res=>{ - if(res.data.code==0){ - var list=res.data.data; - for(var i in list){ - var item=list[i]; - if(item.prom_type==0){ - if(ob.price{ + if(res.data.code==0){ + var list=res.data.data; + for(var i in list){ + var item=list[i]; + if(item.prom_type==0){ + if(ob.price0){ - this.setData({[diff_text]:make_up_arr}); + this.setData({[diff_text]:make_up_arr}); }else{ - this.setData({[diff_text]:null}); + this.setData({[diff_text]:null}); } - }, - - //去凑单 - go_cou_dang:function (e) { - var prom_id=e.currentTarget.dataset.prom_id; - var url="/pages/goods/goodsList/goodsList?prom_type=3&prom_id="+prom_id; - getApp().goto(url); - }, - - //导航跳转 - nav_goto:function(e){ - var url=e.currentTarget.dataset.url; - if(!url || url=='') return; - if(url[0]!='/') url='/'+url; - getApp().goto(url); }, - - refresh_input:function(){ - this.data.btn_click=0; - } + + //去凑单 + go_cou_dang:function (e) { + var prom_id=e.currentTarget.dataset.prom_id; + var url="/pages/goods/goodsList/goodsList?prom_type=3&prom_id="+prom_id; + getApp().goto(url); + }, + + //导航跳转 + nav_goto:function(e){ + var url=e.currentTarget.dataset.url; + if(!url || url=='') return; + if(url[0]!='/') url='/'+url; + getApp().goto(url); + }, + + refresh_input:function(){ + this.data.btn_click=0; + } }); \ No newline at end of file diff --git a/pages/cart/cart/cart.wxml b/pages/cart/cart/cart.wxml index 25882b7..31c7546 100644 --- a/pages/cart/cart/cart.wxml +++ b/pages/cart/cart/cart.wxml @@ -76,6 +76,9 @@ {{items.goods_price}} + + 券后 ¥{{items.offline_price}} + @@ -89,8 +92,8 @@ - - + + 再买{{item.diff}} @@ -107,6 +110,12 @@ 去凑单> + + + + 当前{{item.offline_num}}件商品,可使用{{item.offline_price}}元店铺优惠 + + diff --git a/pages/cart/cart/cart.wxss b/pages/cart/cart/cart.wxss index 29e91c9..fd842e6 100644 --- a/pages/cart/cart/cart.wxss +++ b/pages/cart/cart/cart.wxss @@ -73,7 +73,7 @@ radio { } .goods-cont { - width: 385rpx; + width: 420rpx; height: 165rpx; font-size: 28rpx; margin-left: 35rpx; @@ -110,7 +110,7 @@ radio { } .count>view, .count>input { - width: 50rpx; + width: 45rpx; height: 40rpx; line-height: 40rpx; text-align: center; @@ -118,6 +118,7 @@ radio { font-size: 18rpx; justify-content: center; min-height: 35rpx; + align-items: center; } .count>.goodadd { @@ -350,3 +351,5 @@ page { overflow-x: hidden; padding-bottom: 100rpx; } +.quan_color{ background-color: #ff5306; height: 40rpx;color: #fff; padding: 0 10rpx; border-radius: 10rpx; margin-left: 10rpx} +.red_c{color:#ff5306} diff --git a/pages/cart/cart2/cart2.js b/pages/cart/cart2/cart2.js index 6887a28..1c369e1 100644 --- a/pages/cart/cart2/cart2.js +++ b/pages/cart/cart2/cart2.js @@ -114,6 +114,7 @@ Page({ card_cut_price:null,//减价多少钱 show_submit:0, //提交按钮变正常显示 + is_get_offline:1, }, onLoad: function(t) { @@ -511,7 +512,27 @@ Page({ } } } - + + //-- 循环计算一下线下取价 -- + for (var k = 0; k < arr.length; k++) { + var c_item=arr[k]; + var item = arr[k].goods; + var offline_price=0; + var offline_num=0; + for (var c = 0; c < item.length; c++) { + //-- 如果这个商品是线下取价的时候 -- + if(item[c].offline_price>0){ + offline_price+= (item[c].goods_price-item[c].offline_price)*item[c].goods_num; + offline_num+=item[c].goods_num; + } + } + if(offline_price>0){ + c_item.offline_price=offline_price; + c_item.offline_num=offline_num; + c_item.is_offline=1; + } + } + //深拷贝 th.data.old_cartlist= JSON.parse(JSON.stringify(arr)); th.setData({ @@ -587,6 +608,8 @@ Page({ th.setData({card_cut_price:cut_p}); } } + + switch (gd.prom_type){ case 0: @@ -603,7 +626,18 @@ Page({ th.data.ckeck_quan_price=t.data.data.shop_price*gg.goods_num; th.data.check_quan_price_list=t.data.data.shop_price*gg.goods_num+""; th.data.check_quan_ware_list=t.data.data.erpwareid+""; - + + //-- 如果有线下取价的时候 -- + if(gg.offline_price){ + t.data.data.offline_price=gg.offline_price; + t.data.data.pricing_type=gg.pricing_type; + t.data.data.is_offline=1; + + th.data.ckeck_quan_price=t.data.data.offline_price*gg.goods_num; + th.data.check_quan_price_list=t.data.data.offline_price*gg.goods_num+""; + th.data.check_quan_ware_list=t.data.data.erpwareid+""; + } + t.data.data.prom_id = 0; t.data.data.prom_type = 0; @@ -659,7 +693,9 @@ Page({ if(gg.prom_type==5){ t.data.data.prom_id = gg.prom_id ; t.data.data.prom_type =5; - + if(gg.room_id){ + t.data.data.room_id=gg.room_id; + } //--主商品要有导购id和导购类型-- if(gg.guide_id){ t.data.data.guide_id=gg.guide_id; @@ -673,8 +709,21 @@ Page({ var narr=JSON.parse(JSON.stringify(gg.collocation_goods)); narr.push(t.data.data); + + //-- 搭配促销的门店配送方式的修复 -- + et=1;distr_t=0; + for(var hi in narr){ + var dis_t=narr[hi].distr_type; + if(dis_t==2){ + th.setData({ is_all_zt:0});et=0; + } + if(dis_t>0){ + distr_t=dis_t; + } + } + var ie = { - pickup_id: gg.pick_id, pname: gg.pick_name, goods: narr, exp_type: et, wind: m_wind, distr_t: distr_t, + pickup_id: gg.pick_id, pname: gg.pick_name, goods: narr, exp_type: et, wind: m_wind, distr_t: distr_t,bn_t_exp_t: distr_t, goods_price: 0, shipping_price: 0, user_money: 0, total_amount: 0, order_amount: 0, user_note:0}; cart_arr.push(ie); th.data.old_cartlist=cart_arr; @@ -1029,7 +1078,12 @@ Page({ var f_o_price=o_price; //如果又优惠的钱,就要减价 if(c_arr[i].cut_price>0) o_price-=c_arr[i].cut_price; - + + //-- 计算线下取价的功能 -- + if(cart_item.is_offline==1){ + o_price=o_price-cart_item.offline_price; + } + //判断包邮券的钱 var q_conditin=0; q_conditin=o_price-quan_price; @@ -1038,6 +1092,8 @@ Page({ //计算物流费用 cart_item.shipping_price = 0; + + //--有不包邮区域,且不免运费,全场的计算,要减到优惠金额 和券的金额-- if(no_ex_id && freight_free>0 && (o_price-quan_price)>=freight_free && cart_item.exp_type == 0 && (by_qc.region_list || by_qc.goods_list) ){ //如果有设置不包邮区域的时候 @@ -1141,7 +1197,6 @@ Page({ continue; } - //----------------如果是选择了物流--------------------- if(cart_item.exp_type == 0 && item[j].is_free_shipping==0){ //如果地址不为空 @@ -1355,9 +1410,13 @@ Page({ //-----------计算商品总价-------------- var allpice = good.shop_price * good.buynum; var cut_price=0; + var allpice1=allpice; + + if(good.prom_type==3 && good.prom_price!==null){ cut_price=allpice-good.prom_price; } + allpice=parseFloat(allpice).toFixed(2); var txt = "formData.all_price"; th.setData({ [txt]: allpice, }); @@ -1366,6 +1425,12 @@ Page({ th.setData({ [c_txt]: cut_price, }); } + + //如果有线下取价的时候 + if(good.is_offline){ + allpice = good.offline_price * good.buynum; + } + to.getConfig2(function (ee) { to.getwuliuprice(async function (rs) { @@ -1500,7 +1565,7 @@ Page({ } } //-----------------支付价,优惠券不减物流----------------- - var total_m = (parseFloat(allpice)).toFixed(2); + var total_m = (parseFloat(allpice1)).toFixed(2); var order_m = (parseFloat(allpice-cut_price)-quan_price).toFixed(2); var coupon_price=quan_price; //优惠券优惠了多少钱 if(order_m<0) { @@ -1731,6 +1796,8 @@ Page({ item.coupon_no=th.data.using_quan[th.data.bn_pick].coupon_no; item.coupon_price=0; } + + var goods={ 'goods_id': gg.goods_id, @@ -1778,7 +1845,16 @@ Page({ return false; } } - + + //-- 如果有线下取价的话 -- + if(th.data.bn_goods.is_offline){ + item.sum_offline_cut= (th.data.bn_goods.shop_price- th.data.bn_goods.offline_price).toFixed(2); + goods.offline_cut=item.sum_offline_cut; + goods.pricing_type=th.data.bn_goods.pricing_type; + goods.goods_price=th.data.bn_goods.offline_price; + goods.member_goods_price=th.data.bn_goods.offline_price; + } + //--- 如果有优惠促销的金额,要把金额先平摊下去 --- if(th.data.formData.cut_price>0 && !th.data.ispt_goods){ var g_arr=new Array(); @@ -1801,7 +1877,6 @@ Page({ } } - //--组装优惠券的钱-- if(th.data.formData.coupon_price){ item.coupon_price=th.data.formData.coupon_price; @@ -1884,6 +1959,10 @@ Page({ }; //是不是重新提交 if(th.data.is_continue==1) item.is_continue=1; + //----- 如果有线下取价的话 ---- + if(t_item.is_offline==1){ + item.sum_offline_cut=t_item.offline_price.toFixed(2); + } //组装优惠券的钱 if(t_item.coupon_price) { @@ -1935,7 +2014,14 @@ Page({ 'store_id': oo.stoid, }; - + //-- 线下取价也要写入 -- + if(g_item.offline_price && t_item.is_offline==1){ + goods.goods_price=g_item.offline_price; + goods.member_goods_price=g_item.offline_price; + goods.offline_cut=(g_item.goods_price-g_item.offline_price).toFixed(2); + goods.pricing_type=g_item.pricing_type; + } + //--把券的钱,写入从表--- if(t_item.quan_youhui_list && t_item.coupon_price ){ for(var kk in t_item.quan_youhui_list ){ @@ -2942,8 +3028,10 @@ Page({ var quanlist=null,th=this,frozenQuan = null; var good = this.data.bn_goods; if(good.prom_price){ - th.data.ckeck_quan_price=good.prom_price; - } + th.data.ckeck_quan_price=good.prom_price; //如果有优惠价,就用优惠价 + }else if(good.is_offline){ + th.data.ckeck_quan_price=good.offline_price; //如果有线下取价,就用线下价 + } //--如果商家后台没有限制使用优惠券,同时商品的优惠活动没有限制使用优惠券-- if(th.data.is_close_quan != 1 && th.data.bn_goods.is_xz_yh!=1) { @@ -3212,7 +3300,68 @@ Page({ buycard:function(){ getApp().goto("/pages/user/plus/plus"); getApp().globalData.plus_buy_back=1; - } + }, + + //跳转关闭弹出框的显示 + close_offline:function(){ + this.setData({is_offline_show:0}); + }, + + //立即购买显示弹出框 + bn_pop_offline:function(){ + var off_price=this.data.bn_goods.shop_price-this.data.bn_goods.offline_price; + //是不是线下 + var is_get_offline=this.data.bn_goods.is_offline; + this.setData({is_offline_show:1,show_off_price:off_price.toFixed(2),is_get_offline:is_get_offline}); + }, + + //确定使用线下取价 + sure_offline:function(){ + var bn_goods=this.data.bn_goods; + if(bn_goods && bn_goods.prom_type==0){ + bn_goods.is_offline=1; + this.setData({is_offline_show:0,bn_goods:bn_goods}); + this.calculatePrice2(); + } + //就是购物车结算时的 + else{ + var index=this.data.pop_offline_index; + var txt="cartlist["+index+"].is_offline"; + this.setData({[txt]:1,is_offline_show:0,}); + this.data.old_cartlist[index].is_offline=1; + this.calculatePrice(); + } + }, + + + //取消使用线下取价 + cancle_offline:function(){ + //判断是不是立即购买 + var bn_goods=this.data.bn_goods; + if(bn_goods && bn_goods.prom_type==0){ + bn_goods.is_offline=0; + this.setData({is_offline_show:0,bn_goods:bn_goods}); + this.calculatePrice2(); + } + //就是购物车结算时的 + else{ + var index=this.data.pop_offline_index; + var txt="cartlist["+index+"].is_offline"; + this.setData({[txt]:0,is_offline_show:0,}) + this.data.old_cartlist[index].is_offline=0; + this.calculatePrice(); + } + }, + + //-- 弹出购物车选择是不是要店铺优惠 -- + cart_pop_offline:function (e){ + var index=e.currentTarget.dataset.index; + var item=this.data.cartlist[index]; + var off_price=item.offline_price; + //是不是线下 + var is_get_offline=item.is_offline; + this.setData({pop_offline_index:index,is_offline_show:1,show_off_price:off_price.toFixed(2),is_get_offline:is_get_offline}); + } diff --git a/pages/cart/cart2/cart2.wxml b/pages/cart/cart2/cart2.wxml index eaa234c..a525d4c 100644 --- a/pages/cart/cart2/cart2.wxml +++ b/pages/cart/cart2/cart2.wxml @@ -170,6 +170,22 @@ + + + 店铺优惠 + + 省{{filters.toFix(item.offline_price,2)}}元 + + + -¥{{filters.toFix(item.offline_price,2)}} + + + 不使用优惠 + + + + + @@ -322,7 +338,7 @@ - + 留言 @@ -330,6 +346,23 @@ class="word-box" maxlength="100" name="user_note"> + + + + 店铺优惠 + + 省{{filters.toFix(bn_goods.shop_price-bn_goods.offline_price,2)}}元 + + + -¥{{filters.toFix(bn_goods.shop_price-bn_goods.offline_price,2)}} + + + 不使用优惠 + + + + + @@ -586,5 +619,16 @@ - + + + + 店铺优惠 + + 优惠¥{{show_off_price}} + + 不用优惠 + + + + diff --git a/pages/cart/cart2_pt/cart2_pt.js b/pages/cart/cart2_pt/cart2_pt.js index 141e043..8225d24 100644 --- a/pages/cart/cart2_pt/cart2_pt.js +++ b/pages/cart/cart2_pt/cart2_pt.js @@ -287,7 +287,7 @@ Page({ th.setData({user_addr: ie }); if(!th.data.user_addr || th.data.user_addr.address_id!=ie.address_id){ th.setData({add_back:1}); - th.calculatePrice2(); + if(this.data.bn_goods) th.calculatePrice2(); } }) //--更新默认地址--,看一下是不是跳到地址页面 diff --git a/pages/error/error.js b/pages/error/error.js new file mode 100644 index 0000000..5f0b0b5 --- /dev/null +++ b/pages/error/error.js @@ -0,0 +1,31 @@ +var t = require("../../utils/common.js");var os=getApp().globalData.setting; +Page({ + data:{ + store:null, + imghots: os.imghost, + msg:"", + }, + + onLoad:function(t){ + var th=this,app = getApp(); + app.getConfig(function(e){ + th.setData({ store:e,msg:t.msg}); + wx.setNavigationBarTitle({ + title: e.store_name//页面标题 + }) + }) + }, + + phone:function (){ + if(this.data.msg.indexOf("可联系:")!=-1){ + var tel=this.data.msg.split("可联系:")[1]; + if(tel){ + wx.makePhoneCall({ + phoneNumber: tel, + }) + } + } + } + + +}); diff --git a/pages/error/error.json b/pages/error/error.json new file mode 100644 index 0000000..9e26dfe --- /dev/null +++ b/pages/error/error.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/pages/error/error.wxml b/pages/error/error.wxml new file mode 100644 index 0000000..2f51e8c --- /dev/null +++ b/pages/error/error.wxml @@ -0,0 +1,8 @@ + + + + {{store.store_name}} + {{store.store_desc}} + {{msg}} + + \ No newline at end of file diff --git a/pages/error/error.wxss b/pages/error/error.wxss new file mode 100644 index 0000000..f09d0b3 --- /dev/null +++ b/pages/error/error.wxss @@ -0,0 +1,26 @@ +.all_page{ + position: fixed; + height: 100%; + width: 100%; + background: #fff; + justify-content: center;/*水平居中*/ +} +.all_page .content{ + font-size: 30rpx; + text-align: center; + height: 400px; + width: 100%; + position: absolute; + top: 50%; + margin-top:-200px; +} +.logo{width: 140rpx; height: 140rpx; border-radius:50% } +.all_page .content .title{ + font-size: 36rpx; margin: 20rpx 0 +} + +.all_page .err{ + color:red; + font-size: 36rpx; + margin-top: 300rpx; +} \ No newline at end of file diff --git a/pages/goods/goodsInfo/buy_integral.wxml b/pages/goods/goodsInfo/buy_integral.wxml index 0406e25..be8b5ca 100644 --- a/pages/goods/goodsInfo/buy_integral.wxml +++ b/pages/goods/goodsInfo/buy_integral.wxml @@ -49,7 +49,8 @@ (库存不足) - (库存不足) + (配送不匹配) + (库存不足) @@ -77,7 +78,14 @@ - + + + + 配送不匹配 + + + + 库存不足 @@ -107,8 +115,9 @@ - - + + + diff --git a/pages/goods/goodsInfo/buy_integral_normal.wxml b/pages/goods/goodsInfo/buy_integral_normal.wxml index e14a36f..82293cc 100644 --- a/pages/goods/goodsInfo/buy_integral_normal.wxml +++ b/pages/goods/goodsInfo/buy_integral_normal.wxml @@ -51,7 +51,8 @@ (库存不足) - (库存不足) + (配送不匹配) + (库存不足) 地址:{{def_pick_store.fulladdress}} @@ -79,6 +80,13 @@ + + + + + 配送不匹配 + + 库存不足 @@ -113,8 +121,9 @@ - - + + + diff --git a/pages/goods/goodsInfo/buy_pt.wxml b/pages/goods/goodsInfo/buy_pt.wxml index ad22054..9286740 100644 --- a/pages/goods/goodsInfo/buy_pt.wxml +++ b/pages/goods/goodsInfo/buy_pt.wxml @@ -49,6 +49,8 @@ {{def_pick_store.pickup_name}} + + 距离:{{def_pick_store.distance>1000?filters.toFix(def_pick_store.distance/1000,2)+"km":filters.toFix(def_pick_store.distance,0)+"m"}} @@ -66,6 +68,8 @@ + (配送不匹配) + (库存不足) 地址:{{def_pick_store.fulladdress}} @@ -139,6 +143,12 @@ + + + 配送不匹配 + + + 库存不足 @@ -167,13 +177,20 @@ - - - + + + + - 确定 + + + 配送不匹配 + + + 确定 + diff --git a/pages/goods/goodsInfo/goodsInfo.js b/pages/goods/goodsInfo/goodsInfo.js index a7d4f37..bd18414 100644 --- a/pages/goods/goodsInfo/goodsInfo.js +++ b/pages/goods/goodsInfo/goodsInfo.js @@ -246,6 +246,7 @@ Page({ showPoster: false, hui_condition:null, sto_sele_name_1:'',//分享的门店名称 + }, //------初始化加载---------- @@ -408,7 +409,7 @@ Page({ }) } - }); + },1); //获取用户设备信息,屏幕宽度 wx.getSystemInfo({ @@ -420,20 +421,21 @@ Page({ }); //获取用户的默认门店 - getApp().get_user_store(function(ee) { - - if(!ee) { + getApp().get_user_store(function(e) { + if(!e) { th.data.fir_def_store={}; //赋值空对象 return false; } - + var ee=JSON.parse(JSON.stringify(e)); //--定时器推迟一下-- setTimeout(function () { if(th.data.data) var g_distr_type=th.data.data.distr_type; - //--如果默认门店的配送方式不对,就不能被选择-- + //--如果默认门店的配送方式不对,就不能被选择,这里不控制,如果不一样,就说明配送方式不对-- if(ee.distr_type!=0 && g_distr_type!=0 && ee.distr_type!=g_distr_type ){ - th.data.fir_def_store={}; //赋值空对象 - return false; + //th.data.fir_def_store={}; //赋值空对象 + //return false; + //th.data.fir_def_store.is_no_dis=1; + ee.is_no_dis=1; } var appd=getApp().globalData; @@ -462,6 +464,7 @@ Page({ 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.data.fir_def_store=e; that.setData({ @@ -606,12 +609,13 @@ Page({ if (th.data.is_closecoupon != 1) { //----获取详情页的券的数量---- - await getApp().request.promiseGet("/api/weshop/prom/coupon/page", { + await getApp().request.promiseGet("/api/weshop/prom/coupon/pageCouponList", { data: { store_id: os.stoid, type: 1, pageSize: 3, page: 1, + is_share:0, }, }).then(res1 => { fir_quan = res1.data.data.pageData; @@ -643,8 +647,16 @@ Page({ //---展示--- onShow: function() { - var goods_list = null,th = this,that=this; + + //优惠券要实时更新 + getApp().getConfig2(function(e) { + var json_d = JSON.parse(e.switch_list); + th.setData({is_closecoupon: json_d.is_closecoupon}) + th.setData({is_open_offline: json_d.is_pricing_open}) + },1) + + var ui = setInterval(function () { goods_list = th.selectComponent("#goods_list"); if (goods_list) { @@ -654,7 +666,6 @@ Page({ } }, 300) - this.data.is_timer = 1; var ee = this, gid = this.data.gid, @@ -1092,6 +1103,7 @@ Page({ newd.prom_id = th.data.prom_id; if (o.store_count <= 0) return s.my_warnning("库存已为空!", 0, th); if (o.store_count { + //未购买 + if(res.data.code!=0 || !res.data.data || !res.data.data.pageData || !res.data.data.pageData.length){ + return false; + }else{ + //已经过期 + var item=res.data.data.pageData[0]; + if(item.end_time0){ + cur_price=cur_goods[th.data.card_field]; + } + + var user_info = getApp().globalData.userInfo; + //获取一下接口,判断是不是有线下接口,必须是普通商品,全局优惠活动也是不行 + if(cur_goods.prom_type==0 && !this.data.prom_goods){ + cur_goods.offline_price=null; + //如果没有门店,不用计算线下价格 + var def_pick_store=this.data.def_pick_store; + if(!def_pick_store) return false; + getApp().request.get("/api/weshop/goods/listWarePrice", { + data:{VIPId:encodeURIComponent(user_info.erpvipid), + store_id:os.stoid, + PickupId:def_pick_store.pickup_id, + WareIds:encodeURIComponent(cur_goods.erpwareid)}, + success:function(res){ + if(res.data.code==0 && res.data.data && res.data.data.length>0){ + var datalist=res.data.data; + if(datalist[0].WarePrice { wx.hideLoading(); @@ -4341,12 +4424,12 @@ Page({ is_gps: 1 }); //th.onShow(); - th.get_sto(); + th.get_sto(th.data.is_normal); }, fail: function(res) { //th.onShow(); th.data.is_get_local_ok = 1; - th.get_sto(); + th.get_sto(th.data.is_normal); if (res.errCode == 2) { th.setData({ is_gps: 0 @@ -4364,7 +4447,7 @@ Page({ }) }else{ th.data.is_get_local_ok = 1; - th.get_sto(); + th.get_sto(th.data.is_normal); } if(ind!=undefined && ind!=null ){ @@ -4527,7 +4610,18 @@ Page({ var index = th.data.sec_pick_index; item = th.data.sec_sto.s_arr[index]; } - + + //判断门店的配送方式是不是匹配 + 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; + } + //--回调函数的用法-- th.check_the_pick(item,function(){ th.setData({ @@ -4565,7 +4659,9 @@ Page({ choice_sort_store: 0, sort_store: 0 }) - } + } + //如果商品没有其他活动,要取一下线下价格 + th.get_off_price(); }) }, //---点击二级之后的选择--- @@ -4593,6 +4689,17 @@ Page({ var index = th.data.sec_pick_index; item = th.data.sec_sto.s_arr[index]; } + + //判断门店的配送方式是不是匹配 + 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; + } //先设置之前,要判断是不是有库存 th.check_the_pick(item,function(){ @@ -4662,6 +4769,10 @@ Page({ sort_store: 0, }) } + + //如果商品没有其他活动,要取一下线下价格 + th.get_off_price(); + }) }, @@ -4783,7 +4894,13 @@ Page({ //----跳转到搭配购买---- go_prom_list:function () { - wx.navigateTo({ url: "../../../packageA/pages/prom_list/prom_list?goods_id="+this.data.gid, }) + + var url= "../../../packageA/pages/prom_list/prom_list?goods_id="+this.data.gid; + var room_id= getApp().globalData.room_id; + if(room_id && this.data.gid==getApp().globalData.room_goods_id){ + url+="&room_id="+room_id; + } + wx.navigateTo({ url: url,}) }, //---检查有没有优惠活动--- @@ -4959,6 +5076,7 @@ Page({ //-- 积分购 -- go_pay_integral:function(){ + this.get_sto(0) this.setData({openSpecModal_inte:1}); }, //-- 积分购普通购买 -- @@ -4971,7 +5089,6 @@ Page({ this.setData({openSpecModal_inte:0}); } , closeSpecModal_inte_normal:function(){ - this.get_sto() this.setData({openSpecModal_inte_normal:0}); }, diff --git a/pages/goods/goodsInfo/goodsInfo.wxml b/pages/goods/goodsInfo/goodsInfo.wxml index 60b26f4..34b4112 100644 --- a/pages/goods/goodsInfo/goodsInfo.wxml +++ b/pages/goods/goodsInfo/goodsInfo.wxml @@ -442,13 +442,16 @@ 距离:{{def_pick_store.distance>1000?filters.toFix(def_pick_store.distance/1000,2)+"km":filters.toFix(def_pick_store.distance,0)+"m"}} - + + + (库存不足) - + (库存不足) - (库存不足) - + (配送不匹配) + (库存不足) + 地址:{{def_pick_store.fulladdress}} @@ -999,7 +1002,7 @@ {{sele_g.goods_name}} - + @@ -1007,6 +1010,10 @@ {{sele_g.shop_price}} {{prom_price}} + + + 券后¥{{sele_g.offline_price}} + @@ -1038,7 +1045,7 @@ - + @@ -1054,7 +1061,8 @@ (库存不足) - (库存不足) + (配送不匹配) + (库存不足) @@ -1096,54 +1104,63 @@ - - - 库存不足 - + 配送不匹配 - - - - 库存不足 - - - - 库存不足 - - - - 请先选择门店 - - - - - - 库存不足 - - - 加入购物车 - 立即购买 - - - - - - 库存不足 + + + + 库存不足 + + + + + + 库存不足 + + + + 库存不足 + + + + 请先选择门店 + + + + + + 库存不足 + + + 加入购物车 + + {{sele_g.offline_price?"券后购买":"立即购买"}} + + + - 加入购物车 - 立即购买 + + 库存不足 + + + 加入购物车 + + {{sele_g.offline_price?"券后购买":"立即购买"}} + + - - - - - - + + + + + + + @@ -1426,17 +1443,20 @@ - - - - - - - - - + + + + + + + + + + + + diff --git a/pages/goods/goodsInfo/goodsInfo.wxss b/pages/goods/goodsInfo/goodsInfo.wxss index e124e2f..1fc7e45 100644 --- a/pages/goods/goodsInfo/goodsInfo.wxss +++ b/pages/goods/goodsInfo/goodsInfo.wxss @@ -2643,17 +2643,22 @@ button.custom-service::after{ .color_b{color: #ff9c00} .poster-container { - box-sizing: border-box; - position: fixed; - top: 0; - width: 100%; - height: 100%; - z-index: 999; - background-color: rgba(0,0,0,.4); - padding: 0 60rpx; - display: flex; - /* flex-wrap: wrap; */ - align-items: center; + box-sizing: border-box; + position: fixed; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + width: calc(100% - 120rpx); + z-index: 1000; +} +.mask { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + z-index: 999; + background-color: rgba(0,0,0,.4); } .poster-wrapper { width: 100%; @@ -2664,7 +2669,7 @@ button.custom-service::after{ width: 100%; height: 1055rpx; border-radius: 20rpx; - box-shadow: 0 0 1px #000; + /* box-shadow: 0 8px 12px #666; */ position: relative; z-index: 999; overflow: hidden; @@ -2687,24 +2692,40 @@ button.custom-service::after{ margin-top: 28rpx; padding: 0 60rpx; } -.btn-close { +/* .btn-close { background-color: rgba(0,0,0,.5); - color: #ccc; - width: 50rpx; - height: 50rpx; - line-height: 50rpx; + color: white; + width: 40rpx; + height: 40rpx; + line-height: 40rpx; text-align: center; border-radius: 50%; position: absolute; right: 20rpx; - top: 20rpx; -} + top: 10rpx; +} */ .goods-price .rel_txt{ position: relative; top: 32rpx; font-size: 30rpx; } -.goods-price .rel_img{width: 62rpx; height: 62rpx;position: relative; top: 12rpx;} - +.goods-price .rel_img{width: 62rpx; height: 62rpx;position: relative; top: 12rpx;} + +.btn-close { + /* background-color: rgba(0,0,0,.5); */ + color: #ccc; + width: 50rpx; + height: 50rpx; + line-height: 50rpx; + text-align: center; + border-radius: 50%; + position: absolute; + right: 20rpx; + top: 20rpx; +} + .icon-close { - font-size: 48rpx; -} \ No newline at end of file + font-size: 48rpx; +} +.quan_price{ + background-color: #ff4700; color: #fff; padding: 10rpx 25rpx; margin-left: 10rpx; border-radius: 30rpx; +} \ No newline at end of file diff --git a/pages/index/index/index.js b/pages/index/index/index.js index a84dd8e..04fca46 100644 --- a/pages/index/index/index.js +++ b/pages/index/index/index.js @@ -16,8 +16,6 @@ var api = require('../../../api/api.js'); var d = getApp().globalData; - - Page({ data: { url: o.imghost, @@ -75,11 +73,13 @@ Page({ new_nav: "", //新人页面跳转地址 w_holiday_pop:0, - showHongbao: true, - showHongbaoSmall: false, + showHongbao: false, + showHongbaoSmall: false, + }, onLoad: async function(tt) { + var th = this; var first_leader=tt.first_leader; if(!first_leader && tt.scene){ @@ -116,9 +116,7 @@ Page({ }); - // console.log(9090909); - - + // console.log(9090909); //看一下商家是否开通了权益 //--初始化是否有打勾-- getApp().request.promiseGet("/api/weshop/users/grade/vip/init/get", { @@ -145,6 +143,8 @@ Page({ //t.editTabBar(th,o.stoid,th.data.url); await this.init_load(); + + //显示的时候要开启计时器 this.data.is_timer = 1; //如果是自定义模板 @@ -206,7 +206,7 @@ Page({ } }) - + }, //关闭新用户领取广告 close_disgraceful: function() { @@ -217,6 +217,24 @@ Page({ }, async onShow() { + var th=this; + //-- 登录回来判断弹框 -- + var userInfo=getApp().globalData.userInfo; + if(userInfo){ + th.is_festival(); + var new_nav = th.data.new_nav; + if (new_nav == "") { + th.is_new(); + } + } + + //优惠券要实时更新 + getApp().getConfig2(function(e) { + var json_d = JSON.parse(e.switch_list); + th.setData({is_closecoupon: json_d.is_closecoupon}) + th.setData({is_topstore: json_d.is_show_storeselect}) + },1) + if (typeof this.getTabBar === 'function' && this.getTabBar()) { var index=getApp().getPageIndex(this); this.getTabBar().setData({ @@ -226,18 +244,19 @@ Page({ getApp().requestCardNum(this); } - var th = this - var show=getApp().globalData.isLoad_ad; - var userInfo=getApp().globalData.userInfo; - //有加载过一次首页,就显示.或者有会员就显示 - if(show || userInfo || getApp().globalData.user_id){ - var full_screen = th.selectComponent("#full_screen"); //组件的id - full_screen.get_the_full_screen(); - }else{ - getApp().globalData.isLoad_ad=1; - } - + var th = this; + var show=getApp().globalData.isLoad_ad; + var userInfo=getApp().globalData.userInfo; + + //有加载过一次首页,就显示 + if(show || userInfo || getApp().globalData.user_id){ + var full_screen = th.selectComponent("#full_screen"); //组件的id + full_screen.get_the_full_screen(); + }else{ + getApp().globalData.isLoad_ad=1; + } + }, //当隐藏的时候就关闭计时器 onHide: function() { @@ -254,10 +273,11 @@ Page({ //同步初始加载 async init_load() { + await getApp().getConfig_ays(); var th = this; await getApp().get_isbuy(); this.setappdata(getApp().globalData.wxapp_buy_obj); - await getApp().getConfig_ays(); + //因为营销版本的功能包含了自定义模板的功能,是同时的 //读取全局是否有弄自定义模板 @@ -484,9 +504,9 @@ Page({ setTimeout(function () { if (getApp().globalData.user_id) getApp().requestCardNum(th); },500) - }); + var goods_list = this.selectComponent("#goods_list"); //组件的id goods_list.init(); setTimeout(function() { @@ -497,11 +517,11 @@ Page({ //--判断小程序是否过期-- setappdata: function(t) { if (t.isout == 1) - wx.navigateTo({ - url: "/pages/error/error?msg=小程序已经过期", + wx.reLaunch({ + url: "/pages/error/error?msg=该商城已到期,暂停浏览!\r\n可联系:"+getApp().globalData.config.store_tel, }); if (t.isbuy == 0) - wx.navigateTo({ + wx.reLaunch({ url: "/pages/error/error?msg=还未购买小程序", }); }, @@ -511,8 +531,6 @@ Page({ if (goods_list) goods_list.get_list(); }, - - onPullDownRefresh: function(e) { this.data.recommend = null, this.data.currentPage = 1, n.resetConfig(), this.requestHomePage(), this.requestRecommend(); @@ -693,9 +711,6 @@ Page({ } } var txt = "pindGoods[" + j + "][" + i + "].djs"; - - - th.setData({ [txt]: obj }); diff --git a/pages/index/index/index.json b/pages/index/index/index.json index 878ab3a..6b17f42 100644 --- a/pages/index/index/index.json +++ b/pages/index/index/index.json @@ -18,7 +18,8 @@ "mvideo": "/components/diy_video/diy_video", "service": "/components/diy_service/diy_service", "scan": "/components/diy_scan/diy_scan", - "full_screen": "/components/full_screen/full_screen" + "full_screen": "/components/full_screen/full_screen", + "store_select": "/components/diy_store_select/diy_store_select" }, "enablePullDownRefresh": false } \ No newline at end of file diff --git a/pages/index/index/index.wxml b/pages/index/index/index.wxml index 6d5db66..c88fe7b 100644 --- a/pages/index/index/index.wxml +++ b/pages/index/index/index.wxml @@ -3,13 +3,16 @@ - - + + + + + - + 分 @@ -30,7 +33,7 @@ - + @@ -81,7 +84,7 @@ 积分购 - + 优惠券 @@ -294,6 +297,28 @@ + + + + + + + + + + + + + + + + + + + + + + @@ -325,7 +350,7 @@ - + @@ -356,6 +381,10 @@ + + + + @@ -399,7 +428,7 @@ - + diff --git a/pages/index/index/index.wxss b/pages/index/index/index.wxss index 3a0bfc4..93e0f33 100644 --- a/pages/index/index/index.wxss +++ b/pages/index/index/index.wxss @@ -2,6 +2,7 @@ background: #ff7295; } + .search-box { position: fixed; top: 0; @@ -964,4 +965,6 @@ page { right: 0; /* transform: translateY(-50%); */ z-index: 10000; -} \ No newline at end of file +} + +.dis_top{position: fixed; top: 0; left: 0; width: 100%;} \ No newline at end of file diff --git a/pages/team/team_show/team_show.js b/pages/team/team_show/team_show.js index 8a6598b..0b4cbdb 100644 --- a/pages/team/team_show/team_show.js +++ b/pages/team/team_show/team_show.js @@ -88,6 +88,9 @@ Page({ lon: null, //经度 is_get_local_ok: 0, //获取坐标是否完成 + + sort_store: 0, //门店分类 + choice_sort_store: 0, //选择分类门店 }, onLoad: function(options) { @@ -575,8 +578,9 @@ Page({ var g_distr_type=th.data.goods.distr_type; //--如果默认门店的配送方式不对,就不能被选择-- if(ee.distr_type!=0 && g_distr_type!=0 && ee.distr_type!=g_distr_type ){ - th.data.fir_def_store={}; //赋值空对象 - return false; + //th.data.fir_def_store={}; //赋值空对象 + //return false; + ee.is_no_dis=1; } var appd=getApp().globalData; @@ -1017,6 +1021,7 @@ Page({ this.setData({ store: 1, yijian: false, + choice_sort_store:0 }) }, @@ -1104,8 +1109,9 @@ Page({ } clearInterval(timer_get); - if(th.data.def_pick_store && g_distr_type!=0 && th.data.def_pick_store.distr_type!=0 && th.data.def_pick_store.distr_type!=g_distr_type ){ - th.setData({def_pick_store:null}); + //如果会员是有默认的门店话 + if(!th.data.def_pick_store && th.data.fir_def_store){ + th.setData({def_pick_store:th.data.fir_def_store}); } //----------获取门店---------------- @@ -1127,7 +1133,7 @@ Page({ } //-- 如果有默认选择门店的时候,要把默认门店放在第一位 -- - if (th.data.def_pick_store && (th.data.def_pick_store.distr_type==0 || th.data.def_pick_store.distr_type==g_distr_type )){ + 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); //删除 @@ -1306,6 +1312,9 @@ Page({ } } }, + + + //---选择分类门店--- choice_sort_store: function(e) { var index = e.currentTarget.dataset.index; @@ -1316,7 +1325,7 @@ Page({ sort_store: 0, choice_sort_store: 1, sec_sto: item, - sec_pick_index: 0 + sec_pick_index: 0, }); }, diff --git a/pages/team/team_show/team_show.wxml b/pages/team/team_show/team_show.wxml index 0007b82..21e42ec 100644 --- a/pages/team/team_show/team_show.wxml +++ b/pages/team/team_show/team_show.wxml @@ -233,6 +233,7 @@ + (配送不匹配) 地址:5{{def_pick_store.fulladdress}} @@ -264,7 +265,8 @@ - 确定 + 确定 + 确定 @@ -278,7 +280,7 @@ - + {{choice_sort_store==0?'附近的门店':region_name}} @@ -392,19 +394,14 @@ - 门店分类选择 - + 门店分类选择 - + + 返回--{{sort_store}} - - 返回 - - - - - - + + + {{item.name}} @@ -413,7 +410,7 @@ - + diff --git a/pages/team/team_show/team_show.wxss b/pages/team/team_show/team_show.wxss index 8c8c4a6..34fcecc 100644 --- a/pages/team/team_show/team_show.wxss +++ b/pages/team/team_show/team_show.wxss @@ -2172,3 +2172,5 @@ page { height: 30rpx; border: 1rpx solid #999; } + +.no_store{color:#d60021; font-size: 26rpx;} diff --git a/pages/togoin/togoin.js b/pages/togoin/togoin.js index ec03e0a..82a5f74 100644 --- a/pages/togoin/togoin.js +++ b/pages/togoin/togoin.js @@ -10,7 +10,7 @@ Page({ store_logo:'', first_leader:'', //-- 邀请人 -- }, - onLoad: function (options) { + onLoad: function (options) { //--判断是否有接受到邀请人的ID-- if(options.first_leader){ this.setData({first_leader:options.first_leader}); @@ -41,52 +41,67 @@ Page({ //-- 会员授权 -- bindGetUserInfo: function(ee) { var that = this; - var user=ee.detail.userInfo; - //此处授权得到userInfo - getApp().globalData.getu = user; - - //--拿下code-- - wx.login({ - success: function (o) { - var dd = { - js_code:o.code, - store_id: os.stoid, - nickname: app.clear_word(app.globalData.getu.nickName), - head_pic: app.clear_word(app.globalData.getu.avatarUrl) - }; - - //-- 导购会员ID -- - if(getApp().globalData.guide_id){ - dd.guide_id=getApp().globalData.guide_id; - } - - getApp().request.get("/api/weshop/users/openidandkey", { - data: dd, - success: function (e) { - if(e.data.code==0){ - that.setData({user:user}) - //如果有会员的话,没有sessionKey - if(!e.data.data.sessionKey){ - getApp().showWarning("登录成功"); - getApp().globalData.userInfo=e.data.data; - getApp().globalData.user_id=e.data.data.user_id; - getApp().globalData.openid = e.data.data.weapp_openid; - - setTimeout(function () { - wx.navigateBack({ delta: 1}) //返回上一页 - },1000) - }else{ - getApp().globalData.sessionKey=e.data.data.sessionKey; - getApp().globalData.openid=e.data.data.openid;; - that.setData({show_bind:1}) - } - }else{ - getApp().confirmBox(e.data.msg); - } - } - }); - } - }) + //-- 点击授权 -- + that.getUserProfile(function(res){ + var user=res; + //--拿下code-- + wx.login({ + success: function (o) { + var dd = { + js_code:o.code, + store_id: os.stoid, + nickname: app.clear_word(app.globalData.getu.nickName), + head_pic: app.clear_word(app.globalData.getu.avatarUrl) + }; + //-- 导购会员ID -- + if(getApp().globalData.guide_id){ + dd.guide_id=getApp().globalData.guide_id; + } + + getApp().request.get("/api/weshop/users/openidandkey", { + data: dd, + success: function (e) { + if(e.data.code==0){ + that.setData({user:user}) + //如果有会员的话,没有sessionKey + if(!e.data.data.sessionKey){ + getApp().showWarning("登录成功"); + getApp().globalData.userInfo=e.data.data; + getApp().globalData.user_id=e.data.data.user_id; + getApp().globalData.openid = e.data.data.weapp_openid; + //把会员的信息存在内存 + wx.setStorageSync("userinfo",e.data.data); + + setTimeout(function () { + wx.navigateBack({ delta: 1}) //返回上一页 + },1000) + }else{ + getApp().globalData.sessionKey=e.data.data.sessionKey; + getApp().globalData.openid=e.data.data.openid; + that.setData({show_bind:1}); + } + }else{ + getApp().confirmBox(e.data.msg); + } + } + }); + } + }) + }) + }, + + //-- 调整后的获取会员信息 -- + getUserProfile:function(func){ + var that=this; + wx.getUserProfile({ + desc:'获取用户相关信息', + success:res=>{ + console.log("getUserProfile",res); + //此处授权得到userInfo + getApp().globalData.getu = res.userInfo; + func(res.userInfo); + } + }); }, //暂不登录,返回上一页 diff --git a/pages/togoin/togoin.wxml b/pages/togoin/togoin.wxml index 81a94df..f02df3e 100644 --- a/pages/togoin/togoin.wxml +++ b/pages/togoin/togoin.wxml @@ -4,8 +4,10 @@ - - {{store.store_name}} + + + {{store.store_name}} + @@ -13,7 +15,7 @@ -