diff --git a/components/diy_searchbox/diy_searchbox.wxml b/components/diy_searchbox/diy_searchbox.wxml index d3ddcc5..f7feb1e 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..fc6f2b1 --- /dev/null +++ b/components/diy_store_select/diy_store_select.js @@ -0,0 +1,365 @@ +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; + //获取顶部的门店 + 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) 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..625cb71 --- /dev/null +++ b/components/diy_store_select/diy_store_select.wxml @@ -0,0 +1,151 @@ + + + {{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..a858348 --- /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: #666; + top: 0; left: 0; background-color: #fff; font-size: 32rpx;} + + .store_sele1{ height: 88rpx; 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/pages/cart/cart/cart.js b/pages/cart/cart/cart.js index ab25a7e..ad9bd55 100644 --- a/pages/cart/cart/cart.js +++ b/pages/cart/cart/cart.js @@ -1,1410 +1,1501 @@ 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); + 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 + }) } - - //如果秒杀活动都去掉了,或者结束了,那么这个商品也没有必要留着 - 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; + } - all_num += item.goods_num; - item.original_img = oo.imghost + item.original_img; - item.selected = 0; + //如果秒杀活动都去掉了,或者结束了,那么这个商品也没有必要留着 + 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; + } + } + }) + } - 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; + 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); - } - } - } + //-- 此时要实时更新线下取价价格 -- + 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: 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) } - } + } - } - } + }, - if (!isok) { - wx.showModal({ - title: '提示', - content: '同一门店自提和物流的商品不能同时结算' - }); - return false; - } + //------门店全选按钮,要判断是否门店的匹配方式一致--------- + 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; + } + } + } + } + } - 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: '同一门店自提和物流的商品不能同时结算' + }); + 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; + } + } + } } - } } - } - } - 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..4bcc26f 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; @@ -1029,7 +1063,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 +1077,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 +1182,6 @@ Page({ continue; } - //----------------如果是选择了物流--------------------- if(cart_item.exp_type == 0 && item[j].is_free_shipping==0){ //如果地址不为空 @@ -1355,9 +1395,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 +1410,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 +1550,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 +1781,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 +1830,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 +1862,6 @@ Page({ } } - //--组装优惠券的钱-- if(th.data.formData.coupon_price){ item.coupon_price=th.data.formData.coupon_price; @@ -1884,6 +1944,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 +1999,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 +3013,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 +3285,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/goods/goodsInfo/buy_integral.wxml b/pages/goods/goodsInfo/buy_integral.wxml index 0406e25..d962525 100644 --- a/pages/goods/goodsInfo/buy_integral.wxml +++ b/pages/goods/goodsInfo/buy_integral.wxml @@ -49,7 +49,8 @@ (库存不足) - (库存不足) + (配送不匹配) + (库存不足) @@ -77,7 +78,14 @@ - + + + + 配送不匹配{{def_pick_store.is_no_dis}} + + + + 库存不足 @@ -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..4243364 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,7 @@ + (配送不匹配) 地址:{{def_pick_store.fulladdress}} @@ -139,6 +142,12 @@ + + + 配送不匹配 + + + 库存不足 @@ -167,13 +176,20 @@ - - - + + + + - 确定 + + + 配送不匹配 + + + 确定 + diff --git a/pages/goods/goodsInfo/goodsInfo.js b/pages/goods/goodsInfo/goodsInfo.js index a7d4f37..5c4caa8 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({ @@ -643,8 +646,15 @@ 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}) + },1) + + var ui = setInterval(function () { goods_list = th.selectComponent("#goods_list"); if (goods_list) { @@ -654,7 +664,6 @@ Page({ } }, 300) - this.data.is_timer = 1; var ee = this, gid = this.data.gid, @@ -1092,6 +1101,7 @@ Page({ newd.prom_id = th.data.prom_id; if (o.store_count <= 0) return s.my_warnning("库存已为空!", 0, th); if (o.store_count 0){ + var datalist=res.data.data; + if(datalist[0].WarePrice1000?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..6019783 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,23 @@ 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}) + },1) + if (typeof this.getTabBar === 'function' && this.getTabBar()) { var index=getApp().getPageIndex(this); this.getTabBar().setData({ @@ -226,18 +243,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 +272,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 +503,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 +516,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 +530,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 +710,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..022f444 100644 --- a/pages/index/index/index.wxml +++ b/pages/index/index/index.wxml @@ -3,13 +3,14 @@ - - + + + - + 分 @@ -30,7 +31,7 @@ - + @@ -81,7 +82,7 @@ 积分购 - + 优惠券 @@ -294,6 +295,28 @@ + + + + + + + + + + + + + + + + + + + + + + @@ -325,7 +348,7 @@ - + @@ -356,6 +379,10 @@ + + + + @@ -399,7 +426,7 @@ - + diff --git a/pages/index/index/index.wxss b/pages/index/index/index.wxss index 3a0bfc4..031b9d1 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;} \ No newline at end of file diff --git a/pages/togoin/togoin.js b/pages/togoin/togoin.js index ec03e0a..f7d0b05 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}); diff --git a/pages/user/coupons/coupons.js b/pages/user/coupons/coupons.js index e1e7a04..d2603dd 100644 --- a/pages/user/coupons/coupons.js +++ b/pages/user/coupons/coupons.js @@ -140,12 +140,7 @@ Page({ * 生命周期函数--监听页面加载 */ onLoad: function(options) { - var th = this; - getApp().getConfig2(function (ee) { - var json_d = JSON.parse(ee.switch_list); - th.setData({ is_show_dhwz: json_d.dhwz_switch }); - }) - + }, @@ -159,7 +154,13 @@ Page({ wx.navigateTo({ url: '/pages/togoin/togoin', }) return false; } - this.init(th.myyhj,th.s_guoqi); + this.init(th.myyhj,th.s_guoqi); + var th = this; + //-- 要实时 -- + getApp().getConfig2(function (ee) { + var json_d = JSON.parse(ee.switch_list); + th.setData({ is_show_dhwz: json_d.dhwz_switch }); + },1) }, diff --git a/pages/user/deposit/deposit.js b/pages/user/deposit/deposit.js index 2b5099b..8ac97a4 100644 --- a/pages/user/deposit/deposit.js +++ b/pages/user/deposit/deposit.js @@ -31,7 +31,7 @@ Page({ getApp().getConfig2(function (ee) { var json_d = JSON.parse(ee.switch_list); th.setData({ is_show_yckcz: json_d.yckcz_switch }); - }) + },1) }, /** diff --git a/pages/user/index/index.js b/pages/user/index/index.js index e9b1a5e..4890523 100644 --- a/pages/user/index/index.js +++ b/pages/user/index/index.js @@ -189,11 +189,7 @@ Page({ } } }) - - - - - + /*-----获取会员权益列表-----*/ rq.get("/api/weshop/users/grade/vipprivilegeinfo/page", { data: { @@ -372,6 +368,7 @@ Page({ } }, setappdata: function(t) { + var t=getApp().globalData.wxapp_buy_obj; if (t.isout == 1) wx.navigateTo({ url: "/pages/error/error?msg=小程序已经过期", diff --git a/pages/user/integral/integral.js b/pages/user/integral/integral.js index 463ddf1..745379b 100644 --- a/pages/user/integral/integral.js +++ b/pages/user/integral/integral.js @@ -220,11 +220,7 @@ Page({ } }); - var th=this; - getApp().getConfig2(function(ee){ - var json_d = JSON.parse(ee.switch_list); - th.setData({ is_show_jfcz: json_d.jfcz_switch }); - }) + }, /** @@ -322,6 +318,14 @@ Page({ wx.setNavigationBarTitle({ title: "我的积分", }) + + //要实时获取开关是显示 + var th=this; + getApp().getConfig2(function(ee){ + var json_d = JSON.parse(ee.switch_list); + th.setData({ is_show_jfcz: json_d.jfcz_switch }); + },1) + }, diff --git a/pages/user/member/bring/bring.js b/pages/user/member/bring/bring.js index cb84b63..0b301bb 100644 --- a/pages/user/member/bring/bring.js +++ b/pages/user/member/bring/bring.js @@ -29,14 +29,10 @@ Page({ }, // 银行卡失去焦点事件 blurInputEvent: function(e) { - console.log("银行卡失去焦点事件"); var inputvalue = e.detail.value.length; - console.log("值的长度" + inputvalue); if (inputvalue > 14) { var value = e.detail.value; - console.log("银行卡" + value); var account_bank = value.replace(/\s+/g, ""); - console.log("银行卡去去去" + account_bank); this.yhk(account_bank); } @@ -44,7 +40,6 @@ Page({ }, /** 获取提现输入框的值 bindinput='genre' */ money: function(e) { - this.setData({ money: Number(e.detail.value) }) @@ -60,22 +55,18 @@ Page({ }, /*点击确定提现后表现的形式*/ Gettime: function(e) { - this.data.user_infor; var user_money = this.data.user_money; var money = e.detail.value.moneys; //typeof判断数据类型 var current = this.data.current; var money = Number(money); - console.log(money, typeof money + "有吗" + user_money, typeof user_money + e.detail.value.moneys + "是什么" + Number(money)); - if (user_money money){ getApp().showWarning("提现需大于"+this.data.distribut_min+"元"); return false; @@ -149,9 +140,7 @@ Page({ this.data.user_infor.account_bank = card; this.data.user_infor.bank_name = cardname; this.data.user_infor.bank_type = this.data.current; - console.log(this.data.user_infor.account_name, cardname, card, userName, moneys, "控制器类型", this.data.current); var user_infor = this.data.user_infor; - console.log("保存的数nnnnnnnnnnnnnnn", this.data.user_infor); this.Cashwithdrawal(user_infor) } else { var userName = e.detail.value.userName; //名字 @@ -195,27 +184,8 @@ Page({ } }, - - // //银行卡格式 - // bankinput: function(e) { - // var that = this; - // console.log("输入框", e); - // var value = e.detail.value; - // console.log("监听输入框" + value); - // var inputvalue = e.detail.value.length; - - // //获取银行卡刷出银行名字 - // if (inputvalue < 15) { - - - // that.setData({ - // bank_name: "" - // }); - // } - // }, // 提现 Cashwithdrawal: function(user_infor) { - console.log(user_infor.type, "hiiihiiiiiiiiiiiiiii", user_infor); delete user_infor.rmon; delete user_infor.isck; delete user_infor.needmon; @@ -293,7 +263,7 @@ Page({ console.log("卡号", account_bank, "初始化", a.data.isck); if (a.data.isck == 1) { this.setData({ - weixin: a.data.isck , + bank_name: a.data.bank_name, account_bank: account_bank, usernames: a.data.account_name, @@ -304,6 +274,7 @@ Page({ }); } else { this.setData({ + bank_name: a.data.bank_name, account_bank: account_bank, usernames: a.data.account_name, @@ -357,7 +328,7 @@ Page({ * 生命周期函数--监听页面显示 */ onShow: function() { - console.log("onShow里面"); + var th=this; this.weixin(); this.setData({ button: 0 @@ -376,7 +347,18 @@ Page({ title: "流动资金提现", }); - + //优惠券要实时更新 + getApp().getConfig2(function(e) { + var json_d = JSON.parse(e.switch_list); + var is_closetxbank=json_d.is_closetxbank; + var is_tx_wx=json_d.is_tx_wx; + var data={ + is_closetxbank:is_closetxbank,is_tx_wx:is_tx_wx + }; + if(is_closetxbank) data.current=2; + th.setData(data); + + },1) }, //提取金额的输入框事件 defocus: function (event){ diff --git a/pages/user/member/bring/bring.wxml b/pages/user/member/bring/bring.wxml index 635425e..870889f 100644 --- a/pages/user/member/bring/bring.wxml +++ b/pages/user/member/bring/bring.wxml @@ -1,56 +1,51 @@ -
- - - 可提现余额 - ¥{{filter.getNum(user_money)}} - - - - - 提现金额 - - ¥ - - - - - - - - - 请按要求正确填写,预计1-7个工作日到账 - - 提现方式 - - - - - - 银行卡 - - - - - - - 微信余额 - - - - - 姓名 - - - - -