From 415e799fc88267a67e2c1881bc57f0e5e5786d3e Mon Sep 17 00:00:00 2001 From: Cyy <547766613@qq.com> Date: Wed, 28 Jun 2023 16:10:33 +0800 Subject: [PATCH] OA测试优化 --- app.wxss | 119 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ packageA/pages/serviceCard_pd/cart/cart.js | 31 ++++++++++++++++++++++++++++++- packageA/pages/serviceCard_pd/cart/cart.wxml | 11 +++++++++++ packageB/pages/zuhegou/index/index.js | 5204 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ packageB/pages/zuhegou/index/index.wxml | 2 +- packageB/pages/zuhegou/index/index.wxss | 7 +++++++ packageC/pages/luckyGo/luckyGo_cart/luckyGo_cart.js | 32 +++++++++++++++++++++++++++++++- packageC/pages/luckyGo/luckyGo_cart/luckyGo_cart.wxml | 24 ++++++++++++++++++++++++ packageC/pages/luckyGo/luckyGo_cart_ct/luckyGo_cart_ct.js | 31 ++++++++++++++++++++++++++++++- packageC/pages/luckyGo/luckyGo_cart_ct/luckyGo_cart_ct.wxml | 12 +++++++++++- packageC/pages/presell/cart/cart.js | 32 +++++++++++++++++++++++++++++++- packageC/pages/presell/cart/cart.wxml | 12 ++++++++++++ packageC/pages/presell/cart/cart2.js | 34 ++++++++++++++++++++++++++++++++-- packageC/pages/presell/cart/cart2.wxml | 13 +++++++++++++ packageC/pages/presell/cart/cart2_pre.js | 30 ++++++++++++++++++++++++++++++ packageC/pages/presell/cart/cart2_pre.wxml | 12 ++++++++++++ packageE/pages/cart/cart2/cart2.js | 31 ++++++++++++++++++++++++++++++- packageE/pages/cart/cart2/cart2.wxml | 24 +++++++++++++++++++++++- packageE/pages/cart/cart2_inte/cart2_inte.js | 30 ++++++++++++++++++++++++++++++ packageE/pages/cart/cart2_inte/cart2_inte.wxml | 12 ++++++++++++ pages/cart/cart2_pt/cart2_pt.js | 30 ++++++++++++++++++++++++++++++ pages/cart/cart2_pt/cart2_pt.wxml | 12 ++++++++++++ pages/goods/goodsInfo/goodsInfo.js | 1 + pages/goods/goodsInfo/goodsInfo.wxml | 50 ++++++++++++++++++++++++++------------------------ pages/goods/goodsInfo/goodsInfo.wxss | 3 ++- 25 files changed, 3334 insertions(+), 2465 deletions(-) diff --git a/app.wxss b/app.wxss index 1d50246..16bcab5 100644 --- a/app.wxss +++ b/app.wxss @@ -1219,3 +1219,122 @@ background: #ffe3e2; +/* 保障服务样式,多使用 */ + + + +.bz_view22 { + /* height:100rpx; padding: 0 34rpx 0 13rpx; */ + color: #333; + font-size: 28rpx; + padding: 20rpx 20rpx 20rpx 10rpx; + background-color: #fff; + border-radius: 14rpx; + /* border-bottom: 3rpx solid #eee; */ + /* border-top: 3rpx solid #eee; */ +} + +.bz_view22 view { + width: 470rpx; + word-break: break-all; + /* max-height: 70rpx; */ + /* overflow: hidden; */ +} + +.bzfu_img22 { + width: 164rpx; + height: 34rpx; + /* margin-right: 18rpx; margin-left: 12rpx */ +} + +.bz-content22 { + padding: 0 0 0 20rpx; +} + + +.hideArea22 { + position: absolute; + left: -1000px; + top: -1000px; +} + +.bg_jj22 { + width: 14rpx; + height: 14rpx; + border-top: 2rpx solid #d70026; + border-right: 2rpx solid #d70026; + transform: rotateZ(45deg); + display: inline-block; + margin-bottom: 3rpx; +} +.bg_jj22.down22 { + transform: rotateZ(135deg); +} +.bg_jj22.up22 { + transform: rotateZ(-45deg); + margin-top: 6rpx; +} + +.cx-obtain-coupon22 { + /* width: 65rpx; + height: 100%; + padding-left:15rpx; */ + color: #d70025; + display: flex; + align-items: center; + /* position: absolute; + right: 5rpx; */ +} +.wsize22 { + font-size: 32rpx +} +.arrow22 { + width: auto !important; + position: absolute; + right: 10rpx; + top: 50%; + transform: translateY(-50%); +} +.xc-coupon-frame22 .rel22:not(:first-child) { + margin-top: 20rpx; +} + +.xc-coupon-frame22 .coupon22 { + width: 100%; + height: 168rpx; + border-radius: 25rpx; + border: 2rpx solid #ffdcdc; + overflow: hidden; + /* margin-top:16rpx; */ + box-sizing: border-box; + +} + + +.up22 { + animation: up .7s; +} + +.down22 { + animation: down 1s; +} + +@keyframes up22 { + 0% { + transform: translateY(550rpx); + } + + 100% { + transform: translateY(0); + } +} + +@keyframes down22 { + 0% { + transform: translateY(0); + } + + 100% { + transform: translateY(550rpx); + } +} \ No newline at end of file diff --git a/packageA/pages/serviceCard_pd/cart/cart.js b/packageA/pages/serviceCard_pd/cart/cart.js index 35f9333..4c81e8d 100644 --- a/packageA/pages/serviceCard_pd/cart/cart.js +++ b/packageA/pages/serviceCard_pd/cart/cart.js @@ -63,12 +63,41 @@ Page({ show_card: null, //显示的等级卡 card_name: '', //显示的卡的名称 card_cut_price: null,//减价多少钱 + bconfig: null, + showFold:true, + }, + + + + onReady() { + + setTimeout(() => { + wx.createSelectorQuery().selectAll(".showArea, .hideArea").boundingClientRect(res => { + if (res.length != 0) { + this.setData({ + showFold: res[0].height < res[1].height, + }); + }; + + }).exec(); + }, 1000); + + }, + + clickCollapse() { + this.setData({ + flag: !this.data.flag, + }) }, onLoad: function (t) { console.log("onLoad_pt_cart"); var th = this; this.setData({ is_b_now: t.is_bnow == undefined ? 0 : t.is_bnow, }); var appD = getApp().get_b_now(); - + getApp().getConfig2(function (e) { + th.setData({ + bconfig: e + }); + }, 1); th.data.postdata = appD; //如果期号有值 if (appD.qh) { diff --git a/packageA/pages/serviceCard_pd/cart/cart.wxml b/packageA/pages/serviceCard_pd/cart/cart.wxml index 20e6192..53c2d39 100644 --- a/packageA/pages/serviceCard_pd/cart/cart.wxml +++ b/packageA/pages/serviceCard_pd/cart/cart.wxml @@ -113,6 +113,17 @@ + + + + + {{bconfig.service_bz}} + {{bconfig.service_bz}} + + + + + 留言 diff --git a/packageB/pages/zuhegou/index/index.js b/packageB/pages/zuhegou/index/index.js index acf0c50..a3603c6 100644 --- a/packageB/pages/zuhegou/index/index.js +++ b/packageB/pages/zuhegou/index/index.js @@ -6,2630 +6,2974 @@ var regeneratorRuntime = require('../../../../utils/runtime.js'); var oo = app.globalData; -let imgDraw = { - "width": "650px", - "height": "843px", - "background": "https://mshopimg.yolipai.net/miniapp/images/zhg/bg-zuhegou.jpg", - "views": [{ // 头像 - "type": "image", - "url": "https://desk-fd.zol-img.com.cn/t_s960x600c5/g5/M00/0F/08/ChMkJlauzXWIDrXBAAdCg2xP7oYAAH9FQOpVAIAB0Kb342.jpg", - "css": { - "width": "100px", - "height": "100px", - "top": "20px", - "left": "275px", - "borderRadius": "100px", - "mode": "scaleToFill", - "borderWidth": "2px", - "borderColor": "#fff", - } - }, - { //昵称 - "type": "text", - "text": "我是店铺名", - "css": { - "width": "650px", - "color": "#fff", - "top": "136px", - // "left": "137px", - "textAlign": "center", - "fontSize": "26px", - "maxLines": "1", - } - }, - { //10元任选3件 - "type": "text", - "text": "10元3件", - "css": { - "color": "#fff", - "width": "650px", - "top": "270px", - "fontSize": "70px", - "maxLines": "1", - "textAlign": "center", - "fontWeight": "bold", - } - }, - { //活动时间 - "type": "text", - "text": "活动时间:2021.07.06 - 2021.07.08", - "css": { - "color": "#333", - "width": "650px", - "top": "440px", - "fontSize": "26px", - "fontWeight": "normal", - "maxLines": "1", - "textAlign": "center" - } - }, - { // 码 - "type": "image", - "url": "https://desk-fd.zol-img.com.cn/t_s960x600c5/g5/M00/0F/08/ChMkJlauzXWIDrXBAAdCg2xP7oYAAH9FQOpVAIAB0Kb342.jpg", - "css": { - "color": "#000", - "width": "200px", - "height": "200px", - "top": "525px", - "left": "225px", - } - }, - { // 扫码提示 - "type": "text", - "text": "长按扫码即可参与活动", - "css": { - "color": "#666", - "width": "650px", - "top": "750px", - "fontSize": "26px", - "textAlign": "center" - } - }, - ] -}; Page({ - /** - * 页面的初始数据 - */ - data: { - iurl: os.imghost, - showRule: false, - showMask: false, - showNum: false, - haveAdded: false, - //imgDraw: imgDraw, 分享内容 - id: 0, //获得活动id - page: 1, //第一页 - no_more: 0, //没有更多 - loading: 0, //加载中 - list: null, //商品列表的显示 - act: null, //组合活动 - all_price: 0, //合计价格 - all_num: 0, //全部数量 - sele_pick_id: 0, //默认选择门店,当用户什么商品都没有选,sele_pick_id=0 - def_store: null, //用户默认的门店 - sele_store: 0, //是不是选择了门店 - more_store: 0, //选择门店 - sort_store: 0, //门店分类 - choice_sort_store: 0, //选择分类门店 - fir_pick_index: 0, //门店选择的下标 - sec_pick_index: 0, //门店选择的下标,地区选择之后的内页 - userbuynum:false,//是否有超出购买次数,还是否可以购买。false 为可购买,true为不可购买 - sales_map:{}, //线下销售的map - }, - - /** - * 生命周期函数--监听页面加载 - */ - onLoad: function (options) { - - console.log(options, 111); - self = this; - var the_id = options.id; - if (options.title) { - wx.setNavigationBarTitle({ - title: options.title, + /** + * 页面的初始数据 + */ + data: { + iurl: os.imghost, + showRule: false, + showMask: false, + showNum: false, + haveAdded: false, + imgDraw: {}, + id: 0, //获得活动id + page: 1, //第一页 + no_more: 0, //没有更多 + loading: 0, //加载中 + list: null, //商品列表的显示 + act: null, //组合活动 + all_price: 0, //合计价格 + all_num: 0, //全部数量 + sele_pick_id: 0, //默认选择门店,当用户什么商品都没有选,sele_pick_id=0 + def_store: null, //用户默认的门店 + sele_store: 0, //是不是选择了门店 + more_store: 0, //选择门店 + sort_store: 0, //门店分类 + choice_sort_store: 0, //选择分类门店 + fir_pick_index: 0, //门店选择的下标 + sec_pick_index: 0, //门店选择的下标,地区选择之后的内页 + userbuynum: false,//是否有超出购买次数,还是否可以购买。false 为可购买,true为不可购买 + sales_map: {}, //线下销售的map + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad: function (options) { + + console.log(options, 111); + self = this; + var the_id = options.id; + if (options.title) { + wx.setNavigationBarTitle({ + title: options.title, + }); + }; + var first_leader = options.first_leader; + + //--如果tg_id是空的话,分享回来-- + if (the_id == undefined || the_id == null || the_id == "") { + var gid_str = decodeURIComponent(options.scene); + gid_str = gid_str.split("_"); + the_id = gid_str[0]; + if (gid_str.length > 1) { + first_leader = gid_str[1]; + } + } + + this.data.id = the_id; + if (first_leader) { + getApp().globalData.first_leader = first_leader; + //调用接口判断是不是会员 + getApp().request.promiseGet("/api/weshop/shoppingGuide/get/" + os.stoid + "/" + first_leader, {}).then(res => { + if (res.data.code == 0) { + getApp().globalData.guide_id = res.data.data.id; + getApp().globalData.guide_pick_id = res.data.data.pickup_id + } + }) + } + }, + + //检测有没有导购分享的门店 + check_guide(func) { + var first_leader = getApp().globalData.first_leader; + if (!first_leader) { + func(); + return false; + } + if (this.data.is_geted_guide_pick) { + func(); + return false; + } + + if (getApp().globalData.guide_pick_id) { + func(); + return false; + } + var th = this; + getApp().request.promiseGet("/api/weshop/shoppingGuide/get/" + os.stoid + "/" + first_leader, {}).then(res => { + if (res.data.code == 0) { + getApp().globalData.guide_pick_id = res.data.data.pickup_id; + } + th.data.is_geted_guide_pick = 1; + func(); + }) + }, + + + /** + * 生命周期函数--监听页面显示 + */ + onShow: function () { + getApp().check_can_share(); + var th = this, + that = this, + ee = this; + + let scene = wx.getLaunchOptionsSync().scene; + //--判断是否是单页面-- + if (scene == 1154) { + var url = "/api/weshop/prom/zhbuy/getone/" + os.stoid + "/" + th.data.id; + getApp().request.get(url, { + success: function (e) { + th.data.is_get_act = 1; + if (e.data.code == 0 && e.data.data) { + if (e.data.data.share_imgurl) { + var imgDraw = { + "width": "550px", + "height": "943px", + "background": "https://mshopimg.yolipai.net/miniapp/images/zhg/bg-zuhegou.jpg", + "views": [{ // 头像 + "type": "image", + "url": "https://desk-fd.zol-img.com.cn/t_s960x600c5/g5/M00/0F/08/ChMkJlauzXWIDrXBAAdCg2xP7oYAAH9FQOpVAIAB0Kb342.jpg", + "css": { + "display": "none", + "height": "10px", + "top": "20px", + "left": "275px", + "borderRadius": "100px", + "mode": "scaleToFill", + "borderWidth": "2px", + "borderColor": "#fff", + } + }, + { //昵称 + "type": "text", + "text": "我是店铺名", + "css": { + "width": "650px", + "color": "#fff", + "top": "16px", + // "left": "137px", + "textAlign": "center", + "fontSize": "26px", + "maxLines": "1", + } + }, + + { // 码 + "type": "image", + "url": "https://desk-fd.zol-img.com.cn/t_s960x600c5/g5/M00/0F/08/ChMkJlauzXWIDrXBAAdCg2xP7oYAAH9FQOpVAIAB0Kb342.jpg", + "css": { + "color": "#000", + "width": "509px", + "height": "510px", + "top": "80px", + "left": "21px", + } + }, + { //10元任选3件 + "type": "text", + "text": "10元3件", + "css": { + "color": "red", + "width": "250px", + "top": "750px", + "fontSize": "30px", + "maxLines": "1", + "textAlign": "center", + "fontWeight": "bold", + } + }, + { //活动时间 + "type": "text", + "text": "活动时间:2021.07.06 - 2021.07.08", + "css": { + "color": "#333", + "width": "250px", + "top": "820px", + "fontSize": "22px", + "maxLines": "2", + "left": "60px", + } + }, + { // 码 + "type": "image", + "url": "https://desk-fd.zol-img.com.cn/t_s960x600c5/g5/M00/0F/08/ChMkJlauzXWIDrXBAAdCg2xP7oYAAH9FQOpVAIAB0Kb342.jpg", + "css": { + "color": "#000", + "width": "120px", + "height": "120px", + "top": "680px", + "left": "365px", + } + }, + { // 扫码提示 + "type": "text", + "text": "长按识别二维码", + "css": { + "color": "#666", + "width": "650px", + "top": "840px", + "fontSize": "22px", + "left": "335px", + } + }, + ] + } + + th.setData({ + imgDraw: imgDraw + }); + + } else { + var imgDraw = { + "width": "650px", + "height": "843px", + "background": "https://mshopimg.yolipai.net/miniapp/images/zhg/bg-zuhegou.jpg", + "views": [{ // 头像 + "type": "image", + "url": "https://desk-fd.zol-img.com.cn/t_s960x600c5/g5/M00/0F/08/ChMkJlauzXWIDrXBAAdCg2xP7oYAAH9FQOpVAIAB0Kb342.jpg", + "css": { + "width": "100px", + "height": "100px", + "top": "20px", + "left": "275px", + "borderRadius": "100px", + "mode": "scaleToFill", + "borderWidth": "2px", + "borderColor": "#fff", + } + }, + { //昵称 + "type": "text", + "text": "我是店铺名", + "css": { + "width": "650px", + "color": "#fff", + "top": "136px", + // "left": "137px", + "textAlign": "center", + "fontSize": "26px", + "maxLines": "1", + } + }, + { //10元任选3件 + "type": "text", + "text": "10元3件", + "css": { + "color": "#fff", + "width": "650px", + "top": "270px", + "fontSize": "70px", + "maxLines": "1", + "textAlign": "center", + "fontWeight": "bold", + } + }, + { //活动时间 + "type": "text", + "text": "活动时间:2021.07.06 - 2021.07.08", + "css": { + "color": "#333", + "width": "650px", + "top": "440px", + "fontSize": "26px", + "fontWeight": "normal", + "maxLines": "1", + "textAlign": "center" + } + }, + { // 码 + "type": "image", + "url": "https://desk-fd.zol-img.com.cn/t_s960x600c5/g5/M00/0F/08/ChMkJlauzXWIDrXBAAdCg2xP7oYAAH9FQOpVAIAB0Kb342.jpg", + "css": { + "color": "#000", + "width": "200px", + "height": "200px", + "top": "525px", + "left": "225px", + } + }, + { // 扫码提示 + "type": "text", + "text": "长按扫码即可参与活动", + "css": { + "color": "#666", + "width": "650px", + "top": "750px", + "fontSize": "26px", + "textAlign": "center" + } + }, + ] + } + + th.setData({ + imgDraw: imgDraw + }); + } + self.setData({ + act: e.data.data }); - }; - var first_leader = options.first_leader; - - //--如果tg_id是空的话,分享回来-- - if (the_id == undefined || the_id == null || the_id == "") { - var gid_str = decodeURIComponent(options.scene); - gid_str = gid_str.split("_"); - the_id = gid_str[0]; - if (gid_str.length > 1) { - first_leader = gid_str[1]; + if (e.data.data.is_show != 1) { + th.setData({ + error: '活动未开启' + }); + return false; } - } - this.data.id = the_id; - if (first_leader) { - getApp().globalData.first_leader = first_leader; - //调用接口判断是不是会员 - getApp().request.promiseGet("/api/weshop/shoppingGuide/get/" + os.stoid + "/" + first_leader, {}).then(res => { - if (res.data.code == 0) { - getApp().globalData.guide_id = res.data.data.id; - getApp().globalData.guide_pick_id= res.data.data.pickup_id - } - }) - } - }, + if (ut.gettimestamp() < e.data.data.start_time) { + th.setData({ + error: '活动还未开始' + }); + return false; + } + if (e.data.data.is_end == 0 && ut.gettimestamp() < e.data.data.end_time) { + //判断是否有限制购买次数 + if (e.data.data.buy_limit != 0) { - //检测有没有导购分享的门店 - check_guide(func){ - var first_leader=getApp().globalData.first_leader; - if(!first_leader){ - func(); - return false; - } - if(this.data.is_geted_guide_pick){ - func(); + } + //-- 获取商品列表 -- + self.get_list(); + self.countDown(); + } else { + th.setData({ + error: '活动已经过期' + }); + return false; + } + } else { + th.data.is_get_act = 0; + th.setData({ + error: e.data.msg + }); return false; + } } + }); + } - if(getApp().globalData.guide_pick_id){ - func(); - return false; - } - var th=this; - getApp().request.promiseGet("/api/weshop/shoppingGuide/get/" + os.stoid + "/" + first_leader, {}).then(res => { - if (res.data.code == 0) { - getApp().globalData.guide_pick_id= res.data.data.pickup_id; - } - th.data.is_geted_guide_pick=1; - func(); - }) - }, - - - /** - * 生命周期函数--监听页面显示 - */ - onShow: function () { - getApp().check_can_share(); - var th = this, - that = this, - ee = this; - - let scene = wx.getLaunchOptionsSync().scene; - //--判断是否是单页面-- - if (scene== 1154) { - var url = "/api/weshop/prom/zhbuy/getone/" + os.stoid + "/" + th.data.id; + + + + getApp().is_Single_page(this, function () { + + this.data.is_timer = 1; + if (this.data.act) this.countDown(); + //如果有会员的时候 + var userInfo = getApp().globalData.userInfo; + if (userInfo) { + if (!th.data.is_get_act) { + //获取活动信息 + var url = "/api/weshop/prom/zhbuy/get/" + os.stoid + "/" + th.data.id + "/" + userInfo.user_id; getApp().request.get(url, { - success: function (e) { - th.data.is_get_act = 1; - if (e.data.code == 0 && e.data.data) { - self.setData({ - act: e.data.data - }); - if (e.data.data.is_show != 1) { - th.setData({ - error: '活动未开启' - }); - return false; + success: function (e) { + th.data.is_get_act = 1; + if (e.data.code == 0 && e.data.data) { + if (e.data.data.share_imgurl) { + var imgDraw = { + "width": "550px", + "height": "943px", + "background": "https://mshopimg.yolipai.net/miniapp/images/zhg/bg-zuhegou.jpg", + "views": [{ // 头像 + "type": "image", + "url": "https://desk-fd.zol-img.com.cn/t_s960x600c5/g5/M00/0F/08/ChMkJlauzXWIDrXBAAdCg2xP7oYAAH9FQOpVAIAB0Kb342.jpg", + "css": { + "width": "100px", + "height": "100px", + "top": "20px", + "left": "225px", + "borderRadius": "100px", + "mode": "scaleToFill", + "borderWidth": "2px", + "borderColor": "#fff", } - if (ut.gettimestamp() < e.data.data.start_time) { - th.setData({ - error: '活动还未开始' - }); - return false; + }, + { //昵称 + "type": "text", + "text": "我是店铺名", + "css": { + "width": "550px", + "color": "#fff", + "top": "136px", + // "left": "137px", + "textAlign": "center", + "fontSize": "26px", + "maxLines": "1", } - if (e.data.data.is_end == 0 && ut.gettimestamp() < e.data.data.end_time) { - //判断是否有限制购买次数 - if(e.data.data.buy_limit !=0){ - - } - //-- 获取商品列表 -- - self.get_list(); - self.countDown(); - } else { - th.setData({ - error: '活动已经过期' - }); - return false; + }, + + { // 码 + "type": "image", + "url": "https://desk-fd.zol-img.com.cn/t_s960x600c5/g5/M00/0F/08/ChMkJlauzXWIDrXBAAdCg2xP7oYAAH9FQOpVAIAB0Kb342.jpg", + "css": { + "color": "#000", + "width": "509px", + "height": "510px", + "top": "180px", + "left": "21px", } - } else { - th.data.is_get_act = 0; - th.setData({ - error: e.data.msg - }); - return false; + }, + { //10元任选3件 + "type": "text", + "text": "10元3件", + "css": { + "color": "red", + "width": "250px", + "top": "750px", + "fontSize": "30px", + "maxLines": "1", + "left": "60px", + "fontWeight": "bold", + } + }, + { //活动时间 + "type": "text", + "text": "活动时间:2021.07.06 - 2021.07.08", + "css": { + "color": "#333", + "width": "250px", + "top": "820px", + "fontSize": "22px", + "maxLines": "2", + "left": "60px", + } + }, + { // 码 + "type": "image", + "url": "https://desk-fd.zol-img.com.cn/t_s960x600c5/g5/M00/0F/08/ChMkJlauzXWIDrXBAAdCg2xP7oYAAH9FQOpVAIAB0Kb342.jpg", + "css": { + "color": "#000", + "width": "120px", + "height": "120px", + "top": "710px", + "left": "365px", + } + }, + { // 扫码提示 + "type": "text", + "text": "长按识别二维码", + "css": { + "color": "#666", + "width": "650px", + "top": "850px", + "fontSize": "22px", + "left": "335px", + } + }, + ] } + + th.setData({ + imgDraw: imgDraw + }); + + } else { + var imgDraw = { + "width": "650px", + "height": "843px", + "background": "https://mshopimg.yolipai.net/miniapp/images/zhg/bg-zuhegou.jpg", + "views": [{ // 头像 + "type": "image", + "url": "https://desk-fd.zol-img.com.cn/t_s960x600c5/g5/M00/0F/08/ChMkJlauzXWIDrXBAAdCg2xP7oYAAH9FQOpVAIAB0Kb342.jpg", + "css": { + "width": "100px", + "height": "100px", + "top": "20px", + "left": "275px", + "borderRadius": "100px", + "mode": "scaleToFill", + "borderWidth": "2px", + "borderColor": "#fff", + } + }, + { //昵称 + "type": "text", + "text": "我是店铺名", + "css": { + "width": "650px", + "color": "#fff", + "top": "136px", + // "left": "137px", + "textAlign": "center", + "fontSize": "26px", + "maxLines": "1", + } + }, + { //10元任选3件 + "type": "text", + "text": "10元3件", + "css": { + "color": "#fff", + "width": "650px", + "top": "270px", + "fontSize": "70px", + "maxLines": "1", + "textAlign": "center", + "fontWeight": "bold", + } + }, + { //活动时间 + "type": "text", + "text": "活动时间:2021.07.06 - 2021.07.08", + "css": { + "color": "#333", + "width": "650px", + "top": "440px", + "fontSize": "26px", + "fontWeight": "normal", + "maxLines": "1", + "textAlign": "center" + } + }, + { // 码 + "type": "image", + "url": "https://desk-fd.zol-img.com.cn/t_s960x600c5/g5/M00/0F/08/ChMkJlauzXWIDrXBAAdCg2xP7oYAAH9FQOpVAIAB0Kb342.jpg", + "css": { + "color": "#000", + "width": "200px", + "height": "200px", + "top": "525px", + "left": "225px", + } + }, + { // 扫码提示 + "type": "text", + "text": "长按扫码即可参与活动", + "css": { + "color": "#666", + "width": "650px", + "top": "750px", + "fontSize": "26px", + "textAlign": "center" + } + }, + ] + } + + th.setData({ + imgDraw: imgDraw + }); + } + self.setData({ + act: e.data.data + }); + if (e.data.data.is_show != 1) { + th.setData({ + error: '活动未开启' + }); + return false; + } + if (ut.gettimestamp() < e.data.data.start_time) { + th.setData({ + error: '活动还未开始' + }); + return false; + } + if (e.data.data.is_end == 0 && ut.gettimestamp() < e.data.data.end_time) { + //判断是否有限制购买次数 + if (e.data.data.buy_limit != 0) { + self.getUserBuyPromNum() + } + //-- 获取商品列表 -- + self.get_list(); + self.countDown(); + } else { + th.setData({ + error: '活动已经过期' + }); + return false; + } + } else { + th.data.is_get_act = 0; + th.setData({ + error: e.data.msg + }); + return false; } + } }); } - getApp().is_Single_page(this, function () { - - this.data.is_timer = 1; - if (this.data.act) this.countDown(); - //如果有会员的时候 - var userInfo = getApp().globalData.userInfo; - if (userInfo) { - if (!th.data.is_get_act) { - //获取活动信息 - var url = "/api/weshop/prom/zhbuy/get/" + os.stoid + "/" + th.data.id + "/" + userInfo.user_id; - getApp().request.get(url, { - success: function (e) { - th.data.is_get_act = 1; - if (e.data.code == 0 && e.data.data) { - self.setData({ - act: e.data.data - }); - if (e.data.data.is_show != 1) { - th.setData({ - error: '活动未开启' - }); - return false; - } - if (ut.gettimestamp() < e.data.data.start_time) { - th.setData({ - error: '活动还未开始' - }); - return false; - } - if (e.data.data.is_end == 0 && ut.gettimestamp() < e.data.data.end_time) { - //判断是否有限制购买次数 - if(e.data.data.buy_limit !=0){ - self.getUserBuyPromNum() - } - //-- 获取商品列表 -- - self.get_list(); - self.countDown(); - } else { - th.setData({ - error: '活动已经过期' - }); - return false; - } - } else { - th.data.is_get_act = 0; - th.setData({ - error: e.data.msg - }); - return false; - } - } - }); - } - //等待活动值 - this.waitfor2(10, 'list', function () { - if (!th.data.list) return false; - if (ut.gettimestamp() < th.data.act.start_time) { - return false; - } - if (th.data.act.is_end == 10 || ut.gettimestamp() >= th.data.act.end_time) { - return false; - } - //获取头像的分享 - th.get_head_temp(function () { - var txt = th.data.act.zhprice + "元" + th.data.act.zhbuyqty + "件"; - imgDraw.views[0].url = th.data.share_head; - imgDraw.views[1].text = userInfo.nickname; - imgDraw.views[2].text = txt; - - var start = ut.formar_no_full(th.data.act.start_time, '.'); - var end = ut.formar_no_full(th.data.act.end_time, '.'); - txt = "活动时间:" + start + " - " + end; - imgDraw.views[3].text = txt; - - var scene = th.data.id + ""; - var user_id = getApp().globalData.user_id; - scene += "_" + user_id; - ///二微码 - var path3 = os.url + "/api/wx/open/app/user/getWeAppEwm/" + - os.stoid + "?sceneValue=" + scene + "&pageValue=packageB/pages/zuhegou/index/index"; - wx.getImageInfo({ - src: path3, - success: function (res) { - var vpath = res.path; - imgDraw.views[4].url = vpath; - th.setData({ - imgDraw: imgDraw - }) - } - }) - }) - th.check_guide(()=>{ - //获取用户的默认门店 - getApp().get_user_store(function (e) { - if (!e) { - th.data.fir_def_store = {}; //赋值空对象 - return false; - } - if(getApp().globalData.is_dj_pk) th.setData({has_def:1}) - - var ee = JSON.parse(JSON.stringify(e)); - var appd = getApp().globalData; - //-- 等待定位系统的开启 -- - th.waitfor2(15, 'is_get_local_ok', function () { - - if (!th.data.is_get_local_ok) return false; - - var e = JSON.parse(JSON.stringify(ee)); - //如果有开启近距离的话,同时距离优不一样了 - if (that.data.lat != null) { - //如果经纬度有变化的话 - if (e && appd.lat == that.data.lat && appd.lon == that.data.lon && e.distance > 0) { - that.set_def_storage(e); - } else { - //要用接口是获取距离,js的计算不准 - getApp().request.promiseGet("/api/weshop/pickup/list", { - data: { - store_id: os.stoid, - pickup_id: e.pickup_id, - is_pos: 1, - lat: th.data.lat, - lon: th.data.lon - }, - }).then(res => { - if (res.data.code == 0) { - e = res.data.data.pageData[0]; - if (e) { - e.is_no_dis = ee.is_no_dis; - appd.pk_store = e; - that.set_def_storage(e); - } - - } - }) - } - appd.lat = that.data.lat; - appd.lon = that.data.lon; - } else { - if (e) { - e.distance = null; - that.set_def_storage(e); - } - } - }) - }); - }) - //----获取系统参数----- - getApp().getConfig2(function (e) { - ee.setData({ - bconfig: e, - }); - //设置基本参数 - th.wait_for_store_config(e); - - var json_d = JSON.parse(e.switch_list); - ee.setData({ - store_config: e, - sys_switch: json_d, - is_closecoupon: json_d.is_closecoupon, - is_newsales_rules: json_d.is_newsales_rules, - is_open_offline: json_d.is_pricing_open, - sales_rules: e.sales_rules, - appoint_pick_keyid: json_d.appoint_pick_keyid - }); - - //-- 计算等级价相关 -- - var swithc_list = e.switch_list; - var sw_arr = JSON.parse(swithc_list); - //---如果后台又开等级卡的开关--- - if (sw_arr.rank_switch && sw_arr.rank_switch == "2") { - th.setData({ - rank_switch: true - }); - //---回调卡的列表--- - th.getPlusCardType(function (ob) { - th.setData({ - card_list: ob.card_list - }); - var user = getApp().globalData.userInfo; - if (!user) return false; - if (user.card_field && user['card_expiredate']) { - var str = user['card_expiredate'].replace(/-/g, '/'); - var end = new Date(str); - end = Date.parse(end) / 1000; - var now = ut.gettimestamp(); - //--- 判断是等级会员,且在有效期范围内 --- - if (user.card_field && now < end) { - var card_name = ob.name_map.get(user.card_field); - th.setData({ - card_field: user.card_field, - card_name: card_name, - card_list: ob.card_list - }); - } - } - //获取购物车的内容 - setTimeout(function(){ - th.get_cart_val(e); - },1000) - - - }) - } else { - //获取购物车的内容 - setTimeout(function(){ - th.get_cart_val(e); - },1000) - } - }, 1); + //等待活动值 + this.waitfor2(10, 'list', function () { + if (!th.data.list) return false; + if (ut.gettimestamp() < th.data.act.start_time) { + return false; + } + if (th.data.act.is_end == 10 || ut.gettimestamp() >= th.data.act.end_time) { + return false; + } + if (th.data.act.share_imgurl) { + var path22 = th.data.iurl + th.data.act.share_imgurl; + wx.getImageInfo({ + src: path22, + success: function (res) { + path22 = res.path; + + //获取头像的分享 + th.get_head_temp(function () { + var txt = th.data.act.zhprice + "元" + th.data.act.zhbuyqty + "件"; + var imgDraw = th.data.imgDraw; + imgDraw.views[0].url = th.data.share_head; + imgDraw.views[1].text = userInfo.nickname; + imgDraw.views[3].text = txt; + + txt = th.data.act.share_title?th.data.act.share_title:th.data.act.name + imgDraw.views[4].text = txt; + + var scene = th.data.id + ""; + var user_id = getApp().globalData.user_id; + scene += "_" + user_id; + ///二微码 + var path3 = os.url + "/api/wx/open/app/user/getWeAppEwm/" + + os.stoid + "?sceneValue=" + scene + "&pageValue=packageB/pages/zuhegou/index/index"; + wx.getImageInfo({ + src: path3, + success: function (res) { + var vpath = res.path; + imgDraw.views[2].url = path22; + imgDraw.views[5].url = vpath; + th.setData({ + imgDraw: imgDraw + }) + } + }) }) + }, + fail: function () { - } else { - getApp().goto("/packageE/pages/togoin/togoin"); - return false; - } - }) - - - - }, - //获取用户参与活动的次数 - getUserBuyPromNum(){ - var userInfo = getApp().globalData.userInfo; - var url = `/api/weshop/ordergoods/getUserBuyPromNum?store_id=${os.stoid}&user_id=${userInfo.user_id}&prom_type=7&prom_id=${this.data.act.id}`; - getApp().request.get(url, { - success: (e)=>{ - if (e.data.code == 0 && e.data.data) { - let userbuynum=e.data.data.userbuynum - if (userbuynum >=this.data.act.buy_limit && this.data.act.buy_limit !=0) { - this.setData({ - userbuynum:true + } + }); + } else { + //获取头像的分享 + th.get_head_temp(function () { + var imgDraw = th.data.imgDraw; + var txt = th.data.act.zhprice + "元" + th.data.act.zhbuyqty + "件"; + imgDraw.views[0].url = th.data.share_head; + imgDraw.views[1].text = userInfo.nickname; + imgDraw.views[2].text = txt; + + var start = ut.formar_no_full(th.data.act.start_time, '.'); + var end = ut.formar_no_full(th.data.act.end_time, '.'); + txt = "活动时间:" + start + " - " + end; + imgDraw.views[3].text = txt; + + var scene = th.data.id + ""; + var user_id = getApp().globalData.user_id; + scene += "_" + user_id; + ///二微码 + var path3 = os.url + "/api/wx/open/app/user/getWeAppEwm/" + + os.stoid + "?sceneValue=" + scene + "&pageValue=packageB/pages/zuhegou/index/index"; + wx.getImageInfo({ + src: path3, + success: function (res) { + var vpath = res.path; + imgDraw.views[4].url = vpath; + th.setData({ + imgDraw: imgDraw }) } - } else { + }) + }) - } } - }); - }, - onHide: function () { - this.data.is_timer = 0; - }, - - //-- 调用接口的LIST,获取商品 -- - get_list: function () { - var th = this; - if (this.data.loading) return false; - if (this.data.no_more) return false; - this.data.loading = 1; - var url = "/api/weshop/prom/zhbuyGoods/page"; - var req_data = { - page: this.data.page, - pageSize: 10, - store_id: os.stoid, - zh_id: this.data.id - } - //开始调用接口 - getApp().request.get(url, { - data: req_data, - success: function (res) { - th.data.loading = 0; - th.setData({ - is_get: 1 - }) - if (ut.ajax_ok(res)) { - th.data.page++; - var list = th.data.list; - if (!list) list = []; - - //当是下拉刷新的时候 - if (th.data.page > 1 && th.data.cart_list) { - //下拉之后也要重新计算一下金额 - th.calc_more(res.data.data.pageData, function (list1) { - for (var i in list1) { - list.push(list1[i]); - } - th.setData({ - list: list - }); - th.re_sum_price(); - }) - } else { - for (var i in res.data.data.pageData) { - list.push(res.data.data.pageData[i]); - } - th.setData({ - list: list - }); - if (res.data.data.total <= 10) { - th.setData({ - no_more: 1 - }); - } - } - } else { - th.setData({ - no_more: 1 - }); - } - } - }) - }, - - //-- 滚动到底部触发 -- - get_more_list: function () { - this.get_list(); - }, - - /** - * 用户点击右上角分享 - */ - onShareAppMessage: function () { getApp().globalData.no_clear=1; - var title = this.data.act.name; - var url = "/packageB/pages/zuhegou/index/index?id=" + this.data.act.id; - if (getApp().globalData.user_id) { - url += "&first_leader=" + getApp().globalData.user_id; - } - var ob = { - title: title, - path: url, - }; - if (this.data.act.img_url) - ob.imageUrl = this.data.iurl + this.data.act.img_url; - return ob; - }, - - /** - * 用户分享朋友圈 - */ - onShareTimeline() { - getApp().globalData.no_clear=1; - var title = this.data.act.name; - - var user_id=getApp().globalData.user_id; - if(!user_id) user_id=0; - var ob = { - title: title, - query: 'first_leader='+user_id+"&id=" + this.data.act.id - }; - if (this.data.act.img_url) - ob.imageUrl = this.data.iurl + this.data.act.img_url; - return ob; - }, - - /** - * 点击规则详情,弹出规则 - */ - showRule() { - this.setData({ - type: 0, //控制显示规则详情还是提示信息,0规则详情,1提示信息 - showRule: true, - showMask: true, - }); - }, - - /** - * 点击关闭按钮关闭规则详情弹窗 - */ - closeRule() { - this.setData({ - showRule: false, - showMask: false, - }); - }, - - /** - * 点击提示信息 - */ - showInfo() { - this.setData({ - type: 1, - showRule: true, - showMask: true, - }); - }, - - /** - * 加入购物车 - */ - addToCart(e) { - var th = this; - var index = e.currentTarget.dataset.index; - var userInfo = getApp().globalData.userInfo; - if (!userInfo) { - getApp().goto("/packageE/pages/togoin/togoin"); - return false; - } - let haveAdded = this.data.list[index].haveAdded; - this.data.sele_index = index; - let title = ''; - self = this; - th.data.s_cart_num = 0; - if(this.data.userbuynum){ - wx.showToast({ - title: '你已超出该活动购买次数!', - icon: 'none', - duration: 2000 - }) - return - } - if(this.data.act.zh_num>0 && this.data.act.zh_num<=this.data.act.zh_buy_num){ - wx.showToast({ - title: '组合总数不足!', - icon: 'none', - duration: 2000 - }) - return - } + th.check_guide(() => { + //获取用户的默认门店 + getApp().get_user_store(function (e) { + if (!e) { + th.data.fir_def_store = {}; //赋值空对象 + return false; + } + if (getApp().globalData.is_dj_pk) th.setData({ has_def: 1 }) + var ee = JSON.parse(JSON.stringify(e)); + var appd = getApp().globalData; + //-- 等待定位系统的开启 -- + th.waitfor2(15, 'is_get_local_ok', function () { - //说明是加入购物车是时候 - this.data.is_zuhe_addcart = 1; - if (!haveAdded) { + if (!th.data.is_get_local_ok) return false; - //购买的商品的数量默认超量的数量 - th.data.sele_g = this.data.list[index]; - if (!th.data.sele_g.num){ - th.data.goodsInputNum = 1; - if(th.data.sele_g.zhqty) th.data.goodsInputNum = th.data.sele_g.zhqty; - } + var e = JSON.parse(JSON.stringify(ee)); + //如果有开启近距离的话,同时距离优不一样了 + if (that.data.lat != null) { + //如果经纬度有变化的话 + if (e && appd.lat == that.data.lat && appd.lon == that.data.lon && e.distance > 0) { + that.set_def_storage(e); + } else { + //要用接口是获取距离,js的计算不准 + getApp().request.promiseGet("/api/weshop/pickup/list", { + data: { + store_id: os.stoid, + pickup_id: e.pickup_id, + is_pos: 1, + lat: th.data.lat, + lon: th.data.lon + }, + }).then(res => { + if (res.data.code == 0) { + e = res.data.data.pageData[0]; + if (e) { + e.is_no_dis = ee.is_no_dis; + appd.pk_store = e; + that.set_def_storage(e); + } - //如果没有门店,活动商品的配送方式和门店的配送方式不一样 - if (!th.data.def_pick_store || - (th.data.sele_g.distr_type != 0 && th.data.def_pick_store.distr_type != 0 && th.data.sele_g.distr_type != th.data.def_pick_store.distr_type)) { - //选择了门店 - if (th.data.sele_store) { - wx.showToast({ - title: "该商品的物流配送方式和默认门店不匹配!", - icon: 'none', - duration: 2000 + } }) + } + appd.lat = that.data.lat; + appd.lon = that.data.lon; } else { - wx.showModal({ - title: '温馨提示', - content: '该商品的物流配送方式和默认门店不匹配,是否要切换门店?', - success(res) { - if (res.confirm) { - //物流的配送方式不一样 - th.get_sto(); - var set_data = { - store: 1 - }; - if (th.data.def_pick_store) { - set_data.is_no_pipei = th.data.def_pick_store.pickup_id; - } - th.setData(set_data); - } - } - }) + if (e) { + e.distance = null; + that.set_def_storage(e); + } } - return false; - } else { - //先判断一下线下库存 - - th.chect_act_zh_num(function (){ - th.check_pk_store_conut(function(){ - th.setData({ - is_no_pipei: 0 - }); - th.check_is_in_cart(function () { - th.add_cart_func(); - }) - }) - }) - - } - } else { - - var txt = "list[" + index + "].haveAdded"; - var txt1 = "list[" + index + "].num"; - var txt2 = "list[" + index + "].showNum"; - th.data.sele_g = this.data.list[index]; + }) + }); + }) - wx.showModal({ - title: '温馨提示', - content: "确定取消该商品参与活动?", - success(res) { - if (res.confirm) { - console.log('用户点击确定'); - if (th.data.sele_g.cart_num && th.data.sele_g.cart_num - th.data.sele_g.num > 0) { - - var updata = { - id: th.data.sele_g.cart_id, - goods_num: th.data.sele_g.cart_num - th.data.sele_g.num, - store_id: os.stoid - } - getApp().request.put("/api/weshop/cart/update", { - data: updata, - success: function (rs) { - if (rs.data.code == 0) { - title = '取消成功'; - th.setData({ - [txt1]: 0, - [txt2]: false, - [txt]: false, - }); - wx.showToast({ - title: title, - icon: 'success', - }); - th.re_sum_price(); - } - } - }) - - } else { - var url = '/api/weshop/cart/del/' + os.stoid + '/' + th.data.sele_g.cart_id; - getApp().request.delete(url, { - success: function (res) { - - if (res.data.code == 0) { - title = '取消成功'; - th.setData({ - [txt1]: 0, - [txt2]: false, - [txt]: false, - }); - wx.showToast({ - title: title, - icon: 'success', - }); - - th.re_sum_price(); - } - } - }); - } + //----获取系统参数----- + getApp().getConfig2(function (e) { + ee.setData({ + bconfig: e, + }); + //设置基本参数 + th.wait_for_store_config(e); + + var json_d = JSON.parse(e.switch_list); + ee.setData({ + store_config: e, + sys_switch: json_d, + is_closecoupon: json_d.is_closecoupon, + is_newsales_rules: json_d.is_newsales_rules, + is_open_offline: json_d.is_pricing_open, + sales_rules: e.sales_rules, + appoint_pick_keyid: json_d.appoint_pick_keyid + }); - } else if (res.cancel) { - console.log('用户点击取消') - self.setData({ - haveAdded: true, - }); - } + //-- 计算等级价相关 -- + var swithc_list = e.switch_list; + var sw_arr = JSON.parse(swithc_list); + //---如果后台又开等级卡的开关--- + if (sw_arr.rank_switch && sw_arr.rank_switch == "2") { + th.setData({ + rank_switch: true + }); + //---回调卡的列表--- + th.getPlusCardType(function (ob) { + th.setData({ + card_list: ob.card_list + }); + var user = getApp().globalData.userInfo; + if (!user) return false; + if (user.card_field && user['card_expiredate']) { + var str = user['card_expiredate'].replace(/-/g, '/'); + var end = new Date(str); + end = Date.parse(end) / 1000; + var now = ut.gettimestamp(); + //--- 判断是等级会员,且在有效期范围内 --- + if (user.card_field && now < end) { + var card_name = ob.name_map.get(user.card_field); + th.setData({ + card_field: user.card_field, + card_name: card_name, + card_list: ob.card_list + }); + } } - }) - } + //获取购物车的内容 + setTimeout(function () { + th.get_cart_val(e); + }, 1000) - }, - - //在启用线下的时候,要判断一下是不是有库存 - async check_pk_store_conut(func,is_no_msg,gd,by_num){ - var th=this; - if(this.data.sales_rules<2){ - if(is_no_msg) return true; - else { - if(func) func(); - return false; - } - } - //门店库存no - var pkno= gd && gd.pickup_no?gd.pickup_no:this.data.def_pick_store.pickup_no; - var pickup_id=gd && gd.pick_id?gd.pick_id:this.data.def_pick_store.pickup_id; - var lock = []; - var plist=null; - var good=gd || th.data.sele_g; - var buy_num=by_num || th.data.goodsInputNum; - - if(this.data.sales_map[good.goods_id]){ - - var mp=this.data.sales_map[good.goods_id]; - var lock_num=mp.lock_num; - var CanOutQty=mp.CanOutQty; - if (CanOutQty < lock_num +buy_num) { - - if(!is_no_msg) { - wx.showToast({ - title: "门店库存不足", - icon: 'none', - duration: 2000 - }) - } - return false; - } - if(is_no_msg) return true; - func(); - - }else { - //先读取门店的lock,采用链式写法,少用await - await getApp().request.promiseGet("/api/weshop/order/ware/lock/page", { - data: {store_id: os.stoid, wareId: good.goods_id, pageSize: 1000} - }).then(res => { - if (res.data.code == 0 && res.data.data.total > 0) { - lock = res.data.data.pageData - } - - }) - - var dw_rq={ storageNos: pkno,wareIds: encodeURIComponent(good.erpwareid), storeId: os.stoid, pageSize: 2000}; - if(this.data.sales_rules==3){ - dw_rq.storageIds = encodeURIComponent(th.data.appoint_pick_keyid) - delete dw_rq.storageNos - } - - //---通过接口获取门店的线下库存信息-- - await getApp().request.promiseGet("/api/weshop/goods/getWareStorages", { - data:dw_rq - }).then(res => { - if (ut.ajax_ok(res)) { - plist = res.data.data.pageData[0]; - } - }) - - if(!plist){ - if(!is_no_msg) { - wx.showToast({ - title: "该商品在门店未找到库存", - icon: 'none', - duration: 2000 - }) - } - return false; - } - - var lock_num = th.find_lock_num(pickup_id, lock); - this.data.sales_map[good.goods_id]={ - CanOutQty:plist.CanOutQty, - lock_num:lock_num - } - - if (plist.CanOutQty < lock_num + buy_num) { - if(!is_no_msg) { - wx.showToast({ - title: "该商品在门店未找到库存", - icon: 'none', - duration: 2000 - }) - } - return false; - } - if(is_no_msg) return true; - func(); - } - - }, - - find_lock_num(pick_id, lock) { - var lock_num = 0; - if (!lock) return 0; - if (lock.length < 0) return 0; - for (var i in lock) { - if (pick_id == lock[i].pickupId) { - lock_num += lock[i].outQty; + + }) + } else { + //获取购物车的内容 + setTimeout(function () { + th.get_cart_val(e); + }, 1000) } - } - return lock_num; - }, + }, 1); + }) - /** - * 增加数量 - */ - add(e) { + } else { + getApp().goto("/packageE/pages/togoin/togoin"); + return false; + } + }) + + + + }, + //获取用户参与活动的次数 + getUserBuyPromNum() { + var userInfo = getApp().globalData.userInfo; + var url = `/api/weshop/ordergoods/getUserBuyPromNum?store_id=${os.stoid}&user_id=${userInfo.user_id}&prom_type=7&prom_id=${this.data.act.id}`; + getApp().request.get(url, { + success: (e) => { + if (e.data.code == 0 && e.data.data) { + let userbuynum = e.data.data.userbuynum + if (userbuynum >= this.data.act.buy_limit && this.data.act.buy_limit != 0) { + this.setData({ + userbuynum: true + }) + } + } else { - if(this.data.userbuynum){ - wx.showToast({ - title: '你已超出该活动购买次数!', - icon: 'none', - duration: 2000 - }) - return } - - var th = this; - var userInfo = getApp().globalData.userInfo; - if (!userInfo) { - getApp().goto("/packageE/pages/togoin/togoin"); - return false; + } + }); + }, + onHide: function () { + this.data.is_timer = 0; + }, + + //-- 调用接口的LIST,获取商品 -- + get_list: function () { + var th = this; + if (this.data.loading) return false; + if (this.data.no_more) return false; + this.data.loading = 1; + var url = "/api/weshop/prom/zhbuyGoods/page"; + var req_data = { + page: this.data.page, + pageSize: 10, + store_id: os.stoid, + zh_id: this.data.id + } + //开始调用接口 + getApp().request.get(url, { + data: req_data, + success: function (res) { + th.data.loading = 0; + th.setData({ + is_get: 1 + }) + if (ut.ajax_ok(res)) { + th.data.page++; + var list = th.data.list; + if (!list) list = []; + + //当是下拉刷新的时候 + if (th.data.page > 1 && th.data.cart_list) { + //下拉之后也要重新计算一下金额 + th.calc_more(res.data.data.pageData, function (list1) { + for (var i in list1) { + list.push(list1[i]); + } + th.setData({ + list: list + }); + th.re_sum_price(); + }) + } else { + for (var i in res.data.data.pageData) { + list.push(res.data.data.pageData[i]); + } + th.setData({ + list: list + }); + if (res.data.data.total <= 10) { + th.setData({ + no_more: 1 + }); + } + } + } else { + th.setData({ + no_more: 1 + }); } + } + }) + }, + + //-- 滚动到底部触发 -- + get_more_list: function () { + this.get_list(); + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage: function () { + getApp().globalData.no_clear = 1; + var title = this.data.act.name; + var url = "/packageB/pages/zuhegou/index/index?id=" + this.data.act.id; + if (getApp().globalData.user_id) { + url += "&first_leader=" + getApp().globalData.user_id; + } + var ob = { + title: title, + path: url, + }; + if (this.data.act.img_url) + ob.imageUrl = this.data.iurl + this.data.act.img_url; + return ob; + }, + + /** + * 用户分享朋友圈 + */ + onShareTimeline() { + getApp().globalData.no_clear = 1; + var title = this.data.act.name; + + var user_id = getApp().globalData.user_id; + if (!user_id) user_id = 0; + + var ob = { + title: title, + query: 'first_leader=' + user_id + "&id=" + this.data.act.id + }; + if (this.data.act.img_url) + ob.imageUrl = this.data.iurl + this.data.act.img_url; + return ob; + }, + + /** + * 点击规则详情,弹出规则 + */ + showRule() { + this.setData({ + type: 0, //控制显示规则详情还是提示信息,0规则详情,1提示信息 + showRule: true, + showMask: true, + }); + }, + + /** + * 点击关闭按钮关闭规则详情弹窗 + */ + closeRule() { + this.setData({ + showRule: false, + showMask: false, + }); + }, + + /** + * 点击提示信息 + */ + showInfo() { + this.setData({ + type: 1, + showRule: true, + showMask: true, + }); + }, + + /** + * 加入购物车 + */ + addToCart(e) { + var th = this; + var index = e.currentTarget.dataset.index; + var userInfo = getApp().globalData.userInfo; + if (!userInfo) { + getApp().goto("/packageE/pages/togoin/togoin"); + return false; + } + let haveAdded = this.data.list[index].haveAdded; + this.data.sele_index = index; + let title = ''; + self = this; + th.data.s_cart_num = 0; + if (this.data.userbuynum) { + wx.showToast({ + title: '你已超出该活动购买次数!', + icon: 'none', + duration: 2000 + }) + return + } - if (this.data.changing) return false; - this.data.changing = 1; - - var index = e.currentTarget.dataset.index; - this.data.sele_g = th.data.list[index]; - this.data.sele_index = index; - th.data.goodsInputNum = th.data.sele_g.num + 1; - - //必须是组合购买的超量 - var is_zhqty=0; - if(th.data.goodsInputNum 0 && this.data.act.zh_num <= this.data.act.zh_buy_num) { + wx.showToast({ + title: '组合总数不足!', + icon: 'none', + duration: 2000 + }) + return + } - th.check_pk_store_conut(function(){ - if (th.data.sele_g.cart_num) { - th.data.s_cart_num = th.data.sele_g.cart_num + 1; - if(is_zhqty) th.data.s_cart_num=th.data.sele_g.zhqty; - } - th.add_cart_func(); - }) - }, + //说明是加入购物车是时候 + this.data.is_zuhe_addcart = 1; + if (!haveAdded) { - /** - * 减少数量 - */ - sub(e) { - var userInfo = getApp().globalData.userInfo; - if (!userInfo) { - getApp().goto("/packageE/pages/togoin/togoin"); - return false; - } + //购买的商品的数量默认超量的数量 + th.data.sele_g = this.data.list[index]; + if (!th.data.sele_g.num) { + th.data.goodsInputNum = 1; + if (th.data.sele_g.zhqty) th.data.goodsInputNum = th.data.sele_g.zhqty; + } - var th = this; - var index = e.currentTarget.dataset.index; - var item = this.data.list[index]; - this.data.sele_g = item; - let num = item.num; - th.data.s_cart_num = item.cart_num - 1; - - if (num >= 2) { - var check_num = num - 1; - //小于起购数 - if (check_num < item.zhqty) { - wx.showToast({ - title: "该商品至少要购买" + item.zhqty + "件", - icon: 'none', - duration: 2000 - }) - return false; + //如果没有门店,活动商品的配送方式和门店的配送方式不一样 + if (!th.data.def_pick_store || + (th.data.sele_g.distr_type != 0 && th.data.def_pick_store.distr_type != 0 && th.data.sele_g.distr_type != th.data.def_pick_store.distr_type)) { + //选择了门店 + if (th.data.sele_store) { + wx.showToast({ + title: "该商品的物流配送方式和默认门店不匹配!", + icon: 'none', + duration: 2000 + }) + } else { + wx.showModal({ + title: '温馨提示', + content: '该商品的物流配送方式和默认门店不匹配,是否要切换门店?', + success(res) { + if (res.confirm) { + //物流的配送方式不一样 + th.get_sto(); + var set_data = { + store: 1 + }; + if (th.data.def_pick_store) { + set_data.is_no_pipei = th.data.def_pick_store.pickup_id; + } + th.setData(set_data); + } } - - if (th.data.changing) return false; - th.data.changing = 1; - th.data.sele_g = item; - th.data.sele_index = index; - th.data.goodsInputNum = check_num; - - th.sub_updata_cart(); - return false; + }) } + return false; + } else { + //先判断一下线下库存 - var txt = "list[" + index + "].haveAdded"; - var txt1 = "list[" + index + "].num"; - var txt2 = "list[" + index + "].showNum"; + th.chect_act_zh_num(function () { + th.check_pk_store_conut(function () { + th.setData({ + is_no_pipei: 0 + }); + th.check_is_in_cart(function () { + th.add_cart_func(); + }) + }) + }) - wx.showModal({ - title: '温馨提示', - content: '确定取消该商品参与活动?', - success(res) { - if (res.confirm) { + } + } else { + + var txt = "list[" + index + "].haveAdded"; + var txt1 = "list[" + index + "].num"; + var txt2 = "list[" + index + "].showNum"; + th.data.sele_g = this.data.list[index]; + + wx.showModal({ + title: '温馨提示', + content: "确定取消该商品参与活动?", + success(res) { + if (res.confirm) { + console.log('用户点击确定'); + if (th.data.sele_g.cart_num && th.data.sele_g.cart_num - th.data.sele_g.num > 0) { + + var updata = { + id: th.data.sele_g.cart_id, + goods_num: th.data.sele_g.cart_num - th.data.sele_g.num, + store_id: os.stoid + } + getApp().request.put("/api/weshop/cart/update", { + data: updata, + success: function (rs) { + if (rs.data.code == 0) { + title = '取消成功'; + th.setData({ + [txt1]: 0, + [txt2]: false, + [txt]: false, + }); + wx.showToast({ + title: title, + icon: 'success', + }); + th.re_sum_price(); + } + } + }) - if (th.data.s_cart_num) { - var updata = { - id: th.data.sele_g.cart_id, - goods_num: th.data.s_cart_num, - store_id: os.stoid - } - getApp().request.put("/api/weshop/cart/update", { - data: updata, - success: function (rs) { - if (rs.data.code == 0) { - var title = '取消成功'; - th.setData({ - [txt1]: 0, - [txt2]: false, - [txt]: false, - }); - wx.showToast({ - title: title, - icon: 'success', - }); - th.re_sum_price(); - } - } - }) - } else { - var url = '/api/weshop/cart/del/' + os.stoid + '/' + item.cart_id; - getApp().request.delete(url, { - success: function (res) { - if (res.data.code == 0) { - var title = '移除购物车成功'; - th.setData({ - [txt1]: 0, - [txt2]: false, - [txt]: false, - }); - wx.showToast({ - title: title, - icon: 'success', - }); - th.re_sum_price(); //重新统计数量和总金额 - } - } - }); - } + } else { + var url = '/api/weshop/cart/del/' + os.stoid + '/' + th.data.sele_g.cart_id; + getApp().request.delete(url, { + success: function (res) { - } else if (res.cancel) { - console.log('用户点击取消') - self.setData({ - haveAdded: true, + if (res.data.code == 0) { + title = '取消成功'; + th.setData({ + [txt1]: 0, + [txt2]: false, + [txt]: false, + }); + wx.showToast({ + title: title, + icon: 'success', }); + + th.re_sum_price(); + } } + }); } - }) - return false; - }, - - /** 分享 **/ - share() { - var th = this; - var userInfo = getApp().globalData.userInfo; - if (!userInfo) { - getApp().goto("/packageE/pages/togoin/togoin"); - return false; - } - wx.showLoading(); - setTimeout(function () { - th.setData({ - showMask: true, - showPoster: true, + } else if (res.cancel) { + console.log('用户点击取消') + self.setData({ + haveAdded: true, }); - wx.hideLoading(); - }, 1000); - }, - - /** - * 关闭海报 - */ - closePoster() { - this.setData({ - showMask: false, - showPoster: false, - }); - }, + } + } + }) + } - onImgOK(e) { - console.log(e.detail.path); - this.setData({ - myimg: e.detail.path, - }); + }, - }, - - //---小于10的格式化函数---- - timeFormat(param) { - return param < 10 ? '0' + param : param; - }, - - //----倒计时函数----- - countDown() { - if (!this.data.is_timer) return false; - var th = this; - // 获取当前时间,同时得到活动结束时间数组 - var endTime = this.data.act.end_time; - var newTime = ut.gettimestamp(); - // 对结束时间进行处理渲染到页面 - var obj = null; - // 如果活动未结束,对时间进行处理 - if (endTime - newTime > 0) { - var time = (endTime - newTime); - // 获取天、时、分、秒 - var day = parseInt(time / (60 * 60 * 24)); - var hou = parseInt(time % (60 * 60 * 24) / 3600); - var min = parseInt(time % (60 * 60 * 24) % 3600 / 60); - var sec = parseInt(time % (60 * 60 * 24) % 3600 % 60); - obj = { - hou: this.timeFormat(hou), - min: this.timeFormat(min), - sec: this.timeFormat(sec) - } - if (day > 0) { - obj.day = this.timeFormat(day); - } - } else { - //活动已结束,全部设置为'00' - obj = { - day: '00', - hou: '00', - min: '00', - sec: '00' - } - th.setData({ - prom_time_text: '活动已经结束:', - prom_st: 3 - }) - th.setData({ - djs: obj - }); - return false; + //在启用线下的时候,要判断一下是不是有库存 + async check_pk_store_conut(func, is_no_msg, gd, by_num) { + var th = this; + if (this.data.sales_rules < 2) { + if (is_no_msg) return true; + else { + if (func) func(); + return false; + } + } + //门店库存no + var pkno = gd && gd.pickup_no ? gd.pickup_no : this.data.def_pick_store.pickup_no; + var pickup_id = gd && gd.pick_id ? gd.pick_id : this.data.def_pick_store.pickup_id; + var lock = []; + var plist = null; + var good = gd || th.data.sele_g; + var buy_num = by_num || th.data.goodsInputNum; + + if (this.data.sales_map[good.goods_id]) { + + var mp = this.data.sales_map[good.goods_id]; + var lock_num = mp.lock_num; + var CanOutQty = mp.CanOutQty; + if (CanOutQty < lock_num + buy_num) { + + if (!is_no_msg) { + wx.showToast({ + title: "门店库存不足", + icon: 'none', + duration: 2000 + }) + } + return false; + } + if (is_no_msg) return true; + func(); + + } else { + //先读取门店的lock,采用链式写法,少用await + await getApp().request.promiseGet("/api/weshop/order/ware/lock/page", { + data: { store_id: os.stoid, wareId: good.goods_id, pageSize: 1000 } + }).then(res => { + if (res.data.code == 0 && res.data.data.total > 0) { + lock = res.data.data.pageData } - th.setData({ - djs: obj - }); - setTimeout(function () { - th.countDown() - }, 1000); - }, - - close_all: function () { - this.setData({ - showMask: false, - showPoster: false, - showRule: false - }); - }, + }) + var dw_rq = { storageNos: pkno, wareIds: encodeURIComponent(good.erpwareid), storeId: os.stoid, pageSize: 2000 }; + if (this.data.sales_rules == 3) { + dw_rq.storageIds = encodeURIComponent(th.data.appoint_pick_keyid) + delete dw_rq.storageNos + } - //------定时等待某个值,有值才进行运算-------- - waitfor2: function (n, pop_value, func) { - var th = this; - if (n <= 0) { - func() - return false - } - if (th.data[pop_value]) { - func(); - return false; - } - setTimeout(function () { - --n; - th.waitfor2(n, pop_value, func) - }, 1000); - }, - - //--获取头像的本地缓存,回调写法-- - get_head_temp: function (tt) { - var ee = this; - if (ee.data.share_head) { - tt(); - return false; - } - //---获取分享图片的本地地址,头像和商品图片---- - var path2 = getApp().globalData.userInfo.head_pic; - if (path2 == "") { - ee.data.share_head = "../../../../images/share/hui_hear_pic.png"; - tt(); - } else { - path2 = path2.replace("http://thirdwx.qlogo.cn", "https://wx.qlogo.cn"); - path2 = path2.replace("https://thirdwx.qlogo.cn", "https://wx.qlogo.cn"); - wx.getImageInfo({ - src: path2, - success: function (res) { - //res.path是网络图片的本地地址 - console.log(res); - ee.data.share_head = res.path; - tt(); - }, - fail: function () { - ee.data.share_head = "../../../../images/share/hui_hear_pic.png"; //分享的图片不能用网络的 - tt(); - } - }); + //---通过接口获取门店的线下库存信息-- + await getApp().request.promiseGet("/api/weshop/goods/getWareStorages", { + data: dw_rq + }).then(res => { + if (ut.ajax_ok(res)) { + plist = res.data.data.pageData[0]; } - }, - - go_url: function (e) { - var url = e.currentTarget.dataset.url; - getApp().goto(url); - }, - - //-- 加入购物的函数 -- - add_cart_func: function () { - if (oo.user_id == null) { - this.data.changing = 0; - return getApp().my_warnning("还未登录!", 0, this); - } - if (!getApp().globalData.userInfo) { - this.data.changing = 0; - return getApp().my_warnning("还未登录!", 0, this); + }) + + if (!plist) { + if (!is_no_msg) { + wx.showToast({ + title: "该商品在门店未找到库存", + icon: 'none', + duration: 2000 + }) } + return false; + } - var e = this, - th = e, - o = this.data.sele_g, - a = o.goods_id; - - //----------添加到购物车时,要判断限购数量,-------- - e.get_buy_num(o, function (ee) { - //---判断商品是否超出限购--- - if (th.data.g_buy_num != null && th.data.sele_g.viplimited > 0) { - if (th.data.goodsInputNum + th.data.g_buy_num.get(th.data.sele_g.goods_id).gd_buynum > th.data.sele_g.viplimited) { - wx.showModal({ - title: '提示', - content: '超出商品限购' - }); - th.data.changing = 0; - return false; - } - if (th.data.s_cart_num) { - if (th.data.s_cart_num + th.data.g_buy_num.get(th.data.sele_g.goods_id).gd_buynum > th.data.sele_g.viplimited) { - wx.showModal({ - title: '提示', - content: '超出商品限购' - }); - th.data.changing = 0; - return false; - } - } + var lock_num = th.find_lock_num(pickup_id, lock); + this.data.sales_map[good.goods_id] = { + CanOutQty: plist.CanOutQty, + lock_num: lock_num + } - } - //---判断商品是否超出活动限购--- - if (th.data.sele_g.buyqty > 0) { - if (th.data.goodsInputNum + th.data.g_buy_num.get(th.data.sele_g.goods_id).prom_buybum > th.data.sele_g.buyqty) { - wx.showModal({ - title: '提示', - content: '超出商品活动限购' - }); - th.data.changing = 0; - return false; - } - } + if (plist.CanOutQty < lock_num + buy_num) { + if (!is_no_msg) { + wx.showToast({ + title: "该商品在门店未找到库存", + icon: 'none', + duration: 2000 + }) + } + return false; + } + if (is_no_msg) return true; + func(); + } - if (th.data.goodsInputNum <= 0) { - this.data.changing = 0; - return s.my_warnning("商品数量不能为0", 0, th); - } - if (th.data.sto_sele_name == null || th.data.sto_sele_name == undefined) - th.setData({ - sto_sele_name: "" - }); - if (th.data.sto_sele_name == "") { - th.data.changing = 0; - return s.my_warnning("请选择门店", 0, th); - } + }, - //--------------此时操作的数据------------ - var newd = { - goods_id: o.goods_id, - goods_num: th.data.goodsInputNum, - pick_id: th.data.sto_sele_id, - user_id: oo.user_id, - store_id: os.stoid, - goods_price: o.shop_price, - member_goods_price: o.shop_price, - goods_name: o.goods_name, - goods_sn: o.goods_sn, - }; + find_lock_num(pick_id, lock) { + var lock_num = 0; + if (!lock) return 0; + if (lock.length < 0) return 0; + for (var i in lock) { + if (pick_id == lock[i].pickupId) { + lock_num += lock[i].outQty; + } + } + return lock_num; + }, + + + /** + * 增加数量 + */ + add(e) { + + if (this.data.userbuynum) { + wx.showToast({ + title: '你已超出该活动购买次数!', + icon: 'none', + duration: 2000 + }) + return + } - if (th.data.s_cart_num) { - newd.goods_num = th.data.s_cart_num; - } + var th = this; + var userInfo = getApp().globalData.userInfo; + if (!userInfo) { + getApp().goto("/packageE/pages/togoin/togoin"); + return false; + } - //---是不是从收藏夹出来的--- - if (th.data.c_guide_id) { - newd['guide_id'] = th.data.c_guide_id; - newd['guide_type'] = 2; - newd['guide_type'] = 3; - } else { - if (getApp().globalData.guide_id) { - newd['guide_id'] = getApp().globalData.guide_id; - newd['guide_type'] = 0; - newd['guide_type'] = 1; - } - } + if (this.data.changing) return false; + this.data.changing = 1; - //让商品带上房间号 - if (th.data.sys_switch.is_skuroom_id == 1) { - if (th.data.sele_g.goods_id == getApp().globalData.room_goods_id) { - newd.room_id = getApp().globalData.room_id; - } - } else { - if (newd.goods_id == getApp().globalData.room_goods_id) newd.room_id = getApp().globalData.room_id; - } + var index = e.currentTarget.dataset.index; + this.data.sele_g = th.data.list[index]; + this.data.sele_index = index; + th.data.goodsInputNum = th.data.sele_g.num + 1; - if (o.store_count <= 0) { - th.data.changing = 0; - return getApp().my_warnning("库存已为空!", 0, th); - } - if (o.store_count < e.data.goodsInputNum) { - th.data.changing = 0; - return getApp().my_warnning("库存不足!", 0, th); - } - th.add_cart_next(o, newd); //加入购物车下一步 + //必须是组合购买的超量 + var is_zhqty = 0; + if (th.data.goodsInputNum < th.data.sele_g.zhqty) { + th.data.goodsInputNum = th.data.sele_g.zhqty; + is_zhqty = 1; + } + + th.check_pk_store_conut(function () { + if (th.data.sele_g.cart_num) { + th.data.s_cart_num = th.data.sele_g.cart_num + 1; + if (is_zhqty) th.data.s_cart_num = th.data.sele_g.zhqty; + } + th.add_cart_func(); + }) + + }, + + /** + * 减少数量 + */ + sub(e) { + var userInfo = getApp().globalData.userInfo; + if (!userInfo) { + getApp().goto("/packageE/pages/togoin/togoin"); + return false; + } + var th = this; + var index = e.currentTarget.dataset.index; + var item = this.data.list[index]; + this.data.sele_g = item; + let num = item.num; + th.data.s_cart_num = item.cart_num - 1; + + if (num >= 2) { + var check_num = num - 1; + //小于起购数 + if (check_num < item.zhqty) { + wx.showToast({ + title: "该商品至少要购买" + item.zhqty + "件", + icon: 'none', + duration: 2000 }) - }, - - //---加入购物车的最后一步--- - add_cart_next(o, newd) { - var th = this; - //如果会员有等级价 - if (th.data.card_field) { - var card_price = o[th.data.card_field]; - if (card_price > 0) { - newd.goods_price = card_price; - newd.member_goods_price = card_price; - } - } + return false; + } - var index = this.data.sele_index; - var txt = "list[" + index + "].haveAdded"; - var txt1 = "list[" + index + "].num"; - var txt2 = "list[" + index + "].showNum"; - var txt3 = "list[" + index + "].current_price"; + if (th.data.changing) return false; + th.data.changing = 1; + th.data.sele_g = item; + th.data.sele_index = index; + th.data.goodsInputNum = check_num; + th.sub_updata_cart(); + return false; + } - newd.prom_type = 7; - newd.prom_id = th.data.act.id; + var txt = "list[" + index + "].haveAdded"; + var txt1 = "list[" + index + "].num"; + var txt2 = "list[" + index + "].showNum"; - if (th.data.adding) return false; - th.data.adding = 1; - //-------如果购物车中有相关的数据--------- - if (th.data.list[index].num > 0) { - var item = th.data.sele_g; - if (th.data.goodsInputNum > o.store_count) { - th.data.adding = 0; - return getApp().my_warnning("库存不足!", 0, th); - } - if (th.data.goodsInputNum + th.data.g_buy_num.get(th.data.sele_g.goods_id).prom_buybum > o.buyqty && o.buyqty > 0) { - th.data.adding = 0; - return getApp().my_warnning("超出商品活动限购!", 0, th); - } - if (th.data.goodsInputNum + th.data.g_buy_num.get(th.data.sele_g.goods_id).prom_buybum > th.data.sele_g.viplimited && - th.data.sele_g.viplimited > 0 - ) { - th.data.adding = 0; - return getApp().my_warnning("超出商品限购!", 0, th); - } + wx.showModal({ + title: '温馨提示', + content: '确定取消该商品参与活动?', + success(res) { + if (res.confirm) { - //如果商品没有其他活动,要取一下线下价格 + if (th.data.s_cart_num) { var updata = { - id: item.cart_id, - goods_num: th.data.goodsInputNum, - goods_price: newd.goods_price, - member_goods_price: newd.goods_price, - store_id: os.stoid, - state:0 - }; - if (th.data.s_cart_num) { - updata.goods_num = th.data.s_cart_num; - } - //---是不是从收藏夹出来的--- - if (th.data.c_guide_id) { - updata['guide_id'] = th.data.c_guide_id; - updata['guide_type'] = 3; //加入购物车之后就变成了3 - } else { - if (getApp().globalData.guide_id) { - updata['guide_id'] = getApp().globalData.guide_id; - updata['guide_type'] = 0; - } + id: th.data.sele_g.cart_id, + goods_num: th.data.s_cart_num, + store_id: os.stoid } getApp().request.put("/api/weshop/cart/update", { - data: updata, - success: function (t) { - th.setData({ - [txt1]: th.data.goodsInputNum, - [txt2]: true, - [txt]: true, - [txt3]: newd.goods_price, - }); - th.data.adding = 0; - th.data.sele_store = 1; - - if (th.data.s_cart_num) { - var txt_temp = "list[" + index + "].cart_num"; - th.setData({ - [txt_temp]: th.data.s_cart_num - }) - } - - th.re_sum_price(); //重新统计数量和总金额 + data: updata, + success: function (rs) { + if (rs.data.code == 0) { + var title = '取消成功'; + th.setData({ + [txt1]: 0, + [txt2]: false, + [txt]: false, + }); + wx.showToast({ + title: title, + icon: 'success', + }); + th.re_sum_price(); } - }); - } else { - - getApp().request.post("/api/weshop/cart/save", { - data: newd, - success: function (t) { - if (t.data.code == 0) { - var txt4 = "list[" + th.data.sele_index + "].cart_id"; - th.setData({ - [txt1]: newd.goods_num, - [txt2]: true, - [txt3]: newd.goods_price, - [txt]: true, - [txt4]: t.data.data.id, - }); - - th.data.adding = 0; - th.data.sele_store = 1; - th.re_sum_price(); //重新统计数量和总金额 - } + } + }) + } else { + var url = '/api/weshop/cart/del/' + os.stoid + '/' + item.cart_id; + getApp().request.delete(url, { + success: function (res) { + if (res.data.code == 0) { + var title = '移除购物车成功'; + th.setData({ + [txt1]: 0, + [txt2]: false, + [txt]: false, + }); + wx.showToast({ + title: title, + icon: 'success', + }); + th.re_sum_price(); //重新统计数量和总金额 } + } }); - } - }, - - //等待获取配置 - wait_for_store_config: function (bconfig) { - var th = this; - var e = bconfig; - if (e && e.is_sort_storage) { - wx.getLocation({ - type: 'gcj02', - success: function (res) { - th.data.lat = res.latitude; - th.data.lon = res.longitude; - th.data.is_get_local_ok = 1; - }, - fail: function (res) { - if (res.errCode == 2) { - th.setData({ - is_gps: 0 - }); - if (th.data.is_gps == 0) { - getApp().confirmBox("请开启GPS定位", null, 10000, !1); - } + } - } else { - th.setData({ - is_gps: "3" - }); - } + } else if (res.cancel) { + console.log('用户点击取消') + self.setData({ + haveAdded: true, + }); + } + } + }) + return false; + + }, + + /** 分享 **/ + share() { + var th = this; + var userInfo = getApp().globalData.userInfo; + if (!userInfo) { + getApp().goto("/packageE/pages/togoin/togoin"); + return false; + } + wx.showLoading(); + setTimeout(function () { + th.setData({ + showMask: true, + showPoster: true, + }); + wx.hideLoading(); + }, 1000); + }, + + /** + * 关闭海报 + */ + closePoster() { + this.setData({ + showMask: false, + showPoster: false, + }); + }, + + onImgOK(e) { + console.log(e.detail.path); + this.setData({ + myimg: e.detail.path, + }); + + }, + + //---小于10的格式化函数---- + timeFormat(param) { + return param < 10 ? '0' + param : param; + }, + + //----倒计时函数----- + countDown() { + if (!this.data.is_timer) return false; + var th = this; + // 获取当前时间,同时得到活动结束时间数组 + var endTime = this.data.act.end_time; + var newTime = ut.gettimestamp(); + // 对结束时间进行处理渲染到页面 + var obj = null; + // 如果活动未结束,对时间进行处理 + if (endTime - newTime > 0) { + var time = (endTime - newTime); + // 获取天、时、分、秒 + var day = parseInt(time / (60 * 60 * 24)); + var hou = parseInt(time % (60 * 60 * 24) / 3600); + var min = parseInt(time % (60 * 60 * 24) % 3600 / 60); + var sec = parseInt(time % (60 * 60 * 24) % 3600 % 60); + obj = { + hou: this.timeFormat(hou), + min: this.timeFormat(min), + sec: this.timeFormat(sec) + } + if (day > 0) { + obj.day = this.timeFormat(day); + } + } else { + //活动已结束,全部设置为'00' + obj = { + day: '00', + hou: '00', + min: '00', + sec: '00' + } + th.setData({ + prom_time_text: '活动已经结束:', + prom_st: 3 + }) + th.setData({ + djs: obj + }); + return false; + } - th.data.is_get_local_ok = 1; - } - }) - } else { - th.data.is_get_local_ok = 1; + th.setData({ + djs: obj + }); + setTimeout(function () { + th.countDown() + }, 1000); + }, + + close_all: function () { + this.setData({ + showMask: false, + showPoster: false, + showRule: false + }); + }, + + + //------定时等待某个值,有值才进行运算-------- + waitfor2: function (n, pop_value, func) { + var th = this; + if (n <= 0) { + func() + return false + } + if (th.data[pop_value]) { + func(); + return false; + } + setTimeout(function () { + --n; + th.waitfor2(n, pop_value, func) + }, 1000); + }, + + //--获取头像的本地缓存,回调写法-- + get_head_temp: function (tt) { + var ee = this; + if (ee.data.share_head) { + tt(); + return false; + } + //---获取分享图片的本地地址,头像和商品图片---- + var path2 = getApp().globalData.userInfo.head_pic; + if (path2 == "") { + ee.data.share_head = "../../../../images/share/hui_hear_pic.png"; + tt(); + } else { + path2 = path2.replace("http://thirdwx.qlogo.cn", "https://wx.qlogo.cn"); + path2 = path2.replace("https://thirdwx.qlogo.cn", "https://wx.qlogo.cn"); + wx.getImageInfo({ + src: path2, + success: function (res) { + //res.path是网络图片的本地地址 + console.log(res); + ee.data.share_head = res.path; + tt(); + }, + fail: function () { + ee.data.share_head = "../../../../images/share/hui_hear_pic.png"; //分享的图片不能用网络的 + tt(); } - }, - - //--- 获取卡类列表 --- - getPlusCardType: function (func) { - var storid = os.stoid; - var user = getApp().globalData.userInfo; - if (!user) return false; - getApp().request.promiseGet("/api/weshop/plus/vip/mem/bership/list?" + "storeId=" + storid, {}).then(res => { - var plusCard = res.data.data; - var arr = [1219, 2089, 3031]; - var new_arr = new Array(); - var card_name_map = new Map(); - - var list = []; - for (var i = 0; i < plusCard.length; i++) { - if ((!user || user.card_field == null || user.card_field == "") && plusCard[i].IsStopBuy == true) continue; - var name = "card" + plusCard[i].CorrPrice.toLowerCase(); - card_name_map.set(name, plusCard[i].CardName); - list.push(plusCard[i]); - } + }); + } + }, + + go_url: function (e) { + var url = e.currentTarget.dataset.url; + getApp().goto(url); + }, + + //-- 加入购物的函数 -- + add_cart_func: function () { + if (oo.user_id == null) { + this.data.changing = 0; + return getApp().my_warnning("还未登录!", 0, this); + } + if (!getApp().globalData.userInfo) { + this.data.changing = 0; + return getApp().my_warnning("还未登录!", 0, this); + } - var ob = { - "card_list": list, - "name_map": card_name_map - }; - func(ob); - }) - }, - - - //--- 设置一下默认库存的数量 ---- - set_def_storage(ee) { - var that = this; - that.data.fir_def_store = ee; - that.setData({ - def_pick_store: ee, - sto_sele_name: ee.pickup_name, - sto_sele_id: ee.pickup_id, - sto_sele_distr: ee.distr_type - }) - }, - - //---------拿出门店分类和门店------------ - get_sto(e) { - var th = this; - this.waitfor2(15, 'is_get_local_ok', function () { - //if (!th.data.sele_g) return false; - var dd = null; - var g_distr_type = 0; - if (th.data.sele_g) g_distr_type = th.data.sele_g.distr_type; - if (g_distr_type != 0) { - dd = { - store_id: os.stoid, - distr_type: g_distr_type, - isstop: 0, - is_pos: 1, - pageSize: 2000 - } - } else { - dd = { - store_id: os.stoid, - isstop: 0, - is_pos: 1, - pageSize: 2000 - } - } + var e = this, + th = e, + o = this.data.sele_g, + a = o.goods_id; + + //----------添加到购物车时,要判断限购数量,-------- + e.get_buy_num(o, function (ee) { + //---判断商品是否超出限购--- + if (th.data.g_buy_num != null && th.data.sele_g.viplimited > 0) { + if (th.data.goodsInputNum + th.data.g_buy_num.get(th.data.sele_g.goods_id).gd_buynum > th.data.sele_g.viplimited) { + wx.showModal({ + title: '提示', + content: '超出商品限购' + }); + th.data.changing = 0; + return false; + } + if (th.data.s_cart_num) { + if (th.data.s_cart_num + th.data.g_buy_num.get(th.data.sele_g.goods_id).gd_buynum > th.data.sele_g.viplimited) { + wx.showModal({ + title: '提示', + content: '超出商品限购' + }); + th.data.changing = 0; + return false; + } + } - //如果有距离的话 - if (th.data.lat != null) { - dd.lat = th.data.lat; - dd.lon = th.data.lon; - } + } + //---判断商品是否超出活动限购--- + if (th.data.sele_g.buyqty > 0) { + if (th.data.goodsInputNum + th.data.g_buy_num.get(th.data.sele_g.goods_id).prom_buybum > th.data.sele_g.buyqty) { + wx.showModal({ + title: '提示', + content: '超出商品活动限购' + }); + th.data.changing = 0; + return false; + } + } - //如果会员是有默认的门店话 - if (!th.data.def_pick_store && th.data.fir_def_store) { - th.setData({ - def_pick_store: th.data.fir_def_store - }); - } + if (th.data.goodsInputNum <= 0) { + this.data.changing = 0; + return s.my_warnning("商品数量不能为0", 0, th); + } + if (th.data.sto_sele_name == null || th.data.sto_sele_name == undefined) + th.setData({ + sto_sele_name: "" + }); + if (th.data.sto_sele_name == "") { + th.data.changing = 0; + return s.my_warnning("请选择门店", 0, th); + } + + //--------------此时操作的数据------------ + var newd = { + goods_id: o.goods_id, + goods_num: th.data.goodsInputNum, + pick_id: th.data.sto_sele_id, + user_id: oo.user_id, + store_id: os.stoid, + goods_price: o.shop_price, + member_goods_price: o.shop_price, + goods_name: o.goods_name, + goods_sn: o.goods_sn, + }; + + if (th.data.s_cart_num) { + newd.goods_num = th.data.s_cart_num; + } + + //---是不是从收藏夹出来的--- + if (th.data.c_guide_id) { + newd['guide_id'] = th.data.c_guide_id; + newd['guide_type'] = 2; + newd['guide_type'] = 3; + } else { + if (getApp().globalData.guide_id) { + newd['guide_id'] = getApp().globalData.guide_id; + newd['guide_type'] = 0; + newd['guide_type'] = 1; + } + } - wx.showLoading({ - title: '加载中.' - }); - //----------获取门店---------------- - getApp().request.promiseGet("/api/weshop/pickup/list", { - data: dd, - }).then(res => { - var e = res; - if (e.data.code == 0 && e.data.data && e.data.data.pageData && e.data.data.pageData.length > 0) { - - var his_cate_num = 0; - for (let i in e.data.data.pageData) { - let item = e.data.data.pageData[i]; - if (item.category_id > 0) { - his_cate_num = 1; - break; - } - } - e.his_cate_num = his_cate_num; - - //如果有开启距离的功能,没有设置默认门店,要用最近的门店作为默认门店 - if (dd.lat && (!th.data.def_pick_store || JSON.stringify(th.data.def_pick_store) == '{}') && th.data.bconfig && th.data.bconfig.is_sort_storage) { - th.setData({ - def_pick_store: e.data.data.pageData[0], - sto_sele_name: e.data.data.pageData[0].pickup_name, - sto_sele_id: e.data.data.pageData[0].pickup_id, - sto_sele_distr: e.data.data.pageData[0].distr_type - }); - th.data.fir_def_store = e.data.data.pageData[0]; - } + //让商品带上房间号 + if (th.data.sys_switch.is_skuroom_id == 1) { + if (th.data.sele_g.goods_id == getApp().globalData.room_goods_id) { + newd.room_id = getApp().globalData.room_id; + } + } else { + if (newd.goods_id == getApp().globalData.room_goods_id) newd.room_id = getApp().globalData.room_id; + } + + if (o.store_count <= 0) { + th.data.changing = 0; + return getApp().my_warnning("库存已为空!", 0, th); + } + if (o.store_count < e.data.goodsInputNum) { + th.data.changing = 0; + return getApp().my_warnning("库存不足!", 0, th); + } + th.add_cart_next(o, newd); //加入购物车下一步 + + }) + }, + + //---加入购物车的最后一步--- + add_cart_next(o, newd) { + var th = this; + //如果会员有等级价 + if (th.data.card_field) { + var card_price = o[th.data.card_field]; + if (card_price > 0) { + newd.goods_price = card_price; + newd.member_goods_price = card_price; + } + } - //-- 如果有默认选择门店的时候,要把默认门店放在第一位,修改不要配送方式的判断 -- - if (th.data.def_pick_store && JSON.stringify(th.data.def_pick_store) != '{}') { - for (var k = 0; k < e.data.data.pageData.length; k++) { - if (e.data.data.pageData[k].pickup_id == th.data.def_pick_store.pickup_id) { - e.data.data.pageData.splice(k, 1); //删除 - break; - } - } - e.data.data.pageData.splice(0, 0, th.data.def_pick_store); //添加 - } + var index = this.data.sele_index; + var txt = "list[" + index + "].haveAdded"; + var txt1 = "list[" + index + "].num"; + var txt2 = "list[" + index + "].showNum"; + var txt3 = "list[" + index + "].current_price"; + + + newd.prom_type = 7; + newd.prom_id = th.data.act.id; + + if (th.data.adding) return false; + th.data.adding = 1; + //-------如果购物车中有相关的数据--------- + if (th.data.list[index].num > 0) { + var item = th.data.sele_g; + if (th.data.goodsInputNum > o.store_count) { + th.data.adding = 0; + return getApp().my_warnning("库存不足!", 0, th); + } + if (th.data.goodsInputNum + th.data.g_buy_num.get(th.data.sele_g.goods_id).prom_buybum > o.buyqty && o.buyqty > 0) { + th.data.adding = 0; + return getApp().my_warnning("超出商品活动限购!", 0, th); + } + if (th.data.goodsInputNum + th.data.g_buy_num.get(th.data.sele_g.goods_id).prom_buybum > th.data.sele_g.viplimited && + th.data.sele_g.viplimited > 0 + ) { + th.data.adding = 0; + return getApp().my_warnning("超出商品限购!", 0, th); + } + + //如果商品没有其他活动,要取一下线下价格 + var updata = { + id: item.cart_id, + goods_num: th.data.goodsInputNum, + goods_price: newd.goods_price, + member_goods_price: newd.goods_price, + store_id: os.stoid, + state: 0 + }; + if (th.data.s_cart_num) { + updata.goods_num = th.data.s_cart_num; + } + //---是不是从收藏夹出来的--- + if (th.data.c_guide_id) { + updata['guide_id'] = th.data.c_guide_id; + updata['guide_type'] = 3; //加入购物车之后就变成了3 + } else { + if (getApp().globalData.guide_id) { + updata['guide_id'] = getApp().globalData.guide_id; + updata['guide_type'] = 0; + } + } + getApp().request.put("/api/weshop/cart/update", { + data: updata, + success: function (t) { + th.setData({ + [txt1]: th.data.goodsInputNum, + [txt2]: true, + [txt]: true, + [txt3]: newd.goods_price, + }); + th.data.adding = 0; + th.data.sele_store = 1; - th.setData({ - all_pick_list: e.data.data.pageData - }); - th.deal_pickup(e); - } + if (th.data.s_cart_num) { + var txt_temp = "list[" + index + "].cart_num"; + th.setData({ + [txt_temp]: th.data.s_cart_num }) - }) - }, - //------------处理门店--------------- - deal_pickup(e) { - var th = this; - wx.hideLoading(); - //单总量超出5个的时候 - if (e.data.data.total > 10 && e.his_cate_num) { - getApp().request.get("/api/weshop/storagecategory/page", { - data: { - store_id: os.stoid, - pageSize: 1000, - orderField: "sort", - orderType: 'asc', - }, - success: function (ee) { - if (ee.data.code == 0) { - - var check_all_cate = 0; - if (ee.data.data && ee.data.data.pageData && ee.data.data.pageData.length > 0) { - for (let i in ee.data.data.pageData) { - let item = ee.data.data.pageData[i]; - if (item.is_show == 1) { - check_all_cate = 1; - break - } - } - } + } - if (check_all_cate) { - - var sto_cate = ee.data.data.pageData; - var sto_arr = e.data.data.pageData; - var newarr = new Array(); - var qita = new Array(); - - var is_del_pk = 0; - //----要进行门店分组-------- - for (var i = 0; i < sto_arr.length; i++) { - //找一下这个门店有没有在分类数组内 - var find2 = 0, - find2name = "", - sort = 0; - is_del_pk = 0; - for (var m = 0; m < sto_cate.length; m++) { - if (sto_arr[i].category_id == sto_cate[m].cat_id) { - if (sto_cate[m].is_show != 1) { - is_del_pk = 1; - sto_arr.splice(i, 1); - i--; - } else { - find2 = sto_cate[m].cat_id; - find2name = sto_cate[m].cat_name; - sort = sto_cate[m].sort; - is_del_pk = 0; - } - break; - } - } - if (is_del_pk) continue; - - if (newarr.length > 0) { - var find = 0; - //如果有找到,那门店就在这个分组内,否则,分类就要排在其他 - if (find2 != 0) { - for (var ii = 0; ii < newarr.length; ii++) { - if (sto_arr[i].category_id == newarr[ii].cat_id) { - newarr[ii].s_arr.push(sto_arr[i]); - find = 1; - break; - } - } - if (find == 0) { - var arr0 = new Array(); - arr0.push(sto_arr[i]); - var item = { - cat_id: find2, - name: find2name, - sort: sort, - s_arr: arr0 - }; - newarr.push(item); - } - } else { - qita.push(sto_arr[i]); - } - } else { - //如果有找到,那门店就在这个分组内,否则,分类就要排在其他 - if (find2 != 0) { - var arr0 = new Array(); - arr0.push(sto_arr[i]); - var item = { - cat_id: find2, - name: find2name, - sort: sort, - s_arr: arr0 - }; - newarr.push(item); - } else { - qita.push(sto_arr[i]); - } - } - } - - var def_arr = new Array(); - //-- 开始就看10个门店 -- - for (var k = 0; k < 10; k++) { - if (k == sto_arr.length) break; - def_arr.push(sto_arr[k]); - } - - th.setData({ - def_pickpu_list: def_arr, - pickpu_list: ee.data.data.pageData - }); - - //门店分类要排序下 - function compare(property) { - return function (a, b) { - var value1 = a[property]; - var value2 = b[property]; - return value1 - value2; - } - } - - if (newarr.length > 0) - newarr.sort(compare("sort")); - //----安排其他的分类----- - if (qita.length > 0) { - var item = { - cat_id: -1, - name: "其他", - s_arr: qita - }; - newarr.push(item); - } - - - var sd = { - all_sto: newarr, - is_show_sto_cat: 1 - } - if (!sto_arr || sto_arr.length <= 10) { - sd.is_show_sto_cat = -1; - sd.only_pk = sto_arr; - } - th.setData(sd); - - } else { - th.setData({ - is_show_sto_cat: -1, - only_pk: e.data.data.pageData - }); - //-----如果没有默认门店,要取第一个门店作为默认店.此时没有门店分类的情况------ - if (!th.data.def_pick_store) { - th.setData({ - def_pick_store: e.data.data.pageData[0] - }) - } - } - } else { - th.setData({ - is_show_sto_cat: -1, - only_pk: e.data.data.pageData - }); - //-----如果没有默认门店,要取第一个门店作为默认店.此时没有门店分类的情况------ - if (!th.data.def_pick_store) { - th.setData({ - def_pick_store: e.data.data.pageData[0] - }) - } - } - } - }); - } else { + th.re_sum_price(); //重新统计数量和总金额 + } + }); + } else { + + getApp().request.post("/api/weshop/cart/save", { + data: newd, + success: function (t) { + if (t.data.code == 0) { + var txt4 = "list[" + th.data.sele_index + "].cart_id"; th.setData({ - is_show_sto_cat: 0, - only_pk: e.data.data.pageData + [txt1]: newd.goods_num, + [txt2]: true, + [txt3]: newd.goods_price, + [txt]: true, + [txt4]: t.data.data.id, }); - //-----如果没有默认门店,要取第一个门店作为默认店------ - if (!th.data.def_pick_store && th.data.bconfig && th.data.bconfig.is_sort_storage) { - if (e.data.data && e.data.data.pageData && e.data.data.pageData.length > 0) { - th.setData({ - def_pick_store: e.data.data.pageData[0], - sto_sele_name: e.data.data.pageData[0].pickup_name, - sto_sele_id: e.data.data.pageData[0].pickup_id, - sto_sele_distr: e.data.data.pageData[0].distr_type - }) - } - } - } - }, - - //---选择分类门店--- - choice_sort_store: function (e) { - var index = e.currentTarget.dataset.index; - var region_name = e.currentTarget.dataset.region; - var item = this.data.all_sto[index]; - this.setData({ - region_name: region_name, - sort_store: 0, - choice_sort_store: 1, - sec_sto: item, - sec_pick_index: 0 - }); - }, - choose_for_store_fir: function (e) { - var index_c = e.currentTarget.dataset.ind; - var th = this; - th.setData({ - fir_pick_index: index_c - }) - }, - - //确定def_pick为选择的门店 - sure_pick: function (e) { - var th = this; - var item = null; - var openindstore = th.data.open_ind_store; - - if (th.data.choice_sort_store == 0) { - var index = th.data.fir_pick_index; - if (th.data.is_show_sto_cat == 1) { - item = th.data.def_pickpu_list[index]; - } else { - item = th.data.only_pk?th.data.only_pk[index]:null; //当没有门店分类的时候 - } - } else { - var index = th.data.sec_pick_index; - item = th.data.sec_sto.s_arr[index]; + th.data.adding = 0; + th.data.sele_store = 1; + th.re_sum_price(); //重新统计数量和总金额 + } } + }); + } + }, + + //等待获取配置 + wait_for_store_config: function (bconfig) { + var th = this; + var e = bconfig; + if (e && e.is_sort_storage) { + wx.getLocation({ + type: 'gcj02', + success: function (res) { + th.data.lat = res.latitude; + th.data.lon = res.longitude; + th.data.is_get_local_ok = 1; + }, + fail: function (res) { + if (res.errCode == 2) { + th.setData({ + is_gps: 0 + }); + if (th.data.is_gps == 0) { + getApp().confirmBox("请开启GPS定位", null, 10000, !1); + } - if(!item) return false; - - //判断门店的配送方式是不是匹配 - var g_distr_type = 0; - if (th.data.sele_g) - g_distr_type = th.data.sele_g.distr_type; - if (item.distr_type != 0 && g_distr_type != 0 && item.distr_type != g_distr_type) { - wx.showToast({ - title: "门店配送方式不匹配", - icon: 'none', - duration: 2000 + } else { + th.setData({ + is_gps: "3" }); - return false; + } + + th.data.is_get_local_ok = 1; + } + }) + } else { + th.data.is_get_local_ok = 1; + } + }, + + //--- 获取卡类列表 --- + getPlusCardType: function (func) { + var storid = os.stoid; + var user = getApp().globalData.userInfo; + if (!user) return false; + getApp().request.promiseGet("/api/weshop/plus/vip/mem/bership/list?" + "storeId=" + storid, {}).then(res => { + var plusCard = res.data.data; + var arr = [1219, 2089, 3031]; + var new_arr = new Array(); + var card_name_map = new Map(); + + var list = []; + for (var i = 0; i < plusCard.length; i++) { + if ((!user || user.card_field == null || user.card_field == "") && plusCard[i].IsStopBuy == true) continue; + var name = "card" + plusCard[i].CorrPrice.toLowerCase(); + card_name_map.set(name, plusCard[i].CardName); + list.push(plusCard[i]); + } + + var ob = { + "card_list": list, + "name_map": card_name_map + }; + func(ob); + }) + }, + + + //--- 设置一下默认库存的数量 ---- + set_def_storage(ee) { + var that = this; + that.data.fir_def_store = ee; + that.setData({ + def_pick_store: ee, + sto_sele_name: ee.pickup_name, + sto_sele_id: ee.pickup_id, + sto_sele_distr: ee.distr_type + }) + }, + + //---------拿出门店分类和门店------------ + get_sto(e) { + var th = this; + this.waitfor2(15, 'is_get_local_ok', function () { + //if (!th.data.sele_g) return false; + var dd = null; + var g_distr_type = 0; + if (th.data.sele_g) g_distr_type = th.data.sele_g.distr_type; + if (g_distr_type != 0) { + dd = { + store_id: os.stoid, + distr_type: g_distr_type, + isstop: 0, + is_pos: 1, + pageSize: 2000 + } + } else { + dd = { + store_id: os.stoid, + isstop: 0, + is_pos: 1, + pageSize: 2000 } + } + //如果有距离的话 + if (th.data.lat != null) { + dd.lat = th.data.lat; + dd.lon = th.data.lon; + } + + //如果会员是有默认的门店话 + if (!th.data.def_pick_store && th.data.fir_def_store) { th.setData({ - def_pick_store: item, - sto_sele_name: item.pickup_name, - sto_sele_id: item.pickup_id, - sto_sele_distr: item.distr_type, - store: 0, - choice_sort_store: 0, - fir_pick_index: 0, - sort_store: 0 + def_pick_store: th.data.fir_def_store }); + } - //只是单纯的选择门店 - if (this.data.only) { - this.data.only = 0; - this.data.sales_map={}; + wx.showLoading({ + title: '加载中.' + }); + //----------获取门店---------------- + getApp().request.promiseGet("/api/weshop/pickup/list", { + data: dd, + }).then(res => { + var e = res; + if (e.data.code == 0 && e.data.data && e.data.data.pageData && e.data.data.pageData.length > 0) { + + var his_cate_num = 0; + for (let i in e.data.data.pageData) { + let item = e.data.data.pageData[i]; + if (item.category_id > 0) { + his_cate_num = 1; + break; + } + } + e.his_cate_num = his_cate_num; - return false; + //如果有开启距离的功能,没有设置默认门店,要用最近的门店作为默认门店 + if (dd.lat && (!th.data.def_pick_store || JSON.stringify(th.data.def_pick_store) == '{}') && th.data.bconfig && th.data.bconfig.is_sort_storage) { + th.setData({ + def_pick_store: e.data.data.pageData[0], + sto_sele_name: e.data.data.pageData[0].pickup_name, + sto_sele_id: e.data.data.pageData[0].pickup_id, + sto_sele_distr: e.data.data.pageData[0].distr_type + }); + th.data.fir_def_store = e.data.data.pageData[0]; + } + + //-- 如果有默认选择门店的时候,要把默认门店放在第一位,修改不要配送方式的判断 -- + if (th.data.def_pick_store && JSON.stringify(th.data.def_pick_store) != '{}') { + for (var k = 0; k < e.data.data.pageData.length; k++) { + if (e.data.data.pageData[k].pickup_id == th.data.def_pick_store.pickup_id) { + e.data.data.pageData.splice(k, 1); //删除 + break; + } + } + e.data.data.pageData.splice(0, 0, th.data.def_pick_store); //添加 + } + + th.setData({ + all_pick_list: e.data.data.pageData + }); + th.deal_pickup(e); } + }) + }) + }, + //------------处理门店--------------- + deal_pickup(e) { + var th = this; + wx.hideLoading(); + //单总量超出5个的时候 + if (e.data.data.total > 10 && e.his_cate_num) { + getApp().request.get("/api/weshop/storagecategory/page", { + data: { + store_id: os.stoid, + pageSize: 1000, + orderField: "sort", + orderType: 'asc', + }, + success: function (ee) { + if (ee.data.code == 0) { + + var check_all_cate = 0; + if (ee.data.data && ee.data.data.pageData && ee.data.data.pageData.length > 0) { + for (let i in ee.data.data.pageData) { + let item = ee.data.data.pageData[i]; + if (item.is_show == 1) { + check_all_cate = 1; + break + } + } + } - //-- 判断一下库存 -- - th.check_pk_store_conut(function(){ - th.check_is_in_cart(function () { - th.add_cart_func(); - }) - }) + if (check_all_cate) { + + var sto_cate = ee.data.data.pageData; + var sto_arr = e.data.data.pageData; + var newarr = new Array(); + var qita = new Array(); + + var is_del_pk = 0; + //----要进行门店分组-------- + for (var i = 0; i < sto_arr.length; i++) { + //找一下这个门店有没有在分类数组内 + var find2 = 0, + find2name = "", + sort = 0; + is_del_pk = 0; + for (var m = 0; m < sto_cate.length; m++) { + if (sto_arr[i].category_id == sto_cate[m].cat_id) { + if (sto_cate[m].is_show != 1) { + is_del_pk = 1; + sto_arr.splice(i, 1); + i--; + } else { + find2 = sto_cate[m].cat_id; + find2name = sto_cate[m].cat_name; + sort = sto_cate[m].sort; + is_del_pk = 0; + } + break; + } + } + if (is_del_pk) continue; + + if (newarr.length > 0) { + var find = 0; + //如果有找到,那门店就在这个分组内,否则,分类就要排在其他 + if (find2 != 0) { + for (var ii = 0; ii < newarr.length; ii++) { + if (sto_arr[i].category_id == newarr[ii].cat_id) { + newarr[ii].s_arr.push(sto_arr[i]); + find = 1; + break; + } + } + if (find == 0) { + var arr0 = new Array(); + arr0.push(sto_arr[i]); + var item = { + cat_id: find2, + name: find2name, + sort: sort, + s_arr: arr0 + }; + newarr.push(item); + } + } else { + qita.push(sto_arr[i]); + } + } else { + //如果有找到,那门店就在这个分组内,否则,分类就要排在其他 + if (find2 != 0) { + var arr0 = new Array(); + arr0.push(sto_arr[i]); + var item = { + cat_id: find2, + name: find2name, + sort: sort, + s_arr: arr0 + }; + newarr.push(item); + } else { + qita.push(sto_arr[i]); + } + } + } + var def_arr = new Array(); + //-- 开始就看10个门店 -- + for (var k = 0; k < 10; k++) { + if (k == sto_arr.length) break; + def_arr.push(sto_arr[k]); + } - }, + th.setData({ + def_pickpu_list: def_arr, + pickpu_list: ee.data.data.pageData + }); + + //门店分类要排序下 + function compare(property) { + return function (a, b) { + var value1 = a[property]; + var value2 = b[property]; + return value1 - value2; + } + } + if (newarr.length > 0) + newarr.sort(compare("sort")); + //----安排其他的分类----- + if (qita.length > 0) { + var item = { + cat_id: -1, + name: "其他", + s_arr: qita + }; + newarr.push(item); + } - //---点击二级之后的选择--- - choose_for_store: function (e) { - var index_c = e.currentTarget.dataset.ind; - var th = this; - th.setData({ - sec_pick_index: index_c, - fir_pick_index: index_c - }) - }, - //把选择的门店设置成默认的门店def_pick - set_def_pick: function (e) { - var th = this; - var item = null; - if (th.data.choice_sort_store == 0) { - var index = th.data.fir_pick_index; - if (th.data.is_show_sto_cat == 1) { - item = th.data.def_pickpu_list[index]; + var sd = { + all_sto: newarr, + is_show_sto_cat: 1 + } + if (!sto_arr || sto_arr.length <= 10) { + sd.is_show_sto_cat = -1; + sd.only_pk = sto_arr; + } + th.setData(sd); + } else { - item = th.data.only_pk?th.data.only_pk[index]:null; //当没有门店分类的时候 + th.setData({ + is_show_sto_cat: -1, + only_pk: e.data.data.pageData + }); + //-----如果没有默认门店,要取第一个门店作为默认店.此时没有门店分类的情况------ + if (!th.data.def_pick_store) { + th.setData({ + def_pick_store: e.data.data.pageData[0] + }) + } } - } else { - var index = th.data.sec_pick_index; - item = th.data.sec_sto.s_arr[index]; - } - if(!item) return false; - - - //判断门店的配送方式是不是匹配 - var g_distr_type = th.data.sele_g.distr_type; - if (item.distr_type != 0 && g_distr_type != 0 && item.distr_type != g_distr_type) { - wx.showToast({ - title: "门店配送方式不匹配", - icon: 'none', - duration: 2000 + } else { + th.setData({ + is_show_sto_cat: -1, + only_pk: e.data.data.pageData }); - return false; + //-----如果没有默认门店,要取第一个门店作为默认店.此时没有门店分类的情况------ + if (!th.data.def_pick_store) { + th.setData({ + def_pick_store: e.data.data.pageData[0] + }) + } + } } + }); + } else { + th.setData({ + is_show_sto_cat: 0, + only_pk: e.data.data.pageData + }); + //-----如果没有默认门店,要取第一个门店作为默认店------ + if (!th.data.def_pick_store && th.data.bconfig && th.data.bconfig.is_sort_storage) { + if (e.data.data && e.data.data.pageData && e.data.data.pageData.length > 0) { + th.setData({ + def_pick_store: e.data.data.pageData[0], + sto_sele_name: e.data.data.pageData[0].pickup_name, + sto_sele_id: e.data.data.pageData[0].pickup_id, + sto_sele_distr: e.data.data.pageData[0].distr_type + }) + } + } + } + }, + + //---选择分类门店--- + choice_sort_store: function (e) { + var index = e.currentTarget.dataset.index; + var region_name = e.currentTarget.dataset.region; + var item = this.data.all_sto[index]; + this.setData({ + region_name: region_name, + sort_store: 0, + choice_sort_store: 1, + sec_sto: item, + sec_pick_index: 0 + }); + }, + + choose_for_store_fir: function (e) { + var index_c = e.currentTarget.dataset.ind; + var th = this; + th.setData({ + fir_pick_index: index_c + }) + }, + + //确定def_pick为选择的门店 + sure_pick: function (e) { + var th = this; + var item = null; + var openindstore = th.data.open_ind_store; + + if (th.data.choice_sort_store == 0) { + var index = th.data.fir_pick_index; + if (th.data.is_show_sto_cat == 1) { + item = th.data.def_pickpu_list[index]; + } else { + item = th.data.only_pk ? th.data.only_pk[index] : null; //当没有门店分类的时候 + } + } else { + var index = th.data.sec_pick_index; + item = th.data.sec_sto.s_arr[index]; + } - //先设置之前,要判断是不是有库存 - var user_id = getApp().globalData.user_id; - var def_pickup_id = item.pickup_id; - - getApp().request.put('/api/weshop/users/update', { - data: { - user_id: user_id, - def_pickup_id: def_pickup_id - }, - success: function (res) { - if (res.data.code == 0) { - if (th.data.choice_sort_store == 0) th.setData({ - fir_pick_index: 0 - }); - getApp().globalData.pk_store = item; - } else { - //s.showWarning("设置默认门店地址失败", null, 500, !1); - getApp().my_warnning("设置默认门店地址失败", 0, th) - } - - } - }); + if (!item) return false; + + //判断门店的配送方式是不是匹配 + var g_distr_type = 0; + if (th.data.sele_g) + g_distr_type = th.data.sele_g.distr_type; + if (item.distr_type != 0 && g_distr_type != 0 && item.distr_type != g_distr_type) { + wx.showToast({ + title: "门店配送方式不匹配", + icon: 'none', + duration: 2000 + }); + return false; + } - th.setData({ - def_pick_store: item, - sto_sele_name: item.pickup_name, - sto_sele_id: item.pickup_id, - sto_sele_distr: item.distr_type, - store: 0, - choice_sort_store: 0, - sort_store: 0, //关闭门店2级 - }); + th.setData({ + def_pick_store: item, + sto_sele_name: item.pickup_name, + sto_sele_id: item.pickup_id, + sto_sele_distr: item.distr_type, + store: 0, + choice_sort_store: 0, + fir_pick_index: 0, + sort_store: 0 + }); + + //只是单纯的选择门店 + if (this.data.only) { + this.data.only = 0; + this.data.sales_map = {}; + + return false; + } + //-- 判断一下库存 -- + th.check_pk_store_conut(function () { + th.check_is_in_cart(function () { th.add_cart_func(); - }, + }) + }) + + + }, + + + //---点击二级之后的选择--- + choose_for_store: function (e) { + var index_c = e.currentTarget.dataset.ind; + var th = this; + th.setData({ + sec_pick_index: index_c, + fir_pick_index: index_c + }) + + }, + //把选择的门店设置成默认的门店def_pick + set_def_pick: function (e) { + var th = this; + var item = null; + if (th.data.choice_sort_store == 0) { + var index = th.data.fir_pick_index; + if (th.data.is_show_sto_cat == 1) { + item = th.data.def_pickpu_list[index]; + } else { + item = th.data.only_pk ? th.data.only_pk[index] : null; //当没有门店分类的时候 + } + } else { + var index = th.data.sec_pick_index; + item = th.data.sec_sto.s_arr[index]; + } + if (!item) return false; - // 返回按钮 - returns: function () { - this.setData({ - sort_store: 0, - choice_sort_store: 0 - }); - }, - //选择更多门店 - more_store: function () { - this.setData({ - sort_store: 1 - }); - }, - //关闭选择门店 - close_popup: function (e) { - var th = this; - this.setData({ - store: 0, - choice_sort_store: 0, - sort_store: 0, - fir_pick_index: 0, - sec_pick_index: 0 - }) - }, - //-------------获取购买数量的总函数---------------- - get_buy_num: function (gd, func) { - var map = this.data.g_buy_num, - th = this, - user_id = getApp().globalData.user_id; + //判断门店的配送方式是不是匹配 + var g_distr_type = th.data.sele_g.distr_type; + if (item.distr_type != 0 && g_distr_type != 0 && item.distr_type != g_distr_type) { + wx.showToast({ + title: "门店配送方式不匹配", + icon: 'none', + duration: 2000 + }); + return false; + } - if (user_id == null) { - getApp().goto("/packageE/pages/togoin/togoin"); - return false; - } - if (map && map.has(gd.goods_id)) { - "function" == typeof func && func(); + //先设置之前,要判断是不是有库存 + var user_id = getApp().globalData.user_id; + var def_pickup_id = item.pickup_id; + + getApp().request.put('/api/weshop/users/update', { + data: { + user_id: user_id, + def_pickup_id: def_pickup_id + }, + success: function (res) { + if (res.data.code == 0) { + if (th.data.choice_sort_store == 0) th.setData({ + fir_pick_index: 0 + }); + getApp().globalData.pk_store = item; } else { - var res1 = null; - //----获取商品购买数---- - getApp().request.promiseGet("/api/weshop/ordergoods/getUserBuyGoodsNum", { - data: { - store_id: os.stoid, - user_id: user_id, - goods_id: gd.goods_id, - prom_type: 7, - prom_id: th.data.act.id - }, - }).then(res2 => { - var g_buy_num = 0; - var promgoodsbuynum = 0; - if (res2.data.code == 0) { - var buy_num_data = res2.data.data; - if (buy_num_data.promgoodsbuynum) promgoodsbuynum = buy_num_data.promgoodsbuynum; - g_buy_num = buy_num_data.goodsbuynum; - } - - if (!map) map = new Map(); - var ob = { - gd_buynum: g_buy_num, - prom_buybum: promgoodsbuynum, - } - map.set(gd.goods_id, ob); - th.setData({ - g_buy_num: map - }); - "function" == typeof func && func(); - }) + //s.showWarning("设置默认门店地址失败", null, 500, !1); + getApp().my_warnning("设置默认门店地址失败", 0, th) } - }, - - //-- 当是减数量的调用 -- - sub_updata_cart() { - var th = this; - var index = this.data.sele_index; - var txt = "list[" + index + "].haveAdded"; - var txt1 = "list[" + index + "].num"; - var txt2 = "list[" + index + "].showNum"; - - var cur_price = this.data.sele_g.shop_price; - if (th.data.card_field && this.data.sele_g[th.data.card_field]) { - cur_price = this.data.sele_g[th.data.card_field]; - } - var updata = { - id: th.data.sele_g.cart_id, - goods_num: th.data.goodsInputNum, - goods_price: cur_price, - store_id: os.stoid, - }; - if (th.data.s_cart_num) { - updata.goods_num = th.data.s_cart_num; + } + }); + + th.setData({ + def_pick_store: item, + sto_sele_name: item.pickup_name, + sto_sele_id: item.pickup_id, + sto_sele_distr: item.distr_type, + store: 0, + choice_sort_store: 0, + sort_store: 0, //关闭门店2级 + }); + + th.add_cart_func(); + }, + + // 返回按钮 + returns: function () { + this.setData({ + sort_store: 0, + choice_sort_store: 0 + }); + }, + //选择更多门店 + more_store: function () { + this.setData({ + sort_store: 1 + }); + }, + //关闭选择门店 + close_popup: function (e) { + var th = this; + this.setData({ + store: 0, + choice_sort_store: 0, + sort_store: 0, + fir_pick_index: 0, + sec_pick_index: 0 + }) + }, + + //-------------获取购买数量的总函数---------------- + get_buy_num: function (gd, func) { + var map = this.data.g_buy_num, + th = this, + user_id = getApp().globalData.user_id; + + if (user_id == null) { + getApp().goto("/packageE/pages/togoin/togoin"); + return false; + } + if (map && map.has(gd.goods_id)) { + "function" == typeof func && func(); + } else { + var res1 = null; + //----获取商品购买数---- + getApp().request.promiseGet("/api/weshop/ordergoods/getUserBuyGoodsNum", { + data: { + store_id: os.stoid, + user_id: user_id, + goods_id: gd.goods_id, + prom_type: 7, + prom_id: th.data.act.id + }, + }).then(res2 => { + var g_buy_num = 0; + var promgoodsbuynum = 0; + if (res2.data.code == 0) { + var buy_num_data = res2.data.data; + if (buy_num_data.promgoodsbuynum) promgoodsbuynum = buy_num_data.promgoodsbuynum; + g_buy_num = buy_num_data.goodsbuynum; } - //---是不是从收藏夹出来的--- - if (th.data.c_guide_id) { - updata['guide_id'] = th.data.c_guide_id; - updata['guide_type'] = 3; //加入购物车之后就变成了3 - } else { - if (getApp().globalData.guide_id) { - updata['guide_id'] = getApp().globalData.guide_id; - updata['guide_type'] = 0; - } + if (!map) map = new Map(); + var ob = { + gd_buynum: g_buy_num, + prom_buybum: promgoodsbuynum, } - //调用接口,更新购物车 - getApp().request.put("/api/weshop/cart/update", { - data: updata, - success: function (t) { - th.setData({ - [txt1]: th.data.goodsInputNum, - [txt2]: true, - [txt]: true, - }); - th.data.adding = 0; - th.data.sele_store = 1; - if (th.data.s_cart_num) { - var txt_temp = "list[" + index + "].cart_num"; - th.setData({ - [txt_temp]: th.data.s_cart_num - }) - } + map.set(gd.goods_id, ob); + th.setData({ + g_buy_num: map + }); + "function" == typeof func && func(); + }) + } + }, + + //-- 当是减数量的调用 -- + sub_updata_cart() { + var th = this; + var index = this.data.sele_index; + var txt = "list[" + index + "].haveAdded"; + var txt1 = "list[" + index + "].num"; + var txt2 = "list[" + index + "].showNum"; + + var cur_price = this.data.sele_g.shop_price; + if (th.data.card_field && this.data.sele_g[th.data.card_field]) { + cur_price = this.data.sele_g[th.data.card_field]; + } + var updata = { + id: th.data.sele_g.cart_id, + goods_num: th.data.goodsInputNum, + goods_price: cur_price, + store_id: os.stoid, + }; + + if (th.data.s_cart_num) { + updata.goods_num = th.data.s_cart_num; + } - th.re_sum_price(); //重新统计数量和总金额 - } + //---是不是从收藏夹出来的--- + if (th.data.c_guide_id) { + updata['guide_id'] = th.data.c_guide_id; + updata['guide_type'] = 3; //加入购物车之后就变成了3 + } else { + if (getApp().globalData.guide_id) { + updata['guide_id'] = getApp().globalData.guide_id; + updata['guide_type'] = 0; + } + } + //调用接口,更新购物车 + getApp().request.put("/api/weshop/cart/update", { + data: updata, + success: function (t) { + th.setData({ + [txt1]: th.data.goodsInputNum, + [txt2]: true, + [txt]: true, }); - }, - //一 开始的选择门店 -- - choose_store: function (e) { - var userInfo = getApp().globalData.userInfo; - if (!userInfo) { - getApp().goto("/packageE/pages/togoin/togoin"); - return false; + th.data.adding = 0; + th.data.sele_store = 1; + if (th.data.s_cart_num) { + var txt_temp = "list[" + index + "].cart_num"; + th.setData({ + [txt_temp]: th.data.s_cart_num + }) } - this.data.only = 1; - this.setData({ - store: 1 - }) + th.re_sum_price(); //重新统计数量和总金额 + } + }); + }, + //一 开始的选择门店 -- + choose_store: function (e) { + var userInfo = getApp().globalData.userInfo; + if (!userInfo) { + getApp().goto("/packageE/pages/togoin/togoin"); + return false; + } + this.data.only = 1; + this.setData({ + store: 1 + }) - this.get_sto() - }, - // -- 加入之前,先判断有没有在购物车中,没有商品就添加 -- - check_is_in_cart: function (func) { + this.get_sto() + }, - var act=this.data.act; - if(act.zh_num>0 && act.zh_num<=act.zh_buy_num){ - func(); - return false; - } + // -- 加入之前,先判断有没有在购物车中,没有商品就添加 -- + check_is_in_cart: function (func) { - var th = this; - var index = th.data.sele_index; - var txt = "list[" + index + "].haveAdded"; - var txt1 = "list[" + index + "].num"; - var txt2 = "list[" + index + "].showNum"; - var txt3 = "list[" + index + "].cart_id"; - var txt4 = "list[" + index + "].current_price"; - var txt5 = "list[" + index + "].cart_num"; - - //----先看会员在购物车中是否加入了该商品----- - getApp().request.get("/api/weshop/cart/page", { - data: { - store_id: os.stoid, - user_id: oo.user_id, - goods_id: th.data.sele_g.goods_id, - pick_id: th.data.sto_sele_id, - }, - success: function (re) { - if (re.data.data.total > 0) { - var item = re.data.data.pageData[0]; - th.get_buy_num(th.data.sele_g, function () { - //当前的价格要更新进去 - var cur_price = th.data.sele_g.shop_price; - if (th.data.card_field && th.data.sele_g[th.data.card_field]) { - cur_price = th.data.sele_g[th.data.card_field]; - } + var act = this.data.act; + if (act.zh_num > 0 && act.zh_num <= act.zh_buy_num) { + func(); + return false; + } - var prom_buybum = 0; - var gd_buynum = 0; - //加入也要控制一下限购 - var check_obj = th.data.g_buy_num.get(th.data.sele_g.goods_id); - if (check_obj.gd_buynum && check_obj.gd_buynum > 0) gd_buynum = check_obj.gd_buynum; - if (check_obj.prom_buybum && check_obj.prom_buybum > 0) prom_buybum = check_obj.prom_buybum; - - if (check_obj) { - if (check_obj.prom_buybum && check_obj.prom_buybum >= th.data.sele_g.buyqty && - th.data.sele_g.buyqty > 0 - ) { - wx.showToast({ - title: "您的已购数量超出活动的限购", - icon: 'none', - duration: 2000 - }); - return false; - } - if (check_obj.gd_buynum && check_obj.gd_buynum >= th.data.sele_g.viplimited && - th.data.sele_g.viplimited > 0 - ) { - wx.showToast({ - title: "您的已购数量超出商品的限购", - icon: 'none', - duration: 2000 - }); - return false; - } - } + var th = this; + var index = th.data.sele_index; + var txt = "list[" + index + "].haveAdded"; + var txt1 = "list[" + index + "].num"; + var txt2 = "list[" + index + "].showNum"; + var txt3 = "list[" + index + "].cart_id"; + var txt4 = "list[" + index + "].current_price"; + var txt5 = "list[" + index + "].cart_num"; + + //----先看会员在购物车中是否加入了该商品----- + getApp().request.get("/api/weshop/cart/page", { + data: { + store_id: os.stoid, + user_id: oo.user_id, + goods_id: th.data.sele_g.goods_id, + pick_id: th.data.sto_sele_id, + }, + success: function (re) { + if (re.data.data.total > 0) { + var item = re.data.data.pageData[0]; + th.get_buy_num(th.data.sele_g, function () { + //当前的价格要更新进去 + var cur_price = th.data.sele_g.shop_price; + if (th.data.card_field && th.data.sele_g[th.data.card_field]) { + cur_price = th.data.sele_g[th.data.card_field]; + } - item.cbuy = 'no'; - var cbuy = th.data.sele_g.viplimited > 0 ? th.data.sele_g.viplimited - gd_buynum : 'no'; - if (cbuy != 'no') item.cbuy = cbuy; - var cbuy2 = th.data.sele_g.buyqty > 0 ? th.data.sele_g.buyqty - prom_buybum : 'no'; - if (cbuy2 != 'no') { - if (item.cbuy == 'no' || item.cbuy > cbuy2) item.cbuy = cbuy2; - } + var prom_buybum = 0; + var gd_buynum = 0; + //加入也要控制一下限购 + var check_obj = th.data.g_buy_num.get(th.data.sele_g.goods_id); + if (check_obj.gd_buynum && check_obj.gd_buynum > 0) gd_buynum = check_obj.gd_buynum; + if (check_obj.prom_buybum && check_obj.prom_buybum > 0) prom_buybum = check_obj.prom_buybum; + + if (check_obj) { + if (check_obj.prom_buybum && check_obj.prom_buybum >= th.data.sele_g.buyqty && + th.data.sele_g.buyqty > 0 + ) { + wx.showToast({ + title: "您的已购数量超出活动的限购", + icon: 'none', + duration: 2000 + }); + return false; + } + if (check_obj.gd_buynum && check_obj.gd_buynum >= th.data.sele_g.viplimited && + th.data.sele_g.viplimited > 0 + ) { + wx.showToast({ + title: "您的已购数量超出商品的限购", + icon: 'none', + duration: 2000 + }); + return false; + } + } - var num = item.goods_num; + item.cbuy = 'no'; + var cbuy = th.data.sele_g.viplimited > 0 ? th.data.sele_g.viplimited - gd_buynum : 'no'; + if (cbuy != 'no') item.cbuy = cbuy; + var cbuy2 = th.data.sele_g.buyqty > 0 ? th.data.sele_g.buyqty - prom_buybum : 'no'; + if (cbuy2 != 'no') { + if (item.cbuy == 'no' || item.cbuy > cbuy2) item.cbuy = cbuy2; + } - var is_num_change=0; - if(num -1 && item.cbuy < item.goods_num) { - num = item.cbuy; - } - th.setData({ - [txt1]: num, - [txt2]: true, - [txt]: true, - [txt3]: item.id, - [txt4]: cur_price, - [txt5]: item.goods_num, - }); - - var updata = { - id: item.id, - prom_type: 7, - goods_price: cur_price, - prom_id: th.data.act.id, - store_id: os.stoid, - state:0 - }; - if (getApp().globalData.guide_id) { - updata['guide_id'] = getApp().globalData.guide_id; - updata['guide_type'] = 0; - } - if(is_num_change){ - updata['goods_num']=num; - } + var is_num_change = 0; + if (num < th.data.goodsInputNum) { + num = th.data.goodsInputNum; + is_num_change = 1; + } - getApp().request.put("/api/weshop/cart/update", { - data: updata, - success: function (t) { } - }); - th.re_sum_price(); - }) + if (item.cbuy > -1 && item.cbuy < item.goods_num) { + num = item.cbuy; + } + th.setData({ + [txt1]: num, + [txt2]: true, + [txt]: true, + [txt3]: item.id, + [txt4]: cur_price, + [txt5]: item.goods_num, + }); - } else { - func(); - } + var updata = { + id: item.id, + prom_type: 7, + goods_price: cur_price, + prom_id: th.data.act.id, + store_id: os.stoid, + state: 0 + }; + if (getApp().globalData.guide_id) { + updata['guide_id'] = getApp().globalData.guide_id; + updata['guide_type'] = 0; } - }) - }, - - //-- 计算统计之后的金额 -- - re_sum_price: function () { - var all_num = 0; //商品数量之和 - var all_price = 0; - var need_to_buy = 0; - var data = this.data.list; - var all_zhqty = 0; //所有商品要求起购数之后 - var zhqty_bz = []; //超量 - var no_in_arr = []; - for (var i in data) { - var item = data[i]; - if (item.num) { - all_num += item.num; - all_price += item.num * item.current_price; - //当有起购数的控制的时候 - if (item.zhqty) { - zhqty_bz.push(item); - all_zhqty += item.zhqty; - if (item.num < item.zhqty) { - need_to_buy += item.zhqty - item.num; - } - if (item.num > item.zhqty) { - for (var i = 0; i < item.num - item.zhqty; i++) { - no_in_arr.push({ - price: item.current_price, - goods_id: item.goods_id - }); - } - } - } else { - for (var j = 0; j < item.num; j++) { - no_in_arr.push({ - price: item.current_price, - goods_id: item.goods_id - }); - } - } - } else { - if (item.zhqty) need_to_buy += item.zhqty; + if (is_num_change) { + updata['goods_num'] = num; } - } - //当满足组合的要求:总数要满足,起购数要满足 - if (all_num >= this.data.act.zhbuyqty && !need_to_buy) { - function sortData(a, b) { - return a.price - b.price - } - if (no_in_arr.length) no_in_arr.sort(sortData); + getApp().request.put("/api/weshop/cart/update", { + data: updata, + success: function (t) { } + }); + th.re_sum_price(); + }) - var aprice = this.data.act.zhprice; - if (this.data.act.zhbuyqty > all_zhqty) { - for (var n = 0; n < this.data.act.zhbuyqty - all_zhqty; n++) { - no_in_arr.pop(); - } + } else { + func(); + } + } + }) + }, + + //-- 计算统计之后的金额 -- + re_sum_price: function () { + var all_num = 0; //商品数量之和 + var all_price = 0; + var need_to_buy = 0; + var data = this.data.list; + var all_zhqty = 0; //所有商品要求起购数之后 + var zhqty_bz = []; //超量 + var no_in_arr = []; + for (var i in data) { + var item = data[i]; + if (item.num) { + all_num += item.num; + all_price += item.num * item.current_price; + //当有起购数的控制的时候 + if (item.zhqty) { + zhqty_bz.push(item); + all_zhqty += item.zhqty; + if (item.num < item.zhqty) { + need_to_buy += item.zhqty - item.num; + } + if (item.num > item.zhqty) { + for (var i = 0; i < item.num - item.zhqty; i++) { + no_in_arr.push({ + price: item.current_price, + goods_id: item.goods_id + }); } + } + } else { + for (var j = 0; j < item.num; j++) { + no_in_arr.push({ + price: item.current_price, + goods_id: item.goods_id + }); + } + } + } else { + if (item.zhqty) need_to_buy += item.zhqty; + } + } - //看一下剩下的数量有没有满足组合购的要求,以及要不要倍增 - if (this.data.act.is_bz && no_in_arr.length >= this.data.act.zhbuyqty) { - var bz_num_ok = 0; //超量倍增是否满足 - var delete_num = 0; - var zhqty_len = 0; //几个超量倍增 - var be = parseInt(no_in_arr.length / this.data.act.zhbuyqty); //看一下是几倍 - //如果有总数控制的时候 - if(this.data.act.zh_num){ - var be1=this.data.act.zh_num-this.data.act.zh_buy_num-1; - if(be1 0) { - if (zhqty_bz.length > 1) { - let zhqty_bz_arr = []; - let zhqty_bz_flag = this.zhqty_bz_fun(zhqty_bz, be, zhqty_bz_arr); - - if (zhqty_bz_flag) { - for (let i = 0; i < zhqty_bz.length; i++) { - var vv = zhqty_bz[i]; - for (let j = 0; j < be * vv['zhqty']; j++) { - let index = no_in_arr.findIndex(i => { - return vv.goods_id === i.goods_id - }) - if (index > -1) { - delete_num++ - no_in_arr.splice(index, 1) - } - } - } - } else { - zhqty_len = 1; - let min_bz_num = Math.min.apply(Math, zhqty_bz_arr.map(function (o) { - return o['num']; - })); - let new_arr = zhqty_bz_arr.filter(ii => { - return ii['num'] == min_bz_num; - }) - var vv = new_arr[0]; - var bz_num = be * new_arr[0].zhqty; //超量倍增 - var num = min_bz_num - new_arr[0].zhqty; //购买数量减去超量 - bz_num_ok = bz_num - num; - if (bz_num_ok <= 0) { - //超量倍增满足,超量倍增就等于倍数 - bz_num_ok = bz_num; - } else { - //超量倍增不满足,倍数要减去多出得 - // be=be-bz_num_ok; - if (num % vv.zhqty == 0) { - be = num / vv.zhqty; - } else { - be = Math.floor(num / vv.zhqty) - } - bz_num_ok = be * vv.zhqty; - } - - for (let i = 0; i < zhqty_bz.length; i++) { - let item1 = zhqty_bz[i]; - for (let j = 0; j < be * item1['zhqty']; j++) { - let index = no_in_arr.findIndex(i => { - return item1.goods_id === i.goods_id - }) - if (index > -1) { - // delete_num++ - no_in_arr.splice(index, 1) - } - } - } - aprice += be * aprice; - } - } else { - var vv = zhqty_bz[0]; - var bz_num = be * vv.zhqty; //超量倍增 - var num = vv['num'] - vv.zhqty; //购买数量减去超量 - if (num > 0) { - bz_num_ok = bz_num - num; - if (bz_num_ok <= 0) { - //超量倍增满足,超量倍增就等于倍数 - bz_num_ok = bz_num; - } else { - //超量倍增不满足,倍数要减去多出得 - // be=be-bz_num_ok; - if (num % vv.zhqty == 0) { - be = num / vv.zhqty; - } else { - be = Math.floor(num / vv.zhqty) - } - bz_num_ok = be * vv.zhqty; - } - for (let j = 0; j < bz_num_ok; j++) { - let index = no_in_arr.findIndex(i => { - return vv.goods_id === i.goods_id - }) - if (index > -1) { - delete_num++ - no_in_arr.splice(index, 1) - } - } - } else { - zhqty_len = 1; - } - } - } - if (!zhqty_len) { - //多个超量就不用pop了 - aprice += be * aprice; - let pop_num = be * this.data.act.zhbuyqty - delete_num; - for (var m = 0; m < pop_num; m++) { - no_in_arr.pop(); - } + //当满足组合的要求:总数要满足,起购数要满足 + if (all_num >= this.data.act.zhbuyqty && !need_to_buy) { + function sortData(a, b) { + return a.price - b.price + } + if (no_in_arr.length) no_in_arr.sort(sortData); + + var aprice = this.data.act.zhprice; + if (this.data.act.zhbuyqty > all_zhqty) { + for (var n = 0; n < this.data.act.zhbuyqty - all_zhqty; n++) { + no_in_arr.pop(); + } + } + + //看一下剩下的数量有没有满足组合购的要求,以及要不要倍增 + if (this.data.act.is_bz && no_in_arr.length >= this.data.act.zhbuyqty) { + var bz_num_ok = 0; //超量倍增是否满足 + var delete_num = 0; + var zhqty_len = 0; //几个超量倍增 + var be = parseInt(no_in_arr.length / this.data.act.zhbuyqty); //看一下是几倍 + //如果有总数控制的时候 + if (this.data.act.zh_num) { + var be1 = this.data.act.zh_num - this.data.act.zh_buy_num - 1; + if (be1 < be) be = be1; + } + if (be) { + if (this.data.act.is_bzyh && zhqty_bz.length > 0) { + if (zhqty_bz.length > 1) { + let zhqty_bz_arr = []; + let zhqty_bz_flag = this.zhqty_bz_fun(zhqty_bz, be, zhqty_bz_arr); + + if (zhqty_bz_flag) { + for (let i = 0; i < zhqty_bz.length; i++) { + var vv = zhqty_bz[i]; + for (let j = 0; j < be * vv['zhqty']; j++) { + let index = no_in_arr.findIndex(i => { + return vv.goods_id === i.goods_id + }) + if (index > -1) { + delete_num++ + no_in_arr.splice(index, 1) } + } + } + } else { + zhqty_len = 1; + let min_bz_num = Math.min.apply(Math, zhqty_bz_arr.map(function (o) { + return o['num']; + })); + let new_arr = zhqty_bz_arr.filter(ii => { + return ii['num'] == min_bz_num; + }) + var vv = new_arr[0]; + var bz_num = be * new_arr[0].zhqty; //超量倍增 + var num = min_bz_num - new_arr[0].zhqty; //购买数量减去超量 + bz_num_ok = bz_num - num; + if (bz_num_ok <= 0) { + //超量倍增满足,超量倍增就等于倍数 + bz_num_ok = bz_num; + } else { + //超量倍增不满足,倍数要减去多出得 + // be=be-bz_num_ok; + if (num % vv.zhqty == 0) { + be = num / vv.zhqty; + } else { + be = Math.floor(num / vv.zhqty) + } + bz_num_ok = be * vv.zhqty; } - } - - //算一下剩余的钱 - if (no_in_arr.length) { - for (var ii in no_in_arr) { - var item = no_in_arr[ii]; - aprice += item.price; + for (let i = 0; i < zhqty_bz.length; i++) { + let item1 = zhqty_bz[i]; + for (let j = 0; j < be * item1['zhqty']; j++) { + let index = no_in_arr.findIndex(i => { + return item1.goods_id === i.goods_id + }) + if (index > -1) { + // delete_num++ + no_in_arr.splice(index, 1) + } + } + } + aprice += be * aprice; + } + } else { + var vv = zhqty_bz[0]; + var bz_num = be * vv.zhqty; //超量倍增 + var num = vv['num'] - vv.zhqty; //购买数量减去超量 + if (num > 0) { + bz_num_ok = bz_num - num; + if (bz_num_ok <= 0) { + //超量倍增满足,超量倍增就等于倍数 + bz_num_ok = bz_num; + } else { + //超量倍增不满足,倍数要减去多出得 + // be=be-bz_num_ok; + if (num % vv.zhqty == 0) { + be = num / vv.zhqty; + } else { + be = Math.floor(num / vv.zhqty) + } + bz_num_ok = be * vv.zhqty; + } + for (let j = 0; j < bz_num_ok; j++) { + let index = no_in_arr.findIndex(i => { + return vv.goods_id === i.goods_id + }) + if (index > -1) { + delete_num++ + no_in_arr.splice(index, 1) + } } + } else { + zhqty_len = 1; + } } - all_price = aprice; - } - this.data.changing = 0; - this.setData({ - all_price: all_price, - need_to_buy: need_to_buy, - all_num: all_num - }) - - if (all_num <= 0) { - this.data.sele_store = 0; //什么都没有选,就没有选择了门店 + } + if (!zhqty_len) { + //多个超量就不用pop了 + aprice += be * aprice; + let pop_num = be * this.data.act.zhbuyqty - delete_num; + for (var m = 0; m < pop_num; m++) { + no_in_arr.pop(); + } + } } - }, - - go_cart: function () { - getApp().goto("/pages/cart/cart/cart"); - }, - - //获取购物车中,相应的门店已购买的商品 - get_cart_val: function (e) { - var th = this; - var user_id = getApp().globalData.user_id; - var req = { - user_id: user_id, - store_id: os.stoid, - pageSize: 600, - state: 0, - prom_type: 7, - prom_id: this.data.act.id - }; - //获取购物车列表 - getApp().request.get("/api/weshop/cart/list", { - data: req, - success: async function (e) { - if(ut.ajax_ok(e)) { - var map = {}; - var mlist = e.data.data.pageData; - th.data.cart_list = mlist; - for (let i in mlist) { - let item = mlist[i]; - if (item.prom_type != 7) continue; - if (item.prom_id != th.data.act.id) continue; - if(th.data.def_pick_store && th.data.def_pick_store.pickup_id){ - if(item.pick_id!=th.data.def_pick_store.pickup_id){ - continue; - } - } - map[item.goods_id] = item; - } - - //-- 循环活动的从表 -- - for (let j in th.data.list) { - let item_j = th.data.list[j]; - item_j.current_price = item_j.shop_price; - - var card_price = 0; - //如果会员有等级价 - if (th.data.card_field) { - card_price = item_j[th.data.card_field]; - if (card_price > 0) { - item_j.current_price = card_price; - } - } + } + //算一下剩余的钱 + if (no_in_arr.length) { + for (var ii in no_in_arr) { + var item = no_in_arr[ii]; + aprice += item.price; + } + } + all_price = aprice; + } + this.data.changing = 0; + this.setData({ + all_price: all_price, + need_to_buy: need_to_buy, + all_num: all_num + }) + + if (all_num <= 0) { + this.data.sele_store = 0; //什么都没有选,就没有选择了门店 + } - if (map[item_j.goods_id]) { - var cart_num = map[item_j.goods_id].goods_num; - item_j.num = cart_num; - item_j.pickup_no = map[item_j.goods_id].pickup_no; - item_j.pick_id = map[item_j.goods_id].pick_id; - - //判断库存是不是存在 - var can_qty=await th.check_pk_store_conut(null,1,item_j,cart_num); - if(!can_qty){ - item_j.num=0; - continue; - } - - item_j.cart_num = cart_num; - item_j.cart_id = map[item_j.goods_id].id; - if (item_j.buyqty > 0) { - var g_buy_num = 0; - var promgoodsbuynum = 0; - //----获取商品购买数---- - await getApp().request.promiseGet("/api/weshop/ordergoods/getUserBuyGoodsNum", { - data: { - store_id: os.stoid, - user_id: user_id, - goods_id: item_j.goods_id, - prom_type: 7, - prom_id: th.data.act.id - }, - }).then(res2 => { - if (res2.data.code == 0) { - var buy_num_data = res2.data.data; - if (buy_num_data.promgoodsbuynum) promgoodsbuynum = buy_num_data.promgoodsbuynum; - g_buy_num = buy_num_data.goodsbuynum; - } - }) - - if (item_j.viplimited > 0) { - var cby = item_j.viplimited - g_buy_num; - if (cby <= 0) continue; //不能买就continue下一个 - item_j.num = cby > item_j.num ? item_j.num : cby; - } - if (item_j.buyqty > 0) { - var cby = item_j.buyqty - promgoodsbuynum; - if (cby <= 0) continue; //不能买就continue下一个 - item_j.num = cby > item_j.num ? item_j.num : cby; - } - } - - item_j.haveAdded = 1; - item_j.showNum = true; - } - } - th.setData({ - list: th.data.list - }); - th.re_sum_price(); - } - } - }); - }, - - //滚动加载跟多的时候的计算 - async calc_more(list, func) { - var th = this; - var map = {}; - var mlist = this.data.cart_list; - for (let i in mlist) { + }, + + go_cart: function () { + getApp().goto("/pages/cart/cart/cart"); + }, + + //获取购物车中,相应的门店已购买的商品 + get_cart_val: function (e) { + var th = this; + var user_id = getApp().globalData.user_id; + var req = { + user_id: user_id, + store_id: os.stoid, + pageSize: 600, + state: 0, + prom_type: 7, + prom_id: this.data.act.id + }; + //获取购物车列表 + getApp().request.get("/api/weshop/cart/list", { + data: req, + success: async function (e) { + if (ut.ajax_ok(e)) { + var map = {}; + var mlist = e.data.data.pageData; + th.data.cart_list = mlist; + for (let i in mlist) { let item = mlist[i]; if (item.prom_type != 7) continue; if (item.prom_id != th.data.act.id) continue; + if (th.data.def_pick_store && th.data.def_pick_store.pickup_id) { + if (item.pick_id != th.data.def_pick_store.pickup_id) { + continue; + } + } map[item.goods_id] = item; - } + } - for (let j in list) { - let item_j = list[j]; + //-- 循环活动的从表 -- + for (let j in th.data.list) { + let item_j = th.data.list[j]; item_j.current_price = item_j.shop_price; var card_price = 0; //如果会员有等级价 if (th.data.card_field) { - card_price = item_j[th.data.card_field]; - if (card_price > 0) { - item_j.current_price = card_price; - } + card_price = item_j[th.data.card_field]; + if (card_price > 0) { + item_j.current_price = card_price; + } } if (map[item_j.goods_id]) { - var cart_num = map[item_j.goods_id].goods_num; - item_j.num = cart_num; - item_j.cart_num = cart_num; - item_j.cart_id = map[item_j.goods_id].id; - if (item_j.buyqty > 0) { - var g_buy_num = 0; - var promgoodsbuynum = 0; - //----获取商品购买数---- - await getApp().request.promiseGet("/api/weshop/ordergoods/getUserBuyGoodsNum", { - data: { - store_id: os.stoid, - user_id: oo.user_id, - goods_id: item_j.goods_id, - prom_type: 7, - prom_id: th.data.act.id - }, - }).then(res2 => { - if (res2.data.code == 0) { - var buy_num_data = res2.data.data; - if (buy_num_data.promgoodsbuynum) promgoodsbuynum = buy_num_data.promgoodsbuynum; - g_buy_num = buy_num_data.goodsbuynum; - } - }) + var cart_num = map[item_j.goods_id].goods_num; + item_j.num = cart_num; + item_j.pickup_no = map[item_j.goods_id].pickup_no; + item_j.pick_id = map[item_j.goods_id].pick_id; + + //判断库存是不是存在 + var can_qty = await th.check_pk_store_conut(null, 1, item_j, cart_num); + if (!can_qty) { + item_j.num = 0; + continue; + } - if (item_j.viplimited > 0) { - var cby = item_j.viplimited - g_buy_num; - if (cby <= 0) continue; //不能买就continue下一个 - item_j.num = cby > item_j.num ? item_j.num : cby; - } - if (item_j.buyqty > 0) { - var cby = item_j.buyqty - promgoodsbuynum; - if (cby <= 0) continue; //不能买就continue下一个 - item_j.num = cby > item_j.num ? item_j.num : cby; - } + item_j.cart_num = cart_num; + item_j.cart_id = map[item_j.goods_id].id; + if (item_j.buyqty > 0) { + var g_buy_num = 0; + var promgoodsbuynum = 0; + //----获取商品购买数---- + await getApp().request.promiseGet("/api/weshop/ordergoods/getUserBuyGoodsNum", { + data: { + store_id: os.stoid, + user_id: user_id, + goods_id: item_j.goods_id, + prom_type: 7, + prom_id: th.data.act.id + }, + }).then(res2 => { + if (res2.data.code == 0) { + var buy_num_data = res2.data.data; + if (buy_num_data.promgoodsbuynum) promgoodsbuynum = buy_num_data.promgoodsbuynum; + g_buy_num = buy_num_data.goodsbuynum; + } + }) + + if (item_j.viplimited > 0) { + var cby = item_j.viplimited - g_buy_num; + if (cby <= 0) continue; //不能买就continue下一个 + item_j.num = cby > item_j.num ? item_j.num : cby; } + if (item_j.buyqty > 0) { + var cby = item_j.buyqty - promgoodsbuynum; + if (cby <= 0) continue; //不能买就continue下一个 + item_j.num = cby > item_j.num ? item_j.num : cby; + } + } - item_j.haveAdded = 1; - item_j.showNum = true; - } - } - if (func) func(list) - - }, - - zhqty_bz_fun(zhqty_bz, be, zhqty_bz_arr) { - let zhqty_bz_flag = true; - for (let i = 0; i < zhqty_bz.length; i++) { - let item = zhqty_bz[i]; - let bz_num = be * item['zhqty']; //超量倍增 - let num = item['num'] - item['zhqty']; //购买数量减去超量 - if (bz_num > num) { - zhqty_bz_flag = false; - zhqty_bz_arr.push(item); - // zhqty_bz.splice(i,1) + item_j.haveAdded = 1; + item_j.showNum = true; } + } + th.setData({ + list: th.data.list + }); + th.re_sum_price(); } - return zhqty_bz_flag; - }, - - chect_act_zh_num(func){ - var userInfo = getApp().globalData.userInfo; - //获取活动信息 - var url = "/api/weshop/prom/zhbuy/get/" + os.stoid + "/" + this.data.id + "/" + userInfo.user_id; - getApp().request.get(url, { - success: function (e) { - if (e.data.code == 0 && e.data.data) { - var t_act=e.data.data; - if(t_act.zh_num>0 && t_act.zh_num<=t_act.zh_buy_num){ - wx.showToast({ - title: '组合活动不足!', - icon: 'none', - duration: 2000 - }) - return false; - } - func(); + } + }); + }, + + //滚动加载跟多的时候的计算 + async calc_more(list, func) { + var th = this; + var map = {}; + var mlist = this.data.cart_list; + for (let i in mlist) { + let item = mlist[i]; + if (item.prom_type != 7) continue; + if (item.prom_id != th.data.act.id) continue; + map[item.goods_id] = item; + } - }else{ - wx.showToast({ - title: '未找到活动!', - icon: 'none', - duration: 2000 - }) - } + for (let j in list) { + let item_j = list[j]; + item_j.current_price = item_j.shop_price; + var card_price = 0; + //如果会员有等级价 + if (th.data.card_field) { + card_price = item_j[th.data.card_field]; + if (card_price > 0) { + item_j.current_price = card_price; + } + } + + + if (map[item_j.goods_id]) { + var cart_num = map[item_j.goods_id].goods_num; + item_j.num = cart_num; + item_j.cart_num = cart_num; + item_j.cart_id = map[item_j.goods_id].id; + if (item_j.buyqty > 0) { + var g_buy_num = 0; + var promgoodsbuynum = 0; + //----获取商品购买数---- + await getApp().request.promiseGet("/api/weshop/ordergoods/getUserBuyGoodsNum", { + data: { + store_id: os.stoid, + user_id: oo.user_id, + goods_id: item_j.goods_id, + prom_type: 7, + prom_id: th.data.act.id + }, + }).then(res2 => { + if (res2.data.code == 0) { + var buy_num_data = res2.data.data; + if (buy_num_data.promgoodsbuynum) promgoodsbuynum = buy_num_data.promgoodsbuynum; + g_buy_num = buy_num_data.goodsbuynum; } - }) + }) + + if (item_j.viplimited > 0) { + var cby = item_j.viplimited - g_buy_num; + if (cby <= 0) continue; //不能买就continue下一个 + item_j.num = cby > item_j.num ? item_j.num : cby; + } + if (item_j.buyqty > 0) { + var cby = item_j.buyqty - promgoodsbuynum; + if (cby <= 0) continue; //不能买就continue下一个 + item_j.num = cby > item_j.num ? item_j.num : cby; + } + } + + item_j.haveAdded = 1; + item_j.showNum = true; + } + } + if (func) func(list) + + }, + + zhqty_bz_fun(zhqty_bz, be, zhqty_bz_arr) { + let zhqty_bz_flag = true; + for (let i = 0; i < zhqty_bz.length; i++) { + let item = zhqty_bz[i]; + let bz_num = be * item['zhqty']; //超量倍增 + let num = item['num'] - item['zhqty']; //购买数量减去超量 + if (bz_num > num) { + zhqty_bz_flag = false; + zhqty_bz_arr.push(item); + // zhqty_bz.splice(i,1) + } } + return zhqty_bz_flag; + }, + + chect_act_zh_num(func) { + var userInfo = getApp().globalData.userInfo; + //获取活动信息 + var url = "/api/weshop/prom/zhbuy/get/" + os.stoid + "/" + this.data.id + "/" + userInfo.user_id; + getApp().request.get(url, { + success: function (e) { + if (e.data.code == 0 && e.data.data) { + var t_act = e.data.data; + if (t_act.zh_num > 0 && t_act.zh_num <= t_act.zh_buy_num) { + wx.showToast({ + title: '组合活动不足!', + icon: 'none', + duration: 2000 + }) + return false; + } + func(); + + } else { + wx.showToast({ + title: '未找到活动!', + icon: 'none', + duration: 2000 + }) + } + + } + }) + } diff --git a/packageB/pages/zuhegou/index/index.wxml b/packageB/pages/zuhegou/index/index.wxml index 4f5d563..209fc57 100644 --- a/packageB/pages/zuhegou/index/index.wxml +++ b/packageB/pages/zuhegou/index/index.wxml @@ -146,7 +146,7 @@ - + 长按图片保存至相册 diff --git a/packageB/pages/zuhegou/index/index.wxss b/packageB/pages/zuhegou/index/index.wxss index a2ca988..ee1e8bf 100644 --- a/packageB/pages/zuhegou/index/index.wxss +++ b/packageB/pages/zuhegou/index/index.wxss @@ -199,6 +199,13 @@ page { margin: 0 auto; } +.poster333 { + width: 650rpx; + height: 1088rpx; + border-radius: 16rpx; + margin: 0 auto; +} + .white2 { color: rgba(255,255,255,.8); } diff --git a/packageC/pages/luckyGo/luckyGo_cart/luckyGo_cart.js b/packageC/pages/luckyGo/luckyGo_cart/luckyGo_cart.js index 1b1a6d6..8a37a86 100644 --- a/packageC/pages/luckyGo/luckyGo_cart/luckyGo_cart.js +++ b/packageC/pages/luckyGo/luckyGo_cart/luckyGo_cart.js @@ -125,12 +125,42 @@ Page({ hid_inp: 1, user_note: {}, zuhe_map_good: {}, - }, + bconfig: null, + showFold:true, + }, + + + + onReady() { + + setTimeout(() => { + wx.createSelectorQuery().selectAll(".showArea, .hideArea").boundingClientRect(res => { + if (res.length != 0) { + this.setData({ + showFold: res[0].height < res[1].height, + }); + }; + + }).exec(); + }, 1000); + + }, + + clickCollapse() { + this.setData({ + flag: !this.data.flag, + }) + }, onLoad: function (t) { wx.setNavigationBarTitle({ title: "填写订单", }) var th = this; + getApp().getConfig2(function (e) { + th.setData({ + bconfig: e + }); + }, 1); this.setData({ is_b_now: t.is_bnow == undefined ? 0 : t.is_bnow, }); th.data.param = t; //清理一下,确保最新的系统配置 diff --git a/packageC/pages/luckyGo/luckyGo_cart/luckyGo_cart.wxml b/packageC/pages/luckyGo/luckyGo_cart/luckyGo_cart.wxml index 1350caf..bb74131 100644 --- a/packageC/pages/luckyGo/luckyGo_cart/luckyGo_cart.wxml +++ b/packageC/pages/luckyGo/luckyGo_cart/luckyGo_cart.wxml @@ -197,6 +197,17 @@ + + + + + {{bconfig.service_bz}} + {{bconfig.service_bz}} + + + + + @@ -373,6 +384,19 @@ + + + + + + + {{bconfig.service_bz}} + {{bconfig.service_bz}} + + + + + 留言 diff --git a/packageC/pages/luckyGo/luckyGo_cart_ct/luckyGo_cart_ct.js b/packageC/pages/luckyGo/luckyGo_cart_ct/luckyGo_cart_ct.js index 9866ddd..4f0ad8c 100644 --- a/packageC/pages/luckyGo/luckyGo_cart_ct/luckyGo_cart_ct.js +++ b/packageC/pages/luckyGo/luckyGo_cart_ct/luckyGo_cart_ct.js @@ -78,6 +78,31 @@ Page({ act:null, //幸运购的活动 same_ok:1, //同城配送的控制,默认ok + bconfig: null, + showFold:true, + }, + + + + onReady() { + + setTimeout(() => { + wx.createSelectorQuery().selectAll(".showArea, .hideArea").boundingClientRect(res => { + if (res.length != 0) { + this.setData({ + showFold: res[0].height < res[1].height, + }); + }; + + }).exec(); + }, 1000); + + }, + + clickCollapse() { + this.setData({ + flag: !this.data.flag, + }) }, onLoad: function (t) { @@ -96,7 +121,11 @@ Page({ this.data.postdata = appD; - + getApp().getConfig2(function (e) { + self.setData({ + bconfig: e + }); + }, 1); // 获取幸运购活动团team_id // this.get_teamId({ // store_id: oo.stoid, diff --git a/packageC/pages/luckyGo/luckyGo_cart_ct/luckyGo_cart_ct.wxml b/packageC/pages/luckyGo/luckyGo_cart_ct/luckyGo_cart_ct.wxml index f7c9a30..7f50b49 100644 --- a/packageC/pages/luckyGo/luckyGo_cart_ct/luckyGo_cart_ct.wxml +++ b/packageC/pages/luckyGo/luckyGo_cart_ct/luckyGo_cart_ct.wxml @@ -123,7 +123,17 @@ - + + + + + {{bconfig.service_bz}} + {{bconfig.service_bz}} + + + + + 留言 diff --git a/packageC/pages/presell/cart/cart.js b/packageC/pages/presell/cart/cart.js index 16f36a7..6fe172f 100644 --- a/packageC/pages/presell/cart/cart.js +++ b/packageC/pages/presell/cart/cart.js @@ -120,7 +120,32 @@ Page({ paying:0, same_ok:1 //同城配送按钮控制 - }, + bconfig: null, + showFold:true, + }, + + + + onReady() { + + setTimeout(() => { + wx.createSelectorQuery().selectAll(".showArea, .hideArea").boundingClientRect(res => { + if (res.length != 0) { + this.setData({ + showFold: res[0].height < res[1].height, + }); + }; + + }).exec(); + }, 1000); + + }, + + clickCollapse() { + this.setData({ + flag: !this.data.flag, + }) + }, onLoad: function (t) { if (t.order_id) this.data.order_id = t.order_id; @@ -128,6 +153,11 @@ Page({ wx.setNavigationBarTitle({ title: "订单详情", }) var th = this; + getApp().getConfig2(function (e) { + th.setData({ + bconfig: e + }); + }, 1); this.setData({ is_b_now: t.is_bnow == undefined ? 0 : t.is_bnow, }); th.data.param = t; //清理一下,确保最新的系统配置 diff --git a/packageC/pages/presell/cart/cart.wxml b/packageC/pages/presell/cart/cart.wxml index f8e8735..a204440 100644 --- a/packageC/pages/presell/cart/cart.wxml +++ b/packageC/pages/presell/cart/cart.wxml @@ -263,6 +263,18 @@ + + + + + + {{bconfig.service_bz}} + {{bconfig.service_bz}} + + + + + 留言 diff --git a/packageC/pages/presell/cart/cart2.js b/packageC/pages/presell/cart/cart2.js index a31f25c..62d2e91 100644 --- a/packageC/pages/presell/cart/cart2.js +++ b/packageC/pages/presell/cart/cart2.js @@ -131,10 +131,36 @@ Page({ same_ok:1, appoint_pick_keyid: '', - }, + bconfig: null, + showFold:true, + }, + + + + onReady() { + + setTimeout(() => { + wx.createSelectorQuery().selectAll(".showArea, .hideArea").boundingClientRect(res => { + if (res.length != 0) { + this.setData({ + showFold: res[0].height < res[1].height, + }); + }; + + }).exec(); + }, 1000); + + }, + + clickCollapse() { + this.setData({ + flag: !this.data.flag, + }) + }, onLoad: function (t) { wx.setNavigationBarTitle({ title: "填写订单", }) var th = this; + //清理一下,确保最新的系统配置 getApp().globalData.config2 = null; //清空is_pick_up @@ -143,7 +169,11 @@ Page({ success: function (s) { } }); - + getApp().getConfig2(function (e) { + th.setData({ + bconfig: e + }); + }, 1); //判断是不是佣金抵扣 getApp().is_distribut(this); diff --git a/packageC/pages/presell/cart/cart2.wxml b/packageC/pages/presell/cart/cart2.wxml index 234d0bd..5dbabf5 100644 --- a/packageC/pages/presell/cart/cart2.wxml +++ b/packageC/pages/presell/cart/cart2.wxml @@ -176,6 +176,19 @@ + + + + + + + {{bconfig.service_bz}} + {{bconfig.service_bz}} + + + + + 留言 diff --git a/packageC/pages/presell/cart/cart2_pre.js b/packageC/pages/presell/cart/cart2_pre.js index 1ef4e84..cf00cc3 100644 --- a/packageC/pages/presell/cart/cart2_pre.js +++ b/packageC/pages/presell/cart/cart2_pre.js @@ -55,6 +55,31 @@ Page({ yuer: 0, agree_no_ref: 0, is_pre_cut:0, //是否可以使用预存 0是不可以1的可以 + bconfig: null, + showFold:true, + }, + + + + onReady() { + + setTimeout(() => { + wx.createSelectorQuery().selectAll(".showArea, .hideArea").boundingClientRect(res => { + if (res.length != 0) { + this.setData({ + showFold: res[0].height < res[1].height, + }); + }; + + }).exec(); + }, 1000); + + }, + + clickCollapse() { + this.setData({ + flag: !this.data.flag, + }) }, onLoad: function (t) { wx.setNavigationBarTitle({ @@ -63,6 +88,11 @@ Page({ var th = this; this.setData({ is_b_now: 1 }); th.data.postdata = getApp().get_b_now(); th.data.param = t; + getApp().getConfig2(function (e) { + th.setData({ + bconfig: e + }); + }, 1); }, onUnload: function () { this.setData({ isclose: 1 }) }, diff --git a/packageC/pages/presell/cart/cart2_pre.wxml b/packageC/pages/presell/cart/cart2_pre.wxml index e5388e1..5234661 100644 --- a/packageC/pages/presell/cart/cart2_pre.wxml +++ b/packageC/pages/presell/cart/cart2_pre.wxml @@ -111,6 +111,18 @@ --> + + + + + {{bconfig.service_bz}} + {{bconfig.service_bz}} + + + + + + 留言 diff --git a/packageE/pages/cart/cart2/cart2.js b/packageE/pages/cart/cart2/cart2.js index b15a1fe..44d4259 100644 --- a/packageE/pages/cart/cart2/cart2.js +++ b/packageE/pages/cart/cart2/cart2.js @@ -153,6 +153,31 @@ Page({ same_ok:1, //同城配送的控制,默认ok + bconfig: null, + showFold:true, + }, + + + + onReady() { + + setTimeout(() => { + wx.createSelectorQuery().selectAll(".showArea, .hideArea").boundingClientRect(res => { + if (res.length != 0) { + this.setData({ + showFold: res[0].height < res[1].height, + }); + }; + + }).exec(); + }, 1000); + + }, + + clickCollapse() { + this.setData({ + flag: !this.data.flag, + }) }, onLoad: function (t) { @@ -168,7 +193,11 @@ Page({ success: function (s) { } }); - + getApp().getConfig2(function (e) { + th.setData({ + bconfig: e + }); + }, 1); //阶梯购 或者 组合购的立即购买 if (t.state) { th.data.state = 1; diff --git a/packageE/pages/cart/cart2/cart2.wxml b/packageE/pages/cart/cart2/cart2.wxml index 4144db3..82de4e9 100644 --- a/packageE/pages/cart/cart2/cart2.wxml +++ b/packageE/pages/cart/cart2/cart2.wxml @@ -267,7 +267,17 @@ - + + + + + {{bconfig.service_bz}} + {{bconfig.service_bz}} + + + + + @@ -520,6 +530,18 @@ + + + + + {{bconfig.service_bz}} + {{bconfig.service_bz}} + + + + + + 留言 diff --git a/packageE/pages/cart/cart2_inte/cart2_inte.js b/packageE/pages/cart/cart2_inte/cart2_inte.js index 48314fc..5e9f6f2 100644 --- a/packageE/pages/cart/cart2_inte/cart2_inte.js +++ b/packageE/pages/cart/cart2_inte/cart2_inte.js @@ -83,6 +83,31 @@ Page({ is_pre_cut:0, //是否可以使用预存 0是不可以1的可以 same_ok:1, //同城配送的控制,默认ok + bconfig: null, + showFold:true, + }, + + + + onReady() { + + setTimeout(() => { + wx.createSelectorQuery().selectAll(".showArea, .hideArea").boundingClientRect(res => { + if (res.length != 0) { + this.setData({ + showFold: res[0].height < res[1].height, + }); + }; + + }).exec(); + }, 1000); + + }, + + clickCollapse() { + this.setData({ + flag: !this.data.flag, + }) }, onLoad: function (t) { wx.setNavigationBarTitle({ title: "填写订单", }) @@ -94,6 +119,11 @@ Page({ success: function (s) { } }); + getApp().getConfig2(function (e) { + th.setData({ + bconfig: e + }); + }, 1); //先获取是否有关闭使用优惠券 getApp().getConfig2(function (ee) { diff --git a/packageE/pages/cart/cart2_inte/cart2_inte.wxml b/packageE/pages/cart/cart2_inte/cart2_inte.wxml index 49e2ddd..0bbc5c2 100644 --- a/packageE/pages/cart/cart2_inte/cart2_inte.wxml +++ b/packageE/pages/cart/cart2_inte/cart2_inte.wxml @@ -123,6 +123,18 @@ + + + + + + {{bconfig.service_bz}} + {{bconfig.service_bz}} + + + + + 留言 diff --git a/pages/cart/cart2_pt/cart2_pt.js b/pages/cart/cart2_pt/cart2_pt.js index 1723251..5cf2a49 100644 --- a/pages/cart/cart2_pt/cart2_pt.js +++ b/pages/cart/cart2_pt/cart2_pt.js @@ -74,10 +74,40 @@ Page({ bn_is_post_temp:1, //是不是进行计算包邮模板 same_ok:1, //同城配送的控制,默认ok + bconfig: null, + showFold:true, + }, + + + + onReady() { + + setTimeout(() => { + wx.createSelectorQuery().selectAll(".showArea, .hideArea").boundingClientRect(res => { + if (res.length != 0) { + this.setData({ + showFold: res[0].height < res[1].height, + }); + }; + + }).exec(); + }, 1000); + + }, + + clickCollapse() { + this.setData({ + flag: !this.data.flag, + }) }, onLoad: function (t) { console.log("onLoad_pt_cart"); var th = this; + getApp().getConfig2(function (e) { + th.setData({ + bconfig: e + }); + }, 1); this.setData({ is_b_now: t.is_bnow == undefined ? 0 : t.is_bnow, }); var appD = getApp().get_b_now(); diff --git a/pages/cart/cart2_pt/cart2_pt.wxml b/pages/cart/cart2_pt/cart2_pt.wxml index 68aa51e..bd5b9c8 100644 --- a/pages/cart/cart2_pt/cart2_pt.wxml +++ b/pages/cart/cart2_pt/cart2_pt.wxml @@ -124,6 +124,18 @@ + + + + + {{bconfig.service_bz}} + {{bconfig.service_bz}} + + + + + + 留言 diff --git a/pages/goods/goodsInfo/goodsInfo.js b/pages/goods/goodsInfo/goodsInfo.js index fa30ad1..36e6add 100644 --- a/pages/goods/goodsInfo/goodsInfo.js +++ b/pages/goods/goodsInfo/goodsInfo.js @@ -270,6 +270,7 @@ Page({ user_pre_buynum:0, //用户优惠促销参与次数 keyword:'', //门店搜索 sec_i:-1,//选中分类门店 下标 + showFold:true }, //------初始化加载---------- diff --git a/pages/goods/goodsInfo/goodsInfo.wxml b/pages/goods/goodsInfo/goodsInfo.wxml index 6edefd3..d7578a0 100644 --- a/pages/goods/goodsInfo/goodsInfo.wxml +++ b/pages/goods/goodsInfo/goodsInfo.wxml @@ -638,6 +638,31 @@ + + + + 优惠热配 + + 查看全部 + + + + + + + + {{collocationGoods.title}} + + 搭配价¥{{collocationGoods.min}}-{{collocationGoods.max}} + + 搭配价¥{{collocationGoods.min}} + + 活动至{{filters.format_time(collocationGoods.end_time,1)}} + + + + + @@ -706,30 +731,7 @@ - - - - 优惠热配 - - 查看全部 - - - - - - - - {{collocationGoods.title}} - - 搭配价¥{{collocationGoods.min}}-{{collocationGoods.max}} - - 搭配价¥{{collocationGoods.min}} - - 活动至{{filters.format_time(collocationGoods.end_time,1)}} - - - - + diff --git a/pages/goods/goodsInfo/goodsInfo.wxss b/pages/goods/goodsInfo/goodsInfo.wxss index 7c0fd6c..a5af176 100644 --- a/pages/goods/goodsInfo/goodsInfo.wxss +++ b/pages/goods/goodsInfo/goodsInfo.wxss @@ -1642,7 +1642,8 @@ view.cart-btn-lg { } .bz_view view { - width: 520rpx; + width: 520rpx; + word-break: break-all; /* max-height: 70rpx; */ /* overflow: hidden; */ } -- libgit2 0.21.4