diff --git a/components/diy_pregoods/diy_pregoods.js b/components/diy_pregoods/diy_pregoods.js index a1abf01..3d2e424 100644 --- a/components/diy_pregoods/diy_pregoods.js +++ b/components/diy_pregoods/diy_pregoods.js @@ -18,9 +18,18 @@ Component({ ready: function() { var g_id = this.data.object.data; + this.data.g_id=g_id; this.init(g_id); }, - + + pageLifetimes: { + //游客登录后,只要更新卡的情况 + show: function () { + //--初始化卡类-- + this.init(this.data.g_id); + }, + }, + methods: { // 这里是一个自定义方法 init: function(g_id) { @@ -32,17 +41,32 @@ Component({ goodsidlist+=val.goodsid+","; }) goodsidlist=ut.sub_last(goodsidlist); + + var user_id=getApp().globalData.user_id; + var pre_data={store_id:os.stoid,is_end:0,timetype:1,isuse:1}; + if(user_id){ + pre_data.user_id=user_id; + } + //--调用接口,读取秒杀-- - app.request.promiseGet("/api/weshop/marketing/marketingPresellList/page?store_id=" - +os.stoid+"&goodsidlist="+goodsidlist, { - data:{is_end:0,timetype:1,isuse:1} + app.request.promiseGet("/api/weshop/marketing/marketingPresellList/page?goodsidlist="+goodsidlist, { + data:pre_data }).then(res => { - //如果数组为空的时候 - var goodslist=res.data.data; - //就算是添加的活动已经过期,就要用最新的进行中活动 - if(goodslist && goodslist.length>0) { - th.set_goods_list(g_id,goodslist); - } + + if(res.data.code==0 && res.data.data.pageData && res.data.data.pageData.length>0) { + //如果数组为空的时候 + var goodslist = res.data.data.pageData; + //就算是添加的活动已经过期,就要用最新的进行中活动 + if (goodslist && goodslist.length > 0) { + th.set_goods_list(g_id, goodslist); + } + + th.data.timer = setInterval(function () { + th.countDown2(th); + }, 1000); + } + + }); }else{ th.no_gid_set(); @@ -51,12 +75,21 @@ Component({ //当是默认的情况 no_gid_set(){ - getApp().request.promiseGet("/api/weshop/marketing/marketingPresellList/page", - {isShowLoading:1,data:{store_id:os.stoid,is_end:0,timetype:1,page:1,pageSize:9,isuse:1}} + var th=this; + var user_id=getApp().globalData.user_id; + var pre_data={store_id:os.stoid,is_end:0,timetype:1,isuse:1,page:1,pageSize:9}; + if(user_id){ + pre_data.user_id=user_id; + } + getApp().request.promiseGet("/api/weshop/marketing/marketingPresellList/page",{data:pre_data} ).then(res=>{ if(res.data.code==0 && res.data.data.pageData && res.data.data.pageData.length>0) { var goodsidlist=res.data.data.pageData; this.set_goods_list(null,goodsidlist); + + th.data.timer = setInterval(function () { + th.countDown2(th); + }, 1000); } }); }, @@ -100,8 +133,64 @@ Component({ wx.navigateTo({ url:"/packageC/pages/presell/list/list" }); - } + }, + + //----秒杀倒计时函数----- + countDown2: function (ob) { + if (ob == undefined) return false; + var ee = ob; + // 获取当前时间,同时得到活动结束时间数组 + var newTime = ut.gettimestamp(); + this.setData({ newTime: newTime }); + + var List = ee.data.goods_array; + if (List.length == 0) return false; + for (var j = 0; j < List.length; j++) { + // 对结束时间进行处理渲染到页面 + var endTimeList = List[j]; + for (var i = 0; i < endTimeList.length; i++) { + var o = endTimeList[i]; + var endTime = o.end_time; + if (newTime < o.start_time) endTime = o.start_time; + let obj = null; + // 如果活动未结束,对时间进行处理 + if (endTime - newTime > 0) { + let time = (endTime - newTime); + // 获取天、时、分、秒 + let day = parseInt(time / (60 * 60 * 24)); + let hou = parseInt(time % (60 * 60 * 24) / 3600); + let min = parseInt(time % (60 * 60 * 24) % 3600 / 60); + let sec = parseInt(time % (60 * 60 * 24) % 3600 % 60); + obj = { + day: this.timeFormat(day), + hou: this.timeFormat(hou), + min: this.timeFormat(min), + sec: this.timeFormat(sec) + } + } else { + //活动已结束,全部设置为'00' + obj = { + day: '00', + hou: '00', + min: '00', + sec: '00' + } + } + var txt = "goods_array[" + j + "][" + i + "].djs"; + ee.setData({ + [txt]: obj + }); + } + } + }, + //---小于10的格式化函数---- + timeFormat: function (param) { + return param < 10 ? '0' + param : param; + }, + }, + + }) \ No newline at end of file diff --git a/components/diy_pregoods/diy_pregoods.wxml b/components/diy_pregoods/diy_pregoods.wxml index cf4790b..8dfdd9d 100644 --- a/components/diy_pregoods/diy_pregoods.wxml +++ b/components/diy_pregoods/diy_pregoods.wxml @@ -3,7 +3,7 @@ - 秒杀 + 预售 @@ -12,58 +12,51 @@ - + - - - 即将开始 - - - 活动已结束 - + 火热进行 - + 已抢光 - - - + - - - {{aitem.djs.day}}天 - {{aitem.djs.hou}}时 - {{aitem.djs.min}}分 - {{aitem.djs.sec}}秒 + + + {{aitem.djs.day}}天 + {{aitem.djs.hou}}时 + {{aitem.djs.min}}分 + {{aitem.djs.sec}}秒 + + - - {{aitem.title}} - ¥{{aitem.price}} + {{aitem.act_name}} + ¥{{aitem.presell_price}} ¥{{aitem.market_price}} @@ -85,7 +78,7 @@ - {{aitem.title}} + {{aitem.act_name}} {{aitem.djs.day}}{{aitem.djs.hou}} : @@ -94,28 +87,23 @@ - ¥{{aitem.price}} + ¥{{aitem.presell_price}} ¥{{aitem.market_price}} - - - 正在预热 - - - + 已结束 - + 我要抢 - + 已抢光 diff --git a/components/diy_pregoods/diy_pregoods.wxss b/components/diy_pregoods/diy_pregoods.wxss index f364ac3..11e5447 100644 --- a/components/diy_pregoods/diy_pregoods.wxss +++ b/components/diy_pregoods/diy_pregoods.wxss @@ -68,7 +68,6 @@ swiper { width: 210rpx; height: 100%; position: relative; - top: -74rpx; left: 0rpx; } @@ -81,9 +80,9 @@ swiper { padding: 4rpx 10rpx; border-radius: 10rpx; z-index: 999; - position: relative; - top: -6rpx; - width: 210rpx; + position: absolute; + top: 0rpx; + width: 130rpx; color: #fff; text-align: center; } @@ -95,7 +94,7 @@ swiper { .sp .sp_top .s_foot_kill { font-size: 20rpx; position: relative; - top: -90rpx; + bottom: 0rpx; width: 210rpx; height: 38rpx; line-height: 38rpx; @@ -280,7 +279,6 @@ swiper { } .rob{ display: flex; - justify-content: flex-end; font-size: 30rpx; } .money{ diff --git a/packageA/pages/liveStream/liveStream.js b/packageA/pages/liveStream/liveStream.js index 4027ba0..e966956 100644 --- a/packageA/pages/liveStream/liveStream.js +++ b/packageA/pages/liveStream/liveStream.js @@ -245,7 +245,7 @@ Page({ pageSize: 100, }).then((res) => { self.setData({ - living: self.data.list, + living11: self.data.list, }); //直播中列表请求完后,请求即将开始列表 diff --git a/packageA/pages/liveStream/liveStream.wxml b/packageA/pages/liveStream/liveStream.wxml index 6397223..b6bd461 100644 --- a/packageA/pages/liveStream/liveStream.wxml +++ b/packageA/pages/liveStream/liveStream.wxml @@ -26,10 +26,10 @@ - + 直播中 - + diff --git a/packageC/pages/presell/cart/cart.js b/packageC/pages/presell/cart/cart.js index 72e295e..d548fe6 100644 --- a/packageC/pages/presell/cart/cart.js +++ b/packageC/pages/presell/cart/cart.js @@ -461,14 +461,18 @@ Page({ return false; } if(th.data.act.end_time { - if(res.data.code==0 && res.data.data){ - if(res.data.data.is_show!=1){ - isok=0; - } - //如果活动已经结束 - if(res.data.data.is_end==1){ - isok=0; - } - //已经结束 - if(ut.gettimestamp()>res.data.data.end_time){ - isok=0; - } - //还未开始 - if(ut.gettimestamp(){ + if (e.data.code == 0) { + promgoodsbuynum=e.data.data.sumgoodsnum; } + }) - var url1 = "/api/weshop/prom/zhbuyGoods/page"; - var req_data = { - page: 1, - pageSize: 1, - store_id: os.stoid, - zh_id: good.prom_id, - goods_id:good.goods_id + var presell_id =good.prom_id; + var presellList=null; + var url = "/api/weshop/marketing/marketingPresellList/list" + var rd = { + store_id: os.stoid, + presell_id: presell_id, + goods_id: good.goods_id + } + //------获取预售从表---------- + await getApp().request.promiseGet(url, { + data: rd + }).then(res => { + if (res.data.code == 0 && res.data.data && res.data.data.length > 0) { + var arr = res.data.data[0]; + presellList=arr } - await getApp().request.promiseGet(url1, { - data: req_data - }).then(res => { - if (ut.ajax_ok(res)) { - var gdlist = res.data.data.pageData[0]; - good.buyqty=gdlist.buyqty; - } - }) + }) - var num=good['buyqty']; - console.log(1111); - console.log(num); - //---- 要计算商品的限购 ----- - if(good['buyqty']>0){ - if(good.goods_num+promgoodsbuynum>good['buyqty']){ + if(presellList){ - var content= good['goods_name']+"超出活动限购\n"; - th.toast(content); - return false; - } + if(good.goods_num>presellList.presell_sumqty-presellList.buy_goodnum){ + var content = gg.goods_name + '购买数量超出商品库存,请取消订单'; + th.toast(content); + return false; } + var buyed_mum3 = promgoodsbuynum + good.goods_num; + if (buyed_mum3 > presellList.vip_butyqty && presellList.vip_butyqty > 0) { + var content = gg.goods_name + '购买数量超出商品限购,请取消订单'; + th.toast(content); + return false; + } + } + } + //如果优惠促销和搭配购的时候 if((good.prom_type==3 || good.prom_type==5) && good.is_collocation!=1 && good.is_gift!=1){ diff --git a/packageC/pages/presell/cart/cart.wxml b/packageC/pages/presell/cart/cart.wxml index 6577afa..589089b 100644 --- a/packageC/pages/presell/cart/cart.wxml +++ b/packageC/pages/presell/cart/cart.wxml @@ -13,19 +13,14 @@ 等待买家付定金 - {{filters.format_time(presell.kw_start_time,1)}} - - {{filters.format_time(presell.kw_end_time,1)}} - + {{filters.format_time(act.start_time,1)}} - {{filters.format_time(act.end_time,1)}} 等待尾款支付开始 - {{filters.format_time(presell.kw_start_time,1)}} - - {{filters.format_time(presell.kw_end_time,1)}} - + {{filters.format_time(act.pay_begindate,1)}} - {{filters.format_time(act.pay_enddate,1)}} - 等待收货 {{order.order_sn}} @@ -225,7 +220,7 @@ - + {{order.store_prom}} @@ -441,9 +436,7 @@ - - {{filter.get_type_card(item.UseObjectType)}} - + {{filter.get_type_card(item.UseObjectType)}} {{item.Sum}}元优惠券 diff --git a/packageC/pages/presell/cart/cart2_pre.js b/packageC/pages/presell/cart/cart2_pre.js index 2751f84..ec01b55 100644 --- a/packageC/pages/presell/cart/cart2_pre.js +++ b/packageC/pages/presell/cart/cart2_pre.js @@ -55,6 +55,9 @@ Page({ agree_no_ref:0 }, onLoad: function(t) { + wx.setNavigationBarTitle({ + title: "填写订单", + }); var th = this; this.setData({ is_b_now: 1}); th.data.postdata=getApp().get_b_now(); th.data.param=t; @@ -611,8 +614,8 @@ Page({ //--------------------提交订单----------------------- submitForm: function(t){ var th=this; - //如果商家不同意退定义 - if(!this.data.act.is_refundmoney && !th.agree_no_ref){ + //如果是部分定金,商家不同意退定金, + if(this.data.act.presell_type!=1 && !this.data.act.is_refundmoney && !th.agree_no_ref){ wx.showModal({ content: ' 预售商品不允许退定金!是否继续下单?', showCancel: true,//是否显示取消按钮 diff --git a/packageC/pages/presell/goodsInfo/goodsInfo.js b/packageC/pages/presell/goodsInfo/goodsInfo.js index 06f6ec2..306bfd8 100644 --- a/packageC/pages/presell/goodsInfo/goodsInfo.js +++ b/packageC/pages/presell/goodsInfo/goodsInfo.js @@ -1527,24 +1527,18 @@ Page({ onShareAppMessage: function (t) { var th = this; - var price = th.data.data.shop_price; - if (th.data.prom_act) { - price = th.data.prom_act.price; - - } - var title = th.data.data.goods_name; + var price = th.data.pre_arr.presell_price; var img = th.data.data.original_img; - if (th.data.prom_type == 6 || th.data.prom_type == 1 || th.data.prom_type == 4) { - title = th.data.prom_act.share_title; - if (!title) title = th.data.prom_act.title; - if (th.data.prom_type == 4) title = th.data.prom_act.name; + var title = th.data.presellForm.share_title; + if (!title) title = th.data.prom_act.title; + if (th.data.prom_type == 4) title = th.data.prom_act.name; - if (th.data.prom_act.share_imgurl) - img = th.data.iurl + th.data.prom_act.share_imgurl; - } + if (th.data.presellForm.share_img) + img = th.data.iurl + th.data.presellForm.share_img; - var url = "/pages/goods/goodsInfo/goodsInfo?goods_id=" + th.data.gid; + + var url = "/packageC/pages/presell/goodsInfo/goodsInfo?goods_id=" + th.data.gid; if (getApp().globalData.user_id) { url += "&first_leader=" + getApp().globalData.user_id; } @@ -1562,26 +1556,10 @@ Page({ path: url, imageUrl: img, }; - if (th.data.prom_type == 6) { - title += '\n' + th.data.prom_act.share_remark; - ob.title = title; - ob.desc = th.data.prom_act.share_remark; - } - - //如果是积分购的时候 - if (th.data.prom_type == 4) { - var name = th.data.prom_act.name; - //-- 积分购的 -- - var pri0 = th.data.prom_act.addmoney; - var integral = th.data.prom_act.integral; - var text = ""; - if (integral) { text = integral + "积分"; } - if (pri0 && integral) { text += "+"; } - if (pri0) { text += "¥" + pri0; } - - ob.title = text + " " + name; - } + + ob.title += '\n' + th.data.presellForm.share_remark; + return ob; }, @@ -1604,9 +1582,8 @@ Page({ //----------装载同一活动中的商品---------- async get_sku(stoid, gd, g_id, is_normal, func) { - var tt = this, arrdata = null; - var now = ut.gettimestamp(); - + var tt = this, arrdata = null; + var now = ut.gettimestamp(); var rq_data={ store_id: o.stoid, sku: gd.sku, @@ -1618,7 +1595,7 @@ Page({ prom_type: 8, }; - if(tt.data.presellForm && tt.data.presellForm.id){ + if(tt.data.presellForm && tt.data.presellForm.id){ rq_data.prom_id=tt.data.presellForm.id; } @@ -2845,9 +2822,10 @@ Page({ context.fillText(text, 38 * unit, 235 * unit); } - console.log(th.data.share_goods_img); - let share_goods_img=th.data.presellForm.share_img; - share_goods_img?share_goods_img:th.data.data.share_goods_img; + + //console.log(th.data.share_goods_img); + //let share_goods_img=th.data.presellForm.share_img; + //share_goods_img?share_goods_img:th.data.data.share_goods_img; //---中间大图--- context.drawImage(th.data.share_goods_img, 70 * unit, 250 * unit, 408 * unit, 408 * unit); @@ -3127,7 +3105,6 @@ Page({ tt(); return false; } - // var img_url = ee.data.data.original_img; var img_url = ee.data.presellForm.share_img; img_url?img_url:ee.data.data.original_img; @@ -3989,7 +3966,11 @@ Page({ } }) if (!pre_arr) { - wx.showToast({title: "当前会员身份不符,无法参与", icon: 'none', duration: 3000}) + wx.showToast({title: "当前会员身份不符,无法参与", icon: 'none', duration: 3000}); + setTimeout(function () { + ut.wx_back(); + }, 2000) + return false; } if (func) { func(); diff --git a/packageC/pages/presell/list/list.wxml b/packageC/pages/presell/list/list.wxml index ea6a007..51aabda 100644 --- a/packageC/pages/presell/list/list.wxml +++ b/packageC/pages/presell/list/list.wxml @@ -43,7 +43,7 @@ - + 已预售{{filters.toFix((item.buy_goodnum+item.virtual_qty)/(item.presell_sumqty+item.virtual_qty)*100,0)}}% diff --git a/pages/index/index/index.json b/pages/index/index/index.json index c72cf2b..0f62f01 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", - "store_select": "/components/diy_store_select/diy_store_select" + "store_select": "/components/diy_store_select/diy_store_select", + "presell": "/components/diy_pregoods/diy_pregoods" }, "enablePullDownRefresh": false } \ No newline at end of file diff --git a/pages/index/index/index.wxml b/pages/index/index/index.wxml index 9829cec..894c653 100644 --- a/pages/index/index/index.wxml +++ b/pages/index/index/index.wxml @@ -435,10 +435,16 @@ - + - + + + + + + + @@ -461,9 +467,7 @@ - - - + diff --git a/pages/index/index/index.wxss b/pages/index/index/index.wxss index 1ba940e..d956d5e 100644 --- a/pages/index/index/index.wxss +++ b/pages/index/index/index.wxss @@ -434,6 +434,7 @@ display: flex; padding: 0 10rpx; box-sizing: content-box; + width: 750rpx !important; } .nav { diff --git a/pages/template/index.json b/pages/template/index.json index 418f686..c8f5ff7 100644 --- a/pages/template/index.json +++ b/pages/template/index.json @@ -19,7 +19,8 @@ "picMax": "/components/diy_picMax/diy_picMax", "mvideo": "/components/diy_video/diy_video", "service": "/components/diy_service/diy_service", - "scan": "/components/diy_scan/diy_scan" + "scan": "/components/diy_scan/diy_scan", + "presell": "/components/diy_pregoods/diy_pregoods" }, "enablePullDownRefresh": false } \ No newline at end of file diff --git a/pages/template/index.wxml b/pages/template/index.wxml index 452f71f..82f373f 100644 --- a/pages/template/index.wxml +++ b/pages/template/index.wxml @@ -61,6 +61,14 @@ + + + + + + + + diff --git a/pages/user/order_list/order_list.js b/pages/user/order_list/order_list.js index 441f300..0261895 100644 --- a/pages/user/order_list/order_list.js +++ b/pages/user/order_list/order_list.js @@ -461,6 +461,7 @@ Page({ var th = this; var order = e; var order_goods = e.order_goods; + var user_id=getApp().globalData.userInfo.user_id; var wlist = ""; for (var i in order_goods) { @@ -482,7 +483,8 @@ Page({ return false; } //要每件每件的商品进行检查,看有么有超出库存,超出限购 - var good = order_goods[i], goodsbuynum = 0, promgoodsbuynum = 0, gg = null; + var good = order_goods[i], goodsbuynum = 0, promgoodsbuynum = 0, gg = null,presellList=null; + //获取单品的现在的活动状态 await getApp().request.promiseGet("/api/weshop/goods/get/" + os.stoid + "/" + good.goods_id, {}).then(res => { gg = res.data.data; @@ -512,7 +514,6 @@ Page({ th.toast(content); return false; } - //当是组合优惠的时候 if (good.prom_type == 7) { //如果有组合购 @@ -579,6 +580,52 @@ Page({ } } + //如果是预售的时候, + if(good.prom_type==8){ + await getApp().request.promiseGet("/api/weshop/order/orderPresell/countBuyGoodsSum",{ + data: {store_id: os.stoid, user_id: user_id, goods_id: good.goods_id, prom_id: good.prom_id}, + }).then(e=>{ + if (e.data.code == 0) { + promgoodsbuynum=e.data.data.sumgoodsnum; + } + }) + + var presell_id =good.prom_id; + var url = "/api/weshop/marketing/marketingPresellList/list" + var rd = { + store_id: os.stoid, + presell_id: presell_id, + goods_id: good.goods_id + } + //------获取预售从表---------- + await getApp().request.promiseGet(url, { + data: rd + }).then(res => { + if (res.data.code == 0 && res.data.data && res.data.data.length > 0) { + var arr = res.data.data[0]; + presellList=arr + } + }) + + if(presellList){ + + if(good.goods_num>presellList.presell_sumqty-presellList.buy_goodnum){ + var content = good.goods_name + '购买数量超出商品库存,请取消订单'; + th.toast(content); + return false; + } + var buyed_mum3 = promgoodsbuynum + good.goods_num; + if (buyed_mum3 > presellList.vip_butyqty && presellList.vip_butyqty > 0) { + var content = good.goods_name + '购买数量超出商品限购,请取消订单'; + th.toast(content); + return false; + } + + } + } + + + //如果优惠促销和搭配购的时候 if ((good.prom_type == 3 || good.prom_type == 5) && good.is_gift != 1 && good.is_collocation != 1) { var p_ok = 1; diff --git a/pages/user/order_list/order_list.wxml b/pages/user/order_list/order_list.wxml index f113c2a..81920ab 100644 --- a/pages/user/order_list/order_list.wxml +++ b/pages/user/order_list/order_list.wxml @@ -46,8 +46,9 @@ 尾款支付失败 - 待支付定金 + 待支付定金 待尾款 + 未支付